@aria-cli/tools 1.0.11 → 1.0.13

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 (231) hide show
  1. package/dist-cjs/index.js +400 -436
  2. package/dist-cjs/network-runtime/index.js +8 -173
  3. package/package.json +6 -6
  4. package/dist-cjs/ask-user-interaction.js +0 -28
  5. package/dist-cjs/ask-user-interaction.js.map +0 -1
  6. package/dist-cjs/cache/web-cache.js +0 -71
  7. package/dist-cjs/cache/web-cache.js.map +0 -1
  8. package/dist-cjs/definitions/arion.js +0 -108
  9. package/dist-cjs/definitions/arion.js.map +0 -1
  10. package/dist-cjs/definitions/browser/browser.js +0 -422
  11. package/dist-cjs/definitions/browser/browser.js.map +0 -1
  12. package/dist-cjs/definitions/browser/index.js +0 -9
  13. package/dist-cjs/definitions/browser/index.js.map +0 -1
  14. package/dist-cjs/definitions/browser/pw-downloads.js +0 -118
  15. package/dist-cjs/definitions/browser/pw-downloads.js.map +0 -1
  16. package/dist-cjs/definitions/browser/pw-interactions.js +0 -214
  17. package/dist-cjs/definitions/browser/pw-interactions.js.map +0 -1
  18. package/dist-cjs/definitions/browser/pw-responses.js +0 -85
  19. package/dist-cjs/definitions/browser/pw-responses.js.map +0 -1
  20. package/dist-cjs/definitions/browser/pw-session.js +0 -327
  21. package/dist-cjs/definitions/browser/pw-session.js.map +0 -1
  22. package/dist-cjs/definitions/browser/pw-shared.js +0 -73
  23. package/dist-cjs/definitions/browser/pw-shared.js.map +0 -1
  24. package/dist-cjs/definitions/browser/pw-snapshot.js +0 -308
  25. package/dist-cjs/definitions/browser/pw-snapshot.js.map +0 -1
  26. package/dist-cjs/definitions/browser/pw-state.js +0 -71
  27. package/dist-cjs/definitions/browser/pw-state.js.map +0 -1
  28. package/dist-cjs/definitions/browser/types.js +0 -6
  29. package/dist-cjs/definitions/browser/types.js.map +0 -1
  30. package/dist-cjs/definitions/code-intelligence.js +0 -474
  31. package/dist-cjs/definitions/code-intelligence.js.map +0 -1
  32. package/dist-cjs/definitions/core.js +0 -134
  33. package/dist-cjs/definitions/core.js.map +0 -1
  34. package/dist-cjs/definitions/delegation.js +0 -516
  35. package/dist-cjs/definitions/delegation.js.map +0 -1
  36. package/dist-cjs/definitions/deploy.js +0 -69
  37. package/dist-cjs/definitions/deploy.js.map +0 -1
  38. package/dist-cjs/definitions/filesystem.js +0 -200
  39. package/dist-cjs/definitions/filesystem.js.map +0 -1
  40. package/dist-cjs/definitions/frg.js +0 -67
  41. package/dist-cjs/definitions/frg.js.map +0 -1
  42. package/dist-cjs/definitions/index.js +0 -44
  43. package/dist-cjs/definitions/index.js.map +0 -1
  44. package/dist-cjs/definitions/memory.js +0 -127
  45. package/dist-cjs/definitions/memory.js.map +0 -1
  46. package/dist-cjs/definitions/messaging.js +0 -632
  47. package/dist-cjs/definitions/messaging.js.map +0 -1
  48. package/dist-cjs/definitions/meta.js +0 -353
  49. package/dist-cjs/definitions/meta.js.map +0 -1
  50. package/dist-cjs/definitions/network.js +0 -163
  51. package/dist-cjs/definitions/network.js.map +0 -1
  52. package/dist-cjs/definitions/outlook.js +0 -281
  53. package/dist-cjs/definitions/outlook.js.map +0 -1
  54. package/dist-cjs/definitions/patch/apply-patch.js +0 -192
  55. package/dist-cjs/definitions/patch/apply-patch.js.map +0 -1
  56. package/dist-cjs/definitions/patch/fuzzy-match.js +0 -173
  57. package/dist-cjs/definitions/patch/fuzzy-match.js.map +0 -1
  58. package/dist-cjs/definitions/patch/index.js +0 -6
  59. package/dist-cjs/definitions/patch/index.js.map +0 -1
  60. package/dist-cjs/definitions/patch/patch-parser.js +0 -216
  61. package/dist-cjs/definitions/patch/patch-parser.js.map +0 -1
  62. package/dist-cjs/definitions/patch/sandbox-paths.js +0 -114
  63. package/dist-cjs/definitions/patch/sandbox-paths.js.map +0 -1
  64. package/dist-cjs/definitions/process/index.js +0 -9
  65. package/dist-cjs/definitions/process/index.js.map +0 -1
  66. package/dist-cjs/definitions/process/process-registry.js +0 -232
  67. package/dist-cjs/definitions/process/process-registry.js.map +0 -1
  68. package/dist-cjs/definitions/process/process.js +0 -390
  69. package/dist-cjs/definitions/process/process.js.map +0 -1
  70. package/dist-cjs/definitions/process/pty-keys.js +0 -260
  71. package/dist-cjs/definitions/process/pty-keys.js.map +0 -1
  72. package/dist-cjs/definitions/process/session-slug.js +0 -146
  73. package/dist-cjs/definitions/process/session-slug.js.map +0 -1
  74. package/dist-cjs/definitions/quip.js +0 -199
  75. package/dist-cjs/definitions/quip.js.map +0 -1
  76. package/dist-cjs/definitions/search.js +0 -64
  77. package/dist-cjs/definitions/search.js.map +0 -1
  78. package/dist-cjs/definitions/session-history.js +0 -73
  79. package/dist-cjs/definitions/session-history.js.map +0 -1
  80. package/dist-cjs/definitions/shell.js +0 -185
  81. package/dist-cjs/definitions/shell.js.map +0 -1
  82. package/dist-cjs/definitions/slack.js +0 -184
  83. package/dist-cjs/definitions/slack.js.map +0 -1
  84. package/dist-cjs/definitions/web.js +0 -113
  85. package/dist-cjs/definitions/web.js.map +0 -1
  86. package/dist-cjs/executors/apply-patch.js +0 -939
  87. package/dist-cjs/executors/apply-patch.js.map +0 -1
  88. package/dist-cjs/executors/arion.js +0 -126
  89. package/dist-cjs/executors/arion.js.map +0 -1
  90. package/dist-cjs/executors/code-intelligence.js +0 -926
  91. package/dist-cjs/executors/code-intelligence.js.map +0 -1
  92. package/dist-cjs/executors/deploy.js +0 -870
  93. package/dist-cjs/executors/deploy.js.map +0 -1
  94. package/dist-cjs/executors/filesystem.js +0 -1168
  95. package/dist-cjs/executors/filesystem.js.map +0 -1
  96. package/dist-cjs/executors/frg-freshness.js +0 -628
  97. package/dist-cjs/executors/frg-freshness.js.map +0 -1
  98. package/dist-cjs/executors/frg.js +0 -335
  99. package/dist-cjs/executors/frg.js.map +0 -1
  100. package/dist-cjs/executors/index.js +0 -144
  101. package/dist-cjs/executors/index.js.map +0 -1
  102. package/dist-cjs/executors/learning-meta.js +0 -1166
  103. package/dist-cjs/executors/learning-meta.js.map +0 -1
  104. package/dist-cjs/executors/lsp-client.js +0 -311
  105. package/dist-cjs/executors/lsp-client.js.map +0 -1
  106. package/dist-cjs/executors/memory.js +0 -797
  107. package/dist-cjs/executors/memory.js.map +0 -1
  108. package/dist-cjs/executors/meta.js +0 -227
  109. package/dist-cjs/executors/meta.js.map +0 -1
  110. package/dist-cjs/executors/process-registry.js +0 -470
  111. package/dist-cjs/executors/process-registry.js.map +0 -1
  112. package/dist-cjs/executors/pty-session-store.js +0 -35
  113. package/dist-cjs/executors/pty-session-store.js.map +0 -1
  114. package/dist-cjs/executors/pty.js +0 -313
  115. package/dist-cjs/executors/pty.js.map +0 -1
  116. package/dist-cjs/executors/restart.js +0 -156
  117. package/dist-cjs/executors/restart.js.map +0 -1
  118. package/dist-cjs/executors/search-freshness.js +0 -235
  119. package/dist-cjs/executors/search-freshness.js.map +0 -1
  120. package/dist-cjs/executors/search-types.js +0 -57
  121. package/dist-cjs/executors/search-types.js.map +0 -1
  122. package/dist-cjs/executors/search.js +0 -103
  123. package/dist-cjs/executors/search.js.map +0 -1
  124. package/dist-cjs/executors/self-diagnose.js +0 -435
  125. package/dist-cjs/executors/self-diagnose.js.map +0 -1
  126. package/dist-cjs/executors/session-history.js +0 -321
  127. package/dist-cjs/executors/session-history.js.map +0 -1
  128. package/dist-cjs/executors/shell-safety.js +0 -479
  129. package/dist-cjs/executors/shell-safety.js.map +0 -1
  130. package/dist-cjs/executors/shell.js +0 -1002
  131. package/dist-cjs/executors/shell.js.map +0 -1
  132. package/dist-cjs/executors/utils.js +0 -74
  133. package/dist-cjs/executors/utils.js.map +0 -1
  134. package/dist-cjs/executors/web.js +0 -548
  135. package/dist-cjs/executors/web.js.map +0 -1
  136. package/dist-cjs/extraction/content-extraction.js +0 -244
  137. package/dist-cjs/extraction/content-extraction.js.map +0 -1
  138. package/dist-cjs/extraction/index.js +0 -9
  139. package/dist-cjs/extraction/index.js.map +0 -1
  140. package/dist-cjs/headless-control-contract.js +0 -973
  141. package/dist-cjs/headless-control-contract.js.map +0 -1
  142. package/dist-cjs/index.js.map +0 -1
  143. package/dist-cjs/local-control-http-auth.js +0 -6
  144. package/dist-cjs/local-control-http-auth.js.map +0 -1
  145. package/dist-cjs/mcp/client.js +0 -186
  146. package/dist-cjs/mcp/client.js.map +0 -1
  147. package/dist-cjs/mcp/connection.js +0 -485
  148. package/dist-cjs/mcp/connection.js.map +0 -1
  149. package/dist-cjs/mcp/index.js +0 -31
  150. package/dist-cjs/mcp/index.js.map +0 -1
  151. package/dist-cjs/mcp/jsonrpc.js +0 -149
  152. package/dist-cjs/mcp/jsonrpc.js.map +0 -1
  153. package/dist-cjs/mcp/types.js +0 -9
  154. package/dist-cjs/mcp/types.js.map +0 -1
  155. package/dist-cjs/network-control-adapter.js +0 -78
  156. package/dist-cjs/network-control-adapter.js.map +0 -1
  157. package/dist-cjs/network-runtime/address-types.js +0 -169
  158. package/dist-cjs/network-runtime/address-types.js.map +0 -1
  159. package/dist-cjs/network-runtime/db-owner-fencing.js +0 -77
  160. package/dist-cjs/network-runtime/db-owner-fencing.js.map +0 -1
  161. package/dist-cjs/network-runtime/delivery-receipts.js +0 -277
  162. package/dist-cjs/network-runtime/delivery-receipts.js.map +0 -1
  163. package/dist-cjs/network-runtime/direct-endpoint-authority.js +0 -30
  164. package/dist-cjs/network-runtime/direct-endpoint-authority.js.map +0 -1
  165. package/dist-cjs/network-runtime/index.js.map +0 -1
  166. package/dist-cjs/network-runtime/local-control-contract.js +0 -634
  167. package/dist-cjs/network-runtime/local-control-contract.js.map +0 -1
  168. package/dist-cjs/network-runtime/node-store-contract.js +0 -39
  169. package/dist-cjs/network-runtime/node-store-contract.js.map +0 -1
  170. package/dist-cjs/network-runtime/pair-route-contract.js +0 -81
  171. package/dist-cjs/network-runtime/pair-route-contract.js.map +0 -1
  172. package/dist-cjs/network-runtime/peer-capabilities.js +0 -38
  173. package/dist-cjs/network-runtime/peer-capabilities.js.map +0 -1
  174. package/dist-cjs/network-runtime/peer-principal-ref.js +0 -16
  175. package/dist-cjs/network-runtime/peer-principal-ref.js.map +0 -1
  176. package/dist-cjs/network-runtime/peer-state-machine.js +0 -130
  177. package/dist-cjs/network-runtime/peer-state-machine.js.map +0 -1
  178. package/dist-cjs/network-runtime/protocol-schemas.js +0 -213
  179. package/dist-cjs/network-runtime/protocol-schemas.js.map +0 -1
  180. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +0 -64
  181. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js.map +0 -1
  182. package/dist-cjs/outlook/desktop-session.js +0 -319
  183. package/dist-cjs/outlook/desktop-session.js.map +0 -1
  184. package/dist-cjs/policy.js +0 -156
  185. package/dist-cjs/policy.js.map +0 -1
  186. package/dist-cjs/providers/brave.js +0 -67
  187. package/dist-cjs/providers/brave.js.map +0 -1
  188. package/dist-cjs/providers/duckduckgo.js +0 -181
  189. package/dist-cjs/providers/duckduckgo.js.map +0 -1
  190. package/dist-cjs/providers/exa.js +0 -68
  191. package/dist-cjs/providers/exa.js.map +0 -1
  192. package/dist-cjs/providers/firecrawl.js +0 -60
  193. package/dist-cjs/providers/firecrawl.js.map +0 -1
  194. package/dist-cjs/providers/index.js +0 -18
  195. package/dist-cjs/providers/index.js.map +0 -1
  196. package/dist-cjs/providers/jina.js +0 -54
  197. package/dist-cjs/providers/jina.js.map +0 -1
  198. package/dist-cjs/providers/router.js +0 -101
  199. package/dist-cjs/providers/router.js.map +0 -1
  200. package/dist-cjs/providers/search-provider.js +0 -37
  201. package/dist-cjs/providers/search-provider.js.map +0 -1
  202. package/dist-cjs/providers/tavily.js +0 -59
  203. package/dist-cjs/providers/tavily.js.map +0 -1
  204. package/dist-cjs/quip/desktop-session.js +0 -354
  205. package/dist-cjs/quip/desktop-session.js.map +0 -1
  206. package/dist-cjs/registry/index.js +0 -7
  207. package/dist-cjs/registry/index.js.map +0 -1
  208. package/dist-cjs/registry/registry.js +0 -762
  209. package/dist-cjs/registry/registry.js.map +0 -1
  210. package/dist-cjs/runtime-socket-local-control-client.js +0 -368
  211. package/dist-cjs/runtime-socket-local-control-client.js.map +0 -1
  212. package/dist-cjs/security/dns-normalization.js +0 -23
  213. package/dist-cjs/security/dns-normalization.js.map +0 -1
  214. package/dist-cjs/security/dns-pinning.js +0 -161
  215. package/dist-cjs/security/dns-pinning.js.map +0 -1
  216. package/dist-cjs/security/external-content.js +0 -96
  217. package/dist-cjs/security/external-content.js.map +0 -1
  218. package/dist-cjs/security/ssrf.js +0 -222
  219. package/dist-cjs/security/ssrf.js.map +0 -1
  220. package/dist-cjs/slack/desktop-session.js +0 -367
  221. package/dist-cjs/slack/desktop-session.js.map +0 -1
  222. package/dist-cjs/tool-factory.js +0 -51
  223. package/dist-cjs/tool-factory.js.map +0 -1
  224. package/dist-cjs/types.js +0 -9
  225. package/dist-cjs/types.js.map +0 -1
  226. package/dist-cjs/utils/retry.js +0 -170
  227. package/dist-cjs/utils/retry.js.map +0 -1
  228. package/dist-cjs/utils/safe-parse-json.js +0 -165
  229. package/dist-cjs/utils/safe-parse-json.js.map +0 -1
  230. package/dist-cjs/utils/url.js +0 -24
  231. package/dist-cjs/utils/url.js.map +0 -1
