@nexusclawhq/cli 0.3.38 → 0.3.40

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/build-info.json +4 -4
  3. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/community-capabilities.d.ts +27 -0
  4. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/community-capabilities.js +32 -0
  5. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/community-capabilities.js.map +1 -0
  6. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/types.d.ts +13 -2
  7. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/types.js +12 -0
  8. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/types.js.map +1 -1
  9. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/validator.js +12 -0
  10. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/validator.js.map +1 -1
  11. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/index.d.ts +1 -3
  12. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/index.js +1 -3
  13. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/index.js.map +1 -1
  14. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.d.ts +988 -101
  15. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js +1004 -122
  16. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js.map +1 -1
  17. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/index.d.ts +1976 -202
  18. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.d.ts +988 -101
  19. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js +1010 -125
  20. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js.map +1 -1
  21. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js +2 -2
  22. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/platform-admin-route-readiness/index.js.map +1 -1
  23. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/system-object-persistence.js +1 -1
  24. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/system-object-persistence.js.map +1 -1
  25. package/dist/nexus-cli/node_modules/@nexusclaw/shared/package.json +0 -12
  26. package/dist/nexus-cli/src/cli.d.ts +4 -1
  27. package/dist/nexus-cli/src/cli.js +8 -1
  28. package/dist/nexus-cli/src/cli.js.map +1 -1
  29. package/dist/nexus-cli/src/cli.test.js +6 -0
  30. package/dist/nexus-cli/src/cli.test.js.map +1 -1
  31. package/dist/nexus-cli/src/commands/ai/help.test.js +4 -4
  32. package/dist/nexus-cli/src/commands/commands.test.js +1 -1
  33. package/dist/nexus-cli/src/commands/commands.test.js.map +1 -1
  34. package/dist/nexus-cli/src/commands/employee/bundle.d.ts +16 -0
  35. package/dist/nexus-cli/src/commands/employee/bundle.js +31 -15
  36. package/dist/nexus-cli/src/commands/employee/bundle.js.map +1 -1
  37. package/dist/nexus-cli/src/commands/employee/bundle.test.d.ts +1 -0
  38. package/dist/nexus-cli/src/commands/employee/bundle.test.js +33 -0
  39. package/dist/nexus-cli/src/commands/employee/bundle.test.js.map +1 -0
  40. package/dist/nexus-cli/src/commands/workforce/curated-exemplar.d.ts +2 -0
  41. package/dist/nexus-cli/src/commands/workforce/curated-exemplar.js +51 -0
  42. package/dist/nexus-cli/src/commands/workforce/curated-exemplar.js.map +1 -0
  43. package/dist/nexus-cli/src/commands/workforce/index.js +2 -0
  44. package/dist/nexus-cli/src/commands/workforce/index.js.map +1 -1
  45. package/dist/nexus-cli/src/contracts/command-contract-matrix.generated.test.js +5 -5
  46. package/dist/nexus-cli/src/contracts/command-inventory.test.js +4 -4
  47. package/dist/nexus-cli/src/contracts/command-policy.exporter.test.js +2 -2
  48. package/dist/nexus-cli/src/contracts/command-policy.registry.js +2 -2
  49. package/dist/nexus-cli/src/contracts/command-policy.registry.js.map +1 -1
  50. package/dist/nexus-cli/src/contracts/command-policy.registry.test.js +4 -4
  51. package/dist/nexus-cli/src/contracts/command-policy.validator.test.js +3 -3
  52. package/dist/nexus-cli/src/runtime/output-coordinator.js +4 -3
  53. package/dist/nexus-cli/src/runtime/output-coordinator.js.map +1 -1
  54. package/dist/nexus-cli/src/runtime/output-coordinator.test.js +28 -0
  55. package/dist/nexus-cli/src/runtime/output-coordinator.test.js.map +1 -1
  56. package/dist/nexus-cli/src/services/curated-exemplar-remote.d.ts +32 -0
  57. package/dist/nexus-cli/src/services/curated-exemplar-remote.js +50 -0
  58. package/dist/nexus-cli/src/services/curated-exemplar-remote.js.map +1 -0
  59. package/dist/nexus-cli/src/services/workforce-bundle-archive.d.ts +1 -1
  60. package/dist/nexus-cli/src/services/workforce-bundle-remote.d.ts +1 -1
  61. package/dist/nexus-cli/src/services/workforce-test-remote.d.ts +1 -1
  62. package/dist/nexus-cli/src/services/workforce-test-remote.js +1 -1
  63. package/dist/nexus-cli/src/services/workforce-test-remote.test.js +2 -2
  64. package/dist/tsconfig.tsbuildinfo +1 -1
  65. package/package.json +2 -2
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const strict_1 = __importDefault(require("node:assert/strict"));
7
+ const node_test_1 = __importDefault(require("node:test"));
8
+ const cli_1 = require("../../cli");
9
+ const bundle_1 = require("./bundle");
10
+ (0, node_test_1.default)('employee bundle machine command ids mirror commander subcommand names', () => {
11
+ const program = (0, cli_1.buildCliProgram)();
12
+ const employee = program.commands.find((command) => command.name() === 'employee');
13
+ strict_1.default.ok(employee, 'employee command group missing');
14
+ const bundle = employee.commands.find((command) => command.name() === 'bundle');
15
+ strict_1.default.ok(bundle, 'employee bundle command group missing');
16
+ const commanderIds = bundle.commands
17
+ .map((command) => `employee.bundle.${command.name()}`)
18
+ .sort();
19
+ const emittedIds = [...new Set(Object.values(bundle_1.EMPLOYEE_BUNDLE_MACHINE_COMMAND_IDS))].sort();
20
+ strict_1.default.deepEqual(emittedIds, commanderIds);
21
+ for (const id of emittedIds) {
22
+ strict_1.default.equal(id.includes('_'), false, `machine command id must use dashed spelling: ${id}`);
23
+ }
24
+ });
25
+ (0, node_test_1.default)('historically affected gate commands all resolve to dashed ids', () => {
26
+ strict_1.default.equal(bundle_1.EMPLOYEE_BUNDLE_MACHINE_COMMAND_IDS.approvalStatus, 'employee.bundle.approval-status');
27
+ strict_1.default.equal(bundle_1.EMPLOYEE_BUNDLE_MACHINE_COMMAND_IDS.approvalRequest, 'employee.bundle.approval-request');
28
+ strict_1.default.equal(bundle_1.EMPLOYEE_BUNDLE_MACHINE_COMMAND_IDS.activationReadiness, 'employee.bundle.activation-readiness');
29
+ strict_1.default.equal(bundle_1.EMPLOYEE_BUNDLE_MACHINE_COMMAND_IDS.replacementStage, 'employee.bundle.replacement-stage');
30
+ strict_1.default.equal(bundle_1.EMPLOYEE_BUNDLE_MACHINE_COMMAND_IDS.replacementStatus, 'employee.bundle.replacement-status');
31
+ strict_1.default.equal(bundle_1.EMPLOYEE_BUNDLE_MACHINE_COMMAND_IDS.revokeAction, 'employee.bundle.revoke-action');
32
+ });
33
+ //# sourceMappingURL=bundle.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle.test.js","sourceRoot":"","sources":["../../../../../src/commands/employee/bundle.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,0DAA6B;AAE7B,mCAA4C;AAC5C,qCAA+D;AAS/D,IAAA,mBAAI,EAAC,uEAAuE,EAAE,GAAG,EAAE;IACjF,MAAM,OAAO,GAAG,IAAA,qBAAe,GAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,CAAC;IACnF,gBAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;IAChF,gBAAM,CAAC,EAAE,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ;SACjC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACrD,IAAI,EAAE,CAAC;IACV,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,4CAAmC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE3F,gBAAM,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,gBAAM,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,gDAAgD,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAA,mBAAI,EAAC,+DAA+D,EAAE,GAAG,EAAE;IACzE,gBAAM,CAAC,KAAK,CACV,4CAAmC,CAAC,cAAc,EAClD,iCAAiC,CAClC,CAAC;IACF,gBAAM,CAAC,KAAK,CACV,4CAAmC,CAAC,eAAe,EACnD,kCAAkC,CACnC,CAAC;IACF,gBAAM,CAAC,KAAK,CACV,4CAAmC,CAAC,mBAAmB,EACvD,sCAAsC,CACvC,CAAC;IACF,gBAAM,CAAC,KAAK,CACV,4CAAmC,CAAC,gBAAgB,EACpD,mCAAmC,CACpC,CAAC;IACF,gBAAM,CAAC,KAAK,CACV,4CAAmC,CAAC,iBAAiB,EACrD,oCAAoC,CACrC,CAAC;IACF,gBAAM,CAAC,KAAK,CACV,4CAAmC,CAAC,YAAY,EAChD,+BAA+B,CAChC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare const workforceCuratedExemplarCommand: Command;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.workforceCuratedExemplarCommand = void 0;
4
+ const commander_1 = require("commander");
5
+ const shared_1 = require("./shared");
6
+ const curated_exemplar_remote_1 = require("../../services/curated-exemplar-remote");
7
+ exports.workforceCuratedExemplarCommand = new commander_1.Command('curated-exemplar')
8
+ .description('策展场景范例:管理员录入/复用已审范例(knowledge.curate)');
9
+ exports.workforceCuratedExemplarCommand
10
+ .command('ingest')
11
+ .description('录入一条策展场景范例(同 scenario+content 幂等更新)')
12
+ .requiredOption('--target-org <alias>')
13
+ .requiredOption('--scenario <code>', 'scenarioCode,例如 price_objection')
14
+ .requiredOption('--role <roleId...>', '允许检索的 roleCodes(至少一个)')
15
+ .requiredOption('--content <text|@file>', '范例正文')
16
+ .requiredOption('--scope <scope>', 'orgSubtree | workspace')
17
+ .option('--org-node <id>', 'scope=orgSubtree 时的组织节点 id')
18
+ .option('--label <label>', 'positive | negative')
19
+ .option('--review-status <status>', 'pending | approved | rejected', 'pending')
20
+ .option('--privacy-review-status <status>', 'pending | approved | rejected', 'pending')
21
+ .option('--title <title>')
22
+ .option('--json')
23
+ .action(async (options) => {
24
+ const roleCodes = Array.isArray(options.role) ? options.role.filter(Boolean) : [];
25
+ if (roleCodes.length === 0) {
26
+ throw new Error('VALIDATION: --role requires at least one roleId');
27
+ }
28
+ (0, shared_1.emitWorkforceResult)('workforce.curated-exemplar.ingest', await (0, curated_exemplar_remote_1.ingestCuratedScenarioExemplarRemote)({
29
+ targetOrg: options.targetOrg,
30
+ scenarioCode: options.scenario,
31
+ roleCodes,
32
+ content: await (0, shared_1.resolveContentOption)(options.content),
33
+ scope: options.scope,
34
+ orgNodeId: options.orgNode,
35
+ label: options.label,
36
+ reviewStatus: options.reviewStatus,
37
+ privacyReviewStatus: options.privacyReviewStatus,
38
+ title: options.title,
39
+ }), options.json);
40
+ });
41
+ exports.workforceCuratedExemplarCommand
42
+ .command('list')
43
+ .description('列出当前工作区的策展场景范例')
44
+ .requiredOption('--target-org <alias>')
45
+ .option('--scenario <code>', '按 scenarioCode 过滤')
46
+ .option('--json')
47
+ .action(async (options) => (0, shared_1.emitWorkforceResult)('workforce.curated-exemplar.list', await (0, curated_exemplar_remote_1.listCuratedScenarioExemplarsRemote)({
48
+ targetOrg: options.targetOrg,
49
+ scenarioCode: options.scenario,
50
+ }), options.json));
51
+ //# sourceMappingURL=curated-exemplar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curated-exemplar.js","sourceRoot":"","sources":["../../../../../src/commands/workforce/curated-exemplar.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AAEpC,qCAAqE;AACrE,oFAGgD;AAWnC,QAAA,+BAA+B,GAAG,IAAI,mBAAO,CAAC,kBAAkB,CAAC;KAC3E,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAExD,uCAA+B;KAC5B,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,cAAc,CAAC,sBAAsB,CAAC;KACtC,cAAc,CAAC,mBAAmB,EAAE,iCAAiC,CAAC;KACtE,cAAc,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;KAC7D,cAAc,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAChD,cAAc,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;KAC3D,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;KAChD,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,EAAE,SAAS,CAAC;KAC9E,MAAM,CAAC,kCAAkC,EAAE,+BAA+B,EAAE,SAAS,CAAC;KACtF,MAAM,CAAC,iBAAiB,CAAC;KACzB,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAExB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,IAAA,4BAAmB,EACjB,mCAAmC,EACnC,MAAM,IAAA,6DAAmC,EAAC;QACxC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,QAAQ;QAC9B,SAAS;QACT,OAAO,EAAE,MAAM,IAAA,6BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC;QACpD,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,OAAO;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,EACF,OAAO,CAAC,IAAI,CACb,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,uCAA+B;KAC5B,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gBAAgB,CAAC;KAC7B,cAAc,CAAC,sBAAsB,CAAC;KACtC,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,QAAQ,CAAC;KAChB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACxB,IAAA,4BAAmB,EACjB,iCAAiC,EACjC,MAAM,IAAA,4DAAkC,EAAC;IACvC,SAAS,EAAE,OAAO,CAAC,SAAS;IAC5B,YAAY,EAAE,OAAO,CAAC,QAAQ;CAC/B,CAAC,EACF,OAAO,CAAC,IAAI,CACb,CACF,CAAC"}
@@ -8,6 +8,7 @@ const constitution_1 = require("./constitution");
8
8
  const task_1 = require("./task");
