openmeld 0.3.232 → 0.3.233

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/{add-me-membership-ChntsjGm.js → add-me-membership-_O3IzRLn.js} +2 -2
  2. package/dist/{add-me-membership-ChntsjGm.js.map → add-me-membership-_O3IzRLn.js.map} +1 -1
  3. package/dist/{agents-DruPcNSg.js → agents-B5E7c7sQ.js} +9 -9
  4. package/dist/{agents-DruPcNSg.js.map → agents-B5E7c7sQ.js.map} +1 -1
  5. package/dist/{api-client-foundation-CDj_9Rks.js → api-client-foundation-1p1VVFJ_.js} +1 -1
  6. package/dist/{api-client-foundation-EZpFLGVC.js → api-client-foundation-C-RPnq_p.js} +3 -3
  7. package/dist/{api-client-foundation-EZpFLGVC.js.map → api-client-foundation-C-RPnq_p.js.map} +1 -1
  8. package/dist/auth-session-CmjjkLiB.js +4 -0
  9. package/dist/{auth-session-DhSHCYvl.js → auth-session-iXCJO5oB.js} +4 -4
  10. package/dist/{auth-session-DhSHCYvl.js.map → auth-session-iXCJO5oB.js.map} +1 -1
  11. package/dist/{channel-tvFZSSVr.js → channel-BciBrA3Y.js} +4 -4
  12. package/dist/{channel-tvFZSSVr.js.map → channel-BciBrA3Y.js.map} +1 -1
  13. package/dist/{cli-binary-manifest-Bjf6T7Ef.js → cli-binary-manifest-ETxqCzfS.js} +8 -1
  14. package/dist/cli-binary-manifest-ETxqCzfS.js.map +1 -0
  15. package/dist/{command-0yoZa1GT.js → command-D0pcAIoE.js} +16 -16
  16. package/dist/{command-0yoZa1GT.js.map → command-D0pcAIoE.js.map} +1 -1
  17. package/dist/{computer-connection-CoBDorh6.js → computer-connection-CHP1-0rK.js} +2 -2
  18. package/dist/{computer-connection-CoBDorh6.js.map → computer-connection-CHP1-0rK.js.map} +1 -1
  19. package/dist/{computer-connection-review-Dy7p1LXZ.js → computer-connection-review-dHotFqmD.js} +5 -5
  20. package/dist/{computer-connection-review-Dy7p1LXZ.js.map → computer-connection-review-dHotFqmD.js.map} +1 -1
  21. package/dist/{computer-disconnect-4Ks_DVXV.js → computer-disconnect-B2DLDxWx.js} +7 -7
  22. package/dist/{computer-disconnect-4Ks_DVXV.js.map → computer-disconnect-B2DLDxWx.js.map} +1 -1
  23. package/dist/{computer-setup-continuation-ZcQb7MvI.js → computer-setup-continuation-Cv_c1B-7.js} +3 -3
  24. package/dist/{computer-setup-continuation-ZcQb7MvI.js.map → computer-setup-continuation-Cv_c1B-7.js.map} +1 -1
  25. package/dist/{context-BPIoofMa.js → context-BnhlFS8m.js} +3 -3
  26. package/dist/{context-BPIoofMa.js.map → context-BnhlFS8m.js.map} +1 -1
  27. package/dist/{control-plane-rTE2rHZ5.js → control-plane-QqGL-jtT.js} +2 -2
  28. package/dist/{control-plane-rTE2rHZ5.js.map → control-plane-QqGL-jtT.js.map} +1 -1
  29. package/dist/{daemon-device-id-DDazRZUV.js → daemon-device-id-DbSIqHoZ.js} +5 -5
  30. package/dist/{daemon-device-id-DDazRZUV.js.map → daemon-device-id-DbSIqHoZ.js.map} +1 -1
  31. package/dist/{daemon-lifecycle-journal-CRxQL9m6.js → daemon-lifecycle-journal-DsVVvKJe.js} +6 -6
  32. package/dist/{daemon-lifecycle-journal-CRxQL9m6.js.map → daemon-lifecycle-journal-DsVVvKJe.js.map} +1 -1
  33. package/dist/{daemon-service-runtime-BTzL0w6s.js → daemon-service-runtime-DZI6Ke3_.js} +4 -4
  34. package/dist/{daemon-service-runtime-BTzL0w6s.js.map → daemon-service-runtime-DZI6Ke3_.js.map} +1 -1
  35. package/dist/{daemon-service-update-coordinator-BDs0p4bA.js → daemon-service-update-coordinator-BgVBlJ4d.js} +13 -13
  36. package/dist/{daemon-service-update-coordinator-BDs0p4bA.js.map → daemon-service-update-coordinator-BgVBlJ4d.js.map} +1 -1
  37. package/dist/{dispatch-owned-runtime-CK2YJ2Oo.js → dispatch-owned-runtime-BeIQetEt.js} +9 -9
  38. package/dist/{dispatch-owned-runtime-CK2YJ2Oo.js.map → dispatch-owned-runtime-BeIQetEt.js.map} +1 -1
  39. package/dist/{dist-Bw6OBFYo.js → dist-BgYBvEBB.js} +13 -7
  40. package/dist/dist-BgYBvEBB.js.map +1 -0
  41. package/dist/{dist--TaSMxQz.js → dist-DQS0XYkb.js} +3 -3
  42. package/dist/{dist--TaSMxQz.js.map → dist-DQS0XYkb.js.map} +1 -1
  43. package/dist/{dist-B12upl5l.js → dist-z72xYz5Z.js} +1 -1
  44. package/dist/{elapsed-time-C3nfbdd9.js → elapsed-time-C7S-6bWV.js} +6 -6
  45. package/dist/{elapsed-time-C3nfbdd9.js.map → elapsed-time-C7S-6bWV.js.map} +1 -1
  46. package/dist/{entry-De__5RVq.js → entry-CX24qHnm.js} +7 -7
  47. package/dist/{entry-De__5RVq.js.map → entry-CX24qHnm.js.map} +1 -1
  48. package/dist/{installation-inventory-Bq8iZfSa.js → installation-inventory-B3mwQFEA.js} +3 -3
  49. package/dist/{installation-inventory-Bq8iZfSa.js.map → installation-inventory-B3mwQFEA.js.map} +1 -1
  50. package/dist/{installer-C7iSAOSz.js → installer-DnIJ4y3l.js} +2 -2
  51. package/dist/{installer-C7iSAOSz.js.map → installer-DnIJ4y3l.js.map} +1 -1
  52. package/dist/{local-components-DleLEzSU.js → local-components-DJiMS67S.js} +36 -3
  53. package/dist/local-components-DJiMS67S.js.map +1 -0
  54. package/dist/{meta-api-BpwJWE22.js → meta-api-DgHkiIdr.js} +4 -4
  55. package/dist/{meta-api-BpwJWE22.js.map → meta-api-DgHkiIdr.js.map} +1 -1
  56. package/dist/{openmeld-C0OSZJtn.js → openmeld-kYp99hOl.js} +32 -32
  57. package/dist/{openmeld-C0OSZJtn.js.map → openmeld-kYp99hOl.js.map} +1 -1
  58. package/dist/{openmeld-maintenance-worker-DY90mkWW.js → openmeld-maintenance-worker-BqU1Asrm.js} +9 -9
  59. package/dist/{openmeld-maintenance-worker-DY90mkWW.js.map → openmeld-maintenance-worker-BqU1Asrm.js.map} +1 -1
  60. package/dist/{openmeld-tools-update-join-DgzNuaDy.js → openmeld-tools-update-join-BKJnGR5h.js} +4 -4
  61. package/dist/{openmeld-tools-update-join-DgzNuaDy.js.map → openmeld-tools-update-join-BKJnGR5h.js.map} +1 -1
  62. package/dist/{openmeld-tools-update-process-frame-DbEZ3fEh.js → openmeld-tools-update-process-frame-Csy2XKUf.js} +1 -1
  63. package/dist/{openmeld-tools-update-process-frame-BtFKp70p.js → openmeld-tools-update-process-frame-YLOS82E3.js} +2 -2
  64. package/dist/{openmeld-tools-update-process-frame-BtFKp70p.js.map → openmeld-tools-update-process-frame-YLOS82E3.js.map} +1 -1
  65. package/dist/openmeld.js +5 -5
  66. package/dist/{prepare-provider-runtime-BGdfbFyZ.js → prepare-provider-runtime-CD6XRt7X.js} +374 -175
  67. package/dist/prepare-provider-runtime-CD6XRt7X.js.map +1 -0
  68. package/dist/{prepare-session-executor-CA1gq8dR.js → prepare-session-executor-DY2s4FuY.js} +19 -19
  69. package/dist/{prepare-session-executor-CA1gq8dR.js.map → prepare-session-executor-DY2s4FuY.js.map} +1 -1
  70. package/dist/{process-channel-C1wRGUmk.js → process-channel-CzgOWiuh.js} +2 -2
  71. package/dist/{process-channel-C1wRGUmk.js.map → process-channel-CzgOWiuh.js.map} +1 -1
  72. package/dist/{runtime-DFlEdls4.js → runtime-Br4Ga0rJ.js} +17 -17
  73. package/dist/{runtime-DFlEdls4.js.map → runtime-Br4Ga0rJ.js.map} +1 -1
  74. package/dist/{runtime-agent-controller-reporting-submission-C_xD2A-P.js → runtime-agent-controller-reporting-submission-CQjbBiHh.js} +139 -33
  75. package/dist/runtime-agent-controller-reporting-submission-CQjbBiHh.js.map +1 -0
  76. package/dist/{runtime-reporting-health-state-_bvJcV1y.js → runtime-reporting-health-state-a1FUE1S-.js} +13 -12
  77. package/dist/{runtime-reporting-health-state-_bvJcV1y.js.map → runtime-reporting-health-state-a1FUE1S-.js.map} +1 -1
  78. package/dist/{runtime-transport-DH8Ks-AU.js → runtime-transport-D4CVffnp.js} +3 -3
  79. package/dist/{runtime-transport-DH8Ks-AU.js.map → runtime-transport-D4CVffnp.js.map} +1 -1
  80. package/dist/{service-KHA_Yv8q.js → service-D9QVc4_y.js} +56 -20
  81. package/dist/service-D9QVc4_y.js.map +1 -0
  82. package/dist/{service-account-authorization-BHWs8cRP.js → service-account-authorization-DLhUgGDb.js} +2 -2
  83. package/dist/{service-account-authorization-BHWs8cRP.js.map → service-account-authorization-DLhUgGDb.js.map} +1 -1
  84. package/dist/{service-account-control-BcHjpVid.js → service-account-control-DIdQILmo.js} +9 -9
  85. package/dist/{service-account-control-BcHjpVid.js.map → service-account-control-DIdQILmo.js.map} +1 -1
  86. package/dist/{service-control-capabilities-DTKD2-o0.js → service-control-capabilities-BvHU_NcX.js} +1 -1
  87. package/dist/{service-control-capabilities-B4433dGT.js → service-control-capabilities-CGv5Cuxo.js} +3 -3
  88. package/dist/{service-control-capabilities-B4433dGT.js.map → service-control-capabilities-CGv5Cuxo.js.map} +1 -1
  89. package/dist/{state-iJqU2XWw.js → state-AWe5DSV8.js} +2 -2
  90. package/dist/{state-iJqU2XWw.js.map → state-AWe5DSV8.js.map} +1 -1
  91. package/dist/upgrade-CLnZ4WBF.js +4 -0
  92. package/dist/{upgrade-DlBDEvs4.js → upgrade-CcnlL7FH.js} +8 -8
  93. package/dist/{upgrade-DlBDEvs4.js.map → upgrade-CcnlL7FH.js.map} +1 -1
  94. package/package.json +14 -14
  95. package/dist/auth-session-BOG3gV2K2.js +0 -4
  96. package/dist/cli-binary-manifest-Bjf6T7Ef.js.map +0 -1
  97. package/dist/dist-Bw6OBFYo.js.map +0 -1
  98. package/dist/local-components-DleLEzSU.js.map +0 -1
  99. package/dist/prepare-provider-runtime-BGdfbFyZ.js.map +0 -1
  100. package/dist/runtime-agent-controller-reporting-submission-C_xD2A-P.js.map +0 -1
  101. package/dist/service-KHA_Yv8q.js.map +0 -1
  102. package/dist/upgrade-CuzsgsKh.js +0 -4
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { F as resolveOpenMeldRootDir, P as resolveOpenMeldEnvPreset, a as accountProfileWorkspacePath, b as normalizeOpenMeldProfileId, c as deviceOpenClawProfileBootstrapPath, h as isPublishedOpenMeldHome, l as deviceOpenClawProfileDir, n as accountProfileLocalMetaPath, u as deviceOpenClawProfileWorkspaceDir } from "./paths-De9xdA2h.js";
4
- import { $t as createLocalRuntimeExpectedRoutesApi, Rt as createAgentProfileBindingApi, t as OpenMeldApiClientHttpError, wi as modelCatalogSchema } from "./dist-Bw6OBFYo.js";
4
+ import { $t as createLocalRuntimeExpectedRoutesApi, Rt as createAgentProfileBindingApi, t as OpenMeldApiClientHttpError, wi as modelCatalogSchema } from "./dist-BgYBvEBB.js";
5
5
  import { _ as canonicalizeAgentControllerRef, b as normalizeKnownBuiltinAgentControllerId, d as resolveBuiltinAgentControllerConversationKind, f as HOSTED_CENTER_AGENT_CONTROLLER_REF, g as buildAgentControllerRoutingKey, l as buildAgentControllerConversationRef, m as HOSTED_REMOTE_AGENT_CONTROLLER_REF, p as HOSTED_CENTER_AGENT_CONTROLLER_REF_ID, s as runtimeTransportModeSchema, v as canonicalizeBuiltinAgentControllerRef, x as parseAgentControllerRef$1 } from "./controller-contract-DAOCaefz.js";
