@akagilnc/pi-workflow-roles 0.1.5375 → 0.1.5406

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 (79) hide show
  1. package/README.md +2 -0
  2. package/README.zh-CN.md +2 -0
  3. package/dist/acp-host/production-host.js +6381 -5684
  4. package/dist/archivist-record-pointer.js +38 -0
  5. package/dist/collector-tool-schemas.js +18 -0
  6. package/dist/compliance-transport.js +5 -0
  7. package/dist/diarist-contracts.js +26 -0
  8. package/dist/doctor-auditor.js +1 -0
  9. package/dist/engine-detour-usage.js +6 -6
  10. package/dist/filed-submission.js +28 -0
  11. package/dist/gatekeeper-role.js +6 -10
  12. package/dist/gleaner-left-contracts.js +16 -0
  13. package/dist/headless-host/production-host.js +1644 -947
  14. package/dist/judge-role.js +21 -16
  15. package/dist/migrate-book-topology.js +452 -81
  16. package/dist/navigator-attendance.js +10 -9
  17. package/dist/navigator-invocation-identity.js +18 -0
  18. package/dist/package-contracts/reviewer-output.js +16 -0
  19. package/dist/package-contracts/worker-output.js +18 -2
  20. package/dist/pi/role-turn-host.js +9 -0
  21. package/dist/public-cli/cli.js +1 -0
  22. package/dist/public-cli/instruction-seat-run.js +258 -55
  23. package/dist/public-cli/main.js +1209 -346
  24. package/dist/public-cli/post-admission.js +427 -244
  25. package/dist/public-cli/settlement.js +111 -48
  26. package/dist/public-cli/terminal.js +12 -1
  27. package/dist/public-cli/turn-request.js +3 -0
  28. package/dist/receipt-delivery-policy.js +152 -17
  29. package/dist/role-submission-declarations.js +131 -0
  30. package/dist/secretariat-contracts.js +23 -1
  31. package/dist/submission-errors.js +11 -1
  32. package/dist/submission-gate.js +32 -12
  33. package/package.json +1 -1
  34. package/src/archivist-record-pointer.ts +48 -0
  35. package/src/auditor-role.ts +2 -8
  36. package/src/collector-role.ts +5 -28
  37. package/src/compliance-transport.ts +10 -2
  38. package/src/countersign-role.ts +2 -7
  39. package/src/diarist-contracts.ts +37 -0
  40. package/src/diarist-role.ts +4 -44
  41. package/src/doctor-auditor.ts +3 -0
  42. package/src/doctor-role.ts +16 -11
  43. package/src/engine-detour-usage.ts +7 -6
  44. package/src/external-host-turn-loop.ts +24 -12
  45. package/src/filed-submission.ts +44 -0
  46. package/src/gatekeeper-role.ts +8 -16
  47. package/src/gleaner-left-contracts.ts +26 -1
  48. package/src/gleaner-left-role.ts +4 -32
  49. package/src/host-contracts.ts +7 -0
  50. package/src/inspector-role.ts +2 -7
  51. package/src/judge-role.ts +31 -24
  52. package/src/merger-role.ts +5 -8
  53. package/src/navigator-attendance.ts +17 -12
  54. package/src/navigator-invocation-identity.ts +31 -0
  55. package/src/navigator-role.ts +2 -8
  56. package/src/notary-role.ts +5 -20
  57. package/src/package-contracts/reviewer-output.ts +25 -0
  58. package/src/package-contracts/worker-output.ts +43 -5
  59. package/src/pi/adapter.ts +33 -8
  60. package/src/pi/role-turn-host.ts +7 -0
  61. package/src/public-cli/cli.ts +1 -0
  62. package/src/public-cli/instruction-seat-run.ts +292 -61
  63. package/src/public-cli/post-admission.ts +556 -324
  64. package/src/public-cli/settlement.ts +112 -50
  65. package/src/public-cli/terminal.ts +16 -4
  66. package/src/public-cli/turn-request.ts +10 -1
  67. package/src/receipt-delivery-policy.ts +209 -17
  68. package/src/reviewer-role.ts +7 -35
  69. package/src/role-envelope.ts +5 -1
  70. package/src/role-runtime-dependencies.ts +1 -0
  71. package/src/role-runtime.ts +72 -56
  72. package/src/role-submission-declarations.ts +143 -0
  73. package/src/secretariat-contracts.ts +35 -0
  74. package/src/secretariat-role.ts +4 -40
  75. package/src/submission-correctable-error.ts +5 -2
  76. package/src/submission-errors.ts +12 -1
  77. package/src/submission-gate.ts +41 -12
  78. package/src/worker-role.ts +81 -86
  79. package/src/worker-submission-gates.ts +32 -7
