@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 +0,0 @@
1
- {"version":3,"file":"fuzzy-match.js","sourceRoot":"","sources":["../../../src/definitions/patch/fuzzy-match.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyPatchTool = void 0;
4
- var apply_patch_js_1 = require("./apply-patch.js");
5
- Object.defineProperty(exports, "applyPatchTool", { enumerable: true, get: function () { return apply_patch_js_1.applyPatchTool; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definitions/patch/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA"}
@@ -1,216 +0,0 @@
1
- "use strict";
2
- // Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
3
- // https://github.com/openclaw/openclaw
4
- // Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.EMPTY_CHANGE_CONTEXT_MARKER = exports.CHANGE_CONTEXT_MARKER = exports.EOF_MARKER = exports.MOVE_TO_MARKER = exports.UPDATE_FILE_MARKER = exports.DELETE_FILE_MARKER = exports.ADD_FILE_MARKER = exports.END_PATCH_MARKER = exports.BEGIN_PATCH_MARKER = void 0;
7
- exports.normalizeUnicodeSpaces = normalizeUnicodeSpaces;
8
- exports.parsePatchText = parsePatchText;
9
- exports.checkPatchBoundariesLenient = checkPatchBoundariesLenient;
10
- exports.parseOneHunk = parseOneHunk;
11
- exports.parseUpdateFileChunk = parseUpdateFileChunk;
12
- // ── Marker Constants ───────────────────────────────────────────────
13
- exports.BEGIN_PATCH_MARKER = "*** Begin Patch";
14
- exports.END_PATCH_MARKER = "*** End Patch";
15
- exports.ADD_FILE_MARKER = "*** Add File: ";
16
- exports.DELETE_FILE_MARKER = "*** Delete File: ";
17
- exports.UPDATE_FILE_MARKER = "*** Update File: ";
18
- exports.MOVE_TO_MARKER = "*** Move to: ";
19
- exports.EOF_MARKER = "*** End of File";
20
- exports.CHANGE_CONTEXT_MARKER = "@@ ";
21
- exports.EMPTY_CHANGE_CONTEXT_MARKER = "@@";
22
- // ── Unicode Normalization ──────────────────────────────────────────
23
- const UNICODE_SPACES = /[\u00A0\u2000-\u200A\u202F\u205F\u3000]/g;
24
- function normalizeUnicodeSpaces(value) {
25
- return value.replace(UNICODE_SPACES, " ");
26
- }
27
- // ── Parser ─────────────────────────────────────────────────────────
28
- function parsePatchText(input) {
29
- const trimmed = input.trim();
30
- if (!trimmed) {
31
- throw new Error("Invalid patch: input is empty.");
32
- }
33
- const lines = trimmed.split(/\r?\n/);
34
- const validated = checkPatchBoundariesLenient(lines);
35
- const hunks = [];
36
- const lastLineIndex = validated.length - 1;
37
- let remaining = validated.slice(1, lastLineIndex);
38
- let lineNumber = 2;
39
- while (remaining.length > 0) {
40
- const { hunk, consumed } = parseOneHunk(remaining, lineNumber);
41
- hunks.push(hunk);
42
- lineNumber += consumed;
43
- remaining = remaining.slice(consumed);
44
- }
45
- return { hunks, patch: validated.join("\n") };
46
- }
47
- function checkPatchBoundariesLenient(lines) {
48
- const strictError = checkPatchBoundariesStrict(lines);
49
- if (!strictError) {
50
- return lines;
51
- }
52
- if (lines.length < 4) {
53
- throw new Error(strictError);
54
- }
55
- const first = lines[0];
56
- const last = lines[lines.length - 1];
57
- if ((first === "<<EOF" || first === "<<'EOF'" || first === '<<"EOF"') && last?.endsWith("EOF")) {
58
- const inner = lines.slice(1, lines.length - 1);
59
- const innerError = checkPatchBoundariesStrict(inner);
60
- if (!innerError) {
61
- return inner;
62
- }
63
- throw new Error(innerError);
64
- }
65
- throw new Error(strictError);
66
- }
67
- function checkPatchBoundariesStrict(lines) {
68
- const firstLine = lines[0]?.trim();
69
- const lastLine = lines[lines.length - 1]?.trim();
70
- if (firstLine === exports.BEGIN_PATCH_MARKER && lastLine === exports.END_PATCH_MARKER) {
71
- return null;
72
- }
73
- if (firstLine !== exports.BEGIN_PATCH_MARKER) {
74
- return "The first line of the patch must be '*** Begin Patch'";
75
- }
76
- return "The last line of the patch must be '*** End Patch'";
77
- }
78
- function parseOneHunk(lines, lineNumber) {
79
- if (lines.length === 0) {
80
- throw new Error(`Invalid patch hunk at line ${lineNumber}: empty hunk`);
81
- }
82
- const firstLine = lines[0].trim();
83
- if (firstLine.startsWith(exports.ADD_FILE_MARKER)) {
84
- const targetPath = firstLine.slice(exports.ADD_FILE_MARKER.length);
85
- let contents = "";
86
- let consumed = 1;
87
- for (const addLine of lines.slice(1)) {
88
- if (addLine.startsWith("+")) {
89
- contents += `${addLine.slice(1)}\n`;
90
- consumed += 1;
91
- }
92
- else {
93
- break;
94
- }
95
- }
96
- return {
97
- hunk: { kind: "add", path: targetPath, contents },
98
- consumed,
99
- };
100
- }
101
- if (firstLine.startsWith(exports.DELETE_FILE_MARKER)) {
102
- const targetPath = firstLine.slice(exports.DELETE_FILE_MARKER.length);
103
- return {
104
- hunk: { kind: "delete", path: targetPath },
105
- consumed: 1,
106
- };
107
- }
108
- if (firstLine.startsWith(exports.UPDATE_FILE_MARKER)) {
109
- const targetPath = firstLine.slice(exports.UPDATE_FILE_MARKER.length);
110
- let remaining = lines.slice(1);
111
- let consumed = 1;
112
- let movePath;
113
- const moveCandidate = remaining[0]?.trim();
114
- if (moveCandidate?.startsWith(exports.MOVE_TO_MARKER)) {
115
- movePath = moveCandidate.slice(exports.MOVE_TO_MARKER.length);
116
- remaining = remaining.slice(1);
117
- consumed += 1;
118
- }
119
- const chunks = [];
120
- while (remaining.length > 0) {
121
- if (remaining[0].trim() === "") {
122
- remaining = remaining.slice(1);
123
- consumed += 1;
124
- continue;
125
- }
126
- if (remaining[0].startsWith("***")) {
127
- break;
128
- }
129
- const { chunk, consumed: chunkLines } = parseUpdateFileChunk(remaining, lineNumber + consumed, chunks.length === 0);
130
- chunks.push(chunk);
131
- remaining = remaining.slice(chunkLines);
132
- consumed += chunkLines;
133
- }
134
- if (chunks.length === 0) {
135
- throw new Error(`Invalid patch hunk at line ${lineNumber}: Update file hunk for path '${targetPath}' is empty`);
136
- }
137
- return {
138
- hunk: {
139
- kind: "update",
140
- path: targetPath,
141
- movePath,
142
- chunks,
143
- },
144
- consumed,
145
- };
146
- }
147
- throw new Error(`Invalid patch hunk at line ${lineNumber}: '${lines[0]}' is not a valid hunk header. Valid hunk headers: '*** Add File: {path}', '*** Delete File: {path}', '*** Update File: {path}'`);
148
- }
149
- function parseUpdateFileChunk(lines, lineNumber, allowMissingContext) {
150
- if (lines.length === 0) {
151
- throw new Error(`Invalid patch hunk at line ${lineNumber}: Update hunk does not contain any lines`);
152
- }
153
- const firstLine = lines[0];
154
- let changeContext;
155
- let startIndex = 0;
156
- if (firstLine === exports.EMPTY_CHANGE_CONTEXT_MARKER) {
157
- startIndex = 1;
158
- }
159
- else if (firstLine.startsWith(exports.CHANGE_CONTEXT_MARKER)) {
160
- changeContext = firstLine.slice(exports.CHANGE_CONTEXT_MARKER.length);
161
- startIndex = 1;
162
- }
163
- else if (!allowMissingContext) {
164
- throw new Error(`Invalid patch hunk at line ${lineNumber}: Expected update hunk to start with a @@ context marker, got: '${firstLine}'`);
165
- }
166
- if (startIndex >= lines.length) {
167
- throw new Error(`Invalid patch hunk at line ${lineNumber + 1}: Update hunk does not contain any lines`);
168
- }
169
- const chunk = {
170
- changeContext,
171
- oldLines: [],
172
- newLines: [],
173
- isEndOfFile: false,
174
- };
175
- let parsedLines = 0;
176
- for (const line of lines.slice(startIndex)) {
177
- if (line === exports.EOF_MARKER) {
178
- if (parsedLines === 0) {
179
- throw new Error(`Invalid patch hunk at line ${lineNumber + 1}: Update hunk does not contain any lines`);
180
- }
181
- chunk.isEndOfFile = true;
182
- parsedLines += 1;
183
- break;
184
- }
185
- const marker = line[0];
186
- if (!marker) {
187
- chunk.oldLines.push("");
188
- chunk.newLines.push("");
189
- parsedLines += 1;
190
- continue;
191
- }
192
- if (marker === " ") {
193
- const content = line.slice(1);
194
- chunk.oldLines.push(content);
195
- chunk.newLines.push(content);
196
- parsedLines += 1;
197
- continue;
198
- }
199
- if (marker === "+") {
200
- chunk.newLines.push(line.slice(1));
201
- parsedLines += 1;
202
- continue;
203
- }
204
- if (marker === "-") {
205
- chunk.oldLines.push(line.slice(1));
206
- parsedLines += 1;
207
- continue;
208
- }
209
- if (parsedLines === 0) {
210
- throw new Error(`Invalid patch hunk at line ${lineNumber + 1}: Unexpected line found in update hunk: '${line}'. Every line should start with ' ' (context line), '+' (added line), or '-' (removed line)`);
211
- }
212
- break;
213
- }
214
- return { chunk, consumed: parsedLines + startIndex };
215
- }
216
- //# sourceMappingURL=patch-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patch-parser.js","sourceRoot":"","sources":["../../../src/definitions/patch/patch-parser.ts"],"names":[],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- // Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
3
- // https://github.com/openclaw/openclaw
4
- // Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.resolveSandboxInputPath = resolveSandboxInputPath;
10
- exports.resolveSandboxPath = resolveSandboxPath;
11
- exports.assertSandboxPath = assertSandboxPath;
12
- const promises_1 = __importDefault(require("node:fs/promises"));
13
- const node_os_1 = __importDefault(require("node:os"));
14
- const node_path_1 = __importDefault(require("node:path"));
15
- const UNICODE_SPACES = /[\u00A0\u2000-\u200A\u202F\u205F\u3000]/g;
16
- function normalizeUnicodeSpaces(str) {
17
- return str.replace(UNICODE_SPACES, " ");
18
- }
19
- function expandPath(filePath) {
20
- const normalized = normalizeUnicodeSpaces(filePath);
21
- if (normalized === "~") {
22
- return node_os_1.default.homedir();
23
- }
24
- if (normalized.startsWith("~/")) {
25
- return node_os_1.default.homedir() + normalized.slice(1);
26
- }
27
- return normalized;
28
- }
29
- function resolveToCwd(filePath, cwd) {
30
- const expanded = expandPath(filePath);
31
- if (node_path_1.default.isAbsolute(expanded)) {
32
- return expanded;
33
- }
34
- return node_path_1.default.resolve(cwd, expanded);
35
- }
36
- function resolveSandboxInputPath(filePath, cwd) {
37
- return resolveToCwd(filePath, cwd);
38
- }
39
- function resolveSandboxPath(params) {
40
- const resolved = resolveSandboxInputPath(params.filePath, params.cwd);
41
- const rootResolved = node_path_1.default.resolve(params.root);
42
- const relative = node_path_1.default.relative(rootResolved, resolved);
43
- if (!relative || relative === "") {
44
- return { resolved, relative: "" };
45
- }
46
- if (relative.startsWith("..") || node_path_1.default.isAbsolute(relative)) {
47
- throw new Error(`Path escapes sandbox root (${shortPath(rootResolved)}): ${params.filePath}`);
48
- }
49
- return { resolved, relative };
50
- }
51
- async function assertSandboxPath(params) {
52
- const resolved = resolveSandboxPath(params);
53
- await assertNoSymlinkEscape(resolved.relative, node_path_1.default.resolve(params.root), {
54
- allowFinalSymlink: params.allowFinalSymlink,
55
- });
56
- return resolved;
57
- }
58
- async function assertNoSymlinkEscape(relative, root, options) {
59
- if (!relative) {
60
- return;
61
- }
62
- const rootReal = await tryRealpath(root);
63
- const parts = relative.split(node_path_1.default.sep).filter(Boolean);
64
- let current = root;
65
- for (let idx = 0; idx < parts.length; idx += 1) {
66
- const part = parts[idx];
67
- const isLast = idx === parts.length - 1;
68
- current = node_path_1.default.join(current, part);
69
- try {
70
- const stat = await promises_1.default.lstat(current);
71
- if (stat.isSymbolicLink()) {
72
- // Unlinking a symlink itself is safe even if it points outside the root. What we
73
- // must prevent is traversing through a symlink to reach targets outside root.
74
- if (options?.allowFinalSymlink && isLast) {
75
- return;
76
- }
77
- const target = await tryRealpath(current);
78
- if (!isPathInside(rootReal, target)) {
79
- throw new Error(`Symlink escapes sandbox root (${shortPath(rootReal)}): ${shortPath(current)}`);
80
- }
81
- current = target;
82
- }
83
- }
84
- catch (err) {
85
- const anyErr = err;
86
- if (anyErr.code === "ENOENT") {
87
- return;
88
- }
89
- throw err;
90
- }
91
- }
92
- }
93
- async function tryRealpath(value) {
94
- try {
95
- return await promises_1.default.realpath(value);
96
- }
97
- catch {
98
- return node_path_1.default.resolve(value);
99
- }
100
- }
101
- function isPathInside(root, target) {
102
- const relative = node_path_1.default.relative(root, target);
103
- if (!relative || relative === "") {
104
- return true;
105
- }
106
- return !(relative.startsWith("..") || node_path_1.default.isAbsolute(relative));
107
- }
108
- function shortPath(value) {
109
- if (value.startsWith(node_os_1.default.homedir())) {
110
- return `~${value.slice(node_os_1.default.homedir().length)}`;
111
- }
112
- return value;
113
- }
114
- //# sourceMappingURL=sandbox-paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sandbox-paths.js","sourceRoot":"","sources":["../../../src/definitions/patch/sandbox-paths.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- // Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
3
- // https://github.com/openclaw/openclaw
4
- // Modified for ARIA — stripped OpenClaw runtime, rewired to ARIA Tool interface
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.processTool = void 0;
7
- var process_js_1 = require("./process.js");
8
- Object.defineProperty(exports, "processTool", { enumerable: true, get: function () { return process_js_1.processTool; } });
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definitions/process/index.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,uCAAuC;AACvC,gFAAgF;;;AAEhF,2CAA2C;AAAlC,yGAAA,WAAW,OAAA"}
@@ -1,232 +0,0 @@
1
- "use strict";
2
- // Originally from OpenClaw (MIT License, Copyright 2025 Peter Steinberger)
3
- // https://github.com/openclaw/openclaw
4
- // Modified for ARIA — stripped OpenClaw runtime (PI_BASH_JOB_TTL_MS env, gateway refs),
5
- // rewired imports to local session-slug
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createSessionSlug = createSessionSlug;
8
- exports.addSession = addSession;
9
- exports.getSession = getSession;
10
- exports.getFinishedSession = getFinishedSession;
11
- exports.deleteSession = deleteSession;
12
- exports.appendOutput = appendOutput;
13
- exports.drainSession = drainSession;
14
- exports.markExited = markExited;
15
- exports.markBackgrounded = markBackgrounded;
16
- exports.tail = tail;
17
- exports.trimWithCap = trimWithCap;
18
- exports.listRunningSessions = listRunningSessions;
19
- exports.listFinishedSessions = listFinishedSessions;
20
- exports.clearFinished = clearFinished;
21
- exports.resetProcessRegistryForTests = resetProcessRegistryForTests;
22
- exports.setJobTtlMs = setJobTtlMs;
23
- const session_slug_js_1 = require("./session-slug.js");
24
- const DEFAULT_JOB_TTL_MS = 30 * 60 * 1000; // 30 minutes
25
- const MIN_JOB_TTL_MS = 60 * 1000; // 1 minute
26
- const MAX_JOB_TTL_MS = 3 * 60 * 60 * 1000; // 3 hours
27
- const DEFAULT_PENDING_OUTPUT_CHARS = 30_000;
28
- function clampTtl(value) {
29
- if (!value || Number.isNaN(value)) {
30
- return DEFAULT_JOB_TTL_MS;
31
- }
32
- return Math.min(Math.max(value, MIN_JOB_TTL_MS), MAX_JOB_TTL_MS);
33
- }
34
- let jobTtlMs = DEFAULT_JOB_TTL_MS;
35
- const runningSessions = new Map();
36
- const finishedSessions = new Map();
37
- let sweeper = null;
38
- function isSessionIdTaken(id) {
39
- return runningSessions.has(id) || finishedSessions.has(id);
40
- }
41
- function createSessionSlug() {
42
- return (0, session_slug_js_1.createSessionSlug)(isSessionIdTaken);
43
- }
44
- function addSession(session) {
45
- runningSessions.set(session.id, session);
46
- startSweeper();
47
- }
48
- function getSession(id) {
49
- return runningSessions.get(id);
50
- }
51
- function getFinishedSession(id) {
52
- return finishedSessions.get(id);
53
- }
54
- function deleteSession(id) {
55
- runningSessions.delete(id);
56
- finishedSessions.delete(id);
57
- }
58
- function appendOutput(session, stream, chunk) {
59
- session.pendingStdout ??= [];
60
- session.pendingStderr ??= [];
61
- session.pendingStdoutChars ??= sumPendingChars(session.pendingStdout);
62
- session.pendingStderrChars ??= sumPendingChars(session.pendingStderr);
63
- const buffer = stream === "stdout" ? session.pendingStdout : session.pendingStderr;
64
- const bufferChars = stream === "stdout" ? session.pendingStdoutChars : session.pendingStderrChars;
65
- const pendingCap = Math.min(session.pendingMaxOutputChars ?? DEFAULT_PENDING_OUTPUT_CHARS, session.maxOutputChars);
66
- buffer.push(chunk);
67
- let pendingChars = bufferChars + chunk.length;
68
- if (pendingChars > pendingCap) {
69
- session.truncated = true;
70
- pendingChars = capPendingBuffer(buffer, pendingChars, pendingCap);
71
- }
72
- if (stream === "stdout") {
73
- session.pendingStdoutChars = pendingChars;
74
- }
75
- else {
76
- session.pendingStderrChars = pendingChars;
77
- }
78
- session.totalOutputChars += chunk.length;
79
- const aggregated = trimWithCap(session.aggregated + chunk, session.maxOutputChars);
80
- session.truncated =
81
- session.truncated || aggregated.length < session.aggregated.length + chunk.length;
82
- session.aggregated = aggregated;
83
- session.tail = tail(session.aggregated, 2000);
84
- }
85
- function drainSession(session) {
86
- const stdout = session.pendingStdout.join("");
87
- const stderr = session.pendingStderr.join("");
88
- session.pendingStdout = [];
89
- session.pendingStderr = [];
90
- session.pendingStdoutChars = 0;
91
- session.pendingStderrChars = 0;
92
- return { stdout, stderr };
93
- }
94
- function markExited(session, exitCode, exitSignal, status) {
95
- session.exited = true;
96
- session.exitCode = exitCode;
97
- session.exitSignal = exitSignal;
98
- session.tail = tail(session.aggregated, 2000);
99
- moveToFinished(session, status);
100
- }
101
- function markBackgrounded(session) {
102
- session.backgrounded = true;
103
- }
104
- function moveToFinished(session, status) {
105
- runningSessions.delete(session.id);
106
- // Clean up child process stdio streams to prevent FD leaks
107
- if (session.child) {
108
- session.child.stdin?.destroy?.();
109
- session.child.stdout?.destroy?.();
110
- session.child.stderr?.destroy?.();
111
- session.child.removeAllListeners();
112
- delete session.child;
113
- }
114
- // Clean up stdin wrapper
115
- if (session.stdin) {
116
- if (typeof session.stdin.destroy === "function") {
117
- session.stdin.destroy();
118
- }
119
- else if (typeof session.stdin.end === "function") {
120
- session.stdin.end();
121
- }
122
- try {
123
- session.stdin.destroyed = true;
124
- }
125
- catch {
126
- // Ignore if read-only
127
- }
128
- delete session.stdin;
129
- }
130
- if (!session.backgrounded) {
131
- return;
132
- }
133
- finishedSessions.set(session.id, {
134
- id: session.id,
135
- command: session.command,
136
- startedAt: session.startedAt,
137
- endedAt: Date.now(),
138
- cwd: session.cwd,
139
- status,
140
- exitCode: session.exitCode,
141
- exitSignal: session.exitSignal,
142
- aggregated: session.aggregated,
143
- tail: session.tail,
144
- truncated: session.truncated,
145
- totalOutputChars: session.totalOutputChars,
146
- });
147
- }
148
- function tail(text, max = 2000) {
149
- if (text.length <= max) {
150
- return text;
151
- }
152
- return text.slice(text.length - max);
153
- }
154
- function sumPendingChars(buffer) {
155
- let total = 0;
156
- for (const chunk of buffer) {
157
- total += chunk.length;
158
- }
159
- return total;
160
- }
161
- function capPendingBuffer(buffer, pendingChars, cap) {
162
- if (pendingChars <= cap) {
163
- return pendingChars;
164
- }
165
- const last = buffer.at(-1);
166
- if (last && last.length >= cap) {
167
- buffer.length = 0;
168
- buffer.push(last.slice(last.length - cap));
169
- return cap;
170
- }
171
- while (buffer.length && buffer[0] !== undefined && pendingChars - buffer[0].length >= cap) {
172
- pendingChars -= buffer[0].length;
173
- buffer.shift();
174
- }
175
- if (buffer.length && buffer[0] !== undefined && pendingChars > cap) {
176
- const overflow = pendingChars - cap;
177
- buffer[0] = buffer[0].slice(overflow);
178
- pendingChars = cap;
179
- }
180
- return pendingChars;
181
- }
182
- function trimWithCap(text, max) {
183
- if (text.length <= max) {
184
- return text;
185
- }
186
- return text.slice(text.length - max);
187
- }
188
- function listRunningSessions() {
189
- return Array.from(runningSessions.values()).filter((s) => s.backgrounded);
190
- }
191
- function listFinishedSessions() {
192
- return Array.from(finishedSessions.values());
193
- }
194
- function clearFinished() {
195
- finishedSessions.clear();
196
- }
197
- function resetProcessRegistryForTests() {
198
- runningSessions.clear();
199
- finishedSessions.clear();
200
- stopSweeper();
201
- }
202
- function setJobTtlMs(value) {
203
- if (value === undefined || Number.isNaN(value)) {
204
- return;
205
- }
206
- jobTtlMs = clampTtl(value);
207
- stopSweeper();
208
- startSweeper();
209
- }
210
- function pruneFinishedSessions() {
211
- const cutoff = Date.now() - jobTtlMs;
212
- for (const [id, session] of finishedSessions.entries()) {
213
- if (session.endedAt < cutoff) {
214
- finishedSessions.delete(id);
215
- }
216
- }
217
- }
218
- function startSweeper() {
219
- if (sweeper) {
220
- return;
221
- }
222
- sweeper = setInterval(pruneFinishedSessions, Math.max(30_000, jobTtlMs / 6));
223
- sweeper.unref?.();
224
- }
225
- function stopSweeper() {
226
- if (!sweeper) {
227
- return;
228
- }
229
- clearInterval(sweeper);
230
- sweeper = null;
231
- }
232
- //# sourceMappingURL=process-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"process-registry.js","sourceRoot":"","sources":["../../../src/definitions/process/process-registry.ts"],"names":[],"mappings":"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"}