@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.
Files changed (129) hide show
  1. package/README.md +15 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +41 -18
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/accounts-tools.d.ts.map +1 -1
  6. package/dist/lib/accounts-tools.js +114 -29
  7. package/dist/lib/accounts-tools.js.map +1 -1
  8. package/dist/lib/cache-io.d.ts.map +1 -1
  9. package/dist/lib/cache-io.js +8 -2
  10. package/dist/lib/cache-io.js.map +1 -1
  11. package/dist/lib/cache-lock.d.ts +1 -0
  12. package/dist/lib/cache-lock.d.ts.map +1 -1
  13. package/dist/lib/cache-lock.js +12 -2
  14. package/dist/lib/cache-lock.js.map +1 -1
  15. package/dist/lib/codex-native/accounts.d.ts.map +1 -1
  16. package/dist/lib/codex-native/accounts.js +18 -12
  17. package/dist/lib/codex-native/accounts.js.map +1 -1
  18. package/dist/lib/codex-native/acquire-auth.d.ts +1 -1
  19. package/dist/lib/codex-native/acquire-auth.d.ts.map +1 -1
  20. package/dist/lib/codex-native/acquire-auth.js +317 -204
  21. package/dist/lib/codex-native/acquire-auth.js.map +1 -1
  22. package/dist/lib/codex-native/auth-menu-flow.d.ts.map +1 -1
  23. package/dist/lib/codex-native/auth-menu-flow.js +27 -12
  24. package/dist/lib/codex-native/auth-menu-flow.js.map +1 -1
  25. package/dist/lib/codex-native/auth-menu-quotas.d.ts.map +1 -1
  26. package/dist/lib/codex-native/auth-menu-quotas.js +11 -4
  27. package/dist/lib/codex-native/auth-menu-quotas.js.map +1 -1
  28. package/dist/lib/codex-native/browser.d.ts +2 -0
  29. package/dist/lib/codex-native/browser.d.ts.map +1 -1
  30. package/dist/lib/codex-native/browser.js +3 -3
  31. package/dist/lib/codex-native/browser.js.map +1 -1
  32. package/dist/lib/codex-native/catalog-auth.d.ts.map +1 -1
  33. package/dist/lib/codex-native/catalog-auth.js +4 -2
  34. package/dist/lib/codex-native/catalog-auth.js.map +1 -1
  35. package/dist/lib/codex-native/chat-hooks.d.ts.map +1 -1
  36. package/dist/lib/codex-native/chat-hooks.js +0 -8
  37. package/dist/lib/codex-native/chat-hooks.js.map +1 -1
  38. package/dist/lib/codex-native/client-identity.d.ts.map +1 -1
  39. package/dist/lib/codex-native/client-identity.js +13 -5
  40. package/dist/lib/codex-native/client-identity.js.map +1 -1
  41. package/dist/lib/codex-native/collaboration.d.ts +1 -1
  42. package/dist/lib/codex-native/collaboration.d.ts.map +1 -1
  43. package/dist/lib/codex-native/collaboration.js +9 -116
  44. package/dist/lib/codex-native/collaboration.js.map +1 -1
  45. package/dist/lib/codex-native/oauth-auth-methods.d.ts +1 -0
  46. package/dist/lib/codex-native/oauth-auth-methods.d.ts.map +1 -1
  47. package/dist/lib/codex-native/oauth-auth-methods.js +36 -6
  48. package/dist/lib/codex-native/oauth-auth-methods.js.map +1 -1
  49. package/dist/lib/codex-native/oauth-persistence.d.ts.map +1 -1
  50. package/dist/lib/codex-native/oauth-persistence.js +6 -0
  51. package/dist/lib/codex-native/oauth-persistence.js.map +1 -1
  52. package/dist/lib/codex-native/oauth-server.d.ts +1 -0
  53. package/dist/lib/codex-native/oauth-server.d.ts.map +1 -1
  54. package/dist/lib/codex-native/oauth-server.js +114 -43
  55. package/dist/lib/codex-native/oauth-server.js.map +1 -1
  56. package/dist/lib/codex-native/openai-loader-fetch.d.ts.map +1 -1
  57. package/dist/lib/codex-native/openai-loader-fetch.js +122 -33
  58. package/dist/lib/codex-native/openai-loader-fetch.js.map +1 -1
  59. package/dist/lib/codex-native/originator.d.ts.map +1 -1
  60. package/dist/lib/codex-native/originator.js +18 -1
  61. package/dist/lib/codex-native/originator.js.map +1 -1
  62. package/dist/lib/codex-native/request-routing.d.ts.map +1 -1
  63. package/dist/lib/codex-native/request-routing.js +9 -0
  64. package/dist/lib/codex-native/request-routing.js.map +1 -1
  65. package/dist/lib/codex-native/request-transform.d.ts.map +1 -1
  66. package/dist/lib/codex-native/request-transform.js +39 -8
  67. package/dist/lib/codex-native/request-transform.js.map +1 -1
  68. package/dist/lib/codex-native/session-affinity-state.d.ts +1 -1
  69. package/dist/lib/codex-native/session-affinity-state.d.ts.map +1 -1
  70. package/dist/lib/codex-native/session-affinity-state.js +1 -0
  71. package/dist/lib/codex-native/session-affinity-state.js.map +1 -1
  72. package/dist/lib/codex-native.js.map +1 -1
  73. package/dist/lib/codex-prompts-cache.d.ts.map +1 -1
  74. package/dist/lib/codex-prompts-cache.js.map +1 -1
  75. package/dist/lib/codex-quota-fetch.d.ts.map +1 -1
  76. package/dist/lib/codex-quota-fetch.js +12 -9
  77. package/dist/lib/codex-quota-fetch.js.map +1 -1
  78. package/dist/lib/codex-status-storage.d.ts.map +1 -1
  79. package/dist/lib/codex-status-storage.js.map +1 -1
  80. package/dist/lib/codex-status.d.ts.map +1 -1
  81. package/dist/lib/codex-status.js +28 -3
  82. package/dist/lib/codex-status.js.map +1 -1
  83. package/dist/lib/config.d.ts +3 -0
  84. package/dist/lib/config.d.ts.map +1 -1
  85. package/dist/lib/config.js +41 -21
  86. package/dist/lib/config.js.map +1 -1
  87. package/dist/lib/fetch-orchestrator.d.ts +2 -1
  88. package/dist/lib/fetch-orchestrator.d.ts.map +1 -1
  89. package/dist/lib/fetch-orchestrator.js +81 -11
  90. package/dist/lib/fetch-orchestrator.js.map +1 -1
  91. package/dist/lib/identity.d.ts +6 -0
  92. package/dist/lib/identity.d.ts.map +1 -1
  93. package/dist/lib/identity.js +25 -4
  94. package/dist/lib/identity.js.map +1 -1
  95. package/dist/lib/opencode-install.d.ts.map +1 -1
  96. package/dist/lib/opencode-install.js +5 -6
  97. package/dist/lib/opencode-install.js.map +1 -1
  98. package/dist/lib/orchestrator-agent.d.ts.map +1 -1
  99. package/dist/lib/orchestrator-agent.js +2 -1
  100. package/dist/lib/orchestrator-agent.js.map +1 -1
  101. package/dist/lib/paths.d.ts.map +1 -1
  102. package/dist/lib/paths.js +24 -3
  103. package/dist/lib/paths.js.map +1 -1
  104. package/dist/lib/proactive-refresh.d.ts.map +1 -1
  105. package/dist/lib/proactive-refresh.js +50 -13
  106. package/dist/lib/proactive-refresh.js.map +1 -1
  107. package/dist/lib/refresh-queue.d.ts.map +1 -1
  108. package/dist/lib/refresh-queue.js +1 -0
  109. package/dist/lib/refresh-queue.js.map +1 -1
  110. package/dist/lib/remote-cache-fetch.d.ts.map +1 -1
  111. package/dist/lib/remote-cache-fetch.js +5 -1
  112. package/dist/lib/remote-cache-fetch.js.map +1 -1
  113. package/dist/lib/request-snapshots.d.ts.map +1 -1
  114. package/dist/lib/request-snapshots.js +46 -10
  115. package/dist/lib/request-snapshots.js.map +1 -1
  116. package/dist/lib/rotation.d.ts.map +1 -1
  117. package/dist/lib/rotation.js +3 -2
  118. package/dist/lib/rotation.js.map +1 -1
  119. package/dist/lib/session-affinity.d.ts.map +1 -1
  120. package/dist/lib/session-affinity.js +35 -20
  121. package/dist/lib/session-affinity.js.map +1 -1
  122. package/dist/lib/storage.d.ts.map +1 -1
  123. package/dist/lib/storage.js +110 -45
  124. package/dist/lib/storage.js.map +1 -1
  125. package/dist/lib/ui/auth-menu.d.ts +3 -2
  126. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  127. package/dist/lib/ui/auth-menu.js +1 -1
  128. package/dist/lib/ui/auth-menu.js.map +1 -1
  129. 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,CA8CtC"}
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
- await quarantineFile({
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
- await quarantineMalformedConfig(configPath);
44
- created = true;
45
- current = {};
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":"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"}
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;AA8IjG,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"}
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 CODEX_ORCHESTRATOR_AGENT_TEMPLATE;
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":"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"}
1
+ {"version":3,"file":"orchestrator-agent.js","sourceRoot":"","sources":["../../lib/orchestrator-agent.ts"],"names":[],"mappings":"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"}
@@ -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;AAI1D,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,CAER;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"}
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?.trim();
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?.trim();
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
- return path.join(defaultOpencodeSessionStoragePath(env), `${sessionKey}.json`);
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);
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../lib/paths.ts"],"names":[],"mappings":"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"}
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":"AAqBA,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,CA2FhB"}
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" && oauthCode.toLowerCase() === "invalid_grant") {
8
- return true;
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
- return error.message.toLowerCase().includes("invalid_grant");
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
- account.refreshLeaseUntil = now + leaseMs;
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
- if (typeof account.refreshLeaseUntil === "number" && account.refreshLeaseUntil > now) {
89
- account.access = tokens.access;
90
- account.refresh = tokens.refresh;
91
- account.expires = tokens.expires;
92
- delete account.refreshLeaseUntil;
93
- delete account.cooldownUntil;
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 if (typeof account.refreshLeaseUntil === "number") {
96
- delete account.refreshLeaseUntil;
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":"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"}
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,CAgDnB"}
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"}
@@ -35,6 +35,7 @@ export function createRefreshScheduler(input) {
35
35
  return;
36
36
  const runners = input.getTasks();
37
37
  for (const task of due) {
38
+ input.queue.remove(task.key);
38
39
  const runner = runners.find((r) => r.key === task.key);
39
40
  if (!runner)
40
41
  continue;
@@ -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":"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"}
@@ -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;AAqCD,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAwHhC;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE;IACL,QAAQ,EAAE,sBAAsB,EAAE,CAAA;CACnC,EACD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAElC"}
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":"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"}
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;AA8HzC,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,CAuKnF"}
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 (!REDACTED_HEADERS.has(lower) && !lower.includes("api-key"))
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 = path.join(dir, `${runId}-${fileName}`);
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 = path.join(dir, fileName);
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}-${stage}.json`, {
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}-${stage}.json`, {
420
+ await writeJson(`response-${responseId}-${safeStage}.json`, {
385
421
  timestamp,
386
422
  runId,
387
423
  responseId,