@knpkv/herdr-fleet 0.5.0 → 0.6.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/README.md CHANGED
@@ -4,7 +4,15 @@ Fleet job protocol and local decision authority for Herdr hosts.
4
4
 
5
5
  The host that receives a job owns its durable SQLite record and every state transition. Risky work starts as `pending_approval`; approval is bound to the job's canonical hash and one-time nonce. Rejection and expiry clear that nonce. Safe work queues immediately. `submit` takes a `SubmissionProvenance`, defaulting to `authenticated_remote`. With `verified_local_listener`, the `nix.*` and `agent.*` kinds in `LocalListenerApprovalExemptKind` queue without approval; Work authority kinds and `browser.mcp.recover` still start as `pending_approval`. The exempt list is typed to exclude every Work kind, so adding one fails to compile. Recovery resumes queued jobs and expires stale approvals without moving authority to a coordinator.
6
6
 
7
- `JobRecord.hash` persists a lowercase hex SHA-256 digest. Its canonical JSON input contains the host, actor, payload discriminant, and every identity field for that variant: `ref` for `nix.apply`; `repository`, `prompt`, `mode`, and the optional `channel` for `agent.delegate`; `session` and `message` for `agent.message`; no extra field for `nix.check` or `browser.mcp.recover`. Raw credentials and provider secrets never enter this hash or the persisted job payload.
7
+ `JobRecord.hash` persists a lowercase hex SHA-256 digest. Its canonical JSON input contains the host, actor, payload discriminant, and every identity field for that variant: `ref` for `nix.apply`; `repository`, `prompt`, `mode`, and the optional `channel` for `agent.delegate`; `session` and `message` for `agent.message`; no extra field for `nix.check` or `browser.mcp.recover`. For the Work kinds:
8
+
9
+ - **`work.reconcile`:** `repository`, `pullRequest`, `goalId`, `laneId`, `operationId`, `expectedRevision`, `expectedHead`, `newHead`, `expectedOwner` (`id`, `name`), `expectedGoalEventId`, `bindingDispatchRequestId`, `sessionId`, `expectedWork`, the worker's `host`, `agentId`, `name`, `paneId` and optional `relationship` (`parentAgentId`, `relation`), `worktree` and `branch`.
10
+ - **`work.admit`:** `repository`, `pullRequest`, `reviewUrl`, `goalId`, `laneId`, `operationId`, `expectedAbsenceToken`, `head`, `baseHead`, `owner` (`id`, `name`), `sessionId`, `expectedWork`, the worker's `host`, `agentId`, `name`, `paneId` and optional `relationship` (`parentAgentId`, `relation`), `worktree`, `branch`, `title`, `summary` and `detail`.
11
+ - **`work.recover`:** `repository`, `pullRequest`, `reviewUrl`, `goalId`, `laneId`, `operationId`, `expectedGoalEventId`, `expectedGoalUpdatedAt`, `expectedHistoryToken`, `head`, `baseHead`, `owner` (`id`, `name`), `sessionId`, `expectedWork`, the worker's `host`, `agentId`, `name`, `paneId` and optional `relationship` (`parentAgentId`, `relation`), `worktree` and `branch`.
12
+ - **`work.reassign`:** `goalId`, `from` and `to` (`id`, `name`), `toAgent` (its tag, and for `set` the agent's `host`, `agentId`, `name`, `paneId` and optional `relationship`), `reason`, `expectedGoalEventId` and `expectedGoalUpdatedAt`.
13
+ - **`work.abandon`:** `goalId`, `owner` (`id`, `name`), `reason`, `expectedGoalEventId` and `expectedGoalUpdatedAt`.
14
+
15
+ The persisted payload is the decoded job payload; the hash is computed over that canonical form, so field order never changes it. Raw credentials and provider secrets never enter this hash or the persisted job payload.
8
16
 
9
17
  `AgentDelegate.mode` is the explicit model-dispatch intent. `consult` is a bounded Luna consultation at medium reasoning effort; `transition_summary` is a Luna summary at low effort. `review` and `work`, including coding, recovery, escalation, mutation, and public-contract changes, remain Sol work at high effort. Status and wait use their non-delegating operations and never become model dispatches. Adapters must switch on this required discriminator; prompt inference and a default route are invalid.
10
18
 
@@ -31,7 +39,7 @@ The coordinator's orchestrator database (`@effect/sql-sqlite-node`) keeps its ow
31
39
 
32
40
  Callers provide `HostOperations`. This keeps Nix, Git, and Herdr command execution out of the protocol package. `run` and `runCoordinatorChat` receive the accepted job ID and actor after the fleet service has enforced submission and approval. They also receive a typed lifecycle callback. Existing synchronous adapters may ignore these trailing arguments. A durable adapter supplies `recovery.matches` and `recovery.resume`, calls `accepted` once with its receipt before returning, then calls `terminal` once after the coordinator persists `settled`, `delivery_failed`, or `task_failed`. Fleet marks the job durable before invoking the adapter, stores the receipt in `acceptedReceipt`, and keeps the wrapper running between acceptance and terminal observation. If receipt validation or persistence fails after the adapter calls `accepted`, Fleet leaves the job running with a null receipt so restart recovery can idempotently rejoin the committed coordinator request. After restart, `recovery.resume` receives the deterministic job ID, either the persisted receipt or `null`, and the exact persisted worker identity or `null`. The `null` receipt case must idempotently rejoin or complete submission across a crash between the coordinator commit and Fleet receipt persistence. When a worker is present, recovery reattaches that worker and replays `workerStarted` without prompting or discovering another worker. Exact replay is accepted only during recovery, with Fleet host casing normalized; a different agent, pane, name, or relationship remains a conflict. The job ID and actor remain the idempotency and command-identity inputs.
33
41
 
34
- Work authority jobs (`work.reconcile`, `work.admit`, `work.recover`, `work.reassign`) run only through a composed Work adapter. That adapter is wired by the host's operations composer, not by the default operations. An adapter declares the kinds it executes in `HostOperations.workJobKinds`. `submit` refuses any other Work kind with `FleetOperationUnavailableError` before a job or approval request exists, so an approver is never asked to approve a job that this host cannot run. When `workJobKinds` is absent, the host runs no Work kinds.
42
+ Work authority jobs (`work.reconcile`, `work.admit`, `work.recover`, `work.reassign`, `work.abandon`) run only through a composed Work adapter. That adapter is wired by the host's operations composer, not by the default operations. An adapter declares the kinds it executes in `HostOperations.workJobKinds`. `submit` refuses any other Work kind with `FleetOperationUnavailableError` before a job or approval request exists, so an approver is never asked to approve a job that this host cannot run. When `workJobKinds` is absent, the host runs no Work kinds.
35
43
 
36
44
  Fleet stores a bounded terminal summary, not the coordinator's authoritative result. Pass coordinator results and failure details through `summarizeHostOperationTerminalDetail` before calling `terminal`; the authoritative full value remains in the coordinator event store. Summaries are limited to 20,000 UTF-8 bytes so successful coordinator-chat results retain the existing `CoordinatorReply` contract. The lifecycle callback validates its receipt and terminal schema before persistence, so every admitted value fits the complete Fleet record envelope.
37
45
 
package/dist/hash.d.ts CHANGED
@@ -145,6 +145,16 @@ export declare const jobHash: (host: string, actor: string, payload: {
145
145
  readonly reason: string;
146
146
  readonly expectedGoalEventId: string;
147
147
  readonly expectedGoalUpdatedAt: number;
148
+ } | {
149
+ readonly kind: "work.abandon";
150
+ readonly goalId: string;
151
+ readonly owner: {
152
+ readonly id: string;
153
+ readonly name: string;
154
+ };
155
+ readonly reason: string;
156
+ readonly expectedGoalEventId: string;
157
+ readonly expectedGoalUpdatedAt: number;
148
158
  } | {
149
159
  readonly kind: "browser.mcp.recover";
150
160
  }) => Effect.Effect<string, FleetOperationError, Crypto.Crypto>;
@@ -1 +1 @@
1
- {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,UAAU,KAAG,MAwIzD,CAAA;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAkBlB,CAAA"}
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI5C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAa,UAAU,KAAG,MAiJzD,CAAA;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAkBlB,CAAA"}
package/dist/hash.js CHANGED
@@ -137,6 +137,15 @@ export const canonicalJobPayload = (payload) => {
137
137
  expectedGoalEventId: payload.expectedGoalEventId,
138
138
  expectedGoalUpdatedAt: payload.expectedGoalUpdatedAt
139
139
  });
140
+ case "work.abandon":
141
+ return JSON.stringify({
142
+ kind: payload.kind,
143
+ goalId: payload.goalId,
144
+ owner: { id: payload.owner.id, name: payload.owner.name },
145
+ reason: payload.reason,
146
+ expectedGoalEventId: payload.expectedGoalEventId,
147
+ expectedGoalUpdatedAt: payload.expectedGoalUpdatedAt
148
+ });
140
149
  }
