@nexusclawhq/cli 0.3.0 → 0.3.3

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 (54) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/build-info.json +4 -4
  3. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/candidate-fixture-mismatch-evidence.d.ts +82 -0
  4. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/candidate-fixture-mismatch-evidence.js +123 -0
  5. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/candidate-fixture-mismatch-evidence.js.map +1 -0
  6. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/contract-schemas.d.ts +6 -0
  7. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/contract-schemas.js +241 -1
  8. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/contract-schemas.js.map +1 -1
  9. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.d.ts +2 -1
  10. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.js +8 -1
  11. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/index.js.map +1 -1
  12. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/agent-executable-assets/release-evidence.types.d.ts +5 -3
  13. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/employee-package/types.d.ts +7 -0
  14. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.d.ts +39 -16
  15. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/en-US.js +44 -20
  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 +78 -32
  18. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.d.ts +39 -16
  19. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js +43 -19
  20. package/dist/nexus-cli/node_modules/@nexusclaw/shared/dist/locales/zh-CN.js.map +1 -1
  21. package/dist/nexus-cli/src/cli.js +21 -1
  22. package/dist/nexus-cli/src/cli.js.map +1 -1
  23. package/dist/nexus-cli/src/services/__env-probe.test.d.ts +1 -0
  24. package/dist/nexus-cli/src/services/__env-probe.test.js +13 -0
  25. package/dist/nexus-cli/src/services/__env-probe.test.js.map +1 -0
  26. package/dist/nexus-cli/src/services/ai-authoring-context-v2.js +8 -6
  27. package/dist/nexus-cli/src/services/ai-authoring-context-v2.js.map +1 -1
  28. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.d.ts +1 -0
  29. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.js +128 -0
  30. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.js.map +1 -0
  31. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.test.d.ts +1 -0
  32. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.test.js +132 -0
  33. package/dist/nexus-cli/src/services/ai-authoring-context-v2.pack.e2e.test.js.map +1 -0
  34. package/dist/nexus-cli/src/services/ai-authoring-context-v2.test.js +51 -0
  35. package/dist/nexus-cli/src/services/ai-authoring-context-v2.test.js.map +1 -1
  36. package/dist/nexus-cli/src/services/build-info.d.ts +10 -0
  37. package/dist/nexus-cli/src/services/build-info.js +88 -0
  38. package/dist/nexus-cli/src/services/build-info.js.map +1 -0
  39. package/dist/nexus-cli/src/services/workforce-observe-remote.d.ts +13 -6
  40. package/dist/nexus-cli/src/services/workforce-observe-remote.js +14 -5
  41. package/dist/nexus-cli/src/services/workforce-observe-remote.js.map +1 -1
  42. package/dist/nexus-cli/src/services/workforce-ops-remote.d.ts +5 -3
  43. package/dist/nexus-cli/src/services/workforce-ops-remote.js +4 -2
  44. package/dist/nexus-cli/src/services/workforce-ops-remote.js.map +1 -1
  45. package/dist/nexus-cli/src/services/workforce-remote-operations.d.ts +3 -1
  46. package/dist/nexus-cli/src/services/workforce-remote-operations.js +34 -9
  47. package/dist/nexus-cli/src/services/workforce-remote-operations.js.map +1 -1
  48. package/dist/nexus-cli/src/services/workforce-remote-operations.suite-selection.test.d.ts +1 -0
  49. package/dist/nexus-cli/src/services/workforce-remote-operations.suite-selection.test.js +42 -0
  50. package/dist/nexus-cli/src/services/workforce-remote-operations.suite-selection.test.js.map +1 -0
  51. package/dist/nexus-cli/src/services/workforce-test-remote.js +6 -1
  52. package/dist/nexus-cli/src/services/workforce-test-remote.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +3 -2
