import type { TojuPluginManifest } from '../../../shared-kernel';
import type { TojuClientPluginModule } from '../domain/models/plugin-api.models';

export const DEVELOPMENT_PLUGIN_ENTRYPOINT = 'toju:development-plugin';

export const DEVELOPMENT_PLUGIN_MANIFEST: TojuPluginManifest = {
  apiVersion: '1.0.0',
  capabilities: [],
  compatibility: {
    minimumTojuVersion: '1.0.0',
    verifiedTojuVersion: '1.0.0'
  },
  description: 'Built-in development-only plugin for validating the local plugin runtime.',
  entrypoint: DEVELOPMENT_PLUGIN_ENTRYPOINT,
  homepage: 'https://localhost:4200',
  id: 'metoyou.development-plugin',
  kind: 'client',
  readme: 'Only registered when the Angular app is running with environment.production=false.',
  schemaVersion: 1,
  settings: {
    properties: {
      enabled: {
        default: true,
        type: 'boolean'
      }
    },
    type: 'object'
  },
  title: 'Development Plugin',
  version: '0.0.0-dev'
};

export const DEVELOPMENT_PLUGIN_MODULE: TojuClientPluginModule = {
  activate: (context) => {
    context.api.logger.info('Development plugin activated');
  },
  deactivate: (context) => {
    context.api.logger.info('Development plugin deactivated');
  },
  ready: (context) => {
    context.api.logger.info('Development plugin ready');
  }
};