141
150
  };
142
151
  export const jobHash = Effect.fn("Fleet.jobHash")(function* (host, actor, payload) {
package/dist/hash.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"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"}
package/dist/model.d.ts CHANGED
@@ -238,10 +238,37 @@ export declare const WorkReassign: Schema.Struct<{
238
238
  readonly expectedGoalUpdatedAt: Schema.Number;
239
239
  }>;
240
240
  export type WorkReassign = typeof WorkReassign.Type;
241
+ /** Activity text the Work store records for an approved abandonment. */
242
+ export declare const workAbandonActivitySummary: (payload: {
243
+ readonly reason: string;
244
+ }, approvalJobId: string, approvalHash: string) => string;
245
+ /**
246
+ * Accepts an abandonment only when its longest possible activity summary fits
247
+ * Work's durable limits, so nothing approved can fail to record for size or
248
+ * control characters.
249
+ */
250
+ export declare const workAbandonIsRecordable: (payload: Parameters<typeof workAbandonActivitySummary>[0]) => boolean;
251
+ /**
252
+ * Approval-bound move of one Work goal, owned by exactly `owner` and at the
253
+ * exact head the approver saw, to `abandoned`. A goal with an active lane, or
254
+ * already finished, is refused: releasing a lane is its own approved action.
255
+ */
256
+ export declare const WorkAbandon: Schema.Struct<{
257
+ readonly kind: Schema.Literal<"work.abandon">;
258
+ readonly goalId: Schema.String;
259
+ readonly owner: Schema.Struct<{
260
+ readonly id: Schema.String;
261
+ readonly name: Schema.String;
262
+ }>;
263
+ readonly reason: Schema.String;
264
+ readonly expectedGoalEventId: Schema.String;
265
+ readonly expectedGoalUpdatedAt: Schema.Number;
266
+ }>;
267
+ export type WorkAbandon = typeof WorkAbandon.Type;
241
268
  /** Fleet job kinds that change Work authority; only a composed Work adapter executes them. */
242
- export declare const WorkJobKind: Schema.Literals<readonly ["work.reconcile", "work.admit", "work.recover", "work.reassign"]>;
269
+ export declare const WorkJobKind: Schema.Literals<readonly ["work.reconcile", "work.admit", "work.recover", "work.reassign", "work.abandon"]>;
243
270
  export type WorkJobKind = typeof WorkJobKind.Type;
244
- export declare const isWorkJobKind: <I>(input: I) => input is I & ("work.admit" | "work.reassign" | "work.reconcile" | "work.recover");
271
+ export declare const isWorkJobKind: <I>(input: I) => input is I & ("work.abandon" | "work.admit" | "work.reassign" | "work.reconcile" | "work.recover");
245
272
  export declare const BrowserMcpRecover: Schema.Struct<{
246
273
  readonly kind: Schema.Literal<"browser.mcp.recover">;
247
274
  }>;
@@ -384,6 +411,16 @@ export declare const CoreJobPayload: Schema.Union<readonly [Schema.Union<readonl
384
411
  readonly reason: Schema.String;
385
412
  readonly expectedGoalEventId: Schema.String;
386
413
  readonly expectedGoalUpdatedAt: Schema.Number;
414
+ }>, Schema.Struct<{
415
+ readonly kind: Schema.Literal<"work.abandon">;
416
+ readonly goalId: Schema.String;
417
+ readonly owner: Schema.Struct<{
418
+ readonly id: Schema.String;
419
+ readonly name: Schema.String;
420
+ }>;
421
+ readonly reason: Schema.String;
422
+ readonly expectedGoalEventId: Schema.String;
423
+ readonly expectedGoalUpdatedAt: Schema.Number;
387
424
  }>]>;
