@useactor/core 0.1.0 → 0.2.3

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 (380) hide show
  1. package/dist/auth/google-auth.d.ts +75 -0
  2. package/dist/auth/google-auth.d.ts.map +1 -0
  3. package/dist/auth/google-auth.js +447 -0
  4. package/dist/auth/google-auth.js.map +1 -0
  5. package/dist/auth/oauth-callback-page.d.ts +4 -0
  6. package/dist/auth/oauth-callback-page.d.ts.map +1 -0
  7. package/dist/auth/oauth-callback-page.js +131 -0
  8. package/dist/auth/oauth-callback-page.js.map +1 -0
  9. package/dist/auth/openai-auth.d.ts +48 -0
  10. package/dist/auth/openai-auth.d.ts.map +1 -0
  11. package/dist/auth/openai-auth.js +350 -0
  12. package/dist/auth/openai-auth.js.map +1 -0
  13. package/dist/{artifacts.d.ts → events/artifacts.d.ts} +1 -1
  14. package/dist/events/artifacts.d.ts.map +1 -0
  15. package/dist/events/artifacts.js.map +1 -0
  16. package/dist/{events.d.ts → events/events.d.ts} +16 -2
  17. package/dist/events/events.d.ts.map +1 -0
  18. package/dist/{events.js → events/events.js} +3 -0
  19. package/dist/events/events.js.map +1 -0
  20. package/dist/{feedback.d.ts → events/feedback.d.ts} +1 -1
  21. package/dist/events/feedback.d.ts.map +1 -0
  22. package/dist/events/feedback.js.map +1 -0
  23. package/dist/{local-event-logger.d.ts → events/local-event-logger.d.ts} +1 -1
  24. package/dist/events/local-event-logger.d.ts.map +1 -0
  25. package/dist/{local-event-logger.js → events/local-event-logger.js} +11 -0
  26. package/dist/events/local-event-logger.js.map +1 -0
  27. package/dist/{local-event-schema.d.ts → events/local-event-schema.d.ts} +10 -3
  28. package/dist/events/local-event-schema.d.ts.map +1 -0
  29. package/dist/events/local-event-schema.js.map +1 -0
  30. package/dist/index.d.ts +59 -35
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +59 -35
  33. package/dist/index.js.map +1 -1
  34. package/dist/integrations/built-in-integrations.d.ts +2 -0
  35. package/dist/integrations/built-in-integrations.d.ts.map +1 -0
  36. package/dist/integrations/built-in-integrations.js +2 -0
  37. package/dist/integrations/built-in-integrations.js.map +1 -0
  38. package/dist/integrations/first-party-cli-integration.d.ts +2 -0
  39. package/dist/integrations/first-party-cli-integration.d.ts.map +1 -0
  40. package/dist/integrations/first-party-cli-integration.js +2 -0
  41. package/dist/integrations/first-party-cli-integration.js.map +1 -0
  42. package/dist/integrations/google-workspace-integration.d.ts +2 -0
  43. package/dist/integrations/google-workspace-integration.d.ts.map +1 -0
  44. package/dist/integrations/google-workspace-integration.js +2 -0
  45. package/dist/integrations/google-workspace-integration.js.map +1 -0
  46. package/dist/integrations/integrations.d.ts +2 -0
  47. package/dist/integrations/integrations.d.ts.map +1 -0
  48. package/dist/integrations/integrations.js +2 -0
  49. package/dist/integrations/integrations.js.map +1 -0
  50. package/dist/integrations/monoid-integration.d.ts +2 -0
  51. package/dist/integrations/monoid-integration.d.ts.map +1 -0
  52. package/dist/integrations/monoid-integration.js +2 -0
  53. package/dist/integrations/monoid-integration.js.map +1 -0
  54. package/dist/integrations/pilfer-integration.d.ts +2 -0
  55. package/dist/integrations/pilfer-integration.d.ts.map +1 -0
  56. package/dist/integrations/pilfer-integration.js +2 -0
  57. package/dist/integrations/pilfer-integration.js.map +1 -0
  58. package/dist/integrations/wyrdos-integration.d.ts +2 -0
  59. package/dist/integrations/wyrdos-integration.d.ts.map +1 -0
  60. package/dist/integrations/wyrdos-integration.js +2 -0
  61. package/dist/integrations/wyrdos-integration.js.map +1 -0
  62. package/dist/keybindings/shell-keybindings.d.ts +139 -0
  63. package/dist/keybindings/shell-keybindings.d.ts.map +1 -0
  64. package/dist/keybindings/shell-keybindings.js +453 -0
  65. package/dist/keybindings/shell-keybindings.js.map +1 -0
  66. package/dist/plugins/built-in-integrations.d.ts +3 -0
  67. package/dist/plugins/built-in-integrations.d.ts.map +1 -0
  68. package/dist/plugins/built-in-integrations.js +13 -0
  69. package/dist/plugins/built-in-integrations.js.map +1 -0
  70. package/dist/plugins/first-party-cli-integration.d.ts +62 -0
  71. package/dist/plugins/first-party-cli-integration.d.ts.map +1 -0
  72. package/dist/plugins/first-party-cli-integration.js +524 -0
  73. package/dist/plugins/first-party-cli-integration.js.map +1 -0
  74. package/dist/plugins/google-docs.d.ts +30 -0
  75. package/dist/plugins/google-docs.d.ts.map +1 -0
  76. package/dist/plugins/google-docs.js +487 -0
  77. package/dist/plugins/google-docs.js.map +1 -0
  78. package/dist/plugins/google-drive.d.ts +84 -0
  79. package/dist/plugins/google-drive.d.ts.map +1 -0
  80. package/dist/plugins/google-drive.js +307 -0
  81. package/dist/plugins/google-drive.js.map +1 -0
  82. package/dist/plugins/google-sheets.d.ts +122 -0
  83. package/dist/plugins/google-sheets.d.ts.map +1 -0
  84. package/dist/plugins/google-sheets.js +290 -0
  85. package/dist/plugins/google-sheets.js.map +1 -0
  86. package/dist/plugins/google-slides.d.ts +125 -0
  87. package/dist/plugins/google-slides.d.ts.map +1 -0
  88. package/dist/plugins/google-slides.js +285 -0
  89. package/dist/plugins/google-slides.js.map +1 -0
  90. package/dist/plugins/google-workspace-api.d.ts +16 -0
  91. package/dist/plugins/google-workspace-api.d.ts.map +1 -0
  92. package/dist/plugins/google-workspace-api.js +42 -0
  93. package/dist/plugins/google-workspace-api.js.map +1 -0
  94. package/dist/plugins/google-workspace-integration.d.ts +22 -0
  95. package/dist/plugins/google-workspace-integration.d.ts.map +1 -0
  96. package/dist/plugins/google-workspace-integration.js +1353 -0
  97. package/dist/plugins/google-workspace-integration.js.map +1 -0
  98. package/dist/plugins/google-workspace-oauth.d.ts +80 -0
  99. package/dist/plugins/google-workspace-oauth.d.ts.map +1 -0
  100. package/dist/plugins/google-workspace-oauth.js +187 -0
  101. package/dist/plugins/google-workspace-oauth.js.map +1 -0
  102. package/dist/plugins/monoid-integration.d.ts +11 -0
  103. package/dist/plugins/monoid-integration.d.ts.map +1 -0
  104. package/dist/plugins/monoid-integration.js +14 -0
  105. package/dist/plugins/monoid-integration.js.map +1 -0
  106. package/dist/plugins/pilfer-integration.d.ts +10 -0
  107. package/dist/plugins/pilfer-integration.d.ts.map +1 -0
  108. package/dist/plugins/pilfer-integration.js +13 -0
  109. package/dist/plugins/pilfer-integration.js.map +1 -0
  110. package/dist/plugins/plugins.d.ts +78 -0
  111. package/dist/plugins/plugins.d.ts.map +1 -0
  112. package/dist/plugins/plugins.js +81 -0
  113. package/dist/plugins/plugins.js.map +1 -0
  114. package/dist/plugins/wyrdos-integration.d.ts +11 -0
  115. package/dist/plugins/wyrdos-integration.d.ts.map +1 -0
  116. package/dist/plugins/wyrdos-integration.js +14 -0
  117. package/dist/plugins/wyrdos-integration.js.map +1 -0
  118. package/dist/{ai-sdk-provider.d.ts → providers/ai-sdk-provider.d.ts} +2 -2
  119. package/dist/providers/ai-sdk-provider.d.ts.map +1 -0
  120. package/dist/{ai-sdk-provider.js → providers/ai-sdk-provider.js} +132 -37
  121. package/dist/providers/ai-sdk-provider.js.map +1 -0
  122. package/dist/providers/api-key-providers.d.ts +25 -0
  123. package/dist/providers/api-key-providers.d.ts.map +1 -0
  124. package/dist/providers/api-key-providers.js +67 -0
  125. package/dist/providers/api-key-providers.js.map +1 -0
  126. package/dist/providers/definitions/anthropic-provider.d.ts +421 -0
  127. package/dist/providers/definitions/anthropic-provider.d.ts.map +1 -0
  128. package/dist/providers/definitions/anthropic-provider.js +204 -0
  129. package/dist/providers/definitions/anthropic-provider.js.map +1 -0
  130. package/dist/{codex-oauth-provider.d.ts → providers/definitions/codex-oauth-provider.d.ts} +2 -2
  131. package/dist/providers/definitions/codex-oauth-provider.d.ts.map +1 -0
  132. package/dist/{codex-oauth-provider.js → providers/definitions/codex-oauth-provider.js} +1 -1
  133. package/dist/providers/definitions/codex-oauth-provider.js.map +1 -0
  134. package/dist/providers/definitions/deepseek-provider.d.ts +25 -0
  135. package/dist/providers/definitions/deepseek-provider.d.ts.map +1 -0
  136. package/dist/providers/definitions/deepseek-provider.js +28 -0
  137. package/dist/providers/definitions/deepseek-provider.js.map +1 -0
  138. package/dist/providers/definitions/google-ai-oauth.d.ts +79 -0
  139. package/dist/providers/definitions/google-ai-oauth.d.ts.map +1 -0
  140. package/dist/providers/definitions/google-ai-oauth.js +177 -0
  141. package/dist/providers/definitions/google-ai-oauth.js.map +1 -0
  142. package/dist/providers/definitions/google-provider.d.ts +166 -0
  143. package/dist/providers/definitions/google-provider.d.ts.map +1 -0
  144. package/dist/providers/definitions/google-provider.js +93 -0
  145. package/dist/providers/definitions/google-provider.js.map +1 -0
  146. package/dist/providers/definitions/moonshot-provider.d.ts +28 -0
  147. package/dist/providers/definitions/moonshot-provider.d.ts.map +1 -0
  148. package/dist/providers/definitions/moonshot-provider.js +34 -0
  149. package/dist/providers/definitions/moonshot-provider.js.map +1 -0
  150. package/dist/{openai-oauth.d.ts → providers/definitions/openai-oauth.d.ts} +1 -1
  151. package/dist/providers/definitions/openai-oauth.d.ts.map +1 -0
  152. package/dist/providers/definitions/openai-oauth.js.map +1 -0
  153. package/dist/providers/definitions/openai-provider.d.ts +177 -0
  154. package/dist/providers/definitions/openai-provider.d.ts.map +1 -0
  155. package/dist/{model-catalog.js → providers/definitions/openai-provider.js} +33 -21
  156. package/dist/providers/definitions/openai-provider.js.map +1 -0
  157. package/dist/providers/definitions/perplexity-provider.d.ts +34 -0
  158. package/dist/providers/definitions/perplexity-provider.d.ts.map +1 -0
  159. package/dist/providers/definitions/perplexity-provider.js +46 -0
  160. package/dist/providers/definitions/perplexity-provider.js.map +1 -0
  161. package/dist/providers/definitions/xai-provider.d.ts +68 -0
  162. package/dist/providers/definitions/xai-provider.d.ts.map +1 -0
  163. package/dist/providers/definitions/xai-provider.js +102 -0
  164. package/dist/providers/definitions/xai-provider.js.map +1 -0
  165. package/dist/{mock-provider.d.ts → providers/mock-provider.d.ts} +1 -1
  166. package/dist/providers/mock-provider.d.ts.map +1 -0
  167. package/dist/providers/mock-provider.js.map +1 -0
  168. package/dist/{model-catalog.d.ts → providers/model-catalog.d.ts} +2 -2
  169. package/dist/providers/model-catalog.d.ts.map +1 -0
  170. package/dist/providers/model-catalog.js +31 -0
  171. package/dist/providers/model-catalog.js.map +1 -0
  172. package/dist/providers/provider-failures.d.ts +14 -0
  173. package/dist/providers/provider-failures.d.ts.map +1 -0
  174. package/dist/providers/provider-failures.js +146 -0
  175. package/dist/providers/provider-failures.js.map +1 -0
  176. package/dist/providers/provider-status.d.ts +24 -0
  177. package/dist/providers/provider-status.d.ts.map +1 -0
  178. package/dist/providers/provider-status.js +63 -0
  179. package/dist/providers/provider-status.js.map +1 -0
  180. package/dist/{providers.d.ts → providers/providers.d.ts} +1 -1
  181. package/dist/providers/providers.d.ts.map +1 -0
  182. package/dist/providers/providers.js.map +1 -0
  183. package/dist/{secrets.d.ts → providers/secrets.d.ts} +24 -0
  184. package/dist/providers/secrets.d.ts.map +1 -0
  185. package/dist/{secrets.js → providers/secrets.js} +82 -2
  186. package/dist/providers/secrets.js.map +1 -0
  187. package/dist/{app-runtime.d.ts → runtime/app-runtime.d.ts} +8 -7
  188. package/dist/runtime/app-runtime.d.ts.map +1 -0
  189. package/dist/{app-runtime.js → runtime/app-runtime.js} +58 -28
  190. package/dist/runtime/app-runtime.js.map +1 -0
  191. package/dist/runtime/in-memory-runtime.d.ts +15 -0
  192. package/dist/runtime/in-memory-runtime.d.ts.map +1 -0
  193. package/dist/{in-memory-runtime.js → runtime/in-memory-runtime.js} +135 -29
  194. package/dist/runtime/in-memory-runtime.js.map +1 -0
  195. package/dist/runtime/renderer-api.d.ts +123 -0
  196. package/dist/runtime/renderer-api.d.ts.map +1 -0
  197. package/dist/{renderer-api.js.map → runtime/renderer-api.js.map} +1 -1
  198. package/dist/{runtime-tool-execution.d.ts → runtime/runtime-tool-execution.d.ts} +8 -3
  199. package/dist/runtime/runtime-tool-execution.d.ts.map +1 -0
  200. package/dist/runtime/runtime-tool-execution.js +733 -0
  201. package/dist/runtime/runtime-tool-execution.js.map +1 -0
  202. package/dist/{runtime.d.ts → runtime/runtime.d.ts} +31 -4
  203. package/dist/runtime/runtime.d.ts.map +1 -0
  204. package/dist/{runtime.js → runtime/runtime.js} +24 -0
  205. package/dist/runtime/runtime.js.map +1 -0
  206. package/dist/{history.d.ts → sessions/history.d.ts} +3 -2
  207. package/dist/sessions/history.d.ts.map +1 -0
  208. package/dist/{history.js → sessions/history.js} +55 -1
  209. package/dist/sessions/history.js.map +1 -0
  210. package/dist/{session-actions.d.ts → sessions/session-actions.d.ts} +2 -2
  211. package/dist/sessions/session-actions.d.ts.map +1 -0
  212. package/dist/{session-actions.js → sessions/session-actions.js} +2 -2
  213. package/dist/sessions/session-actions.js.map +1 -0
  214. package/dist/{cli-defined-tools.d.ts → tools/cli-defined-tools.d.ts} +2 -2
  215. package/dist/tools/cli-defined-tools.d.ts.map +1 -0
  216. package/dist/tools/cli-defined-tools.js.map +1 -0
  217. package/dist/tools/document-tools.d.ts +92 -0
  218. package/dist/tools/document-tools.d.ts.map +1 -0
  219. package/dist/tools/document-tools.js +430 -0
  220. package/dist/tools/document-tools.js.map +1 -0
  221. package/dist/{local-tools.d.ts → tools/local-tools.d.ts} +25 -0
  222. package/dist/tools/local-tools.d.ts.map +1 -0
  223. package/dist/tools/local-tools.js +944 -0
  224. package/dist/tools/local-tools.js.map +1 -0
  225. package/dist/tools/mcp-server-config.d.ts.map +1 -0
  226. package/dist/tools/mcp-server-config.js.map +1 -0
  227. package/dist/tools/permission-grant-store.d.ts.map +1 -0
  228. package/dist/tools/permission-grant-store.js.map +1 -0
  229. package/dist/{permission-grants.d.ts → tools/permission-grants.d.ts} +1 -1
  230. package/dist/tools/permission-grants.d.ts.map +1 -0
  231. package/dist/{permission-grants.js → tools/permission-grants.js} +31 -1
  232. package/dist/tools/permission-grants.js.map +1 -0
  233. package/dist/tools/project-app-defaults-tool.d.ts +4 -0
  234. package/dist/tools/project-app-defaults-tool.d.ts.map +1 -0
  235. package/dist/tools/project-app-defaults-tool.js +135 -0
  236. package/dist/tools/project-app-defaults-tool.js.map +1 -0
  237. package/dist/{project-tool-registry.d.ts → tools/project-tool-registry.d.ts} +2 -2
  238. package/dist/tools/project-tool-registry.d.ts.map +1 -0
  239. package/dist/{project-tool-registry.js → tools/project-tool-registry.js} +47 -9
  240. package/dist/tools/project-tool-registry.js.map +1 -0
  241. package/dist/{question-requests.d.ts → tools/question-requests.d.ts} +2 -2
  242. package/dist/tools/question-requests.d.ts.map +1 -0
  243. package/dist/{question-requests.js → tools/question-requests.js} +3 -2
  244. package/dist/tools/question-requests.js.map +1 -0
  245. package/dist/tools/subagent-task-tool.d.ts +8 -0
  246. package/dist/tools/subagent-task-tool.d.ts.map +1 -0
  247. package/dist/tools/subagent-task-tool.js +38 -0
  248. package/dist/tools/subagent-task-tool.js.map +1 -0
  249. package/dist/{tool-requests.d.ts → tools/tool-requests.d.ts} +4 -3
  250. package/dist/tools/tool-requests.d.ts.map +1 -0
  251. package/dist/{tool-requests.js → tools/tool-requests.js} +15 -4
  252. package/dist/tools/tool-requests.js.map +1 -0
  253. package/dist/{tools.d.ts → tools/tools.d.ts} +7 -1
  254. package/dist/tools/tools.d.ts.map +1 -0
  255. package/dist/{tools.js → tools/tools.js} +21 -0
  256. package/dist/tools/tools.js.map +1 -0
  257. package/dist/tools/update-plan-tool.d.ts +14 -0
  258. package/dist/tools/update-plan-tool.d.ts.map +1 -0
  259. package/dist/tools/update-plan-tool.js +83 -0
  260. package/dist/tools/update-plan-tool.js.map +1 -0
  261. package/dist/{personas.d.ts → workspace/personas.d.ts} +42 -1
  262. package/dist/workspace/personas.d.ts.map +1 -0
  263. package/dist/workspace/personas.js +457 -0
  264. package/dist/workspace/personas.js.map +1 -0
  265. package/dist/{projects.d.ts → workspace/projects.d.ts} +35 -5
  266. package/dist/workspace/projects.d.ts.map +1 -0
  267. package/dist/{projects.js → workspace/projects.js} +111 -3
  268. package/dist/workspace/projects.js.map +1 -0
  269. package/dist/{prompt-context.d.ts → workspace/prompt-context.d.ts} +5 -2
  270. package/dist/workspace/prompt-context.d.ts.map +1 -0
  271. package/dist/workspace/prompt-context.js +406 -0
  272. package/dist/workspace/prompt-context.js.map +1 -0
  273. package/dist/workspace/proposed-plan.d.ts.map +1 -0
  274. package/dist/workspace/proposed-plan.js.map +1 -0
  275. package/dist/workspace/repository-instructions.d.ts +20 -0
  276. package/dist/workspace/repository-instructions.d.ts.map +1 -0
  277. package/dist/workspace/repository-instructions.js +111 -0
  278. package/dist/workspace/repository-instructions.js.map +1 -0
  279. package/dist/{skills.d.ts → workspace/skills.d.ts} +23 -2
  280. package/dist/workspace/skills.d.ts.map +1 -0
  281. package/dist/{skills.js → workspace/skills.js} +129 -5
  282. package/dist/workspace/skills.js.map +1 -0
  283. package/package.json +15 -2
  284. package/dist/ai-sdk-provider.d.ts.map +0 -1
  285. package/dist/ai-sdk-provider.js.map +0 -1
  286. package/dist/app-runtime.d.ts.map +0 -1
  287. package/dist/app-runtime.js.map +0 -1
  288. package/dist/artifacts.d.ts.map +0 -1
  289. package/dist/artifacts.js.map +0 -1
  290. package/dist/cli-defined-tools.d.ts.map +0 -1
  291. package/dist/cli-defined-tools.js.map +0 -1
  292. package/dist/codex-oauth-provider.d.ts.map +0 -1
  293. package/dist/codex-oauth-provider.js.map +0 -1
  294. package/dist/events.d.ts.map +0 -1
  295. package/dist/events.js.map +0 -1
  296. package/dist/feedback.d.ts.map +0 -1
  297. package/dist/feedback.js.map +0 -1
  298. package/dist/history.d.ts.map +0 -1
  299. package/dist/history.js.map +0 -1
  300. package/dist/in-memory-runtime.d.ts +0 -12
  301. package/dist/in-memory-runtime.d.ts.map +0 -1
  302. package/dist/in-memory-runtime.js.map +0 -1
  303. package/dist/integrations.d.ts +0 -37
  304. package/dist/integrations.d.ts.map +0 -1
  305. package/dist/integrations.js +0 -48
  306. package/dist/integrations.js.map +0 -1
  307. package/dist/local-event-logger.d.ts.map +0 -1
  308. package/dist/local-event-logger.js.map +0 -1
  309. package/dist/local-event-schema.d.ts.map +0 -1
  310. package/dist/local-event-schema.js.map +0 -1
  311. package/dist/local-tools.d.ts.map +0 -1
  312. package/dist/local-tools.js +0 -418
  313. package/dist/local-tools.js.map +0 -1
  314. package/dist/mcp-server-config.d.ts.map +0 -1
  315. package/dist/mcp-server-config.js.map +0 -1
  316. package/dist/mock-provider.d.ts.map +0 -1
  317. package/dist/mock-provider.js.map +0 -1
  318. package/dist/model-catalog.d.ts.map +0 -1
  319. package/dist/model-catalog.js.map +0 -1
  320. package/dist/monoid-integration.d.ts +0 -33
  321. package/dist/monoid-integration.d.ts.map +0 -1
  322. package/dist/monoid-integration.js +0 -184
  323. package/dist/monoid-integration.js.map +0 -1
  324. package/dist/openai-oauth.d.ts.map +0 -1
  325. package/dist/openai-oauth.js.map +0 -1
  326. package/dist/permission-grant-store.d.ts.map +0 -1
  327. package/dist/permission-grant-store.js.map +0 -1
  328. package/dist/permission-grants.d.ts.map +0 -1
  329. package/dist/permission-grants.js.map +0 -1
  330. package/dist/personas.d.ts.map +0 -1
  331. package/dist/personas.js +0 -137
  332. package/dist/personas.js.map +0 -1
  333. package/dist/project-tool-registry.d.ts.map +0 -1
  334. package/dist/project-tool-registry.js.map +0 -1
  335. package/dist/projects.d.ts.map +0 -1
  336. package/dist/projects.js.map +0 -1
  337. package/dist/prompt-context.d.ts.map +0 -1
  338. package/dist/prompt-context.js +0 -170
  339. package/dist/prompt-context.js.map +0 -1
  340. package/dist/proposed-plan.d.ts.map +0 -1
  341. package/dist/proposed-plan.js.map +0 -1
  342. package/dist/providers.d.ts.map +0 -1
  343. package/dist/providers.js.map +0 -1
  344. package/dist/question-requests.d.ts.map +0 -1
  345. package/dist/question-requests.js.map +0 -1
  346. package/dist/renderer-api.d.ts +0 -52
  347. package/dist/renderer-api.d.ts.map +0 -1
  348. package/dist/runtime-tool-execution.d.ts.map +0 -1
  349. package/dist/runtime-tool-execution.js +0 -245
  350. package/dist/runtime-tool-execution.js.map +0 -1
  351. package/dist/runtime.d.ts.map +0 -1
  352. package/dist/runtime.js.map +0 -1
  353. package/dist/secrets.d.ts.map +0 -1
  354. package/dist/secrets.js.map +0 -1
  355. package/dist/session-actions.d.ts.map +0 -1
  356. package/dist/session-actions.js.map +0 -1
  357. package/dist/skills.d.ts.map +0 -1
  358. package/dist/skills.js.map +0 -1
  359. package/dist/tool-requests.d.ts.map +0 -1
  360. package/dist/tool-requests.js.map +0 -1
  361. package/dist/tools.d.ts.map +0 -1
  362. package/dist/tools.js.map +0 -1
  363. package/dist/wyrdos-integration.d.ts +0 -32
  364. package/dist/wyrdos-integration.d.ts.map +0 -1
  365. package/dist/wyrdos-integration.js +0 -183
  366. package/dist/wyrdos-integration.js.map +0 -1
  367. /package/dist/{artifacts.js → events/artifacts.js} +0 -0
  368. /package/dist/{feedback.js → events/feedback.js} +0 -0
  369. /package/dist/{local-event-schema.js → events/local-event-schema.js} +0 -0
  370. /package/dist/{openai-oauth.js → providers/definitions/openai-oauth.js} +0 -0
  371. /package/dist/{mock-provider.js → providers/mock-provider.js} +0 -0
  372. /package/dist/{providers.js → providers/providers.js} +0 -0
  373. /package/dist/{renderer-api.js → runtime/renderer-api.js} +0 -0
  374. /package/dist/{cli-defined-tools.js → tools/cli-defined-tools.js} +0 -0
  375. /package/dist/{mcp-server-config.d.ts → tools/mcp-server-config.d.ts} +0 -0
  376. /package/dist/{mcp-server-config.js → tools/mcp-server-config.js} +0 -0
  377. /package/dist/{permission-grant-store.d.ts → tools/permission-grant-store.d.ts} +0 -0
  378. /package/dist/{permission-grant-store.js → tools/permission-grant-store.js} +0 -0
  379. /package/dist/{proposed-plan.d.ts → workspace/proposed-plan.d.ts} +0 -0
  380. /package/dist/{proposed-plan.js → workspace/proposed-plan.js} +0 -0