9
9
  const guardrail_1 = require("./guardrail");
10
10
  const knowledge_1 = require("./knowledge");
11
+ const curated_exemplar_1 = require("./curated-exemplar");
11
12
  const learning_1 = require("./learning");
12
13
  const orchestration_1 = require("./orchestration");
13
14
  const observe_1 = require("./observe");
@@ -32,6 +33,7 @@ function registerWorkforceCommands(program) {
32
33
  workforceCommand.addCommand(prompt_1.workforcePromptCommand);
33
34
  workforceCommand.addCommand(guardrail_1.workforceGuardrailCommand);
34
35
  workforceCommand.addCommand(knowledge_1.workforceKnowledgeCommand);
36
+ workforceCommand.addCommand(curated_exemplar_1.workforceCuratedExemplarCommand);
35
37
  workforceCommand.addCommand(provider_1.workforceProviderCommand);
36
38
  workforceCommand.addCommand(permission_1.workforcePermissionCommand);
37
39
  workforceCommand.addCommand(test_case_1.workforceTestCaseCommand);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/workforce/index.ts"],"names":[],"mappings":";;AAmCA,8DAmCC;AApED,yCAAsD;AACtD,mCAAgD;AAChD,2CAAwD;AACxD,iDAA8D;AAC9D,iCAAmG;AACnG,2CAAwD;AACxD,2CAAwD;AACxD,yCAAsD;AACtD,mDAAgE;AAChE,uCAAoD;AACpD,6CAA0D;AAC1D,qCAAkD;AAClD,yCAAsD;AACtD,2CAAwD;AACxD,uCAAoD;AACpD,+BAA4C;AAC5C,2CAAuD;AACvD,iDAA8D;AAC9D,6CAA0D;AAe1D,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,MAAM,gBAAgB,GAAG,OAAO;SAC7B,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAEnD,gBAAgB,CAAC,UAAU,CAAC,6BAAqB,CAAC,CAAC;IAEnD,gBAAgB,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IAEtD,gBAAgB,CAAC,UAAU,CAAC,yBAAmB,CAAC,CAAC;IAEjD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IAEvD,gBAAgB,CAAC,UAAU,CAAC,2CAA4B,CAAC,CAAC;IAC1D,gBAAgB,CAAC,UAAU,CAAC,+BAAsB,CAAC,CAAC;IACpD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IACtD,gBAAgB,CAAC,UAAU,CAAC,uCAA0B,CAAC,CAAC;IAExD,gBAAgB,CAAC,UAAU,CAAC,oCAAwB,CAAC,CAAC;IAEtD,gBAAgB,CAAC,UAAU,CAAC,iCAAuB,CAAC,CAAC;IAErD,gBAAgB,CAAC,UAAU,CAAC,2BAAoB,CAAC,CAAC;IAClD,gBAAgB,CAAC,UAAU,CAAC,gCAAyB,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,CAAC,+BAAwB,CAAC,CAAC;IACtD,gBAAgB,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IACtD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,CAAC,2CAA4B,CAAC,CAAC;IAC1D,gBAAgB,CAAC,UAAU,CAAC,uCAA0B,CAAC,CAAC;IAExD,gBAAgB,CAAC,UAAU,CAAC,6CAA6B,CAAC,CAAC;IAE3D,gBAAgB,CAAC,UAAU,CAAC,iCAAuB,CAAC,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/workforce/index.ts"],"names":[],"mappings":";;AAoCA,8DAqCC;AAvED,yCAAsD;AACtD,mCAAgD;AAChD,2CAAwD;AACxD,iDAA8D;AAC9D,iCAAmG;AACnG,2CAAwD;AACxD,2CAAwD;AACxD,yDAAqE;AACrE,yCAAsD;AACtD,mDAAgE;AAChE,uCAAoD;AACpD,6CAA0D;AAC1D,qCAAkD;AAClD,yCAAsD;AACtD,2CAAwD;AACxD,uCAAoD;AACpD,+BAA4C;AAC5C,2CAAuD;AACvD,iDAA8D;AAC9D,6CAA0D;AAe1D,SAAgB,yBAAyB,CAAC,OAAgB;IACxD,MAAM,gBAAgB,GAAG,OAAO;SAC7B,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAEnD,gBAAgB,CAAC,UAAU,CAAC,6BAAqB,CAAC,CAAC;IAEnD,gBAAgB,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IAEtD,gBAAgB,CAAC,UAAU,CAAC,yBAAmB,CAAC,CAAC;IAEjD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IAEvD,gBAAgB,CAAC,UAAU,CAAC,2CAA4B,CAAC,CAAC;IAC1D,gBAAgB,CAAC,UAAU,CAAC,+BAAsB,CAAC,CAAC;IACpD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IAEvD,gBAAgB,CAAC,UAAU,CAAC,kDAA+B,CAAC,CAAC;IAC7D,gBAAgB,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IACtD,gBAAgB,CAAC,UAAU,CAAC,uCAA0B,CAAC,CAAC;IAExD,gBAAgB,CAAC,UAAU,CAAC,oCAAwB,CAAC,CAAC;IAEtD,gBAAgB,CAAC,UAAU,CAAC,iCAAuB,CAAC,CAAC;IAErD,gBAAgB,CAAC,UAAU,CAAC,2BAAoB,CAAC,CAAC;IAClD,gBAAgB,CAAC,UAAU,CAAC,gCAAyB,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,CAAC,+BAAwB,CAAC,CAAC;IACtD,gBAAgB,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IACtD,gBAAgB,CAAC,UAAU,CAAC,qCAAyB,CAAC,CAAC;IACvD,gBAAgB,CAAC,UAAU,CAAC,2CAA4B,CAAC,CAAC;IAC1D,gBAAgB,CAAC,UAAU,CAAC,uCAA0B,CAAC,CAAC;IAExD,gBAAgB,CAAC,UAAU,CAAC,6CAA6B,CAAC,CAAC;IAE3D,gBAAgB,CAAC,UAAU,CAAC,iCAAuB,CAAC,CAAC;AACvD,CAAC"}
@@ -823,14 +823,14 @@ async function workforceBundleSignedAdapter() {
823
823
  executed.add(scenarioId);
824
824
  }
825
825
  const report = (0, command_contract_matrix_1.buildCommandContractMatrixReport)(policies, manifest, executed);
826
- strict_1.default.equal(executed.size, 961);
827
- strict_1.default.equal(report.counts.tested, 961);
826
+ strict_1.default.equal(executed.size, 967);
827
+ strict_1.default.equal(report.counts.tested, 967);
828
828
  strict_1.default.equal(report.counts.inapplicable, 17);
829
- strict_1.default.equal(report.counts.exempted, 166);
829
+ strict_1.default.equal(report.counts.exempted, 167);
830
830
  strict_1.default.equal(report.counts.missing, 0);
831
- strict_1.default.equal(report.scenarioCount, 1144);
831
+ strict_1.default.equal(report.scenarioCount, 1151);
832
832
  strict_1.default.equal(report.ok, true);
833
- strict_1.default.equal(report.counts.exempted, 166);
833
+ strict_1.default.equal(report.counts.exempted, 167);
834
834
  strict_1.default.equal(report.entries.filter((entry) => entry.kind === 'failure')
835
835
  .every((entry) => entry.status === 'tested'), true);
836
836
  const reportPath = process.env.NEXUS_CLI_MATRIX_REPORT_PATH;
@@ -13,17 +13,17 @@ const command_inventory_1 = require("./command-inventory");
13
13
  const second = (0, command_inventory_1.buildCommandInventory)((0, cli_1.buildCliProgram)());
14
14
  strict_1.default.equal(first.schemaVersion, command_inventory_1.CLI_COMMAND_INVENTORY_SCHEMA_VERSION);
15
15
  strict_1.default.equal(first.rootCommand, 'nexus');
16
- strict_1.default.equal(first.leaves.length, 287);
16
+ strict_1.default.equal(first.leaves.length, 289);
17
17
  strict_1.default.deepEqual(first, second);
18
18
  strict_1.default.deepEqual(first.leaves.map((leaf) => leaf.commandId), [...first.leaves.map((leaf) => leaf.commandId)].sort());
19
- strict_1.default.equal(new Set(first.leaves.map((leaf) => leaf.commandId)).size, 287);
19
+ strict_1.default.equal(new Set(first.leaves.map((leaf) => leaf.commandId)).size, 289);
20
20
  });
