@adaptic/maestro 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (854) hide show
  1. package/.claude/commands/init-agent.md +99 -0
  2. package/.claude/commands/init-maestro.md +565 -0
  3. package/.claude/settings.json +114 -0
  4. package/.env.example +152 -0
  5. package/README.md +491 -0
  6. package/agents/board-prep/agent.md +80 -0
  7. package/agents/browser-operator/agent.md +52 -0
  8. package/agents/calendar-ops/agent.md +50 -0
  9. package/agents/capital-raising/agent.md +69 -0
  10. package/agents/ceo-briefing/agent.md +72 -0
  11. package/agents/communications/agent.md +69 -0
  12. package/agents/competitive-intelligence/agent.md +49 -0
  13. package/agents/corporate-development/agent.md +66 -0
  14. package/agents/decision-log/agent.md +65 -0
  15. package/agents/desktop-operator/agent.md +59 -0
  16. package/agents/engineering-coordination/agent.md +51 -0
  17. package/agents/founder-voice/agent.md +72 -0
  18. package/agents/fund-ops/agent.md +52 -0
  19. package/agents/gmail-operator/agent.md +62 -0
  20. package/agents/hiring-org-design/agent.md +119 -0
  21. package/agents/inbound-dispatcher/agent.md +66 -0
  22. package/agents/legal-structuring/agent.md +65 -0
  23. package/agents/market-research/agent.md +48 -0
  24. package/agents/partnerships/agent.md +59 -0
  25. package/agents/platform-architecture/agent.md +57 -0
  26. package/agents/pmo-execution/agent.md +60 -0
  27. package/agents/product-strategy/agent.md +50 -0
  28. package/agents/regulatory-dfsa/agent.md +96 -0
  29. package/agents/risk-register/agent.md +62 -0
  30. package/agents/rollup-target-sourcing/agent.md +59 -0
  31. package/agents/session-spawner/agent.md +64 -0
  32. package/agents/slack-operator/agent.md +60 -0
  33. package/agents/sophie-chief-of-staff/agent.md +134 -0
  34. package/agents/strategic-planning/agent.md +54 -0
  35. package/agents/whatsapp-operator/agent.md +60 -0
  36. package/agents/workflow-automation/agent.md +61 -0
  37. package/bin/maestro.mjs +388 -0
  38. package/desktop-control/README.md +56 -0
  39. package/desktop-control/app-profiles/gmail.yaml +120 -0
  40. package/desktop-control/app-profiles/slack.yaml +315 -0
  41. package/desktop-control/app-profiles/whatsapp.yaml +107 -0
  42. package/docs/architecture/agent-topology.md +2222 -0
  43. package/docs/architecture/continuous-monitoring.md +221 -0
  44. package/docs/architecture/mcp-capability-map.md +560 -0
  45. package/docs/architecture/system-architecture.md +1273 -0
  46. package/docs/business-synthesis/ADAPTIC-GROUP-FINAL-OWNERSHIP-STRUCTURE.pdf +13667 -10
  47. package/docs/business-synthesis/adaptic-overview.md +296 -0
  48. package/docs/business-synthesis/executive-operating-model.md +261 -0
  49. package/docs/governance/action-approval-model.md +331 -0
  50. package/docs/governance/communications-policy.md +410 -0
  51. package/docs/governance/desktop-control-safety.md +499 -0
  52. package/docs/guides/agent-persona-setup.md +600 -0
  53. package/docs/operating-charter.md +87 -0
  54. package/docs/prompts/board-pack-cover-template.md +37 -0
  55. package/docs/prompts/decision-recommendation-template.md +88 -0
  56. package/docs/prompts/followup-message-template.md +141 -0
  57. package/docs/prompts/investor-letter-template.md +52 -0
  58. package/docs/prompts/morning-brief-template.md +82 -0
  59. package/docs/prompts/presentation-template.md +58 -0
  60. package/docs/prompts/weekly-strategic-memo-template.md +104 -0
  61. package/docs/runbooks/mac-mini-bootstrap.md +404 -0
  62. package/docs/runbooks/perpetual-operations.md +505 -0
  63. package/docs/runbooks/recovery-and-failover.md +588 -0
  64. package/docs/superpowers/plans/2026-04-02-phase0-operational-foundation.md +2550 -0
  65. package/docs/superpowers/plans/2026-04-03-phase1-executive-core.md +1085 -0
  66. package/docs/superpowers/plans/2026-04-03-phase2-people-product-commercial.md +739 -0
  67. package/docs/superpowers/plans/2026-04-05-information-barrier-implementation.md +926 -0
  68. package/docs/superpowers/plans/2026-04-06-session-context-dedup.md +1994 -0
  69. package/docs/superpowers/specs/2026-04-02-phase0-operational-foundation-design.md +842 -0
  70. package/docs/superpowers/specs/2026-04-03-phase1-executive-core-design.md +516 -0
  71. package/docs/superpowers/specs/2026-04-03-phase2-people-product-commercial-design.md +452 -0
  72. package/docs/superpowers/specs/2026-04-03-phase3-4-final-towers-design.md +129 -0
  73. package/docs/superpowers/specs/2026-04-05-information-barrier-design.md +678 -0
  74. package/docs/superpowers/specs/2026-04-05-reactive-daemon-design.md +237 -0
  75. package/docs/superpowers/specs/2026-04-06-session-context-dedup-design.md +369 -0
  76. package/docs/workflows/executive-cadence.md +218 -0
  77. package/ingest/README.md +87 -0
  78. package/mcp/README.md +51 -0
  79. package/package.json +48 -0
  80. package/plugins/maestro-skills/plugin.json +55 -0
  81. package/plugins/maestro-skills/skills/board-deck.md +68 -0
  82. package/plugins/maestro-skills/skills/decision-brief.md +89 -0
  83. package/plugins/maestro-skills/skills/draft-comms.md +84 -0
  84. package/plugins/maestro-skills/skills/evening-wrap.md +53 -0
  85. package/plugins/maestro-skills/skills/hiring-triage.md +74 -0
  86. package/plugins/maestro-skills/skills/inbox-triage.md +61 -0
  87. package/plugins/maestro-skills/skills/morning-brief.md +54 -0
  88. package/plugins/maestro-skills/skills/pipeline-review.md +76 -0
  89. package/plugins/maestro-skills/skills/regulatory-status.md +81 -0
  90. package/plugins/maestro-skills/skills/schedule-meeting.md +91 -0
  91. package/plugins/maestro-skills/skills/slack-followup.md +64 -0
  92. package/plugins/maestro-skills/skills/weekly-memo.md +70 -0
  93. package/policies/action-classification.yaml +110 -0
  94. package/policies/information-barriers.yaml +119 -0
  95. package/policies/prompt-injection-defence.yaml +138 -0
  96. package/public/assets/adaptic-icon-dark.png +0 -0
  97. package/public/assets/adaptic-icon-dark.svg +4 -0
  98. package/public/assets/adaptic-icon-light.svg +4 -0
  99. package/public/assets/adaptic-logo-dark.svg +17 -0
  100. package/public/assets/adaptic-logo-light.svg +17 -0
  101. package/scaffold/CLAUDE.md +21 -0
  102. package/scaffold/config/agent.ts +69 -0
  103. package/scaffold/config/agent.ts.example +218 -0
  104. package/schedules/README.md +49 -0
  105. package/schedules/triggers/backlog-executor.md +102 -0
  106. package/schedules/triggers/daily-evening-wrap.md +142 -0
  107. package/schedules/triggers/daily-midday-sweep.md +58 -0
  108. package/schedules/triggers/daily-morning-brief.md +55 -0
  109. package/schedules/triggers/inbox-processor.md +115 -0
  110. package/schedules/triggers/meeting-action-capture.md +60 -0
  111. package/schedules/triggers/meeting-prep.md +69 -0
  112. package/schedules/triggers/quarterly-self-assessment.md +54 -0
  113. package/schedules/triggers/weekly-engineering-health.md +37 -0
  114. package/schedules/triggers/weekly-execution.md +67 -0
  115. package/schedules/triggers/weekly-hiring.md +53 -0
  116. package/schedules/triggers/weekly-priorities.md +38 -0
  117. package/schedules/triggers/weekly-strategic-memo.md +124 -0
  118. package/scripts/__pycache__/disclosure_assessment.cpython-313.pyc +0 -0
  119. package/scripts/__pycache__/disclosure_boundaries.cpython-313.pyc +0 -0
  120. package/scripts/__pycache__/email_quote_thread.cpython-313.pyc +0 -0
  121. package/scripts/__pycache__/email_thread_dedup.cpython-313.pyc +0 -0
  122. package/scripts/__pycache__/mehran-inbox-poller.cpython-313.pyc +0 -0
  123. package/scripts/__pycache__/outbound_dedup.cpython-313.pyc +0 -0
  124. package/scripts/__pycache__/pre-draft-context.cpython-313.pyc +0 -0
  125. package/scripts/__pycache__/pre_draft_lookup.cpython-313.pyc +0 -0
  126. package/scripts/__pycache__/send-email-as-mehran.cpython-313.pyc +0 -0
  127. package/scripts/__pycache__/send-email-threaded.cpython-313.pyc +0 -0
  128. package/scripts/__pycache__/send-email-with-attachment.cpython-313.pyc +0 -0
  129. package/scripts/__pycache__/validate_outbound.cpython-313.pyc +0 -0
  130. package/scripts/airtable-crm-populate.md +99 -0
  131. package/scripts/archive-email.sh +41 -0
  132. package/scripts/comms-monitor.sh +285 -0
  133. package/scripts/configure-whatsapp-sandbox.sh +201 -0
  134. package/scripts/continuous-monitor.sh +86 -0
  135. package/scripts/daemon/classifier.mjs +355 -0
  136. package/scripts/daemon/context-compiler.mjs +490 -0
  137. package/scripts/daemon/dispatcher.mjs +385 -0
  138. package/scripts/daemon/health.mjs +72 -0
  139. package/scripts/daemon/prompt-builder.mjs +426 -0
  140. package/scripts/daemon/responder.mjs +547 -0
  141. package/scripts/daemon/session-lock.mjs +520 -0
  142. package/scripts/daemon/sophie-daemon.mjs +521 -0
  143. package/scripts/daemon/test-context-compiler.mjs +238 -0
  144. package/scripts/daemon/test-integration.mjs +130 -0
  145. package/scripts/daemon/test-session-lock.mjs +215 -0
  146. package/scripts/disclosure_assessment.py +873 -0
  147. package/scripts/disclosure_boundaries.py +562 -0
  148. package/scripts/email-signature-mehran.html +52 -0
  149. package/scripts/email-signature.html +44 -0
  150. package/scripts/email_quote_thread.py +167 -0
  151. package/scripts/email_thread_dedup.py +361 -0
  152. package/scripts/emergency-stop.sh +41 -0
  153. package/scripts/healthcheck.sh +110 -0
  154. package/scripts/hooks/block-mcp-slack-send.sh +7 -0
  155. package/scripts/hooks/post-action-log.sh +17 -0
  156. package/scripts/hooks/pre-send-audit.sh +57 -0
  157. package/scripts/hooks/session-end-log.sh +27 -0
  158. package/scripts/huddle/audio-bridge.mjs +664 -0
  159. package/scripts/huddle/boot-slack-cdp.sh +102 -0
  160. package/scripts/huddle/huddle-controller.mjs +942 -0
  161. package/scripts/huddle/huddle-server.mjs +1059 -0
  162. package/scripts/huddle/launch-slack.sh +232 -0
  163. package/scripts/huddle/node_modules/.package-lock.json +50 -0
  164. package/scripts/huddle/node_modules/@anthropic-ai/sdk/CHANGELOG.md +1677 -0
  165. package/scripts/huddle/node_modules/@anthropic-ai/sdk/LICENSE +8 -0
  166. package/scripts/huddle/node_modules/@anthropic-ai/sdk/README.md +674 -0
  167. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts +3 -0
  168. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts.map +1 -0
  169. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts +3 -0
  170. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts.map +1 -0
  171. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js +226 -0
  172. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js.map +1 -0
  173. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs +223 -0
  174. package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs.map +1 -0
  175. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.mts +2 -0
  176. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.mts.map +1 -0
  177. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.ts +2 -0
  178. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.ts.map +1 -0
  179. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.js +6 -0
  180. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.js.map +1 -0
  181. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.mjs +2 -0
  182. package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.mjs.map +1 -0
  183. package/scripts/huddle/node_modules/@anthropic-ai/sdk/bin/cli +53 -0
  184. package/scripts/huddle/node_modules/@anthropic-ai/sdk/bin/migration-config.json +7 -0
  185. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.mts +225 -0
  186. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.mts.map +1 -0
  187. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.ts +225 -0
  188. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.ts.map +1 -0
  189. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.js +536 -0
  190. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.js.map +1 -0
  191. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.mjs +531 -0
  192. package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.mjs.map +1 -0
  193. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts +49 -0
  194. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts.map +1 -0
  195. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts +49 -0
  196. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts.map +1 -0
  197. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.js +76 -0
  198. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.js.map +1 -0
  199. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.mjs +72 -0
  200. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.mjs.map +1 -0
  201. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.mts +47 -0
  202. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.mts.map +1 -0
  203. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.ts +47 -0
  204. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.ts.map +1 -0
  205. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.js +114 -0
  206. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.js.map +1 -0
  207. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.mjs +98 -0
  208. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.mjs.map +1 -0
  209. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.mts +63 -0
  210. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.mts.map +1 -0
  211. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.ts +63 -0
  212. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.ts.map +1 -0
  213. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.js +123 -0
  214. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.js.map +1 -0
  215. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.mjs +117 -0
  216. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.mjs.map +1 -0
  217. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.mts +6 -0
  218. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.mts.map +1 -0
  219. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.ts +6 -0
  220. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.ts.map +1 -0
  221. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.js +11 -0
  222. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.js.map +1 -0
  223. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.mjs +7 -0
  224. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.mjs.map +1 -0
  225. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.mts +31 -0
  226. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.mts.map +1 -0
  227. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.ts +31 -0
  228. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.ts.map +1 -0
  229. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.js +282 -0
  230. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.js.map +1 -0
  231. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.mjs +277 -0
  232. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.mjs.map +1 -0
  233. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.mts +3 -0
  234. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.mts.map +1 -0
  235. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.ts +3 -0
  236. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.ts.map +1 -0
  237. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.js +6 -0
  238. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.js.map +1 -0
  239. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.mjs +2 -0
  240. package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.mjs.map +1 -0
  241. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.mts +2 -0
  242. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.mts.map +1 -0
  243. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.ts +2 -0
  244. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.ts.map +1 -0
  245. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.js +6 -0
  246. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.js.map +1 -0
  247. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.mjs +2 -0
  248. package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.mjs.map +1 -0
  249. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.mts +7 -0
  250. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.mts.map +1 -0
  251. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.ts +7 -0
  252. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.ts.map +1 -0
  253. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.js +35 -0
  254. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.js.map +1 -0
  255. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.mjs +8 -0
  256. package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.mjs.map +1 -0
  257. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts +73 -0
  258. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts.map +1 -0
  259. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts +73 -0
  260. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts.map +1 -0
  261. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.js +4 -0
  262. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.js.map +1 -0
  263. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs +3 -0
  264. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs.map +1 -0
  265. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.mts +5 -0
  266. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.mts.map +1 -0
  267. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.ts +5 -0
  268. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.ts.map +1 -0
  269. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.js +15 -0
  270. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.js.map +1 -0
  271. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.mjs +12 -0
  272. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.mjs.map +1 -0
  273. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts +10 -0
  274. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts.map +1 -0
  275. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts +10 -0
  276. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts.map +1 -0
  277. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js +39 -0
  278. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js.map +1 -0
  279. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs +35 -0
  280. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs.map +1 -0
  281. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts +17 -0
  282. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts.map +1 -0
  283. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts +17 -0
  284. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts.map +1 -0
  285. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.js +113 -0
  286. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.js.map +1 -0
  287. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs +108 -0
  288. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs.map +1 -0
  289. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts +15 -0
  290. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts.map +1 -0
  291. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts +15 -0
  292. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts.map +1 -0
  293. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.js +162 -0
  294. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.js.map +1 -0
  295. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs +157 -0
  296. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs.map +1 -0
  297. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.mts +3 -0
  298. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.mts.map +1 -0
  299. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.ts +3 -0
  300. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.ts.map +1 -0
  301. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.js +41 -0
  302. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.js.map +1 -0
  303. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.mjs +36 -0
  304. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.mjs.map +1 -0
  305. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.mts +22 -0
  306. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.mts.map +1 -0
  307. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.ts +22 -0
  308. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.ts.map +1 -0
  309. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.js +79 -0
  310. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.js.map +1 -0
  311. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.mjs +74 -0
  312. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.mjs.map +1 -0
  313. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.mts +17 -0
  314. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.mts.map +1 -0
  315. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.ts +17 -0
  316. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.ts.map +1 -0
  317. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.js +55 -0
  318. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.js.map +1 -0
  319. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.mjs +51 -0
  320. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.mjs.map +1 -0
  321. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts +34 -0
  322. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts.map +1 -0
  323. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts +34 -0
  324. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts.map +1 -0
  325. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.js +14 -0
  326. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.js.map +1 -0
  327. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.mjs +10 -0
  328. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.mjs.map +1 -0
  329. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shim-types.d.mts +28 -0
  330. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shim-types.d.ts +28 -0
  331. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.mts +20 -0
  332. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.mts.map +1 -0
  333. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.ts +20 -0
  334. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.ts.map +1 -0
  335. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.js +92 -0
  336. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.js.map +1 -0
  337. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.mjs +85 -0
  338. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.mjs.map +1 -0
  339. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts +8 -0
  340. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts.map +1 -0
  341. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts +8 -0
  342. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts.map +1 -0
  343. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.js +38 -0
  344. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.js.map +1 -0
  345. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs +35 -0
  346. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs.map +1 -0
  347. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts +45 -0
  348. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts.map +1 -0
  349. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts +45 -0
  350. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts.map +1 -0
  351. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.js +96 -0
  352. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.js.map +1 -0
  353. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.mjs +93 -0
  354. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.mjs.map +1 -0
  355. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/tslib.js +81 -0
  356. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/tslib.mjs +17 -0
  357. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.mts +67 -0
  358. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.mts.map +1 -0
  359. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.ts +67 -0
  360. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.ts.map +1 -0
  361. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.js +4 -0
  362. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.js.map +1 -0
  363. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.mjs +3 -0
  364. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.mjs.map +1 -0
  365. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts +42 -0
  366. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts.map +1 -0
  367. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts +42 -0
  368. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts.map +1 -0
  369. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.js +146 -0
  370. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.js.map +1 -0
  371. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.mjs +136 -0
  372. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.mjs.map +1 -0
  373. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts +3 -0
  374. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts.map +1 -0
  375. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts +3 -0
  376. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts.map +1 -0
  377. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.js +38 -0
  378. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.js.map +1 -0
  379. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs +33 -0
  380. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs.map +1 -0
  381. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts +4 -0
  382. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts.map +1 -0
  383. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts +4 -0
  384. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts.map +1 -0
  385. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js +31 -0
  386. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js.map +1 -0
  387. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs +26 -0
  388. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs.map +1 -0
  389. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts +9 -0
  390. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts.map +1 -0
  391. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts +9 -0
  392. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts.map +1 -0
  393. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.js +22 -0
  394. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.js.map +1 -0
  395. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs +18 -0
  396. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs.map +1 -0
  397. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts +37 -0
  398. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts.map +1 -0
  399. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts +37 -0
  400. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts.map +1 -0
  401. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.js +86 -0
  402. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.js.map +1 -0
  403. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs +80 -0
  404. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs.map +1 -0
  405. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts +15 -0
  406. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts.map +1 -0
  407. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts +15 -0
  408. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts.map +1 -0
  409. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.js +58 -0
  410. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.js.map +1 -0
  411. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs +53 -0
  412. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs.map +1 -0
  413. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts +2 -0
  414. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts.map +1 -0
  415. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts +2 -0
  416. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts.map +1 -0
  417. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js +7 -0
  418. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js.map +1 -0
  419. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs +3 -0
  420. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs.map +1 -0
  421. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts +5 -0
  422. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts.map +1 -0
  423. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts +5 -0
  424. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts.map +1 -0
  425. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js +19 -0
  426. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js.map +1 -0
  427. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs +15 -0
  428. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs.map +1 -0
  429. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts +16 -0
  430. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts.map +1 -0
  431. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts +16 -0
  432. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts.map +1 -0
  433. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.js +109 -0
  434. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.js.map +1 -0
  435. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs +92 -0
  436. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs.map +1 -0
  437. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.mts +7 -0
  438. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.mts.map +1 -0
  439. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.ts +7 -0
  440. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.ts.map +1 -0
  441. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.js +11 -0
  442. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.js.map +1 -0
  443. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.mjs +8 -0
  444. package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.mjs.map +1 -0
  445. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts +114 -0
  446. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts.map +1 -0
  447. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts +114 -0
  448. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts.map +1 -0
  449. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js +553 -0
  450. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js.map +1 -0
  451. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs +549 -0
  452. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs.map +1 -0
  453. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts +114 -0
  454. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts.map +1 -0
  455. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts +114 -0
  456. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts.map +1 -0
  457. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.js +553 -0
  458. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.js.map +1 -0
  459. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +549 -0
  460. package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs.map +1 -0
  461. package/scripts/huddle/node_modules/@anthropic-ai/sdk/package.json +185 -0
  462. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.mts +2 -0
  463. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.mts.map +1 -0
  464. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.ts +2 -0
  465. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.ts.map +1 -0
  466. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.js +6 -0
  467. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.js.map +1 -0
  468. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.mjs +2 -0
  469. package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.mjs.map +1 -0
  470. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.mts +2 -0
  471. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.mts.map +1 -0
  472. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.ts +2 -0
  473. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.ts.map +1 -0
  474. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.js +6 -0
  475. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.js.map +1 -0
  476. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.mjs +2 -0
  477. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.mjs.map +1 -0
  478. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts +61 -0
  479. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts.map +1 -0
  480. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts +61 -0
  481. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts.map +1 -0
  482. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +25 -0
  483. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.js.map +1 -0
  484. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +20 -0
  485. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs.map +1 -0
  486. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts +151 -0
  487. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts.map +1 -0
  488. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts +151 -0
  489. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts.map +1 -0
  490. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.js +122 -0
  491. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.js.map +1 -0
  492. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +118 -0
  493. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs.map +1 -0
  494. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts +5 -0
  495. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts.map +1 -0
  496. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts +5 -0
  497. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts.map +1 -0
  498. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.js +13 -0
  499. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.js.map +1 -0
  500. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +6 -0
  501. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs.map +1 -0
  502. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts +343 -0
  503. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts.map +1 -0
  504. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts +343 -0
  505. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts.map +1 -0
  506. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js +204 -0
  507. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js.map +1 -0
  508. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs +200 -0
  509. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs.map +1 -0
  510. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts +3 -0
  511. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts.map +1 -0
  512. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts +3 -0
  513. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts.map +1 -0
  514. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js +9 -0
  515. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js.map +1 -0
  516. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs +4 -0
  517. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs.map +1 -0
  518. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts +1561 -0
  519. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts.map +1 -0
  520. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts +1561 -0
  521. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts.map +1 -0
  522. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js +86 -0
  523. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js.map +1 -0
  524. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs +81 -0
  525. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs.map +1 -0
  526. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts +2 -0
  527. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts.map +1 -0
  528. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts +2 -0
  529. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts.map +1 -0
  530. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.js +6 -0
  531. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.js.map +1 -0
  532. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs +3 -0
  533. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs.map +1 -0
  534. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts +74 -0
  535. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts.map +1 -0
  536. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts +74 -0
  537. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts.map +1 -0
  538. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.js +60 -0
  539. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.js.map +1 -0
  540. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs +56 -0
  541. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs.map +1 -0
  542. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.mts +2 -0
  543. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.mts.map +1 -0
  544. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.ts +2 -0
  545. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.ts.map +1 -0
  546. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.js +6 -0
  547. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.js.map +1 -0
  548. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.mjs +3 -0
  549. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.mjs.map +1 -0
  550. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.mts +183 -0
  551. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.mts.map +1 -0
  552. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.ts +183 -0
  553. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.ts.map +1 -0
  554. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.js +23 -0
  555. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.js.map +1 -0
  556. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.mjs +19 -0
  557. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.mjs.map +1 -0
  558. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.mts +6 -0
  559. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.mts.map +1 -0
  560. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.ts +6 -0
  561. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.ts.map +1 -0
  562. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.js +15 -0
  563. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.js.map +1 -0
  564. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.mjs +7 -0
  565. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.mjs.map +1 -0
  566. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts +304 -0
  567. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts.map +1 -0
  568. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts +304 -0
  569. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts.map +1 -0
  570. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.js +153 -0
  571. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.js.map +1 -0
  572. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs +149 -0
  573. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs.map +1 -0
  574. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts +3 -0
  575. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts.map +1 -0
  576. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts +3 -0
  577. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts.map +1 -0
  578. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.js +9 -0
  579. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.js.map +1 -0
  580. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs +4 -0
  581. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs.map +1 -0
  582. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts +1264 -0
  583. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts.map +1 -0
  584. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts +1264 -0
  585. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts.map +1 -0
  586. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.js +72 -0
  587. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.js.map +1 -0
  588. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs +67 -0
  589. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs.map +1 -0
  590. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.mts +2 -0
  591. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.mts.map +1 -0
  592. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.ts +2 -0
  593. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.ts.map +1 -0
  594. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.js +6 -0
  595. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.js.map +1 -0
  596. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.mjs +3 -0
  597. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.mjs.map +1 -0
  598. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.mts +59 -0
  599. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.mts.map +1 -0
  600. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.ts +59 -0
  601. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.ts.map +1 -0
  602. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.js +45 -0
  603. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.js.map +1 -0
  604. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.mjs +41 -0
  605. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.mjs.map +1 -0
  606. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.mts +42 -0
  607. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.mts.map +1 -0
  608. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.ts +42 -0
  609. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.ts.map +1 -0
  610. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.js +4 -0
  611. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.js.map +1 -0
  612. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.mjs +3 -0
  613. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.mjs.map +1 -0
  614. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts +2 -0
  615. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts.map +1 -0
  616. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts +2 -0
  617. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts.map +1 -0
  618. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.js +4 -0
  619. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.js.map +1 -0
  620. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.mjs +3 -0
  621. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.mjs.map +1 -0
  622. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.mts +2 -0
  623. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.mts.map +1 -0
  624. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.ts +2 -0
  625. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.ts.map +1 -0
  626. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.js +5 -0
  627. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.js.map +1 -0
  628. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.mjs +2 -0
  629. package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.mjs.map +1 -0
  630. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +3 -0
  631. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/parser.ts +264 -0
  632. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/api-promise.ts +2 -0
  633. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/client.ts +1070 -0
  634. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/README.md +3 -0
  635. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/api-promise.ts +101 -0
  636. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/error.ts +133 -0
  637. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/pagination.ts +201 -0
  638. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/resource.ts +11 -0
  639. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/streaming.ts +331 -0
  640. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/uploads.ts +2 -0
  641. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/error.ts +2 -0
  642. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/index.ts +23 -0
  643. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/README.md +3 -0
  644. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/builtin-types.ts +93 -0
  645. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/constants.ts +12 -0
  646. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/decoders/jsonl.ts +48 -0
  647. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/decoders/line.ts +135 -0
  648. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/detect-platform.ts +196 -0
  649. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/errors.ts +33 -0
  650. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/headers.ts +99 -0
  651. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/parse.ts +84 -0
  652. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/request-options.ts +39 -0
  653. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/shim-types.d.ts +28 -0
  654. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/shims.ts +107 -0
  655. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/stream-utils.ts +32 -0
  656. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/to-file.ts +159 -0
  657. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/types.ts +92 -0
  658. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/uploads.ts +193 -0
  659. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/base64.ts +40 -0
  660. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/bytes.ts +32 -0
  661. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/env.ts +18 -0
  662. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/log.ts +127 -0
  663. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/path.ts +65 -0
  664. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/sleep.ts +3 -0
  665. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/uuid.ts +17 -0
  666. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/values.ts +102 -0
  667. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils.ts +8 -0
  668. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/.keep +4 -0
  669. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/BetaMessageStream.ts +683 -0
  670. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/MessageStream.ts +684 -0
  671. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/pagination.ts +2 -0
  672. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resource.ts +2 -0
  673. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/beta.ts +380 -0
  674. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/files.ts +258 -0
  675. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/index.ts +148 -0
  676. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/batches.ts +502 -0
  677. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/index.ts +135 -0
  678. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/messages.ts +2249 -0
  679. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages.ts +3 -0
  680. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/models.ts +118 -0
  681. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta.ts +3 -0
  682. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/completions.ts +231 -0
  683. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/index.ts +121 -0
  684. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/batches.ts +396 -0
  685. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/index.ts +110 -0
  686. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/messages.ts +1783 -0
  687. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages.ts +3 -0
  688. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/models.ts +103 -0
  689. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/shared.ts +72 -0
  690. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/top-level.ts +3 -0
  691. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources.ts +1 -0
  692. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/streaming.ts +2 -0
  693. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/tsconfig.json +11 -0
  694. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/uploads.ts +2 -0
  695. package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/version.ts +1 -0
  696. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.mts +2 -0
  697. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.mts.map +1 -0
  698. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.ts +2 -0
  699. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.ts.map +1 -0
  700. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.js +6 -0
  701. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.js.map +1 -0
  702. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.mjs +2 -0
  703. package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.mjs.map +1 -0
  704. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.mts +2 -0
  705. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.mts.map +1 -0
  706. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.ts +2 -0
  707. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.ts.map +1 -0
  708. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.js +6 -0
  709. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.js.map +1 -0
  710. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.mjs +2 -0
  711. package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.mjs.map +1 -0
  712. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.mts +2 -0
  713. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.mts.map +1 -0
  714. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.ts +2 -0
  715. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.ts.map +1 -0
  716. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.js +5 -0
  717. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.js.map +1 -0
  718. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.mjs +2 -0
  719. package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.mjs.map +1 -0
  720. package/scripts/huddle/node_modules/dotenv/CHANGELOG.md +520 -0
  721. package/scripts/huddle/node_modules/dotenv/LICENSE +23 -0
  722. package/scripts/huddle/node_modules/dotenv/README-es.md +411 -0
  723. package/scripts/huddle/node_modules/dotenv/README.md +645 -0
  724. package/scripts/huddle/node_modules/dotenv/SECURITY.md +1 -0
  725. package/scripts/huddle/node_modules/dotenv/config.d.ts +1 -0
  726. package/scripts/huddle/node_modules/dotenv/config.js +9 -0
  727. package/scripts/huddle/node_modules/dotenv/lib/cli-options.js +17 -0
  728. package/scripts/huddle/node_modules/dotenv/lib/env-options.js +28 -0
  729. package/scripts/huddle/node_modules/dotenv/lib/main.d.ts +162 -0
  730. package/scripts/huddle/node_modules/dotenv/lib/main.js +386 -0
  731. package/scripts/huddle/node_modules/dotenv/package.json +62 -0
  732. package/scripts/huddle/node_modules/ws/LICENSE +20 -0
  733. package/scripts/huddle/node_modules/ws/README.md +548 -0
  734. package/scripts/huddle/node_modules/ws/browser.js +8 -0
  735. package/scripts/huddle/node_modules/ws/index.js +22 -0
  736. package/scripts/huddle/node_modules/ws/lib/buffer-util.js +131 -0
  737. package/scripts/huddle/node_modules/ws/lib/constants.js +19 -0
  738. package/scripts/huddle/node_modules/ws/lib/event-target.js +292 -0
  739. package/scripts/huddle/node_modules/ws/lib/extension.js +203 -0
  740. package/scripts/huddle/node_modules/ws/lib/limiter.js +55 -0
  741. package/scripts/huddle/node_modules/ws/lib/permessage-deflate.js +528 -0
  742. package/scripts/huddle/node_modules/ws/lib/receiver.js +706 -0
  743. package/scripts/huddle/node_modules/ws/lib/sender.js +602 -0
  744. package/scripts/huddle/node_modules/ws/lib/stream.js +161 -0
  745. package/scripts/huddle/node_modules/ws/lib/subprotocol.js +62 -0
  746. package/scripts/huddle/node_modules/ws/lib/validation.js +152 -0
  747. package/scripts/huddle/node_modules/ws/lib/websocket-server.js +554 -0
  748. package/scripts/huddle/node_modules/ws/lib/websocket.js +1393 -0
  749. package/scripts/huddle/node_modules/ws/package.json +70 -0
  750. package/scripts/huddle/node_modules/ws/wrapper.mjs +21 -0
  751. package/scripts/huddle/package-lock.json +62 -0
  752. package/scripts/huddle/package.json +22 -0
  753. package/scripts/huddle/setup-audio.sh +239 -0
  754. package/scripts/huddle/start-call.mjs +318 -0
  755. package/scripts/huddle/test-pipeline.mjs +263 -0
  756. package/scripts/llm_email_dedup.py +434 -0
  757. package/scripts/local-triggers/install-all.sh +43 -0
  758. package/scripts/local-triggers/plists/ai.adaptic.slack-events-server.plist +45 -0
  759. package/scripts/local-triggers/plists/ai.adaptic.sophie-backlog-executor.plist +21 -0
  760. package/scripts/local-triggers/plists/ai.adaptic.sophie-daemon.plist +32 -0
  761. package/scripts/local-triggers/plists/ai.adaptic.sophie-inbox-processor.plist +21 -0
  762. package/scripts/local-triggers/plists/ai.adaptic.sophie-meeting-action-capture.plist +21 -0
  763. package/scripts/local-triggers/plists/ai.adaptic.sophie-meeting-prep.plist +21 -0
  764. package/scripts/local-triggers/plists/ai.adaptic.sophie-midday-sweep.plist +26 -0
  765. package/scripts/local-triggers/plists/ai.adaptic.sophie-quarterly-self-assessment.plist +62 -0
  766. package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-engineering-health.plist +28 -0
  767. package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-execution.plist +28 -0
  768. package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-hiring.plist +28 -0
  769. package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-priorities.plist +28 -0
  770. package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-strategic-memo.plist +28 -0
  771. package/scripts/local-triggers/run-trigger.sh +44 -0
  772. package/scripts/media-generation/README.md +103 -0
  773. package/scripts/media-generation/gemini-image-client.mjs +173 -0
  774. package/scripts/media-generation/generate-assets.mjs +289 -0
  775. package/scripts/media-generation/veo-video-client.mjs +219 -0
  776. package/scripts/mehran-inbox-poller.py +437 -0
  777. package/scripts/outbound-dedup-cleanup.sh +43 -0
  778. package/scripts/outbound-dedup.sh +476 -0
  779. package/scripts/outbound_dedup.py +115 -0
  780. package/scripts/parse-voice-transcript.mjs +486 -0
  781. package/scripts/pdf-generation/README.md +61 -0
  782. package/scripts/pdf-generation/build-document.mjs +230 -0
  783. package/scripts/pdf-generation/templates/board-pack.latex +136 -0
  784. package/scripts/pdf-generation/templates/corporate-letter.latex +126 -0
  785. package/scripts/pdf-generation/templates/memo.latex +114 -0
  786. package/scripts/poll-slack-events.sh +33 -0
  787. package/scripts/poller/calendar-poller.mjs +12 -0
  788. package/scripts/poller/gmail-poller.mjs +156 -0
  789. package/scripts/poller/imap-client.mjs +286 -0
  790. package/scripts/poller/index.mjs +73 -0
  791. package/scripts/poller/intra-session-check.mjs +267 -0
  792. package/scripts/poller/mehran-gmail-poller.mjs +98 -0
  793. package/scripts/poller/slack-poller.mjs +716 -0
  794. package/scripts/poller/trigger.mjs +47 -0
  795. package/scripts/poller/utils.mjs +253 -0
  796. package/scripts/poller-launchd/ai.adaptic.sophie-poller.plist +40 -0
  797. package/scripts/poller-launchd/ai.adaptic.sophie-whatsapp-handler.plist +39 -0
  798. package/scripts/poller-launchd/install.sh +38 -0
  799. package/scripts/post-interaction-indexer.py +1598 -0
  800. package/scripts/pre-draft-context.py +994 -0
  801. package/scripts/pre_draft_lookup.py +258 -0
  802. package/scripts/rag-indexer.py +629 -0
  803. package/scripts/resume-operations.sh +40 -0
  804. package/scripts/search-mehran-inbox.py +181 -0
  805. package/scripts/self-optimization/compute-metrics.py +377 -0
  806. package/scripts/send-difc-rfp.sh +98 -0
  807. package/scripts/send-email-as-mehran.py +369 -0
  808. package/scripts/send-email-threaded.py +336 -0
  809. package/scripts/send-email-with-attachment.py +360 -0
  810. package/scripts/send-email.sh +93 -0
  811. package/scripts/send-sms.sh +151 -0
  812. package/scripts/send-whatsapp.sh +261 -0
  813. package/scripts/session-start.sh +106 -0
  814. package/scripts/setup/configure-macos.sh +508 -0
  815. package/scripts/setup/init-agent.sh +450 -0
  816. package/scripts/slack-events-ctl.sh +177 -0
  817. package/scripts/slack-events-server.mjs +989 -0
  818. package/scripts/slack-react.mjs +89 -0
  819. package/scripts/slack-responded.sh +185 -0
  820. package/scripts/slack-send.sh +190 -0
  821. package/scripts/slack-typing.mjs +196 -0
  822. package/scripts/slack-upload-v2.py +95 -0
  823. package/scripts/sms-handler.mjs +436 -0
  824. package/scripts/sophie-inbox-poller.py +406 -0
  825. package/scripts/spawn-session.sh +85 -0
  826. package/scripts/system-verify.sh +171 -0
  827. package/scripts/test-email-thread-dedup.py +239 -0
  828. package/scripts/test-information-barriers.py +484 -0
  829. package/scripts/test-llm-email-dedup.py +251 -0
  830. package/scripts/test-pre-draft-integration.py +203 -0
  831. package/scripts/test-rag-phase2.sh +442 -0
  832. package/scripts/test-rag-search.sh +251 -0
  833. package/scripts/test-voice-parser.mjs +316 -0
  834. package/scripts/user-context-search.py +660 -0
  835. package/scripts/validate-outbound.py +1493 -0
  836. package/scripts/whatsapp-handler.mjs +525 -0
  837. package/teams/desktop-operations.yaml +34 -0
  838. package/teams/executive-office.yaml +27 -0
  839. package/teams/legal-and-regulatory.yaml +24 -0
  840. package/teams/platform-and-engineering.yaml +23 -0
  841. package/teams/strategy-and-growth.yaml +29 -0
  842. package/workflows/continuous/inbound-monitor.yaml +168 -0
  843. package/workflows/daily/applicant-triage.yaml +197 -0
  844. package/workflows/daily/comms-triage.yaml +80 -0
  845. package/workflows/daily/evening-wrap.yaml +65 -0
  846. package/workflows/daily/morning-brief.yaml +147 -0
  847. package/workflows/daily/slack-followup-sweep.yaml +87 -0
  848. package/workflows/event-driven/README.md +50 -0
  849. package/workflows/monthly/board-readiness.yaml +76 -0
  850. package/workflows/quarterly/strategic-scenario-analysis.yaml +85 -0
  851. package/workflows/session-protocol.md +171 -0
  852. package/workflows/weekly/hiring-review.yaml +169 -0
  853. package/workflows/weekly/rollup-pipeline-review.yaml +76 -0
  854. package/workflows/weekly/strategic-memo.yaml +79 -0
