@getpaseo/server 0.1.70 → 0.1.72

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 (197) hide show
  1. package/dist/server/client/daemon-client.d.ts +24 -4
  2. package/dist/server/client/daemon-client.d.ts.map +1 -1
  3. package/dist/server/client/daemon-client.js +41 -2
  4. package/dist/server/client/daemon-client.js.map +1 -1
  5. package/dist/server/server/agent/agent-manager.d.ts +17 -4
  6. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  7. package/dist/server/server/agent/agent-manager.js +177 -21
  8. package/dist/server/server/agent/agent-manager.js.map +1 -1
  9. package/dist/server/server/agent/agent-metadata-generator.d.ts +2 -0
  10. package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
  11. package/dist/server/server/agent/agent-metadata-generator.js +16 -7
  12. package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
  13. package/dist/server/server/agent/agent-projections.d.ts +6 -2
  14. package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
  15. package/dist/server/server/agent/agent-projections.js +32 -0
  16. package/dist/server/server/agent/agent-projections.js.map +1 -1
  17. package/dist/server/server/agent/agent-prompt.d.ts +72 -0
  18. package/dist/server/server/agent/agent-prompt.d.ts.map +1 -0
  19. package/dist/server/server/agent/agent-prompt.js +169 -0
  20. package/dist/server/server/agent/agent-prompt.js.map +1 -0
  21. package/dist/server/server/agent/agent-response-loop.d.ts.map +1 -1
  22. package/dist/server/server/agent/agent-response-loop.js +2 -1
  23. package/dist/server/server/agent/agent-response-loop.js.map +1 -1
  24. package/dist/server/server/agent/agent-sdk-types.d.ts +12 -0
  25. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
  26. package/dist/server/server/agent/create-agent-mode.d.ts +2 -0
  27. package/dist/server/server/agent/create-agent-mode.d.ts.map +1 -1
  28. package/dist/server/server/agent/create-agent-mode.js +3 -0
  29. package/dist/server/server/agent/create-agent-mode.js.map +1 -1
  30. package/dist/server/server/agent/create-agent-title.d.ts +8 -0
  31. package/dist/server/server/agent/create-agent-title.d.ts.map +1 -0
  32. package/dist/server/server/agent/create-agent-title.js +29 -0
  33. package/dist/server/server/agent/create-agent-title.js.map +1 -0
  34. package/dist/server/server/agent/import-sessions.d.ts +52 -0
  35. package/dist/server/server/agent/import-sessions.d.ts.map +1 -0
  36. package/dist/server/server/agent/import-sessions.js +208 -0
  37. package/dist/server/server/agent/import-sessions.js.map +1 -0
  38. package/dist/server/server/agent/mcp-server.d.ts +1 -1
  39. package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
  40. package/dist/server/server/agent/mcp-server.js +29 -6
  41. package/dist/server/server/agent/mcp-server.js.map +1 -1
  42. package/dist/server/server/agent/mcp-shared.d.ts +1 -47
  43. package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
  44. package/dist/server/server/agent/mcp-shared.js +0 -145
  45. package/dist/server/server/agent/mcp-shared.js.map +1 -1
  46. package/dist/server/server/agent/provider-registry.d.ts +7 -0
  47. package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
  48. package/dist/server/server/agent/provider-registry.js +7 -1
  49. package/dist/server/server/agent/provider-registry.js.map +1 -1
  50. package/dist/server/server/agent/providers/claude/agent.d.ts.map +1 -1
  51. package/dist/server/server/agent/providers/claude/agent.js +15 -0
  52. package/dist/server/server/agent/providers/claude/agent.js.map +1 -1
  53. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts +25 -0
  54. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts.map +1 -0
  55. package/dist/server/server/agent/providers/codex/app-server-transport.js +183 -0
  56. package/dist/server/server/agent/providers/codex/app-server-transport.js.map +1 -0
  57. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +9 -22
  58. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  59. package/dist/server/server/agent/providers/codex-app-server-agent.js +39 -171
  60. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  61. package/dist/server/server/agent/providers/opencode/runtime.d.ts +27 -0
  62. package/dist/server/server/agent/providers/opencode/runtime.d.ts.map +1 -0
  63. package/dist/server/server/agent/providers/opencode/runtime.js +5 -0
  64. package/dist/server/server/agent/providers/opencode/runtime.js.map +1 -0
  65. package/dist/server/server/agent/providers/opencode/server-manager.d.ts +55 -0
  66. package/dist/server/server/agent/providers/opencode/server-manager.d.ts.map +1 -0
  67. package/dist/server/server/agent/providers/opencode/server-manager.js +255 -0
  68. package/dist/server/server/agent/providers/opencode/server-manager.js.map +1 -0
  69. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts +22 -0
  70. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts.map +1 -0
  71. package/dist/server/server/agent/providers/opencode/test-server-manager.js +28 -0
  72. package/dist/server/server/agent/providers/opencode/test-server-manager.js.map +1 -0
  73. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.d.ts +75 -0
  74. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.d.ts.map +1 -0
  75. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.js +169 -0
  76. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.js.map +1 -0
  77. package/dist/server/server/agent/providers/opencode-agent.d.ts +7 -36
  78. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
  79. package/dist/server/server/agent/providers/opencode-agent.js +199 -261
  80. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  81. package/dist/server/server/agent/providers/pi-direct-agent.d.ts +8 -3
  82. package/dist/server/server/agent/providers/pi-direct-agent.d.ts.map +1 -1
  83. package/dist/server/server/agent/providers/pi-direct-agent.js +44 -34
  84. package/dist/server/server/agent/providers/pi-direct-agent.js.map +1 -1
  85. package/dist/server/server/chat/chat-mentions.d.ts +24 -8
  86. package/dist/server/server/chat/chat-mentions.d.ts.map +1 -1
  87. package/dist/server/server/chat/chat-mentions.js +77 -35
  88. package/dist/server/server/chat/chat-mentions.js.map +1 -1
  89. package/dist/server/server/chat/chat-service.d.ts +4 -0
  90. package/dist/server/server/chat/chat-service.d.ts.map +1 -1
  91. package/dist/server/server/chat/chat-service.js +9 -0
  92. package/dist/server/server/chat/chat-service.js.map +1 -1
  93. package/dist/server/server/checkout/status-projection.d.ts +19 -0
  94. package/dist/server/server/checkout/status-projection.d.ts.map +1 -0
  95. package/dist/server/server/checkout/status-projection.js +98 -0
  96. package/dist/server/server/checkout/status-projection.js.map +1 -0
  97. package/dist/server/server/daemon-keypair.d.ts.map +1 -1
  98. package/dist/server/server/daemon-keypair.js +4 -2
  99. package/dist/server/server/daemon-keypair.js.map +1 -1
  100. package/dist/server/server/exports.d.ts +1 -0
  101. package/dist/server/server/exports.d.ts.map +1 -1
  102. package/dist/server/server/exports.js +1 -0
  103. package/dist/server/server/exports.js.map +1 -1
  104. package/dist/server/server/paseo-home.js +2 -2
  105. package/dist/server/server/paseo-home.js.map +1 -1
  106. package/dist/server/server/paseo-worktree-service.d.ts +2 -1
  107. package/dist/server/server/paseo-worktree-service.d.ts.map +1 -1
  108. package/dist/server/server/paseo-worktree-service.js +30 -3
  109. package/dist/server/server/paseo-worktree-service.js.map +1 -1
  110. package/dist/server/server/persisted-config.d.ts.map +1 -1
  111. package/dist/server/server/persisted-config.js +5 -4
  112. package/dist/server/server/persisted-config.js.map +1 -1
  113. package/dist/server/server/private-files.d.ts +7 -0
  114. package/dist/server/server/private-files.d.ts.map +1 -0
  115. package/dist/server/server/private-files.js +42 -0
  116. package/dist/server/server/private-files.js.map +1 -0
  117. package/dist/server/server/push/token-store.d.ts.map +1 -1
  118. package/dist/server/server/push/token-store.js +4 -6
  119. package/dist/server/server/push/token-store.js.map +1 -1
  120. package/dist/server/server/schedule/service.d.ts +1 -1
  121. package/dist/server/server/schedule/service.d.ts.map +1 -1
  122. package/dist/server/server/schedule/service.js +14 -11
  123. package/dist/server/server/schedule/service.js.map +1 -1
  124. package/dist/server/server/server-id.d.ts.map +1 -1
  125. package/dist/server/server/server-id.js +8 -3
  126. package/dist/server/server/server-id.js.map +1 -1
  127. package/dist/server/server/session.d.ts +3 -17
  128. package/dist/server/server/session.d.ts.map +1 -1
  129. package/dist/server/server/session.js +174 -254
  130. package/dist/server/server/session.js.map +1 -1
  131. package/dist/server/server/workspace-directory.d.ts +0 -2
  132. package/dist/server/server/workspace-directory.d.ts.map +1 -1
  133. package/dist/server/server/workspace-directory.js +9 -26
  134. package/dist/server/server/workspace-directory.js.map +1 -1
  135. package/dist/server/server/workspace-git-service.d.ts +2 -1
  136. package/dist/server/server/workspace-git-service.d.ts.map +1 -1
  137. package/dist/server/server/workspace-git-service.js +1 -1
  138. package/dist/server/server/workspace-git-service.js.map +1 -1
  139. package/dist/server/server/worktree-branch-name-generator.d.ts +2 -0
  140. package/dist/server/server/worktree-branch-name-generator.d.ts.map +1 -1
  141. package/dist/server/server/worktree-branch-name-generator.js +18 -11
  142. package/dist/server/server/worktree-branch-name-generator.js.map +1 -1
  143. package/dist/server/services/github-service.d.ts +13 -0
  144. package/dist/server/services/github-service.d.ts.map +1 -1
  145. package/dist/server/services/github-service.js +12 -2
  146. package/dist/server/services/github-service.js.map +1 -1
  147. package/dist/server/shared/agent-labels.d.ts +2 -0
  148. package/dist/server/shared/agent-labels.d.ts.map +1 -0
  149. package/dist/server/shared/agent-labels.js +2 -0
  150. package/dist/server/shared/agent-labels.js.map +1 -0
  151. package/dist/server/shared/agent-state-bucket.d.ts +13 -0
  152. package/dist/server/shared/agent-state-bucket.d.ts.map +1 -0
  153. package/dist/server/shared/agent-state-bucket.js +41 -0
  154. package/dist/server/shared/agent-state-bucket.js.map +1 -0
  155. package/dist/server/shared/git-remote.d.ts +16 -0
  156. package/dist/server/shared/git-remote.d.ts.map +1 -0
  157. package/dist/server/shared/git-remote.js +72 -0
  158. package/dist/server/shared/git-remote.js.map +1 -0
  159. package/dist/server/shared/importable-providers.d.ts +7 -0
  160. package/dist/server/shared/importable-providers.d.ts.map +1 -0
  161. package/dist/server/shared/importable-providers.js +7 -0
  162. package/dist/server/shared/importable-providers.js.map +1 -0
  163. package/dist/server/shared/messages.d.ts +7148 -690
  164. package/dist/server/shared/messages.d.ts.map +1 -1
  165. package/dist/server/shared/messages.js +56 -4
  166. package/dist/server/shared/messages.js.map +1 -1
  167. package/dist/server/utils/build-metadata-prompt.d.ts +14 -0
  168. package/dist/server/utils/build-metadata-prompt.d.ts.map +1 -0
  169. package/dist/server/utils/build-metadata-prompt.js +28 -0
  170. package/dist/server/utils/build-metadata-prompt.js.map +1 -0
  171. package/dist/server/utils/checkout-git.d.ts +3 -1
  172. package/dist/server/utils/checkout-git.d.ts.map +1 -1
  173. package/dist/server/utils/checkout-git.js +3 -0
  174. package/dist/server/utils/checkout-git.js.map +1 -1
  175. package/dist/server/utils/github-remote.d.ts +3 -7
  176. package/dist/server/utils/github-remote.d.ts.map +1 -1
  177. package/dist/server/utils/github-remote.js +4 -70
  178. package/dist/server/utils/github-remote.js.map +1 -1
  179. package/dist/server/utils/paseo-config-schema.d.ts +625 -0
  180. package/dist/server/utils/paseo-config-schema.d.ts.map +1 -1
  181. package/dist/server/utils/paseo-config-schema.js +17 -0
  182. package/dist/server/utils/paseo-config-schema.js.map +1 -1
  183. package/dist/server/utils/wrap-user-instructions.d.ts +2 -0
  184. package/dist/server/utils/wrap-user-instructions.d.ts.map +1 -0
  185. package/dist/server/utils/wrap-user-instructions.js +13 -0
  186. package/dist/server/utils/wrap-user-instructions.js.map +1 -0
  187. package/dist/src/server/paseo-home.js +2 -2
  188. package/dist/src/server/paseo-home.js.map +1 -1
  189. package/dist/src/server/persisted-config.js +5 -4
  190. package/dist/src/server/persisted-config.js.map +1 -1
  191. package/dist/src/server/private-files.js +42 -0
  192. package/dist/src/server/private-files.js.map +1 -0
  193. package/dist/src/shared/messages.js +56 -4
  194. package/dist/src/shared/messages.js.map +1 -1
  195. package/dist/src/utils/paseo-config-schema.js +17 -0
  196. package/dist/src/utils/paseo-config-schema.js.map +1 -1
  197. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-server-transport.d.ts","sourceRoot":"","sources":["../../../../../../src/server/agent/providers/codex/app-server-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAgCnC,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;AACnD,KAAK,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAqBrE,qBAAa,oBAAoB;IAU7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAM;gBAGP,KAAK,EAAE,8BAA8B,EACrC,MAAM,EAAE,MAAM;IAyCjC,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAI1D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,SAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3F,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAQxC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B9B,OAAO,CAAC,oBAAoB;YAWd,UAAU;CAkDzB"}
