@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
package/README.md
ADDED
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
# Maestro
|
|
2
|
+
|
|
3
|
+
**A production-grade framework for deploying autonomous AI agents on dedicated Mac minis.**
|
|
4
|
+
|
|
5
|
+
Maestro turns a Mac mini into a perpetually running AI employee. Each agent uses Claude Code as its reasoning engine, integrates with Slack, Gmail, Google Calendar, WhatsApp, SMS, and 25+ MCP-connected services, and operates autonomously around the clock -- observing events, executing tasks, communicating with humans, and maintaining institutional memory across sessions.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is Maestro?
|
|
10
|
+
|
|
11
|
+
Maestro is an autonomous AI agent operating system. It provides the complete infrastructure to deploy, run, and govern an AI agent that functions as a real member of your team -- with its own identity, responsibilities, communication channels, and institutional memory.
|
|
12
|
+
|
|
13
|
+
**What it does:**
|
|
14
|
+
- Runs 24/7 on a dedicated Mac mini, polling Slack, Gmail, and Calendar for events
|
|
15
|
+
- Reasons about incoming information and takes action autonomously
|
|
16
|
+
- Sends messages, drafts documents, follows up on open loops, and coordinates work
|
|
17
|
+
- Maintains persistent memory, decision logs, and strategic context across sessions
|
|
18
|
+
- Spawns parallel sub-agents for complex, multi-track execution
|
|
19
|
+
- Produces branded PDFs, executive briefs, and media assets
|
|
20
|
+
|
|
21
|
+
**What it is NOT:**
|
|
22
|
+
- Not a chatbot. The agent operates proactively, not just in response to prompts.
|
|
23
|
+
- Not a demo or prototype. This is production infrastructure for real organisations.
|
|
24
|
+
- Not a generic agent framework. It is opinionated about deployment (Mac mini), reasoning (Claude Code), and governance (audit trails, approval policies, rate limits).
|
|
25
|
+
|
|
26
|
+
**Who it is for:**
|
|
27
|
+
Companies deploying AI employees -- autonomous agents that hold real roles, communicate with real people, and execute real work across real tools. If you need a Chief of Staff, a Head of Compliance, a quant researcher, or any other knowledge worker that runs continuously without human prompting, Maestro is the deployment framework.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Architecture
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
┌─────────────────────────────────────────────────────┐
|
|
35
|
+
│ Your Agent │
|
|
36
|
+
│ Executive Cortex (Tier 0) │
|
|
37
|
+
├──────────┬──────────┬──────────┬──────────┬─────────┤
|
|
38
|
+
│ Briefing │ Strategic│ Domain │ Comms │ Task │
|
|
39
|
+
│ │ Planning │ Ops │ Gov. │ Exec. │
|
|
40
|
+
│ (Tier 1) │ (Tier 1) │ (Tier 1) │ (Tier 1) │(Tier 1)│
|
|
41
|
+
├──────────┴──────────┴──────────┴──────────┴─────────┤
|
|
42
|
+
│ 20+ Specialist Agents (Tier 2) │
|
|
43
|
+
│ Research · Product · Engineering · Legal · Ops · │
|
|
44
|
+
│ Finance · Partnerships · Hiring · Market Intel · │
|
|
45
|
+
│ Board Prep · Compliance · Writing · ... │
|
|
46
|
+
├─────────────────────────────────────────────────────┤
|
|
47
|
+
│ Desktop Operations (Tier 3) │
|
|
48
|
+
│ Slack · Gmail · WhatsApp · Browser · Calendar │
|
|
49
|
+
├─────────────────────────────────────────────────────┤
|
|
50
|
+
│ Governance & Memory (Tier 4) │
|
|
51
|
+
│ Decision Log · Risk Register · Knowledge Base │
|
|
52
|
+
└─────────────────────────────────────────────────────┘
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Tier 0 -- Executive Cortex:** The agent's core identity and reasoning loop. Reads dashboards, processes inbound events, makes decisions, and orchestrates lower tiers.
|
|
56
|
+
|
|
57
|
+
**Tier 1 -- Domain Controllers:** Specialised reasoning modules for briefing, strategic planning, domain operations, communications governance, and task execution.
|
|
58
|
+
|
|
59
|
+
**Tier 2 -- Specialist Agents:** 20+ sub-agents that can be spawned in parallel for focused work -- research, document drafting, code review, legal analysis, hiring pipelines, and more.
|
|
60
|
+
|
|
61
|
+
**Tier 3 -- Desktop Operations:** Integrations with external services via MCP servers, APIs, and local tooling. Slack, Gmail, Google Calendar, WhatsApp, SMS, browser automation.
|
|
62
|
+
|
|
63
|
+
**Tier 4 -- Governance & Memory:** Persistent state layer. Decision logs, risk registers, knowledge bases, interaction history, queue management, and audit trails.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Getting Started
|
|
68
|
+
|
|
69
|
+
### Prerequisites
|
|
70
|
+
|
|
71
|
+
| Dependency | Install | Purpose |
|
|
72
|
+
|---------------------|------------------------------------------------------------|----------------------------------|
|
|
73
|
+
| Node.js 25+ | `brew install node` | Runtime for poller, triggers |
|
|
74
|
+
| Claude CLI | `npm install -g @anthropic-ai/claude-code` | Agent reasoning engine |
|
|
75
|
+
| jq | `brew install jq` | Used by hook scripts |
|
|
76
|
+
| Pandoc + MacTeX | `brew install pandoc && brew install --cask mactex-no-gui` | PDF generation (optional) |
|
|
77
|
+
| Anthropic API key | Set `ANTHROPIC_API_KEY` env var | Required for Claude CLI |
|
|
78
|
+
|
|
79
|
+
### Step 1: Clone and Install
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
git clone git@github.com:your-org/maestro.git ~/your-agent
|
|
83
|
+
cd ~/your-agent
|
|
84
|
+
npm run init-agent
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
The `init-agent` script handles all machine setup:
|
|
88
|
+
- Installs npm dependencies
|
|
89
|
+
- Creates all required `state/`, `logs/`, `memory/` directories
|
|
90
|
+
- Installs global Claude Code settings with hook configuration
|
|
91
|
+
- Generates and loads 12 macOS launchd agents (poller, inbox processor, backlog executor, meeting prep, weekly triggers, etc.)
|
|
92
|
+
- Creates a `.env` template for API keys
|
|
93
|
+
- Runs a health check
|
|
94
|
+
|
|
95
|
+
### Step 2: Configure Your Agent
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
claude "/init-maestro"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This launches an interactive Claude Code session that rewrites the repository for your agent's identity. You will be asked for:
|
|
102
|
+
|
|
103
|
+
| Field | Example |
|
|
104
|
+
|-------------------------|----------------------------------------|
|
|
105
|
+
| Agent name | "Jordan" |
|
|
106
|
+
| Agent surname | "Blake" |
|
|
107
|
+
| Agent role/title | "Chief of Staff" |
|
|
108
|
+
| Directory name | "jordan-ai" |
|
|
109
|
+
| Mac mini hostname | "jordan-mini" |
|
|
110
|
+
| Key responsibilities | 2-5 bullet points |
|
|
111
|
+
| Reporting line | "CEO" or specific person |
|
|
112
|
+
| Communication style | Formal/casual, proactive/reactive |
|
|
113
|
+
|
|
114
|
+
The wizard updates `CLAUDE.md` (identity and principles), all script variables, launchd plist labels and paths, `package.json`, config files, trigger prompts, and agent definitions.
|
|
115
|
+
|
|
116
|
+
See `docs/guides/agent-persona-setup.md` for the detailed persona configuration guide.
|
|
117
|
+
|
|
118
|
+
### Step 3: Set Up Integrations
|
|
119
|
+
|
|
120
|
+
Copy `.env.example` to `.env` and fill in your API keys and tokens:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
cp .env.example .env
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
At minimum, configure Slack and Gmail credentials. See the Required Services table below for the full list.
|
|
127
|
+
|
|
128
|
+
### Verifying the Setup
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Check all launchd agents are loaded
|
|
132
|
+
launchctl list | grep adaptic
|
|
133
|
+
|
|
134
|
+
# Run health check
|
|
135
|
+
npm run healthcheck
|
|
136
|
+
|
|
137
|
+
# Check poller is writing logs
|
|
138
|
+
tail -f logs/polling/$(date +%Y-%m-%d)-poller.jsonl
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Required Services and API Keys
|
|
144
|
+
|
|
145
|
+
| Service | Purpose | Required? | Signup URL | Tier / Pricing |
|
|
146
|
+
|--------------------|----------------------------------|-------------|---------------------------------------------|-----------------------------------------|
|
|
147
|
+
| Anthropic API | Primary reasoning engine (Claude)| Required | https://console.anthropic.com | Pay-per-token or Max subscription |
|
|
148
|
+
| Slack | Team communication | Required | https://api.slack.com/apps | Free (workspace needed) |
|
|
149
|
+
| Gmail | Email monitoring and sending | Required | https://myaccount.google.com/apppasswords | Google Workspace or free Gmail |
|
|
150
|
+
| Google Calendar | Meeting and schedule awareness | Recommended | Via Google Workspace | Same account as Gmail |
|
|
151
|
+
| Google Drive | Document sharing | Recommended | Via Google Workspace | Same account as Gmail |
|
|
152
|
+
| OpenAI | Supplemental model access | Optional | https://platform.openai.com | Pay-per-token |
|
|
153
|
+
| Google Gemini | Media generation (images, video) | Optional | https://aistudio.google.com | Free tier available |
|
|
154
|
+
| Twilio | SMS, voice, and WhatsApp | Optional | https://www.twilio.com | Pay-as-you-go (~$1/mo + usage) |
|
|
155
|
+
| Deepgram | Speech-to-text transcription | Optional | https://deepgram.com | Free tier (200 hrs/yr) |
|
|
156
|
+
| ElevenLabs | Text-to-speech voice synthesis | Optional | https://elevenlabs.io | Free tier available |
|
|
157
|
+
| Greptile | Codebase search and indexing | Optional | https://greptile.com | Free tier available |
|
|
158
|
+
|
|
159
|
+
Additional services are available via MCP servers and can be configured separately. Supported integrations include Airtable, Linear, Figma, Notion, Jira, Calendly, and more. See your Claude Code MCP configuration for the full list.
|
|
160
|
+
|
|
161
|
+
### Environment Variables
|
|
162
|
+
|
|
163
|
+
After running `npm run init-agent`, fill in the generated `.env` file:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Core
|
|
167
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
168
|
+
|
|
169
|
+
# Communication channels
|
|
170
|
+
SLACK_USER_TOKEN=xoxp-...
|
|
171
|
+
SLACK_BOT_TOKEN=xoxb-...
|
|
172
|
+
SLACK_SIGNING_SECRET=...
|
|
173
|
+
|
|
174
|
+
# Gmail
|
|
175
|
+
GMAIL_CLIENT_ID=...
|
|
176
|
+
GMAIL_CLIENT_SECRET=...
|
|
177
|
+
GMAIL_REFRESH_TOKEN=...
|
|
178
|
+
|
|
179
|
+
# Google Calendar
|
|
180
|
+
GCAL_CLIENT_ID=...
|
|
181
|
+
GCAL_CLIENT_SECRET=...
|
|
182
|
+
GCAL_REFRESH_TOKEN=...
|
|
183
|
+
|
|
184
|
+
# Twilio (SMS/Phone/WhatsApp)
|
|
185
|
+
TWILIO_ACCOUNT_SID=...
|
|
186
|
+
TWILIO_AUTH_TOKEN=...
|
|
187
|
+
TWILIO_PHONE_NUMBER=...
|
|
188
|
+
|
|
189
|
+
# Media generation
|
|
190
|
+
GEMINI_API_KEY=...
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Agent Configuration
|
|
196
|
+
|
|
197
|
+
The central identity file is `config/agent.ts` (or the `CLAUDE.md` identity section, depending on your setup). This defines:
|
|
198
|
+
|
|
199
|
+
- **Agent name, role, and title** -- who the agent is
|
|
200
|
+
- **Operating principles** -- how the agent makes decisions
|
|
201
|
+
- **Communication rules** -- voice modes, autonomy levels, escalation triggers
|
|
202
|
+
- **Domain context** -- what the agent knows about the organisation
|
|
203
|
+
- **Reporting line** -- who the agent escalates to
|
|
204
|
+
|
|
205
|
+
Run `claude "/init-maestro"` for interactive setup, or see `docs/guides/agent-persona-setup.md` for manual configuration.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Directory Structure
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
maestro/
|
|
213
|
+
├── README.md # This file
|
|
214
|
+
├── CLAUDE.md # Claude Code operating instructions (identity + behaviour)
|
|
215
|
+
├── .claude/
|
|
216
|
+
│ ├── settings.json # Project-level Claude Code hooks and permissions
|
|
217
|
+
│ └── commands/
|
|
218
|
+
│ └── init-agent.md # /init-maestro command for identity setup
|
|
219
|
+
├── docs/
|
|
220
|
+
│ ├── architecture/ # System and agent architecture
|
|
221
|
+
│ ├── governance/ # Approval models, communications policy, safety
|
|
222
|
+
│ ├── runbooks/ # Mac mini bootstrap, perpetual ops, recovery
|
|
223
|
+
│ ├── workflows/ # Cadence documentation
|
|
224
|
+
│ └── prompts/ # Output templates (briefs, memos, decisions)
|
|
225
|
+
├── agents/ # 30+ agent definitions with mandates and prompts
|
|
226
|
+
├── teams/ # Agent team compositions and responsibilities
|
|
227
|
+
├── workflows/
|
|
228
|
+
│ ├── continuous/ # Always-on inbound monitoring loop
|
|
229
|
+
│ ├── daily/ # Morning brief, evening wrap, comms triage
|
|
230
|
+
│ ├── weekly/ # Strategic memo, pipeline review
|
|
231
|
+
│ ├── monthly/ # Board readiness, risk refresh
|
|
232
|
+
│ └── quarterly/ # Scenario analysis, board pack
|
|
233
|
+
├── schedules/
|
|
234
|
+
│ └── triggers/ # Trigger prompts for launchd-scheduled sessions
|
|
235
|
+
├── scripts/
|
|
236
|
+
│ ├── setup/
|
|
237
|
+
│ │ └── init-agent.sh # One-line machine setup script
|
|
238
|
+
│ ├── local-triggers/
|
|
239
|
+
│ │ ├── run-trigger.sh # Trigger runner (invoked by launchd)
|
|
240
|
+
│ │ ├── install-all.sh # Install launchd plists
|
|
241
|
+
│ │ └── plists/ # macOS launchd plist templates
|
|
242
|
+
│ ├── daemon/ # Main agent daemon
|
|
243
|
+
│ ├── poller/ # Event polling (Slack, Gmail, Calendar)
|
|
244
|
+
│ ├── hooks/ # Claude Code hook scripts
|
|
245
|
+
│ ├── pdf-generation/ # Branded PDF generation (Pandoc + XeLaTeX)
|
|
246
|
+
│ └── media-generation/ # AI illustration/video generation
|
|
247
|
+
├── knowledge/ # Sources, syntheses, memory, entities, decisions
|
|
248
|
+
├── config/ # Environment, priorities, contacts, repos, brand
|
|
249
|
+
├── policies/ # Action classification, approval rules
|
|
250
|
+
├── state/ # Queues, inbox, dashboards, polling cursors
|
|
251
|
+
├── outputs/ # Briefs, memos, drafts, research
|
|
252
|
+
├── memory/ # Interaction history, profiles, precedents
|
|
253
|
+
└── logs/ # Operational logs (audit, polling, workflows)
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Operating Modes
|
|
259
|
+
|
|
260
|
+
Maestro agents operate in three concurrent modes at all times.
|
|
261
|
+
|
|
262
|
+
### Mode 1: Reactive -- Respond to Events
|
|
263
|
+
|
|
264
|
+
The nervous system. Always on, always listening.
|
|
265
|
+
|
|
266
|
+
- A lightweight poller checks Slack, Gmail, and Calendar for new events every 60 seconds
|
|
267
|
+
- An inbox processor classifies and routes incoming items every 5 minutes
|
|
268
|
+
- Priority events (CEO DMs, urgent tags, direct mentions) trigger immediate processing sessions
|
|
269
|
+
- All inbound events land in `state/inbox/` as structured YAML before being routed to the appropriate queue
|
|
270
|
+
|
|
271
|
+
### Mode 2: Scheduled -- Run Cadence Workflows
|
|
272
|
+
|
|
273
|
+
The heartbeat. Ensures nothing falls through the cracks.
|
|
274
|
+
|
|
275
|
+
- **Daily:** Morning brief, midday sweep, evening wrap, communications triage
|
|
276
|
+
- **Weekly:** Strategic memo, pipeline review, hiring review, engineering health check, execution review
|
|
277
|
+
- **Monthly:** Board readiness, risk register refresh, financial integration
|
|
278
|
+
- **Quarterly:** Self-assessment, scenario analysis, board pack generation
|
|
279
|
+
|
|
280
|
+
All scheduled workflows are defined in `workflows/` and triggered via macOS launchd agents.
|
|
281
|
+
|
|
282
|
+
### Mode 3: Proactive -- Execute the Backlog
|
|
283
|
+
|
|
284
|
+
The engine. This is where the real work gets done.
|
|
285
|
+
|
|
286
|
+
- The backlog executor runs every 10 minutes via launchd
|
|
287
|
+
- It reads all operational queues, selects the top 3-5 actionable items by priority
|
|
288
|
+
- It spawns parallel background agents to execute each item independently
|
|
289
|
+
- Agents do the actual work: draft documents, chase people, research topics, build deliverables
|
|
290
|
+
- Results are reviewed, queues are updated, and the next batch is picked up
|
|
291
|
+
- Items continuously move from `open` to `in_progress` to `resolved` to `closed`
|
|
292
|
+
|
|
293
|
+
The goal is continuous forward motion. Items should not sit in queues -- they should be getting done.
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Communication Governance
|
|
298
|
+
|
|
299
|
+
All Maestro agents follow a structured governance framework for outbound communications.
|
|
300
|
+
|
|
301
|
+
| Action Level | Policy |
|
|
302
|
+
|----------------------------------|-----------------------------------------------------|
|
|
303
|
+
| Observe | Always permitted |
|
|
304
|
+
| Draft | Always permitted |
|
|
305
|
+
| Recommend | Always permitted |
|
|
306
|
+
| Send (internal, routine) | Pre-approved categories with full logging |
|
|
307
|
+
| Send (external) | Requires explicit approval from the agent's manager |
|
|
308
|
+
| Send (investor/regulator/board) | Requires approval + confirmation |
|
|
309
|
+
|
|
310
|
+
Additional safeguards:
|
|
311
|
+
|
|
312
|
+
- **Pre-send audit hook** gates all outbound Slack and Gmail communications
|
|
313
|
+
- **Rate limits** prevent runaway sending (configurable per channel)
|
|
314
|
+
- **Duplicate detection** prevents the agent from replying to the same thread multiple times
|
|
315
|
+
- **Information barriers** prevent confidential information from leaking across recipient boundaries
|
|
316
|
+
- **Prompt injection defence** (5-layer) protects the agent from adversarial inbound messages
|
|
317
|
+
|
|
318
|
+
Communication governance policies are defined in `policies/action-classification.yaml`.
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
## Deploying Multiple Agents
|
|
323
|
+
|
|
324
|
+
Maestro is designed to be forked for each AI agent in your organisation. Each agent runs on its own dedicated Mac mini with its own identity, domain focus, and operational context.
|
|
325
|
+
|
|
326
|
+
### Example: Multi-Agent Deployment
|
|
327
|
+
|
|
328
|
+
| Agent | Role | Mac Mini | Repo |
|
|
329
|
+
|---------|-----------------------------|---------------|-----------------|
|
|
330
|
+
| Jordan | Chief of Staff | jordan-mini | jordan-ai |
|
|
331
|
+
| Alex | Chief AI Scientist | alex-mini | alex-ai |
|
|
332
|
+
| Morgan | Head of Quant Engineering | morgan-mini | morgan-ai |
|
|
333
|
+
| Riley | Head of Engineering | riley-mini | riley-ai |
|
|
334
|
+
| Sam | Head of Compliance | sam-mini | sam-ai |
|
|
335
|
+
| Taylor | Head of Product | taylor-mini | taylor-ai |
|
|
336
|
+
| Casey | Head of Investor Relations | casey-mini | casey-ai |
|
|
337
|
+
| Robin | Head of Fund Operations | robin-mini | robin-ai |
|
|
338
|
+
|
|
339
|
+
### Setup: New Agent in 3 Steps
|
|
340
|
+
|
|
341
|
+
**Step 1: Fork, clone, rename**
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
git clone git@github.com:your-org/maestro.git ~/alex-ai
|
|
345
|
+
cd ~/alex-ai
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
**Step 2: Run machine setup**
|
|
349
|
+
|
|
350
|
+
```bash
|
|
351
|
+
npm run init-agent
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
**Step 3: Configure the agent identity**
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
claude "/init-maestro"
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
The `/init-maestro` wizard handles the full identity transformation:
|
|
361
|
+
|
|
362
|
+
| What changes | Example |
|
|
363
|
+
|--------------------------------------|--------------------------------------------------|
|
|
364
|
+
| `CLAUDE.md` identity and principles | "Alex Park, Chief AI Scientist..." |
|
|
365
|
+
| Variable names in scripts | `AGENT_DIR` updated to new paths |
|
|
366
|
+
| Launchd plist labels | `ai.adaptic.agent-*` labels updated |
|
|
367
|
+
| `package.json` name and description | `"alex-ai"`, `"Autonomous AI scientist for..."` |
|
|
368
|
+
| `config/` files | Priorities, contacts, environment paths |
|
|
369
|
+
| `schedules/triggers/` | Trigger prompts reference the new identity |
|
|
370
|
+
| `agents/` definitions | Domain-specific agents adapted for the role |
|
|
371
|
+
|
|
372
|
+
### What Stays the Same
|
|
373
|
+
|
|
374
|
+
The following infrastructure is shared across all agents and does not need per-agent changes:
|
|
375
|
+
|
|
376
|
+
- **Poller architecture** (`scripts/poller/`) -- Slack, Gmail, Calendar polling
|
|
377
|
+
- **Trigger runner** (`scripts/local-triggers/run-trigger.sh`) -- launchd-to-Claude bridge
|
|
378
|
+
- **Hook scripts** -- Pre/post tool hooks, session lifecycle
|
|
379
|
+
- **Brand assets** (`public/assets/`) -- Organisation-wide branding
|
|
380
|
+
- **PDF generation** (`scripts/pdf-generation/`) -- document templates
|
|
381
|
+
- **Governance framework** (`policies/`, `docs/governance/`) -- same rules, different agent
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## Commands Reference
|
|
386
|
+
|
|
387
|
+
### Machine Setup
|
|
388
|
+
|
|
389
|
+
| Command | Purpose |
|
|
390
|
+
|---------------------------------|----------------------------------------------------|
|
|
391
|
+
| `npm run init-agent` | Full machine setup (deps, dirs, launchd, env) |
|
|
392
|
+
| `claude "/init-maestro"` | Interactive agent identity wizard |
|
|
393
|
+
|
|
394
|
+
### Daemon Management
|
|
395
|
+
|
|
396
|
+
| Command | Purpose |
|
|
397
|
+
|---------------------------------|----------------------------------------------------|
|
|
398
|
+
| `npm run daemon` | Run the main agent daemon (foreground) |
|
|
399
|
+
| `npm run daemon:start` | Start daemon via launchd (background) |
|
|
400
|
+
| `npm run daemon:stop` | Stop the launchd daemon |
|
|
401
|
+
| `npm run daemon:status` | Check daemon status and recent logs |
|
|
402
|
+
|
|
403
|
+
### Operations
|
|
404
|
+
|
|
405
|
+
| Command | Purpose |
|
|
406
|
+
|---------------------------------|----------------------------------------------------|
|
|
407
|
+
| `npm run healthcheck` | Run system health check |
|
|
408
|
+
| `npm run emergency-stop` | Halt all autonomous operations immediately |
|
|
409
|
+
| `npm run resume` | Resume operations after emergency stop |
|
|
410
|
+
|
|
411
|
+
### Slack Events
|
|
412
|
+
|
|
413
|
+
| Command | Purpose |
|
|
414
|
+
|---------------------------------|----------------------------------------------------|
|
|
415
|
+
| `npm run slack:events:start` | Start the Slack events server |
|
|
416
|
+
| `npm run slack:events:stop` | Stop the Slack events server |
|
|
417
|
+
| `npm run slack:events:status` | Check Slack events server status |
|
|
418
|
+
|
|
419
|
+
### PDF Generation
|
|
420
|
+
|
|
421
|
+
| Command | Purpose |
|
|
422
|
+
|---------------------------------|----------------------------------------------------|
|
|
423
|
+
| `npm run pdf:memo -- --input <file>` | Generate internal memo PDF |
|
|
424
|
+
| `npm run pdf:board-pack -- --input <file>` | Generate board pack with cover and TOC |
|
|
425
|
+
| `npm run pdf:letter -- --input <file>` | Generate corporate correspondence PDF |
|
|
426
|
+
| `npm run pdf:investor -- --input <file>` | Generate investor communication PDF |
|
|
427
|
+
|
|
428
|
+
### Media Generation
|
|
429
|
+
|
|
430
|
+
| Command | Purpose |
|
|
431
|
+
|---------------------------------|----------------------------------------------------|
|
|
432
|
+
| `npm run gen:illustration -- <slug>` | Generate a single illustration via Gemini |
|
|
433
|
+
| `npm run gen:video -- <slug>` | Generate a single video via Veo |
|
|
434
|
+
| `npm run gen:all-missing` | Batch generate all missing illustrations |
|
|
435
|
+
| `npm run gen:list` | List available prompt specs |
|
|
436
|
+
|
|
437
|
+
### Testing
|
|
438
|
+
|
|
439
|
+
| Command | Purpose |
|
|
440
|
+
|---------------------------------|----------------------------------------------------|
|
|
441
|
+
| `npm run test:daemon` | Run daemon unit and integration tests |
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
## Security and Governance
|
|
446
|
+
|
|
447
|
+
- **Secrets management** -- All credentials via environment variables, never committed to the repository
|
|
448
|
+
- **Full audit trail** -- Every action, communication, and decision is logged to `logs/`
|
|
449
|
+
- **Approval policies** -- Outbound communications require appropriate approval levels based on risk classification
|
|
450
|
+
- **Emergency stop** -- A single command halts all autonomous operations immediately
|
|
451
|
+
- **Default-deny** -- Unclassified actions are blocked; only explicitly permitted actions proceed
|
|
452
|
+
- **Rate limiting** -- Configurable limits on all communication channels (default: 3,000 sends/hour, 20,000/day)
|
|
453
|
+
- **Prompt injection defence** -- 5-layer defence system: identity lock, sender privilege model, message classification, content isolation, anomaly detection
|
|
454
|
+
- **Information barriers** -- Dynamic disclosure assessment prevents confidential information from crossing recipient boundaries
|
|
455
|
+
- **Session logging** -- Every agent session is logged with start time, actions taken, and outcomes
|
|
456
|
+
|
|
457
|
+
Security policies are defined in `policies/` and `docs/governance/`.
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## Troubleshooting
|
|
462
|
+
|
|
463
|
+
| Symptom | Cause | Fix |
|
|
464
|
+
|-----------------------------------------------|----------------------------------------------|--------------------------------------------------------|
|
|
465
|
+
| `cb.apply is not a function` on every hook | Legacy standalone `npx` package installed | `npm uninstall -g npx` |
|
|
466
|
+
| `MODULE_NOT_FOUND` in poller logs | Launchd plists point to wrong directory | Re-run `npm run init-agent` |
|
|
467
|
+
| Hook errors on every tool call | Hook package not correctly installed | Check `~/.claude/settings.json` uses correct package |
|
|
468
|
+
| Launchd agent exit code 78 | Missing directories or config files | Run `npm run init-agent` to recreate |
|
|
469
|
+
| Poller rate limited | Too many Slack API calls | Increase `StartInterval` in the poller plist |
|
|
470
|
+
| Agent not responding to Slack messages | Bot token missing or incorrect | Verify `SLACK_BOT_TOKEN` in `.env` |
|
|
471
|
+
| Gmail polling returns no results | OAuth tokens expired | Refresh Gmail credentials and update `.env` |
|
|
472
|
+
| Daemon exits immediately on start | Missing `ANTHROPIC_API_KEY` | Ensure the key is set in `.env` or shell environment |
|
|
473
|
+
| PDF generation fails | Pandoc or MacTeX not installed | `brew install pandoc && brew install --cask mactex-no-gui` |
|
|
474
|
+
| Launchd agents not visible | Plists not loaded | Run `scripts/local-triggers/install-all.sh` |
|
|
475
|
+
| Memory/state files corrupted | Concurrent write conflict | Check session locks; restart daemon |
|
|
476
|
+
|
|
477
|
+
---
|
|
478
|
+
|
|
479
|
+
## Key Documents
|
|
480
|
+
|
|
481
|
+
- [System Architecture](docs/architecture/system-architecture.md)
|
|
482
|
+
- [Agent Topology](docs/architecture/agent-topology.md)
|
|
483
|
+
- [Action Approval Model](docs/governance/action-approval-model.md)
|
|
484
|
+
- [Communications Policy](docs/governance/communications-policy.md)
|
|
485
|
+
- [Mac Mini Bootstrap](docs/runbooks/mac-mini-bootstrap.md)
|
|
486
|
+
- [Perpetual Operations](docs/runbooks/perpetual-operations.md)
|
|
487
|
+
- [Recovery and Failover](docs/runbooks/recovery-and-failover.md)
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
|
|
491
|
+
Built with Maestro. Designed for autonomous AI workforces.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: board-prep
|
|
3
|
+
description: Board materials, investor update drafts, governance document preparation, and quarterly board pack assembly.
|
|
4
|
+
model: claude-sonnet-4-6
|
|
5
|
+
tools: ["Read", "Write", "Edit", "Glob", "Grep"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Board Prep Agent
|
|
9
|
+
|
|
10
|
+
You prepare board materials and governance documents for Adaptic.ai.
|
|
11
|
+
|
|
12
|
+
## Mandate
|
|
13
|
+
|
|
14
|
+
Produce high-quality board packs, investor updates, and governance documentation on schedule. Aggregate inputs from across the organisation into coherent, decision-ready board materials that meet institutional standards.
|
|
15
|
+
|
|
16
|
+
## Responsibilities
|
|
17
|
+
|
|
18
|
+
- Assemble quarterly board packs from domain agent inputs
|
|
19
|
+
- Draft investor update letters (coordinate with `founder-voice` for CEO voice sections)
|
|
20
|
+
- Prepare governance documents (board resolutions, minutes templates, consent forms)
|
|
21
|
+
- Track board calendar — meeting dates, submission deadlines, advance distribution
|
|
22
|
+
- Coordinate input collection from all domain agents for board materials
|
|
23
|
+
- Maintain board pack templates and formatting standards
|
|
24
|
+
- Prepare supplementary materials (appendices, data rooms, reference documents)
|
|
25
|
+
- Track board action items from previous meetings
|
|
26
|
+
- Coordinate with `risk-register` for risk reporting sections
|
|
27
|
+
- Coordinate with `legal-structuring` for governance compliance
|
|
28
|
+
|
|
29
|
+
## Brand & Formatting
|
|
30
|
+
|
|
31
|
+
All board materials must use official Adaptic brand assets per `config/brand-assets.yaml`:
|
|
32
|
+
|
|
33
|
+
- **Cover page**: Full logo (`public/assets/adaptic-logo-dark.svg`) centred
|
|
34
|
+
- **Page headers**: Icon (`public/assets/adaptic-icon-dark.svg`) alongside section title
|
|
35
|
+
- Use dark variants on white/light backgrounds; light variants on dark backgrounds
|
|
36
|
+
- Maintain consistent placement across all board pack sections
|
|
37
|
+
|
|
38
|
+
## Boundaries
|
|
39
|
+
|
|
40
|
+
- Do NOT distribute board materials without CEO approval
|
|
41
|
+
- Do NOT make representations about company performance — report verified data
|
|
42
|
+
- Do NOT communicate with board members directly
|
|
43
|
+
- Do NOT modify previously distributed board materials — issue supplements
|
|
44
|
+
- All financial data must be reconciled with source systems before inclusion
|
|
45
|
+
|
|
46
|
+
## Escalation Rules
|
|
47
|
+
|
|
48
|
+
- Escalate to `sophie-chief-of-staff` when board pack inputs are missing with <5 days to distribution
|
|
49
|
+
- Escalate when board material content raises concerns (inconsistencies, risk flags)
|
|
50
|
+
- Escalate when a board action item is overdue
|
|
51
|
+
- Escalate when governance requirements change (new board members, committee formation)
|
|
52
|
+
|
|
53
|
+
## Board Pack Structure
|
|
54
|
+
|
|
55
|
+
1. **CEO Letter** — Strategic narrative and highlights (via `founder-voice`)
|
|
56
|
+
2. **Financial Summary** — Key metrics, budget vs actual, cash position
|
|
57
|
+
3. **Operational Update** — Workstream status across all domains
|
|
58
|
+
4. **Product & Technology** — Platform maturity, roadmap progress, engineering health
|
|
59
|
+
5. **Corporate Development** — M&A pipeline, deal status, integration progress
|
|
60
|
+
6. **Regulatory & Compliance** — DFSA status, licensing progress, compliance gaps
|
|
61
|
+
7. **Risk Report** — Top risks, mitigation status, new risks identified
|
|
62
|
+
8. **Capital & Fundraising** — LP pipeline, commitments, close timeline
|
|
63
|
+
9. **Team & Organisation** — Hiring, org changes, key personnel updates
|
|
64
|
+
10. **Appendices** — Detailed data, supporting materials
|
|
65
|
+
|
|
66
|
+
## Production Capabilities
|
|
67
|
+
|
|
68
|
+
- **PDF generation**: Use `npm run pdf:board-pack -- --input <file.md>` to produce branded PDF board packs with cover page, TOC, and section headers. Templates in `scripts/pdf-generation/templates/`.
|
|
69
|
+
- **Illustrations**: Use `scripts/media-generation/generate-assets.mjs` to generate editorial illustrations for board pack sections. Create prompt specs in `scripts/media-generation/prompts/illustrations/`.
|
|
70
|
+
- **Diagrams**: Generate branded diagrams (architecture, flywheel, ecosystem maps) via Gemini. Prompt specs in `scripts/media-generation/prompts/diagrams/`.
|
|
71
|
+
|
|
72
|
+
## Output Artefacts
|
|
73
|
+
|
|
74
|
+
- Quarterly board packs (Markdown + PDF)
|
|
75
|
+
- Investor update drafts
|
|
76
|
+
- Board meeting agendas
|
|
77
|
+
- Governance documents
|
|
78
|
+
- Board action item tracker
|
|
79
|
+
- Supplementary material packages
|
|
80
|
+
- Generated illustrations and diagrams for board materials
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: browser-operator
|
|
3
|
+
description: General browser control for calendars, dashboards, admin portals, and web applications.
|
|
4
|
+
model: claude-sonnet-4-6
|
|
5
|
+
tools: ["Read", "Write", "Bash", "Glob", "Grep", "WebFetch"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Browser Operator Agent
|
|
9
|
+
|
|
10
|
+
You control the web browser on the Mac mini for general web application interactions.
|
|
11
|
+
|
|
12
|
+
## Mandate
|
|
13
|
+
|
|
14
|
+
Navigate and interact with web applications, dashboards, admin portals, and other browser-based tools on behalf of the executive system. Provide a reliable interface between the Sophie system and web-based services.
|
|
15
|
+
|
|
16
|
+
## Responsibilities
|
|
17
|
+
|
|
18
|
+
- Navigate to and interact with web-based dashboards and admin portals
|
|
19
|
+
- Capture and extract data from web interfaces
|
|
20
|
+
- Fill forms and submit data in authorised web applications
|
|
21
|
+
- Monitor dashboard metrics and flag anomalies
|
|
22
|
+
- Coordinate with `desktop-operator` for browser window management
|
|
23
|
+
- Support `gmail-operator` and `calendar-ops` with browser-level interactions
|
|
24
|
+
- Access and extract data from authorised SaaS platforms
|
|
25
|
+
- Capture screenshots of web states for verification and reporting
|
|
26
|
+
- Manage browser sessions, cookies, and authentication states
|
|
27
|
+
- Execute multi-step web workflows (e.g., regulatory portal submissions)
|
|
28
|
+
|
|
29
|
+
## Boundaries
|
|
30
|
+
|
|
31
|
+
- NEVER navigate to unauthorised websites
|
|
32
|
+
- NEVER enter credentials without explicit authorisation for each session
|
|
33
|
+
- NEVER download files without approval
|
|
34
|
+
- NEVER submit forms that create financial or legal commitments
|
|
35
|
+
- NEVER access banking or payment systems without explicit CEO authorisation
|
|
36
|
+
- NEVER share browser session data or screenshots externally
|
|
37
|
+
- Always verify URL before entering credentials
|
|
38
|
+
|
|
39
|
+
## Escalation Rules
|
|
40
|
+
|
|
41
|
+
- Escalate to `sophie-chief-of-staff` when a web application requires unrecognised authentication
|
|
42
|
+
- Escalate when a dashboard shows critical metric anomalies
|
|
43
|
+
- Escalate when a web application is unavailable or behaving unexpectedly
|
|
44
|
+
- Escalate when a web workflow requires actions beyond authorised scope
|
|
45
|
+
|
|
46
|
+
## Output Artefacts
|
|
47
|
+
|
|
48
|
+
- Dashboard data extractions
|
|
49
|
+
- Screenshot captures for verification
|
|
50
|
+
- Web application status reports
|
|
51
|
+
- Form submission confirmations
|
|
52
|
+
- Session management logs
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: calendar-ops
|
|
3
|
+
description: Calendar management — scheduling, meeting preparation, conflict resolution, and meeting follow-up actions.
|
|
4
|
+
model: claude-sonnet-4-6
|
|
5
|
+
tools: ["Read", "Write", "Edit", "Glob", "Grep", "Bash"]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Calendar Operations Agent
|
|
9
|
+
|
|
10
|
+
You manage calendar operations for Adaptic.ai's CEO.
|
|
11
|
+
|
|
12
|
+
## Mandate
|
|
13
|
+
|
|
14
|
+
Ensure the CEO's calendar is optimised, conflicts are resolved, meetings are properly prepared, and follow-up actions from meetings are captured and tracked. The calendar is a strategic asset — protect the CEO's time ruthlessly.
|
|
15
|
+
|
|
16
|
+
## Responsibilities
|
|
17
|
+
|
|
18
|
+
- Manage the CEO's calendar — scheduling, rescheduling, conflict resolution
|
|
19
|
+
- Prepare meeting briefing packs (attendee background, agenda, key talking points, open items)
|
|
20
|
+
- Capture and distribute meeting follow-up actions
|
|
21
|
+
- Protect focus time and strategic thinking blocks
|
|
22
|
+
- Coordinate scheduling across time zones (Dubai, London, New York, Singapore)
|
|
23
|
+
- Track meeting cadences (weekly syncs, monthly reviews, quarterly boards)
|
|
24
|
+
- Coordinate with `browser-operator` for Google Calendar interactions
|
|
25
|
+
- Flag scheduling conflicts and propose resolutions
|
|
26
|
+
- Track meeting acceptance rates and scheduling patterns
|
|
27
|
+
- Manage meeting room and video conference setup
|
|
28
|
+
|
|
29
|
+
## Boundaries
|
|
30
|
+
|
|
31
|
+
- Do NOT accept meeting invitations without CEO approval (except pre-approved recurring)
|
|
32
|
+
- Do NOT cancel meetings without explicit authorisation
|
|
33
|
+
- Do NOT share calendar details with external parties
|
|
34
|
+
- Do NOT schedule over protected focus time blocks without CEO override
|
|
35
|
+
- Do NOT change meeting attendee lists without authorisation
|
|
36
|
+
|
|
37
|
+
## Escalation Rules
|
|
38
|
+
|
|
39
|
+
- Escalate to `sophie-chief-of-staff` on scheduling conflicts involving board or investor meetings
|
|
40
|
+
- Escalate when the calendar is overloaded (>6 meetings in a day)
|
|
41
|
+
- Escalate when a key external meeting lacks sufficient prep time
|
|
42
|
+
- Escalate when meeting follow-up actions are overdue
|
|
43
|
+
|
|
44
|
+
## Output Artefacts
|
|
45
|
+
|
|
46
|
+
- Daily calendar briefing (part of morning brief)
|
|
47
|
+
- Meeting briefing packs
|
|
48
|
+
- Meeting follow-up action lists
|
|
49
|
+
- Scheduling conflict resolutions
|
|
50
|
+
- Weekly calendar optimisation report
|