@@ -0,0 +1,1085 @@
1
+ # Phase 1: Executive Core — Implementation Plan
2
+
3
+ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
4
+
5
+ **Goal:** Build three control towers (Strategy & Decisions, Follow-Through, Operating Cadence) that convert Phase 0's infrastructure into operational executive intelligence.
6
+
7
+ **Architecture:** Extends existing trigger prompts with new logic (drift detection, SLA tracking, loop closure, meeting integration), adds new state/knowledge files (strategy scorecard, SLA defaults, decision archive, blocker playbooks, strategy state), and creates two new local triggers (meeting-prep, meeting-action-capture).
8
+
9
+ **Tech Stack:** YAML state files, Markdown trigger prompts, shell scripts, macOS launchd
10
+
11
+ ---
12
+
13
+ ## File Structure
14
+
15
+ ### New files to create
16
+
17
+ ```
18
+ state/dashboards/strategy-scorecard.yaml # Per-priority health tracking
19
+ config/sla-defaults.yaml # SLA definitions by item type
20
+ knowledge/decisions/archive/.gitkeep # Decision record directory
21
+ knowledge/decisions/index.yaml # Decision index
22
+ knowledge/syntheses/strategy-state.yaml # Living strategy document
23
+ knowledge/sources/blocker-playbooks.yaml # Blocker resolution patterns
24
+ schedules/triggers/meeting-action-capture.md # Post-meeting action extraction
25
+ schedules/triggers/meeting-prep.md # Pre-meeting brief generation
26
+ scripts/local-triggers/plists/ai.adaptic.sophie-meeting-action-capture.plist
27
+ scripts/local-triggers/plists/ai.adaptic.sophie-meeting-prep.plist
28
+ ```
29
+
30
+ ### Files to modify
31
+
32
+ ```
33
+ schedules/triggers/daily-morning-brief.md # Add scorecard + SLA breach alerts
34
+ schedules/triggers/daily-midday-sweep.md # Add loop closure + SLA tracking
35
+ schedules/triggers/daily-evening-wrap.md # Add drift detection + scorecard regen + decision indexing
36
+ schedules/triggers/weekly-strategic-memo.md # Add coherence check + cadence audit + strategy state
37
+ schedules/triggers/weekly-execution.md # Add blocker playbook matching
38
+ schedules/triggers/inbox-processor.md # Add decision detection + SLA assignment
39
+ CLAUDE.md # Add Phase 1 documentation
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Task 1: Strategy Scorecard and SLA Defaults
45
+
46
+ **Files:**
47
+
48
+ - Create: `state/dashboards/strategy-scorecard.yaml`
49
+ - Create: `config/sla-defaults.yaml`
50
+
51
+ - [ ] **Step 1: Create the strategy scorecard**
52
+
53
+ `state/dashboards/strategy-scorecard.yaml`:
54
+
55
+ ```yaml
56
+ # Strategy Scorecard — per-priority health tracking
57
+ # Generated by: evening-wrap workflow (drift detection)
58
+ # Read by: morning-brief, weekly-strategic-memo
59
+ # Source of truth for priority health
60
+
61
+ generated: "2026-04-03T00:00:00+04:00"
62
+
63
+ priorities:
64
+ P1-dfsa-licensing:
65
+ name: DFSA Regulatory Submission
66
+ status: in_progress
67
+ milestones_total: 5
68
+ milestones_completed: 0
69
+ milestones_overdue: 0
70
+ max_drift_days: 0
71
+ active_initiatives: 0
72
+ blockers: 0
73
+ last_update: "2026-04-03"
74
+ owner: mehran
75
+ notes: "5 milestones from Apr-Jul 2026. First milestone due 2026-04-30."
76
+
77
+ P2-rollup-deal1:
78
+ name: Rollup Strategy - Deal #1 Preparation
79
+ status: pending
80
+ milestones_total: 4
81
+ milestones_completed: 0
82
+ milestones_overdue: 0
83
+ max_drift_days: 0
84
+ active_initiatives: 0
85
+ blockers: 0
86
+ last_update: "2026-04-03"
87
+ owner: mehran
88
+ notes: "4 milestones from Apr-Jun 2026. First milestone due 2026-04-30."
89
+
90
+ P3-platform-stabilisation:
91
+ name: Platform Engineering Stabilisation
92
+ status: in_progress
93
+ milestones_total: 4
94
+ milestones_completed: 0
95
+ milestones_overdue: 0
96
+ max_drift_days: 0
97
+ active_initiatives: 0
98
+ blockers: 0
99
+ last_update: "2026-04-03"
100
+ owner: mehran
101
+ notes: "4 milestones from Apr-Jul 2026. Two milestones in progress."
102
+
103
+ P4-capital-raising:
104
+ name: Capital Raising - Initial Conversations
105
+ status: pending
106
+ milestones_total: 3
107
+ milestones_completed: 0
108
+ milestones_overdue: 0
109
+ max_drift_days: 0
110
+ active_initiatives: 0
111
+ blockers: 0
112
+ last_update: "2026-04-03"
113
+ owner: mehran
114
+ notes: "3 milestones from May-Jun 2026."
115
+
116
+ P5-ceobrain-maturity:
117
+ name: CEO Brain Operational Maturity
118
+ status: in_progress
119
+ milestones_total: 4
120
+ milestones_completed: 0
121
+ milestones_overdue: 0
122
+ max_drift_days: 0
123
+ active_initiatives: 0
124
+ blockers: 0
125
+ last_update: "2026-04-03"
126
+ owner: sophie
127
+ notes: "4 milestones from Apr-May 2026. Bootstrap milestone in progress."
128
+
129
+ overall:
130
+ on_track: 3
131
+ at_risk: 0
132
+ overdue: 0
133
+ unlinked_initiatives: 0
134
+ ```
135
+
136
+ - [ ] **Step 2: Create SLA defaults**
137
+
138
+ `config/sla-defaults.yaml`:
139
+
140
+ ```yaml
141
+ # SLA Defaults — response time expectations by item type
142
+ # Used by: inbox-processor, meeting-action-capture, midday-sweep
143
+ # Read by: midday-sweep for SLA status calculation
144
+
145
+ sla_defaults:
146
+ ceo_request: 4 # CEO asks for something → 4 hour response
147
+ leadership_request: 24 # Leadership team request → 24 hours
148
+ external_partner: 48 # External partner follow-up → 48 hours
149
+ regulatory: 24 # Regulatory items → 24 hours
150
+ candidate: 24 # Candidate communications → 24 hours
151
+ board_member: 12 # Board member requests → 12 hours
152
+ investor: 24 # Investor communications → 24 hours
153
+ general: 72 # General items → 72 hours
154
+
155
+ # SLA status thresholds
156
+ thresholds:
157
+ at_risk_percent: 75 # at_risk when 75% of SLA time elapsed
158
+ breach_percent: 100 # breached when 100% of SLA time elapsed
159
+
160
+ # Drift detection thresholds (days past milestone target date)
161
+ drift_thresholds:
162
+ critical_priority: 7 # Flag after 7 days drift for critical/high priority
163
+ medium_priority: 14 # Flag after 14 days drift for medium priority
164
+ low_priority: 30 # Flag after 30 days drift for low priority
165
+ ```
166
+
167
+ - [ ] **Step 3: Commit**
168
+
169
+ ```bash
170
+ git add state/dashboards/strategy-scorecard.yaml config/sla-defaults.yaml
171
+ git commit -m "feat: add strategy scorecard and SLA defaults configuration"
172
+ ```
173
+
174
+ ---
175
+
176
+ ## Task 2: Decision Library and Strategy State
177
+
178
+ **Files:**
179
+
180
+ - Create: `knowledge/decisions/archive/.gitkeep`
181
+ - Create: `knowledge/decisions/index.yaml`
182
+ - Create: `knowledge/syntheses/strategy-state.yaml`
183
+
184
+ - [ ] **Step 1: Create decision archive directory**
185
+
186
+ ```bash
187
+ mkdir -p knowledge/decisions/archive
188
+ touch knowledge/decisions/archive/.gitkeep
189
+ ```
190
+
191
+ - [ ] **Step 2: Create decision index**
192
+
193
+ `knowledge/decisions/index.yaml`:
194
+
195
+ ```yaml
196
+ # Decision Index — lightweight pointer to all archived decisions
197
+ # Regenerated by: evening-wrap workflow
198
+ # Read by: meeting-prep, strategic-memo, coherence check
199
+
200
+ generated: "2026-04-03T00:00:00+04:00"
201
+
202
+ total_decisions: 1
203
+
204
+ by_date:
205
+ "2026-04-02":
206
+ - id: DEC-2026-04-02-001
207
+ title: Establish CEO Brain as AI-native executive intelligence system
208
+ domain: strategy
209
+ status: active
210
+ file: decision-schema.yaml # The example in the schema file
211
+
212
+ by_domain:
213
+ strategy:
214
+ - DEC-2026-04-02-001
215
+ regulatory: []
216
+ corporate-development: []
217
+ technology: []
218
+ fundraising: []
219
+ hiring: []
220
+ legal: []
221
+ operations: []
222
+ product: []
223
+ governance: []
224
+
225
+ by_status:
226
+ active: [DEC-2026-04-02-001]
227
+ superseded: []
228
+ reversed: []
229
+ completed: []
230
+ under-review: []
231
+ ```
232
+
233
+ - [ ] **Step 3: Create living strategy state**
234
+
235
+ `knowledge/syntheses/strategy-state.yaml`:
236
+
237
+ ```yaml
238
+ # Living Strategy State — continuously evolved strategic position document
239
+ # Updated by: weekly-strategic-memo workflow (every Friday)
240
+ # Read by: morning-brief, scenario-analysis, decision support
241
+ # This is Sophie's current understanding of the company's strategic position
242
+
243
+ last_updated: "2026-04-03"
244
+ updated_by: initial-setup
245
+
246
+ strategic_position:
247
+ one_liner: "Pre-revenue AI-native institutional asset management platform pursuing DFSA licensing and $109B AUM rollup strategy"
248
+ phase: "Formation — regulatory licensing + platform build + M&A preparation"
249
+ primary_vector: "DFSA Category 3(c) licensing + Project Aether Deal #1"
250
+
251
+ key_assumptions:
252
+ - assumption: "DFSA Category 3(c) is the right initial licence category"
253
+ status: holding
254
+ evidence: "Legal counsel confirmed; gap analysis scoped to this category"
255
+ last_checked: "2026-04-02"
256
+
257
+ - assumption: "12-week remediation timeline for 12 technical gaps is achievable"
258
+ status: holding
259
+ evidence: "Engineering assessment completed; milestones set through Jul 2026"
260
+ last_checked: "2026-04-02"
261
+
262
+ - assumption: "$3-5B initial capital raise is achievable for rollup"
263
+ status: holding
264
+ evidence: "Market precedents exist; thesis resonates in early conversations"
265
+ last_checked: "2026-04-02"
266
+
267
+ - assumption: "9 pipeline targets represent viable acquisition candidates"
268
+ status: holding
269
+ evidence: "G0 verification pending; entity analysis underway"
270
+ last_checked: "2026-04-02"
271
+
272
+ emerging_signals: []
273
+ # Format:
274
+ # - signal: string
275
+ # source: string
276
+ # date: ISO-8601
277
+ # implication: string
278
+ # action_taken: string
279
+
280
+ strategic_risks:
281
+ - risk: "DFSA remediation takes longer than 12 weeks"
282
+ severity: high
283
+ likelihood: medium
284
+ mitigation: "Weekly engineering milestone tracking; early escalation protocol"
285
+ owner: mehran
286
+
287
+ - risk: "First acquisition target doesn't pass due diligence"
288
+ severity: medium
289
+ likelihood: medium
290
+ mitigation: "Pipeline has 9 targets; G0 verification filters early"
291
+ owner: mehran
292
+
293
+ - risk: "Capital raise timing misaligns with licensing timeline"
294
+ severity: high
295
+ likelihood: low
296
+ mitigation: "Parallel workstreams; capital conversations start Q2"
297
+ owner: mehran
298
+
299
+ recent_decisions: []
300
+ # Format:
301
+ # - id: DEC-YYYY-MM-DD-NNN
302
+ # title: string
303
+ # date: ISO-8601
304
+ # impact: string
305
+
306
+ next_quarter_focus:
307
+ - "Close DFSA technical gaps GAP-001 through GAP-005 by April 30"
308
+ - "Complete G0 entity verification on all 9 pipeline targets"
309
+ - "Engine test coverage above 80%"
310
+ - "Prepare investment thesis deck for capital raise"
311
+ - "CEO Brain fully operational with executive cadence"
312
+ ```
313
+
314
+ - [ ] **Step 4: Commit**
315
+
316
+ ```bash
317
+ git add knowledge/decisions/ knowledge/syntheses/strategy-state.yaml
318
+ git commit -m "feat: add decision library, index, and living strategy state"
319
+ ```
320
+
321
+ ---
322
+
323
+ ## Task 3: Blocker Resolution Playbooks
324
+
325
+ **Files:**
326
+
327
+ - Create: `knowledge/sources/blocker-playbooks.yaml`
328
+
329
+ - [ ] **Step 1: Create the playbooks file**
330
+
331
+ `knowledge/sources/blocker-playbooks.yaml`:
332
+
333
+ ```yaml
334
+ # Blocker Resolution Playbooks
335
+ # Provides resolution patterns for common blocker types
336
+ # Read by: weekly-execution review, midday-sweep
337
+ # Used to suggest resolution paths rather than just flagging blockers
338
+
339
+ playbooks:
340
+ awaiting_approval:
341
+ description: Item blocked waiting for someone's approval
342
+ detection_patterns:
343
+ - "waiting for approval"
344
+ - "needs sign-off"
345
+ - "pending review"
346
+ steps:
347
+ - Check if approver was notified (search Slack/email for the request)
348
+ - Send direct reminder with context and deadline
349
+ - If no response in 24h, try a different channel (Slack → email or vice versa)
350
+ - If no response in 48h, escalate to CEO
351
+ auto_actions:
352
+ send_reminder_after_hours: 24
353
+ escalate_after_hours: 48
354
+ escalation_target: mehran
355
+
356
+ technical_blocker:
357
+ description: Engineering or infrastructure issue blocking progress
358
+ detection_patterns:
359
+ - "technical issue"
360
+ - "bug blocking"
361
+ - "infrastructure"
362
+ - "deployment"
363
+ steps:
364
+ - Identify the specific technical issue and affected system
365
+ - Check if it's already tracked in platform-blockers queue
366
+ - If not tracked, create a platform-blockers item
367
+ - Route to #engineering channel with clear description
368
+ - Set review deadline (48h for high priority, 1 week for medium)
369
+ auto_actions:
370
+ create_platform_blocker: true
371
+ notify_channel: engineering
372
+
373
+ dependency_on_external:
374
+ description: Waiting on external party (vendor, partner, regulator)
375
+ detection_patterns:
376
+ - "waiting on"
377
+ - "external party"
378
+ - "vendor"
379
+ - "regulator"
380
+ - "third party"
381
+ steps:
382
+ - Check last communication with external party
383
+ - If > 48h since last contact, send professional follow-up
384
+ - Check if alternative approaches exist
385
+ - If strategic relationship, flag to CEO for direct intervention
386
+ auto_actions:
387
+ send_followup_after_hours: 48
388
+ escalate_if_strategic: true
389
+
390
+ waiting_for_information:
391
+ description: Need information from someone before proceeding
392
+ detection_patterns:
393
+ - "need information"
394
+ - "waiting for data"
395
+ - "need input from"
396
+ - "waiting to hear"
397
+ steps:
398
+ - Identify who has the information and what specifically is needed
399
+ - Send specific request with clear deadline
400
+ - Offer to help gather the information if possible
401
+ - If internal, check if the information exists elsewhere
402
+ auto_actions:
403
+ send_specific_request: true
404
+ suggest_deadline_hours: 24
405
+
406
+ resource_constraint:
407
+ description: Not enough people, budget, or time to proceed
408
+ detection_patterns:
409
+ - "no bandwidth"
410
+ - "resource"
411
+ - "capacity"
412
+ - "understaffed"
413
+ - "budget"
414
+ steps:
415
+ - Quantify the constraint (how many people/hours/dollars needed)
416
+ - Identify what could be deprioritised to free resources
417
+ - Present trade-off to CEO as a decision item
418
+ auto_actions:
419
+ create_decision_item: true
420
+ include_tradeoff_analysis: true
421
+
422
+ unclear_ownership:
423
+ description: Nobody is clearly responsible for unblocking
424
+ detection_patterns:
425
+ - "who owns"
426
+ - "unclear ownership"
427
+ - "nobody assigned"
428
+ - "under-owned"
429
+ steps:
430
+ - Review the initiative and identify the natural owner
431
+ - Propose ownership assignment to CEO
432
+ - Once assigned, notify the owner with context and expectations
433
+ auto_actions:
434
+ propose_owner: true
435
+ notify_on_assignment: true
436
+ ```
437
+
438
+ - [ ] **Step 2: Commit**
439
+
440
+ ```bash
441
+ git add knowledge/sources/blocker-playbooks.yaml
442
+ git commit -m "feat: add blocker resolution playbooks for common blocker types"
443
+ ```
444
+
445
+ ---
446
+
447
+ ## Task 4: Meeting Action Capture Trigger
448
+
449
+ **Files:**
450
+
451
+ - Create: `schedules/triggers/meeting-action-capture.md`
452
+
453
+ - [ ] **Step 1: Create the trigger prompt**
454
+
455
+ `schedules/triggers/meeting-action-capture.md`:
456
+
457
+ ```markdown
458
+ You are Sophie Nguyen, Chief of Staff to Mehran Granfar, CEO of Adaptic.ai.
459
+
460
+ ## Workflow: Meeting Action Capture
461
+
462
+ ## Cadence: Every 30 minutes
463
+
464
+ ## Working Directory: /Users/sophie/sophie-ai
465
+
466
+ ### Instructions
467
+
468
+ 1. Read `state/dashboards/executive-summary.yaml` for current context
469
+ 2. Use the Calendar MCP to check for meetings that ended in the last 35 minutes (5 min buffer)
470
+ 3. For each ended meeting, check `memory/interactions/meetings/` to see if already processed — skip if found
471
+ 4. For each unprocessed meeting:
472
+
473
+ **A. Gather meeting notes:**
474
+ - Use the Granola MCP (`query_granola_meetings`) to search for the meeting by name and time
475
+ - If Granola transcript found, extract content
476
+ - Check Slack #ceo-office and relevant channels for post-meeting summaries (search for meeting name or attendees in recent messages)
477
+ - Combine sources
478
+
479
+ **B. If notes found (from either source):**
480
+ - Extract action items: look for phrases like "will do", "action:", "follow up", "by [date]", "assigned to", task assignments
481
+ - Extract decisions: look for "decided", "agreed", "we'll go with", "approved", confirmed choices
482
+ - Extract follow-ups: items needing future attention but not immediate action
483
+ - For each action item:
484
+ - Identify owner (who was assigned or volunteered)
485
+ - Assign due date (mentioned date, or default to +48 hours)
486
+ - Assign SLA from `config/sla-defaults.yaml` based on owner type
487
+ - Create entry in `state/queues/action-stack.yaml` or `state/queues/follow-ups.yaml`
488
+ - Set `source: meeting` and `source_ref: meeting-{date}-{slug}`
489
+ - For each decision:
490
+ - Create decision record in `knowledge/decisions/archive/{date}-{slug}.yaml`
491
+ - Use the schema from `knowledge/decisions/decision-schema.yaml`
492
+ - Update `knowledge/decisions/index.yaml`
493
+ - Write meeting record to `memory/interactions/meetings/{date}-{slug}.yaml` including:
494
+ - meeting_name, date, start_time, end_time, attendees, source, summary
495
+ - actions list (with description, owner, due, queue_id)
496
+ - decisions list (with description, decision_id)
497
+ - follow_ups list (with description, owner, queue_id)
498
+ - If actions were assigned to someone other than Mehran, send them a Slack message:
499
+ "Action from {meeting_name}: {action_description}. Due: {due_date}. I've added this to tracking."
500
+
501
+ **C. If no notes found 30+ minutes after meeting end:**
502
+ - Check who attended the meeting from the calendar event
503
+ - Send a gentle Slack message to the attendees (or #ceo-office if appropriate):
504
+ "Just noticed {meeting_name} wrapped up. Any key takeaways or actions I should track?"
505
+ - Write a placeholder meeting record with `source: pending` so we don't re-nudge
506
+
507
+ 5. Update `state/dashboards/executive-summary.yaml` if queues changed
508
+ 6. Log to `logs/workflows/{date}-meeting-action-capture.jsonl`
509
+
510
+ ### Operating Rules
511
+
512
+ - Follow CLAUDE.md for all communication and approval rules
513
+ - Read `memory/profiles/users/{attendee}.yaml` for each attendee before messaging them
514
+ - Don't send nudge messages for internal-only calendar blocks (focus time, lunch, etc.)
515
+ - Don't process meetings shorter than 10 minutes (likely just a quick call)
516
+ - If Granola transcript is very long, focus on the last 10 minutes for action items — that's where wrap-up happens
517
+ - Be conservative about what counts as an "action" — explicit assignments, not casual mentions
518
+ ```
519
+
520
+ - [ ] **Step 2: Commit**
521
+
522
+ ```bash
523
+ git add schedules/triggers/meeting-action-capture.md
524
+ git commit -m "feat: add meeting action capture trigger prompt (hybrid approach C)"
525
+ ```
526
+
527
+ ---
528
+
529
+ ## Task 5: Meeting Prep Trigger
530
+
531
+ **Files:**
532
+
533
+ - Create: `schedules/triggers/meeting-prep.md`
534
+
535
+ - [ ] **Step 1: Create the trigger prompt**
536
+
537
+ `schedules/triggers/meeting-prep.md`:
538
+
539
+ ```markdown
540
+ You are Sophie Nguyen, Chief of Staff to Mehran Granfar, CEO of Adaptic.ai.
541
+
542
+ ## Workflow: Meeting Prep
543
+
544
+ ## Cadence: Every 15 minutes
545
+
546
+ ## Working Directory: /Users/sophie/sophie-ai
547
+
548
+ ### Instructions
549
+
550
+ 1. Use the Calendar MCP to check for meetings starting in the next 15 minutes
551
+ 2. For each upcoming meeting:
552
+ - Check if a prep brief already exists at `outputs/briefs/{date}-prep-{meeting-slug}.md` — skip if found
553
+ - Skip meetings that look like personal blocks (focus time, lunch, travel)
554
+ - Skip meetings shorter than 15 minutes
555
+
556
+ 3. For each meeting needing prep:
557
+
558
+ **A. Gather attendee context:**
559
+ - Extract attendees from calendar event
560
+ - For each attendee, read `memory/profiles/users/{person}.yaml` if it exists
561
+ - Check `memory/indexes/by-person.yaml` for recent interactions
562
+ - Check all queues in `state/queues/` for open items involving each attendee
563
+
564
+ **B. Gather topic context:**
565
+ - Infer meeting topic from the event title and description
566
+ - Check `memory/indexes/by-topic.yaml` for relevant precedents
567
+ - Check `knowledge/decisions/index.yaml` for recent related decisions
568
+ - Check `memory/interactions/meetings/` for the last meeting with the same attendees
569
+ - Read `state/dashboards/strategy-scorecard.yaml` for relevant priority status
570
+
571
+ **C. Generate prep brief:**
572
+ Write to `outputs/briefs/{date}-prep-{meeting-slug}.md`:
573
+ ```
574
+
575
+ # Meeting Prep: {meeting_name}
576
+
577
+ **Time:** {start_time} — {end_time}
578
+ **Attendees:** {list}
579
+
580
+ ## Attendee Context
581
+
582
+ {for each attendee: role, last interaction, open items with them}
583
+
584
+ ## Relevant Background
585
+
586
+ {topic context, recent decisions, priority status}
587
+
588
+ ## Open Items to Discuss
589
+
590
+ {queue items involving attendees, sorted by priority}
591
+
592
+ ## Last Meeting
593
+
594
+ {summary of previous meeting with these attendees, if any}
595
+
596
+ ## Suggested Talking Points
597
+
598
+ {3-5 suggested topics based on context}
599
+
600
+ ```
601
+
602
+ **D. Deliver the brief:**
603
+ - Send to Mehran via Slack DM: "Prep for {meeting_name} in 10 min: {1-line summary of key items}"
604
+ - Attach or link to the full brief
605
+
606
+ 4. Log to `logs/workflows/{date}-meeting-prep.jsonl`
607
+
608
+ ### Operating Rules
609
+ - Follow CLAUDE.md for all communication and approval rules
610
+ - Read `memory/profiles/users/mehran-granfar.yaml` for preferences
611
+ - Keep the brief concise — Mehran has 10 minutes to read it
612
+ - If you have no relevant context for a meeting, say so briefly rather than padding
613
+ - Never include sensitive information about one attendee visible to others
614
+ - Meeting slug is generated from the meeting title: lowercase, hyphens for spaces, strip special chars
615
+ ```
616
+
617
+ - [ ] **Step 2: Commit**
618
+
619
+ ```bash
620
+ git add schedules/triggers/meeting-prep.md
621
+ git commit -m "feat: add meeting prep trigger prompt for pre-meeting briefs"
622
+ ```
623
+
624
+ ---
625
+
626
+ ## Task 6: Enhance Morning Brief
627
+
628
+ **Files:**
629
+
630
+ - Modify: `schedules/triggers/daily-morning-brief.md`
631
+
632
+ - [ ] **Step 1: Add scorecard summary and SLA breach alerts to morning brief**
633
+
634
+ Add the following sections to the morning brief prompt's Instructions, after step 5 (high-risk items) and before step 6 (inbox check):
635
+
636
+ Insert after line "5. Read `state/queues/high-risk-items.yaml` for items needing attention":
637
+
638
+ ```
639
+ 6. Read `state/dashboards/strategy-scorecard.yaml` for priority health — include one-line-per-priority status in the brief
640
+ 7. Scan all queues for items where `sla.sla_status` is `breached` — list SLA breaches prominently at the top of the brief
641
+ 8. Read `knowledge/syntheses/strategy-state.yaml` — note any assumptions with status `weakening` or `invalidated`
642
+ ```
643
+
644
+ And renumber subsequent steps (old 6→9, old 7→10, etc.).
645
+
646
+ Also add to the brief synthesis section (step 10, formerly step 7):
647
+
648
+ ```
649
+ 10. Synthesise a morning brief covering:
650
+ - **SLA BREACHES** (if any — red flag, listed first)
651
+ - Top 3-5 priorities for today
652
+ - Strategy scorecard: one-line status per priority (on_track/at_risk/overdue)
653
+ - Decisions needing CEO input
654
+ - Deadlines approaching (next 48 hours)
655
+ - Overnight signals requiring attention
656
+ - Today's meetings with prep notes
657
+ - Open loops that need chasing
658
+ - Weakening strategic assumptions (if any)
659
+ ```
660
+
661
+ - [ ] **Step 2: Commit**
662
+
663
+ ```bash
664
+ git add schedules/triggers/daily-morning-brief.md
665
+ git commit -m "feat: enhance morning brief with strategy scorecard and SLA breach alerts"
666
+ ```
667
+
668
+ ---
669
+
670
+ ## Task 7: Enhance Midday Sweep
671
+
672
+ **Files:**
673
+
674
+ - Modify: `schedules/triggers/daily-midday-sweep.md`
675
+
676
+ - [ ] **Step 1: Add loop closure verification and SLA tracking**
677
+
678
+ Add the following sections to the midday sweep prompt's Instructions, after step 5 (blocked items) and before step 6 (update indexes):
679
+
680
+ ```
681
+ 6. **Loop closure verification:**
682
+ - Scan all queues for items with `status: resolved` updated in the last 48 hours
683
+ - For each resolved item, verify closure:
684
+ - Was the expected outcome achieved? Check Slack/email for confirmation
685
+ - Did the owner explicitly confirm completion?
686
+ - If verification passes: update status to `closed`, add history entry
687
+ - If verification fails: reopen with status `open`, add note "Reopened — closure not verified", notify owner via Slack
688
+
689
+ 7. **SLA tracking:**
690
+ - Read `config/sla-defaults.yaml` for thresholds
691
+ - Scan all queues for items with `sla` fields
692
+ - Calculate sla_status for each:
693
+ - `on_track`: less than 75% of SLA time elapsed
694
+ - `at_risk`: 75-99% of SLA time elapsed, not resolved
695
+ - `breached`: 100%+ of SLA time elapsed, not resolved
696
+ - Update sla_status in each queue item
697
+ - For newly breached items, send Slack alert to Mehran: "SLA breach: {item title} — was due {hours} ago, owner: {owner}"
698
+ ```
699
+
700
+ Also add to Operating Rules:
701
+
702
+ ```
703
+ - When verifying loop closure, be pragmatic — if the item was "send an email" and the email was sent, that's closed
704
+ - Don't reopen items for minor quibbles — only if the core outcome wasn't achieved
705
+ - SLA tracking: only calculate for items that have sla fields set (not all items have them)
706
+ ```
707
+
708
+ - [ ] **Step 2: Commit**
709
+
710
+ ```bash
711
+ git add schedules/triggers/daily-midday-sweep.md
712
+ git commit -m "feat: enhance midday sweep with loop closure verification and SLA tracking"
713
+ ```
714
+
715
+ ---
716
+
717
+ ## Task 8: Enhance Evening Wrap
718
+
719
+ **Files:**
720
+
721
+ - Modify: `schedules/triggers/daily-evening-wrap.md`
722
+
723
+ - [ ] **Step 1: Add drift detection, scorecard regeneration, and decision indexing**
724
+
725
+ Add the following sections to the evening wrap prompt's Instructions. Insert after step 10 (system-health dashboard) and before step 11 (send counter reset):
726
+
727
+ ```
728
+ 11. **Priority drift detection:**
729
+ - Read `config/priorities.yaml` for all priorities and their milestones
730
+ - Read `config/sla-defaults.yaml` for drift thresholds
731
+ - For each milestone with a target_date:
732
+ - If status is not `completed` and target_date has passed:
733
+ - Calculate drift_days = (today - target_date)
734
+ - If drift exceeds threshold (7 days for critical/high, 14 for medium, 30 for low):
735
+ - Create or update item in `state/queues/high-risk-items.yaml`
736
+ - Regenerate `state/dashboards/strategy-scorecard.yaml`:
737
+ - Count milestones per priority (total, completed, overdue)
738
+ - Calculate max drift days per priority
739
+ - Count active queue items and blockers per priority
740
+ - Set status: on_track (no overdue), at_risk (overdue < threshold), overdue (overdue >= threshold)
741
+ - Calculate overall counts
742
+
743
+ 12. **Decision index maintenance:**
744
+ - Scan `knowledge/decisions/archive/` for any new decision files created today
745
+ - Update `knowledge/decisions/index.yaml` with new entries
746
+ - Verify all entries in the index still point to valid files
747
+ ```
748
+
749
+ Renumber subsequent steps accordingly (old 11→13, old 12→14, etc.).
750
+
751
+ - [ ] **Step 2: Commit**
752
+
753
+ ```bash
754
+ git add schedules/triggers/daily-evening-wrap.md
755
+ git commit -m "feat: enhance evening wrap with drift detection, scorecard regen, and decision indexing"
756
+ ```
757
+
758
+ ---
759
+
760
+ ## Task 9: Enhance Weekly Strategic Memo
761
+
762
+ **Files:**
763
+
764
+ - Modify: `schedules/triggers/weekly-strategic-memo.md`
765
+
766
+ - [ ] **Step 1: Add coherence check, cadence quality audit, and strategy state update**
767
+
768
+ Add the following sections to the weekly strategic memo prompt's Instructions, after step 6 (narrative opportunities) and before step 7 (synthesise memo):
769
+
770
+ ```
771
+ 7. **Strategic coherence check:**
772
+ - Read `config/priorities.yaml` for the 5 strategic priorities
773
+ - Scan all queue items across all 15 queues in `state/queues/` — map each to a priority using context
774
+ - Flag and include in the memo:
775
+ - Priorities with zero active queue items (stalled — nobody working on it)
776
+ - Queue items not mappable to any priority (unlinked work — effort without strategic purpose)
777
+ - Priorities where all items are blocked (stuck — needs intervention)
778
+ - Any apparent conflicts between initiatives
779
+
780
+ 8. **Cadence quality audit:**
781
+ - Read `memory/interactions/meetings/` for all meetings this week
782
+ - For each meeting, check:
783
+ - Were actions captured? (meeting record exists with non-empty actions list)
784
+ - Were actions assigned owners and deadlines?
785
+ - Were previous meeting's actions closed?
786
+ - Calculate and include in memo:
787
+ - Meetings this week: total count
788
+ - Action capture rate: % of meetings with captured actions
789
+ - Action closure rate: % of last week's meeting actions now closed
790
+ - Flag: meetings with consistently zero outputs (suggest cancellation)
791
+ - Flag: meetings where actions captured but never closed (accountability gap)
792
+
793
+ 9. **Update living strategy state:**
794
+ - Read `knowledge/syntheses/strategy-state.yaml`
795
+ - Update based on this week's developments:
796
+ - Refresh `strategic_position` if anything material changed
797
+ - Update `key_assumptions` status based on new evidence
798
+ - Add any `emerging_signals` observed this week
799
+ - Update `strategic_risks` severity/likelihood based on new information
800
+ - Add this week's decisions to `recent_decisions`
801
+ - Refresh `next_quarter_focus` if priorities shifted
802
+ - Write updated file back
803
+ ```
804
+
805
+ Renumber the synthesis step and update it to include new sections:
806
+
807
+ ```
808
+ 10. Synthesise a weekly strategic memo covering:
809
+ - Week in review: key accomplishments and setbacks
810
+ - Strategic position: how did we advance this week?
811
+ - Strategy scorecard: per-priority status from `state/dashboards/strategy-scorecard.yaml`
812
+ - **Coherence check findings** (stalled priorities, unlinked work, conflicts)
813
+ - Emerging signals: what changed in the environment?
814
+ - **Cadence health** (meeting → action capture rate, closure rate, flagged meetings)
815
+ - Next week preview: what matters most?
816
+ - Recommendations: 2-3 things Sophie recommends the CEO focus on
817
+ ```
818
+
819
+ - [ ] **Step 2: Commit**
820
+
821
+ ```bash
822
+ git add schedules/triggers/weekly-strategic-memo.md
823
+ git commit -m "feat: enhance strategic memo with coherence check, cadence audit, and strategy state update"
824
+ ```
825
+
826
+ ---
827
+
828
+ ## Task 10: Enhance Weekly Execution and Inbox Processor
829
+
830
+ **Files:**
831
+
832
+ - Modify: `schedules/triggers/weekly-execution.md`
833
+ - Modify: `schedules/triggers/inbox-processor.md`
834
+
835
+ - [ ] **Step 1: Add blocker playbook matching to execution review**
836
+
837
+ Add to the weekly execution prompt's Instructions, after step 7 (chase owners):
838
+
839
+ ```
840
+ 8. **Blocker playbook matching:**
841
+ - Read `knowledge/sources/blocker-playbooks.yaml`
842
+ - For each blocked item in `state/queues/blocked-initiatives.yaml` and `state/queues/platform-blockers.yaml`:
843
+ - Match the blocker description against playbook detection_patterns
844
+ - If a matching playbook is found:
845
+ - Follow the playbook steps
846
+ - Execute auto_actions where Sophie has autonomy (send reminders, create items, notify channels)
847
+ - Include playbook-guided recommendations in the execution review
848
+ - If no matching playbook:
849
+ - Flag as "novel blocker — needs manual assessment"
850
+ - Suggest a resolution approach based on context
851
+ ```
852
+
853
+ - [ ] **Step 2: Add decision detection and SLA assignment to inbox processor**
854
+
855
+ Add to the inbox processor prompt's Instructions, after step 3f (action_required processing):
856
+
857
+ ```
858
+ g. **Decision detection:**
859
+ - If the message contains decision language ("decided", "agreed", "we'll go with", "approved", "confirmed"):
860
+ - Extract the decision details
861
+ - Create a decision record in `knowledge/decisions/archive/{date}-{slug}.yaml`
862
+ - Use schema from `knowledge/decisions/decision-schema.yaml`
863
+ - Log: "Decision captured: {title}"
864
+
865
+ h. **SLA assignment:**
866
+ - For every new queue item created (action_required items routed to queues):
867
+ - Read `config/sla-defaults.yaml`
868
+ - Determine SLA category from sender privilege level:
869
+ - ceo → ceo_request (4h)
870
+ - leadership → leadership_request (24h)
871
+ - external/partner → external_partner (48h)
872
+ - regulatory → regulatory (24h)
873
+ - unknown → general (72h)
874
+ - Calculate sla_deadline = created + response_hours
875
+ - Set sla_status = on_track
876
+ - Add sla fields to the queue item
877
+ ```
878
+
879
+ - [ ] **Step 3: Commit**
880
+
881
+ ```bash
882
+ git add schedules/triggers/weekly-execution.md schedules/triggers/inbox-processor.md
883
+ git commit -m "feat: enhance execution review with blocker playbooks and inbox processor with SLA assignment"
884
+ ```
885
+
886
+ ---
887
+
888
+ ## Task 11: Meeting Trigger Launchd Daemons
889
+
890
+ **Files:**
891
+
892
+ - Create: `scripts/local-triggers/plists/ai.adaptic.sophie-meeting-action-capture.plist`
893
+ - Create: `scripts/local-triggers/plists/ai.adaptic.sophie-meeting-prep.plist`
894
+
895
+ - [ ] **Step 1: Create meeting action capture plist**
896
+
897
+ `scripts/local-triggers/plists/ai.adaptic.sophie-meeting-action-capture.plist`:
898
+
899
+ ```xml
900
+ <?xml version="1.0" encoding="UTF-8"?>
901
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
902
+ <plist version="1.0">
903
+ <dict>
904
+ <key>Label</key>
905
+ <string>ai.adaptic.sophie-meeting-action-capture</string>
906
+ <key>ProgramArguments</key>
907
+ <array>
908
+ <string>/Users/sophie/sophie-ai/scripts/local-triggers/run-trigger.sh</string>
909
+ <string>meeting-action-capture</string>
910
+ </array>
911
+ <key>StartInterval</key>
912
+ <integer>1800</integer>
913
+ <key>WorkingDirectory</key>
914
+ <string>/Users/sophie/sophie-ai</string>
915
+ <key>StandardOutPath</key>
916
+ <string>/Users/sophie/sophie-ai/logs/workflows/launchd-meeting-action-capture-stdout.log</string>
917
+ <key>StandardErrorPath</key>
918
+ <string>/Users/sophie/sophie-ai/logs/workflows/launchd-meeting-action-capture-stderr.log</string>
919
+ </dict>
920
+ </plist>
921
+ ```
922
+
923
+ - [ ] **Step 2: Create meeting prep plist**
924
+
925
+ `scripts/local-triggers/plists/ai.adaptic.sophie-meeting-prep.plist`:
926
+
927
+ ```xml
928
+ <?xml version="1.0" encoding="UTF-8"?>
929
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
930
+ <plist version="1.0">
931
+ <dict>
932
+ <key>Label</key>
933
+ <string>ai.adaptic.sophie-meeting-prep</string>
934
+ <key>ProgramArguments</key>
935
+ <array>
936
+ <string>/Users/sophie/sophie-ai/scripts/local-triggers/run-trigger.sh</string>
937
+ <string>meeting-prep</string>
938
+ </array>
939
+ <key>StartInterval</key>
940
+ <integer>900</integer>
941
+ <key>WorkingDirectory</key>
942
+ <string>/Users/sophie/sophie-ai</string>
943
+ <key>StandardOutPath</key>
944
+ <string>/Users/sophie/sophie-ai/logs/workflows/launchd-meeting-prep-stdout.log</string>
945
+ <key>StandardErrorPath</key>
946
+ <string>/Users/sophie/sophie-ai/logs/workflows/launchd-meeting-prep-stderr.log</string>
947
+ </dict>
948
+ </plist>
949
+ ```
950
+
951
+ - [ ] **Step 3: Install the new daemons**
952
+
953
+ ```bash
954
+ # Copy to LaunchAgents and load
955
+ for plist in scripts/local-triggers/plists/ai.adaptic.sophie-meeting-*.plist; do
956
+ cp "$plist" ~/Library/LaunchAgents/$(basename "$plist")
957
+ launchctl load ~/Library/LaunchAgents/$(basename "$plist")
958
+ done
959
+ ```
960
+
961
+ - [ ] **Step 4: Commit**
962
+
963
+ ```bash
964
+ git add scripts/local-triggers/plists/ai.adaptic.sophie-meeting-action-capture.plist scripts/local-triggers/plists/ai.adaptic.sophie-meeting-prep.plist
965
+ git commit -m "feat: add launchd daemons for meeting prep (15min) and action capture (30min)"
966
+ ```
967
+
968
+ ---
969
+
970
+ ## Task 12: Update CLAUDE.md with Phase 1 Documentation
971
+
972
+ **Files:**
973
+
974
+ - Modify: `CLAUDE.md`
975
+
976
+ - [ ] **Step 1: Add Phase 1 documentation**
977
+
978
+ Add the following section to `CLAUDE.md`, after the "### Session Protocol" section and before "## Build & Test":
979
+
980
+ ```markdown
981
+ ### Control Tower 1: Strategy & Decisions
982
+
983
+ - **Priority drift detection**: Evening wrap monitors `config/priorities.yaml` milestones, flags overdue in `state/dashboards/strategy-scorecard.yaml`
984
+ - **Decision library**: Decisions archived in `knowledge/decisions/archive/`, indexed in `knowledge/decisions/index.yaml`
985
+ - **Strategic coherence check**: Weekly memo validates initiatives align with priorities, flags unlinked work
986
+ - **Living strategy state**: `knowledge/syntheses/strategy-state.yaml` evolves weekly with strategic position, assumptions, risks, signals
987
+ - Drift thresholds: 7 days for critical/high priority, 14 for medium — defined in `config/sla-defaults.yaml`
988
+
989
+ ### Control Tower 2: Executive Office & Follow-Through
990
+
991
+ - **Meeting action capture**: Every 30 min, checks Calendar + Granola + Slack for meeting outcomes, routes to queues
992
+ - **Loop closure verification**: Midday sweep verifies `resolved` items actually completed before marking `closed`
993
+ - **SLA tracking**: Items get SLA deadlines from `config/sla-defaults.yaml`, midday sweep calculates at_risk/breached
994
+ - **Blocker playbooks**: `knowledge/sources/blocker-playbooks.yaml` provides resolution patterns for common blocker types
995
+ - Status flow: `open → in_progress → blocked → resolved → closed` (resolved = owner says done, closed = Sophie verified)
996
+
997
+ ### Control Tower 3: Operating Cadence & PMO
998
+
999
+ - **Meeting prep**: Every 15 min, generates prep briefs for upcoming meetings, sends to Mehran via Slack
1000
+ - **Post-meeting action routing**: Extracted actions get owners, SLAs, and queue tracking
1001
+ - **Initiative scorecard**: `state/dashboards/strategy-scorecard.yaml` tracks per-priority health
1002
+ - **Cadence quality audit**: Weekly memo checks meeting → action capture rate and action closure rate
1003
+ ```
1004
+
1005
+ - [ ] **Step 2: Commit**
1006
+
1007
+ ```bash
1008
+ git add CLAUDE.md
1009
+ git commit -m "feat: document Phase 1 Executive Core control towers in CLAUDE.md"
1010
+ ```
1011
+
1012
+ ---
1013
+
1014
+ ## Task 13: Verify Phase 1
1015
+
1016
+ - [ ] **Step 1: Verify all new files exist**
1017
+
1018
+ ```bash
1019
+ echo "=== NEW STATE FILES ===" && \
1020
+ ls state/dashboards/strategy-scorecard.yaml config/sla-defaults.yaml && \
1021
+ echo "=== DECISION LIBRARY ===" && \
1022
+ ls knowledge/decisions/archive/.gitkeep knowledge/decisions/index.yaml && \
1023
+ echo "=== STRATEGY STATE ===" && \
1024
+ ls knowledge/syntheses/strategy-state.yaml && \
1025
+ echo "=== BLOCKER PLAYBOOKS ===" && \
1026
+ ls knowledge/sources/blocker-playbooks.yaml && \
1027
+ echo "=== NEW TRIGGERS ===" && \
1028
+ ls schedules/triggers/meeting-action-capture.md schedules/triggers/meeting-prep.md && \
1029
+ echo "=== NEW PLISTS ===" && \
1030
+ ls scripts/local-triggers/plists/ai.adaptic.sophie-meeting-*.plist
1031
+ ```
1032
+
1033
+ Expected: All files listed without error.
1034
+
1035
+ - [ ] **Step 2: Verify modified trigger prompts have new content**
1036
+
1037
+ ```bash
1038
+ grep -l "scorecard\|SLA\|sla_status\|drift\|coherence\|cadence.*audit\|blocker.*playbook\|loop.*closure\|decision.*detection" schedules/triggers/*.md
1039
+ ```
1040
+
1041
+ Expected: Should match morning-brief, midday-sweep, evening-wrap, weekly-strategic-memo, weekly-execution, inbox-processor.
1042
+
1043
+ - [ ] **Step 3: Verify meeting daemons are loaded**
1044
+
1045
+ ```bash
1046
+ launchctl list | grep "sophie-meeting"
1047
+ ```
1048
+
1049
+ Expected: Both `ai.adaptic.sophie-meeting-action-capture` and `ai.adaptic.sophie-meeting-prep` listed.
1050
+
1051
+ - [ ] **Step 4: Verify CLAUDE.md has Phase 1 sections**
1052
+
1053
+ ```bash
1054
+ grep "Control Tower 1\|Control Tower 2\|Control Tower 3" CLAUDE.md
1055
+ ```
1056
+
1057
+ Expected: All three control tower headings found.
1058
+
1059
+ - [ ] **Step 5: Final commit if fixes needed**
1060
+
1061
+ ```bash
1062
+ git add -A && git commit -m "fix: address issues found during Phase 1 verification"
1063
+ ```
1064
+
1065
+ ---
1066
+
1067
+ ## Summary
1068
+
1069
+ | Task | Component | Files | Commits |
1070
+ | ---- | --------------------------------- | ---------------------- | ------- |
1071
+ | 1 | Strategy scorecard + SLA defaults | 2 new YAML files | 1 |
1072
+ | 2 | Decision library + strategy state | 3 new files | 1 |
1073
+ | 3 | Blocker playbooks | 1 new YAML file | 1 |
1074
+ | 4 | Meeting action capture trigger | 1 new MD file | 1 |
1075
+ | 5 | Meeting prep trigger | 1 new MD file | 1 |
1076
+ | 6 | Enhanced morning brief | 1 modified MD file | 1 |
1077
+ | 7 | Enhanced midday sweep | 1 modified MD file | 1 |
1078
+ | 8 | Enhanced evening wrap | 1 modified MD file | 1 |
1079
+ | 9 | Enhanced strategic memo | 1 modified MD file | 1 |
1080
+ | 10 | Enhanced execution + inbox | 2 modified MD files | 1 |
1081
+ | 11 | Meeting trigger daemons | 2 new plists + install | 1 |
1082
+ | 12 | CLAUDE.md documentation | 1 modified file | 1 |
1083
+ | 13 | Verification | 0 new files | 0-1 |
1084
+
1085
+ **Total: 13 tasks, ~15 files (10 new + 5 modified), ~12 commits**