@iam-brain/opencode-codex-auth 1.2.4 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/README.md +42 -83
  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 +112 -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 +6 -1
  10. package/dist/lib/cache-io.js.map +1 -1
  11. package/dist/lib/codex-native/accounts.d.ts.map +1 -1
  12. package/dist/lib/codex-native/accounts.js +18 -12
  13. package/dist/lib/codex-native/accounts.js.map +1 -1
  14. package/dist/lib/codex-native/acquire-auth.d.ts +1 -1
  15. package/dist/lib/codex-native/acquire-auth.d.ts.map +1 -1
  16. package/dist/lib/codex-native/acquire-auth.js +318 -204
  17. package/dist/lib/codex-native/acquire-auth.js.map +1 -1
  18. package/dist/lib/codex-native/auth-menu-flow.d.ts.map +1 -1
  19. package/dist/lib/codex-native/auth-menu-flow.js +27 -12
  20. package/dist/lib/codex-native/auth-menu-flow.js.map +1 -1
  21. package/dist/lib/codex-native/auth-menu-quotas.d.ts.map +1 -1
  22. package/dist/lib/codex-native/auth-menu-quotas.js +11 -4
  23. package/dist/lib/codex-native/auth-menu-quotas.js.map +1 -1
  24. package/dist/lib/codex-native/catalog-auth.d.ts.map +1 -1
  25. package/dist/lib/codex-native/catalog-auth.js +4 -2
  26. package/dist/lib/codex-native/catalog-auth.js.map +1 -1
  27. package/dist/lib/codex-native/chat-hooks.d.ts.map +1 -1
  28. package/dist/lib/codex-native/chat-hooks.js +0 -8
  29. package/dist/lib/codex-native/chat-hooks.js.map +1 -1
  30. package/dist/lib/codex-native/client-identity.d.ts.map +1 -1
  31. package/dist/lib/codex-native/client-identity.js +11 -4
  32. package/dist/lib/codex-native/client-identity.js.map +1 -1
  33. package/dist/lib/codex-native/collaboration.d.ts +1 -1
  34. package/dist/lib/codex-native/collaboration.d.ts.map +1 -1
  35. package/dist/lib/codex-native/collaboration.js +9 -116
  36. package/dist/lib/codex-native/collaboration.js.map +1 -1
  37. package/dist/lib/codex-native/oauth-auth-methods.d.ts.map +1 -1
  38. package/dist/lib/codex-native/oauth-auth-methods.js +25 -6
  39. package/dist/lib/codex-native/oauth-auth-methods.js.map +1 -1
  40. package/dist/lib/codex-native/oauth-server-debug.d.ts +10 -0
  41. package/dist/lib/codex-native/oauth-server-debug.d.ts.map +1 -0
  42. package/dist/lib/codex-native/oauth-server-debug.js +92 -0
  43. package/dist/lib/codex-native/oauth-server-debug.js.map +1 -0
  44. package/dist/lib/codex-native/oauth-server-network.d.ts +5 -0
  45. package/dist/lib/codex-native/oauth-server-network.d.ts.map +1 -0
  46. package/dist/lib/codex-native/oauth-server-network.js +39 -0
  47. package/dist/lib/codex-native/oauth-server-network.js.map +1 -0
  48. package/dist/lib/codex-native/oauth-server-types.d.ts +24 -0
  49. package/dist/lib/codex-native/oauth-server-types.d.ts.map +1 -0
  50. package/dist/lib/codex-native/oauth-server-types.js +2 -0
  51. package/dist/lib/codex-native/oauth-server-types.js.map +1 -0
  52. package/dist/lib/codex-native/oauth-server.d.ts +2 -16
  53. package/dist/lib/codex-native/oauth-server.d.ts.map +1 -1
  54. package/dist/lib/codex-native/oauth-server.js +63 -118
  55. package/dist/lib/codex-native/oauth-server.js.map +1 -1
  56. package/dist/lib/codex-native/openai-loader-fetch-quota.d.ts +18 -0
  57. package/dist/lib/codex-native/openai-loader-fetch-quota.d.ts.map +1 -0
  58. package/dist/lib/codex-native/openai-loader-fetch-quota.js +71 -0
  59. package/dist/lib/codex-native/openai-loader-fetch-quota.js.map +1 -0
  60. package/dist/lib/codex-native/openai-loader-fetch-state.d.ts +27 -0
  61. package/dist/lib/codex-native/openai-loader-fetch-state.d.ts.map +1 -0
  62. package/dist/lib/codex-native/openai-loader-fetch-state.js +91 -0
  63. package/dist/lib/codex-native/openai-loader-fetch-state.js.map +1 -0
  64. package/dist/lib/codex-native/openai-loader-fetch.d.ts.map +1 -1
  65. package/dist/lib/codex-native/openai-loader-fetch.js +49 -131
  66. package/dist/lib/codex-native/openai-loader-fetch.js.map +1 -1
  67. package/dist/lib/codex-native/originator.d.ts.map +1 -1
  68. package/dist/lib/codex-native/originator.js +18 -1
  69. package/dist/lib/codex-native/originator.js.map +1 -1
  70. package/dist/lib/codex-native/request-transform-instructions.d.ts +16 -0
  71. package/dist/lib/codex-native/request-transform-instructions.d.ts.map +1 -0
  72. package/dist/lib/codex-native/request-transform-instructions.js +114 -0
  73. package/dist/lib/codex-native/request-transform-instructions.js.map +1 -0
  74. package/dist/lib/codex-native/request-transform-model.d.ts +39 -0
  75. package/dist/lib/codex-native/request-transform-model.d.ts.map +1 -0
  76. package/dist/lib/codex-native/request-transform-model.js +270 -0
  77. package/dist/lib/codex-native/request-transform-model.js.map +1 -0
  78. package/dist/lib/codex-native/request-transform-payload-helpers.d.ts +26 -0
  79. package/dist/lib/codex-native/request-transform-payload-helpers.d.ts.map +1 -0
  80. package/dist/lib/codex-native/request-transform-payload-helpers.js +232 -0
  81. package/dist/lib/codex-native/request-transform-payload-helpers.js.map +1 -0
  82. package/dist/lib/codex-native/request-transform-payload.d.ts +53 -0
  83. package/dist/lib/codex-native/request-transform-payload.d.ts.map +1 -0
  84. package/dist/lib/codex-native/request-transform-payload.js +214 -0
  85. package/dist/lib/codex-native/request-transform-payload.js.map +1 -0
  86. package/dist/lib/codex-native/request-transform-shared.d.ts +8 -0
  87. package/dist/lib/codex-native/request-transform-shared.d.ts.map +1 -0
  88. package/dist/lib/codex-native/request-transform-shared.js +49 -0
  89. package/dist/lib/codex-native/request-transform-shared.js.map +1 -0
  90. package/dist/lib/codex-native/request-transform.d.ts +3 -122
  91. package/dist/lib/codex-native/request-transform.d.ts.map +1 -1
  92. package/dist/lib/codex-native/request-transform.js +3 -831
  93. package/dist/lib/codex-native/request-transform.js.map +1 -1
  94. package/dist/lib/codex-native/session-affinity-state.d.ts +14 -1
  95. package/dist/lib/codex-native/session-affinity-state.d.ts.map +1 -1
  96. package/dist/lib/codex-native/session-affinity-state.js +21 -8
  97. package/dist/lib/codex-native/session-affinity-state.js.map +1 -1
  98. package/dist/lib/codex-native.js.map +1 -1
  99. package/dist/lib/codex-prompts-cache.d.ts.map +1 -1
  100. package/dist/lib/codex-prompts-cache.js.map +1 -1
  101. package/dist/lib/codex-quota-fetch.d.ts.map +1 -1
  102. package/dist/lib/codex-quota-fetch.js +13 -10
  103. package/dist/lib/codex-quota-fetch.js.map +1 -1
  104. package/dist/lib/codex-status-storage.d.ts.map +1 -1
  105. package/dist/lib/codex-status-storage.js.map +1 -1
  106. package/dist/lib/codex-status.d.ts.map +1 -1
  107. package/dist/lib/codex-status.js +28 -3
  108. package/dist/lib/codex-status.js.map +1 -1
  109. package/dist/lib/config/io.d.ts +16 -0
  110. package/dist/lib/config/io.d.ts.map +1 -0
  111. package/dist/lib/config/io.js +64 -0
  112. package/dist/lib/config/io.js.map +1 -0
  113. package/dist/lib/config/parse.d.ts +21 -0
  114. package/dist/lib/config/parse.d.ts.map +1 -0
  115. package/dist/lib/config/parse.js +347 -0
  116. package/dist/lib/config/parse.js.map +1 -0
  117. package/dist/lib/config/resolve.d.ts +27 -0
  118. package/dist/lib/config/resolve.d.ts.map +1 -0
  119. package/dist/lib/config/resolve.js +152 -0
  120. package/dist/lib/config/resolve.js.map +1 -0
  121. package/dist/lib/config/types.d.ts +72 -0
  122. package/dist/lib/config/types.d.ts.map +1 -0
  123. package/dist/lib/config/types.js +151 -0
  124. package/dist/lib/config/types.js.map +1 -0
  125. package/dist/lib/config/validation.d.ts +6 -0
  126. package/dist/lib/config/validation.d.ts.map +1 -0
  127. package/dist/lib/config/validation.js +160 -0
  128. package/dist/lib/config/validation.js.map +1 -0
  129. package/dist/lib/config.d.ts +5 -111
  130. package/dist/lib/config.d.ts.map +1 -1
  131. package/dist/lib/config.js +5 -835
  132. package/dist/lib/config.js.map +1 -1
  133. package/dist/lib/fetch-orchestrator-helpers.d.ts +13 -0
  134. package/dist/lib/fetch-orchestrator-helpers.d.ts.map +1 -0
  135. package/dist/lib/fetch-orchestrator-helpers.js +63 -0
  136. package/dist/lib/fetch-orchestrator-helpers.js.map +1 -0
  137. package/dist/lib/fetch-orchestrator-types.d.ts +71 -0
  138. package/dist/lib/fetch-orchestrator-types.d.ts.map +1 -0
  139. package/dist/lib/fetch-orchestrator-types.js +11 -0
  140. package/dist/lib/fetch-orchestrator-types.js.map +1 -0
  141. package/dist/lib/fetch-orchestrator.d.ts +3 -69
  142. package/dist/lib/fetch-orchestrator.d.ts.map +1 -1
  143. package/dist/lib/fetch-orchestrator.js +78 -57
  144. package/dist/lib/fetch-orchestrator.js.map +1 -1
  145. package/dist/lib/identity.d.ts +6 -0
  146. package/dist/lib/identity.d.ts.map +1 -1
  147. package/dist/lib/identity.js +25 -4
  148. package/dist/lib/identity.js.map +1 -1
  149. package/dist/lib/model-catalog/cache-helpers.d.ts +23 -0
  150. package/dist/lib/model-catalog/cache-helpers.d.ts.map +1 -0
  151. package/dist/lib/model-catalog/cache-helpers.js +210 -0
  152. package/dist/lib/model-catalog/cache-helpers.js.map +1 -0
  153. package/dist/lib/model-catalog/catalog-fetch.d.ts +3 -0
  154. package/dist/lib/model-catalog/catalog-fetch.d.ts.map +1 -0
  155. package/dist/lib/model-catalog/catalog-fetch.js +159 -0
  156. package/dist/lib/model-catalog/catalog-fetch.js.map +1 -0
  157. package/dist/lib/model-catalog/provider.d.ts +6 -0
  158. package/dist/lib/model-catalog/provider.d.ts.map +1 -0
  159. package/dist/lib/model-catalog/provider.js +254 -0
  160. package/dist/lib/model-catalog/provider.js.map +1 -0
  161. package/dist/lib/model-catalog/shared.d.ts +95 -0
  162. package/dist/lib/model-catalog/shared.d.ts.map +1 -0
  163. package/dist/lib/model-catalog/shared.js +154 -0
  164. package/dist/lib/model-catalog/shared.js.map +1 -0
  165. package/dist/lib/model-catalog.d.ts +3 -68
  166. package/dist/lib/model-catalog.d.ts.map +1 -1
  167. package/dist/lib/model-catalog.js +3 -767
  168. package/dist/lib/model-catalog.js.map +1 -1
  169. package/dist/lib/opencode-install.d.ts.map +1 -1
  170. package/dist/lib/opencode-install.js +5 -6
  171. package/dist/lib/opencode-install.js.map +1 -1
  172. package/dist/lib/orchestrator-agent.d.ts.map +1 -1
  173. package/dist/lib/orchestrator-agent.js +2 -1
  174. package/dist/lib/orchestrator-agent.js.map +1 -1
  175. package/dist/lib/paths.d.ts.map +1 -1
  176. package/dist/lib/paths.js +8 -2
  177. package/dist/lib/paths.js.map +1 -1
  178. package/dist/lib/proactive-refresh.d.ts.map +1 -1
  179. package/dist/lib/proactive-refresh.js +48 -13
  180. package/dist/lib/proactive-refresh.js.map +1 -1
  181. package/dist/lib/quarantine.js.map +1 -1
  182. package/dist/lib/quota-threshold-alerts.d.ts.map +1 -1
  183. package/dist/lib/quota-threshold-alerts.js +3 -1
  184. package/dist/lib/quota-threshold-alerts.js.map +1 -1
  185. package/dist/lib/refresh-queue.d.ts.map +1 -1
  186. package/dist/lib/refresh-queue.js +1 -0
  187. package/dist/lib/refresh-queue.js.map +1 -1
  188. package/dist/lib/request-snapshots.d.ts.map +1 -1
  189. package/dist/lib/request-snapshots.js +46 -10
  190. package/dist/lib/request-snapshots.js.map +1 -1
  191. package/dist/lib/rotation.d.ts.map +1 -1
  192. package/dist/lib/rotation.js +3 -2
  193. package/dist/lib/rotation.js.map +1 -1
  194. package/dist/lib/session-affinity.d.ts.map +1 -1
  195. package/dist/lib/session-affinity.js +35 -20
  196. package/dist/lib/session-affinity.js.map +1 -1
  197. package/dist/lib/storage/domain-state.d.ts +23 -0
  198. package/dist/lib/storage/domain-state.d.ts.map +1 -0
  199. package/dist/lib/storage/domain-state.js +275 -0
  200. package/dist/lib/storage/domain-state.js.map +1 -0
  201. package/dist/lib/storage/migration.d.ts +13 -0
  202. package/dist/lib/storage/migration.d.ts.map +1 -0
  203. package/dist/lib/storage/migration.js +225 -0
  204. package/dist/lib/storage/migration.js.map +1 -0
  205. package/dist/lib/storage.d.ts +2 -9
  206. package/dist/lib/storage.d.ts.map +1 -1
  207. package/dist/lib/storage.js +44 -470
  208. package/dist/lib/storage.js.map +1 -1
  209. package/dist/lib/ui/auth-menu.d.ts +3 -2
  210. package/dist/lib/ui/auth-menu.d.ts.map +1 -1
  211. package/dist/lib/ui/auth-menu.js +1 -1
  212. package/dist/lib/ui/auth-menu.js.map +1 -1
  213. package/package.json +28 -15
