pilotswarm-sdk 0.5.50 → 0.5.52

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 (91) hide show
  1. package/dist/check-agents-report.d.ts +36 -0
  2. package/dist/check-agents-report.d.ts.map +1 -0
  3. package/dist/check-agents-report.js +67 -0
  4. package/dist/check-agents-report.js.map +1 -0
  5. package/dist/child-notifications.d.ts +11 -0
  6. package/dist/child-notifications.d.ts.map +1 -1
  7. package/dist/child-notifications.js +15 -0
  8. package/dist/child-notifications.js.map +1 -1
  9. package/dist/managed-session.d.ts.map +1 -1
  10. package/dist/managed-session.js +31 -6
  11. package/dist/managed-session.js.map +1 -1
  12. package/dist/orchestration/index.d.ts +2 -2
  13. package/dist/orchestration/index.js +1 -1
  14. package/dist/orchestration/lifecycle.d.ts +2 -0
  15. package/dist/orchestration/lifecycle.d.ts.map +1 -1
  16. package/dist/orchestration/lifecycle.js +27 -1
  17. package/dist/orchestration/lifecycle.js.map +1 -1
  18. package/dist/orchestration/queue.d.ts.map +1 -1
  19. package/dist/orchestration/queue.js +26 -7
  20. package/dist/orchestration/queue.js.map +1 -1
  21. package/dist/orchestration/runtime.d.ts +1 -1
  22. package/dist/orchestration/state.d.ts +16 -0
  23. package/dist/orchestration/state.d.ts.map +1 -1
  24. package/dist/orchestration/state.js +19 -0
  25. package/dist/orchestration/state.js.map +1 -1
  26. package/dist/orchestration/turn.d.ts.map +1 -1
  27. package/dist/orchestration/turn.js +45 -11
  28. package/dist/orchestration/turn.js.map +1 -1
  29. package/dist/orchestration/utils.d.ts.map +1 -1
  30. package/dist/orchestration/utils.js +7 -1
  31. package/dist/orchestration/utils.js.map +1 -1
  32. package/dist/orchestration-registry.d.ts.map +1 -1
  33. package/dist/orchestration-registry.js +4 -2
  34. package/dist/orchestration-registry.js.map +1 -1
  35. package/dist/orchestration-version.d.ts +1 -1
  36. package/dist/orchestration-version.js +1 -1
  37. package/dist/orchestration.d.ts +2 -2
  38. package/dist/orchestration.js +1 -1
  39. package/dist/orchestration_1_0_46.d.ts +1 -1
  40. package/dist/orchestration_1_0_47.d.ts +1 -1
  41. package/dist/orchestration_1_0_48.d.ts +1 -1
  42. package/dist/orchestration_1_0_49.d.ts +1 -1
  43. package/dist/orchestration_1_0_50.d.ts +1 -1
  44. package/dist/orchestration_1_0_70/agents.d.ts +61 -0
  45. package/dist/orchestration_1_0_70/agents.d.ts.map +1 -0
  46. package/dist/orchestration_1_0_70/agents.js +840 -0
  47. package/dist/orchestration_1_0_70/agents.js.map +1 -0
  48. package/dist/orchestration_1_0_70/index.d.ts +35 -0
  49. package/dist/orchestration_1_0_70/index.d.ts.map +1 -0
  50. package/dist/orchestration_1_0_70/index.js +13 -0
  51. package/dist/orchestration_1_0_70/index.js.map +1 -0
  52. package/dist/orchestration_1_0_70/lifecycle.d.ts +49 -0
  53. package/dist/orchestration_1_0_70/lifecycle.d.ts.map +1 -0
  54. package/dist/orchestration_1_0_70/lifecycle.js +947 -0
  55. package/dist/orchestration_1_0_70/lifecycle.js.map +1 -0
  56. package/dist/orchestration_1_0_70/queue.d.ts +20 -0
  57. package/dist/orchestration_1_0_70/queue.d.ts.map +1 -0
  58. package/dist/orchestration_1_0_70/queue.js +856 -0
  59. package/dist/orchestration_1_0_70/queue.js.map +1 -0
  60. package/dist/orchestration_1_0_70/runtime.d.ts +29 -0
  61. package/dist/orchestration_1_0_70/runtime.d.ts.map +1 -0
  62. package/dist/orchestration_1_0_70/runtime.js +226 -0
  63. package/dist/orchestration_1_0_70/runtime.js.map +1 -0
  64. package/dist/orchestration_1_0_70/state.d.ts +196 -0
  65. package/dist/orchestration_1_0_70/state.d.ts.map +1 -0
  66. package/dist/orchestration_1_0_70/state.js +159 -0
  67. package/dist/orchestration_1_0_70/state.js.map +1 -0
  68. package/dist/orchestration_1_0_70/turn.d.ts +34 -0
  69. package/dist/orchestration_1_0_70/turn.d.ts.map +1 -0
  70. package/dist/orchestration_1_0_70/turn.js +1358 -0
  71. package/dist/orchestration_1_0_70/turn.js.map +1 -0
  72. package/dist/orchestration_1_0_70/utils.d.ts +39 -0
  73. package/dist/orchestration_1_0_70/utils.d.ts.map +1 -0
  74. package/dist/orchestration_1_0_70/utils.js +316 -0
  75. package/dist/orchestration_1_0_70/utils.js.map +1 -0
  76. package/dist/prompt-system-context.d.ts +41 -0
  77. package/dist/prompt-system-context.d.ts.map +1 -0
  78. package/dist/prompt-system-context.js +56 -0
  79. package/dist/prompt-system-context.js.map +1 -0
  80. package/dist/session-manager.d.ts +21 -0
  81. package/dist/session-manager.d.ts.map +1 -1
  82. package/dist/session-manager.js +61 -6
  83. package/dist/session-manager.js.map +1 -1
  84. package/dist/session-proxy.d.ts.map +1 -1
  85. package/dist/session-proxy.js +40 -16
  86. package/dist/session-proxy.js.map +1 -1
  87. package/dist/types.d.ts +14 -1
  88. package/dist/types.d.ts.map +1 -1
  89. package/dist/types.js.map +1 -1
  90. package/package.json +3 -3
  91. package/plugins/system/agents/default.agent.md +3 -3