388
425
  export type CoreJobPayload = typeof CoreJobPayload.Type;
389
426
  export declare const LocalJobPayload: Schema.Struct<{
@@ -528,6 +565,16 @@ export declare const JobPayload: Schema.Union<readonly [Schema.Union<readonly [S
528
565
  readonly reason: Schema.String;
529
566
  readonly expectedGoalEventId: Schema.String;
530
567
  readonly expectedGoalUpdatedAt: Schema.Number;
568
+ }>, Schema.Struct<{
569
+ readonly kind: Schema.Literal<"work.abandon">;
570
+ readonly goalId: Schema.String;
571
+ readonly owner: Schema.Struct<{
572
+ readonly id: Schema.String;
573
+ readonly name: Schema.String;
574
+ }>;
575
+ readonly reason: Schema.String;
576
+ readonly expectedGoalEventId: Schema.String;
577
+ readonly expectedGoalUpdatedAt: Schema.Number;
531
578
  }>]>, Schema.Struct<{
532
579
  readonly kind: Schema.Literal<"browser.mcp.recover">;
533
580
  }>]>;
@@ -671,6 +718,16 @@ export declare const JobRequest: Schema.Struct<{
671
718
  readonly reason: Schema.String;
672
719
  readonly expectedGoalEventId: Schema.String;
673
720
  readonly expectedGoalUpdatedAt: Schema.Number;
721
+ }>, Schema.Struct<{
722
+ readonly kind: Schema.Literal<"work.abandon">;
723
+ readonly goalId: Schema.String;
724
+ readonly owner: Schema.Struct<{
725
+ readonly id: Schema.String;
726
+ readonly name: Schema.String;
727
+ }>;
728
+ readonly reason: Schema.String;
729
+ readonly expectedGoalEventId: Schema.String;
730
+ readonly expectedGoalUpdatedAt: Schema.Number;
674
731
  }>]>, Schema.Struct<{
675
732
  readonly kind: Schema.Literal<"browser.mcp.recover">;
676
733
  }>]>;
