@claudexor/schema 4.8.1 → 5.0.1

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 (217) hide show
  1. package/dist/account-resources.d.ts +325 -56
  2. package/dist/account-resources.d.ts.map +1 -1
  3. package/dist/account-resources.js +35 -5
  4. package/dist/account-resources.js.map +1 -1
  5. package/dist/account-routing-evidence.d.ts +253 -45
  6. package/dist/account-routing-evidence.d.ts.map +1 -1
  7. package/dist/account-target.d.ts +19 -5
  8. package/dist/account-target.d.ts.map +1 -1
  9. package/dist/account-target.js +14 -1
  10. package/dist/account-target.js.map +1 -1
  11. package/dist/agent-capabilities.d.ts +183 -0
  12. package/dist/agent-capabilities.d.ts.map +1 -1
  13. package/dist/agent-capabilities.js +2 -0
  14. package/dist/agent-capabilities.js.map +1 -1
  15. package/dist/budget.d.ts +3 -0
  16. package/dist/budget.d.ts.map +1 -1
  17. package/dist/budget.js +5 -1
  18. package/dist/budget.js.map +1 -1
  19. package/dist/capture-inventory.d.ts +60 -0
  20. package/dist/capture-inventory.d.ts.map +1 -0
  21. package/dist/capture-inventory.js +57 -0
  22. package/dist/capture-inventory.js.map +1 -0
  23. package/dist/control-gc.d.ts +377 -0
  24. package/dist/control-gc.d.ts.map +1 -1
  25. package/dist/control-gc.js +74 -1
  26. package/dist/control-gc.js.map +1 -1
  27. package/dist/control-harness-list.d.ts +102 -18
  28. package/dist/control-harness-list.d.ts.map +1 -1
  29. package/dist/control-harness-models.d.ts +299 -6
  30. package/dist/control-harness-models.d.ts.map +1 -1
  31. package/dist/control-harness-models.js +12 -3
  32. package/dist/control-harness-models.js.map +1 -1
  33. package/dist/control-operation-responses.d.ts +606 -23
  34. package/dist/control-operation-responses.d.ts.map +1 -1
  35. package/dist/control-operation-responses.js +3 -0
  36. package/dist/control-operation-responses.js.map +1 -1
  37. package/dist/control-run-detail.d.ts +1193 -72
  38. package/dist/control-run-detail.d.ts.map +1 -1
  39. package/dist/control-run-event-part.d.ts +3 -3
  40. package/dist/control-run-event-part.js +1 -1
  41. package/dist/control-run-event-part.js.map +1 -1
  42. package/dist/control-run-failure.d.ts +276 -12
  43. package/dist/control-run-failure.d.ts.map +1 -1
  44. package/dist/control-run-failure.js +54 -16
  45. package/dist/control-run-failure.js.map +1 -1
  46. package/dist/control-run-message.js +1 -1
  47. package/dist/control-run-message.js.map +1 -1
  48. package/dist/control-thread-apply.d.ts +165 -0
  49. package/dist/control-thread-apply.d.ts.map +1 -1
  50. package/dist/control-timeline.d.ts +9 -0
  51. package/dist/control-timeline.d.ts.map +1 -1
  52. package/dist/control-timeline.js +20 -3
  53. package/dist/control-timeline.js.map +1 -1
  54. package/dist/control.d.ts +392 -42
  55. package/dist/control.d.ts.map +1 -1
  56. package/dist/control.js +13 -7
  57. package/dist/control.js.map +1 -1
  58. package/dist/credential-profile-snapshot.d.ts +506 -90
  59. package/dist/credential-profile-snapshot.d.ts.map +1 -1
  60. package/dist/daemon-status.d.ts +492 -0
  61. package/dist/daemon-status.d.ts.map +1 -1
  62. package/dist/daemon-status.js +22 -0
  63. package/dist/daemon-status.js.map +1 -1
  64. package/dist/decision.d.ts +9 -9
  65. package/dist/decision.d.ts.map +1 -1
  66. package/dist/decision.js +4 -0
  67. package/dist/decision.js.map +1 -1
  68. package/dist/delivery.d.ts +162 -0
  69. package/dist/delivery.d.ts.map +1 -1
  70. package/dist/delivery.js +32 -0
  71. package/dist/delivery.js.map +1 -1
  72. package/dist/events.d.ts +7 -6
  73. package/dist/events.d.ts.map +1 -1
  74. package/dist/events.js +10 -8
  75. package/dist/events.js.map +1 -1
  76. package/dist/git-result.d.ts +99 -0
  77. package/dist/git-result.d.ts.map +1 -0
  78. package/dist/git-result.js +80 -0
  79. package/dist/git-result.js.map +1 -0
  80. package/dist/harness-model.d.ts +89 -0
  81. package/dist/harness-model.d.ts.map +1 -1
  82. package/dist/harness-model.js +83 -0
  83. package/dist/harness-model.js.map +1 -1
  84. package/dist/harness-speech.d.ts +36 -0
  85. package/dist/harness-speech.d.ts.map +1 -0
  86. package/dist/harness-speech.js +27 -0
  87. package/dist/harness-speech.js.map +1 -0
  88. package/dist/harness.d.ts +371 -35
  89. package/dist/harness.d.ts.map +1 -1
  90. package/dist/harness.js +7 -21
  91. package/dist/harness.js.map +1 -1
  92. package/dist/index.d.ts +5 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +5 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/mcp-run-result.d.ts +620 -51
  97. package/dist/mcp-run-result.d.ts.map +1 -1
  98. package/dist/mcp-run-result.js +45 -5
  99. package/dist/mcp-run-result.js.map +1 -1
  100. package/dist/mcp-run-wait.d.ts +7 -7
  101. package/dist/primitives.d.ts.map +1 -1
  102. package/dist/primitives.js +3 -2
  103. package/dist/primitives.js.map +1 -1
  104. package/dist/project.d.ts +45 -1
  105. package/dist/project.d.ts.map +1 -1
  106. package/dist/project.js +26 -1
  107. package/dist/project.js.map +1 -1
  108. package/dist/quota-read.d.ts +6 -3
  109. package/dist/quota-read.d.ts.map +1 -1
  110. package/dist/quota-read.js +7 -1
  111. package/dist/quota-read.js.map +1 -1
  112. package/dist/quota-scope.d.ts +29 -0
  113. package/dist/quota-scope.d.ts.map +1 -0
  114. package/dist/quota-scope.js +95 -0
  115. package/dist/quota-scope.js.map +1 -0
  116. package/dist/rate-limit.d.ts +3 -0
  117. package/dist/rate-limit.d.ts.map +1 -1
  118. package/dist/rate-limit.js +5 -1
  119. package/dist/rate-limit.js.map +1 -1
  120. package/dist/raw.d.ts +223 -1
  121. package/dist/raw.d.ts.map +1 -1
  122. package/dist/raw.js +86 -0
  123. package/dist/raw.js.map +1 -1
  124. package/dist/readiness.d.ts +87 -18
  125. package/dist/readiness.d.ts.map +1 -1
  126. package/dist/readiness.js +7 -6
  127. package/dist/readiness.js.map +1 -1
  128. package/dist/route-health.d.ts +303 -0
  129. package/dist/route-health.d.ts.map +1 -0
  130. package/dist/route-health.js +71 -0
  131. package/dist/route-health.js.map +1 -0
  132. package/dist/run-continuity.d.ts +3 -0
  133. package/dist/run-continuity.d.ts.map +1 -1
  134. package/dist/run-continuity.js +4 -0
  135. package/dist/run-continuity.js.map +1 -1
  136. package/dist/run-facts.d.ts +5 -5
  137. package/dist/run-facts.d.ts.map +1 -1
  138. package/dist/run-facts.js +1 -0
  139. package/dist/run-facts.js.map +1 -1
  140. package/dist/run-observation.d.ts +6 -6
  141. package/dist/run-observation.d.ts.map +1 -1
  142. package/dist/run-observation.js +7 -1
  143. package/dist/run-observation.js.map +1 -1
  144. package/dist/setup-login.d.ts +1 -1
  145. package/dist/setup-login.js +1 -1
  146. package/dist/setup.d.ts +1 -1
  147. package/dist/setup.js +1 -1
  148. package/dist/status-projection.d.ts.map +1 -1
  149. package/dist/status-projection.js +3 -0
  150. package/dist/status-projection.js.map +1 -1
  151. package/dist/task-group-runs.d.ts +1 -0
  152. package/dist/task-group-runs.d.ts.map +1 -1
  153. package/dist/task-group-runs.js +6 -3
  154. package/dist/task-group-runs.js.map +1 -1
  155. package/dist/telemetry.d.ts +239 -7
  156. package/dist/telemetry.d.ts.map +1 -1
  157. package/dist/telemetry.js +4 -2
  158. package/dist/telemetry.js.map +1 -1
  159. package/dist/thread-history.d.ts +1109 -161
  160. package/dist/thread-history.d.ts.map +1 -1
  161. package/dist/thread-history.js +1 -1
  162. package/dist/thread-history.js.map +1 -1
  163. package/dist/tool-ref.d.ts +94 -3
  164. package/dist/tool-ref.d.ts.map +1 -1
  165. package/dist/tool-ref.js +98 -6
  166. package/dist/tool-ref.js.map +1 -1
  167. package/generated/AgentCapabilityCatalog.schema.json +54 -0
  168. package/generated/BudgetObservation.schema.json +8 -1
  169. package/generated/ControlAccountResetResponse.schema.json +60 -1
  170. package/generated/ControlAccountResourcesFreshnessResponse.schema.json +46 -2
  171. package/generated/ControlAccountResourcesResponse.schema.json +46 -2
  172. package/generated/ControlApplyCheckResponse.schema.json +47 -0
  173. package/generated/ControlCredentialProfilesQueryResponse.schema.json +105 -4
  174. package/generated/ControlCredentialProfilesResourcesResponse.schema.json +105 -4
  175. package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +59 -2
  176. package/generated/ControlDaemonStatus.schema.json +112 -43
  177. package/generated/ControlDeliveryResponse.schema.json +154 -0
  178. package/generated/ControlGcLastResponse.schema.json +184 -0
  179. package/generated/ControlGcReceipt.schema.json +60 -1
  180. package/generated/ControlGcRequest.schema.json +4 -0
  181. package/generated/ControlHarnessAccountCatalog.schema.json +13 -0
  182. package/generated/ControlHarnessAccountModelsResponse.schema.json +13 -0
  183. package/generated/ControlHarnessListResponse.schema.json +59 -2
  184. package/generated/ControlHarnessModelsQueryResponse.schema.json +97 -51
  185. package/generated/ControlHarnessModelsResponse.schema.json +96 -0
  186. package/generated/ControlProjectRemoveReceipt.schema.json +36 -0
  187. package/generated/ControlQuotaQueryResponse.schema.json +46 -2
  188. package/generated/ControlQuotaReadRequest.schema.json +4 -0
  189. package/generated/ControlQuotaRefreshRequest.schema.json +12 -3
  190. package/generated/ControlRouteHealth.schema.json +202 -0
  191. package/generated/ControlRunDecisionResponse.schema.json +14 -0
  192. package/generated/ControlRunDetail.schema.json +376 -6
  193. package/generated/ControlRunEventPart.schema.json +3 -2
  194. package/generated/ControlRunListResponse.schema.json +342 -3
  195. package/generated/ControlRunMessageRequest.schema.json +1 -1
  196. package/generated/ControlRunSummary.schema.json +342 -3
  197. package/generated/ControlThreadApplyResponse.schema.json +154 -0
  198. package/generated/ControlThreadDetail.schema.json +2 -1
  199. package/generated/DecisionRecord.schema.json +1 -0
  200. package/generated/HarnessEvent.schema.json +214 -5
  201. package/generated/HarnessManifest.schema.json +57 -0
  202. package/generated/HarnessModel.schema.json +13 -0
  203. package/generated/HarnessStatusDto.schema.json +59 -2
  204. package/generated/JournaledRunCreatedPayload.schema.json +2 -2
  205. package/generated/McpAccountsToolResult.schema.json +105 -4
  206. package/generated/McpRunHandleResult.schema.json +279 -2
  207. package/generated/McpRunToolResult.schema.json +269 -0
  208. package/generated/McpRunWaitResult.schema.json +2 -1
  209. package/generated/RawContextPacket.schema.json +98 -0
  210. package/generated/RunContinuityReceipt.schema.json +8 -0
  211. package/generated/RunEvent.schema.json +2 -1
  212. package/generated/RunFacts.schema.json +1 -0
  213. package/generated/RunFailure.schema.json +201 -0
  214. package/generated/RunTelemetry.schema.json +123 -2
  215. package/generated/RunWaitManyInput.schema.json +11 -4
  216. package/generated/ThreadHistoryPage.schema.json +204 -2
  217. package/package.json +2 -2
