@objectstack/cli 7.9.0 → 8.0.0
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.
- package/dist/commands/lint.d.ts +11 -0
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +111 -1
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +38 -6
- package/dist/commands/serve.js.map +1 -1
- package/dist/lint/corpus.d.ts +17 -0
- package/dist/lint/corpus.d.ts.map +1 -0
- package/dist/lint/corpus.js +247 -0
- package/dist/lint/corpus.js.map +1 -0
- package/dist/lint/data-model-rules.d.ts +30 -0
- package/dist/lint/data-model-rules.d.ts.map +1 -0
- package/dist/lint/data-model-rules.js +190 -0
- package/dist/lint/data-model-rules.js.map +1 -0
- package/dist/lint/metadata-eval.d.ts +69 -0
- package/dist/lint/metadata-eval.d.ts.map +1 -0
- package/dist/lint/metadata-eval.js +70 -0
- package/dist/lint/metadata-eval.js.map +1 -0
- package/dist/lint/score.d.ts +32 -0
- package/dist/lint/score.d.ts.map +1 -0
- package/dist/lint/score.js +81 -0
- package/dist/lint/score.js.map +1 -0
- package/dist/utils/i18n-coverage.d.ts.map +1 -1
- package/dist/utils/i18n-coverage.js +1 -3
- package/dist/utils/i18n-coverage.js.map +1 -1
- package/dist/utils/i18n-extract.d.ts.map +1 -1
- package/dist/utils/i18n-extract.js +12 -3
- package/dist/utils/i18n-extract.js.map +1 -1
- package/package.json +44 -44
package/dist/commands/lint.d.ts
CHANGED
|
@@ -16,11 +16,22 @@ export default class Lint extends Command {
|
|
|
16
16
|
static flags: {
|
|
17
17
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
18
18
|
fix: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
score: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
|
+
eval: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
generator: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
|
+
'eval-min': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
23
|
'skip-i18n': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
20
24
|
'i18n-strict': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
21
25
|
'default-locale': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
22
26
|
};
|
|
23
27
|
run(): Promise<void>;
|
|
28
|
+
private printScore;
|
|
29
|
+
/**
|
|
30
|
+
* Eval mode (`--eval`): run the metadata-generation rubric over the bundled
|
|
31
|
+
* golden corpus (offline), or — when `--generator <module>` is supplied —
|
|
32
|
+
* over the stacks that module produces for each prompt (live).
|
|
33
|
+
*/
|
|
34
|
+
private runEval;
|
|
24
35
|
}
|
|
25
36
|
export {};
|
|
26
37
|
//# sourceMappingURL=lint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAsBnD,KAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;AAEnD,UAAU,SAAS;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAsED,wBAAgB,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,EAAE,CAwHnD;AAID,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,OAAgB,WAAW,SAAqE;IAEhG,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;MAwBnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAgJ1B,OAAO,CAAC,UAAU;IAgBlB;;;;OAIG;YACW,OAAO;CA6DtB"}
|
package/dist/commands/lint.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
2
|
import { Args, Command, Flags } from '@oclif/core';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
+
import { bundleRequire } from 'bundle-require';
|
|
4
5
|
import { normalizeStackInput } from '@objectstack/spec';
|
|
5
|
-
import { loadConfig } from '../utils/config.js';
|
|
6
|
+
import { loadConfig, BUNDLE_REQUIRE_EXTERNALS } from '../utils/config.js';
|
|
6
7
|
import { computeI18nCoverage } from '../utils/i18n-coverage.js';
|
|
8
|
+
import { lintDataModel } from '../lint/data-model-rules.js';
|
|
9
|
+
import { scoreMetadata } from '../lint/score.js';
|
|
10
|
+
import { runMetadataEval } from '../lint/metadata-eval.js';
|
|
11
|
+
import { DEFAULT_METADATA_EVAL_CORPUS } from '../lint/corpus.js';
|
|
7
12
|
import { printHeader, printSuccess, printError, printInfo, printStep, createTimer, } from '../utils/format.js';
|
|
8
13
|
// ─── Rules ──────────────────────────────────────────────────────────
|
|
9
14
|
const SNAKE_CASE_RE = /^[a-z][a-z0-9_]*$/;
|
|
@@ -162,6 +167,10 @@ export function lintConfig(config) {
|
|
|
162
167
|
push(checkSnakeCase(agent.name, `${agentPath}.name`, 'Agent name'));
|
|
163
168
|
}
|
|
164
169
|
}
|
|
170
|
+
// ── Data-model best practices (relationships / master-detail / roll-ups) ──
|
|
171
|
+
// Cross-object rules that encode the conventions in ADR-0035 and the
|
|
172
|
+
// objectstack-data/-ui skills. These double as the eval rubric (see score.ts).
|
|
173
|
+
issues.push(...lintDataModel(objects));
|
|
165
174
|
return issues;
|
|
166
175
|
}
|
|
167
176
|
// ─── Command ────────────────────────────────────────────────────────
|
|
@@ -173,6 +182,19 @@ export default class Lint extends Command {
|
|
|
173
182
|
static flags = {
|
|
174
183
|
json: Flags.boolean({ description: 'Output as JSON' }),
|
|
175
184
|
fix: Flags.boolean({ description: 'Show what would be fixed (dry-run)' }),
|
|
185
|
+
score: Flags.boolean({
|
|
186
|
+
description: 'Print a 0–100 metadata-quality score (the lint rubric) for this project',
|
|
187
|
+
}),
|
|
188
|
+
eval: Flags.boolean({
|
|
189
|
+
description: 'Run the metadata-generation eval over the bundled golden corpus and report scores',
|
|
190
|
+
}),
|
|
191
|
+
generator: Flags.string({
|
|
192
|
+
description: 'Path to a module that default-exports (prompt, id) => stack; enables live eval (scores generated output instead of fixtures). Requires --eval.',
|
|
193
|
+
}),
|
|
194
|
+
'eval-min': Flags.integer({
|
|
195
|
+
description: 'Minimum passing score per eval case',
|
|
196
|
+
default: 75,
|
|
197
|
+
}),
|
|
176
198
|
'skip-i18n': Flags.boolean({ description: 'Skip translation coverage checks' }),
|
|
177
199
|
'i18n-strict': Flags.boolean({
|
|
178
200
|
description: 'Treat missing translations in non-default locales as errors',
|
|
@@ -186,6 +208,13 @@ export default class Lint extends Command {
|
|
|
186
208
|
const { args, flags } = await this.parse(Lint);
|
|
187
209
|
const configPath = args.config;
|
|
188
210
|
const timer = createTimer();
|
|
211
|
+
// ── Eval mode — score generated metadata against the convention rubric ──
|
|
212
|
+
// Short-circuits the project lint: this evaluates a generation corpus, not
|
|
213
|
+
// the current config.
|
|
214
|
+
if (flags.eval) {
|
|
215
|
+
await this.runEval(flags, timer);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
189
218
|
if (!flags.json) {
|
|
190
219
|
printHeader('Lint');
|
|
191
220
|
printStep('Loading configuration...');
|
|
@@ -212,6 +241,8 @@ export default class Lint extends Command {
|
|
|
212
241
|
});
|
|
213
242
|
}
|
|
214
243
|
}
|
|
244
|
+
// Metadata-quality score (the lint rubric expressed as 0–100).
|
|
245
|
+
const score = flags.score ? scoreMetadata(normalized) : null;
|
|
215
246
|
// ── JSON output ──
|
|
216
247
|
if (flags.json) {
|
|
217
248
|
const errors = issues.filter((i) => i.severity === 'error');
|
|
@@ -223,6 +254,7 @@ export default class Lint extends Command {
|
|
|
223
254
|
errors: errors.length,
|
|
224
255
|
warnings: warnings.length,
|
|
225
256
|
suggestions: suggestions.length,
|
|
257
|
+
...(score ? { score: score.score, grade: score.grade } : {}),
|
|
226
258
|
issues,
|
|
227
259
|
duration: timer.elapsed(),
|
|
228
260
|
}, null, 2));
|
|
@@ -233,6 +265,8 @@ export default class Lint extends Command {
|
|
|
233
265
|
console.log('');
|
|
234
266
|
if (issues.length === 0) {
|
|
235
267
|
printSuccess(`All checks passed ${chalk.dim(`(${timer.display()})`)}`);
|
|
268
|
+
if (score)
|
|
269
|
+
this.printScore(score);
|
|
236
270
|
console.log('');
|
|
237
271
|
return;
|
|
238
272
|
}
|
|
@@ -277,6 +311,8 @@ export default class Lint extends Command {
|
|
|
277
311
|
if (suggestions.length > 0)
|
|
278
312
|
parts.push(chalk.blue(`${suggestions.length} suggestion(s)`));
|
|
279
313
|
console.log(` ${parts.join(', ')} ${chalk.dim(`(${timer.display()})`)}`);
|
|
314
|
+
if (score)
|
|
315
|
+
this.printScore(score);
|
|
280
316
|
if (flags.fix) {
|
|
281
317
|
console.log('');
|
|
282
318
|
printInfo('Dry-run mode: no files were modified.');
|
|
@@ -295,5 +331,79 @@ export default class Lint extends Command {
|
|
|
295
331
|
process.exit(1);
|
|
296
332
|
}
|
|
297
333
|
}
|
|
334
|
+
printScore(score) {
|
|
335
|
+
const gColor = score.grade === 'A' ? chalk.green :
|
|
336
|
+
score.grade === 'B' ? chalk.cyan :
|
|
337
|
+
score.grade === 'C' ? chalk.yellow :
|
|
338
|
+
chalk.red;
|
|
339
|
+
console.log('');
|
|
340
|
+
console.log(` ${chalk.bold('Metadata quality:')} ${gColor(`${score.score}/100 (${score.grade})`)}`);
|
|
341
|
+
const c = score.counts;
|
|
342
|
+
console.log(chalk.dim(` ${c.schemaErrors} schema · ${c.errors} error(s) · ${c.warnings} warning(s) · ${c.suggestions} suggestion(s)`));
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Eval mode (`--eval`): run the metadata-generation rubric over the bundled
|
|
346
|
+
* golden corpus (offline), or — when `--generator <module>` is supplied —
|
|
347
|
+
* over the stacks that module produces for each prompt (live).
|
|
348
|
+
*/
|
|
349
|
+
async runEval(flags, timer) {
|
|
350
|
+
let generate;
|
|
351
|
+
if (flags.generator) {
|
|
352
|
+
try {
|
|
353
|
+
const { mod } = await bundleRequire({
|
|
354
|
+
filepath: flags.generator,
|
|
355
|
+
external: BUNDLE_REQUIRE_EXTERNALS,
|
|
356
|
+
});
|
|
357
|
+
const fn = mod.default ?? mod.generate;
|
|
358
|
+
if (typeof fn !== 'function') {
|
|
359
|
+
throw new Error('module must default-export a function (prompt, id) => stack');
|
|
360
|
+
}
|
|
361
|
+
generate = fn;
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
const msg = `Failed to load generator "${flags.generator}": ${error?.message || error}`;
|
|
365
|
+
if (flags.json)
|
|
366
|
+
console.log(JSON.stringify({ error: msg }));
|
|
367
|
+
else
|
|
368
|
+
printError(msg);
|
|
369
|
+
process.exit(1);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
const report = await runMetadataEval(DEFAULT_METADATA_EVAL_CORPUS, {
|
|
373
|
+
...(generate ? { generate } : {}),
|
|
374
|
+
minScore: flags['eval-min'],
|
|
375
|
+
});
|
|
376
|
+
if (flags.json) {
|
|
377
|
+
console.log(JSON.stringify({ ...report, duration: timer.elapsed() }, null, 2));
|
|
378
|
+
if (!report.ok)
|
|
379
|
+
process.exit(1);
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
printHeader('Metadata Generation Eval');
|
|
383
|
+
printInfo(`Mode: ${chalk.white(report.mode)} · cases: ${report.total} · pass bar: ${flags['eval-min']}`);
|
|
384
|
+
console.log('');
|
|
385
|
+
for (const r of report.results) {
|
|
386
|
+
const ok = r.passed;
|
|
387
|
+
const color = ok ? chalk.green : chalk.red;
|
|
388
|
+
const icon = ok ? '✓' : '✗';
|
|
389
|
+
console.log(` ${color(icon)} ${chalk.bold(r.id)} ${color(`${r.score.score}/100 (${r.score.grade})`)}`);
|
|
390
|
+
if (r.generationError) {
|
|
391
|
+
console.log(chalk.red(` generation error: ${r.generationError}`));
|
|
392
|
+
}
|
|
393
|
+
else if (!ok) {
|
|
394
|
+
const c = r.score.counts;
|
|
395
|
+
console.log(chalk.dim(` ${c.schemaErrors} schema · ${c.errors} error(s) · ${c.warnings} warning(s)`));
|
|
396
|
+
const firstReal = r.score.issues.find((i) => i.severity !== 'suggestion') || r.score.issues[0];
|
|
397
|
+
if (firstReal)
|
|
398
|
+
console.log(chalk.dim(` e.g. ${firstReal.rule}: ${firstReal.message}`));
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
console.log('');
|
|
402
|
+
const summaryColor = report.ok ? chalk.green : chalk.red;
|
|
403
|
+
console.log(` ${summaryColor(`${report.passed}/${report.total} passed`)} · mean ${report.meanScore}/100 ${chalk.dim(`(${timer.display()})`)}`);
|
|
404
|
+
console.log('');
|
|
405
|
+
if (!report.ok)
|
|
406
|
+
process.exit(1);
|
|
407
|
+
}
|
|
298
408
|
}
|
|
299
409
|
//# sourceMappingURL=lint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAyInD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAAkM;IAE7N,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;MAoBnB;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAyInD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAAkM;IAE7N,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;;;;;;;;;MAoBnB;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAQtD;IAEH;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAIpD;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0xD3B"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -175,6 +175,12 @@ export default class Serve extends Command {
|
|
|
175
175
|
*/
|
|
176
176
|
static ALWAYS_ON_CAPABILITIES = Object.freeze([
|
|
177
177
|
'queue', 'job', 'cache', 'settings', 'email', 'storage', 'sharing', 'messaging',
|
|
178
|
+
// `analytics` is foundational post-ADR-0021: the AnalyticsService backs the
|
|
179
|
+
// dataset/cube query endpoints (`/api/v1/analytics/*`). It must exist even
|
|
180
|
+
// when an app declares no `analyticsCubes`, because a `dataset` can be
|
|
181
|
+
// authored/previewed inline (Studio) and compiled on the fly. Without it the
|
|
182
|
+
// dataset preview + dashboard/report analytics widgets silently no-op.
|
|
183
|
+
'analytics',
|
|
178
184
|
]);
|
|
179
185
|
/**
|
|
180
186
|
* Auto-registered plugin tiers. Plugins explicitly listed in
|
|
@@ -1322,10 +1328,28 @@ export default class Serve extends Command {
|
|
|
1322
1328
|
// already in place when AIServicePlugin.start() fires the hook.
|
|
1323
1329
|
const hasAIPlugin = plugins.some((p) => p.name === 'com.objectstack.service-ai'
|
|
1324
1330
|
|| p.constructor?.name === 'AIServicePlugin');
|
|
1331
|
+
// Resolve optional plugin packages from the HOST APP's context (the app
|
|
1332
|
+
// being served declares them as deps — including private packages like
|
|
1333
|
+
// @objectstack/service-ai-studio that the framework CLI itself does not
|
|
1334
|
+
// depend on). A bare import would resolve relative to the CLI's location
|
|
1335
|
+
// and miss a package linked into the app's node_modules. Falls back to a
|
|
1336
|
+
// bare import for framework-owned packages.
|
|
1337
|
+
const { createRequire: _createRequire } = await import('node:module');
|
|
1338
|
+
const { pathToFileURL: _pathToFileURL } = await import('node:url');
|
|
1339
|
+
const _nodePath = await import('node:path');
|
|
1340
|
+
const _hostRequire = _createRequire(_nodePath.join(process.cwd(), 'package.json'));
|
|
1341
|
+
const importFromHost = async (pkg) => {
|
|
1342
|
+
try {
|
|
1343
|
+
return await import(_pathToFileURL(_hostRequire.resolve(pkg)).href);
|
|
1344
|
+
}
|
|
1345
|
+
catch {
|
|
1346
|
+
return import(/* webpackIgnore: true */ pkg);
|
|
1347
|
+
}
|
|
1348
|
+
};
|
|
1325
1349
|
if (!hasAIPlugin && tierEnabled('ai')) {
|
|
1326
1350
|
try {
|
|
1327
1351
|
const aiPkg = '@objectstack/service-ai';
|
|
1328
|
-
const { AIServicePlugin } = await
|
|
1352
|
+
const { AIServicePlugin } = await importFromHost(aiPkg);
|
|
1329
1353
|
// AIServicePlugin will auto-detect LLM provider from environment variables
|
|
1330
1354
|
// (AI_GATEWAY_MODEL, OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY)
|
|
1331
1355
|
// No need to manually construct the adapter here.
|
|
@@ -1334,7 +1358,11 @@ export default class Serve extends Command {
|
|
|
1334
1358
|
}
|
|
1335
1359
|
catch (err) {
|
|
1336
1360
|
const msg = err instanceof Error ? err.message : String(err);
|
|
1337
|
-
|
|
1361
|
+
const code = err?.code;
|
|
1362
|
+
const missing = code === 'ERR_MODULE_NOT_FOUND'
|
|
1363
|
+
|| msg.includes('Cannot find module')
|
|
1364
|
+
|| msg.includes('Cannot find package');
|
|
1365
|
+
if (!missing) {
|
|
1338
1366
|
console.error('[AI] AIServicePlugin failed to start:', msg);
|
|
1339
1367
|
}
|
|
1340
1368
|
// @objectstack/service-ai not installed — AI features unavailable
|
|
@@ -1350,13 +1378,17 @@ export default class Serve extends Command {
|
|
|
1350
1378
|
if (!hasAIStudio) {
|
|
1351
1379
|
try {
|
|
1352
1380
|
const studioPkg = '@objectstack/service-ai-studio';
|
|
1353
|
-
const { AIStudioPlugin } = await
|
|
1381
|
+
const { AIStudioPlugin } = await importFromHost(studioPkg);
|
|
1354
1382
|
await kernel.use(new AIStudioPlugin());
|
|
1355
1383
|
trackPlugin('AIStudio');
|
|
1356
1384
|
}
|
|
1357
1385
|
catch (err) {
|
|
1358
1386
|
const msg = err instanceof Error ? err.message : String(err);
|
|
1359
|
-
|
|
1387
|
+
const code = err?.code;
|
|
1388
|
+
const missing = code === 'ERR_MODULE_NOT_FOUND'
|
|
1389
|
+
|| msg.includes('Cannot find module')
|
|
1390
|
+
|| msg.includes('Cannot find package');
|
|
1391
|
+
if (!missing) {
|
|
1360
1392
|
console.error('[AI Studio] AIStudioPlugin failed to start:', msg);
|
|
1361
1393
|
}
|
|
1362
1394
|
// @objectstack/service-ai-studio not installed — AI authoring unavailable
|
|
@@ -1438,9 +1470,9 @@ export default class Serve extends Command {
|
|
|
1438
1470
|
nameMatch: ['service-feed', 'FeedServicePlugin'],
|
|
1439
1471
|
},
|
|
1440
1472
|
mcp: {
|
|
1441
|
-
pkg: '@objectstack/
|
|
1473
|
+
pkg: '@objectstack/mcp',
|
|
1442
1474
|
export: 'MCPServerPlugin',
|
|
1443
|
-
nameMatch: ['mcp-server', 'MCPServerPlugin'],
|
|
1475
|
+
nameMatch: ['mcp-server', 'MCPServerPlugin', 'mcp'],
|
|
1444
1476
|
},
|
|
1445
1477
|
marketplace: {
|
|
1446
1478
|
pkg: '@objectstack/service-package',
|