@@ -0,0 +1,430 @@
1
+ import ExcelJS from "exceljs";
2
+ import JSZip from "jszip";
3
+ import mammoth from "mammoth";
4
+ import { constants } from "node:fs";
5
+ import { access, lstat, mkdir, readFile, realpath, writeFile, } from "node:fs/promises";
6
+ import path from "node:path";
7
+ class PathGuardError extends Error {
8
+ code = "path_outside_root";
9
+ }
10
+ export async function inspectDocument(input) {
11
+ const safePath = await resolveReadablePath(input, input.path);
12
+ const kind = documentKindForPath(safePath.absolutePath);
13
+ if (kind === "word") {
14
+ const result = await mammoth.extractRawText({ path: safePath.absolutePath });
15
+ const maxTextChars = input.maxTextChars ?? 20_000;
16
+ const text = result.value.slice(0, maxTextChars);
17
+ const paragraphs = text
18
+ .split(/\r?\n/)
19
+ .map((line) => line.trim())
20
+ .filter(Boolean);
21
+ return {
22
+ kind,
23
+ path: safePath.relativePath,
24
+ text,
25
+ paragraphs,
26
+ truncated: result.value.length > maxTextChars,
27
+ warnings: result.messages.map((message) => message.message),
28
+ };
29
+ }
30
+ const workbook = new ExcelJS.Workbook();
31
+ await workbook.xlsx.readFile(safePath.absolutePath);
32
+ const maxRows = input.maxRowsPerSheet ?? 50;
33
+ const maxColumns = input.maxColumnsPerSheet ?? 20;
34
+ return {
35
+ kind,
36
+ path: safePath.relativePath,
37
+ sheets: workbook.worksheets.map((sheet) => worksheetSummary(sheet, maxRows, maxColumns)),
38
+ };
39
+ }
40
+ export async function applyDocumentOperations(input) {
41
+ const sourcePath = await resolveSafePath(input, input.path);
42
+ const kind = documentKindForPath(sourcePath.absolutePath);
43
+ const outputRelativePath = input.outputPath ?? editedOutputPath(sourcePath.relativePath);
44
+ const outputPath = await resolveSafePath(input, outputRelativePath);
45
+ if (sourcePath.absolutePath === outputPath.absolutePath) {
46
+ throw new Error("Document edits must write to a separate output path.");
47
+ }
48
+ const operations = input.operations.filter((operation) => operationMatchesKind(operation, kind));
49
+ if (operations.length !== input.operations.length) {
50
+ throw new Error(`Operations must match ${kind} document type.`);
51
+ }
52
+ if (kind === "word") {
53
+ await applyWordOperations(sourcePath.absolutePath, outputPath.absolutePath, operations);
54
+ }
55
+ else {
56
+ await applyExcelOperations(sourcePath.absolutePath, outputPath.absolutePath, operations);
57
+ }
58
+ return {
59
+ kind,
60
+ sourcePath: sourcePath.relativePath,
61
+ outputPath: outputPath.relativePath,
62
+ operationCount: operations.length,
63
+ mediaType: mediaTypeForKind(kind),
64
+ };
65
+ }
66
+ export function createDocumentInspectTool(options = {}) {
67
+ return {
68
+ id: options.id ?? "document_inspect",
69
+ name: "Inspect Office document",
70
+ description: "Inspect local .docx and .xlsx files as structured document content. Use this instead of read_file for Office files.",
71
+ inputSchema: {
72
+ type: "object",
73
+ additionalProperties: false,
74
+ required: ["path"],
75
+ properties: {
76
+ path: { type: "string" },
77
+ maxTextChars: { type: "number" },
78
+ maxRowsPerSheet: { type: "number" },
79
+ maxColumnsPerSheet: { type: "number" },
80
+ },
81
+ },
82
+ permissionPolicy: "never",
83
+ async executor(input, context) {
84
+ const rootPath = resolveToolRootPath(options, context);
85
+ const maxTextChars = optionalNumber(input, "maxTextChars");
86
+ const maxRowsPerSheet = optionalNumber(input, "maxRowsPerSheet");
87
+ const maxColumnsPerSheet = optionalNumber(input, "maxColumnsPerSheet");
88
+ return jsonToolResult(await inspectDocument({
89
+ rootPath,
90
+ path: requiredString(input, "path"),
91
+ ...(maxTextChars !== undefined ? { maxTextChars } : {}),
92
+ ...(maxRowsPerSheet !== undefined ? { maxRowsPerSheet } : {}),
93
+ ...(maxColumnsPerSheet !== undefined ? { maxColumnsPerSheet } : {}),
94
+ }));
95
+ },
96
+ };
97
+ }
98
+ export function createDocumentApplyOperationsTool(options = {}) {
99
+ return {
100
+ id: options.id ?? "document_apply_operations",
101
+ name: "Edit Office document",
102
+ description: "Apply structured edits to a local .docx or .xlsx file and write a separate edited copy artifact.",
103
+ inputSchema: {
104
+ type: "object",
105
+ additionalProperties: false,
106
+ required: ["path", "operations"],
107
+ properties: {
108
+ path: { type: "string" },
109
+ outputPath: { type: "string" },
110
+ operations: {
111
+ type: "array",
112
+ items: { type: "object" },
113
+ },
114
+ },
115
+ },
116
+ permissionPolicy: "on-request",
117
+ async executor(input, context) {
118
+ const rootPath = resolveToolRootPath(options, context);
119
+ const outputPath = optionalString(input, "outputPath");
120
+ const result = await applyDocumentOperations({
121
+ rootPath,
122
+ path: requiredString(input, "path"),
123
+ operations: requiredOperations(input),
124
+ ...(outputPath !== undefined ? { outputPath } : {}),
125
+ });
126
+ return jsonToolResult(result, {
127
+ artifactKind: "local_file",
128
+ artifactPath: result.outputPath,
129
+ mediaType: result.mediaType,
130
+ operationCount: result.operationCount,
131
+ });
132
+ },
133
+ };
134
+ }
135
+ async function applyWordOperations(sourcePath, outputPath, operations) {
136
+ const zip = await JSZip.loadAsync(await readFile(sourcePath));
137
+ const documentFile = zip.file("word/document.xml");
138
+ if (!documentFile)
139
+ throw new Error("DOCX file is missing word/document.xml.");
140
+ let xml = await documentFile.async("string");
141
+ for (const operation of operations) {
142
+ if (operation.type === "replace_text") {
143
+ const search = escapeXml(operation.search);
144
+ const replace = escapeXml(operation.replace);
145
+ xml = operation.all === false
146
+ ? xml.replace(search, replace)
147
+ : xml.split(search).join(replace);
148
+ continue;
149
+ }
150
+ if (operation.type === "append_paragraph") {
151
+ xml = insertBeforeBodyEnd(xml, paragraphXml(operation.text));
152
+ continue;
153
+ }
154
+ if (operation.type === "insert_paragraph_after") {
155
+ xml = insertParagraphAfterAnchor(xml, operation.anchor, operation.text);
156
+ continue;
157
+ }
158
+ if (operation.type === "append_table") {
159
+ xml = insertBeforeBodyEnd(xml, tableXml(operation.rows));
160
+ }
161
+ }
162
+ zip.file("word/document.xml", xml);
163
+ await mkdir(path.dirname(outputPath), { recursive: true });
164
+ await writeFile(outputPath, await zip.generateAsync({ type: "nodebuffer" }));
165
+ }
166
+ async function applyExcelOperations(sourcePath, outputPath, operations) {
167
+ const workbook = new ExcelJS.Workbook();
168
+ await workbook.xlsx.readFile(sourcePath);
169
+ for (const operation of operations) {
170
+ if (operation.type === "add_sheet") {
171
+ if (!workbook.getWorksheet(operation.sheet))
172
+ workbook.addWorksheet(operation.sheet);
173
+ continue;
174
+ }
175
+ if (operation.type === "rename_sheet") {
176
+ const sheet = requireWorksheet(workbook, operation.from);
177
+ sheet.name = operation.to;
178
+ continue;
179
+ }
180
+ const sheet = requireWorksheet(workbook, operation.sheet);
181
+ if (operation.type === "set_cell") {
182
+ sheet.getCell(operation.cell).value =
183
+ operation.formula !== undefined
184
+ ? { formula: operation.formula }
185
+ : toExcelCellValue(operation.value);
186
+ continue;
187
+ }
188
+ if (operation.type === "set_range") {
189
+ const start = parseCellAddress(operation.startCell);
190
+ operation.values.forEach((row, rowIndex) => {
191
+ row.forEach((value, columnIndex) => {
192
+ sheet.getCell(start.row + rowIndex, start.column + columnIndex).value =
193
+ toExcelCellValue(value);
194
+ });
195
+ });
196
+ continue;
197
+ }
198
+ if (operation.type === "append_rows") {
199
+ for (const row of operation.rows) {
200
+ sheet.addRow(row.map(toExcelCellValue));
201
+ }
202
+ }
203
+ }
204
+ await mkdir(path.dirname(outputPath), { recursive: true });
205
+ await workbook.xlsx.writeFile(outputPath);
206
+ }
207
+ function worksheetSummary(sheet, maxRows, maxColumns) {
208
+ const rows = [];
209
+ sheet.eachRow({ includeEmpty: false }, (row, rowNumber) => {
210
+ if (rows.length >= maxRows)
211
+ return;
212
+ const values = [];
213
+ for (let column = 1; column <= Math.min(sheet.columnCount, maxColumns); column += 1) {
214
+ values.push(jsonSafeCellValue(row.getCell(column).value));
215
+ }
216
+ rows.push(values);
217
+ });
218
+ return {
219
+ name: sheet.name,
220
+ rowCount: sheet.rowCount,
221
+ columnCount: sheet.columnCount,
222
+ rows,
223
+ truncated: sheet.rowCount > maxRows || sheet.columnCount > maxColumns,
224
+ };
225
+ }
226
+ function requireWorksheet(workbook, name) {
227
+ const sheet = workbook.getWorksheet(name);
228
+ if (!sheet)
229
+ throw new Error(`Worksheet not found: ${name}`);
230
+ return sheet;
231
+ }
232
+ function documentKindForPath(filePath) {
233
+ const extension = path.extname(filePath).toLowerCase();
234
+ if (extension === ".docx")
235
+ return "word";
236
+ if (extension === ".xlsx")
237
+ return "excel";
238
+ throw new Error("Only .docx and .xlsx files are supported.");
239
+ }
240
+ function mediaTypeForKind(kind) {
241
+ return kind === "word"
242
+ ? "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
243
+ : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
244
+ }
245
+ function editedOutputPath(relativePath) {
246
+ const extension = path.extname(relativePath);
247
+ const base = relativePath.slice(0, -extension.length);
248
+ return `${base}.actor-edited${extension}`;
249
+ }
250
+ function operationMatchesKind(operation, kind) {
251
+ const wordOperations = new Set([
252
+ "replace_text",
253
+ "append_paragraph",
254
+ "insert_paragraph_after",
255
+ "append_table",
256
+ ]);
257
+ return kind === "word"
258
+ ? wordOperations.has(operation.type)
259
+ : !wordOperations.has(operation.type);
260
+ }
261
+ function insertBeforeBodyEnd(xml, fragment) {
262
+ if (!xml.includes("</w:body>"))
263
+ throw new Error("DOCX body was not found.");
264
+ return xml.replace("</w:body>", `${fragment}</w:body>`);
265
+ }
266
+ function insertParagraphAfterAnchor(xml, anchor, text) {
267
+ const escapedAnchor = escapeXml(anchor);
268
+ const paragraphPattern = /<w:p\b[\s\S]*?<\/w:p>/g;
269
+ let match;
270
+ while ((match = paragraphPattern.exec(xml))) {
271
+ if (!match[0].includes(escapedAnchor))
272
+ continue;
273
+ const insertAt = match.index + match[0].length;
274
+ return `${xml.slice(0, insertAt)}${paragraphXml(text)}${xml.slice(insertAt)}`;
275
+ }
276
+ throw new Error("Anchor text was not found.");
277
+ }
278
+ function paragraphXml(text) {
279
+ return `<w:p><w:r><w:t>${escapeXml(text)}</w:t></w:r></w:p>`;
280
+ }
281
+ function tableXml(rows) {
282
+ return [
283
+ "<w:tbl>",
284
+ ...rows.map((row) => `<w:tr>${row
285
+ .map((cell) => `<w:tc><w:p><w:r><w:t>${escapeXml(cell)}</w:t></w:r></w:p></w:tc>`)
286
+ .join("")}</w:tr>`),
287
+ "</w:tbl>",
288
+ ].join("");
289
+ }
290
+ function escapeXml(value) {
291
+ return value
292
+ .replace(/&/g, "&amp;")
293
+ .replace(/</g, "&lt;")
294
+ .replace(/>/g, "&gt;")
295
+ .replace(/"/g, "&quot;")
296
+ .replace(/'/g, "&apos;");
297
+ }
298
+ function parseCellAddress(address) {
299
+ const match = /^([A-Z]+)(\d+)$/i.exec(address.trim());
300
+ if (!match)
301
+ throw new Error(`Invalid cell address: ${address}`);
302
+ const letters = match[1].toUpperCase();
303
+ let column = 0;
304
+ for (const letter of letters) {
305
+ column = column * 26 + letter.charCodeAt(0) - 64;
306
+ }
307
+ return { column, row: Number(match[2]) };
308
+ }
309
+ function jsonSafeCellValue(value) {
310
+ if (value === null || value === undefined)
311
+ return null;
312
+ if (value instanceof Date)
313
+ return value.toISOString();
314
+ if (typeof value !== "object")
315
+ return value;
316
+ if ("formula" in value)
317
+ return { formula: value.formula, result: value.result };
318
+ if ("text" in value)
319
+ return value.text;
320
+ if ("richText" in value) {
321
+ return value.richText.map((part) => part.text).join("");
322
+ }
323
+ return String(value);
324
+ }
325
+ function toExcelCellValue(value) {
326
+ if (value === null ||
327
+ value === undefined ||
328
+ typeof value === "string" ||
329
+ typeof value === "number" ||
330
+ typeof value === "boolean") {
331
+ return value;
332
+ }
333
+ if (value instanceof Date)
334
+ return value;
335
+ return JSON.stringify(value);
336
+ }
337
+ function resolveToolRootPath(options, context) {
338
+ const rootPath = options.rootPath ?? context.project?.rootPath;
339
+ if (!rootPath)
340
+ throw new Error("A project rootPath or tool rootPath is required.");
341
+ return rootPath;
342
+ }
343
+ async function resolveSafePath(root, requestedPath = ".") {
344
+ const rootPath = path.resolve(root.rootPath);
345
+ const absolutePath = path.resolve(rootPath, requestedPath);
346
+ if (!isWithin(rootPath, absolutePath))
347
+ throw new PathGuardError("Path escapes approved root.");
348
+ const rootRealPath = await realpath(rootPath);
349
+ const existingPath = await nearestExistingPath(absolutePath);
350
+ const existingRealPath = await realpath(existingPath);
351
+ if (!isWithin(rootRealPath, existingRealPath))
352
+ throw new PathGuardError("Path escapes approved root.");
353
+ return {
354
+ rootPath,
355
+ absolutePath,
356
+ relativePath: path.relative(rootPath, absolutePath) || ".",
357
+ };
358
+ }
359
+ async function resolveReadablePath(root, requestedPath = ".") {
360
+ const rootPath = path.resolve(root.rootPath);
361
+ const absolutePath = path.resolve(rootPath, requestedPath);
362
+ const existingPath = await nearestExistingPath(absolutePath);
363
+ await realpath(existingPath);
364
+ return {
365
+ rootPath,
366
+ absolutePath,
367
+ relativePath: displayPath(rootPath, absolutePath),
368
+ };
369
+ }
370
+ async function nearestExistingPath(absolutePath) {
371
+ let current = absolutePath;
372
+ while (true) {
373
+ try {
374
+ await access(current, constants.F_OK);
375
+ const info = await lstat(current);
376
+ return info.isSymbolicLink() ? realpath(current) : current;
377
+ }
378
+ catch {
379
+ const parent = path.dirname(current);
380
+ if (parent === current)
381
+ throw new PathGuardError("No existing path found.");
382
+ current = parent;
383
+ }
384
+ }
385
+ }
386
+ function isWithin(rootPath, candidatePath) {
387
+ const relative = path.relative(rootPath, candidatePath);
388
+ return (relative === "" ||
389
+ (!relative.startsWith("..") && !path.isAbsolute(relative)));
390
+ }
391
+ function displayPath(rootPath, candidatePath) {
392
+ if (!isWithin(rootPath, candidatePath)) {
393
+ return candidatePath;
394
+ }
395
+ return path.relative(rootPath, candidatePath) || ".";
396
+ }
397
+ function jsonToolResult(value, metadata) {
398
+ return {
399
+ content: JSON.stringify(value),
400
+ ...(metadata ? { metadata } : {}),
401
+ };
402
+ }
403
+ function inputRecord(input) {
404
+ if (!input || typeof input !== "object" || Array.isArray(input))
405
+ return {};
406
+ return input;
407
+ }
408
+ function optionalString(input, key) {
409
+ const value = inputRecord(input)[key];
410
+ return typeof value === "string" ? value : undefined;
411
+ }
412
+ function requiredString(input, key) {
413
+ const value = optionalString(input, key);
414
+ if (!value)
415
+ throw new Error(`${key} is required.`);
416
+ return value;
417
+ }
418
+ function optionalNumber(input, key) {
419
+ const value = inputRecord(input)[key];
420
+ return typeof value === "number" && Number.isFinite(value)
421
+ ? value
422
+ : undefined;
423
+ }
424
+ function requiredOperations(input) {
425
+ const value = inputRecord(input).operations;
426
+ if (!Array.isArray(value))
427
+ throw new Error("operations is required.");
428
+ return value;
429
+ }
430
+ //# sourceMappingURL=document-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-tools.js","sourceRoot":"","sources":["../../src/tools/document-tools.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class PathGuardError extends Error {
16
16
  readonly code = "path_outside_root";
17
17
  }
18
18
  export declare function resolveSafePath(root: PathGuardRoot, requestedPath?: string): Promise<SafePath>;
19
+ export declare function resolveReadablePath(root: PathGuardRoot, requestedPath?: string): Promise<SafePath>;
19
20
  export declare function listFiles(input: {
20
21
  readonly rootPath: string;
21
22
  readonly path?: string;
@@ -34,10 +35,16 @@ export declare function createListFilesTool(options?: LocalToolOptions): ToolDef
34
35
  export declare function readTextFile(input: {
35
36
  readonly rootPath: string;
36
37
  readonly path: string;
38
+ readonly offset?: number;
39
+ readonly limit?: number;
37
40
  readonly maxBytes?: number;
38
41
  }): Promise<{
42
+ nextOffset?: number;
39
43
  content: string;
40
44
  relativePath: string;
45
+ offset: number;
46
+ lineCount: number;
47
+ truncated: boolean;
41
48
  }>;
42
49
  export declare function createReadFileTool(options?: LocalToolOptions): ToolDefinition;
43
50
  export declare function writeTextFile(input: {
@@ -53,11 +60,24 @@ export declare function editTextFile(input: {
53
60
  readonly path: string;
54
61
  readonly search: string;
55
62
  readonly replace: string;
63
+ readonly replaceAll?: boolean;
56
64
  }): Promise<{
57
65
  relativePath: string;
58
66
  changed: boolean;
67
+ diff: string;
68
+ additions: number;
69
+ deletions: number;
70
+ replacements: number;
59
71
  }>;
60
72
  export declare function createEditFileTool(options?: LocalToolOptions): ToolDefinition;
73
+ export declare function applyUnifiedPatch(input: {
74
+ readonly rootPath: string;
75
+ readonly patch: string;
76
+ readonly exec?: typeof execFileAsync;
77
+ }): Promise<{
78
+ changedPaths: string[];
79
+ }>;
80
+ export declare function createApplyPatchTool(options?: LocalToolOptions): ToolDefinition;
61
81
  export declare function ripgrepSearch(input: {
62
82
  readonly rootPath: string;
63
83
  readonly query: string;
@@ -83,6 +103,7 @@ export declare function createGlobTool(options?: LocalToolOptions): ToolDefiniti
83
103
  export declare function runBashCommand(input: {
84
104
  readonly rootPath: string;
85
105
  readonly command: string;
106
+ readonly workdir?: string;
86
107
  readonly timeoutMs?: number;
87
108
  readonly exec?: typeof execFileAsync;
88
109
  }): Promise<{
@@ -90,10 +111,14 @@ export declare function runBashCommand(input: {
90
111
  stderr: string;
91
112
  exitCode: number;
92
113
  risk: CommandRisk;
114
+ sandboxProfile: ShellSandboxProfile;
115
+ workdir: string;
93
116
  }>;
94
117
  export declare function createBashTool(options?: LocalToolOptions): ToolDefinition;
95
118
  export type CommandRisk = "normal" | "destructive";
119
+ export type ShellSandboxProfile = "read-only" | "workspace-write" | "network" | "external-write" | "destructive";
96
120
  export declare function classifyDestructiveCommand(command: string): CommandRisk;
121
+ export declare function classifyShellSandboxProfile(command: string): ShellSandboxProfile;
97
122
  declare const execFileAsync: typeof execFile.__promisify__;
98
123
  export {};
99
124
  //# sourceMappingURL=local-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-tools.d.ts","sourceRoot":"","sources":["../../src/tools/local-tools.ts"],"names":[],"mappings":"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"}