@@ -0,0 +1,36 @@
1
+ export declare const CHECK_AGENTS_OUTPUT_CAP = 1000;
2
+ export declare const CHECK_AGENTS_MEMO_EVENT = "session.check_agents_memo";
3
+ export interface CheckAgentsChild {
4
+ orchId: string;
5
+ title?: string | null;
6
+ status?: string | null;
7
+ contractStatus?: string | null;
8
+ verdict?: string | null;
9
+ iterations?: number | null;
10
+ contractViolations?: unknown[] | null;
11
+ result?: string | null;
12
+ error?: string | null;
13
+ }
14
+ export interface CheckAgentsMemo {
15
+ at?: string;
16
+ perChild?: Record<string, {
17
+ status: string;
18
+ hash: string;
19
+ }>;
20
+ }
21
+ export interface CheckAgentsReport {
22
+ text: string;
23
+ changed: number;
24
+ perChild: Record<string, {
25
+ status: string;
26
+ hash: string;
27
+ }>;
28
+ }
29
+ export declare function fingerprintChild(agent: CheckAgentsChild): {
30
+ status: string;
31
+ hash: string;
32
+ };
33
+ export declare function buildCheckAgentsReport(children: CheckAgentsChild[], memo: CheckAgentsMemo | null | undefined, opts?: {
34
+ full?: boolean;
35
+ }): CheckAgentsReport;
36
+ //# sourceMappingURL=check-agents-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-agents-report.d.ts","sourceRoot":"","sources":["../src/check-agents-report.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,eAAO,MAAM,uBAAuB,8BAA8B,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAqBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAK1F;AAED,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACxC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,iBAAiB,CAiBnB"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The `check_agents` report, as a DELTA.
3
+ *
4
+ * On waldemort chk (2026-08-30) the tool was called 124 times at 5–13K chars
5
+ * each, and 84% of the lines were identical to the previous call. Every copy
6
+ * stays in the parent's transcript and is re-read by every later model call.
7
+ *
8
+ * Children that changed since the parent's last call get the full block
9
+ * (Output capped); the rest are one roster line each. "Changed" is decided
10
+ * against a memo of what the parent last saw — status + a hash of the
11
+ * result text per child — which the caller persists (session-proxy stores it
12
+ * as a `session.check_agents_memo` CMS event). No memo means everything is
13
+ * new and everything is printed in full, so a lost memo only costs one
14
+ * extra full report.
15
+ *
16
+ * Pure: no I/O, so it is unit-testable without the inline client.
17
+ *
18
+ * @internal
19
+ */
20
+ import { createHash } from "node:crypto";
21
+ export const CHECK_AGENTS_OUTPUT_CAP = 1000;
22
+ export const CHECK_AGENTS_MEMO_EVENT = "session.check_agents_memo";
23
+ function capOutput(text) {
24
+ if (text.length <= CHECK_AGENTS_OUTPUT_CAP)
25
+ return text;
26
+ return `${text.slice(0, CHECK_AGENTS_OUTPUT_CAP)}… [${text.length - CHECK_AGENTS_OUTPUT_CAP} more chars; read_agent_events for the full result]`;
27
+ }
28
+ function fullBlock(agent) {
29
+ const violations = Array.isArray(agent.contractViolations) && agent.contractViolations.length > 0
30
+ ? ` Violations: ${agent.contractViolations.map((v) => v?.code || v?.message || "violation").join(", ")}\n`
31
+ : "";
32
+ return ` - Agent ${agent.orchId}\n` +
33
+ ` Title: ${agent.title ?? "(untitled)"}\n` +
34
+ ` Status: ${agent.status}\n` +
35
+ ` Contract: ${agent.contractStatus ?? "none"}\n` +
36
+ ` Verdict: ${agent.verdict ?? "none"}\n` +
37
+ ` Iterations: ${agent.iterations ?? 0}\n` +
38
+ violations +
39
+ ` Output: ${capOutput(String(agent.result ?? agent.error ?? "(no output yet)"))}`;
40
+ }
41
+ export function fingerprintChild(agent) {
42
+ return {
43
+ status: String(agent.status ?? ""),
44
+ hash: createHash("sha1").update(String(agent.result ?? agent.error ?? "")).digest("hex").slice(0, 12),
45
+ };
46
+ }
47
+ export function buildCheckAgentsReport(children, memo, opts = {}) {
48
+ const perChild = {};
49
+ let changed = 0;
50
+ const since = memo?.at ?? "your last check";
51
+ const lines = children.map((agent) => {
52
+ const fp = fingerprintChild(agent);
53
+ perChild[agent.orchId] = fp;
54
+ const seen = memo?.perChild?.[agent.orchId];
55
+ const isChanged = !memo || !seen || seen.status !== fp.status || seen.hash !== fp.hash;
56
+ if (isChanged)
57
+ changed += 1;
58
+ if (opts.full || isChanged)
59
+ return fullBlock(agent);
60
+ return ` - Agent ${agent.orchId} · ${agent.status} · unchanged since ${since}`;
61
+ });
62
+ const header = opts.full || !memo
63
+ ? `Sub-agent status report (${children.length} agents)`
64
+ : `Sub-agent status report (${children.length} agents, ${changed} changed since ${since}; pass full=true for all)`;
65
+ return { text: `[SYSTEM: ${header}:\n${lines.join("\n")}]`, changed, perChild };
66
+ }
67
+ //# sourceMappingURL=check-agents-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-agents-report.js","sourceRoot":"","sources":["../src/check-agents-report.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,17 @@ export interface ChildUpdateSnapshot {
41
41
  * cron-origin turns.
