@runcore-sh/runcore 0.1.2
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/LICENSE +21 -0
- package/README.md +353 -0
- package/dist/activity/log.d.ts +37 -0
- package/dist/activity/log.d.ts.map +1 -0
- package/dist/activity/log.js +259 -0
- package/dist/activity/log.js.map +1 -0
- package/dist/adapters/storage/gdrive-backup.d.ts +20 -0
- package/dist/adapters/storage/gdrive-backup.d.ts.map +1 -0
- package/dist/adapters/storage/gdrive-backup.js +244 -0
- package/dist/adapters/storage/gdrive-backup.js.map +1 -0
- package/dist/adapters/storage/local.d.ts +19 -0
- package/dist/adapters/storage/local.d.ts.map +1 -0
- package/dist/adapters/storage/local.js +101 -0
- package/dist/adapters/storage/local.js.map +1 -0
- package/dist/adapters/storage/types.d.ts +44 -0
- package/dist/adapters/storage/types.d.ts.map +1 -0
- package/dist/adapters/storage/types.js +6 -0
- package/dist/adapters/storage/types.js.map +1 -0
- package/dist/agents/autonomous.d.ts +67 -0
- package/dist/agents/autonomous.d.ts.map +1 -0
- package/dist/agents/autonomous.js +710 -0
- package/dist/agents/autonomous.js.map +1 -0
- package/dist/agents/commit.d.ts +22 -0
- package/dist/agents/commit.d.ts.map +1 -0
- package/dist/agents/commit.js +120 -0
- package/dist/agents/commit.js.map +1 -0
- package/dist/agents/continue.d.ts +19 -0
- package/dist/agents/continue.d.ts.map +1 -0
- package/dist/agents/continue.js +158 -0
- package/dist/agents/continue.js.map +1 -0
- package/dist/agents/cooldown.d.ts +127 -0
- package/dist/agents/cooldown.d.ts.map +1 -0
- package/dist/agents/cooldown.js +396 -0
- package/dist/agents/cooldown.js.map +1 -0
- package/dist/agents/dedup-guard.d.ts +15 -0
- package/dist/agents/dedup-guard.d.ts.map +1 -0
- package/dist/agents/dedup-guard.js +128 -0
- package/dist/agents/dedup-guard.js.map +1 -0
- package/dist/agents/index.d.ts +34 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +51 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/instance-manager.d.ts +262 -0
- package/dist/agents/instance-manager.d.ts.map +1 -0
- package/dist/agents/instance-manager.js +850 -0
- package/dist/agents/instance-manager.js.map +1 -0
- package/dist/agents/locks.d.ts +81 -0
- package/dist/agents/locks.d.ts.map +1 -0
- package/dist/agents/locks.js +234 -0
- package/dist/agents/locks.js.map +1 -0
- package/dist/agents/memory.d.ts +37 -0
- package/dist/agents/memory.d.ts.map +1 -0
- package/dist/agents/memory.js +92 -0
- package/dist/agents/memory.js.map +1 -0
- package/dist/agents/monitor.d.ts +16 -0
- package/dist/agents/monitor.d.ts.map +1 -0
- package/dist/agents/monitor.js +235 -0
- package/dist/agents/monitor.js.map +1 -0
- package/dist/agents/orchestration.d.ts +218 -0
- package/dist/agents/orchestration.d.ts.map +1 -0
- package/dist/agents/orchestration.js +715 -0
- package/dist/agents/orchestration.js.map +1 -0
- package/dist/agents/recover.d.ts +30 -0
- package/dist/agents/recover.d.ts.map +1 -0
- package/dist/agents/recover.js +166 -0
- package/dist/agents/recover.js.map +1 -0
- package/dist/agents/reflection.d.ts +36 -0
- package/dist/agents/reflection.d.ts.map +1 -0
- package/dist/agents/reflection.js +198 -0
- package/dist/agents/reflection.js.map +1 -0
- package/dist/agents/runtime/bus.d.ts +46 -0
- package/dist/agents/runtime/bus.d.ts.map +1 -0
- package/dist/agents/runtime/bus.js +174 -0
- package/dist/agents/runtime/bus.js.map +1 -0
- package/dist/agents/runtime/config.d.ts +14 -0
- package/dist/agents/runtime/config.d.ts.map +1 -0
- package/dist/agents/runtime/config.js +100 -0
- package/dist/agents/runtime/config.js.map +1 -0
- package/dist/agents/runtime/driver.d.ts +25 -0
- package/dist/agents/runtime/driver.d.ts.map +1 -0
- package/dist/agents/runtime/driver.js +215 -0
- package/dist/agents/runtime/driver.js.map +1 -0
- package/dist/agents/runtime/errors.d.ts +30 -0
- package/dist/agents/runtime/errors.d.ts.map +1 -0
- package/dist/agents/runtime/errors.js +40 -0
- package/dist/agents/runtime/errors.js.map +1 -0
- package/dist/agents/runtime/index.d.ts +29 -0
- package/dist/agents/runtime/index.d.ts.map +1 -0
- package/dist/agents/runtime/index.js +54 -0
- package/dist/agents/runtime/index.js.map +1 -0
- package/dist/agents/runtime/lifecycle.d.ts +46 -0
- package/dist/agents/runtime/lifecycle.d.ts.map +1 -0
- package/dist/agents/runtime/lifecycle.js +116 -0
- package/dist/agents/runtime/lifecycle.js.map +1 -0
- package/dist/agents/runtime/manager.d.ts +129 -0
- package/dist/agents/runtime/manager.d.ts.map +1 -0
- package/dist/agents/runtime/manager.js +947 -0
- package/dist/agents/runtime/manager.js.map +1 -0
- package/dist/agents/runtime/registry.d.ts +66 -0
- package/dist/agents/runtime/registry.d.ts.map +1 -0
- package/dist/agents/runtime/registry.js +195 -0
- package/dist/agents/runtime/registry.js.map +1 -0
- package/dist/agents/runtime/resources.d.ts +49 -0
- package/dist/agents/runtime/resources.d.ts.map +1 -0
- package/dist/agents/runtime/resources.js +146 -0
- package/dist/agents/runtime/resources.js.map +1 -0
- package/dist/agents/runtime/types.d.ts +168 -0
- package/dist/agents/runtime/types.d.ts.map +1 -0
- package/dist/agents/runtime/types.js +24 -0
- package/dist/agents/runtime/types.js.map +1 -0
- package/dist/agents/runtime.d.ts +240 -0
- package/dist/agents/runtime.d.ts.map +1 -0
- package/dist/agents/runtime.js +577 -0
- package/dist/agents/runtime.js.map +1 -0
- package/dist/agents/spawn.d.ts +49 -0
- package/dist/agents/spawn.d.ts.map +1 -0
- package/dist/agents/spawn.js +975 -0
- package/dist/agents/spawn.js.map +1 -0
- package/dist/agents/store.d.ts +29 -0
- package/dist/agents/store.d.ts.map +1 -0
- package/dist/agents/store.js +174 -0
- package/dist/agents/store.js.map +1 -0
- package/dist/agents/triage.d.ts +23 -0
- package/dist/agents/triage.d.ts.map +1 -0
- package/dist/agents/triage.js +81 -0
- package/dist/agents/triage.js.map +1 -0
- package/dist/agents/types.d.ts +37 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/agents/workflow.d.ts +137 -0
- package/dist/agents/workflow.d.ts.map +1 -0
- package/dist/agents/workflow.js +542 -0
- package/dist/agents/workflow.js.map +1 -0
- package/dist/auth/crypto.d.ts +22 -0
- package/dist/auth/crypto.d.ts.map +1 -0
- package/dist/auth/crypto.js +42 -0
- package/dist/auth/crypto.js.map +1 -0
- package/dist/auth/identity.d.ts +89 -0
- package/dist/auth/identity.d.ts.map +1 -0
- package/dist/auth/identity.js +264 -0
- package/dist/auth/identity.js.map +1 -0
- package/dist/avatar/client.d.ts +34 -0
- package/dist/avatar/client.d.ts.map +1 -0
- package/dist/avatar/client.js +172 -0
- package/dist/avatar/client.js.map +1 -0
- package/dist/avatar/sidecar.d.ts +16 -0
- package/dist/avatar/sidecar.d.ts.map +1 -0
- package/dist/avatar/sidecar.js +125 -0
- package/dist/avatar/sidecar.js.map +1 -0
- package/dist/board/provider.d.ts +13 -0
- package/dist/board/provider.d.ts.map +1 -0
- package/dist/board/provider.js +19 -0
- package/dist/board/provider.js.map +1 -0
- package/dist/board/types.d.ts +76 -0
- package/dist/board/types.d.ts.map +1 -0
- package/dist/board/types.js +7 -0
- package/dist/board/types.js.map +1 -0
- package/dist/brain/skills.d.ts +177 -0
- package/dist/brain/skills.d.ts.map +1 -0
- package/dist/brain/skills.js +452 -0
- package/dist/brain/skills.js.map +1 -0
- package/dist/brain.d.ts +42 -0
- package/dist/brain.d.ts.map +1 -0
- package/dist/brain.js +98 -0
- package/dist/brain.js.map +1 -0
- package/dist/browser/sessions.d.ts +23 -0
- package/dist/browser/sessions.d.ts.map +1 -0
- package/dist/browser/sessions.js +121 -0
- package/dist/browser/sessions.js.map +1 -0
- package/dist/cache/file.d.ts +56 -0
- package/dist/cache/file.d.ts.map +1 -0
- package/dist/cache/file.js +176 -0
- package/dist/cache/file.js.map +1 -0
- package/dist/cache/index.d.ts +64 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +108 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/keys.d.ts +29 -0
- package/dist/cache/keys.d.ts.map +1 -0
- package/dist/cache/keys.js +52 -0
- package/dist/cache/keys.js.map +1 -0
- package/dist/cache/llm-cache.d.ts +70 -0
- package/dist/cache/llm-cache.d.ts.map +1 -0
- package/dist/cache/llm-cache.js +165 -0
- package/dist/cache/llm-cache.js.map +1 -0
- package/dist/cache/memory.d.ts +53 -0
- package/dist/cache/memory.d.ts.map +1 -0
- package/dist/cache/memory.js +114 -0
- package/dist/cache/memory.js.map +1 -0
- package/dist/calendar/google-adapter.d.ts +16 -0
- package/dist/calendar/google-adapter.d.ts.map +1 -0
- package/dist/calendar/google-adapter.js +163 -0
- package/dist/calendar/google-adapter.js.map +1 -0
- package/dist/calendar/index.d.ts +8 -0
- package/dist/calendar/index.d.ts.map +1 -0
- package/dist/calendar/index.js +7 -0
- package/dist/calendar/index.js.map +1 -0
- package/dist/calendar/routes.d.ts +7 -0
- package/dist/calendar/routes.d.ts.map +1 -0
- package/dist/calendar/routes.js +199 -0
- package/dist/calendar/routes.js.map +1 -0
- package/dist/calendar/store.d.ts +73 -0
- package/dist/calendar/store.d.ts.map +1 -0
- package/dist/calendar/store.js +373 -0
- package/dist/calendar/store.js.map +1 -0
- package/dist/calendar/types.d.ts +99 -0
- package/dist/calendar/types.d.ts.map +1 -0
- package/dist/calendar/types.js +7 -0
- package/dist/calendar/types.js.map +1 -0
- package/dist/capabilities/definitions/board.d.ts +7 -0
- package/dist/capabilities/definitions/board.d.ts.map +1 -0
- package/dist/capabilities/definitions/board.js +232 -0
- package/dist/capabilities/definitions/board.js.map +1 -0
- package/dist/capabilities/definitions/browser.d.ts +18 -0
- package/dist/capabilities/definitions/browser.d.ts.map +1 -0
- package/dist/capabilities/definitions/browser.js +242 -0
- package/dist/capabilities/definitions/browser.js.map +1 -0
- package/dist/capabilities/definitions/calendar-context.d.ts +8 -0
- package/dist/capabilities/definitions/calendar-context.d.ts.map +1 -0
- package/dist/capabilities/definitions/calendar-context.js +41 -0
- package/dist/capabilities/definitions/calendar-context.js.map +1 -0
- package/dist/capabilities/definitions/calendar.d.ts +7 -0
- package/dist/capabilities/definitions/calendar.d.ts.map +1 -0
- package/dist/capabilities/definitions/calendar.js +173 -0
- package/dist/capabilities/definitions/calendar.js.map +1 -0
- package/dist/capabilities/definitions/docs.d.ts +6 -0
- package/dist/capabilities/definitions/docs.d.ts.map +1 -0
- package/dist/capabilities/definitions/docs.js +62 -0
- package/dist/capabilities/definitions/docs.js.map +1 -0
- package/dist/capabilities/definitions/email-context.d.ts +7 -0
- package/dist/capabilities/definitions/email-context.d.ts.map +1 -0
- package/dist/capabilities/definitions/email-context.js +55 -0
- package/dist/capabilities/definitions/email-context.js.map +1 -0
- package/dist/capabilities/definitions/email.d.ts +7 -0
- package/dist/capabilities/definitions/email.d.ts.map +1 -0
- package/dist/capabilities/definitions/email.js +94 -0
- package/dist/capabilities/definitions/email.js.map +1 -0
- package/dist/capabilities/definitions/task-done.d.ts +10 -0
- package/dist/capabilities/definitions/task-done.d.ts.map +1 -0
- package/dist/capabilities/definitions/task-done.js +83 -0
- package/dist/capabilities/definitions/task-done.js.map +1 -0
- package/dist/capabilities/definitions/vault-context.d.ts +12 -0
- package/dist/capabilities/definitions/vault-context.d.ts.map +1 -0
- package/dist/capabilities/definitions/vault-context.js +62 -0
- package/dist/capabilities/definitions/vault-context.js.map +1 -0
- package/dist/capabilities/definitions/web-search-context.d.ts +22 -0
- package/dist/capabilities/definitions/web-search-context.d.ts.map +1 -0
- package/dist/capabilities/definitions/web-search-context.js +60 -0
- package/dist/capabilities/definitions/web-search-context.js.map +1 -0
- package/dist/capabilities/index.d.ts +18 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +21 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/registry.d.ts +84 -0
- package/dist/capabilities/registry.d.ts.map +1 -0
- package/dist/capabilities/registry.js +248 -0
- package/dist/capabilities/registry.js.map +1 -0
- package/dist/capabilities/types.d.ts +157 -0
- package/dist/capabilities/types.d.ts.map +1 -0
- package/dist/capabilities/types.js +35 -0
- package/dist/capabilities/types.js.map +1 -0
- package/dist/channels/whatsapp.d.ts +88 -0
- package/dist/channels/whatsapp.d.ts.map +1 -0
- package/dist/channels/whatsapp.js +200 -0
- package/dist/channels/whatsapp.js.map +1 -0
- package/dist/cli/backup.d.ts +13 -0
- package/dist/cli/backup.d.ts.map +1 -0
- package/dist/cli/backup.js +176 -0
- package/dist/cli/backup.js.map +1 -0
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +231 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/defaults.d.ts +45 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +54 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/contacts/index.d.ts +3 -0
- package/dist/contacts/index.d.ts.map +1 -0
- package/dist/contacts/index.js +2 -0
- package/dist/contacts/index.js.map +1 -0
- package/dist/contacts/store.d.ts +58 -0
- package/dist/contacts/store.d.ts.map +1 -0
- package/dist/contacts/store.js +278 -0
- package/dist/contacts/store.js.map +1 -0
- package/dist/contacts/types.d.ts +47 -0
- package/dist/contacts/types.d.ts.map +1 -0
- package/dist/contacts/types.js +5 -0
- package/dist/contacts/types.js.map +1 -0
- package/dist/context/assembler.d.ts +26 -0
- package/dist/context/assembler.d.ts.map +1 -0
- package/dist/context/assembler.js +65 -0
- package/dist/context/assembler.js.map +1 -0
- package/dist/context/compaction.d.ts +34 -0
- package/dist/context/compaction.d.ts.map +1 -0
- package/dist/context/compaction.js +84 -0
- package/dist/context/compaction.js.map +1 -0
- package/dist/context/index.d.ts +3 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +2 -0
- package/dist/context/index.js.map +1 -0
- package/dist/core/registry/index.d.ts +12 -0
- package/dist/core/registry/index.d.ts.map +1 -0
- package/dist/core/registry/index.js +14 -0
- package/dist/core/registry/index.js.map +1 -0
- package/dist/core/registry/publisher.d.ts +22 -0
- package/dist/core/registry/publisher.d.ts.map +1 -0
- package/dist/core/registry/publisher.js +195 -0
- package/dist/core/registry/publisher.js.map +1 -0
- package/dist/core/registry/registry.d.ts +92 -0
- package/dist/core/registry/registry.d.ts.map +1 -0
- package/dist/core/registry/registry.js +254 -0
- package/dist/core/registry/registry.js.map +1 -0
- package/dist/core/registry/search.d.ts +12 -0
- package/dist/core/registry/search.d.ts.map +1 -0
- package/dist/core/registry/search.js +132 -0
- package/dist/core/registry/search.js.map +1 -0
- package/dist/core/registry/store.d.ts +55 -0
- package/dist/core/registry/store.d.ts.map +1 -0
- package/dist/core/registry/store.js +185 -0
- package/dist/core/registry/store.js.map +1 -0
- package/dist/core/registry/types.d.ts +141 -0
- package/dist/core/registry/types.d.ts.map +1 -0
- package/dist/core/registry/types.js +30 -0
- package/dist/core/registry/types.js.map +1 -0
- package/dist/core/registry/versions.d.ts +56 -0
- package/dist/core/registry/versions.d.ts.map +1 -0
- package/dist/core/registry/versions.js +101 -0
- package/dist/core/registry/versions.js.map +1 -0
- package/dist/credentials/store.d.ts +59 -0
- package/dist/credentials/store.d.ts.map +1 -0
- package/dist/credentials/store.js +178 -0
- package/dist/credentials/store.js.map +1 -0
- package/dist/files/agent-api.d.ts +50 -0
- package/dist/files/agent-api.d.ts.map +1 -0
- package/dist/files/agent-api.js +126 -0
- package/dist/files/agent-api.js.map +1 -0
- package/dist/files/compress.d.ts +20 -0
- package/dist/files/compress.d.ts.map +1 -0
- package/dist/files/compress.js +83 -0
- package/dist/files/compress.js.map +1 -0
- package/dist/files/extract.d.ts +11 -0
- package/dist/files/extract.d.ts.map +1 -0
- package/dist/files/extract.js +33 -0
- package/dist/files/extract.js.map +1 -0
- package/dist/files/gdrive.d.ts +56 -0
- package/dist/files/gdrive.d.ts.map +1 -0
- package/dist/files/gdrive.js +246 -0
- package/dist/files/gdrive.js.map +1 -0
- package/dist/files/ingest-folder.d.ts +22 -0
- package/dist/files/ingest-folder.d.ts.map +1 -0
- package/dist/files/ingest-folder.js +71 -0
- package/dist/files/ingest-folder.js.map +1 -0
- package/dist/files/ingest.d.ts +13 -0
- package/dist/files/ingest.d.ts.map +1 -0
- package/dist/files/ingest.js +127 -0
- package/dist/files/ingest.js.map +1 -0
- package/dist/files/manager.d.ts +117 -0
- package/dist/files/manager.d.ts.map +1 -0
- package/dist/files/manager.js +306 -0
- package/dist/files/manager.js.map +1 -0
- package/dist/files/store.d.ts +41 -0
- package/dist/files/store.d.ts.map +1 -0
- package/dist/files/store.js +271 -0
- package/dist/files/store.js.map +1 -0
- package/dist/files/templates.d.ts +45 -0
- package/dist/files/templates.d.ts.map +1 -0
- package/dist/files/templates.js +179 -0
- package/dist/files/templates.js.map +1 -0
- package/dist/files/types.d.ts +115 -0
- package/dist/files/types.d.ts.map +1 -0
- package/dist/files/types.js +20 -0
- package/dist/files/types.js.map +1 -0
- package/dist/files/validate.d.ts +15 -0
- package/dist/files/validate.d.ts.map +1 -0
- package/dist/files/validate.js +213 -0
- package/dist/files/validate.js.map +1 -0
- package/dist/files/version.d.ts +31 -0
- package/dist/files/version.d.ts.map +1 -0
- package/dist/files/version.js +129 -0
- package/dist/files/version.js.map +1 -0
- package/dist/github/client.d.ts +83 -0
- package/dist/github/client.d.ts.map +1 -0
- package/dist/github/client.js +408 -0
- package/dist/github/client.js.map +1 -0
- package/dist/github/commit-analysis.d.ts +30 -0
- package/dist/github/commit-analysis.d.ts.map +1 -0
- package/dist/github/commit-analysis.js +276 -0
- package/dist/github/commit-analysis.js.map +1 -0
- package/dist/github/contributor-stats.d.ts +18 -0
- package/dist/github/contributor-stats.d.ts.map +1 -0
- package/dist/github/contributor-stats.js +119 -0
- package/dist/github/contributor-stats.js.map +1 -0
- package/dist/github/issue-sla.d.ts +25 -0
- package/dist/github/issue-sla.d.ts.map +1 -0
- package/dist/github/issue-sla.js +220 -0
- package/dist/github/issue-sla.js.map +1 -0
- package/dist/github/issue-triage.d.ts +49 -0
- package/dist/github/issue-triage.d.ts.map +1 -0
- package/dist/github/issue-triage.js +286 -0
- package/dist/github/issue-triage.js.map +1 -0
- package/dist/github/pr-readiness.d.ts +18 -0
- package/dist/github/pr-readiness.d.ts.map +1 -0
- package/dist/github/pr-readiness.js +197 -0
- package/dist/github/pr-readiness.js.map +1 -0
- package/dist/github/pr-review.d.ts +17 -0
- package/dist/github/pr-review.d.ts.map +1 -0
- package/dist/github/pr-review.js +410 -0
- package/dist/github/pr-review.js.map +1 -0
- package/dist/github/release-notes.d.ts +32 -0
- package/dist/github/release-notes.d.ts.map +1 -0
- package/dist/github/release-notes.js +227 -0
- package/dist/github/release-notes.js.map +1 -0
- package/dist/github/repo-health.d.ts +17 -0
- package/dist/github/repo-health.d.ts.map +1 -0
- package/dist/github/repo-health.js +303 -0
- package/dist/github/repo-health.js.map +1 -0
- package/dist/github/retry.d.ts +39 -0
- package/dist/github/retry.d.ts.map +1 -0
- package/dist/github/retry.js +117 -0
- package/dist/github/retry.js.map +1 -0
- package/dist/github/types.d.ts +527 -0
- package/dist/github/types.d.ts.map +1 -0
- package/dist/github/types.js +8 -0
- package/dist/github/types.js.map +1 -0
- package/dist/github/webhooks.d.ts +36 -0
- package/dist/github/webhooks.d.ts.map +1 -0
- package/dist/github/webhooks.js +153 -0
- package/dist/github/webhooks.js.map +1 -0
- package/dist/goals/loop.d.ts +27 -0
- package/dist/goals/loop.d.ts.map +1 -0
- package/dist/goals/loop.js +239 -0
- package/dist/goals/loop.js.map +1 -0
- package/dist/goals/notifications.d.ts +20 -0
- package/dist/goals/notifications.d.ts.map +1 -0
- package/dist/goals/notifications.js +101 -0
- package/dist/goals/notifications.js.map +1 -0
- package/dist/goals/timer.d.ts +21 -0
- package/dist/goals/timer.d.ts.map +1 -0
- package/dist/goals/timer.js +60 -0
- package/dist/goals/timer.js.map +1 -0
- package/dist/google/auth.d.ts +84 -0
- package/dist/google/auth.d.ts.map +1 -0
- package/dist/google/auth.js +323 -0
- package/dist/google/auth.js.map +1 -0
- package/dist/google/calendar-timer.d.ts +20 -0
- package/dist/google/calendar-timer.d.ts.map +1 -0
- package/dist/google/calendar-timer.js +91 -0
- package/dist/google/calendar-timer.js.map +1 -0
- package/dist/google/calendar.d.ts +126 -0
- package/dist/google/calendar.d.ts.map +1 -0
- package/dist/google/calendar.js +270 -0
- package/dist/google/calendar.js.map +1 -0
- package/dist/google/docs.d.ts +87 -0
- package/dist/google/docs.d.ts.map +1 -0
- package/dist/google/docs.js +309 -0
- package/dist/google/docs.js.map +1 -0
- package/dist/google/gmail-send.d.ts +58 -0
- package/dist/google/gmail-send.d.ts.map +1 -0
- package/dist/google/gmail-send.js +219 -0
- package/dist/google/gmail-send.js.map +1 -0
- package/dist/google/gmail-timer.d.ts +34 -0
- package/dist/google/gmail-timer.d.ts.map +1 -0
- package/dist/google/gmail-timer.js +223 -0
- package/dist/google/gmail-timer.js.map +1 -0
- package/dist/google/gmail.d.ts +172 -0
- package/dist/google/gmail.d.ts.map +1 -0
- package/dist/google/gmail.js +470 -0
- package/dist/google/gmail.js.map +1 -0
- package/dist/google/tasks-timer.d.ts +20 -0
- package/dist/google/tasks-timer.d.ts.map +1 -0
- package/dist/google/tasks-timer.js +107 -0
- package/dist/google/tasks-timer.js.map +1 -0
- package/dist/google/tasks.d.ts +167 -0
- package/dist/google/tasks.d.ts.map +1 -0
- package/dist/google/tasks.js +331 -0
- package/dist/google/tasks.js.map +1 -0
- package/dist/google/temporal.d.ts +76 -0
- package/dist/google/temporal.d.ts.map +1 -0
- package/dist/google/temporal.js +176 -0
- package/dist/google/temporal.js.map +1 -0
- package/dist/health/alert-defaults.d.ts +12 -0
- package/dist/health/alert-defaults.d.ts.map +1 -0
- package/dist/health/alert-defaults.js +88 -0
- package/dist/health/alert-defaults.js.map +1 -0
- package/dist/health/alert-types.d.ts +97 -0
- package/dist/health/alert-types.d.ts.map +1 -0
- package/dist/health/alert-types.js +8 -0
- package/dist/health/alert-types.js.map +1 -0
- package/dist/health/alerting.d.ts +66 -0
- package/dist/health/alerting.d.ts.map +1 -0
- package/dist/health/alerting.js +373 -0
- package/dist/health/alerting.js.map +1 -0
- package/dist/health/checker.d.ts +32 -0
- package/dist/health/checker.d.ts.map +1 -0
- package/dist/health/checker.js +138 -0
- package/dist/health/checker.js.map +1 -0
- package/dist/health/checks/openrouter.d.ts +29 -0
- package/dist/health/checks/openrouter.d.ts.map +1 -0
- package/dist/health/checks/openrouter.js +75 -0
- package/dist/health/checks/openrouter.js.map +1 -0
- package/dist/health/checks.d.ts +26 -0
- package/dist/health/checks.d.ts.map +1 -0
- package/dist/health/checks.js +122 -0
- package/dist/health/checks.js.map +1 -0
- package/dist/health/components.d.ts +38 -0
- package/dist/health/components.d.ts.map +1 -0
- package/dist/health/components.js +112 -0
- package/dist/health/components.js.map +1 -0
- package/dist/health/index.d.ts +19 -0
- package/dist/health/index.d.ts.map +1 -0
- package/dist/health/index.js +23 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/recovery.d.ts +42 -0
- package/dist/health/recovery.d.ts.map +1 -0
- package/dist/health/recovery.js +138 -0
- package/dist/health/recovery.js.map +1 -0
- package/dist/health/types.d.ts +68 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/health/types.js +5 -0
- package/dist/health/types.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/instance.d.ts +24 -0
- package/dist/instance.d.ts.map +1 -0
- package/dist/instance.js +48 -0
- package/dist/instance.js.map +1 -0
- package/dist/integrations/github.d.ts +83 -0
- package/dist/integrations/github.d.ts.map +1 -0
- package/dist/integrations/github.js +331 -0
- package/dist/integrations/github.js.map +1 -0
- package/dist/integrations/google-tasks.d.ts +232 -0
- package/dist/integrations/google-tasks.d.ts.map +1 -0
- package/dist/integrations/google-tasks.js +432 -0
- package/dist/integrations/google-tasks.js.map +1 -0
- package/dist/learning/extractor.d.ts +28 -0
- package/dist/learning/extractor.d.ts.map +1 -0
- package/dist/learning/extractor.js +135 -0
- package/dist/learning/extractor.js.map +1 -0
- package/dist/lib/BasePlugin.d.ts +58 -0
- package/dist/lib/BasePlugin.d.ts.map +1 -0
- package/dist/lib/BasePlugin.js +181 -0
- package/dist/lib/BasePlugin.js.map +1 -0
- package/dist/lib/PluginRegistry.d.ts +56 -0
- package/dist/lib/PluginRegistry.d.ts.map +1 -0
- package/dist/lib/PluginRegistry.js +172 -0
- package/dist/lib/PluginRegistry.js.map +1 -0
- package/dist/lib/brain-io.d.ts +60 -0
- package/dist/lib/brain-io.d.ts.map +1 -0
- package/dist/lib/brain-io.js +180 -0
- package/dist/lib/brain-io.js.map +1 -0
- package/dist/lib/encryption-config.d.ts +16 -0
- package/dist/lib/encryption-config.d.ts.map +1 -0
- package/dist/lib/encryption-config.js +40 -0
- package/dist/lib/encryption-config.js.map +1 -0
- package/dist/lib/encryption.d.ts +19 -0
- package/dist/lib/encryption.d.ts.map +1 -0
- package/dist/lib/encryption.js +65 -0
- package/dist/lib/encryption.js.map +1 -0
- package/dist/lib/key-store.d.ts +24 -0
- package/dist/lib/key-store.d.ts.map +1 -0
- package/dist/lib/key-store.js +38 -0
- package/dist/lib/key-store.js.map +1 -0
- package/dist/lib/schema-migration.d.ts +34 -0
- package/dist/lib/schema-migration.d.ts.map +1 -0
- package/dist/lib/schema-migration.js +77 -0
- package/dist/lib/schema-migration.js.map +1 -0
- package/dist/library/brain-shadow.d.ts +10 -0
- package/dist/library/brain-shadow.d.ts.map +1 -0
- package/dist/library/brain-shadow.js +158 -0
- package/dist/library/brain-shadow.js.map +1 -0
- package/dist/library/index.d.ts +7 -0
- package/dist/library/index.d.ts.map +1 -0
- package/dist/library/index.js +6 -0
- package/dist/library/index.js.map +1 -0
- package/dist/library/routes.d.ts +7 -0
- package/dist/library/routes.d.ts.map +1 -0
- package/dist/library/routes.js +473 -0
- package/dist/library/routes.js.map +1 -0
- package/dist/library/store.d.ts +54 -0
- package/dist/library/store.d.ts.map +1 -0
- package/dist/library/store.js +403 -0
- package/dist/library/store.js.map +1 -0
- package/dist/library/types.d.ts +56 -0
- package/dist/library/types.d.ts.map +1 -0
- package/dist/library/types.js +12 -0
- package/dist/library/types.js.map +1 -0
- package/dist/llm/cache.d.ts +42 -0
- package/dist/llm/cache.d.ts.map +1 -0
- package/dist/llm/cache.js +104 -0
- package/dist/llm/cache.js.map +1 -0
- package/dist/llm/complete.d.ts +24 -0
- package/dist/llm/complete.d.ts.map +1 -0
- package/dist/llm/complete.js +56 -0
- package/dist/llm/complete.js.map +1 -0
- package/dist/llm/errors.d.ts +28 -0
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/errors.js +82 -0
- package/dist/llm/errors.js.map +1 -0
- package/dist/llm/ollama.d.ts +21 -0
- package/dist/llm/ollama.d.ts.map +1 -0
- package/dist/llm/ollama.js +116 -0
- package/dist/llm/ollama.js.map +1 -0
- package/dist/llm/openrouter.d.ts +13 -0
- package/dist/llm/openrouter.d.ts.map +1 -0
- package/dist/llm/openrouter.js +105 -0
- package/dist/llm/openrouter.js.map +1 -0
- package/dist/llm/providers/anthropic.d.ts +8 -0
- package/dist/llm/providers/anthropic.d.ts.map +1 -0
- package/dist/llm/providers/anthropic.js +189 -0
- package/dist/llm/providers/anthropic.js.map +1 -0
- package/dist/llm/providers/index.d.ts +20 -0
- package/dist/llm/providers/index.d.ts.map +1 -0
- package/dist/llm/providers/index.js +47 -0
- package/dist/llm/providers/index.js.map +1 -0
- package/dist/llm/providers/ollama.d.ts +13 -0
- package/dist/llm/providers/ollama.d.ts.map +1 -0
- package/dist/llm/providers/ollama.js +188 -0
- package/dist/llm/providers/ollama.js.map +1 -0
- package/dist/llm/providers/openai.d.ts +8 -0
- package/dist/llm/providers/openai.d.ts.map +1 -0
- package/dist/llm/providers/openai.js +144 -0
- package/dist/llm/providers/openai.js.map +1 -0
- package/dist/llm/providers/openrouter.d.ts +7 -0
- package/dist/llm/providers/openrouter.d.ts.map +1 -0
- package/dist/llm/providers/openrouter.js +158 -0
- package/dist/llm/providers/openrouter.js.map +1 -0
- package/dist/llm/providers/types.d.ts +29 -0
- package/dist/llm/providers/types.d.ts.map +1 -0
- package/dist/llm/providers/types.js +6 -0
- package/dist/llm/providers/types.js.map +1 -0
- package/dist/llm/retry.d.ts +29 -0
- package/dist/llm/retry.d.ts.map +1 -0
- package/dist/llm/retry.js +139 -0
- package/dist/llm/retry.js.map +1 -0
- package/dist/memory/file-backed.d.ts +36 -0
- package/dist/memory/file-backed.d.ts.map +1 -0
- package/dist/memory/file-backed.js +178 -0
- package/dist/memory/file-backed.js.map +1 -0
- package/dist/memory/index.d.ts +7 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +6 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/long-term.d.ts +38 -0
- package/dist/memory/long-term.d.ts.map +1 -0
- package/dist/memory/long-term.js +58 -0
- package/dist/memory/long-term.js.map +1 -0
- package/dist/memory/vector-index.d.ts +55 -0
- package/dist/memory/vector-index.d.ts.map +1 -0
- package/dist/memory/vector-index.js +207 -0
- package/dist/memory/vector-index.js.map +1 -0
- package/dist/memory/visual.d.ts +53 -0
- package/dist/memory/visual.d.ts.map +1 -0
- package/dist/memory/visual.js +218 -0
- package/dist/memory/visual.js.map +1 -0
- package/dist/memory/working.d.ts +12 -0
- package/dist/memory/working.d.ts.map +1 -0
- package/dist/memory/working.js +34 -0
- package/dist/memory/working.js.map +1 -0
- package/dist/metrics/aggregator.d.ts +58 -0
- package/dist/metrics/aggregator.d.ts.map +1 -0
- package/dist/metrics/aggregator.js +253 -0
- package/dist/metrics/aggregator.js.map +1 -0
- package/dist/metrics/collector.d.ts +26 -0
- package/dist/metrics/collector.d.ts.map +1 -0
- package/dist/metrics/collector.js +346 -0
- package/dist/metrics/collector.js.map +1 -0
- package/dist/metrics/firewall-metrics.d.ts +95 -0
- package/dist/metrics/firewall-metrics.d.ts.map +1 -0
- package/dist/metrics/firewall-metrics.js +261 -0
- package/dist/metrics/firewall-metrics.js.map +1 -0
- package/dist/metrics/index.d.ts +20 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +23 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/instruments.d.ts +89 -0
- package/dist/metrics/instruments.d.ts.map +1 -0
- package/dist/metrics/instruments.js +172 -0
- package/dist/metrics/instruments.js.map +1 -0
- package/dist/metrics/middleware.d.ts +12 -0
- package/dist/metrics/middleware.d.ts.map +1 -0
- package/dist/metrics/middleware.js +47 -0
- package/dist/metrics/middleware.js.map +1 -0
- package/dist/metrics/prometheus.d.ts +39 -0
- package/dist/metrics/prometheus.d.ts.map +1 -0
- package/dist/metrics/prometheus.js +115 -0
- package/dist/metrics/prometheus.js.map +1 -0
- package/dist/metrics/registry.d.ts +58 -0
- package/dist/metrics/registry.d.ts.map +1 -0
- package/dist/metrics/registry.js +145 -0
- package/dist/metrics/registry.js.map +1 -0
- package/dist/metrics/reporter.d.ts +21 -0
- package/dist/metrics/reporter.d.ts.map +1 -0
- package/dist/metrics/reporter.js +207 -0
- package/dist/metrics/reporter.js.map +1 -0
- package/dist/metrics/store.d.ts +47 -0
- package/dist/metrics/store.d.ts.map +1 -0
- package/dist/metrics/store.js +209 -0
- package/dist/metrics/store.js.map +1 -0
- package/dist/metrics/system.d.ts +20 -0
- package/dist/metrics/system.d.ts.map +1 -0
- package/dist/metrics/system.js +109 -0
- package/dist/metrics/system.js.map +1 -0
- package/dist/metrics/types.d.ts +101 -0
- package/dist/metrics/types.d.ts.map +1 -0
- package/dist/metrics/types.js +6 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/modules/index.d.ts +6 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +6 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/registry.d.ts +36 -0
- package/dist/modules/registry.d.ts.map +1 -0
- package/dist/modules/registry.js +155 -0
- package/dist/modules/registry.js.map +1 -0
- package/dist/modules/types.d.ts +37 -0
- package/dist/modules/types.d.ts.map +1 -0
- package/dist/modules/types.js +9 -0
- package/dist/modules/types.js.map +1 -0
- package/dist/notifications/channel.d.ts +25 -0
- package/dist/notifications/channel.d.ts.map +1 -0
- package/dist/notifications/channel.js +83 -0
- package/dist/notifications/channel.js.map +1 -0
- package/dist/notifications/email.d.ts +27 -0
- package/dist/notifications/email.d.ts.map +1 -0
- package/dist/notifications/email.js +72 -0
- package/dist/notifications/email.js.map +1 -0
- package/dist/notifications/index.d.ts +16 -0
- package/dist/notifications/index.d.ts.map +1 -0
- package/dist/notifications/index.js +12 -0
- package/dist/notifications/index.js.map +1 -0
- package/dist/notifications/phone.d.ts +16 -0
- package/dist/notifications/phone.d.ts.map +1 -0
- package/dist/notifications/phone.js +48 -0
- package/dist/notifications/phone.js.map +1 -0
- package/dist/notifications/sms.d.ts +26 -0
- package/dist/notifications/sms.d.ts.map +1 -0
- package/dist/notifications/sms.js +65 -0
- package/dist/notifications/sms.js.map +1 -0
- package/dist/notifications/webhook.d.ts +28 -0
- package/dist/notifications/webhook.d.ts.map +1 -0
- package/dist/notifications/webhook.js +65 -0
- package/dist/notifications/webhook.js.map +1 -0
- package/dist/openloop/foldback.d.ts +24 -0
- package/dist/openloop/foldback.d.ts.map +1 -0
- package/dist/openloop/foldback.js +127 -0
- package/dist/openloop/foldback.js.map +1 -0
- package/dist/openloop/index.d.ts +11 -0
- package/dist/openloop/index.d.ts.map +1 -0
- package/dist/openloop/index.js +9 -0
- package/dist/openloop/index.js.map +1 -0
- package/dist/openloop/lifecycle.d.ts +16 -0
- package/dist/openloop/lifecycle.d.ts.map +1 -0
- package/dist/openloop/lifecycle.js +304 -0
- package/dist/openloop/lifecycle.js.map +1 -0
- package/dist/openloop/resolution-scanner.d.ts +17 -0
- package/dist/openloop/resolution-scanner.d.ts.map +1 -0
- package/dist/openloop/resolution-scanner.js +551 -0
- package/dist/openloop/resolution-scanner.js.map +1 -0
- package/dist/openloop/scanner.d.ts +28 -0
- package/dist/openloop/scanner.d.ts.map +1 -0
- package/dist/openloop/scanner.js +587 -0
- package/dist/openloop/scanner.js.map +1 -0
- package/dist/openloop/store.d.ts +41 -0
- package/dist/openloop/store.d.ts.map +1 -0
- package/dist/openloop/store.js +154 -0
- package/dist/openloop/store.js.map +1 -0
- package/dist/openloop/types.d.ts +94 -0
- package/dist/openloop/types.d.ts.map +1 -0
- package/dist/openloop/types.js +6 -0
- package/dist/openloop/types.js.map +1 -0
- package/dist/plugins/google-tasks/index.d.ts +55 -0
- package/dist/plugins/google-tasks/index.d.ts.map +1 -0
- package/dist/plugins/google-tasks/index.js +135 -0
- package/dist/plugins/google-tasks/index.js.map +1 -0
- package/dist/pulse/activation-event.d.ts +66 -0
- package/dist/pulse/activation-event.d.ts.map +1 -0
- package/dist/pulse/activation-event.js +139 -0
- package/dist/pulse/activation-event.js.map +1 -0
- package/dist/pulse/activation-log.d.ts +37 -0
- package/dist/pulse/activation-log.d.ts.map +1 -0
- package/dist/pulse/activation-log.js +101 -0
- package/dist/pulse/activation-log.js.map +1 -0
- package/dist/pulse/index.d.ts +11 -0
- package/dist/pulse/index.d.ts.map +1 -0
- package/dist/pulse/index.js +13 -0
- package/dist/pulse/index.js.map +1 -0
- package/dist/pulse/pressure.d.ts +69 -0
- package/dist/pulse/pressure.d.ts.map +1 -0
- package/dist/pulse/pressure.js +304 -0
- package/dist/pulse/pressure.js.map +1 -0
- package/dist/pulse/types.d.ts +89 -0
- package/dist/pulse/types.d.ts.map +1 -0
- package/dist/pulse/types.js +6 -0
- package/dist/pulse/types.js.map +1 -0
- package/dist/queue/grooming.d.ts +16 -0
- package/dist/queue/grooming.d.ts.map +1 -0
- package/dist/queue/grooming.js +269 -0
- package/dist/queue/grooming.js.map +1 -0
- package/dist/queue/provider.d.ts +50 -0
- package/dist/queue/provider.d.ts.map +1 -0
- package/dist/queue/provider.js +131 -0
- package/dist/queue/provider.js.map +1 -0
- package/dist/queue/store.d.ts +97 -0
- package/dist/queue/store.d.ts.map +1 -0
- package/dist/queue/store.js +448 -0
- package/dist/queue/store.js.map +1 -0
- package/dist/queue/types.d.ts +47 -0
- package/dist/queue/types.d.ts.map +1 -0
- package/dist/queue/types.js +22 -0
- package/dist/queue/types.js.map +1 -0
- package/dist/rate-limit.d.ts +26 -0
- package/dist/rate-limit.d.ts.map +1 -0
- package/dist/rate-limit.js +74 -0
- package/dist/rate-limit.js.map +1 -0
- package/dist/registry/discovery.d.ts +30 -0
- package/dist/registry/discovery.d.ts.map +1 -0
- package/dist/registry/discovery.js +171 -0
- package/dist/registry/discovery.js.map +1 -0
- package/dist/registry/index.d.ts +14 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +18 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/installer.d.ts +45 -0
- package/dist/registry/installer.d.ts.map +1 -0
- package/dist/registry/installer.js +175 -0
- package/dist/registry/installer.js.map +1 -0
- package/dist/registry/registry.d.ts +70 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +153 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/registry/store.d.ts +69 -0
- package/dist/registry/store.d.ts.map +1 -0
- package/dist/registry/store.js +242 -0
- package/dist/registry/store.js.map +1 -0
- package/dist/registry/types.d.ts +116 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +9 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/registry/validator.d.ts +24 -0
- package/dist/registry/validator.d.ts.map +1 -0
- package/dist/registry/validator.js +203 -0
- package/dist/registry/validator.js.map +1 -0
- package/dist/scheduling/index.d.ts +4 -0
- package/dist/scheduling/index.d.ts.map +1 -0
- package/dist/scheduling/index.js +3 -0
- package/dist/scheduling/index.js.map +1 -0
- package/dist/scheduling/store.d.ts +41 -0
- package/dist/scheduling/store.d.ts.map +1 -0
- package/dist/scheduling/store.js +237 -0
- package/dist/scheduling/store.js.map +1 -0
- package/dist/scheduling/timer.d.ts +25 -0
- package/dist/scheduling/timer.d.ts.map +1 -0
- package/dist/scheduling/timer.js +118 -0
- package/dist/scheduling/timer.js.map +1 -0
- package/dist/scheduling/types.d.ts +43 -0
- package/dist/scheduling/types.d.ts.map +1 -0
- package/dist/scheduling/types.js +5 -0
- package/dist/scheduling/types.js.map +1 -0
- package/dist/search/brain-docs.d.ts +20 -0
- package/dist/search/brain-docs.d.ts.map +1 -0
- package/dist/search/brain-docs.js +103 -0
- package/dist/search/brain-docs.js.map +1 -0
- package/dist/search/browse.d.ts +45 -0
- package/dist/search/browse.d.ts.map +1 -0
- package/dist/search/browse.js +225 -0
- package/dist/search/browse.js.map +1 -0
- package/dist/search/classify.d.ts +23 -0
- package/dist/search/classify.d.ts.map +1 -0
- package/dist/search/classify.js +132 -0
- package/dist/search/classify.js.map +1 -0
- package/dist/search/client.d.ts +32 -0
- package/dist/search/client.d.ts.map +1 -0
- package/dist/search/client.js +72 -0
- package/dist/search/client.js.map +1 -0
- package/dist/search/perplexity.d.ts +13 -0
- package/dist/search/perplexity.d.ts.map +1 -0
- package/dist/search/perplexity.js +41 -0
- package/dist/search/perplexity.js.map +1 -0
- package/dist/search/sidecar.d.ts +20 -0
- package/dist/search/sidecar.d.ts.map +1 -0
- package/dist/search/sidecar.js +103 -0
- package/dist/search/sidecar.js.map +1 -0
- package/dist/server.d.ts +8 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +4851 -0
- package/dist/server.js.map +1 -0
- package/dist/services/backlogReview.d.ts +66 -0
- package/dist/services/backlogReview.d.ts.map +1 -0
- package/dist/services/backlogReview.js +285 -0
- package/dist/services/backlogReview.js.map +1 -0
- package/dist/services/backup.d.ts +43 -0
- package/dist/services/backup.d.ts.map +1 -0
- package/dist/services/backup.js +334 -0
- package/dist/services/backup.js.map +1 -0
- package/dist/services/credit-monitor.d.ts +40 -0
- package/dist/services/credit-monitor.d.ts.map +1 -0
- package/dist/services/credit-monitor.js +147 -0
- package/dist/services/credit-monitor.js.map +1 -0
- package/dist/services/morningBriefing.d.ts +125 -0
- package/dist/services/morningBriefing.d.ts.map +1 -0
- package/dist/services/morningBriefing.js +660 -0
- package/dist/services/morningBriefing.js.map +1 -0
- package/dist/services/routine-patterns.d.ts +21 -0
- package/dist/services/routine-patterns.d.ts.map +1 -0
- package/dist/services/routine-patterns.js +46 -0
- package/dist/services/routine-patterns.js.map +1 -0
- package/dist/services/traceInsights.d.ts +53 -0
- package/dist/services/traceInsights.d.ts.map +1 -0
- package/dist/services/traceInsights.js +762 -0
- package/dist/services/traceInsights.js.map +1 -0
- package/dist/services/training.d.ts +63 -0
- package/dist/services/training.d.ts.map +1 -0
- package/dist/services/training.js +697 -0
- package/dist/services/training.js.map +1 -0
- package/dist/services/whatsapp.d.ts +45 -0
- package/dist/services/whatsapp.d.ts.map +1 -0
- package/dist/services/whatsapp.js +194 -0
- package/dist/services/whatsapp.js.map +1 -0
- package/dist/sessions/store.d.ts +21 -0
- package/dist/sessions/store.d.ts.map +1 -0
- package/dist/sessions/store.js +47 -0
- package/dist/sessions/store.js.map +1 -0
- package/dist/settings.d.ts +111 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +256 -0
- package/dist/settings.js.map +1 -0
- package/dist/skills/index.d.ts +10 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +11 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +22 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +65 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/registry.d.ts +161 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +664 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/types.d.ts +83 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +31 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/skills/validator.d.ts +36 -0
- package/dist/skills/validator.d.ts.map +1 -0
- package/dist/skills/validator.js +114 -0
- package/dist/skills/validator.js.map +1 -0
- package/dist/slack/channels.d.ts +102 -0
- package/dist/slack/channels.d.ts.map +1 -0
- package/dist/slack/channels.js +277 -0
- package/dist/slack/channels.js.map +1 -0
- package/dist/slack/client.d.ts +151 -0
- package/dist/slack/client.d.ts.map +1 -0
- package/dist/slack/client.js +468 -0
- package/dist/slack/client.js.map +1 -0
- package/dist/slack/retry.d.ts +36 -0
- package/dist/slack/retry.d.ts.map +1 -0
- package/dist/slack/retry.js +100 -0
- package/dist/slack/retry.js.map +1 -0
- package/dist/slack/types.d.ts +271 -0
- package/dist/slack/types.d.ts.map +1 -0
- package/dist/slack/types.js +52 -0
- package/dist/slack/types.js.map +1 -0
- package/dist/slack/webhooks.d.ts +55 -0
- package/dist/slack/webhooks.d.ts.map +1 -0
- package/dist/slack/webhooks.js +285 -0
- package/dist/slack/webhooks.js.map +1 -0
- package/dist/stt/client.d.ts +18 -0
- package/dist/stt/client.d.ts.map +1 -0
- package/dist/stt/client.js +66 -0
- package/dist/stt/client.js.map +1 -0
- package/dist/stt/sidecar.d.ts +16 -0
- package/dist/stt/sidecar.d.ts.map +1 -0
- package/dist/stt/sidecar.js +115 -0
- package/dist/stt/sidecar.js.map +1 -0
- package/dist/tracing/bridge.d.ts +14 -0
- package/dist/tracing/bridge.d.ts.map +1 -0
- package/dist/tracing/bridge.js +70 -0
- package/dist/tracing/bridge.js.map +1 -0
- package/dist/tracing/correlation.d.ts +34 -0
- package/dist/tracing/correlation.d.ts.map +1 -0
- package/dist/tracing/correlation.js +49 -0
- package/dist/tracing/correlation.js.map +1 -0
- package/dist/tracing/index.d.ts +15 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +18 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/tracing/init.d.ts +42 -0
- package/dist/tracing/init.d.ts.map +1 -0
- package/dist/tracing/init.js +81 -0
- package/dist/tracing/init.js.map +1 -0
- package/dist/tracing/instrument.d.ts +39 -0
- package/dist/tracing/instrument.d.ts.map +1 -0
- package/dist/tracing/instrument.js +145 -0
- package/dist/tracing/instrument.js.map +1 -0
- package/dist/tracing/middleware.d.ts +18 -0
- package/dist/tracing/middleware.d.ts.map +1 -0
- package/dist/tracing/middleware.js +69 -0
- package/dist/tracing/middleware.js.map +1 -0
- package/dist/tracing/tracer.d.ts +105 -0
- package/dist/tracing/tracer.d.ts.map +1 -0
- package/dist/tracing/tracer.js +327 -0
- package/dist/tracing/tracer.js.map +1 -0
- package/dist/tts/client.d.ts +18 -0
- package/dist/tts/client.d.ts.map +1 -0
- package/dist/tts/client.js +48 -0
- package/dist/tts/client.js.map +1 -0
- package/dist/tts/sidecar.d.ts +16 -0
- package/dist/tts/sidecar.d.ts.map +1 -0
- package/dist/tts/sidecar.js +148 -0
- package/dist/tts/sidecar.js.map +1 -0
- package/dist/twilio/call.d.ts +22 -0
- package/dist/twilio/call.d.ts.map +1 -0
- package/dist/twilio/call.js +79 -0
- package/dist/twilio/call.js.map +1 -0
- package/dist/types/plugin.d.ts +342 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +10 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types.d.ts +97 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/logger.d.ts +53 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +169 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/vault/matcher.d.ts +39 -0
- package/dist/vault/matcher.d.ts.map +1 -0
- package/dist/vault/matcher.js +197 -0
- package/dist/vault/matcher.js.map +1 -0
- package/dist/vault/personal.d.ts +60 -0
- package/dist/vault/personal.d.ts.map +1 -0
- package/dist/vault/personal.js +162 -0
- package/dist/vault/personal.js.map +1 -0
- package/dist/vault/store.d.ts +39 -0
- package/dist/vault/store.d.ts.map +1 -0
- package/dist/vault/store.js +111 -0
- package/dist/vault/store.js.map +1 -0
- package/dist/webhooks/config.d.ts +64 -0
- package/dist/webhooks/config.d.ts.map +1 -0
- package/dist/webhooks/config.js +214 -0
- package/dist/webhooks/config.js.map +1 -0
- package/dist/webhooks/event-log.d.ts +90 -0
- package/dist/webhooks/event-log.d.ts.map +1 -0
- package/dist/webhooks/event-log.js +132 -0
- package/dist/webhooks/event-log.js.map +1 -0
- package/dist/webhooks/handler.d.ts +92 -0
- package/dist/webhooks/handler.d.ts.map +1 -0
- package/dist/webhooks/handler.js +103 -0
- package/dist/webhooks/handler.js.map +1 -0
- package/dist/webhooks/handlers.d.ts +100 -0
- package/dist/webhooks/handlers.d.ts.map +1 -0
- package/dist/webhooks/handlers.js +178 -0
- package/dist/webhooks/handlers.js.map +1 -0
- package/dist/webhooks/index.d.ts +29 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +33 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/mount.d.ts +77 -0
- package/dist/webhooks/mount.d.ts.map +1 -0
- package/dist/webhooks/mount.js +400 -0
- package/dist/webhooks/mount.js.map +1 -0
- package/dist/webhooks/registry.d.ts +52 -0
- package/dist/webhooks/registry.d.ts.map +1 -0
- package/dist/webhooks/registry.js +143 -0
- package/dist/webhooks/registry.js.map +1 -0
- package/dist/webhooks/relay.d.ts +25 -0
- package/dist/webhooks/relay.d.ts.map +1 -0
- package/dist/webhooks/relay.js +53 -0
- package/dist/webhooks/relay.js.map +1 -0
- package/dist/webhooks/retry.d.ts +92 -0
- package/dist/webhooks/retry.d.ts.map +1 -0
- package/dist/webhooks/retry.js +270 -0
- package/dist/webhooks/retry.js.map +1 -0
- package/dist/webhooks/router.d.ts +94 -0
- package/dist/webhooks/router.d.ts.map +1 -0
- package/dist/webhooks/router.js +290 -0
- package/dist/webhooks/router.js.map +1 -0
- package/dist/webhooks/twilio.d.ts +63 -0
- package/dist/webhooks/twilio.d.ts.map +1 -0
- package/dist/webhooks/twilio.js +129 -0
- package/dist/webhooks/twilio.js.map +1 -0
- package/dist/webhooks/types.d.ts +142 -0
- package/dist/webhooks/types.d.ts.map +1 -0
- package/dist/webhooks/types.js +8 -0
- package/dist/webhooks/types.js.map +1 -0
- package/dist/webhooks/verify.d.ts +51 -0
- package/dist/webhooks/verify.d.ts.map +1 -0
- package/dist/webhooks/verify.js +98 -0
- package/dist/webhooks/verify.js.map +1 -0
- package/package.json +70 -0
- package/public/board.html +1316 -0
- package/public/browser.html +600 -0
- package/public/help.html +655 -0
- package/public/index.html +4689 -0
- package/public/library.html +3642 -0
- package/public/observatory.html +1693 -0
- package/public/ops.html +1129 -0
- package/public/share-modal.js +211 -0
- package/skills/README.md +34 -0
- package/skills/core-architecture.md +33 -0
- package/skills/form-fill.md +98 -0
- package/skills/form-review.md +110 -0
- package/skills/form-scout.md +94 -0
- package/skills/log-decision.md +27 -0
- package/skills/onboard.md +98 -0
- package/skills/voice-guide.md +22 -0
- package/skills/write-blog.md +43 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metabolic Firewall metrics — tracks dedup guard, routine classifier,
|
|
3
|
+
* cooldown manager, autonomous action rate, and resolved pattern filter.
|
|
4
|
+
*
|
|
5
|
+
* Records into the existing MetricsStore as MetricPoints with "firewall.*" names.
|
|
6
|
+
* Provides a report generator for before/after comparison over 2-4 weeks.
|
|
7
|
+
*/
|
|
8
|
+
import { createLogger } from "../utils/logger.js";
|
|
9
|
+
const log = createLogger("firewall-metrics");
|
|
10
|
+
// ─── Metric names ────────────────────────────────────────────────────────────
|
|
11
|
+
export const FIREWALL_METRICS = {
|
|
12
|
+
/** Autonomous actions spawned in a 10-min window. */
|
|
13
|
+
AUTONOMOUS_ACTIONS: "firewall.autonomous.actions",
|
|
14
|
+
/** Dedup guard blocks (each block is one count). */
|
|
15
|
+
DEDUP_BLOCKS: "firewall.dedup.blocks",
|
|
16
|
+
/** Routine entries filtered per analysis cycle. */
|
|
17
|
+
ROUTINE_FILTERED: "firewall.routine.filtered",
|
|
18
|
+
/** Entries filtered by resolved pattern match per analysis cycle. */
|
|
19
|
+
RESOLVED_FILTERED: "firewall.resolved.filtered",
|
|
20
|
+
/** Cooldown activations (task put on cooldown). */
|
|
21
|
+
COOLDOWN_ACTIVATIONS: "firewall.cooldown.activations",
|
|
22
|
+
/** Cooldown skips (task skipped because on cooldown). */
|
|
23
|
+
COOLDOWN_SKIPS: "firewall.cooldown.skips",
|
|
24
|
+
/** Bridge reports generated (3+ failure handoffs). */
|
|
25
|
+
BRIDGE_REPORTS: "firewall.bridge.reports",
|
|
26
|
+
/** Spawn rate limiter blocks. */
|
|
27
|
+
SPAWN_RATE_BLOCKS: "firewall.spawn_rate.blocks",
|
|
28
|
+
/** Total entries entering analysis pipeline. */
|
|
29
|
+
ANALYSIS_ENTRIES_RAW: "firewall.analysis.entries_raw",
|
|
30
|
+
/** Entries remaining after all filters. */
|
|
31
|
+
ANALYSIS_ENTRIES_KEPT: "firewall.analysis.entries_kept",
|
|
32
|
+
};
|
|
33
|
+
// ─── In-memory accumulators (flushed on each collect cycle) ──────────────────
|
|
34
|
+
let autonomousActions = 0;
|
|
35
|
+
let dedupBlocks = 0;
|
|
36
|
+
const dedupReasons = [];
|
|
37
|
+
let routineFiltered = 0;
|
|
38
|
+
let resolvedFiltered = 0;
|
|
39
|
+
let cooldownActivations = 0;
|
|
40
|
+
let cooldownSkips = 0;
|
|
41
|
+
let bridgeReports = 0;
|
|
42
|
+
let spawnRateBlocks = 0;
|
|
43
|
+
let analysisEntriesRaw = 0;
|
|
44
|
+
let analysisEntriesKept = 0;
|
|
45
|
+
// ─── Recording API (called from firewall components) ─────────────────────────
|
|
46
|
+
/** Record an autonomous action (agent spawned by the autonomous loop). */
|
|
47
|
+
export function recordAutonomousAction() {
|
|
48
|
+
autonomousActions++;
|
|
49
|
+
}
|
|
50
|
+
/** Record a dedup guard block. */
|
|
51
|
+
export function recordDedupBlock(reason) {
|
|
52
|
+
dedupBlocks++;
|
|
53
|
+
dedupReasons.push(reason);
|
|
54
|
+
}
|
|
55
|
+
/** Record routine entries filtered in an analysis cycle. */
|
|
56
|
+
export function recordRoutineFiltered(count) {
|
|
57
|
+
routineFiltered += count;
|
|
58
|
+
}
|
|
59
|
+
/** Record resolved-pattern entries filtered in an analysis cycle. */
|
|
60
|
+
export function recordResolvedFiltered(count) {
|
|
61
|
+
resolvedFiltered += count;
|
|
62
|
+
}
|
|
63
|
+
/** Record a cooldown activation (task failure → cooldown). */
|
|
64
|
+
export function recordCooldownActivation() {
|
|
65
|
+
cooldownActivations++;
|
|
66
|
+
}
|
|
67
|
+
/** Record a cooldown skip (task skipped because on cooldown). */
|
|
68
|
+
export function recordCooldownSkip() {
|
|
69
|
+
cooldownSkips++;
|
|
70
|
+
}
|
|
71
|
+
/** Record a bridge report generation. */
|
|
72
|
+
export function recordBridgeReport() {
|
|
73
|
+
bridgeReports++;
|
|
74
|
+
}
|
|
75
|
+
/** Record a spawn rate limiter block. */
|
|
76
|
+
export function recordSpawnRateBlock() {
|
|
77
|
+
spawnRateBlocks++;
|
|
78
|
+
}
|
|
79
|
+
/** Record analysis pipeline throughput for one cycle. */
|
|
80
|
+
export function recordAnalysisThroughput(raw, kept) {
|
|
81
|
+
analysisEntriesRaw += raw;
|
|
82
|
+
analysisEntriesKept += kept;
|
|
83
|
+
}
|
|
84
|
+
// ─── Collection (called by the main metrics collector) ───────────────────────
|
|
85
|
+
/**
|
|
86
|
+
* Drain in-memory accumulators and return MetricPoints.
|
|
87
|
+
* Designed to be called from the main collect() cycle in collector.ts.
|
|
88
|
+
*/
|
|
89
|
+
export function collectFirewallMetrics() {
|
|
90
|
+
const now = new Date().toISOString();
|
|
91
|
+
const points = [];
|
|
92
|
+
if (autonomousActions > 0) {
|
|
93
|
+
points.push({
|
|
94
|
+
timestamp: now,
|
|
95
|
+
name: FIREWALL_METRICS.AUTONOMOUS_ACTIONS,
|
|
96
|
+
value: autonomousActions,
|
|
97
|
+
unit: "count",
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
if (dedupBlocks > 0) {
|
|
101
|
+
points.push({
|
|
102
|
+
timestamp: now,
|
|
103
|
+
name: FIREWALL_METRICS.DEDUP_BLOCKS,
|
|
104
|
+
value: dedupBlocks,
|
|
105
|
+
unit: "count",
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
if (routineFiltered > 0) {
|
|
109
|
+
points.push({
|
|
110
|
+
timestamp: now,
|
|
111
|
+
name: FIREWALL_METRICS.ROUTINE_FILTERED,
|
|
112
|
+
value: routineFiltered,
|
|
113
|
+
unit: "count",
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (resolvedFiltered > 0) {
|
|
117
|
+
points.push({
|
|
118
|
+
timestamp: now,
|
|
119
|
+
name: FIREWALL_METRICS.RESOLVED_FILTERED,
|
|
120
|
+
value: resolvedFiltered,
|
|
121
|
+
unit: "count",
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (cooldownActivations > 0) {
|
|
125
|
+
points.push({
|
|
126
|
+
timestamp: now,
|
|
127
|
+
name: FIREWALL_METRICS.COOLDOWN_ACTIVATIONS,
|
|
128
|
+
value: cooldownActivations,
|
|
129
|
+
unit: "count",
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (cooldownSkips > 0) {
|
|
133
|
+
points.push({
|
|
134
|
+
timestamp: now,
|
|
135
|
+
name: FIREWALL_METRICS.COOLDOWN_SKIPS,
|
|
136
|
+
value: cooldownSkips,
|
|
137
|
+
unit: "count",
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
if (bridgeReports > 0) {
|
|
141
|
+
points.push({
|
|
142
|
+
timestamp: now,
|
|
143
|
+
name: FIREWALL_METRICS.BRIDGE_REPORTS,
|
|
144
|
+
value: bridgeReports,
|
|
145
|
+
unit: "count",
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
if (spawnRateBlocks > 0) {
|
|
149
|
+
points.push({
|
|
150
|
+
timestamp: now,
|
|
151
|
+
name: FIREWALL_METRICS.SPAWN_RATE_BLOCKS,
|
|
152
|
+
value: spawnRateBlocks,
|
|
153
|
+
unit: "count",
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
if (analysisEntriesRaw > 0) {
|
|
157
|
+
points.push({ timestamp: now, name: FIREWALL_METRICS.ANALYSIS_ENTRIES_RAW, value: analysisEntriesRaw, unit: "count" }, { timestamp: now, name: FIREWALL_METRICS.ANALYSIS_ENTRIES_KEPT, value: analysisEntriesKept, unit: "count" });
|
|
158
|
+
}
|
|
159
|
+
// Reset accumulators
|
|
160
|
+
autonomousActions = 0;
|
|
161
|
+
dedupBlocks = 0;
|
|
162
|
+
dedupReasons.length = 0;
|
|
163
|
+
routineFiltered = 0;
|
|
164
|
+
resolvedFiltered = 0;
|
|
165
|
+
cooldownActivations = 0;
|
|
166
|
+
cooldownSkips = 0;
|
|
167
|
+
bridgeReports = 0;
|
|
168
|
+
spawnRateBlocks = 0;
|
|
169
|
+
analysisEntriesRaw = 0;
|
|
170
|
+
analysisEntriesKept = 0;
|
|
171
|
+
return points;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Generate stats for a time period from the metrics store.
|
|
175
|
+
* @param store MetricsStore instance
|
|
176
|
+
* @param since ISO timestamp for period start
|
|
177
|
+
* @param until ISO timestamp for period end (defaults to now)
|
|
178
|
+
*/
|
|
179
|
+
export async function generatePeriodStats(store, since, until) {
|
|
180
|
+
const periodEnd = until ?? new Date().toISOString();
|
|
181
|
+
const query = (name) => store.query({ name, since, until: periodEnd });
|
|
182
|
+
const [autonomousPoints, dedupPoints, routinePoints, resolvedPoints, cooldownActPoints, cooldownSkipPoints, bridgePoints, spawnRatePoints, rawEntryPoints, keptEntryPoints,] = await Promise.all([
|
|
183
|
+
query(FIREWALL_METRICS.AUTONOMOUS_ACTIONS),
|
|
184
|
+
query(FIREWALL_METRICS.DEDUP_BLOCKS),
|
|
185
|
+
query(FIREWALL_METRICS.ROUTINE_FILTERED),
|
|
186
|
+
query(FIREWALL_METRICS.RESOLVED_FILTERED),
|
|
187
|
+
query(FIREWALL_METRICS.COOLDOWN_ACTIVATIONS),
|
|
188
|
+
query(FIREWALL_METRICS.COOLDOWN_SKIPS),
|
|
189
|
+
query(FIREWALL_METRICS.BRIDGE_REPORTS),
|
|
190
|
+
query(FIREWALL_METRICS.SPAWN_RATE_BLOCKS),
|
|
191
|
+
query(FIREWALL_METRICS.ANALYSIS_ENTRIES_RAW),
|
|
192
|
+
query(FIREWALL_METRICS.ANALYSIS_ENTRIES_KEPT),
|
|
193
|
+
]);
|
|
194
|
+
const sum = (pts) => pts.reduce((s, p) => s + p.value, 0);
|
|
195
|
+
// Calculate autonomous actions per 10-min window
|
|
196
|
+
const totalAutonomous = sum(autonomousPoints);
|
|
197
|
+
const periodMs = new Date(periodEnd).getTime() - new Date(since).getTime();
|
|
198
|
+
const tenMinWindows = Math.max(1, periodMs / (10 * 60 * 1000));
|
|
199
|
+
const autonomousActionsPer10Min = Math.round((totalAutonomous / tenMinWindows) * 100) / 100;
|
|
200
|
+
// Analysis cycle count = number of raw entry data points
|
|
201
|
+
const analysisCycles = Math.max(1, rawEntryPoints.length);
|
|
202
|
+
const totalRaw = sum(rawEntryPoints);
|
|
203
|
+
const totalKept = sum(keptEntryPoints);
|
|
204
|
+
const filterEfficiency = totalRaw > 0
|
|
205
|
+
? Math.round(((totalRaw - totalKept) / totalRaw) * 10000) / 100
|
|
206
|
+
: 0;
|
|
207
|
+
return {
|
|
208
|
+
periodStart: since,
|
|
209
|
+
periodEnd,
|
|
210
|
+
autonomousActionsPer10Min,
|
|
211
|
+
dedupBlocksTotal: sum(dedupPoints),
|
|
212
|
+
routineFilteredPerCycle: Math.round((sum(routinePoints) / analysisCycles) * 100) / 100,
|
|
213
|
+
resolvedFilteredPerCycle: Math.round((sum(resolvedPoints) / analysisCycles) * 100) / 100,
|
|
214
|
+
cooldownActivationsTotal: sum(cooldownActPoints),
|
|
215
|
+
cooldownSkipsTotal: sum(cooldownSkipPoints),
|
|
216
|
+
bridgeReportsTotal: sum(bridgePoints),
|
|
217
|
+
spawnRateBlocksTotal: sum(spawnRatePoints),
|
|
218
|
+
filterEfficiencyPercent: filterEfficiency,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Generate a markdown comparison report between two periods.
|
|
223
|
+
* Designed for the 2-4 week before/after writeup.
|
|
224
|
+
*/
|
|
225
|
+
export async function generateComparisonReport(store, before, after) {
|
|
226
|
+
const [beforeStats, afterStats] = await Promise.all([
|
|
227
|
+
generatePeriodStats(store, before.since, before.until),
|
|
228
|
+
generatePeriodStats(store, after.since, after.until),
|
|
229
|
+
]);
|
|
230
|
+
const delta = (b, a) => {
|
|
231
|
+
if (b === 0 && a === 0)
|
|
232
|
+
return "—";
|
|
233
|
+
if (b === 0)
|
|
234
|
+
return `+${a}`;
|
|
235
|
+
const pct = Math.round(((a - b) / b) * 100);
|
|
236
|
+
const sign = pct > 0 ? "+" : "";
|
|
237
|
+
return `${sign}${pct}%`;
|
|
238
|
+
};
|
|
239
|
+
const lines = [
|
|
240
|
+
`# Metabolic Firewall — Before/After Comparison`,
|
|
241
|
+
``,
|
|
242
|
+
`| Metric | Before | After | Change |`,
|
|
243
|
+
`|--------|--------|-------|--------|`,
|
|
244
|
+
`| Autonomous actions / 10-min window | ${beforeStats.autonomousActionsPer10Min} | ${afterStats.autonomousActionsPer10Min} | ${delta(beforeStats.autonomousActionsPer10Min, afterStats.autonomousActionsPer10Min)} |`,
|
|
245
|
+
`| Dedup guard blocks (total) | ${beforeStats.dedupBlocksTotal} | ${afterStats.dedupBlocksTotal} | ${delta(beforeStats.dedupBlocksTotal, afterStats.dedupBlocksTotal)} |`,
|
|
246
|
+
`| Routine entries filtered / cycle | ${beforeStats.routineFilteredPerCycle} | ${afterStats.routineFilteredPerCycle} | ${delta(beforeStats.routineFilteredPerCycle, afterStats.routineFilteredPerCycle)} |`,
|
|
247
|
+
`| Resolved-pattern filtered / cycle | ${beforeStats.resolvedFilteredPerCycle} | ${afterStats.resolvedFilteredPerCycle} | ${delta(beforeStats.resolvedFilteredPerCycle, afterStats.resolvedFilteredPerCycle)} |`,
|
|
248
|
+
`| Cooldown activations (total) | ${beforeStats.cooldownActivationsTotal} | ${afterStats.cooldownActivationsTotal} | ${delta(beforeStats.cooldownActivationsTotal, afterStats.cooldownActivationsTotal)} |`,
|
|
249
|
+
`| Cooldown skips (total) | ${beforeStats.cooldownSkipsTotal} | ${afterStats.cooldownSkipsTotal} | ${delta(beforeStats.cooldownSkipsTotal, afterStats.cooldownSkipsTotal)} |`,
|
|
250
|
+
`| Bridge reports (total) | ${beforeStats.bridgeReportsTotal} | ${afterStats.bridgeReportsTotal} | ${delta(beforeStats.bridgeReportsTotal, afterStats.bridgeReportsTotal)} |`,
|
|
251
|
+
`| Spawn rate blocks (total) | ${beforeStats.spawnRateBlocksTotal} | ${afterStats.spawnRateBlocksTotal} | ${delta(beforeStats.spawnRateBlocksTotal, afterStats.spawnRateBlocksTotal)} |`,
|
|
252
|
+
`| Filter efficiency | ${beforeStats.filterEfficiencyPercent}% | ${afterStats.filterEfficiencyPercent}% | ${delta(beforeStats.filterEfficiencyPercent, afterStats.filterEfficiencyPercent)} |`,
|
|
253
|
+
``,
|
|
254
|
+
`**Before period:** ${beforeStats.periodStart} → ${beforeStats.periodEnd}`,
|
|
255
|
+
`**After period:** ${afterStats.periodStart} → ${afterStats.periodEnd}`,
|
|
256
|
+
``,
|
|
257
|
+
`**Target:** Autonomous actions per 10-min window < 5 (baseline: 22)`,
|
|
258
|
+
];
|
|
259
|
+
return lines.join("\n");
|
|
260
|
+
}
|
|
261
|
+
//# sourceMappingURL=firewall-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firewall-metrics.js","sourceRoot":"","sources":["../../src/metrics/firewall-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics module — public API.
|
|
3
|
+
* Follows src/health/index.ts pattern: re-export types + implementations.
|
|
4
|
+
*/
|
|
5
|
+
export { MetricsStore } from "./store.js";
|
|
6
|
+
export { startCollector, stopCollector, isCollectorRunning, recordHttp, recordConcurrentRequests, recordAgentSpawn, recordAgentCompletion, recordError, } from "./collector.js";
|
|
7
|
+
export { registerDefaultThresholds, registerThreshold, clearThresholds, getThresholds, evaluateAlerts, getRecentAlerts, buildDashboard, } from "./reporter.js";
|
|
8
|
+
export { FIREWALL_METRICS, recordAutonomousAction, recordDedupBlock, recordRoutineFiltered, recordResolvedFiltered, recordCooldownActivation, recordCooldownSkip, recordBridgeReport, recordSpawnRateBlock, recordAnalysisThroughput, collectFirewallMetrics, generatePeriodStats, generateComparisonReport, } from "./firewall-metrics.js";
|
|
9
|
+
export type { FirewallPeriodStats } from "./firewall-metrics.js";
|
|
10
|
+
export { metricsMiddleware } from "./middleware.js";
|
|
11
|
+
export { Counter, Gauge, Histogram, DEFAULT_BUCKETS } from "./instruments.js";
|
|
12
|
+
export type { Labels, Sample, BucketSample, HistogramSamples } from "./instruments.js";
|
|
13
|
+
export { MetricRegistry } from "./registry.js";
|
|
14
|
+
export type { MetricStoreBackend, MetricType } from "./registry.js";
|
|
15
|
+
export { prometheusRegistry, collectPrometheus, agentSpawnsTotal, agentExecutionsTotal, agentExecutionDuration, agentSuccessRate, agentMemoryUsageBytes, apiCallsTotal, apiCallDuration, httpRequestsTotal, httpRequestDurationSeconds, concurrentRequests, memoryUsageBytes, agentExecutionsInFlight, uptimeSeconds, cpuUsagePercent, eventLoopDriftSeconds, errorsTotal, diskUsageBytes, } from "./prometheus.js";
|
|
16
|
+
export { initCpuBaseline, collectMemoryMetrics, collectCpuMetrics, collectDiskMetrics, collectSystemMetrics, } from "./system.js";
|
|
17
|
+
export { aggregateHourly, aggregateDaily, runAggregation, isAggregating, } from "./aggregator.js";
|
|
18
|
+
export type { AggregateWindow, AggregateEntry, AggregateFile, } from "./aggregator.js";
|
|
19
|
+
export type { MetricPoint, MetricCategory, MetricSummary, HistogramBucket, AlertThreshold, Alert, AlertSeverity, DashboardSnapshot, RotationConfig, } from "./types.js";
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,EACd,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics module — public API.
|
|
3
|
+
* Follows src/health/index.ts pattern: re-export types + implementations.
|
|
4
|
+
*/
|
|
5
|
+
// Store
|
|
6
|
+
export { MetricsStore } from "./store.js";
|
|
7
|
+
// Collector
|
|
8
|
+
export { startCollector, stopCollector, isCollectorRunning, recordHttp, recordConcurrentRequests, recordAgentSpawn, recordAgentCompletion, recordError, } from "./collector.js";
|
|
9
|
+
// Reporter
|
|
10
|
+
export { registerDefaultThresholds, registerThreshold, clearThresholds, getThresholds, evaluateAlerts, getRecentAlerts, buildDashboard, } from "./reporter.js";
|
|
11
|
+
// Firewall metrics
|
|
12
|
+
export { FIREWALL_METRICS, recordAutonomousAction, recordDedupBlock, recordRoutineFiltered, recordResolvedFiltered, recordCooldownActivation, recordCooldownSkip, recordBridgeReport, recordSpawnRateBlock, recordAnalysisThroughput, collectFirewallMetrics, generatePeriodStats, generateComparisonReport, } from "./firewall-metrics.js";
|
|
13
|
+
// Middleware
|
|
14
|
+
export { metricsMiddleware } from "./middleware.js";
|
|
15
|
+
// Prometheus-style instruments and registry
|
|
16
|
+
export { Counter, Gauge, Histogram, DEFAULT_BUCKETS } from "./instruments.js";
|
|
17
|
+
export { MetricRegistry } from "./registry.js";
|
|
18
|
+
export { prometheusRegistry, collectPrometheus, agentSpawnsTotal, agentExecutionsTotal, agentExecutionDuration, agentSuccessRate, agentMemoryUsageBytes, apiCallsTotal, apiCallDuration, httpRequestsTotal, httpRequestDurationSeconds, concurrentRequests, memoryUsageBytes, agentExecutionsInFlight, uptimeSeconds, cpuUsagePercent, eventLoopDriftSeconds, errorsTotal, diskUsageBytes, } from "./prometheus.js";
|
|
19
|
+
// System metrics
|
|
20
|
+
export { initCpuBaseline, collectMemoryMetrics, collectCpuMetrics, collectDiskMetrics, collectSystemMetrics, } from "./system.js";
|
|
21
|
+
// Aggregator
|
|
22
|
+
export { aggregateHourly, aggregateDaily, runAggregation, isAggregating, } from "./aggregator.js";
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY;AACZ,OAAO,EACL,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,WAAW;AACX,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAG/B,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,4CAA4C;AAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,iBAAiB;AACjB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,aAAa;AACb,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prometheus-style metric instruments: Counter, Gauge, Histogram.
|
|
3
|
+
* Each instrument tracks values in-memory with optional label dimensions.
|
|
4
|
+
*/
|
|
5
|
+
export type Labels = Record<string, string>;
|
|
6
|
+
/** Collected sample from an instrument. */
|
|
7
|
+
export interface Sample {
|
|
8
|
+
labels: Labels;
|
|
9
|
+
value: number;
|
|
10
|
+
}
|
|
11
|
+
/** Histogram bucket sample. */
|
|
12
|
+
export interface BucketSample {
|
|
13
|
+
labels: Labels;
|
|
14
|
+
le: number;
|
|
15
|
+
count: number;
|
|
16
|
+
}
|
|
17
|
+
/** Histogram collected data. */
|
|
18
|
+
export interface HistogramSamples {
|
|
19
|
+
buckets: BucketSample[];
|
|
20
|
+
sums: Sample[];
|
|
21
|
+
counts: Sample[];
|
|
22
|
+
}
|
|
23
|
+
/** Monotonically increasing counter. */
|
|
24
|
+
export declare class Counter {
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly help: string;
|
|
27
|
+
readonly labelNames: readonly string[];
|
|
28
|
+
private values;
|
|
29
|
+
constructor(opts: {
|
|
30
|
+
name: string;
|
|
31
|
+
help: string;
|
|
32
|
+
labelNames?: string[];
|
|
33
|
+
});
|
|
34
|
+
/** Increment the counter. Value must be >= 0. */
|
|
35
|
+
inc(labels?: Labels, value?: number): void;
|
|
36
|
+
/** Get current value for a label set. */
|
|
37
|
+
get(labels?: Labels): number;
|
|
38
|
+
/** Reset all values. */
|
|
39
|
+
reset(): void;
|
|
40
|
+
/** Collect all samples for exposition. */
|
|
41
|
+
collect(): Sample[];
|
|
42
|
+
}
|
|
43
|
+
/** Value that can go up and down. */
|
|
44
|
+
export declare class Gauge {
|
|
45
|
+
readonly name: string;
|
|
46
|
+
readonly help: string;
|
|
47
|
+
readonly labelNames: readonly string[];
|
|
48
|
+
private values;
|
|
49
|
+
constructor(opts: {
|
|
50
|
+
name: string;
|
|
51
|
+
help: string;
|
|
52
|
+
labelNames?: string[];
|
|
53
|
+
});
|
|
54
|
+
/** Set the gauge to an absolute value. */
|
|
55
|
+
set(labels: Labels | undefined, value: number): void;
|
|
56
|
+
/** Increment the gauge. */
|
|
57
|
+
inc(labels?: Labels, value?: number): void;
|
|
58
|
+
/** Decrement the gauge. */
|
|
59
|
+
dec(labels?: Labels, value?: number): void;
|
|
60
|
+
/** Get current value for a label set. */
|
|
61
|
+
get(labels?: Labels): number;
|
|
62
|
+
/** Reset all values. */
|
|
63
|
+
reset(): void;
|
|
64
|
+
/** Collect all samples for exposition. */
|
|
65
|
+
collect(): Sample[];
|
|
66
|
+
}
|
|
67
|
+
/** Default Prometheus histogram buckets. */
|
|
68
|
+
export declare const DEFAULT_BUCKETS: number[];
|
|
69
|
+
/** Tracks value distributions with configurable bucket boundaries. */
|
|
70
|
+
export declare class Histogram {
|
|
71
|
+
readonly name: string;
|
|
72
|
+
readonly help: string;
|
|
73
|
+
readonly labelNames: readonly string[];
|
|
74
|
+
readonly buckets: readonly number[];
|
|
75
|
+
private entries;
|
|
76
|
+
constructor(opts: {
|
|
77
|
+
name: string;
|
|
78
|
+
help: string;
|
|
79
|
+
labelNames?: string[];
|
|
80
|
+
buckets?: number[];
|
|
81
|
+
});
|
|
82
|
+
/** Record an observed value. */
|
|
83
|
+
observe(labels: Labels | undefined, value: number): void;
|
|
84
|
+
/** Reset all entries. */
|
|
85
|
+
reset(): void;
|
|
86
|
+
/** Collect all histogram data for exposition. */
|
|
87
|
+
collect(): HistogramSamples;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=instruments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instruments.d.ts","sourceRoot":"","sources":["../../src/metrics/instruments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prometheus-style metric instruments: Counter, Gauge, Histogram.
|
|
3
|
+
* Each instrument tracks values in-memory with optional label dimensions.
|
|
4
|
+
*/
|
|
5
|
+
/** Serialize a label set to a stable string key for Map lookups. */
|
|
6
|
+
function labelsKey(labels) {
|
|
7
|
+
const entries = Object.entries(labels);
|
|
8
|
+
if (entries.length === 0)
|
|
9
|
+
return "";
|
|
10
|
+
return entries.sort(([a], [b]) => a.localeCompare(b))
|
|
11
|
+
.map(([k, v]) => `${k}="${v}"`)
|
|
12
|
+
.join(",");
|
|
13
|
+
}
|
|
14
|
+
// ─── Counter ─────────────────────────────────────────────────────────────────
|
|
15
|
+
/** Monotonically increasing counter. */
|
|
16
|
+
export class Counter {
|
|
17
|
+
name;
|
|
18
|
+
help;
|
|
19
|
+
labelNames;
|
|
20
|
+
values = new Map();
|
|
21
|
+
constructor(opts) {
|
|
22
|
+
this.name = opts.name;
|
|
23
|
+
this.help = opts.help;
|
|
24
|
+
this.labelNames = opts.labelNames ?? [];
|
|
25
|
+
}
|
|
26
|
+
/** Increment the counter. Value must be >= 0. */
|
|
27
|
+
inc(labels, value = 1) {
|
|
28
|
+
if (value < 0)
|
|
29
|
+
throw new Error("Counter can only increase");
|
|
30
|
+
const key = labelsKey(labels ?? {});
|
|
31
|
+
const existing = this.values.get(key);
|
|
32
|
+
if (existing) {
|
|
33
|
+
existing.value += value;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.values.set(key, { labels: { ...(labels ?? {}) }, value });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Get current value for a label set. */
|
|
40
|
+
get(labels) {
|
|
41
|
+
return this.values.get(labelsKey(labels ?? {}))?.value ?? 0;
|
|
42
|
+
}
|
|
43
|
+
/** Reset all values. */
|
|
44
|
+
reset() {
|
|
45
|
+
this.values.clear();
|
|
46
|
+
}
|
|
47
|
+
/** Collect all samples for exposition. */
|
|
48
|
+
collect() {
|
|
49
|
+
return Array.from(this.values.values());
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// ─── Gauge ───────────────────────────────────────────────────────────────────
|
|
53
|
+
/** Value that can go up and down. */
|
|
54
|
+
export class Gauge {
|
|
55
|
+
name;
|
|
56
|
+
help;
|
|
57
|
+
labelNames;
|
|
58
|
+
values = new Map();
|
|
59
|
+
constructor(opts) {
|
|
60
|
+
this.name = opts.name;
|
|
61
|
+
this.help = opts.help;
|
|
62
|
+
this.labelNames = opts.labelNames ?? [];
|
|
63
|
+
}
|
|
64
|
+
/** Set the gauge to an absolute value. */
|
|
65
|
+
set(labels, value) {
|
|
66
|
+
const key = labelsKey(labels ?? {});
|
|
67
|
+
const existing = this.values.get(key);
|
|
68
|
+
if (existing) {
|
|
69
|
+
existing.value = value;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.values.set(key, { labels: { ...(labels ?? {}) }, value });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Increment the gauge. */
|
|
76
|
+
inc(labels, value = 1) {
|
|
77
|
+
const key = labelsKey(labels ?? {});
|
|
78
|
+
const existing = this.values.get(key);
|
|
79
|
+
if (existing) {
|
|
80
|
+
existing.value += value;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.values.set(key, { labels: { ...(labels ?? {}) }, value });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** Decrement the gauge. */
|
|
87
|
+
dec(labels, value = 1) {
|
|
88
|
+
this.inc(labels, -value);
|
|
89
|
+
}
|
|
90
|
+
/** Get current value for a label set. */
|
|
91
|
+
get(labels) {
|
|
92
|
+
return this.values.get(labelsKey(labels ?? {}))?.value ?? 0;
|
|
93
|
+
}
|
|
94
|
+
/** Reset all values. */
|
|
95
|
+
reset() {
|
|
96
|
+
this.values.clear();
|
|
97
|
+
}
|
|
98
|
+
/** Collect all samples for exposition. */
|
|
99
|
+
collect() {
|
|
100
|
+
return Array.from(this.values.values());
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// ─── Histogram ───────────────────────────────────────────────────────────────
|
|
104
|
+
/** Default Prometheus histogram buckets. */
|
|
105
|
+
export const DEFAULT_BUCKETS = [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10];
|
|
106
|
+
/** Tracks value distributions with configurable bucket boundaries. */
|
|
107
|
+
export class Histogram {
|
|
108
|
+
name;
|
|
109
|
+
help;
|
|
110
|
+
labelNames;
|
|
111
|
+
buckets;
|
|
112
|
+
entries = new Map();
|
|
113
|
+
constructor(opts) {
|
|
114
|
+
this.name = opts.name;
|
|
115
|
+
this.help = opts.help;
|
|
116
|
+
this.labelNames = opts.labelNames ?? [];
|
|
117
|
+
this.buckets = [...(opts.buckets ?? DEFAULT_BUCKETS)].sort((a, b) => a - b);
|
|
118
|
+
}
|
|
119
|
+
/** Record an observed value. */
|
|
120
|
+
observe(labels, value) {
|
|
121
|
+
const key = labelsKey(labels ?? {});
|
|
122
|
+
let entry = this.entries.get(key);
|
|
123
|
+
if (!entry) {
|
|
124
|
+
entry = {
|
|
125
|
+
labels: { ...(labels ?? {}) },
|
|
126
|
+
bucketCounts: new Array(this.buckets.length).fill(0),
|
|
127
|
+
sum: 0,
|
|
128
|
+
count: 0,
|
|
129
|
+
};
|
|
130
|
+
this.entries.set(key, entry);
|
|
131
|
+
}
|
|
132
|
+
entry.sum += value;
|
|
133
|
+
entry.count++;
|
|
134
|
+
for (let i = 0; i < this.buckets.length; i++) {
|
|
135
|
+
if (value <= this.buckets[i]) {
|
|
136
|
+
entry.bucketCounts[i]++;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/** Reset all entries. */
|
|
141
|
+
reset() {
|
|
142
|
+
this.entries.clear();
|
|
143
|
+
}
|
|
144
|
+
/** Collect all histogram data for exposition. */
|
|
145
|
+
collect() {
|
|
146
|
+
const buckets = [];
|
|
147
|
+
const sums = [];
|
|
148
|
+
const counts = [];
|
|
149
|
+
for (const entry of this.entries.values()) {
|
|
150
|
+
// Cumulative bucket counts (Prometheus convention)
|
|
151
|
+
let cumulative = 0;
|
|
152
|
+
for (let i = 0; i < this.buckets.length; i++) {
|
|
153
|
+
cumulative += entry.bucketCounts[i];
|
|
154
|
+
buckets.push({
|
|
155
|
+
labels: entry.labels,
|
|
156
|
+
le: this.buckets[i],
|
|
157
|
+
count: cumulative,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
// +Inf bucket
|
|
161
|
+
buckets.push({
|
|
162
|
+
labels: entry.labels,
|
|
163
|
+
le: Infinity,
|
|
164
|
+
count: entry.count,
|
|
165
|
+
});
|
|
166
|
+
sums.push({ labels: entry.labels, value: entry.sum });
|
|
167
|
+
counts.push({ labels: entry.labels, value: entry.count });
|
|
168
|
+
}
|
|
169
|
+
return { buckets, sums, counts };
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=instruments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instruments.js","sourceRoot":"","sources":["../../src/metrics/instruments.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hono middleware for automatic HTTP request metrics collection.
|
|
3
|
+
* Measures request duration, status codes, and concurrent requests.
|
|
4
|
+
* Records to both the time-series collector and Prometheus instruments.
|
|
5
|
+
*/
|
|
6
|
+
import type { MiddlewareHandler } from "hono";
|
|
7
|
+
/**
|
|
8
|
+
* Metrics middleware — records request duration, status code, and concurrent requests.
|
|
9
|
+
* Attach early in the middleware chain (before routes).
|
|
10
|
+
*/
|
|
11
|
+
export declare function metricsMiddleware(): MiddlewareHandler;
|
|
12
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/metrics/middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAU9C;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CA+BrD"}
|