@usine/agents 0.2.0 → 0.3.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/dist/pi/pi.js CHANGED
@@ -3,9 +3,10 @@ import { AgentSessionId, ChildSession, ParentSession, SessionStarted, } from "@u
3
3
  import { Deferred, Effect, Fiber, Layer, Option, Stream } from "effect";
4
4
  import { assemblePrompt } from "../prompt.js";
5
5
  import { AgentRuntime, ChildBackend, ChildSessionBudgetExceededError, PiChildBackend, PoolUnavailableError, SessionOperationError, UnknownModelError, UnsupportedEffortError, } from "../runtime.js";
6
- import { lastPiMessageText, sessionChannel, subscribePiSession } from "./session.js";
6
+ import { sessionChannel, subscribePiSession } from "./session.js";
7
7
  import { PiSdk, usePiStart } from "./sdk.js";
8
8
  import { subagentsExtension } from "./subagents.js";
9
+ import { piPauseGate, piTurns } from "./turns.js";
9
10
  export { PiSdk, piSdkLive, } from "./sdk.js";
10
11
  const parentError = (operation, request, message, cause) => new SessionOperationError({
11
12
  operation,
@@ -44,9 +45,10 @@ const makePiChild = Effect.gen(function* () {
44
45
  sessionId: request.session.id,
45
46
  });
46
47
  yield* Effect.logInfo("Launching Pi child session");
48
+ const gate = yield* piPauseGate;
47
49
  return yield* usePiStart((signal) => sdk.start({
48
50
  cwd: request.cwd,
49
- extensions: [],
51
+ extensions: [gate.extension],
50
52
  model: Option.some(request.session.brain.model),
51
53
  signal,
52
54
  thinkingLevel: request.session.brain.effort,
@@ -122,39 +124,29 @@ const makePiChild = Effect.gen(function* () {
122
124
  const subscription = yield* subscribePiSession(started.session, session, channel);
123
125
  // After setup succeeds, the ambient scope closes both the subscription and the SDK session.
124
126
  yield* Effect.addFinalizer(() => Effect.sync(subscription.unsubscribe).pipe(Effect.andThen(Effect.sync(acquired.dispose))));
125
- yield* Effect.tryPromise({
126
- try: () => started.session.prompt(request.prompt),
127
- catch: (cause) => childError("stream", request, "Pi child session failed", cause),
128
- }).pipe(Effect.flatMap(() => channel.finish(session, subscription.lastText() ??
129
- lastPiMessageText(started.session.messages) ??
130
- "Pi child session completed")), Effect.catch((error) => channel.fail(error)), Effect.forkScoped);
131
- const steer = Effect.fn("PiChildBackend.steer")((message) => Effect.logDebug("Steering Pi child session", {
132
- sessionId: session.id,
133
- }).pipe(Effect.andThen(Effect.tryPromise({
134
- try: () => started.session.steer(message),
135
- catch: (cause) => childError("steer", request, "Could not steer Pi child", cause),
136
- }))));
137
- const interrupt = Effect.logInfo("Interrupting Pi child session", {
138
- sessionId: session.id,
139
- }).pipe(Effect.andThen(Effect.tryPromise({
140
- try: () => started.session.abort(),
141
- catch: (cause) => childError("interrupt", request, "Could not interrupt Pi child", cause),
142
- })));
127
+ const controls = yield* piTurns({
128
+ session,
129
+ sdk: started.session,
130
+ channel,
131
+ gate,
132
+ prompt: request.prompt,
133
+ lastText: subscription.lastText,
134
+ error: (operation, cause) => childError(operation, request, `Pi child ${operation} failed`, cause),
135
+ });
143
136
  return {
144
137
  session,
145
138
  events: Stream.fromQueue(channel.events),
146
- interrupt,
139
+ ...controls,
147
140
  result: Deferred.await(channel.result),
148
- steer,
149
141
  };
150
142
  }));
151
143
  });
152
144
  return PiChildBackend.of({ launch });
153
145
  });