42
42
  */
43
43
  cyclic?: boolean;
44
+ /**
45
+ * Orchestration ≥1.0.71 sets this on a child's `wait` notification. A
46
+ * plain wait ("I am sleeping 60s, will check again") is then a heartbeat:
47
+ * it does not wake the parent unless the child said `material: true` on
48
+ * the wait tool, or the wait carries a verdict hint, or it is the
49
+ * QUESTION-FOR-PARENT coercion. Measured on waldemort chk (2026-08-30):
50
+ * 20 of the 41 updates that woke a 690K-token manager for nothing were
51
+ * bare waits. Absent on ≤1.0.70 executions, which keep the old rule so
52
+ * their replay is unchanged.
53
+ */
54
+ waitIsHeartbeat?: boolean;
44
55
  }
45
56
  /** Default policy when a contract is missing or unset. */
46
57
  export declare const DEFAULT_CHILD_WAKE_POLICY: ChildWakePolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"child-notifications.d.ts","sourceRoot":"","sources":["../src/child-notifications.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAuB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEhG,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEvE,MAAM,MAAM,yBAAyB,GAC/B,WAAW,GACX,UAAU,GACV,YAAY,GACZ,OAAO,GACP,SAAS,CAAC;AAEhB,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAChC,kEAAkE;IAClE,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAChE,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB,EAAE,eAAmC,CAAC;AAI5E,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAS/D;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAGhI;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAiCjE;AAWD,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,CA4C1F;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,yBAAyB,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAoBjG;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAG,kBAAkB,CAW1G"}
