@claudexor/harness-cursor 3.5.0 → 3.8.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/parse.d.ts CHANGED
@@ -10,9 +10,20 @@ export type CursorEventParser = (obj: Json, sessionId: string) => HarnessEvent[]
10
10
  * the originating tool so completed events become self-describing
11
11
  * `tool_result`s instead of duplicate `tool_call`s.
12
12
  */
13
- export declare function createCursorParser(credentialRoute?: CredentialRoute, credentialSource?: AuthSourceKind, planMode?: boolean, nativePlanMode?: boolean): CursorEventParser;
13
+ export declare function createCursorParser(credentialRoute?: CredentialRoute, credentialSource?: AuthSourceKind, planMode?: boolean, nativePlanMode?: boolean, requestedModel?: string | null): CursorEventParser;
14
14
  /** Stateless convenience used by tests; resolves results within one call only. */
15
15
  export declare function parseCursorEvent(obj: Json, sessionId: string): HarnessEvent[] | null;
16
+ /**
17
+ * Translate cursor-agent's stderr-only vendor-limit fatal (the live incident
18
+ * shape: `ActionRequiredError: You've hit your usage limit …` + exit 1) into
19
+ * the same typed `rate_limit` error event as stream errors. The run loop calls
20
+ * this only when the stream itself emitted no error (sawError gate). Returns
21
+ * null for unclassified stderr so the generic exit-code disclosure stays
22
+ * authoritative.
23
+ */
24
+ export declare function parseCursorStderrFailure(message: string, sessionId: string, requestedModel?: string | null, profile?: {
25
+ profile_id: string;
26
+ } | null): HarnessEvent | null;
16
27
  export declare function parseCursorModelList(text: string): HarnessModel[];
17
28
  export {};
18
29
  //# sourceMappingURL=parse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAG3B,KAAK,IAAI,GAAG,GAAG,CAAC;AA4DhB,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,EAAE,GAAG,IAAI,CAAC;AAoCxF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,CAAC,EAAE,eAAe,EACjC,gBAAgB,CAAC,EAAE,cAAc,EACjC,QAAQ,UAAQ,EAChB,cAAc,UAAW,GACxB,iBAAiB,CAgBnB;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CAMpF;AA+UD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAgBjE"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAI3B,KAAK,IAAI,GAAG,GAAG,CAAC;AA4DhB,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,EAAE,GAAG,IAAI,CAAC;AAwCxF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,CAAC,EAAE,eAAe,EACjC,gBAAgB,CAAC,EAAE,cAAc,EACjC,QAAQ,UAAQ,EAChB,cAAc,UAAW,EACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,iBAAiB,CA8BnB;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,IAAI,CAOpF;AAoVD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,EAC9B,OAAO,CAAC,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GACtC,YAAY,GAAG,IAAI,CAUrB;AAsBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAgBjE"}
package/dist/parse.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { nowIso, redactSecrets } from "@claudexor/util";
2
+ import { applyCursorVendorLimit } from "./retry-signals.js";
2
3
  const FILE_WRITE_VARIANTS = new Set(["write", "edit", "multiEdit", "delete", "create", "apply"]);
