agent-nuvira 2.7.2 → 3.0.0

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 (402) hide show
  1. package/dist/agents/agents/writer-tool-calling.d.ts +14 -0
  2. package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
  3. package/dist/agents/agents/writer-tool-calling.js +20 -0
  4. package/dist/agents/agents/writer-tool-calling.js.map +1 -1
  5. package/dist/agents/agents/writer.d.ts.map +1 -1
  6. package/dist/agents/agents/writer.js +15 -4
  7. package/dist/agents/agents/writer.js.map +1 -1
  8. package/dist/agents/edit-module.d.ts +7 -0
  9. package/dist/agents/edit-module.d.ts.map +1 -1
  10. package/dist/agents/edit-module.js +21 -6
  11. package/dist/agents/edit-module.js.map +1 -1
  12. package/dist/agents/orchestrator.d.ts +40 -0
  13. package/dist/agents/orchestrator.d.ts.map +1 -1
  14. package/dist/agents/orchestrator.js +116 -27
  15. package/dist/agents/orchestrator.js.map +1 -1
  16. package/dist/agents/tool-calling-agent.d.ts +19 -0
  17. package/dist/agents/tool-calling-agent.d.ts.map +1 -1
  18. package/dist/agents/tool-calling-agent.js +42 -2
  19. package/dist/agents/tool-calling-agent.js.map +1 -1
  20. package/dist/auth-api.d.ts +2 -0
  21. package/dist/auth-api.d.ts.map +1 -0
  22. package/dist/auth-api.js +61 -0
  23. package/dist/auth-api.js.map +1 -0
  24. package/dist/auth.test.d.ts +1 -0
  25. package/dist/auth.test.d.ts.map +1 -0
  26. package/dist/auth.test.js +3 -0
  27. package/dist/auth.test.js.map +1 -0
  28. package/dist/cli/chat.d.ts +66 -1
  29. package/dist/cli/chat.d.ts.map +1 -1
  30. package/dist/cli/chat.js +323 -77
  31. package/dist/cli/chat.js.map +1 -1
  32. package/dist/cli/cli-program.d.ts +6 -0
  33. package/dist/cli/cli-program.d.ts.map +1 -0
  34. package/dist/cli/cli-program.js +222 -0
  35. package/dist/cli/cli-program.js.map +1 -0
  36. package/dist/cli/edit.d.ts.map +1 -1
  37. package/dist/cli/edit.js +18 -3
  38. package/dist/cli/edit.js.map +1 -1
  39. package/dist/cli/execute.d.ts.map +1 -1
  40. package/dist/cli/execute.js +29 -5
  41. package/dist/cli/execute.js.map +1 -1
  42. package/dist/cli/failover-runner.d.ts +13 -0
  43. package/dist/cli/failover-runner.d.ts.map +1 -1
  44. package/dist/cli/failover-runner.js +11 -0
  45. package/dist/cli/failover-runner.js.map +1 -1
  46. package/dist/cli/gateway.d.ts +16 -0
  47. package/dist/cli/gateway.d.ts.map +1 -1
  48. package/dist/cli/gateway.js +108 -2
  49. package/dist/cli/gateway.js.map +1 -1
  50. package/dist/cli/loop-executor.d.ts.map +1 -1
  51. package/dist/cli/loop-executor.js +296 -20
  52. package/dist/cli/loop-executor.js.map +1 -1
  53. package/dist/cli/plan.d.ts.map +1 -1
  54. package/dist/cli/plan.js +20 -6
  55. package/dist/cli/plan.js.map +1 -1
  56. package/dist/cli/process-control.d.ts +10 -0
  57. package/dist/cli/process-control.d.ts.map +1 -1
  58. package/dist/cli/process-control.js +73 -7
  59. package/dist/cli/process-control.js.map +1 -1
  60. package/dist/cli/router.d.ts +16 -5
  61. package/dist/cli/router.d.ts.map +1 -1
  62. package/dist/cli/router.js +31 -206
  63. package/dist/cli/router.js.map +1 -1
  64. package/dist/config/paths.d.ts +23 -0
  65. package/dist/config/paths.d.ts.map +1 -1
  66. package/dist/config/paths.js +30 -0
  67. package/dist/config/paths.js.map +1 -1
  68. package/dist/config/provider-env.d.ts +37 -0
  69. package/dist/config/provider-env.d.ts.map +1 -0
  70. package/dist/config/provider-env.js +86 -0
  71. package/dist/config/provider-env.js.map +1 -0
  72. package/dist/context/history.d.ts.map +1 -1
  73. package/dist/context/history.js +24 -8
  74. package/dist/context/history.js.map +1 -1
  75. package/dist/context/session-recall.d.ts +30 -0
  76. package/dist/context/session-recall.d.ts.map +1 -1
  77. package/dist/context/session-recall.js +61 -0
  78. package/dist/context/session-recall.js.map +1 -1
  79. package/dist/file.js +0 -1
  80. package/dist/file.js.map +1 -1
  81. package/dist/gateway/adapters.d.ts +10 -0
  82. package/dist/gateway/adapters.d.ts.map +1 -1
  83. package/dist/gateway/adapters.js +4 -1
  84. package/dist/gateway/adapters.js.map +1 -1
  85. package/dist/gateway/dedup.d.ts +105 -0
  86. package/dist/gateway/dedup.d.ts.map +1 -0
  87. package/dist/gateway/dedup.js +160 -0
  88. package/dist/gateway/dedup.js.map +1 -0
  89. package/dist/gateway/heartbeat.d.ts +99 -0
  90. package/dist/gateway/heartbeat.d.ts.map +1 -0
  91. package/dist/gateway/heartbeat.js +122 -0
  92. package/dist/gateway/heartbeat.js.map +1 -0
  93. package/dist/gateway/inbox.d.ts +14 -1
  94. package/dist/gateway/inbox.d.ts.map +1 -1
  95. package/dist/gateway/inbox.js.map +1 -1
  96. package/dist/gateway/platform-config.d.ts +5 -0
  97. package/dist/gateway/platform-config.d.ts.map +1 -1
  98. package/dist/gateway/platform-config.js +8 -13
  99. package/dist/gateway/platform-config.js.map +1 -1
  100. package/dist/gateway/registry.d.ts +65 -0
  101. package/dist/gateway/registry.d.ts.map +1 -1
  102. package/dist/gateway/registry.js +307 -32
  103. package/dist/gateway/registry.js.map +1 -1
  104. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  105. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  106. package/dist/gateway/whatsapp/baileys-bridge.js +64 -1
  107. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  108. package/dist/gateway/whatsapp/bridge.d.ts +4 -2
  109. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  110. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  111. package/dist/index.js +1 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/inference/factory.d.ts +16 -0
  114. package/dist/inference/factory.d.ts.map +1 -1
  115. package/dist/inference/factory.js +42 -0
  116. package/dist/inference/factory.js.map +1 -1
  117. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  118. package/dist/inference/gemini-adapter.js +3 -0
  119. package/dist/inference/gemini-adapter.js.map +1 -1
  120. package/dist/inference/interface.d.ts +12 -0
  121. package/dist/inference/interface.d.ts.map +1 -1
  122. package/dist/inference/local-adapter.d.ts +2 -0
  123. package/dist/inference/local-adapter.d.ts.map +1 -1
  124. package/dist/inference/local-adapter.js +36 -5
  125. package/dist/inference/local-adapter.js.map +1 -1
  126. package/dist/inference/model-catalog.d.ts +8 -0
  127. package/dist/inference/model-catalog.d.ts.map +1 -1
  128. package/dist/inference/model-catalog.js +40 -0
  129. package/dist/inference/model-catalog.js.map +1 -1
  130. package/dist/inference/model-probe.d.ts +7 -0
  131. package/dist/inference/model-probe.d.ts.map +1 -1
  132. package/dist/inference/model-probe.js +25 -7
  133. package/dist/inference/model-probe.js.map +1 -1
  134. package/dist/inference/native-tools.d.ts +8 -0
  135. package/dist/inference/native-tools.d.ts.map +1 -1
  136. package/dist/inference/native-tools.js +14 -3
  137. package/dist/inference/native-tools.js.map +1 -1
  138. package/dist/inference/tool-call-utils.d.ts +66 -7
  139. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  140. package/dist/inference/tool-call-utils.js +134 -13
  141. package/dist/inference/tool-call-utils.js.map +1 -1
  142. package/dist/learning/auto-router.d.ts +21 -0
  143. package/dist/learning/auto-router.d.ts.map +1 -1
  144. package/dist/learning/auto-router.js +282 -21
  145. package/dist/learning/auto-router.js.map +1 -1
  146. package/dist/learning/context-budget.d.ts +133 -0
  147. package/dist/learning/context-budget.d.ts.map +1 -0
  148. package/dist/learning/context-budget.js +196 -0
  149. package/dist/learning/context-budget.js.map +1 -0
  150. package/dist/learning/cost-tracker.d.ts.map +1 -1
  151. package/dist/learning/cost-tracker.js +20 -8
  152. package/dist/learning/cost-tracker.js.map +1 -1
  153. package/dist/learning/eval-framework.d.ts.map +1 -1
  154. package/dist/learning/eval-framework.js +6 -2
  155. package/dist/learning/eval-framework.js.map +1 -1
  156. package/dist/learning/failure-bookkeeping.d.ts +41 -0
  157. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  158. package/dist/learning/failure-bookkeeping.js +122 -4
  159. package/dist/learning/failure-bookkeeping.js.map +1 -1
  160. package/dist/learning/feedback.d.ts.map +1 -1
  161. package/dist/learning/feedback.js +19 -8
  162. package/dist/learning/feedback.js.map +1 -1
  163. package/dist/learning/model-first-router.d.ts.map +1 -1
  164. package/dist/learning/model-first-router.js +5 -11
  165. package/dist/learning/model-first-router.js.map +1 -1
  166. package/dist/learning/model-harness.d.ts +76 -0
  167. package/dist/learning/model-harness.d.ts.map +1 -0
  168. package/dist/learning/model-harness.js +119 -0
  169. package/dist/learning/model-harness.js.map +1 -0
  170. package/dist/learning/model-registry.d.ts +29 -0
  171. package/dist/learning/model-registry.d.ts.map +1 -1
  172. package/dist/learning/model-registry.js +129 -3
  173. package/dist/learning/model-registry.js.map +1 -1
  174. package/dist/learning/model-scoring.d.ts.map +1 -1
  175. package/dist/learning/model-scoring.js +6 -1
  176. package/dist/learning/model-scoring.js.map +1 -1
  177. package/dist/learning/model-selection.d.ts +15 -0
  178. package/dist/learning/model-selection.d.ts.map +1 -1
  179. package/dist/learning/model-selection.js +40 -1
  180. package/dist/learning/model-selection.js.map +1 -1
  181. package/dist/learning/provider-fallback.d.ts +12 -0
  182. package/dist/learning/provider-fallback.d.ts.map +1 -1
  183. package/dist/learning/provider-fallback.js +84 -0
  184. package/dist/learning/provider-fallback.js.map +1 -1
  185. package/dist/learning/provider-revival.d.ts +106 -0
  186. package/dist/learning/provider-revival.d.ts.map +1 -0
  187. package/dist/learning/provider-revival.js +154 -0
  188. package/dist/learning/provider-revival.js.map +1 -0
  189. package/dist/learning/quota-ledger.d.ts +64 -3
  190. package/dist/learning/quota-ledger.d.ts.map +1 -1
  191. package/dist/learning/quota-ledger.js +122 -9
  192. package/dist/learning/quota-ledger.js.map +1 -1
  193. package/dist/learning/resilient-call.d.ts +98 -0
  194. package/dist/learning/resilient-call.d.ts.map +1 -1
  195. package/dist/learning/resilient-call.js +252 -46
  196. package/dist/learning/resilient-call.js.map +1 -1
  197. package/dist/nlu/conversation-gate.d.ts +37 -0
  198. package/dist/nlu/conversation-gate.d.ts.map +1 -1
  199. package/dist/nlu/conversation-gate.js +49 -0
  200. package/dist/nlu/conversation-gate.js.map +1 -1
  201. package/dist/nlu/schema.d.ts +4 -4
  202. package/dist/observability/dag-bridge.d.ts +69 -0
  203. package/dist/observability/dag-bridge.d.ts.map +1 -0
  204. package/dist/observability/dag-bridge.js +56 -0
  205. package/dist/observability/dag-bridge.js.map +1 -0
  206. package/dist/observability/event-bus.d.ts +5 -10
  207. package/dist/observability/event-bus.d.ts.map +1 -1
  208. package/dist/observability/event-bus.js +10 -42
  209. package/dist/observability/event-bus.js.map +1 -1
  210. package/dist/routes/auth.d.ts +3 -0
  211. package/dist/routes/auth.d.ts.map +1 -0
  212. package/dist/routes/auth.js +41 -36
  213. package/dist/routes/auth.js.map +1 -0
  214. package/dist/skills/execution-audit.d.ts.map +1 -1
  215. package/dist/skills/execution-audit.js +17 -5
  216. package/dist/skills/execution-audit.js.map +1 -1
  217. package/dist/skills/sandbox-executor.d.ts +12 -1
  218. package/dist/skills/sandbox-executor.d.ts.map +1 -1
  219. package/dist/skills/sandbox-executor.js +28 -6
  220. package/dist/skills/sandbox-executor.js.map +1 -1
  221. package/dist/skills/secret-capture.d.ts +45 -1
  222. package/dist/skills/secret-capture.d.ts.map +1 -1
  223. package/dist/skills/secret-capture.js +82 -19
  224. package/dist/skills/secret-capture.js.map +1 -1
  225. package/dist/skills/skill-env-inventory.d.ts +79 -0
  226. package/dist/skills/skill-env-inventory.d.ts.map +1 -0
  227. package/dist/skills/skill-env-inventory.js +167 -0
  228. package/dist/skills/skill-env-inventory.js.map +1 -0
  229. package/dist/skills/skill-executor.d.ts +2 -0
  230. package/dist/skills/skill-executor.d.ts.map +1 -1
  231. package/dist/skills/skill-executor.js +19 -24
  232. package/dist/skills/skill-executor.js.map +1 -1
  233. package/dist/tools/ask-user.d.ts +14 -1
  234. package/dist/tools/ask-user.d.ts.map +1 -1
  235. package/dist/tools/ask-user.js +25 -1
  236. package/dist/tools/ask-user.js.map +1 -1
  237. package/dist/tools/followup-utils.d.ts +64 -0
  238. package/dist/tools/followup-utils.d.ts.map +1 -0
  239. package/dist/tools/followup-utils.js +158 -0
  240. package/dist/tools/followup-utils.js.map +1 -0
  241. package/dist/tools/memory-tools.d.ts +35 -0
  242. package/dist/tools/memory-tools.d.ts.map +1 -1
  243. package/dist/tools/memory-tools.js +76 -0
  244. package/dist/tools/memory-tools.js.map +1 -1
  245. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  246. package/dist/tools/pipeline-tool.js +8 -3
  247. package/dist/tools/pipeline-tool.js.map +1 -1
  248. package/dist/tools/registry.d.ts +25 -12
  249. package/dist/tools/registry.d.ts.map +1 -1
  250. package/dist/tools/registry.js +31 -6
  251. package/dist/tools/registry.js.map +1 -1
  252. package/dist/tools/skill-tool.d.ts.map +1 -1
  253. package/dist/tools/skill-tool.js +52 -5
  254. package/dist/tools/skill-tool.js.map +1 -1
  255. package/dist/tools/tool-loop.d.ts +63 -1
  256. package/dist/tools/tool-loop.d.ts.map +1 -1
  257. package/dist/tools/tool-loop.js +305 -66
  258. package/dist/tools/tool-loop.js.map +1 -1
  259. package/dist/tools/toolsets.d.ts +19 -3
  260. package/dist/tools/toolsets.d.ts.map +1 -1
  261. package/dist/tools/toolsets.js +21 -5
  262. package/dist/tools/toolsets.js.map +1 -1
  263. package/dist/utils/env.d.ts.map +1 -1
  264. package/dist/utils/env.js +9 -13
  265. package/dist/utils/env.js.map +1 -1
  266. package/dist/web-dashboard/chat-console.d.ts +13 -1
  267. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  268. package/dist/web-dashboard/chat-console.js +16 -2
  269. package/dist/web-dashboard/chat-console.js.map +1 -1
  270. package/dist/web-dashboard/hub-data.d.ts +2 -0
  271. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  272. package/dist/web-dashboard/hub-data.js +4 -0
  273. package/dist/web-dashboard/hub-data.js.map +1 -1
  274. package/dist/web-dashboard/server.d.ts +6 -0
  275. package/dist/web-dashboard/server.d.ts.map +1 -1
  276. package/dist/web-dashboard/server.js +196 -3
  277. package/dist/web-dashboard/server.js.map +1 -1
  278. package/dist/web-dashboard/src/types.d.ts +31 -1
  279. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  280. package/package.json +11 -1
  281. package/src/web-dashboard/public/assets/index-56yPnN_m.js +207 -0
  282. package/src/web-dashboard/public/assets/index-56yPnN_m.js.map +1 -0
  283. package/src/web-dashboard/public/assets/{index-C507EUWf.css → index-Cyd6tIew.css} +1 -1
  284. package/src/web-dashboard/public/index.html +2 -2
  285. package/dist/example.d.ts +0 -1
  286. package/dist/example.d.ts.map +0 -1
  287. package/dist/example.js +0 -3
  288. package/dist/example.js.map +0 -1
  289. package/dist/fresh.d.ts +0 -2
  290. package/dist/fresh.d.ts.map +0 -1
  291. package/dist/fresh.js +0 -2
  292. package/dist/fresh.js.map +0 -1
  293. package/dist/mcp/mcp-dashboard-oauth.d.ts +0 -94
  294. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +0 -1
  295. package/dist/mcp/mcp-dashboard-oauth.js +0 -140
  296. package/dist/mcp/mcp-dashboard-oauth.js.map +0 -1
  297. package/dist/memory/background-sync.d.ts +0 -107
  298. package/dist/memory/background-sync.d.ts.map +0 -1
  299. package/dist/memory/background-sync.js +0 -242
  300. package/dist/memory/background-sync.js.map +0 -1
  301. package/dist/memory/cross-session.d.ts +0 -68
  302. package/dist/memory/cross-session.d.ts.map +0 -1
  303. package/dist/memory/cross-session.js +0 -153
  304. package/dist/memory/cross-session.js.map +0 -1
  305. package/dist/memory/drift-detector.d.ts +0 -76
  306. package/dist/memory/drift-detector.d.ts.map +0 -1
  307. package/dist/memory/drift-detector.js +0 -216
  308. package/dist/memory/drift-detector.js.map +0 -1
  309. package/dist/memory/enhanced-manager.d.ts +0 -105
  310. package/dist/memory/enhanced-manager.d.ts.map +0 -1
  311. package/dist/memory/enhanced-manager.js +0 -280
  312. package/dist/memory/enhanced-manager.js.map +0 -1
  313. package/dist/memory/session-extraction.d.ts +0 -93
  314. package/dist/memory/session-extraction.d.ts.map +0 -1
  315. package/dist/memory/session-extraction.js +0 -290
  316. package/dist/memory/session-extraction.js.map +0 -1
  317. package/dist/memory/sqlite-store.d.ts +0 -208
  318. package/dist/memory/sqlite-store.d.ts.map +0 -1
  319. package/dist/memory/sqlite-store.js +0 -556
  320. package/dist/memory/sqlite-store.js.map +0 -1
  321. package/dist/skills/daytona-executor.d.ts +0 -78
  322. package/dist/skills/daytona-executor.d.ts.map +0 -1
  323. package/dist/skills/daytona-executor.js +0 -256
  324. package/dist/skills/daytona-executor.js.map +0 -1
  325. package/dist/skills/modal-executor.d.ts +0 -81
  326. package/dist/skills/modal-executor.d.ts.map +0 -1
  327. package/dist/skills/modal-executor.js +0 -285
  328. package/dist/skills/modal-executor.js.map +0 -1
  329. package/dist/sync/inventory.d.ts +0 -1
  330. package/dist/sync/inventory.d.ts.map +0 -1
  331. package/dist/sync/inventory.js +0 -3
  332. package/dist/sync/inventory.js.map +0 -1
  333. package/dist/sync/validate.d.ts +0 -1
  334. package/dist/sync/validate.d.ts.map +0 -1
  335. package/dist/sync/validate.js +0 -3
  336. package/dist/sync/validate.js.map +0 -1
  337. package/dist/test.d.ts +0 -2
  338. package/dist/test.d.ts.map +0 -1
  339. package/dist/test.js +0 -3
  340. package/dist/test.js.map +0 -1
  341. package/dist/tools/browser-tool.d.ts +0 -206
  342. package/dist/tools/browser-tool.d.ts.map +0 -1
  343. package/dist/tools/browser-tool.js +0 -726
  344. package/dist/tools/browser-tool.js.map +0 -1
  345. package/dist/tools/delegate-tool.d.ts +0 -109
  346. package/dist/tools/delegate-tool.d.ts.map +0 -1
  347. package/dist/tools/delegate-tool.js +0 -185
  348. package/dist/tools/delegate-tool.js.map +0 -1
  349. package/dist/tools/delegation-state.d.ts +0 -87
  350. package/dist/tools/delegation-state.d.ts.map +0 -1
  351. package/dist/tools/delegation-state.js +0 -278
  352. package/dist/tools/delegation-state.js.map +0 -1
  353. package/dist/tools/desktop-ui.d.ts +0 -148
  354. package/dist/tools/desktop-ui.d.ts.map +0 -1
  355. package/dist/tools/desktop-ui.js +0 -486
  356. package/dist/tools/desktop-ui.js.map +0 -1
  357. package/dist/tools/image-video-tool.d.ts +0 -88
  358. package/dist/tools/image-video-tool.d.ts.map +0 -1
  359. package/dist/tools/image-video-tool.js +0 -276
  360. package/dist/tools/image-video-tool.js.map +0 -1
  361. package/dist/tools/kanban-cron-tools.d.ts +0 -92
  362. package/dist/tools/kanban-cron-tools.d.ts.map +0 -1
  363. package/dist/tools/kanban-cron-tools.js +0 -197
  364. package/dist/tools/kanban-cron-tools.js.map +0 -1
  365. package/dist/tools/messaging-tool.d.ts +0 -127
  366. package/dist/tools/messaging-tool.d.ts.map +0 -1
  367. package/dist/tools/messaging-tool.js +0 -314
  368. package/dist/tools/messaging-tool.js.map +0 -1
  369. package/dist/tools/modality/generic-caller.d.ts +0 -43
  370. package/dist/tools/modality/generic-caller.d.ts.map +0 -1
  371. package/dist/tools/modality/generic-caller.js +0 -254
  372. package/dist/tools/modality/generic-caller.js.map +0 -1
  373. package/dist/tools/modality/modality-catalog.d.ts +0 -134
  374. package/dist/tools/modality/modality-catalog.d.ts.map +0 -1
  375. package/dist/tools/modality/modality-catalog.js +0 -445
  376. package/dist/tools/modality/modality-catalog.js.map +0 -1
  377. package/dist/tools/modality/tool-router.d.ts +0 -81
  378. package/dist/tools/modality/tool-router.d.ts.map +0 -1
  379. package/dist/tools/modality/tool-router.js +0 -84
  380. package/dist/tools/modality/tool-router.js.map +0 -1
  381. package/dist/tools/security-tools.d.ts +0 -107
  382. package/dist/tools/security-tools.d.ts.map +0 -1
  383. package/dist/tools/security-tools.js +0 -264
  384. package/dist/tools/security-tools.js.map +0 -1
  385. package/dist/tools/ssh-tool.d.ts +0 -130
  386. package/dist/tools/ssh-tool.d.ts.map +0 -1
  387. package/dist/tools/ssh-tool.js +0 -328
  388. package/dist/tools/ssh-tool.js.map +0 -1
  389. package/dist/tools/tts-tool.d.ts +0 -91
  390. package/dist/tools/tts-tool.d.ts.map +0 -1
  391. package/dist/tools/tts-tool.js +0 -406
  392. package/dist/tools/tts-tool.js.map +0 -1
  393. package/dist/utils/shell-detection.d.ts +0 -124
  394. package/dist/utils/shell-detection.d.ts.map +0 -1
  395. package/dist/utils/shell-detection.js +0 -305
  396. package/dist/utils/shell-detection.js.map +0 -1
  397. package/dist/utils/windows-paths.d.ts +0 -185
  398. package/dist/utils/windows-paths.d.ts.map +0 -1
  399. package/dist/utils/windows-paths.js +0 -472
  400. package/dist/utils/windows-paths.js.map +0 -1
  401. package/src/web-dashboard/public/assets/index-C4frng1Q.js +0 -207
  402. package/src/web-dashboard/public/assets/index-C4frng1Q.js.map +0 -1
