pi-fabric 0.1.0
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/LICENSE +21 -0
- package/README.md +635 -0
- package/THIRD_PARTY_NOTICES.md +9 -0
- package/dist/activity/store.d.ts +27 -0
- package/dist/activity/store.d.ts.map +1 -0
- package/dist/activity/store.js +474 -0
- package/dist/activity/store.js.map +1 -0
- package/dist/activity/types.d.ts +101 -0
- package/dist/activity/types.d.ts.map +1 -0
- package/dist/activity/types.js +2 -0
- package/dist/activity/types.js.map +1 -0
- package/dist/actors/context.d.ts +13 -0
- package/dist/actors/context.d.ts.map +1 -0
- package/dist/actors/context.js +155 -0
- package/dist/actors/context.js.map +1 -0
- package/dist/actors/manager.d.ts +33 -0
- package/dist/actors/manager.d.ts.map +1 -0
- package/dist/actors/manager.js +751 -0
- package/dist/actors/manager.js.map +1 -0
- package/dist/actors/types.d.ts +67 -0
- package/dist/actors/types.d.ts.map +1 -0
- package/dist/actors/types.js +2 -0
- package/dist/actors/types.js.map +1 -0
- package/dist/capture/catalog.d.ts +23 -0
- package/dist/capture/catalog.d.ts.map +1 -0
- package/dist/capture/catalog.js +53 -0
- package/dist/capture/catalog.js.map +1 -0
- package/dist/capture/interceptor.d.ts +13 -0
- package/dist/capture/interceptor.d.ts.map +1 -0
- package/dist/capture/interceptor.js +130 -0
- package/dist/capture/interceptor.js.map +1 -0
- package/dist/commands/fabric.d.ts +14 -0
- package/dist/commands/fabric.d.ts.map +1 -0
- package/dist/commands/fabric.js +237 -0
- package/dist/commands/fabric.js.map +1 -0
- package/dist/config.d.ts +89 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +255 -0
- package/dist/config.js.map +1 -0
- package/dist/core/action-registry.d.ts +71 -0
- package/dist/core/action-registry.d.ts.map +1 -0
- package/dist/core/action-registry.js +273 -0
- package/dist/core/action-registry.js.map +1 -0
- package/dist/core/approval-controller.d.ts +11 -0
- package/dist/core/approval-controller.d.ts.map +1 -0
- package/dist/core/approval-controller.js +45 -0
- package/dist/core/approval-controller.js.map +1 -0
- package/dist/core/pi-tools.d.ts +4 -0
- package/dist/core/pi-tools.d.ts.map +1 -0
- package/dist/core/pi-tools.js +11 -0
- package/dist/core/pi-tools.js.map +1 -0
- package/dist/core/tool-ownership.d.ts +12 -0
- package/dist/core/tool-ownership.d.ts.map +1 -0
- package/dist/core/tool-ownership.js +41 -0
- package/dist/core/tool-ownership.js.map +1 -0
- package/dist/execution-service.d.ts +41 -0
- package/dist/execution-service.d.ts.map +1 -0
- package/dist/execution-service.js +210 -0
- package/dist/execution-service.js.map +1 -0
- package/dist/fabric-state.d.ts +38 -0
- package/dist/fabric-state.d.ts.map +1 -0
- package/dist/fabric-state.js +275 -0
- package/dist/fabric-state.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +491 -0
- package/dist/index.js.map +1 -0
- package/dist/mesh/store.d.ts +68 -0
- package/dist/mesh/store.d.ts.map +1 -0
- package/dist/mesh/store.js +387 -0
- package/dist/mesh/store.js.map +1 -0
- package/dist/protocol.d.ts +62 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +3 -0
- package/dist/protocol.js.map +1 -0
- package/dist/providers/agents-provider.d.ts +15 -0
- package/dist/providers/agents-provider.d.ts.map +1 -0
- package/dist/providers/agents-provider.js +393 -0
- package/dist/providers/agents-provider.js.map +1 -0
- package/dist/providers/captured-tools-provider.d.ts +23 -0
- package/dist/providers/captured-tools-provider.d.ts.map +1 -0
- package/dist/providers/captured-tools-provider.js +170 -0
- package/dist/providers/captured-tools-provider.js.map +1 -0
- package/dist/providers/mcp-provider.d.ts +15 -0
- package/dist/providers/mcp-provider.d.ts.map +1 -0
- package/dist/providers/mcp-provider.js +289 -0
- package/dist/providers/mcp-provider.js.map +1 -0
- package/dist/providers/mesh-provider.d.ts +13 -0
- package/dist/providers/mesh-provider.d.ts.map +1 -0
- package/dist/providers/mesh-provider.js +175 -0
- package/dist/providers/mesh-provider.js.map +1 -0
- package/dist/providers/pi-tools-provider.d.ts +14 -0
- package/dist/providers/pi-tools-provider.d.ts.map +1 -0
- package/dist/providers/pi-tools-provider.js +200 -0
- package/dist/providers/pi-tools-provider.js.map +1 -0
- package/dist/runtime/guest-types.d.ts +3 -0
- package/dist/runtime/guest-types.d.ts.map +1 -0
- package/dist/runtime/guest-types.js +313 -0
- package/dist/runtime/guest-types.js.map +1 -0
- package/dist/runtime/quickjs-runtime.d.ts +18 -0
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -0
- package/dist/runtime/quickjs-runtime.js +538 -0
- package/dist/runtime/quickjs-runtime.js.map +1 -0
- package/dist/runtime/type-checker.d.ts +10 -0
- package/dist/runtime/type-checker.d.ts.map +1 -0
- package/dist/runtime/type-checker.js +71 -0
- package/dist/runtime/type-checker.js.map +1 -0
- package/dist/subagents/budget-ledger.d.ts +61 -0
- package/dist/subagents/budget-ledger.d.ts.map +1 -0
- package/dist/subagents/budget-ledger.js +92 -0
- package/dist/subagents/budget-ledger.js.map +1 -0
- package/dist/subagents/manager.d.ts +27 -0
- package/dist/subagents/manager.d.ts.map +1 -0
- package/dist/subagents/manager.js +497 -0
- package/dist/subagents/manager.js.map +1 -0
- package/dist/subagents/semaphore.d.ts +7 -0
- package/dist/subagents/semaphore.d.ts.map +1 -0
- package/dist/subagents/semaphore.js +54 -0
- package/dist/subagents/semaphore.js.map +1 -0
- package/dist/subagents/transports/localterm-transport.d.ts +7 -0
- package/dist/subagents/transports/localterm-transport.d.ts.map +1 -0
- package/dist/subagents/transports/localterm-transport.js +54 -0
- package/dist/subagents/transports/localterm-transport.js.map +1 -0
- package/dist/subagents/transports/process-transport.d.ts +7 -0
- package/dist/subagents/transports/process-transport.d.ts.map +1 -0
- package/dist/subagents/transports/process-transport.js +17 -0
- package/dist/subagents/transports/process-transport.js.map +1 -0
- package/dist/subagents/transports/process-utils.d.ts +16 -0
- package/dist/subagents/transports/process-utils.d.ts.map +1 -0
- package/dist/subagents/transports/process-utils.js +57 -0
- package/dist/subagents/transports/process-utils.js.map +1 -0
- package/dist/subagents/transports/screen-transport.d.ts +7 -0
- package/dist/subagents/transports/screen-transport.d.ts.map +1 -0
- package/dist/subagents/transports/screen-transport.js +33 -0
- package/dist/subagents/transports/screen-transport.js.map +1 -0
- package/dist/subagents/transports/tmux-transport.d.ts +7 -0
- package/dist/subagents/transports/tmux-transport.d.ts.map +1 -0
- package/dist/subagents/transports/tmux-transport.js +41 -0
- package/dist/subagents/transports/tmux-transport.js.map +1 -0
- package/dist/subagents/types.d.ts +132 -0
- package/dist/subagents/types.d.ts.map +1 -0
- package/dist/subagents/types.js +2 -0
- package/dist/subagents/types.js.map +1 -0
- package/dist/subagents/worktree-manager.d.ts +12 -0
- package/dist/subagents/worktree-manager.d.ts.map +1 -0
- package/dist/subagents/worktree-manager.js +53 -0
- package/dist/subagents/worktree-manager.js.map +1 -0
- package/dist/ui/controller.d.ts +14 -0
- package/dist/ui/controller.d.ts.map +1 -0
- package/dist/ui/controller.js +153 -0
- package/dist/ui/controller.js.map +1 -0
- package/dist/ui/dashboard.d.ts +36 -0
- package/dist/ui/dashboard.d.ts.map +1 -0
- package/dist/ui/dashboard.js +620 -0
- package/dist/ui/dashboard.js.map +1 -0
- package/dist/ui/fabric-render.d.ts +28 -0
- package/dist/ui/fabric-render.d.ts.map +1 -0
- package/dist/ui/fabric-render.js +280 -0
- package/dist/ui/fabric-render.js.map +1 -0
- package/dist/ui/format.d.ts +7 -0
- package/dist/ui/format.d.ts.map +1 -0
- package/dist/ui/format.js +57 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/highlight.d.ts +13 -0
- package/dist/ui/highlight.d.ts.map +1 -0
- package/dist/ui/highlight.js +337 -0
- package/dist/ui/highlight.js.map +1 -0
- package/dist/ui/settings.d.ts +21 -0
- package/dist/ui/settings.d.ts.map +1 -0
- package/dist/ui/settings.js +480 -0
- package/dist/ui/settings.js.map +1 -0
- package/dist/ui/snapshot.d.ts +5 -0
- package/dist/ui/snapshot.d.ts.map +1 -0
- package/dist/ui/snapshot.js +120 -0
- package/dist/ui/snapshot.js.map +1 -0
- package/dist/ui/types.d.ts +57 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +11 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/ui/widget.d.ts +16 -0
- package/dist/ui/widget.d.ts.map +1 -0
- package/dist/ui/widget.js +199 -0
- package/dist/ui/widget.js.map +1 -0
- package/dist/util.d.ts +2 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +10 -0
- package/dist/util.js.map +1 -0
- package/dist/worker.d.ts +3 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +478 -0
- package/dist/worker.js.map +1 -0
- package/package.json +87 -0
- package/skills/fabric-advisor/SKILL.md +53 -0
- package/skills/fabric-ambient/SKILL.md +84 -0
- package/skills/fabric-council/SKILL.md +37 -0
- package/skills/fabric-exec/SKILL.md +39 -0
- package/skills/fabric-exec/references/agents.md +78 -0
- package/skills/fabric-exec/references/mcp.md +46 -0
- package/skills/fabric-exec/references/mesh.md +42 -0
- package/skills/fabric-rlm/SKILL.md +84 -0
- package/skills/fabric-supervisor/SKILL.md +63 -0
- package/skills/fabric-swarm/SKILL.md +85 -0
- package/skills/fabric-workflow/SKILL.md +69 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-process cost budget ledger for a Fabric recursion tree.
|
|
3
|
+
*
|
|
4
|
+
* A recursion tree spans one Pi process per node. Each node's SubagentManager
|
|
5
|
+
* records the cost of the children it spawns into a single append-only JSONL
|
|
6
|
+
* file, and checks the accumulated spend before spawning another child. The
|
|
7
|
+
* ledger path and budget travel to descendants through PI_FABRIC_BUDGET*
|
|
8
|
+
* environment variables, which the worker forwards to child Pi processes via
|
|
9
|
+
* `{ ...process.env }`.
|
|
10
|
+
*
|
|
11
|
+
* This mirrors ypi's RLM_BUDGET / RLM_COST_FILE model: the check is best-effort
|
|
12
|
+
* (concurrent children can each pass the check before any cost lands, so a tree
|
|
13
|
+
* may slightly overshoot), while the race-free ceiling remains the per-execution
|
|
14
|
+
* call count (subagents.maxPerExecution). Cost is recorded only after a child
|
|
15
|
+
* finishes, matching ypi's append-after-completion semantics.
|
|
16
|
+
*/
|
|
17
|
+
export interface BudgetLedgerEntry {
|
|
18
|
+
id: string;
|
|
19
|
+
depth: number;
|
|
20
|
+
cost: number;
|
|
21
|
+
tokens: number;
|
|
22
|
+
ts: number;
|
|
23
|
+
}
|
|
24
|
+
export interface BudgetLedgerSummary {
|
|
25
|
+
cost: number;
|
|
26
|
+
tokens: number;
|
|
27
|
+
}
|
|
28
|
+
export interface BudgetLedgerState {
|
|
29
|
+
budget: number;
|
|
30
|
+
file: string;
|
|
31
|
+
id: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Read the active budget state inherited from the recursion-tree root.
|
|
35
|
+
* Returns undefined when no budget is active for this process.
|
|
36
|
+
*/
|
|
37
|
+
export declare function activeBudgetState(): BudgetLedgerState | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Initialize a shared ledger for a recursion tree and seed the environment
|
|
40
|
+
* variables that descendants inherit. Only call at the tree root (depth 0)
|
|
41
|
+
* when no budget has been inherited and a positive budget is configured.
|
|
42
|
+
*/
|
|
43
|
+
export declare function initBudgetLedger(budget: number): BudgetLedgerState;
|
|
44
|
+
/**
|
|
45
|
+
* Clear the budget environment variables seeded by initBudgetLedger. Called by
|
|
46
|
+
* the owning (depth-0) manager on close so a long-lived host process does not
|
|
47
|
+
* leak an active budget into a later, unrelated session.
|
|
48
|
+
*/
|
|
49
|
+
export declare function clearOwnedBudgetEnv(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Sum the append-only ledger. Malformed lines are tolerated, matching ypi's
|
|
52
|
+
* rlm_cost parser: a single bad entry must not abort the whole read.
|
|
53
|
+
*/
|
|
54
|
+
export declare function readBudgetLedger(file: string): BudgetLedgerSummary;
|
|
55
|
+
/**
|
|
56
|
+
* Append a child's incurred cost to the shared ledger. O_APPEND makes small
|
|
57
|
+
* single-line writes atomic across concurrent writers on POSIX, which is
|
|
58
|
+
* sufficient because each manager appends one entry after a child settles.
|
|
59
|
+
*/
|
|
60
|
+
export declare function appendBudgetLedger(file: string, entry: BudgetLedgerEntry): void;
|
|
61
|
+
//# sourceMappingURL=budget-ledger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget-ledger.d.ts","sourceRoot":"","sources":["../../src/subagents/budget-ledger.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAKjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CASlE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAoBlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAO/E"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
const ENV_BUDGET = "PI_FABRIC_BUDGET";
|
|
6
|
+
const ENV_BUDGET_FILE = "PI_FABRIC_BUDGET_FILE";
|
|
7
|
+
const ENV_BUDGET_ID = "PI_FABRIC_BUDGET_ID";
|
|
8
|
+
const parseFloatFinite = (value) => {
|
|
9
|
+
if (!value)
|
|
10
|
+
return undefined;
|
|
11
|
+
const parsed = Number.parseFloat(value);
|
|
12
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Read the active budget state inherited from the recursion-tree root.
|
|
16
|
+
* Returns undefined when no budget is active for this process.
|
|
17
|
+
*/
|
|
18
|
+
export function activeBudgetState() {
|
|
19
|
+
const file = process.env[ENV_BUDGET_FILE];
|
|
20
|
+
const budget = parseFloatFinite(process.env[ENV_BUDGET]);
|
|
21
|
+
if (!file || budget === undefined || budget <= 0)
|
|
22
|
+
return undefined;
|
|
23
|
+
return { budget, file, id: process.env[ENV_BUDGET_ID] ?? "" };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Initialize a shared ledger for a recursion tree and seed the environment
|
|
27
|
+
* variables that descendants inherit. Only call at the tree root (depth 0)
|
|
28
|
+
* when no budget has been inherited and a positive budget is configured.
|
|
29
|
+
*/
|
|
30
|
+
export function initBudgetLedger(budget) {
|
|
31
|
+
const directory = fs.mkdtempSync(path.join(os.tmpdir(), "pi-fabric-budget-"));
|
|
32
|
+
const file = path.join(directory, "cost.jsonl");
|
|
33
|
+
fs.writeFileSync(file, "", { mode: 0o600 });
|
|
34
|
+
const id = randomUUID().replaceAll("-", "").slice(0, 16);
|
|
35
|
+
process.env[ENV_BUDGET] = String(budget);
|
|
36
|
+
process.env[ENV_BUDGET_FILE] = file;
|
|
37
|
+
process.env[ENV_BUDGET_ID] = id;
|
|
38
|
+
return { budget, file, id };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Clear the budget environment variables seeded by initBudgetLedger. Called by
|
|
42
|
+
* the owning (depth-0) manager on close so a long-lived host process does not
|
|
43
|
+
* leak an active budget into a later, unrelated session.
|
|
44
|
+
*/
|
|
45
|
+
export function clearOwnedBudgetEnv() {
|
|
46
|
+
delete process.env[ENV_BUDGET];
|
|
47
|
+
delete process.env[ENV_BUDGET_FILE];
|
|
48
|
+
delete process.env[ENV_BUDGET_ID];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Sum the append-only ledger. Malformed lines are tolerated, matching ypi's
|
|
52
|
+
* rlm_cost parser: a single bad entry must not abort the whole read.
|
|
53
|
+
*/
|
|
54
|
+
export function readBudgetLedger(file) {
|
|
55
|
+
let cost = 0;
|
|
56
|
+
let tokens = 0;
|
|
57
|
+
let raw;
|
|
58
|
+
try {
|
|
59
|
+
raw = fs.readFileSync(file, "utf8");
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return { cost, tokens };
|
|
63
|
+
}
|
|
64
|
+
for (const line of raw.split(/\r?\n/)) {
|
|
65
|
+
if (!line.trim())
|
|
66
|
+
continue;
|
|
67
|
+
try {
|
|
68
|
+
const parsed = JSON.parse(line);
|
|
69
|
+
cost += Number(parsed.cost) || 0;
|
|
70
|
+
tokens += Number(parsed.tokens) || 0;
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Ignore malformed cost lines; the ledger is best-effort.
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return { cost, tokens };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Append a child's incurred cost to the shared ledger. O_APPEND makes small
|
|
80
|
+
* single-line writes atomic across concurrent writers on POSIX, which is
|
|
81
|
+
* sufficient because each manager appends one entry after a child settles.
|
|
82
|
+
*/
|
|
83
|
+
export function appendBudgetLedger(file, entry) {
|
|
84
|
+
try {
|
|
85
|
+
fs.appendFileSync(file, `${JSON.stringify(entry)}\n`);
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
// A ledger write failure must not break the agent run; the next check
|
|
89
|
+
// still guards against runaway spend via the per-execution call ceiling.
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=budget-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget-ledger.js","sourceRoot":"","sources":["../../src/subagents/budget-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { FabricSubagentConfig } from "../config.js";
|
|
2
|
+
import type { SubagentHandleInfo, SubagentRunRecord, SubagentRunRequest, SubagentRunResult } from "./types.js";
|
|
3
|
+
export declare class SubagentManager {
|
|
4
|
+
#private;
|
|
5
|
+
readonly cwd: string;
|
|
6
|
+
readonly config: FabricSubagentConfig;
|
|
7
|
+
constructor(cwd: string, config: FabricSubagentConfig, options?: {
|
|
8
|
+
workerPath?: string;
|
|
9
|
+
fabricExtensionPath?: string;
|
|
10
|
+
piBinary?: string;
|
|
11
|
+
runRoot?: string;
|
|
12
|
+
fullCodeMode?: boolean;
|
|
13
|
+
onBackgroundComplete?: (result: SubagentRunResult) => void;
|
|
14
|
+
});
|
|
15
|
+
spawn(request: SubagentRunRequest, signal?: AbortSignal): Promise<SubagentHandleInfo>;
|
|
16
|
+
run(request: SubagentRunRequest, signal?: AbortSignal): Promise<SubagentRunResult>;
|
|
17
|
+
wait(id: string): Promise<SubagentRunResult>;
|
|
18
|
+
detachSignal(id: string): void;
|
|
19
|
+
status(id: string): SubagentRunRecord | SubagentHandleInfo;
|
|
20
|
+
list(): Array<SubagentRunRecord | SubagentHandleInfo>;
|
|
21
|
+
stop(id: string): Promise<SubagentRunResult>;
|
|
22
|
+
cleanup(id: string, deleteBranch?: boolean): Promise<{
|
|
23
|
+
cleaned: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/subagents/manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAA2B,MAAM,cAAc,CAAC;AAMlF,OAAO,KAAK,EAEV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AAwHpB,qBAAa,eAAe;;IAiBxB,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,oBAAoB;gBAD5B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,oBAAoB,EACrC,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;KACvD;IA8BF,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoJrF,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKlF,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU9B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,kBAAkB;IAO1D,IAAI,IAAI,KAAK,CAAC,iBAAiB,GAAG,kBAAkB,CAAC;IAI/C,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiB5C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAWxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA+K7B"}
|