@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.
- package/.claude/commands/init-agent.md +99 -0
- package/.claude/commands/init-maestro.md +565 -0
- package/.claude/settings.json +114 -0
- package/.env.example +152 -0
- package/README.md +491 -0
- package/agents/board-prep/agent.md +80 -0
- package/agents/browser-operator/agent.md +52 -0
- package/agents/calendar-ops/agent.md +50 -0
- package/agents/capital-raising/agent.md +69 -0
- package/agents/ceo-briefing/agent.md +72 -0
- package/agents/communications/agent.md +69 -0
- package/agents/competitive-intelligence/agent.md +49 -0
- package/agents/corporate-development/agent.md +66 -0
- package/agents/decision-log/agent.md +65 -0
- package/agents/desktop-operator/agent.md +59 -0
- package/agents/engineering-coordination/agent.md +51 -0
- package/agents/founder-voice/agent.md +72 -0
- package/agents/fund-ops/agent.md +52 -0
- package/agents/gmail-operator/agent.md +62 -0
- package/agents/hiring-org-design/agent.md +119 -0
- package/agents/inbound-dispatcher/agent.md +66 -0
- package/agents/legal-structuring/agent.md +65 -0
- package/agents/market-research/agent.md +48 -0
- package/agents/partnerships/agent.md +59 -0
- package/agents/platform-architecture/agent.md +57 -0
- package/agents/pmo-execution/agent.md +60 -0
- package/agents/product-strategy/agent.md +50 -0
- package/agents/regulatory-dfsa/agent.md +96 -0
- package/agents/risk-register/agent.md +62 -0
- package/agents/rollup-target-sourcing/agent.md +59 -0
- package/agents/session-spawner/agent.md +64 -0
- package/agents/slack-operator/agent.md +60 -0
- package/agents/sophie-chief-of-staff/agent.md +134 -0
- package/agents/strategic-planning/agent.md +54 -0
- package/agents/whatsapp-operator/agent.md +60 -0
- package/agents/workflow-automation/agent.md +61 -0
- package/bin/maestro.mjs +388 -0
- package/desktop-control/README.md +56 -0
- package/desktop-control/app-profiles/gmail.yaml +120 -0
- package/desktop-control/app-profiles/slack.yaml +315 -0
- package/desktop-control/app-profiles/whatsapp.yaml +107 -0
- package/docs/architecture/agent-topology.md +2222 -0
- package/docs/architecture/continuous-monitoring.md +221 -0
- package/docs/architecture/mcp-capability-map.md +560 -0
- package/docs/architecture/system-architecture.md +1273 -0
- package/docs/business-synthesis/ADAPTIC-GROUP-FINAL-OWNERSHIP-STRUCTURE.pdf +13667 -10
- package/docs/business-synthesis/adaptic-overview.md +296 -0
- package/docs/business-synthesis/executive-operating-model.md +261 -0
- package/docs/governance/action-approval-model.md +331 -0
- package/docs/governance/communications-policy.md +410 -0
- package/docs/governance/desktop-control-safety.md +499 -0
- package/docs/guides/agent-persona-setup.md +600 -0
- package/docs/operating-charter.md +87 -0
- package/docs/prompts/board-pack-cover-template.md +37 -0
- package/docs/prompts/decision-recommendation-template.md +88 -0
- package/docs/prompts/followup-message-template.md +141 -0
- package/docs/prompts/investor-letter-template.md +52 -0
- package/docs/prompts/morning-brief-template.md +82 -0
- package/docs/prompts/presentation-template.md +58 -0
- package/docs/prompts/weekly-strategic-memo-template.md +104 -0
- package/docs/runbooks/mac-mini-bootstrap.md +404 -0
- package/docs/runbooks/perpetual-operations.md +505 -0
- package/docs/runbooks/recovery-and-failover.md +588 -0
- package/docs/superpowers/plans/2026-04-02-phase0-operational-foundation.md +2550 -0
- package/docs/superpowers/plans/2026-04-03-phase1-executive-core.md +1085 -0
- package/docs/superpowers/plans/2026-04-03-phase2-people-product-commercial.md +739 -0
- package/docs/superpowers/plans/2026-04-05-information-barrier-implementation.md +926 -0
- package/docs/superpowers/plans/2026-04-06-session-context-dedup.md +1994 -0
- package/docs/superpowers/specs/2026-04-02-phase0-operational-foundation-design.md +842 -0
- package/docs/superpowers/specs/2026-04-03-phase1-executive-core-design.md +516 -0
- package/docs/superpowers/specs/2026-04-03-phase2-people-product-commercial-design.md +452 -0
- package/docs/superpowers/specs/2026-04-03-phase3-4-final-towers-design.md +129 -0
- package/docs/superpowers/specs/2026-04-05-information-barrier-design.md +678 -0
- package/docs/superpowers/specs/2026-04-05-reactive-daemon-design.md +237 -0
- package/docs/superpowers/specs/2026-04-06-session-context-dedup-design.md +369 -0
- package/docs/workflows/executive-cadence.md +218 -0
- package/ingest/README.md +87 -0
- package/mcp/README.md +51 -0
- package/package.json +48 -0
- package/plugins/maestro-skills/plugin.json +55 -0
- package/plugins/maestro-skills/skills/board-deck.md +68 -0
- package/plugins/maestro-skills/skills/decision-brief.md +89 -0
- package/plugins/maestro-skills/skills/draft-comms.md +84 -0
- package/plugins/maestro-skills/skills/evening-wrap.md +53 -0
- package/plugins/maestro-skills/skills/hiring-triage.md +74 -0
- package/plugins/maestro-skills/skills/inbox-triage.md +61 -0
- package/plugins/maestro-skills/skills/morning-brief.md +54 -0
- package/plugins/maestro-skills/skills/pipeline-review.md +76 -0
- package/plugins/maestro-skills/skills/regulatory-status.md +81 -0
- package/plugins/maestro-skills/skills/schedule-meeting.md +91 -0
- package/plugins/maestro-skills/skills/slack-followup.md +64 -0
- package/plugins/maestro-skills/skills/weekly-memo.md +70 -0
- package/policies/action-classification.yaml +110 -0
- package/policies/information-barriers.yaml +119 -0
- package/policies/prompt-injection-defence.yaml +138 -0
- package/public/assets/adaptic-icon-dark.png +0 -0
- package/public/assets/adaptic-icon-dark.svg +4 -0
- package/public/assets/adaptic-icon-light.svg +4 -0
- package/public/assets/adaptic-logo-dark.svg +17 -0
- package/public/assets/adaptic-logo-light.svg +17 -0
- package/scaffold/CLAUDE.md +21 -0
- package/scaffold/config/agent.ts +69 -0
- package/scaffold/config/agent.ts.example +218 -0
- package/schedules/README.md +49 -0
- package/schedules/triggers/backlog-executor.md +102 -0
- package/schedules/triggers/daily-evening-wrap.md +142 -0
- package/schedules/triggers/daily-midday-sweep.md +58 -0
- package/schedules/triggers/daily-morning-brief.md +55 -0
- package/schedules/triggers/inbox-processor.md +115 -0
- package/schedules/triggers/meeting-action-capture.md +60 -0
- package/schedules/triggers/meeting-prep.md +69 -0
- package/schedules/triggers/quarterly-self-assessment.md +54 -0
- package/schedules/triggers/weekly-engineering-health.md +37 -0
- package/schedules/triggers/weekly-execution.md +67 -0
- package/schedules/triggers/weekly-hiring.md +53 -0
- package/schedules/triggers/weekly-priorities.md +38 -0
- package/schedules/triggers/weekly-strategic-memo.md +124 -0
- package/scripts/__pycache__/disclosure_assessment.cpython-313.pyc +0 -0
- package/scripts/__pycache__/disclosure_boundaries.cpython-313.pyc +0 -0
- package/scripts/__pycache__/email_quote_thread.cpython-313.pyc +0 -0
- package/scripts/__pycache__/email_thread_dedup.cpython-313.pyc +0 -0
- package/scripts/__pycache__/mehran-inbox-poller.cpython-313.pyc +0 -0
- package/scripts/__pycache__/outbound_dedup.cpython-313.pyc +0 -0
- package/scripts/__pycache__/pre-draft-context.cpython-313.pyc +0 -0
- package/scripts/__pycache__/pre_draft_lookup.cpython-313.pyc +0 -0
- package/scripts/__pycache__/send-email-as-mehran.cpython-313.pyc +0 -0
- package/scripts/__pycache__/send-email-threaded.cpython-313.pyc +0 -0
- package/scripts/__pycache__/send-email-with-attachment.cpython-313.pyc +0 -0
- package/scripts/__pycache__/validate_outbound.cpython-313.pyc +0 -0
- package/scripts/airtable-crm-populate.md +99 -0
- package/scripts/archive-email.sh +41 -0
- package/scripts/comms-monitor.sh +285 -0
- package/scripts/configure-whatsapp-sandbox.sh +201 -0
- package/scripts/continuous-monitor.sh +86 -0
- package/scripts/daemon/classifier.mjs +355 -0
- package/scripts/daemon/context-compiler.mjs +490 -0
- package/scripts/daemon/dispatcher.mjs +385 -0
- package/scripts/daemon/health.mjs +72 -0
- package/scripts/daemon/prompt-builder.mjs +426 -0
- package/scripts/daemon/responder.mjs +547 -0
- package/scripts/daemon/session-lock.mjs +520 -0
- package/scripts/daemon/sophie-daemon.mjs +521 -0
- package/scripts/daemon/test-context-compiler.mjs +238 -0
- package/scripts/daemon/test-integration.mjs +130 -0
- package/scripts/daemon/test-session-lock.mjs +215 -0
- package/scripts/disclosure_assessment.py +873 -0
- package/scripts/disclosure_boundaries.py +562 -0
- package/scripts/email-signature-mehran.html +52 -0
- package/scripts/email-signature.html +44 -0
- package/scripts/email_quote_thread.py +167 -0
- package/scripts/email_thread_dedup.py +361 -0
- package/scripts/emergency-stop.sh +41 -0
- package/scripts/healthcheck.sh +110 -0
- package/scripts/hooks/block-mcp-slack-send.sh +7 -0
- package/scripts/hooks/post-action-log.sh +17 -0
- package/scripts/hooks/pre-send-audit.sh +57 -0
- package/scripts/hooks/session-end-log.sh +27 -0
- package/scripts/huddle/audio-bridge.mjs +664 -0
- package/scripts/huddle/boot-slack-cdp.sh +102 -0
- package/scripts/huddle/huddle-controller.mjs +942 -0
- package/scripts/huddle/huddle-server.mjs +1059 -0
- package/scripts/huddle/launch-slack.sh +232 -0
- package/scripts/huddle/node_modules/.package-lock.json +50 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/CHANGELOG.md +1677 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/LICENSE +8 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/README.md +674 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js +226 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs +223 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/api-promise.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/bin/cli +53 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/bin/migration-config.json +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.mts +225 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.ts +225 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.js +536 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.mjs +531 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/client.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts +49 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts +49 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.js +76 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.mjs +72 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/api-promise.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.mts +47 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.ts +47 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.js +114 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.mjs +98 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/error.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.mts +63 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.ts +63 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.js +123 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.mjs +117 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/pagination.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.mts +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.ts +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.js +11 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.mjs +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/resource.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.mts +31 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.ts +31 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.js +282 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.mjs +277 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/streaming.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.mts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/core/uploads.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/error.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.mts +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.ts +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.js +35 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.mjs +8 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/index.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts +73 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts +73 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.js +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/builtin-types.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.mts +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.ts +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.js +15 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.mjs +12 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/constants.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts +10 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts +10 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js +39 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs +35 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts +17 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts +17 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.js +113 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs +108 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts +15 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts +15 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.js +162 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs +157 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/detect-platform.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.mts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.js +41 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.mjs +36 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/errors.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.mts +22 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.ts +22 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.js +79 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.mjs +74 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/headers.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.mts +17 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.ts +17 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.js +55 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.mjs +51 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/parse.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts +34 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts +34 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.js +14 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.mjs +10 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/request-options.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shim-types.d.mts +28 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shim-types.d.ts +28 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.mts +20 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.ts +20 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.js +92 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.mjs +85 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/shims.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts +8 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts +8 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.js +38 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs +35 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/stream-utils.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts +45 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts +45 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.js +96 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.mjs +93 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/to-file.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/tslib.js +81 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/tslib.mjs +17 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.mts +67 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.ts +67 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.js +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/types.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts +42 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts +42 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.js +146 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.mjs +136 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/uploads.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.js +38 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs +33 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/base64.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js +31 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs +26 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/bytes.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts +9 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts +9 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.js +22 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs +18 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/env.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts +37 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts +37 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.js +86 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs +80 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/log.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts +15 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts +15 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.js +58 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs +53 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/path.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/sleep.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js +19 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs +15 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/uuid.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts +16 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts +16 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.js +109 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs +92 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils/values.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.mts +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.ts +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.js +11 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.mjs +8 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/internal/utils.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts +114 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts +114 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js +553 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs +549 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/BetaMessageStream.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts +114 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts +114 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.js +553 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs +549 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/package.json +185 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/pagination.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resource.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts +61 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts +61 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.js +25 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs +20 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts +151 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts +151 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.js +122 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs +118 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/files.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.js +13 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/index.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts +343 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts +343 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js +204 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs +200 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js +9 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/index.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts +1561 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts +1561 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js +86 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs +81 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/messages.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts +74 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts +74 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.js +60 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs +56 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta/models.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/beta.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.mts +183 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.ts +183 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.js +23 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.mjs +19 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/completions.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.mts +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.ts +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.js +15 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.mjs +7 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/index.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts +304 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts +304 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.js +153 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs +149 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/batches.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.js +9 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/index.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts +1264 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts +1264 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.js +72 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs +67 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages/messages.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/messages.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.mts +59 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.ts +59 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.js +45 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.mjs +41 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/models.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.mts +42 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.ts +42 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.js +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/shared.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.js +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.mjs +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources/top-level.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.js +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/resources.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/parser.ts +264 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/api-promise.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/client.ts +1070 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/README.md +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/api-promise.ts +101 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/error.ts +133 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/pagination.ts +201 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/resource.ts +11 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/streaming.ts +331 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/core/uploads.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/error.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/index.ts +23 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/README.md +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/builtin-types.ts +93 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/constants.ts +12 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/decoders/jsonl.ts +48 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/decoders/line.ts +135 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/detect-platform.ts +196 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/errors.ts +33 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/headers.ts +99 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/parse.ts +84 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/request-options.ts +39 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/shim-types.d.ts +28 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/shims.ts +107 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/stream-utils.ts +32 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/to-file.ts +159 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/types.ts +92 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/uploads.ts +193 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/base64.ts +40 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/bytes.ts +32 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/env.ts +18 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/log.ts +127 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/path.ts +65 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/sleep.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/uuid.ts +17 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils/values.ts +102 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/internal/utils.ts +8 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/.keep +4 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/BetaMessageStream.ts +683 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/lib/MessageStream.ts +684 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/pagination.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resource.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/beta.ts +380 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/files.ts +258 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/index.ts +148 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/batches.ts +502 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/index.ts +135 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages/messages.ts +2249 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/messages.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta/models.ts +118 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/beta.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/completions.ts +231 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/index.ts +121 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/batches.ts +396 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/index.ts +110 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages/messages.ts +1783 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/messages.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/models.ts +103 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/shared.ts +72 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources/top-level.ts +3 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/resources.ts +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/streaming.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/tsconfig.json +11 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/uploads.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/src/version.ts +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/streaming.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.js +6 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/uploads.mjs.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.mts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.mts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.ts +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.d.ts.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.js +5 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.js.map +1 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.mjs +2 -0
- package/scripts/huddle/node_modules/@anthropic-ai/sdk/version.mjs.map +1 -0
- package/scripts/huddle/node_modules/dotenv/CHANGELOG.md +520 -0
- package/scripts/huddle/node_modules/dotenv/LICENSE +23 -0
- package/scripts/huddle/node_modules/dotenv/README-es.md +411 -0
- package/scripts/huddle/node_modules/dotenv/README.md +645 -0
- package/scripts/huddle/node_modules/dotenv/SECURITY.md +1 -0
- package/scripts/huddle/node_modules/dotenv/config.d.ts +1 -0
- package/scripts/huddle/node_modules/dotenv/config.js +9 -0
- package/scripts/huddle/node_modules/dotenv/lib/cli-options.js +17 -0
- package/scripts/huddle/node_modules/dotenv/lib/env-options.js +28 -0
- package/scripts/huddle/node_modules/dotenv/lib/main.d.ts +162 -0
- package/scripts/huddle/node_modules/dotenv/lib/main.js +386 -0
- package/scripts/huddle/node_modules/dotenv/package.json +62 -0
- package/scripts/huddle/node_modules/ws/LICENSE +20 -0
- package/scripts/huddle/node_modules/ws/README.md +548 -0
- package/scripts/huddle/node_modules/ws/browser.js +8 -0
- package/scripts/huddle/node_modules/ws/index.js +22 -0
- package/scripts/huddle/node_modules/ws/lib/buffer-util.js +131 -0
- package/scripts/huddle/node_modules/ws/lib/constants.js +19 -0
- package/scripts/huddle/node_modules/ws/lib/event-target.js +292 -0
- package/scripts/huddle/node_modules/ws/lib/extension.js +203 -0
- package/scripts/huddle/node_modules/ws/lib/limiter.js +55 -0
- package/scripts/huddle/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/scripts/huddle/node_modules/ws/lib/receiver.js +706 -0
- package/scripts/huddle/node_modules/ws/lib/sender.js +602 -0
- package/scripts/huddle/node_modules/ws/lib/stream.js +161 -0
- package/scripts/huddle/node_modules/ws/lib/subprotocol.js +62 -0
- package/scripts/huddle/node_modules/ws/lib/validation.js +152 -0
- package/scripts/huddle/node_modules/ws/lib/websocket-server.js +554 -0
- package/scripts/huddle/node_modules/ws/lib/websocket.js +1393 -0
- package/scripts/huddle/node_modules/ws/package.json +70 -0
- package/scripts/huddle/node_modules/ws/wrapper.mjs +21 -0
- package/scripts/huddle/package-lock.json +62 -0
- package/scripts/huddle/package.json +22 -0
- package/scripts/huddle/setup-audio.sh +239 -0
- package/scripts/huddle/start-call.mjs +318 -0
- package/scripts/huddle/test-pipeline.mjs +263 -0
- package/scripts/llm_email_dedup.py +434 -0
- package/scripts/local-triggers/install-all.sh +43 -0
- package/scripts/local-triggers/plists/ai.adaptic.slack-events-server.plist +45 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-backlog-executor.plist +21 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-daemon.plist +32 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-inbox-processor.plist +21 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-meeting-action-capture.plist +21 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-meeting-prep.plist +21 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-midday-sweep.plist +26 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-quarterly-self-assessment.plist +62 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-engineering-health.plist +28 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-execution.plist +28 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-hiring.plist +28 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-priorities.plist +28 -0
- package/scripts/local-triggers/plists/ai.adaptic.sophie-weekly-strategic-memo.plist +28 -0
- package/scripts/local-triggers/run-trigger.sh +44 -0
- package/scripts/media-generation/README.md +103 -0
- package/scripts/media-generation/gemini-image-client.mjs +173 -0
- package/scripts/media-generation/generate-assets.mjs +289 -0
- package/scripts/media-generation/veo-video-client.mjs +219 -0
- package/scripts/mehran-inbox-poller.py +437 -0
- package/scripts/outbound-dedup-cleanup.sh +43 -0
- package/scripts/outbound-dedup.sh +476 -0
- package/scripts/outbound_dedup.py +115 -0
- package/scripts/parse-voice-transcript.mjs +486 -0
- package/scripts/pdf-generation/README.md +61 -0
- package/scripts/pdf-generation/build-document.mjs +230 -0
- package/scripts/pdf-generation/templates/board-pack.latex +136 -0
- package/scripts/pdf-generation/templates/corporate-letter.latex +126 -0
- package/scripts/pdf-generation/templates/memo.latex +114 -0
- package/scripts/poll-slack-events.sh +33 -0
- package/scripts/poller/calendar-poller.mjs +12 -0
- package/scripts/poller/gmail-poller.mjs +156 -0
- package/scripts/poller/imap-client.mjs +286 -0
- package/scripts/poller/index.mjs +73 -0
- package/scripts/poller/intra-session-check.mjs +267 -0
- package/scripts/poller/mehran-gmail-poller.mjs +98 -0
- package/scripts/poller/slack-poller.mjs +716 -0
- package/scripts/poller/trigger.mjs +47 -0
- package/scripts/poller/utils.mjs +253 -0
- package/scripts/poller-launchd/ai.adaptic.sophie-poller.plist +40 -0
- package/scripts/poller-launchd/ai.adaptic.sophie-whatsapp-handler.plist +39 -0
- package/scripts/poller-launchd/install.sh +38 -0
- package/scripts/post-interaction-indexer.py +1598 -0
- package/scripts/pre-draft-context.py +994 -0
- package/scripts/pre_draft_lookup.py +258 -0
- package/scripts/rag-indexer.py +629 -0
- package/scripts/resume-operations.sh +40 -0
- package/scripts/search-mehran-inbox.py +181 -0
- package/scripts/self-optimization/compute-metrics.py +377 -0
- package/scripts/send-difc-rfp.sh +98 -0
- package/scripts/send-email-as-mehran.py +369 -0
- package/scripts/send-email-threaded.py +336 -0
- package/scripts/send-email-with-attachment.py +360 -0
- package/scripts/send-email.sh +93 -0
- package/scripts/send-sms.sh +151 -0
- package/scripts/send-whatsapp.sh +261 -0
- package/scripts/session-start.sh +106 -0
- package/scripts/setup/configure-macos.sh +508 -0
- package/scripts/setup/init-agent.sh +450 -0
- package/scripts/slack-events-ctl.sh +177 -0
- package/scripts/slack-events-server.mjs +989 -0
- package/scripts/slack-react.mjs +89 -0
- package/scripts/slack-responded.sh +185 -0
- package/scripts/slack-send.sh +190 -0
- package/scripts/slack-typing.mjs +196 -0
- package/scripts/slack-upload-v2.py +95 -0
- package/scripts/sms-handler.mjs +436 -0
- package/scripts/sophie-inbox-poller.py +406 -0
- package/scripts/spawn-session.sh +85 -0
- package/scripts/system-verify.sh +171 -0
- package/scripts/test-email-thread-dedup.py +239 -0
- package/scripts/test-information-barriers.py +484 -0
- package/scripts/test-llm-email-dedup.py +251 -0
- package/scripts/test-pre-draft-integration.py +203 -0
- package/scripts/test-rag-phase2.sh +442 -0
- package/scripts/test-rag-search.sh +251 -0
- package/scripts/test-voice-parser.mjs +316 -0
- package/scripts/user-context-search.py +660 -0
- package/scripts/validate-outbound.py +1493 -0
- package/scripts/whatsapp-handler.mjs +525 -0
- package/teams/desktop-operations.yaml +34 -0
- package/teams/executive-office.yaml +27 -0
- package/teams/legal-and-regulatory.yaml +24 -0
- package/teams/platform-and-engineering.yaml +23 -0
- package/teams/strategy-and-growth.yaml +29 -0
- package/workflows/continuous/inbound-monitor.yaml +168 -0
- package/workflows/daily/applicant-triage.yaml +197 -0
- package/workflows/daily/comms-triage.yaml +80 -0
- package/workflows/daily/evening-wrap.yaml +65 -0
- package/workflows/daily/morning-brief.yaml +147 -0
- package/workflows/daily/slack-followup-sweep.yaml +87 -0
- package/workflows/event-driven/README.md +50 -0
- package/workflows/monthly/board-readiness.yaml +76 -0
- package/workflows/quarterly/strategic-scenario-analysis.yaml +85 -0
- package/workflows/session-protocol.md +171 -0
- package/workflows/weekly/hiring-review.yaml +169 -0
- package/workflows/weekly/rollup-pipeline-review.yaml +76 -0
- 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**
|