@aigne/aos 0.2.0-beta

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 (533) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/LICENSE.md +26 -0
  3. package/dist/agent-dsl.cjs +116 -0
  4. package/dist/agent-dsl.d.cts +31 -0
  5. package/dist/agent-dsl.d.cts.map +1 -0
  6. package/dist/agent-dsl.d.mts +31 -0
  7. package/dist/agent-dsl.d.mts.map +1 -0
  8. package/dist/agent-dsl.mjs +115 -0
  9. package/dist/agent-dsl.mjs.map +1 -0
  10. package/dist/arc-compat.cjs +125 -0
  11. package/dist/arc-compat.d.cts +17 -0
  12. package/dist/arc-compat.d.cts.map +1 -0
  13. package/dist/arc-compat.d.mts +17 -0
  14. package/dist/arc-compat.d.mts.map +1 -0
  15. package/dist/arc-compat.mjs +123 -0
  16. package/dist/arc-compat.mjs.map +1 -0
  17. package/dist/auto-surface/compiler.cjs +36 -0
  18. package/dist/auto-surface/compiler.d.cts +7 -0
  19. package/dist/auto-surface/compiler.d.cts.map +1 -0
  20. package/dist/auto-surface/compiler.d.mts +7 -0
  21. package/dist/auto-surface/compiler.d.mts.map +1 -0
  22. package/dist/auto-surface/compiler.mjs +37 -0
  23. package/dist/auto-surface/compiler.mjs.map +1 -0
  24. package/dist/auto-surface/definition-dsl.cjs +333 -0
  25. package/dist/auto-surface/definition-dsl.d.cts +41 -0
  26. package/dist/auto-surface/definition-dsl.d.cts.map +1 -0
  27. package/dist/auto-surface/definition-dsl.d.mts +41 -0
  28. package/dist/auto-surface/definition-dsl.d.mts.map +1 -0
  29. package/dist/auto-surface/definition-dsl.mjs +332 -0
  30. package/dist/auto-surface/definition-dsl.mjs.map +1 -0
  31. package/dist/auto-surface/fragments.cjs +177 -0
  32. package/dist/auto-surface/fragments.d.cts +23 -0
  33. package/dist/auto-surface/fragments.d.cts.map +1 -0
  34. package/dist/auto-surface/fragments.d.mts +23 -0
  35. package/dist/auto-surface/fragments.d.mts.map +1 -0
  36. package/dist/auto-surface/fragments.mjs +175 -0
  37. package/dist/auto-surface/fragments.mjs.map +1 -0
  38. package/dist/auto-surface/index.d.mts +9 -0
  39. package/dist/auto-surface/layering.cjs +43 -0
  40. package/dist/auto-surface/layering.d.cts +7 -0
  41. package/dist/auto-surface/layering.d.cts.map +1 -0
  42. package/dist/auto-surface/layering.d.mts +7 -0
  43. package/dist/auto-surface/layering.d.mts.map +1 -0
  44. package/dist/auto-surface/layering.mjs +43 -0
  45. package/dist/auto-surface/layering.mjs.map +1 -0
  46. package/dist/auto-surface/projection.cjs +11 -0
  47. package/dist/auto-surface/projection.d.cts +11 -0
  48. package/dist/auto-surface/projection.d.cts.map +1 -0
  49. package/dist/auto-surface/projection.d.mts +11 -0
  50. package/dist/auto-surface/projection.d.mts.map +1 -0
  51. package/dist/auto-surface/projection.mjs +12 -0
  52. package/dist/auto-surface/projection.mjs.map +1 -0
  53. package/dist/auto-surface/projectors/settings-shell.cjs +114 -0
  54. package/dist/auto-surface/projectors/settings-shell.d.cts +10 -0
  55. package/dist/auto-surface/projectors/settings-shell.d.cts.map +1 -0
  56. package/dist/auto-surface/projectors/settings-shell.d.mts +10 -0
  57. package/dist/auto-surface/projectors/settings-shell.d.mts.map +1 -0
  58. package/dist/auto-surface/projectors/settings-shell.mjs +114 -0
  59. package/dist/auto-surface/projectors/settings-shell.mjs.map +1 -0
  60. package/dist/auto-surface/scenario.cjs +38 -0
  61. package/dist/auto-surface/scenario.d.cts +31 -0
  62. package/dist/auto-surface/scenario.d.cts.map +1 -0
  63. package/dist/auto-surface/scenario.d.mts +31 -0
  64. package/dist/auto-surface/scenario.d.mts.map +1 -0
  65. package/dist/auto-surface/scenario.mjs +37 -0
  66. package/dist/auto-surface/scenario.mjs.map +1 -0
  67. package/dist/auto-surface/types.cjs +9 -0
  68. package/dist/auto-surface/types.d.cts +153 -0
  69. package/dist/auto-surface/types.d.cts.map +1 -0
  70. package/dist/auto-surface/types.d.mts +153 -0
  71. package/dist/auto-surface/types.d.mts.map +1 -0
  72. package/dist/auto-surface/types.mjs +9 -0
  73. package/dist/auto-surface/types.mjs.map +1 -0
  74. package/dist/auto-surface/value-dsl.cjs +80 -0
  75. package/dist/auto-surface/value-dsl.d.cts +24 -0
  76. package/dist/auto-surface/value-dsl.d.cts.map +1 -0
  77. package/dist/auto-surface/value-dsl.d.mts +24 -0
  78. package/dist/auto-surface/value-dsl.d.mts.map +1 -0
  79. package/dist/auto-surface/value-dsl.mjs +79 -0
  80. package/dist/auto-surface/value-dsl.mjs.map +1 -0
  81. package/dist/blocklet/activation.cjs +94 -0
  82. package/dist/blocklet/activation.d.cts +30 -0
  83. package/dist/blocklet/activation.d.cts.map +1 -0
  84. package/dist/blocklet/activation.d.mts +30 -0
  85. package/dist/blocklet/activation.d.mts.map +1 -0
  86. package/dist/blocklet/activation.mjs +94 -0
  87. package/dist/blocklet/activation.mjs.map +1 -0
  88. package/dist/blocklet/did-space-registry.cjs +282 -0
  89. package/dist/blocklet/did-space-registry.d.cts +82 -0
  90. package/dist/blocklet/did-space-registry.d.cts.map +1 -0
  91. package/dist/blocklet/did-space-registry.d.mts +82 -0
  92. package/dist/blocklet/did-space-registry.d.mts.map +1 -0
  93. package/dist/blocklet/did-space-registry.mjs +281 -0
  94. package/dist/blocklet/did-space-registry.mjs.map +1 -0
  95. package/dist/blocklet/handlers.cjs +66 -0
  96. package/dist/blocklet/handlers.d.cts +16 -0
  97. package/dist/blocklet/handlers.d.cts.map +1 -0
  98. package/dist/blocklet/handlers.d.mts +16 -0
  99. package/dist/blocklet/handlers.d.mts.map +1 -0
  100. package/dist/blocklet/handlers.mjs +65 -0
  101. package/dist/blocklet/handlers.mjs.map +1 -0
  102. package/dist/blocklet/index.d.mts +7 -0
  103. package/dist/blocklet/manifest.d.cts +2 -0
  104. package/dist/blocklet/manifest.d.mts +2 -0
  105. package/dist/blocklet/manifest.mjs +3 -0
  106. package/dist/blocklet/registry.cjs +447 -0
  107. package/dist/blocklet/registry.d.cts +197 -0
  108. package/dist/blocklet/registry.d.cts.map +1 -0
  109. package/dist/blocklet/registry.d.mts +197 -0
  110. package/dist/blocklet/registry.d.mts.map +1 -0
  111. package/dist/blocklet/registry.mjs +441 -0
  112. package/dist/blocklet/registry.mjs.map +1 -0
  113. package/dist/blocklet/static-render.cjs +183 -0
  114. package/dist/blocklet/static-render.d.cts +55 -0
  115. package/dist/blocklet/static-render.d.cts.map +1 -0
  116. package/dist/blocklet/static-render.d.mts +55 -0
  117. package/dist/blocklet/static-render.d.mts.map +1 -0
  118. package/dist/blocklet/static-render.mjs +181 -0
  119. package/dist/blocklet/static-render.mjs.map +1 -0
  120. package/dist/blocklet/types.d.cts +70 -0
  121. package/dist/blocklet/types.d.cts.map +1 -0
  122. package/dist/blocklet/types.d.mts +70 -0
  123. package/dist/blocklet/types.d.mts.map +1 -0
  124. package/dist/devices/chain.cjs +127 -0
  125. package/dist/devices/chain.d.cts +48 -0
  126. package/dist/devices/chain.d.cts.map +1 -0
  127. package/dist/devices/chain.d.mts +48 -0
  128. package/dist/devices/chain.d.mts.map +1 -0
  129. package/dist/devices/chain.mjs +125 -0
  130. package/dist/devices/chain.mjs.map +1 -0
  131. package/dist/dsl-shared.cjs +290 -0
  132. package/dist/dsl-shared.d.cts +54 -0
  133. package/dist/dsl-shared.d.cts.map +1 -0
  134. package/dist/dsl-shared.d.mts +54 -0
  135. package/dist/dsl-shared.d.mts.map +1 -0
  136. package/dist/dsl-shared.mjs +287 -0
  137. package/dist/dsl-shared.mjs.map +1 -0
  138. package/dist/http/afs-mcp.cjs +85 -0
  139. package/dist/http/afs-mcp.d.cts +14 -0
  140. package/dist/http/afs-mcp.d.cts.map +1 -0
  141. package/dist/http/afs-mcp.d.mts +14 -0
  142. package/dist/http/afs-mcp.d.mts.map +1 -0
  143. package/dist/http/afs-mcp.mjs +86 -0
  144. package/dist/http/afs-mcp.mjs.map +1 -0
  145. package/dist/http/afs-raw.cjs +264 -0
  146. package/dist/http/afs-raw.d.cts +31 -0
  147. package/dist/http/afs-raw.d.cts.map +1 -0
  148. package/dist/http/afs-raw.d.mts +31 -0
  149. package/dist/http/afs-raw.d.mts.map +1 -0
  150. package/dist/http/afs-raw.mjs +264 -0
  151. package/dist/http/afs-raw.mjs.map +1 -0
  152. package/dist/http/afs-rest.cjs +30 -0
  153. package/dist/http/afs-rest.d.cts +21 -0
  154. package/dist/http/afs-rest.d.cts.map +1 -0
  155. package/dist/http/afs-rest.d.mts +21 -0
  156. package/dist/http/afs-rest.d.mts.map +1 -0
  157. package/dist/http/afs-rest.mjs +31 -0
  158. package/dist/http/afs-rest.mjs.map +1 -0
  159. package/dist/http/afs-rpc-wire.cjs +271 -0
  160. package/dist/http/afs-rpc-wire.d.cts +195 -0
  161. package/dist/http/afs-rpc-wire.d.cts.map +1 -0
  162. package/dist/http/afs-rpc-wire.d.mts +195 -0
  163. package/dist/http/afs-rpc-wire.d.mts.map +1 -0
  164. package/dist/http/afs-rpc-wire.mjs +262 -0
  165. package/dist/http/afs-rpc-wire.mjs.map +1 -0
  166. package/dist/http/afs-rpc.cjs +729 -0
  167. package/dist/http/afs-rpc.d.cts +103 -0
  168. package/dist/http/afs-rpc.d.cts.map +1 -0
  169. package/dist/http/afs-rpc.d.mts +103 -0
  170. package/dist/http/afs-rpc.d.mts.map +1 -0
  171. package/dist/http/afs-rpc.mjs +729 -0
  172. package/dist/http/afs-rpc.mjs.map +1 -0
  173. package/dist/http/afs-upload.cjs +116 -0
  174. package/dist/http/afs-upload.d.cts +40 -0
  175. package/dist/http/afs-upload.d.cts.map +1 -0
  176. package/dist/http/afs-upload.d.mts +40 -0
  177. package/dist/http/afs-upload.d.mts.map +1 -0
  178. package/dist/http/afs-upload.mjs +116 -0
  179. package/dist/http/afs-upload.mjs.map +1 -0
  180. package/dist/http/aup-client.cjs +60 -0
  181. package/dist/http/aup-client.d.cts +22 -0
  182. package/dist/http/aup-client.d.cts.map +1 -0
  183. package/dist/http/aup-client.d.mts +22 -0
  184. package/dist/http/aup-client.d.mts.map +1 -0
  185. package/dist/http/aup-client.mjs +59 -0
  186. package/dist/http/aup-client.mjs.map +1 -0
  187. package/dist/http/aup-event.cjs +100 -0
  188. package/dist/http/aup-event.d.cts +38 -0
  189. package/dist/http/aup-event.d.cts.map +1 -0
  190. package/dist/http/aup-event.d.mts +38 -0
  191. package/dist/http/aup-event.d.mts.map +1 -0
  192. package/dist/http/aup-event.mjs +101 -0
  193. package/dist/http/aup-event.mjs.map +1 -0
  194. package/dist/http/auth-context.cjs +66 -0
  195. package/dist/http/auth-context.d.cts +64 -0
  196. package/dist/http/auth-context.d.cts.map +1 -0
  197. package/dist/http/auth-context.d.mts +64 -0
  198. package/dist/http/auth-context.d.mts.map +1 -0
  199. package/dist/http/auth-context.mjs +66 -0
  200. package/dist/http/auth-context.mjs.map +1 -0
  201. package/dist/http/csrf.cjs +50 -0
  202. package/dist/http/csrf.d.cts +8 -0
  203. package/dist/http/csrf.d.cts.map +1 -0
  204. package/dist/http/csrf.d.mts +8 -0
  205. package/dist/http/csrf.d.mts.map +1 -0
  206. package/dist/http/csrf.mjs +49 -0
  207. package/dist/http/csrf.mjs.map +1 -0
  208. package/dist/http/handlers.cjs +106 -0
  209. package/dist/http/handlers.d.cts +39 -0
  210. package/dist/http/handlers.d.cts.map +1 -0
  211. package/dist/http/handlers.d.mts +39 -0
  212. package/dist/http/handlers.d.mts.map +1 -0
  213. package/dist/http/handlers.mjs +104 -0
  214. package/dist/http/handlers.mjs.map +1 -0
  215. package/dist/http/index.d.mts +1 -0
  216. package/dist/http/ingest-facade.cjs +315 -0
  217. package/dist/http/ingest-facade.mjs +314 -0
  218. package/dist/http/ingest-facade.mjs.map +1 -0
  219. package/dist/http/raw-url.cjs +136 -0
  220. package/dist/http/raw-url.d.cts +54 -0
  221. package/dist/http/raw-url.d.cts.map +1 -0
  222. package/dist/http/raw-url.d.mts +54 -0
  223. package/dist/http/raw-url.d.mts.map +1 -0
  224. package/dist/http/raw-url.mjs +136 -0
  225. package/dist/http/raw-url.mjs.map +1 -0
  226. package/dist/http/request-context.cjs +178 -0
  227. package/dist/http/request-context.d.cts +76 -0
  228. package/dist/http/request-context.d.cts.map +1 -0
  229. package/dist/http/request-context.d.mts +76 -0
  230. package/dist/http/request-context.d.mts.map +1 -0
  231. package/dist/http/request-context.mjs +179 -0
  232. package/dist/http/request-context.mjs.map +1 -0
  233. package/dist/index.cjs +197 -0
  234. package/dist/index.d.cts +63 -0
  235. package/dist/index.d.mts +68 -0
  236. package/dist/index.mjs +61 -0
  237. package/dist/mcp/index.cjs +9 -0
  238. package/dist/mcp/index.d.cts +5 -0
  239. package/dist/mcp/index.d.mts +5 -0
  240. package/dist/mcp/index.mjs +6 -0
  241. package/dist/mcp/prompts.cjs +17 -0
  242. package/dist/mcp/prompts.d.cts +8 -0
  243. package/dist/mcp/prompts.d.cts.map +1 -0
  244. package/dist/mcp/prompts.d.mts +8 -0
  245. package/dist/mcp/prompts.d.mts.map +1 -0
  246. package/dist/mcp/prompts.mjs +17 -0
  247. package/dist/mcp/prompts.mjs.map +1 -0
  248. package/dist/mcp/resources.cjs +22 -0
  249. package/dist/mcp/resources.d.cts +8 -0
  250. package/dist/mcp/resources.d.cts.map +1 -0
  251. package/dist/mcp/resources.d.mts +8 -0
  252. package/dist/mcp/resources.d.mts.map +1 -0
  253. package/dist/mcp/resources.mjs +22 -0
  254. package/dist/mcp/resources.mjs.map +1 -0
  255. package/dist/mcp/server.cjs +51 -0
  256. package/dist/mcp/server.d.cts +20 -0
  257. package/dist/mcp/server.d.cts.map +1 -0
  258. package/dist/mcp/server.d.mts +20 -0
  259. package/dist/mcp/server.d.mts.map +1 -0
  260. package/dist/mcp/server.mjs +52 -0
  261. package/dist/mcp/server.mjs.map +1 -0
  262. package/dist/mcp/tools.cjs +218 -0
  263. package/dist/mcp/tools.d.cts +8 -0
  264. package/dist/mcp/tools.d.cts.map +1 -0
  265. package/dist/mcp/tools.d.mts +8 -0
  266. package/dist/mcp/tools.d.mts.map +1 -0
  267. package/dist/mcp/tools.mjs +219 -0
  268. package/dist/mcp/tools.mjs.map +1 -0
  269. package/dist/mcp/utils.cjs +75 -0
  270. package/dist/mcp/utils.mjs +69 -0
  271. package/dist/mcp/utils.mjs.map +1 -0
  272. package/dist/mount/index.cjs +4 -0
  273. package/dist/mount/index.d.cts +3 -0
  274. package/dist/mount/index.d.mts +3 -0
  275. package/dist/mount/index.mjs +3 -0
  276. package/dist/mount/materializer.cjs +167 -0
  277. package/dist/mount/materializer.d.cts +97 -0
  278. package/dist/mount/materializer.d.cts.map +1 -0
  279. package/dist/mount/materializer.d.mts +97 -0
  280. package/dist/mount/materializer.d.mts.map +1 -0
  281. package/dist/mount/materializer.mjs +167 -0
  282. package/dist/mount/materializer.mjs.map +1 -0
  283. package/dist/mount/types.d.cts +90 -0
  284. package/dist/mount/types.d.cts.map +1 -0
  285. package/dist/mount/types.d.mts +90 -0
  286. package/dist/mount/types.d.mts.map +1 -0
  287. package/dist/mount-config.cjs +61 -0
  288. package/dist/mount-config.d.cts +19 -0
  289. package/dist/mount-config.d.cts.map +1 -0
  290. package/dist/mount-config.d.mts +19 -0
  291. package/dist/mount-config.d.mts.map +1 -0
  292. package/dist/mount-config.mjs +61 -0
  293. package/dist/mount-config.mjs.map +1 -0
  294. package/dist/projectors/aup-projector.cjs +190 -0
  295. package/dist/projectors/aup-projector.d.cts +59 -0
  296. package/dist/projectors/aup-projector.d.cts.map +1 -0
  297. package/dist/projectors/aup-projector.d.mts +59 -0
  298. package/dist/projectors/aup-projector.d.mts.map +1 -0
  299. package/dist/projectors/aup-projector.mjs +188 -0
  300. package/dist/projectors/aup-projector.mjs.map +1 -0
  301. package/dist/projectors/index.cjs +6 -0
  302. package/dist/projectors/index.d.cts +2 -0
  303. package/dist/projectors/index.d.mts +2 -0
  304. package/dist/projectors/index.mjs +3 -0
  305. package/dist/scaffold/afs.cjs +195 -0
  306. package/dist/scaffold/afs.d.cts +16 -0
  307. package/dist/scaffold/afs.d.cts.map +1 -0
  308. package/dist/scaffold/afs.d.mts +16 -0
  309. package/dist/scaffold/afs.d.mts.map +1 -0
  310. package/dist/scaffold/afs.mjs +195 -0
  311. package/dist/scaffold/afs.mjs.map +1 -0
  312. package/dist/scaffold/composition.cjs +92 -0
  313. package/dist/scaffold/composition.d.cts +10 -0
  314. package/dist/scaffold/composition.d.cts.map +1 -0
  315. package/dist/scaffold/composition.d.mts +10 -0
  316. package/dist/scaffold/composition.d.mts.map +1 -0
  317. package/dist/scaffold/composition.mjs +92 -0
  318. package/dist/scaffold/composition.mjs.map +1 -0
  319. package/dist/scaffold/dsl-error.cjs +21 -0
  320. package/dist/scaffold/dsl-error.d.cts +11 -0
  321. package/dist/scaffold/dsl-error.d.cts.map +1 -0
  322. package/dist/scaffold/dsl-error.d.mts +11 -0
  323. package/dist/scaffold/dsl-error.d.mts.map +1 -0
  324. package/dist/scaffold/dsl-error.mjs +20 -0
  325. package/dist/scaffold/dsl-error.mjs.map +1 -0
  326. package/dist/scaffold/index.d.mts +12 -0
  327. package/dist/scaffold/manifest-dsl.cjs +188 -0
  328. package/dist/scaffold/manifest-dsl.d.cts +8 -0
  329. package/dist/scaffold/manifest-dsl.d.cts.map +1 -0
  330. package/dist/scaffold/manifest-dsl.d.mts +8 -0
  331. package/dist/scaffold/manifest-dsl.d.mts.map +1 -0
  332. package/dist/scaffold/manifest-dsl.mjs +188 -0
  333. package/dist/scaffold/manifest-dsl.mjs.map +1 -0
  334. package/dist/scaffold/module-dsl.cjs +284 -0
  335. package/dist/scaffold/module-dsl.d.cts +8 -0
  336. package/dist/scaffold/module-dsl.d.cts.map +1 -0
  337. package/dist/scaffold/module-dsl.d.mts +8 -0
  338. package/dist/scaffold/module-dsl.d.mts.map +1 -0
  339. package/dist/scaffold/module-dsl.mjs +284 -0
  340. package/dist/scaffold/module-dsl.mjs.map +1 -0
  341. package/dist/scaffold/resolver.cjs +156 -0
  342. package/dist/scaffold/resolver.d.cts +7 -0
  343. package/dist/scaffold/resolver.d.cts.map +1 -0
  344. package/dist/scaffold/resolver.d.mts +7 -0
  345. package/dist/scaffold/resolver.d.mts.map +1 -0
  346. package/dist/scaffold/resolver.mjs +156 -0
  347. package/dist/scaffold/resolver.mjs.map +1 -0
  348. package/dist/scaffold/runtime.cjs +24 -0
  349. package/dist/scaffold/runtime.d.cts +19 -0
  350. package/dist/scaffold/runtime.d.cts.map +1 -0
  351. package/dist/scaffold/runtime.d.mts +19 -0
  352. package/dist/scaffold/runtime.d.mts.map +1 -0
  353. package/dist/scaffold/runtime.mjs +25 -0
  354. package/dist/scaffold/runtime.mjs.map +1 -0
  355. package/dist/scaffold/shell-dsl.cjs +279 -0
  356. package/dist/scaffold/shell-dsl.d.cts +8 -0
  357. package/dist/scaffold/shell-dsl.d.cts.map +1 -0
  358. package/dist/scaffold/shell-dsl.d.mts +8 -0
  359. package/dist/scaffold/shell-dsl.d.mts.map +1 -0
  360. package/dist/scaffold/shell-dsl.mjs +279 -0
  361. package/dist/scaffold/shell-dsl.mjs.map +1 -0
  362. package/dist/scaffold/surface-dsl.cjs +182 -0
  363. package/dist/scaffold/surface-dsl.d.cts +8 -0
  364. package/dist/scaffold/surface-dsl.d.cts.map +1 -0
  365. package/dist/scaffold/surface-dsl.d.mts +8 -0
  366. package/dist/scaffold/surface-dsl.d.mts.map +1 -0
  367. package/dist/scaffold/surface-dsl.mjs +182 -0
  368. package/dist/scaffold/surface-dsl.mjs.map +1 -0
  369. package/dist/scaffold/surfaces.cjs +84 -0
  370. package/dist/scaffold/surfaces.d.cts +23 -0
  371. package/dist/scaffold/surfaces.d.cts.map +1 -0
  372. package/dist/scaffold/surfaces.d.mts +24 -0
  373. package/dist/scaffold/surfaces.d.mts.map +1 -0
  374. package/dist/scaffold/surfaces.mjs +84 -0
  375. package/dist/scaffold/surfaces.mjs.map +1 -0
  376. package/dist/scaffold/types.d.cts +264 -0
  377. package/dist/scaffold/types.d.cts.map +1 -0
  378. package/dist/scaffold/types.d.mts +265 -0
  379. package/dist/scaffold/types.d.mts.map +1 -0
  380. package/dist/scaffold/workspace-dsl.cjs +339 -0
  381. package/dist/scaffold/workspace-dsl.d.cts +49 -0
  382. package/dist/scaffold/workspace-dsl.d.cts.map +1 -0
  383. package/dist/scaffold/workspace-dsl.d.mts +49 -0
  384. package/dist/scaffold/workspace-dsl.d.mts.map +1 -0
  385. package/dist/scaffold/workspace-dsl.mjs +337 -0
  386. package/dist/scaffold/workspace-dsl.mjs.map +1 -0
  387. package/dist/scope/index.d.mts +3 -0
  388. package/dist/scope/read-blocklet-scope.cjs +29 -0
  389. package/dist/scope/read-blocklet-scope.d.cts +8 -0
  390. package/dist/scope/read-blocklet-scope.d.cts.map +1 -0
  391. package/dist/scope/read-blocklet-scope.d.mts +8 -0
  392. package/dist/scope/read-blocklet-scope.d.mts.map +1 -0
  393. package/dist/scope/read-blocklet-scope.mjs +30 -0
  394. package/dist/scope/read-blocklet-scope.mjs.map +1 -0
  395. package/dist/scope/resolve-scoped-afs.cjs +87 -0
  396. package/dist/scope/resolve-scoped-afs.d.cts +7 -0
  397. package/dist/scope/resolve-scoped-afs.d.cts.map +1 -0
  398. package/dist/scope/resolve-scoped-afs.d.mts +7 -0
  399. package/dist/scope/resolve-scoped-afs.d.mts.map +1 -0
  400. package/dist/scope/resolve-scoped-afs.mjs +88 -0
  401. package/dist/scope/resolve-scoped-afs.mjs.map +1 -0
  402. package/dist/scope/types.d.cts +25 -0
  403. package/dist/scope/types.d.cts.map +1 -0
  404. package/dist/scope/types.d.mts +25 -0
  405. package/dist/scope/types.d.mts.map +1 -0
  406. package/dist/session/backends.cjs +90 -0
  407. package/dist/session/backends.d.cts +35 -0
  408. package/dist/session/backends.d.cts.map +1 -0
  409. package/dist/session/backends.d.mts +35 -0
  410. package/dist/session/backends.d.mts.map +1 -0
  411. package/dist/session/backends.mjs +89 -0
  412. package/dist/session/backends.mjs.map +1 -0
  413. package/dist/session/replication-resolver.cjs +323 -0
  414. package/dist/session/replication-resolver.d.cts +71 -0
  415. package/dist/session/replication-resolver.d.cts.map +1 -0
  416. package/dist/session/replication-resolver.d.mts +71 -0
  417. package/dist/session/replication-resolver.d.mts.map +1 -0
  418. package/dist/session/replication-resolver.mjs +323 -0
  419. package/dist/session/replication-resolver.mjs.map +1 -0
  420. package/dist/session/role-level.cjs +36 -0
  421. package/dist/session/role-level.d.cts +24 -0
  422. package/dist/session/role-level.d.cts.map +1 -0
  423. package/dist/session/role-level.d.mts +24 -0
  424. package/dist/session/role-level.d.mts.map +1 -0
  425. package/dist/session/role-level.mjs +35 -0
  426. package/dist/session/role-level.mjs.map +1 -0
  427. package/dist/session/session-dir-providers.cjs +254 -0
  428. package/dist/session/session-dir-providers.d.cts +32 -0
  429. package/dist/session/session-dir-providers.d.cts.map +1 -0
  430. package/dist/session/session-dir-providers.d.mts +32 -0
  431. package/dist/session/session-dir-providers.d.mts.map +1 -0
  432. package/dist/session/session-dir-providers.mjs +252 -0
  433. package/dist/session/session-dir-providers.mjs.map +1 -0
  434. package/dist/session/session-id.cjs +20 -0
  435. package/dist/session/session-id.d.cts +15 -0
  436. package/dist/session/session-id.d.cts.map +1 -0
  437. package/dist/session/session-id.d.mts +15 -0
  438. package/dist/session/session-id.d.mts.map +1 -0
  439. package/dist/session/session-id.mjs +20 -0
  440. package/dist/session/session-id.mjs.map +1 -0
  441. package/dist/session/session-user-afs.cjs +899 -0
  442. package/dist/session/session-user-afs.d.cts +296 -0
  443. package/dist/session/session-user-afs.d.cts.map +1 -0
  444. package/dist/session/session-user-afs.d.mts +296 -0
  445. package/dist/session/session-user-afs.d.mts.map +1 -0
  446. package/dist/session/session-user-afs.mjs +896 -0
  447. package/dist/session/session-user-afs.mjs.map +1 -0
  448. package/dist/session/settings-cascade.cjs +69 -0
  449. package/dist/session/settings-cascade.d.cts +81 -0
  450. package/dist/session/settings-cascade.d.cts.map +1 -0
  451. package/dist/session/settings-cascade.d.mts +81 -0
  452. package/dist/session/settings-cascade.d.mts.map +1 -0
  453. package/dist/session/settings-cascade.mjs +69 -0
  454. package/dist/session/settings-cascade.mjs.map +1 -0
  455. package/dist/session/settings-resolver.cjs +770 -0
  456. package/dist/session/settings-resolver.d.cts +177 -0
  457. package/dist/session/settings-resolver.d.cts.map +1 -0
  458. package/dist/session/settings-resolver.d.mts +177 -0
  459. package/dist/session/settings-resolver.d.mts.map +1 -0
  460. package/dist/session/settings-resolver.mjs +771 -0
  461. package/dist/session/settings-resolver.mjs.map +1 -0
  462. package/dist/session/settings-schema-store.cjs +0 -0
  463. package/dist/session/settings-schema-store.d.cts +72 -0
  464. package/dist/session/settings-schema-store.d.cts.map +1 -0
  465. package/dist/session/settings-schema-store.d.mts +72 -0
  466. package/dist/session/settings-schema-store.d.mts.map +1 -0
  467. package/dist/session/settings-schema-store.mjs +0 -0
  468. package/dist/session/settings-schema-store.mjs.map +1 -0
  469. package/dist/system-mounts/index.cjs +14 -0
  470. package/dist/system-mounts/index.d.cts +6 -0
  471. package/dist/system-mounts/index.d.mts +6 -0
  472. package/dist/system-mounts/index.mjs +6 -0
  473. package/dist/system-mounts/install.cjs +101 -0
  474. package/dist/system-mounts/install.d.cts +36 -0
  475. package/dist/system-mounts/install.d.cts.map +1 -0
  476. package/dist/system-mounts/install.d.mts +37 -0
  477. package/dist/system-mounts/install.d.mts.map +1 -0
  478. package/dist/system-mounts/install.mjs +102 -0
  479. package/dist/system-mounts/install.mjs.map +1 -0
  480. package/dist/system-mounts/installers.cjs +247 -0
  481. package/dist/system-mounts/installers.d.cts +13 -0
  482. package/dist/system-mounts/installers.d.cts.map +1 -0
  483. package/dist/system-mounts/installers.d.mts +14 -0
  484. package/dist/system-mounts/installers.d.mts.map +1 -0
  485. package/dist/system-mounts/installers.mjs +244 -0
  486. package/dist/system-mounts/installers.mjs.map +1 -0
  487. package/dist/system-mounts/lists.cjs +122 -0
  488. package/dist/system-mounts/lists.d.cts +34 -0
  489. package/dist/system-mounts/lists.d.cts.map +1 -0
  490. package/dist/system-mounts/lists.d.mts +34 -0
  491. package/dist/system-mounts/lists.d.mts.map +1 -0
  492. package/dist/system-mounts/lists.mjs +122 -0
  493. package/dist/system-mounts/lists.mjs.map +1 -0
  494. package/dist/system-mounts/types.d.cts +124 -0
  495. package/dist/system-mounts/types.d.cts.map +1 -0
  496. package/dist/system-mounts/types.d.mts +125 -0
  497. package/dist/system-mounts/types.d.mts.map +1 -0
  498. package/dist/system-mounts/validate.cjs +56 -0
  499. package/dist/system-mounts/validate.d.cts +34 -0
  500. package/dist/system-mounts/validate.d.cts.map +1 -0
  501. package/dist/system-mounts/validate.d.mts +34 -0
  502. package/dist/system-mounts/validate.d.mts.map +1 -0
  503. package/dist/system-mounts/validate.mjs +56 -0
  504. package/dist/system-mounts/validate.mjs.map +1 -0
  505. package/dist/terminal-llm.cjs +90 -0
  506. package/dist/terminal-llm.d.cts +50 -0
  507. package/dist/terminal-llm.d.cts.map +1 -0
  508. package/dist/terminal-llm.d.mts +50 -0
  509. package/dist/terminal-llm.d.mts.map +1 -0
  510. package/dist/terminal-llm.mjs +90 -0
  511. package/dist/terminal-llm.mjs.map +1 -0
  512. package/dist/terminal-repl.cjs +371 -0
  513. package/dist/terminal-repl.d.cts +69 -0
  514. package/dist/terminal-repl.d.cts.map +1 -0
  515. package/dist/terminal-repl.d.mts +69 -0
  516. package/dist/terminal-repl.d.mts.map +1 -0
  517. package/dist/terminal-repl.mjs +370 -0
  518. package/dist/terminal-repl.mjs.map +1 -0
  519. package/dist/transport/idle-timer.cjs +136 -0
  520. package/dist/transport/idle-timer.d.cts +92 -0
  521. package/dist/transport/idle-timer.d.cts.map +1 -0
  522. package/dist/transport/idle-timer.d.mts +92 -0
  523. package/dist/transport/idle-timer.d.mts.map +1 -0
  524. package/dist/transport/idle-timer.mjs +132 -0
  525. package/dist/transport/idle-timer.mjs.map +1 -0
  526. package/dist/web-component-dsl.cjs +153 -0
  527. package/dist/web-component-dsl.d.cts +27 -0
  528. package/dist/web-component-dsl.d.cts.map +1 -0
  529. package/dist/web-component-dsl.d.mts +27 -0
  530. package/dist/web-component-dsl.d.mts.map +1 -0
  531. package/dist/web-component-dsl.mjs +152 -0
  532. package/dist/web-component-dsl.mjs.map +1 -0
  533. package/package.json +81 -0