1
+ {"version":3,"file":"child-notifications.d.ts","sourceRoot":"","sources":["../src/child-notifications.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAuB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEhG,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAEvE,MAAM,MAAM,yBAAyB,GAC/B,WAAW,GACX,UAAU,GACV,YAAY,GACZ,OAAO,GACP,SAAS,CAAC;AAEhB,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAChC,kEAAkE;IAClE,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAChE,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB,EAAE,eAAmC,CAAC;AAI5E,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAS/D;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAGhI;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAiCjE;AAWD,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,CA0D1F;AAED,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,yBAAyB,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAoBjG;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,uBAAuB,CAAC,GAAG,kBAAkB,CAW1G"}
@@ -102,6 +102,21 @@ export function classifyChildUpdate(update) {
102
102
  // Treat cancelled as completion for routing purposes (parent should know).
103
103
  if (update.kind === "cancelled")
104
104
  return "completion";
105
+ // ≥1.0.71: a bare wait is a heartbeat. The child keeps three ways to
106
+ // interrupt from a wait: `wait({material: true})`, a verdict hint on the
107
+ // result, or the QUESTION FOR PARENT coercion (a wait whose content IS
108
+ // the question — it must reach the parent or the child hangs forever).
109
+ if (update.kind === "wait" && update.waitIsHeartbeat === true) {
110
+ if (update.material === true)
111
+ return "material";
112
+ if (/^\s*QUESTION FOR PARENT:/i.test(update.summary ?? ""))
113
+ return "material";
114
+ const verdictHint = update.result?.verdict;
115
+ if (typeof verdictHint === "string" && verdictHint && !["heartbeat", "unchanged", "no_change"].includes(verdictHint.toLowerCase())) {
116
+ return "material";
117
+ }
118
+ return "heartbeat";
119
+ }
105
120
  // Completed turn with a recognized terminal verdict.
106
121
  if (update.kind === "completed") {
107
122
  const verdict = update.result?.verdict;
@@ -1 +1 @@
1
- {"version":3,"file":"child-notifications.js","sourceRoot":"","sources":["../src/child-notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"child-notifications.js","sourceRoot":"","sources":["../src/child-notifications.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"managed-session.d.ts","sourceRoot":"","sources":["../src/managed-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQjF,OAAO,KAAK,EAA2B,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAiB,MAAM,YAAY,CAAC;AAwExH;;;;;;;;GAQG;AACH;;;;;;;;;GASG;AAKH,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAsR3E,8DAA8D;AAC9D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAqKD,eAAO,MAAM,uBAAuB,QAAc,CAAC;AACnD,eAAO,MAAM,kCAAkC,QAAa,CAAC;AAK7D,eAAO,MAAM,4BAA4B,qDAAqD,CAAC;AA6D/F;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAuB;IACrC,6EAA6E;IAC7E,OAAO,CAAC,YAAY,CAAoE;IAExF,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAGzF,+EAA+E;IAC/E,OAAO,CAAC,UAAU,CAAyD;IAC3E,0EAA0E;IAC1E,OAAO,CAAC,WAAW,CAAwD;IAC3E,iFAAiF;IACjF,OAAO,CAAC,kBAAkB,CAA6B;gBAGnD,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,oBAAoB;IAOhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;IA0R5E;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;IAoJtC;;;OAGG;IACH,MAAM,CAAC,wBAAwB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;IA4D9C;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAwBtE,wEAAwE;IACxE,aAAa,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIhE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMzD;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;YAO1B,aAAa;IA2zD3B;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIvC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAWzD,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO;IA0BnE,yEAAyE;IACzE,iBAAiB,IAAI,cAAc;CAGtC"}
1
+ {"version":3,"file":"managed-session.d.ts","sourceRoot":"","sources":["../src/managed-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQjF,OAAO,KAAK,EAA2B,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAiB,MAAM,YAAY,CAAC;AAwExH;;;;;;;;GAQG;AACH;;;;;;;;;GASG;AAKH,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAsR3E,8DAA8D;AAC9D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAqKD,eAAO,MAAM,uBAAuB,QAAc,CAAC;AACnD,eAAO,MAAM,kCAAkC,QAAa,CAAC;AAK7D,eAAO,MAAM,4BAA4B,qDAAqD,CAAC;AA6D/F;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAuB;IACrC,6EAA6E;IAC7E,OAAO,CAAC,YAAY,CAAoE;IAExF,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAGzF,+EAA+E;IAC/E,OAAO,CAAC,UAAU,CAAyD;IAC3E,0EAA0E;IAC1E,OAAO,CAAC,WAAW,CAAwD;IAC3E,iFAAiF;IACjF,OAAO,CAAC,kBAAkB,CAA6B;gBAGnD,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,oBAAoB;IAOhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;IAkS5E;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;IAyJtC;;;OAGG;IACH,MAAM,CAAC,wBAAwB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;IA4D9C;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAwBtE,wEAAwE;IACxE,aAAa,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIhE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMzD;;;;;;OAMG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;YAO1B,aAAa;IAy0D3B;;;OAGG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIvC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IAWzD,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO;IA0BnE,yEAAyE;IACzE,iBAAiB,IAAI,cAAc;CAGtC"}
@@ -631,6 +631,13 @@ export class ManagedSession {
631
631
  "(for example a local process, file, or socket) and you want PilotSwarm to " +
632
632
  "preserve the current worker affinity across a durable wait.",
633
633
  },
634
+ material: {
635
+ type: "boolean",
636
+ description: "Only when you have a PARENT session: set true if this wait carries a finding the parent " +
637
+ "must see now (a blocker, an escalation, a result it is waiting on). A plain wait is a " +
638
+ "heartbeat and does not wake the parent; it hears from you at your next completion or its " +
639
+ "own next schedule.",
640
+ },
634
641
  },
635
642
  required: ["seconds"],
636
643
  },
@@ -946,12 +953,17 @@ export class ManagedSession {
946
953
  });
947
954
  const checkAgentsTool = defineTool("check_agents", {
948
955
  description: "Check the current status and latest output of your RUNNING sub-agents (spawned with spawn_agent). " +
949
- "Returns each sub-agent's ID, task, status (running/completed/failed), and result. " +
956
+ "Returns each sub-agent's ID, task, status (running/completed/failed), and result — in full for children that changed since your last call, one roster line for the rest (pass full=true for everything; Output is capped at 1,000 chars, use read_agent_events for a complete result). " +
950
957
  "This is an on-demand snapshot, not a scheduling primitive; do not schedule wait or cron solely to call check_agents. " +
951
958
  "This is NOT the same as ps_list_agents — ps_list_agents shows available agent blueprints, check_agents shows your live sub-agent instances.",
952
959
  parameters: {
953
960
  type: "object",
954
- properties: {},
961
+ properties: {
962
+ full: {
963
+ type: "boolean",
964
+ description: "Return every child in full. Default (false): children unchanged since your last check_agents call are one roster line each.",
965
+ },
966
+ },
955
967
  },
956
968
  handler: async () => "stub",
957
969
  });
@@ -1164,6 +1176,13 @@ export class ManagedSession {
1164
1176
  "(for example a local process, file, or socket) and you want PilotSwarm to " +
1165
1177
  "preserve the current worker affinity across a durable wait.",
1166
1178
  },
1179
+ material: {
1180
+ type: "boolean",
1181
+ description: "Only when you have a PARENT session: set true if this wait carries a finding the parent " +
1182
+ "must see now (a blocker, an escalation, a result it is waiting on). A plain wait is a " +
1183
+ "heartbeat and does not wake the parent; it hears from you at your next completion or its " +
1184
+ "own next schedule.",
1185
+ },
1167
1186
  },
1168
1187
  required: ["seconds"],
1169
1188
  },
@@ -1193,6 +1212,7 @@ export class ManagedSession {
1193
1212
  seconds: args.seconds,
1194
1213
  reason,
1195
1214
  preserveWorkerAffinity: args.preserveWorkerAffinity ?? false,
1215
+ ...(args.material === true ? { material: true } : {}),
1196
1216
  });