@@ -0,0 +1,183 @@
1
+ import readline from "node:readline";
2
+ import { terminateWithTreeKill } from "../../../../utils/tree-kill.js";
3
+ const DEFAULT_TIMEOUT_MS = 14 * 24 * 60 * 60 * 1000;
4
+ const APP_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT_MS = 2000;
5
+ const APP_SERVER_FORCE_SHUTDOWN_TIMEOUT_MS = 1000;
6
+ const STDERR_BUFFER_LIMIT = 8192;
7
+ function isRecord(value) {
8
+ return value != null && typeof value === "object" && !Array.isArray(value);
9
+ }
10
+ function isJsonRpcResponse(msg) {
11
+ if (!isRecord(msg))
12
+ return false;
13
+ return typeof msg.id === "number";
14
+ }
15
+ function isJsonRpcRequest(msg) {
16
+ if (!isRecord(msg))
17
+ return false;
18
+ return typeof msg.id === "number" && typeof msg.method === "string";
19
+ }
20
+ function isJsonRpcNotification(msg) {
21
+ if (!isRecord(msg))
22
+ return false;
23
+ return typeof msg.method === "string" && msg.id === undefined;
24
+ }
25
+ export class CodexAppServerClient {
26
+ constructor(child, logger) {
27
+ this.child = child;
28
+ this.logger = logger;
29
+ this.pending = new Map();
30
+ this.requestHandlers = new Map();
31
+ this.notificationHandler = null;
32
+ this.nextId = 1;
33
+ this.disposed = false;
34
+ this.stderrBuffer = "";
35
+ this.rl = readline.createInterface({ input: child.stdout });
36
+ this.rl.on("line", (line) => {
37
+ void this.handleLine(line).catch((error) => {
38
+ this.logger.warn({ error, line }, "Failed to handle Codex app-server stdout line");
39
+ });
40
+ });
41
+ child.stderr.on("data", (chunk) => {
42
+ this.stderrBuffer += chunk.toString();
43
+ if (this.stderrBuffer.length > STDERR_BUFFER_LIMIT) {
44
+ this.stderrBuffer = this.stderrBuffer.slice(-STDERR_BUFFER_LIMIT);
45
+ }
46
+ });
47
+ child.on("error", (err) => {
48
+ this.logger.error({ err }, "Codex app-server child process error");
49
+ for (const pending of this.pending.values()) {
50
+ clearTimeout(pending.timer);
51
+ pending.reject(err);
52
+ }
53
+ this.pending.clear();
54
+ this.disposed = true;
55
+ });
56
+ child.on("exit", (code, signal) => {
57
+ const message = code === 0 && !signal
58
+ ? "Codex app-server exited"
59
+ : `Codex app-server exited with code ${code ?? "null"} and signal ${signal ?? "null"}`;
60
+ const error = new Error(`${message}\n${this.stderrBuffer}`.trim());
61
+ for (const pending of this.pending.values()) {
62
+ clearTimeout(pending.timer);
63
+ pending.reject(error);
64
+ }
65
+ this.pending.clear();
66
+ this.disposed = true;
67
+ });
68
+ }
69
+ setNotificationHandler(handler) {
70
+ this.notificationHandler = handler;
71
+ }
72
+ setRequestHandler(method, handler) {
73
+ this.requestHandlers.set(method, handler);
74
+ }
75
+ request(method, params, timeoutMs = DEFAULT_TIMEOUT_MS) {
76
+ if (this.disposed) {
77
+ return Promise.reject(new Error("Codex app-server client is closed"));
78
+ }
79
+ const id = this.nextId++;
80
+ const payload = { id, method, params };
81
+ const serialized = JSON.stringify(payload);
82
+ this.child.stdin.write(`${serialized}\n`);
83
+ return new Promise((resolve, reject) => {
84
+ const timer = setTimeout(() => {
85
+ this.pending.delete(id);
86
+ reject(new Error(`Codex app-server request timed out for ${method}`));
87
+ }, timeoutMs);
88
+ this.pending.set(id, { resolve, reject, timer });
89
+ });
90
+ }
91
+ notify(method, params) {
92
+ if (this.disposed) {
93
+ return;
94
+ }
95
+ const payload = { method, params };
96
+ this.child.stdin.write(`${JSON.stringify(payload)}\n`);
97
+ }
98
+ async dispose() {
99
+ if (this.disposed)
100
+ return;
101
+ this.disposed = true;
102
+ this.rl.close();
103
+ try {
104
+ this.child.stdin.end();
105
+ }
106
+ catch {
107
+ // ignore
108
+ }
109
+ const result = await terminateWithTreeKill(this.child, {
110
+ gracefulTimeoutMs: APP_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT_MS,
111
+ forceTimeoutMs: APP_SERVER_FORCE_SHUTDOWN_TIMEOUT_MS,
112
+ onForceSignal: () => {
113
+ this.logger.warn({ timeoutMs: APP_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT_MS }, "Codex app-server did not exit after SIGTERM; sending SIGKILL");
114
+ },
115
+ });
116
+ if (result === "kill-timeout") {
117
+ this.logger.warn({ timeoutMs: APP_SERVER_FORCE_SHUTDOWN_TIMEOUT_MS }, "Codex app-server did not report exit after SIGKILL");
118
+ }
119
+ }
120
+ writeJsonRpcResponse(response) {
121
+ if (this.disposed || this.child.stdin.destroyed || !this.child.stdin.writable) {
122
+ return;
123
+ }
124
+ try {
125
+ this.child.stdin.write(`${JSON.stringify(response)}\n`);
126
+ }
127
+ catch (error) {
128
+ this.logger.debug({ error }, "Failed to write Codex app-server JSON-RPC response");
129
+ }
130
+ }
131
+ async handleLine(line) {
132
+ if (!line.trim())
133
+ return;
134
+ let raw;
135
+ try {
136
+ raw = JSON.parse(line);
137
+ }
138
+ catch (error) {
139
+ this.logger.warn({ error, line }, "Ignoring non-JSON Codex app-server stdout line");
140
+ return;
141
+ }
142
+ if (!isRecord(raw)) {
143
+ this.logger.warn({ line }, "Parsed JSON is not an object");
144
+ return;
145
+ }
146
+ if (isJsonRpcResponse(raw)) {
147
+ const id = raw.id;
148
+ if (raw.result !== undefined || raw.error) {
149
+ const pending = this.pending.get(id);
150
+ if (!pending)
151
+ return;
152
+ clearTimeout(pending.timer);
153
+ this.pending.delete(id);
154
+ if (raw.error) {
155
+ pending.reject(new Error(raw.error.message ?? "Unknown error"));
156
+ }
157
+ else {
158
+ pending.resolve(raw.result);
159
+ }
160
+ return;
161
+ }
162
+ if (isJsonRpcRequest(raw)) {
163
+ const request = raw;
164
+ const handler = this.requestHandlers.get(request.method);
165
+ try {
166
+ const result = handler ? await handler(request.params) : {};
167
+ this.writeJsonRpcResponse({ id: request.id, result });
168
+ }
169
+ catch (error) {
170
+ this.writeJsonRpcResponse({
171
+ id: request.id,
172
+ error: { message: error instanceof Error ? error.message : String(error) },
173
+ });
174
+ }
175
+ return;
176
+ }
177
+ }
178
+ if (isJsonRpcNotification(raw)) {
179
+ this.notificationHandler?.(raw.method, raw.params);
180
+ }
181
+ }
182
+ }
183
+ //# sourceMappingURL=app-server-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-server-transport.js","sourceRoot":"","sources":["../../../../../../src/server/agent/providers/codex/app-server-transport.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,22 @@
1
- import type { AgentCapabilityFlags, AgentClient, AgentCreateSessionOptions, AgentFeature, AgentLaunchContext, AgentMode, AgentModelDefinition, AgentPermissionRequest, AgentPermissionResponse, AgentPermissionResult, AgentPromptContentBlock, AgentPromptInput, AgentRunOptions, AgentRunResult, AgentRuntimeInfo, AgentSession, AgentSessionConfig, AgentSlashCommand, AgentStreamEvent, AgentTimelineItem, ToolCallTimelineItem, AgentUsage, ListModelsOptions, ListPersistedAgentsOptions, PersistedAgentDescriptor } from "../agent-sdk-types.js";
1
+ import type { AgentCapabilityFlags, AgentClient, AgentCreateSessionOptions, AgentFeature, AgentLaunchContext, AgentMode, AgentModelDefinition, AgentPersistenceHandle, AgentPermissionRequest, AgentPermissionResponse, AgentPermissionResult, AgentPromptContentBlock, AgentPromptInput, AgentRunOptions, AgentRunResult, AgentRuntimeInfo, AgentSession, AgentSessionConfig, AgentSlashCommand, AgentStreamEvent, AgentTimelineItem, ToolCallTimelineItem, AgentUsage, ListModelsOptions, ListPersistedAgentsOptions, PersistedAgentDescriptor } from "../agent-sdk-types.js";
2
2
  import type { Logger } from "pino";