6
- import { Ei as resolveCommandAgentWorkActivity, G as isOriginalErrorSafeForMessageDetails, J as openMeldDaemonProviderAccessEvidenceSchema, Qn as normalizeMessageEnvelope, W as OPENMELD_ORIGINAL_ERROR_MAX_LENGTH, X as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, Y as openMeldDaemonTaskResultEnvelopeWriteSchema, Yn as formatCanonicalMentionLiteral, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, yr as agentInteractionResolutionSchema } from "./runtime-transport-DH8Ks-AU.js";
7
- import { d as getAuthSessionState, q as OPENCLAW_CLI_TIMEOUT_MS$1 } from "./auth-session-DhSHCYvl.js";
8
- import { C as conversationExecutionStateSchema, D as normalizeOptionalWorkingDirectory, P as profileWorkspaceModeSchema, T as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, o as openMeldDaemonControlPlaneRequestSchema, s as openMeldDaemonControlPlaneResponseSchema, x as providerDispatchRuntimeContextSchema } from "./control-plane-rTE2rHZ5.js";
6
+ import { Ei as resolveCommandAgentWorkActivity, G as isOriginalErrorSafeForMessageDetails, J as openMeldDaemonProviderAccessEvidenceSchema, Qn as normalizeMessageEnvelope, W as OPENMELD_ORIGINAL_ERROR_MAX_LENGTH, X as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, Y as openMeldDaemonTaskResultEnvelopeWriteSchema, Yn as formatCanonicalMentionLiteral, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, yr as agentInteractionResolutionSchema } from "./runtime-transport-D4CVffnp.js";
7
+ import { J as OPENCLAW_CLI_TIMEOUT_MS$1, d as getAuthSessionState } from "./auth-session-iXCJO5oB.js";
8
+ import { C as conversationExecutionStateSchema, D as normalizeOptionalWorkingDirectory, P as profileWorkspaceModeSchema, T as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, o as openMeldDaemonControlPlaneRequestSchema, s as openMeldDaemonControlPlaneResponseSchema, x as providerDispatchRuntimeContextSchema } from "./control-plane-QqGL-jtT.js";
9
9
  import { r as daemonServiceLaneSchema } from "./service-contract-CRyDcIIf.js";
10
10
  import { n as agentControllerPermissionModeSchema, r as agentControllerCollaborationModeSchema } from "./open-code-permission-DHFJYc_o.js";
11
- import { $ as touchDaemonCatalogSyncSignal, K as listOpenMeldProfiles, _ as toErrorMessage$20, d as normalizeText$11, g as parseTransportMode$1, gt as DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME, h as parseStreamingMode$1, ht as resolveCurrentOpenMeldAccountContext, m as parseRuntimeTransportMode, p as parseContextIdMappingSpec, s as emitRunLine, u as normalizeOptionalText$51, vt as daemonRouteCatalogCacheSchema } from "./daemon-device-id-DDazRZUV.js";
11
+ import { $ as touchDaemonCatalogSyncSignal, K as listOpenMeldProfiles, _ as toErrorMessage$20, d as normalizeText$11, g as parseTransportMode$1, gt as DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME, h as parseStreamingMode$1, ht as resolveCurrentOpenMeldAccountContext, m as parseRuntimeTransportMode, p as parseContextIdMappingSpec, s as emitRunLine, u as normalizeOptionalText$51, vt as daemonRouteCatalogCacheSchema } from "./daemon-device-id-DbSIqHoZ.js";
12
12
  import { c as readWindowsProcessStartFileTime, d as resolveWindowsNativeProcessHelper, f as windowsNativeProcessRequestSchema, l as resolveWindowsPowerShellPath, o as powerShellEncodedArguments, r as isProcessIdentityAlive, t as CURRENT_PROCESS_START_IDENTITY, u as WINDOWS_NATIVE_PROCESS_REQUEST_ENV } from "./process-identity-BRbhGGTM.js";
13
13
  import { a as isOpenMeldOrphanedLockError, d as runWithHeldLock, i as isOpenMeldLockError, t as acquireLock } from "./lock-BMI00i2F.js";
14
14
  import { C as updateConfiguredDeviceRuntimeState, T as updateConfiguredSkillsConfig, a as resolveBaseUrl, d as createDefaultRuntimeAgentControllerSettings, g as getConfiguredSkillsConfig, p as getConfiguredDeviceRuntimeState, v as getRuntimeConfigReadHealth, y as resolveRuntimeSkillsCustomTargetId } from "./base-url-0AoeTi3w.js";
@@ -16,9 +16,9 @@ import { n as normalizeCommandEnvironment } from "./process-environment-BWSFeUu6
16
16
  import { n as writeDaemonLocalStateFile, t as readDaemonLocalStateFile } from "./daemon-local-state-file-jOXuXrky.js";
17
17
  import { m as daemonRuntimeDataPath } from "./daemon-state-Dte9re5V.js";
18
18
  import { i as readDaemonServiceContract } from "./daemon-service-contract-COPKbCy_.js";
19
- import { C as requestLocalSyncRouteCatalog } from "./daemon-lifecycle-journal-CRxQL9m6.js";
19
+ import { C as requestLocalSyncRouteCatalog } from "./daemon-lifecycle-journal-DsVVvKJe.js";
20
20
  import { i as resolveWindowsCommandPath, n as quoteWindowsProcessArgument, r as resolvePlatformCommand, t as execPlatformFile } from "./process-launch-B0pHlkV_.js";
21
- import { d as buildOpenMeldRequestContextFromProfile, t as createCliApiClientFoundation } from "./api-client-foundation-EZpFLGVC.js";
21
+ import { d as buildOpenMeldRequestContextFromProfile, t as createCliApiClientFoundation } from "./api-client-foundation-C-RPnq_p.js";
22
22
  import { createRequire } from "node:module";
23
23
  import { createHash, randomUUID } from "node:crypto";
24
24
  import { homedir, loadavg, tmpdir } from "node:os";
@@ -761,9 +761,9 @@ function isAgentControllerPermissionModeControllerId(value) {
761
761
  }