@@ -859,6 +916,16 @@ export declare const JobRecord: Schema.Struct<{
859
916
  readonly reason: Schema.String;
860
917
  readonly expectedGoalEventId: Schema.String;
861
918
  readonly expectedGoalUpdatedAt: Schema.Number;
919
+ }>, Schema.Struct<{
920
+ readonly kind: Schema.Literal<"work.abandon">;
921
+ readonly goalId: Schema.String;
922
+ readonly owner: Schema.Struct<{
923
+ readonly id: Schema.String;
924
+ readonly name: Schema.String;
925
+ }>;
926
+ readonly reason: Schema.String;
927
+ readonly expectedGoalEventId: Schema.String;
928
+ readonly expectedGoalUpdatedAt: Schema.Number;
862
929
  }>]>, Schema.Struct<{
863
930
  readonly kind: Schema.Literal<"browser.mcp.recover">;
864
931
  }>]>;
@@ -1042,6 +1109,16 @@ export declare const JobHistoryPage: Schema.Struct<{
1042
1109
  readonly reason: Schema.String;
1043
1110
  readonly expectedGoalEventId: Schema.String;
1044
1111
  readonly expectedGoalUpdatedAt: Schema.Number;
1112
+ }>, Schema.Struct<{
1113
+ readonly kind: Schema.Literal<"work.abandon">;
1114
+ readonly goalId: Schema.String;
1115
+ readonly owner: Schema.Struct<{
1116
+ readonly id: Schema.String;
1117
+ readonly name: Schema.String;
1118
+ }>;
1119
+ readonly reason: Schema.String;
1120
+ readonly expectedGoalEventId: Schema.String;
1121
+ readonly expectedGoalUpdatedAt: Schema.Number;
1045
1122
  }>]>, Schema.Struct<{
1046
1123
  readonly kind: Schema.Literal<"browser.mcp.recover">;
1047
1124
  }>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/model.js CHANGED
@@ -175,8 +175,38 @@ export const WorkReassign = Schema.Struct({
175
175
  }).check(Schema.makeFilter(workReassignIsRecordable, {
176
176
  expected: "a different, recordable target owner and a bounded single-line activity summary"
177
177
  }));
