onadit 0.0.1 → 0.1.0-beta.45
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.dev.md +124 -0
- package/README.md +194 -2
- package/dist/src/auth/keychain.d.ts +42 -0
- package/dist/src/auth/keychain.d.ts.map +1 -0
- package/dist/src/auth/keychain.js +177 -0
- package/dist/src/auth/keychain.js.map +1 -0
- package/dist/src/auth/middleware.d.ts +21 -0
- package/dist/src/auth/middleware.d.ts.map +1 -0
- package/dist/src/auth/middleware.js +93 -0
- package/dist/src/auth/middleware.js.map +1 -0
- package/dist/src/auth/rate-limit.d.ts +16 -0
- package/dist/src/auth/rate-limit.d.ts.map +1 -0
- package/dist/src/auth/rate-limit.js +38 -0
- package/dist/src/auth/rate-limit.js.map +1 -0
- package/dist/src/auth/rotation.d.ts +67 -0
- package/dist/src/auth/rotation.d.ts.map +1 -0
- package/dist/src/auth/rotation.js +190 -0
- package/dist/src/auth/rotation.js.map +1 -0
- package/dist/src/backfill/project-context-batch-constructor.d.ts +127 -0
- package/dist/src/backfill/project-context-batch-constructor.d.ts.map +1 -0
- package/dist/src/backfill/project-context-batch-constructor.js +210 -0
- package/dist/src/backfill/project-context-batch-constructor.js.map +1 -0
- package/dist/src/capture/assistant-text-lookup.d.ts +31 -0
- package/dist/src/capture/assistant-text-lookup.d.ts.map +1 -0
- package/dist/src/capture/assistant-text-lookup.js +222 -0
- package/dist/src/capture/assistant-text-lookup.js.map +1 -0
- package/dist/src/capture/auto-capture.d.ts +322 -0
- package/dist/src/capture/auto-capture.d.ts.map +1 -0
- package/dist/src/capture/auto-capture.js +1167 -0
- package/dist/src/capture/auto-capture.js.map +1 -0
- package/dist/src/capture/auto-repair.d.ts +125 -0
- package/dist/src/capture/auto-repair.d.ts.map +1 -0
- package/dist/src/capture/auto-repair.js +280 -0
- package/dist/src/capture/auto-repair.js.map +1 -0
- package/dist/src/capture/batch-budget.d.ts +90 -0
- package/dist/src/capture/batch-budget.d.ts.map +1 -0
- package/dist/src/capture/batch-budget.js +148 -0
- package/dist/src/capture/batch-budget.js.map +1 -0
- package/dist/src/capture/claude-cli-triage-provider.d.ts +28 -0
- package/dist/src/capture/claude-cli-triage-provider.d.ts.map +1 -0
- package/dist/src/capture/claude-cli-triage-provider.js +101 -0
- package/dist/src/capture/claude-cli-triage-provider.js.map +1 -0
- package/dist/src/capture/codex-cli-triage-provider.d.ts +17 -0
- package/dist/src/capture/codex-cli-triage-provider.d.ts.map +1 -0
- package/dist/src/capture/codex-cli-triage-provider.js +91 -0
- package/dist/src/capture/codex-cli-triage-provider.js.map +1 -0
- package/dist/src/capture/cursor-capture.d.ts +89 -0
- package/dist/src/capture/cursor-capture.d.ts.map +1 -0
- package/dist/src/capture/cursor-capture.js +121 -0
- package/dist/src/capture/cursor-capture.js.map +1 -0
- package/dist/src/capture/observability.d.ts +131 -0
- package/dist/src/capture/observability.d.ts.map +1 -0
- package/dist/src/capture/observability.js +181 -0
- package/dist/src/capture/observability.js.map +1 -0
- package/dist/src/capture/openai-triage-provider.d.ts +92 -0
- package/dist/src/capture/openai-triage-provider.d.ts.map +1 -0
- package/dist/src/capture/openai-triage-provider.js +267 -0
- package/dist/src/capture/openai-triage-provider.js.map +1 -0
- package/dist/src/capture/recover-quarantine.d.ts +273 -0
- package/dist/src/capture/recover-quarantine.d.ts.map +1 -0
- package/dist/src/capture/recover-quarantine.js +581 -0
- package/dist/src/capture/recover-quarantine.js.map +1 -0
- package/dist/src/capture/review-queue-index.d.ts +51 -0
- package/dist/src/capture/review-queue-index.d.ts.map +1 -0
- package/dist/src/capture/review-queue-index.js +204 -0
- package/dist/src/capture/review-queue-index.js.map +1 -0
- package/dist/src/capture/review-queue.d.ts +47 -0
- package/dist/src/capture/review-queue.d.ts.map +1 -0
- package/dist/src/capture/review-queue.js +116 -0
- package/dist/src/capture/review-queue.js.map +1 -0
- package/dist/src/capture/sources.d.ts +53 -0
- package/dist/src/capture/sources.d.ts.map +1 -0
- package/dist/src/capture/sources.js +55 -0
- package/dist/src/capture/sources.js.map +1 -0
- package/dist/src/capture/stored-statements.d.ts +9 -0
- package/dist/src/capture/stored-statements.d.ts.map +1 -0
- package/dist/src/capture/stored-statements.js +63 -0
- package/dist/src/capture/stored-statements.js.map +1 -0
- package/dist/src/capture/triage-classification.d.ts +92 -0
- package/dist/src/capture/triage-classification.d.ts.map +1 -0
- package/dist/src/capture/triage-classification.js +94 -0
- package/dist/src/capture/triage-classification.js.map +1 -0
- package/dist/src/capture/triage-lane.d.ts +39 -0
- package/dist/src/capture/triage-lane.d.ts.map +1 -0
- package/dist/src/capture/triage-lane.js +217 -0
- package/dist/src/capture/triage-lane.js.map +1 -0
- package/dist/src/capture/triage-provider-factory.d.ts +36 -0
- package/dist/src/capture/triage-provider-factory.d.ts.map +1 -0
- package/dist/src/capture/triage-provider-factory.js +55 -0
- package/dist/src/capture/triage-provider-factory.js.map +1 -0
- package/dist/src/capture/triage-provider.d.ts +82 -0
- package/dist/src/capture/triage-provider.d.ts.map +1 -0
- package/dist/src/capture/triage-provider.js +126 -0
- package/dist/src/capture/triage-provider.js.map +1 -0
- package/dist/src/capture/triage.d.ts +30 -0
- package/dist/src/capture/triage.d.ts.map +1 -0
- package/dist/src/capture/triage.js +50 -0
- package/dist/src/capture/triage.js.map +1 -0
- package/dist/src/capture/user-statements-recheck.d.ts +22 -0
- package/dist/src/capture/user-statements-recheck.d.ts.map +1 -0
- package/dist/src/capture/user-statements-recheck.js +181 -0
- package/dist/src/capture/user-statements-recheck.js.map +1 -0
- package/dist/src/capture/user-statements.d.ts +84 -0
- package/dist/src/capture/user-statements.d.ts.map +1 -0
- package/dist/src/capture/user-statements.js +617 -0
- package/dist/src/capture/user-statements.js.map +1 -0
- package/dist/src/cli/agent-homes.d.ts +15 -0
- package/dist/src/cli/agent-homes.d.ts.map +1 -0
- package/dist/src/cli/agent-homes.js +45 -0
- package/dist/src/cli/agent-homes.js.map +1 -0
- package/dist/src/cli/commands/backfill.d.ts +3 -0
- package/dist/src/cli/commands/backfill.d.ts.map +1 -0
- package/dist/src/cli/commands/backfill.js +1379 -0
- package/dist/src/cli/commands/backfill.js.map +1 -0
- package/dist/src/cli/commands/brief.d.ts +12 -0
- package/dist/src/cli/commands/brief.d.ts.map +1 -0
- package/dist/src/cli/commands/brief.js +131 -0
- package/dist/src/cli/commands/brief.js.map +1 -0
- package/dist/src/cli/commands/bulk-ingest.d.ts +3 -0
- package/dist/src/cli/commands/bulk-ingest.d.ts.map +1 -0
- package/dist/src/cli/commands/bulk-ingest.js +126 -0
- package/dist/src/cli/commands/bulk-ingest.js.map +1 -0
- package/dist/src/cli/commands/capture-recover.d.ts +40 -0
- package/dist/src/cli/commands/capture-recover.d.ts.map +1 -0
- package/dist/src/cli/commands/capture-recover.js +194 -0
- package/dist/src/cli/commands/capture-recover.js.map +1 -0
- package/dist/src/cli/commands/capture.d.ts +12 -0
- package/dist/src/cli/commands/capture.d.ts.map +1 -0
- package/dist/src/cli/commands/capture.js +304 -0
- package/dist/src/cli/commands/capture.js.map +1 -0
- package/dist/src/cli/commands/chunk-backfill.d.ts +13 -0
- package/dist/src/cli/commands/chunk-backfill.d.ts.map +1 -0
- package/dist/src/cli/commands/chunk-backfill.js +157 -0
- package/dist/src/cli/commands/chunk-backfill.js.map +1 -0
- package/dist/src/cli/commands/compact.d.ts +3 -0
- package/dist/src/cli/commands/compact.d.ts.map +1 -0
- package/dist/src/cli/commands/compact.js +70 -0
- package/dist/src/cli/commands/compact.js.map +1 -0
- package/dist/src/cli/commands/cursor-probe.d.ts +20 -0
- package/dist/src/cli/commands/cursor-probe.d.ts.map +1 -0
- package/dist/src/cli/commands/cursor-probe.js +162 -0
- package/dist/src/cli/commands/cursor-probe.js.map +1 -0
- package/dist/src/cli/commands/doctor.d.ts +6 -0
- package/dist/src/cli/commands/doctor.d.ts.map +1 -0
- package/dist/src/cli/commands/doctor.js +259 -0
- package/dist/src/cli/commands/doctor.js.map +1 -0
- package/dist/src/cli/commands/feedback.d.ts +34 -0
- package/dist/src/cli/commands/feedback.d.ts.map +1 -0
- package/dist/src/cli/commands/feedback.js +214 -0
- package/dist/src/cli/commands/feedback.js.map +1 -0
- package/dist/src/cli/commands/hooks-install.d.ts +66 -0
- package/dist/src/cli/commands/hooks-install.d.ts.map +1 -0
- package/dist/src/cli/commands/hooks-install.js +228 -0
- package/dist/src/cli/commands/hooks-install.js.map +1 -0
- package/dist/src/cli/commands/import.d.ts +19 -0
- package/dist/src/cli/commands/import.d.ts.map +1 -0
- package/dist/src/cli/commands/import.js +258 -0
- package/dist/src/cli/commands/import.js.map +1 -0
- package/dist/src/cli/commands/ingest.d.ts +3 -0
- package/dist/src/cli/commands/ingest.d.ts.map +1 -0
- package/dist/src/cli/commands/ingest.js +80 -0
- package/dist/src/cli/commands/ingest.js.map +1 -0
- package/dist/src/cli/commands/mcp-install.d.ts +65 -0
- package/dist/src/cli/commands/mcp-install.d.ts.map +1 -0
- package/dist/src/cli/commands/mcp-install.js +306 -0
- package/dist/src/cli/commands/mcp-install.js.map +1 -0
- package/dist/src/cli/commands/menubar.d.ts +127 -0
- package/dist/src/cli/commands/menubar.d.ts.map +1 -0
- package/dist/src/cli/commands/menubar.js +585 -0
- package/dist/src/cli/commands/menubar.js.map +1 -0
- package/dist/src/cli/commands/onboard-first-run.d.ts +5 -0
- package/dist/src/cli/commands/onboard-first-run.d.ts.map +1 -0
- package/dist/src/cli/commands/onboard-first-run.js +156 -0
- package/dist/src/cli/commands/onboard-first-run.js.map +1 -0
- package/dist/src/cli/commands/onboard.d.ts +336 -0
- package/dist/src/cli/commands/onboard.d.ts.map +1 -0
- package/dist/src/cli/commands/onboard.js +1873 -0
- package/dist/src/cli/commands/onboard.js.map +1 -0
- package/dist/src/cli/commands/rebuild.d.ts +12 -0
- package/dist/src/cli/commands/rebuild.d.ts.map +1 -0
- package/dist/src/cli/commands/rebuild.js +167 -0
- package/dist/src/cli/commands/rebuild.js.map +1 -0
- package/dist/src/cli/commands/reconcile.d.ts +3 -0
- package/dist/src/cli/commands/reconcile.d.ts.map +1 -0
- package/dist/src/cli/commands/reconcile.js +68 -0
- package/dist/src/cli/commands/reconcile.js.map +1 -0
- package/dist/src/cli/commands/reindex.d.ts +3 -0
- package/dist/src/cli/commands/reindex.d.ts.map +1 -0
- package/dist/src/cli/commands/reindex.js +66 -0
- package/dist/src/cli/commands/reindex.js.map +1 -0
- package/dist/src/cli/commands/review.d.ts +13 -0
- package/dist/src/cli/commands/review.d.ts.map +1 -0
- package/dist/src/cli/commands/review.js +401 -0
- package/dist/src/cli/commands/review.js.map +1 -0
- package/dist/src/cli/commands/save.d.ts +3 -0
- package/dist/src/cli/commands/save.d.ts.map +1 -0
- package/dist/src/cli/commands/save.js +111 -0
- package/dist/src/cli/commands/save.js.map +1 -0
- package/dist/src/cli/commands/search.d.ts +37 -0
- package/dist/src/cli/commands/search.d.ts.map +1 -0
- package/dist/src/cli/commands/search.js +118 -0
- package/dist/src/cli/commands/search.js.map +1 -0
- package/dist/src/cli/commands/setup.d.ts +30 -0
- package/dist/src/cli/commands/setup.d.ts.map +1 -0
- package/dist/src/cli/commands/setup.js +122 -0
- package/dist/src/cli/commands/setup.js.map +1 -0
- package/dist/src/cli/commands/stats.d.ts +3 -0
- package/dist/src/cli/commands/stats.d.ts.map +1 -0
- package/dist/src/cli/commands/stats.js +42 -0
- package/dist/src/cli/commands/stats.js.map +1 -0
- package/dist/src/cli/commands/status.d.ts +17 -0
- package/dist/src/cli/commands/status.d.ts.map +1 -0
- package/dist/src/cli/commands/status.js +206 -0
- package/dist/src/cli/commands/status.js.map +1 -0
- package/dist/src/cli/commands/token-issue.d.ts +3 -0
- package/dist/src/cli/commands/token-issue.d.ts.map +1 -0
- package/dist/src/cli/commands/token-issue.js +33 -0
- package/dist/src/cli/commands/token-issue.js.map +1 -0
- package/dist/src/cli/commands/triage.d.ts +3 -0
- package/dist/src/cli/commands/triage.d.ts.map +1 -0
- package/dist/src/cli/commands/triage.js +127 -0
- package/dist/src/cli/commands/triage.js.map +1 -0
- package/dist/src/cli/commands/uninstall.d.ts +85 -0
- package/dist/src/cli/commands/uninstall.d.ts.map +1 -0
- package/dist/src/cli/commands/uninstall.js +512 -0
- package/dist/src/cli/commands/uninstall.js.map +1 -0
- package/dist/src/cli/commands/update.d.ts +105 -0
- package/dist/src/cli/commands/update.d.ts.map +1 -0
- package/dist/src/cli/commands/update.js +556 -0
- package/dist/src/cli/commands/update.js.map +1 -0
- package/dist/src/cli/default-config-path.d.ts +15 -0
- package/dist/src/cli/default-config-path.d.ts.map +1 -0
- package/dist/src/cli/default-config-path.js +28 -0
- package/dist/src/cli/default-config-path.js.map +1 -0
- package/dist/src/cli/feedback/feedback-config.d.ts +67 -0
- package/dist/src/cli/feedback/feedback-config.d.ts.map +1 -0
- package/dist/src/cli/feedback/feedback-config.js +169 -0
- package/dist/src/cli/feedback/feedback-config.js.map +1 -0
- package/dist/src/cli/feedback/feedback-history.d.ts +11 -0
- package/dist/src/cli/feedback/feedback-history.d.ts.map +1 -0
- package/dist/src/cli/feedback/feedback-history.js +145 -0
- package/dist/src/cli/feedback/feedback-history.js.map +1 -0
- package/dist/src/cli/feedback/feedback-payload.d.ts +74 -0
- package/dist/src/cli/feedback/feedback-payload.d.ts.map +1 -0
- package/dist/src/cli/feedback/feedback-payload.js +10 -0
- package/dist/src/cli/feedback/feedback-payload.js.map +1 -0
- package/dist/src/cli/feedback/feedback-relay.d.ts +15 -0
- package/dist/src/cli/feedback/feedback-relay.d.ts.map +1 -0
- package/dist/src/cli/feedback/feedback-relay.js +47 -0
- package/dist/src/cli/feedback/feedback-relay.js.map +1 -0
- package/dist/src/cli/feedback/feedback-status.d.ts +11 -0
- package/dist/src/cli/feedback/feedback-status.d.ts.map +1 -0
- package/dist/src/cli/feedback/feedback-status.js +122 -0
- package/dist/src/cli/feedback/feedback-status.js.map +1 -0
- package/dist/src/cli/feedback/invite.d.ts +17 -0
- package/dist/src/cli/feedback/invite.d.ts.map +1 -0
- package/dist/src/cli/feedback/invite.js +73 -0
- package/dist/src/cli/feedback/invite.js.map +1 -0
- package/dist/src/cli/feedback/relay-secret-store.d.ts +32 -0
- package/dist/src/cli/feedback/relay-secret-store.d.ts.map +1 -0
- package/dist/src/cli/feedback/relay-secret-store.js +137 -0
- package/dist/src/cli/feedback/relay-secret-store.js.map +1 -0
- package/dist/src/cli/hooks-writers/claude-code-policy-script.d.ts +35 -0
- package/dist/src/cli/hooks-writers/claude-code-policy-script.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/claude-code-policy-script.js +122 -0
- package/dist/src/cli/hooks-writers/claude-code-policy-script.js.map +1 -0
- package/dist/src/cli/hooks-writers/claude-code.d.ts +63 -0
- package/dist/src/cli/hooks-writers/claude-code.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/claude-code.js +289 -0
- package/dist/src/cli/hooks-writers/claude-code.js.map +1 -0
- package/dist/src/cli/hooks-writers/codex.d.ts +16 -0
- package/dist/src/cli/hooks-writers/codex.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/codex.js +17 -0
- package/dist/src/cli/hooks-writers/codex.js.map +1 -0
- package/dist/src/cli/hooks-writers/errors.d.ts +16 -0
- package/dist/src/cli/hooks-writers/errors.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/errors.js +24 -0
- package/dist/src/cli/hooks-writers/errors.js.map +1 -0
- package/dist/src/cli/hooks-writers/index.d.ts +23 -0
- package/dist/src/cli/hooks-writers/index.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/index.js +34 -0
- package/dist/src/cli/hooks-writers/index.js.map +1 -0
- package/dist/src/cli/hooks-writers/state.d.ts +43 -0
- package/dist/src/cli/hooks-writers/state.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/state.js +225 -0
- package/dist/src/cli/hooks-writers/state.js.map +1 -0
- package/dist/src/cli/hooks-writers/types.d.ts +28 -0
- package/dist/src/cli/hooks-writers/types.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/types.js +8 -0
- package/dist/src/cli/hooks-writers/types.js.map +1 -0
- package/dist/src/cli/http-client.d.ts +128 -0
- package/dist/src/cli/http-client.d.ts.map +1 -0
- package/dist/src/cli/http-client.js +401 -0
- package/dist/src/cli/http-client.js.map +1 -0
- package/dist/src/cli/index.d.ts +4 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +99 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/job-poller.d.ts +13 -0
- package/dist/src/cli/job-poller.d.ts.map +1 -0
- package/dist/src/cli/job-poller.js +29 -0
- package/dist/src/cli/job-poller.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/codex-toml.d.ts +20 -0
- package/dist/src/cli/mcp-config-writers/codex-toml.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/codex-toml.js +918 -0
- package/dist/src/cli/mcp-config-writers/codex-toml.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.d.ts +11 -0
- package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.js +152 -0
- package/dist/src/cli/mcp-config-writers/earlier-name-restrictions.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/errors.d.ts +17 -0
- package/dist/src/cli/mcp-config-writers/errors.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/errors.js +13 -0
- package/dist/src/cli/mcp-config-writers/errors.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/index.d.ts +28 -0
- package/dist/src/cli/mcp-config-writers/index.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/index.js +70 -0
- package/dist/src/cli/mcp-config-writers/index.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/json-config.d.ts +20 -0
- package/dist/src/cli/mcp-config-writers/json-config.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/json-config.js +301 -0
- package/dist/src/cli/mcp-config-writers/json-config.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/left-in-folder.d.ts +18 -0
- package/dist/src/cli/mcp-config-writers/left-in-folder.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/left-in-folder.js +140 -0
- package/dist/src/cli/mcp-config-writers/left-in-folder.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/redact.d.ts +28 -0
- package/dist/src/cli/mcp-config-writers/redact.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/redact.js +48 -0
- package/dist/src/cli/mcp-config-writers/redact.js.map +1 -0
- package/dist/src/cli/mcp-config-writers/types.d.ts +46 -0
- package/dist/src/cli/mcp-config-writers/types.d.ts.map +1 -0
- package/dist/src/cli/mcp-config-writers/types.js +5 -0
- package/dist/src/cli/mcp-config-writers/types.js.map +1 -0
- package/dist/src/cli/output.d.ts +8 -0
- package/dist/src/cli/output.d.ts.map +1 -0
- package/dist/src/cli/output.js +34 -0
- package/dist/src/cli/output.js.map +1 -0
- package/dist/src/cli/postinstall-menubar.d.ts +38 -0
- package/dist/src/cli/postinstall-menubar.d.ts.map +1 -0
- package/dist/src/cli/postinstall-menubar.js +139 -0
- package/dist/src/cli/postinstall-menubar.js.map +1 -0
- package/dist/src/cli/status/friend-header.d.ts +61 -0
- package/dist/src/cli/status/friend-header.d.ts.map +1 -0
- package/dist/src/cli/status/friend-header.js +708 -0
- package/dist/src/cli/status/friend-header.js.map +1 -0
- package/dist/src/cli/status/local-signals.d.ts +89 -0
- package/dist/src/cli/status/local-signals.d.ts.map +1 -0
- package/dist/src/cli/status/local-signals.js +194 -0
- package/dist/src/cli/status/local-signals.js.map +1 -0
- package/dist/src/cli/token.d.ts +37 -0
- package/dist/src/cli/token.d.ts.map +1 -0
- package/dist/src/cli/token.js +105 -0
- package/dist/src/cli/token.js.map +1 -0
- package/dist/src/cli/ui.d.ts +47 -0
- package/dist/src/cli/ui.d.ts.map +1 -0
- package/dist/src/cli/ui.js +166 -0
- package/dist/src/cli/ui.js.map +1 -0
- package/dist/src/cli/uninstall/mcp-uninstall.d.ts +33 -0
- package/dist/src/cli/uninstall/mcp-uninstall.d.ts.map +1 -0
- package/dist/src/cli/uninstall/mcp-uninstall.js +116 -0
- package/dist/src/cli/uninstall/mcp-uninstall.js.map +1 -0
- package/dist/src/config/loader.d.ts +9 -0
- package/dist/src/config/loader.d.ts.map +1 -0
- package/dist/src/config/loader.js +73 -0
- package/dist/src/config/loader.js.map +1 -0
- package/dist/src/config/schema.d.ts +956 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +339 -0
- package/dist/src/config/schema.js.map +1 -0
- package/dist/src/diagnostics/claude-preflight.d.ts +35 -0
- package/dist/src/diagnostics/claude-preflight.d.ts.map +1 -0
- package/dist/src/diagnostics/claude-preflight.js +90 -0
- package/dist/src/diagnostics/claude-preflight.js.map +1 -0
- package/dist/src/diagnostics/codex-preflight.d.ts +33 -0
- package/dist/src/diagnostics/codex-preflight.d.ts.map +1 -0
- package/dist/src/diagnostics/codex-preflight.js +99 -0
- package/dist/src/diagnostics/codex-preflight.js.map +1 -0
- package/dist/src/diagnostics/doctor.d.ts +125 -0
- package/dist/src/diagnostics/doctor.d.ts.map +1 -0
- package/dist/src/diagnostics/doctor.js +450 -0
- package/dist/src/diagnostics/doctor.js.map +1 -0
- package/dist/src/diagnostics/install-layout.d.ts +40 -0
- package/dist/src/diagnostics/install-layout.d.ts.map +1 -0
- package/dist/src/diagnostics/install-layout.js +55 -0
- package/dist/src/diagnostics/install-layout.js.map +1 -0
- package/dist/src/diagnostics/memory-coverage.d.ts +54 -0
- package/dist/src/diagnostics/memory-coverage.d.ts.map +1 -0
- package/dist/src/diagnostics/memory-coverage.js +272 -0
- package/dist/src/diagnostics/memory-coverage.js.map +1 -0
- package/dist/src/diagnostics/notify.d.ts +107 -0
- package/dist/src/diagnostics/notify.d.ts.map +1 -0
- package/dist/src/diagnostics/notify.js +217 -0
- package/dist/src/diagnostics/notify.js.map +1 -0
- package/dist/src/diagnostics/repair-prompt.d.ts +49 -0
- package/dist/src/diagnostics/repair-prompt.d.ts.map +1 -0
- package/dist/src/diagnostics/repair-prompt.js +223 -0
- package/dist/src/diagnostics/repair-prompt.js.map +1 -0
- package/dist/src/ingestion/bulk-ingest.d.ts +11 -0
- package/dist/src/ingestion/bulk-ingest.d.ts.map +1 -0
- package/dist/src/ingestion/bulk-ingest.js +11 -0
- package/dist/src/ingestion/bulk-ingest.js.map +1 -0
- package/dist/src/ingestion/chunk-meta.d.ts +85 -0
- package/dist/src/ingestion/chunk-meta.d.ts.map +1 -0
- package/dist/src/ingestion/chunk-meta.js +167 -0
- package/dist/src/ingestion/chunk-meta.js.map +1 -0
- package/dist/src/ingestion/chunk-text.d.ts +39 -0
- package/dist/src/ingestion/chunk-text.d.ts.map +1 -0
- package/dist/src/ingestion/chunk-text.js +114 -0
- package/dist/src/ingestion/chunk-text.js.map +1 -0
- package/dist/src/ingestion/cursor/cursor-store.d.ts +177 -0
- package/dist/src/ingestion/cursor/cursor-store.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/cursor-store.js +242 -0
- package/dist/src/ingestion/cursor/cursor-store.js.map +1 -0
- package/dist/src/ingestion/cursor/enrich-roots.d.ts +16 -0
- package/dist/src/ingestion/cursor/enrich-roots.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/enrich-roots.js +22 -0
- package/dist/src/ingestion/cursor/enrich-roots.js.map +1 -0
- package/dist/src/ingestion/cursor/vscdb-reader.d.ts +32 -0
- package/dist/src/ingestion/cursor/vscdb-reader.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/vscdb-reader.js +113 -0
- package/dist/src/ingestion/cursor/vscdb-reader.js.map +1 -0
- package/dist/src/ingestion/cursor/workspace-root.d.ts +96 -0
- package/dist/src/ingestion/cursor/workspace-root.d.ts.map +1 -0
- package/dist/src/ingestion/cursor/workspace-root.js +187 -0
- package/dist/src/ingestion/cursor/workspace-root.js.map +1 -0
- package/dist/src/ingestion/extractor.d.ts +16 -0
- package/dist/src/ingestion/extractor.d.ts.map +1 -0
- package/dist/src/ingestion/extractor.js +85 -0
- package/dist/src/ingestion/extractor.js.map +1 -0
- package/dist/src/ingestion/extractors/docx.d.ts +3 -0
- package/dist/src/ingestion/extractors/docx.d.ts.map +1 -0
- package/dist/src/ingestion/extractors/docx.js +20 -0
- package/dist/src/ingestion/extractors/docx.js.map +1 -0
- package/dist/src/ingestion/extractors/pdf.d.ts +3 -0
- package/dist/src/ingestion/extractors/pdf.d.ts.map +1 -0
- package/dist/src/ingestion/extractors/pdf.js +32 -0
- package/dist/src/ingestion/extractors/pdf.js.map +1 -0
- package/dist/src/ingestion/historical-campaign.d.ts +340 -0
- package/dist/src/ingestion/historical-campaign.d.ts.map +1 -0
- package/dist/src/ingestion/historical-campaign.js +1010 -0
- package/dist/src/ingestion/historical-campaign.js.map +1 -0
- package/dist/src/ingestion/ignored-paths.d.ts +20 -0
- package/dist/src/ingestion/ignored-paths.d.ts.map +1 -0
- package/dist/src/ingestion/ignored-paths.js +45 -0
- package/dist/src/ingestion/ignored-paths.js.map +1 -0
- package/dist/src/ingestion/inbox-core/conversation-fingerprint.d.ts +2 -0
- package/dist/src/ingestion/inbox-core/conversation-fingerprint.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/conversation-fingerprint.js +27 -0
- package/dist/src/ingestion/inbox-core/conversation-fingerprint.js.map +1 -0
- package/dist/src/ingestion/inbox-core/conversation-key.d.ts +2 -0
- package/dist/src/ingestion/inbox-core/conversation-key.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/conversation-key.js +31 -0
- package/dist/src/ingestion/inbox-core/conversation-key.js.map +1 -0
- package/dist/src/ingestion/inbox-core/extensions.d.ts +3 -0
- package/dist/src/ingestion/inbox-core/extensions.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/extensions.js +16 -0
- package/dist/src/ingestion/inbox-core/extensions.js.map +1 -0
- package/dist/src/ingestion/inbox-core/idempotency.d.ts +2 -0
- package/dist/src/ingestion/inbox-core/idempotency.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/idempotency.js +22 -0
- package/dist/src/ingestion/inbox-core/idempotency.js.map +1 -0
- package/dist/src/ingestion/inbox-core/index.d.ts +20 -0
- package/dist/src/ingestion/inbox-core/index.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/index.js +20 -0
- package/dist/src/ingestion/inbox-core/index.js.map +1 -0
- package/dist/src/ingestion/inbox-core/source-detection.d.ts +2 -0
- package/dist/src/ingestion/inbox-core/source-detection.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/source-detection.js +23 -0
- package/dist/src/ingestion/inbox-core/source-detection.js.map +1 -0
- package/dist/src/ingestion/inbox-core/source-sniffer.d.ts +11 -0
- package/dist/src/ingestion/inbox-core/source-sniffer.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/source-sniffer.js +69 -0
- package/dist/src/ingestion/inbox-core/source-sniffer.js.map +1 -0
- package/dist/src/ingestion/inbox-core/zip-sniffer.d.ts +70 -0
- package/dist/src/ingestion/inbox-core/zip-sniffer.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/zip-sniffer.js +161 -0
- package/dist/src/ingestion/inbox-core/zip-sniffer.js.map +1 -0
- package/dist/src/ingestion/inbox-watcher.d.ts +12 -0
- package/dist/src/ingestion/inbox-watcher.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-watcher.js +83 -0
- package/dist/src/ingestion/inbox-watcher.js.map +1 -0
- package/dist/src/ingestion/indexer.d.ts +39 -0
- package/dist/src/ingestion/indexer.d.ts.map +1 -0
- package/dist/src/ingestion/indexer.js +111 -0
- package/dist/src/ingestion/indexer.js.map +1 -0
- package/dist/src/ingestion/metadata-extraction.d.ts +56 -0
- package/dist/src/ingestion/metadata-extraction.d.ts.map +1 -0
- package/dist/src/ingestion/metadata-extraction.js +151 -0
- package/dist/src/ingestion/metadata-extraction.js.map +1 -0
- package/dist/src/ingestion/parsers/chatgpt-web.d.ts +29 -0
- package/dist/src/ingestion/parsers/chatgpt-web.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/chatgpt-web.js +100 -0
- package/dist/src/ingestion/parsers/chatgpt-web.js.map +1 -0
- package/dist/src/ingestion/parsers/claude-code-jsonl.d.ts +26 -0
- package/dist/src/ingestion/parsers/claude-code-jsonl.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/claude-code-jsonl.js +125 -0
- package/dist/src/ingestion/parsers/claude-code-jsonl.js.map +1 -0
- package/dist/src/ingestion/parsers/claude-desktop-sessions.d.ts +17 -0
- package/dist/src/ingestion/parsers/claude-desktop-sessions.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/claude-desktop-sessions.js +112 -0
- package/dist/src/ingestion/parsers/claude-desktop-sessions.js.map +1 -0
- package/dist/src/ingestion/parsers/claude-web.d.ts +24 -0
- package/dist/src/ingestion/parsers/claude-web.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/claude-web.js +75 -0
- package/dist/src/ingestion/parsers/claude-web.js.map +1 -0
- package/dist/src/ingestion/parsers/codex-jsonl.d.ts +18 -0
- package/dist/src/ingestion/parsers/codex-jsonl.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/codex-jsonl.js +150 -0
- package/dist/src/ingestion/parsers/codex-jsonl.js.map +1 -0
- package/dist/src/ingestion/parsers/gemini-web.d.ts +16 -0
- package/dist/src/ingestion/parsers/gemini-web.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/gemini-web.js +170 -0
- package/dist/src/ingestion/parsers/gemini-web.js.map +1 -0
- package/dist/src/ingestion/parsers/grok-cli.d.ts +19 -0
- package/dist/src/ingestion/parsers/grok-cli.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/grok-cli.js +126 -0
- package/dist/src/ingestion/parsers/grok-cli.js.map +1 -0
- package/dist/src/ingestion/parsers/grok-web.d.ts +40 -0
- package/dist/src/ingestion/parsers/grok-web.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/grok-web.js +67 -0
- package/dist/src/ingestion/parsers/grok-web.js.map +1 -0
- package/dist/src/ingestion/parsers/turns.d.ts +36 -0
- package/dist/src/ingestion/parsers/turns.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/turns.js +25 -0
- package/dist/src/ingestion/parsers/turns.js.map +1 -0
- package/dist/src/ingestion/parsers/types.d.ts +47 -0
- package/dist/src/ingestion/parsers/types.d.ts.map +1 -0
- package/dist/src/ingestion/parsers/types.js +26 -0
- package/dist/src/ingestion/parsers/types.js.map +1 -0
- package/dist/src/ingestion/report-cards.d.ts +75 -0
- package/dist/src/ingestion/report-cards.d.ts.map +1 -0
- package/dist/src/ingestion/report-cards.js +224 -0
- package/dist/src/ingestion/report-cards.js.map +1 -0
- package/dist/src/ingestion/scanner.d.ts +48 -0
- package/dist/src/ingestion/scanner.d.ts.map +1 -0
- package/dist/src/ingestion/scanner.js +131 -0
- package/dist/src/ingestion/scanner.js.map +1 -0
- package/dist/src/ingestion/skip-quarantine.d.ts +10 -0
- package/dist/src/ingestion/skip-quarantine.d.ts.map +1 -0
- package/dist/src/ingestion/skip-quarantine.js +35 -0
- package/dist/src/ingestion/skip-quarantine.js.map +1 -0
- package/dist/src/ingestion/staging.d.ts +109 -0
- package/dist/src/ingestion/staging.d.ts.map +1 -0
- package/dist/src/ingestion/staging.js +411 -0
- package/dist/src/ingestion/staging.js.map +1 -0
- package/dist/src/ingestion/watcher.d.ts +65 -0
- package/dist/src/ingestion/watcher.d.ts.map +1 -0
- package/dist/src/ingestion/watcher.js +182 -0
- package/dist/src/ingestion/watcher.js.map +1 -0
- package/dist/src/jobs/codex-override-handler.d.ts +3 -0
- package/dist/src/jobs/codex-override-handler.d.ts.map +1 -0
- package/dist/src/jobs/codex-override-handler.js +16 -0
- package/dist/src/jobs/codex-override-handler.js.map +1 -0
- package/dist/src/jobs/handlers/compact.d.ts +30 -0
- package/dist/src/jobs/handlers/compact.d.ts.map +1 -0
- package/dist/src/jobs/handlers/compact.js +360 -0
- package/dist/src/jobs/handlers/compact.js.map +1 -0
- package/dist/src/jobs/handlers/dedupe-conversations.d.ts +134 -0
- package/dist/src/jobs/handlers/dedupe-conversations.d.ts.map +1 -0
- package/dist/src/jobs/handlers/dedupe-conversations.js +371 -0
- package/dist/src/jobs/handlers/dedupe-conversations.js.map +1 -0
- package/dist/src/jobs/handlers/ingest.d.ts +13 -0
- package/dist/src/jobs/handlers/ingest.d.ts.map +1 -0
- package/dist/src/jobs/handlers/ingest.js +557 -0
- package/dist/src/jobs/handlers/ingest.js.map +1 -0
- package/dist/src/jobs/handlers/optimize.d.ts +11 -0
- package/dist/src/jobs/handlers/optimize.d.ts.map +1 -0
- package/dist/src/jobs/handlers/optimize.js +12 -0
- package/dist/src/jobs/handlers/optimize.js.map +1 -0
- package/dist/src/jobs/handlers/reconcile.d.ts +57 -0
- package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -0
- package/dist/src/jobs/handlers/reconcile.js +685 -0
- package/dist/src/jobs/handlers/reconcile.js.map +1 -0
- package/dist/src/jobs/handlers/reindex.d.ts +38 -0
- package/dist/src/jobs/handlers/reindex.d.ts.map +1 -0
- package/dist/src/jobs/handlers/reindex.js +63 -0
- package/dist/src/jobs/handlers/reindex.js.map +1 -0
- package/dist/src/jobs/handlers/save.d.ts +10 -0
- package/dist/src/jobs/handlers/save.d.ts.map +1 -0
- package/dist/src/jobs/handlers/save.js +316 -0
- package/dist/src/jobs/handlers/save.js.map +1 -0
- package/dist/src/jobs/handlers/triage.d.ts +47 -0
- package/dist/src/jobs/handlers/triage.d.ts.map +1 -0
- package/dist/src/jobs/handlers/triage.js +95 -0
- package/dist/src/jobs/handlers/triage.js.map +1 -0
- package/dist/src/jobs/maintenance-scheduler.d.ts +30 -0
- package/dist/src/jobs/maintenance-scheduler.d.ts.map +1 -0
- package/dist/src/jobs/maintenance-scheduler.js +41 -0
- package/dist/src/jobs/maintenance-scheduler.js.map +1 -0
- package/dist/src/jobs/queue.d.ts +157 -0
- package/dist/src/jobs/queue.d.ts.map +1 -0
- package/dist/src/jobs/queue.js +759 -0
- package/dist/src/jobs/queue.js.map +1 -0
- package/dist/src/jobs/types.d.ts +53 -0
- package/dist/src/jobs/types.d.ts.map +1 -0
- package/dist/src/jobs/types.js +33 -0
- package/dist/src/jobs/types.js.map +1 -0
- package/dist/src/jobs/worker-entry.d.ts +10 -0
- package/dist/src/jobs/worker-entry.d.ts.map +1 -0
- package/dist/src/jobs/worker-entry.js +252 -0
- package/dist/src/jobs/worker-entry.js.map +1 -0
- package/dist/src/jobs/worker-process.d.ts +67 -0
- package/dist/src/jobs/worker-process.d.ts.map +1 -0
- package/dist/src/jobs/worker-process.js +227 -0
- package/dist/src/jobs/worker-process.js.map +1 -0
- package/dist/src/jobs/worker.d.ts +11 -0
- package/dist/src/jobs/worker.d.ts.map +1 -0
- package/dist/src/jobs/worker.js +14 -0
- package/dist/src/jobs/worker.js.map +1 -0
- package/dist/src/main.d.ts +2 -0
- package/dist/src/main.d.ts.map +1 -0
- package/dist/src/main.js +683 -0
- package/dist/src/main.js.map +1 -0
- package/dist/src/mcp/capture-diagnostics.d.ts +51 -0
- package/dist/src/mcp/capture-diagnostics.d.ts.map +1 -0
- package/dist/src/mcp/capture-diagnostics.js +127 -0
- package/dist/src/mcp/capture-diagnostics.js.map +1 -0
- package/dist/src/mcp/errors.d.ts +8 -0
- package/dist/src/mcp/errors.d.ts.map +1 -0
- package/dist/src/mcp/errors.js +69 -0
- package/dist/src/mcp/errors.js.map +1 -0
- package/dist/src/mcp/memory-diagnostics.d.ts +6 -0
- package/dist/src/mcp/memory-diagnostics.d.ts.map +1 -0
- package/dist/src/mcp/memory-diagnostics.js +51 -0
- package/dist/src/mcp/memory-diagnostics.js.map +1 -0
- package/dist/src/mcp/names.d.ts +48 -0
- package/dist/src/mcp/names.d.ts.map +1 -0
- package/dist/src/mcp/names.js +77 -0
- package/dist/src/mcp/names.js.map +1 -0
- package/dist/src/mcp/server.d.ts +19 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +184 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/stdio.d.ts +2 -0
- package/dist/src/mcp/stdio.d.ts.map +1 -0
- package/dist/src/mcp/stdio.js +8 -0
- package/dist/src/mcp/stdio.js.map +1 -0
- package/dist/src/mcp/tools/context-pack.d.ts +35 -0
- package/dist/src/mcp/tools/context-pack.d.ts.map +1 -0
- package/dist/src/mcp/tools/context-pack.js +279 -0
- package/dist/src/mcp/tools/context-pack.js.map +1 -0
- package/dist/src/mcp/tools/conversations-search.d.ts +38 -0
- package/dist/src/mcp/tools/conversations-search.d.ts.map +1 -0
- package/dist/src/mcp/tools/conversations-search.js +79 -0
- package/dist/src/mcp/tools/conversations-search.js.map +1 -0
- package/dist/src/mcp/tools/evidence-feedback.d.ts +60 -0
- package/dist/src/mcp/tools/evidence-feedback.d.ts.map +1 -0
- package/dist/src/mcp/tools/evidence-feedback.js +62 -0
- package/dist/src/mcp/tools/evidence-feedback.js.map +1 -0
- package/dist/src/mcp/tools/log-outcome.d.ts +72 -0
- package/dist/src/mcp/tools/log-outcome.d.ts.map +1 -0
- package/dist/src/mcp/tools/log-outcome.js +59 -0
- package/dist/src/mcp/tools/log-outcome.js.map +1 -0
- package/dist/src/mcp/tools/open-evidence.d.ts +37 -0
- package/dist/src/mcp/tools/open-evidence.d.ts.map +1 -0
- package/dist/src/mcp/tools/open-evidence.js +72 -0
- package/dist/src/mcp/tools/open-evidence.js.map +1 -0
- package/dist/src/mcp/tools/save.d.ts +37 -0
- package/dist/src/mcp/tools/save.d.ts.map +1 -0
- package/dist/src/mcp/tools/save.js +65 -0
- package/dist/src/mcp/tools/save.js.map +1 -0
- package/dist/src/mcp/tools/search.d.ts +37 -0
- package/dist/src/mcp/tools/search.d.ts.map +1 -0
- package/dist/src/mcp/tools/search.js +95 -0
- package/dist/src/mcp/tools/search.js.map +1 -0
- package/dist/src/mcp/tools/status.d.ts +31 -0
- package/dist/src/mcp/tools/status.d.ts.map +1 -0
- package/dist/src/mcp/tools/status.js +63 -0
- package/dist/src/mcp/tools/status.js.map +1 -0
- package/dist/src/observability/coverage.d.ts +100 -0
- package/dist/src/observability/coverage.d.ts.map +1 -0
- package/dist/src/observability/coverage.js +178 -0
- package/dist/src/observability/coverage.js.map +1 -0
- package/dist/src/observability/embedding-events.d.ts +52 -0
- package/dist/src/observability/embedding-events.d.ts.map +1 -0
- package/dist/src/observability/embedding-events.js +149 -0
- package/dist/src/observability/embedding-events.js.map +1 -0
- package/dist/src/observability/index-events.d.ts +70 -0
- package/dist/src/observability/index-events.d.ts.map +1 -0
- package/dist/src/observability/index-events.js +148 -0
- package/dist/src/observability/index-events.js.map +1 -0
- package/dist/src/observability/onboarding-metric.d.ts +131 -0
- package/dist/src/observability/onboarding-metric.d.ts.map +1 -0
- package/dist/src/observability/onboarding-metric.js +352 -0
- package/dist/src/observability/onboarding-metric.js.map +1 -0
- package/dist/src/observability/retrieval-feedback.d.ts +82 -0
- package/dist/src/observability/retrieval-feedback.d.ts.map +1 -0
- package/dist/src/observability/retrieval-feedback.js +231 -0
- package/dist/src/observability/retrieval-feedback.js.map +1 -0
- package/dist/src/observability/rift-context.d.ts +53 -0
- package/dist/src/observability/rift-context.d.ts.map +1 -0
- package/dist/src/observability/rift-context.js +141 -0
- package/dist/src/observability/rift-context.js.map +1 -0
- package/dist/src/observability/staleness.d.ts +43 -0
- package/dist/src/observability/staleness.d.ts.map +1 -0
- package/dist/src/observability/staleness.js +74 -0
- package/dist/src/observability/staleness.js.map +1 -0
- package/dist/src/observability/tool-usage-stats.d.ts +139 -0
- package/dist/src/observability/tool-usage-stats.d.ts.map +1 -0
- package/dist/src/observability/tool-usage-stats.js +245 -0
- package/dist/src/observability/tool-usage-stats.js.map +1 -0
- package/dist/src/observability/tool-usage.d.ts +231 -0
- package/dist/src/observability/tool-usage.d.ts.map +1 -0
- package/dist/src/observability/tool-usage.js +489 -0
- package/dist/src/observability/tool-usage.js.map +1 -0
- package/dist/src/observability/version-check.d.ts +71 -0
- package/dist/src/observability/version-check.d.ts.map +1 -0
- package/dist/src/observability/version-check.js +198 -0
- package/dist/src/observability/version-check.js.map +1 -0
- package/dist/src/onboarding/capture-switch.d.ts +20 -0
- package/dist/src/onboarding/capture-switch.d.ts.map +1 -0
- package/dist/src/onboarding/capture-switch.js +52 -0
- package/dist/src/onboarding/capture-switch.js.map +1 -0
- package/dist/src/onboarding/daemon-control.d.ts +33 -0
- package/dist/src/onboarding/daemon-control.d.ts.map +1 -0
- package/dist/src/onboarding/daemon-control.js +92 -0
- package/dist/src/onboarding/daemon-control.js.map +1 -0
- package/dist/src/onboarding/env-file.d.ts +18 -0
- package/dist/src/onboarding/env-file.d.ts.map +1 -0
- package/dist/src/onboarding/env-file.js +89 -0
- package/dist/src/onboarding/env-file.js.map +1 -0
- package/dist/src/onboarding/search-by-meaning.d.ts +35 -0
- package/dist/src/onboarding/search-by-meaning.d.ts.map +1 -0
- package/dist/src/onboarding/search-by-meaning.js +163 -0
- package/dist/src/onboarding/search-by-meaning.js.map +1 -0
- package/dist/src/onboarding/setup-page.d.ts +7 -0
- package/dist/src/onboarding/setup-page.d.ts.map +1 -0
- package/dist/src/onboarding/setup-page.js +823 -0
- package/dist/src/onboarding/setup-page.js.map +1 -0
- package/dist/src/onboarding/setup-session.d.ts +22 -0
- package/dist/src/onboarding/setup-session.d.ts.map +1 -0
- package/dist/src/onboarding/setup-session.js +80 -0
- package/dist/src/onboarding/setup-session.js.map +1 -0
- package/dist/src/onboarding/setup-state.d.ts +117 -0
- package/dist/src/onboarding/setup-state.d.ts.map +1 -0
- package/dist/src/onboarding/setup-state.js +267 -0
- package/dist/src/onboarding/setup-state.js.map +1 -0
- package/dist/src/onboarding/voyage-validate.d.ts +22 -0
- package/dist/src/onboarding/voyage-validate.d.ts.map +1 -0
- package/dist/src/onboarding/voyage-validate.js +96 -0
- package/dist/src/onboarding/voyage-validate.js.map +1 -0
- package/dist/src/providers/anthropic-digest.d.ts +23 -0
- package/dist/src/providers/anthropic-digest.d.ts.map +1 -0
- package/dist/src/providers/anthropic-digest.js +91 -0
- package/dist/src/providers/anthropic-digest.js.map +1 -0
- package/dist/src/providers/basic-metadata-extraction.d.ts +60 -0
- package/dist/src/providers/basic-metadata-extraction.d.ts.map +1 -0
- package/dist/src/providers/basic-metadata-extraction.js +114 -0
- package/dist/src/providers/basic-metadata-extraction.js.map +1 -0
- package/dist/src/providers/claude-cli-metadata-extraction.d.ts +47 -0
- package/dist/src/providers/claude-cli-metadata-extraction.d.ts.map +1 -0
- package/dist/src/providers/claude-cli-metadata-extraction.js +130 -0
- package/dist/src/providers/claude-cli-metadata-extraction.js.map +1 -0
- package/dist/src/providers/claude-cli-runner.d.ts +92 -0
- package/dist/src/providers/claude-cli-runner.d.ts.map +1 -0
- package/dist/src/providers/claude-cli-runner.js +598 -0
- package/dist/src/providers/claude-cli-runner.js.map +1 -0
- package/dist/src/providers/claude-input-limit.d.ts +32 -0
- package/dist/src/providers/claude-input-limit.d.ts.map +1 -0
- package/dist/src/providers/claude-input-limit.js +32 -0
- package/dist/src/providers/claude-input-limit.js.map +1 -0
- package/dist/src/providers/codex-cli-digest.d.ts +12 -0
- package/dist/src/providers/codex-cli-digest.d.ts.map +1 -0
- package/dist/src/providers/codex-cli-digest.js +70 -0
- package/dist/src/providers/codex-cli-digest.js.map +1 -0
- package/dist/src/providers/codex-cli-metadata-extraction.d.ts +15 -0
- package/dist/src/providers/codex-cli-metadata-extraction.d.ts.map +1 -0
- package/dist/src/providers/codex-cli-metadata-extraction.js +78 -0
- package/dist/src/providers/codex-cli-metadata-extraction.js.map +1 -0
- package/dist/src/providers/codex-cli-model.d.ts +61 -0
- package/dist/src/providers/codex-cli-model.d.ts.map +1 -0
- package/dist/src/providers/codex-cli-model.js +194 -0
- package/dist/src/providers/codex-cli-model.js.map +1 -0
- package/dist/src/providers/codex-cli-runner.d.ts +60 -0
- package/dist/src/providers/codex-cli-runner.d.ts.map +1 -0
- package/dist/src/providers/codex-cli-runner.js +584 -0
- package/dist/src/providers/codex-cli-runner.js.map +1 -0
- package/dist/src/providers/codex-input-limit.d.ts +43 -0
- package/dist/src/providers/codex-input-limit.d.ts.map +1 -0
- package/dist/src/providers/codex-input-limit.js +70 -0
- package/dist/src/providers/codex-input-limit.js.map +1 -0
- package/dist/src/providers/conversation-generation.d.ts +21 -0
- package/dist/src/providers/conversation-generation.d.ts.map +1 -0
- package/dist/src/providers/conversation-generation.js +132 -0
- package/dist/src/providers/conversation-generation.js.map +1 -0
- package/dist/src/providers/ollama-embed.d.ts +23 -0
- package/dist/src/providers/ollama-embed.d.ts.map +1 -0
- package/dist/src/providers/ollama-embed.js +137 -0
- package/dist/src/providers/ollama-embed.js.map +1 -0
- package/dist/src/providers/ollama.d.ts +42 -0
- package/dist/src/providers/ollama.d.ts.map +1 -0
- package/dist/src/providers/ollama.js +169 -0
- package/dist/src/providers/ollama.js.map +1 -0
- package/dist/src/providers/openai-metadata-extraction.d.ts +120 -0
- package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -0
- package/dist/src/providers/openai-metadata-extraction.js +225 -0
- package/dist/src/providers/openai-metadata-extraction.js.map +1 -0
- package/dist/src/providers/operator-overrides.d.ts +24 -0
- package/dist/src/providers/operator-overrides.d.ts.map +1 -0
- package/dist/src/providers/operator-overrides.js +84 -0
- package/dist/src/providers/operator-overrides.js.map +1 -0
- package/dist/src/providers/placeholder-embed.d.ts +56 -0
- package/dist/src/providers/placeholder-embed.d.ts.map +1 -0
- package/dist/src/providers/placeholder-embed.js +64 -0
- package/dist/src/providers/placeholder-embed.js.map +1 -0
- package/dist/src/providers/shared-request.d.ts +22 -0
- package/dist/src/providers/shared-request.d.ts.map +1 -0
- package/dist/src/providers/shared-request.js +63 -0
- package/dist/src/providers/shared-request.js.map +1 -0
- package/dist/src/providers/stub.d.ts +19 -0
- package/dist/src/providers/stub.d.ts.map +1 -0
- package/dist/src/providers/stub.js +74 -0
- package/dist/src/providers/stub.js.map +1 -0
- package/dist/src/providers/types.d.ts +100 -0
- package/dist/src/providers/types.d.ts.map +1 -0
- package/dist/src/providers/types.js +63 -0
- package/dist/src/providers/types.js.map +1 -0
- package/dist/src/providers/voyage.d.ts +55 -0
- package/dist/src/providers/voyage.d.ts.map +1 -0
- package/dist/src/providers/voyage.js +179 -0
- package/dist/src/providers/voyage.js.map +1 -0
- package/dist/src/retrieval/brief.d.ts +26 -0
- package/dist/src/retrieval/brief.d.ts.map +1 -0
- package/dist/src/retrieval/brief.js +268 -0
- package/dist/src/retrieval/brief.js.map +1 -0
- package/dist/src/retrieval/canonical-files.d.ts +79 -0
- package/dist/src/retrieval/canonical-files.d.ts.map +1 -0
- package/dist/src/retrieval/canonical-files.js +432 -0
- package/dist/src/retrieval/canonical-files.js.map +1 -0
- package/dist/src/retrieval/compact.d.ts +306 -0
- package/dist/src/retrieval/compact.d.ts.map +1 -0
- package/dist/src/retrieval/compact.js +810 -0
- package/dist/src/retrieval/compact.js.map +1 -0
- package/dist/src/retrieval/context-pack.d.ts +344 -0
- package/dist/src/retrieval/context-pack.d.ts.map +1 -0
- package/dist/src/retrieval/context-pack.js +1473 -0
- package/dist/src/retrieval/context-pack.js.map +1 -0
- package/dist/src/retrieval/conversation-dedup.d.ts +54 -0
- package/dist/src/retrieval/conversation-dedup.d.ts.map +1 -0
- package/dist/src/retrieval/conversation-dedup.js +162 -0
- package/dist/src/retrieval/conversation-dedup.js.map +1 -0
- package/dist/src/retrieval/current-truth.d.ts +360 -0
- package/dist/src/retrieval/current-truth.d.ts.map +1 -0
- package/dist/src/retrieval/current-truth.js +766 -0
- package/dist/src/retrieval/current-truth.js.map +1 -0
- package/dist/src/retrieval/cwd.d.ts +25 -0
- package/dist/src/retrieval/cwd.d.ts.map +1 -0
- package/dist/src/retrieval/cwd.js +48 -0
- package/dist/src/retrieval/cwd.js.map +1 -0
- package/dist/src/retrieval/degraded.d.ts +20 -0
- package/dist/src/retrieval/degraded.d.ts.map +1 -0
- package/dist/src/retrieval/degraded.js +43 -0
- package/dist/src/retrieval/degraded.js.map +1 -0
- package/dist/src/retrieval/evidence-key.d.ts +48 -0
- package/dist/src/retrieval/evidence-key.d.ts.map +1 -0
- package/dist/src/retrieval/evidence-key.js +131 -0
- package/dist/src/retrieval/evidence-key.js.map +1 -0
- package/dist/src/retrieval/feedback-ranking.d.ts +49 -0
- package/dist/src/retrieval/feedback-ranking.d.ts.map +1 -0
- package/dist/src/retrieval/feedback-ranking.js +138 -0
- package/dist/src/retrieval/feedback-ranking.js.map +1 -0
- package/dist/src/retrieval/git-state.d.ts +62 -0
- package/dist/src/retrieval/git-state.d.ts.map +1 -0
- package/dist/src/retrieval/git-state.js +192 -0
- package/dist/src/retrieval/git-state.js.map +1 -0
- package/dist/src/retrieval/group-by-parent.d.ts +38 -0
- package/dist/src/retrieval/group-by-parent.d.ts.map +1 -0
- package/dist/src/retrieval/group-by-parent.js +40 -0
- package/dist/src/retrieval/group-by-parent.js.map +1 -0
- package/dist/src/retrieval/hybrid.d.ts +75 -0
- package/dist/src/retrieval/hybrid.d.ts.map +1 -0
- package/dist/src/retrieval/hybrid.js +151 -0
- package/dist/src/retrieval/hybrid.js.map +1 -0
- package/dist/src/retrieval/lexical.d.ts +33 -0
- package/dist/src/retrieval/lexical.d.ts.map +1 -0
- package/dist/src/retrieval/lexical.js +379 -0
- package/dist/src/retrieval/lexical.js.map +1 -0
- package/dist/src/retrieval/locator-boost.d.ts +37 -0
- package/dist/src/retrieval/locator-boost.d.ts.map +1 -0
- package/dist/src/retrieval/locator-boost.js +129 -0
- package/dist/src/retrieval/locator-boost.js.map +1 -0
- package/dist/src/retrieval/passages.d.ts +24 -0
- package/dist/src/retrieval/passages.d.ts.map +1 -0
- package/dist/src/retrieval/passages.js +160 -0
- package/dist/src/retrieval/passages.js.map +1 -0
- package/dist/src/retrieval/post-filter.d.ts +32 -0
- package/dist/src/retrieval/post-filter.d.ts.map +1 -0
- package/dist/src/retrieval/post-filter.js +57 -0
- package/dist/src/retrieval/post-filter.js.map +1 -0
- package/dist/src/retrieval/project-index.d.ts +71 -0
- package/dist/src/retrieval/project-index.d.ts.map +1 -0
- package/dist/src/retrieval/project-index.js +348 -0
- package/dist/src/retrieval/project-index.js.map +1 -0
- package/dist/src/retrieval/recall-hint.d.ts +22 -0
- package/dist/src/retrieval/recall-hint.d.ts.map +1 -0
- package/dist/src/retrieval/recall-hint.js +33 -0
- package/dist/src/retrieval/recall-hint.js.map +1 -0
- package/dist/src/retrieval/receipt.d.ts +57 -0
- package/dist/src/retrieval/receipt.d.ts.map +1 -0
- package/dist/src/retrieval/receipt.js +122 -0
- package/dist/src/retrieval/receipt.js.map +1 -0
- package/dist/src/retrieval/report-demotion.d.ts +46 -0
- package/dist/src/retrieval/report-demotion.d.ts.map +1 -0
- package/dist/src/retrieval/report-demotion.js +169 -0
- package/dist/src/retrieval/report-demotion.js.map +1 -0
- package/dist/src/retrieval/reranker.d.ts +119 -0
- package/dist/src/retrieval/reranker.d.ts.map +1 -0
- package/dist/src/retrieval/reranker.js +220 -0
- package/dist/src/retrieval/reranker.js.map +1 -0
- package/dist/src/retrieval/stitch-chunks.d.ts +76 -0
- package/dist/src/retrieval/stitch-chunks.d.ts.map +1 -0
- package/dist/src/retrieval/stitch-chunks.js +113 -0
- package/dist/src/retrieval/stitch-chunks.js.map +1 -0
- package/dist/src/retrieval/vector.d.ts +71 -0
- package/dist/src/retrieval/vector.d.ts.map +1 -0
- package/dist/src/retrieval/vector.js +147 -0
- package/dist/src/retrieval/vector.js.map +1 -0
- package/dist/src/runtime/legacy-migration.d.ts +27 -0
- package/dist/src/runtime/legacy-migration.d.ts.map +1 -0
- package/dist/src/runtime/legacy-migration.js +140 -0
- package/dist/src/runtime/legacy-migration.js.map +1 -0
- package/dist/src/runtime/legacy-name-guard.d.ts +35 -0
- package/dist/src/runtime/legacy-name-guard.d.ts.map +1 -0
- package/dist/src/runtime/legacy-name-guard.js +58 -0
- package/dist/src/runtime/legacy-name-guard.js.map +1 -0
- package/dist/src/runtime/rift-env.d.ts +14 -0
- package/dist/src/runtime/rift-env.d.ts.map +1 -0
- package/dist/src/runtime/rift-env.js +79 -0
- package/dist/src/runtime/rift-env.js.map +1 -0
- package/dist/src/runtime/voyage-key-source.d.ts +46 -0
- package/dist/src/runtime/voyage-key-source.d.ts.map +1 -0
- package/dist/src/runtime/voyage-key-source.js +97 -0
- package/dist/src/runtime/voyage-key-source.js.map +1 -0
- package/dist/src/runtime/watcher-startup.d.ts +2 -0
- package/dist/src/runtime/watcher-startup.d.ts.map +1 -0
- package/dist/src/runtime/watcher-startup.js +4 -0
- package/dist/src/runtime/watcher-startup.js.map +1 -0
- package/dist/src/security/archive.d.ts +23 -0
- package/dist/src/security/archive.d.ts.map +1 -0
- package/dist/src/security/archive.js +163 -0
- package/dist/src/security/archive.js.map +1 -0
- package/dist/src/security/paths.d.ts +21 -0
- package/dist/src/security/paths.d.ts.map +1 -0
- package/dist/src/security/paths.js +67 -0
- package/dist/src/security/paths.js.map +1 -0
- package/dist/src/server/app.d.ts +29 -0
- package/dist/src/server/app.d.ts.map +1 -0
- package/dist/src/server/app.js +356 -0
- package/dist/src/server/app.js.map +1 -0
- package/dist/src/server/build-info.d.ts +8 -0
- package/dist/src/server/build-info.d.ts.map +1 -0
- package/dist/src/server/build-info.js +61 -0
- package/dist/src/server/build-info.js.map +1 -0
- package/dist/src/server/lifecycle.d.ts +30 -0
- package/dist/src/server/lifecycle.d.ts.map +1 -0
- package/dist/src/server/lifecycle.js +59 -0
- package/dist/src/server/lifecycle.js.map +1 -0
- package/dist/src/server/middleware/multipart.d.ts +51 -0
- package/dist/src/server/middleware/multipart.d.ts.map +1 -0
- package/dist/src/server/middleware/multipart.js +86 -0
- package/dist/src/server/middleware/multipart.js.map +1 -0
- package/dist/src/server/routes/compact.d.ts +37 -0
- package/dist/src/server/routes/compact.d.ts.map +1 -0
- package/dist/src/server/routes/compact.js +80 -0
- package/dist/src/server/routes/compact.js.map +1 -0
- package/dist/src/server/routes/context.d.ts +12 -0
- package/dist/src/server/routes/context.d.ts.map +1 -0
- package/dist/src/server/routes/context.js +73 -0
- package/dist/src/server/routes/context.js.map +1 -0
- package/dist/src/server/routes/conversations-search.d.ts +4 -0
- package/dist/src/server/routes/conversations-search.d.ts.map +1 -0
- package/dist/src/server/routes/conversations-search.js +287 -0
- package/dist/src/server/routes/conversations-search.js.map +1 -0
- package/dist/src/server/routes/enqueue.d.ts +11 -0
- package/dist/src/server/routes/enqueue.d.ts.map +1 -0
- package/dist/src/server/routes/enqueue.js +17 -0
- package/dist/src/server/routes/enqueue.js.map +1 -0
- package/dist/src/server/routes/friend-status.d.ts +474 -0
- package/dist/src/server/routes/friend-status.d.ts.map +1 -0
- package/dist/src/server/routes/friend-status.js +671 -0
- package/dist/src/server/routes/friend-status.js.map +1 -0
- package/dist/src/server/routes/ingest.d.ts +15 -0
- package/dist/src/server/routes/ingest.d.ts.map +1 -0
- package/dist/src/server/routes/ingest.js +142 -0
- package/dist/src/server/routes/ingest.js.map +1 -0
- package/dist/src/server/routes/jobs.d.ts +10 -0
- package/dist/src/server/routes/jobs.d.ts.map +1 -0
- package/dist/src/server/routes/jobs.js +29 -0
- package/dist/src/server/routes/jobs.js.map +1 -0
- package/dist/src/server/routes/mcp-usage.d.ts +17 -0
- package/dist/src/server/routes/mcp-usage.d.ts.map +1 -0
- package/dist/src/server/routes/mcp-usage.js +17 -0
- package/dist/src/server/routes/mcp-usage.js.map +1 -0
- package/dist/src/server/routes/reconcile.d.ts +4 -0
- package/dist/src/server/routes/reconcile.d.ts.map +1 -0
- package/dist/src/server/routes/reconcile.js +62 -0
- package/dist/src/server/routes/reconcile.js.map +1 -0
- package/dist/src/server/routes/reindex.d.ts +4 -0
- package/dist/src/server/routes/reindex.d.ts.map +1 -0
- package/dist/src/server/routes/reindex.js +77 -0
- package/dist/src/server/routes/reindex.js.map +1 -0
- package/dist/src/server/routes/retrieval-feedback.d.ts +3 -0
- package/dist/src/server/routes/retrieval-feedback.d.ts.map +1 -0
- package/dist/src/server/routes/retrieval-feedback.js +290 -0
- package/dist/src/server/routes/retrieval-feedback.js.map +1 -0
- package/dist/src/server/routes/save.d.ts +52 -0
- package/dist/src/server/routes/save.d.ts.map +1 -0
- package/dist/src/server/routes/save.js +127 -0
- package/dist/src/server/routes/save.js.map +1 -0
- package/dist/src/server/routes/search.d.ts +5 -0
- package/dist/src/server/routes/search.d.ts.map +1 -0
- package/dist/src/server/routes/search.js +689 -0
- package/dist/src/server/routes/search.js.map +1 -0
- package/dist/src/server/routes/setup.d.ts +46 -0
- package/dist/src/server/routes/setup.d.ts.map +1 -0
- package/dist/src/server/routes/setup.js +322 -0
- package/dist/src/server/routes/setup.js.map +1 -0
- package/dist/src/server/routes/stats.d.ts +10 -0
- package/dist/src/server/routes/stats.d.ts.map +1 -0
- package/dist/src/server/routes/stats.js +15 -0
- package/dist/src/server/routes/stats.js.map +1 -0
- package/dist/src/server/routes/status.d.ts +20 -0
- package/dist/src/server/routes/status.d.ts.map +1 -0
- package/dist/src/server/routes/status.js +31 -0
- package/dist/src/server/routes/status.js.map +1 -0
- package/dist/src/server/routes/triage.d.ts +4 -0
- package/dist/src/server/routes/triage.d.ts.map +1 -0
- package/dist/src/server/routes/triage.js +97 -0
- package/dist/src/server/routes/triage.js.map +1 -0
- package/dist/src/server/save-quality.d.ts +21 -0
- package/dist/src/server/save-quality.d.ts.map +1 -0
- package/dist/src/server/save-quality.js +51 -0
- package/dist/src/server/save-quality.js.map +1 -0
- package/dist/src/server/serving-marker.d.ts +85 -0
- package/dist/src/server/serving-marker.d.ts.map +1 -0
- package/dist/src/server/serving-marker.js +226 -0
- package/dist/src/server/serving-marker.js.map +1 -0
- package/dist/src/storage/atomic.d.ts +8 -0
- package/dist/src/storage/atomic.d.ts.map +1 -0
- package/dist/src/storage/atomic.js +22 -0
- package/dist/src/storage/atomic.js.map +1 -0
- package/dist/src/storage/chunk-backfill.d.ts +39 -0
- package/dist/src/storage/chunk-backfill.d.ts.map +1 -0
- package/dist/src/storage/chunk-backfill.js +295 -0
- package/dist/src/storage/chunk-backfill.js.map +1 -0
- package/dist/src/storage/db.d.ts +15 -0
- package/dist/src/storage/db.d.ts.map +1 -0
- package/dist/src/storage/db.js +47 -0
- package/dist/src/storage/db.js.map +1 -0
- package/dist/src/storage/filter.d.ts +42 -0
- package/dist/src/storage/filter.d.ts.map +1 -0
- package/dist/src/storage/filter.js +70 -0
- package/dist/src/storage/filter.js.map +1 -0
- package/dist/src/storage/fts.d.ts +47 -0
- package/dist/src/storage/fts.d.ts.map +1 -0
- package/dist/src/storage/fts.js +86 -0
- package/dist/src/storage/fts.js.map +1 -0
- package/dist/src/storage/integrity.d.ts +11 -0
- package/dist/src/storage/integrity.d.ts.map +1 -0
- package/dist/src/storage/integrity.js +66 -0
- package/dist/src/storage/integrity.js.map +1 -0
- package/dist/src/storage/maintenance.d.ts +27 -0
- package/dist/src/storage/maintenance.d.ts.map +1 -0
- package/dist/src/storage/maintenance.js +66 -0
- package/dist/src/storage/maintenance.js.map +1 -0
- package/dist/src/storage/rebuild.d.ts +71 -0
- package/dist/src/storage/rebuild.d.ts.map +1 -0
- package/dist/src/storage/rebuild.js +605 -0
- package/dist/src/storage/rebuild.js.map +1 -0
- package/dist/src/storage/report-card-backfill.d.ts +20 -0
- package/dist/src/storage/report-card-backfill.d.ts.map +1 -0
- package/dist/src/storage/report-card-backfill.js +114 -0
- package/dist/src/storage/report-card-backfill.js.map +1 -0
- package/dist/src/storage/shadow-swap.d.ts +20 -0
- package/dist/src/storage/shadow-swap.d.ts.map +1 -0
- package/dist/src/storage/shadow-swap.js +163 -0
- package/dist/src/storage/shadow-swap.js.map +1 -0
- package/dist/src/storage/tables.d.ts +147 -0
- package/dist/src/storage/tables.d.ts.map +1 -0
- package/dist/src/storage/tables.js +290 -0
- package/dist/src/storage/tables.js.map +1 -0
- package/operator/swiftbar/render-menu.py +475 -0
- package/operator/swiftbar/rift.10s.sh +201 -0
- package/package.json +57 -3
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anthropic-based DigestSummarizer.
|
|
3
|
+
*
|
|
4
|
+
* Uses the Anthropic Messages API (fast_model) to generate a high-signal
|
|
5
|
+
* weekly digest summary from a batch of conversations.
|
|
6
|
+
*/
|
|
7
|
+
import type { DigestSummarizer, DigestContent, ConversationEntry, RetryConfig } from "./types.js";
|
|
8
|
+
export declare const DIGEST_PROMPT = "You are summarizing a batch of conversations for a weekly digest. Return ONLY valid JSON:\n\n{\n \"summary\": \"A concise 2-4 sentence summary of the key themes, decisions, and outcomes across all conversations.\",\n \"topics\": [\"array\", \"of\", \"3-8\", \"key\", \"topics\"]\n}\n\nRules:\n- Return ONLY the JSON object, no markdown fences\n- summary should be actionable and specific, not generic\n- topics should capture the main subjects discussed";
|
|
9
|
+
export interface AnthropicDigestOptions {
|
|
10
|
+
apiKey: string;
|
|
11
|
+
model: string;
|
|
12
|
+
retry?: Partial<RetryConfig>;
|
|
13
|
+
}
|
|
14
|
+
export declare class AnthropicDigestSummarizer implements DigestSummarizer {
|
|
15
|
+
readonly retry: RetryConfig;
|
|
16
|
+
private readonly apiKey;
|
|
17
|
+
private readonly model;
|
|
18
|
+
constructor(opts: AnthropicDigestOptions);
|
|
19
|
+
summarize(conversations: ConversationEntry[]): Promise<DigestContent>;
|
|
20
|
+
private callApi;
|
|
21
|
+
private parseResponse;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=anthropic-digest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-digest.d.ts","sourceRoot":"","sources":["../../../src/providers/anthropic-digest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,eAAO,MAAM,aAAa,4cAU0B,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,IAAI,EAAE,sBAAsB;IAMlC,SAAS,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;YAS7D,OAAO;IAyDrB,OAAO,CAAC,aAAa;CActB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { DEFAULT_RETRY_CONFIG } from "./types.js";
|
|
2
|
+
const ANTHROPIC_API_URL = "https://api.anthropic.com/v1/messages";
|
|
3
|
+
export const DIGEST_PROMPT = `You are summarizing a batch of conversations for a weekly digest. Return ONLY valid JSON:
|
|
4
|
+
|
|
5
|
+
{
|
|
6
|
+
"summary": "A concise 2-4 sentence summary of the key themes, decisions, and outcomes across all conversations.",
|
|
7
|
+
"topics": ["array", "of", "3-8", "key", "topics"]
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
Rules:
|
|
11
|
+
- Return ONLY the JSON object, no markdown fences
|
|
12
|
+
- summary should be actionable and specific, not generic
|
|
13
|
+
- topics should capture the main subjects discussed`;
|
|
14
|
+
export class AnthropicDigestSummarizer {
|
|
15
|
+
retry;
|
|
16
|
+
apiKey;
|
|
17
|
+
model;
|
|
18
|
+
constructor(opts) {
|
|
19
|
+
this.apiKey = opts.apiKey;
|
|
20
|
+
this.model = opts.model;
|
|
21
|
+
this.retry = { ...DEFAULT_RETRY_CONFIG, ...opts.retry };
|
|
22
|
+
}
|
|
23
|
+
async summarize(conversations) {
|
|
24
|
+
const conversationText = conversations
|
|
25
|
+
.map((c, i) => `--- Conversation ${i + 1} ---\nSummary: ${c.summary}\nTopics: ${c.topics.join(", ")}`)
|
|
26
|
+
.join("\n\n");
|
|
27
|
+
const rawJson = await this.callApi(conversationText);
|
|
28
|
+
return this.parseResponse(rawJson);
|
|
29
|
+
}
|
|
30
|
+
async callApi(text) {
|
|
31
|
+
let lastError;
|
|
32
|
+
for (let attempt = 0; attempt <= this.retry.maxRetries; attempt++) {
|
|
33
|
+
if (attempt > 0) {
|
|
34
|
+
const delay = Math.min(this.retry.baseDelayMs * 2 ** (attempt - 1), this.retry.maxDelayMs);
|
|
35
|
+
await new Promise((r) => setTimeout(r, delay));
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const res = await fetch(ANTHROPIC_API_URL, {
|
|
39
|
+
method: "POST",
|
|
40
|
+
headers: {
|
|
41
|
+
"Content-Type": "application/json",
|
|
42
|
+
"x-api-key": this.apiKey,
|
|
43
|
+
"anthropic-version": "2023-06-01",
|
|
44
|
+
},
|
|
45
|
+
body: JSON.stringify({
|
|
46
|
+
model: this.model,
|
|
47
|
+
max_tokens: 1024,
|
|
48
|
+
messages: [
|
|
49
|
+
{ role: "user", content: `${DIGEST_PROMPT}\n\n${text}` },
|
|
50
|
+
],
|
|
51
|
+
}),
|
|
52
|
+
});
|
|
53
|
+
if (res.status === 429 || res.status >= 500) {
|
|
54
|
+
lastError = new Error(`Anthropic API ${res.status}: ${await res.text()}`);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (!res.ok) {
|
|
58
|
+
throw new Error(`Anthropic API ${res.status}: ${await res.text()}`);
|
|
59
|
+
}
|
|
60
|
+
const body = (await res.json());
|
|
61
|
+
const textBlock = body.content.find((c) => c.type === "text");
|
|
62
|
+
if (!textBlock?.text) {
|
|
63
|
+
throw new Error("Anthropic API returned no text content");
|
|
64
|
+
}
|
|
65
|
+
return textBlock.text;
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
if (err instanceof TypeError) {
|
|
69
|
+
lastError = err;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
throw err;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
throw lastError;
|
|
76
|
+
}
|
|
77
|
+
parseResponse(raw) {
|
|
78
|
+
let cleaned = raw.trim();
|
|
79
|
+
if (cleaned.startsWith("```")) {
|
|
80
|
+
cleaned = cleaned
|
|
81
|
+
.replace(/^```(?:json)?\s*\n?/, "")
|
|
82
|
+
.replace(/\n?```\s*$/, "");
|
|
83
|
+
}
|
|
84
|
+
const parsed = JSON.parse(cleaned);
|
|
85
|
+
return {
|
|
86
|
+
summary: parsed.summary ?? "",
|
|
87
|
+
topics: Array.isArray(parsed.topics) ? parsed.topics : [],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=anthropic-digest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-digest.js","sourceRoot":"","sources":["../../../src/providers/anthropic-digest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BasicMetadataExtractor — deterministic, AI-free metadata for fast import.
|
|
3
|
+
*
|
|
4
|
+
* Auto-capture and historical backfill enrich conversation metadata with an
|
|
5
|
+
* LLM (Codex CLI / Ollama). That enrichment improves search but must NOT be
|
|
6
|
+
* required for a friend to import an export and search it: a missing or
|
|
7
|
+
* unauthenticated AI worker cannot block first useful recall.
|
|
8
|
+
*
|
|
9
|
+
* This extractor fills the same `ConversationMetadata` shape with safe,
|
|
10
|
+
* deterministic defaults and a non-empty topic derived from the conversation
|
|
11
|
+
* text — no network, no subprocess, never throws. Rows it produces are marked
|
|
12
|
+
* `metadata_provider = "rift-basic"` (via `getProvenance`), which is the only
|
|
13
|
+
* metadata-enrichment backfill target. Its default domain/intent/quality are
|
|
14
|
+
* intentionally generic and must not be treated as authoritative facets,
|
|
15
|
+
* filters, or ranking boosts (that retrieval-side guard is a separate slice).
|
|
16
|
+
*/
|
|
17
|
+
import type { MetadataExtractor, ConversationMetadata, RetryConfig, MetadataExtractionProvenance } from "./types.js";
|
|
18
|
+
/** `metadata_provider` marker for deterministic basic metadata. */
|
|
19
|
+
export declare const RIFT_BASIC_METADATA_PROVIDER = "rift-basic";
|
|
20
|
+
/**
|
|
21
|
+
* True when a row's metadata was produced by the no-AI basic extractor.
|
|
22
|
+
* Centralized so retrieval read-boundaries share one definition rather than
|
|
23
|
+
* scattering string comparisons. Such rows carry intentionally generic
|
|
24
|
+
* placeholder `domain`/`intent`/`quality` (see the defaults below) that must
|
|
25
|
+
* NOT be surfaced as searchable facets or ranking signals — the retrieval
|
|
26
|
+
* layer drops them at read time and keeps only the real, text-derived fields
|
|
27
|
+
* (content, topics).
|
|
28
|
+
*/
|
|
29
|
+
export declare function isRiftBasicMetadata(provider: string | undefined): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* SQL `where` fragment that excludes no-AI basic rows from a metadata FACET
|
|
32
|
+
* filter (domain/intent/quality). `rift-basic` rows carry intentionally
|
|
33
|
+
* generic placeholder facets (tech/research/medium — see the defaults below)
|
|
34
|
+
* that are NOT real classifications, so an explicit facet filter must not match
|
|
35
|
+
* them: otherwise an un-enriched import surfaces as if it had been classified
|
|
36
|
+
* into a facet it never was. Single-sourced so every facet-filter path applies
|
|
37
|
+
* it identically. Deliberately NOT applied to `source`, which is real
|
|
38
|
+
* provenance even on basic rows. Only apply it to tables that carry the
|
|
39
|
+
* `metadata_provider` column (conversation tables — not digests). The provider
|
|
40
|
+
* name is a safe constant, so no SQL escaping is needed.
|
|
41
|
+
*/
|
|
42
|
+
export declare const RIFT_BASIC_METADATA_EXCLUSION_CLAUSE = "metadata_provider != 'rift-basic'";
|
|
43
|
+
/** Used when no topic can be derived from the conversation text. */
|
|
44
|
+
export declare const BASIC_TOPIC_FALLBACK = "imported conversation";
|
|
45
|
+
export declare class BasicMetadataExtractor implements MetadataExtractor {
|
|
46
|
+
readonly retry: RetryConfig;
|
|
47
|
+
extractMetadata(text: string): Promise<ConversationMetadata>;
|
|
48
|
+
getProvenance(): MetadataExtractionProvenance;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Derive a single, non-empty topic string from conversation text without an
|
|
52
|
+
* LLM. Deterministic and cheap: prefer the first Markdown heading, else the
|
|
53
|
+
* first substantive line (role labels like "User:"/"Assistant:" stripped),
|
|
54
|
+
* trimmed to a handful of words. Always returns a non-empty string so the
|
|
55
|
+
* `topics.min(1)` contract holds even for empty/whitespace input.
|
|
56
|
+
*
|
|
57
|
+
* Exported for direct unit testing of the derivation rules.
|
|
58
|
+
*/
|
|
59
|
+
export declare function deriveBasicTopic(text: string): string;
|
|
60
|
+
//# sourceMappingURL=basic-metadata-extraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-metadata-extraction.d.ts","sourceRoot":"","sources":["../../../src/providers/basic-metadata-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAGpB,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,eAAe,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEzE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oCAAoC,sCAA2D,CAAC;AAE7G,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAW5D,qBAAa,sBAAuB,YAAW,iBAAiB;IAC9D,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAwB;IAG7C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWlE,aAAa,IAAI,4BAA4B;CAO9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA8BrD"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { DEFAULT_RETRY_CONFIG } from "./types.js";
|
|
2
|
+
/** `metadata_provider` marker for deterministic basic metadata. */
|
|
3
|
+
export const RIFT_BASIC_METADATA_PROVIDER = "rift-basic";
|
|
4
|
+
/**
|
|
5
|
+
* True when a row's metadata was produced by the no-AI basic extractor.
|
|
6
|
+
* Centralized so retrieval read-boundaries share one definition rather than
|
|
7
|
+
* scattering string comparisons. Such rows carry intentionally generic
|
|
8
|
+
* placeholder `domain`/`intent`/`quality` (see the defaults below) that must
|
|
9
|
+
* NOT be surfaced as searchable facets or ranking signals — the retrieval
|
|
10
|
+
* layer drops them at read time and keeps only the real, text-derived fields
|
|
11
|
+
* (content, topics).
|
|
12
|
+
*/
|
|
13
|
+
export function isRiftBasicMetadata(provider) {
|
|
14
|
+
return provider === RIFT_BASIC_METADATA_PROVIDER;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* SQL `where` fragment that excludes no-AI basic rows from a metadata FACET
|
|
18
|
+
* filter (domain/intent/quality). `rift-basic` rows carry intentionally
|
|
19
|
+
* generic placeholder facets (tech/research/medium — see the defaults below)
|
|
20
|
+
* that are NOT real classifications, so an explicit facet filter must not match
|
|
21
|
+
* them: otherwise an un-enriched import surfaces as if it had been classified
|
|
22
|
+
* into a facet it never was. Single-sourced so every facet-filter path applies
|
|
23
|
+
* it identically. Deliberately NOT applied to `source`, which is real
|
|
24
|
+
* provenance even on basic rows. Only apply it to tables that carry the
|
|
25
|
+
* `metadata_provider` column (conversation tables — not digests). The provider
|
|
26
|
+
* name is a safe constant, so no SQL escaping is needed.
|
|
27
|
+
*/
|
|
28
|
+
export const RIFT_BASIC_METADATA_EXCLUSION_CLAUSE = `metadata_provider != '${RIFT_BASIC_METADATA_PROVIDER}'`;
|
|
29
|
+
/** Used when no topic can be derived from the conversation text. */
|
|
30
|
+
export const BASIC_TOPIC_FALLBACK = "imported conversation";
|
|
31
|
+
/**
|
|
32
|
+
* Safe defaults. Generic on purpose — these are placeholders pending real
|
|
33
|
+
* enrichment, not classifications. They match the `ConversationMetadataSchema`
|
|
34
|
+
* fallbacks so a basic row is shaped exactly like an enriched one.
|
|
35
|
+
*/
|
|
36
|
+
const DEFAULT_DOMAIN = "tech";
|
|
37
|
+
const DEFAULT_INTENT = "research";
|
|
38
|
+
const DEFAULT_QUALITY = "medium";
|
|
39
|
+
export class BasicMetadataExtractor {
|
|
40
|
+
retry = DEFAULT_RETRY_CONFIG;
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
42
|
+
async extractMetadata(text) {
|
|
43
|
+
return {
|
|
44
|
+
domain: DEFAULT_DOMAIN,
|
|
45
|
+
intent: DEFAULT_INTENT,
|
|
46
|
+
quality: DEFAULT_QUALITY,
|
|
47
|
+
topics: [deriveBasicTopic(text)],
|
|
48
|
+
decisions: [],
|
|
49
|
+
key_outputs: [],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
getProvenance() {
|
|
53
|
+
return {
|
|
54
|
+
provider: RIFT_BASIC_METADATA_PROVIDER,
|
|
55
|
+
model: RIFT_BASIC_METADATA_PROVIDER,
|
|
56
|
+
version: "1",
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Derive a single, non-empty topic string from conversation text without an
|
|
62
|
+
* LLM. Deterministic and cheap: prefer the first Markdown heading, else the
|
|
63
|
+
* first substantive line (role labels like "User:"/"Assistant:" stripped),
|
|
64
|
+
* trimmed to a handful of words. Always returns a non-empty string so the
|
|
65
|
+
* `topics.min(1)` contract holds even for empty/whitespace input.
|
|
66
|
+
*
|
|
67
|
+
* Exported for direct unit testing of the derivation rules.
|
|
68
|
+
*/
|
|
69
|
+
export function deriveBasicTopic(text) {
|
|
70
|
+
if (typeof text !== "string" || text.trim().length === 0) {
|
|
71
|
+
return BASIC_TOPIC_FALLBACK;
|
|
72
|
+
}
|
|
73
|
+
// Scan a bounded prefix — enough to find the opening heading/line without
|
|
74
|
+
// walking a multi-megabyte conversation.
|
|
75
|
+
const head = text.slice(0, 4000);
|
|
76
|
+
const lines = head.split(/\r?\n/);
|
|
77
|
+
// 1. First Markdown heading ("# Title", "## Title", …).
|
|
78
|
+
for (const line of lines) {
|
|
79
|
+
const heading = /^\s{0,3}#{1,6}\s+(.+?)\s*#*\s*$/.exec(line);
|
|
80
|
+
if (heading && heading[1]) {
|
|
81
|
+
const topic = condense(heading[1]);
|
|
82
|
+
if (topic)
|
|
83
|
+
return topic;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// 2. First substantive line, with a leading role label removed.
|
|
87
|
+
for (const raw of lines) {
|
|
88
|
+
const stripped = raw.replace(/^\s*(?:#{1,6}\s*)?(?:user|assistant|human|system|me|you)\s*[:>-]\s*/i, "");
|
|
89
|
+
const topic = condense(stripped);
|
|
90
|
+
if (topic)
|
|
91
|
+
return topic;
|
|
92
|
+
}
|
|
93
|
+
return BASIC_TOPIC_FALLBACK;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Normalize a candidate line into a compact topic: collapse whitespace, drop
|
|
97
|
+
* Markdown/code noise, keep the first few words, cap length. Returns "" when
|
|
98
|
+
* nothing meaningful remains so the caller can fall through.
|
|
99
|
+
*/
|
|
100
|
+
function condense(line) {
|
|
101
|
+
const cleaned = line
|
|
102
|
+
.replace(/[`*_>#~|]+/g, " ") // strip common Markdown markers
|
|
103
|
+
.replace(/\s+/g, " ")
|
|
104
|
+
.trim();
|
|
105
|
+
if (cleaned.length < 2)
|
|
106
|
+
return "";
|
|
107
|
+
// Require at least one letter/number so a line of pure punctuation/emoji
|
|
108
|
+
// doesn't become the topic.
|
|
109
|
+
if (!/[\p{L}\p{N}]/u.test(cleaned))
|
|
110
|
+
return "";
|
|
111
|
+
const words = cleaned.split(" ").slice(0, 8).join(" ");
|
|
112
|
+
return words.length > 80 ? words.slice(0, 80).trimEnd() : words;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=basic-metadata-extraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-metadata-extraction.js","sourceRoot":"","sources":["../../../src/providers/basic-metadata-extraction.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA4B;IAC9D,OAAO,QAAQ,KAAK,4BAA4B,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,yBAAyB,4BAA4B,GAAG,CAAC;AAE7G,oEAAoE;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D;;;;GAIG;AACH,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,cAAc,GAAG,UAAU,CAAC;AAClC,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,OAAO,sBAAsB;IACxB,KAAK,GAAgB,oBAAoB,CAAC;IAEnD,4DAA4D;IAC5D,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAChC,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO;YACL,QAAQ,EAAE,4BAA4B;YACtC,KAAK,EAAE,4BAA4B;YACnC,OAAO,EAAE,GAAG;SACb,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,0EAA0E;IAC1E,yCAAyC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElC,wDAAwD;IACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAC1B,sEAAsE,EACtE,EAAE,CACH,CAAC;QACF,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,OAAO,GAAG,IAAI;SACjB,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,gCAAgC;SAC5D,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IACV,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,yEAAyE;IACzE,4BAA4B;IAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAE9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { MetadataExtractor, ConversationMetadata, RetryConfig, MetadataExtractionProvenance } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Metadata extractor backed by the Claude Code (`claude`) CLI — the Claude-Code
|
|
4
|
+
* sibling of CodexCliMetadataExtractor, and the metadata analogue of
|
|
5
|
+
* ClaudeCliTriageProvider. Same classification contract (the shared
|
|
6
|
+
* `EXTRACTION_PROMPT` + `ConversationMetadataSchema` + `EXTRACTION_OUTPUT_SCHEMA`
|
|
7
|
+
* from openai-metadata-extraction.ts), same `ConversationMetadata` shape, same
|
|
8
|
+
* subscription trust model as triage (the run inherits the operator's logged-in
|
|
9
|
+
* Claude Code subscription — Onadit holds no API key; `runClaudeCliJson` strips
|
|
10
|
+
* ANTHROPIC_API_KEY). Only the runtime differs from Codex, so selecting it
|
|
11
|
+
* changes WHO classifies, never the schema the result must satisfy.
|
|
12
|
+
*
|
|
13
|
+
* Selected only via `enrichment.metadata.provider = "claude_code"` AND
|
|
14
|
+
* `enrichment.ai_metadata = true` (see conversation-generation.ts). If the CLI
|
|
15
|
+
* is missing it is never selected (Basic instead); if a run throws, ingest's
|
|
16
|
+
* provider-agnostic catch falls back to Basic and marks the row `rift-basic` —
|
|
17
|
+
* extraction can degrade, never block import.
|
|
18
|
+
*/
|
|
19
|
+
/** Provenance tag stamped onto rows enriched by the Claude metadata worker. */
|
|
20
|
+
export declare const CLAUDE_CODE_METADATA_PROVIDER = "claude-code";
|
|
21
|
+
/**
|
|
22
|
+
* Default `--model` for Claude metadata extraction. Pinned as its OWN constant
|
|
23
|
+
* (not shared with triage's `DEFAULT_CLAUDE_TRIAGE_MODEL`) so the two
|
|
24
|
+
* capabilities tune independently: triage is a coarse keep/drop call where a
|
|
25
|
+
* cheap model is ideal, whereas metadata feeds titles/summaries/search and may
|
|
26
|
+
* later warrant a stronger model. Starting at `haiku` (the dogfooded model, and
|
|
27
|
+
* the right cost profile for a per-conversation background job); revisit toward
|
|
28
|
+
* `sonnet` if Claude-metadata quality lags Codex. An alias, not a dated id, so
|
|
29
|
+
* it tracks the current Haiku without code changes.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DEFAULT_CLAUDE_METADATA_MODEL = "haiku";
|
|
32
|
+
export declare class ClaudeCliMetadataExtractor implements MetadataExtractor {
|
|
33
|
+
private readonly options;
|
|
34
|
+
readonly retry: RetryConfig;
|
|
35
|
+
private lastModel;
|
|
36
|
+
private lastCliTag;
|
|
37
|
+
constructor(options?: {
|
|
38
|
+
cwd?: string;
|
|
39
|
+
timeoutMs?: number;
|
|
40
|
+
retry?: Partial<RetryConfig>;
|
|
41
|
+
/** Override the pinned `--model`. Defaults to a fast classifier. */
|
|
42
|
+
model?: string;
|
|
43
|
+
});
|
|
44
|
+
extractMetadata(text: string): Promise<ConversationMetadata>;
|
|
45
|
+
getProvenance(): MetadataExtractionProvenance;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=claude-cli-metadata-extraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-cli-metadata-extraction.d.ts","sourceRoot":"","sources":["../../../src/providers/claude-cli-metadata-extraction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAepB;;;;;;;;;;;;;;;;GAgBG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,gBAAgB,CAAC;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,UAAU,CAAC;AAErD,qBAAa,0BAA2B,YAAW,iBAAiB;IAMhE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAqB;gBAGpB,OAAO,GAAE;QACxB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7B,oEAAoE;QACpE,KAAK,CAAC,EAAE,MAAM,CAAC;KACX;IAKF,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsElE,aAAa,IAAI,4BAA4B;CAW9C"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { DEFAULT_RETRY_CONFIG } from "./types.js";
|
|
2
|
+
import { ConversationMetadataSchema, EXTRACTION_PROMPT, EXTRACTION_OUTPUT_SCHEMA, } from "./openai-metadata-extraction.js";
|
|
3
|
+
import { runClaudeCliJson } from "./claude-cli-runner.js";
|
|
4
|
+
import { truncateToBytes } from "./codex-input-limit.js";
|
|
5
|
+
import { CLAUDE_MAX_INPUT_BYTES, CLAUDE_INPUT_SAFETY_MARGIN, CLAUDE_TRUNCATION_MARKER, } from "./claude-input-limit.js";
|
|
6
|
+
/**
|
|
7
|
+
* Metadata extractor backed by the Claude Code (`claude`) CLI — the Claude-Code
|
|
8
|
+
* sibling of CodexCliMetadataExtractor, and the metadata analogue of
|
|
9
|
+
* ClaudeCliTriageProvider. Same classification contract (the shared
|
|
10
|
+
* `EXTRACTION_PROMPT` + `ConversationMetadataSchema` + `EXTRACTION_OUTPUT_SCHEMA`
|
|
11
|
+
* from openai-metadata-extraction.ts), same `ConversationMetadata` shape, same
|
|
12
|
+
* subscription trust model as triage (the run inherits the operator's logged-in
|
|
13
|
+
* Claude Code subscription — Onadit holds no API key; `runClaudeCliJson` strips
|
|
14
|
+
* ANTHROPIC_API_KEY). Only the runtime differs from Codex, so selecting it
|
|
15
|
+
* changes WHO classifies, never the schema the result must satisfy.
|
|
16
|
+
*
|
|
17
|
+
* Selected only via `enrichment.metadata.provider = "claude_code"` AND
|
|
18
|
+
* `enrichment.ai_metadata = true` (see conversation-generation.ts). If the CLI
|
|
19
|
+
* is missing it is never selected (Basic instead); if a run throws, ingest's
|
|
20
|
+
* provider-agnostic catch falls back to Basic and marks the row `rift-basic` —
|
|
21
|
+
* extraction can degrade, never block import.
|
|
22
|
+
*/
|
|
23
|
+
/** Provenance tag stamped onto rows enriched by the Claude metadata worker. */
|
|
24
|
+
export const CLAUDE_CODE_METADATA_PROVIDER = "claude-code";
|
|
25
|
+
/**
|
|
26
|
+
* Default `--model` for Claude metadata extraction. Pinned as its OWN constant
|
|
27
|
+
* (not shared with triage's `DEFAULT_CLAUDE_TRIAGE_MODEL`) so the two
|
|
28
|
+
* capabilities tune independently: triage is a coarse keep/drop call where a
|
|
29
|
+
* cheap model is ideal, whereas metadata feeds titles/summaries/search and may
|
|
30
|
+
* later warrant a stronger model. Starting at `haiku` (the dogfooded model, and
|
|
31
|
+
* the right cost profile for a per-conversation background job); revisit toward
|
|
32
|
+
* `sonnet` if Claude-metadata quality lags Codex. An alias, not a dated id, so
|
|
33
|
+
* it tracks the current Haiku without code changes.
|
|
34
|
+
*/
|
|
35
|
+
export const DEFAULT_CLAUDE_METADATA_MODEL = "haiku";
|
|
36
|
+
export class ClaudeCliMetadataExtractor {
|
|
37
|
+
options;
|
|
38
|
+
retry;
|
|
39
|
+
lastModel;
|
|
40
|
+
lastCliTag;
|
|
41
|
+
constructor(options = {}) {
|
|
42
|
+
this.options = options;
|
|
43
|
+
this.retry = { ...DEFAULT_RETRY_CONFIG, ...options.retry };
|
|
44
|
+
}
|
|
45
|
+
async extractMetadata(text) {
|
|
46
|
+
const escaped = text.replaceAll("</conversation_to_analyze>", "<\\/conversation_to_analyze>");
|
|
47
|
+
// Mirror of the Codex metadata cap, bounded by the pinned model's context
|
|
48
|
+
// rather than a CLI parser ceiling (see claude-input-limit.ts). Budget =
|
|
49
|
+
// ceiling − fixed prompt/wrapper overhead − margin. Truncation only
|
|
50
|
+
// removes characters, so it can never re-introduce a raw
|
|
51
|
+
// `</conversation_to_analyze>` and break the escaping above.
|
|
52
|
+
const overheadBytes = Buffer.byteLength(EXTRACTION_PROMPT, "utf8") +
|
|
53
|
+
Buffer.byteLength("\n\n<conversation_to_analyze>\n\n</conversation_to_analyze>", "utf8");
|
|
54
|
+
const safeText = truncateToBytes(escaped, CLAUDE_MAX_INPUT_BYTES - overheadBytes - CLAUDE_INPUT_SAFETY_MARGIN, CLAUDE_TRUNCATION_MARKER);
|
|
55
|
+
const prompt = `${EXTRACTION_PROMPT}\n\n<conversation_to_analyze>\n${safeText}\n</conversation_to_analyze>`;
|
|
56
|
+
let lastError;
|
|
57
|
+
for (let attempt = 0; attempt <= this.retry.maxRetries; attempt += 1) {
|
|
58
|
+
if (attempt > 0) {
|
|
59
|
+
const delay = Math.min(this.retry.baseDelayMs * 2 ** (attempt - 1), this.retry.maxDelayMs);
|
|
60
|
+
await sleep(delay);
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
const { output, model, cliTag } = await runClaudeCliJson({
|
|
64
|
+
prompt,
|
|
65
|
+
schema: EXTRACTION_OUTPUT_SCHEMA,
|
|
66
|
+
...(this.options.cwd ? { cwd: this.options.cwd } : {}),
|
|
67
|
+
...(this.options.timeoutMs ? { timeoutMs: this.options.timeoutMs } : {}),
|
|
68
|
+
model: this.options.model ?? DEFAULT_CLAUDE_METADATA_MODEL,
|
|
69
|
+
});
|
|
70
|
+
// Validate the WHOLE parsed object against the shared contract — the
|
|
71
|
+
// `result`-text fallback path could surface a missing/mis-typed field,
|
|
72
|
+
// which is a malformed classification (retry, then throw), never a
|
|
73
|
+
// silently-coerced blank. The error names only invalid FIELDS, never
|
|
74
|
+
// their model-produced values, so conversation content can't leak.
|
|
75
|
+
const parsed = ConversationMetadataSchema.safeParse(output);
|
|
76
|
+
if (!parsed.success) {
|
|
77
|
+
const fields = [
|
|
78
|
+
...new Set(parsed.error.issues.map((i) => i.path.join(".") || "(root)")),
|
|
79
|
+
];
|
|
80
|
+
throw new Error(`Extraction output failed validation (invalid fields: ${fields.join(", ")})`);
|
|
81
|
+
}
|
|
82
|
+
this.lastModel = model;
|
|
83
|
+
this.lastCliTag = cliTag;
|
|
84
|
+
return parsed.data;
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
lastError = error;
|
|
88
|
+
if (isRetryableClaudeMetadataError(error)) {
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
throw lastError;
|
|
95
|
+
}
|
|
96
|
+
getProvenance() {
|
|
97
|
+
return {
|
|
98
|
+
provider: CLAUDE_CODE_METADATA_PROVIDER,
|
|
99
|
+
// Honest provenance: the model we pinned via `--model` (the CLI envelope
|
|
100
|
+
// does not echo the resolved model). Falls back to the default only when
|
|
101
|
+
// provenance is read before any extraction ran.
|
|
102
|
+
model: this.lastModel ?? DEFAULT_CLAUDE_METADATA_MODEL,
|
|
103
|
+
version: "1",
|
|
104
|
+
...(this.lastCliTag ? { cli_tag: this.lastCliTag } : {}),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Retry ONLY on transient output-shape failures: a malformed/empty envelope,
|
|
110
|
+
* an envelope missing the structured output, non-JSON result text, the CLI
|
|
111
|
+
* exhausting its own schema retries, or our own post-parse validation failure.
|
|
112
|
+
* Auth / network / install / timeout-kill errors are NOT retried here — they
|
|
113
|
+
* are not transient within a single run (timeouts already get one bounded retry
|
|
114
|
+
* inside `runClaudeCliJson`), and a missing CLI never reaches this extractor.
|
|
115
|
+
*/
|
|
116
|
+
function isRetryableClaudeMetadataError(error) {
|
|
117
|
+
if (!(error instanceof Error))
|
|
118
|
+
return false;
|
|
119
|
+
const m = error.message;
|
|
120
|
+
return (m.startsWith("Extraction output failed validation") ||
|
|
121
|
+
m.startsWith("Claude CLI returned a malformed JSON envelope") ||
|
|
122
|
+
m.startsWith("Claude CLI returned empty output") ||
|
|
123
|
+
m.startsWith("Claude CLI envelope had no") ||
|
|
124
|
+
m.startsWith("Claude CLI result") ||
|
|
125
|
+
m.includes("could not produce schema-valid output after retries"));
|
|
126
|
+
}
|
|
127
|
+
function sleep(ms) {
|
|
128
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=claude-cli-metadata-extraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-cli-metadata-extraction.js","sourceRoot":"","sources":["../../../src/providers/claude-cli-metadata-extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default model for triage classification. A cheap, fast model is the right
|
|
3
|
+
* default for a background classifier that runs over every captured session;
|
|
4
|
+
* we pin it explicitly rather than inherit the user's interactive default
|
|
5
|
+
* (which could be Opus — slow and costly per session). An alias (not a dated
|
|
6
|
+
* id) so it tracks the current Haiku without code changes. Overridable per run.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEFAULT_CLAUDE_TRIAGE_MODEL = "haiku";
|
|
9
|
+
export interface ClaudeCliRunOptions {
|
|
10
|
+
prompt: string;
|
|
11
|
+
schema: Record<string, unknown>;
|
|
12
|
+
cwd?: string;
|
|
13
|
+
timeoutMs?: number;
|
|
14
|
+
/** Model alias/id to pin via `--model`. Defaults to a fast classifier. */
|
|
15
|
+
model?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ClaudeCliRunResult<T> {
|
|
18
|
+
output: T;
|
|
19
|
+
/** The model we requested (`--model`), recorded as honest provenance. */
|
|
20
|
+
model: string;
|
|
21
|
+
/** `claude --version` output, for provenance/telemetry. */
|
|
22
|
+
cliTag: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown ONLY when the runner's own timeout timer fires and kills the `claude`
|
|
26
|
+
* process. A signal termination we did NOT initiate is reported separately so
|
|
27
|
+
* it is never treated as a (retryable) timeout. Mirrors CodexCliTimeoutError.
|
|
28
|
+
*/
|
|
29
|
+
export declare class ClaudeCliTimeoutError extends Error {
|
|
30
|
+
readonly timeoutMs: number;
|
|
31
|
+
readonly signal: NodeJS.Signals | null;
|
|
32
|
+
constructor(timeoutMs: number, signal: NodeJS.Signals | null, detail?: string);
|
|
33
|
+
}
|
|
34
|
+
export declare function runClaudeCliJson<T>(options: ClaudeCliRunOptions): Promise<ClaudeCliRunResult<T>>;
|
|
35
|
+
/**
|
|
36
|
+
* Extract the schema-validated object from the `--output-format json` envelope.
|
|
37
|
+
*
|
|
38
|
+
* Defensive on purpose (I could not verify the exact envelope live from inside
|
|
39
|
+
* a nested Claude Code session): prefer `structured_output` (populated by
|
|
40
|
+
* `--json-schema`), and fall back to parsing the `result` text as JSON for any
|
|
41
|
+
* version that surfaces the object only there. Errors NEVER include model
|
|
42
|
+
* output or the prompt — only structural facts — so conversation content is
|
|
43
|
+
* never written to logs or error strings.
|
|
44
|
+
*/
|
|
45
|
+
export declare function parseClaudeJsonEnvelope<T>(stdout: string): T;
|
|
46
|
+
export declare function setClaudeProbeForTests(fn: ((bin: string, cwd: string, model: string) => Promise<string | null>) | undefined): void;
|
|
47
|
+
/**
|
|
48
|
+
* Ordered, de-duplicated list of `claude` candidates to probe. An explicit
|
|
49
|
+
* `RIFT_CLAUDE_CLI_PATH` override is the SOLE candidate (an operator who names a
|
|
50
|
+
* binary expects that one used, or a clear error — never a silent fallback).
|
|
51
|
+
* Otherwise: every `$PATH` entry in order, then the install-location fallbacks.
|
|
52
|
+
* De-duped by realpath so the same binary reached via several PATH entries is
|
|
53
|
+
* probed once — but a wrapper and the real binary have different realpaths, so
|
|
54
|
+
* both are kept and the wrapper can be skipped in favour of the real one.
|
|
55
|
+
*/
|
|
56
|
+
export declare function listClaudeCandidatePaths(pathEnv?: string | undefined, override?: string | undefined, fallbackDirs?: readonly string[]): string[];
|
|
57
|
+
/**
|
|
58
|
+
* Cheap synchronous "is a `claude` CLI installed anywhere we'd look?" probe —
|
|
59
|
+
* the SAME candidate search the resolver uses, so it honors `RIFT_CLAUDE_CLI_PATH`
|
|
60
|
+
* and the broadened fallback dirs (`~/.local/bin`, …). Detects install only, NOT
|
|
61
|
+
* compatibility or auth: an old or wrapped `claude` passes here, and the real
|
|
62
|
+
* compatibility check (and the actionable error) happens in
|
|
63
|
+
* `resolveCompatibleClaudeExecutable` at call time. Used only as the coarse
|
|
64
|
+
* metadata-selection gate; a false positive degrades safely to Basic metadata.
|
|
65
|
+
*
|
|
66
|
+
* Using the resolver's candidate list (not a separate resolver) is what keeps
|
|
67
|
+
* the "one `RIFT_CLAUDE_CLI_PATH` override unblocks BOTH triage and metadata"
|
|
68
|
+
* promise true: an override that lets triage resolve must also let the metadata
|
|
69
|
+
* gate report available, instead of silently falling back to Basic.
|
|
70
|
+
*/
|
|
71
|
+
export declare function isClaudeCliAvailable(): boolean;
|
|
72
|
+
export declare function resetClaudeCliRunnerCacheForTests(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Test seam: override the executable fallback dirs so a test can simulate
|
|
75
|
+
* "claude not installed" even on a dev machine that has it in /opt/homebrew/bin.
|
|
76
|
+
* Clears the resolution cache.
|
|
77
|
+
*/
|
|
78
|
+
export declare function setClaudeFallbackDirsForTests(dirs: readonly string[] | undefined): void;
|
|
79
|
+
/**
|
|
80
|
+
* Map `claude` stderr to a SAFE, canned diagnostic token — never the raw text.
|
|
81
|
+
* The locked guarantee is that runner errors carry NO captured conversation or
|
|
82
|
+
* model output. Captured content travels via stdin (never echoed) and the
|
|
83
|
+
* model's output is the stdout JSON envelope (never surfaced); stderr is the
|
|
84
|
+
* only third-party stream we don't fully control, so we classify it into a
|
|
85
|
+
* fixed phrase and return ONLY that. A recognized failure mode never leaks the
|
|
86
|
+
* surrounding bytes; an unrecognized one returns "" (the caller surfaces just
|
|
87
|
+
* the exit code/signal). The phrases carry keywords `classifyCodexPreflightError`
|
|
88
|
+
* recognizes (auth/network) so the persisted error still buckets correctly.
|
|
89
|
+
* Mirrors codex-preflight's "deliberately canned" leak-free summaries.
|
|
90
|
+
*/
|
|
91
|
+
export declare function classifyClaudeStderr(stderr: string): string;
|
|
92
|
+
//# sourceMappingURL=claude-cli-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-cli-runner.d.ts","sourceRoot":"","sources":["../../../src/providers/claude-cli-runner.ts"],"names":[],"mappings":"AA2DA;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC;IACV,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC3B,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,SAAK;CAS1E;AAyBD,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CA6DhC;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAwC5D;AAgFD,wBAAgB,sBAAsB,CACpC,EAAE,EACE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GACrE,SAAS,GACZ,IAAI,CAGN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,MAAM,GAAG,SAA+B,EACjD,QAAQ,GAAE,MAAM,GAAG,SAA+C,EAClE,YAAY,GAAE,SAAS,MAAM,EACI,GAChC,MAAM,EAAE,CA2BV;AAyID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,wBAAgB,iCAAiC,IAAI,IAAI,CAIxD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAClC,IAAI,CAGN;AA2HD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgD3D"}
|