762
762
  const AGENT_CONTROLLER_USAGE_LIMIT_SUPPORT_MATRIX = {
763
763
  antigravity: "native",
764
- "claude-code": "passive",
764
+ "claude-code": "observational",
765
765
  codex: "native",
766
- cursor: "unsupported",
766
+ cursor: "observational",
767
767
  "grok-build": "native",
768
768
  opencode: "provider_scoped",
769
769
  openclaw: "not_evaluated"
@@ -773,6 +773,13 @@ function resolveAgentControllerUsageLimitSupport(agentControllerRef) {
773
773
  if (parsedRef?.kind !== "builtin") return "not_evaluated";
774
774
  return AGENT_CONTROLLER_USAGE_LIMIT_SUPPORT_MATRIX[parsedRef.id] ?? "not_evaluated";
775
775
  }
776
+ function isAgentControllerUsageRefreshUnavailable(limits) {
777
+ return (limits?.length === 1 ? limits[0] : void 0)?.status === "unavailable" && !isAgentControllerUsageAccountUnavailable(limits);
778
+ }
779
+ function isAgentControllerUsageAccountUnavailable(limits) {
780
+ const limit = limits?.length === 1 ? limits[0] : void 0;
781
+ return limit?.status === "unavailable" && (limit.reason === "not_applicable" || limit.reason === "not_authenticated");
782
+ }
776
783
  const DUPLICATE_REPLY_CONVERSATION_REASON = "This agent shares a reply conversation with another Agent Profile.";
777
784
  function resolveAgentExecutionStatus(input) {
778
785
  const executionFamily = input.executionFamily ?? "workstation";
@@ -5525,8 +5532,11 @@ const PROVIDER_USAGE_LIMIT_LABEL = "Usage limits";
5525
5532
  function createUnsupportedProviderUsageLimits(observedAt, provider) {
5526
5533
  return [createProviderUsageLimitWithoutFacts("unsupported", observedAt, provider)];
5527
5534
  }
5528
- function createUnavailableProviderUsageLimits(observedAt, provider) {
5529
- return [createProviderUsageLimitWithoutFacts("unavailable", observedAt, provider)];
5535
+ function createUnavailableProviderUsageLimits(observedAt, provider, details) {
5536
+ return [{
5537
+ ...createProviderUsageLimitWithoutFacts("unavailable", observedAt, provider),
5538
+ ...details
5539
+ }];
5530
5540
  }
5531
5541
  function createProviderUsageLimitWithoutFacts(status, observedAt, provider) {
5532
5542
  return {
@@ -8819,7 +8829,8 @@ async function runActionWriter(input) {
8819
8829
  "pipe",
8820
8830
  "pipe",
8821
8831
  "pipe"
8822
- ]
8832
+ ],
8833
+ windowsHide: true
8823
8834
  });
8824
8835
  let stderr = "";
8825
8836
  child.stderr.setEncoding("utf8");
@@ -9493,6 +9504,41 @@ const WINDOW_DISPLAY_BY_TYPE = {
9493
9504
  label: "Sonnet weekly usage limit"
9494
9505
  }
9495
9506
  };
9507
+ function projectClaudeCodeAccountUsageLimits(input) {
9508
+ if (input.value.rate_limits_available === false) return createUnavailableProviderUsageLimits(input.observedAt, void 0, { reason: "not_applicable" });
9509
+ if (input.value.rate_limits_available !== true) return createUnavailableProviderUsageLimits(input.observedAt, void 0, { reason: "not_reported" });
9510
+ const windows = input.value.rate_limits;
9511
+ const limits = [];
9512
+ const addWindow = (key, label, window) => {
9513
+ if (!window || limits.length >= 32 || limits.some((limit) => limit.key === key)) return;
9514
+ const value = window.utilization;
9515
+ const usedPercent = typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 100 ? value : null;
9516
+ const resetMs = window.resets_at ? Date.parse(window.resets_at) : NaN;
9517
+ let status = "unavailable";
9518
+ if (usedPercent !== null) status = usedPercent === 100 ? "exhausted" : "available";
9519
+ limits.push({
9520
+ key,
9521
+ label,
9522
+ observedAt: input.observedAt,
9523
+ resetsAt: Number.isFinite(resetMs) ? new Date(resetMs).toISOString() : null,
9524
+ usedPercent,
9525
+ status,
9526
+ ...usedPercent === null ? { reason: "not_reported" } : {}
9527
+ });
9528
+ };
9529
+ for (const type of SUPPORTED_RATE_LIMIT_TYPES) {
9530
+ const display = WINDOW_DISPLAY_BY_TYPE[type];
9531
+ addWindow(display.key, display.label, windows?.[type]);
9532
+ }
9533
+ addWindow("claude-code:seven-day-oauth-apps", "OAuth apps weekly usage limit", windows?.seven_day_oauth_apps);
9534
+ for (const window of windows?.model_scoped ?? []) {
9535
+ const name = window.display_name?.trim();
9536
+ if (!name || name.length > 200) continue;
9537
+ const key = `claude-code:seven-day-${encodeURIComponent(name.toLowerCase())}`;
9538
+ if (key.length <= 256) addWindow(key, `${name} weekly usage limit`, window);
9539
+ }
9540
+ return limits.length > 0 ? limits : createUnavailableProviderUsageLimits(input.observedAt, void 0, { reason: "not_reported" });
9541
+ }
9496
9542
  function projectClaudeCodeUsageLimits(input) {
9497
9543
  const event = toRecord$11(input.event);
9498
9544
  if (event?.type !== "rate_limit_event") return [];
@@ -11525,6 +11571,63 @@ function toErrorMessage$16(error) {
11525
11571
  return String(error);
11526
11572
  }
11527
11573
  //#endregion
11574
+ //#region ../../runtime/adapters/claude-code/dist/usage/claude-code-usage-probe.js
11575
+ async function probeClaudeCodeUsageLimits(input) {
11576
+ const controller = new AbortController();
11577
+ const executable = await resolveClaudeAgentSdkExecutable(input);
11578
+ const spawnProcess = executable.spawnProcess;
11579
+ let connection;
11580
+ let timer;
11581
+ try {
11582
+ const deadline = new Promise((_, reject) => {
11583
+ timer = setTimeout(() => {
11584
+ controller.abort();
11585
+ reject(/* @__PURE__ */ new Error("Claude usage control connection timed out."));
11586
+ }, input.timeoutMs ?? 8e3);
11587
+ });
11588
+ connection = (input.queryFn ?? query)({
11589
+ prompt: emptyPrompt(controller.signal),
11590
+ options: {
11591
+ abortController: controller,
11592
+ cwd: input.workingDirectory,
11593
+ pathToClaudeCodeExecutable: executable.pathToClaudeCodeExecutable,
11594
+ ...spawnProcess ? { spawnClaudeCodeProcess: (options) => spawnProcess(options, () => void 0) } : {},
11595
+ persistSession: false,
11596
+ allowedTools: [],
11597
+ strictMcpConfig: true,
11598
+ mcpServers: {},
11599
+ settingSources: ["user"],
11600
+ settings: { disableAllHooks: true },
11601
+ env: {
11602
+ ...process.env,
11603
+ ENABLE_CLAUDEAI_MCP_SERVERS: "false",
11604
+ CLAUDE_CODE_AUTO_CONNECT_IDE: "0",
11605
+ CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL: "1"
11606
+ }
11607
+ }
11608
+ });
11609
+ const activeConnection = connection;
11610
+ return await Promise.race([deadline, (async () => {
11611
+ const { account } = await activeConnection.initializationResult();
11612
+ if (account.apiProvider !== "firstParty" || account.email?.trim().toLowerCase() !== input.expectedEmail.trim().toLowerCase() || account.apiKeySource && account.apiKeySource !== "none") return createUnavailableProviderUsageLimits(input.observedAt, void 0, { reason: "not_applicable" });
11613
+ return projectClaudeCodeAccountUsageLimits({
11614
+ value: await activeConnection.usage_EXPERIMENTAL_MAY_CHANGE_DO_NOT_RELY_ON_THIS_API_YET({ skipBehaviors: true }),
11615
+ observedAt: input.observedAt
11616
+ });
11617
+ })()]);
11618
+ } catch {
11619
+ return createUnavailableProviderUsageLimits(input.observedAt, void 0, { reason: "refresh_failed" });
11620
+ } finally {
11621
+ clearTimeout(timer);
11622
+ controller.abort();
11623
+ connection?.close();
11624
+ await executable.cleanup();
11625
+ }
11626
+ }
11627
+ async function* emptyPrompt(signal) {
11628
+ if (!signal.aborted) await new Promise((resolve) => signal.addEventListener("abort", () => resolve(), { once: true }));
11629
+ }
11630
+ //#endregion
11528
11631
  //#region ../../runtime/adapters/claude-code/dist/index.js
11529
11632
  const CLAUDE_CODE_CONVERSATION_BRIDGE_SPEC = resolveBuiltinAdapterConversationBridgeSpec("claude-code");
11530
11633
  const EXPECTED_FORCE_CLOSE_INTERRUPT_ERROR_RE = /query closed before response received/i;
@@ -11874,6 +11977,95 @@ function toRecord$9(value) {
11874
11977
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
11875
11978
  }
11876
11979
  //#endregion
11980
+ //#region ../../runtime/adapters/codex/dist/usage/codex-usage-limits.js
11981
+ const DEFAULT_LIMIT_ID = "codex";
11982
+ const MAX_LIMIT_ID_LENGTH = 160;
11983
+ const MAX_LIMIT_LABEL_LENGTH = 160;
11984
+ const SECONDS_PER_MILLISECOND = 1e3;
11985
+ function projectCodexUsageLimits(input) {
11986
+ const limits = readRateLimitBuckets(input.response).flatMap((bucket) => projectRateLimitBucket({
11987
+ ...bucket,
11988
+ observedAt: input.observedAt
11989
+ }));
11990
+ if (limits.length === 0) return createUnavailableProviderUsageLimits(input.observedAt);
11991
+ const uniqueLimits = /* @__PURE__ */ new Map();
11992
+ for (const limit of limits) if (!uniqueLimits.has(limit.key)) uniqueLimits.set(limit.key, limit);
11993
+ return [...uniqueLimits.values()];
11994
+ }
11995
+ function readRateLimitBuckets(response) {
11996
+ const record = toRecord$8(response);
11997
+ const bucketsById = toRecord$8(record?.rateLimitsByLimitId);
11998
+ if (bucketsById && Object.keys(bucketsById).length > 0) return Object.entries(bucketsById).flatMap(([bucketKey, snapshot]) => {
11999
+ const recordSnapshot = toRecord$8(snapshot);
12000
+ return recordSnapshot ? [{
12001
+ bucketKey,
12002
+ snapshot: recordSnapshot
12003
+ }] : [];
12004
+ });
12005
+ const legacySnapshot = toRecord$8(record?.rateLimits);
12006
+ return legacySnapshot ? [{
12007
+ bucketKey: DEFAULT_LIMIT_ID,
12008
+ snapshot: legacySnapshot
12009
+ }] : [];
12010
+ }
12011
+ function projectRateLimitBucket(input) {
12012
+ const limitId = resolveLimitId(input);
12013
+ const limitName = normalizeLabel(input.snapshot.limitName);
12014
+ return ["primary", "secondary"].flatMap((windowKind) => {
12015
+ const window = toRecord$8(input.snapshot[windowKind]);
12016
+ const usedPercent = normalizeUsedPercent(window?.usedPercent);
12017
+ if (usedPercent === null) return [];
12018
+ const windowLabel = formatWindowLabel({
12019
+ windowDurationMins: normalizePositiveInteger(window?.windowDurationMins),
12020
+ windowKind
12021
+ });
12022
+ return [{
12023
+ key: `${limitId}:${windowKind}`,
12024
+ label: limitName ? `${limitName} ${windowLabel.toLocaleLowerCase("en-US")}` : windowLabel,
12025
+ observedAt: input.observedAt,
12026
+ resetsAt: normalizeResetTime(window?.resetsAt),
12027
+ status: usedPercent >= 100 ? "exhausted" : "available",
12028
+ usedPercent
12029
+ }];
12030
+ });
12031
+ }
12032
+ function resolveLimitId(input) {
12033
+ const providerLimitId = normalizeLimitId(input.snapshot.limitId);
12034
+ const bucketLimitId = normalizeLimitId(input.bucketKey);
12035
+ return providerLimitId ?? bucketLimitId ?? DEFAULT_LIMIT_ID;
12036
+ }
12037
+ function normalizeLimitId(value) {
12038
+ if (typeof value !== "string") return null;
12039
+ return value.trim().toLocaleLowerCase("en-US").replace(/[^a-z0-9._-]+/gu, "-").replace(/^-+|-+$/gu, "").slice(0, MAX_LIMIT_ID_LENGTH) || null;
12040
+ }
12041
+ function normalizeLabel(value) {
12042
+ if (typeof value !== "string") return null;
12043
+ const normalized = value.trim().replace(/\s+/gu, " ");
12044
+ return normalized ? normalized.slice(0, MAX_LIMIT_LABEL_LENGTH) : null;
12045
+ }
12046
+ function normalizeUsedPercent(value) {
12047
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 100 ? value : null;
12048
+ }
12049
+ function normalizePositiveInteger(value) {
12050
+ return typeof value === "number" && Number.isSafeInteger(value) && value > 0 ? value : null;
12051
+ }
12052
+ function normalizeResetTime(value) {
12053
+ const unixSeconds = normalizePositiveInteger(value);
12054
+ if (unixSeconds === null) return null;
12055
+ const date = /* @__PURE__ */ new Date(unixSeconds * SECONDS_PER_MILLISECOND);
12056
+ return Number.isNaN(date.getTime()) ? null : date.toISOString();
12057
+ }
12058
+ function formatWindowLabel(input) {
12059
+ if (input.windowDurationMins === 60) return "Hourly usage";
12060
+ if (input.windowDurationMins === 300) return "5-hour usage";
12061
+ if (input.windowDurationMins === 1440) return "Daily usage";
12062
+ if (input.windowDurationMins === 10080) return "Weekly usage";
12063
+ return input.windowKind === "primary" ? "Short-term usage" : "Long-term usage";
12064
+ }
12065
+ function toRecord$8(value) {
12066
+ return value && typeof value === "object" && !Array.isArray(value) ? value : null;
12067
+ }
12068
+ //#endregion
11877
12069
  //#region ../../runtime/adapters/codex/dist/transport/codex-app-server-admission.js
11878
12070
  const FAST_METADATA_ADMISSION_TIMEOUT_MS = 15e3;
11879
12071
  const COLD_CONTROLLER_ADMISSION_TIMEOUT_MS = 9e4;
@@ -12652,12 +12844,14 @@ async function probeCodexAppServerAccount(input) {
12652
12844
  launchContract: input.launchContract,
12653
12845
  startupTimeoutMs: timeoutMs
12654
12846
  }, async (session, initialized) => {
12655
- const response = toRecord$8(await session.request("account/read", {}));
12847
+ const response = toRecord$7(await session.request("account/read", {}));
12848
+ const account = toRecord$7(response?.account);
12656
12849
  return {
12657
12850
  authStatus: resolveCodexAppServerAuthStatus({
12658
- account: toRecord$8(response?.account),
12851
+ account,
12659
12852
  response
12660
12853
  }),
12854
+ ...typeof account?.email === "string" && account.email.trim() ? { email: account.email.trim() } : {},
12661
12855
  version: parseCodexAppServerVersion(initialized)
12662
12856
  };
12663
12857
  });
@@ -13083,7 +13277,7 @@ async function resolveCodexAppServerCollaborationMode(input) {
13083
13277
  errorType: "adapter",
13084
13278
  message: "protocol.invalid: Codex Plan collaboration mode requires a resolved model"
13085
13279
  });