@@ -1,5 +1,7 @@
1
1
  import {} from "./host-contracts.js";
2
- import { reviewSubmissionSchema } from "./review-submission.js";
2
+ import { REVIEW_QUEUE_STATUSES, reviewSubmissionSchema } from "./review-submission.js";
3
+ import { registerFiledSubmissionTool } from "./filed-submission.js";
4
+ import { roleSubmissionDeclaration } from "./role-submission-declarations.js";
3
5
  import {} from "./gatekeeper-role.js";
4
6
  import { JUDGE_OUTPUT_TOOL_NAME, } from "./package-contracts/judge-output.js";
5
7
  export { JUDGE_OUTPUT_TOOL_NAME };
@@ -14,10 +16,24 @@ export async function runJudgeGates(input) {
14
16
  if (await input.gateAlreadyConverged(subject))
15
17
  continue;
16
18
  const pass = await input.runGate(subject);
17
- const status = pass?.status;
18
- if (pass === undefined || (status !== "converged" && status !== "continue" && status !== "escalate")) {
19
+ const received = pass?.status;
20
+ if (pass === undefined || (typeof received !== "string" || (!REVIEW_QUEUE_STATUSES.has(received) && received !== "needs_reask"))) {
19
21
  throw new Error("judge gate returned no conclusion");
20
22
  }
23
+ const status = received;
24
+ if (status === "needs_reask") {
25
+ return {
26
+ status,
27
+ passes: [{
28
+ subject,
29
+ status,
30
+ receipt: pass.receipt,
31
+ ...(pass.runId === undefined ? {} : { runId: pass.runId }),
32
+ ...(pass.runDirectory === undefined ? {} : { runDirectory: pass.runDirectory }),
33
+ ...(pass.terminal === undefined ? {} : { terminal: pass.terminal }),
34
+ }],
35
+ };
36
+ }
21
37
  passes.push({
22
38
  subject,
23
39
  status,
@@ -46,19 +62,8 @@ export function createJudgeRoleRuntime(pi, dependencies) {
46
62
  throw new Error("Judge soul is empty");
47
63
  if (!lifecycleRegistered) {
48
64
  lifecycleRegistered = true;
49
- pi.registerTool({
50
- name: JUDGE_OUTPUT_TOOL_NAME,
51
- label: "大理寺输出",
52
- description: "提交大理寺终局判词;交卷调用结束后,由公开调用接缝按判词状态执行适用审核。",
53
- promptSnippet: "提交大理寺终局判词",
54
- parameters: judgeVerdictSchema,
55
- async execute(toolCallId, parameters, signal, _onUpdate, ctx) {
56
- if (soul === undefined)
57
- throw new Error("大理寺职分未装载");
58
- // ADR 0003: record the original receipt and end the tool call first.
59
- // The public seam reads status and chooses the next route.
60
- return { content: [], details: parameters, terminate: true };
61
- },
65
+ registerFiledSubmissionTool(pi, roleSubmissionDeclaration("judge"), {
66
+ readyError: () => (soul === undefined ? "大理寺职分未装载" : undefined),
62
67
  });
63
68
  pi.on("before_agent_start", (event) => {
64
69
  if (soul === undefined)