@@ -1,313 +0,0 @@
1
- "use strict";
2
- /**
3
- * @aria/tools - PTY executor for interactive terminal programs
4
- *
5
- * Provides PTY (pseudo-terminal) support for running interactive programs
6
- * that require a terminal environment (like vim, less, etc.)
7
- */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.PTYSession = exports.PTYError = exports.PTYTimeoutError = void 0;
43
- exports.createPTYSession = createPTYSession;
44
- exports.runInPTY = runInPTY;
45
- const nodePty = __importStar(require("node-pty"));
46
- const shell_js_1 = require("./shell.js");
47
- /**
48
- * Error thrown when a PTY operation times out.
49
- */
50
- class PTYTimeoutError extends Error {
51
- output;
52
- constructor(message, output) {
53
- super(message);
54
- this.output = output;
55
- this.name = "PTYTimeoutError";
56
- }
57
- }
58
- exports.PTYTimeoutError = PTYTimeoutError;
59
- /**
60
- * Error thrown when a PTY operation fails.
61
- */
62
- class PTYError extends Error {
63
- output;
64
- constructor(message, output) {
65
- super(message);
66
- this.output = output;
67
- this.name = "PTYError";
68
- }
69
- }
70
- exports.PTYError = PTYError;
71
- /**
72
- * A session wrapping a PTY process.
73
- * Provides methods for interacting with the process and collecting output.
74
- */
75
- class PTYSession {
76
- static MAX_OUTPUT = 10 * 1024 * 1024; // 10MB
77
- _output = "";
78
- _isRunning = true;
79
- _exitCode;
80
- _exitPromise;
81
- _exitResolve;
82
- _pty;
83
- _dataDisposable;
84
- _exitDisposable;
85
- constructor(pty) {
86
- this._pty = pty;
87
- // Set up exit promise
88
- this._exitPromise = new Promise((resolve) => {
89
- this._exitResolve = resolve;
90
- });
91
- // Collect output with buffer cap
92
- this._dataDisposable = pty.onData((data) => {
93
- this._output += data;
94
- if (this._output.length > PTYSession.MAX_OUTPUT) {
95
- this._output = this._output.slice(-PTYSession.MAX_OUTPUT);
96
- }
97
- });
98
- // Handle exit
99
- this._exitDisposable = pty.onExit(({ exitCode }) => {
100
- this._isRunning = false;
101
- this._exitCode = exitCode;
102
- this._exitResolve(exitCode);
103
- });
104
- }
105
- /**
106
- * Write data to the terminal input.
107
- */
108
- write(data) {
109
- if (!this._isRunning) {
110
- throw new PTYError("Cannot write to a closed PTY session");
111
- }
112
- this._pty.write(data);
113
- }
114
- /**
115
- * Resize the terminal.
116
- */
117
- resize(cols, rows) {
118
- if (!this._isRunning) {
119
- throw new PTYError("Cannot resize a closed PTY session");
120
- }
121
- this._pty.resize(cols, rows);
122
- }
123
- /**
124
- * Wait for a pattern to appear in the output.
125
- * @param pattern String or RegExp to match
126
- * @param timeoutMs Timeout in milliseconds (default: 5000)
127
- * @returns The output accumulated up to and including the match
128
- */
129
- async waitFor(pattern, timeoutMs = 5000) {
130
- const startTime = Date.now();
131
- const regex = typeof pattern === "string" ? new RegExp(escapeRegExp(pattern)) : pattern;
132
- // Check if pattern already matches
133
- if (regex.test(this._output)) {
134
- return this._output;
135
- }
136
- return new Promise((resolve, reject) => {
137
- let checkInterval;
138
- let timeoutHandle;
139
- const cleanup = () => {
140
- if (checkInterval)
141
- clearInterval(checkInterval);
142
- if (timeoutHandle)
143
- clearTimeout(timeoutHandle);
144
- };
145
- const check = () => {
146
- if (regex.test(this._output)) {
147
- cleanup();
148
- resolve(this._output);
149
- return true;
150
- }
151
- if (!this._isRunning) {
152
- cleanup();
153
- reject(new PTYError(`Process exited before pattern was found: ${pattern}`, this._output));
154
- return true;
155
- }
156
- return false;
157
- };
158
- // Initial check
159
- if (check())
160
- return;
161
- // Set up polling
162
- checkInterval = setInterval(() => {
163
- check();
164
- }, 10);
165
- // Set up timeout
166
- timeoutHandle = setTimeout(() => {
167
- cleanup();
168
- const elapsed = Date.now() - startTime;
169
- reject(new PTYTimeoutError(`Timeout (${elapsed}ms) waiting for pattern: ${pattern}`, this._output));
170
- }, timeoutMs);
171
- });
172
- }
173
- /**
174
- * Wait for the process to exit.
175
- * @param timeoutMs Timeout in milliseconds (default: 30000)
176
- * @returns The complete output
177
- */
178
- async waitForExit(timeoutMs = 30000) {
179
- if (!this._isRunning) {
180
- return this._output;
181
- }
182
- return new Promise((resolve, reject) => {
183
- let timeoutHandle;
184
- timeoutHandle = setTimeout(() => {
185
- reject(new PTYTimeoutError(`Timeout (${timeoutMs}ms) waiting for process to exit`, this._output));
186
- }, timeoutMs);
187
- this._exitPromise
188
- .then(() => {
189
- if (timeoutHandle)
190
- clearTimeout(timeoutHandle);
191
- resolve(this._output);
192
- })
193
- .catch(reject);
194
- });
195
- }
196
- /**
197
- * Kill the process.
198
- * @param signal Signal to send (default: SIGHUP on Unix)
199
- */
200
- kill(signal) {
201
- if (!this._isRunning) {
202
- return;
203
- }
204
- try {
205
- this._pty.kill(signal);
206
- }
207
- catch {
208
- // Process may already be dead
209
- }
210
- }
211
- /**
212
- * Close the session and clean up resources.
213
- */
214
- close() {
215
- // Kill the process first before disposing handlers
216
- if (this._isRunning) {
217
- this.kill("SIGKILL");
218
- // Mark as not running since we won't receive the exit event
219
- // after disposing the handlers
220
- this._isRunning = false;
221
- // Resolve the exit promise to unblock any waiters
222
- // Use -1 to indicate forced termination
223
- this._exitResolve(-1);
224
- }
225
- this._dataDisposable.dispose();
226
- this._exitDisposable.dispose();
227
- }
228
- /**
229
- * Get the current output buffer.
230
- */
231
- get output() {
232
- return this._output;
233
- }
234
- /**
235
- * Check if the process is still running.
236
- */
237
- get isRunning() {
238
- return this._isRunning;
239
- }
240
- /**
241
- * Get the process ID.
242
- */
243
- get pid() {
244
- return this._pty.pid;
245
- }
246
- /**
247
- * Get the exit code (undefined if still running).
248
- */
249
- get exitCode() {
250
- return this._exitCode;
251
- }
252
- /**
253
- * Get the current terminal columns.
254
- */
255
- get cols() {
256
- return this._pty.cols;
257
- }
258
- /**
259
- * Get the current terminal rows.
260
- */
261
- get rows() {
262
- return this._pty.rows;
263
- }
264
- }
265
- exports.PTYSession = PTYSession;
266
- /**
267
- * Create a new PTY session.
268
- * @param options Options for the PTY
269
- * @returns A PTYSession wrapping the process
270
- */
271
- async function createPTYSession(options) {
272
- const defaultCols = 80;
273
- const defaultRows = 24;
274
- const pty = nodePty.spawn(options.command, options.args ?? [], {
275
- name: "xterm-256color",
276
- cols: options.cols ?? defaultCols,
277
- rows: options.rows ?? defaultRows,
278
- cwd: options.cwd ?? process.cwd(),
279
- env: {
280
- ...(0, shell_js_1.sanitizeEnv)(options.env),
281
- TERM: "xterm-256color",
282
- },
283
- });
284
- return new PTYSession(pty);
285
- }
286
- /**
287
- * Run a command in a PTY and wait for it to complete.
288
- * This is a convenience function for commands that don't require interaction.
289
- *
290
- * @param options Options for the PTY, with optional timeout
291
- * @returns The output and exit code
292
- */
293
- async function runInPTY(options) {
294
- const { timeoutMs = 30000, ...ptyOptions } = options;
295
- const session = await createPTYSession(ptyOptions);
296
- try {
297
- const output = await session.waitForExit(timeoutMs);
298
- return {
299
- output,
300
- exitCode: session.exitCode ?? 0,
301
- };
302
- }
303
- finally {
304
- session.close();
305
- }
306
- }
307
- /**
308
- * Escape special regex characters in a string.
309
- */
310
- function escapeRegExp(string) {
311
- return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
312
- }
313
- //# sourceMappingURL=pty.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pty.js","sourceRoot":"","sources":["../../src/executors/pty.ts"],"names":[],"mappings":"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"}
@@ -1,156 +0,0 @@
1
- "use strict";
2
- /**
3
- * @aria/tools - Restart executor
4
- *
5
- * Single restart path for both TUI and daemon:
6
- * Register an 'exit' handler to spawn a replacement process, then SIGINT
7
- * the current process for graceful shutdown. The replacement starts fresh
8
- * and goes through normal startup (heap check, createCliContext, REPL/daemon).
9
- */
10
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- var desc = Object.getOwnPropertyDescriptor(m, k);
13
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
- desc = { enumerable: true, get: function() { return m[k]; } };
15
- }
16
- Object.defineProperty(o, k2, desc);
17
- }) : (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- o[k2] = m[k];
20
- }));
21
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
- Object.defineProperty(o, "default", { enumerable: true, value: v });
23
- }) : function(o, v) {
24
- o["default"] = v;
25
- });
26
- var __importStar = (this && this.__importStar) || (function () {
27
- var ownKeys = function(o) {
28
- ownKeys = Object.getOwnPropertyNames || function (o) {
29
- var ar = [];
30
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
- return ar;
32
- };
33
- return ownKeys(o);
34
- };
35
- return function (mod) {
36
- if (mod && mod.__esModule) return mod;
37
- var result = {};
38
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
- __setModuleDefault(result, mod);
40
- return result;
41
- };
42
- })();
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- exports.executeRestart = executeRestart;
45
- const utils_js_1 = require("./utils.js");
46
- const node_child_process_1 = require("node:child_process");
47
- const node_fs_1 = require("node:fs");
48
- const node_path_1 = require("node:path");
49
- const os = __importStar(require("node:os"));
50
- const types_1 = require("@aria-cli/types");
51
- function findPnpmWorkspaceRoot(startDir) {
52
- let dir = (0, node_path_1.resolve)(startDir);
53
- while (true) {
54
- if ((0, node_fs_1.existsSync)((0, node_path_1.join)(dir, "pnpm-workspace.yaml")))
55
- return dir;
56
- const parent = (0, node_path_1.dirname)(dir);
57
- if (parent === dir)
58
- return null;
59
- dir = parent;
60
- }
61
- }
62
- function getPnpmCommand() {
63
- return process.platform === "win32" ? "pnpm.cmd" : "pnpm";
64
- }
65
- async function rebuildWorkspaceIfPresent(startDir) {
66
- const root = findPnpmWorkspaceRoot(startDir);
67
- if (!root)
68
- return { attempted: false };
69
- const pnpm = getPnpmCommand();
70
- await new Promise((resolvePromise, rejectPromise) => {
71
- const child = (0, node_child_process_1.spawn)(pnpm, ["build"], {
72
- cwd: root,
73
- env: process.env,
74
- stdio: "inherit",
75
- });
76
- child.on("error", rejectPromise);
77
- child.on("close", (code) => {
78
- if (code === 0)
79
- resolvePromise();
80
- else
81
- rejectPromise(new Error(`pnpm build failed with exit code ${code ?? "unknown"}`));
82
- });
83
- });
84
- return { attempted: true };
85
- }
86
- /**
87
- * Find the daemon PID for the current ARIA_HOME by scanning owner records.
88
- * Owner records live at $RUNTIME_ROOT/owners/*.json where RUNTIME_ROOT is
89
- * XDG_RUNTIME_DIR/aria or ~/.aria/run.
90
- */
91
- function findDaemonPid() {
92
- const ariaHome = process.env.ARIA_HOME?.trim() || (0, node_path_1.join)(os.homedir(), ".aria");
93
- const runtimeDir = process.env.XDG_RUNTIME_DIR?.trim();
94
- const runtimeRoot = runtimeDir ? (0, node_path_1.join)(runtimeDir, "aria") : (0, node_path_1.join)(ariaHome, "run");
95
- const ownersDir = (0, node_path_1.join)(runtimeRoot, "owners");
96
- if (!(0, node_fs_1.existsSync)(ownersDir))
97
- return null;
98
- const canonicalHome = (0, node_path_1.resolve)(ariaHome);
99
- for (const file of (0, node_fs_1.readdirSync)(ownersDir).filter((f) => f.endsWith(".json"))) {
100
- try {
101
- const record = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(ownersDir, file), "utf8"));
102
- if (record.ariaHome && (0, node_path_1.resolve)(record.ariaHome) === canonicalHome) {
103
- return typeof record.runtimePid === "number" ? record.runtimePid : null;
104
- }
105
- }
106
- catch {
107
- // Skip malformed records
108
- }
109
- }
110
- return null;
111
- }
112
- async function executeRestart(input, ctx) {
113
- if (ctx.abortSignal?.aborted)
114
- return (0, utils_js_1.fail)("Operation cancelled");
115
- const reason = (input.reason ?? "").trim() || "Restart requested";
116
- // Note: tool definition has requiresConfirmation: true, so the framework
117
- // already prompts the user before execute() is called. No need to confirm again.
118
- process.stderr.write(`[aria] Rebuilding workspace before restart...\n`);
119
- try {
120
- const rebuilt = await rebuildWorkspaceIfPresent(ctx.workingDir || process.cwd());
121
- if (!rebuilt.attempted) {
122
- process.stderr.write(`[aria] No pnpm workspace detected; skipping build\n`);
123
- }
124
- }
125
- catch (error) {
126
- process.stderr.write(`[aria] Build failed; continuing restart: ${error.message}\n`);
127
- }
128
- process.stderr.write(`[aria] Restarting: ${reason}\n`);
129
- const sessionId = process.env[types_1.RESUME_SESSION_ENV] ?? null;
130
- const arionName = process.env[types_1.RESUME_ARION_ENV] || "ARIA";
131
- // Write disk-backed marker so the replacement process can resume the session.
132
- (0, types_1.writeRelaunchMarker)({
133
- sessionId,
134
- arionName,
135
- pid: process.ppid || process.pid,
136
- timestamp: new Date().toISOString(),
137
- });
138
- // Spawn replacement on exit, then SIGINT for graceful shutdown.
139
- // Works for both TUI and daemon — no supervisor needed.
140
- const targetPid = findDaemonPid() ?? process.pid;
141
- process.once("exit", () => {
142
- (0, node_child_process_1.spawn)(process.execPath, [...process.execArgv, ...process.argv.slice(1)], {
143
- detached: true,
144
- stdio: "ignore",
145
- }).unref();
146
- });
147
- process.stderr.write(`[aria] Sending SIGINT to pid ${targetPid} for graceful restart\n`);
148
- try {
149
- process.kill(targetPid, "SIGINT");
150
- }
151
- catch {
152
- process.kill(process.pid, "SIGINT");
153
- }
154
- return (0, utils_js_1.success)("Restarting...");
155
- }
156
- //# sourceMappingURL=restart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../src/executors/restart.ts"],"names":[],"mappings":"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"}