@claudexor/schema 3.4.2 → 3.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/dist/accounts-migration.d.ts +112 -0
- package/dist/accounts-migration.d.ts.map +1 -0
- package/dist/accounts-migration.js +74 -0
- package/dist/accounts-migration.js.map +1 -0
- package/dist/budget.d.ts +3 -0
- package/dist/budget.d.ts.map +1 -1
- package/dist/budget.js +4 -0
- package/dist/budget.js.map +1 -1
- package/dist/config.d.ts +38 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +26 -6
- package/dist/config.js.map +1 -1
- package/dist/control-operation-responses.d.ts +7 -7
- package/dist/control-run-detail.d.ts +19 -19
- package/dist/control-run-failure.d.ts +4 -4
- package/dist/control-run-failure.d.ts.map +1 -1
- package/dist/control-run-failure.js +7 -1
- package/dist/control-run-failure.js.map +1 -1
- package/dist/control.d.ts +23 -23
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +8 -8
- package/dist/control.js.map +1 -1
- package/dist/credential-profile-snapshot.d.ts +254 -14
- package/dist/credential-profile-snapshot.d.ts.map +1 -1
- package/dist/credential-profile.d.ts +307 -7
- package/dist/credential-profile.d.ts.map +1 -1
- package/dist/credential-profile.js +104 -9
- package/dist/credential-profile.js.map +1 -1
- package/dist/credential-store.d.ts +26 -0
- package/dist/credential-store.d.ts.map +1 -0
- package/dist/credential-store.js +30 -0
- package/dist/credential-store.js.map +1 -0
- package/dist/events.d.ts +44 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +34 -0
- package/dist/events.js.map +1 -1
- package/dist/harness.d.ts +12 -5
- package/dist/harness.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-run-result.d.ts +10 -10
- package/dist/quota.d.ts +96 -14
- package/dist/quota.d.ts.map +1 -1
- package/dist/quota.js +60 -2
- package/dist/quota.js.map +1 -1
- package/dist/rate-limit.d.ts +9 -0
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/rate-limit.js +21 -0
- package/dist/rate-limit.js.map +1 -1
- package/dist/setup-login-input.js +1 -1
- package/dist/setup-login-input.js.map +1 -1
- package/dist/setup-login.d.ts +446 -0
- package/dist/setup-login.d.ts.map +1 -0
- package/dist/setup-login.js +161 -0
- package/dist/setup-login.js.map +1 -0
- package/dist/setup.d.ts +130 -491
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +8 -138
- package/dist/setup.js.map +1 -1
- package/generated/AccountsUnifiedMigrationFile.schema.json +61 -0
- package/generated/BudgetObservation.schema.json +4 -0
- package/generated/ControlAccountPoolsResponse.schema.json +93 -0
- package/generated/ControlAccountsMigrationRollbackRequest.schema.json +18 -0
- package/generated/ControlAccountsMigrationRollbackResponse.schema.json +63 -0
- package/generated/ControlCredentialProfileDeleteResponse.schema.json +1 -1
- package/generated/ControlCredentialProfilesQueryResponse.schema.json +87 -3
- package/generated/ControlCredentialProfilesResponse.schema.json +77 -1
- package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +84 -3
- package/generated/ControlHarnessAccountPool.schema.json +79 -0
- package/generated/ControlHarnessSettingsPatch.schema.json +2 -1
- package/generated/ControlPoolNextUp.schema.json +63 -0
- package/generated/ControlQuotaResponse.schema.json +7 -2
- package/generated/ControlRunDetail.schema.json +2 -1
- package/generated/ControlRunListResponse.schema.json +2 -1
- package/generated/ControlRunSummary.schema.json +2 -1
- package/generated/ControlSettingsSnapshot.schema.json +3 -2
- package/generated/ControlSettingsUpdateRequest.schema.json +2 -1
- package/generated/ControlSetupJob.schema.json +6 -1
- package/generated/ControlSetupJobCreateRequest.schema.json +2 -1
- package/generated/ControlSetupJobEvent.schema.json +6 -1
- package/generated/ControlSetupJobListFilter.schema.json +2 -1
- package/generated/ControlSetupJobListResponse.schema.json +6 -1
- package/generated/ControlSetupJobSnapshot.schema.json +6 -1
- package/generated/GlobalConfig.schema.json +3 -2
- package/generated/HarnessEvent.schema.json +6 -1
- package/generated/McpRunHandleResult.schema.json +2 -1
- package/generated/McpRunToolResult.schema.json +2 -1
- package/generated/RunEvent.schema.json +4 -0
- package/generated/RunFailure.schema.json +2 -1
- package/package.json +2 -2
package/dist/quota.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod/v3";
|
|
2
|
-
export declare const QuotaSource: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage"]>;
|
|
2
|
+
export declare const QuotaSource: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage", "agy_command_usage", "cursor_rate_limit"]>;
|
|
3
3
|
export type QuotaSource = z.infer<typeof QuotaSource>;
|
|
4
4
|
/** Orthogonal capabilities of every quota evidence source. Keep this
|
|
5
5
|
* exhaustive registry beside the QuotaSource vocabulary so consumers cannot
|
|
@@ -10,7 +10,7 @@ export interface QuotaSourceTraits {
|
|
|
10
10
|
readonly vendorAuthenticated: boolean;
|
|
11
11
|
/** A missing/stale primary observation from this harness creates daemon
|
|
12
12
|
* refresh demand. Reactive and spool sources deliberately use null. */
|
|
13
|
-
readonly refreshDemandHarness: "claude" | "codex" | null;
|
|
13
|
+
readonly refreshDemandHarness: "claude" | "codex" | "agy" | null;
|
|
14
14
|
/** At least one registered top-level quota refresher can produce this
|
|
15
15
|
* source. This is independent of whether it satisfies refresh demand. */
|
|
16
16
|
readonly producedByRefresher: boolean;
|
|
@@ -41,9 +41,35 @@ export declare const QUOTA_SOURCE_TRAITS: {
|
|
|
41
41
|
readonly refreshDemandHarness: "claude";
|
|
42
42
|
readonly producedByRefresher: true;
|
|
43
43
|
};
|
|
44
|
+
readonly agy_command_usage: {
|
|
45
|
+
readonly vendorAuthenticated: true;
|
|
46
|
+
readonly refreshDemandHarness: "agy";
|
|
47
|
+
readonly producedByRefresher: true;
|
|
48
|
+
};
|
|
49
|
+
readonly cursor_rate_limit: {
|
|
50
|
+
readonly vendorAuthenticated: false;
|
|
51
|
+
readonly refreshDemandHarness: null;
|
|
52
|
+
readonly producedByRefresher: false;
|
|
53
|
+
};
|
|
44
54
|
};
|
|
45
55
|
export declare function quotaSourceTraits(source: QuotaSource): QuotaSourceTraits;
|
|
46
|
-
|
|
56
|
+
/** Harness → source label for reactive `rate_limit` cooldown evidence. This
|
|
57
|
+
* map IS the daemon's cooldown-ingest allowlist and its expiry-predicate
|
|
58
|
+
* scope: agy stays deliberately absent because its adapter emits no
|
|
59
|
+
* `rate_limit` event, and a branch with no producer is a dead knob
|
|
60
|
+
* (INV-022/023) — a harness joins in the same change that makes its adapter
|
|
61
|
+
* emit one (cursor joined with the A1 retry-signals classifier). */
|
|
62
|
+
export declare const REACTIVE_COOLDOWN_SOURCE: Partial<Record<string, QuotaSource>>;
|
|
63
|
+
/** Durable-journal source label the strict v3.2.0 rollback runtime can parse.
|
|
64
|
+
* `cursor_rate_limit` postdates that enum, so a base upsert record carrying it
|
|
65
|
+
* would crash a rolled-back engine's replay; the base record carries the
|
|
66
|
+
* nearest v3.2.0 vocabulary instead (claude_api_retry has the same
|
|
67
|
+
* reactive-spool trait row), while the paired scoped-prepare record preserves
|
|
68
|
+
* the true source for current runtimes. `agy_command_usage` also postdates
|
|
69
|
+
* v3.2.0 but predates this mapping: remapping it now would orphan its already
|
|
70
|
+
* journaled prepare/commit hashes, so it stays a disclosed rollback residual. */
|
|
71
|
+
export declare function legacyV320QuotaSource(source: QuotaSource): QuotaSource;
|
|
72
|
+
export declare function quotaRefreshDemandHarnesses(): Array<"claude" | "codex" | "agy">;
|
|
47
73
|
export declare function quotaSourcesProducedByRefreshers(): QuotaSource[];
|
|
48
74
|
export declare const QuotaFreshness: z.ZodEnum<["fresh", "stale", "unknown"]>;
|
|
49
75
|
export type QuotaFreshness = z.infer<typeof QuotaFreshness>;
|
|
@@ -77,6 +103,16 @@ export declare const QuotaConstraint: z.ZodObject<{
|
|
|
77
103
|
* list is the producer's canonical model-id/alias scope, so a
|
|
78
104
|
* model-specific cap never cools a different model on the same subject. */
|
|
79
105
|
applies_to_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
106
|
+
/**
|
|
107
|
+
* Whether this MODEL-SCOPED window also governs a run that names no model.
|
|
108
|
+
* Default (absent) is the conservative answer: a scoped window cannot
|
|
109
|
+
* refuse a route whose concrete model is unknowable before spawn. A source
|
|
110
|
+
* sets it when the vendor's unspecified-model route provably consumes THIS
|
|
111
|
+
* window — the case where every window is scoped, so the conservative
|
|
112
|
+
* default would leave an exhausted subscription unrefusable and its
|
|
113
|
+
* profile rotation unreachable.
|
|
114
|
+
*/
|
|
115
|
+
applies_to_unspecified_model: z.ZodOptional<z.ZodBoolean>;
|
|
80
116
|
used_ratio: z.ZodNullable<z.ZodNumber>;
|
|
81
117
|
window_seconds: z.ZodNullable<z.ZodNumber>;
|
|
82
118
|
resets_at: z.ZodNullable<z.ZodString>;
|
|
@@ -85,6 +121,7 @@ export declare const QuotaConstraint: z.ZodObject<{
|
|
|
85
121
|
id: string;
|
|
86
122
|
label: string;
|
|
87
123
|
applies_to_models?: string[] | null | undefined;
|
|
124
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
88
125
|
used_ratio: number | null;
|
|
89
126
|
window_seconds: number | null;
|
|
90
127
|
resets_at: string | null;
|
|
@@ -93,6 +130,7 @@ export declare const QuotaConstraint: z.ZodObject<{
|
|
|
93
130
|
id: string;
|
|
94
131
|
label: string;
|
|
95
132
|
applies_to_models?: string[] | null | undefined;
|
|
133
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
96
134
|
used_ratio: number | null;
|
|
97
135
|
window_seconds: number | null;
|
|
98
136
|
resets_at: string | null;
|
|
@@ -129,6 +167,16 @@ export declare const QuotaSnapshot: z.ZodObject<{
|
|
|
129
167
|
* list is the producer's canonical model-id/alias scope, so a
|
|
130
168
|
* model-specific cap never cools a different model on the same subject. */
|
|
131
169
|
applies_to_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
170
|
+
/**
|
|
171
|
+
* Whether this MODEL-SCOPED window also governs a run that names no model.
|
|
172
|
+
* Default (absent) is the conservative answer: a scoped window cannot
|
|
173
|
+
* refuse a route whose concrete model is unknowable before spawn. A source
|
|
174
|
+
* sets it when the vendor's unspecified-model route provably consumes THIS
|
|
175
|
+
* window — the case where every window is scoped, so the conservative
|
|
176
|
+
* default would leave an exhausted subscription unrefusable and its
|
|
177
|
+
* profile rotation unreachable.
|
|
178
|
+
*/
|
|
179
|
+
applies_to_unspecified_model: z.ZodOptional<z.ZodBoolean>;
|
|
132
180
|
used_ratio: z.ZodNullable<z.ZodNumber>;
|
|
133
181
|
window_seconds: z.ZodNullable<z.ZodNumber>;
|
|
134
182
|
resets_at: z.ZodNullable<z.ZodString>;
|
|
@@ -137,6 +185,7 @@ export declare const QuotaSnapshot: z.ZodObject<{
|
|
|
137
185
|
id: string;
|
|
138
186
|
label: string;
|
|
139
187
|
applies_to_models?: string[] | null | undefined;
|
|
188
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
140
189
|
used_ratio: number | null;
|
|
141
190
|
window_seconds: number | null;
|
|
142
191
|
resets_at: string | null;
|
|
@@ -145,12 +194,13 @@ export declare const QuotaSnapshot: z.ZodObject<{
|
|
|
145
194
|
id: string;
|
|
146
195
|
label: string;
|
|
147
196
|
applies_to_models?: string[] | null | undefined;
|
|
197
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
148
198
|
used_ratio: number | null;
|
|
149
199
|
window_seconds: number | null;
|
|
150
200
|
resets_at: string | null;
|
|
151
201
|
cooldown_until?: string | null | undefined;
|
|
152
202
|
}>, "many">;
|
|
153
|
-
source: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage"]>;
|
|
203
|
+
source: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage", "agy_command_usage", "cursor_rate_limit"]>;
|
|
154
204
|
observed_at: z.ZodString;
|
|
155
205
|
freshness: z.ZodEnum<["fresh", "stale", "unknown"]>;
|
|
156
206
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -164,12 +214,13 @@ export declare const QuotaSnapshot: z.ZodObject<{
|
|
|
164
214
|
id: string;
|
|
165
215
|
label: string;
|
|
166
216
|
applies_to_models?: string[] | null | undefined;
|
|
217
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
167
218
|
used_ratio: number | null;
|
|
168
219
|
window_seconds: number | null;
|
|
169
220
|
resets_at: string | null;
|
|
170
221
|
cooldown_until: string | null;
|
|
171
222
|
}[];
|
|
172
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
223
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
173
224
|
observed_at: string;
|
|
174
225
|
freshness: "fresh" | "stale" | "unknown";
|
|
175
226
|
}, {
|
|
@@ -183,12 +234,13 @@ export declare const QuotaSnapshot: z.ZodObject<{
|
|
|
183
234
|
id: string;
|
|
184
235
|
label: string;
|
|
185
236
|
applies_to_models?: string[] | null | undefined;
|
|
237
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
186
238
|
used_ratio: number | null;
|
|
187
239
|
window_seconds: number | null;
|
|
188
240
|
resets_at: string | null;
|
|
189
241
|
cooldown_until?: string | null | undefined;
|
|
190
242
|
}[];
|
|
191
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
243
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
192
244
|
observed_at: string;
|
|
193
245
|
freshness: "fresh" | "stale" | "unknown";
|
|
194
246
|
}>;
|
|
@@ -326,6 +378,16 @@ export declare const ControlQuotaSnapshot: z.ZodObject<{
|
|
|
326
378
|
* list is the producer's canonical model-id/alias scope, so a
|
|
327
379
|
* model-specific cap never cools a different model on the same subject. */
|
|
328
380
|
applies_to_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
381
|
+
/**
|
|
382
|
+
* Whether this MODEL-SCOPED window also governs a run that names no model.
|
|
383
|
+
* Default (absent) is the conservative answer: a scoped window cannot
|
|
384
|
+
* refuse a route whose concrete model is unknowable before spawn. A source
|
|
385
|
+
* sets it when the vendor's unspecified-model route provably consumes THIS
|
|
386
|
+
* window — the case where every window is scoped, so the conservative
|
|
387
|
+
* default would leave an exhausted subscription unrefusable and its
|
|
388
|
+
* profile rotation unreachable.
|
|
389
|
+
*/
|
|
390
|
+
applies_to_unspecified_model: z.ZodOptional<z.ZodBoolean>;
|
|
329
391
|
used_ratio: z.ZodNullable<z.ZodNumber>;
|
|
330
392
|
window_seconds: z.ZodNullable<z.ZodNumber>;
|
|
331
393
|
resets_at: z.ZodNullable<z.ZodString>;
|
|
@@ -334,6 +396,7 @@ export declare const ControlQuotaSnapshot: z.ZodObject<{
|
|
|
334
396
|
id: string;
|
|
335
397
|
label: string;
|
|
336
398
|
applies_to_models?: string[] | null | undefined;
|
|
399
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
337
400
|
used_ratio: number | null;
|
|
338
401
|
window_seconds: number | null;
|
|
339
402
|
resets_at: string | null;
|
|
@@ -342,12 +405,13 @@ export declare const ControlQuotaSnapshot: z.ZodObject<{
|
|
|
342
405
|
id: string;
|
|
343
406
|
label: string;
|
|
344
407
|
applies_to_models?: string[] | null | undefined;
|
|
408
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
345
409
|
used_ratio: number | null;
|
|
346
410
|
window_seconds: number | null;
|
|
347
411
|
resets_at: string | null;
|
|
348
412
|
cooldown_until?: string | null | undefined;
|
|
349
413
|
}>, "many">;
|
|
350
|
-
source: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage"]>;
|
|
414
|
+
source: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage", "agy_command_usage", "cursor_rate_limit"]>;
|
|
351
415
|
observed_at: z.ZodString;
|
|
352
416
|
freshness: z.ZodEnum<["fresh", "stale", "unknown"]>;
|
|
353
417
|
} & {
|
|
@@ -398,12 +462,13 @@ export declare const ControlQuotaSnapshot: z.ZodObject<{
|
|
|
398
462
|
id: string;
|
|
399
463
|
label: string;
|
|
400
464
|
applies_to_models?: string[] | null | undefined;
|
|
465
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
401
466
|
used_ratio: number | null;
|
|
402
467
|
window_seconds: number | null;
|
|
403
468
|
resets_at: string | null;
|
|
404
469
|
cooldown_until: string | null;
|
|
405
470
|
}[];
|
|
406
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
471
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
407
472
|
observed_at: string;
|
|
408
473
|
freshness: "fresh" | "stale" | "unknown";
|
|
409
474
|
availability?: {
|
|
@@ -427,12 +492,13 @@ export declare const ControlQuotaSnapshot: z.ZodObject<{
|
|
|
427
492
|
id: string;
|
|
428
493
|
label: string;
|
|
429
494
|
applies_to_models?: string[] | null | undefined;
|
|
495
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
430
496
|
used_ratio: number | null;
|
|
431
497
|
window_seconds: number | null;
|
|
432
498
|
resets_at: string | null;
|
|
433
499
|
cooldown_until?: string | null | undefined;
|
|
434
500
|
}[];
|
|
435
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
501
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
436
502
|
observed_at: string;
|
|
437
503
|
freshness: "fresh" | "stale" | "unknown";
|
|
438
504
|
availability?: {
|
|
@@ -486,6 +552,16 @@ export declare const ControlQuotaResponse: z.ZodObject<{
|
|
|
486
552
|
* list is the producer's canonical model-id/alias scope, so a
|
|
487
553
|
* model-specific cap never cools a different model on the same subject. */
|
|
488
554
|
applies_to_models: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
|
|
555
|
+
/**
|
|
556
|
+
* Whether this MODEL-SCOPED window also governs a run that names no model.
|
|
557
|
+
* Default (absent) is the conservative answer: a scoped window cannot
|
|
558
|
+
* refuse a route whose concrete model is unknowable before spawn. A source
|
|
559
|
+
* sets it when the vendor's unspecified-model route provably consumes THIS
|
|
560
|
+
* window — the case where every window is scoped, so the conservative
|
|
561
|
+
* default would leave an exhausted subscription unrefusable and its
|
|
562
|
+
* profile rotation unreachable.
|
|
563
|
+
*/
|
|
564
|
+
applies_to_unspecified_model: z.ZodOptional<z.ZodBoolean>;
|
|
489
565
|
used_ratio: z.ZodNullable<z.ZodNumber>;
|
|
490
566
|
window_seconds: z.ZodNullable<z.ZodNumber>;
|
|
491
567
|
resets_at: z.ZodNullable<z.ZodString>;
|
|
@@ -494,6 +570,7 @@ export declare const ControlQuotaResponse: z.ZodObject<{
|
|
|
494
570
|
id: string;
|
|
495
571
|
label: string;
|
|
496
572
|
applies_to_models?: string[] | null | undefined;
|
|
573
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
497
574
|
used_ratio: number | null;
|
|
498
575
|
window_seconds: number | null;
|
|
499
576
|
resets_at: string | null;
|
|
@@ -502,12 +579,13 @@ export declare const ControlQuotaResponse: z.ZodObject<{
|
|
|
502
579
|
id: string;
|
|
503
580
|
label: string;
|
|
504
581
|
applies_to_models?: string[] | null | undefined;
|
|
582
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
505
583
|
used_ratio: number | null;
|
|
506
584
|
window_seconds: number | null;
|
|
507
585
|
resets_at: string | null;
|
|
508
586
|
cooldown_until?: string | null | undefined;
|
|
509
587
|
}>, "many">;
|
|
510
|
-
source: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage"]>;
|
|
588
|
+
source: z.ZodEnum<["codex_app_server", "codex_rollout", "claude_statusline", "claude_api_retry", "claude_oauth_usage", "agy_command_usage", "cursor_rate_limit"]>;
|
|
511
589
|
observed_at: z.ZodString;
|
|
512
590
|
freshness: z.ZodEnum<["fresh", "stale", "unknown"]>;
|
|
513
591
|
} & {
|
|
@@ -558,12 +636,13 @@ export declare const ControlQuotaResponse: z.ZodObject<{
|
|
|
558
636
|
id: string;
|
|
559
637
|
label: string;
|
|
560
638
|
applies_to_models?: string[] | null | undefined;
|
|
639
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
561
640
|
used_ratio: number | null;
|
|
562
641
|
window_seconds: number | null;
|
|
563
642
|
resets_at: string | null;
|
|
564
643
|
cooldown_until: string | null;
|
|
565
644
|
}[];
|
|
566
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
645
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
567
646
|
observed_at: string;
|
|
568
647
|
freshness: "fresh" | "stale" | "unknown";
|
|
569
648
|
availability?: {
|
|
@@ -587,12 +666,13 @@ export declare const ControlQuotaResponse: z.ZodObject<{
|
|
|
587
666
|
id: string;
|
|
588
667
|
label: string;
|
|
589
668
|
applies_to_models?: string[] | null | undefined;
|
|
669
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
590
670
|
used_ratio: number | null;
|
|
591
671
|
window_seconds: number | null;
|
|
592
672
|
resets_at: string | null;
|
|
593
673
|
cooldown_until?: string | null | undefined;
|
|
594
674
|
}[];
|
|
595
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
675
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
596
676
|
observed_at: string;
|
|
597
677
|
freshness: "fresh" | "stale" | "unknown";
|
|
598
678
|
availability?: {
|
|
@@ -666,12 +746,13 @@ export declare const ControlQuotaResponse: z.ZodObject<{
|
|
|
666
746
|
id: string;
|
|
667
747
|
label: string;
|
|
668
748
|
applies_to_models?: string[] | null | undefined;
|
|
749
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
669
750
|
used_ratio: number | null;
|
|
670
751
|
window_seconds: number | null;
|
|
671
752
|
resets_at: string | null;
|
|
672
753
|
cooldown_until: string | null;
|
|
673
754
|
}[];
|
|
674
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
755
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
675
756
|
observed_at: string;
|
|
676
757
|
freshness: "fresh" | "stale" | "unknown";
|
|
677
758
|
availability?: {
|
|
@@ -709,12 +790,13 @@ export declare const ControlQuotaResponse: z.ZodObject<{
|
|
|
709
790
|
id: string;
|
|
710
791
|
label: string;
|
|
711
792
|
applies_to_models?: string[] | null | undefined;
|
|
793
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
712
794
|
used_ratio: number | null;
|
|
713
795
|
window_seconds: number | null;
|
|
714
796
|
resets_at: string | null;
|
|
715
797
|
cooldown_until?: string | null | undefined;
|
|
716
798
|
}[];
|
|
717
|
-
source: "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
799
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
718
800
|
observed_at: string;
|
|
719
801
|
freshness: "fresh" | "stale" | "unknown";
|
|
720
802
|
availability?: {
|
package/dist/quota.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,WAAW,2JAUoE,CAAC;AAC7F,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;uDAEuD;AACvD,MAAM,WAAW,iBAAiB;IAChC;oEACgE;IAChE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC;2EACuE;IACvE,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;IACjE;6EACyE;IACzE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;CACvC;AAED,eAAO,MAAM,mBAAmB;;iBAE5B,mBAAmB;iBACnB,oBAAoB,EAAE,OAAO;iBAC7B,mBAAmB;;;iBAGnB,mBAAmB;iBACnB,oBAAoB;iBACpB,mBAAmB;;;iBAGnB,mBAAmB;iBACnB,oBAAoB;iBACpB,mBAAmB;;;iBAGnB,mBAAmB;iBACnB,oBAAoB;iBACpB,mBAAmB;;;iBAGnB,mBAAmB;iBACnB,oBAAoB,EAAE,QAAQ;iBAC9B,mBAAmB;;;iBAMnB,mBAAmB;iBACnB,oBAAoB,EAAE,KAAK;iBAC3B,mBAAmB;;;iBAOnB,mBAAmB;iBACnB,oBAAoB;iBACpB,mBAAmB;;CAEoC,CAAC;AAE5D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAExE;AAED;;;;;oEAKoE;AACpE,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAIzE,CAAC;AAEF;;;;;;;iFAOiF;AACjF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAEtE;AAED,wBAAgB,2BAA2B,IAAI,KAAK,CAAC,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC,CAQ/E;AAED,wBAAgB,gCAAgC,IAAI,WAAW,EAAE,CAIhE;AAED,eAAO,MAAM,cAAc,0CAE+B,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;IAKrB;;;;;mDAK+C;;;;;;;;;;;;EAMhD,CAAC;AACJ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,eAAe;;;IAIxB;;+EAE2E;;IAE3E;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;EAUJ,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,aAAa;;;;;QA3CtB;;;;;uDAK+C;;;;;;;;;;;;;;;;QAa/C;;mFAE2E;;QAE3E;;;;;;;;WAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB8E,CAAC;AACtF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB,8HAa+D,CAAC;AAC/F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,YAAY;;;;;QAvErB;;;;;uDAK+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0E8C,CAAC;AAClG,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,sBAAsB,mDAIhC,CAAC;AACJ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EASpC,CAAC;AACJ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEpF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB3B,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,oBAAoB;;;;;QA9H7B;;;;;uDAK+C;;;;;;;;;;;;;;;;QAa/C;;mFAE2E;;QAE3E;;;;;;;;WAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoGiF,CAAC;AACzF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;;;EAapC,CAAC;AACJ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEpF,eAAO,MAAM,oBAAoB;;;;;;YArJ7B;;;;;2DAK+C;;;;;;;;;;;;;;;;YAa/C;;uFAE2E;;YAE3E;;;;;;;;eAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA9BH;;;;;2DAK+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4JmB,CAAC;AACvE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AA4BxE;;;;;;;;;;;;;kFAakF;AAClF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,EAC5C,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/C,iBAAiB,CAmEnB;AAED;;iEAEiE;AACjE,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/C,oBAAoB,CAQtB"}
|
package/dist/quota.js
CHANGED
|
@@ -7,6 +7,8 @@ export const QuotaSource = z
|
|
|
7
7
|
"claude_statusline",
|
|
8
8
|
"claude_api_retry",
|
|
9
9
|
"claude_oauth_usage",
|
|
10
|
+
"agy_command_usage",
|
|
11
|
+
"cursor_rate_limit",
|
|
10
12
|
])
|
|
11
13
|
.describe("Machine-readable source of quota evidence, classified by schema-owned traits.");
|
|
12
14
|
export const QUOTA_SOURCE_TRAITS = {
|
|
@@ -35,10 +37,49 @@ export const QUOTA_SOURCE_TRAITS = {
|
|
|
35
37
|
refreshDemandHarness: "claude",
|
|
36
38
|
producedByRefresher: true,
|
|
37
39
|
},
|
|
40
|
+
agy_command_usage: {
|
|
41
|
+
// agy's `/quota` print-mode command is authenticated with the profile's
|
|
42
|
+
// own token, produced by a top-level refresher, and creates refresh demand
|
|
43
|
+
// for agy (its profiles only — agy has no default subject, PLAN Л-4).
|
|
44
|
+
vendorAuthenticated: true,
|
|
45
|
+
refreshDemandHarness: "agy",
|
|
46
|
+
producedByRefresher: true,
|
|
47
|
+
},
|
|
48
|
+
cursor_rate_limit: {
|
|
49
|
+
// Reactive spool evidence classified from cursor-agent's vendor-limit
|
|
50
|
+
// prose (A1/A4): cursor exposes no quota API, so no refresher can produce
|
|
51
|
+
// or refresh this source — like claude_api_retry it exists only while a
|
|
52
|
+
// typed `rate_limit` event's cooldown does.
|
|
53
|
+
vendorAuthenticated: false,
|
|
54
|
+
refreshDemandHarness: null,
|
|
55
|
+
producedByRefresher: false,
|
|
56
|
+
},
|
|
38
57
|
};
|
|
39
58
|
export function quotaSourceTraits(source) {
|
|
40
59
|
return QUOTA_SOURCE_TRAITS[source];
|
|
41
60
|
}
|
|
61
|
+
/** Harness → source label for reactive `rate_limit` cooldown evidence. This
|
|
62
|
+
* map IS the daemon's cooldown-ingest allowlist and its expiry-predicate
|
|
63
|
+
* scope: agy stays deliberately absent because its adapter emits no
|
|
64
|
+
* `rate_limit` event, and a branch with no producer is a dead knob
|
|
65
|
+
* (INV-022/023) — a harness joins in the same change that makes its adapter
|
|
66
|
+
* emit one (cursor joined with the A1 retry-signals classifier). */
|
|
67
|
+
export const REACTIVE_COOLDOWN_SOURCE = {
|
|
68
|
+
codex: "codex_rollout",
|
|
69
|
+
claude: "claude_api_retry",
|
|
70
|
+
cursor: "cursor_rate_limit",
|
|
71
|
+
};
|
|
72
|
+
/** Durable-journal source label the strict v3.2.0 rollback runtime can parse.
|
|
73
|
+
* `cursor_rate_limit` postdates that enum, so a base upsert record carrying it
|
|
74
|
+
* would crash a rolled-back engine's replay; the base record carries the
|
|
75
|
+
* nearest v3.2.0 vocabulary instead (claude_api_retry has the same
|
|
76
|
+
* reactive-spool trait row), while the paired scoped-prepare record preserves
|
|
77
|
+
* the true source for current runtimes. `agy_command_usage` also postdates
|
|
78
|
+
* v3.2.0 but predates this mapping: remapping it now would orphan its already
|
|
79
|
+
* journaled prepare/commit hashes, so it stays a disclosed rollback residual. */
|
|
80
|
+
export function legacyV320QuotaSource(source) {
|
|
81
|
+
return source === "cursor_rate_limit" ? "claude_api_retry" : source;
|
|
82
|
+
}
|
|
42
83
|
export function quotaRefreshDemandHarnesses() {
|
|
43
84
|
return [
|
|
44
85
|
...new Set(Object.values(QUOTA_SOURCE_TRAITS)
|
|
@@ -75,6 +116,16 @@ export const QuotaConstraint = z
|
|
|
75
116
|
* list is the producer's canonical model-id/alias scope, so a
|
|
76
117
|
* model-specific cap never cools a different model on the same subject. */
|
|
77
118
|
applies_to_models: z.array(Id).nullable().optional(),
|
|
119
|
+
/**
|
|
120
|
+
* Whether this MODEL-SCOPED window also governs a run that names no model.
|
|
121
|
+
* Default (absent) is the conservative answer: a scoped window cannot
|
|
122
|
+
* refuse a route whose concrete model is unknowable before spawn. A source
|
|
123
|
+
* sets it when the vendor's unspecified-model route provably consumes THIS
|
|
124
|
+
* window — the case where every window is scoped, so the conservative
|
|
125
|
+
* default would leave an exhausted subscription unrefusable and its
|
|
126
|
+
* profile rotation unreachable.
|
|
127
|
+
*/
|
|
128
|
+
applies_to_unspecified_model: z.boolean().optional(),
|
|
78
129
|
used_ratio: z.number().min(0).max(1).nullable(),
|
|
79
130
|
window_seconds: z.number().positive().nullable(),
|
|
80
131
|
resets_at: z.string().datetime({ offset: true }).nullable(),
|
|
@@ -125,7 +176,7 @@ export const QuotaModelScopedExhaustion = z
|
|
|
125
176
|
resets_at: z.string().datetime({ offset: true }).nullable(),
|
|
126
177
|
})
|
|
127
178
|
.strict()
|
|
128
|
-
.describe("A spent or cooling window that applies only to the named models. Without a requested model it
|
|
179
|
+
.describe("A spent or cooling window that applies only to the named models. Without a requested model only a window that DECLARES it governs the unspecified-model route can exhaust the subject; when the request names a model it covers, it blocks that request too (and is then also listed in blocking_constraints). resets_at is its earliest known release instant (null = unknown).");
|
|
129
180
|
export const QuotaAvailability = z
|
|
130
181
|
.object({
|
|
131
182
|
state: QuotaAvailabilityState,
|
|
@@ -248,7 +299,14 @@ export function quotaSnapshotAvailability(snapshot, opts = {}) {
|
|
|
248
299
|
}
|
|
249
300
|
if (release === null)
|
|
250
301
|
continue;
|
|
251
|
-
|
|
302
|
+
// The projection and the router must answer the SAME question: a scoped
|
|
303
|
+
// window that declares it governs the unspecified-model route blocks a
|
|
304
|
+
// bare run, or the Accounts card would read "available" for an account the
|
|
305
|
+
// router is already refusing.
|
|
306
|
+
if (scoped &&
|
|
307
|
+
(model === null
|
|
308
|
+
? constraint.applies_to_unspecified_model !== true
|
|
309
|
+
: !modelScopeMatches(scope, model)))
|
|
252
310
|
continue;
|
|
253
311
|
blocking.push(constraint.id);
|
|
254
312
|
if (exhausted)
|
package/dist/quota.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.js","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,IAAI,CAAC;IACJ,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;
|
|
1
|
+
{"version":3,"file":"quota.js","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":"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"}
|
package/dist/rate-limit.d.ts
CHANGED
|
@@ -17,4 +17,13 @@ export declare const RateLimitSignal: z.ZodObject<{
|
|
|
17
17
|
retry_delay_ms?: number | null | undefined;
|
|
18
18
|
}>;
|
|
19
19
|
export type RateLimitSignal = z.infer<typeof RateLimitSignal>;
|
|
20
|
+
/**
|
|
21
|
+
* End of a vendor-reported DAY-granular reset day as a UTC instant — the
|
|
22
|
+
* honest cooldown bound when a vendor names the reset day but no instant
|
|
23
|
+
* (cursor's "your monthly cycle ends on M/D/YYYY", carried by the adapter as
|
|
24
|
+
* `payload.vendor_reset_day = "YYYY-MM-DD"` precisely because fabricating a
|
|
25
|
+
* midnight `resets_at` would overclaim). Next-midnight UTC covers the whole
|
|
26
|
+
* named day; null for an absent, malformed, or non-calendar value.
|
|
27
|
+
*/
|
|
28
|
+
export declare function vendorResetDayCooldownEnd(payload: unknown): string | null;
|
|
20
29
|
//# sourceMappingURL=rate-limit.d.ts.map
|
package/dist/rate-limit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,2EAA2E;AAC3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAuB1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,2EAA2E;AAC3E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAuB1B,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"}
|
package/dist/rate-limit.js
CHANGED
|
@@ -21,4 +21,25 @@ export const RateLimitSignal = z.object({
|
|
|
21
21
|
.default(null)
|
|
22
22
|
.describe("Suggested retry delay in milliseconds, when reported."),
|
|
23
23
|
});
|
|
24
|
+
/**
|
|
25
|
+
* End of a vendor-reported DAY-granular reset day as a UTC instant — the
|
|
26
|
+
* honest cooldown bound when a vendor names the reset day but no instant
|
|
27
|
+
* (cursor's "your monthly cycle ends on M/D/YYYY", carried by the adapter as
|
|
28
|
+
* `payload.vendor_reset_day = "YYYY-MM-DD"` precisely because fabricating a
|
|
29
|
+
* midnight `resets_at` would overclaim). Next-midnight UTC covers the whole
|
|
30
|
+
* named day; null for an absent, malformed, or non-calendar value.
|
|
31
|
+
*/
|
|
32
|
+
export function vendorResetDayCooldownEnd(payload) {
|
|
33
|
+
const day = typeof payload === "object" && payload !== null && !Array.isArray(payload)
|
|
34
|
+
? payload["vendor_reset_day"]
|
|
35
|
+
: null;
|
|
36
|
+
if (typeof day !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(day))
|
|
37
|
+
return null;
|
|
38
|
+
const start = Date.parse(`${day}T00:00:00.000Z`);
|
|
39
|
+
// Date.parse rolls invalid calendar days over (Feb 31 -> Mar 3); the
|
|
40
|
+
// round-trip check rejects a value that names no real day.
|
|
41
|
+
if (!Number.isFinite(start) || !new Date(start).toISOString().startsWith(day))
|
|
42
|
+
return null;
|
|
43
|
+
return new Date(start + 24 * 60 * 60_000).toISOString();
|
|
44
|
+
}
|
|
24
45
|
//# sourceMappingURL=rate-limit.js.map
|
package/dist/rate-limit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,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,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"}
|
|
1
|
+
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../src/rate-limit.ts"],"names":[],"mappings":"AAAA,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,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,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod/v3";
|
|
2
2
|
import * as SetupLoginProtocol from "./setup-login-protocol.js";
|
|
3
|
-
import { SetupLoginProtocolVersion } from "./setup.js";
|
|
3
|
+
import { SetupLoginProtocolVersion } from "./setup-login.js";
|
|
4
4
|
const SetupTimestamp = z.string().datetime({ offset: true });
|
|
5
5
|
/** One-shot sign-in input for a url_disclosure_with_input login job (claude's
|
|
6
6
|
* manual paste-code completion). TRANSIENT: the value rides the runner's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-login-input.js","sourceRoot":"","sources":["../src/setup-login-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"setup-login-input.js","sourceRoot":"","sources":["../src/setup-login-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7D;;;;0BAI0B;AAC1B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CAAC,kFAAkF,CAAC;CAChG,CAAC;KACD,MAAM,EAAE;KACR,QAAQ,CAAC,uEAAuE,CAAC,CAAC;AAGrF;;wEAEwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,OAAO,EAAE,yBAAyB;IAClC,KAAK,EAAE,kBAAkB,CAAC,eAAe;IACzC,WAAW,EAAE,kBAAkB,CAAC,qBAAqB;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAClC,WAAW,EAAE,cAAc;CAC5B,CAAC;KACD,MAAM,EAAE,CAAC"}
|