3
4
  function variantToolName(toolCall) {
4
5
  if (!toolCall || typeof toolCall !== "object")
@@ -87,13 +88,30 @@ function cursorInlinePlanText(args) {
87
88
  * the originating tool so completed events become self-describing
88
89
  * `tool_result`s instead of duplicate `tool_call`s.
89
90
  */
90
- export function createCursorParser(credentialRoute, credentialSource, planMode = false, nativePlanMode = planMode) {
91
+ export function createCursorParser(credentialRoute, credentialSource, planMode = false, nativePlanMode = planMode, requestedModel) {
91
92
  const state = {
92
93
  pending: new Map(),
93
94
  lastCompleteAssistant: null,
94
95
  fallbackPlan: null,
96
+ scopeModel: requestedModel ?? null,
97
+ };
98
+ return (obj, sessionId) => {
99
+ const out = parseCursorEventStateful(obj, sessionId, state, credentialRoute, credentialSource, planMode, nativePlanMode);
100
+ if (out) {
101
+ for (const ev of out) {
102
+ // The auth route is fixed before spawn (mirrors harness-claude). Carry
103
+ // it on EVERY event — the error/result branches included — so a typed
104
+ // rate_limit can register a cooldown: QuotaRegistry.ingest keys the
105
+ // reactive cooldown on the event's own credential_route, and a
106
+ // route-less limit event would silently never cool anything down.
107
+ if (credentialRoute)
108
+ ev.credential_route = credentialRoute;
109
+ if (credentialSource)
110
+ ev.credential_source = credentialSource;
111
+ }
112
+ }
113
+ return out;
95
114
  };
96
- return (obj, sessionId) => parseCursorEventStateful(obj, sessionId, state, credentialRoute, credentialSource, planMode, nativePlanMode);
97
115
  }
98
116
  /** Stateless convenience used by tests; resolves results within one call only. */
99
117
  export function parseCursorEvent(obj, sessionId) {
@@ -101,6 +119,7 @@ export function parseCursorEvent(obj, sessionId) {
101
119
  pending: new Map(),
102
120
  lastCompleteAssistant: null,
103
121
  fallbackPlan: null,
122
+ scopeModel: null,
104
123
  });
105
124
  }
106
125
  function parseCursorEventStateful(obj, sessionId, state, credentialRoute, credentialSource, planMode = false, nativePlanMode = planMode) {
@@ -116,6 +135,11 @@ function parseCursorEventStateful(obj, sessionId, state, credentialRoute, creden
116
135
  : typeof obj.session_id === "string"
117
136
  ? obj.session_id
118
137
  : undefined;
138
+ // Vendor-limit scope fallback: when the caller passed no requested model,
139
+ // the init frame's own model identity scopes a later classified limit.
140
+ if (!state.scopeModel && typeof obj.model === "string" && obj.model) {
141
+ state.scopeModel = obj.model;
142
+ }
119
143
  return [
120
144
  {
121
145
  type: "started",
@@ -341,48 +365,83 @@ function parseCursorEventStateful(obj, sessionId, state, credentialRoute, creden
341
365
  ? obj.result
342
366
  : null;
343
367
  if (finalText?.trim()) {
344
- out.push({
345
- type: "message",
346
- session_id: sessionId,
347
- ts,
348
- text: finalText,
349
- ...(successResult
350
- ? {
351
- final: true,
352
- payload: {
353
- final_source: planFallback
354
- ? planFallback.source
355
- : state.lastCompleteAssistant
356
- ? "assistant_message"
357
- : "result",
358
- ...(planFallback ? { plan_recovered: true } : {}),
359
- },
360
- }
361
- : {}),
362
- });
368
+ // A3 deliverable hygiene: a NON-SUCCESS result's prose is failure
369
+ // evidence, not answer material. It rides a `status` event (visible in
370
+ // the timeline, classified onto the terminal error below) and never a
371
+ // `message` the answer assembly could adopt as answer.md.
372
+ out.push(successResult
373
+ ? {
374
+ type: "message",
375
+ session_id: sessionId,
376
+ ts,
377
+ text: finalText,
378
+ final: true,
379
+ payload: {
380
+ final_source: planFallback
381
+ ? planFallback.source
382
+ : state.lastCompleteAssistant
383
+ ? "assistant_message"
384
+ : "result",
385
+ ...(planFallback ? { plan_recovered: true } : {}),
386
+ },
387
+ }
388
+ : {
389
+ type: "status",
390
+ session_id: sessionId,
391
+ ts,
392
+ text: finalText,
393
+ payload: { non_success_result: true },
394
+ });
363
395
  }
364
396
  if (obj.subtype && obj.subtype !== "success") {
365
- out.push({
397
+ const failure = {
366
398
  type: "error",
367
399
  session_id: sessionId,
368
400
  ts,
369
401
  error: `result subtype: ${obj.subtype}`,
370
- });
402
+ };
403
+ // A failed result's vendor prose rides obj.result (surfaced as a status
404
+ // event above, never a message); classify it onto THIS terminal error so a
405
+ // vendor limit stays a TYPED rate_limit signal. This branch matters
406
+ // because once the stream emitted any error, the run loop skips the
407
+ // stderr-failure callback (core/runloop.ts sawError gate).
408
+ applyCursorVendorLimit(failure, `${obj.subtype} ${typeof obj.result === "string" ? obj.result : ""}`, state.scopeModel);
409
+ out.push(failure);
371
410
  }
372
411
  return out;
373
412
  }
374
413
  if (type === "error") {
375
- return [
376
- {
377
- type: "error",
378
- session_id: sessionId,
379
- ts,
380
- error: String(obj.message ?? obj.error ?? "cursor error"),
381
- },
382
- ];
414
+ const message = String(obj.message ?? obj.error ?? "cursor error");
415
+ const failure = { type: "error", session_id: sessionId, ts, error: message };
416
+ // Same typed vendor-limit classification as the stderr path: an `error`
417
+ // frame sets the run loop's sawError gate, so this branch is the only
418
+ // chance to type a limit that arrives as a stream error.
419
+ applyCursorVendorLimit(failure, message, state.scopeModel);
420
+ return [failure];
383
421
  }
384
422
  return null;
385
423
  }
424
+ /**
425
+ * Translate cursor-agent's stderr-only vendor-limit fatal (the live incident
426
+ * shape: `ActionRequiredError: You've hit your usage limit …` + exit 1) into
427
+ * the same typed `rate_limit` error event as stream errors. The run loop calls
428
+ * this only when the stream itself emitted no error (sawError gate). Returns
429
+ * null for unclassified stderr so the generic exit-code disclosure stays
430
+ * authoritative.
431
+ */
432
+ export function parseCursorStderrFailure(message, sessionId, requestedModel, profile) {
433
+ const event = {
434
+ type: "error",
435
+ session_id: sessionId,
436
+ ts: nowIso(),
437
+ error: message,
438
+ };
439
+ if (!applyCursorVendorLimit(event, message, requestedModel ?? null))
440
+ return null;
441
+ if (profile)
442
+ event.credential_profile_id = profile.profile_id;
443
+ return event;
444
+ }
386
445
  function isCursorModelId(id) {
387
446
  if (!id)
388
447
  return false;
package/dist/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjG,SAAS,eAAe,CAAC,QAAc;IACrC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAC5B,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACvF,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC3F,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9F,OAAO,SAAS,CAAC;IACnB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtF,IACE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACnB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpB,CAAC,KAAK,IAAI;QACV,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAElB,OAAO,MAAM,CAAC;IAChB,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACjG,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAC3B,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAK,CAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CACzE,CAAC;IACF,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,MAAY;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAC5B,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,MAAM,IAAI,GACR,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ;YAC9B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YACd,CAAC,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ;gBACjC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACf,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;oBAC/B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;oBACb,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,IAAI;YAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChF,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAkBD;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,IAAU;IACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;aACrB,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CACf,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACpF;aACA,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,eAAiC,EACjC,gBAAiC,EACjC,QAAQ,GAAG,KAAK,EAChB,cAAc,GAAG,QAAQ,EACzB,cAA8B;IAE9B,MAAM,KAAK,GAAsB;QAC/B,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,qBAAqB,EAAE,IAAI;QAC3B,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,cAAc,IAAI,IAAI;KACnC,CAAC;IACF,OAAO,CAAC,GAAS,EAAE,SAAiB,EAAyB,EAAE;QAC7D,MAAM,GAAG,GAAG,wBAAwB,CAClC,GAAG,EACH,SAAS,EACT,KAAK,EACL,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,cAAc,CACf,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,uEAAuE;gBACvE,sEAAsE;gBACtE,oEAAoE;gBACpE,+DAA+D;gBAC/D,kEAAkE;gBAClE,IAAI,eAAe;oBAAE,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC;gBAC3D,IAAI,gBAAgB;oBAAE,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,GAAS,EAAE,SAAiB;IAC3D,OAAO,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE;QAC9C,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,qBAAqB,EAAE,IAAI;QAC3B,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,wBAAwB,CAC/B,GAAS,EACT,SAAiB,EACjB,KAAwB,EACxB,eAAiC,EACjC,gBAAiC,EACjC,QAAQ,GAAG,KAAK,EAChB,cAAc,GAAG,QAAQ;IAEzB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;IAEvB,IAAI,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAChD,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,QAAQ,GACZ,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAC5B,CAAC,CAAC,GAAG,CAAC,MAAM;YACZ,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;gBAC/B,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;oBAClC,CAAC,CAAC,GAAG,CAAC,UAAU;oBAChB,CAAC,CAAC,SAAS,CAAC;QACpB,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACpE,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO;YACL;gBACE,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,SAAS;gBACrB,EAAE;gBACF,cAAc,EAAE,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBACrE,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;QACrC,MAAM,YAAY,GAChB,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM;YAC5B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,OAAO,CAAC,MAAM,GAAG,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,CAAC,KAAW,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,KAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,YAAY;YAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,oDAAoD;QACpD,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;QACjF,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC;QAChF,IAAI,YAAY,IAAI,YAAY;YAAE,OAAO,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,YAAY,CAAC;QAC9C,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QACnD,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBAClD,IAAI,CAAC,OAAO;oBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,SAAS;oBACrB,EAAE;oBACF,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,qBAAqB,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7F,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,GACR,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,QAAQ,CAAC;QAC7F,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC;QACtD,MAAM,MAAM,GACV,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC7B,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;gBAC1B,CAAC,CAAC,GAAG,CAAC,EAAE;gBACR,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QAEjD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,GAAY;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;aACzB,CAAC;YACF,IAAI,MAAM;gBAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,MAAM;YAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CACtB,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAChF,CAAC;QACF,MAAM,gBAAgB,GAAG,OAAO,CAC9B,MAAM;YACN,OAAO,MAAM,KAAK,QAAQ;YAC1B,kBAAkB,IAAI,MAAM;YAC5B,MAAM,CAAC,gBAAgB,CACxB,CAAC;QACF,MAAM,aAAa,GACjB,MAAM;YACN,OAAO,MAAM,KAAK,QAAQ;YAC1B,SAAS,IAAI,MAAM;YACnB,MAAM,CAAC,OAAO;YACd,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAClC,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,MAAM,GACV,OAAO,KAAK,QAAQ;YACpB,aAAa;YACb,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,MAAM,GACV,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QAClD,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,QAAQ,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YAClD,OAAO;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,SAAS;oBACrB,EAAE;oBACF,IAAI,EAAE,yCAAyC,MAAM,EAAE,IAAI,IAAI,OAAO,GACpE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAC3B,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;oBACjC,OAAO,EAAE;wBACP,eAAe,EAAE,IAAI;wBACrB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,OAAO;wBAC7B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC3C;iBACF;aACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAY;YACpB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,OAAO;YAC7B,IAAI;YACJ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC;YAC1C,MAAM;YACN,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,SAAS;YAC5E,eAAe,EAAE,MAAM,IAAI,SAAS;SACrC,CAAC;QACF,MAAM,MAAM,GAAmB;YAC7B;gBACE,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,SAAS;gBACrB,EAAE;gBACF,IAAI,EACF,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa;gBAC1F,IAAI;aACL;SACF,CAAC;QACF,6EAA6E;QAC7E,yEAAyE;QACzE,4EAA4E;QAC5E,wEAAwE;QACxE,uEAAuE;QACvE,2EAA2E;QAC3E,2DAA2D;QAC3D,IAAI,cAAc,IAAI,OAAO,KAAK,YAAY,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClE,MAAM,OAAO,GACX,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBACxE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvB,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChB,KAAK,CAAC,YAAY,GAAG;wBACnB,IAAI;wBACJ,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gCAAgC;qBAC9E,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,UAAU;wBAChB,UAAU,EAAE,SAAS;wBACrB,EAAE;wBACF,IAAI,EAAE,qFACJ,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBACvB,GAAG;wBACH,OAAO,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE;qBAC7E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,SAAS,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,SAAS;gBACrB,EAAE;gBACF,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;gBACvD,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,MAAM,WAAW,GACf,GAAG,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,IAAI,OAAO,WAAW,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAChD,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,WAAW,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACjD,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC;QACjD,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CACrF,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CACtD,CAAC;QACF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YAC3C,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC;QACtC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,SAAS;gBACrB,EAAE;gBACF,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QACD,yEAAyE;QACzE,0EAA0E;QAC1E,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAC3F,6EAA6E;QAC7E,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,MAAM,SAAS,GAAG,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE;YACzC,CAAC,CAAC,YAAY,CAAC,IAAI;YACnB,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE;gBACpD,CAAC,CAAC,KAAK,CAAC,qBAAqB;gBAC7B,CAAC,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;oBAC9B,CAAC,CAAC,GAAG,CAAC,MAAM;oBACZ,CAAC,CAAC,IAAI,CAAC;QACb,IAAI,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YACtB,kEAAkE;YAClE,uEAAuE;YACvE,sEAAsE;YACtE,0DAA0D;YAC1D,GAAG,CAAC,IAAI,CACN,aAAa;gBACX,CAAC,CAAC;oBACE,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,SAAS;oBACrB,EAAE;oBACF,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,IAAI;oBACX,OAAO,EAAE;wBACP,YAAY,EAAE,YAAY;4BACxB,CAAC,CAAC,YAAY,CAAC,MAAM;4BACrB,CAAC,CAAC,KAAK,CAAC,qBAAqB;gCAC3B,CAAC,CAAC,mBAAmB;gCACrB,CAAC,CAAC,QAAQ;wBACd,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAClD;iBACF;gBACH,CAAC,CAAC;oBACE,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,SAAS;oBACrB,EAAE;oBACF,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;iBACtC,CACN,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAiB;gBAC5B,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,SAAS;gBACrB,EAAE;gBACF,KAAK,EAAE,mBAAmB,GAAG,CAAC,OAAO,EAAE;aACxC,CAAC;YACF,wEAAwE;YACxE,2EAA2E;YAC3E,oEAAoE;YACpE,oEAAoE;YACpE,2DAA2D;YAC3D,sBAAsB,CACpB,OAAO,EACP,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EACpE,KAAK,CAAC,UAAU,CACjB,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,cAAc,CAAC,CAAC;QACnE,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC3F,wEAAwE;QACxE,sEAAsE;QACtE,yDAAyD;QACzD,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,SAAiB,EACjB,cAA8B,EAC9B,OAAuC;IAEvC,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,SAAS;QACrB,EAAE,EAAE,MAAM,EAAE;QACZ,KAAK,EAAE,OAAO;KACf,CAAC;IACF,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,IAAI,OAAO;QAAE,KAAK,CAAC,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,IAAI,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,IACE,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;YACxB,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;YACxB,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;YACxB,EAAE,KAAK,GAAG;YACV,EAAE,KAAK,GAAG;YACV,EAAE,KAAK,GAAG;YACV,EAAE,KAAK,GAAG;YACV,EAAE,KAAK,GAAG;YAEV,SAAS;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,GAAG,IAAI,CAAC;YAAE,SAAS;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QACnD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,yEAAyE;QACzE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/dist/profile.d.ts CHANGED
@@ -42,15 +42,15 @@ export type CursorDefaultRouteInput = {
42
42
  env: EnvMap;
43
43
  authPreference: AuthPreference;
44
44
  abortSignal: AbortSignal | undefined;
45
- bridgeNativeSession: boolean;
46
45
  /** Set only for API-key profiles: overrides the default key lookup (INV-062 transient). */
47
46
  cursorApiKey?: (env?: EnvMap) => string | null;
48
47
  };
49
48
  /**
50
49
  * INV-135 strict profile routing for a run: named native profiles use Cursor's
51
50
  * own file credential store; API-key profiles keep their existing smoked route.
52
- * Neither path receives the default host-Keychain bridge. Without a profile the
53
- * caller-supplied default resolver runs the engine-default credential ladder.
51
+ * The host Keychain is never bridged or read (owner decision D-U3): without a
52
+ * profile the caller-supplied default resolver can only select the API-key
53
+ * route — an unprofiled cursor run has no native session to find.
54
54
  */
55
55
  export declare function resolveCursorRunRoute(spec: {
56
56
  credential_profile: CredentialProfile | null;
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
package/dist/profile.js CHANGED
@@ -62,8 +62,9 @@ export async function resolveCursorProfileRoute(profile, specEnv, runtime, abort
62
62
  /**
63
63
  * INV-135 strict profile routing for a run: named native profiles use Cursor's
64
64
  * own file credential store; API-key profiles keep their existing smoked route.
65
- * Neither path receives the default host-Keychain bridge. Without a profile the
66
- * caller-supplied default resolver runs the engine-default credential ladder.
65
+ * The host Keychain is never bridged or read (owner decision D-U3): without a
66
+ * profile the caller-supplied default resolver can only select the API-key
67
+ * route — an unprofiled cursor run has no native session to find.
67
68
  */
68
69
  export async function resolveCursorRunRoute(spec, runtime, resolveDefaultRoute, abortSignal) {
69
70
  const profile = spec.credential_profile;
@@ -85,7 +86,6 @@ export async function resolveCursorRunRoute(spec, runtime, resolveDefaultRoute,
85
86
  env: spec.env,
86
87
  authPreference: profile ? "api_key" : spec.auth_preference,
87
88
  abortSignal,
88
- bridgeNativeSession: profile === null,
89
89
  ...(keyOverride === null ? {} : { cursorApiKey: () => keyOverride }),
90
90
  });
91
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { HarnessEvent } from "@claudexor/schema";
2
+ /**
3
+ * Extract the vendor's day-granular reset date as `YYYY-MM-DD`, or null when
4
+ * the prose names none (or names an implausible calendar day).
5
+ */
6
+ export declare function cursorVendorResetDay(message: string): string | null;
7
+ /**
8
+ * Classify cursor vendor-limit prose onto the typed `rate_limit` signal.
9
+ * Returns true when the message matched (the event was enriched).
10
+ *
11
+ * - `resets_at` stays null on purpose: the vendor reports the reset at DAY
12
+ * granularity with unknown timezone, and fabricating a precise ISO instant
13
+ * (e.g. an invented midnight) would overclaim. The parsed day rides as
14
+ * payload evidence instead; downstream cooldown TTL bounds apply.
15
+ * - `applies_to_models` is scoped to the REQUESTED model of THIS run — an
16
+ * operational rejection scope. The prose names the billing pool ("…continue
17
+ * with Gemini" = Cursor's usage-based pool, not a per-model quota), and a
18
+ * sibling model that still rides free on the same account (the live grok
19
+ * lane) must never be cooled by it. A vendor-asserted per-model quota is
20
+ * deliberately NOT claimed. With no model identity at all the signal stays
21
+ * account-scoped (null = the schema's honest "every model").
22
+ * - `status.error_category: "rate_limit"` carries the typed retry class
23
+ * (fixture `retry_class` contract). `kind: "api_retry"` is the only status
24
+ * kind the frozen schema carries today; consumers read only
25
+ * `error_category` (orchestrator attemptTelemetry / transientClassify), and
26
+ * a dedicated kind would be a schema change that is out of A1 scope.
27
+ */
28
+ export declare function applyCursorVendorLimit(event: HarnessEvent, message: string, scopeModel?: string | null): boolean;
29
+ //# sourceMappingURL=retry-signals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-signals.d.ts","sourceRoot":"","sources":["../src/retry-signals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAkCtD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAeT"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Cursor vendor-limit classification (A1). cursor-agent has NO typed
3
+ * rate-limit frame: hitting the subscription's usage limit surfaces as PROSE —
4
+ * live incident 2026-08-17: `ActionRequiredError: You've hit your usage limit
5
+ * You've saved $567 on API model usage this month with Ultra. Switch to a
6
+ * different model or set a Spend Limit to continue with Gemini. Your usage
7
+ * limits will reset when your monthly cycle ends on 9/12/2026.` — delivered on
8
+ * stderr with exit 1 (and potentially as `error` / non-success `result`
9
+ * frames). Without a typed `rate_limit` signal the orchestrator's reactive
10
+ * credential rotation is structurally impossible for cursor, so the vendor
11
+ * limit died as a generic `harness_error` while ready sibling profiles idled.
12
+ *
13
+ * This module mirrors harness-codex/src/retry-signals.ts: pure classifiers the
14
+ * parse layer applies to failure prose. No orchestration logic lives here.
15
+ */
16
+ // Deliberately NOT keyed on the bare `ActionRequiredError` wrapper: cursor
17
+ // uses that class for other required actions too (e.g. re-login), and
18
+ // mislabeling an auth failure as a rate limit would corrupt the typed
19
+ // taxonomy. The limit-specific prose is what classifies. Word boundaries
20
+ // keep substrings honest: "code 4290" is not a 429, and narrative gerunds
21
+ // ("docs about rate limiting") are prose ABOUT limits, not a limit verdict —
22
+ // vendor limit prose says "rate limit(s)/limited", never "limiting".
23
+ const CURSOR_VENDOR_LIMIT_RE = /\busage.?limits?\b|\brate.?limit(?:s|ed)?\b|\btoo many requests\b|\bquota[ _-]?(?:exceeded|exhausted|reached)\b|\b(?:http|status|code)[ :/]?429\b|\b429 too many\b/i;
24
+ /**
25
+ * `resets when your monthly cycle ends on M/D/YYYY` — the vendor states the
26
+ * reset at DAY granularity in US month-first order (cursor.com billing copy)
27
+ * with no timezone or time of day.
28
+ */
29
+ const CURSOR_RESET_DAY_RE = /reset(?:s)?\b[^.]*?\bon (\d{1,2})\/(\d{1,2})\/(\d{4})/i;
30
+ /**
31
+ * Extract the vendor's day-granular reset date as `YYYY-MM-DD`, or null when
32
+ * the prose names none (or names an implausible calendar day).
33
+ */
34
+ export function cursorVendorResetDay(message) {
35
+ const match = CURSOR_RESET_DAY_RE.exec(message);
36
+ if (!match)
37
+ return null;
38
+ const month = Number(match[1]);
39
+ const day = Number(match[2]);
40
+ if (month < 1 || month > 12 || day < 1 || day > 31)
41
+ return null;
42
+ return `${match[3]}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
43
+ }
44
+ /**
45
+ * Classify cursor vendor-limit prose onto the typed `rate_limit` signal.
46
+ * Returns true when the message matched (the event was enriched).
47
+ *
48
+ * - `resets_at` stays null on purpose: the vendor reports the reset at DAY
49
+ * granularity with unknown timezone, and fabricating a precise ISO instant
50
+ * (e.g. an invented midnight) would overclaim. The parsed day rides as
51
+ * payload evidence instead; downstream cooldown TTL bounds apply.
52
+ * - `applies_to_models` is scoped to the REQUESTED model of THIS run — an
53
+ * operational rejection scope. The prose names the billing pool ("…continue
54
+ * with Gemini" = Cursor's usage-based pool, not a per-model quota), and a
55
+ * sibling model that still rides free on the same account (the live grok
56
+ * lane) must never be cooled by it. A vendor-asserted per-model quota is
57
+ * deliberately NOT claimed. With no model identity at all the signal stays
58
+ * account-scoped (null = the schema's honest "every model").
59
+ * - `status.error_category: "rate_limit"` carries the typed retry class
60
+ * (fixture `retry_class` contract). `kind: "api_retry"` is the only status
61
+ * kind the frozen schema carries today; consumers read only
62
+ * `error_category` (orchestrator attemptTelemetry / transientClassify), and
63
+ * a dedicated kind would be a schema change that is out of A1 scope.
64
+ */
65
+ export function applyCursorVendorLimit(event, message, scopeModel) {
66
+ if (!CURSOR_VENDOR_LIMIT_RE.test(message))
67
+ return false;
68
+ const resetDay = cursorVendorResetDay(message);
69
+ event.rate_limit = {
70
+ resets_at: null,
71
+ retry_delay_ms: null,
72
+ applies_to_models: scopeModel ? [scopeModel] : null,
73
+ };
74
+ event.status = { kind: "api_retry", error_category: "rate_limit" };
75
+ event.payload = {
76
+ ...(event.payload ?? {}),
77
+ cursor_vendor_limit: true,
78
+ ...(resetDay ? { vendor_reset_day: resetDay, vendor_reset_granularity: "day" } : {}),
79
+ };
80
+ return true;
81
+ }
82
+ //# sourceMappingURL=retry-signals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-signals.js","sourceRoot":"","sources":["../src/retry-signals.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,2EAA2E;AAC3E,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,qEAAqE;AACrE,MAAM,sBAAsB,GAC1B,qKAAqK,CAAC;AAExK;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,wDAAwD,CAAC;AAErF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAChE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACzF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,OAAe,EACf,UAA0B;IAE1B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,KAAK,CAAC,UAAU,GAAG;QACjB,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;KACpD,CAAC;IACF,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;IACnE,KAAK,CAAC,OAAO,GAAG;QACd,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACxB,mBAAmB,EAAE,IAAI;QACzB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { runCapture } from "@claudexor/core";
2
+ export type CursorApiSmokeResult = {
3
+ ok: boolean;
4
+ detail: string;
5
+ };
6
+ /** The route did not need (or could not run) the isolated key smoke. */
7
+ export declare const unsmokedApiSmoke: (key: string | null) => CursorApiSmokeResult;
8
+ export type CursorApiSmokeOptions = {
9
+ makeBaseDir?: () => string;
10
+ runCapture?: typeof runCapture;
11
+ cleanupBase?: typeof cleanupCursorSmokeBase;
12
+ };
13
+ export declare function cursorApiSmokeFinalText(stdout: string): string | null;
14
+ export declare function cursorApiSmokeUsedEnvKey(stdout: string): boolean;
15
+ export declare function cursorApiSmokePassed(code: number | null, stdout: string): boolean;
16
+ export declare function cleanupCursorSmokeBase(base: string, opts?: {
17
+ remove?: (path: string) => void;
18
+ sleepMs?: (ms: number) => Promise<void>;
19
+ retries?: number;
20
+ }): Promise<void>;
21
+ export declare function smokeIsolatedApiKey(key: string | null, options?: CursorApiSmokeOptions): Promise<CursorApiSmokeResult>;
22
+ //# sourceMappingURL=smoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../src/smoke.ts"],"names":[],"mappings":"AASA,OAAO,EAAoB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI/D,MAAM,MAAM,oBAAoB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,QAAS,MAAM,GAAG,IAAI,KAAG,oBAGpD,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,sBAAsB,CAAC;CAC7C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+BrE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAehE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IACJ,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,IAAI,CAAC,CAcf;AAMD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAsC/B"}