178
+ /** Activity text the Work store records for an approved abandonment. */
179
+ export const workAbandonActivitySummary = (payload, approvalJobId, approvalHash) => `Abandoned: ${payload.reason} (approved Fleet job ${approvalJobId}, hash ${approvalHash})`;
180
+ /**
181
+ * Accepts an abandonment only when its longest possible activity summary fits
182
+ * Work's durable limits, so nothing approved can fail to record for size or
183
+ * control characters.
184
+ */
185
+ export const workAbandonIsRecordable = (payload) => {
186
+ const summary = workAbandonActivitySummary(payload, "j".repeat(256), "0".repeat(64));
187
+ return summary.length <= workReassignActivityMaxLength && workReassignActivityText.test(summary);
188
+ };
189
+ /**
190
+ * Approval-bound move of one Work goal, owned by exactly `owner` and at the
191
+ * exact head the approver saw, to `abandoned`. A goal with an active lane, or
192
+ * already finished, is refused: releasing a lane is its own approved action.
193
+ */
194
+ export const WorkAbandon = Schema.Struct({
195
+ kind: Schema.Literal("work.abandon"),
196
+ goalId: WorkAdmit.fields.goalId,
197
+ owner: WorkAdmit.fields.owner,
198
+ reason: WorkReassign.fields.reason,
199
+ expectedGoalEventId: WorkRecover.fields.expectedGoalEventId,
200
+ expectedGoalUpdatedAt: WorkRecover.fields.expectedGoalUpdatedAt
201
+ }).check(Schema.makeFilter(workAbandonIsRecordable, { expected: "a bounded single-line activity summary" }));
178
202
  /** Fleet job kinds that change Work authority; only a composed Work adapter executes them. */
179
- export const WorkJobKind = Schema.Literals(["work.reconcile", "work.admit", "work.recover", "work.reassign"]);
203
+ export const WorkJobKind = Schema.Literals([
204
+ "work.reconcile",
205
+ "work.admit",
206
+ "work.recover",
207
+ "work.reassign",
208
+ "work.abandon"
209
+ ]);
180
210
  export const isWorkJobKind = Schema.is(WorkJobKind);
