@usine/agents 0.3.0 → 0.4.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 (94) hide show
  1. package/README.md +92 -30
  2. package/dist/child-host/child-host.d.ts +60 -0
  3. package/dist/child-host/child-host.d.ts.map +1 -0
  4. package/dist/child-host/child-host.js +84 -0
  5. package/dist/child-host/child-host.js.map +1 -0
  6. package/dist/child-host/command.d.ts +11 -0
  7. package/dist/child-host/command.d.ts.map +1 -0
  8. package/dist/child-host/command.js +26 -0
  9. package/dist/child-host/command.js.map +1 -0
  10. package/dist/pi/authentication.d.ts +11 -2
  11. package/dist/pi/authentication.d.ts.map +1 -1
  12. package/dist/pi/authentication.js +15 -2
  13. package/dist/pi/authentication.js.map +1 -1
  14. package/dist/pi/children.d.ts +1 -4
  15. package/dist/pi/children.d.ts.map +1 -1
  16. package/dist/pi/children.js +1 -4
  17. package/dist/pi/children.js.map +1 -1
  18. package/dist/pi/claude.d.ts +8 -9
  19. package/dist/pi/claude.d.ts.map +1 -1
  20. package/dist/pi/claude.js +366 -50
  21. package/dist/pi/claude.js.map +1 -1
  22. package/dist/pi/codex/account.d.ts +3 -3
  23. package/dist/pi/codex/account.d.ts.map +1 -1
  24. package/dist/pi/codex/account.js +5 -5
  25. package/dist/pi/codex/account.js.map +1 -1
  26. package/dist/pi/codex/app-server.d.ts +19 -7
  27. package/dist/pi/codex/app-server.d.ts.map +1 -1
  28. package/dist/pi/codex/app-server.js +41 -36
  29. package/dist/pi/codex/app-server.js.map +1 -1
  30. package/dist/pi/codex/codec.d.ts +35 -13
  31. package/dist/pi/codex/codec.d.ts.map +1 -1
  32. package/dist/pi/codex/codec.js +42 -15
  33. package/dist/pi/codex/codec.js.map +1 -1
  34. package/dist/pi/codex/codex.d.ts +0 -1
  35. package/dist/pi/codex/codex.d.ts.map +1 -1
  36. package/dist/pi/codex/codex.js +75 -14
  37. package/dist/pi/codex/codex.js.map +1 -1
  38. package/dist/pi/conversation.d.ts +29 -12
  39. package/dist/pi/conversation.d.ts.map +1 -1
  40. package/dist/pi/conversation.js +54 -18
  41. package/dist/pi/conversation.js.map +1 -1
  42. package/dist/pi/pi.d.ts +1 -4
  43. package/dist/pi/pi.d.ts.map +1 -1
  44. package/dist/pi/pi.js +24 -175
  45. package/dist/pi/pi.js.map +1 -1
  46. package/dist/pi/sdk.d.ts +11 -15
  47. package/dist/pi/sdk.d.ts.map +1 -1
  48. package/dist/pi/sdk.js +35 -53
  49. package/dist/pi/sdk.js.map +1 -1
  50. package/dist/pi/session.d.ts +13 -14
  51. package/dist/pi/session.d.ts.map +1 -1
  52. package/dist/pi/session.js +63 -24
  53. package/dist/pi/session.js.map +1 -1
  54. package/dist/pi/turns.d.ts +7 -7
  55. package/dist/pi/turns.d.ts.map +1 -1
  56. package/dist/pi/turns.js +22 -9
  57. package/dist/pi/turns.js.map +1 -1
  58. package/dist/pi/usage.d.ts +29 -15
  59. package/dist/pi/usage.d.ts.map +1 -1
  60. package/dist/pi/usage.js +48 -24
  61. package/dist/pi/usage.js.map +1 -1
  62. package/dist/preflight/command.d.ts +16 -3
  63. package/dist/preflight/command.d.ts.map +1 -1
  64. package/dist/preflight/command.js +30 -17
  65. package/dist/preflight/command.js.map +1 -1
  66. package/dist/preflight/preflight.d.ts +10 -5
  67. package/dist/preflight/preflight.d.ts.map +1 -1
  68. package/dist/preflight/preflight.js +52 -25
  69. package/dist/preflight/preflight.js.map +1 -1
  70. package/dist/prompt.d.ts +12 -9
  71. package/dist/prompt.d.ts.map +1 -1
  72. package/dist/prompt.js +33 -4
  73. package/dist/prompt.js.map +1 -1
  74. package/dist/protocol/codex.d.ts +4 -7
  75. package/dist/protocol/codex.d.ts.map +1 -1
  76. package/dist/protocol/codex.js +1 -1
  77. package/dist/protocol/codex.js.map +1 -1
  78. package/dist/runtime.d.ts +100 -55
  79. package/dist/runtime.d.ts.map +1 -1
  80. package/dist/runtime.js +108 -27
  81. package/dist/runtime.js.map +1 -1
  82. package/package.json +22 -10
  83. package/dist/pi/live.d.ts +0 -4
  84. package/dist/pi/live.d.ts.map +0 -1
  85. package/dist/pi/live.js +0 -11
  86. package/dist/pi/live.js.map +0 -1
  87. package/dist/pi/subagents.d.ts +0 -29
  88. package/dist/pi/subagents.d.ts.map +0 -1
  89. package/dist/pi/subagents.js +0 -120
  90. package/dist/pi/subagents.js.map +0 -1
  91. package/dist/pi/thinking.d.ts +0 -8
  92. package/dist/pi/thinking.d.ts.map +0 -1
  93. package/dist/pi/thinking.js +0 -15
  94. package/dist/pi/thinking.js.map +0 -1
