@runcore-sh/runcore 0.3.1 → 0.4.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/README.md +19 -19
- package/brain-template/agents/README.md +20 -0
- package/brain-template/identity/README.md +20 -0
- package/brain-template/identity/brand.md +25 -0
- package/brain-template/identity/principles.md +21 -0
- package/brain-template/identity/tone-of-voice.md +23 -0
- package/brain-template/knowledge/notes/tier-gated-ui-spec.md +1 -1
- package/brain-template/metrics/README.md +13 -0
- package/brain-template/operations/goals.yaml +12 -0
- package/brain-template/operations/todos.md +17 -0
- package/brain-template/ops/README.md +13 -0
- package/brain-template/scheduling/README.md +2 -2
- package/brain-template/skills/README.md +23 -0
- package/brain-template/templates/README.md +9 -0
- package/brain-template/training/README.md +20 -0
- package/dictionary.json +2 -2
- package/dist/activity/log.d.ts +3 -0
- package/dist/activity/log.d.ts.map +1 -1
- package/dist/activity/log.js +12 -0
- package/dist/activity/log.js.map +1 -1
- package/dist/agents/autonomous.js +1 -0
- package/dist/agents/autonomous.js.map +1 -1
- package/dist/agents/commit.d.ts.map +1 -1
- package/dist/agents/commit.js +3 -10
- package/dist/agents/commit.js.map +1 -1
- package/dist/agents/dedup-guard.d.ts.map +1 -1
- package/dist/agents/dedup-guard.js +26 -23
- package/dist/agents/dedup-guard.js.map +1 -1
- package/dist/agents/feed.d.ts +69 -0
- package/dist/agents/feed.d.ts.map +1 -0
- package/dist/agents/feed.js +176 -0
- package/dist/agents/feed.js.map +1 -0
- package/dist/agents/governance.d.ts +14 -0
- package/dist/agents/governance.d.ts.map +1 -1
- package/dist/agents/governance.js +73 -1
- package/dist/agents/governance.js.map +1 -1
- package/dist/agents/governed-spawn.d.ts +12 -0
- package/dist/agents/governed-spawn.d.ts.map +1 -1
- package/dist/agents/governed-spawn.js +8 -2
- package/dist/agents/governed-spawn.js.map +1 -1
- package/dist/agents/index.d.ts +2 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +1 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/issue-reporter.d.ts +15 -0
- package/dist/agents/issue-reporter.d.ts.map +1 -0
- package/dist/agents/issue-reporter.js +123 -0
- package/dist/agents/issue-reporter.js.map +1 -0
- package/dist/agents/issues.d.ts +33 -0
- package/dist/agents/issues.d.ts.map +1 -0
- package/dist/agents/issues.js +141 -0
- package/dist/agents/issues.js.map +1 -0
- package/dist/agents/reflection.js +3 -3
- package/dist/agents/reflection.js.map +1 -1
- package/dist/agents/runtime/driver.d.ts.map +1 -1
- package/dist/agents/runtime/driver.js +1 -2
- package/dist/agents/runtime/driver.js.map +1 -1
- package/dist/agents/runtime/manager.d.ts.map +1 -1
- package/dist/agents/runtime/manager.js +1 -0
- package/dist/agents/runtime/manager.js.map +1 -1
- package/dist/agents/runtime/types.d.ts +2 -0
- package/dist/agents/runtime/types.d.ts.map +1 -1
- package/dist/agents/spawn.d.ts.map +1 -1
- package/dist/agents/spawn.js +20 -26
- package/dist/agents/spawn.js.map +1 -1
- package/dist/agents/store.d.ts.map +1 -1
- package/dist/agents/store.js +34 -1
- package/dist/agents/store.js.map +1 -1
- package/dist/agents/types.d.ts +27 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/auth/identity.d.ts +3 -0
- package/dist/auth/identity.d.ts.map +1 -1
- package/dist/auth/identity.js +9 -1
- package/dist/auth/identity.js.map +1 -1
- package/dist/auth/middleware.d.ts.map +1 -1
- package/dist/auth/middleware.js +4 -0
- package/dist/auth/middleware.js.map +1 -1
- package/dist/calibration/conversation.d.ts +46 -0
- package/dist/calibration/conversation.d.ts.map +1 -0
- package/dist/calibration/conversation.js +295 -0
- package/dist/calibration/conversation.js.map +1 -0
- package/dist/calibration/index.d.ts +5 -0
- package/dist/calibration/index.d.ts.map +1 -0
- package/dist/calibration/index.js +5 -0
- package/dist/calibration/index.js.map +1 -0
- package/dist/calibration/runner.d.ts +127 -0
- package/dist/calibration/runner.d.ts.map +1 -0
- package/dist/calibration/runner.js +307 -0
- package/dist/calibration/runner.js.map +1 -0
- package/dist/calibration/store.d.ts +49 -0
- package/dist/calibration/store.d.ts.map +1 -0
- package/dist/calibration/store.js +140 -0
- package/dist/calibration/store.js.map +1 -0
- package/dist/calibration/types.d.ts +93 -0
- package/dist/calibration/types.d.ts.map +1 -0
- package/dist/calibration/types.js +53 -0
- package/dist/calibration/types.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +17 -2
- package/dist/cli.js.map +1 -1
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +28 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +181 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +76 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +93 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/dictionary/challenge.d.ts +66 -0
- package/dist/dictionary/challenge.d.ts.map +1 -0
- package/dist/dictionary/challenge.js +145 -0
- package/dist/dictionary/challenge.js.map +1 -0
- package/dist/dictionary/client.d.ts +32 -0
- package/dist/dictionary/client.d.ts.map +1 -0
- package/dist/dictionary/client.js +139 -0
- package/dist/dictionary/client.js.map +1 -0
- package/dist/dictionary/compatibility.d.ts +8 -0
- package/dist/dictionary/compatibility.d.ts.map +1 -0
- package/dist/dictionary/compatibility.js +56 -0
- package/dist/dictionary/compatibility.js.map +1 -0
- package/dist/dictionary/index.d.ts +22 -0
- package/dist/dictionary/index.d.ts.map +1 -0
- package/dist/dictionary/index.js +15 -0
- package/dist/dictionary/index.js.map +1 -0
- package/dist/dictionary/matcher.d.ts +18 -0
- package/dist/dictionary/matcher.d.ts.map +1 -0
- package/dist/dictionary/matcher.js +98 -0
- package/dist/dictionary/matcher.js.map +1 -0
- package/dist/dictionary/publisher.d.ts +17 -0
- package/dist/dictionary/publisher.d.ts.map +1 -0
- package/dist/dictionary/publisher.js +156 -0
- package/dist/dictionary/publisher.js.map +1 -0
- package/dist/dictionary/sync.d.ts +28 -0
- package/dist/dictionary/sync.d.ts.map +1 -0
- package/dist/dictionary/sync.js +268 -0
- package/dist/dictionary/sync.js.map +1 -0
- package/dist/dictionary/types.d.ts +75 -0
- package/dist/dictionary/types.d.ts.map +1 -0
- package/dist/dictionary/types.js +8 -0
- package/dist/dictionary/types.js.map +1 -0
- package/dist/dictionary/updater.d.ts +23 -0
- package/dist/dictionary/updater.d.ts.map +1 -0
- package/dist/dictionary/updater.js +84 -0
- package/dist/dictionary/updater.js.map +1 -0
- package/dist/dictionary/versioning.d.ts +15 -0
- package/dist/dictionary/versioning.d.ts.map +1 -0
- package/dist/dictionary/versioning.js +52 -0
- package/dist/dictionary/versioning.js.map +1 -0
- package/dist/errors.d.ts +36 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +66 -0
- package/dist/errors.js.map +1 -0
- package/dist/events/event-bus.d.ts +37 -0
- package/dist/events/event-bus.d.ts.map +1 -0
- package/dist/events/event-bus.js +261 -0
- package/dist/events/event-bus.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +2 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +71 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +7 -0
- package/dist/events/types.js.map +1 -0
- package/dist/feed/client.d.ts +34 -0
- package/dist/feed/client.d.ts.map +1 -0
- package/dist/feed/client.js +206 -0
- package/dist/feed/client.js.map +1 -0
- package/dist/feed/index.d.ts +61 -0
- package/dist/feed/index.d.ts.map +1 -0
- package/dist/feed/index.js +115 -0
- package/dist/feed/index.js.map +1 -0
- package/dist/feed/metrics.d.ts +51 -0
- package/dist/feed/metrics.d.ts.map +1 -0
- package/dist/feed/metrics.js +84 -0
- package/dist/feed/metrics.js.map +1 -0
- package/dist/feed/mixer.d.ts +89 -0
- package/dist/feed/mixer.d.ts.map +1 -0
- package/dist/feed/mixer.js +230 -0
- package/dist/feed/mixer.js.map +1 -0
- package/dist/feed/tiers.d.ts +15 -0
- package/dist/feed/tiers.d.ts.map +1 -0
- package/dist/feed/tiers.js +75 -0
- package/dist/feed/tiers.js.map +1 -0
- package/dist/feed/types.d.ts +76 -0
- package/dist/feed/types.d.ts.map +1 -0
- package/dist/feed/types.js +6 -0
- package/dist/feed/types.js.map +1 -0
- package/dist/files/registry.d.ts +77 -0
- package/dist/files/registry.d.ts.map +1 -0
- package/dist/files/registry.js +222 -0
- package/dist/files/registry.js.map +1 -0
- package/dist/google/plugin.d.ts +17 -0
- package/dist/google/plugin.d.ts.map +1 -0
- package/dist/google/plugin.js +169 -0
- package/dist/google/plugin.js.map +1 -0
- package/dist/health/checker.d.ts.map +1 -1
- package/dist/health/checker.js +14 -4
- package/dist/health/checker.js.map +1 -1
- package/dist/health/checks/openrouter.js +1 -1
- package/dist/health/checks/openrouter.js.map +1 -1
- package/dist/health/checks.d.ts +1 -1
- package/dist/health/checks.d.ts.map +1 -1
- package/dist/health/checks.js +9 -3
- package/dist/health/checks.js.map +1 -1
- package/dist/ledger/distance.d.ts +19 -0
- package/dist/ledger/distance.d.ts.map +1 -0
- package/dist/ledger/distance.js +70 -0
- package/dist/ledger/distance.js.map +1 -0
- package/dist/ledger/index.d.ts +8 -0
- package/dist/ledger/index.d.ts.map +1 -0
- package/dist/ledger/index.js +7 -0
- package/dist/ledger/index.js.map +1 -0
- package/dist/ledger/store.d.ts +27 -0
- package/dist/ledger/store.d.ts.map +1 -0
- package/dist/ledger/store.js +123 -0
- package/dist/ledger/store.js.map +1 -0
- package/dist/ledger/types.d.ts +109 -0
- package/dist/ledger/types.d.ts.map +1 -0
- package/dist/ledger/types.js +57 -0
- package/dist/ledger/types.js.map +1 -0
- package/dist/literacy.d.ts +50 -0
- package/dist/literacy.d.ts.map +1 -0
- package/dist/literacy.js +141 -0
- package/dist/literacy.js.map +1 -0
- package/dist/llm/complete.d.ts.map +1 -1
- package/dist/llm/complete.js +36 -3
- package/dist/llm/complete.js.map +1 -1
- package/dist/llm/fetch-guard.d.ts.map +1 -1
- package/dist/llm/fetch-guard.js +2 -0
- package/dist/llm/fetch-guard.js.map +1 -1
- package/dist/llm/membrane.d.ts +5 -0
- package/dist/llm/membrane.d.ts.map +1 -1
- package/dist/llm/membrane.js +48 -8
- package/dist/llm/membrane.js.map +1 -1
- package/dist/llm/nlp-detect.d.ts +17 -0
- package/dist/llm/nlp-detect.d.ts.map +1 -0
- package/dist/llm/nlp-detect.js +45 -0
- package/dist/llm/nlp-detect.js.map +1 -0
- package/dist/llm/ollama.d.ts +5 -0
- package/dist/llm/ollama.d.ts.map +1 -1
- package/dist/llm/ollama.js +39 -1
- package/dist/llm/ollama.js.map +1 -1
- package/dist/llm/openrouter.d.ts.map +1 -1
- package/dist/llm/openrouter.js +17 -1
- package/dist/llm/openrouter.js.map +1 -1
- package/dist/llm/providers/ollama.d.ts +7 -2
- package/dist/llm/providers/ollama.d.ts.map +1 -1
- package/dist/llm/providers/ollama.js +109 -17
- package/dist/llm/providers/ollama.js.map +1 -1
- package/dist/llm/providers/openrouter.js +1 -1
- package/dist/llm/providers/openrouter.js.map +1 -1
- package/dist/llm/sensitive-registry.d.ts +6 -0
- package/dist/llm/sensitive-registry.d.ts.map +1 -1
- package/dist/llm/sensitive-registry.js +60 -1
- package/dist/llm/sensitive-registry.js.map +1 -1
- package/dist/mcp-server.js +25 -18
- package/dist/mcp-server.js.map +1 -1
- package/dist/metrics/collector.d.ts +6 -0
- package/dist/metrics/collector.d.ts.map +1 -1
- package/dist/metrics/collector.js +150 -0
- package/dist/metrics/collector.js.map +1 -1
- package/dist/metrics/types.d.ts +1 -1
- package/dist/metrics/types.d.ts.map +1 -1
- package/dist/middleware/error-handler.d.ts +13 -0
- package/dist/middleware/error-handler.d.ts.map +1 -0
- package/dist/middleware/error-handler.js +71 -0
- package/dist/middleware/error-handler.js.map +1 -0
- package/dist/notifications/channels/adapter.d.ts +28 -0
- package/dist/notifications/channels/adapter.d.ts.map +1 -0
- package/dist/notifications/channels/adapter.js +55 -0
- package/dist/notifications/channels/adapter.js.map +1 -0
- package/dist/notifications/channels/index.d.ts +6 -0
- package/dist/notifications/channels/index.d.ts.map +1 -0
- package/dist/notifications/channels/index.js +6 -0
- package/dist/notifications/channels/index.js.map +1 -0
- package/dist/notifications/channels/log.d.ts +15 -0
- package/dist/notifications/channels/log.d.ts.map +1 -0
- package/dist/notifications/channels/log.js +29 -0
- package/dist/notifications/channels/log.js.map +1 -0
- package/dist/notifications/engine.d.ts +37 -0
- package/dist/notifications/engine.d.ts.map +1 -0
- package/dist/notifications/engine.js +198 -0
- package/dist/notifications/engine.js.map +1 -0
- package/dist/notifications/index.d.ts +12 -3
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +15 -3
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/types.d.ts +97 -0
- package/dist/notifications/types.d.ts.map +1 -0
- package/dist/notifications/types.js +14 -0
- package/dist/notifications/types.js.map +1 -0
- package/dist/onboarding/bootstrap.d.ts +51 -0
- package/dist/onboarding/bootstrap.d.ts.map +1 -0
- package/dist/onboarding/bootstrap.js +92 -0
- package/dist/onboarding/bootstrap.js.map +1 -0
- package/dist/onboarding/conversation.d.ts +131 -0
- package/dist/onboarding/conversation.d.ts.map +1 -0
- package/dist/onboarding/conversation.js +259 -0
- package/dist/onboarding/conversation.js.map +1 -0
- package/dist/onboarding/flow.d.ts +63 -0
- package/dist/onboarding/flow.d.ts.map +1 -0
- package/dist/onboarding/flow.js +287 -0
- package/dist/onboarding/flow.js.map +1 -0
- package/dist/onboarding/index.d.ts +17 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/index.js +23 -0
- package/dist/onboarding/index.js.map +1 -0
- package/dist/onboarding/name-extraction.d.ts +42 -0
- package/dist/onboarding/name-extraction.d.ts.map +1 -0
- package/dist/onboarding/name-extraction.js +164 -0
- package/dist/onboarding/name-extraction.js.map +1 -0
- package/dist/onboarding/nerve-link.d.ts +23 -0
- package/dist/onboarding/nerve-link.d.ts.map +1 -0
- package/dist/onboarding/nerve-link.js +24 -0
- package/dist/onboarding/nerve-link.js.map +1 -0
- package/dist/onboarding/phases.d.ts +66 -0
- package/dist/onboarding/phases.d.ts.map +1 -0
- package/dist/onboarding/phases.js +167 -0
- package/dist/onboarding/phases.js.map +1 -0
- package/dist/onboarding/safe-word.d.ts +39 -0
- package/dist/onboarding/safe-word.d.ts.map +1 -0
- package/dist/onboarding/safe-word.js +90 -0
- package/dist/onboarding/safe-word.js.map +1 -0
- package/dist/onboarding/types.d.ts +124 -0
- package/dist/onboarding/types.d.ts.map +1 -0
- package/dist/onboarding/types.js +46 -0
- package/dist/onboarding/types.js.map +1 -0
- package/dist/openloop/resolution-scanner.d.ts +1 -1
- package/dist/openloop/resolution-scanner.d.ts.map +1 -1
- package/dist/openloop/resolution-scanner.js +4 -14
- package/dist/openloop/resolution-scanner.js.map +1 -1
- package/dist/plugins/index.d.ts +24 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +91 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/status.d.ts +10 -0
- package/dist/plugins/status.d.ts.map +1 -0
- package/dist/plugins/status.js +12 -0
- package/dist/plugins/status.js.map +1 -0
- package/dist/posture/index.d.ts +2 -2
- package/dist/posture/index.d.ts.map +1 -1
- package/dist/posture/index.js +1 -1
- package/dist/posture/index.js.map +1 -1
- package/dist/posture/types.d.ts +34 -0
- package/dist/posture/types.d.ts.map +1 -1
- package/dist/posture/types.js +28 -0
- package/dist/posture/types.js.map +1 -1
- package/dist/pulse/activation-event.d.ts +5 -4
- package/dist/pulse/activation-event.d.ts.map +1 -1
- package/dist/pulse/activation-event.js +31 -8
- package/dist/pulse/activation-event.js.map +1 -1
- package/dist/pulse/activation-log.d.ts.map +1 -1
- package/dist/pulse/activation-log.js.map +1 -1
- package/dist/pulse/index.d.ts +3 -0
- package/dist/pulse/index.d.ts.map +1 -1
- package/dist/pulse/index.js +4 -0
- package/dist/pulse/index.js.map +1 -1
- package/dist/pulse/tier.d.ts +67 -0
- package/dist/pulse/tier.d.ts.map +1 -0
- package/dist/pulse/tier.js +104 -0
- package/dist/pulse/tier.js.map +1 -0
- package/dist/pulse/work.d.ts +66 -0
- package/dist/pulse/work.d.ts.map +1 -0
- package/dist/pulse/work.js +117 -0
- package/dist/pulse/work.js.map +1 -0
- package/dist/runtime-lock.d.ts +51 -0
- package/dist/runtime-lock.d.ts.map +1 -0
- package/dist/runtime-lock.js +147 -0
- package/dist/runtime-lock.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1244 -188
- package/dist/server.js.map +1 -1
- package/dist/services/whatsapp.js +1 -1
- package/dist/services/whatsapp.js.map +1 -1
- package/dist/settings.d.ts +15 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +48 -1
- package/dist/settings.js.map +1 -1
- package/dist/skills/index.d.ts +2 -2
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +2 -2
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/registry.d.ts +53 -142
- package/dist/skills/registry.d.ts.map +1 -1
- package/dist/skills/registry.js +249 -611
- package/dist/skills/registry.js.map +1 -1
- package/dist/stream/emitter.d.ts +36 -0
- package/dist/stream/emitter.d.ts.map +1 -0
- package/dist/stream/emitter.js +177 -0
- package/dist/stream/emitter.js.map +1 -0
- package/dist/stream/index.d.ts +4 -0
- package/dist/stream/index.d.ts.map +1 -0
- package/dist/stream/index.js +3 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/stream/types.d.ts +100 -0
- package/dist/stream/types.d.ts.map +1 -0
- package/dist/stream/types.js +19 -0
- package/dist/stream/types.js.map +1 -0
- package/dist/threads/index.d.ts +3 -0
- package/dist/threads/index.d.ts.map +1 -0
- package/dist/threads/index.js +2 -0
- package/dist/threads/index.js.map +1 -0
- package/dist/threads/store.d.ts +36 -0
- package/dist/threads/store.d.ts.map +1 -0
- package/dist/threads/store.js +171 -0
- package/dist/threads/store.js.map +1 -0
- package/dist/threads/types.d.ts +16 -0
- package/dist/threads/types.d.ts.map +1 -0
- package/dist/threads/types.js +6 -0
- package/dist/threads/types.js.map +1 -0
- package/dist/tick/index.d.ts +10 -0
- package/dist/tick/index.d.ts.map +1 -0
- package/dist/tick/index.js +8 -0
- package/dist/tick/index.js.map +1 -0
- package/dist/tick/runner.d.ts +56 -0
- package/dist/tick/runner.d.ts.map +1 -0
- package/dist/tick/runner.js +235 -0
- package/dist/tick/runner.js.map +1 -0
- package/dist/tick/types.d.ts +73 -0
- package/dist/tick/types.d.ts.map +1 -0
- package/dist/tick/types.js +8 -0
- package/dist/tick/types.js.map +1 -0
- package/dist/tier/types.js +3 -3
- package/dist/tier/types.js.map +1 -1
- package/dist/ui-sync.d.ts +34 -0
- package/dist/ui-sync.d.ts.map +1 -0
- package/dist/ui-sync.js +108 -0
- package/dist/ui-sync.js.map +1 -0
- package/dist/utils/git.d.ts +12 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +44 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/volumes/index.d.ts +3 -0
- package/dist/volumes/index.d.ts.map +1 -0
- package/dist/volumes/index.js +2 -0
- package/dist/volumes/index.js.map +1 -0
- package/dist/volumes/manager.d.ts +83 -0
- package/dist/volumes/manager.d.ts.map +1 -0
- package/dist/volumes/manager.js +462 -0
- package/dist/volumes/manager.js.map +1 -0
- package/dist/volumes/types.d.ts +66 -0
- package/dist/volumes/types.d.ts.map +1 -0
- package/dist/volumes/types.js +8 -0
- package/dist/volumes/types.js.map +1 -0
- package/package.json +8 -5
- package/public/avatar/Hey-Dash_en_windows_v4_0_0.zip +0 -0
- package/public/avatar/README.md +43 -0
- package/public/avatar/cache/06fa55aececcc478.mp4 +0 -0
- package/public/avatar/cache/07a65738ba170827.mp4 +0 -0
- package/public/avatar/cache/08b6f4880f59a385.mp4 +0 -0
- package/public/avatar/cache/0ef9e0e78d715af4.mp4 +0 -0
- package/public/avatar/cache/0fa85e9e8f444a8b.mp4 +0 -0
- package/public/avatar/cache/1185fd491f413406.mp4 +0 -0
- package/public/avatar/cache/1b374d5390258fea.mp4 +0 -0
- package/public/avatar/cache/1e2367029b92f8aa.mp4 +0 -0
- package/public/avatar/cache/272c004a41087de5.mp4 +0 -0
- package/public/avatar/cache/2a0f3ff34d92521a.mp4 +0 -0
- package/public/avatar/cache/307a6f70859aeab8.mp4 +0 -0
- package/public/avatar/cache/332384e088ca214b.mp4 +0 -0
- package/public/avatar/cache/39fc4e81574d14ed.mp4 +0 -0
- package/public/avatar/cache/4a5c6051c1ef6a71.mp4 +0 -0
- package/public/avatar/cache/51f4aa76398c8c29.mp4 +0 -0
- package/public/avatar/cache/5d9a960bbf71732c.mp4 +0 -0
- package/public/avatar/cache/5e0954401e15af89.mp4 +0 -0
- package/public/avatar/cache/884ae6717fcacdd5.mp4 +0 -0
- package/public/avatar/cache/8ea0b7220d139615.mp4 +0 -0
- package/public/avatar/cache/9b9c4f7b8508eecc.mp4 +0 -0
- package/public/avatar/cache/9be1030ec2aa2b01.mp4 +0 -0
- package/public/avatar/cache/b35f7a3d558f22cb.mp4 +0 -0
- package/public/avatar/cache/be89f49970672374.mp4 +0 -0
- package/public/avatar/cache/c11fdc99479492b6.mp4 +0 -0
- package/public/avatar/cache/c900811e3382ac6d.mp4 +0 -0
- package/public/avatar/cache/d42a73667acf5716.mp4 +0 -0
- package/public/avatar/cache/e539f247a8908603.mp4 +0 -0
- package/public/avatar/cache/e78fceae2373b7c1.mp4 +0 -0
- package/public/avatar/cache/ec95af57d33b3f07.mp4 +0 -0
- package/public/avatar/cache/eeb8d775f40dbe2c.mp4 +0 -0
- package/public/avatar/dash_headhshot_v1.png +0 -0
- package/public/avatar/idle.mp4 +0 -0
- package/public/avatar/photo.png +0 -0
- package/public/board.html +6 -0
- package/public/browser.html +6 -2
- package/public/demo-data/Family Photos/2024/christmas-dinner.txt +13 -0
- package/public/demo-data/Family Photos/2025/summer-cookout.txt +13 -0
- package/public/demo-data/Financial/Insurance/auto-policy.txt +26 -0
- package/public/demo-data/Financial/Insurance/homeowners-policy.txt +20 -0
- package/public/demo-data/Financial/Taxes/property-tax-2025.txt +18 -0
- package/public/demo-data/Financial/Taxes/w2-2025.txt +18 -0
- package/public/demo-data/Health Records/lab-results-2026.txt +26 -0
- package/public/demo-data/Health Records/prescription-list.txt +24 -0
- package/public/demo-data/Health Records/vaccination-record.csv +8 -0
- package/public/demo-data/Legal/Estate/beneficiary-contacts.csv +4 -0
- package/public/demo-data/Legal/Estate/will-summary.txt +22 -0
- package/public/demo-data/Recipes/christmas-cookies.md +25 -0
- package/public/demo-data/Recipes/grandmas-chili.md +30 -0
- package/public/demo-data/Work/Contracts/lawn-service-2026.txt +23 -0
- package/public/demo-data/Work/Projects/project-status.md +19 -0
- package/public/demo-data/passwords.txt +13 -0
- package/public/demo-ingest.html +388 -0
- package/public/help.html +4 -1
- package/public/icon-192.png +0 -0
- package/public/icon-512.png +0 -0
- package/public/index.html +2641 -574
- package/public/library.html +51 -29
- package/public/manifest.json +21 -0
- package/public/nerve/icon-192.svg +6 -0
- package/public/nerve/icon-512.svg +6 -0
- package/public/nerve/index.html +698 -0
- package/public/nerve/manifest.json +24 -0
- package/public/nerve/sw.js +84 -0
- package/public/observatory.html +5 -1
- package/public/ops.html +33 -3
- package/public/pulse.html +3 -0
- package/public/registry.html +6 -2
- package/public/roadmap.html +7 -2
- package/public/sw.js +65 -0
- package/brain-template/registry.md +0 -566
- package/brain-template/rest_api-integration.md +0 -522
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// Core Nerve — Service Worker
|
|
2
|
+
// Caches app shell, handles push notifications
|
|
3
|
+
|
|
4
|
+
const CACHE_NAME = "nerve-v1";
|
|
5
|
+
const SHELL = ["/nerve"];
|
|
6
|
+
|
|
7
|
+
// Install: cache the app shell
|
|
8
|
+
self.addEventListener("install", (e) => {
|
|
9
|
+
e.waitUntil(
|
|
10
|
+
caches.open(CACHE_NAME).then((c) => c.addAll(SHELL))
|
|
11
|
+
);
|
|
12
|
+
self.skipWaiting();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// Activate: clean old caches
|
|
16
|
+
self.addEventListener("activate", (e) => {
|
|
17
|
+
e.waitUntil(
|
|
18
|
+
caches.keys().then((keys) =>
|
|
19
|
+
Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k)))
|
|
20
|
+
)
|
|
21
|
+
);
|
|
22
|
+
self.clients.claim();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Fetch: cache-first for shell, network-only for API
|
|
26
|
+
self.addEventListener("fetch", (e) => {
|
|
27
|
+
const url = new URL(e.request.url);
|
|
28
|
+
|
|
29
|
+
// API calls always go to network
|
|
30
|
+
if (url.pathname.startsWith("/api/")) return;
|
|
31
|
+
|
|
32
|
+
e.respondWith(
|
|
33
|
+
caches.match(e.request).then((cached) => {
|
|
34
|
+
if (cached) return cached;
|
|
35
|
+
return fetch(e.request).then((res) => {
|
|
36
|
+
if (res.ok && e.request.method === "GET") {
|
|
37
|
+
const clone = res.clone();
|
|
38
|
+
caches.open(CACHE_NAME).then((c) => c.put(e.request, clone));
|
|
39
|
+
}
|
|
40
|
+
return res;
|
|
41
|
+
});
|
|
42
|
+
})
|
|
43
|
+
);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// Push: show notification when server sends one
|
|
47
|
+
self.addEventListener("push", (e) => {
|
|
48
|
+
if (!e.data) return;
|
|
49
|
+
|
|
50
|
+
let payload;
|
|
51
|
+
try {
|
|
52
|
+
payload = e.data.json();
|
|
53
|
+
} catch {
|
|
54
|
+
payload = { title: "Core", body: e.data.text() };
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const options = {
|
|
58
|
+
body: payload.body || "",
|
|
59
|
+
icon: "/public/nerve/icon-192.svg",
|
|
60
|
+
badge: "/public/nerve/icon-192.svg",
|
|
61
|
+
vibrate: [100, 50, 100],
|
|
62
|
+
data: payload.data || {},
|
|
63
|
+
actions: [{ action: "open", title: "Open" }],
|
|
64
|
+
tag: "nerve-" + (payload.data?.state ? Object.values(payload.data.state).join("-") : "update"),
|
|
65
|
+
renotify: true,
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
e.waitUntil(self.registration.showNotification(payload.title || "Core", options));
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Notification click: open the nerve PWA
|
|
72
|
+
self.addEventListener("notificationclick", (e) => {
|
|
73
|
+
e.notification.close();
|
|
74
|
+
e.waitUntil(
|
|
75
|
+
self.clients.matchAll({ type: "window" }).then((clients) => {
|
|
76
|
+
for (const client of clients) {
|
|
77
|
+
if (client.url.includes("/nerve") && "focus" in client) {
|
|
78
|
+
return client.focus();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return self.clients.openWindow("/nerve");
|
|
82
|
+
})
|
|
83
|
+
);
|
|
84
|
+
});
|
package/public/observatory.html
CHANGED
|
@@ -915,6 +915,9 @@
|
|
|
915
915
|
</main>
|
|
916
916
|
|
|
917
917
|
<script>
|
|
918
|
+
var sessionId = sessionStorage.getItem("dash_sid");
|
|
919
|
+
function authHeaders() { return sessionId ? { "x-session-id": sessionId } : {}; }
|
|
920
|
+
fetch('/api/tier', { headers: authHeaders() }).then(r=>{ if(r.status===401){location.href='/';return null;} return r.json(); }).then(d=>{if(d&&(!d.capabilities||!d.capabilities.spawning))location.href='/'}).catch(()=>{});
|
|
918
921
|
(function() {
|
|
919
922
|
// --- Helpers ---
|
|
920
923
|
|
|
@@ -941,7 +944,8 @@
|
|
|
941
944
|
const controller = new AbortController();
|
|
942
945
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
943
946
|
try {
|
|
944
|
-
const res = await fetch(url, { signal: controller.signal });
|
|
947
|
+
const res = await fetch(url, { signal: controller.signal, headers: authHeaders() });
|
|
948
|
+
if (res.status === 401) { window.location.href = '/'; return null; }
|
|
945
949
|
if (!res.ok) throw new Error(res.statusText);
|
|
946
950
|
return res.json();
|
|
947
951
|
} finally {
|
package/public/ops.html
CHANGED
|
@@ -652,6 +652,9 @@
|
|
|
652
652
|
</main>
|
|
653
653
|
|
|
654
654
|
<script>
|
|
655
|
+
var sessionId = sessionStorage.getItem("dash_sid");
|
|
656
|
+
function authHeaders() { return sessionId ? { "x-session-id": sessionId } : {}; }
|
|
657
|
+
fetch('/api/tier', { headers: authHeaders() }).then(r=>{ if(r.status===401){location.href='/';return null;} return r.json(); }).then(d=>{if(d&&(!d.capabilities||!d.capabilities.spawning))location.href='/'}).catch(()=>{});
|
|
655
658
|
(function() {
|
|
656
659
|
const POLL_INTERVAL = 15000;
|
|
657
660
|
let activitySince = 0;
|
|
@@ -704,7 +707,8 @@
|
|
|
704
707
|
const controller = new AbortController();
|
|
705
708
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
706
709
|
try {
|
|
707
|
-
const res = await fetch(url, { signal: controller.signal });
|
|
710
|
+
const res = await fetch(url, { signal: controller.signal, headers: authHeaders() });
|
|
711
|
+
if (res.status === 401) { window.location.href = '/'; return null; }
|
|
708
712
|
if (!res.ok) throw new Error(res.statusText);
|
|
709
713
|
return res.json();
|
|
710
714
|
} finally {
|
|
@@ -774,7 +778,7 @@
|
|
|
774
778
|
btn.disabled = true;
|
|
775
779
|
btn.textContent = 'Restarting...';
|
|
776
780
|
try {
|
|
777
|
-
await fetch('/api/ops/sidecars/' + name + '/restart', { method: 'POST' });
|
|
781
|
+
await fetch('/api/ops/sidecars/' + name + '/restart', { method: 'POST', headers: authHeaders() });
|
|
778
782
|
// Refresh after short delay to let sidecar come up
|
|
779
783
|
setTimeout(() => refreshAll(), 1500);
|
|
780
784
|
} catch {
|
|
@@ -784,6 +788,32 @@
|
|
|
784
788
|
});
|
|
785
789
|
}
|
|
786
790
|
|
|
791
|
+
function humanizeOps(summary, source) {
|
|
792
|
+
if (!summary) return "";
|
|
793
|
+
var s = summary;
|
|
794
|
+
var cm = s.match(/^Agent task "(.+?)" completed/);
|
|
795
|
+
if (cm) return "\u2705 " + cm[1];
|
|
796
|
+
var fm = s.match(/^Agent task "(.+?)" failed.*?\n(?:Output:\n)?(.+)/s);
|
|
797
|
+
if (fm) return "\u274C " + fm[1] + " \u2014 " + fm[2].trim().slice(0, 60);
|
|
798
|
+
var fs = s.match(/^Agent task "(.+?)" failed/);
|
|
799
|
+
if (fs) return "\u274C " + fs[1];
|
|
800
|
+
var sp = s.match(/^Spawn (\d+) agent\(s\): (.+)/);
|
|
801
|
+
if (sp) return "\u{1F680} Starting " + sp[1] + ": " + sp[2];
|
|
802
|
+
var wm = s.match(/^Working on (\d+) task\(s\): (.+)/);
|
|
803
|
+
if (wm) return "\u{1F3C3} " + wm[1] + " running: " + wm[2];
|
|
804
|
+
if (s.startsWith("Batch done")) return "\u{1F3C1} Batch complete";
|
|
805
|
+
var lm = s.match(/^LLM call: "(.+?)"/);
|
|
806
|
+
if (lm) return "\u{1F4AD} " + lm[1];
|
|
807
|
+
if (s.includes("credits exhausted") || s.includes("Credits exhausted")) return "\u{1F4B8} Credits used up";
|
|
808
|
+
var qm = s.match(/New queue item (DASH-\d+).*?"(.+?)"/);
|
|
809
|
+
if (qm) return "\u{1F4CB} " + qm[2];
|
|
810
|
+
if (s.includes("new email")) return "\u{1F4E7} " + s;
|
|
811
|
+
if (s.includes("Compacted conversation")) return "\u{1F4E6} Memory compacted";
|
|
812
|
+
var pe = s.match(/^Poll error: (.+)/);
|
|
813
|
+
if (pe) return "\u{1F50C} " + pe[1].slice(0, 60);
|
|
814
|
+
return s.length > 100 ? s.slice(0, 97) + "..." : s;
|
|
815
|
+
}
|
|
816
|
+
|
|
787
817
|
function renderActivity(data) {
|
|
788
818
|
if (data.activities.length > 0) {
|
|
789
819
|
allActivities = allActivities.concat(data.activities);
|
|
@@ -805,7 +835,7 @@
|
|
|
805
835
|
<div class="activity-item">
|
|
806
836
|
<span class="activity-time">${fmtTime(a.timestamp)}</span>
|
|
807
837
|
<span class="activity-source" data-s="${escHtml(a.source)}">${escHtml(a.source)}</span>
|
|
808
|
-
<span class="activity-text">${escHtml(a.summary)}</span>
|
|
838
|
+
<span class="activity-text">${escHtml(humanizeOps(a.summary, a.source))}</span>
|
|
809
839
|
</div>
|
|
810
840
|
`).join('');
|
|
811
841
|
}
|
package/public/pulse.html
CHANGED
|
@@ -229,6 +229,9 @@
|
|
|
229
229
|
</div>
|
|
230
230
|
|
|
231
231
|
<script>
|
|
232
|
+
var sessionId = sessionStorage.getItem("dash_sid");
|
|
233
|
+
function authHeaders() { return sessionId ? { "x-session-id": sessionId } : {}; }
|
|
234
|
+
fetch('/api/tier', { headers: authHeaders() }).then(r=>{ if(r.status===401){location.href='/';return null;} return r.json(); }).then(d=>{if(d&&(!d.capabilities||!d.capabilities.vault))location.href='/'}).catch(()=>{});
|
|
232
235
|
// --- State ---
|
|
233
236
|
const state = {
|
|
234
237
|
sense: 0.3,
|
package/public/registry.html
CHANGED
|
@@ -399,12 +399,16 @@
|
|
|
399
399
|
</div>
|
|
400
400
|
|
|
401
401
|
<script>
|
|
402
|
+
var sessionId = sessionStorage.getItem("dash_sid");
|
|
403
|
+
function authHeaders() { return sessionId ? { "x-session-id": sessionId } : {}; }
|
|
404
|
+
fetch('/api/tier', { headers: authHeaders() }).then(r=>{ if(r.status===401){location.href='/';return null;} return r.json(); }).then(d=>{if(d&&(!d.capabilities||!d.capabilities.integrations))location.href='/'}).catch(()=>{});
|
|
402
405
|
(function() {
|
|
403
406
|
let currentData = null;
|
|
404
407
|
|
|
405
408
|
async function fetchData() {
|
|
406
409
|
try {
|
|
407
|
-
const res = await fetch("/api/capabilities");
|
|
410
|
+
const res = await fetch("/api/capabilities", { headers: authHeaders() });
|
|
411
|
+
if (res.status === 401) { window.location.href = '/'; return null; }
|
|
408
412
|
if (!res.ok) throw new Error("HTTP " + res.status);
|
|
409
413
|
return await res.json();
|
|
410
414
|
} catch (err) {
|
|
@@ -593,7 +597,7 @@
|
|
|
593
597
|
try {
|
|
594
598
|
await fetch("/api/settings", {
|
|
595
599
|
method: "PUT",
|
|
596
|
-
headers: { "Content-Type": "application/json" },
|
|
600
|
+
headers: Object.assign({ "Content-Type": "application/json" }, authHeaders()),
|
|
597
601
|
body: JSON.stringify({ capabilities: { [capId]: enabled } })
|
|
598
602
|
});
|
|
599
603
|
await refresh();
|
package/public/roadmap.html
CHANGED
|
@@ -496,6 +496,9 @@
|
|
|
496
496
|
</div>
|
|
497
497
|
|
|
498
498
|
<script>
|
|
499
|
+
var sessionId = sessionStorage.getItem("dash_sid");
|
|
500
|
+
function authHeaders() { return sessionId ? { "x-session-id": sessionId } : {}; }
|
|
501
|
+
fetch('/api/tier', { headers: authHeaders() }).then(r=>{ if(r.status===401){location.href='/';return null;} return r.json(); }).then(d=>{if(d&&(!d.capabilities||!d.capabilities.spawning))location.href='/'}).catch(()=>{});
|
|
499
502
|
// --- View switching (global scope for inline onclick) ---
|
|
500
503
|
let currentView = 'roadmap';
|
|
501
504
|
let rearviewLoaded = false;
|
|
@@ -526,7 +529,8 @@ async function loadRearview(hours) {
|
|
|
526
529
|
container.innerHTML = '<div class="loading">Loading recent activity...</div>';
|
|
527
530
|
|
|
528
531
|
try {
|
|
529
|
-
const res = await fetch('/api/roadmap/recent?hours=' + hours);
|
|
532
|
+
const res = await fetch('/api/roadmap/recent?hours=' + hours, { headers: authHeaders() });
|
|
533
|
+
if (res.status === 401) { window.location.href = '/'; return; }
|
|
530
534
|
if (!res.ok) throw new Error('Failed to load');
|
|
531
535
|
const data = await res.json();
|
|
532
536
|
rearviewLoaded = true;
|
|
@@ -584,7 +588,8 @@ function renderRearview(data, container) {
|
|
|
584
588
|
|
|
585
589
|
// --- Fetch & parse ---
|
|
586
590
|
async function load() {
|
|
587
|
-
const res = await fetch('/api/roadmap');
|
|
591
|
+
const res = await fetch('/api/roadmap', { headers: authHeaders() });
|
|
592
|
+
if (res.status === 401) { window.location.href = '/'; return; }
|
|
588
593
|
if (!res.ok) { document.getElementById('loading').textContent = 'Failed to load roadmap'; return; }
|
|
589
594
|
data = await res.json();
|
|
590
595
|
activeStreams = new Set(data.streams.map(s => s.id));
|
package/public/sw.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Core service worker — cache-first for app shell, network-first for API
|
|
2
|
+
const CACHE_NAME = "core-v1";
|
|
3
|
+
const APP_SHELL = [
|
|
4
|
+
"/",
|
|
5
|
+
"/public/manifest.json",
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
// Install: cache app shell
|
|
9
|
+
self.addEventListener("install", (e) => {
|
|
10
|
+
e.waitUntil(
|
|
11
|
+
caches.open(CACHE_NAME).then((cache) => cache.addAll(APP_SHELL))
|
|
12
|
+
);
|
|
13
|
+
self.skipWaiting();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
// Activate: clean old caches
|
|
17
|
+
self.addEventListener("activate", (e) => {
|
|
18
|
+
e.waitUntil(
|
|
19
|
+
caches.keys().then((keys) =>
|
|
20
|
+
Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k)))
|
|
21
|
+
)
|
|
22
|
+
);
|
|
23
|
+
self.clients.claim();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// Fetch: network-first for API, cache-first for shell/static
|
|
27
|
+
self.addEventListener("fetch", (e) => {
|
|
28
|
+
const url = new URL(e.request.url);
|
|
29
|
+
|
|
30
|
+
// Skip non-GET, SSE, and cross-origin
|
|
31
|
+
if (e.request.method !== "GET") return;
|
|
32
|
+
if (url.origin !== self.location.origin) return;
|
|
33
|
+
if (e.request.headers.get("accept") === "text/event-stream") return;
|
|
34
|
+
|
|
35
|
+
// API calls: network-first, cache fallback for reads
|
|
36
|
+
if (url.pathname.startsWith("/api/")) {
|
|
37
|
+
e.respondWith(
|
|
38
|
+
fetch(e.request)
|
|
39
|
+
.then((res) => {
|
|
40
|
+
// Cache successful GET responses for offline fallback
|
|
41
|
+
if (res.ok) {
|
|
42
|
+
const clone = res.clone();
|
|
43
|
+
caches.open(CACHE_NAME).then((cache) => cache.put(e.request, clone));
|
|
44
|
+
}
|
|
45
|
+
return res;
|
|
46
|
+
})
|
|
47
|
+
.catch(() => caches.match(e.request))
|
|
48
|
+
);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// App shell & static: cache-first, network fallback
|
|
53
|
+
e.respondWith(
|
|
54
|
+
caches.match(e.request).then((cached) => {
|
|
55
|
+
if (cached) return cached;
|
|
56
|
+
return fetch(e.request).then((res) => {
|
|
57
|
+
if (res.ok) {
|
|
58
|
+
const clone = res.clone();
|
|
59
|
+
caches.open(CACHE_NAME).then((cache) => cache.put(e.request, clone));
|
|
60
|
+
}
|
|
61
|
+
return res;
|
|
62
|
+
});
|
|
63
|
+
})
|
|
64
|
+
);
|
|
65
|
+
});
|