@@ -0,0 +1,151 @@
1
+ export const CONFIG_FILE = "codex-config.json";
2
+ export const DEFAULT_CODEX_CONFIG = {
3
+ $schema: "https://schemas.iam-brain.dev/opencode-codex-auth/codex-config.schema.json",
4
+ debug: false,
5
+ quiet: false,
6
+ refreshAhead: {
7
+ enabled: true,
8
+ bufferMs: 60_000
9
+ },
10
+ runtime: {
11
+ mode: "native",
12
+ rotationStrategy: "sticky",
13
+ sanitizeInputs: false,
14
+ developerMessagesToUser: true,
15
+ promptCacheKeyStrategy: "default",
16
+ headerSnapshots: false,
17
+ headerSnapshotBodies: false,
18
+ headerTransformDebug: false,
19
+ pidOffset: false
20
+ },
21
+ global: {
22
+ personality: "pragmatic",
23
+ verbosityEnabled: true,
24
+ verbosity: "default"
25
+ },
26
+ perModel: {}
27
+ };
28
+ export const DEFAULT_CODEX_CONFIG_TEMPLATE = `{
29
+ "$schema": "https://schemas.iam-brain.dev/opencode-codex-auth/codex-config.schema.json",
30
+
31
+ // Enable verbose plugin debug logs.
32
+ // options: true | false
33
+ // default: false
34
+ "debug": false,
35
+
36
+ // Suppress plugin UI toasts/notifications.
37
+ // options: true | false
38
+ // default: false
39
+ "quiet": false,
40
+
41
+ // Proactively refresh access tokens before expiry.
42
+ "refreshAhead": {
43
+ // options: true | false
44
+ // default: true
45
+ "enabled": true,
46
+
47
+ // Milliseconds before expiry to refresh.
48
+ // default: 60000
49
+ "bufferMs": 60000
50
+ },
51
+
52
+ "runtime": {
53
+ // Request identity/profile mode.
54
+ // options: "native" | "codex"
55
+ // default: "native"
56
+ "mode": "native",
57
+
58
+ // Account rotation strategy.
59
+ // options: "sticky" | "hybrid" | "round_robin"
60
+ // default: "sticky"
61
+ "rotationStrategy": "sticky",
62
+
63
+ // Input compatibility sanitizer for edge payloads.
64
+ // options: true | false
65
+ // default: false
66
+ "sanitizeInputs": false,
67
+
68
+ // Experimental: remap non-permissions developer messages to user role.
69
+ // Only applies when runtime.mode is "codex".
70
+ // options: true | false
71
+ // default: true
72
+ "developerMessagesToUser": true,
73
+
74
+ // Prompt cache key policy.
75
+ // "default" keeps upstream session-based keys.
76
+ // "project" overrides with a hashed project path + runtime mode key.
77
+ // options: "default" | "project"
78
+ // default: "default"
79
+ "promptCacheKeyStrategy": "default",
80
+
81
+ // Write request header snapshots to plugin logs.
82
+ // options: true | false
83
+ // default: false
84
+ "headerSnapshots": false,
85
+
86
+ // Capture request bodies in snapshot files.
87
+ // options: true | false
88
+ // default: false
89
+ "headerSnapshotBodies": false,
90
+
91
+ // Capture inbound/outbound header transforms for message requests.
92
+ // options: true | false
93
+ // default: false
94
+ "headerTransformDebug": false,
95
+
96
+ // Session-aware offset for account selection.
97
+ // options: true | false
98
+ // default: false
99
+ "pidOffset": false
100
+
101
+ // Experimental collaboration controls (optional):
102
+ // "collaborationProfile": true,
103
+ // "orchestratorSubagents": true
104
+ },
105
+
106
+ "global": {
107
+ // Global personality key.
108
+ // built-ins: "pragmatic", "friendly"
109
+ // custom: any lowercase key from personalities/<key>.md
110
+ // default: "pragmatic"
111
+ "personality": "pragmatic",
112
+
113
+ // Thinking summaries behavior:
114
+ // true => force on
115
+ // false => force off
116
+ // omit => use model default from catalog cache (recommended)
117
+ // "thinkingSummaries": true
118
+
119
+ // Text verbosity behavior:
120
+ // verbosityEnabled: true => apply verbosity setting/default
121
+ // verbosityEnabled: false => do not send textVerbosity
122
+ // default: true
123
+ "verbosityEnabled": true,
124
+
125
+ // options: "default" | "low" | "medium" | "high"
126
+ // "default" uses each model's catalog default verbosity.
127
+ // default: "default"
128
+ "verbosity": "default"
129
+ },
130
+
131
+ // Optional model-specific overrides.
132
+ // Supports same fields as global plus nested variants.
133
+ "perModel": {
134
+ // "gpt-5.3-codex": {
135
+ // "personality": "friendly",
136
+ // "thinkingSummaries": true,
137
+ // "verbosityEnabled": true,
138
+ // "verbosity": "default",
139
+ // "variants": {
140
+ // "high": {
141
+ // "personality": "pragmatic",
142
+ // "thinkingSummaries": false,
143
+ // "verbosityEnabled": true,
144
+ // "verbosity": "high"
145
+ // }
146
+ // }
147
+ // }
148
+ }
149
+ }
150
+ `;
151
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/config/types.ts"],"names":[],"mappings":"AAiDA,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAA;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,OAAO,EAAE,4EAA4E;IACrF,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK;IACZ,YAAY,EAAE;QACZ,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,MAAM;KACjB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,gBAAgB,EAAE,QAAQ;QAC1B,cAAc,EAAE,KAAK;QACrB,uBAAuB,EAAE,IAAI;QAC7B,sBAAsB,EAAE,SAAS;QACjC,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,KAAK;QAC3B,oBAAoB,EAAE,KAAK;QAC3B,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,WAAW,EAAE,WAAW;QACxB,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,SAAS;KACrB;IACD,QAAQ,EAAE,EAAE;CACJ,CAAA;AAEV,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0H5C,CAAA"}
@@ -0,0 +1,6 @@
1
+ export type ConfigValidationResult = {
2
+ valid: boolean;
3
+ issues: string[];
4
+ };
5
+ export declare function validateConfigFileObject(raw: unknown): ConfigValidationResult;
6
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../lib/config/validation.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAuDD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAqH7E"}
@@ -0,0 +1,160 @@
1
+ import { isRecord } from "../util.js";
2
+ function describeValueType(value) {
3
+ if (Array.isArray(value))
4
+ return "array";
5
+ if (value === null)
6
+ return "null";
7
+ return typeof value;
8
+ }
9
+ function pushValidationIssue(issues, input) {
10
+ issues.push(`${input.path}: expected ${input.expected}, got ${describeValueType(input.actual)}`);
11
+ }
12
+ function validateModelBehaviorShape(value, pathPrefix, issues) {
13
+ if (!isRecord(value)) {
14
+ pushValidationIssue(issues, { path: pathPrefix, expected: "object", actual: value });
15
+ return;
16
+ }
17
+ if ("personality" in value && typeof value.personality !== "string") {
18
+ pushValidationIssue(issues, { path: `${pathPrefix}.personality`, expected: "string", actual: value.personality });
19
+ }
20
+ if ("thinkingSummaries" in value && typeof value.thinkingSummaries !== "boolean") {
21
+ pushValidationIssue(issues, {
22
+ path: `${pathPrefix}.thinkingSummaries`,
23
+ expected: "boolean",
24
+ actual: value.thinkingSummaries
25
+ });
26
+ }
27
+ if ("verbosityEnabled" in value && typeof value.verbosityEnabled !== "boolean") {
28
+ pushValidationIssue(issues, {
29
+ path: `${pathPrefix}.verbosityEnabled`,
30
+ expected: "boolean",
31
+ actual: value.verbosityEnabled
32
+ });
33
+ }
34
+ if ("verbosity" in value) {
35
+ const verbosity = value.verbosity;
36
+ const normalized = typeof verbosity === "string" ? verbosity.trim().toLowerCase() : "";
37
+ if (!(normalized === "default" || normalized === "low" || normalized === "medium" || normalized === "high")) {
38
+ pushValidationIssue(issues, {
39
+ path: `${pathPrefix}.verbosity`,
40
+ expected: '"default" | "low" | "medium" | "high"',
41
+ actual: verbosity
42
+ });
43
+ }
44
+ }
45
+ }
46
+ export function validateConfigFileObject(raw) {
47
+ const issues = [];
48
+ if (!isRecord(raw)) {
49
+ pushValidationIssue(issues, { path: "$", expected: "object", actual: raw });
50
+ return { valid: false, issues };
51
+ }
52
+ if ("$schema" in raw && typeof raw.$schema !== "string") {
53
+ pushValidationIssue(issues, { path: "$schema", expected: "string", actual: raw.$schema });
54
+ }
55
+ if ("debug" in raw && typeof raw.debug !== "boolean") {
56
+ pushValidationIssue(issues, { path: "debug", expected: "boolean", actual: raw.debug });
57
+ }
58
+ if ("quiet" in raw && typeof raw.quiet !== "boolean") {
59
+ pushValidationIssue(issues, { path: "quiet", expected: "boolean", actual: raw.quiet });
60
+ }
61
+ if ("refreshAhead" in raw) {
62
+ if (!isRecord(raw.refreshAhead)) {
63
+ pushValidationIssue(issues, { path: "refreshAhead", expected: "object", actual: raw.refreshAhead });
64
+ }
65
+ else {
66
+ if ("enabled" in raw.refreshAhead && typeof raw.refreshAhead.enabled !== "boolean") {
67
+ pushValidationIssue(issues, {
68
+ path: "refreshAhead.enabled",
69
+ expected: "boolean",
70
+ actual: raw.refreshAhead.enabled
71
+ });
72
+ }
73
+ if ("bufferMs" in raw.refreshAhead &&
74
+ (typeof raw.refreshAhead.bufferMs !== "number" || !Number.isFinite(raw.refreshAhead.bufferMs))) {
75
+ pushValidationIssue(issues, {
76
+ path: "refreshAhead.bufferMs",
77
+ expected: "number",
78
+ actual: raw.refreshAhead.bufferMs
79
+ });
80
+ }
81
+ }
82
+ }
83
+ if ("runtime" in raw) {
84
+ if (!isRecord(raw.runtime)) {
85
+ pushValidationIssue(issues, { path: "runtime", expected: "object", actual: raw.runtime });
86
+ }
87
+ else {
88
+ const runtime = raw.runtime;
89
+ const enumChecks = [
90
+ { field: "mode", allowed: ["native", "codex"] },
91
+ { field: "rotationStrategy", allowed: ["sticky", "hybrid", "round_robin"] },
92
+ { field: "promptCacheKeyStrategy", allowed: ["default", "project"] }
93
+ ];
94
+ for (const check of enumChecks) {
95
+ const value = runtime[check.field];
96
+ if (value === undefined)
97
+ continue;
98
+ const normalized = typeof value === "string" ? value.trim().toLowerCase() : "";
99
+ if (!check.allowed.includes(normalized)) {
100
+ pushValidationIssue(issues, {
101
+ path: `runtime.${check.field}`,
102
+ expected: check.allowed.map((item) => `"${item}"`).join(" | "),
103
+ actual: value
104
+ });
105
+ }
106
+ }
107
+ const boolFields = [
108
+ "sanitizeInputs",
109
+ "developerMessagesToUser",
110
+ "codexCompactionOverride",
111
+ "headerSnapshots",
112
+ "headerSnapshotBodies",
113
+ "headerTransformDebug",
114
+ "pidOffset",
115
+ "collaborationProfile",
116
+ "orchestratorSubagents"
117
+ ];
118
+ for (const field of boolFields) {
119
+ if (field in runtime && typeof runtime[field] !== "boolean") {
120
+ pushValidationIssue(issues, {
121
+ path: `runtime.${field}`,
122
+ expected: "boolean",
123
+ actual: runtime[field]
124
+ });
125
+ }
126
+ }
127
+ }
128
+ }
129
+ if ("global" in raw) {
130
+ validateModelBehaviorShape(raw.global, "global", issues);
131
+ }
132
+ if ("perModel" in raw) {
133
+ if (!isRecord(raw.perModel)) {
134
+ pushValidationIssue(issues, { path: "perModel", expected: "object", actual: raw.perModel });
135
+ }
136
+ else {
137
+ for (const [modelName, modelValue] of Object.entries(raw.perModel)) {
138
+ validateModelBehaviorShape(modelValue, `perModel.${modelName}`, issues);
139
+ if (!isRecord(modelValue))
140
+ continue;
141
+ if (!("variants" in modelValue))
142
+ continue;
143
+ const variants = modelValue.variants;
144
+ if (!isRecord(variants)) {
145
+ pushValidationIssue(issues, {
146
+ path: `perModel.${modelName}.variants`,
147
+ expected: "object",
148
+ actual: variants
149
+ });
150
+ continue;
151
+ }
152
+ for (const [variantName, variantValue] of Object.entries(variants)) {
153
+ validateModelBehaviorShape(variantValue, `perModel.${modelName}.variants.${variantName}`, issues);
154
+ }
155
+ }
156
+ }
157
+ }
158
+ return { valid: issues.length === 0, issues };
159
+ }
160
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../lib/config/validation.ts"],"names":[],"mappings":"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"}
@@ -1,112 +1,6 @@
1
- import type { RotationStrategy } from "./types.js";
2
- export type PersonalityOption = string;
3
- export type CodexSpoofMode = "native" | "codex";
4
- export type PluginRuntimeMode = "native" | "codex";
5
- export type VerbosityOption = "default" | "low" | "medium" | "high";
6
- export type PromptCacheKeyStrategy = "default" | "project";
7
- export type ModelBehaviorOverride = {
8
- personality?: PersonalityOption;
9
- thinkingSummaries?: boolean;
10
- verbosityEnabled?: boolean;
11
- verbosity?: VerbosityOption;
12
- };
13
- export type ModelConfigOverride = ModelBehaviorOverride & {
14
- variants?: Record<string, ModelBehaviorOverride>;
15
- };
16
- export type BehaviorSettings = {
17
- global?: ModelBehaviorOverride;
18
- perModel?: Record<string, ModelConfigOverride>;
19
- };
20
- export type PluginConfig = {
21
- debug?: boolean;
22
- proactiveRefresh?: boolean;
23
- proactiveRefreshBufferMs?: number;
24
- quietMode?: boolean;
25
- pidOffsetEnabled?: boolean;
26
- personality?: PersonalityOption;
27
- mode?: PluginRuntimeMode;
28
- rotationStrategy?: RotationStrategy;
29
- spoofMode?: CodexSpoofMode;
30
- compatInputSanitizer?: boolean;
31
- remapDeveloperMessagesToUser?: boolean;
32
- codexCompactionOverride?: boolean;
33
- headerSnapshots?: boolean;
34
- headerSnapshotBodies?: boolean;
35
- headerTransformDebug?: boolean;
36
- promptCacheKeyStrategy?: PromptCacheKeyStrategy;
37
- collaborationProfileEnabled?: boolean;
38
- orchestratorSubagentsEnabled?: boolean;
39
- behaviorSettings?: BehaviorSettings;
40
- };
41
- export declare const DEFAULT_CODEX_CONFIG: {
42
- readonly $schema: "https://schemas.iam-brain.dev/opencode-codex-auth/codex-config.schema.json";
43
- readonly debug: false;
44
- readonly quiet: false;
45
- readonly refreshAhead: {
46
- readonly enabled: true;
47
- readonly bufferMs: 60000;
48
- };
49
- readonly runtime: {
50
- readonly mode: "native";
51
- readonly rotationStrategy: "sticky";
52
- readonly sanitizeInputs: false;
53
- readonly developerMessagesToUser: true;
54
- readonly promptCacheKeyStrategy: "default";
55
- readonly headerSnapshots: false;
56
- readonly headerSnapshotBodies: false;
57
- readonly headerTransformDebug: false;
58
- readonly pidOffset: false;
59
- };
60
- readonly global: {
61
- readonly personality: "pragmatic";
62
- readonly verbosityEnabled: true;
63
- readonly verbosity: "default";
64
- };
65
- readonly perModel: {};
66
- };
67
- export type ConfigValidationResult = {
68
- valid: boolean;
69
- issues: string[];
70
- };
71
- export declare function validateConfigFileObject(raw: unknown): ConfigValidationResult;
72
- export declare function parseConfigJsonWithComments(raw: string): unknown;
73
- export declare function normalizePersonalityOption(value: unknown): PersonalityOption | undefined;
74
- export declare function resolveDefaultConfigPath(env: Record<string, string | undefined>): string;
75
- export type EnsureDefaultConfigFileResult = {
76
- filePath: string;
77
- created: boolean;
78
- };
79
- export declare function ensureDefaultConfigFile(input?: {
80
- env?: Record<string, string | undefined>;
81
- filePath?: string;
82
- overwrite?: boolean;
83
- }): Promise<EnsureDefaultConfigFileResult>;
84
- export declare function loadConfigFile(input?: {
85
- env?: Record<string, string | undefined>;
86
- filePath?: string;
87
- }): Partial<PluginConfig>;
88
- export declare function resolveConfig(input: {
89
- env: Record<string, string | undefined>;
90
- file?: Partial<PluginConfig>;
91
- }): PluginConfig;
92
- export declare function getDebugEnabled(cfg: PluginConfig): boolean;
93
- export declare function getQuietMode(cfg: PluginConfig): boolean;
94
- export declare function getPidOffsetEnabled(cfg: PluginConfig): boolean;
95
- export declare function getProactiveRefreshEnabled(cfg: PluginConfig): boolean;
96
- export declare function getProactiveRefreshBufferMs(cfg: PluginConfig): number;
97
- export declare function getPersonality(cfg: PluginConfig): PersonalityOption | undefined;
98
- export declare function getSpoofMode(cfg: PluginConfig): CodexSpoofMode;
99
- export declare function getMode(cfg: PluginConfig): PluginRuntimeMode;
100
- export declare function getRotationStrategy(cfg: PluginConfig): RotationStrategy;
101
- export declare function getPromptCacheKeyStrategy(cfg: PluginConfig): PromptCacheKeyStrategy;
102
- export declare function getCompatInputSanitizerEnabled(cfg: PluginConfig): boolean;
103
- export declare function getRemapDeveloperMessagesToUserEnabled(cfg: PluginConfig): boolean;
104
- export declare function getCodexCompactionOverrideEnabled(cfg: PluginConfig): boolean;
105
- export declare function getHeaderSnapshotsEnabled(cfg: PluginConfig): boolean;
106
- export declare function getHeaderTransformDebugEnabled(cfg: PluginConfig): boolean;
107
- export declare function getHeaderSnapshotBodiesEnabled(cfg: PluginConfig): boolean;
108
- export declare function getCollaborationProfileEnabled(cfg: PluginConfig): boolean;
109
- export declare function getOrchestratorSubagentsEnabled(cfg: PluginConfig): boolean;
110
- export declare function getBehaviorSettings(cfg: PluginConfig): BehaviorSettings | undefined;
111
- export declare function getThinkingSummariesOverride(cfg: PluginConfig): boolean | undefined;
1
+ export { CONFIG_FILE, DEFAULT_CODEX_CONFIG, DEFAULT_CODEX_CONFIG_TEMPLATE, type BehaviorSettings, type CodexSpoofMode, type ModelBehaviorOverride, type ModelConfigOverride, type PersonalityOption, type PluginConfig, type PluginRuntimeMode, type PromptCacheKeyStrategy, type VerbosityOption } from "./config/types.js";
2
+ export { type ConfigValidationResult, validateConfigFileObject } from "./config/validation.js";
3
+ export { buildResolvedBehaviorSettings, cloneBehaviorSettings, normalizePersonalityOption, normalizeVerbosityOption, parseConfigFileObject, parseConfigJsonWithComments, parseEnvBoolean, parseEnvNumber, parsePromptCacheKeyStrategy, parseRotationStrategy, parseRuntimeMode, parseSpoofMode } from "./config/parse.js";
4
+ export { ensureDefaultConfigFile, loadConfigFile, resolveDefaultConfigPath, type EnsureDefaultConfigFileResult } from "./config/io.js";
5
+ export { getBehaviorSettings, getCodexCompactionOverrideEnabled, getCollaborationProfileEnabled, getCompatInputSanitizerEnabled, getDebugEnabled, getHeaderSnapshotBodiesEnabled, getHeaderSnapshotsEnabled, getHeaderTransformDebugEnabled, getMode, getOrchestratorSubagentsEnabled, getPersonality, getPidOffsetEnabled, getProactiveRefreshBufferMs, getProactiveRefreshEnabled, getPromptCacheKeyStrategy, getQuietMode, getRemapDeveloperMessagesToUserEnabled, getRotationStrategy, getSpoofMode, getThinkingSummariesOverride, resolveConfig } from "./config/resolve.js";
112
6
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,KAAK,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAE9F,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,KAAK,6BAA6B,EACnC,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,mBAAmB,EACnB,iCAAiC,EACjC,8BAA8B,EAC9B,8BAA8B,EAC9B,eAAe,EACf,8BAA8B,EAC9B,yBAAyB,EACzB,8BAA8B,EAC9B,OAAO,EACP,+BAA+B,EAC/B,cAAc,EACd,mBAAmB,EACnB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,YAAY,EACZ,sCAAsC,EACtC,mBAAmB,EACnB,YAAY,EACZ,4BAA4B,EAC5B,aAAa,EACd,MAAM,qBAAqB,CAAA"}