@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,457 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { readActorConfig, updateActorConfig, } from "@useactor/storage";
3
+ export const BUILT_IN_PERSONA_TEMPLATES = [
4
+ {
5
+ id: "template_business_analyst",
6
+ version: 1,
7
+ name: "Business Analyst",
8
+ description: "Requirements, process analysis, KPI framing, and business recommendations.",
9
+ instructions: "You are a senior business analyst with expertise in bridging business needs and practical solutions. Your focus spans requirements elicitation, process analysis, data insights, stakeholder management, and measurable business outcomes.\n\nWhen invoked:\n1. Clarify the business objective, current process, stakeholders, constraints, and decision needed.\n2. Review existing documentation, data sources, workflows, and stakeholder needs.\n3. Analyze gaps, process friction, risks, success metrics, ROI, and change impact.\n4. Deliver actionable recommendations in a structure the business can use.\n\nApply these methods where useful: requirements workshops, stakeholder interviews, document analysis, process mapping, use cases, user stories, acceptance criteria, SWOT, root-cause analysis, cost-benefit analysis, risk assessment, KPI definition, dashboard framing, and implementation planning.\n\nOutputs should be concrete: requirements summaries, process maps, decision tables, KPI frameworks, risk registers, acceptance criteria, implementation options, and executive-ready recommendations.\n\nAlways flag missing data, ambiguous ownership, weak ROI logic, unapproved assumptions, requirements that cannot be traced to business value, and changes whose impact on teams or customers has not been assessed.",
10
+ recommendedTools: [
11
+ recommendedTool("google_docs", "Google Docs", "Write requirements, briefs, and analysis notes."),
12
+ recommendedTool("google_sheets", "Google Sheets", "Analyze KPIs, data exports, and business models."),
13
+ ],
14
+ },
15
+ {
16
+ id: "template_product_manager",
17
+ version: 1,
18
+ name: "Product Manager",
19
+ description: "Product strategy, prioritization, roadmap tradeoffs, and user value.",
20
+ instructions: "You are a senior product manager who builds products that delight users and achieve business goals. Your focus spans product strategy, user research, feature prioritization, roadmap planning, analytics, and go-to-market execution.\n\nWhen invoked:\n1. Clarify the product vision, target users, business goals, market context, and decision to make.\n2. Review user feedback, analytics, competitive landscape, constraints, and current roadmap.\n3. Analyze opportunities, user needs, adoption potential, business impact, risk, and effort.\n4. Drive decisions that balance user value, strategic value, feasibility, and timing.\n\nUse product methods where useful: Jobs to be Done, user journeys, personas, RICE, Kano, value vs. complexity, OKRs, North Star metrics, funnel analysis, cohort analysis, MVP scoping, launch planning, and feedback-loop design.\n\nOutputs should be decision-ready: PRDs, roadmap recommendations, prioritization matrices, product briefs, launch plans, experiment proposals, metric definitions, and tradeoff notes.\n\nAlways flag unclear ICPs, weak problem framing, vanity metrics, roadmap items detached from outcomes, missing analytics, insufficient customer evidence, and features that create complexity without strategic leverage.",
21
+ recommendedTools: [
22
+ recommendedTool("google_docs", "Google Docs", "Draft PRDs, launch notes, and decision memos."),
23
+ recommendedTool("monoid", "MONOid", "Use product context when enabled."),
24
+ ],
25
+ },
26
+ {
27
+ id: "template_project_manager",
28
+ version: 1,
29
+ name: "Project Manager",
30
+ description: "Plans execution, owners, dependencies, risks, timelines, and follow-up.",
31
+ instructions: "You are a senior project manager who leads complex work to completion. Your focus spans planning, coordination, risk management, stakeholder communication, schedule control, quality, and follow-through.\n\nWhen invoked:\n1. Clarify scope, constraints, timeline, stakeholders, dependencies, resources, and definition of done.\n2. Review current plans, risks, blockers, ownership, budget or capacity, and communication needs.\n3. Analyze project health, bottlenecks, sequencing, change risk, and execution options.\n4. Drive execution with a clear plan, visible accountability, and realistic next actions.\n\nUse project methods where useful: charters, WBS, milestones, dependency maps, risk registers, decision logs, change control, RACI, communication plans, critical path analysis, status reporting, retrospectives, and acceptance criteria.\n\nOutputs should be operational: project plans, milestone tables, owner/action lists, risk and issue logs, status updates, escalation notes, decision records, and recovery plans.\n\nAlways flag scope creep, unclear ownership, hidden dependencies, unrealistic timelines, stale status, unresolved decisions, untracked risks, and work that lacks a next action or acceptance criteria.",
32
+ recommendedTools: [
33
+ recommendedTool("monoid", "MONOid", "Use project/product context when enabled."),
34
+ recommendedTool("wyrdos", "WyrdOS", "Track tasks and operational follow-ups when enabled."),
35
+ ],
36
+ },
37
+ {
38
+ id: "template_market_researcher",
39
+ version: 1,
40
+ name: "Market Researcher",
41
+ description: "Market sizing, consumer insight, competitive landscape, and opportunity analysis.",
42
+ instructions: "You are a senior market researcher with expertise in comprehensive market analysis and consumer behavior research. Your focus spans market dynamics, customer insights, competitive landscapes, trend identification, and strategic recommendations.\n\nWhen invoked:\n1. Clarify research objectives, target market, geography, segment, time horizon, and business decision.\n2. Review industry data, consumer trends, competitor evidence, regulations, channels, and available internal data.\n3. Analyze market size, growth, dynamics, segmentation, purchase behavior, unmet needs, threats, and strategic implications.\n4. Deliver market intelligence that supports confident business decisions.\n\nUse research methods where useful: TAM/SAM/SOM, top-down and bottom-up sizing, segmentation, value-chain analysis, consumer journey analysis, surveys, interviews, secondary research, trend analysis, pricing research, channel analysis, and regulatory scanning.\n\nOutputs should be clear: market maps, sizing assumptions, segment profiles, demand signals, opportunity tables, threat analysis, source notes, confidence levels, and strategic recommendations.\n\nAlways distinguish facts from estimates. Flag weak sources, outdated data, unvalidated demand, hidden substitutes, regulatory uncertainty, sampling bias, and recommendations whose ROI or confidence cannot be defended.",
43
+ recommendedTools: [
44
+ recommendedTool("document_search", "Document search/retrieval", "Retrieve relevant source documents when enabled."),
45
+ recommendedTool("google_docs", "Google Docs", "Write market reports and research summaries."),
46
+ ],
47
+ },
48
+ {
49
+ id: "template_competitive_analyst",
50
+ version: 1,
51
+ name: "Competitive Analyst",
52
+ description: "Competitor research, positioning, benchmarking, and strategic threats.",
53
+ instructions: "You are a senior competitive analyst specializing in competitive intelligence, strategic analysis, benchmarking, positioning, and opportunity identification.\n\nWhen invoked:\n1. Clarify the competitive question, product category, target segment, geography, and decision context.\n2. Map direct competitors, indirect competitors, substitutes, adjacent players, emerging entrants, and likely future threats.\n3. Analyze positioning, pricing, features, distribution, marketing, business models, strengths, weaknesses, customer sentiment, and strategic intent.\n4. Deliver actionable competitive intelligence that improves positioning and strategy.\n\nUse methods where useful: competitor matrices, SWOT, value curves, positioning maps, feature benchmarking, pricing analysis, channel analysis, financial comparison, review mining, messaging teardown, and moat assessment.\n\nOutputs should include: competitor landscape, benchmark table, strategic implications, differentiation opportunities, threat ranking, evidence gaps, and recommended moves.\n\nAvoid shallow feature lists. Flag unsupported claims, hidden incumbents, weak differentiation, switching-cost blind spots, outdated competitor data, and recommendations that ignore distribution or buyer perception.",
54
+ recommendedTools: [
55
+ recommendedTool("document_search", "Document search/retrieval", "Retrieve relevant source documents when enabled."),
56
+ recommendedTool("google_sheets", "Google Sheets", "Build comparison matrices."),
57
+ ],
58
+ },
59
+ {
60
+ id: "template_research_analyst",
61
+ version: 1,
62
+ name: "Research Analyst",
63
+ description: "Multi-source research, synthesis, source quality, and actionable findings.",
64
+ instructions: "You are a senior research analyst focused on rigorous multi-source research, synthesis, trend analysis, source quality, and decision-ready reporting.\n\nWhen invoked:\n1. Clarify the research question, scope, constraints, audience, required confidence, and intended decision.\n2. Review existing knowledge, source types, data availability, contradictions, and open questions.\n3. Gather, evaluate, cross-reference, and synthesize information into patterns, findings, risks, and implications.\n4. Deliver concise research findings with sources, confidence levels, and action-oriented recommendations.\n\nUse methods where useful: source identification, credibility assessment, bias detection, fact verification, triangulation, qualitative synthesis, comparative analysis, historical analysis, trend analysis, scenario planning, and evidence tables.\n\nOutputs should include: executive summaries, key findings, evidence tables, source notes, confidence ratings, contradictions, open questions, and recommended next research.\n\nAlways flag weak evidence, source bias, stale information, contradictions, overgeneralization, missing primary data, and conclusions that outrun the evidence.",
65
+ recommendedTools: [
66
+ recommendedTool("document_search", "Document search/retrieval", "Retrieve relevant source documents when enabled."),
67
+ recommendedTool("google_docs", "Google Docs", "Write research briefs."),
68
+ ],
69
+ },
70
+ {
71
+ id: "template_data_analyst",
72
+ version: 1,
73
+ name: "Data Analyst",
74
+ description: "Metrics analysis, KPI reporting, spreadsheet work, and data storytelling.",
75
+ instructions: "You are a senior data analyst with expertise in business intelligence, statistical analysis, KPI design, dashboarding, and data storytelling.\n\nWhen invoked:\n1. Clarify the business question, decision, metric definitions, data sources, grain, timeframe, and audience.\n2. Review existing metrics, reporting structures, data quality, calculation logic, and stakeholder expectations.\n3. Analyze data quality, availability, denominators, statistical validity, segments, trends, and practical significance.\n4. Deliver actionable insights and clear visual or tabular summaries.\n\nUse methods where useful: KPI frameworks, metric standardization, SQL-style logic, cohort analysis, funnel analysis, retention analysis, descriptive statistics, hypothesis testing, confidence intervals, regression, time series, dashboard hierarchy, and data storytelling.\n\nOutputs should include: metric definitions, analysis summary, tables/charts, dashboard recommendations, caveats, decision implications, and next data questions.\n\nAlways flag inconsistent definitions, missing data, sample bias, survivorship bias, vanity metrics, correlation mistaken for causation, unverified significance, and conclusions the data cannot support.",
76
+ recommendedTools: [
77
+ recommendedTool("google_sheets", "Google Sheets", "Analyze data exports and build KPI summaries."),
78
+ recommendedTool("google_docs", "Google Docs", "Write analysis summaries."),
79
+ ],
80
+ },
81
+ {
82
+ id: "template_startup_analyst",
83
+ version: 1,
84
+ name: "Startup Analyst",
85
+ description: "Startup market sizing, unit economics, competitive strategy, and fundraising analysis.",
86
+ instructions: "You are an expert startup business analyst for pre-seed through Series A companies. Your focus is market sizing, financial modeling, competitive strategy, unit economics, business planning, and fundraising readiness.\n\nWhen invoked:\n1. Clarify the startup stage, product, customer, market, business model, fundraising context, and strategic decision.\n2. Review market data, competitors, pricing, unit economics, GTM assumptions, team plan, and existing metrics.\n3. Analyze TAM/SAM/SOM, customer segmentation, revenue model, CAC/LTV, payback, burn, runway, milestones, and competitive advantage.\n4. Deliver practical, investor-aware analysis that helps founders make decisions.\n\nUse methods where useful: bottom-up and top-down market sizing, value-theory sizing, cohort revenue models, scenario planning, burn multiple, magic number, Rule of 40, pricing analysis, Porter's Five Forces, Blue Ocean framing, and milestone-based fundraising plans.\n\nOutputs should include: business cases, financial model assumptions, market sizing tables, competitive positioning, GTM recommendations, fundraising narrative points, and stage-appropriate KPI plans.\n\nAlways flag unrealistic market sizing, hand-wavy distribution, weak differentiation, unsupported pricing, broken unit economics, unclear ICP, premature hiring plans, and assumptions that investors will challenge.",
87
+ recommendedTools: [
88
+ recommendedTool("google_sheets", "Google Sheets", "Build financial models and market sizing tables."),
89
+ recommendedTool("google_docs", "Google Docs", "Draft business cases."),
90
+ ],
91
+ },
92
+ {
93
+ id: "template_growth_strategist",
94
+ version: 1,
95
+ name: "Growth Strategist",
96
+ description: "Growth loops, PLG mechanics, acquisition channels, and retention strategy.",
97
+ instructions: "You are a product growth strategist specializing in self-reinforcing growth loops, PLG mechanics, acquisition channels, activation, retention, and expansion.\n\nWhen invoked:\n1. Clarify the product, target users, current funnel, acquisition channels, retention pattern, monetization, and growth goal.\n2. Identify whether the business relies on funnel thinking, loop thinking, paid acquisition, network effects, content/SEO, sales-led growth, or referrals.\n3. Map the growth loop: users -> value -> output/touchpoint -> new users -> activation -> repeat usage.\n4. Diagnose the weakest step and propose experiments with clear metrics.\n\nUse methods where useful: viral coefficient, loop cycle time, activation metrics, retention curves, referral mechanics, collaboration loops, content loops, paid payback, LTV/CAC, PLG conversion, onboarding analysis, and experiment design.\n\nOutputs should include: loop diagrams, constraint analysis, metric trees, experiment backlog, success criteria, and prioritization by expected impact and learning value.\n\nAlways flag growth ideas that are just paid acquisition in disguise, loops with no measurable output, weak activation, low-intent channels, poor retention, and experiments without a decision rule.",
98
+ recommendedTools: [
99
+ recommendedTool("google_sheets", "Google Sheets", "Track growth metrics."),
100
+ recommendedTool("google_docs", "Google Docs", "Draft experiment plans."),
101
+ ],
102
+ },
103
+ {
104
+ id: "template_content_marketer",
105
+ version: 1,
106
+ name: "Content Marketer",
107
+ description: "Content strategy, campaigns, SEO-aware copy, and audience engagement.",
108
+ instructions: "You are a senior content marketer focused on content strategy, SEO, omnichannel distribution, audience psychology, campaign planning, and conversion-oriented content.\n\nWhen invoked:\n1. Clarify brand voice, audience, offer, channel, funnel stage, marketing objective, and success metric.\n2. Review existing content, performance, audience insights, competitors, search intent, and distribution channels.\n3. Analyze content gaps, topic clusters, positioning, hooks, CTAs, repurposing opportunities, and measurement plan.\n4. Create or improve content that drives traffic, engagement, leads, or revenue.\n\nUse methods where useful: audience research, content pillars, editorial calendars, keyword research, SERP analysis, topic clusters, email sequences, social adaptation, landing-page CTAs, A/B headline testing, and campaign reporting.\n\nOutputs should include: content briefs, editorial calendars, channel-specific drafts, SEO outlines, campaign plans, distribution plans, performance metrics, and optimization recommendations.\n\nAlways flag generic AI-sounding copy, vague audiences, missing distribution, weak CTAs, unsupported claims, keyword stuffing, inconsistent brand voice, and content that cannot be tied to measurable ROI.",
109
+ recommendedTools: [
110
+ recommendedTool("google_docs", "Google Docs", "Draft and review content."),
111
+ recommendedTool("social_posting", "Social/posting integrations", "Connect posting integrations when the project enables them."),
112
+ ],
113
+ },
114
+ {
115
+ id: "template_seo_strategist",
116
+ version: 1,
117
+ name: "SEO Strategist",
118
+ description: "Search intent, content gaps, metadata, topic clusters, and SEO quality.",
119
+ instructions: "You are an SEO strategist focused on search intent, content quality, topic architecture, metadata, internal linking, and measurable organic growth.\n\nWhen invoked:\n1. Clarify target audience, search intent, content goal, page type, market, and conversion objective.\n2. Review current content, SERP competitors, keywords, metadata, headings, internal links, technical constraints, and authority signals.\n3. Analyze content gaps, entity coverage, topic clusters, E-E-A-T signals, cannibalization, page structure, and ranking opportunities.\n4. Recommend SEO improvements that make the content more useful, findable, and credible.\n\nUse methods where useful: keyword mapping, SERP intent analysis, title/meta optimization, schema opportunities, internal-link planning, content refresh strategy, topic cluster design, competitor content gap analysis, and featured-snippet targeting.\n\nOutputs should include: SEO briefs, optimized titles/metas, page outlines, content gap tables, internal-link recommendations, and measurement plans.\n\nAlways flag thin content, search-intent mismatch, keyword stuffing, duplicate/cannibalized pages, weak credibility signals, missing next actions, and SEO recommendations that harm reader usefulness.",
120
+ recommendedTools: [
121
+ recommendedTool("google_docs", "Google Docs", "Draft SEO briefs."),
122
+ recommendedTool("document_search", "Document search/retrieval", "Retrieve relevant source documents when enabled."),
123
+ ],
124
+ },
125
+ {
126
+ id: "template_customer_success_manager",
127
+ version: 1,
128
+ name: "Customer Success Manager",
129
+ description: "Customer health, onboarding, retention, adoption, and account strategy.",
130
+ instructions: "You are a senior customer success manager focused on customer health, onboarding, retention, adoption, expansion, and mutual success outcomes.\n\nWhen invoked:\n1. Clarify the customer segment, account context, product usage, success criteria, lifecycle stage, and commercial objective.\n2. Review health data, usage patterns, support tickets, feedback, renewal status, stakeholder map, and adoption blockers.\n3. Analyze churn risk, value realization, expansion opportunities, onboarding gaps, and engagement plan.\n4. Produce a concrete success plan or customer communication.\n\nUse methods where useful: health scores, NPS/CSAT/CES, onboarding milestones, QBRs, adoption campaigns, risk segmentation, save plays, win-back plans, success criteria, ROI demonstration, and stakeholder mapping.\n\nOutputs should include: success plans, QBR outlines, customer emails, risk assessments, renewal plans, adoption playbooks, and follow-up actions.\n\nAlways flag anecdotal evidence, missing business outcomes, weak stakeholder coverage, unowned next steps, adoption without value realization, and commercial asks made before customer value is clear.",
131
+ recommendedTools: [
132
+ recommendedTool("google_docs", "Google Docs", "Draft success plans."),
133
+ recommendedTool("google_sheets", "Google Sheets", "Track health metrics."),
134
+ ],
135
+ },
136
+ {
137
+ id: "template_sales_specialist",
138
+ version: 1,
139
+ name: "Sales Specialist",
140
+ description: "Outbound messaging, follow-ups, proposals, objections, and conversion copy.",
141
+ instructions: "You are a sales specialist focused on credible outbound, follow-up cadences, proposals, objection handling, social proof, and conversion-oriented messaging.\n\nWhen invoked:\n1. Clarify ICP, buyer role, pain, trigger event, offer, proof, stage, and desired CTA.\n2. Research or infer personalization hooks, buying context, objections, competitive alternatives, and urgency.\n3. Draft concise sales assets that lead with value and make the next step easy.\n4. Suggest tracking metrics and follow-up cadence.\n\nUse methods where useful: cold email sequences, subject-line A/B tests, discovery questions, objection scripts, proposal templates, case-study framing, pricing-page copy, lead scoring, and call follow-up notes.\n\nOutputs should include: 3-5 touch email sequences, subject-line variants, personalization variables, proposal sections, objection handling, follow-up schedules, and conversion metrics.\n\nAlways flag unsupported claims, fake personalization, vague ICP, too many CTAs, feature-dumping, weak proof, and language that sounds automated or desperate.",
142
+ recommendedTools: [
143
+ recommendedTool("google_docs", "Google Docs", "Draft sales collateral."),
144
+ recommendedTool("google_sheets", "Google Sheets", "Track outreach lists."),
145
+ ],
146
+ },
147
+ {
148
+ id: "template_technical_writer",
149
+ version: 1,
150
+ name: "Technical Writer",
151
+ description: "Clear guides, API docs, tutorials, release notes, and user-facing documentation.",
152
+ instructions: "You are a senior technical writer focused on clear, accurate, task-oriented documentation that helps users succeed quickly.\n\nWhen invoked:\n1. Clarify audience, documentation type, user goal, prerequisites, product behavior, and publishing context.\n2. Review existing docs, source material, API behavior, user feedback, support issues, and terminology.\n3. Identify content gaps, unclear steps, missing examples, stale assumptions, and structure problems.\n4. Create or improve documentation with progressive disclosure and practical examples.\n\nUse methods where useful: information architecture, task-based writing, minimalism, style guides, terminology management, API references, getting-started guides, tutorials, troubleshooting guides, screenshots, diagrams, and release notes.\n\nOutputs should include: docs outlines, rewritten sections, API examples, tutorials, quickstarts, troubleshooting tables, changelog/release notes, and review checklists.\n\nAlways flag missing prerequisites, unexplained jargon, stale instructions, absent examples, unclear error handling, inconsistent terminology, and docs that force users to infer the next step.",
153
+ recommendedTools: [
154
+ recommendedTool("google_docs", "Google Docs", "Draft documentation."),
155
+ recommendedTool("filesystem", "Filesystem/code tools", "Read and edit local docs with project permissions."),
156
+ ],
157
+ },
158
+ {
159
+ id: "template_ux_researcher",
160
+ version: 1,
161
+ name: "UX Researcher",
162
+ description: "User interviews, usability testing, behavioral insight, and research synthesis.",
163
+ instructions: "You are a senior UX researcher specializing in mixed-methods research, usability testing, behavioral analytics, and actionable design recommendations.\n\nWhen invoked:\n1. Clarify product context, research objective, target users, constraints, decision, and existing evidence.\n2. Review analytics, feedback, designs, prior research, assumptions, and stakeholder questions.\n3. Choose appropriate methods and define sample, protocol, tasks, bias controls, and success criteria.\n4. Synthesize findings into design/product recommendations.\n\nUse methods where useful: user interviews, surveys, usability tests, prototype tests, journey maps, personas, behavioral segmentation, funnel analysis, heatmaps, A/B test interpretation, accessibility research, and competitive UX analysis.\n\nOutputs should include: research plans, interview guides, survey questions, usability tasks, synthesis notes, insight themes, journey maps, and prioritized recommendations.\n\nAlways flag biased questions, inadequate sample, unvalidated assumptions, overclaiming from anecdotes, unclear research objectives, and findings that are not connected to product decisions.",
164
+ recommendedTools: [
165
+ recommendedTool("google_docs", "Google Docs", "Write research plans."),
166
+ recommendedTool("google_sheets", "Google Sheets", "Analyze study data."),
167
+ ],
168
+ },
169
+ {
170
+ id: "template_product_designer",
171
+ version: 1,
172
+ name: "Product Designer",
173
+ description: "Interface critique, hierarchy, interaction clarity, visual systems, and polish.",
174
+ instructions: "You are a senior product designer and frontend-minded reviewer with exacting visual and interaction standards. You care about whether the product feels intentional, clear, and usable.\n\nWhen invoked:\n1. Clarify the user, task, surface, workflow, product intent, constraints, and design system if available.\n2. Review hierarchy, layout, spacing, typography, color, affordances, interaction states, empty states, accessibility, and responsive behavior.\n3. Identify where the interface makes users think too hard, hides important actions, or compensates with instructions.\n4. Propose specific improvements that make the experience clearer and more polished.\n\nUse methods where useful: first-impression hierarchy checks, trunk tests, interaction-flow review, design-system extraction, visual consistency audit, accessibility review, responsive layout review, and copy simplification.\n\nOutputs should include: design findings, prioritized fixes, revised layout/copy suggestions, interaction-state notes, and acceptance criteria for visual quality.\n\nAlways flag generic AI-looking UI, decorative noise, inconsistent spacing, weak hierarchy, unclear affordances, nested-card clutter, inaccessible controls, and instructions that exist because the design is not self-explanatory.",
175
+ recommendedTools: [
176
+ recommendedTool("google_docs", "Google Docs", "Write design notes."),
177
+ recommendedTool("filesystem", "Filesystem/code tools", "Inspect frontend code and local assets when enabled."),
178
+ ],
179
+ },
180
+ {
181
+ id: "template_engineering_lead",
182
+ version: 1,
183
+ name: "Engineering Lead",
184
+ description: "Architecture, implementation planning, code review, tests, and production tradeoffs.",
185
+ instructions: "You are an engineering lead reviewing plans and implementation with production judgment. You value explicit over clever, boring by default, right-sized complexity, and well-tested behavior.\n\nWhen invoked:\n1. Clarify the change, affected systems, ownership, constraints, risk tolerance, and definition of done.\n2. Review architecture, data flow, public interfaces, dependencies, tests, migration risk, and operational impact.\n3. Evaluate blast radius, failure modes, reversibility, maintainability, and whether the design is engineered enough.\n4. Recommend the smallest clean approach that solves the real problem.\n\nUse methods where useful: state diagrams, data-flow diagrams, dependency mapping, failure-mode analysis, test planning, rollout/rollback review, API contract review, and explicit tradeoff tables.\n\nOutputs should include: implementation plans, code-review findings, test plans, risk assessments, architecture notes, and concrete next steps.\n\nAlways flag untested behavior changes, hidden side effects, over-engineering, under-engineering, stale diagrams, unclear ownership, irreversible migrations, broad blast radius, and cleverness that tired engineers will struggle with later.",
186
+ recommendedTools: [
187
+ recommendedTool("github", "GitHub", "Inspect issues, pull requests, and repository context when enabled."),
188
+ recommendedTool("filesystem", "Filesystem/code tools", "Read and edit local code with project permissions."),
189
+ recommendedTool("shell", "Shell", "Run approval-aware commands when available."),
190
+ ],
191
+ },
192
+ {
193
+ id: "template_developer_experience_lead",
194
+ version: 1,
195
+ name: "Developer Experience Lead",
196
+ description: "Onboarding, docs, APIs, CLIs, SDKs, friction points, and time-to-success.",
197
+ instructions: "You are a developer experience lead focused on whether developers can understand, install, integrate, debug, and succeed quickly.\n\nWhen invoked:\n1. Clarify the developer persona, product type, first success moment, current onboarding path, and target time-to-value.\n2. Review docs, quickstarts, APIs, SDKs, CLIs, examples, errors, local setup, auth, and support paths.\n3. Trace friction from discovery through first success and repeated use.\n4. Recommend improvements that reduce confusion and increase developer trust.\n\nUse methods where useful: time-to-hello-world, docs-as-product review, magical moment design, friction logs, API ergonomics review, error-message review, quickstart testing, competitive DX benchmarking, and onboarding funnel analysis.\n\nOutputs should include: DX audits, onboarding improvements, quickstart rewrites, API/CLI feedback, docs gaps, error-message fixes, and prioritized friction removals.\n\nAlways flag missing prerequisites, broken examples, unclear auth, slow setup, vague errors, no copy-paste path, docs that do not match behavior, and workflows that require insider knowledge.",
198
+ recommendedTools: [
199
+ recommendedTool("google_docs", "Google Docs", "Draft developer docs."),
200
+ recommendedTool("filesystem", "Filesystem/code tools", "Inspect docs, examples, and local code when enabled."),
201
+ ],
202
+ },
203
+ {
204
+ id: "template_release_reliability_engineer",
205
+ version: 1,
206
+ name: "Release Reliability Engineer",
207
+ description: "Deploy readiness, CI, rollback, canaries, production checks, and release verdicts.",
208
+ instructions: "You are a release reliability engineer who has deployed to production many times. Your job is to merge efficiently, verify thoroughly, and give clear ship/no-ship guidance.\n\nWhen invoked:\n1. Clarify release scope, environment, deploy path, CI status, migration risk, rollback plan, and verification target.\n2. Review test results, build artifacts, dependency changes, config changes, database changes, monitoring, and ownership.\n3. Identify realistic production failure modes and how to detect them early.\n4. Produce a readiness verdict and verification plan.\n\nUse methods where useful: pre-merge gates, deploy checklists, canary plans, smoke tests, rollback drills, migration sequencing, observability checks, incident playbooks, and post-deploy validation.\n\nOutputs should include: release checklists, readiness summaries, verification steps, rollback plans, risk notes, and ship/no-ship verdicts.\n\nAlways flag missing rollback, unverifiable deploys, CI gaps, unsafe migrations, stale build artifacts, hidden environment dependencies, monitoring blind spots, and changes that can pass tests but fail in production.",
209
+ recommendedTools: [
210
+ recommendedTool("github", "GitHub", "Inspect PRs and CI when enabled."),
211
+ recommendedTool("shell", "Shell", "Run approval-aware verification commands."),
212
+ ],
213
+ },
214
+ {
215
+ id: "template_security_compliance_advisor",
216
+ version: 1,
217
+ name: "Security & Compliance Advisor",
218
+ description: "Security posture, trust boundaries, privacy, policy, and practical compliance risks.",
219
+ instructions: "You are a security and compliance advisor who thinks like an attacker but reports like a defender. You do not do security theater; you find the doors that are actually unlocked.\n\nWhen invoked:\n1. Clarify scope, assets, users, data sensitivity, trust boundaries, compliance context, and threat model.\n2. Review exposed secrets, auth, permissions, dependencies, CI/CD, logs, webhooks, storage, third parties, and policy requirements.\n3. Identify plausible exploit paths, privacy risks, audit gaps, and practical remediation.\n4. Produce clear findings with severity, evidence, impact, and fix guidance.\n\nUse methods where useful: threat modeling, trust-boundary mapping, data-flow review, dependency/supply-chain review, OWASP-style checks, privacy impact review, access-control review, incident-response readiness, and audit-trail checks.\n\nOutputs should include: security posture reports, risk registers, remediation plans, policy notes, control gaps, and prioritized findings.\n\nAlways flag exposed credentials, excessive permissions, unclear data retention, unauthenticated webhooks, unsafe logs, stale dependencies, missing audit trails, weak approval boundaries, and compliance claims without evidence.",
220
+ recommendedTools: [
221
+ recommendedTool("document_search", "Document search/retrieval", "Retrieve policies and source documents when enabled."),
222
+ recommendedTool("github", "GitHub", "Inspect code and PRs when enabled."),
223
+ ],
224
+ },
225
+ ];
226
+ export function createPersonaRecord(input, options) {
227
+ const description = input.description === undefined
228
+ ? undefined
229
+ : optionalText(input.description);
230
+ return validatePersonaRecord({
231
+ id: input.id ?? options.id,
232
+ name: required(input.name, "Persona name"),
233
+ ...(description !== undefined ? { description } : {}),
234
+ instructions: required(input.instructions, "Persona instructions"),
235
+ createdAt: options.now,
236
+ updatedAt: options.now,
237
+ ...(input.defaultModel ? { defaultModel: input.defaultModel } : {}),
238
+ ...(input.recommendedTools
239
+ ? { recommendedTools: input.recommendedTools }
240
+ : {}),
241
+ ...(input.templateSource ? { templateSource: input.templateSource } : {}),
242
+ });
243
+ }
244
+ export function updatePersonaRecord(existing, input, options) {
245
+ const description = input.description === undefined
246
+ ? undefined
247
+ : optionalText(input.description);
248
+ return validatePersonaRecord({
249
+ ...existing,
250
+ updatedAt: options.now,
251
+ ...(input.name !== undefined
252
+ ? { name: required(input.name, "Persona name") }
253
+ : {}),
254
+ ...(description !== undefined ? { description } : {}),
255
+ ...(input.instructions !== undefined
256
+ ? { instructions: required(input.instructions, "Persona instructions") }
257
+ : {}),
258
+ ...(input.defaultModel !== undefined
259
+ ? { defaultModel: input.defaultModel }
260
+ : {}),
261
+ ...(input.recommendedTools !== undefined
262
+ ? { recommendedTools: input.recommendedTools }
263
+ : {}),
264
+ });
265
+ }
266
+ export function validatePersonaRecord(persona) {
267
+ required(persona.id, "Persona id");
268
+ required(persona.name, "Persona name");
269
+ required(persona.instructions, "Persona instructions");
270
+ required(persona.createdAt, "Persona createdAt");
271
+ required(persona.updatedAt, "Persona updatedAt");
272
+ const unknownProjectKeys = [
273
+ "projectId",
274
+ "project",
275
+ "wyrdosContainerId",
276
+ "wyrdosContainerName",
277
+ "monoidContainerId",
278
+ "monoidContainerName",
279
+ "pilferProjectId",
280
+ "pilferProjectName",
281
+ ].filter((key) => key in persona);
282
+ if (unknownProjectKeys.length > 0) {
283
+ throw new Error("Persona records cannot include project references.");
284
+ }
285
+ if (persona.description !== undefined) {
286
+ optionalText(persona.description);
287
+ }
288
+ if (persona.defaultModel) {
289
+ required(persona.defaultModel.providerId, "Persona model providerId");
290
+ required(persona.defaultModel.modelId, "Persona model modelId");
291
+ }
292
+ if (persona.recommendedTools) {
293
+ validateRecommendedTools(persona.recommendedTools);
294
+ }
295
+ if (persona.templateSource) {
296
+ required(persona.templateSource.templateId, "Persona templateSource templateId");
297
+ if (!Number.isInteger(persona.templateSource.templateVersion) ||
298
+ persona.templateSource.templateVersion < 1) {
299
+ throw new Error("Persona templateSource templateVersion must be a positive integer.");
300
+ }
301
+ }
302
+ return persona;
303
+ }
304
+ export function listPersonaTemplates() {
305
+ return BUILT_IN_PERSONA_TEMPLATES;
306
+ }
307
+ export function getPersonaTemplate(templateId) {
308
+ return BUILT_IN_PERSONA_TEMPLATES.find((template) => template.id === templateId);
309
+ }
310
+ export async function copyPersonaTemplate(options) {
311
+ const template = getPersonaTemplate(options.templateId);
312
+ if (!template)
313
+ throw new Error(`Persona template not found: ${options.templateId}`);
314
+ return createPersona({
315
+ ...options,
316
+ input: {
317
+ ...(options.input?.id ? { id: options.input.id } : {}),
318
+ name: options.input?.name ?? template.name,
319
+ description: options.input?.description ?? template.description,
320
+ instructions: options.input?.instructions ?? template.instructions,
321
+ ...((options.input?.defaultModel ?? template.defaultModel)
322
+ ? { defaultModel: options.input?.defaultModel ?? template.defaultModel }
323
+ : {}),
324
+ recommendedTools: options.input?.recommendedTools ?? template.recommendedTools,
325
+ templateSource: {
326
+ templateId: template.id,
327
+ templateVersion: template.version,
328
+ },
329
+ },
330
+ });
331
+ }
332
+ export async function createPersona(options) {
333
+ const now = (options.now ?? (() => new Date()))().toISOString();
334
+ const persona = createPersonaRecord(options.input, {
335
+ id: options.input.id ?? options.createId?.() ?? `persona_${randomUUID()}`,
336
+ now,
337
+ });
338
+ await updateActorConfig({
339
+ ...options,
340
+ update(config) {
341
+ const personas = getPersonaMap(config);
342
+ if (personas[persona.id])
343
+ throw new Error(`Persona already exists: ${persona.id}`);
344
+ return {
345
+ ...config,
346
+ cli: {
347
+ ...(config.cli ?? {}),
348
+ personas: { ...personas, [persona.id]: persona },
349
+ },
350
+ };
351
+ },
352
+ });
353
+ return persona;
354
+ }
355
+ export async function listPersonas(options) {
356
+ const config = await readActorConfig(options);
357
+ return Object.values(getPersonaMap(config)).sort((a, b) => a.name.localeCompare(b.name));
358
+ }
359
+ export async function getPersona(personaId, options) {
360
+ const config = await readActorConfig(options);
361
+ return getPersonaMap(config)[personaId];
362
+ }
363
+ export async function updatePersona(options) {
364
+ let nextPersona;
365
+ await updateActorConfig({
366
+ ...options,
367
+ update(config) {
368
+ const personas = getPersonaMap(config);
369
+ const existing = personas[options.personaId];
370
+ if (!existing)
371
+ throw new Error(`Persona not found: ${options.personaId}`);
372
+ nextPersona = updatePersonaRecord(existing, options.input, {
373
+ now: (options.now ?? (() => new Date()))().toISOString(),
374
+ });
375
+ return {
376
+ ...config,
377
+ cli: {
378
+ ...(config.cli ?? {}),
379
+ personas: { ...personas, [options.personaId]: nextPersona },
380
+ },
381
+ };
382
+ },
383
+ });
384
+ if (!nextPersona)
385
+ throw new Error(`Persona not found after update: ${options.personaId}`);
386
+ return nextPersona;
387
+ }
388
+ export async function deletePersona(options) {
389
+ let deleted = false;
390
+ await updateActorConfig({
391
+ ...options,
392
+ update(config) {
393
+ const personas = getPersonaMap(config);
394
+ if (!personas[options.personaId])
395
+ return config;
396
+ const { [options.personaId]: _deletedPersona, ...remainingPersonas } = personas;
397
+ deleted = true;
398
+ const defaults = config.defaults?.personaId === options.personaId
399
+ ? withoutPersonaDefault(config.defaults)
400
+ : config.defaults;
401
+ const { defaults: _defaults, ...configWithoutDefaults } = config;
402
+ return {
403
+ ...configWithoutDefaults,
404
+ ...(defaults ? { defaults } : {}),
405
+ cli: { ...(config.cli ?? {}), personas: remainingPersonas },
406
+ };
407
+ },
408
+ });
409
+ return deleted;
410
+ }
411
+ function getPersonaMap(config) {
412
+ const personas = config.cli?.personas;
413
+ if (!personas || typeof personas !== "object" || Array.isArray(personas))
414
+ return {};
415
+ return Object.fromEntries(Object.entries(personas).map(([id, persona]) => [
416
+ id,
417
+ validatePersonaRecord(persona),
418
+ ]));
419
+ }
420
+ function withoutPersonaDefault(defaults) {
421
+ const { personaId: _personaId, ...remainingDefaults } = defaults;
422
+ return Object.keys(remainingDefaults).length > 0
423
+ ? remainingDefaults
424
+ : undefined;
425
+ }
426
+ function required(value, label) {
427
+ const normalized = value.trim();
428
+ if (!normalized)
429
+ throw new Error(`${label} is required.`);
430
+ return normalized;
431
+ }
432
+ function optionalText(value) {
433
+ const normalized = value.trim();
434
+ return normalized ? normalized : undefined;
435
+ }
436
+ function recommendedTool(id, label, setupHint) {
437
+ return { id, label, setupHint };
438
+ }
439
+ export function validateRecommendedTools(tools) {
440
+ const seen = new Set();
441
+ for (const tool of tools) {
442
+ const id = required(tool.id, "Persona recommended tool id");
443
+ if (!/^[a-z0-9][a-z0-9_:-]*$/u.test(id)) {
444
+ throw new Error(`Persona recommended tool id must be a stable id: ${id}`);
445
+ }
446
+ if (seen.has(id)) {
447
+ throw new Error(`Duplicate persona recommended tool id: ${id}`);
448
+ }
449
+ seen.add(id);
450
+ if (tool.label !== undefined)
451
+ optionalText(tool.label);
452
+ if (tool.setupHint !== undefined)
453
+ optionalText(tool.setupHint);
454
+ }
455
+ return tools;
456
+ }
457
+ //# sourceMappingURL=personas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/workspace/personas.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,21 @@
1
1
  import { type ActorPathResolverOptions } from "@useactor/storage";
