@majkapp/plugin-kit 3.5.0 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -140,6 +140,20 @@ export interface FluentBuilder<Id extends string> {
140
140
  * Use this to manage services manually.
141
141
  */
142
142
  noPluginService(): this;
143
+ /**
144
+ * Set instructions for the auto-generated default teammate.
145
+ * If not provided, the default teammate will have no system instructions.
146
+ *
147
+ * @example
148
+ * .instructions('You are an expert assistant for managing tasks...')
149
+ */
150
+ instructions(text: string): this;
151
+ /**
152
+ * Disable automatic default teammate generation.
153
+ * By default, plugin-kit creates a "<Plugin Name> Expert" teammate with all plugin functions.
154
+ * Use this to manage teammates manually.
155
+ */
156
+ noDefaultTeammate(): this;
143
157
  /** Build the plugin */
144
158
  build(): InProcessPlugin;
145
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-kit.d.ts","sourceRoot":"","sources":["../src/plugin-kit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-kit.d.ts","sourceRoot":"","sources":["../src/plugin-kit.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,31 @@ function validateDescription(desc, name) {
58
58
  throw new PluginBuildError(`Description for "${name}" must be at least 3 characters`, `Provide a meaningful description. Current: "${desc}"`);
59
59
  }
60
60
  }
61
+ /**
62
+ * Transform plugin ID to camelCase format for teammate ID
63
+ * Examples:
64
+ * "task-manager-sample" -> "taskManagerSampleExpert"
65
+ * "my-plugin" -> "myPluginExpert"
66
+ */
67
+ function generateTeammateId(pluginId) {
68
+ return pluginId
69
+ .split('-')
70
+ .map((word, index) => {
71
+ if (index === 0)
72
+ return word.toLowerCase();
73
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
74
+ })
75
+ .join('') + 'Expert';
76
+ }
77
+ /**
78
+ * Generate teammate name from plugin name
79
+ * Examples:
80
+ * "Task Manager Sample" -> "Task Manager Sample Expert"
81
+ * "My Plugin" -> "My Plugin Expert"
82
+ */
83
+ function generateTeammateName(pluginName) {
84
+ return `${pluginName} Expert`;
85
+ }
61
86
  /**
62
87
  * Normalize service function bindings during plugin build
63
88
  * Converts strings to full ServiceFunctionBinding objects
@@ -760,6 +785,8 @@ function definePlugin(id, name, version) {
760
785
  let _healthCheck = null;
761
786
  let _pluginRoot = undefined;
762
787
  let _autoPluginService = true; // Auto-generate plugin service by default
788
+ let _autoDefaultTeammate = true; // Auto-generate default teammate by default
789
+ let _instructions = null; // Instructions for default teammate
763
790
  const builder = {
764
791
  topbar(route, opts) {
765
792
  _topbars.push({
@@ -1203,6 +1230,16 @@ function definePlugin(id, name, version) {
1203
1230
  log(` 🚫 Disabled auto-generated plugin service`);
1204
1231
  return this;
1205
1232
  },
1233
+ instructions(text) {
1234
+ _instructions = text;
1235
+ log(` 📝 Set default teammate instructions (${text.length} characters)`);
1236
+ return this;
1237
+ },
1238
+ noDefaultTeammate() {
1239
+ _autoDefaultTeammate = false;
1240
+ log(` 🚫 Disabled auto-generated default teammate`);
1241
+ return this;
1242
+ },
1206
1243
  build() {
1207
1244
  // ========== Load Package Info ==========
1208
1245
  let packageName;
@@ -1287,6 +1324,64 @@ function definePlugin(id, name, version) {
1287
1324
  }
1288
1325
  }
1289
1326
  }
1327
+ // Auto-generate default teammate unless explicitly disabled
1328
+ if (_autoDefaultTeammate && packageName && _functionRegistry.functions.size > 0) {
1329
+ const teammateId = generateTeammateId(id);
1330
+ const teammateName = generateTeammateName(name);
1331
+ // Check if a teammate with this ID already exists
1332
+ const existingTeammate = _entities.find(e => e.entityType === 'teamMember' &&
1333
+ e.entities.some((tm) => tm.id === teammateId));
1334
+ if (!existingTeammate) {
1335
+ // Collect all function names
1336
+ const allFunctions = Array.from(_functionRegistry.functions.keys());
1337
+ // Create default teammate
1338
+ const defaultTeammate = {
1339
+ id: teammateId,
1340
+ name: teammateName,
1341
+ systemPrompt: _instructions || '',
1342
+ expertise: [name],
1343
+ skills: {
1344
+ primary: ['Plugin Functions'],
1345
+ secondary: [],
1346
+ languages: [],
1347
+ frameworks: [],
1348
+ tools: []
1349
+ },
1350
+ personality: {
1351
+ workStyle: 'methodical',
1352
+ codeStyle: 'concise',
1353
+ reviewStyle: 'pragmatic',
1354
+ communicationStyle: 'concise'
1355
+ },
1356
+ metadata: {
1357
+ totalTasks: 0,
1358
+ successfulTasks: 0,
1359
+ projectHistory: [],
1360
+ codeStats: {
1361
+ linesWritten: 0,
1362
+ filesModified: 0,
1363
+ testsWritten: 0,
1364
+ reviewsPassed: 0,
1365
+ commitsCreated: 0
1366
+ }
1367
+ },
1368
+ mcpServerIds: [],
1369
+ functions: allFunctions
1370
+ };
1371
+ // Validate the default teammate
1372
+ const errors = validateEntity('teamMember', defaultTeammate, {
1373
+ pluginId: id,
1374
+ packageName: packageName,
1375
+ functionRegistry: _functionRegistry
1376
+ });
1377
+ if (errors.length > 0) {
1378
+ throw new PluginBuildError(`Failed to create default teammate "${teammateName}"`, 'Auto-generated teammate validation failed', { errors, teammate: defaultTeammate });
1379
+ }
1380
+ // Add to entities
1381
+ _entities.push({ entityType: 'teamMember', entities: [defaultTeammate] });
1382
+ log(` 🤖 Auto-generated default teammate: ${teammateName} (${allFunctions.length} functions)`);
1383
+ }
1384
+ }
1290
1385
  // Validate API route uniqueness
1291
1386
  const apiSignatures = new Set();
1292
1387
  for (const route of _apiRoutes) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majkapp/plugin-kit",
3
- "version": "3.5.0",
3
+ "version": "3.5.1",
4
4
  "description": "Pure plugin definition library for MAJK - outputs plugin definitions, not HTTP servers",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",