@@ -1,256 +0,0 @@
1
- /**
2
- * Daytona Cloud Executor — Runs skills in Daytona cloud sandboxes.
3
- *
4
- * This provides enterprise-grade execution with:
5
- * - Persistent sandboxes across sessions
6
- * - Resource limits (CPU, memory, disk)
7
- * - Sandbox lifecycle management (start, stop, resume)
8
- * - File sync between local and cloud
9
- *
10
- * Flow:
11
- * 1. Create or resume a Daytona sandbox
12
- * 2. Sync skill files to the sandbox
13
- * 3. Execute the skill in the cloud
14
- * 4. Capture output and sync results back
15
- * 5. Optionally persist the sandbox for reuse
16
- */
17
- import { spawn } from 'node:child_process';
18
- import { writeFile, mkdir } from 'node:fs/promises';
19
- import { join } from 'node:path';
20
- import { tmpdir } from 'node:os';
21
- import { randomBytes } from 'node:crypto';
22
- // ─── Default Configuration ───────────────────────────────────────────────
23
- const DEFAULT_DAYTONA_CONFIG = {
24
- image: 'ubuntu:22.04',
25
- cpu: 1,
26
- memoryMb: 5120,
27
- diskMb: 10240,
28
- timeoutMs: 60_000,
29
- persistent: true,
30
- cwd: '/home/daytona',
31
- };
32
- // ─── Daytona Execution ───────────────────────────────────────────────────
33
- /**
34
- * Execute a skill in a Daytona cloud sandbox.
35
- *
36
- * @param scriptContent - The script content to execute
37
- * @param scriptPath - Original file path (for runtime detection)
38
- * @param env - Environment variables to inject
39
- * @param args - Arguments to pass to the script
40
- * @param config - Daytona configuration
41
- * @returns Execution result
42
- */
43
- export async function executeInDaytona(scriptContent, scriptPath, env, args, config) {
44
- const startTime = Date.now();
45
- const cfg = { ...DEFAULT_DAYTONA_CONFIG, ...config };
46
- // Check if Daytona CLI is available
47
- const daytonaAvailable = await checkDaytonaAvailable();
48
- if (!daytonaAvailable.available) {
49
- throw new Error(`Daytona CLI not available: ${daytonaAvailable.error}`);
50
- }
51
- // Create a temporary directory for the script
52
- const tmpDir = join(tmpdir(), 'daytona-exec', randomBytes(8).toString('hex'));
53
- await mkdir(tmpDir, { recursive: true });
54
- // Determine script extension and container script path
55
- const ext = getScriptExtension(scriptPath);
56
- const containerScript = `${cfg.cwd}/skill${ext}`;
57
- const hostScript = join(tmpDir, `skill${ext}`);
58
- try {
59
- // Write script to temporary file
60
- await writeFile(hostScript, scriptContent, 'utf-8');
61
- // Build Daytona command
62
- const daytonaArgs = buildDaytonaArgs(hostScript, containerScript, env, args, cfg);
63
- // Execute in Daytona
64
- const result = await spawnDaytona(daytonaArgs, cfg.timeoutMs);
65
- return {
66
- success: result.exitCode === 0,
67
- stdout: result.stdout,
68
- stderr: result.stderr,
69
- exitCode: result.exitCode,
70
- durationMs: Date.now() - startTime,
71
- };
72
- }
73
- finally {
74
- // Cleanup temporary directory
75
- try {
76
- const { rm } = await import('node:fs/promises');
77
- await rm(tmpDir, { recursive: true, force: true });
78
- }
79
- catch {
80
- // Ignore cleanup errors
81
- }
82
- }
83
- }
84
- /**
85
- * Build Daytona arguments for cloud execution.
86
- */
87
- function buildDaytonaArgs(hostScript, containerScript, env, args, config) {
88
- const cfg = { ...DEFAULT_DAYTONA_CONFIG, ...config };
89
- // Daytona uses a CLI-based approach
90
- const daytonaArgs = [
91
- 'sandbox',
92
- 'create',
93
- '--image', cfg.image,
94
- '--cpu', String(cfg.cpu),
95
- '--memory', String(cfg.memoryMb),
96
- '--disk', String(cfg.diskMb),
97
- ];
98
- // Add sandbox name if persistent
99
- if (cfg.persistent && cfg.sandboxName) {
100
- daytonaArgs.push('--name', cfg.sandboxName);
101
- }
102
- // Add the script to execute
103
- daytonaArgs.push('exec', '--', 'bash', '-c', `
104
- cat > ${containerScript} << 'SCRIPT_EOF'
105
- $(cat ${hostScript})
106
- SCRIPT_EOF
107
- chmod +x ${containerScript}
108
- ${containerScript} ${args?.join(' ') || ''}
109
- `);
110
- return daytonaArgs;
111
- }
112
- /**
113
- * Spawn Daytona process with timeout and output capture.
114
- */
115
- async function spawnDaytona(args, timeoutMs) {
116
- return new Promise((resolve, reject) => {
117
- const child = spawn('daytona', args, {
118
- stdio: ['pipe', 'pipe', 'pipe'],
119
- });
120
- let stdout = '';
121
- let stderr = '';
122
- let killed = false;
123
- // Capture stdout
124
- child.stdout?.on('data', (data) => {
125
- stdout += data.toString();
126
- });
127
- // Capture stderr
128
- child.stderr?.on('data', (data) => {
129
- stderr += data.toString();
130
- });
131
- // Set timeout
132
- const timer = setTimeout(() => {
133
- killed = true;
134
- child.kill('SIGTERM');
135
- // Force kill after 10 seconds
136
- setTimeout(() => {
137
- if (!child.killed) {
138
- child.kill('SIGKILL');
139
- }
140
- }, 10000);
141
- }, timeoutMs);
142
- // Handle completion
143
- child.on('close', (code) => {
144
- clearTimeout(timer);
145
- if (killed) {
146
- resolve({
147
- stdout,
148
- stderr: stderr + '\n[Daytona execution timed out]',
149
- exitCode: code ?? 124,
150
- });
151
- }
152
- else {
153
- resolve({
154
- stdout,
155
- stderr,
156
- exitCode: code ?? 1,
157
- });
158
- }
159
- });
160
- // Handle errors
161
- child.on('error', (err) => {
162
- clearTimeout(timer);
163
- reject(err);
164
- });
165
- });
166
- }
167
- // ─── Helpers ─────────────────────────────────────────────────────────────
168
- /**
169
- * Get script extension from file path.
170
- */
171
- function getScriptExtension(filePath) {
172
- const ext = filePath.split('.').pop()?.toLowerCase();
173
- switch (ext) {
174
- case 'py':
175
- return '.py';
176
- case 'js':
177
- case 'mjs':
178
- case 'cjs':
179
- return '.js';
180
- case 'ts':
181
- case 'mts':
182
- case 'cts':
183
- return '.ts';
184
- case 'rb':
185
- return '.rb';
186
- case 'go':
187
- return '.go';
188
- case 'rs':
189
- return '.rs';
190
- case 'sh':
191
- case 'bash':
192
- return '.sh';
193
- default:
194
- return '.sh';
195
- }
196
- }
197
- // ─── Daytona Availability Check ──────────────────────────────────────────
198
- /**
199
- * Check if Daytona CLI is available and configured.
200
- */
201
- export async function checkDaytonaAvailable() {
202
- try {
203
- const result = await spawnDaytona(['--version'], 5000);
204
- if (result.exitCode === 0) {
205
- const version = result.stdout.trim();
206
- return { available: true, version };
207
- }
208
- return { available: false, error: result.stderr };
209
- }
210
- catch (err) {
211
- return {
212
- available: false,
213
- error: err instanceof Error ? err.message : String(err),
214
- };
215
- }
216
- }
217
- /**
218
- * List Daytona sandboxes.
219
- */
220
- export async function listDaytonaSandboxes() {
221
- try {
222
- const result = await spawnDaytona(['sandbox', 'list', '--json'], 10000);
223
- if (result.exitCode === 0) {
224
- return JSON.parse(result.stdout);
225
- }
226
- return [];
227
- }
228
- catch {
229
- return [];
230
- }
231
- }
232
- /**
233
- * Stop a Daytona sandbox.
234
- */
235
- export async function stopDaytonaSandbox(sandboxId) {
236
- try {
237
- const result = await spawnDaytona(['sandbox', 'stop', sandboxId], 10000);
238
- return result.exitCode === 0;
239
- }
240
- catch {
241
- return false;
242
- }
243
- }
244
- /**
245
- * Delete a Daytona sandbox.
246
- */
247
- export async function deleteDaytonaSandbox(sandboxId) {
248
- try {
249
- const result = await spawnDaytona(['sandbox', 'delete', sandboxId], 10000);
250
- return result.exitCode === 0;
251
- }
252
- catch {
253
- return false;
254
- }
255
- }
256
- //# sourceMappingURL=daytona-executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daytona-executor.js","sourceRoot":"","sources":["../../src/skills/daytona-executor.ts"],"names":[],"mappings":"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"}
@@ -1,81 +0,0 @@
1
- /**
2
- * Modal Cloud Executor — Runs skills in Modal cloud sandboxes.
3
- *
4
- * This provides enterprise-grade execution:
5
- * - Persistent sandboxes across sessions
6
- * - Custom Docker images
7
- * - GPU support for ML workloads
8
- * - File sync between local and cloud
9
- * - Automatic scaling
10
- *
11
- * Flow:
12
- * 1. Create or resume a Modal sandbox
13
- * 2. Sync skill files to the sandbox
14
- * 3. Execute the skill in the cloud
15
- * 4. Capture output and sync results back
16
- * 5. Optionally persist the sandbox for reuse
17
- */
18
- export interface ModalConfig {
19
- /** Modal image (default: python:3.11) */
20
- image?: string;
21
- /** CPU count (default: 1) */
22
- cpu?: number;
23
- /** Memory in MB (default: 1024) */
24
- memoryMb?: number;
25
- /** GPU type (e.g., 'A10G', 'T4', 'A100') */
26
- gpu?: string;
27
- /** Timeout in milliseconds (default: 60000) */
28
- timeoutMs?: number;
29
- /** Whether to persist the sandbox */
30
- persistent?: boolean;
31
- /** Sandbox name for persistence */
32
- sandboxName?: string;
33
- /** Working directory in sandbox */
34
- cwd?: string;
35
- /** Secrets to mount */
36
- secrets?: Record<string, string>;
37
- }
38
- export interface ModalExecutionResult {
39
- success: boolean;
40
- stdout: string;
41
- stderr: string;
42
- exitCode: number;
43
- durationMs: number;
44
- sandboxId?: string;
45
- }
46
- /**
47
- * Execute a skill in a Modal cloud sandbox.
48
- *
49
- * @param scriptContent - The script content to execute
50
- * @param scriptPath - Original file path (for runtime detection)
51
- * @param env - Environment variables to inject
52
- * @param args - Arguments to pass to the script
53
- * @param config - Modal configuration
54
- * @returns Execution result
55
- */
56
- export declare function executeInModal(scriptContent: string, scriptPath: string, env?: Record<string, string>, args?: string[], config?: Partial<ModalConfig>): Promise<ModalExecutionResult>;
57
- /**
58
- * Check if Modal CLI is available and configured.
59
- */
60
- export declare function checkModalAvailable(): Promise<{
61
- available: boolean;
62
- version?: string;
63
- error?: string;
64
- }>;
65
- /**
66
- * List available Modal images.
67
- */
68
- export declare function listModalImages(): Promise<string[]>;
69
- /**
70
- * List running Modal sandboxes.
71
- */
72
- export declare function listModalSandboxes(): Promise<Array<{
73
- id: string;
74
- name: string;
75
- status: string;
76
- }>>;
77
- /**
78
- * Stop a Modal sandbox.
79
- */
80
- export declare function stopModalSandbox(sandboxId: string): Promise<boolean>;
81
- //# sourceMappingURL=modal-executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal-executor.d.ts","sourceRoot":"","sources":["../../src/skills/modal-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAeD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CA6C/B;AAuKD;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAcD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAUzD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC,CAUF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO1E"}
@@ -1,285 +0,0 @@
1
- /**
2
- * Modal Cloud Executor — Runs skills in Modal cloud sandboxes.
3
- *
4
- * This provides enterprise-grade execution:
5
- * - Persistent sandboxes across sessions
6
- * - Custom Docker images
7
- * - GPU support for ML workloads
8
- * - File sync between local and cloud
9
- * - Automatic scaling
10
- *
11
- * Flow:
12
- * 1. Create or resume a Modal sandbox
13
- * 2. Sync skill files to the sandbox
14
- * 3. Execute the skill in the cloud
15
- * 4. Capture output and sync results back
16
- * 5. Optionally persist the sandbox for reuse
17
- */
18
- import { spawn } from 'node:child_process';
19
- import { writeFile, mkdir } from 'node:fs/promises';
20
- import { join } from 'node:path';
21
- import { tmpdir } from 'node:os';
22
- import { randomBytes } from 'node:crypto';
23
- // ─── Default Configuration ───────────────────────────────────────────────
24
- const DEFAULT_MODAL_CONFIG = {
25
- image: 'python:3.11',
26
- cpu: 1,
27
- memoryMb: 1024,
28
- timeoutMs: 60_000,
29
- persistent: false,
30
- cwd: '/root',
31
- };
32
- // ─── Modal Execution ─────────────────────────────────────────────────────
33
- /**
34
- * Execute a skill in a Modal cloud sandbox.
35
- *
36
- * @param scriptContent - The script content to execute
37
- * @param scriptPath - Original file path (for runtime detection)
38
- * @param env - Environment variables to inject
39
- * @param args - Arguments to pass to the script
40
- * @param config - Modal configuration
41
- * @returns Execution result
42
- */
43
- export async function executeInModal(scriptContent, scriptPath, env, args, config) {
44
- const startTime = Date.now();
45
- const cfg = { ...DEFAULT_MODAL_CONFIG, ...config };
46
- // Check if Modal CLI is available
47
- const modalAvailable = await checkModalAvailable();
48
- if (!modalAvailable.available) {
49
- throw new Error(`Modal CLI not available: ${modalAvailable.error}`);
50
- }
51
- // Create a temporary directory for the script
52
- const tmpDir = join(tmpdir(), 'modal-exec', randomBytes(8).toString('hex'));
53
- await mkdir(tmpDir, { recursive: true });
54
- // Determine script extension and container script path
55
- const ext = getScriptExtension(scriptPath);
56
- const containerScript = `/root/skill${ext}`;
57
- const hostScript = join(tmpDir, `skill${ext}`);
58
- try {
59
- // Write script to temporary file
60
- await writeFile(hostScript, scriptContent, 'utf-8');
61
- // Build Modal command
62
- const modalArgs = buildModalArgs(hostScript, containerScript, env, args, cfg);
63
- // Execute in Modal
64
- const result = await spawnModal(modalArgs, cfg.timeoutMs);
65
- return {
66
- success: result.exitCode === 0,
67
- stdout: result.stdout,
68
- stderr: result.stderr,
69
- exitCode: result.exitCode,
70
- durationMs: Date.now() - startTime,
71
- };
72
- }
73
- finally {
74
- // Cleanup temporary directory
75
- try {
76
- const { rm } = await import('node:fs/promises');
77
- await rm(tmpDir, { recursive: true, force: true });
78
- }
79
- catch {
80
- // Ignore cleanup errors
81
- }
82
- }
83
- }
84
- /**
85
- * Build Modal arguments for cloud execution.
86
- */
87
- function buildModalArgs(hostScript, containerScript, env, args, config) {
88
- const cfg = { ...DEFAULT_MODAL_CONFIG, ...config };
89
- // Modal uses a Python-based CLI
90
- const modalArgs = [
91
- 'run',
92
- '--image', cfg.image,
93
- '--cpu', String(cfg.cpu),
94
- '--memory', String(cfg.memoryMb),
95
- ];
96
- // Add GPU if specified
97
- if (cfg.gpu) {
98
- modalArgs.push('--gpu', cfg.gpu);
99
- }
100
- // Add secrets
101
- if (cfg.secrets) {
102
- for (const [key, value] of Object.entries(cfg.secrets)) {
103
- modalArgs.push('--secret', `${key}=${value}`);
104
- }
105
- }
106
- // Add environment variables
107
- if (env) {
108
- for (const [key, value] of Object.entries(env)) {
109
- modalArgs.push('--env', `${key}=${value}`);
110
- }
111
- }
112
- // Add the script to execute
113
- modalArgs.push('python', '-c', `
114
- import subprocess
115
- import sys
116
-
117
- # Read the script
118
- with open('${containerScript}', 'r') as f:
119
- script = f.read()
120
-
121
- # Execute the script
122
- result = subprocess.run(
123
- [sys.executable, '-c', script],
124
- capture_output=True,
125
- text=True
126
- )
127
-
128
- # Print output
129
- print(result.stdout)
130
- if result.stderr:
131
- print(result.stderr, file=sys.stderr)
132
-
133
- # Exit with the same code
134
- sys.exit(result.returncode)
135
- `);
136
- return modalArgs;
137
- }
138
- /**
139
- * Spawn Modal process with timeout and output capture.
140
- */
141
- async function spawnModal(args, timeoutMs) {
142
- return new Promise((resolve, reject) => {
143
- const child = spawn('modal', args, {
144
- stdio: ['pipe', 'pipe', 'pipe'],
145
- });
146
- let stdout = '';
147
- let stderr = '';
148
- let killed = false;
149
- // Capture stdout
150
- child.stdout?.on('data', (data) => {
151
- stdout += data.toString();
152
- });
153
- // Capture stderr
154
- child.stderr?.on('data', (data) => {
155
- stderr += data.toString();
156
- });
157
- // Set timeout
158
- const timer = setTimeout(() => {
159
- killed = true;
160
- child.kill('SIGTERM');
161
- // Force kill after 10 seconds
162
- setTimeout(() => {
163
- if (!child.killed) {
164
- child.kill('SIGKILL');
165
- }
166
- }, 10000);
167
- }, timeoutMs);
168
- // Handle completion
169
- child.on('close', (code) => {
170
- clearTimeout(timer);
171
- if (killed) {
172
- resolve({
173
- stdout,
174
- stderr: stderr + '\n[Modal execution timed out]',
175
- exitCode: code ?? 124,
176
- });
177
- }
178
- else {
179
- resolve({
180
- stdout,
181
- stderr,
182
- exitCode: code ?? 1,
183
- });
184
- }
185
- });
186
- // Handle errors
187
- child.on('error', (err) => {
188
- clearTimeout(timer);
189
- reject(err);
190
- });
191
- });
192
- }
193
- // ─── Helpers ─────────────────────────────────────────────────────────────
194
- /**
195
- * Get script extension from file path.
196
- */
197
- function getScriptExtension(filePath) {
198
- const ext = filePath.split('.').pop()?.toLowerCase();
199
- switch (ext) {
200
- case 'py':
201
- return '.py';
202
- case 'js':
203
- case 'mjs':
204
- case 'cjs':
205
- return '.js';
206
- case 'ts':
207
- case 'mts':
208
- case 'cts':
209
- return '.ts';
210
- case 'rb':
211
- return '.rb';
212
- case 'go':
213
- return '.go';
214
- case 'rs':
215
- return '.rs';
216
- case 'sh':
217
- case 'bash':
218
- return '.sh';
219
- default:
220
- return '.sh';
221
- }
222
- }
223
- // ─── Modal Availability Check ────────────────────────────────────────────
224
- /**
225
- * Check if Modal CLI is available and configured.
226
- */
227
- export async function checkModalAvailable() {
228
- try {
229
- const result = await spawnModal(['--version'], 5000);
230
- if (result.exitCode === 0) {
231
- const version = result.stdout.trim();
232
- return { available: true, version };
233
- }
234
- return { available: false, error: result.stderr };
235
- }
236
- catch (err) {
237
- return {
238
- available: false,
239
- error: err instanceof Error ? err.message : String(err),
240
- };
241
- }
242
- }
243
- /**
244
- * List available Modal images.
245
- */
246
- export async function listModalImages() {
247
- try {
248
- const result = await spawnModal(['image', 'list'], 10000);
249
- if (result.exitCode === 0) {
250
- return result.stdout.trim().split('\n').filter(Boolean);
251
- }
252
- return [];
253
- }
254
- catch {
255
- return [];
256
- }
257
- }
258
- /**
259
- * List running Modal sandboxes.
260
- */
261
- export async function listModalSandboxes() {
262
- try {
263
- const result = await spawnModal(['sandbox', 'list', '--json'], 10000);
264
- if (result.exitCode === 0) {
265
- return JSON.parse(result.stdout);
266
- }
267
- return [];
268
- }
269
- catch {
270
- return [];
271
- }
272
- }
273
- /**
274
- * Stop a Modal sandbox.
275
- */
276
- export async function stopModalSandbox(sandboxId) {
277
- try {
278
- const result = await spawnModal(['sandbox', 'stop', sandboxId], 10000);
279
- return result.exitCode === 0;
280
- }
281
- catch {
282
- return false;
283
- }
284
- }
285
- //# sourceMappingURL=modal-executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modal-executor.js","sourceRoot":"","sources":["../../src/skills/modal-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=inventory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../src/sync/inventory.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // FULL updated file content here
3
- //# sourceMappingURL=inventory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/sync/inventory.ts"],"names":[],"mappings":";AAAA,iCAAiC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/sync/validate.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- // FULL updated file content here
3
- //# sourceMappingURL=validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/sync/validate.ts"],"names":[],"mappings":";AAAA,iCAAiC"}