@vibes.diy/api-svc 14.1.13 → 14.1.14

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 (108) hide show
  1. package/asset-grant.js +3 -0
  2. package/asset-grant.js.map +1 -1
  3. package/billing.d.ts +1 -0
  4. package/billing.js +8 -1
  5. package/billing.js.map +1 -1
  6. package/create-handler.js +4 -1
  7. package/create-handler.js.map +1 -1
  8. package/intern/agent-assembly.js +6 -5
  9. package/intern/agent-assembly.js.map +1 -1
  10. package/intern/agent-dispatcher.js.map +1 -1
  11. package/intern/agent-lane-flag.d.ts +0 -7
  12. package/intern/agent-lane-flag.js +0 -3
  13. package/intern/agent-lane-flag.js.map +1 -1
  14. package/intern/agent-session-runtime.d.ts +1 -0
  15. package/intern/agent-session-runtime.js +16 -7
  16. package/intern/agent-session-runtime.js.map +1 -1
  17. package/intern/agent-session-store.d.ts +9 -0
  18. package/intern/agent-session-store.js +16 -1
  19. package/intern/agent-session-store.js.map +1 -1
  20. package/intern/agent-session.d.ts +2 -0
  21. package/intern/agent-session.js +20 -0
  22. package/intern/agent-session.js.map +1 -1
  23. package/intern/agent-turn.d.ts +1 -2
  24. package/intern/agent-turn.js +1 -2
  25. package/intern/agent-turn.js.map +1 -1
  26. package/intern/asset-sniff.d.ts +22 -0
  27. package/intern/asset-sniff.js +154 -0
  28. package/intern/asset-sniff.js.map +1 -0
  29. package/intern/autumn-plan.js.map +1 -1
  30. package/intern/kyc.d.ts +25 -0
  31. package/intern/kyc.js +97 -0
  32. package/intern/kyc.js.map +1 -0
  33. package/intern/llm-tool-loop.d.ts +0 -11
  34. package/intern/llm-tool-loop.js +1 -47
  35. package/intern/llm-tool-loop.js.map +1 -1
  36. package/intern/manifest-assets-line.d.ts +2 -0
  37. package/intern/manifest-assets-line.js +12 -0
  38. package/intern/manifest-assets-line.js.map +1 -0
  39. package/intern/open-turn-store.d.ts +9 -0
  40. package/intern/open-turn-store.js +30 -0
  41. package/intern/open-turn-store.js.map +1 -1
  42. package/intern/process-access-bindings.d.ts +3 -5
  43. package/intern/process-access-bindings.js.map +1 -1
  44. package/intern/process-backend-bindings.d.ts +3 -5
  45. package/intern/process-backend-bindings.js.map +1 -1
  46. package/intern/prompt-assembly.js +4 -0
  47. package/intern/prompt-assembly.js.map +1 -1
  48. package/intern/resolve-owned-asset-ref.d.ts +14 -0
  49. package/intern/resolve-owned-asset-ref.js +19 -0
  50. package/intern/resolve-owned-asset-ref.js.map +1 -0
  51. package/intern/resolve-servable-asset.d.ts +40 -0
  52. package/intern/resolve-servable-asset.js +108 -0
  53. package/intern/resolve-servable-asset.js.map +1 -0
  54. package/intern/turn-terminal.d.ts +0 -31
  55. package/intern/turn-terminal.js +0 -0
  56. package/intern/turn-terminal.js.map +1 -1
  57. package/intern/version-timeline.d.ts +9 -2
  58. package/intern/version-timeline.js +33 -10
  59. package/intern/version-timeline.js.map +1 -1
  60. package/intern/write-apps.d.ts +7 -4
  61. package/intern/write-apps.js +3 -0
  62. package/intern/write-apps.js.map +1 -1
  63. package/package.json +11 -11
  64. package/public/asset-original.d.ts +7 -0
  65. package/public/asset-original.js +140 -0
  66. package/public/asset-original.js.map +1 -0
  67. package/public/asset-session.d.ts +1 -0
  68. package/public/asset-session.js +15 -0
  69. package/public/asset-session.js.map +1 -1
  70. package/public/asset-upload-grant.js +13 -0
  71. package/public/asset-upload-grant.js.map +1 -1
  72. package/public/cid-asset.js +29 -5
  73. package/public/cid-asset.js.map +1 -1
  74. package/public/ensure-app-slug-item.d.ts +2 -1
  75. package/public/ensure-app-slug-item.js +59 -11
  76. package/public/ensure-app-slug-item.js.map +1 -1
  77. package/public/ensure-user-settings.js +1 -1
  78. package/public/ensure-user-settings.js.map +1 -1
  79. package/public/files-asset.js +33 -26
  80. package/public/files-asset.js.map +1 -1
  81. package/public/fork-app.js +1 -1
  82. package/public/fork-app.js.map +1 -1
  83. package/public/fs-prompt.js +7 -2
  84. package/public/fs-prompt.js.map +1 -1
  85. package/public/llm-dispatch.d.ts +3 -2
  86. package/public/llm-dispatch.js +8 -5
  87. package/public/llm-dispatch.js.map +1 -1
  88. package/public/open-chat.js +21 -12
  89. package/public/open-chat.js.map +1 -1
  90. package/public/prompt-chat-section.js +4 -43
  91. package/public/prompt-chat-section.js.map +1 -1
  92. package/public/put-asset.d.ts +1 -0
  93. package/public/put-asset.js +55 -4
  94. package/public/put-asset.js.map +1 -1
  95. package/public/report-prompt-cache.d.ts +19 -0
  96. package/public/report-prompt-cache.js +63 -4
  97. package/public/report-prompt-cache.js.map +1 -1
  98. package/public/serv-entry-point.js +41 -16
  99. package/public/serv-entry-point.js.map +1 -1
  100. package/public/stream-assembly.d.ts +3 -2
  101. package/public/stream-assembly.js +2 -1
  102. package/public/stream-assembly.js.map +1 -1
  103. package/public/viewer-capabilities.d.ts +3 -0
  104. package/public/viewer-capabilities.js.map +1 -1
  105. package/public/who-am-i.js +5 -4
  106. package/public/who-am-i.js.map +1 -1
  107. package/vibes-req-res-evento.js +2 -1
  108. package/vibes-req-res-evento.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session-store.js","sourceRoot":"","sources":["../../jsr/intern/agent-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAA6B,MAAM,oBAAoB,CAAC;AAK/G,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AASxD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAgB,EAAE,MAAc;IACrE,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACvC,GAAG,CAAC,EAAE;SACH,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;SAC3E,IAAI,CAAC,KAAK,CAAC;SACX,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC,CAAC;SACjF,KAAK,CAAC,CAAC,CAAC,CACZ,CAAC;IACF,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAGzB,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,MAAM,YAAY,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAgB,EAChB,KAA2D,EAC3D,QAA8B,EAC9B,gBAAwB;IAExB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,gBAAgB,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACxC,GAAG,CAAC,EAAE;SACH,MAAM,CAAC,KAAK,CAAC;SACb,MAAM,CAAC;QACN,GAAG,KAAK;QACR,QAAQ,EAAE,uBAAuB;QACjC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;QACZ,YAAY,EAAE,KAAK;QACnB,oBAAoB,EAAE,QAAQ;KAC/B,CAAC;SACD,kBAAkB,CAAC;QAClB,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QACtC,GAAG,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE;QAC1E,QAAQ,EAAE,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;KACzH,CAAC;SACD,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CACvC,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"agent-session-store.js","sourceRoot":"","sources":["../../jsr/intern/agent-session-store.ts"],"names":[],"mappings":"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"}