13086
- const response = toRecord$8(await input.session.requestControl("collaborationMode/list", {}, {
13280
+ const response = toRecord$7(await input.session.requestControl("collaborationMode/list", {}, {
13087
13281
  code: "runtime.control_timeout",
13088
13282
  operation: "collaborationMode/list"
13089
13283
  }));
@@ -13111,7 +13305,7 @@ async function resolveCodexAppServerTurnCollaborationMode(input) {
13111
13305
  });
13112
13306
  }
13113
13307
  function readCodexAppServerCollaborationModePreset(value) {
13114
- const preset = toRecord$8(value);
13308
+ const preset = toRecord$7(value);
13115
13309
  const mode = normalizeOptionalText$30(preset?.mode);
13116
13310
  if (mode !== "default" && mode !== "plan") return null;
13117
13311
  return {
@@ -13460,8 +13654,8 @@ var CodexAppServerSession = class {
13460
13654
  });
13461
13655
  try {
13462
13656
  return await readCodexSpaceDynamicToolCarrier({
13463
- thread: toRecord$8(response)?.thread,
13464
- codexHome: toRecord$8(input.initialized)?.codexHome
13657
+ thread: toRecord$7(response)?.thread,
13658
+ codexHome: toRecord$7(input.initialized)?.codexHome
13465
13659
  });
13466
13660
  } catch {
13467
13661
  throw new CodexAppServerTransportError({
@@ -13494,7 +13688,7 @@ var CodexAppServerSession = class {
13494
13688
  }),
13495
13689
  permissionMode: this.#permissionMode
13496
13690
  });
13497
- if (supported) supported = toRecord$8(await this.requestControl("configRequirements/read", {}, {
13691
+ if (supported) supported = toRecord$7(await this.requestControl("configRequirements/read", {}, {
13498
13692
  code: "runtime.control_timeout",
13499
13693
  operation: "configRequirements/read"
13500
13694
  }))?.requirements === null;
@@ -13532,7 +13726,7 @@ var CodexAppServerSession = class {
13532
13726
  code: "runtime.control_timeout",
13533
13727
  operation: "config/read"
13534
13728
  });
13535
- if (toRecord$8(await this.requestControl("configRequirements/read", {}, {
13729
+ if (toRecord$7(await this.requestControl("configRequirements/read", {}, {
13536
13730
  code: "runtime.control_timeout",
13537
13731
  operation: "configRequirements/read"
13538
13732
  }))?.requirements !== null) throw new CodexAppServerTransportError({
@@ -13582,9 +13776,9 @@ var CodexAppServerSession = class {
13582
13776
  config: {
13583
13777
  ...this.#deliveryConfig,
13584
13778
  ...this.deliveryOnly ? { mcp_servers: {
13585
- ...toRecord$8(this.#deliveryConfig.mcp_servers) ?? {},
13779
+ ...toRecord$7(this.#deliveryConfig.mcp_servers) ?? {},
13586
13780
  [OPENMELD_SPACE_ACTION_MCP_SERVER_ID]: {
13587
- ...toRecord$8(toRecord$8(this.#deliveryConfig.mcp_servers)?.["openmeld_internal_dispatch_space_action"]) ?? {},
13781
+ ...toRecord$7(toRecord$7(this.#deliveryConfig.mcp_servers)?.["openmeld_internal_dispatch_space_action"]) ?? {},
13588
13782
  enabled: false
13589
13783
  }
13590
13784
  } } : { [`mcp_servers.${OPENMELD_SPACE_ACTION_MCP_SERVER_ID}.enabled`]: false }
@@ -13615,11 +13809,11 @@ var CodexAppServerSession = class {
13615
13809
  expectDispatchServer: !this.spaceToolInvocation.enabled && resolveDispatchSpaceActionMcpServer(this.#env) !== null
13616
13810
  });
13617
13811
  else {
13618
- const result = toRecord$8(inventory);
13812
+ const result = toRecord$7(inventory);
13619
13813
  const rows = result?.data;
13620
13814
  if (!Array.isArray(rows) || result?.nextCursor != null || rows.some((row) => {
13621
- const server = toRecord$8(row);
13622
- return server?.name === "openmeld_internal_dispatch_space_action" && (server.runtimeStatus !== "disabled" || Object.keys(toRecord$8(server.tools) ?? {}).length > 0);
13815
+ const server = toRecord$7(row);
13816
+ return server?.name === "openmeld_internal_dispatch_space_action" && (server.runtimeStatus !== "disabled" || Object.keys(toRecord$7(server.tools) ?? {}).length > 0);
13623
13817
  })) throw new CodexAppServerTransportError({
13624
13818
  code: "context.space_tool_carrier_unverified",
13625
13819
  errorType: "config",
@@ -13735,10 +13929,10 @@ var CodexAppServerSession = class {
13735
13929
  });
13736
13930
  }
13737
13931
  async waitForTurnCompleted(input) {
13738
- const turn = toRecord$8(toRecord$8((await this.#waitForNotification((candidate) => {
13932
+ const turn = toRecord$7(toRecord$7((await this.#waitForNotification((candidate) => {
13739
13933
  if (candidate.method !== "turn/completed") return false;
13740
- const params = toRecord$8(candidate.params);
13741
- const turn = toRecord$8(params?.turn);
13934
+ const params = toRecord$7(candidate.params);
13935
+ const turn = toRecord$7(params?.turn);
13742
13936
  return params?.threadId === input.threadId && normalizeOptionalText$30(turn?.id) === input.turnId;
13743
13937
  })).params)?.turn);
13744
13938
  if (!turn) throw new CodexAppServerTransportError({
@@ -13840,12 +14034,24 @@ var CodexAppServerSession = class {
13840
14034
  pending.resolve(message.result);
13841
14035
  }
13842
14036
  #handleNotification(message) {
14037
+ if (message.method === "account/rateLimits/updated") {
14038
+ const tsMs = Date.now();
14039
+ const usageLimits = projectCodexUsageLimits({
14040
+ response: message.params,
14041
+ observedAt: new Date(tsMs).toISOString()
14042
+ });
14043
+ this.#emitRuntimeEvent({
14044
+ phase: "provider_usage_limits_observed",
14045
+ tsMs,
14046
+ usageLimits
14047
+ });
14048
+ }
13843
14049
  this.#startupDiagnostics.observeNotification(message.method ?? "", message.params);
13844
14050
  if (message.method === "item/reasoning/summaryTextDelta") {
13845
14051
  this.#observeReasoningSummary(message.params);
13846
14052
  return;
13847
14053
  }
13848
- if (message.method?.startsWith("item/reasoning/") || toRecord$8(toRecord$8(message.params)?.item)?.type === "reasoning") return;
14054
+ if (message.method?.startsWith("item/reasoning/") || toRecord$7(toRecord$7(message.params)?.item)?.type === "reasoning") return;
13849
14055
  this.#notifications.push(message);
13850
14056
  this.#observeContextTelemetry(message);
13851
14057
  this.#collectAgentMessageDelta(message);
@@ -13859,11 +14065,11 @@ var CodexAppServerSession = class {
13859
14065
  }
13860
14066
  #observeContextTelemetry(message) {
13861
14067
  if (message.method === "thread/tokenUsage/updated") {
13862
- const tokenUsage = readCodexTokenUsage(toRecord$8(message.params)?.tokenUsage);
14068
+ const tokenUsage = readCodexTokenUsage(toRecord$7(message.params)?.tokenUsage);
13863
14069
  if (tokenUsage) this.#latestTokenUsage = tokenUsage;
13864
14070
  return;
13865
14071
  }
13866
- if ((message.method === "item/started" || message.method === "item/completed") && toRecord$8(toRecord$8(message.params)?.item)?.type === "contextCompaction") this.#contextCompactionObserved = true;
14072
+ if ((message.method === "item/started" || message.method === "item/completed") && toRecord$7(toRecord$7(message.params)?.item)?.type === "contextCompaction") this.#contextCompactionObserved = true;
13867
14073
  }
13868
14074
  async #handleServerRequest(message) {
13869
14075
  const id = message.id;
@@ -13887,7 +14093,7 @@ var CodexAppServerSession = class {
13887
14093
  const result = this.#onInteractionRequest ? await resolveCodexServerInteraction({
13888
14094
  method: message.method,
13889
14095
  onCancel: async () => {
13890
- const params = toRecord$8(message.params) ?? {};
14096
+ const params = toRecord$7(message.params) ?? {};
13891
14097
  const threadId = readRequiredText(params.threadId, "requestUserInput params.threadId");
13892
14098
  const turnId = readRequiredText(params.turnId, "requestUserInput params.turnId");
13893
14099
  this.#interactionFailure = {
@@ -13932,7 +14138,7 @@ var CodexAppServerSession = class {
13932
14138
  }
13933
14139
  #collectAgentMessageDelta(message) {
13934
14140
  if (message.method !== "item/agentMessage/delta") return;
13935
- const params = toRecord$8(message.params);
14141
+ const params = toRecord$7(message.params);
13936
14142
  const itemId = normalizeOptionalText$30(params?.itemId);
13937
14143
  const delta = readAgentMessageDeltaText(params?.delta);
13938
14144
  if (!(itemId && delta)) return;
@@ -14004,7 +14210,7 @@ var CodexAppServerSession = class {
14004
14210
  this.#reasoningThreadId = threadId;
14005
14211
  }
14006
14212
  #observeReasoningSummary(payload) {
14007
- const params = toRecord$8(payload);
14213
+ const params = toRecord$7(payload);
14008
14214
  if (!this.#reasoningThreadId || params?.threadId !== this.#reasoningThreadId || typeof params.turnId !== "string" || typeof params.itemId !== "string" || typeof params.summaryIndex !== "number" || typeof params.delta !== "string" || params.delta.length === 0) return;
14009
14215
  this.#emitRuntimeEvent({
14010
14216
  phase: "reasoning",
@@ -14036,10 +14242,10 @@ var CodexAppServerSession = class {
14036
14242
  }
14037
14243
  };
14038
14244
  function readThreadIdFromResponse(value) {
14039
- return readRequiredText(toRecord$8(value)?.thread?.id, "thread response thread.id");
14245
+ return readRequiredText(toRecord$7(value)?.thread?.id, "thread response thread.id");
14040
14246
  }
14041
14247
  function readThreadContextFromResponse(value) {
14042
- const response = toRecord$8(value);
14248
+ const response = toRecord$7(value);
14043
14249
  return {
14044
14250
  permissionResponse: value,
14045
14251
  model: normalizeOptionalText$30(response?.model),
@@ -14048,7 +14254,7 @@ function readThreadContextFromResponse(value) {
14048
14254
  };
14049
14255
  }
14050
14256
  function readLastCompletedTurnId(value) {
14051
- const response = toRecord$8(value);
14257
+ const response = toRecord$7(value);
14052
14258
  const turns = Array.isArray(response?.thread?.turns) ? response.thread.turns : [];
14053
14259
  for (let index = turns.length - 1; index >= 0; index -= 1) {
14054
14260
  const turn = turns[index];
@@ -14059,7 +14265,7 @@ function readLastCompletedTurnId(value) {
14059
14265
  return null;
14060
14266
  }
14061
14267
  function readTurnStartResponse(value) {
14062
- const turn = toRecord$8(value)?.turn;
14268
+ const turn = toRecord$7(value)?.turn;
14063
14269
  if (!turn || typeof turn !== "object") throw new CodexAppServerTransportError({
14064
14270
  code: "protocol.invalid",
14065
14271
  errorType: "adapter",
@@ -14078,7 +14284,7 @@ function readTurnFailureCodexErrorInfo(turn) {
14078
14284
  return normalizeOptionalText$30(turn.error?.codexErrorInfo);
14079
14285
  }
14080
14286
  function readCodexTokenUsage(value) {
14081
- const usage = toRecord$8(value);
14287
+ const usage = toRecord$7(value);
14082
14288
  const last = readCodexTokenUsageBreakdown(usage?.last);
14083
14289
  const total = readCodexTokenUsageBreakdown(usage?.total);
14084
14290
  const rawModelContextWindow = usage?.modelContextWindow;
@@ -14091,7 +14297,7 @@ function readCodexTokenUsage(value) {
14091
14297
  };
14092
14298
  }
14093
14299
  function readCodexTokenUsageBreakdown(value) {
14094
- const usage = toRecord$8(value);
14300
+ const usage = toRecord$7(value);
14095
14301
  const cachedInputTokens = readNonNegativeInteger(usage?.cachedInputTokens);
14096
14302
  const inputTokens = readNonNegativeInteger(usage?.inputTokens);
14097
14303
  const outputTokens = readNonNegativeInteger(usage?.outputTokens);
@@ -14158,7 +14364,7 @@ async function resolveCodexServerInteraction(input) {
14158
14364
  }
14159
14365
  }
14160
14366
  async function resolveCommandApprovalInteraction(input) {
14161
- const params = toRecord$8(input.params) ?? {};
14367
+ const params = toRecord$7(input.params) ?? {};
14162
14368
  const command = normalizeBoundedText$3(input.legacy && Array.isArray(params.command) ? params.command.map(String).join(" ") : params.command, 16e3) ?? "Command details were not provided.";
14163
14369
  const cwd = normalizeBoundedText$3(params.cwd, 4096);
14164
14370
  const mappedOptions = (input.legacy ? [
@@ -14223,7 +14429,7 @@ function presentCommandApprovalDecision(decision) {
14223
14429
  label: "Deny"
14224
14430
  };
14225
14431
  if (decision === "cancel" || decision === "abort") return null;
14226
- const record = toRecord$8(decision);
14432
+ const record = toRecord$7(decision);
14227
14433
  if (record?.acceptWithExecpolicyAmendment) return {
14228
14434
  intent: "allow_always",
14229
14435
  label: "Allow matching commands"
@@ -14235,7 +14441,7 @@ function presentCommandApprovalDecision(decision) {
14235
14441
  return null;
14236
14442
  }
14237
14443
  async function resolveFileChangeApprovalInteraction(input) {
14238
- const params = toRecord$8(input.params) ?? {};
14444
+ const params = toRecord$7(input.params) ?? {};
14239
14445
  const resource = input.legacy ? normalizeBoundedText$3(safeJsonStringify(params.fileChanges), 4096) : normalizeBoundedText$3(params.grantRoot, 4096);
14240
14446
  const options = [
14241
14447
  {
@@ -14279,7 +14485,7 @@ async function resolveFileChangeApprovalInteraction(input) {
14279
14485
  return { decision: input.legacy ? { denied: { rejection: "Denied by the user." } } : "decline" };
14280
14486
  }
14281
14487
  async function resolveUserInputInteraction(input) {
14282
- const params = toRecord$8(input.params) ?? {};
14488
+ const params = toRecord$7(input.params) ?? {};
14283
14489
  const rawQuestions = Array.isArray(params.questions) ? params.questions : [];
14284
14490
  const answers = {};
14285
14491
  for (let offset = 0; offset < rawQuestions.length; offset += 3) {
@@ -14303,12 +14509,12 @@ async function resolveUserInputInteraction(input) {
14303
14509
  return { answers };
14304
14510
  }
14305
14511
  function mapCodexQuestion(value, questionIndex) {
14306
- const question = toRecord$8(value) ?? {};
14512
+ const question = toRecord$7(value) ?? {};
14307
14513
  const questionId = normalizeBoundedText$3(question.id, 256) ?? `codex-question-${questionIndex}`;
14308
14514
  const rawOptions = Array.isArray(question.options) ? question.options.slice(0, 20) : [];
14309
14515
  const optionValueById = /* @__PURE__ */ new Map();
14310
14516
  const options = rawOptions.map((rawOption, optionIndex) => {
14311
- const option = toRecord$8(rawOption) ?? {};
14517
+ const option = toRecord$7(rawOption) ?? {};
14312
14518
  const label = normalizeBoundedText$3(option.label, 240) ?? `Option ${optionIndex + 1}`;
14313
14519
  const optionId = `${questionId}-option-${optionIndex}`;
14314
14520
  optionValueById.set(optionId, label);
@@ -14336,8 +14542,8 @@ async function resolveAdditionalPermissionsInteraction(input) {
14336
14542
  const allowTurnOptionId = "codex-additional-permissions-turn";
14337
14543
  const allowSessionOptionId = "codex-additional-permissions-session";
14338
14544
  const denyOptionId = "codex-additional-permissions-deny";
14339
- const params = toRecord$8(input.params) ?? {};
14340
- const requestedPermissions = toRecord$8(params.permissions) ?? {};
14545
+ const params = toRecord$7(input.params) ?? {};
14546
+ const requestedPermissions = toRecord$7(params.permissions) ?? {};
14341
14547
  const grantedPermissions = Object.fromEntries(Object.entries(requestedPermissions).filter(([, value]) => value !== null));
14342
14548
  const options = [
14343
14549
  {
@@ -14385,7 +14591,7 @@ async function resolveAdditionalPermissionsInteraction(input) {
14385
14591
  };
14386
14592
  }
14387
14593
  async function resolveMcpServerElicitationInteraction(input) {
14388
- const params = toRecord$8(input.params) ?? {};
14594
+ const params = toRecord$7(input.params) ?? {};
14389
14595
  if (params.mode === "url") return await resolveMcpServerUrlElicitation({
14390
14596
  onInteractionRequest: input.onInteractionRequest,
14391
14597
  params
@@ -14397,8 +14603,8 @@ async function resolveMcpServerElicitationInteraction(input) {
14397
14603
  });
14398
14604
  }
14399
14605
  async function resolveMcpServerFormElicitation(input) {
14400
- const requestedSchema = toRecord$8(input.params.requestedSchema);
14401
- const properties = toRecord$8(requestedSchema?.properties);
14606
+ const requestedSchema = toRecord$7(input.params.requestedSchema);
14607
+ const properties = toRecord$7(requestedSchema?.properties);
14402
14608
  if (!properties) return { action: "decline" };
14403
14609
  const requiredNames = new Set(Array.isArray(requestedSchema?.required) ? requestedSchema.required.map(String) : []);
14404
14610
  const fields = Object.entries(properties).map(([name, value], index) => mapCodexMcpElicitationField({
@@ -14460,7 +14666,7 @@ async function resolveMcpServerUrlElicitation(input) {
14460
14666
  return { action: response.kind === "cancel" ? "cancel" : "decline" };
14461
14667
  }
14462
14668
  function mapCodexMcpElicitationField(input) {
14463
- const schema = toRecord$8(input.schema) ?? {};
14669
+ const schema = toRecord$7(input.schema) ?? {};
14464
14670
  const questionId = `codex-mcp-field-${input.fieldIndex}`;
14465
14671
  const skipOptionId = input.required ? null : `${questionId}-skip`;
14466
14672
  const optionValueById = /* @__PURE__ */ new Map();
@@ -14501,12 +14707,12 @@ function listCodexMcpElicitationOptions(schema) {
14501
14707
  label: "No",
14502
14708
  value: false
14503
14709
  }];
14504
- const itemSchema = toRecord$8(schema.items);
14710
+ const itemSchema = toRecord$7(schema.items);
14505
14711
  let titledOptions = null;
14506
14712
  if (Array.isArray(schema.oneOf)) titledOptions = schema.oneOf;
14507
14713
  else if (Array.isArray(itemSchema?.anyOf)) titledOptions = itemSchema.anyOf;
14508
14714
  if (titledOptions) return titledOptions.map((value) => {
14509
- const option = toRecord$8(value) ?? {};
14715
+ const option = toRecord$7(value) ?? {};
14510
14716
  const rawValue = option.const ?? "";
14511
14717
  return {
14512
14718
  label: normalizeBoundedText$3(option.title, 240) ?? String(rawValue).slice(0, 240),
@@ -14657,7 +14863,7 @@ function readRequiredText(value, label) {
14657
14863
  message: `protocol.invalid: missing ${label}`
14658
14864
  });
14659
14865
  }
14660
- function toRecord$8(value) {
14866
+ function toRecord$7(value) {
14661
14867
  if (!value || typeof value !== "object" || Array.isArray(value)) return null;
14662
14868
  return value;
14663
14869
  }
@@ -14677,7 +14883,7 @@ function isProcessGroupAbsent(processId) {
14677
14883
  }
14678
14884
  }
14679
14885
  function parseCodexAppServerVersion(response) {
14680
- return normalizeOptionalText$30(toRecord$8(response)?.userAgent)?.match(CODEX_APP_SERVER_VERSION_PATTERN)?.[1] ?? null;
14886
+ return normalizeOptionalText$30(toRecord$7(response)?.userAgent)?.match(CODEX_APP_SERVER_VERSION_PATTERN)?.[1] ?? null;
14681
14887
  }
14682
14888
  function resolveCodexAppServerAuthStatus(input) {
14683
14889
  if (input.account) return "authenticated";
@@ -15666,95 +15872,6 @@ async function pathExists$2(path) {
15666
15872
  }
15667
15873
  }
15668
15874
  //#endregion
15669
- //#region ../../runtime/adapters/codex/dist/usage/codex-usage-limits.js
15670
- const DEFAULT_LIMIT_ID = "codex";
15671
- const MAX_LIMIT_ID_LENGTH = 160;
15672
- const MAX_LIMIT_LABEL_LENGTH = 160;
15673
- const SECONDS_PER_MILLISECOND = 1e3;
15674
- function projectCodexUsageLimits(input) {
15675
- const limits = readRateLimitBuckets(input.response).flatMap((bucket) => projectRateLimitBucket({
15676
- ...bucket,
15677
- observedAt: input.observedAt
15678
- }));
15679
- if (limits.length === 0) return createUnavailableProviderUsageLimits(input.observedAt);
15680
- const uniqueLimits = /* @__PURE__ */ new Map();
15681
- for (const limit of limits) if (!uniqueLimits.has(limit.key)) uniqueLimits.set(limit.key, limit);
15682
- return [...uniqueLimits.values()];
15683
- }
15684
- function readRateLimitBuckets(response) {
15685
- const record = toRecord$7(response);
15686
- const bucketsById = toRecord$7(record?.rateLimitsByLimitId);
15687
- if (bucketsById && Object.keys(bucketsById).length > 0) return Object.entries(bucketsById).flatMap(([bucketKey, snapshot]) => {
15688
- const recordSnapshot = toRecord$7(snapshot);
15689
- return recordSnapshot ? [{
15690
- bucketKey,
15691
- snapshot: recordSnapshot
15692
- }] : [];
15693
- });
15694
- const legacySnapshot = toRecord$7(record?.rateLimits);
15695
- return legacySnapshot ? [{
15696
- bucketKey: DEFAULT_LIMIT_ID,
15697
- snapshot: legacySnapshot
15698
- }] : [];
15699
- }
15700
- function projectRateLimitBucket(input) {
15701
- const limitId = resolveLimitId(input);
15702
- const limitName = normalizeLabel(input.snapshot.limitName);
15703
- return ["primary", "secondary"].flatMap((windowKind) => {
15704
- const window = toRecord$7(input.snapshot[windowKind]);
15705
- const usedPercent = normalizeUsedPercent(window?.usedPercent);
15706
- if (usedPercent === null) return [];
15707
- const windowLabel = formatWindowLabel({
15708
- windowDurationMins: normalizePositiveInteger(window?.windowDurationMins),
15709
- windowKind
15710
- });
15711
- return [{
15712
- key: `${limitId}:${windowKind}`,
15713
- label: limitName ? `${limitName} ${windowLabel.toLocaleLowerCase("en-US")}` : windowLabel,
15714
- observedAt: input.observedAt,
15715
- resetsAt: normalizeResetTime(window?.resetsAt),
15716
- status: usedPercent >= 100 ? "exhausted" : "available",
15717
- usedPercent
15718
- }];
15719
- });
15720
- }
15721
- function resolveLimitId(input) {
15722
- const providerLimitId = normalizeLimitId(input.snapshot.limitId);
15723
- const bucketLimitId = normalizeLimitId(input.bucketKey);
15724
- return providerLimitId ?? bucketLimitId ?? DEFAULT_LIMIT_ID;
15725
- }
15726
- function normalizeLimitId(value) {
15727
- if (typeof value !== "string") return null;
15728
- return value.trim().toLocaleLowerCase("en-US").replace(/[^a-z0-9._-]+/gu, "-").replace(/^-+|-+$/gu, "").slice(0, MAX_LIMIT_ID_LENGTH) || null;
15729
- }
15730
- function normalizeLabel(value) {
15731
- if (typeof value !== "string") return null;
15732
- const normalized = value.trim().replace(/\s+/gu, " ");
15733
- return normalized ? normalized.slice(0, MAX_LIMIT_LABEL_LENGTH) : null;
15734
- }
15735
- function normalizeUsedPercent(value) {
15736
- return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 100 ? value : null;
15737
- }
15738
- function normalizePositiveInteger(value) {
15739
- return typeof value === "number" && Number.isSafeInteger(value) && value > 0 ? value : null;
15740
- }
15741
- function normalizeResetTime(value) {
15742
- const unixSeconds = normalizePositiveInteger(value);
15743
- if (unixSeconds === null) return null;
15744
- const date = /* @__PURE__ */ new Date(unixSeconds * SECONDS_PER_MILLISECOND);
15745
- return Number.isNaN(date.getTime()) ? null : date.toISOString();
15746
- }
15747
- function formatWindowLabel(input) {
15748
- if (input.windowDurationMins === 60) return "Hourly usage";
15749
- if (input.windowDurationMins === 300) return "5-hour usage";
15750
- if (input.windowDurationMins === 1440) return "Daily usage";
15751
- if (input.windowDurationMins === 10080) return "Weekly usage";
15752
- return input.windowKind === "primary" ? "Short-term usage" : "Long-term usage";
15753
- }
15754
- function toRecord$7(value) {
15755
- return value && typeof value === "object" && !Array.isArray(value) ? value : null;
15756
- }
15757
- //#endregion
15758
15875
  //#region ../../runtime/adapters/codex/dist/index.js
15759
15876
  const CODEX_CONVERSATION_BRIDGE_SPEC = resolveBuiltinAdapterConversationBridgeSpec("codex");
15760
15877
  const TEST_DISABLE_DEFAULT_INVOKE = Symbol.for("openmeld.test.disableDefaultInvoke");
@@ -16294,6 +16411,39 @@ const installCodexAdapter = {
16294
16411
  }
16295
16412
  };
16296
16413
  //#endregion
16414
+ //#region ../../runtime/adapters/cursor/dist/usage/cursor-usage-limits.js
16415
+ function projectCursorUsageLimits(input) {
16416
+ const response = record$4(input.value);
16417
+ const plan = record$4(response?.planUsage);
16418
+ const reset = Number(response?.billingCycleEnd);
16419
+ const resetDate = new Date(reset);
16420
+ const resetsAt = reset > 0 && Number.isFinite(resetDate.getTime()) ? resetDate.toISOString() : null;
16421
+ const limits = [
16422
+ ["totalPercentUsed", "Plan usage"],
16423
+ ["autoPercentUsed", "Auto usage"],
16424
+ ["apiPercentUsed", "API usage"]
16425
+ ].flatMap(([key, label]) => {
16426
+ const value = plan?.[key];
16427
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0) return [];
16428
+ const usedPercent = Math.min(value, 100);
16429
+ return [{
16430
+ key: `cursor:${key}`,
16431
+ label,
16432
+ observedAt: input.observedAt,
16433
+ resetsAt,
16434
+ usedPercent,
16435
+ status: usedPercent === 100 ? "exhausted" : "available"
16436
+ }];
16437
+ });
16438
+ return limits.length ? limits : createUnavailableProviderUsageLimits(input.observedAt, void 0, {
16439
+ reason: "not_reported",
16440
+ resetsAt
16441
+ });
16442
+ }
16443
+ function record$4(value) {
16444
+ return value && typeof value === "object" && !Array.isArray(value) ? value : null;
16445
+ }
16446
+ //#endregion
16297
16447
  //#region ../../runtime/adapters/cursor/dist/config/cursor-runtime-config.js
16298
16448
  const DEFAULT_CURSOR_COMMAND = "cursor-agent";
16299
16449
  const PATH_SEGMENT_SPLIT_RE = /[/\\]/u;
@@ -17849,18 +17999,35 @@ function normalizeOptionalText$22(value) {
17849
17999
  const GROK_BUILD_USAGE_LIMIT_KEY = "grok-build:included-credits";
17850
18000
  function projectGrokBuildUsageLimits(input) {
17851
18001
  const config = toRecord$4(toRecord$4(input.response)?.config);
17852
- const usedPercent = readUsedPercent(config?.creditUsagePercent);
17853
- if (usedPercent === null) return createUnavailableProviderUsageLimits(input.observedAt);
17854
18002
  const currentPeriod = toRecord$4(config?.currentPeriod);
18003
+ const resetsAt = readResetTime(currentPeriod?.end);
18004
+ const usedPercent = config && !("creditUsagePercent" in config) && config.isUnifiedBillingUser === true && isActiveBillingPeriod(currentPeriod, input.observedAt) ? 0 : readUsedPercent(config?.creditUsagePercent);
18005
+ if (usedPercent === null) return createUnavailableProviderUsageLimits(input.observedAt, void 0, {
18006
+ reason: "not_reported",
18007
+ resetsAt
18008
+ });
17855
18009
  return [{
17856
18010
  key: GROK_BUILD_USAGE_LIMIT_KEY,
17857
18011
  label: resolvePeriodLabel(currentPeriod?.type),
17858
18012
  observedAt: input.observedAt,
17859
- resetsAt: readResetTime(currentPeriod?.end),
18013
+ resetsAt,
17860
18014
  status: usedPercent === 100 ? "exhausted" : "available",
17861
18015
  usedPercent
17862
18016
  }];
17863
18017
  }
18018
+ function isActiveBillingPeriod(period, observedAt) {
18019
+ const start = readResetTime(period?.start);
18020
+ const end = readResetTime(period?.end);
18021
+ const type = typeof period?.type === "string" ? period.type.toLowerCase() : "";
18022
+ const knownType = [
18023
+ "weekly",
18024
+ "monthly",
18025
+ "usage_period_type_weekly",
18026
+ "usage_period_type_monthly"
18027
+ ].includes(type);
18028
+ const nowMs = Date.parse(observedAt);
18029
+ return Boolean(knownType && start && end && Number.isFinite(nowMs) && Date.parse(start) <= nowMs && nowMs < Date.parse(end));
18030
+ }
17864
18031
  function readUsedPercent(value) {
17865
18032
  return typeof value === "number" && Number.isFinite(value) && value >= 0 && value <= 100 ? value : null;
17866
18033
  }
@@ -19013,8 +19180,8 @@ async function prepareGrokBuildDeliveryScope(input) {
19013
19180
  GROK_HOME: scopedHome
19014
19181
  });
19015
19182
  assertGrokBuildDeliveryInspection(scopedInspection);
19016
- const previous = record$2(record$2(inspection)?.permissions)?.sources;
19017
- const current = record$2(record$2(scopedInspection)?.permissions)?.sources;
19183
+ const previous = record$3(record$3(inspection)?.permissions)?.sources;
19184
+ const current = record$3(record$3(scopedInspection)?.permissions)?.sources;
19018
19185
  if (!(Array.isArray(previous) && Array.isArray(current)) || previous.some((source) => typeof source !== "string" || !current.includes(source.replace(originalHome, scopedHome)))) throw scopeError$2("The correction config did not retain every original native policy source.");
19019
19186
  await writeFile(profilePath, [
19020
19187
  "---",
@@ -19074,7 +19241,7 @@ async function createGrokBuildDeliveryHome(input) {
19074
19241
  if (error.code === "ENOENT") return "";
19075
19242
  throw error;
19076
19243
  }));
19077
- const permission = record$2(config.permission) ?? {};
19244
+ const permission = record$3(config.permission) ?? {};
19078
19245
  const denied = permission.deny ?? [];
19079
19246
  if (!(Array.isArray(denied) && denied.every((rule) => typeof rule === "string"))) throw scopeError$2("The native deny rules cannot be preserved.");
19080
19247
  config.permission = {
@@ -19107,7 +19274,7 @@ function nativePermissionMode(value) {
19107
19274
  }
19108
19275
  /** Native `grok inspect --json`, captured from Grok 1.0.40. */
19109
19276
  function assertGrokBuildDeliveryInspection(value) {
19110
- const report = record$2(value);
19277
+ const report = record$3(value);
19111
19278
  const version = typeof report?.grokVersion === "string" ? report.grokVersion.match(NATIVE_VERSION) : null;
19112
19279
  if (!version || Number(version[1]) < 40 || report?.projectTrusted !== true) throw scopeError$2("This Grok installation has not verified the required native scope.");
19113
19280
  for (const key of [
@@ -19117,7 +19284,7 @@ function assertGrokBuildDeliveryInspection(value) {
19117
19284
  "lspServers"
19118
19285
  ]) if (!Array.isArray(report[key]) || report[key].length !== 0) throw scopeError$2("Ambient hooks, plugins or external servers prevent isolated correction.");
19119
19286
  for (const key of ["loadErrors", "warnings"]) if (report[key] !== void 0 && (!Array.isArray(report[key]) || report[key].length !== 0)) throw scopeError$2("The native configuration has unresolved diagnostics.");
19120
- const policy = record$2(report.permissions);
19287
+ const policy = record$3(report.permissions);
19121
19288
  if (!policy || policy.managedSettingsActive !== false || !Array.isArray(policy.skipped) || policy.skipped.length !== 0) throw scopeError$2("The effective native policy could not be preserved.");
19122
19289
  }
19123
19290
  async function verifyGrokBuildDeliveryScope(input) {
@@ -19126,7 +19293,7 @@ async function verifyGrokBuildDeliveryScope(input) {
19126
19293
  if (!Array.isArray(hooks?.hooks) || hooks.hooks.length !== 0 || hooks.loadErrors != null) throw scopeError$2("The correction session did not confirm an empty native hook scope.");
19127
19294
  await waitForGrokBuildDeliveryTools(input);
19128
19295
  const info = unwrap(await input.request("_x.ai/session/info", params));
19129
- if (info?.sessionId !== input.sessionId || info.agentName !== input.scope.profileName || record$2(info.context)?.toolDefinitionsCount !== 2) throw scopeError$2("Grok did not apply the restricted native agent definition.");
19296
+ if (info?.sessionId !== input.sessionId || info.agentName !== input.scope.profileName || record$3(info.context)?.toolDefinitionsCount !== 2) throw scopeError$2("Grok did not apply the restricted native agent definition.");
19130
19297
  }
19131
19298
  async function waitForGrokBuildDeliveryTools(input) {
19132
19299
  const params = { sessionId: input.sessionId };
@@ -19134,12 +19301,12 @@ async function waitForGrokBuildDeliveryTools(input) {
19134
19301
  while (true) {
19135
19302
  const mcp = unwrap(await input.request("_x.ai/mcp/list", params));
19136
19303
  if (!Array.isArray(mcp?.servers) || mcp.servers.length !== 1) throw scopeError$2("The correction session has an unexpected MCP inventory.");
19137
- const server = record$2(mcp.servers[0]);
19138
- const session = record$2(server?.session);
19304
+ const server = record$3(mcp.servers[0]);
19305
+ const session = record$3(server?.session);
19139
19306
  if (server?.name !== "openmeld_internal_dispatch_space_action" || session?.enabled !== true) throw scopeError$2("The current dispatch MCP server is unavailable.");
19140
19307
  if (mcp.sessionMcpResolved === true) {
19141
19308
  const tools = Array.isArray(session.tools) ? session.tools : [];
19142
- if (session.status !== "ready" || JSON.stringify(tools.map((tool) => record$2(tool)?.name).sort()) !== JSON.stringify(FINAL_TOOLS)) throw scopeError$2("Native tool startup did not confirm the delivery catalog.");
19309
+ if (session.status !== "ready" || JSON.stringify(tools.map((tool) => record$3(tool)?.name).sort()) !== JSON.stringify(FINAL_TOOLS)) throw scopeError$2("Native tool startup did not confirm the delivery catalog.");
19143
19310
  break;
19144
19311
  }
19145
19312
  if (session.status !== "initializing" || Date.now() >= deadline) throw scopeError$2("The dispatch tools did not become ready for correction.");
@@ -19147,9 +19314,9 @@ async function waitForGrokBuildDeliveryTools(input) {
19147
19314
  }
19148
19315
  }
19149
19316
  function unwrap(value) {
19150
- return record$2(record$2(value)?.result);
19317
+ return record$3(record$3(value)?.result);
19151
19318
  }
19152
- function record$2(value) {
19319
+ function record$3(value) {
19153
19320
  return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
19154
19321
  }
19155
19322
  function scopeError$2(message) {
@@ -19435,7 +19602,10 @@ var GrokBuildAcpSession = class {
19435
19602
  return await this.request("_x.ai/billing", {}).then((response) => projectGrokBuildUsageLimits({
19436
19603
  observedAt: (/* @__PURE__ */ new Date()).toISOString(),
19437
19604
  response
19438
- }), () => createUnavailableProviderUsageLimits((/* @__PURE__ */ new Date()).toISOString()));
19605
+ }), () => createUnavailableProviderUsageLimits((/* @__PURE__ */ new Date()).toISOString(), void 0, {
19606
+ reason: "refresh_failed",
19607
+ resetsAt: null
19608
+ }));
19439
19609
  }
19440
19610
  async readUsageLimitsSafe() {
19441
19611
  try {
@@ -21420,7 +21590,7 @@ function resolveOpenClawConfigPath(env) {
21420
21590
  return join(env[OPENCLAW_STATE_DIR_ENV]?.trim() ?? join(env.HOME?.trim() || homedir(), ".openclaw"), "openclaw.json");
21421
21591
  }
21422
21592
  function resolveDisabledPluginEntries(plugins, deliveryOnly) {
21423
- const entries = record$1(plugins.entries) ?? {};
21593
+ const entries = record$2(plugins.entries) ?? {};
21424
21594
  const allow = Array.isArray(plugins.allow) ? plugins.allow : [];
21425
21595
  if (Object.hasOwn(entries, OPENCLAW_PLUGIN_ID) || allow.includes(OPENCLAW_PLUGIN_ID)) throw scopeError$1("The native configuration already uses the reserved dispatch plugin identity. Its existing policy was not overwritten.");
21426
21596
  if (!deliveryOnly) return {};
@@ -21461,12 +21631,12 @@ async function readNativePlugins(launchContract, env, args = [
21461
21631
  maxBuffer: 1024 * 1024,
21462
21632
  windowsHide: true
21463
21633
  });
21464
- const value = record$1(JSON.parse(stdout));
21634
+ const value = record$2(JSON.parse(stdout));
21465
21635
  if (value) return value;
21466
21636
  } catch {}
21467
21637
  throw scopeError$1("OpenClaw's effective plugin scope could not be verified. No correction turn was started.");
21468
21638
  }
21469
- function record$1(value) {
21639
+ function record$2(value) {
21470
21640
  return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
21471
21641
  }
21472
21642
  //#endregion
@@ -22349,9 +22519,9 @@ async function prepareOpenCodeDeliveryOnlyTurn(input) {
22349
22519
  }, options)
22350
22520
  ]);
22351
22521
  requireOpenCodeDeliveryOnlyVersion(health);
22352
- const config = record(configResponse);
22353
- const source = record(sourceResponse);
22354
- const mcp = config?.mcp === void 0 ? {} : record(config.mcp);
22522
+ const config = record$1(configResponse);
22523
+ const source = record$1(sourceResponse);
22524
+ const mcp = config?.mcp === void 0 ? {} : record$1(config.mcp);
22355
22525
  if (!(config && source && mcp) || source.id !== (input.sourceSessionId ?? input.sessionId) || !Array.isArray(toolIds) || toolIds.length > 4096 || !toolIds.every((name) => typeof name === "string" && SAFE_TOOL_ID.test(name))) throw scopeError("The native tool inventory or original permission rules could not be verified.");
22356
22526
  const original = source.permission ?? [];
22357
22527
  if (!(Array.isArray(original) && original.every(isPermissionRule))) throw scopeError("The original conversation's permission rules are invalid.");
@@ -22371,27 +22541,27 @@ async function prepareOpenCodeDeliveryOnlyTurn(input) {
22371
22541
  sessionID: input.sessionId,
22372
22542
  permission
22373
22543
  }, options);
22374
- const verified = record(await input.client.session.get({
22544
+ const verified = record$1(await input.client.session.get({
22375
22545
  directory: input.directory,
22376
22546
  sessionID: input.sessionId
22377
22547
  }, options));
22378
22548
  if (verified?.id !== input.sessionId || JSON.stringify(verified.permission) !== JSON.stringify(permission)) throw scopeError("OpenCode did not confirm the correction session's restricted tool permissions.");
22379
22549
  }
22380
22550
  function requireOpenCodeDeliveryOnlyVersion(health) {
22381
- const version = record(health)?.version;
22551
+ const version = record$1(health)?.version;
22382
22552
  const match = typeof version === "string" ? VERSION.exec(version) : null;
22383
22553
  if (match && (Number(match[1]) > 1 || Number(match[1]) === 1 && (Number(match[2]) > 18 || Number(match[2]) === 18 && Number(match[3]) >= 31))) return;
22384
22554
  throw scopeError("This OpenCode installation cannot verify delivery-only execution.");
22385
22555
  }
22386
22556
  function isPermissionRule(value) {
22387
- const rule = record(value);
22557
+ const rule = record$1(value);
22388
22558
  return Boolean(rule && typeof rule.permission === "string" && typeof rule.pattern === "string" && [
22389
22559
  "allow",
22390
22560
  "ask",
22391
22561
  "deny"
22392
22562
  ].includes(String(rule.action)));
22393
22563
  }
22394
- function record(value) {
22564
+ function record$1(value) {
22395
22565
  return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
22396
22566
  }
22397
22567
  function scopeError(message) {
@@ -23889,6 +24059,36 @@ function toRecord(value) {
23889
24059
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
23890
24060
  }
23891
24061
  //#endregion
24062
+ //#region ../../runtime/adapters/opencode/dist/usage/openrouter-usage-limits.js
24063
+ const PROVIDER = {
24064
+ id: "openrouter",
24065
+ displayName: "OpenRouter"
24066
+ };
24067
+ function parseOpenRouterUsageResponse(input) {
24068
+ const data = record(record(input.value)?.data);
24069
+ const limits = [];
24070
+ const free = record(data?.free_model_daily_requests);
24071
+ const add = (key, label, used, limit) => {
24072
+ if (typeof limit !== "number" || !Number.isFinite(limit) || limit <= 0 || typeof used !== "number" || !Number.isFinite(used) || used < 0) return;
24073
+ const usedPercent = Math.min(100, used / limit * 100);
24074
+ limits.push({
24075
+ key: `openrouter:${key}`,
24076
+ label,
24077
+ provider: PROVIDER,
24078
+ observedAt: input.observedAt,
24079
+ resetsAt: null,
24080
+ usedPercent,
24081
+ status: usedPercent === 100 ? "exhausted" : "available"
24082
+ });
24083
+ };
24084
+ add("free-model-daily", "Free models daily requests", free?.used, free?.limit);
24085
+ if (typeof data?.limit === "number" && typeof data.limit_remaining === "number" && data.limit_remaining >= 0 && data.limit_remaining <= data.limit) add("key-budget", "API key budget", data.limit - data.limit_remaining, data.limit);
24086
+ return limits.length ? limits : createUnavailableProviderUsageLimits(input.observedAt, PROVIDER, { reason: "not_reported" });
24087
+ }
24088
+ function record(value) {
24089
+ return value && typeof value === "object" && !Array.isArray(value) ? value : null;
24090
+ }
24091
+ //#endregion
23892
24092
  //#region ../../runtime/adapters/opencode/dist/index.js
23893
24093
  const OPENCODE_CONVERSATION_BRIDGE_SPEC = resolveBuiltinAdapterConversationBridgeSpec("opencode");
23894
24094
  const OPENCODE_PERMISSION_ENV = "OPENCODE_PERMISSION";
@@ -27960,7 +28160,6 @@ var offline_catalog_default = {
27960
28160
  {
27961
28161
  "id": "z-ai/glm-5.3-flash",
27962
28162
  "displayName": "GLM 5.3 Flash",
27963
- "badgeLabel": "New",
27964
28163
  "hostedRuntime": {
27965
28164
  "provider": "openrouter",
27966
28165
  "inputModalities": ["text", "image"],
@@ -31273,9 +31472,9 @@ function createModelCatalogReadSession(input) {
31273
31472
  async function readModelCatalogOnce(baseUrl) {
31274
31473
  try {
31275
31474
  const [apiClient, baseUrlModule, clientFoundationModule] = await Promise.all([
31276
- import("./dist-B12upl5l.js"),
31475
+ import("./dist-z72xYz5Z.js"),
31277
31476
  import("./base-url-Bdjp-5vy.js"),
31278
- import("./api-client-foundation-CDj_9Rks.js")
31477
+ import("./api-client-foundation-1p1VVFJ_.js")
31279
31478
  ]);
31280
31479
  if (typeof apiClient.createConfigApi !== "function") throw new Error("config api client is unavailable");
31281
31480
  const resolvedBaseUrl = baseUrl ?? await baseUrlModule.resolveBaseUrl();
@@ -33131,6 +33330,6 @@ async function prepareProviderRuntime(input, options = {}) {
33131
33330
  return await preparer(input);
33132
33331
  }
33133
33332
  //#endregion
33134
- export { canManageRegistryAgentSkillTargets as $, DISPATCH_SPACE_ACTION_DELIVERY_ONLY_ENV as $n, mergeOpenClawGatewayVisibility as $t, createExpectedRoutesReadSession as A, runRuntimeTask as An, pruneStaleLeases as Ar, ensureOpenMeldManagedProfileWorkspace as At, reconcileNewRunnableBuiltinAgentsForSetup as B, upsertConversationExecutionState as Bn, createMutableRouteCatalogState as Bt, createModelCatalogReadSession as C, verifyCodexAppServerThread as Cn, resolveSelectableCandidates as Cr, resolveLocalProjectConnectionForPath as Ct, NO_LOCAL_AGENTS_NEED_OPENMELD_SERVICE_REASON as D, emitReconcileCompletedEvidence as Dn, MIN_HEARTBEAT_INTERVAL_MS as Dr, resolveRegistryOriginLaunchCommand as Dt, resolveProfileWorkspaceRuntime as E, emitDriftDetectedEvidence as En, MAX_HEARTBEAT_INTERVAL_MS as Er, listBuiltinAgentsRegistryEntries as Et, listAgentRegistrations as F, loadLedgerState as Fn, resolveConfiguredProfileWorkspacePathForAccount as Ft, updateAgentRegistrations as G, createUnavailableProviderUsageLimits as Gn, syncRuntimeEventToInflightTaskControlRegistry as Gt, resolveAgentTargetState as H, buildAuthenticatedControlPlaneResponse as Hn, summarizeSkippedDaemonProfiles as Ht, listAgentTargetStates as I, removeConversationExecutionState as In, setCustomProfileWorkspace as It, normalizeAgentIds as J, buildCliLaunchInvocation as Jn, isDaemonReconcileInProgressError as Jt, notifyDaemonRouteCatalogChanged as K, createUnsupportedProviderUsageLimits as Kn, SPACE_ACTION_CONTEXT_GUIDANCE_LINES as Kt, manageAgentRegistrationInstallation as L, resolveConversationExecutionStateByLookupKey as Ln, setOpenMeldManagedProfileWorkspace as Lt, addAgentCustomTarget as M, buildTaskResultEnvelope as Mn, resolveCatalogSyncIntervalMs as Mr, readProfileWorkspaceConfig as Mt, createRegistrationFromCatalogTarget as N, appendLedgerHistoryEntry as Nn, compareAgentControllerRefsForDisplay as Nr, readProfileWorkspaceConfigForAccount as Nt, syncDeviceRuntimeStateProjection as O, emitReconcileStartedEvidence as On, applyAcceptedLeases as Or, resolveRegistryRuntimeAdapterCapabilitySnapshot as Ot, listAgentCustomTargets as P, commitResolvedAgentContext as Pn, resolveBuiltinAgentControllerBrand as Pr, resolveConfiguredProfileWorkspacePath as Pt, resolveLocalRegistryAgentIdFromAgentControllerRef as Q, createProviderOriginalError as Qn, createPendingAgentInteractionRegistry as Qt, readAgentRuntimeConfigHealth as R, seedLegacyAgentContext as Rn, validateCustomProfileWorkspacePath as Rt, syncProfileWorkspaceState as S, resolveCodexAppServerCompletedTurn as Sn, resolveNativeAgentControllerPermissionModeForController as Sr, canonicalizeLocalProjectPath as St, resolveEffectiveProfileWorkingFolderRuntime as T, parseAntigravityUsageLimits as Tn, ADAPTIVE_HEARTBEAT_JITTER_RATIO as Tr, withAgentActivityLocalStateLock as Tt, setAgentRegistrationEnabled as U, assertLegacyAgentContextAssociation as Un, syncDaemonRouteCatalogState as Ut, removeAgentCustomTarget as V, withLedgerStateTransaction as Vn, createRouteCatalogFromMutableState as Vt, updateAgentCustomTarget as W, buildAgentContextLookupKey as Wn, normalizeDispatchThreadAction as Wt, sortAgentRegistrations as X, resolveExecutablePathsOnPath as Xn, buildDispatchReplyContextSummary as Xt, parseAgentEnabledOption as Y, materializeCliLaunchCommand as Yn, createSerialAgentInteractionCallback as Yt, repairBuiltinControllerInstall as Z, listAgentControllerSupervisedProcessIds as Zn, normalizeDispatchPostMessageAction as Zt, loadDaemonRouteCatalog as _, resolveInstalledGrokBuildLaunchCandidates as _n, renderWorkingLanguagePrompt as _r, removeProjectConnection as _t, buildOpenClawSpaceSessionKey as a, resolveDispatchContinuityObservation as an, buildWorkingLanguagePromptPlan as ar, isHomebrewCommandPath as at, resolveLocalController as b, resolveInstalledCodexLaunchCandidates as bn, resolveAgentProfileEditCapabilities as br, setDefaultProjectConnection as bt, findOpenClawAgentById as c, resolveLatestScopedConversationExecutionState as cn, createAuthorityOpenMeldServiceRuntimeId as cr, ProjectBindingOperationError as ct, resolveOpenClawAuthStatus as d, createLocalAdapterEntries as dn, isAgentExecutionReadyOrConnecting as dr, isProjectBound as dt, createLocalTaskInterruptSender as en, isDispatchSpaceActionDeliveryOnly as er, detectInstalledSkillsAgents as et, resolveOpenClawProviderRuntimeWorkingDirectory as f, parseOpenCodeGoUsageResponse as fn, listAgentControllerPermissionModeOptions as fr, listProjectBindings as ft, writeDaemonRouteCatalogCache as g, probeGrokBuildAcpInterface as gn, renderInformationProtectionPrompt as gr, removeMissingProjectConnections as gt, readDaemonRouteCatalogCache as h, GrokBuildAcpTransportError as hn, projectPeopleComputersToLegacyLocalRuntimes as hr, removeAgentActivityBindingsWhileDeliveryLocked as ht, listOpenClawGatewayAgents as i, resolveDispatchQueueLogMeta as in, buildInformationProtectionPromptPlan as ir, isBunGlobalCommandPath as it, resolveAgentProfilePrimaryAgentControllerReport as j, buildRuntimeWorkspaceFingerprint as jn, resolveAdaptiveHeartbeatIntervalMs as jr, normalizeCustomProfileWorkspacePath as jt, createPrimaryBindingReadSession as k, DaemonServiceRunError as kn, applyIntervalJitterMs as kr, resolveRegistryRuntimeAdapterContractByAgentControllerRef as kt, findOpenClawAgentsByWorkspace as l, resolveCatalogSyncSkippedProfilesLogState as ln, getAgentControllerPermissionModeDisplayMetadata as lr, ProjectBindingStoreUpdateRequiredError as lt, resolveOpenClawLocalBootstrapPaths as m, resolveInstalledOpenCodeLaunchCandidates as mn, peopleComputerContainsDevice as mr, migrateProjectBindingStore as mt, fetchOpenClawGatewayHealth as n, createLocalExecutionSlots as nn, areAgentControllerInterfaceAccountsSame as nr, EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES as nt, normalizeOpenClawSpaceIdPrefix as o, resolveCompatibleAgentContextMatch as on, createAgentControllerInterfaceDisplayRows as or, isNpmGlobalCommandPath as ot, readOpenClawLocalBootstrapState as p, forkOpenCodeServerSession as pn, parseAgentControllerRef as pr, listProjectConnectionsWithStatus as pt, normalizeAgentId as q, resolveDispatchSpaceActionMcpServer as qn, SPACE_ACTION_TARGET_GUIDANCE_LINES as qt, listOpenClawAgents as r, createInflightTaskControlRegistry as rn, buildAgentControllerRef as rr, resolveBuiltinAgentControllerDefinition as rt, slugifyOpenClawNamePart as s, resolveCompatibleConversationExecutionState as sn, createAgentExecutionStatusDisplayRows as sr, isPnpmGlobalCommandPath as st, prepareProviderRuntime as t, buildLocalServiceDiagnosticsPayload as tn, DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS as tr, resolveSkillsAgentRegistry as tt, matchesExpectedWorkspace as u, createLocalAdapterContainer as un, getAgentControllerPermissionModeFieldLabel as ur, bindProject as ut, buildRuntimeRouteTargets as v, projectCodexUsageLimits as vn, resolveAgentControllerPermissionModeForController as vr, resolveProjectBindingForPath as vt, resolveCurrentEffectiveProfileWorkingFolderRuntime as w, resolveInstalledClaudeCodeLaunchCandidates as wn, resolveRouteRegistrationReconcileDecision as wr, withAgentActivityDeliveryLock as wt, resolveLocalRuntimeControllerSupport as x, forkCodexAppServerThread as xn, resolveEvidenceSyncHealth as xr, unbindProject as xt, readLocalEnabledControllers as y, resolveCodexTimeoutMs as yn, resolveAgentExecutionStatus as yr, runIfAgentActivityBindingGenerationIsCurrent as yt, reconcileNewRunnableBuiltinAgentRegistrations as z, settleInflightTask as zn, describeProfileWorkspacePathValidationFailure as zt };
33333
+ export { canManageRegistryAgentSkillTargets as $, materializeCliLaunchCommand as $n, mergeOpenClawGatewayVisibility as $t, createExpectedRoutesReadSession as A, emitDriftDetectedEvidence as An, resolveRouteRegistrationReconcileDecision as Ar, ensureOpenMeldManagedProfileWorkspace as At, reconcileNewRunnableBuiltinAgentsForSetup as B, removeConversationExecutionState as Bn, resolveBuiltinAgentControllerBrand as Br, createMutableRouteCatalogState as Bt, createModelCatalogReadSession as C, probeCodexAppServerAccount as Cn, renderWorkingLanguagePrompt as Cr, resolveLocalProjectConnectionForPath as Ct, NO_LOCAL_AGENTS_NEED_OPENMELD_SERVICE_REASON as D, probeClaudeCodeUsageLimits as Dn, resolveEvidenceSyncHealth as Dr, resolveRegistryOriginLaunchCommand as Dt, resolveProfileWorkspaceRuntime as E, projectCodexUsageLimits as En, resolveAgentProfileEditCapabilities as Er, listBuiltinAgentsRegistryEntries as Et, listAgentRegistrations as F, buildRuntimeWorkspaceFingerprint as Fn, applyIntervalJitterMs as Fr, resolveConfiguredProfileWorkspacePathForAccount as Ft, updateAgentRegistrations as G, withLedgerStateTransaction as Gn, syncRuntimeEventToInflightTaskControlRegistry as Gt, resolveAgentTargetState as H, seedLegacyAgentContext as Hn, summarizeSkippedDaemonProfiles as Ht, listAgentTargetStates as I, buildTaskResultEnvelope as In, pruneStaleLeases as Ir, setCustomProfileWorkspace as It, normalizeAgentIds as J, buildAgentContextLookupKey as Jn, isDaemonReconcileInProgressError as Jt, notifyDaemonRouteCatalogChanged as K, buildAuthenticatedControlPlaneResponse as Kn, SPACE_ACTION_CONTEXT_GUIDANCE_LINES as Kt, manageAgentRegistrationInstallation as L, appendLedgerHistoryEntry as Ln, resolveAdaptiveHeartbeatIntervalMs as Lr, setOpenMeldManagedProfileWorkspace as Lt, addAgentCustomTarget as M, emitReconcileStartedEvidence as Mn, MAX_HEARTBEAT_INTERVAL_MS as Mr, readProfileWorkspaceConfig as Mt, createRegistrationFromCatalogTarget as N, DaemonServiceRunError as Nn, MIN_HEARTBEAT_INTERVAL_MS as Nr, readProfileWorkspaceConfigForAccount as Nt, syncDeviceRuntimeStateProjection as O, resolveInstalledClaudeCodeLaunchCandidates as On, resolveNativeAgentControllerPermissionModeForController as Or, resolveRegistryRuntimeAdapterCapabilitySnapshot as Ot, listAgentCustomTargets as P, runRuntimeTask as Pn, applyAcceptedLeases as Pr, resolveConfiguredProfileWorkspacePath as Pt, resolveLocalRegistryAgentIdFromAgentControllerRef as Q, buildCliLaunchInvocation as Qn, createPendingAgentInteractionRegistry as Qt, readAgentRuntimeConfigHealth as R, commitResolvedAgentContext as Rn, resolveCatalogSyncIntervalMs as Rr, validateCustomProfileWorkspacePath as Rt, syncProfileWorkspaceState as S, forkCodexAppServerThread as Sn, renderInformationProtectionPrompt as Sr, canonicalizeLocalProjectPath as St, resolveEffectiveProfileWorkingFolderRuntime as T, verifyCodexAppServerThread as Tn, resolveAgentExecutionStatus as Tr, withAgentActivityLocalStateLock as Tt, setAgentRegistrationEnabled as U, settleInflightTask as Un, syncDaemonRouteCatalogState as Ut, removeAgentCustomTarget as V, resolveConversationExecutionStateByLookupKey as Vn, createRouteCatalogFromMutableState as Vt, updateAgentCustomTarget as W, upsertConversationExecutionState as Wn, normalizeDispatchThreadAction as Wt, sortAgentRegistrations as X, createUnsupportedProviderUsageLimits as Xn, buildDispatchReplyContextSummary as Xt, parseAgentEnabledOption as Y, createUnavailableProviderUsageLimits as Yn, createSerialAgentInteractionCallback as Yt, repairBuiltinControllerInstall as Z, resolveDispatchSpaceActionMcpServer as Zn, normalizeDispatchPostMessageAction as Zt, loadDaemonRouteCatalog as _, probeGrokBuildAcpInterface as _n, isAgentExecutionReadyOrConnecting as _r, removeProjectConnection as _t, buildOpenClawSpaceSessionKey as a, resolveDispatchContinuityObservation as an, DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS as ar, isHomebrewCommandPath as at, resolveLocalController as b, resolveCodexTimeoutMs as bn, peopleComputerContainsDevice as br, setDefaultProjectConnection as bt, findOpenClawAgentById as c, resolveLatestScopedConversationExecutionState as cn, buildInformationProtectionPromptPlan as cr, ProjectBindingOperationError as ct, resolveOpenClawAuthStatus as d, createLocalAdapterEntries as dn, createAgentExecutionStatusDisplayRows as dr, isProjectBound as dt, createLocalTaskInterruptSender as en, resolveExecutablePathsOnPath as er, detectInstalledSkillsAgents as et, resolveOpenClawProviderRuntimeWorkingDirectory as f, parseOpenRouterUsageResponse as fn, createAuthorityOpenMeldServiceRuntimeId as fr, listProjectBindings as ft, writeDaemonRouteCatalogCache as g, GrokBuildAcpTransportError as gn, isAgentControllerUsageRefreshUnavailable as gr, removeMissingProjectConnections as gt, readDaemonRouteCatalogCache as h, resolveInstalledOpenCodeLaunchCandidates as hn, isAgentControllerUsageAccountUnavailable as hr, removeAgentActivityBindingsWhileDeliveryLocked as ht, listOpenClawGatewayAgents as i, resolveDispatchQueueLogMeta as in, isDispatchSpaceActionDeliveryOnly as ir, isBunGlobalCommandPath as it, resolveAgentProfilePrimaryAgentControllerReport as j, emitReconcileCompletedEvidence as jn, ADAPTIVE_HEARTBEAT_JITTER_RATIO as jr, normalizeCustomProfileWorkspacePath as jt, createPrimaryBindingReadSession as k, parseAntigravityUsageLimits as kn, resolveSelectableCandidates as kr, resolveRegistryRuntimeAdapterContractByAgentControllerRef as kt, findOpenClawAgentsByWorkspace as l, resolveCatalogSyncSkippedProfilesLogState as ln, buildWorkingLanguagePromptPlan as lr, ProjectBindingStoreUpdateRequiredError as lt, resolveOpenClawLocalBootstrapPaths as m, forkOpenCodeServerSession as mn, getAgentControllerPermissionModeFieldLabel as mr, migrateProjectBindingStore as mt, fetchOpenClawGatewayHealth as n, createLocalExecutionSlots as nn, createProviderOriginalError as nr, EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES as nt, normalizeOpenClawSpaceIdPrefix as o, resolveCompatibleAgentContextMatch as on, areAgentControllerInterfaceAccountsSame as or, isNpmGlobalCommandPath as ot, readOpenClawLocalBootstrapState as p, parseOpenCodeGoUsageResponse as pn, getAgentControllerPermissionModeDisplayMetadata as pr, listProjectConnectionsWithStatus as pt, normalizeAgentId as q, assertLegacyAgentContextAssociation as qn, SPACE_ACTION_TARGET_GUIDANCE_LINES as qt, listOpenClawAgents as r, createInflightTaskControlRegistry as rn, DISPATCH_SPACE_ACTION_DELIVERY_ONLY_ENV as rr, resolveBuiltinAgentControllerDefinition as rt, slugifyOpenClawNamePart as s, resolveCompatibleConversationExecutionState as sn, buildAgentControllerRef as sr, isPnpmGlobalCommandPath as st, prepareProviderRuntime as t, buildLocalServiceDiagnosticsPayload as tn, listAgentControllerSupervisedProcessIds as tr, resolveSkillsAgentRegistry as tt, matchesExpectedWorkspace as u, createLocalAdapterContainer as un, createAgentControllerInterfaceDisplayRows as ur, bindProject as ut, buildRuntimeRouteTargets as v, resolveInstalledGrokBuildLaunchCandidates as vn, listAgentControllerPermissionModeOptions as vr, resolveProjectBindingForPath as vt, resolveCurrentEffectiveProfileWorkingFolderRuntime as w, resolveCodexAppServerCompletedTurn as wn, resolveAgentControllerPermissionModeForController as wr, withAgentActivityDeliveryLock as wt, resolveLocalRuntimeControllerSupport as x, resolveInstalledCodexLaunchCandidates as xn, projectPeopleComputersToLegacyLocalRuntimes as xr, unbindProject as xt, readLocalEnabledControllers as y, projectCursorUsageLimits as yn, parseAgentControllerRef as yr, runIfAgentActivityBindingGenerationIsCurrent as yt, reconcileNewRunnableBuiltinAgentRegistrations as z, loadLedgerState as zn, compareAgentControllerRefsForDisplay as zr, describeProfileWorkspacePathValidationFailure as zt };
33135
33334
 
33136
- //# sourceMappingURL=prepare-provider-runtime-BGdfbFyZ.js.map
33335
+ //# sourceMappingURL=prepare-provider-runtime-CD6XRt7X.js.map