2
- import type { ModelRef, ActorId } from "./runtime.js";
2
+ import type { ModelRef, ActorId } from "../runtime/runtime.js";
3
3
  export interface ProjectRecord {
4
4
  readonly id: ActorId;
5
5
  readonly name: string;
6
6
  readonly wyrdosContainerId?: string;
7
+ readonly wyrdosContainerName?: string;
7
8
  readonly monoidContainerId?: string;
9
+ readonly monoidContainerName?: string;
10
+ readonly pilferProjectId?: string;
11
+ readonly pilferProjectName?: string;
8
12
  readonly githubRepoUrl?: string;
13
+ readonly color?: string;
9
14
  readonly desktopFolder?: string;
10
15
  readonly rootPath?: string;
11
16
  readonly links?: readonly ProjectLink[];
12
17
  readonly enabledTools?: readonly string[];
13
- readonly integrations?: readonly ProjectIntegrationRef[];
18
+ readonly integrations?: readonly ProjectPluginRef[];
14
19
  readonly instructions?: string;
15
20
  readonly defaultModel?: ModelRef;
16
21
  readonly defaultPersonaId?: ActorId;
@@ -21,21 +26,32 @@ export interface ProjectLink {
21
26
  readonly label: string;
22
27
  readonly url: string;
23
28
  }
24
- export interface ProjectIntegrationRef {
29
+ export interface ProjectPluginRef {
25
30
  readonly providerId: string;
26
31
  readonly resourceId?: string;
32
+ readonly disabled?: boolean;
33
+ }
34
+ export type ProjectIntegrationRef = ProjectPluginRef;
35
+ export interface CwdProjectPreferences {
36
+ readonly enabledTools?: readonly string[];
37
+ readonly integrations?: readonly ProjectIntegrationRef[];
27
38
  }
28
39
  export interface CreateProjectInput {
29
40
  readonly id?: ActorId;
30
41
  readonly name: string;
31
42
  readonly wyrdosContainerId?: string;
43
+ readonly wyrdosContainerName?: string;
32
44
  readonly monoidContainerId?: string;
45
+ readonly monoidContainerName?: string;
46
+ readonly pilferProjectId?: string;
47
+ readonly pilferProjectName?: string;
33
48
  readonly githubRepoUrl?: string;
49
+ readonly color?: string;
34
50
  readonly desktopFolder?: string;
35
51
  readonly rootPath?: string;
36
52
  readonly links?: readonly ProjectLink[];
37
53
  readonly enabledTools?: readonly string[];
38
- readonly integrations?: readonly ProjectIntegrationRef[];
54
+ readonly integrations?: readonly ProjectPluginRef[];
39
55
  readonly instructions?: string;
40
56
  readonly defaultModel?: ModelRef;
41
57
  readonly defaultPersonaId?: ActorId;
@@ -43,13 +59,18 @@ export interface CreateProjectInput {
43
59
  export interface UpdateProjectInput {
44
60
  readonly name?: string;
45
61
  readonly wyrdosContainerId?: string;
62
+ readonly wyrdosContainerName?: string;
46
63
  readonly monoidContainerId?: string;
64
+ readonly monoidContainerName?: string;
65
+ readonly pilferProjectId?: string;
66
+ readonly pilferProjectName?: string;
47
67
  readonly githubRepoUrl?: string;
68
+ readonly color?: string;
48
69
  readonly desktopFolder?: string;
49
70
  readonly rootPath?: string;
50
71
  readonly links?: readonly ProjectLink[];
51
72
  readonly enabledTools?: readonly string[];
52
- readonly integrations?: readonly ProjectIntegrationRef[];
73
+ readonly integrations?: readonly ProjectPluginRef[];
53
74
  readonly instructions?: string;
54
75
  readonly defaultModel?: ModelRef;
55
76
  readonly defaultPersonaId?: ActorId;
@@ -64,12 +85,18 @@ export interface UpdateProjectOptions extends ActorPathResolverOptions {
64
85
  readonly input: UpdateProjectInput;
65
86
  readonly now?: () => Date;
66
87
  }
88
+ export interface DeleteProjectOptions extends ActorPathResolverOptions {
89
+ readonly projectId: ActorId;
90
+ }
67
91
  export interface ProjectIntegrationMutationOptions extends ActorPathResolverOptions {
68
92
  readonly projectId: ActorId;
69
93
  readonly providerId: string;
70
94
  readonly resourceId?: string;
71
95
  readonly now?: () => Date;
72
96
  }
97
+ export interface UpdateCwdProjectPreferencesOptions extends ActorPathResolverOptions {
98
+ readonly input: CwdProjectPreferences;
99
+ }
73
100
  export declare function createProjectRecord(input: CreateProjectInput, options: {
74
101
  readonly id: ActorId;
75
102
  readonly now: string;
@@ -80,8 +107,11 @@ export declare function updateProjectRecord(existing: ProjectRecord, input: Upda
80
107
  export declare function validateProjectRecord(record: ProjectRecord): ProjectRecord;
81
108
  export declare function createProject(options: CreateProjectOptions): Promise<ProjectRecord>;
82
109
  export declare function listProjects(options?: ActorPathResolverOptions): Promise<readonly ProjectRecord[]>;
110
+ export declare function getCwdProjectPreferences(options?: ActorPathResolverOptions): Promise<CwdProjectPreferences>;
111
+ export declare function updateCwdProjectPreferences(options: UpdateCwdProjectPreferencesOptions): Promise<CwdProjectPreferences>;
83
112
  export declare function getProject(projectId: ActorId, options?: ActorPathResolverOptions): Promise<ProjectRecord | undefined>;
84
113
  export declare function updateProject(options: UpdateProjectOptions): Promise<ProjectRecord>;
114
+ export declare function deleteProject(options: DeleteProjectOptions): Promise<void>;
85
115
  export declare function enableProjectIntegration(options: ProjectIntegrationMutationOptions): Promise<ProjectRecord>;
86
116
  export declare function disableProjectIntegration(options: ProjectIntegrationMutationOptions): Promise<ProjectRecord>;
87
117
  export declare function listProjectIntegrations(projectId: ActorId, options?: ActorPathResolverOptions): Promise<readonly ProjectIntegrationRef[]>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/workspace/projects.ts"],"names":[],"mappings":"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"}