@@ -0,0 +1,371 @@
1
+
2
+ //#region src/terminal-repl.ts
3
+ const ARC_ART = ["▄▀█ █▀█ █▀▀", "█▀█ █▀▄ █▄▄"];
4
+ const TAGLINE = "Agentic Realm Computer";
5
+ const COPYRIGHT = "Copyright (c) 2026 ArcBlock Inc. All rights reserved.";
6
+ const R = "\x1B[0m";
7
+ const ART_GRADIENT = [[
8
+ 100,
9
+ 220,
10
+ 255
11
+ ], [
12
+ 180,
13
+ 120,
14
+ 255
15
+ ]];
16
+ const TAGLINE_GRADIENT = [
17
+ [
18
+ 100,
19
+ 255,
20
+ 255
21
+ ],
22
+ [
23
+ 80,
24
+ 220,
25
+ 255
26
+ ],
27
+ [
28
+ 60,
29
+ 180,
30
+ 255
31
+ ],
32
+ [
33
+ 100,
34
+ 140,
35
+ 255
36
+ ],
37
+ [
38
+ 180,
39
+ 120,
40
+ 255
41
+ ],
42
+ [
43
+ 220,
44
+ 100,
45
+ 255
46
+ ]
47
+ ];
48
+ function interpColor(t, stops) {
49
+ const scaled = t * (stops.length - 1);
50
+ const i = Math.min(Math.floor(scaled), stops.length - 2);
51
+ const frac = scaled - i;
52
+ const a = stops[i] ?? [
53
+ 0,
54
+ 0,
55
+ 0
56
+ ];
57
+ const b = stops[i + 1] ?? [
58
+ 0,
59
+ 0,
60
+ 0
61
+ ];
62
+ return [
63
+ Math.round(a[0] + (b[0] - a[0]) * frac),
64
+ Math.round(a[1] + (b[1] - a[1]) * frac),
65
+ Math.round(a[2] + (b[2] - a[2]) * frac)
66
+ ];
67
+ }
68
+ function rainbowText(text) {
69
+ const chars = [...text];
70
+ return chars.map((ch, i) => {
71
+ if (ch === " ") return ch;
72
+ const [r, g, b] = interpColor(chars.length > 1 ? i / (chars.length - 1) : 0, TAGLINE_GRADIENT);
73
+ return `\x1b[38;2;${r};${g};${b}m${ch}${R}`;
74
+ }).join("");
75
+ }
76
+ /**
77
+ * Render the ARC terminal banner.
78
+ *
79
+ * Uses 24-bit truecolor gradient (matches Node splash.ts exactly).
80
+ *
81
+ * Output (colored):
82
+ * ▄▀█ █▀█ █▀▀ Agentic Realm Computer
83
+ * █▀█ █▀▄ █▄▄ v1.0.0 (abc1234) · 2026-04-23
84
+ * Copyright (c) 2026 ArcBlock Inc. All rights reserved.
85
+ *
86
+ * Session: <id> · N providers · Type help for commands.
87
+ */
88
+ function renderArcBanner(opts) {
89
+ const color = opts.color !== false;
90
+ const { version, commit, date, providerCount, sessionId } = opts;
91
+ const tc = (rgb, s) => color ? `\x1b[38;2;${rgb[0]};${rgb[1]};${rgb[2]}m${s}${R}` : s;
92
+ const cyan = (s) => color ? `\x1b[96m${s}${R}` : s;
93
+ const dim = (s) => color ? `\x1b[2m${s}${R}` : s;
94
+ const art = ARC_ART.map((line, i) => color ? tc(ART_GRADIENT[i], line) : line);
95
+ const tagline = color ? rainbowText(TAGLINE) : TAGLINE;
96
+ const versionStr = [
97
+ cyan(`v${version}`),
98
+ dim(`(${commit})`),
99
+ dim("·"),
100
+ dim(date)
101
+ ].join(" ");
102
+ const copyrightStr = dim(COPYRIGHT);
103
+ const gap = " ";
104
+ const lines = [
105
+ ` ${art[0]}${gap}${tagline}`,
106
+ ` ${art[1]}${gap}${versionStr}`,
107
+ ` ${copyrightStr}`
108
+ ];
109
+ if (providerCount !== void 0 || sessionId) {
110
+ const parts = [];
111
+ if (sessionId) parts.push(`Session: ${dim(sessionId)}`);
112
+ if (providerCount !== void 0) {
113
+ const plural = providerCount === 1 ? "provider" : "providers";
114
+ parts.push(`${providerCount} ${plural}`);
115
+ }
116
+ parts.push(`Type ${cyan("help")} for commands.`);
117
+ lines.push("", ` ${parts.join(dim(" · "))}`);
118
+ }
119
+ return lines.join("\r\n");
120
+ }
121
+ /** Generate a random hex session ID. */
122
+ function genSessionId() {
123
+ const arr = new Uint8Array(8);
124
+ if (typeof crypto !== "undefined" && crypto.getRandomValues) crypto.getRandomValues(arr);
125
+ else for (let i = 0; i < arr.length; i++) arr[i] = Math.floor(Math.random() * 256);
126
+ return Array.from(arr, (b) => b.toString(16).padStart(2, "0")).join("");
127
+ }
128
+ function resolvePath(cwd, raw) {
129
+ if (!raw || raw === ".") return cwd;
130
+ const parts = (raw.startsWith("/") ? raw : `${cwd === "/" ? "" : cwd}/${raw}`).split("/").filter(Boolean);
131
+ const resolved = [];
132
+ for (const p of parts) if (p === "..") resolved.pop();
133
+ else if (p !== ".") resolved.push(p);
134
+ return `/${resolved.join("/")}`;
135
+ }
136
+ function parseArgs(input) {
137
+ const args = [];
138
+ let current = "";
139
+ let quote = null;
140
+ for (const ch of input) if (quote) if (ch === quote) quote = null;
141
+ else current += ch;
142
+ else if (ch === "\"" || ch === "'") quote = ch;
143
+ else if (ch === " " || ch === " ") {
144
+ if (current) {
145
+ args.push(current);
146
+ current = "";
147
+ }
148
+ } else current += ch;
149
+ if (current) args.push(current);
150
+ return args;
151
+ }
152
+ function makeAnsi(color) {
153
+ const r = color ? "\x1B[0m" : "";
154
+ const red = color ? "\x1B[31m" : "";
155
+ const blue = color ? "\x1B[34m" : "";
156
+ const yellow = color ? "\x1B[33m" : "";
157
+ const bold = color ? "\x1B[1m" : "";
158
+ return {
159
+ r,
160
+ red,
161
+ blue,
162
+ yellow,
163
+ bold,
164
+ err: (msg) => `${red}Error:${r} ${msg}`,
165
+ help: () => [
166
+ `${bold}Available commands:${r}`,
167
+ "",
168
+ ` ${bold}AFS Commands:${r}`,
169
+ ` ${yellow}ls${r} [path] List directory contents (default: current dir)`,
170
+ ` ${yellow}read${r} <path> Read file content`,
171
+ ` ${yellow}write${r} <path> <content> Write content to file`,
172
+ ` ${yellow}stat${r} [path] Get file or directory info`,
173
+ ` ${yellow}exec${r} <path> [args] Execute an action`,
174
+ ` ${yellow}explain${r} [path] Explain path capabilities`,
175
+ ` ${yellow}search${r} <path> <query> Search content`,
176
+ "",
177
+ ` ${bold}REPL Commands:${r}`,
178
+ ` ${yellow}cd${r} [path] Change working directory`,
179
+ ` ${yellow}pwd${r} Print working directory`,
180
+ ` ${yellow}help${r} Show this help`,
181
+ ` ${yellow}clear${r} Clear screen`,
182
+ ` ${yellow}exit${r} / ${yellow}quit${r} Exit session`
183
+ ].join("\r\n")
184
+ };
185
+ }
186
+ async function cmdLs(afs, path, ansi) {
187
+ try {
188
+ const items = (await afs.list(path, { maxDepth: 1 })).data ?? [];
189
+ if (!items.length) return "(empty)";
190
+ return items.map((e) => {
191
+ const isDir = e.meta?.kind === "directory" || (e.meta?.childrenCount ?? 0) > 0;
192
+ const name = e.path.split("/").at(-1) ?? e.path;
193
+ return isDir ? `${ansi.blue}${name}/${ansi.r}` : name;
194
+ }).join("\r\n");
195
+ } catch (e) {
196
+ return ansi.err(e instanceof Error ? e.message : String(e));
197
+ }
198
+ }
199
+ async function cmdRead(afs, path, ansi) {
200
+ try {
201
+ const content = (await afs.read(path)).data?.content;
202
+ if (content === void 0 || content === null) return ansi.err("Not found or not readable");
203
+ if (typeof content === "string") return content;
204
+ if (content instanceof Uint8Array) return new TextDecoder().decode(content);
205
+ return JSON.stringify(content, null, 2);
206
+ } catch (e) {
207
+ const msg = e instanceof Error ? e.message : String(e);
208
+ if (/not found|ENOENT/i.test(msg)) return ansi.err(`Not found: ${path}`);
209
+ return ansi.err(msg);
210
+ }
211
+ }
212
+ async function cmdWrite(afs, path, content, ansi) {
213
+ try {
214
+ await afs.write(path, { content });
215
+ return `Written: ${path}`;
216
+ } catch (e) {
217
+ return ansi.err(e instanceof Error ? e.message : String(e));
218
+ }
219
+ }
220
+ async function cmdStat(afs, path, ansi) {
221
+ try {
222
+ const meta = (await afs.stat(path))?.data?.meta ?? {};
223
+ const lines = [`${ansi.bold}Path:${ansi.r} ${path}`];
224
+ for (const [k, v] of Object.entries(meta)) if (v !== void 0 && v !== null) lines.push(`${ansi.yellow}${k}:${ansi.r} ${JSON.stringify(v)}`);
225
+ return lines.join("\r\n");
226
+ } catch (e) {
227
+ const msg = e instanceof Error ? e.message : String(e);
228
+ if (/not found|ENOENT/i.test(msg)) return ansi.err(`Not found: ${path}`);
229
+ return ansi.err(msg);
230
+ }
231
+ }
232
+ async function cmdExec(afs, path, args, ansi) {
233
+ try {
234
+ const data = (await afs.exec(path, args))?.data;
235
+ if (data === void 0 || data === null) return "(no output)";
236
+ if (typeof data === "string") return data;
237
+ return JSON.stringify(data, null, 2);
238
+ } catch (e) {
239
+ return ansi.err(e instanceof Error ? e.message : String(e));
240
+ }
241
+ }
242
+ async function cmdExplain(afs, path, ansi) {
243
+ try {
244
+ const result = await afs.explain(path);
245
+ if (!result) return "(no explanation)";
246
+ return result.content ?? "(no explanation)";
247
+ } catch (e) {
248
+ return ansi.err(e instanceof Error ? e.message : String(e));
249
+ }
250
+ }
251
+ async function cmdSearch(afs, path, query, ansi) {
252
+ try {
253
+ const items = (await afs.search(path, query))?.data ?? [];
254
+ if (!Array.isArray(items) || !items.length) return "(no results)";
255
+ return items.map((e) => {
256
+ const entry = e;
257
+ return typeof entry.path === "string" ? entry.path : JSON.stringify(e);
258
+ }).join("\r\n");
259
+ } catch (e) {
260
+ return ansi.err(e instanceof Error ? e.message : String(e));
261
+ }
262
+ }
263
+ async function cmdCd(afs, cwd, target) {
264
+ const newCwd = resolvePath(cwd, target);
265
+ if (newCwd === "/") return { newCwd };
266
+ try {
267
+ const meta = (await afs.stat(newCwd))?.data?.meta ?? {};
268
+ if (!(meta.kind === "directory" || meta.childrenCount !== void 0 || newCwd.split("/").filter(Boolean).length === 1)) return {
269
+ newCwd: cwd,
270
+ error: `Not a directory: ${newCwd}`
271
+ };
272
+ return { newCwd };
273
+ } catch {
274
+ try {
275
+ await afs.list(newCwd, { maxDepth: 1 });
276
+ return { newCwd };
277
+ } catch {
278
+ return {
279
+ newCwd: cwd,
280
+ error: `Not found: ${newCwd}`
281
+ };
282
+ }
283
+ }
284
+ }
285
+ /**
286
+ * Create a platform-agnostic AFS REPL session.
287
+ *
288
+ * Used by both the CF Worker terminal and the Node daemon terminal.
289
+ * Transport (WebSocket send/receive) is handled by the caller.
290
+ */
291
+ function createAfsReplSession(afs, opts) {
292
+ const sessionId = genSessionId();
293
+ const ansi = makeAnsi(opts.color !== false);
294
+ let cwd = "/";
295
+ let cachedProviderCount = null;
296
+ return {
297
+ sessionId,
298
+ getPrompt() {
299
+ return `afs ${cwd === "/" ? "/" : cwd.split("/").at(-1)}> `;
300
+ },
301
+ async countProviders() {
302
+ if (cachedProviderCount !== null) return cachedProviderCount;
303
+ try {
304
+ const result = await afs.list("/");
305
+ const seen = /* @__PURE__ */ new Set();
306
+ for (const e of result.data ?? []) if (typeof e?.path === "string") seen.add(e.path);
307
+ cachedProviderCount = seen.size || 0;
308
+ } catch {
309
+ cachedProviderCount = 0;
310
+ }
311
+ return cachedProviderCount;
312
+ },
313
+ async route(line) {
314
+ const trimmed = line.trim();
315
+ if (!trimmed) return {};
316
+ const args = parseArgs(trimmed.startsWith("afs ") ? trimmed.slice(4).trim() : trimmed);
317
+ const cmd = args[0]?.toLowerCase() ?? "";
318
+ switch (cmd) {
319
+ case "ls": {
320
+ const rawPath = args[1] ?? cwd;
321
+ return { output: await cmdLs(afs, resolvePath(cwd, rawPath), ansi) };
322
+ }
323
+ case "read":
324
+ case "cat":
325
+ if (!args[1]) return { output: ansi.err("Usage: read <path>") };
326
+ return { output: (await cmdRead(afs, resolvePath(cwd, args[1]), ansi)).replace(/\n/g, "\r\n") };
327
+ case "write":
328
+ if (!args[1]) return { output: ansi.err("Usage: write <path> <content>") };
329
+ return { output: await cmdWrite(afs, resolvePath(cwd, args[1]), args.slice(2).join(" "), ansi) };
330
+ case "stat": {
331
+ const rawPath = args[1] ?? cwd;
332
+ return { output: await cmdStat(afs, resolvePath(cwd, rawPath), ansi) };
333
+ }
334
+ case "exec": {
335
+ if (!args[1]) return { output: ansi.err("Usage: exec <path> [args...]") };
336
+ const path = resolvePath(cwd, args[1]);
337
+ const execArgs = {};
338
+ for (let i = 2; i < args.length; i++) {
339
+ const kv = args[i].split("=");
340
+ if (kv.length === 2) execArgs[kv[0]] = kv[1];
341
+ else execArgs[`arg${i - 2}`] = args[i];
342
+ }
343
+ return { output: await cmdExec(afs, path, execArgs, ansi) };
344
+ }
345
+ case "explain": {
346
+ const rawPath = args[1] ?? cwd;
347
+ return { output: await cmdExplain(afs, resolvePath(cwd, rawPath), ansi) };
348
+ }
349
+ case "search":
350
+ if (!args[1] || !args[2]) return { output: ansi.err("Usage: search <path> <query>") };
351
+ return { output: await cmdSearch(afs, resolvePath(cwd, args[1]), args.slice(2).join(" "), ansi) };
352
+ case "cd": {
353
+ const target = args[1] ?? "/";
354
+ const { newCwd, error } = await cmdCd(afs, cwd, target);
355
+ cwd = newCwd;
356
+ return { output: error ? ansi.err(error) : void 0 };
357
+ }
358
+ case "pwd": return { output: cwd };
359
+ case "help": return { output: ansi.help() };
360
+ case "clear": return { clear: true };
361
+ case "exit":
362
+ case "quit": return { exit: true };
363
+ default: return { output: `${ansi.err(`Unknown command: ${cmd}`)} — type ${ansi.yellow}help${ansi.r} for available commands` };
364
+ }
365
+ }
366
+ };
367
+ }
368
+
369
+ //#endregion
370
+ exports.createAfsReplSession = createAfsReplSession;
371
+ exports.renderArcBanner = renderArcBanner;
@@ -0,0 +1,69 @@
1
+ import { AFS } from "@aigne/afs";
2
+
3
+ //#region src/terminal-repl.d.ts
4
+ interface BannerOptions {
5
+ version: string;
6
+ commit: string;
7
+ date: string;
8
+ /** Provider count to display in the session line. */
9
+ providerCount?: number;
10
+ /** Session ID to display in the session line. */
11
+ sessionId?: string;
12
+ /** Use ANSI color codes. Default: true. */
13
+ color?: boolean;
14
+ }
15
+ /**
16
+ * Render the ARC terminal banner.
17
+ *
18
+ * Uses 24-bit truecolor gradient (matches Node splash.ts exactly).
19
+ *
20
+ * Output (colored):
21
+ * ▄▀█ █▀█ █▀▀ Agentic Realm Computer
22
+ * █▀█ █▀▄ █▄▄ v1.0.0 (abc1234) · 2026-04-23
23
+ * Copyright (c) 2026 ArcBlock Inc. All rights reserved.
24
+ *
25
+ * Session: <id> · N providers · Type help for commands.
26
+ */
27
+ declare function renderArcBanner(opts: BannerOptions): string;
28
+ interface AfsReplResult {
29
+ /** Text to display in the terminal (pre-formatted, CRLF line endings). */
30
+ output?: string;
31
+ /** If true, the terminal should clear its screen. */
32
+ clear?: boolean;
33
+ /** If true, the session is ending; caller should close the connection. */
34
+ exit?: boolean;
35
+ }
36
+ interface AfsReplSession {
37
+ /** Unique session ID (hex string). */
38
+ readonly sessionId: string;
39
+ /** Get current prompt string (e.g. `afs data> `). */
40
+ getPrompt(): string;
41
+ /**
42
+ * Count mounted providers via `afs.list("/")`.
43
+ * Safe to call before the first command — result is cached.
44
+ */
45
+ countProviders(): Promise<number>;
46
+ /**
47
+ * Route a line of user input.
48
+ * Handles builtins (cd, pwd, help, clear, exit) and AFS primitives
49
+ * (ls, read, write, stat, exec, explain, search).
50
+ */
51
+ route(line: string): Promise<AfsReplResult>;
52
+ }
53
+ interface AfsReplOptions {
54
+ version: string;
55
+ commit: string;
56
+ date: string;
57
+ /** Use ANSI color. Default: true. */
58
+ color?: boolean;
59
+ }
60
+ /**
61
+ * Create a platform-agnostic AFS REPL session.
62
+ *
63
+ * Used by both the CF Worker terminal and the Node daemon terminal.
64
+ * Transport (WebSocket send/receive) is handled by the caller.
65
+ */
66
+ declare function createAfsReplSession(afs: AFS, opts: AfsReplOptions): AfsReplSession;
67
+ //#endregion
68
+ export { AfsReplOptions, AfsReplResult, AfsReplSession, BannerOptions, createAfsReplSession, renderArcBanner };
69
+ //# sourceMappingURL=terminal-repl.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-repl.d.cts","names":[],"sources":["../src/terminal-repl.ts"],"mappings":";;;UAqEiB,aAAA;EACf,OAAA;EACA,MAAA;EACA,IAAA;EAqBoC;EAnBpC,aAAA;EA0De;EAxDf,SAAA;;EAEA,KAAA;AAAA;;;;;AA+DF;;;;;;;;iBAhDgB,eAAA,CAAgB,IAAA,EAAM,aAAA;AAAA,UAuCrB,aAAA;EAkBf;EAhBA,MAAA;EAsBA;EApBA,KAAA;EAoBqB;EAlBrB,IAAA;AAAA;AAAA,UAGe,cAAA;EAkBA;EAAA,SAhBN,SAAA;;EAET,SAAA;EAeA;;;;EAVA,cAAA,IAAkB,OAAA;EAcb;AA2PP;;;;EAnQE,KAAA,CAAM,IAAA,WAAe,OAAA,CAAQ,aAAA;AAAA;AAAA,UAGd,cAAA;EACf,OAAA;EACA,MAAA;EACA,IAAA;EA6PmD;EA3PnD,KAAA;AAAA;;;;;;;iBA2Pc,oBAAA,CAAqB,GAAA,EAAK,GAAA,EAAK,IAAA,EAAM,cAAA,GAAiB,cAAA"}
@@ -0,0 +1,69 @@
1
+ import { AFS } from "@aigne/afs";
2
+
3
+ //#region src/terminal-repl.d.ts
4
+ interface BannerOptions {
5
+ version: string;
6
+ commit: string;
7
+ date: string;
8
+ /** Provider count to display in the session line. */
9
+ providerCount?: number;
10
+ /** Session ID to display in the session line. */
11
+ sessionId?: string;
12
+ /** Use ANSI color codes. Default: true. */
13
+ color?: boolean;
14
+ }
15
+ /**
16
+ * Render the ARC terminal banner.
17
+ *
18
+ * Uses 24-bit truecolor gradient (matches Node splash.ts exactly).
19
+ *
20
+ * Output (colored):
21
+ * ▄▀█ █▀█ █▀▀ Agentic Realm Computer
22
+ * █▀█ █▀▄ █▄▄ v1.0.0 (abc1234) · 2026-04-23
23
+ * Copyright (c) 2026 ArcBlock Inc. All rights reserved.
24
+ *
25
+ * Session: <id> · N providers · Type help for commands.
26
+ */
27
+ declare function renderArcBanner(opts: BannerOptions): string;
28
+ interface AfsReplResult {
29
+ /** Text to display in the terminal (pre-formatted, CRLF line endings). */
30
+ output?: string;
31
+ /** If true, the terminal should clear its screen. */
32
+ clear?: boolean;
33
+ /** If true, the session is ending; caller should close the connection. */
34
+ exit?: boolean;
35
+ }
36
+ interface AfsReplSession {
37
+ /** Unique session ID (hex string). */
38
+ readonly sessionId: string;
39
+ /** Get current prompt string (e.g. `afs data> `). */
40
+ getPrompt(): string;
41
+ /**
42
+ * Count mounted providers via `afs.list("/")`.
43
+ * Safe to call before the first command — result is cached.
44
+ */
45
+ countProviders(): Promise<number>;
46
+ /**
47
+ * Route a line of user input.
48
+ * Handles builtins (cd, pwd, help, clear, exit) and AFS primitives
49
+ * (ls, read, write, stat, exec, explain, search).
50
+ */
51
+ route(line: string): Promise<AfsReplResult>;
52
+ }
53
+ interface AfsReplOptions {
54
+ version: string;
55
+ commit: string;
56
+ date: string;
57
+ /** Use ANSI color. Default: true. */
58
+ color?: boolean;
59
+ }
60
+ /**
61
+ * Create a platform-agnostic AFS REPL session.
62
+ *
63
+ * Used by both the CF Worker terminal and the Node daemon terminal.
64
+ * Transport (WebSocket send/receive) is handled by the caller.
65
+ */
66
+ declare function createAfsReplSession(afs: AFS, opts: AfsReplOptions): AfsReplSession;
67
+ //#endregion
68
+ export { AfsReplOptions, AfsReplResult, AfsReplSession, BannerOptions, createAfsReplSession, renderArcBanner };
69
+ //# sourceMappingURL=terminal-repl.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-repl.d.mts","names":[],"sources":["../src/terminal-repl.ts"],"mappings":";;;UAqEiB,aAAA;EACf,OAAA;EACA,MAAA;EACA,IAAA;EAqBoC;EAnBpC,aAAA;EA0De;EAxDf,SAAA;;EAEA,KAAA;AAAA;;;;;AA+DF;;;;;;;;iBAhDgB,eAAA,CAAgB,IAAA,EAAM,aAAA;AAAA,UAuCrB,aAAA;EAkBf;EAhBA,MAAA;EAsBA;EApBA,KAAA;EAoBqB;EAlBrB,IAAA;AAAA;AAAA,UAGe,cAAA;EAkBA;EAAA,SAhBN,SAAA;;EAET,SAAA;EAeA;;;;EAVA,cAAA,IAAkB,OAAA;EAcb;AA2PP;;;;EAnQE,KAAA,CAAM,IAAA,WAAe,OAAA,CAAQ,aAAA;AAAA;AAAA,UAGd,cAAA;EACf,OAAA;EACA,MAAA;EACA,IAAA;EA6PmD;EA3PnD,KAAA;AAAA;;;;;;;iBA2Pc,oBAAA,CAAqB,GAAA,EAAK,GAAA,EAAK,IAAA,EAAM,cAAA,GAAiB,cAAA"}