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.
- package/dist/{add-me-membership-ChntsjGm.js → add-me-membership-_O3IzRLn.js} +2 -2
- package/dist/{add-me-membership-ChntsjGm.js.map → add-me-membership-_O3IzRLn.js.map} +1 -1
- package/dist/{agents-DruPcNSg.js → agents-B5E7c7sQ.js} +9 -9
- package/dist/{agents-DruPcNSg.js.map → agents-B5E7c7sQ.js.map} +1 -1
- package/dist/{api-client-foundation-CDj_9Rks.js → api-client-foundation-1p1VVFJ_.js} +1 -1
- package/dist/{api-client-foundation-EZpFLGVC.js → api-client-foundation-C-RPnq_p.js} +3 -3
- package/dist/{api-client-foundation-EZpFLGVC.js.map → api-client-foundation-C-RPnq_p.js.map} +1 -1
- package/dist/auth-session-CmjjkLiB.js +4 -0
- package/dist/{auth-session-DhSHCYvl.js → auth-session-iXCJO5oB.js} +4 -4
- package/dist/{auth-session-DhSHCYvl.js.map → auth-session-iXCJO5oB.js.map} +1 -1
- package/dist/{channel-tvFZSSVr.js → channel-BciBrA3Y.js} +4 -4
- package/dist/{channel-tvFZSSVr.js.map → channel-BciBrA3Y.js.map} +1 -1
- package/dist/{cli-binary-manifest-Bjf6T7Ef.js → cli-binary-manifest-ETxqCzfS.js} +8 -1
- package/dist/cli-binary-manifest-ETxqCzfS.js.map +1 -0
- package/dist/{command-0yoZa1GT.js → command-D0pcAIoE.js} +16 -16
- package/dist/{command-0yoZa1GT.js.map → command-D0pcAIoE.js.map} +1 -1
- package/dist/{computer-connection-CoBDorh6.js → computer-connection-CHP1-0rK.js} +2 -2
- package/dist/{computer-connection-CoBDorh6.js.map → computer-connection-CHP1-0rK.js.map} +1 -1
- package/dist/{computer-connection-review-Dy7p1LXZ.js → computer-connection-review-dHotFqmD.js} +5 -5
- package/dist/{computer-connection-review-Dy7p1LXZ.js.map → computer-connection-review-dHotFqmD.js.map} +1 -1
- package/dist/{computer-disconnect-4Ks_DVXV.js → computer-disconnect-B2DLDxWx.js} +7 -7
- package/dist/{computer-disconnect-4Ks_DVXV.js.map → computer-disconnect-B2DLDxWx.js.map} +1 -1
- package/dist/{computer-setup-continuation-ZcQb7MvI.js → computer-setup-continuation-Cv_c1B-7.js} +3 -3
- package/dist/{computer-setup-continuation-ZcQb7MvI.js.map → computer-setup-continuation-Cv_c1B-7.js.map} +1 -1
- package/dist/{context-BPIoofMa.js → context-BnhlFS8m.js} +3 -3
- package/dist/{context-BPIoofMa.js.map → context-BnhlFS8m.js.map} +1 -1
- package/dist/{control-plane-rTE2rHZ5.js → control-plane-QqGL-jtT.js} +2 -2
- package/dist/{control-plane-rTE2rHZ5.js.map → control-plane-QqGL-jtT.js.map} +1 -1
- package/dist/{daemon-device-id-DDazRZUV.js → daemon-device-id-DbSIqHoZ.js} +5 -5
- package/dist/{daemon-device-id-DDazRZUV.js.map → daemon-device-id-DbSIqHoZ.js.map} +1 -1
- package/dist/{daemon-lifecycle-journal-CRxQL9m6.js → daemon-lifecycle-journal-DsVVvKJe.js} +6 -6
- package/dist/{daemon-lifecycle-journal-CRxQL9m6.js.map → daemon-lifecycle-journal-DsVVvKJe.js.map} +1 -1
- package/dist/{daemon-service-runtime-BTzL0w6s.js → daemon-service-runtime-DZI6Ke3_.js} +4 -4
- package/dist/{daemon-service-runtime-BTzL0w6s.js.map → daemon-service-runtime-DZI6Ke3_.js.map} +1 -1
- package/dist/{daemon-service-update-coordinator-BDs0p4bA.js → daemon-service-update-coordinator-BgVBlJ4d.js} +13 -13
- package/dist/{daemon-service-update-coordinator-BDs0p4bA.js.map → daemon-service-update-coordinator-BgVBlJ4d.js.map} +1 -1
- package/dist/{dispatch-owned-runtime-CK2YJ2Oo.js → dispatch-owned-runtime-BeIQetEt.js} +9 -9
- package/dist/{dispatch-owned-runtime-CK2YJ2Oo.js.map → dispatch-owned-runtime-BeIQetEt.js.map} +1 -1
- package/dist/{dist-Bw6OBFYo.js → dist-BgYBvEBB.js} +13 -7
- package/dist/dist-BgYBvEBB.js.map +1 -0
- package/dist/{dist--TaSMxQz.js → dist-DQS0XYkb.js} +3 -3
- package/dist/{dist--TaSMxQz.js.map → dist-DQS0XYkb.js.map} +1 -1
- package/dist/{dist-B12upl5l.js → dist-z72xYz5Z.js} +1 -1
- package/dist/{elapsed-time-C3nfbdd9.js → elapsed-time-C7S-6bWV.js} +6 -6
- package/dist/{elapsed-time-C3nfbdd9.js.map → elapsed-time-C7S-6bWV.js.map} +1 -1
- package/dist/{entry-De__5RVq.js → entry-CX24qHnm.js} +7 -7
- package/dist/{entry-De__5RVq.js.map → entry-CX24qHnm.js.map} +1 -1
- package/dist/{installation-inventory-Bq8iZfSa.js → installation-inventory-B3mwQFEA.js} +3 -3
- package/dist/{installation-inventory-Bq8iZfSa.js.map → installation-inventory-B3mwQFEA.js.map} +1 -1
- package/dist/{installer-C7iSAOSz.js → installer-DnIJ4y3l.js} +2 -2
- package/dist/{installer-C7iSAOSz.js.map → installer-DnIJ4y3l.js.map} +1 -1
- package/dist/{local-components-DleLEzSU.js → local-components-DJiMS67S.js} +36 -3
- package/dist/local-components-DJiMS67S.js.map +1 -0
- package/dist/{meta-api-BpwJWE22.js → meta-api-DgHkiIdr.js} +4 -4
- package/dist/{meta-api-BpwJWE22.js.map → meta-api-DgHkiIdr.js.map} +1 -1
- package/dist/{openmeld-C0OSZJtn.js → openmeld-kYp99hOl.js} +32 -32
- package/dist/{openmeld-C0OSZJtn.js.map → openmeld-kYp99hOl.js.map} +1 -1
- package/dist/{openmeld-maintenance-worker-DY90mkWW.js → openmeld-maintenance-worker-BqU1Asrm.js} +9 -9
- package/dist/{openmeld-maintenance-worker-DY90mkWW.js.map → openmeld-maintenance-worker-BqU1Asrm.js.map} +1 -1
- package/dist/{openmeld-tools-update-join-DgzNuaDy.js → openmeld-tools-update-join-BKJnGR5h.js} +4 -4
- package/dist/{openmeld-tools-update-join-DgzNuaDy.js.map → openmeld-tools-update-join-BKJnGR5h.js.map} +1 -1
- package/dist/{openmeld-tools-update-process-frame-DbEZ3fEh.js → openmeld-tools-update-process-frame-Csy2XKUf.js} +1 -1
- package/dist/{openmeld-tools-update-process-frame-BtFKp70p.js → openmeld-tools-update-process-frame-YLOS82E3.js} +2 -2
- package/dist/{openmeld-tools-update-process-frame-BtFKp70p.js.map → openmeld-tools-update-process-frame-YLOS82E3.js.map} +1 -1
- package/dist/openmeld.js +5 -5
- package/dist/{prepare-provider-runtime-BGdfbFyZ.js → prepare-provider-runtime-CD6XRt7X.js} +374 -175
- package/dist/prepare-provider-runtime-CD6XRt7X.js.map +1 -0
- package/dist/{prepare-session-executor-CA1gq8dR.js → prepare-session-executor-DY2s4FuY.js} +19 -19
- package/dist/{prepare-session-executor-CA1gq8dR.js.map → prepare-session-executor-DY2s4FuY.js.map} +1 -1
- package/dist/{process-channel-C1wRGUmk.js → process-channel-CzgOWiuh.js} +2 -2
- package/dist/{process-channel-C1wRGUmk.js.map → process-channel-CzgOWiuh.js.map} +1 -1
- package/dist/{runtime-DFlEdls4.js → runtime-Br4Ga0rJ.js} +17 -17
- package/dist/{runtime-DFlEdls4.js.map → runtime-Br4Ga0rJ.js.map} +1 -1
- package/dist/{runtime-agent-controller-reporting-submission-C_xD2A-P.js → runtime-agent-controller-reporting-submission-CQjbBiHh.js} +139 -33
- package/dist/runtime-agent-controller-reporting-submission-CQjbBiHh.js.map +1 -0
- package/dist/{runtime-reporting-health-state-_bvJcV1y.js → runtime-reporting-health-state-a1FUE1S-.js} +13 -12
- package/dist/{runtime-reporting-health-state-_bvJcV1y.js.map → runtime-reporting-health-state-a1FUE1S-.js.map} +1 -1
- package/dist/{runtime-transport-DH8Ks-AU.js → runtime-transport-D4CVffnp.js} +3 -3
- package/dist/{runtime-transport-DH8Ks-AU.js.map → runtime-transport-D4CVffnp.js.map} +1 -1
- package/dist/{service-KHA_Yv8q.js → service-D9QVc4_y.js} +56 -20
- package/dist/service-D9QVc4_y.js.map +1 -0
- package/dist/{service-account-authorization-BHWs8cRP.js → service-account-authorization-DLhUgGDb.js} +2 -2
- package/dist/{service-account-authorization-BHWs8cRP.js.map → service-account-authorization-DLhUgGDb.js.map} +1 -1
- package/dist/{service-account-control-BcHjpVid.js → service-account-control-DIdQILmo.js} +9 -9
- package/dist/{service-account-control-BcHjpVid.js.map → service-account-control-DIdQILmo.js.map} +1 -1
- package/dist/{service-control-capabilities-DTKD2-o0.js → service-control-capabilities-BvHU_NcX.js} +1 -1
- package/dist/{service-control-capabilities-B4433dGT.js → service-control-capabilities-CGv5Cuxo.js} +3 -3
- package/dist/{service-control-capabilities-B4433dGT.js.map → service-control-capabilities-CGv5Cuxo.js.map} +1 -1
- package/dist/{state-iJqU2XWw.js → state-AWe5DSV8.js} +2 -2
- package/dist/{state-iJqU2XWw.js.map → state-AWe5DSV8.js.map} +1 -1
- package/dist/upgrade-CLnZ4WBF.js +4 -0
- package/dist/{upgrade-DlBDEvs4.js → upgrade-CcnlL7FH.js} +8 -8
- package/dist/{upgrade-DlBDEvs4.js.map → upgrade-CcnlL7FH.js.map} +1 -1
- package/package.json +14 -14
- package/dist/auth-session-BOG3gV2K2.js +0 -4
- package/dist/cli-binary-manifest-Bjf6T7Ef.js.map +0 -1
- package/dist/dist-Bw6OBFYo.js.map +0 -1
- package/dist/local-components-DleLEzSU.js.map +0 -1
- package/dist/prepare-provider-runtime-BGdfbFyZ.js.map +0 -1
- package/dist/runtime-agent-controller-reporting-submission-C_xD2A-P.js.map +0 -1
- package/dist/service-KHA_Yv8q.js.map +0 -1
- package/dist/upgrade-CuzsgsKh.js +0 -4
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { Bn as toStructuredApiClientFailure, fn as createRuntimeReportingApi } from "./dist-
|
|
4
|
-
import {
|
|
5
|
-
import { nt as resolvePublicAgentAvailabilityCopy } from "./runtime-transport-
|
|
6
|
-
import { d as getAuthSessionState } from "./auth-session-
|
|
7
|
-
import { B as buildAgentControllerInterfaceKeeperKey, G as readLastSuccessfulAgentControllerInterfaceCheckAt, H as didAgentControllerCommandFingerprintRemainStable, J as recordAgentControllerInterfaceProbeSuccess, K as readReusableAgentControllerInterfaceSnapshot, U as readLastKnownAgentControllerAuthSnapshot, W as readLastKnownAgentControllerUsageLimits, X as resolveAgentControllerCommandFingerprint, Y as recordAgentControllerUsageLimitsObservation, q as recordAgentControllerInterfaceProbeFailure, w as resolveOpenCodeAuthPath } from "./dispatch-owned-runtime-
|
|
8
|
-
import { v as warnDaemonEvent } from "./daemon-device-id-
|
|
3
|
+
import { Bn as toStructuredApiClientFailure, fn as createRuntimeReportingApi } from "./dist-BgYBvEBB.js";
|
|
4
|
+
import { $n as materializeCliLaunchCommand, Cn as probeCodexAppServerAccount, Dn as probeClaudeCodeUsageLimits, En as projectCodexUsageLimits, I as listAgentTargetStates, Qn as buildCliLaunchInvocation, Xn as createUnsupportedProviderUsageLimits, Yn as createUnavailableProviderUsageLimits, _n as probeGrokBuildAcpInterface, at as isHomebrewCommandPath, fn as parseOpenRouterUsageResponse, gn as GrokBuildAcpTransportError, gr as isAgentControllerUsageRefreshUnavailable, it as isBunGlobalCommandPath, j as resolveAgentProfilePrimaryAgentControllerReport, kn as parseAntigravityUsageLimits, nr as createProviderOriginalError, nt as EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES, or as areAgentControllerInterfaceAccountsSame, ot as isNpmGlobalCommandPath, pn as parseOpenCodeGoUsageResponse, rt as resolveBuiltinAgentControllerDefinition, sr as buildAgentControllerRef, st as isPnpmGlobalCommandPath, x as resolveLocalRuntimeControllerSupport, yn as projectCursorUsageLimits } from "./prepare-provider-runtime-CD6XRt7X.js";
|
|
5
|
+
import { nt as resolvePublicAgentAvailabilityCopy } from "./runtime-transport-D4CVffnp.js";
|
|
6
|
+
import { T as readMacOsNativeKeychainToken, d as getAuthSessionState } from "./auth-session-iXCJO5oB.js";
|
|
7
|
+
import { B as buildAgentControllerInterfaceKeeperKey, G as readLastSuccessfulAgentControllerInterfaceCheckAt, H as didAgentControllerCommandFingerprintRemainStable, J as recordAgentControllerInterfaceProbeSuccess, K as readReusableAgentControllerInterfaceSnapshot, U as readLastKnownAgentControllerAuthSnapshot, W as readLastKnownAgentControllerUsageLimits, X as resolveAgentControllerCommandFingerprint, Y as recordAgentControllerUsageLimitsObservation, q as recordAgentControllerInterfaceProbeFailure, w as resolveOpenCodeAuthPath } from "./dispatch-owned-runtime-BeIQetEt.js";
|
|
8
|
+
import { v as warnDaemonEvent } from "./daemon-device-id-DbSIqHoZ.js";
|
|
9
9
|
import { i as readDaemonServiceContract } from "./daemon-service-contract-COPKbCy_.js";
|
|
10
|
-
import { l as canAttachAuthTokenToRequest, t as createCliApiClientFoundation, u as fingerprintRequestAuthorization } from "./api-client-foundation-
|
|
10
|
+
import { l as canAttachAuthTokenToRequest, t as createCliApiClientFoundation, u as fingerprintRequestAuthorization } from "./api-client-foundation-C-RPnq_p.js";
|
|
11
11
|
import { homedir, loadavg, tmpdir } from "node:os";
|
|
12
12
|
import { join } from "node:path";
|
|
13
13
|
import { mkdtemp, readFile, realpath, rm } from "node:fs/promises";
|
|
@@ -400,6 +400,60 @@ function parsePlainVersion(body) {
|
|
|
400
400
|
return version.length > 0 ? version : null;
|
|
401
401
|
}
|
|
402
402
|
//#endregion
|
|
403
|
+
//#region src/local-service/inventory/cursor-usage-probe.ts
|
|
404
|
+
const CURSOR_ENDPOINT = "https://api2.cursor.sh";
|
|
405
|
+
const TRAILING_SLASH_RE$1 = /\/$/u;
|
|
406
|
+
async function probeCursorUsageLimits(input) {
|
|
407
|
+
const env = input.environment ?? process.env;
|
|
408
|
+
const platform = input.platform ?? process.platform;
|
|
409
|
+
const unavailable = (reason) => createUnavailableProviderUsageLimits(input.observedAt, void 0, { reason });
|
|
410
|
+
const endpoint = env.CURSOR_API_ENDPOINT?.trim().replace(TRAILING_SLASH_RE$1, "");
|
|
411
|
+
if (endpoint && endpoint !== CURSOR_ENDPOINT) return unavailable("not_applicable");
|
|
412
|
+
let token = env.CURSOR_AUTH_TOKEN?.trim();
|
|
413
|
+
if (!token && (env.CURSOR_API_KEY?.trim() || env.AGENT_CLI_CREDENTIAL_STORE === "memory")) return unavailable("not_applicable");
|
|
414
|
+
try {
|
|
415
|
+
if (!token) token = await readStoredCursorToken({
|
|
416
|
+
...input,
|
|
417
|
+
environment: env,
|
|
418
|
+
platform
|
|
419
|
+
});
|
|
420
|
+
if (!token) return unavailable("not_reported");
|
|
421
|
+
const response = await (input.fetchFn ?? fetch)(`${CURSOR_ENDPOINT}/aiserver.v1.DashboardService/GetCurrentPeriodUsage`, {
|
|
422
|
+
method: "POST",
|
|
423
|
+
redirect: "error",
|
|
424
|
+
signal: AbortSignal.timeout(4e3),
|
|
425
|
+
headers: {
|
|
426
|
+
authorization: `Bearer ${token}`,
|
|
427
|
+
"content-type": "application/json",
|
|
428
|
+
"connect-protocol-version": "1",
|
|
429
|
+
"x-cursor-client-type": "cli"
|
|
430
|
+
},
|
|
431
|
+
body: "{}"
|
|
432
|
+
});
|
|
433
|
+
if (!response.ok) return unavailable(response.status === 401 || response.status === 403 ? "not_applicable" : "refresh_failed");
|
|
434
|
+
return projectCursorUsageLimits({
|
|
435
|
+
observedAt: input.observedAt,
|
|
436
|
+
value: await response.json()
|
|
437
|
+
});
|
|
438
|
+
} catch {
|
|
439
|
+
return unavailable("refresh_failed");
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
async function readStoredCursorToken(input) {
|
|
443
|
+
const env = input.environment;
|
|
444
|
+
if (input.platform === "darwin" && env.AGENT_CLI_CREDENTIAL_STORE !== "file") return (await (input.readKeychain ?? (() => readMacOsNativeKeychainToken({
|
|
445
|
+
service: "cursor-access-token",
|
|
446
|
+
account: "cursor-user"
|
|
447
|
+
})))())?.trim();
|
|
448
|
+
const home = (input.platform === "win32" ? env.USERPROFILE : env.HOME) || homedir();
|
|
449
|
+
let directory = join(env.XDG_CONFIG_HOME || join(home, ".config"), "cursor");
|
|
450
|
+
if (input.platform === "darwin") directory = join(home, ".cursor");
|
|
451
|
+
else if (input.platform === "win32") directory = join(env.APPDATA || join(home, "AppData", "Roaming"), "Cursor");
|
|
452
|
+
const content = await (input.readCredentials ?? ((path) => readFile(path, "utf8")))(join(directory, "auth.json"));
|
|
453
|
+
const credentials = JSON.parse(content);
|
|
454
|
+
return credentials && typeof credentials === "object" && "accessToken" in credentials && typeof credentials.accessToken === "string" ? credentials.accessToken.trim() : void 0;
|
|
455
|
+
}
|
|
456
|
+
//#endregion
|
|
403
457
|
//#region src/local-service/inventory/opencode-readiness-probe.ts
|
|
404
458
|
const DEFAULT_PROBE_TIMEOUT_MS = 8e3;
|
|
405
459
|
const SDK_READ_TIMEOUT_MS = 4e3;
|
|
@@ -411,6 +465,7 @@ const OPENCODE_SERVER_URL_RE = /on\s+(https?:\/\/[^\s]+)/u;
|
|
|
411
465
|
const ANSI_ESCAPE = String.fromCharCode(27);
|
|
412
466
|
const OPENCODE_GO_PROVIDER_ID = "opencode-go";
|
|
413
467
|
const OPENCODE_GO_USAGE_URL = "https://opencode.ai/zen/go/v1/usage";
|
|
468
|
+
const TRAILING_SLASH_RE = /\/$/u;
|
|
414
469
|
async function probeOpenCodeReadiness(input) {
|
|
415
470
|
let server = null;
|
|
416
471
|
try {
|
|
@@ -459,42 +514,54 @@ async function readOpenCodeProviderUsageLimits(input) {
|
|
|
459
514
|
}
|
|
460
515
|
const providers = [...providersById.values()];
|
|
461
516
|
return (await Promise.all(providers.map(async (provider) => {
|
|
462
|
-
if (provider.id !== OPENCODE_GO_PROVIDER_ID) return createUnsupportedProviderUsageLimits(input.observedAt, provider);
|
|
463
|
-
const
|
|
517
|
+
if (provider.id !== OPENCODE_GO_PROVIDER_ID && provider.id !== "openrouter") return createUnsupportedProviderUsageLimits(input.observedAt, provider);
|
|
518
|
+
const config = input.providerList.all.find((item) => item.id === provider.id);
|
|
519
|
+
const defaultBaseUrl = provider.id === "openrouter" ? "https://openrouter.ai/api/v1" : "https://opencode.ai/zen/go/v1";
|
|
520
|
+
if (typeof config?.options.baseURL === "string" && config.options.baseURL.replace(TRAILING_SLASH_RE, "") !== defaultBaseUrl) return createUnavailableProviderUsageLimits(input.observedAt, provider, { reason: "not_applicable" });
|
|
521
|
+
const apiKey = normalizeOptionalText$1(config?.key) ?? await resolveOpenCodeProviderApiKey({
|
|
464
522
|
authContent: input.authContent,
|
|
523
|
+
environment: input.environment,
|
|
465
524
|
providerId: provider.id,
|
|
466
525
|
readAuthFile: input.readAuthFile
|
|
467
526
|
});
|
|
468
|
-
if (!apiKey) return createUnavailableProviderUsageLimits(input.observedAt, provider);
|
|
527
|
+
if (!apiKey) return createUnavailableProviderUsageLimits(input.observedAt, provider, { reason: "not_authenticated" });
|
|
469
528
|
try {
|
|
470
|
-
const response = await (input.fetchFn ?? fetch)(OPENCODE_GO_USAGE_URL, {
|
|
529
|
+
const response = await (input.fetchFn ?? fetch)(provider.id === "openrouter" ? "https://openrouter.ai/api/v1/key" : OPENCODE_GO_USAGE_URL, {
|
|
530
|
+
redirect: "error",
|
|
471
531
|
headers: { authorization: `Bearer ${apiKey}` },
|
|
472
532
|
signal: AbortSignal.timeout(SDK_READ_TIMEOUT_MS)
|
|
473
533
|
});
|
|
474
|
-
if (!response.ok) return createUnavailableProviderUsageLimits(input.observedAt, provider);
|
|
475
|
-
return parseOpenCodeGoUsageResponse({
|
|
534
|
+
if (!response.ok) return createUnavailableProviderUsageLimits(input.observedAt, provider, { reason: usageRequestFailureReason(response.status) });
|
|
535
|
+
return (provider.id === "openrouter" ? parseOpenRouterUsageResponse : parseOpenCodeGoUsageResponse)({
|
|
476
536
|
observedAt: input.observedAt,
|
|
477
537
|
value: await response.json()
|
|
478
538
|
});
|
|
479
539
|
} catch {
|
|
480
|
-
return createUnavailableProviderUsageLimits(input.observedAt, provider);
|
|
540
|
+
return createUnavailableProviderUsageLimits(input.observedAt, provider, { reason: "refresh_failed" });
|
|
481
541
|
}
|
|
482
542
|
}))).flat().slice(0, 32);
|
|
483
543
|
}
|
|
544
|
+
function usageRequestFailureReason(status) {
|
|
545
|
+
if (status === 403) return "not_applicable";
|
|
546
|
+
return status === 401 ? "not_authenticated" : "refresh_failed";
|
|
547
|
+
}
|
|
484
548
|
async function resolveOpenCodeProviderApiKey(input) {
|
|
485
|
-
|
|
549
|
+
const environment = input.environment ?? process.env;
|
|
550
|
+
let authContent = input.authContent ?? environment.OPENCODE_AUTH_CONTENT;
|
|
486
551
|
if (!authContent) try {
|
|
487
552
|
const authPath = resolveOpenCodeAuthPath({
|
|
488
553
|
homeDir: homedir(),
|
|
489
|
-
xdgDataHome:
|
|
554
|
+
xdgDataHome: environment.XDG_DATA_HOME
|
|
490
555
|
});
|
|
491
556
|
authContent = input.readAuthFile ? await input.readAuthFile(authPath) : await readFile(authPath, "utf8");
|
|
492
557
|
} catch {
|
|
493
|
-
|
|
558
|
+
authContent = "{}";
|
|
494
559
|
}
|
|
495
560
|
try {
|
|
496
561
|
const providerAuth = toRecord$1(JSON.parse(authContent)?.[input.providerId]);
|
|
497
|
-
|
|
562
|
+
if (providerAuth?.type === "api") return normalizeOptionalText$1(providerAuth.key);
|
|
563
|
+
if (providerAuth) return null;
|
|
564
|
+
return normalizeOptionalText$1(environment[input.providerId === OPENCODE_GO_PROVIDER_ID ? "OPENCODE_API_KEY" : "OPENROUTER_API_KEY"]);
|
|
498
565
|
} catch {
|
|
499
566
|
return null;
|
|
500
567
|
}
|
|
@@ -862,11 +929,27 @@ async function resolveAntigravityInterfaceSnapshot(input) {
|
|
|
862
929
|
};
|
|
863
930
|
}
|
|
864
931
|
async function probeAgentControllerUsageObservationAuth(input) {
|
|
932
|
+
if (input.agentId === "codex") try {
|
|
933
|
+
const account = await probeCodexAppServerAccount({
|
|
934
|
+
launchContract: input.launchContract,
|
|
935
|
+
timeoutMs: PROBE_TIMEOUT_MS
|
|
936
|
+
});
|
|
937
|
+
return {
|
|
938
|
+
status: account.authStatus,
|
|
939
|
+
...account.email ? { email: account.email } : {}
|
|
940
|
+
};
|
|
941
|
+
} catch {
|
|
942
|
+
return { status: "unknown" };
|
|
943
|
+
}
|
|
865
944
|
if (input.agentId !== "claude-code") return { status: "unknown" };
|
|
866
945
|
return resolveClaudeAuthSnapshot(await withProbeWorkingDirectory((workingDirectory) => runLaunchContractCommand({
|
|
867
946
|
workingDirectory,
|
|
868
947
|
allowNonZeroExit: true,
|
|
869
|
-
args: [
|
|
948
|
+
args: [
|
|
949
|
+
"auth",
|
|
950
|
+
"status",
|
|
951
|
+
"--json"
|
|
952
|
+
],
|
|
870
953
|
launchContract: input.launchContract
|
|
871
954
|
})));
|
|
872
955
|
}
|
|
@@ -951,8 +1034,7 @@ async function resolveAgentControllerInterfaceSnapshot(input) {
|
|
|
951
1034
|
currentAuth: outcome.snapshot.auth,
|
|
952
1035
|
current: outcome.snapshot.usageLimits,
|
|
953
1036
|
previous: lastKnownUsageLimits,
|
|
954
|
-
previousAuth: lastKnownAuth
|
|
955
|
-
support: controllerDefinition?.usageLimitSupport ?? "not_evaluated"
|
|
1037
|
+
previousAuth: lastKnownAuth
|
|
956
1038
|
});
|
|
957
1039
|
const completedSnapshot = withUsageLimits({
|
|
958
1040
|
...outcome.snapshot,
|
|
@@ -1011,11 +1093,11 @@ function withUsageLimits(snapshot, usageLimits) {
|
|
|
1011
1093
|
}
|
|
1012
1094
|
function resolveUsageLimitsAfterCompletedProbe(input) {
|
|
1013
1095
|
if (!areAgentControllerInterfaceAccountsSame(input.previousAuth, input.currentAuth)) return input.current;
|
|
1014
|
-
if (input.
|
|
1096
|
+
if (!input.current) return input.previous ?? void 0;
|
|
1015
1097
|
return preserveLastKnownUsageLimitsAfterFailure(input);
|
|
1016
1098
|
}
|
|
1017
1099
|
function preserveLastKnownUsageLimitsAfterFailure(input) {
|
|
1018
|
-
const currentIsUnavailable = input.current
|
|
1100
|
+
const currentIsUnavailable = isAgentControllerUsageRefreshUnavailable(input.current);
|
|
1019
1101
|
const previousHasKnownCapacity = input.previous?.some((limit) => limit.status === "available" || limit.status === "exhausted" || limit.status === "stale");
|
|
1020
1102
|
if (!(currentIsUnavailable && previousHasKnownCapacity && input.previous)) return input.current;
|
|
1021
1103
|
return input.previous.map((limit) => limit.usedPercent === null ? limit : {
|
|
@@ -1028,7 +1110,7 @@ function resolveUsageLimitsAfterFailedProbe(input) {
|
|
|
1028
1110
|
return preserveLastKnownUsageLimitsAfterFailure(input);
|
|
1029
1111
|
}
|
|
1030
1112
|
function resolveInitialProviderUsageLimits(input) {
|
|
1031
|
-
if (input.support === "native") return createUnavailableProviderUsageLimits(input.checkedAt);
|
|
1113
|
+
if (input.support === "native" || input.support === "observational") return createUnavailableProviderUsageLimits(input.checkedAt);
|
|
1032
1114
|
if (input.support === "unsupported") return createUnsupportedProviderUsageLimits(input.checkedAt);
|
|
1033
1115
|
}
|
|
1034
1116
|
function resolveLaunchSnapshot(state) {
|
|
@@ -1208,6 +1290,14 @@ async function resolveClaudeCodeInterfaceSnapshot(input) {
|
|
|
1208
1290
|
})]);
|
|
1209
1291
|
const auth = resolveClaudeAuthSnapshot(authProbe);
|
|
1210
1292
|
const version = versionProbe.ok ? parseCliVersion(versionProbe.stdout) : null;
|
|
1293
|
+
let usageLimits = createUnavailableProviderUsageLimits(input.baseSnapshot.checkedAt, void 0, { reason: "not_reported" });
|
|
1294
|
+
if (auth.status !== "authenticated") usageLimits = createUnavailableProviderUsageLimits(input.baseSnapshot.checkedAt, void 0, { reason: auth.status === "unauthenticated" ? "not_authenticated" : "refresh_failed" });
|
|
1295
|
+
else if (auth.email && version && (compareSemverCore(version, "2.1.285") ?? -1) >= 0) usageLimits = await probeClaudeCodeUsageLimits({
|
|
1296
|
+
expectedEmail: auth.email,
|
|
1297
|
+
launchContract: input.launchContract,
|
|
1298
|
+
workingDirectory: input.workingDirectory,
|
|
1299
|
+
observedAt: input.baseSnapshot.checkedAt
|
|
1300
|
+
});
|
|
1211
1301
|
let message = input.baseSnapshot.message;
|
|
1212
1302
|
let status = input.baseSnapshot.status;
|
|
1213
1303
|
if (auth.status === "unauthenticated") {
|
|
@@ -1222,6 +1312,7 @@ async function resolveClaudeCodeInterfaceSnapshot(input) {
|
|
|
1222
1312
|
snapshot: {
|
|
1223
1313
|
...input.baseSnapshot,
|
|
1224
1314
|
auth,
|
|
1315
|
+
usageLimits,
|
|
1225
1316
|
message,
|
|
1226
1317
|
status,
|
|
1227
1318
|
version,
|
|
@@ -1251,6 +1342,7 @@ async function resolveCursorInterfaceSnapshot(input) {
|
|
|
1251
1342
|
})]);
|
|
1252
1343
|
const auth = resolveCursorAuthSnapshot(authProbe);
|
|
1253
1344
|
const version = versionProbe.ok ? parseCliVersion(versionProbe.stdout) : null;
|
|
1345
|
+
const usageLimits = auth.status === "authenticated" ? await probeCursorUsageLimits({ observedAt: input.baseSnapshot.checkedAt }) : createUnavailableProviderUsageLimits(input.baseSnapshot.checkedAt, void 0, { reason: auth.status === "unauthenticated" ? "not_authenticated" : "refresh_failed" });
|
|
1254
1346
|
let message = input.baseSnapshot.message;
|
|
1255
1347
|
let status = input.baseSnapshot.status;
|
|
1256
1348
|
if (auth.status === "unauthenticated") {
|
|
@@ -1265,6 +1357,7 @@ async function resolveCursorInterfaceSnapshot(input) {
|
|
|
1265
1357
|
snapshot: {
|
|
1266
1358
|
...input.baseSnapshot,
|
|
1267
1359
|
auth,
|
|
1360
|
+
usageLimits,
|
|
1268
1361
|
message,
|
|
1269
1362
|
status,
|
|
1270
1363
|
version,
|
|
@@ -1768,11 +1861,15 @@ function resolveCursorAuthSnapshot(probe) {
|
|
|
1768
1861
|
if (!probe.ok) return { status: "unknown" };
|
|
1769
1862
|
const payload = parseJsonRecord(probe.stdout);
|
|
1770
1863
|
if (payload?.status === "unauthenticated") return { status: "unauthenticated" };
|
|
1771
|
-
if (payload?.status === "authenticated")
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1864
|
+
if (payload?.status === "authenticated") {
|
|
1865
|
+
const email = normalizeOptionalText(payload.email);
|
|
1866
|
+
return {
|
|
1867
|
+
...email ? { email } : {},
|
|
1868
|
+
label: email ?? "Signed in",
|
|
1869
|
+
status: "authenticated",
|
|
1870
|
+
type: "cursor_login"
|
|
1871
|
+
};
|
|
1872
|
+
}
|
|
1776
1873
|
return { status: "unknown" };
|
|
1777
1874
|
}
|
|
1778
1875
|
function resolveOpenClawAuthProbe(probe) {
|
|
@@ -2021,10 +2118,19 @@ function projectAgentControllerInterfaceForCloud(snapshot) {
|
|
|
2021
2118
|
skills: [],
|
|
2022
2119
|
status: snapshot.status,
|
|
2023
2120
|
...snapshot.usageLimits ? { usageLimits: snapshot.usageLimits.map((limit) => ({
|
|
2024
|
-
|
|
2025
|
-
|
|
2121
|
+
key: limit.key,
|
|
2122
|
+
label: limit.label,
|
|
2123
|
+
observedAt: limit.observedAt,
|
|
2124
|
+
...limit.reason ? { reason: limit.reason } : {},
|
|
2125
|
+
...limit.provider ? { provider: {
|
|
2126
|
+
displayName: limit.provider.displayName,
|
|
2127
|
+
id: limit.provider.id
|
|
2128
|
+
} } : {},
|
|
2129
|
+
resetsAt: limit.resetsAt,
|
|
2130
|
+
status: limit.status,
|
|
2131
|
+
usedPercent: limit.usedPercent
|
|
2026
2132
|
})) } : {},
|
|
2027
|
-
usageLimitsSupportMatrixVersion:
|
|
2133
|
+
usageLimitsSupportMatrixVersion: 4,
|
|
2028
2134
|
version: snapshot.version,
|
|
2029
2135
|
...snapshot.versionAdvisory ? { versionAdvisory: {
|
|
2030
2136
|
checkedAt: snapshot.versionAdvisory.checkedAt,
|
|
@@ -2669,4 +2775,4 @@ function toErrorMessage(error) {
|
|
|
2669
2775
|
//#endregion
|
|
2670
2776
|
export { submitRuntimeProviderConversationProofs as a, resolveLocalAgentControllerLaunchability as c, resolveAgentControllerInterfaceSnapshot as d, recordRuntimeProviderUsageLimits as f, submitRuntimeAgentControllerReports as i, resolveLocalAgentControllerReportDecision as l, submitProfileRuntimeAgentControllerReport as n, collectLocalAgentControllerInventory as o, submitRuntimeAgentControllerReport as r, resolveLocalAgentControllerBlockerReasonCodes as s, notifyRuntimeReportingAttemptObserver as t, probeAgentControllerUsageObservationAuth as u };
|
|
2671
2777
|
|
|
2672
|
-
//# sourceMappingURL=runtime-agent-controller-reporting-submission-
|
|
2778
|
+
//# sourceMappingURL=runtime-agent-controller-reporting-submission-CQjbBiHh.js.map
|