@@ -1,29 +0,0 @@
1
- import { type ExtensionFactory, type InlineExtension } from "@earendil-works/pi-coding-agent";
2
- import { Agent } from "@usine/core/agent";
3
- import { AgentSessionEvent, AgentSessionId, ChildSessionBudget } from "@usine/core/agent/session";
4
- import { Effect } from "effect";
5
- import { type AgentSessionError, type ChildBackend, ChildSessionBudgetExceededError, type ChildSessions, type WorkingDirectory } from "../runtime.ts";
6
- export interface SubagentsExtensionOptions {
7
- readonly agent: Agent;
8
- readonly backend: ChildBackend["Service"];
9
- readonly cwd: WorkingDirectory;
10
- readonly emit: (event: AgentSessionEvent) => Effect.Effect<void>;
11
- readonly maxChildren: ChildSessionBudget;
12
- /** Called on every rejected spawn; the parent decides what a repeat means. */
13
- readonly onBudgetExceeded: (error: ChildSessionBudgetExceededError) => Effect.Effect<void>;
14
- readonly parentId: AgentSessionId;
15
- /** Records a launched child so the run host can address operator input to it by id. */
16
- readonly register: ChildSessions["register"];
17
- /**
18
- * Runs one child program on the parent launch's services and scope. Pi
19
- * calls the tool outside any usine fiber, so the default runtime would lose
20
- * the stderr log redirect (corrupting the protocol stdout) and detach the
21
- * child from the Attempt's lifetime.
22
- */
23
- readonly run: <A>(program: Effect.Effect<A, AgentSessionError>) => Promise<A>;
24
- }
25
- /** Builds the subagents extension; its single tool creates first-level child sessions only. */
26
- export declare const createSubagentsExtension: (options: SubagentsExtensionOptions) => ExtensionFactory;
27
- /** Names the extension so Pi startup diagnostics can identify it. */
28
- export declare const subagentsExtension: (options: SubagentsExtensionOptions) => InlineExtension;
29
- //# sourceMappingURL=subagents.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagents.d.ts","sourceRoot":"","sources":["../../src/pi/subagents.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,cAAc,EAEd,kBAAkB,EAGnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAuB,MAAM,QAAQ,CAAC;AAGrD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAEjB,+BAA+B,EAC/B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3F,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/E;AA8BD,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,YAAa,yBAAyB,KAAG,gBA2G7E,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,YAAa,yBAAyB,KAAG,eAGtE,CAAC"}
@@ -1,120 +0,0 @@
1
- import { defineTool, } from "@earendil-works/pi-coding-agent";
2
- import { Agent } from "@usine/core/agent";
3
- import { AgentSessionEvent, AgentSessionId, ChildSession, ChildSessionBudget, ChildSessionCount, SessionFinished, } from "@usine/core/agent/session";
4
- import { Effect, Exit, Fiber, Stream } from "effect";
5
- import { Type } from "typebox";
6
- import { assembleChildPrompt } from "../prompt.js";
7
- import { ChildRequest, ChildSessionBudgetExceededError, } from "../runtime.js";
8
- const TASK_EXCERPT_CHARACTERS = 160;
9
- const taskExcerpt = (task) => {
10
- const collapsed = task.replace(/\s+/gu, " ").trim();
11
- return collapsed.length > TASK_EXCERPT_CHARACTERS
12
- ? `${collapsed.slice(0, TASK_EXCERPT_CHARACTERS)}…`
13
- : collapsed;
14
- };
15
- const interrupted = (signal, sessionId) => signal === undefined
16
- ? Effect.logWarning("Pi supplied no abort signal; the child outlives only its scope", {
17
- sessionId,
18
- }).pipe(Effect.andThen(Effect.never))
19
- : Effect.callback((resume) => {
20
- const onAbort = () => resume(Effect.void);
21
- if (signal.aborted)
22
- onAbort();
23
- else
24
- signal.addEventListener("abort", onAbort, { once: true });
25
- return Effect.sync(() => signal.removeEventListener("abort", onAbort));
26
- });
27
- /** Builds the subagents extension; its single tool creates first-level child sessions only. */
28
- export const createSubagentsExtension = (options) => {
29
- let childNumber = 0;
30
- const spawn = Effect.fn("Subagents.spawn")(function* (attemptedChildren, task, signal, onUpdate) {
31
- const excerpt = taskExcerpt(task);
32
- yield* Effect.annotateCurrentSpan({
33
- attemptedChildren,
34
- maxChildren: options.maxChildren,
35
- parentSessionId: options.parentId,
36
- });
37
- if (attemptedChildren > options.maxChildren) {
38
- const error = new ChildSessionBudgetExceededError({
39
- attemptedChildren,
40
- maxChildren: options.maxChildren,
41
- message: `Attempt tried to spawn child ${attemptedChildren} after reaching its ${options.maxChildren}-child budget`,
42
- });
43
- yield* Effect.logWarning("Child session budget exceeded", {
44
- attemptedChildren,
45
- maxChildren: options.maxChildren,
46
- parentSessionId: options.parentId,
47
- taskExcerpt: excerpt,
48
- });
49
- yield* options.onBudgetExceeded(error);
50
- return yield* error;
51
- }
52
- const session = new ChildSession({
53
- id: AgentSessionId.make(`${options.parentId}:child:${attemptedChildren}`),
54
- parentId: options.parentId,
55
- agent: options.agent.name,
56
- brain: options.agent.brain,
57
- });
58
- const request = new ChildRequest({
59
- session,
60
- cwd: options.cwd,
61
- prompt: assembleChildPrompt({
62
- agent: options.agent.name,
63
- persona: options.agent.persona,
64
- task,
65
- }),
66
- });
67
- yield* Effect.annotateCurrentSpan({
68
- agent: request.session.agent,
69
- sessionId: request.session.id,
70
- });
71
- yield* Effect.logInfo("Spawning child session", {
72
- attemptedChildren,
73
- maxChildren: options.maxChildren,
74
- taskExcerpt: excerpt,
75
- });
76
- const child = yield* options.backend.launch(request);
77
- // Registered on the spawn scope, so the child stops being addressable when it returns.
78
- yield* options.register(child);
79
- yield* Effect.addFinalizer((exit) => Exit.isFailure(exit)
80
- ? Effect.logWarning("Child session ended before returning a result", {
81
- sessionId: session.id,
82
- }).pipe(Effect.andThen(options.emit(new SessionFinished({ session: child.session }))))
83
- : Effect.void);
84
- const forward = yield* child.events.pipe(Stream.runForEach(options.emit), Effect.forkScoped);
85
- const result = yield* Effect.raceFirst(child.result, interrupted(signal, request.session.id).pipe(Effect.andThen(child.interrupt), Effect.andThen(Effect.interrupt)));
86
- yield* Fiber.join(forward);
87
- yield* Effect.logInfo("Child session returned to Pi parent", {
88
- sessionId: request.session.id,
89
- });
90
- const report = {
91
- content: [{ type: "text", text: result.message }],
92
- details: { childSessionId: request.session.id },
93
- };
94
- onUpdate?.(report);
95
- return report;
96
- }, Effect.scoped);
97
- return (pi) => {
98
- pi.registerTool(defineTool({
99
- name: "subagent",
100
- label: "Subagent",
101
- description: "Delegate one focused task to the configured isolated child agent and wait for its report.",
102
- promptSnippet: "Delegate a focused task to an isolated child agent.",
103
- promptGuidelines: [
104
- "Delegate only independent, focused work; the child cannot create more children.",
105
- ],
106
- parameters: Type.Object({ task: Type.String({ minLength: 1 }) }, { additionalProperties: false }),
107
- executionMode: "parallel",
108
- execute: (_toolCallId, params, signal, onUpdate) => {
109
- childNumber += 1;
110
- return options.run(spawn(ChildSessionCount.make(childNumber), params.task, signal, onUpdate));
111
- },
112
- }));
113
- };
114
- };
115
- /** Names the extension so Pi startup diagnostics can identify it. */
116
- export const subagentsExtension = (options) => ({
117
- name: "usine-subagents",
118
- factory: createSubagentsExtension(options),
119
- });
120
- //# sourceMappingURL=subagents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagents.js","sourceRoot":"","sources":["../../src/pi/subagents.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { Effort } from "@usine/core/agent/brain";
2
- export interface ThinkingCapableModel {
3
- readonly reasoning: boolean;
4
- readonly thinkingLevelMap?: Partial<Record<Effort, string | null>> | undefined;
5
- }
6
- /** The thinking levels a model supports; the SDK clamps to this set without exposing it. */
7
- export declare const supportedThinkingLevels: (model: ThinkingCapableModel) => ReadonlyArray<Effort>;
8
- //# sourceMappingURL=thinking.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thinking.d.ts","sourceRoot":"","sources":["../../src/pi/thinking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CAChF;AAED,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,UAAW,oBAAoB,KAAG,aAAa,CAAC,MAAM,CAQzF,CAAC"}
@@ -1,15 +0,0 @@
1
- import { Effort, EFFORTS } from "@usine/core/agent/brain";
2
- /** The thinking levels a model supports; the SDK clamps to this set without exposing it. */
3
- export const supportedThinkingLevels = (model) => {
4
- if (!model.reasoning)
5
- return ["off"];
6
- return EFFORTS.filter((level) => {
7
- const mapped = model.thinkingLevelMap?.[level];
8
- if (mapped === null)
9
- return false;
10
- if (level === "xhigh" || level === "max")
11
- return mapped !== undefined;
12
- return true;
13
- });
14
- };
15
- //# sourceMappingURL=thinking.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thinking.js","sourceRoot":"","sources":["../../src/pi/thinking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAO1D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAA2B,EAAyB,EAAE;IAC5F,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO,MAAM,KAAK,SAAS,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}