@pi-unipi/subagents 0.2.2 → 0.2.3

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 (63) hide show
  1. package/package.json +1 -1
  2. package/src/__tests__/badge-generation.test.ts +244 -0
  3. package/src/index.ts +28 -7
  4. package/dist/__tests__/config.test.d.ts +0 -11
  5. package/dist/__tests__/config.test.d.ts.map +0 -1
  6. package/dist/__tests__/config.test.js +0 -196
  7. package/dist/__tests__/config.test.js.map +0 -1
  8. package/dist/__tests__/esc-propagation.test.d.ts +0 -10
  9. package/dist/__tests__/esc-propagation.test.d.ts.map +0 -1
  10. package/dist/__tests__/esc-propagation.test.js +0 -140
  11. package/dist/__tests__/esc-propagation.test.js.map +0 -1
  12. package/dist/__tests__/file-lock.test.d.ts +0 -12
  13. package/dist/__tests__/file-lock.test.d.ts.map +0 -1
  14. package/dist/__tests__/file-lock.test.js +0 -187
  15. package/dist/__tests__/file-lock.test.js.map +0 -1
  16. package/dist/__tests__/workflow-integration.test.d.ts +0 -12
  17. package/dist/__tests__/workflow-integration.test.d.ts.map +0 -1
  18. package/dist/__tests__/workflow-integration.test.js +0 -261
  19. package/dist/__tests__/workflow-integration.test.js.map +0 -1
  20. package/dist/agent-manager.d.ts +0 -75
  21. package/dist/agent-manager.d.ts.map +0 -1
  22. package/dist/agent-manager.js +0 -268
  23. package/dist/agent-manager.js.map +0 -1
  24. package/dist/agent-runner.d.ts +0 -51
  25. package/dist/agent-runner.d.ts.map +0 -1
  26. package/dist/agent-runner.js +0 -254
  27. package/dist/agent-runner.js.map +0 -1
  28. package/dist/config.d.ts +0 -24
  29. package/dist/config.d.ts.map +0 -1
  30. package/dist/config.js +0 -132
  31. package/dist/config.js.map +0 -1
  32. package/dist/conversation-viewer.d.ts +0 -40
  33. package/dist/conversation-viewer.d.ts.map +0 -1
  34. package/dist/conversation-viewer.js +0 -276
  35. package/dist/conversation-viewer.js.map +0 -1
  36. package/dist/custom-agents.d.ts +0 -14
  37. package/dist/custom-agents.d.ts.map +0 -1
  38. package/dist/custom-agents.js +0 -106
  39. package/dist/custom-agents.js.map +0 -1
  40. package/dist/file-lock.d.ts +0 -42
  41. package/dist/file-lock.d.ts.map +0 -1
  42. package/dist/file-lock.js +0 -91
  43. package/dist/file-lock.js.map +0 -1
  44. package/dist/index.d.ts +0 -10
  45. package/dist/index.d.ts.map +0 -1
  46. package/dist/index.js +0 -653
  47. package/dist/index.js.map +0 -1
  48. package/dist/model-resolver.d.ts +0 -19
  49. package/dist/model-resolver.d.ts.map +0 -1
  50. package/dist/model-resolver.js +0 -61
  51. package/dist/model-resolver.js.map +0 -1
  52. package/dist/prompts.d.ts +0 -13
  53. package/dist/prompts.d.ts.map +0 -1
  54. package/dist/prompts.js +0 -31
  55. package/dist/prompts.js.map +0 -1
  56. package/dist/types.d.ts +0 -96
  57. package/dist/types.d.ts.map +0 -1
  58. package/dist/types.js +0 -36
  59. package/dist/types.js.map +0 -1
  60. package/dist/widget.d.ts +0 -55
  61. package/dist/widget.d.ts.map +0 -1
  62. package/dist/widget.js +0 -404
  63. package/dist/widget.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-integration.test.js","sourceRoot":"","sources":["../../src/__tests__/workflow-integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- /**
2
- * @pi-unipi/subagents — Agent manager
3
- *
4
- * Tracks agents, manages concurrency queue, handles spawn/resume/abort.
5
- * Background agents subject to concurrency limit. Foreground bypass queue.
6
- */
7
- import type { Model } from "@mariozechner/pi-ai";
8
- import type { AgentSession, ExtensionAPI, ExtensionContext } from "@mariozechner/pi-coding-agent";
9
- import { type ToolActivity } from "./agent-runner.js";
10
- import { type ModelRegistry } from "./model-resolver.js";
11
- import type { AgentRecord, AgentConfig, AgentType, ThinkingLevel } from "./types.js";
12
- import { FileLock } from "./file-lock.js";
13
- export type OnAgentComplete = (record: AgentRecord) => void;
14
- export type OnAgentStart = (record: AgentRecord) => void;
15
- interface SpawnOptions {
16
- description: string;
17
- model?: Model<any>;
18
- modelInput?: string;
19
- modelRegistry?: ModelRegistry;
20
- thinkingLevel?: ThinkingLevel;
21
- maxTurns?: number;
22
- isolated?: boolean;
23
- inheritContext?: boolean;
24
- isBackground?: boolean;
25
- onToolActivity?: (activity: ToolActivity) => void;
26
- onTextDelta?: (delta: string, fullText: string) => void;
27
- onSessionCreated?: (session: AgentSession) => void;
28
- onTurnEnd?: (turnCount: number) => void;
29
- }
30
- export declare class AgentManager {
31
- private agents;
32
- private cleanupInterval;
33
- private onComplete?;
34
- private onStart?;
35
- private maxConcurrent;
36
- private customAgents;
37
- /** Per-file transparent locking for write agents. */
38
- readonly fileLock: FileLock;
39
- /** Queue of background agents waiting to start. */
40
- private queue;
41
- /** Number of currently running background agents. */
42
- private runningBackground;
43
- constructor(onComplete?: OnAgentComplete, maxConcurrent?: number, onStart?: OnAgentStart);
44
- /** Get resolved agent config for a type. */
45
- getAgentConfig(type: AgentType): AgentConfig | undefined;
46
- setMaxConcurrent(n: number): void;
47
- getMaxConcurrent(): number;
48
- /**
49
- * Spawn an agent. Returns ID immediately for background, waits for foreground.
50
- */
51
- spawn(pi: ExtensionAPI, ctx: ExtensionContext, type: AgentType, prompt: string, options: SpawnOptions): string;
52
- /** Actually start an agent. */
53
- private startAgent;
54
- /** Start queued agents up to concurrency limit. */
55
- private drainQueue;
56
- /**
57
- * Spawn and wait (foreground).
58
- */
59
- spawnAndWait(pi: ExtensionAPI, ctx: ExtensionContext, type: AgentType, prompt: string, options: Omit<SpawnOptions, "isBackground">): Promise<AgentRecord>;
60
- getRecord(id: string): AgentRecord | undefined;
61
- listAgents(): AgentRecord[];
62
- abort(id: string): boolean;
63
- /** Abort all agents (for ESC propagation). */
64
- abortAll(): number;
65
- /** Wait for all agents. */
66
- waitForAll(): Promise<void>;
67
- /** Whether any agents running or queued. */
68
- hasRunning(): boolean;
69
- /** Remove completed records. */
70
- clearCompleted(): void;
71
- private cleanup;
72
- dispose(): void;
73
- }
74
- export {};
75
- //# sourceMappingURL=agent-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-manager.d.ts","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -1,268 +0,0 @@
1
- /**
2
- * @pi-unipi/subagents — Agent manager
3
- *
4
- * Tracks agents, manages concurrency queue, handles spawn/resume/abort.
5
- * Background agents subject to concurrency limit. Foreground bypass queue.
6
- */
7
- import { randomUUID } from "node:crypto";
8
- import { runAgent } from "./agent-runner.js";
9
- import { resolveModel } from "./model-resolver.js";
10
- import { BUILTIN_CONFIGS } from "./types.js";
11
- import { loadCustomAgents } from "./custom-agents.js";
12
- import { FileLock } from "./file-lock.js";
13
- /** Default max concurrent background agents. */
14
- const DEFAULT_MAX_CONCURRENT = 4;
15
- export class AgentManager {
16
- agents = new Map();
17
- cleanupInterval;
18
- onComplete;
19
- onStart;
20
- maxConcurrent;
21
- customAgents;
22
- /** Per-file transparent locking for write agents. */
23
- fileLock = new FileLock();
24
- /** Queue of background agents waiting to start. */
25
- queue = [];
26
- /** Number of currently running background agents. */
27
- runningBackground = 0;
28
- constructor(onComplete, maxConcurrent = DEFAULT_MAX_CONCURRENT, onStart) {
29
- this.onComplete = onComplete;
30
- this.onStart = onStart;
31
- this.maxConcurrent = maxConcurrent;
32
- this.customAgents = loadCustomAgents(process.cwd());
33
- this.cleanupInterval = setInterval(() => this.cleanup(), 60_000);
34
- }
35
- /** Get resolved agent config for a type. */
36
- getAgentConfig(type) {
37
- return this.customAgents.get(type) ?? BUILTIN_CONFIGS[type];
38
- }
39
- setMaxConcurrent(n) {
40
- this.maxConcurrent = Math.max(1, n);
41
- this.drainQueue();
42
- }
43
- getMaxConcurrent() {
44
- return this.maxConcurrent;
45
- }
46
- /**
47
- * Spawn an agent. Returns ID immediately for background, waits for foreground.
48
- */
49
- spawn(pi, ctx, type, prompt, options) {
50
- const id = randomUUID().slice(0, 17);
51
- const abortController = new AbortController();
52
- const record = {
53
- id,
54
- type,
55
- description: options.description,
56
- status: options.isBackground ? "queued" : "running",
57
- toolUses: 0,
58
- startedAt: Date.now(),
59
- abortController,
60
- lockedFiles: new Set(),
61
- };
62
- this.agents.set(id, record);
63
- const args = { pi, ctx, type, prompt, options };
64
- if (options.isBackground && this.runningBackground >= this.maxConcurrent) {
65
- this.queue.push({ id, args });
66
- return id;
67
- }
68
- this.startAgent(id, record, args);
69
- return id;
70
- }
71
- /** Actually start an agent. */
72
- startAgent(id, record, { pi, ctx, type, prompt, options }) {
73
- record.status = "running";
74
- record.startedAt = Date.now();
75
- if (options.isBackground)
76
- this.runningBackground++;
77
- this.onStart?.(record);
78
- // Resolve model: explicit input > config model > parent model
79
- let model = options.model;
80
- if (options.modelInput && options.modelRegistry) {
81
- const resolved = resolveModel(options.modelInput, options.modelRegistry);
82
- if (typeof resolved === "string") {
83
- // Error message — return early with error
84
- record.status = "error";
85
- record.error = resolved;
86
- record.completedAt = Date.now();
87
- if (options.isBackground) {
88
- this.runningBackground--;
89
- this.onComplete?.(record);
90
- }
91
- return;
92
- }
93
- model = resolved;
94
- }
95
- const agentConfig = this.getAgentConfig(type);
96
- const promise = runAgent(ctx, type, prompt, {
97
- pi,
98
- model,
99
- agentConfig,
100
- maxTurns: options.maxTurns,
101
- isolated: options.isolated,
102
- inheritContext: options.inheritContext,
103
- thinkingLevel: options.thinkingLevel,
104
- signal: record.abortController.signal,
105
- onToolActivity: (activity) => {
106
- if (activity.type === "end")
107
- record.toolUses++;
108
- options.onToolActivity?.(activity);
109
- },
110
- onTurnEnd: options.onTurnEnd,
111
- onTextDelta: options.onTextDelta,
112
- onSessionCreated: (session) => {
113
- record.session = session;
114
- options.onSessionCreated?.(session);
115
- },
116
- })
117
- .then(({ responseText, session, aborted, steered }) => {
118
- if (record.status !== "stopped") {
119
- record.status = aborted ? "aborted" : steered ? "completed" : "completed";
120
- }
121
- record.result = responseText;
122
- record.session = session;
123
- record.completedAt ??= Date.now();
124
- // Release any held file locks
125
- this.fileLock.releaseAll(id);
126
- record.lockedFiles.clear();
127
- if (options.isBackground) {
128
- this.runningBackground--;
129
- this.onComplete?.(record);
130
- this.drainQueue();
131
- }
132
- return responseText;
133
- })
134
- .catch((err) => {
135
- if (record.status !== "stopped") {
136
- record.status = "error";
137
- }
138
- record.error = err instanceof Error ? err.message : String(err);
139
- record.completedAt ??= Date.now();
140
- // Release any held file locks
141
- this.fileLock.releaseAll(id);
142
- record.lockedFiles.clear();
143
- if (options.isBackground) {
144
- this.runningBackground--;
145
- this.onComplete?.(record);
146
- this.drainQueue();
147
- }
148
- return "";
149
- });
150
- record.promise = promise;
151
- }
152
- /** Start queued agents up to concurrency limit. */
153
- drainQueue() {
154
- while (this.queue.length > 0 && this.runningBackground < this.maxConcurrent) {
155
- const next = this.queue.shift();
156
- const record = this.agents.get(next.id);
157
- if (!record || record.status !== "queued")
158
- continue;
159
- this.startAgent(next.id, record, next.args);
160
- }
161
- }
162
- /**
163
- * Spawn and wait (foreground).
164
- */
165
- async spawnAndWait(pi, ctx, type, prompt, options) {
166
- const id = this.spawn(pi, ctx, type, prompt, { ...options, isBackground: false });
167
- const record = this.agents.get(id);
168
- await record.promise;
169
- return record;
170
- }
171
- getRecord(id) {
172
- return this.agents.get(id);
173
- }
174
- listAgents() {
175
- return [...this.agents.values()].sort((a, b) => b.startedAt - a.startedAt);
176
- }
177
- abort(id) {
178
- const record = this.agents.get(id);
179
- if (!record)
180
- return false;
181
- if (record.status === "queued") {
182
- this.queue = this.queue.filter((q) => q.id !== id);
183
- record.status = "stopped";
184
- record.completedAt = Date.now();
185
- return true;
186
- }
187
- if (record.status !== "running")
188
- return false;
189
- record.abortController?.abort();
190
- record.status = "stopped";
191
- record.completedAt = Date.now();
192
- this.fileLock.releaseAll(id);
193
- record.lockedFiles.clear();
194
- return true;
195
- }
196
- /** Abort all agents (for ESC propagation). */
197
- abortAll() {
198
- let count = 0;
199
- for (const queued of this.queue) {
200
- const record = this.agents.get(queued.id);
201
- if (record) {
202
- record.status = "stopped";
203
- record.completedAt = Date.now();
204
- count++;
205
- }
206
- }
207
- this.queue = [];
208
- for (const record of this.agents.values()) {
209
- if (record.status === "running") {
210
- record.abortController?.abort();
211
- record.status = "stopped";
212
- record.completedAt = Date.now();
213
- count++;
214
- }
215
- }
216
- this.fileLock.clear();
217
- return count;
218
- }
219
- /** Wait for all agents. */
220
- async waitForAll() {
221
- while (true) {
222
- this.drainQueue();
223
- const pending = [...this.agents.values()]
224
- .filter((r) => r.status === "running" || r.status === "queued")
225
- .map((r) => r.promise)
226
- .filter(Boolean);
227
- if (pending.length === 0)
228
- break;
229
- await Promise.allSettled(pending);
230
- }
231
- }
232
- /** Whether any agents running or queued. */
233
- hasRunning() {
234
- return [...this.agents.values()].some((r) => r.status === "running" || r.status === "queued");
235
- }
236
- /** Remove completed records. */
237
- clearCompleted() {
238
- for (const [id, record] of this.agents) {
239
- if (record.status === "running" || record.status === "queued")
240
- continue;
241
- record.session?.dispose?.();
242
- record.session = undefined;
243
- this.agents.delete(id);
244
- }
245
- }
246
- cleanup() {
247
- const cutoff = Date.now() - 10 * 60_000;
248
- for (const [id, record] of this.agents) {
249
- if (record.status === "running" || record.status === "queued")
250
- continue;
251
- if ((record.completedAt ?? 0) >= cutoff)
252
- continue;
253
- record.session?.dispose?.();
254
- record.session = undefined;
255
- this.agents.delete(id);
256
- }
257
- }
258
- dispose() {
259
- clearInterval(this.cleanupInterval);
260
- this.queue = [];
261
- this.abortAll();
262
- for (const record of this.agents.values()) {
263
- record.session?.dispose();
264
- }
265
- this.agents.clear();
266
- }
267
- }
268
- //# sourceMappingURL=agent-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- /**
2
- * @pi-unipi/subagents — Agent runner
3
- *
4
- * Creates sessions, runs agents, collects results.
5
- * Forwards abort signals for ESC propagation.
6
- */
7
- import type { Model } from "@mariozechner/pi-ai";
8
- import type { ExtensionContext } from "@mariozechner/pi-coding-agent";
9
- import { type AgentSession, type ExtensionAPI } from "@mariozechner/pi-coding-agent";
10
- import { type AgentConfig, type AgentType, type ThinkingLevel } from "./types.js";
11
- export declare function getDefaultMaxTurns(): number | undefined;
12
- export declare function setDefaultMaxTurns(n: number | undefined): void;
13
- export declare function getGraceTurns(): number;
14
- export declare function setGraceTurns(n: number): void;
15
- /** Tool activity info. */
16
- export interface ToolActivity {
17
- type: "start" | "end";
18
- toolName: string;
19
- }
20
- /** Options for running an agent. */
21
- export interface RunOptions {
22
- pi: ExtensionAPI;
23
- model?: Model<any>;
24
- agentConfig?: AgentConfig;
25
- maxTurns?: number;
26
- signal?: AbortSignal;
27
- isolated?: boolean;
28
- inheritContext?: boolean;
29
- thinkingLevel?: ThinkingLevel;
30
- cwd?: string;
31
- onToolActivity?: (activity: ToolActivity) => void;
32
- onTextDelta?: (delta: string, fullText: string) => void;
33
- onSessionCreated?: (session: AgentSession) => void;
34
- onTurnEnd?: (turnCount: number) => void;
35
- }
36
- /** Result from running an agent. */
37
- export interface RunResult {
38
- responseText: string;
39
- session: AgentSession;
40
- aborted: boolean;
41
- steered: boolean;
42
- }
43
- /**
44
- * Run an agent session.
45
- */
46
- export declare function runAgent(ctx: ExtensionContext, type: AgentType, prompt: string, options: RunOptions): Promise<RunResult>;
47
- /**
48
- * Get conversation text from a session.
49
- */
50
- export declare function getAgentConversation(session: AgentSession): string;
51
- //# sourceMappingURL=agent-runner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,KAAK,YAAY,EAIjB,KAAK,YAAY,EAIlB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAWnG,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE9D;AAKD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,0BAA0B;AAC1B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,oCAAoC;AACpC,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAiED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CA6HpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAuClE"}