1197
1217
  return acknowledgeTurnBoundary("wait");
1198
1218
  },
@@ -2046,18 +2066,23 @@ export class ManagedSession {
2046
2066
  });
2047
2067
  const checkAgentsTool = defineTool("check_agents", {
2048
2068
  description: "Check the current status and latest output of your RUNNING sub-agents (spawned with spawn_agent). " +
2049
- "Returns each sub-agent's ID, task, status (running/completed/failed), and result. " +
2069
+ "Returns each sub-agent's ID, task, status (running/completed/failed), and result — in full for children that changed since your last call, one roster line for the rest (pass full=true for everything; Output is capped at 1,000 chars, use read_agent_events for a complete result). " +
2050
2070
  "This is an on-demand snapshot, not a scheduling primitive; do not schedule wait or cron solely to call check_agents. " +
2051
2071
  "This is NOT the same as ps_list_agents — ps_list_agents shows available agent blueprints, check_agents shows your live sub-agent instances.",
2052
2072
  parameters: {
2053
2073
  type: "object",
2054
- properties: {},
2074
+ properties: {
2075
+ full: {
2076
+ type: "boolean",
2077
+ description: "Return every child in full. Default (false): children unchanged since your last check_agents call are one roster line each.",
2078
+ },
2079
+ },
2055
2080
  },
2056
- handler: async () => {
2081
+ handler: async (args) => {
2057
2082
  if (hasTerminalTurnBoundary(turnState))
2058
2083
  return blockedAfterTurnBoundary("check_agents");
2059
2084
  if (controlBridge) {
2060
- return await controlBridge.checkAgents();
2085
+ return await controlBridge.checkAgents({ full: args?.full === true });
2061
2086
  }
2062
2087
  turnState.pendingActions.push({ type: "check_agents" });
2063
2088
  return acknowledgeTurnBoundary("check_agents");