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.
- package/dist/check-agents-report.d.ts +36 -0
- package/dist/check-agents-report.d.ts.map +1 -0
- package/dist/check-agents-report.js +67 -0
- package/dist/check-agents-report.js.map +1 -0
- package/dist/child-notifications.d.ts +11 -0
- package/dist/child-notifications.d.ts.map +1 -1
- package/dist/child-notifications.js +15 -0
- package/dist/child-notifications.js.map +1 -1
- package/dist/managed-session.d.ts.map +1 -1
- package/dist/managed-session.js +31 -6
- package/dist/managed-session.js.map +1 -1
- package/dist/orchestration/index.d.ts +2 -2
- package/dist/orchestration/index.js +1 -1
- package/dist/orchestration/lifecycle.d.ts +2 -0
- package/dist/orchestration/lifecycle.d.ts.map +1 -1
- package/dist/orchestration/lifecycle.js +27 -1
- package/dist/orchestration/lifecycle.js.map +1 -1
- package/dist/orchestration/queue.d.ts.map +1 -1
- package/dist/orchestration/queue.js +26 -7
- package/dist/orchestration/queue.js.map +1 -1
- package/dist/orchestration/runtime.d.ts +1 -1
- package/dist/orchestration/state.d.ts +16 -0
- package/dist/orchestration/state.d.ts.map +1 -1
- package/dist/orchestration/state.js +19 -0
- package/dist/orchestration/state.js.map +1 -1
- package/dist/orchestration/turn.d.ts.map +1 -1
- package/dist/orchestration/turn.js +45 -11
- package/dist/orchestration/turn.js.map +1 -1
- package/dist/orchestration/utils.d.ts.map +1 -1
- package/dist/orchestration/utils.js +7 -1
- package/dist/orchestration/utils.js.map +1 -1
- package/dist/orchestration-registry.d.ts.map +1 -1
- package/dist/orchestration-registry.js +4 -2
- package/dist/orchestration-registry.js.map +1 -1
- package/dist/orchestration-version.d.ts +1 -1
- package/dist/orchestration-version.js +1 -1
- package/dist/orchestration.d.ts +2 -2
- package/dist/orchestration.js +1 -1
- package/dist/orchestration_1_0_46.d.ts +1 -1
- package/dist/orchestration_1_0_47.d.ts +1 -1
- package/dist/orchestration_1_0_48.d.ts +1 -1
- package/dist/orchestration_1_0_49.d.ts +1 -1
- package/dist/orchestration_1_0_50.d.ts +1 -1
- package/dist/orchestration_1_0_70/agents.d.ts +61 -0
- package/dist/orchestration_1_0_70/agents.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/agents.js +840 -0
- package/dist/orchestration_1_0_70/agents.js.map +1 -0
- package/dist/orchestration_1_0_70/index.d.ts +35 -0
- package/dist/orchestration_1_0_70/index.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/index.js +13 -0
- package/dist/orchestration_1_0_70/index.js.map +1 -0
- package/dist/orchestration_1_0_70/lifecycle.d.ts +49 -0
- package/dist/orchestration_1_0_70/lifecycle.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/lifecycle.js +947 -0
- package/dist/orchestration_1_0_70/lifecycle.js.map +1 -0
- package/dist/orchestration_1_0_70/queue.d.ts +20 -0
- package/dist/orchestration_1_0_70/queue.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/queue.js +856 -0
- package/dist/orchestration_1_0_70/queue.js.map +1 -0
- package/dist/orchestration_1_0_70/runtime.d.ts +29 -0
- package/dist/orchestration_1_0_70/runtime.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/runtime.js +226 -0
- package/dist/orchestration_1_0_70/runtime.js.map +1 -0
- package/dist/orchestration_1_0_70/state.d.ts +196 -0
- package/dist/orchestration_1_0_70/state.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/state.js +159 -0
- package/dist/orchestration_1_0_70/state.js.map +1 -0
- package/dist/orchestration_1_0_70/turn.d.ts +34 -0
- package/dist/orchestration_1_0_70/turn.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/turn.js +1358 -0
- package/dist/orchestration_1_0_70/turn.js.map +1 -0
- package/dist/orchestration_1_0_70/utils.d.ts +39 -0
- package/dist/orchestration_1_0_70/utils.d.ts.map +1 -0
- package/dist/orchestration_1_0_70/utils.js +316 -0
- package/dist/orchestration_1_0_70/utils.js.map +1 -0
- package/dist/prompt-system-context.d.ts +41 -0
- package/dist/prompt-system-context.d.ts.map +1 -0
- package/dist/prompt-system-context.js +56 -0
- package/dist/prompt-system-context.js.map +1 -0
- package/dist/session-manager.d.ts +21 -0
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +61 -6
- package/dist/session-manager.js.map +1 -1
- package/dist/session-proxy.d.ts.map +1 -1
- package/dist/session-proxy.js +40 -16
- package/dist/session-proxy.js.map +1 -1
- package/dist/types.d.ts +14 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
- 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;
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
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;
|
|
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"}
|
package/dist/managed-session.js
CHANGED
|
@@ -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");
|