3
3
  import type { ChildProcessWithoutNullStreams } from "node:child_process";
4
4
  import { type ProviderRuntimeSettings } from "../provider-launch-config.js";
5
5
  import { codexModelSupportsFastMode } from "./codex-feature-definitions.js";
6
+ import { CodexAppServerClient } from "./codex/app-server-transport.js";
6
7
  import type { WorkspaceGitService } from "../../workspace-git-service.js";
7
8
  declare const CODEX_PROVIDER: "codex";
9
+ interface CodexAppServerClientLike {
10
+ request(method: string, params?: unknown): Promise<unknown>;
11
+ notify(method: string, params?: unknown): void;
12
+ dispose(): Promise<void>;
13
+ }
8
14
  interface CodexAppServerAgentDeps {
9
15
  workspaceGitService?: Pick<WorkspaceGitService, "resolveRepoRoot">;
16
+ _createCodexClient?: (child: ChildProcessWithoutNullStreams, logger: Logger) => CodexAppServerClientLike;
10
17
  }
11
18
  declare function normalizeCodexOutputSchema(schema: unknown): Record<string, unknown>;
12
19
  declare function listCodexSkills(cwd: string, workspaceGitService?: Pick<WorkspaceGitService, "resolveRepoRoot">): Promise<AgentSlashCommand[]>;
