@agentdeck/shared 1.0.21 → 1.0.22

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.
@@ -51,6 +51,8 @@ export declare const Brand: {
51
51
  readonly codex: "#6166E0";
52
52
  readonly openclaw: "#FF4D4D";
53
53
  readonly opencode: "#3a3a3a";
54
+ readonly antigravity: "#5F6368";
55
+ readonly kiro: "#7C3AED";
54
56
  };
55
57
  export declare const Font: {
56
58
  readonly sans: "\"IBM Plex Sans\", \"IBM Plex Sans KR\", \"IBM Plex Sans JP\", -apple-system, BlinkMacSystemFont, system-ui, sans-serif";
@@ -181,6 +183,8 @@ export declare const DesignTokens: {
181
183
  readonly codex: "#6166E0";
182
184
  readonly openclaw: "#FF4D4D";
183
185
  readonly opencode: "#3a3a3a";
186
+ readonly antigravity: "#5F6368";
187
+ readonly kiro: "#7C3AED";
184
188
  };
185
189
  readonly Font: {
186
190
  readonly sans: "\"IBM Plex Sans\", \"IBM Plex Sans KR\", \"IBM Plex Sans JP\", -apple-system, BlinkMacSystemFont, system-ui, sans-serif";
@@ -1 +1 @@
1
- {"version":3,"file":"design-tokens.d.ts","sourceRoot":"","sources":["../src/design-tokens.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI;;;;;CAKP,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;CAMN,CAAC;AAEX,eAAO,MAAM,IAAI;;;;CAIP,CAAC;AAEX,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,eAAO,MAAM,KAAK;;CAER,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAIX,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBL,CAAC;AAIX,eAAO,MAAM,KAAK;;;;;CAKR,CAAC;AAEX,eAAO,MAAM,IAAI;;;CAGP,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;CAeP,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;CASX,CAAC;AAGX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;CAeV,CAAC;AAEX,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;CAMT,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBf,CAAC"}
1
+ {"version":3,"file":"design-tokens.d.ts","sourceRoot":"","sources":["../src/design-tokens.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI;;;;;CAKP,CAAC;AAEX,eAAO,MAAM,GAAG;;;;;;CAMN,CAAC;AAEX,eAAO,MAAM,IAAI;;;;CAIP,CAAC;AAEX,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAEX,eAAO,MAAM,KAAK;;CAER,CAAC;AAGX,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAIX,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;CAgBL,CAAC;AAIX,eAAO,MAAM,KAAK;;;;;;;CAOR,CAAC;AAEX,eAAO,MAAM,IAAI;;;CAGP,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;CAeP,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;CASX,CAAC;AAGX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;CAeV,CAAC;AAEX,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;CAMT,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBf,CAAC"}
@@ -59,6 +59,8 @@ export const Brand = {
59
59
  codex: "#6166E0",
60
60
  openclaw: "#FF4D4D",
61
61
  opencode: "#3a3a3a",
62
+ antigravity: "#5F6368",
63
+ kiro: "#7C3AED",
62
64
  };
63
65
  export const Font = {
64
66
  sans: '"IBM Plex Sans", "IBM Plex Sans KR", "IBM Plex Sans JP", -apple-system, BlinkMacSystemFont, system-ui, sans-serif',
@@ -1 +1 @@
1
- {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../src/design-tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../src/design-tokens.ts"],"names":[],"mappings":"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"}
@@ -155,6 +155,47 @@ export declare function scopedLimitClaimsUsageKey(scoped: {
155
155
  * Claude 5H, 7D, Scoped (Fable), and Codex windows together across up to 4 usage keys.
156
156
  */
157
157
  export declare function codexWindowsBeside<T>(codexWindows: T[], _scopedClaimsKey?: boolean): T[];
158
+ /**
159
+ * Display name for a raw `chatgpt_plan_type`, keyed by the tier with every
160
+ * separator removed — `prolite`, `pro_lite` and `pro lite` are one plan.
161
+ *
162
+ * SSOT for both daemons: the Swift mirror (`ChatGPTPlan` in
163
+ * CodexFreshnessRules.generated.swift) is emitted from this table. It used to be
164
+ * a hand copy, and a tier missing from one copy does not degrade gracefully —
165
+ * it renders as the fallback capitalisation ("ChatGPT Prolite") on that surface
166
+ * only, so the same account reads differently on the dashboard and the deck.
167
+ */
168
+ export declare const CHATGPT_PLAN_DISPLAY_NAMES: Readonly<Record<string, string>>;
169
+ /**
170
+ * Format a raw `chatgpt_plan_type` for display, or `undefined` when there is no
171
+ * tier to show.
172
+ *
173
+ * An unrecognised tier is capitalised rather than dropped: OpenAI mints new plan
174
+ * names on its own schedule (`prolite` arrived unannounced), and a tier this
175
+ * build predates must still read as a plan beside Plus/Pro/Team — never as the
176
+ * raw lowercase token, and never as nothing.
177
+ */
178
+ export declare function formatChatGptPlanName(planType?: string | null): string | undefined;
179
+ /**
180
+ * The one comparison form for a raw `chatgpt_plan_type`.
181
+ *
182
+ * Trimmed, lowercased, and stripped of separators — `prolite`, `pro_lite` and
183
+ * `pro lite` are one plan, so they must key the display table AND compare equal.
184
+ * Normalizing only the display path was an internal contradiction with teeth:
185
+ * the two sides of the plan check come from different producers (the auth token
186
+ * for the account tier, the rollout stamp for the snapshot), so a spelling the
187
+ * table was written to absorb would still land every candidate in the "mismatch"
188
+ * class — ranking would have nothing to prefer, the winner would be voided, and
189
+ * on the Node daemon `passivePlanMatchesAccount` would be permanently false, so
190
+ * `codex app-server` would be spawned every 5 minutes forever and its answer
191
+ * voided too. The exact failure this module exists to prevent, via a different
192
+ * spelling.
193
+ *
194
+ * A value that is nothing but separators normalizes to `''` — i.e. "unknown",
195
+ * which the predicate already treats as no information rather than as a licence
196
+ * to void.
197
+ */
198
+ export declare function normalizeChatGptPlanKey(value?: string | null): string;
158
199
  /**
159
200
  * True when the ChatGPT tier carries no paid Codex subscription.
160
201
  *
@@ -179,8 +220,85 @@ export declare function isCodexFreePlan(plan?: string | null): boolean;
179
220
  * Unknown on either side → matches. Absence is "no information", never a licence
180
221
  * to void real data: an API-key Codex install reports no account tier, and a
181
222
  * pre-`plan_type` rollout reports no snapshot tier.
223
+ *
224
+ * The emptiness test MUST stay ahead of the equality test, and not because it is
225
+ * a cheap early-out. Normalization strips separators, so two separator-only
226
+ * values (`"-"`, `" "`) both reduce to `''` — reordered, they would compare equal
227
+ * and report a positive plan MATCH where the answer is "neither side named a
228
+ * tier". Every current caller happens to act the same way on both answers, which
229
+ * is exactly why the difference would go unnoticed. Mirrored in Swift.
182
230
  */
183
231
  export declare function codexSnapshotMatchesAccountPlan(snapshotPlan?: string | null, accountPlan?: string | null): boolean;
232
+ /**
233
+ * True when a Codex `rate_limits` snapshot meters a single model or feature
234
+ * rather than the account.
235
+ *
236
+ * Codex writes more than one limit FAMILY, and the rollout carries whichever one
237
+ * the last request was metered against — not necessarily the account's. Measured
238
+ * across 823 rollout files on 2026-08-22, the whole observed space is three
239
+ * families and the discriminator is exact:
240
+ *
241
+ * limit_id "codex" limit_name null 37,985 lines account
242
+ * limit_id "premium" limit_name null 66 lines account (credit plan)
243
+ * limit_id "codex_bengalfox" limit_name "GPT-5.3-Codex-Spark" 915 lines ONE MODEL
244
+ *
245
+ * A named limit is a scoped limit — the name exists precisely to say which model
246
+ * it applies to. So the account-wide families are the unnamed ones, and that is
247
+ * what "Codex usage" on a deck, dial or panel means.
248
+ *
249
+ * This is not a freshness or a plan question, and neither axis can catch it: the
250
+ * scoped snapshot is CURRENT and belongs to the right plan. It is simply a
251
+ * different quantity, and rendering it under the account's label reports 0%
252
+ * while the account sits at 13% (observed). Within a single session the family
253
+ * alternates hour to hour, so "newest line wins" silently switches quantities
254
+ * mid-stream.
255
+ *
256
+ * Polarity is deliberate and follows the unknown-agent rule (CLAUDE.md): this is
257
+ * an allow-list of the UNNAMED, never a deny-list of known scoped ids. A new
258
+ * scoped family — OpenAI ships models on its own schedule — is excluded
259
+ * automatically; the failure mode of a deny-list is that the new family renders
260
+ * AS the account's number, which is a wrong reading rather than a missing one.
261
+ * If a future account-wide family ever carries a name, this hides it, and a
262
+ * missing gauge is the safe direction.
263
+ *
264
+ * Callers skip such snapshots and keep scanning; they must not treat a scoped
265
+ * snapshot as "no Codex data" for the file, because a session that alternates
266
+ * families still has an account-wide line further back in the same tail.
267
+ */
268
+ export declare function isModelScopedCodexLimit(limitName?: string | null): boolean;
269
+ /**
270
+ * Rank one Codex usage snapshot against another for the live account tier.
271
+ *
272
+ * Recency alone is the wrong ordering, because a snapshot that will be VOIDED a
273
+ * step later must not first win the selection. Codex stamps `plan_type` from the
274
+ * auth token the WRITING PROCESS started with, so a Codex session opened before
275
+ * a plan change keeps appending old-plan snapshots for as long as it stays open
276
+ * — and, being the busiest session, it also keeps minting the newest timestamps.
277
+ * A newest-wins picker therefore hands `normalizeCodexRateLimits` a mismatched
278
+ * snapshot on every single build, the windows are voided, and every gauge goes
279
+ * blank even though a valid same-plan snapshot is sitting right there in another
280
+ * rollout (measured 2026-08-22: a 20:35 pre-upgrade session out-stamping a 01:43
281
+ * post-upgrade one indefinitely).
282
+ *
283
+ * So plan agreement is the PRIMARY key and age is only the tie-break:
284
+ * 1. a snapshot matching the account plan outranks one that does not, at any age
285
+ * 2. within the same match class, the newer `capturedAtMs` wins
286
+ * 3. exact ties keep the incumbent (both pickers scan in priority order)
287
+ *
288
+ * This orders snapshots; it never rescues one. A mismatched snapshot that wins
289
+ * because it is the only one left is still voided downstream — the point is that
290
+ * it must not displace a valid peer first.
291
+ *
292
+ * `capturedAtMs` is a number, not a string, so both a parsed rollout stamp and
293
+ * "unknown" (`-Infinity` / `-.infinity`) order without a second date parse.
294
+ */
295
+ export declare function codexSnapshotOutranks(candidate: {
296
+ planType?: string | null;
297
+ capturedAtMs: number;
298
+ }, incumbent: {
299
+ planType?: string | null;
300
+ capturedAtMs: number;
301
+ }, accountPlan?: string | null): boolean;
184
302
  /**
185
303
  * Antigravity plan name → compact "AGY <tier>" chip.
186
304
  *
@@ -1 +1 @@
1
- {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../src/format-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../src/format-utils.ts"],"names":[],"mappings":"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"}
@@ -304,6 +304,64 @@ export function scopedLimitClaimsUsageKey(scoped, _codexWindowCount) {
304
304
  export function codexWindowsBeside(codexWindows, _scopedClaimsKey) {
305
305
  return codexWindows;
306
306
  }
307
+ /**
308
+ * Display name for a raw `chatgpt_plan_type`, keyed by the tier with every
309
+ * separator removed — `prolite`, `pro_lite` and `pro lite` are one plan.
310
+ *
311
+ * SSOT for both daemons: the Swift mirror (`ChatGPTPlan` in
312
+ * CodexFreshnessRules.generated.swift) is emitted from this table. It used to be
313
+ * a hand copy, and a tier missing from one copy does not degrade gracefully —
314
+ * it renders as the fallback capitalisation ("ChatGPT Prolite") on that surface
315
+ * only, so the same account reads differently on the dashboard and the deck.
316
+ */
317
+ export const CHATGPT_PLAN_DISPLAY_NAMES = {
318
+ free: 'ChatGPT Free',
319
+ plus: 'ChatGPT Plus',
320
+ pro: 'ChatGPT Pro',
321
+ prolite: 'ChatGPT Pro Lite',
322
+ team: 'ChatGPT Team',
323
+ enterprise: 'ChatGPT Enterprise',
324
+ };
325
+ /**
326
+ * Format a raw `chatgpt_plan_type` for display, or `undefined` when there is no
327
+ * tier to show.
328
+ *
329
+ * An unrecognised tier is capitalised rather than dropped: OpenAI mints new plan
330
+ * names on its own schedule (`prolite` arrived unannounced), and a tier this
331
+ * build predates must still read as a plan beside Plus/Pro/Team — never as the
332
+ * raw lowercase token, and never as nothing.
333
+ */
334
+ export function formatChatGptPlanName(planType) {
335
+ const raw = planType?.trim();
336
+ if (!raw)
337
+ return undefined;
338
+ const known = CHATGPT_PLAN_DISPLAY_NAMES[normalizeChatGptPlanKey(raw)];
339
+ if (known)
340
+ return known;
341
+ return `ChatGPT ${raw.charAt(0).toUpperCase()}${raw.slice(1)}`;
342
+ }
343
+ /**
344
+ * The one comparison form for a raw `chatgpt_plan_type`.
345
+ *
346
+ * Trimmed, lowercased, and stripped of separators — `prolite`, `pro_lite` and
347
+ * `pro lite` are one plan, so they must key the display table AND compare equal.
348
+ * Normalizing only the display path was an internal contradiction with teeth:
349
+ * the two sides of the plan check come from different producers (the auth token
350
+ * for the account tier, the rollout stamp for the snapshot), so a spelling the
351
+ * table was written to absorb would still land every candidate in the "mismatch"
352
+ * class — ranking would have nothing to prefer, the winner would be voided, and
353
+ * on the Node daemon `passivePlanMatchesAccount` would be permanently false, so
354
+ * `codex app-server` would be spawned every 5 minutes forever and its answer
355
+ * voided too. The exact failure this module exists to prevent, via a different
356
+ * spelling.
357
+ *
358
+ * A value that is nothing but separators normalizes to `''` — i.e. "unknown",
359
+ * which the predicate already treats as no information rather than as a licence
360
+ * to void.
361
+ */
362
+ export function normalizeChatGptPlanKey(value) {
363
+ return (value ?? '').trim().toLowerCase().replace(/[\s_-]+/g, '');
364
+ }
307
365
  /**
308
366
  * True when the ChatGPT tier carries no paid Codex subscription.
309
367
  *
@@ -312,7 +370,7 @@ export function codexWindowsBeside(codexWindows, _scopedClaimsKey) {
312
370
  * rollout snapshots below.
313
371
  */
314
372
  export function isCodexFreePlan(plan) {
315
- return (plan ?? '').trim().toLowerCase() === 'free';
373
+ return normalizeChatGptPlanKey(plan) === 'free';
316
374
  }
317
375
  /**
318
376
  * True when a rollout usage snapshot still belongs to the plan the account
@@ -330,14 +388,93 @@ export function isCodexFreePlan(plan) {
330
388
  * Unknown on either side → matches. Absence is "no information", never a licence
331
389
  * to void real data: an API-key Codex install reports no account tier, and a
332
390
  * pre-`plan_type` rollout reports no snapshot tier.
391
+ *
392
+ * The emptiness test MUST stay ahead of the equality test, and not because it is
393
+ * a cheap early-out. Normalization strips separators, so two separator-only
394
+ * values (`"-"`, `" "`) both reduce to `''` — reordered, they would compare equal
395
+ * and report a positive plan MATCH where the answer is "neither side named a
396
+ * tier". Every current caller happens to act the same way on both answers, which
397
+ * is exactly why the difference would go unnoticed. Mirrored in Swift.
333
398
  */
334
399
  export function codexSnapshotMatchesAccountPlan(snapshotPlan, accountPlan) {
335
- const snap = (snapshotPlan ?? '').trim().toLowerCase();
336
- const account = (accountPlan ?? '').trim().toLowerCase();
400
+ const snap = normalizeChatGptPlanKey(snapshotPlan);
401
+ const account = normalizeChatGptPlanKey(accountPlan);
337
402
  if (!snap || !account)
338
403
  return true;
339
404
  return snap === account;
340
405
  }
406
+ /**
407
+ * True when a Codex `rate_limits` snapshot meters a single model or feature
408
+ * rather than the account.
409
+ *
410
+ * Codex writes more than one limit FAMILY, and the rollout carries whichever one
411
+ * the last request was metered against — not necessarily the account's. Measured
412
+ * across 823 rollout files on 2026-08-22, the whole observed space is three
413
+ * families and the discriminator is exact:
414
+ *
415
+ * limit_id "codex" limit_name null 37,985 lines account
416
+ * limit_id "premium" limit_name null 66 lines account (credit plan)
417
+ * limit_id "codex_bengalfox" limit_name "GPT-5.3-Codex-Spark" 915 lines ONE MODEL
418
+ *
419
+ * A named limit is a scoped limit — the name exists precisely to say which model
420
+ * it applies to. So the account-wide families are the unnamed ones, and that is
421
+ * what "Codex usage" on a deck, dial or panel means.
422
+ *
423
+ * This is not a freshness or a plan question, and neither axis can catch it: the
424
+ * scoped snapshot is CURRENT and belongs to the right plan. It is simply a
425
+ * different quantity, and rendering it under the account's label reports 0%
426
+ * while the account sits at 13% (observed). Within a single session the family
427
+ * alternates hour to hour, so "newest line wins" silently switches quantities
428
+ * mid-stream.
429
+ *
430
+ * Polarity is deliberate and follows the unknown-agent rule (CLAUDE.md): this is
431
+ * an allow-list of the UNNAMED, never a deny-list of known scoped ids. A new
432
+ * scoped family — OpenAI ships models on its own schedule — is excluded
433
+ * automatically; the failure mode of a deny-list is that the new family renders
434
+ * AS the account's number, which is a wrong reading rather than a missing one.
435
+ * If a future account-wide family ever carries a name, this hides it, and a
436
+ * missing gauge is the safe direction.
437
+ *
438
+ * Callers skip such snapshots and keep scanning; they must not treat a scoped
439
+ * snapshot as "no Codex data" for the file, because a session that alternates
440
+ * families still has an account-wide line further back in the same tail.
441
+ */
442
+ export function isModelScopedCodexLimit(limitName) {
443
+ return (limitName ?? '').trim().length > 0;
444
+ }
445
+ /**
446
+ * Rank one Codex usage snapshot against another for the live account tier.
447
+ *
448
+ * Recency alone is the wrong ordering, because a snapshot that will be VOIDED a
449
+ * step later must not first win the selection. Codex stamps `plan_type` from the
450
+ * auth token the WRITING PROCESS started with, so a Codex session opened before
451
+ * a plan change keeps appending old-plan snapshots for as long as it stays open
452
+ * — and, being the busiest session, it also keeps minting the newest timestamps.
453
+ * A newest-wins picker therefore hands `normalizeCodexRateLimits` a mismatched
454
+ * snapshot on every single build, the windows are voided, and every gauge goes
455
+ * blank even though a valid same-plan snapshot is sitting right there in another
456
+ * rollout (measured 2026-08-22: a 20:35 pre-upgrade session out-stamping a 01:43
457
+ * post-upgrade one indefinitely).
458
+ *
459
+ * So plan agreement is the PRIMARY key and age is only the tie-break:
460
+ * 1. a snapshot matching the account plan outranks one that does not, at any age
461
+ * 2. within the same match class, the newer `capturedAtMs` wins
462
+ * 3. exact ties keep the incumbent (both pickers scan in priority order)
463
+ *
464
+ * This orders snapshots; it never rescues one. A mismatched snapshot that wins
465
+ * because it is the only one left is still voided downstream — the point is that
466
+ * it must not displace a valid peer first.
467
+ *
468
+ * `capturedAtMs` is a number, not a string, so both a parsed rollout stamp and
469
+ * "unknown" (`-Infinity` / `-.infinity`) order without a second date parse.
470
+ */
471
+ export function codexSnapshotOutranks(candidate, incumbent, accountPlan) {
472
+ const candidateMatches = codexSnapshotMatchesAccountPlan(candidate.planType, accountPlan);
473
+ const incumbentMatches = codexSnapshotMatchesAccountPlan(incumbent.planType, accountPlan);
474
+ if (candidateMatches !== incumbentMatches)
475
+ return candidateMatches;
476
+ return candidate.capturedAtMs > incumbent.capturedAtMs;
477
+ }
341
478
  /**
342
479
  * Antigravity plan name → compact "AGY <tier>" chip.
343
480
  *
@@ -1 +1 @@
1
- {"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../src/format-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../src/format-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,SAA6B;IAC3D,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,2EAA2E;IAC3E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAC3C,IAAI,OAAO,GAAG,EAAE;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QAEvC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,OAAO,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAEnD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtD,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,GAAG,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,GAAG,CAAC;IAC5D,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,GAAG,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC;IACtD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,KAAK,GAAG,CAAC;IAClC,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,KAAK,GAAG,aAAa,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;IACzD,OAAO,GAAG,KAAK,GAAG,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAAgB;IAC/D,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,IAAI,GAAG,CAAC,GAAG,QAAQ;YAAE,MAAM;QAC/B,IAAI,IAAI,CAAC,CAAC;QACV,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAgC;IAClE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClB,4CAA4C;SAC3C,OAAO,CAAC,+BAA+B,EAAE,GAAG,CAAC;SAC7C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAgC,EAAE,GAAW;IAC7E,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC;AAC7D,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,GAAG,GAAG,GAAG,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACrC,OAAO,GAAG,CAAC,GAAG,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAkC,EAClC,QAAmC;IAEnC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBACrC,IAAI,OAAO,GAAG,SAAS;oBAAE,OAAO,OAAO,CAAC;gBACxC,IAAI,OAAO,GAAG,CAAC;oBAAE,OAAO,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA4B,EAC5B,OAAO,GAAG,CAAC,GAAG,MAAM,EACpB,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IAElB,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IACvC,IAAI,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IACnF,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAA8B,EAC9B,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,EAClB,QAAQ,GAAG,uBAAuB;IAElC,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,QAAQ,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAA8B,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IAClF,MAAM,GAAG,GAAG,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IACrC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,GAAG,GAAG,OAAO,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAuD,EACvD,UAAmB,EACnB,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IAElB,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAA+C,EAC/C,iBAA0B;IAE1B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAiB,EACjB,gBAA0B;IAE1B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,oBAAoB;CACjC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAwB;IAC5D,MAAM,GAAG,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,KAAK,GAAG,0BAA0B,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAqB;IAC3D,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,+BAA+B,CAC7C,YAA4B,EAC5B,WAA2B;IAE3B,MAAM,IAAI,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,IAAI,KAAK,OAAO,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAyB;IAC/D,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA6D,EAC7D,SAA6D,EAC7D,WAA2B;IAE3B,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC1F,MAAM,gBAAgB,GAAG,+BAA+B,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC1F,IAAI,gBAAgB,KAAK,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IACnE,OAAO,SAAS,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAwB;IACjE,MAAM,GAAG,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC;IACxD,IAAI,IAAI,GAAG,GAAG,CAAC;IACf,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAChE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9E,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAK,GAAG,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentdeck/shared",
3
- "version": "1.0.21",
3
+ "version": "1.0.22",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },