@very_aq/codex-cli-web 0.0.1

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 (204) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +228 -0
  3. package/README.zh-CN.md +228 -0
  4. package/package.json +38 -0
  5. package/server/dist/admin/userAdminRoutes.d.ts +7 -0
  6. package/server/dist/admin/userAdminRoutes.js +91 -0
  7. package/server/dist/admin/userAdminRoutes.js.map +1 -0
  8. package/server/dist/app.d.ts +22 -0
  9. package/server/dist/app.js +993 -0
  10. package/server/dist/app.js.map +1 -0
  11. package/server/dist/auth/adminInit.d.ts +41 -0
  12. package/server/dist/auth/adminInit.js +126 -0
  13. package/server/dist/auth/adminInit.js.map +1 -0
  14. package/server/dist/auth/bootstrapAdmin.d.ts +6 -0
  15. package/server/dist/auth/bootstrapAdmin.js +11 -0
  16. package/server/dist/auth/bootstrapAdmin.js.map +1 -0
  17. package/server/dist/auth/httpAuth.d.ts +16 -0
  18. package/server/dist/auth/httpAuth.js +31 -0
  19. package/server/dist/auth/httpAuth.js.map +1 -0
  20. package/server/dist/auth/password.d.ts +2 -0
  21. package/server/dist/auth/password.js +68 -0
  22. package/server/dist/auth/password.js.map +1 -0
  23. package/server/dist/auth/requireAdmin.d.ts +2 -0
  24. package/server/dist/auth/requireAdmin.js +14 -0
  25. package/server/dist/auth/requireAdmin.js.map +1 -0
  26. package/server/dist/auth/roles.d.ts +3 -0
  27. package/server/dist/auth/roles.js +13 -0
  28. package/server/dist/auth/roles.js.map +1 -0
  29. package/server/dist/auth/session.d.ts +24 -0
  30. package/server/dist/auth/session.js +127 -0
  31. package/server/dist/auth/session.js.map +1 -0
  32. package/server/dist/auth/sqlite/authDb.d.ts +18 -0
  33. package/server/dist/auth/sqlite/authDb.js +26 -0
  34. package/server/dist/auth/sqlite/authDb.js.map +1 -0
  35. package/server/dist/auth/sqlite/legacyImport.d.ts +22 -0
  36. package/server/dist/auth/sqlite/legacyImport.js +208 -0
  37. package/server/dist/auth/sqlite/legacyImport.js.map +1 -0
  38. package/server/dist/auth/sqlite/schema.d.ts +11 -0
  39. package/server/dist/auth/sqlite/schema.js +47 -0
  40. package/server/dist/auth/sqlite/schema.js.map +1 -0
  41. package/server/dist/auth/sqlite/sqliteUserStore.d.ts +12 -0
  42. package/server/dist/auth/sqlite/sqliteUserStore.js +194 -0
  43. package/server/dist/auth/sqlite/sqliteUserStore.js.map +1 -0
  44. package/server/dist/auth/userStore.d.ts +19 -0
  45. package/server/dist/auth/userStore.js +26 -0
  46. package/server/dist/auth/userStore.js.map +1 -0
  47. package/server/dist/auth/userTypes.d.ts +13 -0
  48. package/server/dist/auth/userTypes.js +3 -0
  49. package/server/dist/auth/userTypes.js.map +1 -0
  50. package/server/dist/chat/attachmentPathRedaction.d.ts +5 -0
  51. package/server/dist/chat/attachmentPathRedaction.js +67 -0
  52. package/server/dist/chat/attachmentPathRedaction.js.map +1 -0
  53. package/server/dist/chat/chatItemEnricher.d.ts +5 -0
  54. package/server/dist/chat/chatItemEnricher.js +40 -0
  55. package/server/dist/chat/chatItemEnricher.js.map +1 -0
  56. package/server/dist/chat/codexEventProjector.d.ts +33 -0
  57. package/server/dist/chat/codexEventProjector.js +482 -0
  58. package/server/dist/chat/codexEventProjector.js.map +1 -0
  59. package/server/dist/chat/contextUsageProjector.d.ts +10 -0
  60. package/server/dist/chat/contextUsageProjector.js +472 -0
  61. package/server/dist/chat/contextUsageProjector.js.map +1 -0
  62. package/server/dist/chat/fileChangeExtractor.d.ts +5 -0
  63. package/server/dist/chat/fileChangeExtractor.js +121 -0
  64. package/server/dist/chat/fileChangeExtractor.js.map +1 -0
  65. package/server/dist/chat/markdown/markdownAst.d.ts +5 -0
  66. package/server/dist/chat/markdown/markdownAst.js +154 -0
  67. package/server/dist/chat/markdown/markdownAst.js.map +1 -0
  68. package/server/dist/chat/systemToolCallSummary.d.ts +10 -0
  69. package/server/dist/chat/systemToolCallSummary.js +112 -0
  70. package/server/dist/chat/systemToolCallSummary.js.map +1 -0
  71. package/server/dist/chat/terminal/terminalPlainText.d.ts +14 -0
  72. package/server/dist/chat/terminal/terminalPlainText.js +139 -0
  73. package/server/dist/chat/terminal/terminalPlainText.js.map +1 -0
  74. package/server/dist/chat/textMetrics.d.ts +9 -0
  75. package/server/dist/chat/textMetrics.js +24 -0
  76. package/server/dist/chat/textMetrics.js.map +1 -0
  77. package/server/dist/chat/threadTurnsProjector.d.ts +12 -0
  78. package/server/dist/chat/threadTurnsProjector.js +292 -0
  79. package/server/dist/chat/threadTurnsProjector.js.map +1 -0
  80. package/server/dist/chat/todoPlanProjector.d.ts +8 -0
  81. package/server/dist/chat/todoPlanProjector.js +94 -0
  82. package/server/dist/chat/todoPlanProjector.js.map +1 -0
  83. package/server/dist/chat/todoPlanTypes.d.ts +21 -0
  84. package/server/dist/chat/todoPlanTypes.js +3 -0
  85. package/server/dist/chat/todoPlanTypes.js.map +1 -0
  86. package/server/dist/chat/types.d.ts +138 -0
  87. package/server/dist/chat/types.js +3 -0
  88. package/server/dist/chat/types.js.map +1 -0
  89. package/server/dist/cli/configArg.d.ts +21 -0
  90. package/server/dist/cli/configArg.js +70 -0
  91. package/server/dist/cli/configArg.js.map +1 -0
  92. package/server/dist/codex/appServerProcess.d.ts +24 -0
  93. package/server/dist/codex/appServerProcess.js +56 -0
  94. package/server/dist/codex/appServerProcess.js.map +1 -0
  95. package/server/dist/codex/cliArgs.d.ts +17 -0
  96. package/server/dist/codex/cliArgs.js +34 -0
  97. package/server/dist/codex/cliArgs.js.map +1 -0
  98. package/server/dist/codex/codexAppServer.d.ts +103 -0
  99. package/server/dist/codex/codexAppServer.js +206 -0
  100. package/server/dist/codex/codexAppServer.js.map +1 -0
  101. package/server/dist/codex/jsonl.d.ts +4 -0
  102. package/server/dist/codex/jsonl.js +23 -0
  103. package/server/dist/codex/jsonl.js.map +1 -0
  104. package/server/dist/codex/jsonrpc.d.ts +43 -0
  105. package/server/dist/codex/jsonrpc.js +96 -0
  106. package/server/dist/codex/jsonrpc.js.map +1 -0
  107. package/server/dist/config/serverConfig.d.ts +150 -0
  108. package/server/dist/config/serverConfig.js +64 -0
  109. package/server/dist/config/serverConfig.js.map +1 -0
  110. package/server/dist/env.d.ts +101 -0
  111. package/server/dist/env.js +523 -0
  112. package/server/dist/env.js.map +1 -0
  113. package/server/dist/history/http/historyRoutes.d.ts +18 -0
  114. package/server/dist/history/http/historyRoutes.js +67 -0
  115. package/server/dist/history/http/historyRoutes.js.map +1 -0
  116. package/server/dist/history/index.d.ts +24 -0
  117. package/server/dist/history/index.js +30 -0
  118. package/server/dist/history/index.js.map +1 -0
  119. package/server/dist/history/ingest/historyIngestService.d.ts +15 -0
  120. package/server/dist/history/ingest/historyIngestService.js +42 -0
  121. package/server/dist/history/ingest/historyIngestService.js.map +1 -0
  122. package/server/dist/history/projector/extractIds.d.ts +36 -0
  123. package/server/dist/history/projector/extractIds.js +111 -0
  124. package/server/dist/history/projector/extractIds.js.map +1 -0
  125. package/server/dist/history/projector/projectCodexEvent.d.ts +27 -0
  126. package/server/dist/history/projector/projectCodexEvent.js +845 -0
  127. package/server/dist/history/projector/projectCodexEvent.js.map +1 -0
  128. package/server/dist/history/query/historyQueryService.d.ts +34 -0
  129. package/server/dist/history/query/historyQueryService.js +170 -0
  130. package/server/dist/history/query/historyQueryService.js.map +1 -0
  131. package/server/dist/history/sqlite/schema.d.ts +11 -0
  132. package/server/dist/history/sqlite/schema.js +34 -0
  133. package/server/dist/history/sqlite/schema.js.map +1 -0
  134. package/server/dist/history/sqlite/sqliteHistoryStore.d.ts +69 -0
  135. package/server/dist/history/sqlite/sqliteHistoryStore.js +206 -0
  136. package/server/dist/history/sqlite/sqliteHistoryStore.js.map +1 -0
  137. package/server/dist/history/types.d.ts +29 -0
  138. package/server/dist/history/types.js +3 -0
  139. package/server/dist/history/types.js.map +1 -0
  140. package/server/dist/index.d.ts +1 -0
  141. package/server/dist/index.js +166 -0
  142. package/server/dist/index.js.map +1 -0
  143. package/server/dist/security/executionPolicy.d.ts +33 -0
  144. package/server/dist/security/executionPolicy.js +72 -0
  145. package/server/dist/security/executionPolicy.js.map +1 -0
  146. package/server/dist/security/origin.d.ts +11 -0
  147. package/server/dist/security/origin.js +40 -0
  148. package/server/dist/security/origin.js.map +1 -0
  149. package/server/dist/settings/sqliteUserSettingsStore.d.ts +12 -0
  150. package/server/dist/settings/sqliteUserSettingsStore.js +62 -0
  151. package/server/dist/settings/sqliteUserSettingsStore.js.map +1 -0
  152. package/server/dist/settings/userSettingsRoutes.d.ts +8 -0
  153. package/server/dist/settings/userSettingsRoutes.js +55 -0
  154. package/server/dist/settings/userSettingsRoutes.js.map +1 -0
  155. package/server/dist/settings/userSettingsStore.d.ts +19 -0
  156. package/server/dist/settings/userSettingsStore.js +26 -0
  157. package/server/dist/settings/userSettingsStore.js.map +1 -0
  158. package/server/dist/settings/userSettingsTypes.d.ts +70 -0
  159. package/server/dist/settings/userSettingsTypes.js +196 -0
  160. package/server/dist/settings/userSettingsTypes.js.map +1 -0
  161. package/server/dist/status/codexTaskTracker.d.ts +21 -0
  162. package/server/dist/status/codexTaskTracker.js +123 -0
  163. package/server/dist/status/codexTaskTracker.js.map +1 -0
  164. package/server/dist/status/threadContextUsage.d.ts +19 -0
  165. package/server/dist/status/threadContextUsage.js +229 -0
  166. package/server/dist/status/threadContextUsage.js.map +1 -0
  167. package/server/dist/threadList/threadListServerCache.d.ts +10 -0
  168. package/server/dist/threadList/threadListServerCache.js +42 -0
  169. package/server/dist/threadList/threadListServerCache.js.map +1 -0
  170. package/server/dist/tools/cwdSuggest.d.ts +11 -0
  171. package/server/dist/tools/cwdSuggest.js +128 -0
  172. package/server/dist/tools/cwdSuggest.js.map +1 -0
  173. package/server/dist/workspace/accessControl.d.ts +16 -0
  174. package/server/dist/workspace/accessControl.js +82 -0
  175. package/server/dist/workspace/accessControl.js.map +1 -0
  176. package/server/dist/workspace/sqliteUserWorkspaceStore.d.ts +12 -0
  177. package/server/dist/workspace/sqliteUserWorkspaceStore.js +82 -0
  178. package/server/dist/workspace/sqliteUserWorkspaceStore.js.map +1 -0
  179. package/server/dist/workspace/threadAccess.d.ts +19 -0
  180. package/server/dist/workspace/threadAccess.js +22 -0
  181. package/server/dist/workspace/threadAccess.js.map +1 -0
  182. package/server/dist/workspace/threadListVisibility.d.ts +25 -0
  183. package/server/dist/workspace/threadListVisibility.js +104 -0
  184. package/server/dist/workspace/threadListVisibility.js.map +1 -0
  185. package/server/dist/workspace/userWorkspaceRoutes.d.ts +7 -0
  186. package/server/dist/workspace/userWorkspaceRoutes.js +124 -0
  187. package/server/dist/workspace/userWorkspaceRoutes.js.map +1 -0
  188. package/server/dist/workspace/userWorkspaceStore.d.ts +12 -0
  189. package/server/dist/workspace/userWorkspaceStore.js +23 -0
  190. package/server/dist/workspace/userWorkspaceStore.js.map +1 -0
  191. package/server/dist/ws/socketIoBridge.d.ts +32 -0
  192. package/server/dist/ws/socketIoBridge.js +194 -0
  193. package/server/dist/ws/socketIoBridge.js.map +1 -0
  194. package/server/dist/ws/types.d.ts +113 -0
  195. package/server/dist/ws/types.js +3 -0
  196. package/server/dist/ws/types.js.map +1 -0
  197. package/server/dist/ws/wsHub.d.ts +119 -0
  198. package/server/dist/ws/wsHub.js +1259 -0
  199. package/server/dist/ws/wsHub.js.map +1 -0
  200. package/web/dist/assets/index-CY6cnwQz.js +174 -0
  201. package/web/dist/assets/index-DI7kJHr2.css +32 -0
  202. package/web/dist/favicon-mask.svg +9 -0
  203. package/web/dist/favicon.svg +26 -0
  204. package/web/dist/index.html +75 -0
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JsonRpcClient = void 0;
4
+ class JsonRpcClient {
5
+ transport;
6
+ opts;
7
+ idCounter = 0;
8
+ pendingRequests = new Map();
9
+ notificationHandlers = new Set();
10
+ serverRequestHandler = null;
11
+ constructor(transport, opts = {}) {
12
+ this.transport = transport;
13
+ this.opts = opts;
14
+ }
15
+ onNotification(handler) {
16
+ this.notificationHandlers.add(handler);
17
+ return () => this.notificationHandlers.delete(handler);
18
+ }
19
+ onServerRequest(handler) {
20
+ this.serverRequestHandler = handler;
21
+ }
22
+ request(method, params) {
23
+ const id = this.nextId();
24
+ const timeoutMs = this.opts.timeoutMs ?? 60_000;
25
+ const promise = new Promise((resolve, reject) => {
26
+ const timeout = setTimeout(() => {
27
+ this.pendingRequests.delete(id);
28
+ reject(new Error(`JSON-RPC request timed out: ${method}`));
29
+ }, timeoutMs);
30
+ this.pendingRequests.set(id, { resolve: (v) => resolve(v), reject, timeout });
31
+ });
32
+ this.transport.send({ jsonrpc: "2.0", id, method, params });
33
+ return promise;
34
+ }
35
+ notify(method, params) {
36
+ this.transport.send({ jsonrpc: "2.0", method, params });
37
+ }
38
+ respond(id, result) {
39
+ const message = { jsonrpc: "2.0", id, result };
40
+ this.transport.send(message);
41
+ }
42
+ respondError(id, error) {
43
+ const message = { jsonrpc: "2.0", id, error };
44
+ this.transport.send(message);
45
+ }
46
+ async handleMessage(message) {
47
+ if (typeof message !== "object" || message === null)
48
+ return;
49
+ const msg = message;
50
+ const hasId = msg.id !== undefined && msg.id !== null;
51
+ const hasMethod = typeof msg.method === "string";
52
+ if (hasMethod && hasId) {
53
+ const req = { id: msg.id, method: msg.method, params: msg.params };
54
+ if (!this.serverRequestHandler) {
55
+ this.respondError(req.id, { code: -32601, message: "No server request handler registered" });
56
+ return;
57
+ }
58
+ try {
59
+ const result = await this.serverRequestHandler(req);
60
+ this.respond(req.id, result);
61
+ }
62
+ catch (err) {
63
+ this.respondError(req.id, { code: -32000, message: "Server request handler failed", data: String(err) });
64
+ }
65
+ return;
66
+ }
67
+ if (hasMethod && !hasId) {
68
+ for (const handler of this.notificationHandlers) {
69
+ handler(msg.method, msg.params);
70
+ }
71
+ return;
72
+ }
73
+ if (hasId && ("result" in msg || "error" in msg)) {
74
+ const pending = this.pendingRequests.get(msg.id);
75
+ if (!pending)
76
+ return;
77
+ clearTimeout(pending.timeout);
78
+ this.pendingRequests.delete(msg.id);
79
+ if (msg.error) {
80
+ const error = msg.error;
81
+ pending.reject(Object.assign(new Error(error.message), { code: error.code, data: error.data }));
82
+ }
83
+ else {
84
+ pending.resolve(msg.result);
85
+ }
86
+ return;
87
+ }
88
+ }
89
+ nextId() {
90
+ this.idCounter += 1;
91
+ const prefix = this.opts.idPrefix ?? "c-";
92
+ return `${prefix}${this.idCounter}`;
93
+ }
94
+ }
95
+ exports.JsonRpcClient = JsonRpcClient;
96
+ //# sourceMappingURL=jsonrpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../src/codex/jsonrpc.ts"],"names":[],"mappings":";;;AA4BA,MAAa,aAAa;IAeL;IACA;IAfX,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,IAAI,GAAG,EAO9B,CAAC;IAEI,oBAAoB,GAAG,IAAI,GAAG,EAAuB,CAAC;IACtD,oBAAoB,GAAgC,IAAI,CAAC;IAEjE,YACmB,SAA2B,EAC3B,OAAkD,EAAE;QADpD,cAAS,GAAT,SAAS,CAAkB;QAC3B,SAAI,GAAJ,IAAI,CAAgD;IACpE,CAAC;IAEJ,cAAc,CAAC,OAA4B;QACzC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,eAAe,CAAC,OAA6B;QAC3C,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,OAAO,CAAc,MAAc,EAAE,MAAgB;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,MAAgB;QACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,EAAa,EAAE,MAAe;QACpC,MAAM,OAAO,GAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,EAAa,EAAE,KAAmB;QAC7C,MAAM,OAAO,GAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAgB;QAClC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO;QAE5D,MAAM,GAAG,GAAG,OAAc,CAAC;QAE3B,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,KAAK,SAAS,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC;QACtD,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;QAEjD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,GAAkB,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;YAClF,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;gBAC7F,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEpC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,GAAG,CAAC,KAAqB,CAAC;gBACxC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC1C,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACtC,CAAC;CACF;AAhHD,sCAgHC"}
@@ -0,0 +1,150 @@
1
+ import type { CodexHistoryPersistence } from "../codex/cliArgs";
2
+ import type { WebHistoryMode } from "../history/types";
3
+ /**
4
+ * 默认数据库目录。
5
+ * Default database directory.
6
+ */
7
+ export declare const DEFAULT_CODEX_WEB_DB_DIR: string;
8
+ /**
9
+ * 默认历史数据库路径。
10
+ * Default history db path.
11
+ */
12
+ export declare const DEFAULT_CODEX_WEB_HISTORY_DB_PATH: string;
13
+ /**
14
+ * 默认认证数据库路径。
15
+ * Default auth db path.
16
+ */
17
+ export declare const DEFAULT_CODEX_WEB_AUTH_DB_PATH: string;
18
+ /**
19
+ * 服务端集中配置类型。
20
+ * Centralized server configuration type.
21
+ */
22
+ export type ServerConfig = {
23
+ /**
24
+ * Web 服务配置。
25
+ * Web service settings.
26
+ */
27
+ web: {
28
+ /**
29
+ * Web 服务监听地址。
30
+ * Web server bind host.
31
+ */
32
+ host: string;
33
+ /**
34
+ * Web 服务监听端口。
35
+ * Web server bind port.
36
+ */
37
+ port: number;
38
+ /**
39
+ * 首次打开线程的 turns 上限。
40
+ * Initial turn limit when opening a thread.
41
+ */
42
+ openThreadTurnsLimit: number;
43
+ /**
44
+ * 单文件上传体积上限(字节)。
45
+ * Max bytes for a single upload file.
46
+ */
47
+ maxUploadBytes: number;
48
+ /**
49
+ * 上传目录根路径(相对路径时基于 CODEX_CWD)。
50
+ * Upload base directory (relative path resolves from CODEX_CWD).
51
+ */
52
+ uploadBaseDir: string;
53
+ /**
54
+ * Web 历史配置。
55
+ * Web history settings.
56
+ */
57
+ history: {
58
+ /**
59
+ * 历史模式(off/shadow/primary)。
60
+ * History mode (off/shadow/primary).
61
+ */
62
+ mode: WebHistoryMode;
63
+ /**
64
+ * SQLite 历史文件路径(相对路径时基于仓库根目录)。
65
+ * SQLite history db path (relative path resolves from workspace root).
66
+ */
67
+ dbPath: string;
68
+ };
69
+ };
70
+ /**
71
+ * 认证与用户数据配置。
72
+ * Auth and user data settings.
73
+ */
74
+ auth: {
75
+ /**
76
+ * 会话签名密钥;为空时运行期自动生成。
77
+ * Session signing token; auto-generated at runtime when empty.
78
+ */
79
+ sessionToken: string;
80
+ /**
81
+ * 旧版用户仓库文件路径(仅用于迁移导入;相对路径时基于 CODEX_CWD)。
82
+ * Legacy user store file path (import compatibility only; relative path resolves from CODEX_CWD).
83
+ */
84
+ usersFile: string;
85
+ /**
86
+ * 旧版用户工作区仓库文件路径(仅用于迁移导入;相对路径时基于 CODEX_CWD)。
87
+ * Legacy user workspace file path (import compatibility only; relative path resolves from CODEX_CWD).
88
+ */
89
+ userWorkspacesFile: string;
90
+ /**
91
+ * 认证与工作区设置 SQLite 路径(相对路径时基于 CODEX_CWD)。
92
+ * Auth/settings SQLite db path (relative path resolves from CODEX_CWD).
93
+ */
94
+ dbPath: string;
95
+ };
96
+ /**
97
+ * Codex 运行配置。
98
+ * Codex runtime settings.
99
+ */
100
+ codex: {
101
+ /**
102
+ * Codex 可执行命令名。
103
+ * Codex executable name.
104
+ */
105
+ bin: string;
106
+ /**
107
+ * Codex 工作目录(相对路径时基于仓库根目录)。
108
+ * Codex working directory (relative path resolves from workspace root).
109
+ */
110
+ cwd: string;
111
+ /**
112
+ * 全局允许的工作目录根列表(为空时按默认策略回退)。
113
+ * Global allowed cwd roots (fallbacks to default policy when empty).
114
+ */
115
+ allowedCwdRoots: string[];
116
+ /**
117
+ * Codex 审批策略。
118
+ * Codex approval policy.
119
+ */
120
+ approvalPolicy: "untrusted" | "on-failure" | "on-request" | "never";
121
+ /**
122
+ * Codex 沙箱模式。
123
+ * Codex sandbox mode.
124
+ */
125
+ sandboxMode: "read-only" | "workspace-write" | "danger-full-access";
126
+ /**
127
+ * Codex history.persistence 默认覆盖值;null 表示不覆盖。
128
+ * Default override for codex history.persistence; null means no override.
129
+ */
130
+ historyPersistence: CodexHistoryPersistence | null;
131
+ /**
132
+ * Codex disable_response_storage 默认覆盖值;null 表示不覆盖。
133
+ * Default override for codex disable_response_storage; null means no override.
134
+ */
135
+ disableResponseStorage: boolean | null;
136
+ };
137
+ };
138
+ /**
139
+ * 服务端集中配置(中英文注释)。
140
+ * Centralized server config (with Chinese and English comments).
141
+ *
142
+ * 说明:
143
+ * - 这是“默认配置”入口;
144
+ * - 若同时设置了对应环境变量,环境变量仍会优先。
145
+ *
146
+ * Notes:
147
+ * - This file is the source for default configuration;
148
+ * - Matching env vars still take precedence when provided.
149
+ */
150
+ export declare const SERVER_CONFIG: ServerConfig;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SERVER_CONFIG = exports.DEFAULT_CODEX_WEB_AUTH_DB_PATH = exports.DEFAULT_CODEX_WEB_HISTORY_DB_PATH = exports.DEFAULT_CODEX_WEB_DB_DIR = void 0;
7
+ const os_1 = __importDefault(require("os"));
8
+ const path_1 = __importDefault(require("path"));
9
+ /**
10
+ * 默认数据库目录。
11
+ * Default database directory.
12
+ */
13
+ exports.DEFAULT_CODEX_WEB_DB_DIR = path_1.default.join(os_1.default.homedir(), ".codex_cli_web");
14
+ /**
15
+ * 默认历史数据库路径。
16
+ * Default history db path.
17
+ */
18
+ exports.DEFAULT_CODEX_WEB_HISTORY_DB_PATH = path_1.default.join(exports.DEFAULT_CODEX_WEB_DB_DIR, "history.db");
19
+ /**
20
+ * 默认认证数据库路径。
21
+ * Default auth db path.
22
+ */
23
+ exports.DEFAULT_CODEX_WEB_AUTH_DB_PATH = path_1.default.join(exports.DEFAULT_CODEX_WEB_DB_DIR, "auth.db");
24
+ /**
25
+ * 服务端集中配置(中英文注释)。
26
+ * Centralized server config (with Chinese and English comments).
27
+ *
28
+ * 说明:
29
+ * - 这是“默认配置”入口;
30
+ * - 若同时设置了对应环境变量,环境变量仍会优先。
31
+ *
32
+ * Notes:
33
+ * - This file is the source for default configuration;
34
+ * - Matching env vars still take precedence when provided.
35
+ */
36
+ exports.SERVER_CONFIG = {
37
+ web: {
38
+ host: "127.0.0.1",
39
+ port: 8787,
40
+ openThreadTurnsLimit: Number.MAX_SAFE_INTEGER,
41
+ maxUploadBytes: 100 * 1024 * 1024,
42
+ uploadBaseDir: ".codex-web/uploads",
43
+ history: {
44
+ mode: "primary",
45
+ dbPath: exports.DEFAULT_CODEX_WEB_HISTORY_DB_PATH,
46
+ },
47
+ },
48
+ auth: {
49
+ sessionToken: "",
50
+ usersFile: ".codex-web/users.json",
51
+ userWorkspacesFile: ".codex-web/user-workspaces.json",
52
+ dbPath: exports.DEFAULT_CODEX_WEB_AUTH_DB_PATH,
53
+ },
54
+ codex: {
55
+ bin: "codex",
56
+ cwd: ".",
57
+ allowedCwdRoots: [],
58
+ approvalPolicy: "on-request",
59
+ sandboxMode: "workspace-write",
60
+ historyPersistence: null,
61
+ disableResponseStorage: null,
62
+ },
63
+ };
64
+ //# sourceMappingURL=serverConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverConfig.js","sourceRoot":"","sources":["../../src/config/serverConfig.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAIxB;;;GAGG;AACU,QAAA,wBAAwB,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;AAElF;;;GAGG;AACU,QAAA,iCAAiC,GAAG,cAAI,CAAC,IAAI,CAAC,gCAAwB,EAAE,YAAY,CAAC,CAAC;AAEnG;;;GAGG;AACU,QAAA,8BAA8B,GAAG,cAAI,CAAC,IAAI,CAAC,gCAAwB,EAAE,SAAS,CAAC,CAAC;AA2H7F;;;;;;;;;;;GAWG;AACU,QAAA,aAAa,GAAiB;IACzC,GAAG,EAAE;QACH,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;QACV,oBAAoB,EAAE,MAAM,CAAC,gBAAgB;QAC7C,cAAc,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;QACjC,aAAa,EAAE,oBAAoB;QACnC,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,yCAAiC;SAC1C;KACF;IACD,IAAI,EAAE;QACJ,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,uBAAuB;QAClC,kBAAkB,EAAE,iCAAiC;QACrD,MAAM,EAAE,sCAA8B;KACvC;IACD,KAAK,EAAE;QACL,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,GAAG;QACR,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,YAAY;QAC5B,WAAW,EAAE,iBAAiB;QAC9B,kBAAkB,EAAE,IAAI;QACxB,sBAAsB,EAAE,IAAI;KAC7B;CACF,CAAC"}
@@ -0,0 +1,101 @@
1
+ import type { CodexHistoryPersistence } from "./codex/cliArgs";
2
+ import type { WebHistoryMode } from "./history/types";
3
+ export declare const WORKSPACE_ROOT: string;
4
+ export { type WebHistoryMode };
5
+ /**
6
+ * 获取 Web 监听地址。
7
+ * Get web bind host.
8
+ */
9
+ export declare function getHost(): string;
10
+ /**
11
+ * 获取 Web 监听端口。
12
+ * Get web bind port.
13
+ */
14
+ export declare function getPort(): number;
15
+ /**
16
+ * 获取会话签名密钥。
17
+ * Get session token secret.
18
+ */
19
+ export declare function getSessionToken(): string;
20
+ /**
21
+ * 获取 Codex 可执行命令。
22
+ * Get codex executable command.
23
+ */
24
+ export declare function getCodexBin(): string;
25
+ /**
26
+ * 获取 Codex 工作目录。
27
+ * Get codex working directory.
28
+ */
29
+ export declare function getCodexCwd(): string;
30
+ /**
31
+ * 获取 Web 历史模式:
32
+ * - off: 完全关闭 SQLite 历史链路。
33
+ * - shadow: 保留旧读取链路,仅做 SQLite 双写。
34
+ * - primary: 读取优先走 SQLite 历史接口。
35
+ *
36
+ * Get web history mode:
37
+ * - off: disable sqlite history runtime.
38
+ * - shadow: keep old read path with sqlite dual-write.
39
+ * - primary: use sqlite as primary read path.
40
+ */
41
+ export declare function getWebHistoryMode(): WebHistoryMode;
42
+ /**
43
+ * 获取 Web 历史 SQLite 路径;支持相对路径并统一转绝对路径。
44
+ * Get web history sqlite path as an absolute path.
45
+ */
46
+ export declare function getWebHistoryDbPath(): string;
47
+ /**
48
+ * 获取打开线程时的 turns 数量上限。
49
+ * Get open-thread turns limit.
50
+ */
51
+ export declare function getWebOpenThreadTurnsLimit(): number;
52
+ /**
53
+ * 获取认证/工作区设置 SQLite 路径。
54
+ * Get auth/settings sqlite path.
55
+ */
56
+ export declare function getCodexWebAuthDbPath(): string;
57
+ /**
58
+ * 获取用户仓库存储文件路径。
59
+ * Get legacy user-store json path.
60
+ */
61
+ export declare function getCodexWebUsersFile(): string;
62
+ /**
63
+ * 获取用户工作区仓库存储文件路径。
64
+ * Get legacy user-workspace-store json path.
65
+ */
66
+ export declare function getCodexWebUserWorkspacesFile(): string;
67
+ /**
68
+ * 获取全局允许的 cwd 根目录列表。
69
+ * Get globally allowed cwd roots.
70
+ */
71
+ export declare function getCodexAllowedCwdRoots(): string[];
72
+ /**
73
+ * 获取 Codex 审批策略。
74
+ * Get codex approval policy.
75
+ */
76
+ export declare function getCodexApprovalPolicy(): "untrusted" | "on-failure" | "on-request" | "never";
77
+ /**
78
+ * 获取 Codex 沙箱模式。
79
+ * Get codex sandbox mode.
80
+ */
81
+ export declare function getCodexSandboxMode(): "read-only" | "workspace-write" | "danger-full-access";
82
+ /**
83
+ * 可选覆盖 Codex 的 history.persistence。
84
+ * Optional override for codex history.persistence.
85
+ */
86
+ export declare function getCodexHistoryPersistence(): CodexHistoryPersistence | null;
87
+ /**
88
+ * 可选覆盖 Codex 的 disable_response_storage。
89
+ * Optional override for codex disable_response_storage.
90
+ */
91
+ export declare function getCodexDisableResponseStorage(): boolean | null;
92
+ /**
93
+ * 获取上传单文件最大体积(字节)。
94
+ * Get max upload bytes for a single file.
95
+ */
96
+ export declare function getWebMaxUploadBytes(): number;
97
+ /**
98
+ * 获取上传目录根路径(按用户子目录继续划分)。
99
+ * Get upload base directory (per-user subdirs are created under it).
100
+ */
101
+ export declare function getWebUploadBaseDir(): string;