13
- type RequestHandler = (params: unknown) => unknown;
14
- type NotificationHandler = (method: string, params: unknown) => void;
15
- declare class CodexAppServerClient {
16
- private readonly child;
17
- private readonly logger;
18
- private readonly rl;
19
- private readonly pending;
20
- private readonly requestHandlers;
21
- private notificationHandler;
22
- private nextId;
23
- private disposed;
24
- private stderrBuffer;
25
- constructor(child: ChildProcessWithoutNullStreams, logger: Logger);
26
- setNotificationHandler(handler: NotificationHandler): void;
27
- setRequestHandler(method: string, handler: RequestHandler): void;
28
- request(method: string, params?: unknown, timeoutMs?: number): Promise<unknown>;
29
- notify(method: string, params?: unknown): void;
30
- private writeJsonRpcResponse;
31
- dispose(): Promise<void>;
32
- private handleLine;
33
- }
34
20
  declare function toAgentUsage(tokenUsage: unknown): AgentUsage | undefined;
35
21
  declare function planStepsToMarkdown(steps: Array<{
36
22
  step: string;
@@ -267,6 +253,7 @@ export declare class CodexAppServerAgentClient implements AgentClient {
267
253
  }, overrides?: Partial<AgentSessionConfig>, launchContext?: AgentLaunchContext): Promise<AgentSession>;
268
254
  listPersistedAgents(options?: ListPersistedAgentsOptions): Promise<PersistedAgentDescriptor[]>;
269
255
  listModels(_options: ListModelsOptions): Promise<AgentModelDefinition[]>;
256
+ archiveNativeSession(handle: AgentPersistenceHandle): Promise<void>;
270
257
  isAvailable(): Promise<boolean>;
271
258
  getDiagnostic(): Promise<{
272
259
  diagnostic: string;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-app-server-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/codex-app-server-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-app-server-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/codex-app-server-agent.ts"],"names":[],"mappings":"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"}
@@ -4,17 +4,16 @@ import * as fsSync from "node:fs";
4
4
  import fs from "node:fs/promises";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
7
- import readline from "node:readline";
8
7
  import { z } from "zod";
9
8
  import { renderPromptAttachmentAsText } from "../prompt-attachments.js";
10
9
  import { curateAgentActivity } from "../activity-curator.js";
11
10
  import { mapCodexRolloutToolCall, mapCodexToolCallFromThreadItem, } from "./codex/tool-call-mapper.js";
12
11
  import { createProviderEnv, createProviderEnvSpec, resolveProviderCommandPrefix, } from "../provider-launch-config.js";
13
12
  import { findExecutable, isCommandAvailable } from "../../../utils/executable.js";
14
- import { terminateWithTreeKill } from "../../../utils/tree-kill.js";
15
13
  import { spawnProcess } from "../../../utils/spawn.js";
16
14
  import { extractCodexTerminalSessionId, nonEmptyString } from "./tool-call-mapper-utils.js";
17
15
  import { buildCodexFeatures, codexModelSupportsFastMode } from "./codex-feature-definitions.js";
16
+ import { CodexAppServerClient } from "./codex/app-server-transport.js";
18
17
  import { renderProviderImageOutputAsAssistantMarkdown, } from "./provider-image-output.js";
19
18
  import { formatDiagnosticStatus, formatProviderDiagnostic, formatProviderDiagnosticError, resolveBinaryVersion, toDiagnosticErrorMessage, } from "./diagnostic-utils.js";
20
19
  import { runProviderTurn } from "./provider-runner.js";
@@ -26,11 +25,8 @@ function assertChildWithPipes(child) {
26
25
  function isRecord(value) {
27
26
  return value != null && typeof value === "object" && !Array.isArray(value);
28
27
  }
29
- const DEFAULT_TIMEOUT_MS = 14 * 24 * 60 * 60 * 1000;
30
28
  const TURN_START_TIMEOUT_MS = 90 * 1000;
31
29
  const INTERRUPT_TIMEOUT_MS = 2000;
32
- const APP_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT_MS = 2000;
33
- const APP_SERVER_FORCE_SHUTDOWN_TIMEOUT_MS = 1000;
34
30
  const CODEX_PROVIDER = "codex";
35
31
  const CODEX_IMAGE_ATTACHMENT_DIR = "paseo-attachments";
36
32
  const ASSISTANT_MESSAGE_BOUNDARY_MARKDOWN = "\n\n---\n\n";
@@ -458,23 +454,6 @@ function toCodexMcpConfig(config) {
458
454
  }
459
455
  }
460
456
  }
461
- function isJsonRpcResponse(msg) {
462
- if (!isRecord(msg))
463
- return false;
464
- if (typeof msg.id !== "number")
465
- return false;
466
- return msg.result !== undefined || !!msg.error;
467
- }
468
- function isJsonRpcRequest(msg) {
469
- if (!isRecord(msg))
470
- return false;
471
- return typeof msg.id === "number" && typeof msg.method === "string";
472
- }
473
- function isJsonRpcNotification(msg) {
474
- if (!isRecord(msg))
475
- return false;
476
- return typeof msg.method === "string" && typeof msg.id !== "number";
477
- }
478
457
  function toObjectRecord(value) {
479
458
  return isRecord(value) ? value : undefined;
480
459
  }
@@ -496,153 +475,15 @@ const CodexModelListResponseSchema = z.object({
496
475
  }))
