@iam-brain/opencode-codex-auth 1.2.3 → 1.2.5
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/README.md +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -18
- package/dist/index.js.map +1 -1
- package/dist/lib/accounts-tools.d.ts.map +1 -1
- package/dist/lib/accounts-tools.js +114 -29
- package/dist/lib/accounts-tools.js.map +1 -1
- package/dist/lib/cache-io.d.ts.map +1 -1
- package/dist/lib/cache-io.js +8 -2
- package/dist/lib/cache-io.js.map +1 -1
- package/dist/lib/cache-lock.d.ts +1 -0
- package/dist/lib/cache-lock.d.ts.map +1 -1
- package/dist/lib/cache-lock.js +12 -2
- package/dist/lib/cache-lock.js.map +1 -1
- package/dist/lib/codex-native/accounts.d.ts.map +1 -1
- package/dist/lib/codex-native/accounts.js +18 -12
- package/dist/lib/codex-native/accounts.js.map +1 -1
- package/dist/lib/codex-native/acquire-auth.d.ts +1 -1
- package/dist/lib/codex-native/acquire-auth.d.ts.map +1 -1
- package/dist/lib/codex-native/acquire-auth.js +317 -204
- package/dist/lib/codex-native/acquire-auth.js.map +1 -1
- package/dist/lib/codex-native/auth-menu-flow.d.ts.map +1 -1
- package/dist/lib/codex-native/auth-menu-flow.js +27 -12
- package/dist/lib/codex-native/auth-menu-flow.js.map +1 -1
- package/dist/lib/codex-native/auth-menu-quotas.d.ts.map +1 -1
- package/dist/lib/codex-native/auth-menu-quotas.js +11 -4
- package/dist/lib/codex-native/auth-menu-quotas.js.map +1 -1
- package/dist/lib/codex-native/browser.d.ts +2 -0
- package/dist/lib/codex-native/browser.d.ts.map +1 -1
- package/dist/lib/codex-native/browser.js +3 -3
- package/dist/lib/codex-native/browser.js.map +1 -1
- package/dist/lib/codex-native/catalog-auth.d.ts.map +1 -1
- package/dist/lib/codex-native/catalog-auth.js +4 -2
- package/dist/lib/codex-native/catalog-auth.js.map +1 -1
- package/dist/lib/codex-native/chat-hooks.d.ts.map +1 -1
- package/dist/lib/codex-native/chat-hooks.js +0 -8
- package/dist/lib/codex-native/chat-hooks.js.map +1 -1
- package/dist/lib/codex-native/client-identity.d.ts.map +1 -1
- package/dist/lib/codex-native/client-identity.js +13 -5
- package/dist/lib/codex-native/client-identity.js.map +1 -1
- package/dist/lib/codex-native/collaboration.d.ts +1 -1
- package/dist/lib/codex-native/collaboration.d.ts.map +1 -1
- package/dist/lib/codex-native/collaboration.js +9 -116
- package/dist/lib/codex-native/collaboration.js.map +1 -1
- package/dist/lib/codex-native/oauth-auth-methods.d.ts +1 -0
- package/dist/lib/codex-native/oauth-auth-methods.d.ts.map +1 -1
- package/dist/lib/codex-native/oauth-auth-methods.js +36 -6
- package/dist/lib/codex-native/oauth-auth-methods.js.map +1 -1
- package/dist/lib/codex-native/oauth-persistence.d.ts.map +1 -1
- package/dist/lib/codex-native/oauth-persistence.js +6 -0
- package/dist/lib/codex-native/oauth-persistence.js.map +1 -1
- package/dist/lib/codex-native/oauth-server.d.ts +1 -0
- package/dist/lib/codex-native/oauth-server.d.ts.map +1 -1
- package/dist/lib/codex-native/oauth-server.js +114 -43
- package/dist/lib/codex-native/oauth-server.js.map +1 -1
- package/dist/lib/codex-native/openai-loader-fetch.d.ts.map +1 -1
- package/dist/lib/codex-native/openai-loader-fetch.js +122 -33
- package/dist/lib/codex-native/openai-loader-fetch.js.map +1 -1
- package/dist/lib/codex-native/originator.d.ts.map +1 -1
- package/dist/lib/codex-native/originator.js +18 -1
- package/dist/lib/codex-native/originator.js.map +1 -1
- package/dist/lib/codex-native/request-routing.d.ts.map +1 -1
- package/dist/lib/codex-native/request-routing.js +9 -0
- package/dist/lib/codex-native/request-routing.js.map +1 -1
- package/dist/lib/codex-native/request-transform.d.ts.map +1 -1
- package/dist/lib/codex-native/request-transform.js +39 -8
- package/dist/lib/codex-native/request-transform.js.map +1 -1
- package/dist/lib/codex-native/session-affinity-state.d.ts +1 -1
- package/dist/lib/codex-native/session-affinity-state.d.ts.map +1 -1
- package/dist/lib/codex-native/session-affinity-state.js +1 -0
- package/dist/lib/codex-native/session-affinity-state.js.map +1 -1
- package/dist/lib/codex-native.js.map +1 -1
- package/dist/lib/codex-prompts-cache.d.ts.map +1 -1
- package/dist/lib/codex-prompts-cache.js.map +1 -1
- package/dist/lib/codex-quota-fetch.d.ts.map +1 -1
- package/dist/lib/codex-quota-fetch.js +12 -9
- package/dist/lib/codex-quota-fetch.js.map +1 -1
- package/dist/lib/codex-status-storage.d.ts.map +1 -1
- package/dist/lib/codex-status-storage.js.map +1 -1
- package/dist/lib/codex-status.d.ts.map +1 -1
- package/dist/lib/codex-status.js +28 -3
- package/dist/lib/codex-status.js.map +1 -1
- package/dist/lib/config.d.ts +3 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +41 -21
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/fetch-orchestrator.d.ts +2 -1
- package/dist/lib/fetch-orchestrator.d.ts.map +1 -1
- package/dist/lib/fetch-orchestrator.js +81 -11
- package/dist/lib/fetch-orchestrator.js.map +1 -1
- package/dist/lib/identity.d.ts +6 -0
- package/dist/lib/identity.d.ts.map +1 -1
- package/dist/lib/identity.js +25 -4
- package/dist/lib/identity.js.map +1 -1
- package/dist/lib/opencode-install.d.ts.map +1 -1
- package/dist/lib/opencode-install.js +5 -6
- package/dist/lib/opencode-install.js.map +1 -1
- package/dist/lib/orchestrator-agent.d.ts.map +1 -1
- package/dist/lib/orchestrator-agent.js +2 -1
- package/dist/lib/orchestrator-agent.js.map +1 -1
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +24 -3
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/proactive-refresh.d.ts.map +1 -1
- package/dist/lib/proactive-refresh.js +50 -13
- package/dist/lib/proactive-refresh.js.map +1 -1
- package/dist/lib/refresh-queue.d.ts.map +1 -1
- package/dist/lib/refresh-queue.js +1 -0
- package/dist/lib/refresh-queue.js.map +1 -1
- package/dist/lib/remote-cache-fetch.d.ts.map +1 -1
- package/dist/lib/remote-cache-fetch.js +5 -1
- package/dist/lib/remote-cache-fetch.js.map +1 -1
- package/dist/lib/request-snapshots.d.ts.map +1 -1
- package/dist/lib/request-snapshots.js +46 -10
- package/dist/lib/request-snapshots.js.map +1 -1
- package/dist/lib/rotation.d.ts.map +1 -1
- package/dist/lib/rotation.js +3 -2
- package/dist/lib/rotation.js.map +1 -1
- package/dist/lib/session-affinity.d.ts.map +1 -1
- package/dist/lib/session-affinity.js +35 -20
- package/dist/lib/session-affinity.js.map +1 -1
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +110 -45
- package/dist/lib/storage.js.map +1 -1
- package/dist/lib/ui/auth-menu.d.ts +3 -2
- package/dist/lib/ui/auth-menu.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.js +1 -1
- package/dist/lib/ui/auth-menu.js.map +1 -1
- package/package.json +20 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-install.d.ts","sourceRoot":"","sources":["../../lib/opencode-install.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,0CAA0C,CAAA;AAE/E,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAMvG;AAOD,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAqBD,wBAAsB,qBAAqB,CACzC,KAAK,GAAE,0BAA+B,GACrC,OAAO,CAAC,2BAA2B,CAAC,
|
|
1
|
+
{"version":3,"file":"opencode-install.d.ts","sourceRoot":"","sources":["../../lib/opencode-install.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,0CAA0C,CAAA;AAE/E,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAMvG;AAOD,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAqBD,wBAAsB,qBAAqB,CACzC,KAAK,GAAE,0BAA+B,GACrC,OAAO,CAAC,2BAA2B,CAAC,CA+CtC"}
|
|
@@ -22,7 +22,7 @@ function normalizePluginList(raw) {
|
|
|
22
22
|
}
|
|
23
23
|
async function quarantineMalformedConfig(configPath) {
|
|
24
24
|
const quarantineDir = path.join(path.dirname(configPath), "quarantine");
|
|
25
|
-
|
|
25
|
+
return quarantineFile({
|
|
26
26
|
sourcePath: configPath,
|
|
27
27
|
quarantineDir,
|
|
28
28
|
now: Date.now
|
|
@@ -40,12 +40,11 @@ export async function ensurePluginInstalled(input = {}) {
|
|
|
40
40
|
current = JSON.parse(raw);
|
|
41
41
|
}
|
|
42
42
|
catch (error) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (!(error instanceof SyntaxError)) {
|
|
47
|
-
throw error;
|
|
43
|
+
if (error instanceof SyntaxError) {
|
|
44
|
+
const { quarantinedPath } = await quarantineMalformedConfig(configPath);
|
|
45
|
+
throw new Error(`Malformed OpenCode config at ${configPath}. Moved corrupt file to ${quarantinedPath}; repair and rerun.`);
|
|
48
46
|
}
|
|
47
|
+
throw error;
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-install.js","sourceRoot":"","sources":["../../lib/opencode-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAA;AAE/E,MAAM,UAAU,yBAAyB,CAAC,MAA0C,OAAO,CAAC,GAAG;IAC7F,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAA;IAC3C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;AACxE,CAAC;AAoBD,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACrG,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,UAAkB;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,CAAA;IACvE,
|
|
1
|
+
{"version":3,"file":"opencode-install.js","sourceRoot":"","sources":["../../lib/opencode-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-agent.d.ts","sourceRoot":"","sources":["../../lib/orchestrator-agent.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,6BAA6B,oBAAoB,CAAA;AAC9D,eAAO,MAAM,sCAAsC,6BAA8C,CAAA;
|
|
1
|
+
{"version":3,"file":"orchestrator-agent.d.ts","sourceRoot":"","sources":["../../lib/orchestrator-agent.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,6BAA6B,oBAAoB,CAAA;AAC9D,eAAO,MAAM,sCAAsC,6BAA8C,CAAA;AAgJjG,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,yCAAyC,GAAG;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,0CAA0C,GAAG;IACvD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAMtG;AAyCD,wBAAsB,wBAAwB,CAC5C,KAAK,GAAE,6BAAkC,GACxC,OAAO,CAAC,8BAA8B,CAAC,CAWzC;AAED,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,yCAAyC,GAC/C,OAAO,CAAC,0CAA0C,CAAC,CAiFrD"}
|
|
@@ -122,6 +122,7 @@ Sub-agents are their to make you go fast and time is a big constraint so leverag
|
|
|
122
122
|
4. Iterate on this. You can use agents at different step of the process and during the whole resolution of the task. Never forget to use them.
|
|
123
123
|
5. Ask the user before shutting sub-agents down unless you need to because you reached the agent limit.
|
|
124
124
|
`;
|
|
125
|
+
const CODEX_ORCHESTRATOR_AGENT_PROMPT_FALLBACK = stripLeadingFrontmatter(CODEX_ORCHESTRATOR_AGENT_TEMPLATE);
|
|
125
126
|
function stripLeadingFrontmatter(content) {
|
|
126
127
|
const trimmed = content.trimStart();
|
|
127
128
|
if (!trimmed.startsWith("---\n"))
|
|
@@ -141,7 +142,7 @@ async function resolveOrchestratorAgentTemplate(cacheDir) {
|
|
|
141
142
|
const upstream = prompts.orchestrator?.trim();
|
|
142
143
|
if (upstream)
|
|
143
144
|
return composeTemplateFromPrompt(upstream);
|
|
144
|
-
return
|
|
145
|
+
return composeTemplateFromPrompt(CODEX_ORCHESTRATOR_AGENT_PROMPT_FALLBACK);
|
|
145
146
|
}
|
|
146
147
|
export function defaultOpencodeAgentsDir(env = process.env) {
|
|
147
148
|
const xdgRoot = env.XDG_CONFIG_HOME?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-agent.js","sourceRoot":"","sources":["../../lib/orchestrator-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAElF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAA;AAC9D,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,6BAA6B,WAAW,CAAA;AAEjG,MAAM,wBAAwB,GAAG;;;;CAIhC,CAAA;AAED,MAAM,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GzC,CAAA;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAA;IACnC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC7C,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;IACtC,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;AACzD,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,gCAAgC,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAA;IAC7F,OAAO,GAAG,wBAAwB,KAAK,cAAc,IAAI,CAAA;AAC3D,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,QAAiB;IAC/D,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAA;IAC7C,IAAI,QAAQ;QAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"orchestrator-agent.js","sourceRoot":"","sources":["../../lib/orchestrator-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/paths.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../lib/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AACxD,eAAO,MAAM,iCAAiC,+BAA+B,CAAA;AAC7E,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;AACxE,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../lib/paths.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AACxD,eAAO,MAAM,iCAAiC,+BAA+B,CAAA;AAC7E,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;AACxE,eAAO,MAAM,oBAAoB,yBAAyB,CAAA;AAU1D,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAEtG;AAED,wBAAgB,sCAAsC,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAEpH;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAIrG;AAED,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAIvG;AAED,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAEtG;AAED,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAErG;AAED,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAExG;AAED,wBAAgB,iCAAiC,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAE/G;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAmBR;AAED,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,MAAM,CAExG"}
|
package/dist/lib/paths.js
CHANGED
|
@@ -6,6 +6,12 @@ export const CODEX_SESSION_AFFINITY_FILE = "codex-session-affinity.json";
|
|
|
6
6
|
export const CODEX_SNAPSHOTS_FILE = "codex-snapshots.json";
|
|
7
7
|
const OPENCODE_AUTH_FILE = "auth.json";
|
|
8
8
|
const OPENCODE_SESSION_STORAGE_DIR = path.join("opencode", "storage", "session");
|
|
9
|
+
function readAbsoluteEnvPath(raw) {
|
|
10
|
+
const trimmed = raw?.trim();
|
|
11
|
+
if (!trimmed)
|
|
12
|
+
return undefined;
|
|
13
|
+
return path.isAbsolute(trimmed) ? trimmed : undefined;
|
|
14
|
+
}
|
|
9
15
|
export function defaultAuthPath() {
|
|
10
16
|
return path.join(defaultOpencodeConfigPath(), CODEX_ACCOUNTS_FILE);
|
|
11
17
|
}
|
|
@@ -16,13 +22,13 @@ export function opencodeProviderAuthLegacyFallbackPath(env = process.env) {
|
|
|
16
22
|
return opencodeProviderAuthPath({ ...env, XDG_DATA_HOME: undefined });
|
|
17
23
|
}
|
|
18
24
|
export function defaultOpencodeDataPath(env = process.env) {
|
|
19
|
-
const xdgData = env.XDG_DATA_HOME
|
|
25
|
+
const xdgData = readAbsoluteEnvPath(env.XDG_DATA_HOME);
|
|
20
26
|
if (xdgData)
|
|
21
27
|
return xdgData;
|
|
22
28
|
return path.join(os.homedir(), ".local", "share");
|
|
23
29
|
}
|
|
24
30
|
export function defaultOpencodeConfigPath(env = process.env) {
|
|
25
|
-
const xdgConfig = env.XDG_CONFIG_HOME
|
|
31
|
+
const xdgConfig = readAbsoluteEnvPath(env.XDG_CONFIG_HOME);
|
|
26
32
|
if (xdgConfig)
|
|
27
33
|
return path.join(xdgConfig, "opencode");
|
|
28
34
|
return path.join(os.homedir(), ".config", "opencode");
|
|
@@ -40,7 +46,22 @@ export function defaultOpencodeSessionStoragePath(env = process.env) {
|
|
|
40
46
|
return path.join(defaultOpencodeDataPath(env), OPENCODE_SESSION_STORAGE_DIR);
|
|
41
47
|
}
|
|
42
48
|
export function opencodeSessionFilePath(sessionKey, env = process.env) {
|
|
43
|
-
|
|
49
|
+
const baseDir = path.resolve(defaultOpencodeSessionStoragePath(env));
|
|
50
|
+
const normalized = sessionKey.trim();
|
|
51
|
+
if (!normalized) {
|
|
52
|
+
throw new Error("invalid_session_key");
|
|
53
|
+
}
|
|
54
|
+
if (path.isAbsolute(normalized) ||
|
|
55
|
+
normalized.includes("..") ||
|
|
56
|
+
normalized.includes("/") ||
|
|
57
|
+
normalized.includes("\\")) {
|
|
58
|
+
throw new Error("invalid_session_key");
|
|
59
|
+
}
|
|
60
|
+
const candidate = path.resolve(baseDir, `${normalized}.json`);
|
|
61
|
+
if (candidate !== baseDir && !candidate.startsWith(`${baseDir}${path.sep}`)) {
|
|
62
|
+
throw new Error("invalid_session_key");
|
|
63
|
+
}
|
|
64
|
+
return candidate;
|
|
44
65
|
}
|
|
45
66
|
export function legacyOpenAICodexAccountsPathFor(filePath) {
|
|
46
67
|
return path.join(path.dirname(filePath), LEGACY_OPENAI_CODEX_ACCOUNTS_FILE);
|
package/dist/lib/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../lib/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AACxD,MAAM,CAAC,MAAM,iCAAiC,GAAG,4BAA4B,CAAA;AAC7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAA;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAC1D,MAAM,kBAAkB,GAAG,WAAW,CAAA;AACtC,MAAM,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAEhF,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,mBAAmB,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAA0C,OAAO,CAAC,GAAG;IAC5F,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,MAA0C,OAAO,CAAC,GAAG;IAC1G,OAAO,wBAAwB,CAAC,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA0C,OAAO,CAAC,GAAG;IAC3F,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../lib/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proactive-refresh.d.ts","sourceRoot":"","sources":["../../lib/proactive-refresh.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proactive-refresh.d.ts","sourceRoot":"","sources":["../../lib/proactive-refresh.ts"],"names":[],"mappings":"AAkCA,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjG,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHhB"}
|
|
@@ -1,20 +1,35 @@
|
|
|
1
1
|
import { ensureOpenAIOAuthDomain, listOpenAIOAuthDomains, saveAuthStorage } from "./storage.js";
|
|
2
2
|
const PROACTIVE_REFRESH_FAILURE_COOLDOWN_MS = 30_000;
|
|
3
|
+
const TERMINAL_REFRESH_ERROR_CODES = new Set([
|
|
4
|
+
"invalid_grant",
|
|
5
|
+
"invalid_refresh_token",
|
|
6
|
+
"refresh_token_revoked",
|
|
7
|
+
"token_revoked"
|
|
8
|
+
]);
|
|
3
9
|
function isInvalidGrantError(error) {
|
|
4
10
|
const oauthCode = typeof error === "object" && error !== null && "oauthCode" in error
|
|
5
11
|
? error.oauthCode
|
|
6
12
|
: undefined;
|
|
7
|
-
if (typeof oauthCode === "string"
|
|
8
|
-
|
|
13
|
+
if (typeof oauthCode === "string") {
|
|
14
|
+
const normalized = oauthCode.trim().toLowerCase();
|
|
15
|
+
if (TERMINAL_REFRESH_ERROR_CODES.has(normalized)) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
9
18
|
}
|
|
10
19
|
if (error instanceof Error) {
|
|
11
|
-
|
|
20
|
+
const message = error.message.trim().toLowerCase();
|
|
21
|
+
if (message.includes("invalid_grant"))
|
|
22
|
+
return true;
|
|
23
|
+
if (message.includes("refresh token") && (message.includes("invalid") || message.includes("revoked"))) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
12
26
|
}
|
|
13
27
|
return false;
|
|
14
28
|
}
|
|
15
29
|
export async function runOneProactiveRefreshTick(input) {
|
|
16
30
|
const leaseMs = 120_000;
|
|
17
31
|
const processDomain = async (authMode) => {
|
|
32
|
+
const staleClaimIdentityKeys = new Set();
|
|
18
33
|
while (true) {
|
|
19
34
|
let claimed;
|
|
20
35
|
await saveAuthStorage(input.authPath, (auth) => {
|
|
@@ -27,6 +42,8 @@ export async function runOneProactiveRefreshTick(input) {
|
|
|
27
42
|
if (!candidate.identityKey || !candidate.refresh || candidate.expires === undefined) {
|
|
28
43
|
return false;
|
|
29
44
|
}
|
|
45
|
+
if (staleClaimIdentityKeys.has(candidate.identityKey))
|
|
46
|
+
return false;
|
|
30
47
|
if (candidate.expires > dueCutoff)
|
|
31
48
|
return false;
|
|
32
49
|
if (typeof candidate.cooldownUntil === "number" && candidate.cooldownUntil > now) {
|
|
@@ -43,10 +60,12 @@ export async function runOneProactiveRefreshTick(input) {
|
|
|
43
60
|
const refreshToken = account.refresh;
|
|
44
61
|
if (!identityKey || !refreshToken)
|
|
45
62
|
return;
|
|
46
|
-
|
|
63
|
+
const leaseUntil = now + leaseMs;
|
|
64
|
+
account.refreshLeaseUntil = leaseUntil;
|
|
47
65
|
claimed = {
|
|
48
66
|
identityKey,
|
|
49
|
-
refresh: refreshToken
|
|
67
|
+
refresh: refreshToken,
|
|
68
|
+
leaseUntil
|
|
50
69
|
};
|
|
51
70
|
});
|
|
52
71
|
if (!claimed)
|
|
@@ -63,6 +82,14 @@ export async function runOneProactiveRefreshTick(input) {
|
|
|
63
82
|
const account = domain.accounts.find((candidate) => candidate.identityKey === claimedAccount.identityKey);
|
|
64
83
|
if (!account)
|
|
65
84
|
return;
|
|
85
|
+
if (account.refreshLeaseUntil !== claimedAccount.leaseUntil ||
|
|
86
|
+
account.refresh !== claimedAccount.refresh) {
|
|
87
|
+
staleClaimIdentityKeys.add(claimedAccount.identityKey);
|
|
88
|
+
if (account.refreshLeaseUntil === claimedAccount.leaseUntil) {
|
|
89
|
+
delete account.refreshLeaseUntil;
|
|
90
|
+
}
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
66
93
|
delete account.refreshLeaseUntil;
|
|
67
94
|
if (invalidGrant) {
|
|
68
95
|
account.enabled = false;
|
|
@@ -80,20 +107,30 @@ export async function runOneProactiveRefreshTick(input) {
|
|
|
80
107
|
const account = domain.accounts.find((candidate) => candidate.identityKey === claimedAccount.identityKey);
|
|
81
108
|
if (!account)
|
|
82
109
|
return;
|
|
110
|
+
if (account.refreshLeaseUntil !== claimedAccount.leaseUntil ||
|
|
111
|
+
account.refresh !== claimedAccount.refresh) {
|
|
112
|
+
staleClaimIdentityKeys.add(claimedAccount.identityKey);
|
|
113
|
+
if (account.refreshLeaseUntil === claimedAccount.leaseUntil) {
|
|
114
|
+
delete account.refreshLeaseUntil;
|
|
115
|
+
}
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
83
118
|
if (account.enabled === false) {
|
|
84
119
|
delete account.refreshLeaseUntil;
|
|
85
120
|
return;
|
|
86
121
|
}
|
|
87
122
|
const now = input.now();
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
123
|
+
const dueCutoff = now + input.bufferMs;
|
|
124
|
+
const nextExpires = Number.isFinite(tokens.expires) ? tokens.expires : 0;
|
|
125
|
+
account.access = tokens.access;
|
|
126
|
+
account.refresh = tokens.refresh;
|
|
127
|
+
account.expires = nextExpires;
|
|
128
|
+
delete account.refreshLeaseUntil;
|
|
129
|
+
if (nextExpires <= dueCutoff) {
|
|
130
|
+
account.cooldownUntil = now + PROACTIVE_REFRESH_FAILURE_COOLDOWN_MS;
|
|
94
131
|
}
|
|
95
|
-
else
|
|
96
|
-
delete account.
|
|
132
|
+
else {
|
|
133
|
+
delete account.cooldownUntil;
|
|
97
134
|
}
|
|
98
135
|
});
|
|
99
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proactive-refresh.js","sourceRoot":"","sources":["../../lib/proactive-refresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG/F,MAAM,qCAAqC,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"proactive-refresh.js","sourceRoot":"","sources":["../../lib/proactive-refresh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-queue.d.ts","sourceRoot":"","sources":["../../lib/refresh-queue.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAIvC,OAAO,CAAC,IAAI,EAAE,WAAW;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;CAQlC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB,CAAA;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,qBAAqB,CAAA;IAC5B,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,iBAAiB,EAAE,CAAA;CACpC,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"refresh-queue.d.ts","sourceRoot":"","sources":["../../lib/refresh-queue.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAIvC,OAAO,CAAC,IAAI,EAAE,WAAW;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,EAAE;CAQlC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB,CAAA;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,qBAAqB,CAAA;IAC5B,GAAG,EAAE,MAAM,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,iBAAiB,EAAE,CAAA;CACpC,GAAG,gBAAgB,CAiDnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-queue.js","sourceRoot":"","sources":["../../lib/refresh-queue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"refresh-queue.js","sourceRoot":"","sources":["../../lib/refresh-queue.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,qBAAqB;IACxB,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAA;IACtC,QAAQ,CAAQ;IAExB,YAAY,KAA2B;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,CAAC,IAAiB;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,KAAa;QACf,MAAM,GAAG,GAAkB,EAAE,CAAA;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;QAC7C,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAaD,MAAM,UAAU,sBAAsB,CAAC,KAKtC;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5D,IAAI,KAAiC,CAAA;IACrC,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,KAAK,UAAU,IAAI;QACjB,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;YACvB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;YAChC,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;gBACvB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAA;gBACtD,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;wBAC3B,8BAA8B;oBAChC,CAAC;oBACD,8BAA8B;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,GAAG,KAAK,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;YACH,IAAI,KAAK;gBAAE,OAAM;YACjB,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBACvB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACrB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;wBAC3B,mCAAmC;oBACrC,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,EAAE,UAAU,CAAC,CAAA;QAChB,CAAC;QACD,IAAI;YACF,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,KAAK,GAAG,SAAS,CAAA;QACnB,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-cache-fetch.d.ts","sourceRoot":"","sources":["../../lib/remote-cache-fetch.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,IAAI,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GACD;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,cAAc,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GACD;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;CAC3C,CAAA;AAEL,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;
|
|
1
|
+
{"version":3,"file":"remote-cache-fetch.d.ts","sourceRoot":"","sources":["../../lib/remote-cache-fetch.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,IAAI,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GACD;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,cAAc,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GACD;IACE,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;CAC3C,CAAA;AAEL,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAsCD,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA0HhC;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE;IACL,QAAQ,EAAE,sBAAsB,EAAE,CAAA;CACnC,EACD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAElC"}
|
|
@@ -12,6 +12,8 @@ function isAllowedRemoteUrl(url, allowedHosts) {
|
|
|
12
12
|
const parsed = new URL(url);
|
|
13
13
|
if (parsed.protocol !== "https:")
|
|
14
14
|
return false;
|
|
15
|
+
if (parsed.username || parsed.password)
|
|
16
|
+
return false;
|
|
15
17
|
return allowedHosts.has(parsed.hostname.toLowerCase());
|
|
16
18
|
}
|
|
17
19
|
catch {
|
|
@@ -52,7 +54,9 @@ export async function fetchRemoteText(request, options) {
|
|
|
52
54
|
const controller = new AbortController();
|
|
53
55
|
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
54
56
|
try {
|
|
55
|
-
const headers = {
|
|
57
|
+
const headers = {
|
|
58
|
+
"cache-control": "no-store"
|
|
59
|
+
};
|
|
56
60
|
if (request.etag) {
|
|
57
61
|
headers["if-none-match"] = request.etag;
|
|
58
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-cache-fetch.js","sourceRoot":"","sources":["../../lib/remote-cache-fetch.ts"],"names":[],"mappings":"AA+BA,SAAS,qBAAqB,CAAC,KAAe;IAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5C,IAAI,UAAU;YAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,YAAyB;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAA;QAC9C,OAAO,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,OAAe;IAC3D,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,CAAA;AAC/F,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAA;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B,EAC/B,OAA2B;IAE3B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAA;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAA;IACvE,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAChE,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO;SAChB,CAAA;IACH,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO;SAChB,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;IAE/D,IAAI,CAAC;QACH,MAAM,OAAO,GAA2B,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"remote-cache-fetch.js","sourceRoot":"","sources":["../../lib/remote-cache-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-snapshots.d.ts","sourceRoot":"","sources":["../../lib/request-snapshots.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"request-snapshots.d.ts","sourceRoot":"","sources":["../../lib/request-snapshots.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAgKzC,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;AA4HvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvF,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3F,CAAA;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,gBAAgB,CAyKnF"}
|
|
@@ -26,6 +26,7 @@ const REDACTED_HEADERS = new Set([
|
|
|
26
26
|
"chatgpt-account-id",
|
|
27
27
|
"session_id"
|
|
28
28
|
]);
|
|
29
|
+
const REDACTED_HEADER_KEY_FRAGMENTS = ["api-key", "token", "secret", "session", "cookie", "auth"];
|
|
29
30
|
const REDACTED_BODY_KEYS = new Set([
|
|
30
31
|
"access_token",
|
|
31
32
|
"refresh_token",
|
|
@@ -47,12 +48,24 @@ const REDACTED_BODY_KEYS = new Set([
|
|
|
47
48
|
"codeverifier",
|
|
48
49
|
"accesstoken",
|
|
49
50
|
"refreshtoken",
|
|
50
|
-
"idtoken"
|
|
51
|
+
"idtoken",
|
|
52
|
+
"session_id",
|
|
53
|
+
"sessionid",
|
|
54
|
+
"chatgpt-account-id",
|
|
55
|
+
"chatgpt_account_id",
|
|
56
|
+
"account_id",
|
|
57
|
+
"accountid"
|
|
51
58
|
]);
|
|
52
59
|
const LIVE_HEADERS_LOG_FILE = "live-headers.jsonl";
|
|
60
|
+
function shouldRedactHeader(name) {
|
|
61
|
+
const lower = name.toLowerCase();
|
|
62
|
+
if (REDACTED_HEADERS.has(lower))
|
|
63
|
+
return true;
|
|
64
|
+
return REDACTED_HEADER_KEY_FRAGMENTS.some((fragment) => lower.includes(fragment));
|
|
65
|
+
}
|
|
53
66
|
function sanitizeHeaderValue(name, value) {
|
|
54
67
|
const lower = name.toLowerCase();
|
|
55
|
-
if (!
|
|
68
|
+
if (!shouldRedactHeader(lower))
|
|
56
69
|
return value;
|
|
57
70
|
if (lower === "authorization") {
|
|
58
71
|
const [scheme] = value.split(" ");
|
|
@@ -60,6 +73,27 @@ function sanitizeHeaderValue(name, value) {
|
|
|
60
73
|
}
|
|
61
74
|
return REDACTED;
|
|
62
75
|
}
|
|
76
|
+
function sanitizeSnapshotStage(stage) {
|
|
77
|
+
const trimmed = stage.trim();
|
|
78
|
+
if (!trimmed)
|
|
79
|
+
return "snapshot";
|
|
80
|
+
const segments = trimmed.match(/[A-Za-z0-9]+/g);
|
|
81
|
+
if (!segments || segments.length === 0)
|
|
82
|
+
return "snapshot";
|
|
83
|
+
return segments.join("-");
|
|
84
|
+
}
|
|
85
|
+
function resolveSnapshotFilePath(rootDir, fileName) {
|
|
86
|
+
const root = path.resolve(rootDir);
|
|
87
|
+
const resolved = path.resolve(root, fileName);
|
|
88
|
+
if (resolved === root) {
|
|
89
|
+
throw new Error("snapshot path resolves to output directory");
|
|
90
|
+
}
|
|
91
|
+
const rootPrefix = root.endsWith(path.sep) ? root : `${root}${path.sep}`;
|
|
92
|
+
if (!resolved.startsWith(rootPrefix)) {
|
|
93
|
+
throw new Error("snapshot path escaped output directory");
|
|
94
|
+
}
|
|
95
|
+
return resolved;
|
|
96
|
+
}
|
|
63
97
|
function sanitizeHeaders(headers) {
|
|
64
98
|
const out = {};
|
|
65
99
|
for (const [name, value] of headers.entries()) {
|
|
@@ -80,13 +114,13 @@ function sanitizeBodyValue(value) {
|
|
|
80
114
|
}
|
|
81
115
|
function redactRawBody(raw) {
|
|
82
116
|
return raw
|
|
83
|
-
.replace(/([?&;\s]|^)(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken)=([^&;\s]+)/gi, (_full, prefix, key) => `${prefix}${key}=${REDACTED}`)
|
|
84
|
-
.replace(/"(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken)"\s*:\s*"[^"]*"/gi, (_full, key) => `"${key}":"${REDACTED}"`);
|
|
117
|
+
.replace(/([?&;\s]|^)(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken|session_id|sessionId|sessionid|chatgpt_account_id|chatgptAccountId|chatgpt-account-id|account_id|accountId|accountid)=([^&;\s]+)/gi, (_full, prefix, key) => `${prefix}${key}=${REDACTED}`)
|
|
118
|
+
.replace(/"(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken|session_id|sessionId|sessionid|chatgpt_account_id|chatgptAccountId|chatgpt-account-id|account_id|accountId|accountid)"\s*:\s*"[^"]*"/gi, (_full, key) => `"${key}":"${REDACTED}"`);
|
|
85
119
|
}
|
|
86
120
|
function sanitizeMetaString(value) {
|
|
87
121
|
return value
|
|
88
|
-
.replace(/([?&;\s]|^)(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken)=([^&;\s]+)/gi, (_full, prefix, key) => `${prefix}${key}=${REDACTED}`)
|
|
89
|
-
.replace(/"(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken)"\s*:\s*"[^"]*"/gi, (_full, key) => `"${key}":"${REDACTED}"`)
|
|
122
|
+
.replace(/([?&;\s]|^)(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken|session_id|sessionId|sessionid|chatgpt_account_id|chatgptAccountId|chatgpt-account-id|account_id|accountId|accountid)=([^&;\s]+)/gi, (_full, prefix, key) => `${prefix}${key}=${REDACTED}`)
|
|
123
|
+
.replace(/"(access_token|refresh_token|id_token|prompt_cache_key|authorization_code|auth_code|code_verifier|pkce_verifier|verifier|state|code|api_key|apikey|client_secret|clientsecret|authorizationCode|authorizationcode|codeVerifier|codeverifier|apiKey|clientSecret|accessToken|refreshToken|idToken|session_id|sessionId|sessionid|chatgpt_account_id|chatgptAccountId|chatgpt-account-id|account_id|accountId|accountid)"\s*:\s*"[^"]*"/gi, (_full, key) => `"${key}":"${REDACTED}"`)
|
|
90
124
|
.replace(/\b(authorization)\s*:\s*bearer\s+[^\s,;]+/gi, `$1: Bearer ${REDACTED}`);
|
|
91
125
|
}
|
|
92
126
|
async function serializeRequestBody(request) {
|
|
@@ -295,7 +329,7 @@ export function createRequestSnapshots(input) {
|
|
|
295
329
|
const writeJson = async (fileName, payload) => {
|
|
296
330
|
try {
|
|
297
331
|
await ensureDir();
|
|
298
|
-
const filePath =
|
|
332
|
+
const filePath = resolveSnapshotFilePath(dir, `${runId}-${fileName}`);
|
|
299
333
|
await fs.writeFile(filePath, `${JSON.stringify(payload, null, 2)}\n`, { mode: 0o600 });
|
|
300
334
|
await enforceOwnerOnlyPermissions(filePath);
|
|
301
335
|
await pruneSnapshotFiles();
|
|
@@ -310,7 +344,7 @@ export function createRequestSnapshots(input) {
|
|
|
310
344
|
const appendJsonl = async (fileName, payload) => {
|
|
311
345
|
try {
|
|
312
346
|
await ensureDir();
|
|
313
|
-
const filePath =
|
|
347
|
+
const filePath = resolveSnapshotFilePath(dir, fileName);
|
|
314
348
|
const rotatedPath = `${filePath}.1`;
|
|
315
349
|
try {
|
|
316
350
|
const stat = await fs.stat(filePath);
|
|
@@ -347,6 +381,7 @@ export function createRequestSnapshots(input) {
|
|
|
347
381
|
captureRequest: async (stage, request, meta) => {
|
|
348
382
|
const requestId = ++requestCounter;
|
|
349
383
|
const timestamp = new Date().toISOString();
|
|
384
|
+
const safeStage = sanitizeSnapshotStage(stage);
|
|
350
385
|
const body = captureBodies ? await serializeRequestBody(request) : undefined;
|
|
351
386
|
const headers = sanitizeHeaders(request.headers);
|
|
352
387
|
const sanitizedMeta = sanitizeSnapshotMeta(meta);
|
|
@@ -362,7 +397,7 @@ export function createRequestSnapshots(input) {
|
|
|
362
397
|
body,
|
|
363
398
|
meta: sanitizedMeta
|
|
364
399
|
};
|
|
365
|
-
await writeJson(`request-${requestId}-${
|
|
400
|
+
await writeJson(`request-${requestId}-${safeStage}.json`, {
|
|
366
401
|
...payload
|
|
367
402
|
});
|
|
368
403
|
await appendJsonl(LIVE_HEADERS_LOG_FILE, {
|
|
@@ -380,8 +415,9 @@ export function createRequestSnapshots(input) {
|
|
|
380
415
|
captureResponse: async (stage, response, meta) => {
|
|
381
416
|
const responseId = ++responseCounter;
|
|
382
417
|
const timestamp = new Date().toISOString();
|
|
418
|
+
const safeStage = sanitizeSnapshotStage(stage);
|
|
383
419
|
const sanitizedMeta = sanitizeSnapshotMeta(meta);
|
|
384
|
-
await writeJson(`response-${responseId}-${
|
|
420
|
+
await writeJson(`response-${responseId}-${safeStage}.json`, {
|
|
385
421
|
timestamp,
|
|
386
422
|
runId,
|
|
387
423
|
responseId,
|