@@ -0,0 +1,95 @@
1
+ import { quotaSourceTraits } from "./quota.js";
2
+ /** The one Claude quota-family scope: the vendor names the family (`Opus`,
3
+ * `Fable`) and its full ids share the `claude-<family>-` prefix, so a newly
4
+ * released id joins its family's limit without a frozen model list. `best` and
5
+ * a bare default route are not assigned to any family before the vendor
6
+ * resolves them. A name that is not one plain family word has no scope here:
7
+ * producers keep it as diagnostic evidence, never an account-wide limit. */
8
+ export function claudeQuotaFamilyScope(displayName) {
9
+ const family = displayName.trim().toLowerCase();
10
+ if (!/^[a-z][a-z0-9]*$/.test(family))
11
+ return null;
12
+ return { applies_to_models: [family], applies_to_model_prefixes: [`claude-${family}-`] };
13
+ }
14
+ /** Engines before the family-prefix scope wrote a family as its alias, the
15
+ * enumerated known full ids and `best`. That list shape is the retired
16
+ * producer's signature; nothing else adds `best` to a Claude scope. */
17
+ function retiredClaudeAliasFamily(constraint) {
18
+ const models = constraint.applies_to_models;
19
+ if (!models?.includes("best") || constraint.applies_to_model_prefixes?.length)
20
+ return null;
21
+ const named = models.filter((model) => model !== "best");
22
+ const families = named.filter((model) => !model.startsWith("claude-"));
23
+ const family = families.length === 1 ? families[0] : null;
24
+ return family && named.every((m) => m === family || m.startsWith(`claude-${family}-`))
25
+ ? family
26
+ : null;
27
+ }
28
+ const CLAUDE_FAMILY_SOURCES = new Set([
29
+ "claude_oauth_usage",
30
+ "claude_rate_limit_event",
31
+ "claude_api_retry",
32
+ ]);
33
+ /** Current scope of one restored constraint; null retires an unknown scope. */
34
+ function currentConstraint(snapshot, constraint) {
35
+ const scoped = !!constraint.applies_to_models?.length || !!constraint.applies_to_model_prefixes?.length;
36
+ // Only an unrecognized AGY group (or an unnamed OAuth weekly_scoped limit)
37
+ // was ever written without model scope by these sources.
38
+ if (snapshot.source === "agy_command_usage")
39
+ return scoped ? constraint : null;
40
+ if (snapshot.source === "claude_oauth_usage" && constraint.id === "weekly_scoped:scoped")
41
+ return scoped ? constraint : null;
42
+ const family = retiredClaudeAliasFamily(constraint);
43
+ if (family === null)
44
+ return constraint;
45
+ const scope = claudeQuotaFamilyScope(family);
46
+ return scope ? { ...constraint, ...scope } : null;
47
+ }
48
+ /**
49
+ * Restore a journaled snapshot in the current scope representation. Only
50
+ * source-proven retired shapes change: a Claude family alias list (measured,
51
+ * OAuth or reactive cooldown) becomes the family prefix scope with its usage,
52
+ * reset, cooldown and observation time intact, and an unknown AGY group or
53
+ * unnamed OAuth weekly_scoped limit stops being account-wide. Every other
54
+ * harness, source, window, route, subject and request kind is returned as is.
55
+ * Null means a single-window record whose only window had an unknown scope; a
56
+ * full reading left with no window keeps its identity with `freshness: unknown`.
57
+ */
58
+ export function withCurrentQuotaScopes(snapshot) {
59
+ const relevant = (snapshot.subject.harness === "claude" && CLAUDE_FAMILY_SOURCES.has(snapshot.source)) ||
60
+ (snapshot.subject.harness === "agy" && snapshot.source === "agy_command_usage");
61
+ if (!relevant)
62
+ return snapshot;
63
+ const constraints = snapshot.constraints.flatMap((constraint) => {
64
+ const current = currentConstraint(snapshot, constraint);
65
+ return current ? [current] : [];
66
+ });
67
+ const unchanged = constraints.length === snapshot.constraints.length &&
68
+ constraints.every((constraint, index) => constraint === snapshot.constraints[index]);
69
+ if (unchanged)
70
+ return snapshot;
71
+ if (constraints.length > 0)
72
+ return { ...snapshot, constraints };
73
+ if (quotaSourceTraits(snapshot.source).snapshotMode === "window")
74
+ return null;
75
+ // A full reading whose every window had an unknown scope still supersedes
76
+ // older readings of its source, but it is no fresh limit-free observation:
77
+ // display, availability readers and refresh demand see it as unknown.
78
+ return { ...snapshot, constraints, freshness: "unknown" };
79
+ }
80
+ export const QUOTA_FRESHNESS_TTL_MS = 5 * 60_000;
81
+ /** One window's freshness at `now`, from the snapshot's own label and
82
+ * observation time and this window's own reset: fresh through exactly five
83
+ * minutes, stale once its reset is reached. A sibling's reset never ages it and
84
+ * nothing here makes stale evidence fresh. The registry ages a whole snapshot
85
+ * by the same rule; admission readers apply it per window at their decision. */
86
+ export function quotaWindowFreshness(snapshot, constraint, now) {
87
+ if (snapshot.freshness !== "fresh")
88
+ return snapshot.freshness;
89
+ const observed = Date.parse(snapshot.observed_at);
90
+ if (!Number.isFinite(observed) || now - observed > QUOTA_FRESHNESS_TTL_MS)
91
+ return "stale";
92
+ const reset = constraint.resets_at ? Date.parse(constraint.resets_at) : Number.NaN;
93
+ return Number.isFinite(reset) && reset <= now ? "stale" : "fresh";
94
+ }
95
+ //# sourceMappingURL=quota-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota-scope.js","sourceRoot":"","sources":["../src/quota-scope.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,21 @@ export declare const RateLimitSignal: z.ZodObject<{
4
4
  constraint_id: z.ZodOptional<z.ZodString>;