181
211
  export const BrowserMcpRecover = Schema.Struct({
182
212
  kind: Schema.Literal("browser.mcp.recover")
@@ -186,7 +216,8 @@ export const CoreJobPayload = Schema.Union([
186
216
  WorkReconcile,
187
217
  WorkAdmit,
188
218
  WorkRecover,
189
- WorkReassign
219
+ WorkReassign,
220
+ WorkAbandon
190
221
  ]);
191
222
  export const LocalJobPayload = BrowserMcpRecover;
192
223
  export const JobPayload = Schema.Union([
@@ -374,6 +405,7 @@ export const requiresApproval = (payload) => payload.kind === "nix.apply" ||
374
405
  payload.kind === "work.admit" ||
375
406
  payload.kind === "work.recover" ||
376
407
  payload.kind === "work.reassign" ||
408
+ payload.kind === "work.abandon" ||
377
409
  (payload.kind === "agent.delegate" && payload.mode === "work");
378
410
  /**
379
411
  * Job kinds a verified local listener may queue without approval. Work kinds
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,EAAU,MAAM,QAAQ,CAAA;AAC1D,OAAO,KAAK,KAAK,kBAAkB,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AASvD,eAAO,MAAM,mBAAmB,+HAqC9B,CAAA;AAEF,eAAO,MAAM,yBAAyB,GAAmD,CAAC,wLAgBxF,CAAA"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAa,MAAM,EAAE,MAAM,QAAQ,CAAA;AAClD,OAAO,KAAK,KAAK,kBAAkB,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAGpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAEvD,eAAO,MAAM,mBAAmB,+HAqB9B,CAAA;AAEF,eAAO,MAAM,yBAAyB,GAAmD,CAAC,wLAgBxF,CAAA"}
package/dist/response.js CHANGED
@@ -1,31 +1,21 @@
1
- import { Effect, Predicate, Schema, Stream } from "effect";
1
+ import { collectBounded } from "@knpkv/bounded-io";
2
+ import { Effect, Predicate, Schema } from "effect";
2
3
  import { FleetResponseBodyError } from "./errors.js";
3
4
  import { fleetResponseBodyMaxBytes } from "./limits.js";
4
5
  export { fleetResponseBodyMaxBytes } from "./limits.js";
5
- const emptyResponseBody = () => ({ bytes: 0, chunks: [] });
6
6
  export const boundedResponseText = Effect.fn("FleetResponse.boundedText")(function* (response, maximumBytes = fleetResponseBodyMaxBytes) {
7
- const collected = yield* response.stream.pipe(Stream.runFoldEffect(emptyResponseBody, (state, chunk) => {
8
- const bytes = state.bytes + chunk.byteLength;
9
- return bytes > maximumBytes
10
- ? Effect.fail(new FleetResponseBodyError({
11
- cause: bytes,
12
- detail: `response body exceeded ${maximumBytes} bytes`,
13
- reason: "too_large"
14
- }))
15
- : Effect.succeed({ bytes, chunks: [...state.chunks, chunk] });
16
- }), Effect.mapError((cause) => Predicate.isTagged(cause, "FleetResponseBodyError")
17
- ? cause
7
+ // A whole-body decode, as before: a truncated trailing sequence becomes U+FFFD.
8
+ const body = yield* collectBounded(response.stream, maximumBytes).pipe(Effect.mapError((cause) => Predicate.isTagged(cause, "ByteLimitExceeded")
9
+ ? new FleetResponseBodyError({
10
+ cause: cause.observedBytes,
11
+ detail: `response body exceeded ${maximumBytes} bytes`,
12
+ reason: "too_large"
13
+ })
18
14
  : new FleetResponseBodyError({
19
15
  cause,
20
16
  detail: String(cause),
21
17
  reason: "transport"
22
18
  })));
23
- const body = new Uint8Array(collected.bytes);
24
- let offset = 0;
25
- for (const chunk of collected.chunks) {
26
- body.set(chunk, offset);
27
- offset += chunk.byteLength;
28
- }
29
19
  return new TextDecoder().decode(body);
30
20
  });
31
21
  export const decodeBoundedResponseJson = Effect.fn("FleetResponse.decodeJson")(function* (response, schema, maximumBytes = fleetResponseBodyMaxBytes) {
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAOvD,MAAM,iBAAiB,GAAG,GAAsB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EACjF,QAA+C,EAC/C,YAAY,GAAG,yBAAyB;IAExC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAC3C,MAAM,CAAC,aAAa,CAClB,iBAAiB,EACjB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACf,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAA;QAC5C,OAAO,KAAK,GAAG,YAAY;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CACX,IAAI,sBAAsB,CAAC;gBACzB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,0BAA0B,YAAY,QAAQ;gBACtD,MAAM,EAAE,WAAW;aACpB,CAAC,CACH;YACD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IACjE,CAAC,CACF,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;QACjD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,sBAAsB,CAAC;YAC3B,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,EAAE,WAAW;SACpB,CAAC,CACL,CACF,CAAA;IACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAA;IAC5B,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EACtF,QAA+C,EAC/C,MAA8C,EAC9C,YAAY,GAAG,yBAAyB;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAChF,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,sBAAsB,CAAC;QACzB,KAAK;QACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACrB,MAAM,EAAE,QAAQ;KACjB,CAAC,CACL,CACF,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../src/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAElD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EACjF,QAA+C,EAC/C,YAAY,GAAG,yBAAyB;IAExC,gFAAgF;IAChF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CACpE,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;QAC5C,CAAC,CAAC,IAAI,sBAAsB,CAAC;YAC3B,KAAK,EAAE,KAAK,CAAC,aAAa;YAC1B,MAAM,EAAE,0BAA0B,YAAY,QAAQ;YACtD,MAAM,EAAE,WAAW;SACpB,CAAC;QACF,CAAC,CAAC,IAAI,sBAAsB,CAAC;YAC3B,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,EAAE,WAAW;SACpB,CAAC,CACL,CACF,CAAA;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EACtF,QAA+C,EAC/C,MAA8C,EAC9C,YAAY,GAAG,yBAAyB;IAExC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/D,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAChF,MAAM,CAAC,QAAQ,CACb,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,sBAAsB,CAAC;QACzB,KAAK;QACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QACrB,MAAM,EAAE,QAAQ;KACjB,CAAC,CACL,CACF,CAAA;AACH,CAAC,CAAC,CAAA"}