497
476
  .optional(),
498
477
  });
499
- class CodexAppServerClient {
500
- constructor(child, logger) {
501
- this.child = child;
502
- this.logger = logger;
503
- this.pending = new Map();
504
- this.requestHandlers = new Map();
505
- this.notificationHandler = null;
506
- this.nextId = 1;
507
- this.disposed = false;
508
- this.stderrBuffer = "";
509
- this.rl = readline.createInterface({ input: child.stdout });
510
- this.rl.on("line", (line) => this.handleLine(line));
511
- child.stderr.on("data", (chunk) => {
512
- this.stderrBuffer += chunk.toString();
513
- if (this.stderrBuffer.length > 8192) {
514
- this.stderrBuffer = this.stderrBuffer.slice(-8192);
515
- }
516
- });
517
- child.on("error", (err) => {
518
- this.logger.error({ err }, "Codex app-server child process error");
519
- for (const pending of this.pending.values()) {
520
- clearTimeout(pending.timer);
521
- pending.reject(err);
522
- }
523
- this.pending.clear();
524
- this.disposed = true;
525
- });
526
- child.on("exit", (code, signal) => {
527
- const message = code === 0 && !signal
528
- ? "Codex app-server exited"
529
- : `Codex app-server exited with code ${code ?? "null"} and signal ${signal ?? "null"}`;
530
- const error = new Error(`${message}\n${this.stderrBuffer}`.trim());
531
- for (const pending of this.pending.values()) {
532
- clearTimeout(pending.timer);
533
- pending.reject(error);
534
- }
535
- this.pending.clear();
536
- this.disposed = true;
537
- });
538
- }
539
- setNotificationHandler(handler) {
540
- this.notificationHandler = handler;
541
- }
542
- setRequestHandler(method, handler) {
543
- this.requestHandlers.set(method, handler);
544
- }
545
- request(method, params, timeoutMs = DEFAULT_TIMEOUT_MS) {
546
- if (this.disposed) {
547
- return Promise.reject(new Error("Codex app-server client is closed"));
548
- }
549
- const id = this.nextId++;
550
- const payload = { id, method, params };
551
- const serialized = JSON.stringify(payload);
552
- this.child.stdin.write(`${serialized}\n`);
553
- return new Promise((resolve, reject) => {
554
- const timer = setTimeout(() => {
555
- this.pending.delete(id);
556
- reject(new Error(`Codex app-server request timed out for ${method}`));
557
- }, timeoutMs);
558
- this.pending.set(id, { resolve, reject, timer });
559
- });
560
- }
561
- notify(method, params) {
562
- if (this.disposed) {
563
- return;
564
- }
565
- const payload = { method, params };
566
- this.child.stdin.write(`${JSON.stringify(payload)}\n`);
567
- }
568
- writeJsonRpcResponse(response) {
569
- if (this.disposed || this.child.stdin.destroyed || !this.child.stdin.writable) {
570
- return;
571
- }
572
- try {
573
- this.child.stdin.write(`${JSON.stringify(response)}\n`);
574
- }
575
- catch (error) {
576
- this.logger.debug({ error }, "Failed to write Codex app-server JSON-RPC response");
577
- }
578
- }
579
- async dispose() {
580
- if (this.disposed)
581
- return;
582
- this.disposed = true;
583
- this.rl.close();
584
- try {
585
- this.child.stdin.end();
586
- }
587
- catch {
588
- // ignore
589
- }
590
- const result = await terminateWithTreeKill(this.child, {
591
- gracefulTimeoutMs: APP_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT_MS,
592
- forceTimeoutMs: APP_SERVER_FORCE_SHUTDOWN_TIMEOUT_MS,
593
- onForceSignal: () => {
594
- this.logger.warn({ timeoutMs: APP_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT_MS }, "Codex app-server did not exit after SIGTERM; sending SIGKILL");
595
- },
596
- });
597
- if (result === "kill-timeout") {
598
- this.logger.warn({ timeoutMs: APP_SERVER_FORCE_SHUTDOWN_TIMEOUT_MS }, "Codex app-server did not report exit after SIGKILL");
599
- }
600
- }
601
- async handleLine(line) {
602
- if (!line.trim())
603
- return;
604
- const raw = JSON.parse(line);
605
- if (!isRecord(raw)) {
606
- this.logger.warn({ line }, "Parsed JSON is not an object");
607
- return;
608
- }
609
- if (isJsonRpcResponse(raw)) {
610
- const id = raw.id;
611
- if (raw.result !== undefined || raw.error) {
612
- const pending = this.pending.get(id);
613
- if (!pending)
614
- return;
615
- clearTimeout(pending.timer);
616
- this.pending.delete(id);
617
- if (raw.error) {
618
- pending.reject(new Error(raw.error.message ?? "Unknown error"));
619
- }
620
- else {
621
- pending.resolve(raw.result);
622
- }
623
- return;
624
- }
625
- // Server-initiated request
626
- if (isJsonRpcRequest(raw)) {
627
- const request = raw;
628
- const handler = this.requestHandlers.get(request.method);
629
- try {
630
- const result = handler ? await handler(request.params) : {};
631
- this.writeJsonRpcResponse({ id: request.id, result });
632
- }
633
- catch (error) {
634
- this.writeJsonRpcResponse({
635
- id: request.id,
636
- error: { message: error instanceof Error ? error.message : String(error) },
637
- });
638
- }
639
- return;
640
- }
641
- }
642
- if (isJsonRpcNotification(raw)) {
643
- this.notificationHandler?.(raw.method, raw.params);
644
- }
478
+ function filterCodexThreadsByCwd(threads, cwd) {
479
+ if (!cwd) {
480
+ return threads;
645
481
  }
482
+ // thread/list rows carry an optional cwd. The descriptor builder later
483
+ // falls back to process.cwd() if the field is missing, so we only match
484
+ // here when the row genuinely carries a cwd string — otherwise threads
485
+ // with no cwd would falsely match the daemon's own cwd.
486
+ return threads.filter((thread) => typeof thread.cwd === "string" && thread.cwd === cwd);
646
487
  }
647
488
  function toAgentUsage(tokenUsage) {
648
489
  const usage = toObjectRecord(tokenUsage);
@@ -3817,6 +3658,11 @@ export class CodexAppServerAgentClient {
3817
3658
  return child;
3818
3659
  }
3819
3660
  async createSession(config, launchContext, options) {
3661
+ if (options?.persistSession === false) {
3662
+ this.logger.debug("Codex app-server does not expose an ephemeral-session option; persistSession=false is currently a no-op");
3663
+ // TODO: Honor persistSession=false if app-server adds support, or route
3664
+ // utility generations through `codex exec --ephemeral` in a larger change.
3665
+ }
3820
3666
  const sessionConfig = { ...config, provider: CODEX_PROVIDER };
3821
3667
  const goalsEnabled = await this.resolveGoalsEnabled();
3822
3668
  const session = new CodexAppServerAgentSession(sessionConfig, null, this.logger, () => this.spawnAppServer(launchContext?.env, { goalsEnabled }), this.deps, options?.persistSession === false, goalsEnabled);
@@ -3838,13 +3684,20 @@ export class CodexAppServerAgentClient {
3838
3684
  }
3839
3685
  async listPersistedAgents(options) {
3840
3686
  const child = await this.spawnAppServer();
3841
- const client = new CodexAppServerClient(child, this.logger);
3687
+ const client = this.deps._createCodexClient?.(child, this.logger) ??
3688
+ new CodexAppServerClient(child, this.logger);
3842
3689
  try {
3843
3690
  await client.request("initialize", buildCodexAppServerInitializeParams());
3844
3691
  client.notify("initialized", {});
3845
3692
  const limit = options?.limit ?? 20;
3846
- const response = toObjectRecord(await client.request("thread/list", { limit }));
3847
- const threads = Array.isArray(response?.data) ? response.data : [];
3693
+ // thread/list returns the cheap `cwd` field. When the caller supplied
3694
+ // a cwd hint we filter here so the per-thread `thread/read includeTurns`
3695
+ // hydration below only runs for matching threads. Fetch a wider window
3696
+ // when filtering since most threads will be from other cwds.
3697
+ const listLimit = options?.cwd ? Math.max(limit, 50) : limit;
3698
+ const response = toObjectRecord(await client.request("thread/list", { limit: listLimit }));
3699
+ const allThreads = Array.isArray(response?.data) ? response.data.filter(isRecord) : [];
3700
+ const threads = filterCodexThreadsByCwd(allThreads, options?.cwd);
3848
3701
  const descriptors = await Promise.all(threads.slice(0, limit).map(async (thread) => {
3849
3702
  const threadId = typeof thread.id === "string" ? thread.id : "";
3850
3703
  const cwd = typeof thread.cwd === "string" ? thread.cwd : process.cwd();
@@ -3916,6 +3769,21 @@ export class CodexAppServerAgentClient {
3916
3769
  await client.dispose();
3917
3770
  }
3918
3771
  }
3772
+ async archiveNativeSession(handle) {
3773
+ const threadId = handle.nativeHandle ?? handle.sessionId;
3774
+ if (!threadId)
3775
+ return;
3776
+ const child = await this.spawnAppServer();
3777
+ const client = new CodexAppServerClient(child, this.logger);
3778
+ try {
3779
+ await client.request("initialize", buildCodexAppServerInitializeParams());
3780
+ client.notify("initialized", {});
3781
+ await client.request("thread/archive", { threadId });
3782
+ }
3783
+ finally {
3784
+ await client.dispose();
3785
+ }
3786
+ }
3919
3787
  async isAvailable() {
3920
3788
  const command = this.runtimeSettings?.command;
3921
3789
  if (command?.mode === "replace") {