@@ -130,9 +130,11 @@ export interface CandidateStageReceiptV1 {
130
130
  /**
131
131
  * Direct code/Flow test `--suite <literal>` maps to one same-named nested
132
132
  * selector; `all` maps to that selector kind's complete ordered suite list.
133
- * Bundle `--suite action|flow|employee|all` selects kinds and mechanically
134
- * assigns every selected kind its complete blocking suite list (design §16.4).
135
- * No handler/model chooses a default suite.
133
+ * Bundle `--suite action|flow|employee` strictly selects that asset kind and
134
+ * fails when it is absent. Bundle `--suite all` selects every kind represented
135
+ * by the immutable candidate and mechanically assigns each present kind its
136
+ * complete blocking suite list (design §16.4). No handler/model chooses a
137
+ * default suite, and `all` never requires an unrelated absent asset kind.
136
138
  */
137
139
  export type CodeTestSuiteSelector = 'contract' | 'compile' | 'sandbox' | 'permission' | 'unit' | 'all';
138
140
  export type FlowTestSuiteSelector = 'schema' | 'mapping' | 'action' | 'permission' | 'fault' | 'all';
@@ -89,6 +89,13 @@ export interface PackageModelConfig {
89
89
  tier: 1 | 2 | 3;
90
90
  temperature: number;
91
91
  maxTokens: number;
92
+ /**
93
+ * Cumulative token budget for the WHOLE agent execution (input+output across
94
+ * all ReAct iterations). Distinct from `maxTokens` (per-call output cap).
95
+ * When unset, `ContextBuilderService` falls back to its 16k default
96
+ * (`context-builder.service.ts` `calculateConstraints`).
97
+ */
98
+ maxTokensPerExecution?: number;
92
99
  responseFormat: 'text' | 'json';
93
100
  inputCostPer1k?: number;
94
101
  outputCostPer1k?: number;
@@ -4975,25 +4975,9 @@ declare const _default: {
4975
4975
  micError: string;
4976
4976
  cameraUnsupported: string;
4977
4977
  cameraDenied: string;
4978
- starterMedtech1: string;
4979
- starterMedtech2: string;
4980
- starterMedtech3: string;
4981
- starterSales1: string;
4982
- starterSales2: string;
4983
- starterSales3: string;
4984
- starterService1: string;
4985
- starterService2: string;
4986
- starterService3: string;
4987
- starterAnalysis1: string;
4988
- starterAnalysis2: string;
4989
- starterAnalysis3: string;
4990
- starterOps1: string;
4991
- starterOps2: string;
4992
- starterOps3: string;
4993
4978
  starterDefault1: string;
4994
4979
  starterDefault2: string;
4995
4980
  starterDefault3: string;
4996
- medtechCustomerHint: string;
4997
4981
  customerHint: string;
4998
4982
  backAria: string;
4999
4983
  title: string;
@@ -5041,6 +5025,16 @@ declare const _default: {
5041
5025
  sendMessageAria: string;
5042
5026
  requestFailedWithStatus: string;
5043
5027
  serviceException: string;
5028
+ historyButton: string;
5029
+ historyTitle: string;
5030
+ historyEmpty: string;
5031
+ historyAllAgents: string;
5032
+ historyCurrentAgent: string;
5033
+ historyFilterTip: string;
5034
+ historyMsgCount: string;
5035
+ replayBack: string;
5036
+ replayBadge: string;
5037
+ replayLoadFailed: string;
5044
5038
  };
5045
5039
  aiAssistant: {
5046
5040
  archived: string;
@@ -5454,6 +5448,7 @@ declare const _default: {
5454
5448
  commandCenter: {
5455
5449
  common: {
5456
5450
  allStatuses: string;
5451
+ backToList: string;
5457
5452
  cancel: string;
5458
5453
  colActions: string;
5459
5454
  colDuration: string;
@@ -7402,6 +7397,16 @@ declare const _default: {
7402
7397
  assistant: string;
7403
7398
  independent: string;
7404
7399
  };
7400
+ assistantIdentityBanner: string;
7401
+ independentIdentityBanner: string;
7402
+ assistantIdentityEditorHint: string;
7403
+ assistantPermissionNotice: string;
7404
+ assistantDefenseNotice: string;
7405
+ assistantRunAsInheritance: string;
7406
+ assistantAccessNotice: string;
7407
+ assistantAudienceNotice: string;
7408
+ builderPermissionTitleAssistant: string;
7409
+ builderDefenseBoundaryTitle: string;
7405
7410
  builderIdentityDesc: string;
7406
7411
  builderIdentityGap: string;
7407
7412
  builderIdentityInfo: string;
@@ -7519,6 +7524,8 @@ declare const _default: {
7519
7524
  noProactiveTitle: string;
7520
7525
  noContextMemoryTitle: string;
7521
7526
  noContractDesc: string;
7527
+ openBlueprintCta: string;
7528
+ openBlueprintHint: string;
7522
7529
  contractIdLabel: string;
7523
7530
  contractRevisionLabel: string;
7524
7531
  missionLabel: string;
@@ -11779,6 +11786,22 @@ declare const _default: {
11779
11786
  pickAgentDesc: string;
11780
11787
  releaseGate: string;
11781
11788
  provingGroundTitle: string;
11789
+ runsEmptyDesc: string;
11790
+ runSummaryTitle: string;
11791
+ viewRunResults: string;
11792
+ gateSuccessVector: string;
11793
+ gateHardGate: string;
11794
+ gateEvidenceComplete: string;
11795
+ gateRunLineage: string;
11796
+ gateValuePass: string;
11797
+ gateValueBlocked: string;
11798
+ gateValueComplete: string;
11799
+ gateValueIncomplete: string;
11800
+ gateValueInsufficient: string;
11801
+ cognitionGateFailedMsg: string;
11802
+ cognitionGatePassedMsg: string;
11803
+ cognitionGateMissingMsg: string;
11804
+ cognitionGateDesc: string;
11782
11805
  };
11783
11806
  promptTemplates: {
11784
11807
  pageTitle: string;
@@ -4996,26 +4996,10 @@ const messages = {
4996
4996
  micError: "Recording failed -- please try again or type instead.",
4997
4997
  cameraUnsupported: "Your browser does not support the camera.",
4998
4998
  cameraDenied: "Camera permission was denied -- please allow it in your browser and try again.",
4999
- starterMedtech1: "Review the hospitals I own and flag the top three to prioritize visiting this week",
5000
- starterMedtech2: "A tier-3 hospital's cardiology department wants to learn about vascular stents -- what's the next step?",
5001
- starterMedtech3: "Track the current group-purchasing project -- which price concessions need manual approval?",
5002
- starterSales1: "How is this customer's key deal progressing recently?",
5003
- starterSales2: "What new overseas inquiries came in this week?",
5004
- starterSales3: "Help me review the highest-risk opportunities right now",
5005
- starterService1: "What open service tickets does this customer have?",
5006
- starterService2: "What stage is the damaged-goods handling for order ORD-2024-0892 at?",
5007
- starterService3: "Which refunds are currently pending approval?",
5008
- starterAnalysis1: "Generate this week's pipeline report",
5009
- starterAnalysis2: "What are the current weighted forecast and total pipeline?",
5010
- starterAnalysis3: "Which stage holds the largest opportunity value?",
5011
- starterOps1: "How healthy are the sales and service teams' operations this week?",
5012
- starterOps2: "What bottlenecks or risks need attention right now?",
5013
- starterOps3: "Suggest the team's best next action",
5014
4999
  starterDefault1: "Help me review this customer's recent situation",
5015
5000
  starterDefault2: "Summarize this week's key business progress",
5016
5001
  starterDefault3: "What risks should I be paying close attention to?",
5017
- medtechCustomerHint: '💡 Say a hospital, department, or distributor name (e.g. "tier-3 hospital cardiology") to activate that customer\'s long-term memory',
5018
- customerHint: "💡 Say the customer's full name (e.g. \"Yuanda Intelligent Manufacturing Group\") to activate that customer's long-term memory",
5002
+ customerHint: "💡 Say the customer's full name to activate that customer's long-term memory",
5019
5003
  backAria: "Go back",
5020
5004
  title: "AI Employee Voice Test",
5021
5005
  localBadge: "Company-owned · Sovereign data control",
@@ -5062,6 +5046,17 @@ const messages = {
5062
5046
  sendMessageAria: "Send message",
5063
5047
  requestFailedWithStatus: "Request failed ({status})",
5064
5048
  serviceException: "Service error",
5049
+ // Conversation history / meeting replay (caller-scoped by userId+workspaceId)
5050
+ historyButton: "History",
5051
+ historyTitle: "Conversation history",
5052
+ historyEmpty: "No conversations yet",
5053
+ historyAllAgents: "All employees",
5054
+ historyCurrentAgent: "Current employee only",
5055
+ historyFilterTip: "Toggle: current employee only / all employees",
5056
+ historyMsgCount: "{n} messages",
5057
+ replayBack: "Back to live",
5058
+ replayBadge: "Replay",
5059
+ replayLoadFailed: "Failed to load this conversation, please try again",
5065
5060
  },
5066
5061
  aiAssistant: {
5067
5062
  archived: "Archived",
@@ -5476,6 +5471,7 @@ const messages = {
5476
5471
  commandCenter: {
5477
5472
  common: {
5478
5473
  allStatuses: "All statuses",
5474
+ backToList: "Back to execution list",
5479
5475
  cancel: "Cancel",
5480
5476
  colActions: "Actions",
5481
5477
  colDuration: "Duration",
@@ -7409,6 +7405,16 @@ const messages = {
7409
7405
  assistant: "Employee assistant",
7410
7406
  independent: "Independent AI employee",
7411
7407
  },
7408
+ assistantIdentityBanner: "This is an employee assistant: it runs under the authorizing user's account, role, and org node, and holds no permissions of its own. Fill in the service account and role below to convert it into an independent AI employee.",
7409
+ independentIdentityBanner: "This is an independent AI employee: it executes with its own service account (employee ID) and role, with its own account, permissions, and org-structure boundary.",
7410
+ assistantIdentityEditorHint: "Assistants do not need the account or role below. To let this employee operate under its own authority, set both the service account and a role — saving converts it into an independent AI employee.",
7411
+ assistantPermissionNotice: "An assistant's public groups and permission sets are inherited from the authorizing user and cannot be configured here; but data scope, rate limits, and tool allow/deny lists are defense-in-depth narrowing controls that MUST be set to prevent data over-access.",
7412
+ assistantDefenseNotice: "Defense-in-depth narrowing: the data scope, rate limits, and tool allow/deny lists below are intersected with the authorizing user's permissions — they only narrow, never widen. If the assistant's configured org subtree is outside the authorizing user's subtree, access is denied (fail-closed).",
7413
+ assistantRunAsInheritance: "Run-as identity is inherited from the human who dispatches each task; the fields below are this assistant's defense-in-depth boundary.",
7414
+ assistantAccessNotice: "Assistants cannot work standalone: their run-as identity is inherited from the dispatching human, but the defense-in-depth boundary below (scope/rate/tools) is still enforced.",
7415
+ assistantAudienceNotice: "Assistants have no standalone audience: who can invoke this assistant is determined by its mount point (chat, flow node), inherited from the dispatching human, and cannot be configured here.",
7416
+ builderPermissionTitleAssistant: "Defense-in-depth data scope and runtime boundary",
7417
+ builderDefenseBoundaryTitle: "Defense-in-depth boundary (intersected with authorizing user)",
7412
7418
  builderIdentityDesc: "Determines whose identity the AI employee executes as, and what authority and org boundaries it has.",
7413
7419
  builderIdentityGap: "Missing employee ID or role",
7414
7420
  builderIdentityInfo: "Identity information",
@@ -7525,7 +7531,9 @@ const messages = {
7525
7531
  noContractTitle: "No success contract",
7526
7532
  noProactiveTitle: "No proactive policy",
7527
7533
  noContextMemoryTitle: "No context & memory policy",
7528
- noContractDesc: "The current candidate has no cognitive policy; initialize it via the goal-to-agent blueprint generator or the backend API before editing.",
7534
+ noContractDesc: "The current candidate has no cognitive policy. Go to AI Workforce → Learning Plan, generate a goal-to-agent blueprint and materialize it into a candidate, or initialize via the backend API before editing.",
7535
+ openBlueprintCta: "Generate blueprint",
7536
+ openBlueprintHint: "Opens the Learning Plan page — click '+ Generate goal-to-agent blueprint' at the bottom of the first column",
7529
7537
  contractIdLabel: "Contract ID",
7530
7538
  contractRevisionLabel: "Contract revision",
7531
7539
  missionLabel: "Mission",
@@ -11792,8 +11800,24 @@ const messages = {
11792
11800
  provingGroundNotice: "__EN_TODO__: 这些测试来自学习证据和改进建议,只作为发布门禁候选展示;保存为正式用例、审批和发布写入属于后续 Release Gate 阶段。",
11793
11801
  emptyCasesDesc: "__EN_TODO__: 给这名数字员工出一套「考卷」:一句话术 + 期望表现。运行后它会在沙箱里真跑一遍,按通过/未通过给你结论。",
11794
11802
  pickAgentDesc: "__EN_TODO__: 在右上角选择一名数字员工,为它建立测试用例集,一键在沙箱里跑真 agent 打分、与基线对比检测回归。",
11795
- releaseGate: "__EN_TODO__: 发布门禁",
11796
- provingGroundTitle: "__EN_TODO__: 验证场 / 发布门禁",
11803
+ releaseGate: "Release gate",
11804
+ provingGroundTitle: "Proving Ground / Release Gate",
11805
+ runsEmptyDesc: "After you run the suite, pass rate, regression deltas and per-case results show up here.",
11806
+ runSummaryTitle: "Latest run",
11807
+ viewRunResults: "View run results",
11808
+ gateSuccessVector: "Success vectors",
11809
+ gateHardGate: "Hard gate",
11810
+ gateEvidenceComplete: "Evidence complete",
11811
+ gateRunLineage: "Exact run lineage",
11812
+ gateValuePass: "Passed",
11813
+ gateValueBlocked: "Blocked",
11814
+ gateValueComplete: "Complete",
11815
+ gateValueIncomplete: "Incomplete",
11816
+ gateValueInsufficient: "Insufficient evidence",
11817
+ cognitionGateFailedMsg: "Candidate cognition gate failed: active pass cannot cover candidate failure",
11818
+ cognitionGatePassedMsg: "Success vectors and cognition gate verified by the backend runner",
11819
+ cognitionGateMissingMsg: "Current run returned no exact candidate binding; cannot serve as candidate release evidence",
11820
+ cognitionGateDesc: "Candidate release requires success vectors, hard gate, evidence completeness and exact candidate lineage together.",
11797
11821
  },
11798
11822
  promptTemplates: {
11799
11823
  pageTitle: "Prompt Templates",