21
21
  (0, node_test_1.default)('inventory distinguishes inherited and local JSON declarations', () => {
22
22
  const inventory = (0, command_inventory_1.buildCommandInventory)((0, cli_1.buildCliProgram)());
23
23
  const withJson = inventory.leaves.filter((leaf) => leaf.options.some((option) => option.long === '--json'));
24
24
  const withLocalJson = inventory.leaves.filter((leaf) => leaf.options.some((option) => option.long === '--json' && !option.inherited));
25
- strict_1.default.equal(withJson.length, 287);
26
- strict_1.default.equal(withLocalJson.length, 287);
25
+ strict_1.default.equal(withJson.length, 289);
26
+ strict_1.default.equal(withLocalJson.length, 289);
27
27
  strict_1.default.equal(inventory.leaves.some((leaf) => leaf.options.some((option) => option.long === '--json' && option.inherited)), false);
28
28
  });
29
29
  (0, node_test_1.default)('inventory records arguments, aliases and effective option ownership', () => {
@@ -22,8 +22,8 @@ const command_policy_validator_1 = require("./command-policy.validator");
22
22
  const second = build();
23
23
  strict_1.default.deepEqual(first, second);
24
24
  strict_1.default.equal(first.schemaVersion, 'nexusclaw.cli-command-registry/v2');
25
- strict_1.default.equal(first.commands.length, 287);
26
- strict_1.default.equal(first.policyReport.modeCount, 326);
25
+ strict_1.default.equal(first.commands.length, 289);
26
+ strict_1.default.equal(first.policyReport.modeCount, 328);
27
27
  strict_1.default.match(first.registryDigest, /^sha256:[0-9a-f]{64}$/);
28
28
  strict_1.default.deepEqual(first.commands.map((command) => command.commandId), [...first.commands.map((command) => command.commandId)].sort());
29
29
  strict_1.default.equal(first.commands.some((command) => command.commandId === 'source.pull'), true);
@@ -19,7 +19,7 @@ const READ_ONLY_COMMANDS = [
19
19
  'revision.baseline.show', 'revision.diff', 'revision.history',
20
20
  'sandbox.list', 'source.get', 'source.status', 'test.report',
21
21
  'validate.package', 'validate.source',
22
- 'workforce.escalation.list', 'workforce.knowledge.routing-readiness',
22
+ 'workforce.curated-exemplar.list', 'workforce.escalation.list', 'workforce.knowledge.routing-readiness',
23
23
  'workforce.notification.list', 'workforce.notification.template-status',
24
24
  'workforce.task.conversation.get', 'workforce.task.conversation.list',
25
25
  'workspace.current', 'workspace.health', 'workspace.status',
@@ -51,7 +51,7 @@ const REMOTE_WRITE_COMMANDS = [
51
51
  'workforce.agent.archive', 'workforce.agent.bind-service-account',
52
52
  'workforce.agent.publish', 'workforce.agent.rollback-version', 'workforce.agent.stage-activation',
53
53
  'workforce.agent.use-assistant-identity',
54
- 'workforce.escalation.activate', 'workforce.escalation.create',
54
+ 'workforce.curated-exemplar.ingest', 'workforce.escalation.activate', 'workforce.escalation.create',
55
55
  'workforce.escalation.entry-add', 'workforce.notification.create',
56
56
  'workforce.release', 'workforce.task.converse',
57
57
  'workspace.push', 'workspace.replay',
@@ -1 +1 @@
1
- {"version":3,"file":"command-policy.registry.js","sourceRoot":"","sources":["../../../../src/contracts/command-policy.registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-policy.registry.js","sourceRoot":"","sources":["../../../../src/contracts/command-policy.registry.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,13 @@ const cli_1 = require("../cli");
9
9
  const command_contract_registry_1 = require("./command-contract.registry");
10
10
  const command_inventory_1 = require("./command-inventory");
11
11
  const command_policy_registry_1 = require("./command-policy.registry");
12
- (0, node_test_1.default)('policy registry covers all 287 leaves without anonymous fallback', () => {
12
+ (0, node_test_1.default)('policy registry covers all 289 leaves without anonymous fallback', () => {
13
13
  const inventory = (0, command_inventory_1.buildCommandInventory)((0, cli_1.buildCliProgram)());
14
14
  const policies = (0, command_policy_registry_1.buildCommandPolicyRegistry)(inventory, command_contract_registry_1.commandContractRegistry.all().map((entry) => entry.contract));
15
- strict_1.default.equal(policies.length, 287);
16
- strict_1.default.equal(new Set(policies.map((policy) => policy.commandId)).size, 287);
15
+ strict_1.default.equal(policies.length, 289);
16
+ strict_1.default.equal(new Set(policies.map((policy) => policy.commandId)).size, 289);
17
17
  strict_1.default.equal(policies.filter((policy) => policy.source === 'v1-contract').length, 148);
18
- strict_1.default.equal(policies.filter((policy) => policy.source === 'explicit-v2').length, 139);
18
+ strict_1.default.equal(policies.filter((policy) => policy.source === 'explicit-v2').length, 141);
19
19
  });
20
20
  (0, node_test_1.default)('policy registry declares canonical target and machine-output semantics', () => {
21
21
  const inventory = (0, command_inventory_1.buildCommandInventory)((0, cli_1.buildCliProgram)());
@@ -15,8 +15,8 @@ const command_policy_validator_1 = require("./command-policy.validator");
15
15
  const inventory = (0, command_inventory_1.buildCommandInventory)((0, cli_1.buildCliProgram)());
16
16
  const policies = (0, command_policy_registry_1.buildCommandPolicyRegistry)(inventory, command_contract_registry_1.commandContractRegistry.all().map((entry) => entry.contract));
17
17
  const report = (0, command_policy_validator_1.validateCommandPolicyRegistry)(inventory, policies, '2026-08-02');
18
- strict_1.default.equal(report.inventoryCount, 287);
19
- strict_1.default.equal(report.policyCount, 287);
18
+ strict_1.default.equal(report.inventoryCount, 289);
19
+ strict_1.default.equal(report.policyCount, 289);
20
20
  strict_1.default.equal(report.ok, true);
21
21
  const rules = new Set(report.diagnostics.map((entry) => entry.ruleId));
22
22
  strict_1.default.equal(rules.has('DRY_RUN_EXEMPTION_REQUIRED'), false);
@@ -26,7 +26,7 @@ const command_policy_validator_1 = require("./command-policy.validator");
26
26
  strict_1.default.doesNotThrow(() => (0, command_policy_validator_1.assertCommandPolicyRegistryConforms)(inventory, policies, '2026-08-02'));
27
27
  const exemptions = policies.flatMap((policy) => policy.modes)
28
28
  .filter((mode) => mode.invocationPolicy.dryRunExemption);
29
- strict_1.default.equal(exemptions.length, 166);
29
+ strict_1.default.equal(exemptions.length, 167);
30
30
  strict_1.default.equal(exemptions.every((mode) => mode.invocationPolicy.dryRunExemption?.expiresOn === '2026-09-30'), true);
31
31
  strict_1.default.throws(() => (0, command_policy_validator_1.assertCommandPolicyRegistryConforms)(inventory, policies, '2026-10-01'), /DRY_RUN_EXEMPTION_EXPIRED/);
32
32
  });
@@ -39,12 +39,13 @@ class CliOutputCoordinator {
39
39
  throw new Error('CLI_TERMINAL_RESULT_ALREADY_EMITTED');
40
40
  }
41
41
  const normalizedResultCommand = result.command.trim().split(/\s+/u).join('.');
42
- if (normalizedResultCommand !== this.command) {
42
+ const equivalent = (left, right) => left.replace(/_/gu, '-') === right.replace(/_/gu, '-');
43
+ if (!equivalent(normalizedResultCommand, this.command)) {
43
44
  throw new Error(`CLI_TERMINAL_RESULT_COMMAND_MISMATCH: expected ${this.command}, received ${result.command}`);
44
45
  }
45
- const canonicalResult = normalizedResultCommand === result.command
46
+ const canonicalResult = result.command === this.command
46
47
  ? result
47
- : { ...result, command: normalizedResultCommand };
48
+ : { ...result, command: this.command };
48
49
  const rendered = this.renderResult(canonicalResult);
49
50
  this.terminalEmitted = true;
50
51
  this.setExitCode(result.exitCode);
@@ -1 +1 @@
1
- {"version":3,"file":"output-coordinator.js","sourceRoot":"","sources":["../../../../src/runtime/output-coordinator.ts"],"names":[],"mappings":";;;AAoBA,kDAEC;AAuED,kEAKC;AAED,kEAEC;AAED,kEAIC;AA5GD,uDAAqD;AAiBrD,MAAM,kBAAkB,GAAG,IAAI,oCAAiB,EAAwB,CAAC;AAGzE,SAAgB,mBAAmB,CAAC,IAA2B;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACxD,CAAC;AAOD,MAAa,oBAAoB;IAS/B,YAAY,OAAoC;QAFxC,oBAAe,GAAG,KAAK,CAAC;QAG9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,iBAAiB,CAAC,MAAmB;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,uBAAuB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,uBAAuB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,CAAC,OAAO,cAAc,MAAM,CAAC,OAAO,EAAE,CAC7F,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,uBAAuB,KAAK,MAAM,CAAC,OAAO;YAChE,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC;IACrC,CAAC;IAEO,wBAAwB,CAAC,MAA2B;QAC1D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AA9DD,oDA8DC;AAED,SAAgB,2BAA2B,CACzC,WAAiC,EACjC,SAAkB;IAElB,OAAO,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,2BAA2B;IACzC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,CAAC;AACvC,CAAC;AAED,SAAgB,2BAA2B;IACzC,MAAM,WAAW,GAAG,2BAA2B,EAAE,CAAC;IAClD,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpE,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"output-coordinator.js","sourceRoot":"","sources":["../../../../src/runtime/output-coordinator.ts"],"names":[],"mappings":"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"}
@@ -77,4 +77,32 @@ function memoryStream(target) {
77
77
  strict_1.default.throws(() => coordinator.emitMachineResult(result), /CLI_TERMINAL_RESULT_COMMAND_MISMATCH/);
78
78
  strict_1.default.equal(coordinator.hasEmittedTerminalResult(), false);
79
79
  });
80
+ (0, node_test_1.default)('coordinator accepts underscore spelling of a dashed command and canonicalizes it (LYNC-167)', () => {
81
+ const stdout = [];
82
+ const exits = [];
83
+ const coordinator = new output_coordinator_1.CliOutputCoordinator({
84
+ command: 'employee.bundle.approval-status', machine: true,
85
+ stdout: memoryStream(stdout),
86
+ setExitCode: (exitCode) => exits.push(exitCode),
87
+ });
88
+ const result = (0, machine_result_1.buildCliResult)({
89
+ command: 'employee.bundle.approval_status', phase: 'complete',
90
+ contractVersion: 'nexusclaw.cli-command-contract/v2', ok: true, exitCode: 0,
91
+ });
92
+ coordinator.emitMachineResult(result);
93
+ const emitted = JSON.parse(stdout[0]);
94
+ strict_1.default.equal(emitted.command, 'employee.bundle.approval-status');
95
+ strict_1.default.equal(emitted.ok, true);
96
+ strict_1.default.deepEqual(exits, [0]);
97
+ strict_1.default.equal(coordinator.hasEmittedTerminalResult(), true);
98
+ });
99
+ (0, node_test_1.default)('coordinator still rejects a different command even with dash/underscore equivalence', () => {
100
+ const coordinator = new output_coordinator_1.CliOutputCoordinator({ command: 'employee.bundle.approval-status', machine: true });
101
+ const result = (0, machine_result_1.buildCliResult)({
102
+ command: 'employee.bundle.approval_request', phase: 'complete',
103
+ contractVersion: 'nexusclaw.cli-command-contract/v2', ok: true,
104
+ });
105
+ strict_1.default.throws(() => coordinator.emitMachineResult(result), /CLI_TERMINAL_RESULT_COMMAND_MISMATCH/);
106
+ strict_1.default.equal(coordinator.hasEmittedTerminalResult(), false);
107
+ });
80
108
  //# sourceMappingURL=output-coordinator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"output-coordinator.test.js","sourceRoot":"","sources":["../../../../src/runtime/output-coordinator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output-coordinator.test.js","sourceRoot":"","sources":["../../../../src/runtime/output-coordinator.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface CuratedExemplarView {
2
+ id: string;
3
+ scenarioCode: string;
4
+ roleCodes: string[];
5
+ content: string;
6
+ scope: string;
7
+ orgNodeId?: string | null;
8
+ reviewStatus: string;
9
+ privacyReviewStatus: string;
10
+ label?: string | null;
11
+ contentDigest: string;
12
+ embedded: boolean;
13
+ accessLevel: string;
14
+ title?: string;
15
+ createdAt?: string;
16
+ }
17
+ export declare function ingestCuratedScenarioExemplarRemote(options: {
18
+ targetOrg: string;
19
+ scenarioCode: string;
20
+ roleCodes: string[];
21
+ content: string;
22
+ scope: 'orgSubtree' | 'workspace';
23
+ orgNodeId?: string;
24
+ label?: 'positive' | 'negative';
25
+ reviewStatus?: 'pending' | 'approved' | 'rejected';
26
+ privacyReviewStatus?: 'pending' | 'approved' | 'rejected';
27
+ title?: string;
28
+ }): Promise<CuratedExemplarView>;
29
+ export declare function listCuratedScenarioExemplarsRemote(options: {
30
+ targetOrg: string;
31
+ scenarioCode?: string;
32
+ }): Promise<CuratedExemplarView[]>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ingestCuratedScenarioExemplarRemote = ingestCuratedScenarioExemplarRemote;
4
+ exports.listCuratedScenarioExemplarsRemote = listCuratedScenarioExemplarsRemote;
5
+ const api_client_1 = require("./api-client");
6
+ const INGEST_CURATED_EXEMPLAR = `
7
+ mutation IngestCuratedScenarioExemplar($input: IngestCuratedScenarioExemplarInput!) {
8
+ ingestCuratedScenarioExemplar(input: $input) {
9
+ id scenarioCode roleCodes content scope orgNodeId reviewStatus privacyReviewStatus
10
+ label contentDigest embedded accessLevel title createdAt
11
+ }
12
+ }`;
13
+ const LIST_CURATED_EXEMPLARS = `
14
+ query CuratedScenarioExemplars($scenarioCode: String) {
15
+ curatedScenarioExemplars(scenarioCode: $scenarioCode) {
16
+ id scenarioCode roleCodes content scope orgNodeId reviewStatus privacyReviewStatus
17
+ label contentDigest embedded accessLevel title createdAt
18
+ }
19
+ }`;
20
+ async function ingestCuratedScenarioExemplarRemote(options) {
21
+ const client = (0, api_client_1.createApiClient)(options.targetOrg);
22
+ const scopeInput = { scope: options.scope };
23
+ if (options.orgNodeId !== undefined)
24
+ scopeInput.orgNodeId = options.orgNodeId;
25
+ const input = {
26
+ scenarioCode: options.scenarioCode,
27
+ roleCodes: options.roleCodes,
28
+ content: options.content,
29
+ scope: scopeInput,
30
+ };
31
+ if (options.label !== undefined)
32
+ input.label = options.label;
33
+ if (options.reviewStatus !== undefined)
34
+ input.reviewStatus = options.reviewStatus;
35
+ if (options.privacyReviewStatus !== undefined)
36
+ input.privacyReviewStatus = options.privacyReviewStatus;
37
+ if (options.title !== undefined)
38
+ input.title = options.title;
39
+ const data = await client.graphql(INGEST_CURATED_EXEMPLAR, { input });
40
+ return data.ingestCuratedScenarioExemplar;
41
+ }
42
+ async function listCuratedScenarioExemplarsRemote(options) {
43
+ const client = (0, api_client_1.createApiClient)(options.targetOrg);
44
+ const variables = {};
45
+ if (options.scenarioCode !== undefined)
46
+ variables.scenarioCode = options.scenarioCode;
47
+ const data = await client.graphql(LIST_CURATED_EXEMPLARS, variables);
48
+ return data.curatedScenarioExemplars;
49
+ }
50
+ //# sourceMappingURL=curated-exemplar-remote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curated-exemplar-remote.js","sourceRoot":"","sources":["../../../../src/services/curated-exemplar-remote.ts"],"names":[],"mappings":";;AA4CA,kFA8BC;AAED,gFAYC;AAxFD,6CAA+C;AA4B/C,MAAM,uBAAuB,GAAG;;;;;;EAM9B,CAAC;AAEH,MAAM,sBAAsB,GAAG;;;;;;EAM7B,CAAC;AAEI,KAAK,UAAU,mCAAmC,CAAC,OAWzD;IACC,MAAM,MAAM,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,UAAU,GAA4B,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IACrE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9E,MAAM,KAAK,GAA4B;QACrC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,UAAU;KAClB,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAClF,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS;QAAE,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACvG,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAC/B,uBAAuB,EACvB,EAAE,KAAK,EAAE,CACV,CAAC;IACF,OAAO,IAAI,CAAC,6BAA6B,CAAC;AAC5C,CAAC;AAEM,KAAK,UAAU,kCAAkC,CAAC,OAGxD;IACC,MAAM,MAAM,GAAG,IAAA,4BAAe,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IACtF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAC/B,sBAAsB,EACtB,SAAS,CACV,CAAC;IACF,OAAO,IAAI,CAAC,wBAAwB,CAAC;AACvC,CAAC"}
@@ -8,5 +8,5 @@ export declare function buildCanonicalWorkforceBundleArchive(options: {
8
8
  portableBundleDigest: `sha256:${string}`;
9
9
  runtimeBindingsDigest: `sha256:${string}`;
10
10
  fileCount: number;
11
- declaredSurfaces: ("employee" | "code" | "flow")[];
11
+ declaredSurfaces: ("code" | "flow" | "employee")[];
12
12
  }>;
@@ -15,7 +15,7 @@ export declare function prepareRemoteWorkforceBundle(options: {
15
15
  portableBundleDigest: `sha256:${string}`;
16
16
  runtimeBindingsDigest: `sha256:${string}`;
17
17
  fileCount: number;
18
- declaredSurfaces: ("employee" | "code" | "flow")[];
18
+ declaredSurfaces: ("code" | "flow" | "employee")[];
19
19
  };
20
20
  sealed: import("./api-client").SealedExecutablePackageArtifact;
21
21
  artifactInput: {
@@ -1,4 +1,4 @@
1
- export declare const WORKFORCE_TEST_CLI_VERSION = "0.3.38";
1
+ export declare const WORKFORCE_TEST_CLI_VERSION = "0.3.40";
2
2
  export declare function assertWorkforceTestCompatibility(compatibilityVersion: string): void;
3
3
  export declare const WORKFORCE_TEST_REGRESSION_QUERY = "\nquery AgentTestRegression($agentId: ID!, $suiteRunId: ID!) {\n agentTestRegression(agentId: $agentId, suiteRunId: $suiteRunId) { suiteRunId current baseline deltas }\n}";
4
4
  export interface WorkforceTestSuiteMetrics {
@@ -12,7 +12,7 @@ exports.listTestResultsRemote = listTestResultsRemote;
12
12
  exports.getTestBaselineRemote = getTestBaselineRemote;
13
13
  exports.getTestRegressionRemote = getTestRegressionRemote;
14
14
  const api_client_1 = require("./api-client");
15
- exports.WORKFORCE_TEST_CLI_VERSION = '0.3.38';
15
+ exports.WORKFORCE_TEST_CLI_VERSION = '0.3.40';
16
16
  function parseCompatibilityVersion(version) {
17
17
  const match = /^(\d+)\.(\d+)\.(\d+)$/.exec(version.trim());
18
18
  if (!match)
@@ -22,10 +22,10 @@ const workforce_test_remote_1 = require("./workforce-test-remote");
22
22
  strict_1.default.throws(() => (0, workforce_test_remote_1.assertWorkforceTestCompatibility)('unknown'), /did not publish cliCompatibilityVersion/);
23
23
  });
24
24
  (0, node_test_1.default)('evaluation preflight blocks a mismatched CLI/Core contract', () => {
25
- strict_1.default.throws(() => (0, workforce_test_remote_1.assertWorkforceTestCompatibility)('0.4.0'), /CLI 0.3.38, Core requires 0.4.0/);
25
+ strict_1.default.throws(() => (0, workforce_test_remote_1.assertWorkforceTestCompatibility)('0.4.0'), /CLI 0.3.40, Core requires 0.4.0/);
26
26
  });
27
27
  (0, node_test_1.default)('evaluation preflight blocks an older CLI than the Core patch contract', () => {
28
- strict_1.default.throws(() => (0, workforce_test_remote_1.assertWorkforceTestCompatibility)('0.3.39'), /CLI 0.3.38, Core requires 0.3.39/);
28
+ strict_1.default.throws(() => (0, workforce_test_remote_1.assertWorkforceTestCompatibility)('0.3.41'), /CLI 0.3.40, Core requires 0.3.41/);
29
29
  });
30
30
  (0, node_test_1.default)('regression query matches the native Core report fields', () => {
31
31
  strict_1.default.match(workforce_test_remote_1.WORKFORCE_TEST_REGRESSION_QUERY, /suiteRunId current baseline deltas/);