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.
Files changed (203) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +635 -0
  3. package/THIRD_PARTY_NOTICES.md +9 -0
  4. package/dist/activity/store.d.ts +27 -0
  5. package/dist/activity/store.d.ts.map +1 -0
  6. package/dist/activity/store.js +474 -0
  7. package/dist/activity/store.js.map +1 -0
  8. package/dist/activity/types.d.ts +101 -0
  9. package/dist/activity/types.d.ts.map +1 -0
  10. package/dist/activity/types.js +2 -0
  11. package/dist/activity/types.js.map +1 -0
  12. package/dist/actors/context.d.ts +13 -0
  13. package/dist/actors/context.d.ts.map +1 -0
  14. package/dist/actors/context.js +155 -0
  15. package/dist/actors/context.js.map +1 -0
  16. package/dist/actors/manager.d.ts +33 -0
  17. package/dist/actors/manager.d.ts.map +1 -0
  18. package/dist/actors/manager.js +751 -0
  19. package/dist/actors/manager.js.map +1 -0
  20. package/dist/actors/types.d.ts +67 -0
  21. package/dist/actors/types.d.ts.map +1 -0
  22. package/dist/actors/types.js +2 -0
  23. package/dist/actors/types.js.map +1 -0
  24. package/dist/capture/catalog.d.ts +23 -0
  25. package/dist/capture/catalog.d.ts.map +1 -0
  26. package/dist/capture/catalog.js +53 -0
  27. package/dist/capture/catalog.js.map +1 -0
  28. package/dist/capture/interceptor.d.ts +13 -0
  29. package/dist/capture/interceptor.d.ts.map +1 -0
  30. package/dist/capture/interceptor.js +130 -0
  31. package/dist/capture/interceptor.js.map +1 -0
  32. package/dist/commands/fabric.d.ts +14 -0
  33. package/dist/commands/fabric.d.ts.map +1 -0
  34. package/dist/commands/fabric.js +237 -0
  35. package/dist/commands/fabric.js.map +1 -0
  36. package/dist/config.d.ts +89 -0
  37. package/dist/config.d.ts.map +1 -0
  38. package/dist/config.js +255 -0
  39. package/dist/config.js.map +1 -0
  40. package/dist/core/action-registry.d.ts +71 -0
  41. package/dist/core/action-registry.d.ts.map +1 -0
  42. package/dist/core/action-registry.js +273 -0
  43. package/dist/core/action-registry.js.map +1 -0
  44. package/dist/core/approval-controller.d.ts +11 -0
  45. package/dist/core/approval-controller.d.ts.map +1 -0
  46. package/dist/core/approval-controller.js +45 -0
  47. package/dist/core/approval-controller.js.map +1 -0
  48. package/dist/core/pi-tools.d.ts +4 -0
  49. package/dist/core/pi-tools.d.ts.map +1 -0
  50. package/dist/core/pi-tools.js +11 -0
  51. package/dist/core/pi-tools.js.map +1 -0
  52. package/dist/core/tool-ownership.d.ts +12 -0
  53. package/dist/core/tool-ownership.d.ts.map +1 -0
  54. package/dist/core/tool-ownership.js +41 -0
  55. package/dist/core/tool-ownership.js.map +1 -0
  56. package/dist/execution-service.d.ts +41 -0
  57. package/dist/execution-service.d.ts.map +1 -0
  58. package/dist/execution-service.js +210 -0
  59. package/dist/execution-service.js.map +1 -0
  60. package/dist/fabric-state.d.ts +38 -0
  61. package/dist/fabric-state.d.ts.map +1 -0
  62. package/dist/fabric-state.js +275 -0
  63. package/dist/fabric-state.js.map +1 -0
  64. package/dist/index.d.ts +4 -0
  65. package/dist/index.d.ts.map +1 -0
  66. package/dist/index.js +491 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/mesh/store.d.ts +68 -0
  69. package/dist/mesh/store.d.ts.map +1 -0
  70. package/dist/mesh/store.js +387 -0
  71. package/dist/mesh/store.js.map +1 -0
  72. package/dist/protocol.d.ts +62 -0
  73. package/dist/protocol.d.ts.map +1 -0
  74. package/dist/protocol.js +3 -0
  75. package/dist/protocol.js.map +1 -0
  76. package/dist/providers/agents-provider.d.ts +15 -0
  77. package/dist/providers/agents-provider.d.ts.map +1 -0
  78. package/dist/providers/agents-provider.js +393 -0
  79. package/dist/providers/agents-provider.js.map +1 -0
  80. package/dist/providers/captured-tools-provider.d.ts +23 -0
  81. package/dist/providers/captured-tools-provider.d.ts.map +1 -0
  82. package/dist/providers/captured-tools-provider.js +170 -0
  83. package/dist/providers/captured-tools-provider.js.map +1 -0
  84. package/dist/providers/mcp-provider.d.ts +15 -0
  85. package/dist/providers/mcp-provider.d.ts.map +1 -0
  86. package/dist/providers/mcp-provider.js +289 -0
  87. package/dist/providers/mcp-provider.js.map +1 -0
  88. package/dist/providers/mesh-provider.d.ts +13 -0
  89. package/dist/providers/mesh-provider.d.ts.map +1 -0
  90. package/dist/providers/mesh-provider.js +175 -0
  91. package/dist/providers/mesh-provider.js.map +1 -0
  92. package/dist/providers/pi-tools-provider.d.ts +14 -0
  93. package/dist/providers/pi-tools-provider.d.ts.map +1 -0
  94. package/dist/providers/pi-tools-provider.js +200 -0
  95. package/dist/providers/pi-tools-provider.js.map +1 -0
  96. package/dist/runtime/guest-types.d.ts +3 -0
  97. package/dist/runtime/guest-types.d.ts.map +1 -0
  98. package/dist/runtime/guest-types.js +313 -0
  99. package/dist/runtime/guest-types.js.map +1 -0
  100. package/dist/runtime/quickjs-runtime.d.ts +18 -0
  101. package/dist/runtime/quickjs-runtime.d.ts.map +1 -0
  102. package/dist/runtime/quickjs-runtime.js +538 -0
  103. package/dist/runtime/quickjs-runtime.js.map +1 -0
  104. package/dist/runtime/type-checker.d.ts +10 -0
  105. package/dist/runtime/type-checker.d.ts.map +1 -0
  106. package/dist/runtime/type-checker.js +71 -0
  107. package/dist/runtime/type-checker.js.map +1 -0
  108. package/dist/subagents/budget-ledger.d.ts +61 -0
  109. package/dist/subagents/budget-ledger.d.ts.map +1 -0
  110. package/dist/subagents/budget-ledger.js +92 -0
  111. package/dist/subagents/budget-ledger.js.map +1 -0
  112. package/dist/subagents/manager.d.ts +27 -0
  113. package/dist/subagents/manager.d.ts.map +1 -0
  114. package/dist/subagents/manager.js +497 -0
  115. package/dist/subagents/manager.js.map +1 -0
  116. package/dist/subagents/semaphore.d.ts +7 -0
  117. package/dist/subagents/semaphore.d.ts.map +1 -0
  118. package/dist/subagents/semaphore.js +54 -0
  119. package/dist/subagents/semaphore.js.map +1 -0
  120. package/dist/subagents/transports/localterm-transport.d.ts +7 -0
  121. package/dist/subagents/transports/localterm-transport.d.ts.map +1 -0
  122. package/dist/subagents/transports/localterm-transport.js +54 -0
  123. package/dist/subagents/transports/localterm-transport.js.map +1 -0
  124. package/dist/subagents/transports/process-transport.d.ts +7 -0
  125. package/dist/subagents/transports/process-transport.d.ts.map +1 -0
  126. package/dist/subagents/transports/process-transport.js +17 -0
  127. package/dist/subagents/transports/process-transport.js.map +1 -0
  128. package/dist/subagents/transports/process-utils.d.ts +16 -0
  129. package/dist/subagents/transports/process-utils.d.ts.map +1 -0
  130. package/dist/subagents/transports/process-utils.js +57 -0
  131. package/dist/subagents/transports/process-utils.js.map +1 -0
  132. package/dist/subagents/transports/screen-transport.d.ts +7 -0
  133. package/dist/subagents/transports/screen-transport.d.ts.map +1 -0
  134. package/dist/subagents/transports/screen-transport.js +33 -0
  135. package/dist/subagents/transports/screen-transport.js.map +1 -0
  136. package/dist/subagents/transports/tmux-transport.d.ts +7 -0
  137. package/dist/subagents/transports/tmux-transport.d.ts.map +1 -0
  138. package/dist/subagents/transports/tmux-transport.js +41 -0
  139. package/dist/subagents/transports/tmux-transport.js.map +1 -0
  140. package/dist/subagents/types.d.ts +132 -0
  141. package/dist/subagents/types.d.ts.map +1 -0
  142. package/dist/subagents/types.js +2 -0
  143. package/dist/subagents/types.js.map +1 -0
  144. package/dist/subagents/worktree-manager.d.ts +12 -0
  145. package/dist/subagents/worktree-manager.d.ts.map +1 -0
  146. package/dist/subagents/worktree-manager.js +53 -0
  147. package/dist/subagents/worktree-manager.js.map +1 -0
  148. package/dist/ui/controller.d.ts +14 -0
  149. package/dist/ui/controller.d.ts.map +1 -0
  150. package/dist/ui/controller.js +153 -0
  151. package/dist/ui/controller.js.map +1 -0
  152. package/dist/ui/dashboard.d.ts +36 -0
  153. package/dist/ui/dashboard.d.ts.map +1 -0
  154. package/dist/ui/dashboard.js +620 -0
  155. package/dist/ui/dashboard.js.map +1 -0
  156. package/dist/ui/fabric-render.d.ts +28 -0
  157. package/dist/ui/fabric-render.d.ts.map +1 -0
  158. package/dist/ui/fabric-render.js +280 -0
  159. package/dist/ui/fabric-render.js.map +1 -0
  160. package/dist/ui/format.d.ts +7 -0
  161. package/dist/ui/format.d.ts.map +1 -0
  162. package/dist/ui/format.js +57 -0
  163. package/dist/ui/format.js.map +1 -0
  164. package/dist/ui/highlight.d.ts +13 -0
  165. package/dist/ui/highlight.d.ts.map +1 -0
  166. package/dist/ui/highlight.js +337 -0
  167. package/dist/ui/highlight.js.map +1 -0
  168. package/dist/ui/settings.d.ts +21 -0
  169. package/dist/ui/settings.d.ts.map +1 -0
  170. package/dist/ui/settings.js +480 -0
  171. package/dist/ui/settings.js.map +1 -0
  172. package/dist/ui/snapshot.d.ts +5 -0
  173. package/dist/ui/snapshot.d.ts.map +1 -0
  174. package/dist/ui/snapshot.js +120 -0
  175. package/dist/ui/snapshot.js.map +1 -0
  176. package/dist/ui/types.d.ts +57 -0
  177. package/dist/ui/types.d.ts.map +1 -0
  178. package/dist/ui/types.js +11 -0
  179. package/dist/ui/types.js.map +1 -0
  180. package/dist/ui/widget.d.ts +16 -0
  181. package/dist/ui/widget.d.ts.map +1 -0
  182. package/dist/ui/widget.js +199 -0
  183. package/dist/ui/widget.js.map +1 -0
  184. package/dist/util.d.ts +2 -0
  185. package/dist/util.d.ts.map +1 -0
  186. package/dist/util.js +10 -0
  187. package/dist/util.js.map +1 -0
  188. package/dist/worker.d.ts +3 -0
  189. package/dist/worker.d.ts.map +1 -0
  190. package/dist/worker.js +478 -0
  191. package/dist/worker.js.map +1 -0
  192. package/package.json +87 -0
  193. package/skills/fabric-advisor/SKILL.md +53 -0
  194. package/skills/fabric-ambient/SKILL.md +84 -0
  195. package/skills/fabric-council/SKILL.md +37 -0
  196. package/skills/fabric-exec/SKILL.md +39 -0
  197. package/skills/fabric-exec/references/agents.md +78 -0
  198. package/skills/fabric-exec/references/mcp.md +46 -0
  199. package/skills/fabric-exec/references/mesh.md +42 -0
  200. package/skills/fabric-rlm/SKILL.md +84 -0
  201. package/skills/fabric-supervisor/SKILL.md +63 -0
  202. package/skills/fabric-swarm/SKILL.md +85 -0
  203. 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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAsC7B,MAAM,UAAU,GAAG,kBAAkB,CAAC;AACtC,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAChD,MAAM,aAAa,GAAG,qBAAqB,CAAC;AAE5C,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAAsB,EAAE;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA+B,CAAC;YAC9D,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAwB;IACvE,IAAI,CAAC;QACH,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;QACtE,yEAAyE;IAC3E,CAAC;AACH,CAAC"}
@@ -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"}