5
5
  applies_to_request_kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["text", "image"]>, "many">>;
6
6
  applies_to_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
7
+ applies_to_model_prefixes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
8
  resets_at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
8
9
  retry_delay_ms: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
9
10
  }, "strip", z.ZodTypeAny, {
10
11
  constraint_id?: string | undefined;
11
12
  applies_to_request_kinds?: ("image" | "text")[] | undefined;
12
13
  applies_to_models?: string[] | null | undefined;
14
+ applies_to_model_prefixes?: string[] | undefined;
13
15
  resets_at: string | null;
14
16
  retry_delay_ms: number | null;
15
17
  }, {
16
18
  constraint_id?: string | undefined;
17
19
  applies_to_request_kinds?: ("image" | "text")[] | undefined;
18
20
  applies_to_models?: string[] | null | undefined;
21
+ applies_to_model_prefixes?: string[] | undefined;
19
22
  resets_at?: string | null | undefined;
20
23
  retry_delay_ms?: number | null | undefined;
21
24
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,2EAA2E;AAC3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAwB1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWzE"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,2EAA2E;AAC3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EA8B1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWzE"}
@@ -9,7 +9,11 @@ export const RateLimitSignal = z.object({
9
9
  .array(Id)
10
10
  .nullable()
11
11
  .optional()
12
- .describe("Canonical model ids/aliases this rejection applies to; omitted/null means every model."),
12
+ .describe("Canonical model ids/aliases this rejection applies to; omitted/null (with no prefixes) means every model."),
13
+ applies_to_model_prefixes: z
14
+ .array(Id)
15
+ .optional()
16
+ .describe("Producer-declared model-family prefixes this rejection also applies to, as on QuotaConstraint."),
13
17
  resets_at: z
14
18
  .string()
15
19
  .nullable()
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,aAAa,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,oFAAoF,CACrF;IACD,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrE,iBAAiB,EAAE,CAAC;SACjB,KAAK,CAAC,EAAE,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,wFAAwF,CACzF;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,uDAAuD,CAAC;CACrE,CAAC,CAAC;AAGH;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,GAAG,GACP,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxE,CAAC,CAAE,OAAmC,CAAC,kBAAkB,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC;IACjD,qEAAqE;IACrE,2DAA2D;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,aAAa,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnC,oFAAoF,CACrF;IACD,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrE,iBAAiB,EAAE,CAAC;SACjB,KAAK,CAAC,EAAE,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,2GAA2G,CAC5G;IACH,yBAAyB,EAAE,CAAC;SACzB,KAAK,CAAC,EAAE,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,gGAAgG,CACjG;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,cAAc,EAAE,CAAC;SACd,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,uDAAuD,CAAC;CACrE,CAAC,CAAC;AAGH;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,GAAG,GACP,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxE,CAAC,CAAE,OAAmC,CAAC,kBAAkB,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,CAAC;IACjD,qEAAqE;IACrE,2DAA2D;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1D,CAAC"}
package/dist/raw.d.ts CHANGED
@@ -21,9 +21,207 @@ export declare const RawContextFile: z.ZodObject<{
21
21
  content: string;
22
22
  }>;
23
23
  export type RawContextFile = z.infer<typeof RawContextFile>;
24
+ /**
25
+ * How a packet's optional files were sized (#147). Estimates are ceil(UTF-16
26
+ * characters / 4) over the text the model receives: approximate, never a
27
+ * tokenizer count. `model_context_window` sized the whole rendered request
28
+ * (framing + packet + output allowance) to the selected model's known window;
29
+ * `assumed_ceiling` means no window was known, so the fixed selection ceiling
30
+ * bounded the optional file contents and is not a fact about the model.
31
+ */
32
+ export declare const RawContextBudget: z.ZodObject<{
33
+ estimator: z.ZodLiteral<"chars_div_4">;
34
+ basis: z.ZodEnum<["model_context_window", "assumed_ceiling"]>;
35
+ model: z.ZodNullable<z.ZodString>;
36
+ context_window: z.ZodNullable<z.ZodNumber>;
37
+ output_allowance_tokens: z.ZodNullable<z.ZodNumber>;
38
+ framing_tokens: z.ZodNullable<z.ZodNumber>;
39
+ selection_limit_tokens: z.ZodNumber;
40
+ estimated_packet_tokens: z.ZodNumber;
41
+ omitted_for_budget: z.ZodNumber;
42
+ mandatory_paths: z.ZodArray<z.ZodString, "many">;
43
+ }, "strict", z.ZodTypeAny, {
44
+ estimator: "chars_div_4";
45
+ basis: "assumed_ceiling" | "model_context_window";
46
+ model: string | null;
47
+ context_window: number | null;
48
+ output_allowance_tokens: number | null;
49
+ framing_tokens: number | null;
50
+ selection_limit_tokens: number;
51
+ estimated_packet_tokens: number;
52
+ omitted_for_budget: number;
53
+ mandatory_paths: string[];
54
+ }, {
55
+ estimator: "chars_div_4";
56
+ basis: "assumed_ceiling" | "model_context_window";
57
+ model: string | null;
58
+ context_window: number | null;
59
+ output_allowance_tokens: number | null;
60
+ framing_tokens: number | null;
61
+ selection_limit_tokens: number;
62
+ estimated_packet_tokens: number;
63
+ omitted_for_budget: number;
64
+ mandatory_paths: string[];
65
+ }>;
66
+ export type RawContextBudget = z.infer<typeof RawContextBudget>;
67
+ /**
68
+ * What one raw-api request carried as prepared (#147): the adapter's estimate
69
+ * of the request exactly as rendered, beside the budget its packet was sized
70
+ * under. Stamped on the status event that discloses the sizing just before the
71
+ * POST, so it is no proof the provider received the request; kept per attempt
72
+ * (the last try wins) and projected for the run's final attempt.
73
+ */
74
+ export declare const RawContextReceipt: z.ZodObject<{
75
+ model: z.ZodString;
76
+ estimated_request_tokens: z.ZodNumber;
77
+ budget: z.ZodObject<{
78
+ estimator: z.ZodLiteral<"chars_div_4">;
79
+ basis: z.ZodEnum<["model_context_window", "assumed_ceiling"]>;
80
+ model: z.ZodNullable<z.ZodString>;
81
+ context_window: z.ZodNullable<z.ZodNumber>;
82
+ output_allowance_tokens: z.ZodNullable<z.ZodNumber>;
83
+ framing_tokens: z.ZodNullable<z.ZodNumber>;
84
+ selection_limit_tokens: z.ZodNumber;
85
+ estimated_packet_tokens: z.ZodNumber;
86
+ omitted_for_budget: z.ZodNumber;
87
+ mandatory_paths: z.ZodArray<z.ZodString, "many">;
88
+ }, "strict", z.ZodTypeAny, {
89
+ estimator: "chars_div_4";
90
+ basis: "assumed_ceiling" | "model_context_window";
91
+ model: string | null;
92
+ context_window: number | null;
93
+ output_allowance_tokens: number | null;
94
+ framing_tokens: number | null;
95
+ selection_limit_tokens: number;
96
+ estimated_packet_tokens: number;
97
+ omitted_for_budget: number;
98
+ mandatory_paths: string[];
99
+ }, {
100
+ estimator: "chars_div_4";
101
+ basis: "assumed_ceiling" | "model_context_window";
102
+ model: string | null;
103
+ context_window: number | null;
104
+ output_allowance_tokens: number | null;
105
+ framing_tokens: number | null;
106
+ selection_limit_tokens: number;
107
+ estimated_packet_tokens: number;
108
+ omitted_for_budget: number;
109
+ mandatory_paths: string[];
110
+ }>;
111
+ }, "strict", z.ZodTypeAny, {
112
+ model: string;
113
+ estimated_request_tokens: number;
114
+ budget: {
115
+ estimator: "chars_div_4";
116
+ basis: "assumed_ceiling" | "model_context_window";
117
+ model: string | null;
118
+ context_window: number | null;
119
+ output_allowance_tokens: number | null;
120
+ framing_tokens: number | null;
121
+ selection_limit_tokens: number;
122
+ estimated_packet_tokens: number;
123
+ omitted_for_budget: number;
124
+ mandatory_paths: string[];
125
+ };
126
+ }, {
127
+ model: string;
128
+ estimated_request_tokens: number;
129
+ budget: {
130
+ estimator: "chars_div_4";
131
+ basis: "assumed_ceiling" | "model_context_window";
132
+ model: string | null;
133
+ context_window: number | null;
134
+ output_allowance_tokens: number | null;
135
+ framing_tokens: number | null;
136
+ selection_limit_tokens: number;
137
+ estimated_packet_tokens: number;
138
+ omitted_for_budget: number;
139
+ mandatory_paths: string[];
140
+ };
141
+ }>;
142
+ export type RawContextReceipt = z.infer<typeof RawContextReceipt>;
143
+ /**
144
+ * Why a raw-api request was not sent: its mandatory content cannot fit the
145
+ * selected model's KNOWN window (`raw_context_exceeds_window`, #147). The
146
+ * figures add up: window < packet + framing + output allowance, where the
147
+ * packet already omits every optional file and the mandatory files are part of
148
+ * it. Every figure is a chars/4 estimate.
149
+ */
150
+ export declare const RawContextShortfall: z.ZodObject<{
151
+ model: z.ZodString;
152
+ context_window: z.ZodNumber;
153
+ packet_tokens: z.ZodNumber;
154
+ framing_tokens: z.ZodNumber;
155
+ output_allowance_tokens: z.ZodNumber;
156
+ mandatory_files: z.ZodArray<z.ZodObject<{
157
+ path: z.ZodString;
158
+ estimated_tokens: z.ZodNumber;
159
+ }, "strict", z.ZodTypeAny, {
160
+ path: string;
161
+ estimated_tokens: number;
162
+ }, {
163
+ path: string;
164
+ estimated_tokens: number;
165
+ }>, "many">;
166
+ }, "strict", z.ZodTypeAny, {
167
+ model: string;
168
+ context_window: number;
169
+ packet_tokens: number;
170
+ framing_tokens: number;
171
+ output_allowance_tokens: number;
172
+ mandatory_files: {
173
+ path: string;
174
+ estimated_tokens: number;
175
+ }[];
176
+ }, {
177
+ model: string;
178
+ context_window: number;
179
+ packet_tokens: number;
180
+ framing_tokens: number;
181
+ output_allowance_tokens: number;
182
+ mandatory_files: {
183
+ path: string;
184
+ estimated_tokens: number;
185
+ }[];
186
+ }>;
187
+ export type RawContextShortfall = z.infer<typeof RawContextShortfall>;
24
188
  export declare const RawContextPacket: z.ZodObject<{
25
189
  schema_version: z.ZodLiteral<1>;
26
190
  packet_hash: z.ZodString;
191
+ budget: z.ZodOptional<z.ZodObject<{
192
+ estimator: z.ZodLiteral<"chars_div_4">;
193
+ basis: z.ZodEnum<["model_context_window", "assumed_ceiling"]>;
194
+ model: z.ZodNullable<z.ZodString>;
195
+ context_window: z.ZodNullable<z.ZodNumber>;
196
+ output_allowance_tokens: z.ZodNullable<z.ZodNumber>;
197
+ framing_tokens: z.ZodNullable<z.ZodNumber>;
198
+ selection_limit_tokens: z.ZodNumber;
199
+ estimated_packet_tokens: z.ZodNumber;
200
+ omitted_for_budget: z.ZodNumber;
201
+ mandatory_paths: z.ZodArray<z.ZodString, "many">;
202
+ }, "strict", z.ZodTypeAny, {
203
+ estimator: "chars_div_4";
204
+ basis: "assumed_ceiling" | "model_context_window";
205
+ model: string | null;
206
+ context_window: number | null;
207
+ output_allowance_tokens: number | null;
208
+ framing_tokens: number | null;
209
+ selection_limit_tokens: number;
210
+ estimated_packet_tokens: number;
211
+ omitted_for_budget: number;
212
+ mandatory_paths: string[];
213
+ }, {
214
+ estimator: "chars_div_4";
215
+ basis: "assumed_ceiling" | "model_context_window";
216
+ model: string | null;
217
+ context_window: number | null;
218
+ output_allowance_tokens: number | null;
219
+ framing_tokens: number | null;
220
+ selection_limit_tokens: number;
221
+ estimated_packet_tokens: number;
222
+ omitted_for_budget: number;
223
+ mandatory_paths: string[];
224
+ }>>;
27
225
  base_commit_sha: z.ZodString;
28
226
  base_tree_sha: z.ZodString;
29
227
  readable_files: z.ZodArray<z.ZodObject<{
@@ -86,6 +284,18 @@ export declare const RawContextPacket: z.ZodObject<{
86
284
  }, "strip", z.ZodTypeAny, {
87
285
  schema_version: 1;
88
286
  packet_hash: string;
287
+ budget?: {
288
+ estimator: "chars_div_4";
289
+ basis: "assumed_ceiling" | "model_context_window";
290
+ model: string | null;
291
+ context_window: number | null;
292
+ output_allowance_tokens: number | null;
293
+ framing_tokens: number | null;
294
+ selection_limit_tokens: number;
295
+ estimated_packet_tokens: number;
296
+ omitted_for_budget: number;
297
+ mandatory_paths: string[];
298
+ } | undefined;
89
299
  base_commit_sha: string;
90
300
  base_tree_sha: string;
91
301
  readable_files: {
@@ -114,6 +324,18 @@ export declare const RawContextPacket: z.ZodObject<{
114
324
  }, {
115
325
  schema_version: 1;
116
326
  packet_hash: string;
327
+ budget?: {
328
+ estimator: "chars_div_4";
329
+ basis: "assumed_ceiling" | "model_context_window";
330
+ model: string | null;
331
+ context_window: number | null;
332
+ output_allowance_tokens: number | null;
333
+ framing_tokens: number | null;
334
+ selection_limit_tokens: number;
335
+ estimated_packet_tokens: number;
336
+ omitted_for_budget: number;
337
+ mandatory_paths: string[];
338
+ } | undefined;
117
339
  base_commit_sha: string;
118
340
  base_tree_sha: string;
119
341
  readable_files: {
@@ -190,6 +412,6 @@ export declare const RawGitPatchEnvelope: z.ZodObject<{
190
412
  }[];
191
413
  }>;
192
414
  export type RawGitPatchEnvelope = z.infer<typeof RawGitPatchEnvelope>;
193
- export declare const RawPatchRefusalCode: z.ZodEnum<["raw_patch_requires_isolation", "raw_patch_missing_evidence", "raw_patch_digest_mismatch", "raw_patch_base_mismatch", "raw_patch_path_traversal", "raw_patch_outside_scope", "raw_patch_stale_preimage", "raw_patch_binary_unsupported", "raw_patch_truncated", "raw_patch_apply_failed"]>;
415
+ export declare const RawPatchRefusalCode: z.ZodEnum<["raw_patch_requires_isolation", "raw_patch_missing_evidence", "raw_patch_digest_mismatch", "raw_patch_base_mismatch", "raw_patch_path_traversal", "raw_patch_outside_scope", "raw_patch_stale_preimage", "raw_patch_binary_unsupported", "raw_patch_truncated", "raw_patch_apply_failed", "raw_context_exceeds_window"]>;
194
416
  export type RawPatchRefusalCode = z.infer<typeof RawPatchRefusalCode>;
195
417
  //# sourceMappingURL=raw.d.ts.map
package/dist/raw.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,uBAAuB,gDAIjC,CAAC;AACJ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;EAO/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB,uSAW9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,uBAAuB,gDAIjC,CAAC;AACJ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC+D,CAAC;AAC7F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAIhE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B7B,CAAC;AACJ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;EAO/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB,qUAa9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
package/dist/raw.js CHANGED
@@ -11,9 +11,93 @@ export const RawContextFile = z.object({
11
11
  content_hash: ContentHash,
12
12
  content: z.string().describe("Complete text content; never truncated."),
13
13
  });
14
+ /**
15
+ * How a packet's optional files were sized (#147). Estimates are ceil(UTF-16
16
+ * characters / 4) over the text the model receives: approximate, never a
17
+ * tokenizer count. `model_context_window` sized the whole rendered request
18
+ * (framing + packet + output allowance) to the selected model's known window;
19
+ * `assumed_ceiling` means no window was known, so the fixed selection ceiling
20
+ * bounded the optional file contents and is not a fact about the model.
21
+ */
22
+ export const RawContextBudget = z
23
+ .object({
24
+ estimator: z.literal("chars_div_4"),
25
+ basis: z.enum(["model_context_window", "assumed_ceiling"]),
26
+ model: z
27
+ .string()
28
+ .min(1)
29
+ .nullable()
30
+ .describe("Model whose catalog row was consulted; null when the producer reported none."),
31
+ context_window: z.number().int().positive().nullable(),
32
+ output_allowance_tokens: z.number().int().nonnegative().nullable(),
33
+ framing_tokens: z
34
+ .number()
35
+ .int()
36
+ .nonnegative()
37
+ .nullable()
38
+ .describe("Estimated tokens of the request outside this packet; null when unmeasured."),
39
+ selection_limit_tokens: z
40
+ .number()
41
+ .int()
42
+ .positive()
43
+ .describe("Limit the optional selection honoured: the packet's share of the window, or the assumed ceiling on file contents."),
44
+ estimated_packet_tokens: z.number().int().nonnegative(),
45
+ omitted_for_budget: z
46
+ .number()
47
+ .int()
48
+ .nonnegative()
49
+ .describe("Optional files left out to honour selection_limit_tokens (listed in omissions)."),
50
+ mandatory_paths: z
51
+ .array(z.string().min(1))
52
+ .describe("Project mandatory files, each delivered complete in readable_files."),
53
+ })
54
+ .strict()
55
+ .describe("Sizing evidence for a raw context packet; disclosed, never a tokenizer count.");
56
+ const EstimatedTokens = z.number().int().nonnegative();
57
+ /**
58
+ * What one raw-api request carried as prepared (#147): the adapter's estimate
59
+ * of the request exactly as rendered, beside the budget its packet was sized
60
+ * under. Stamped on the status event that discloses the sizing just before the
61
+ * POST, so it is no proof the provider received the request; kept per attempt
62
+ * (the last try wins) and projected for the run's final attempt.
63
+ */
64
+ export const RawContextReceipt = z
65
+ .object({
66
+ model: z.string().min(1).describe("Model the request named."),
67
+ estimated_request_tokens: EstimatedTokens.describe("Estimated tokens of the whole rendered request (chars/4, plus a fixed figure per image); never a tokenizer count."),
68
+ budget: RawContextBudget,
69
+ })
70
+ .strict()
71
+ .describe("Estimated size of one raw-api request as prepared just before its POST, and the budget its packet honoured; not proof the provider received it.");
72
+ /**
73
+ * Why a raw-api request was not sent: its mandatory content cannot fit the
74
+ * selected model's KNOWN window (`raw_context_exceeds_window`, #147). The
75
+ * figures add up: window < packet + framing + output allowance, where the
76
+ * packet already omits every optional file and the mandatory files are part of
77
+ * it. Every figure is a chars/4 estimate.
78
+ */
79
+ export const RawContextShortfall = z
80
+ .object({
81
+ model: z.string().min(1).describe("Model whose window was checked."),
82
+ context_window: z.number().int().positive(),
83
+ packet_tokens: EstimatedTokens.describe("The packet with every optional file omitted: mandatory files, file manifest and metadata."),
84
+ framing_tokens: EstimatedTokens.describe("The request outside the packet: instructions, user text, patch protocol and attachments."),
85
+ output_allowance_tokens: EstimatedTokens.describe("Tokens kept free for the answer."),
86
+ mandatory_files: z
87
+ .array(z
88
+ .object({
89
+ path: z.string().min(1),
90
+ estimated_tokens: EstimatedTokens.describe("This file's share of packet_tokens: its packet entry with content and evidence."),
91
+ })
92
+ .strict())
93
+ .describe("Every mandatory file, largest first."),
94
+ })
95
+ .strict()
96
+ .describe("Typed sizes of a raw-api request refused before sending because its mandatory content exceeds the model's known window.");
14
97
  export const RawContextPacket = z.object({
15
98
  schema_version: z.literal(1),
16
99
  packet_hash: ContentHash,
100
+ budget: RawContextBudget.optional(),
17
101
  base_commit_sha: z.string().min(1),
18
102
  base_tree_sha: z.string().min(1),
19
103
  readable_files: z.array(RawContextFile),
@@ -53,5 +137,7 @@ export const RawPatchRefusalCode = z.enum([
53
137
  "raw_patch_binary_unsupported",
54
138
  "raw_patch_truncated",
55
139
  "raw_patch_apply_failed",
140
+ /* The final request outgrew the KNOWN window its packet was sized for (#147). */
141
+ "raw_context_exceeds_window",
56
142
  ]);
57
143
  //# sourceMappingURL=raw.js.map
package/dist/raw.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"raw.js","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raw.js","sourceRoot":"","sources":["../src/raw.ts"],"names":[],"mappings":"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"}