@@ -172,6 +172,7 @@ export type AgentSessionHandle = typeof sessionHandle.infer;
172
172
  export type AgentSessionInput = typeof sessionInput.infer;
173
173
  export declare const AGENT_SESSION_IDLE = "agent-session-idle";
174
174
  export declare const AGENT_SESSION_SUPERSEDED = "agent-session-superseded";
175
+ export declare function hasPendingWork(snapshot: AgentSessionSnapshot | undefined): boolean;
175
176
  export interface AgentSession {
176
177
  messages(): LLMMessage[];
177
178
  snapshot(): AgentSessionSnapshot;
@@ -185,6 +186,7 @@ export interface AgentSession {
185
186
  checkpoint(messages: readonly LLMMessage[]): Promise<Result<void>>;
186
187
  next(): Promise<Result<LLMMessage[] | undefined>>;
187
188
  fail(error: Error): void;
189
+ settleIdle(): Promise<Result<boolean>>;
188
190
  stage(change: AgentFileChange): Promise<Result<void>>;
189
191
  queueDraft(id: string): Promise<Result<void>>;
190
192
  stop(): void;
@@ -26,6 +26,11 @@ export const agentSessionSnapshot = type({
26
26
  });
27
27
  export const AGENT_SESSION_IDLE = "agent-session-idle";
28
28
  export const AGENT_SESSION_SUPERSEDED = "agent-session-superseded";
29
+ export function hasPendingWork(snapshot) {
30
+ if (snapshot === undefined)
31
+ return false;
32
+ return snapshot.inbox.length > 0 || snapshot.handles.some((handle) => handle.state !== "settled");
33
+ }
29
34
  export function createAgentSession(args) {
30
35
  let state = args.snapshot ?? {
31
36
  version: 1,
@@ -182,6 +187,21 @@ export function createAgentSession(args) {
182
187
  }
183
188
  return failure === undefined ? Result.Ok(undefined) : Result.Err(failure);
184
189
  },
190
+ async settleIdle() {
191
+ if (state.status === "idle" || hasPendingWork(state))
192
+ return Result.Ok(false);
193
+ let wrote = false;
194
+ const saved = await update((previous) => {
195
+ if (previous.status === "idle" || hasPendingWork(previous))
196
+ return previous;
197
+ accepting = false;
198
+ wrote = true;
199
+ return { ...previous, status: "idle" };
200
+ });
201
+ if (saved.isErr())
202
+ return Result.Err(saved.Err());
203
+ return Result.Ok(wrote);
204
+ },
185
205
  fail(error) {
186
206
  failure = error;
187
207
  stopped = true;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../jsr/intern/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../jsr/intern/agent-session.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { LLMRequest, SseStreamMsg } from "@vibes.diy/call-ai-v2";
3
3
  import { VibesApiSQLCtx } from "../types.js";
4
4
  import type { AgentActor } from "./agent-actor.js";
5
5
  import { type AgentBelt, type AgentBeltArgs } from "./agent-belt.js";
6
- import { createLlmToolLoopStream, type LlmToolLoopBudget, type LlmToolLoopPending } from "./llm-tool-loop.js";
6
+ import { createLlmToolLoopStream, type LlmToolLoopBudget } from "./llm-tool-loop.js";
7
7
  export declare const AGENT_TOTAL_BUDGET_MS = 900000;
8
8
  export declare function agentTotalBudgetMs(vctx: VibesApiSQLCtx): number;
9
9
  export declare const AGENT_MAX_TOOL_ROUNDS = 6;
@@ -35,7 +35,6 @@ export interface AgentTurnStreamArgs {
35
35
  readonly abort?: AbortController;
36
36
  }>>;
37
37
  readonly onDispatch?: (dispatched: AgentTurnDispatch) => void;
38
- readonly pending?: LlmToolLoopPending;
39
38
  readonly session?: Parameters<typeof createLlmToolLoopStream>[0]["session"];
40
39
  readonly onToolEvidence?: Parameters<typeof createLlmToolLoopStream>[0]["onToolEvidence"];
41
40
  readonly onError?: (error: string) => void;
@@ -1,6 +1,6 @@
1
1
  import { Result } from "@adviser/cement";
2
2
  import { createAgentBelt } from "./agent-belt.js";
3
- import { createLlmToolLoopBudget, createLlmToolLoopStream, } from "./llm-tool-loop.js";
3
+ import { createLlmToolLoopBudget, createLlmToolLoopStream } from "./llm-tool-loop.js";
4
4
  import { AGENT_TURN_CEILING_MS } from "./codegen-build-lock.js";
5
5
  export const AGENT_TOTAL_BUDGET_MS = AGENT_TURN_CEILING_MS;
6
6
  export function agentTotalBudgetMs(vctx) {
@@ -42,7 +42,6 @@ export function createAgentTurnStream(args) {
42
42
  ...(args.onToolEvidence === undefined ? {} : { onToolEvidence: args.onToolEvidence }),
43
43
  maxToolRounds: args.session === undefined ? AGENT_MAX_TOOL_ROUNDS : AGENT_SESSION_MAX_TOOL_ROUNDS,
44
44
  maxToolCalls: args.session === undefined ? AGENT_MAX_TOOL_CALLS : AGENT_SESSION_MAX_TOOL_CALLS,
45
- ...(args.pending === undefined ? {} : { pending: args.pending }),
46
45
  ...(args.session === undefined ? {} : { session: args.session }),
47
46
  dispatch: async (input) => {
48
47
  const r = await args.dispatch({ request: input.request, budget: input.budget });
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../jsr/intern/agent-turn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIzC,OAAO,EAAE,eAAe,EAAsC,MAAM,iBAAiB,CAAC;AACtF,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GAGxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AA0BhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAE3D,MAAM,UAAU,kBAAkB,CAAC,IAAoB;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,qBAAqB,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AACjD,CAAC;AACD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAC/C,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,GAAG,CAAC,CAAC;AAkFrE,MAAM,UAAU,qBAAqB,CAAC,IAAyB;IAC7D,MAAM,IAAI,GACR,IAAI,CAAC,IAAI;QACT,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SACxC,CAAC,CAAC;IAEL,MAAM,MAAM,GAAsB,uBAAuB,CAAC;QACxD,aAAa,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,6BAA6B,GAAG,CAAC;QACzG,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;KACrD,CAAC,CAAC;IAGH,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;IAExB,OAAO,uBAAuB,CAAC;QAI7B,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;QAC1D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM;QACN,OAAO,EAAE,IAAI,CAAC,QAAQ;QACtB,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QACrF,aAAa,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,6BAA6B;QACjG,YAAY,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,4BAA4B;QAG9F,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAChF,IAAI,CAAC,CAAC,KAAK,EAAE;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,EAAE,CAAC;gBACf,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;aACzD,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;KACrD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../jsr/intern/agent-turn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Result } from "@adviser/cement";
2
+ export declare function isGatedMime(mimeType: string): boolean;
3
+ export interface AssetType {
4
+ readonly mime: string;
5
+ readonly magic: readonly (readonly [number, readonly number[]])[];
6
+ readonly gated: boolean;
7
+ }
8
+ export declare const ASSET_TYPES: readonly AssetType[];
9
+ export declare function sniffMime(head: Uint8Array): string | null;
10
+ export declare function isSniffableMime(mimeType: string | undefined): boolean;
11
+ export declare const IMAGE_CAP_BYTES: number;
12
+ export declare const OTHER_CAP_BYTES: number;
13
+ export declare function assetCapBytes(mimeType: string | undefined): number;
14
+ export declare function effectiveCapBytes(claimed: string | undefined, sniffed: string | null): number;
15
+ export declare const OVER_CAP_MARKER = "asset-over-cap";
16
+ export declare function countingStream(cap: number, onHead?: (head: Uint8Array) => void): TransformStream<Uint8Array, Uint8Array>;
17
+ export declare const HEAD_BYTES = 16;
18
+ export interface PeekedBody {
19
+ readonly head: Uint8Array;
20
+ readonly stream: ReadableStream<Uint8Array>;
21
+ }
22
+ export declare function peekHead(body: ReadableStream<Uint8Array>, n?: number): Promise<Result<PeekedBody>>;
@@ -0,0 +1,154 @@
1
+ import { Result, exception2Result } from "@adviser/cement";
2
+ export function isGatedMime(mimeType) {
3
+ const mime = normalizeMime(mimeType);
4
+ if (mime.startsWith("image/"))
5
+ return false;
6
+ if (mime.startsWith("text/"))
7
+ return false;
8
+ if (mime === "application/json")
9
+ return false;
10
+ return true;
11
+ }
12
+ function normalizeMime(mimeType) {
13
+ return mimeType.split(";")[0].trim().toLowerCase();
14
+ }
15
+ const MAGIC = [
16
+ ["image/png", [[0, [0x89, 0x50, 0x4e, 0x47]]]],
17
+ ["image/jpeg", [[0, [0xff, 0xd8, 0xff]]]],
18
+ ["image/gif", [[0, [0x47, 0x49, 0x46, 0x38]]]],
19
+ [
20
+ "image/webp",
21
+ [
22
+ [0, [0x52, 0x49, 0x46, 0x46]],
23
+ [8, [0x57, 0x45, 0x42, 0x50]],
24
+ ],
25
+ ],
26
+ ["application/pdf", [[0, [0x25, 0x50, 0x44, 0x46]]]],
27
+ ["audio/mpeg", [[0, [0x49, 0x44, 0x33]]]],
28
+ [
29
+ "audio/wav",
30
+ [
31
+ [0, [0x52, 0x49, 0x46, 0x46]],
32
+ [8, [0x57, 0x41, 0x56, 0x45]],
33
+ ],
34
+ ],
35
+ ["audio/ogg", [[0, [0x4f, 0x67, 0x67, 0x53]]]],
36
+ [
37
+ "audio/mp4",
38
+ [
39
+ [4, [0x66, 0x74, 0x79, 0x70]],
40
+ [8, [0x4d, 0x34, 0x41, 0x20]],
41
+ ],
42
+ ],
43
+ [
44
+ "image/avif",
45
+ [
46
+ [4, [0x66, 0x74, 0x79, 0x70]],
47
+ [8, [0x61, 0x76, 0x69, 0x66]],
48
+ ],
49
+ ],
50
+ ["font/woff2", [[0, [0x77, 0x4f, 0x46, 0x32]]]],
51
+ ["font/ttf", [[0, [0x00, 0x01, 0x00, 0x00]]]],
52
+ ];
53
+ export const ASSET_TYPES = MAGIC.map(([mime, magic]) => ({
54
+ mime,
55
+ magic,
56
+ gated: isGatedMime(mime),
57
+ }));
58
+ export function sniffMime(head) {
59
+ for (const t of ASSET_TYPES) {
60
+ if (t.magic.every(([off, bytes]) => bytes.every((b, i) => head[off + i] === b)))
61
+ return t.mime;
62
+ }
63
+ return null;
64
+ }
65
+ export function isSniffableMime(mimeType) {
66
+ if (mimeType === undefined)
67
+ return false;
68
+ const mime = normalizeMime(mimeType);
69
+ return ASSET_TYPES.some((t) => t.mime === mime);
70
+ }
71
+ export const IMAGE_CAP_BYTES = 25 * 1024 * 1024;
72
+ export const OTHER_CAP_BYTES = 50 * 1024 * 1024;
73
+ export function assetCapBytes(mimeType) {
74
+ if (mimeType === undefined)
75
+ return OTHER_CAP_BYTES;
76
+ return normalizeMime(mimeType).startsWith("image/") ? IMAGE_CAP_BYTES : OTHER_CAP_BYTES;
77
+ }
78
+ export function effectiveCapBytes(claimed, sniffed) {
79
+ const fromClaim = assetCapBytes(claimed);
80
+ if (sniffed === null)
81
+ return fromClaim;
82
+ return Math.min(fromClaim, assetCapBytes(sniffed));
83
+ }
84
+ export const OVER_CAP_MARKER = "asset-over-cap";
85
+ export function countingStream(cap, onHead) {
86
+ let total = 0;
87
+ let sawHead = false;
88
+ return new TransformStream({
89
+ transform(chunk, controller) {
90
+ total += chunk.byteLength;
91
+ if (total > cap) {
92
+ controller.error(new Error(`${OVER_CAP_MARKER}: ${cap}`));
93
+ return;
94
+ }
95
+ if (sawHead === false) {
96
+ sawHead = true;
97
+ onHead?.(chunk.slice(0, HEAD_BYTES));
98
+ }
99
+ controller.enqueue(chunk);
100
+ },
101
+ });
102
+ }
103
+ export const HEAD_BYTES = 16;
104
+ export async function peekHead(body, n = HEAD_BYTES) {
105
+ const reader = body.getReader();
106
+ const buffered = [];
107
+ const rRead = await exception2Result(async () => {
108
+ let got = 0;
109
+ while (got < n) {
110
+ const { done, value } = await reader.read();
111
+ if (done)
112
+ break;
113
+ if (value === undefined)
114
+ continue;
115
+ buffered.push(value);
116
+ got += value.byteLength;
117
+ }
118
+ return got;
119
+ });
120
+ if (rRead.isErr()) {
121
+ await exception2Result(() => reader.cancel(rRead.Err()));
122
+ return Result.Err(rRead.Err());
123
+ }
124
+ const head = new Uint8Array(Math.min(rRead.Ok(), n));
125
+ let off = 0;
126
+ for (const chunk of buffered) {
127
+ if (off >= head.length)
128
+ break;
129
+ const take = Math.min(chunk.byteLength, head.length - off);
130
+ head.set(chunk.subarray(0, take), off);
131
+ off += take;
132
+ }
133
+ const stream = new ReadableStream({
134
+ async pull(controller) {
135
+ const pending = buffered.shift();
136
+ if (pending !== undefined) {
137
+ controller.enqueue(pending);
138
+ return;
139
+ }
140
+ const { done, value } = await reader.read();
141
+ if (done) {
142
+ controller.close();
143
+ return;
144
+ }
145
+ if (value !== undefined)
146
+ controller.enqueue(value);
147
+ },
148
+ cancel(reason) {
149
+ return reader.cancel(reason);
150
+ },
151
+ });
152
+ return Result.Ok({ head, stream });
153
+ }
154
+ //# sourceMappingURL=asset-sniff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-sniff.js","sourceRoot":"","sources":["../../jsr/intern/asset-sniff.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,IAAI,KAAK,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,SAAS,aAAa,CAAC,QAAgB;IACrC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACrD,CAAC;AAeD,MAAM,KAAK,GAAsF;IAC/F,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9C;QACE,YAAY;QACZ;YACE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;KACF;IACD,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC;QACE,WAAW;QACX;YACE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;KACF;IACD,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAK9C;QACE,WAAW;QACX;YACE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;KACF;IACD;QACE,YAAY;QACZ;YACE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9B;KACF;IACD,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAyB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,IAAI;IACJ,KAAK;IACL,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;CACzB,CAAC,CAAC,CAAC;AAOJ,MAAM,UAAU,SAAS,CAAC,IAAgB;IACxC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAID,MAAM,UAAU,eAAe,CAAC,QAA4B;IAC1D,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,UAAU,aAAa,CAAC,QAA4B;IACxD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IACnD,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;AAC1F,CAAC;AAQD,MAAM,UAAU,iBAAiB,CAAC,OAA2B,EAAE,OAAsB;IACnF,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC;AAID,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAWhD,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,MAAmC;IAC7E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,IAAI,eAAe,CAAyB;QACjD,SAAS,CAAC,KAAK,EAAE,UAAU;YACzB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBAChB,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,eAAe,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAgB7B,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAgC,EAAE,CAAC,GAAW,UAAU;IACrF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAC9C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC;QAC1B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACvC,GAAG,IAAI,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAa;QAC5C,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,IAAI,KAAK,KAAK,SAAS;gBAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,MAAM;YACX,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"autumn-plan.js","sourceRoot":"","sources":["../../jsr/intern/autumn-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAc9G,MAAM,UAAU,QAAQ,CAAC,KAA2B;IAClD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAKpC;IAGC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAwB,EAAE,IAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC;IAE/C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,iBAAiB,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,GAAG,CAAC,SAAS,EAAE;gBACxC,eAAe,EAAE,OAAO;aACzB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;SACrF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QAC7E,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAEhD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACnC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,oBAAoB;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAOD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,aAAa,MAAM,4BAA4B,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"autumn-plan.js","sourceRoot":"","sources":["../../jsr/intern/autumn-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAc9G,MAAM,UAAU,QAAQ,CAAC,KAA2B;IAClD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AA0BD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAKpC;IAGC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAwB,EAAE,IAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACtG,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC;IAE/C,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,OAAO,iBAAiB,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,GAAG,CAAC,SAAS,EAAE;gBACxC,eAAe,EAAE,OAAO;aACzB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC;SACrF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;QAC7E,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAEhD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACnC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,oBAAoB;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAOD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,aAAa,MAAM,4BAA4B,CAAC,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { Logger } from "@adviser/cement";
3
+ import { VibesApiSQLCtx } from "../types.js";
4
+ export type KycStamp = "card";
5
+ export interface KycStatus {
6
+ readonly card: boolean;
7
+ readonly cardAt?: string;
8
+ }
9
+ type KycCtx = Pick<VibesApiSQLCtx, "sql">;
10
+ export declare function kycFromSettingItems(items: readonly unknown[]): KycStatus;
11
+ export declare function readKycResult(vctx: KycCtx, userId: string): Promise<Result<KycStatus>>;
12
+ export declare function readKyc(vctx: KycCtx, userId: string): Promise<KycStatus>;
13
+ export declare const __kycTestHooks: {
14
+ afterReadSettings?: () => Promise<void>;
15
+ };
16
+ export declare function stampKycCard(vctx: KycCtx, userId: string, at?: string): Promise<"stamped" | "already">;
17
+ export declare function requireKyc(vctx: KycCtx, userId: string, stamp: KycStamp): Promise<Result<{
18
+ readonly stamp: KycStamp;
19
+ }>>;
20
+ export declare function stampKycCardOnSavedCard(opts: {
21
+ readonly vctx: KycCtx;
22
+ readonly logger: Logger;
23
+ readonly waitUntil?: ((promise: Promise<unknown>) => void) | undefined;
24
+ }): (userId: string) => void;
25
+ export {};
package/intern/kyc.js ADDED
@@ -0,0 +1,97 @@
1
+ import { Result, exception2Result } from "@adviser/cement";
2
+ import { eq } from "drizzle-orm/sql/expressions";
3
+ import { sql } from "drizzle-orm";
4
+ function isKycSettingItem(e) {
5
+ return typeof e === "object" && e !== null && e.type === "kyc";
6
+ }
7
+ export function kycFromSettingItems(items) {
8
+ for (const e of items) {
9
+ if (isKycSettingItem(e) && typeof e.cardAt === "string" && e.cardAt.length > 0) {
10
+ return { card: true, cardAt: e.cardAt };
11
+ }
12
+ }
13
+ return { card: false };
14
+ }
15
+ async function selectSettingItems(vctx, userId) {
16
+ const rRows = await exception2Result(() => vctx.sql.db
17
+ .select({ settings: vctx.sql.tables.userSettings.settings })
18
+ .from(vctx.sql.tables.userSettings)
19
+ .where(eq(vctx.sql.tables.userSettings.userId, userId))
20
+ .limit(1));
21
+ if (rRows.isErr()) {
22
+ return Result.Err(rRows.Err());
23
+ }
24
+ return Result.Ok(rRows.Ok()[0]?.settings ?? []);
25
+ }
26
+ export async function readKycResult(vctx, userId) {
27
+ const rItems = await selectSettingItems(vctx, userId);
28
+ if (rItems.isErr()) {
29
+ return Result.Err(`kyc lookup failed: ${rItems.Err().message}`);
30
+ }
31
+ return Result.Ok(kycFromSettingItems(rItems.Ok()));
32
+ }
33
+ export async function readKyc(vctx, userId) {
34
+ const r = await readKycResult(vctx, userId);
35
+ if (r.isErr())
36
+ throw r.Err();
37
+ return r.Ok();
38
+ }
39
+ function runKycSql(db, flavour, stmt) {
40
+ if (flavour === "pg") {
41
+ return db.execute(stmt);
42
+ }
43
+ return db.run(stmt);
44
+ }
45
+ export const __kycTestHooks = {};
46
+ export async function stampKycCard(vctx, userId, at = new Date().toISOString()) {
47
+ const now = new Date().toISOString();
48
+ const rItems = await selectSettingItems(vctx, userId);
49
+ if (rItems.isErr())
50
+ throw rItems.Err();
51
+ if (kycFromSettingItems(rItems.Ok()).card === true) {
52
+ return "already";
53
+ }
54
+ await __kycTestHooks.afterReadSettings?.();
55
+ const flavour = vctx.sql.flavour;
56
+ const stamp = { type: "kyc", cardAt: at };
57
+ const stampArray = sql `${JSON.stringify([stamp])}`;
58
+ const settingsSeed = flavour === "pg" ? sql `${stampArray}::jsonb` : stampArray;
59
+ const rInsert = await exception2Result(() => runKycSql(vctx.sql.db, flavour, sql `
60
+ INSERT INTO "UserSettings" ("userId","settings","updated","created")
61
+ VALUES (${userId}, ${settingsSeed}, ${now}, ${now})
62
+ ON CONFLICT ("userId") DO NOTHING`));
63
+ if (rInsert.isErr())
64
+ throw rInsert.Err();
65
+ const appended = flavour === "pg"
66
+ ? sql `"settings" || ${stampArray}::jsonb`
67
+ : sql `json_insert("settings", '$[#]', json(${JSON.stringify(stamp)}))`;
68
+ const absent = flavour === "pg"
69
+ ? sql `NOT EXISTS (SELECT 1 FROM jsonb_array_elements("UserSettings"."settings") e WHERE e->>'type' = 'kyc')`
70
+ : sql `NOT EXISTS (SELECT 1 FROM json_each("UserSettings"."settings") e WHERE json_extract(e.value, '$.type') = 'kyc')`;
71
+ const rUpdate = await exception2Result(() => runKycSql(vctx.sql.db, flavour, sql `
72
+ UPDATE "UserSettings"
73
+ SET "settings" = ${appended}, "updated" = ${now}
74
+ WHERE "userId" = ${userId} AND ${absent}`));
75
+ if (rUpdate.isErr())
76
+ throw rUpdate.Err();
77
+ return "stamped";
78
+ }
79
+ export async function requireKyc(vctx, userId, stamp) {
80
+ const rStatus = await readKycResult(vctx, userId);
81
+ if (rStatus.isErr()) {
82
+ return Result.Err(rStatus.Err());
83
+ }
84
+ if (stamp === "card" && rStatus.Ok().card === false) {
85
+ return Result.Err(`kyc-required: ${stamp}`);
86
+ }
87
+ return Result.Ok({ stamp });
88
+ }
89
+ export function stampKycCardOnSavedCard(opts) {
90
+ return (userId) => {
91
+ const stamping = stampKycCard(opts.vctx, userId).catch((e) => {
92
+ opts.logger.Warn().Err(e).Str("userId", userId).Msg("kyc-card-stamp-failed");
93
+ });
94
+ opts.waitUntil?.(stamping);
95
+ };
96
+ }
97
+ //# sourceMappingURL=kyc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kyc.js","sourceRoot":"","sources":["../../jsr/intern/kyc.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ export declare const MAX_TOOL_CALL_ID_CHARS = 256;
5
5
  export declare const MAX_TOOL_CALL_NAME_CHARS = 256;
6
6
  export declare const MAX_TOOL_CALL_ARGUMENT_CHARS: number;
7
7
  export declare const MAX_PROVIDER_CHUNK_ERRORS = 3;
8
- export declare const LANDING_ROUND_RESERVE_MS = 5000;
9
8
  export type LlmToolCallField = "id" | "name" | "arguments";
10
9
  export declare class LlmToolLoopError extends Error {
11
10
  readonly field: LlmToolCallField;
@@ -82,20 +81,10 @@ export interface LlmToolLoopArgs {
82
81
  readonly call: LlmToolCall;
83
82
  readonly text: string;
84
83
  }) => Promise<Result<void>>;
85
- readonly pending?: LlmToolLoopPending;
86
84
  readonly maxToolRounds?: number;
87
85
  readonly maxToolCalls?: number;
88
86
  readonly now?: () => number;
89
87
  }
90
- export interface LlmToolLoopPending {
91
- hasPending(): boolean;
92
- waitForAny(input: {
93
- readonly remainingMs: number;
94
- }): Promise<string | undefined>;
95
- cancelAll(): void;
96
- markDelivered(): void;
97
- close(): void;
98
- }
99
88
  export interface LlmToolLoopResult {
100
89
  readonly request: LLMRequest;
101
90
  readonly rounds: number;
@@ -8,7 +8,6 @@ export const MAX_TOOL_CALL_ID_CHARS = 256;
8
8
  export const MAX_TOOL_CALL_NAME_CHARS = 256;
9
9
  export const MAX_TOOL_CALL_ARGUMENT_CHARS = 64 * 1024;
10
10
  export const MAX_PROVIDER_CHUNK_ERRORS = 3;
11
- export const LANDING_ROUND_RESERVE_MS = 5_000;
12
11
  export class LlmToolLoopError extends Error {
13
12
  field;
14
13
  limit;
@@ -302,7 +301,7 @@ async function consumeProviderStream(args, stream, request, now, textState) {
302
301
  }
303
302
  if (isSseEnd(event, event.streamId)) {
304
303
  if (sawToolCall === false) {
305
- if (args.session !== undefined || args.pending?.hasPending() === true) {
304
+ if (args.session !== undefined) {
306
305
  completedNormally = true;
307
306
  return Result.Ok({ toolCalls: [], sawToolCall: false, assistantContent, withheldEnd: event });
308
307
  }
@@ -403,49 +402,6 @@ export async function runLlmToolLoop(args) {
403
402
  textState.separatorOwed = true;
404
403
  continue;
405
404
  }
406
- const withheld = streamResult.withheldEnd;
407
- if (withheld !== undefined) {
408
- const pending = args.pending;
409
- const waitMs = remainingBudget(args.budget, now) - LANDING_ROUND_RESERVE_MS;
410
- if (rounds >= maxToolRounds || waitMs <= 0) {
411
- pending?.close();
412
- pending?.cancelAll();
413
- const rVisible = await args.onVisible(withheld);
414
- if (rVisible.isErr())
415
- return Result.Err(String(rVisible.Err()));
416
- return Result.Ok({ request: currentRequest, rounds, calls });
417
- }
418
- const landing = await pending?.waitForAny({ remainingMs: waitMs });
419
- if (landing === undefined) {
420
- const rVisible = await args.onVisible(withheld);
421
- if (rVisible.isErr())
422
- return Result.Err(String(rVisible.Err()));
423
- return Result.Ok({ request: currentRequest, rounds, calls });
424
- }
425
- rounds++;
426
- if (textState.lastChar !== "" && /\s/.test(textState.lastChar) === false)
427
- textState.separatorOwed = true;
428
- const spoken = streamResult.assistantContent === null || streamResult.assistantContent.length === 0
429
- ? []
430
- : [{ role: "assistant", content: [{ type: "text", text: streamResult.assistantContent }] }];
431
- const withLanding = {
432
- ...currentRequest,
433
- messages: [...currentRequest.messages, ...spoken, { role: "user", content: [{ type: "text", text: landing }] }],
434
- };
435
- const rLanded = await args.dispatch({ request: withLanding, budget: args.budget, round: rounds });
436
- if (rLanded.isErr()) {
437
- const rVisible = await args.onVisible(withheld);
438
- if (rVisible.isErr())
439
- return Result.Err(String(rVisible.Err()));
440
- return Result.Err(String(rLanded.Err()));
441
- }
442
- pending?.markDelivered();
443
- const landed = rLanded.Ok();
444
- currentRequest = landed.request;
445
- currentStream = landed.stream;
446
- currentAbort = landed.abort;
447
- continue;
448
- }
449
405
  return Result.Ok({ request: currentRequest, rounds, calls });
450
406
  }
451
407
  if (rounds >= maxToolRounds)
@@ -519,8 +475,6 @@ export async function runLlmToolLoop(args) {
519
475
  }
520
476
  }
521
477
  finally {
522
- args.pending?.close();
523
- args.pending?.cancelAll();
524
478
  args.onSpend?.({ rounds, calls });
525
479
  }
526
480
  }