154
146
  const makePiParent = Effect.gen(function* () {
155
- const children = yield* ChildBackend;
147
+ const childBackend = yield* ChildBackend;
156
148
  const sdk = yield* PiSdk;
157
- const launch = Effect.fn("PiParentRuntime.launch")(function* (request) {
149
+ const launch = Effect.fn("PiParentRuntime.launch")(function* (request, children) {
158
150
  const parentId = AgentSessionId.make(`parent:${request.spec.attemptId}`);
159
151
  yield* Effect.annotateCurrentSpan({
160
152
  agent: request.spec.agent.name,
@@ -166,6 +158,7 @@ const makePiParent = Effect.gen(function* () {
166
158
  sessionId: parentId,
167
159
  });
168
160
  yield* Effect.logInfo("Launching Pi parent session");
161
+ const gate = yield* piPauseGate;
169
162
  const channel = yield* sessionChannel({
170
163
  label: "Pi parent session",
171
164
  sessionId: parentId,
@@ -181,14 +174,16 @@ const makePiParent = Effect.gen(function* () {
181
174
  return yield* usePiStart((signal) => sdk.start({
182
175
  cwd: request.cwd,
183
176
  extensions: [
177
+ gate.extension,
184
178
  subagentsExtension({
185
179
  agent: request.spec.agent,
186
- backend: children,
180
+ backend: childBackend,
187
181
  cwd: request.cwd,
188
182
  emit: channel.emit,
189
183
  maxChildren: request.spec.maxChildren,
190
184
  onBudgetExceeded: (error) => Deferred.succeed(childBudgetExceeded, error).pipe(Effect.asVoid),
191
185
  parentId,
186
+ register: children.register,
192
187
  run: runChild,
193
188
  }),
194
189
  ],
@@ -277,28 +272,21 @@ const makePiParent = Effect.gen(function* () {
277
272
  message: error.message,
278
273
  sessionId: parentId,
279
274
  })))));
280
- const run = Effect.raceFirst(Effect.tryPromise({
281
- try: () => started.session.prompt(prompt),
282
- catch: (cause) => parentError("stream", request, "Pi parent session failed", cause),
283
- }).pipe(Effect.flatMap(() => channel.finish(parent, subscription.lastText() ??
284
- lastPiMessageText(started.session.messages) ??
285
- "Pi parent session completed"))), budgetFailure).pipe(Effect.catch((error) => channel.fail(error)));
286
- yield* Effect.forkScoped(run);
287
- const steer = Effect.fn("PiParentRuntime.steer")((message) => Effect.logDebug("Steering Pi parent session", {
288
- sessionId: parentId,
289
- }).pipe(Effect.andThen(Effect.tryPromise({
290
- try: () => started.session.steer(message),
291
- catch: (cause) => parentError("steer", request, "Could not steer Pi", cause),
292
- }))));
293
- const interrupt = Effect.logInfo("Interrupting Pi parent session", {
294
- sessionId: parentId,
295
- }).pipe(Effect.andThen(abort));
275
+ yield* Effect.forkScoped(budgetFailure);
276
+ const controls = yield* piTurns({
277
+ session: parent,
278
+ sdk: started.session,
279
+ channel,
280
+ gate,
281
+ prompt,
282
+ lastText: subscription.lastText,
283
+ error: (operation, cause) => parentError(operation, request, `Pi parent ${operation} failed`, cause),
284
+ });
296
285
  return {
297
286
  session: parent,
298
287
  events: Stream.fromQueue(channel.events),
299
- interrupt,
288
+ ...controls,
300
289
  result: Deferred.await(channel.result),
301
- steer,
302
290
  };
303
291
  }));
304
292
  });
package/dist/pi/pi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/pi/pi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/pi/pi.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AgentSession, AgentSessionEvent, AgentSessionId, SessionFinished, TextOutput, ToolFinished, ToolStarted } from "@usine/core/agent/session";
1
+ import { AgentSession, AgentSessionEvent, AgentSessionId, SessionFinished, SessionTokensUpdated, TextOutput, ToolFinished, ToolStarted } from "@usine/core/agent/session";
2
2
  import { Cause, Deferred, Effect, Queue } from "effect";
3
3
  import { type AgentSessionError, SessionResult } from "../runtime.ts";
4
4
  import type { PiMessage, PiSession } from "./sdk.ts";
@@ -23,7 +23,7 @@ export interface SessionChannel {
23
23
  readonly finish: (session: AgentSession, message: string) => Effect.Effect<void>;
24
24
  }
25
25
  export declare const sessionChannel: (options: SessionChannelOptions) => Effect.Effect<{
26
- events: Queue.Queue<import("@usine/core/agent/session").PoolRateLimitsUpdated | SessionFinished | import("@usine/core/agent/session").SessionStarted | TextOutput | ToolFinished | ToolStarted, import("../runtime.ts").AgentResultError | import("../runtime.ts").ChildSessionBudgetExceededError | Cause.Done<void> | import("../runtime.ts").PoolUnavailableError | import("../runtime.ts").SessionOperationError | import("../runtime.ts").UnknownModelError | import("../runtime.ts").UnsupportedEffortError>;
26
+ events: Queue.Queue<import("@usine/core/agent/session").PoolRateLimitsUpdated | SessionFinished | import("@usine/core/agent/session").SessionIdle | import("@usine/core/agent/session").SessionResumed | import("@usine/core/agent/session").SessionStarted | SessionTokensUpdated | TextOutput | ToolFinished | ToolStarted, import("../runtime.ts").AgentResultError | import("../runtime.ts").ChildSessionBudgetExceededError | Cause.Done<void> | import("../runtime.ts").PoolUnavailableError | import("../runtime.ts").SessionOperationError | import("../runtime.ts").UnknownModelError | import("../runtime.ts").UnsupportedEffortError>;
27
27
  result: Deferred.Deferred<SessionResult, import("../runtime.ts").AgentResultError | import("../runtime.ts").ChildSessionBudgetExceededError | import("../runtime.ts").PoolUnavailableError | import("../runtime.ts").SessionOperationError | import("../runtime.ts").UnknownModelError | import("../runtime.ts").UnsupportedEffortError>;
28
28
  isTerminal: Effect.Effect<boolean, never, never>;
29
29
  onTerminal: (cleanup: () => void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAe,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,KAAK,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAkB,MAAM,UAAU,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACnD,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAClF;AAED,eAAO,MAAM,cAAc;;;;0BAqDD,MAAM,IAAI;kBA1Cb,iBAAiB;;;gBAiDtC,CAAC;AAyCH,eAAO,MAAM,iBAAiB,aAAc,aAAa,CAAC,SAAS,CAAC,KAAG,MAAM,GAAG,SAQ/E,CAAC;AA8BF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,cAClB,SAAS,WACX,YAAY,WACZ,cAAc;;;gBAsDrB,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/pi/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,oBAAoB,EAEpB,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAU,KAAK,EAAe,MAAM,QAAQ,CAAC;AAE7E,OAAO,EAAE,KAAK,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAkB,MAAM,UAAU,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAChF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACnD,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAClF;AAED,eAAO,MAAM,cAAc;;;;0BAqDD,MAAM,IAAI;kBA1Cb,iBAAiB;;;gBAiDtC,CAAC;AAyCH,eAAO,MAAM,iBAAiB,aAAc,aAAa,CAAC,SAAS,CAAC,KAAG,MAAM,GAAG,SAQ/E,CAAC;AA8BF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,cAClB,SAAS,WACX,YAAY,WACZ,cAAc;;;gBAyErB,CAAC"}
@@ -1,5 +1,6 @@
1
- import { AgentSession, AgentSessionEvent, AgentSessionId, SessionFinished, TextOutput, ToolFinished, ToolStarted, } from "@usine/core/agent/session";
2
- import { Cause, Deferred, Effect, Queue, Ref, Schema } from "effect";
1
+ import { AgentSession, AgentSessionEvent, AgentSessionId, SessionFinished, SessionTokensUpdated, TokenCount, TextOutput, ToolFinished, ToolStarted, } from "@usine/core/agent/session";
2
+ import { Cause, Deferred, Effect, Option, Queue, Ref, Schema } from "effect";
3
+ import { piMessageTokens } from "./usage.js";
3
4
  import { SessionResult } from "../runtime.js";
4
5
  export const sessionChannel = Effect.fn("SessionChannel.make")(function* (options) {
5
6
  const events = yield* Queue.make();
@@ -133,7 +134,19 @@ export const subscribePiSession = (piSession, session, channel) => Effect.gen(fu
133
134
  const context = yield* Effect.context();
134
135
  const log = Effect.runForkWith(context);
135
136
  let lastText;
137
+ let totalTokens = 0;
136
138
  const unsubscribe = piSession.subscribe((event) => {
139
+ if (event.type === "message_end") {
140
+ const usage = piMessageTokens(event.message);
141
+ if (Option.isSome(usage)) {
142
+ totalTokens += usage.value.usage.totalTokens;
143
+ if (!Queue.offerUnsafe(channel.events, new SessionTokensUpdated({ session, totalTokens: TokenCount.make(totalTokens) }))) {
144
+ log(Effect.logWarning("Dropped Pi usage after the terminal transition", {
145
+ sessionId: session.id,
146
+ }));
147
+ }
148
+ }
149
+ }
137
150
  if (event.type === "auto_retry_start") {
138
151
  log(Effect.logWarning("Pi session is backing off before a retry", {
139
152
  attempt: event.attempt,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/pi/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/pi/session.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type ExtensionFactory, type InlineExtension } from "@earendil-works/pi-
2
2
  import { Agent } from "@usine/core/agent";
3
3
  import { AgentSessionEvent, AgentSessionId, ChildSessionBudget } from "@usine/core/agent/session";
4
4
  import { Effect } from "effect";
5
- import { type AgentSessionError, type ChildBackend, ChildSessionBudgetExceededError, type WorkingDirectory } from "../runtime.ts";
5
+ import { type AgentSessionError, type ChildBackend, ChildSessionBudgetExceededError, type ChildSessions, type WorkingDirectory } from "../runtime.ts";
6
6
  export interface SubagentsExtensionOptions {
7
7
  readonly agent: Agent;
8
8
  readonly backend: ChildBackend["Service"];
@@ -12,6 +12,8 @@ export interface SubagentsExtensionOptions {
12
12
  /** Called on every rejected spawn; the parent decides what a repeat means. */
13
13
  readonly onBudgetExceeded: (error: ChildSessionBudgetExceededError) => Effect.Effect<void>;
14
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"];
15
17
  /**
16
18
  * Runs one child program on the parent launch's services and scope. Pi
17
19
  * calls the tool outside any usine fiber, so the default runtime would lose
@@ -1 +1 @@
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,EAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAG/C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAEjB,+BAA+B,EAC/B,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;;;;;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,gBAkG7E,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,YAAa,yBAAyB,KAAG,eAGtE,CAAC"}
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,7 +1,7 @@
1
1
  import { defineTool, } from "@earendil-works/pi-coding-agent";
2
2
  import { Agent } from "@usine/core/agent";
3
- import { AgentSessionEvent, AgentSessionId, ChildSession, ChildSessionBudget, ChildSessionCount, } from "@usine/core/agent/session";
4
- import { Effect, Fiber, Stream } from "effect";
3
+ import { AgentSessionEvent, AgentSessionId, ChildSession, ChildSessionBudget, ChildSessionCount, SessionFinished, } from "@usine/core/agent/session";
4
+ import { Effect, Exit, Fiber, Stream } from "effect";
5
5
  import { Type } from "typebox";
6
6
  import { assembleChildPrompt } from "../prompt.js";
7
7
  import { ChildRequest, ChildSessionBudgetExceededError, } from "../runtime.js";
@@ -74,6 +74,13 @@ export const createSubagentsExtension = (options) => {
74
74
  taskExcerpt: excerpt,
75
75
  });
76
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);
77
84
  const forward = yield* child.events.pipe(Stream.runForEach(options.emit), Effect.forkScoped);
78
85
  const result = yield* Effect.raceFirst(child.result, interrupted(signal, request.session.id).pipe(Effect.andThen(child.interrupt), Effect.andThen(Effect.interrupt)));
79
86
  yield* Fiber.join(forward);
@@ -1 +1 @@
1
- {"version":3,"file":"subagents.js","sourceRoot":"","sources":["../../src/pi/subagents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagents.js","sourceRoot":"","sources":["../../src/pi/subagents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { AgentSession } from "@usine/core/agent/session";
2
+ import { Effect } from "effect";
3
+ import { type AgentSessionError } from "../runtime.ts";
4
+ import type { PiSession } from "./sdk.ts";
5
+ import { type SessionChannel } from "./session.ts";
6
+ /** Gates Pi tools and provider requests without aborting a parent's still-live children. */
7
+ export declare const piPauseGate: Effect.Effect<{
8
+ set: (next: Effect.Effect<void>) => void;
9
+ extension: {
10
+ name: string;
11
+ factory: (pi: import("@earendil-works/pi-coding-agent").ExtensionAPI) => void;
12
+ };
13
+ }, never, import("effect/Scope").Scope>;
14
+ /** Runs successive Pi turns in one SDK session while the conversation owns completion. */
15
+ export declare const piTurns: (options: {
16
+ readonly session: AgentSession;
17
+ readonly sdk: PiSession;
18
+ readonly channel: SessionChannel;
19
+ readonly prompt: string;
20
+ readonly lastText: () => string | undefined;
21
+ readonly error: (operation: "stream" | "steer" | "interrupt", cause: unknown) => AgentSessionError;
22
+ readonly gate: Effect.Success<typeof piPauseGate>;
23
+ }) => Effect.Effect<{
24
+ intervene: (action: import("@usine/core/attempt/channel").Interrupt | import("@usine/core/attempt/channel").OperatorMessage | import("@usine/core/attempt/channel").Release | import("@usine/core/attempt/channel").Steer) => Effect.Effect<import("@usine/core/attempt/channel").InterventionState, import("../runtime.ts").AgentResultError | import("../runtime.ts").ChildSessionBudgetExceededError | import("../runtime.ts").PoolUnavailableError | import("../runtime.ts").SessionOperationError | import("../runtime.ts").UnknownModelError | import("../runtime.ts").UnsupportedEffortError, never>;
25
+ steer: (message: string) => Effect.Effect<void, import("../runtime.ts").AgentResultError | import("../runtime.ts").ChildSessionBudgetExceededError | import("../runtime.ts").PoolUnavailableError | import("../runtime.ts").SessionOperationError | import("../runtime.ts").UnknownModelError | import("../runtime.ts").UnsupportedEffortError, never>;
26
+ interrupt: Effect.Effect<void, import("../runtime.ts").AgentResultError | import("../runtime.ts").ChildSessionBudgetExceededError | import("../runtime.ts").PoolUnavailableError | import("../runtime.ts").SessionOperationError | import("../runtime.ts").UnknownModelError | import("../runtime.ts").UnsupportedEffortError, never>;
27
+ }, never, import("effect/Scope").Scope>;
28
+ //# sourceMappingURL=turns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turns.d.ts","sourceRoot":"","sources":["../../src/pi/turns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAS,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,eAAe,CAAC;AAE5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEtE,4FAA4F;AAC5F,eAAO,MAAM,WAAW;gBASR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;;;;uCAWjC,CAAC;AAEH,0FAA0F;AAC1F,eAAO,MAAM,OAAO;sBACA,YAAY;kBAChB,SAAS;sBACL,cAAc;qBACf,MAAM;uBACJ,MAAM,MAAM,GAAG,SAAS;oBAC3B,CACd,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,EAC3C,KAAK,EAAE,OAAO,KACX,iBAAiB;mBACP,MAAM,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC;;;qBAiBzB,MAAM;;uCAsB9B,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { AgentSession } from "@usine/core/agent/session";
2
+ import { Effect, Fiber } from "effect";
3
+ import {} from "../runtime.js";
4
+ import { sessionConversation } from "./conversation.js";
5
+ import { lastPiMessageText } from "./session.js";
6
+ /** Gates Pi tools and provider requests without aborting a parent's still-live children. */
7
+ export const piPauseGate = Effect.gen(function* () {
8
+ const context = yield* Effect.context();
9
+ const scope = yield* Effect.scope;
10
+ let boundary = Effect.void;
11
+ const wait = () => Effect.runPromiseWith(context)(Effect.suspend(() => boundary).pipe(Effect.forkIn(scope), Effect.flatMap(Fiber.join)));
12
+ return {
13
+ set: (next) => {
14
+ boundary = next;
15
+ },
16
+ extension: {
17
+ name: "usine-session-intervention",
18
+ factory: (pi) => {
19
+ pi.on("tool_call", wait);
20
+ pi.on("before_provider_request", wait);
21
+ },
22
+ },
23
+ };
24
+ });
25
+ /** Runs successive Pi turns in one SDK session while the conversation owns completion. */
26
+ export const piTurns = Effect.fn("PiTurns.start")(function* (options) {
27
+ const scope = yield* Effect.scope;
28
+ const startTurn = (message) => Effect.tryPromise({
29
+ try: () => options.sdk.prompt(message),
30
+ catch: (cause) => options.error("stream", cause),
31
+ }).pipe(Effect.flatMap(() => conversation.finish(options.lastText() ?? lastPiMessageText(options.sdk.messages) ?? "Pi session completed")), Effect.catch(options.channel.fail), Effect.forkIn(scope), Effect.asVoid);
32
+ const steer = (message) => Effect.tryPromise({
33
+ try: () => options.sdk.steer(message),
34
+ catch: (cause) => options.error("steer", cause),
35
+ });
36
+ const conversation = yield* sessionConversation({
37
+ session: options.session,
38
+ channel: options.channel,
39
+ send: (message, activity) => (activity === "idle" ? startTurn(message) : steer(message)),
40
+ pause: Effect.void,
41
+ beforeFinish: Effect.void,
42
+ });
43
+ options.gate.set(conversation.awaitUnpaused);
44
+ yield* startTurn(options.prompt);
45
+ return {
46
+ intervene: conversation.intervene,
47
+ steer,
48
+ interrupt: Effect.tryPromise({
49
+ try: () => options.sdk.abort(),
50
+ catch: (cause) => options.error("interrupt", cause),
51
+ }),
52
+ };
53
+ });
54
+ //# sourceMappingURL=turns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turns.js","sourceRoot":"","sources":["../../src/pi/turns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { TokenCount } from "@usine/core/agent/session";
2
+ import { Option, Schema } from "effect";
3
+ /** Pi assistant usage is per completed message, including cache tokens. */
4
+ export declare const piMessageTokens: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => Option.Option<{
5
+ readonly role: "assistant";
6
+ readonly usage: {
7
+ readonly totalTokens: number;
8
+ };
9
+ }>;
10
+ /** Tracks Claude's live message usage and reconciles its cumulative query meter at each result.
11
+ * Repeated blocks with the same message id count only their additional tokens.
12
+ * The SDK's result.usage is per-turn and excludes auxiliary work; modelUsage
13
+ * includes that work and stays cumulative across streaming-input turns.
14
+ */
15
+ export declare const claudeTokenMeter: () => (message: Schema.Json) => Option.Option<TokenCount>;
16
+ /** Codex's thread meter is cumulative across turns on the same thread. */
17
+ export declare const CodexTokenUsage: Schema.Struct<{
18
+ readonly threadId: Schema.NonEmptyString;
19
+ readonly tokenUsage: Schema.Struct<{
20
+ readonly total: Schema.Struct<{
21
+ readonly totalTokens: Schema.brand<Schema.Int, "TokenCount">;
22
+ }>;
23
+ }>;
24
+ }>;
25
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/pi/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQxC,2EAA2E;AAC3E,eAAO,MAAM,eAAe;;;;;EAAsC,CAAC;AA2BnE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kBAGV,MAAM,CAAC,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CA4BxD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,eAAe;;;;;;;EAG1B,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { TokenCount } from "@usine/core/agent/session";
2
+ import { Option, Schema } from "effect";
3
+ const Count = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0));
4
+ const PiUsage = Schema.Struct({
5
+ role: Schema.Literal("assistant"),
6
+ usage: Schema.Struct({ totalTokens: Count }),
7
+ });
8
+ /** Pi assistant usage is per completed message, including cache tokens. */
9
+ export const piMessageTokens = Schema.decodeUnknownOption(PiUsage);
10
+ const ClaudeAssistantUsage = Schema.Struct({
11
+ type: Schema.Literal("assistant"),
12
+ message: Schema.Struct({
13
+ id: Schema.NonEmptyString,
14
+ usage: Schema.Struct({
15
+ input_tokens: Count,
16
+ output_tokens: Count,
17
+ cache_read_input_tokens: Schema.optionalKey(Schema.NullOr(Count)),
18
+ cache_creation_input_tokens: Schema.optionalKey(Schema.NullOr(Count)),
19
+ }),
20
+ }),
21
+ });
22
+ const ClaudeModelUsage = Schema.Struct({
23
+ inputTokens: Count,
24
+ outputTokens: Count,
25
+ cacheReadInputTokens: Count,
26
+ cacheCreationInputTokens: Count,
27
+ });
28
+ const ClaudeResultUsage = Schema.Struct({
29
+ type: Schema.Literal("result"),
30
+ modelUsage: Schema.Record(Schema.String, ClaudeModelUsage),
31
+ });
32
+ const decodeAssistant = Schema.decodeUnknownOption(ClaudeAssistantUsage);
33
+ const decodeResult = Schema.decodeUnknownOption(ClaudeResultUsage);
34
+ /** Tracks Claude's live message usage and reconciles its cumulative query meter at each result.
35
+ * Repeated blocks with the same message id count only their additional tokens.
36
+ * The SDK's result.usage is per-turn and excludes auxiliary work; modelUsage
37
+ * includes that work and stays cumulative across streaming-input turns.
38
+ */
39
+ export const claudeTokenMeter = () => {
40
+ let total = 0;
41
+ const messages = new Map();
42
+ return (message) => {
43
+ const assistant = decodeAssistant(message);
44
+ if (Option.isSome(assistant)) {
45
+ const { id, usage } = assistant.value.message;
46
+ const consumed = usage.input_tokens +
47
+ usage.output_tokens +
48
+ (usage.cache_read_input_tokens ?? 0) +
49
+ (usage.cache_creation_input_tokens ?? 0);
50
+ const previous = messages.get(id) ?? 0;
51
+ total += Math.max(0, consumed - previous);
52
+ messages.set(id, Math.max(previous, consumed));
53
+ return Option.some(TokenCount.make(total));
54
+ }
55
+ const result = decodeResult(message);
56
+ if (Option.isNone(result))
57
+ return Option.none();
58
+ const consumed = Object.values(result.value.modelUsage).reduce((sum, usage) => sum +
59
+ usage.inputTokens +
60
+ usage.outputTokens +
61
+ usage.cacheReadInputTokens +
62
+ usage.cacheCreationInputTokens, 0);
63
+ total = Math.max(total, consumed);
64
+ return Option.some(TokenCount.make(total));
65
+ };
66
+ };
67
+ /** Codex's thread meter is cumulative across turns on the same thread. */
68
+ export const CodexTokenUsage = Schema.Struct({
69
+ threadId: Schema.NonEmptyString,
70
+ tokenUsage: Schema.Struct({ total: Schema.Struct({ totalTokens: TokenCount }) }),
71
+ });
72
+ //# sourceMappingURL=usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/pi/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;CAC7C,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAEnE,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC,cAAc;QACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,KAAK;YACpB,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjE,2BAA2B,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACtE,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,oBAAoB,EAAE,KAAK;IAC3B,wBAAwB,EAAE,KAAK;CAChC,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;CAC3D,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AACzE,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,OAAO,CAAC,OAAoB,EAA6B,EAAE;QACzD,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YAC9C,MAAM,QAAQ,GACZ,KAAK,CAAC,YAAY;gBAClB,KAAK,CAAC,aAAa;gBACnB,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;gBACpC,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;YAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAC5D,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACb,GAAG;YACH,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,oBAAoB;YAC1B,KAAK,CAAC,wBAAwB,EAChC,CAAC,CACF,CAAC;QACF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC,cAAc;IAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;CACjF,CAAC,CAAC"}