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,708 @@
|
|
|
1
|
+
import { formatOnboardingDuration } from "../../observability/onboarding-metric.js";
|
|
2
|
+
import { REINSTALL_COMMAND, RIFT_DOWNLOAD_URL } from "../../diagnostics/install-layout.js";
|
|
3
|
+
import { renamePreviousToolNames } from "../../mcp/names.js";
|
|
4
|
+
export function renderFriendHeader(input) {
|
|
5
|
+
const { status } = input;
|
|
6
|
+
const now = input.now ? input.now() : Date.now();
|
|
7
|
+
const lines = [];
|
|
8
|
+
if (!status) {
|
|
9
|
+
lines.push("Onadit · daemon: unreachable");
|
|
10
|
+
lines.push("Next: run: launchctl kickstart -k gui/$UID/com.getrift.daemon");
|
|
11
|
+
return lines;
|
|
12
|
+
}
|
|
13
|
+
// Derive when the current daemon process started so we can tell
|
|
14
|
+
// "happened during this uptime" from "historical error from a prior
|
|
15
|
+
// run." Without this, a 20h-old schema_mismatch keeps advertising
|
|
16
|
+
// "broken" in the Next: line for a full 24h after a perfectly
|
|
17
|
+
// healthy respawn.
|
|
18
|
+
const daemonStartMs = now - status.daemon.uptime_seconds * 1000;
|
|
19
|
+
// 1. version + daemon
|
|
20
|
+
lines.push(`Onadit v${status.build.version} · daemon: running (uptime ${formatDuration(status.daemon.uptime_seconds)}) · port ${status.daemon.port}${status.daemon.voyage_key_present ? " ✓" : status.daemon.capture_enabled ? " ✗" : ""}`);
|
|
21
|
+
// 2. voyage
|
|
22
|
+
lines.push(renderVoyageLine(input, now));
|
|
23
|
+
// 3. index — distinct from voyage: an embed can succeed but the
|
|
24
|
+
// downstream LanceDB write can still fail (schema, lock, IO).
|
|
25
|
+
// Without this line the user has no signal that "embedded" does not
|
|
26
|
+
// imply "searchable yet".
|
|
27
|
+
lines.push(renderIndexLine(status.index, now));
|
|
28
|
+
// 4. inbox — surfaces drop-folder freshness. Distinct from index:
|
|
29
|
+
// a watcher-fed write can succeed at the index lane without ever
|
|
30
|
+
// having processed an inbox file. This line is the user-visible
|
|
31
|
+
// confirmation that the inbox path itself is wired up and current.
|
|
32
|
+
lines.push(renderInboxLine(status.inbox, now));
|
|
33
|
+
const memoryLine = renderMemoryLine(status);
|
|
34
|
+
if (memoryLine)
|
|
35
|
+
lines.push(memoryLine);
|
|
36
|
+
// 5. codex
|
|
37
|
+
lines.push(renderCodexLine(status.codex, now));
|
|
38
|
+
// 6. capture — when the daemon's own scheduled loop is failing but a
|
|
39
|
+
// manual run is working, split into "what works now" (the manual run)
|
|
40
|
+
// plus an honest "Automatic:" advisory, so a manual success never
|
|
41
|
+
// paints the scheduled loop green. Collapses back to one line once the
|
|
42
|
+
// daemon records a healthy run.
|
|
43
|
+
const daemonCaptureStale = isDaemonCaptureStale(status.capture, daemonStartMs);
|
|
44
|
+
lines.push(renderCaptureLine(status, now, daemonCaptureStale));
|
|
45
|
+
const automaticCaptureLine = renderAutomaticCaptureLine(status.capture, now, daemonCaptureStale);
|
|
46
|
+
if (automaticCaptureLine)
|
|
47
|
+
lines.push(automaticCaptureLine);
|
|
48
|
+
const cursorLine = renderCursorLine(status.capture);
|
|
49
|
+
if (cursorLine)
|
|
50
|
+
lines.push(cursorLine);
|
|
51
|
+
const coworkLine = renderCoworkLine(status.capture);
|
|
52
|
+
if (coworkLine)
|
|
53
|
+
lines.push(coworkLine);
|
|
54
|
+
if (status.capture.grok_cli) {
|
|
55
|
+
lines.push(status.capture.grok_cli.scheduled
|
|
56
|
+
? "Grok CLI: opt-in capture on — existing and new local CLI sessions are eligible"
|
|
57
|
+
: "Grok CLI: opt-in — run onadit onboard --enable-grok-capture (existing and new local CLI sessions)");
|
|
58
|
+
}
|
|
59
|
+
// 6b. local AI apps — honest source-coverage boundary. Onadit auto-captures the
|
|
60
|
+
// CLI agents (Claude Code, Codex CLI); the desktop/web chat apps keep
|
|
61
|
+
// their history server-side, so those chats need export → onadit import.
|
|
62
|
+
// Shown ONLY when such an app is actually installed, so the line targets
|
|
63
|
+
// the users who would otherwise assume "auto-capture" covers everything.
|
|
64
|
+
const localAiAppsLine = renderLocalAiAppsLine(input.localAiApps);
|
|
65
|
+
if (localAiAppsLine)
|
|
66
|
+
lines.push(localAiAppsLine);
|
|
67
|
+
// 7. MCP
|
|
68
|
+
lines.push(renderMcpLine(input.mcpClients));
|
|
69
|
+
// 7b. menu bar — only when probed (macOS) AND SwiftBar is absent. The plugin
|
|
70
|
+
// is installed but the app that draws the icon is missing, so `status`
|
|
71
|
+
// surfaces the same "menu can't show" warning `doctor` does instead of
|
|
72
|
+
// leaving a silently-missing icon undiagnosed. Installed/unprobed stays
|
|
73
|
+
// quiet so a healthy install never grows a noise line.
|
|
74
|
+
const swiftBarLine = renderSwiftBarLine(input.swiftBar);
|
|
75
|
+
if (swiftBarLine)
|
|
76
|
+
lines.push(swiftBarLine);
|
|
77
|
+
// 8. feedback
|
|
78
|
+
lines.push(`Feedback: ${renderFeedbackLine(status.feedback)}`);
|
|
79
|
+
// 9. update — surfaced only when the daemon's last probe found a
|
|
80
|
+
// newer beta. Probe failures and up-to-date installs print nothing
|
|
81
|
+
// so npm reachability cannot make Onadit look broken.
|
|
82
|
+
const updateLine = renderUpdateLine(status.update);
|
|
83
|
+
if (updateLine)
|
|
84
|
+
lines.push(updateLine);
|
|
85
|
+
// 10. onboarding — `time_to_first_useful_recall`. Hidden state prints
|
|
86
|
+
// nothing so a fresh post-onboard install never shows a stale
|
|
87
|
+
// placeholder. Pending shows the in-flight wait; completed shows
|
|
88
|
+
// the captured duration + the MCP tool that closed it.
|
|
89
|
+
const onboardingLine = renderOnboardingLine(status.onboarding, now);
|
|
90
|
+
if (onboardingLine)
|
|
91
|
+
lines.push(onboardingLine);
|
|
92
|
+
lines.push("");
|
|
93
|
+
lines.push(`Next: ${decideNextLine({ status, mcpClients: input.mcpClients, daemonStartMs })}`);
|
|
94
|
+
return lines;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* True only when `iso` parses to a timestamp after the daemon's current
|
|
98
|
+
* start. Historical errors that predate the running process are not
|
|
99
|
+
* current and must not drive the Next: nudge — a friend with a healthy
|
|
100
|
+
* respawned daemon would otherwise see "broken, file feedback" for the
|
|
101
|
+
* full 24h window every error class keeps.
|
|
102
|
+
*/
|
|
103
|
+
function isCurrentUptime(iso, daemonStartMs) {
|
|
104
|
+
if (!iso)
|
|
105
|
+
return false;
|
|
106
|
+
const ts = Date.parse(iso);
|
|
107
|
+
if (Number.isNaN(ts))
|
|
108
|
+
return false;
|
|
109
|
+
return ts >= daemonStartMs;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Translate internal error class names into copy a friend can act on.
|
|
113
|
+
* Falls back to the raw class so new/unknown values still surface
|
|
114
|
+
* (better an unfamiliar word than a missing one).
|
|
115
|
+
*/
|
|
116
|
+
function humanizeErrorClass(reason) {
|
|
117
|
+
if (!reason)
|
|
118
|
+
return "unknown";
|
|
119
|
+
switch (reason) {
|
|
120
|
+
case "schema_mismatch":
|
|
121
|
+
return "index format changed by update";
|
|
122
|
+
case "lock_conflict":
|
|
123
|
+
return "index busy (concurrent write)";
|
|
124
|
+
case "provider_400":
|
|
125
|
+
return "embedding rejected by Voyage";
|
|
126
|
+
case "network":
|
|
127
|
+
return "network error";
|
|
128
|
+
default:
|
|
129
|
+
return reason;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function renderFeedbackLine(feedback) {
|
|
133
|
+
if (feedback.relay_enabled) {
|
|
134
|
+
return "relay on (local JSONL + Clem-side relay)";
|
|
135
|
+
}
|
|
136
|
+
if (feedback.contact_opted_in) {
|
|
137
|
+
// Opted in for updates, but no relay endpoint is wired yet — be honest
|
|
138
|
+
// that nothing is transmitting, without telling them to "opt in" again.
|
|
139
|
+
return "opted in — stays local until the beta relay is live";
|
|
140
|
+
}
|
|
141
|
+
return "relay off (local JSONL only) — opt in via onadit onboard";
|
|
142
|
+
}
|
|
143
|
+
function renderUpdateLine(update) {
|
|
144
|
+
if (!update.available)
|
|
145
|
+
return null;
|
|
146
|
+
if (!update.latest_beta)
|
|
147
|
+
return null;
|
|
148
|
+
return `Update: available ${update.installed} → ${update.latest_beta} — ${updateAction(update)}`;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* The action to upgrade, chosen by install layout. A packaged (.pkg) install
|
|
152
|
+
* can't self-update (`onadit update` refuses it), so it gets the .pkg download;
|
|
153
|
+
* only an explicit `false` flips it, so an older daemon that predates the flag
|
|
154
|
+
* (`undefined`) keeps the historical `onadit update` advice. Shared by the
|
|
155
|
+
* Update line and the "what to do next" summary so they never disagree.
|
|
156
|
+
*/
|
|
157
|
+
function updateAction(update) {
|
|
158
|
+
if (update.reinstall_needed)
|
|
159
|
+
return `run the installer again: ${REINSTALL_COMMAND}`;
|
|
160
|
+
return update.self_update_supported === false
|
|
161
|
+
? `download the latest .pkg: ${RIFT_DOWNLOAD_URL}`
|
|
162
|
+
: "run: onadit update";
|
|
163
|
+
}
|
|
164
|
+
function renderVoyageLine(input, now) {
|
|
165
|
+
const { status, voyageLast4 } = input;
|
|
166
|
+
if (!status)
|
|
167
|
+
return "Voyage: unknown";
|
|
168
|
+
if (!status.daemon.voyage_key_present) {
|
|
169
|
+
// No key is an intentional local mode, not a fault: keyword (lexical)
|
|
170
|
+
// search is fully on; only semantic search is off. We only nudge toward a
|
|
171
|
+
// Voyage key when a feature that actually needs one (auto-capture) is
|
|
172
|
+
// enabled — otherwise the line must read as "working as configured."
|
|
173
|
+
return status.daemon.capture_enabled
|
|
174
|
+
? "Search: keyword on, semantic off — auto-capture needs a Voyage key: onadit onboard --reconfigure-voyage"
|
|
175
|
+
: "Search: keyword on · semantic off (no Voyage key — local mode)";
|
|
176
|
+
}
|
|
177
|
+
const last4 = voyageLast4 ? `last 4 …${voyageLast4}` : "key valid";
|
|
178
|
+
const labelSuffix = status.voyage.project_label
|
|
179
|
+
? ` · label ${status.voyage.project_label}`
|
|
180
|
+
: "";
|
|
181
|
+
const embedSuffix = status.voyage.last_embed_at
|
|
182
|
+
? `, last embed ${formatAge(status.voyage.last_embed_at, now)}`
|
|
183
|
+
: "";
|
|
184
|
+
const errorSuffix = status.voyage.last_error_at
|
|
185
|
+
? ` · last error ${formatAge(status.voyage.last_error_at, now)} (${status.voyage.last_error_reason ?? "unknown"})`
|
|
186
|
+
: "";
|
|
187
|
+
return `Voyage: key valid (${last4}${embedSuffix})${labelSuffix}${errorSuffix}`;
|
|
188
|
+
}
|
|
189
|
+
function renderIndexLine(index, now) {
|
|
190
|
+
if (index.last_update_at === null && index.last_error_at === null) {
|
|
191
|
+
return "Index: no writes yet";
|
|
192
|
+
}
|
|
193
|
+
const updateSuffix = index.last_update_at
|
|
194
|
+
? `last update ${formatAge(index.last_update_at, now)}`
|
|
195
|
+
: "no writes yet";
|
|
196
|
+
const errorSuffix = index.last_error_at
|
|
197
|
+
? ` · last error ${formatAge(index.last_error_at, now)} (${index.last_error_reason ?? "unknown"})`
|
|
198
|
+
: "";
|
|
199
|
+
return `Index: ${updateSuffix}${errorSuffix}`;
|
|
200
|
+
}
|
|
201
|
+
function renderInboxLine(inbox, now) {
|
|
202
|
+
// Older daemons (pre-this-slice) don't ship an `inbox` block. Treat
|
|
203
|
+
// the missing block exactly as "idle" — the line stays present and
|
|
204
|
+
// the CLI never crashes on a cross-version mismatch.
|
|
205
|
+
if (!inbox ||
|
|
206
|
+
(inbox.last_import_at === null &&
|
|
207
|
+
inbox.last_error_at === null &&
|
|
208
|
+
inbox.pending === 0)) {
|
|
209
|
+
// A command, not a folder: a relative path means nothing to a reader who
|
|
210
|
+
// does not know where Onadit keeps its data.
|
|
211
|
+
return "Inbox: empty — to add a chat export: onadit import <file> --source <name>";
|
|
212
|
+
}
|
|
213
|
+
const parts = [];
|
|
214
|
+
if (inbox.last_import_at) {
|
|
215
|
+
parts.push(`last import ${formatAge(inbox.last_import_at, now)}`);
|
|
216
|
+
}
|
|
217
|
+
if (inbox.pending > 0) {
|
|
218
|
+
parts.push(`${inbox.pending} pending`);
|
|
219
|
+
}
|
|
220
|
+
const head = parts.length > 0 ? parts.join(" · ") : "idle";
|
|
221
|
+
const errorSuffix = inbox.last_error_at
|
|
222
|
+
? ` · last error ${formatAge(inbox.last_error_at, now)} (${inbox.last_error_reason ?? "unknown"})`
|
|
223
|
+
: "";
|
|
224
|
+
return `Inbox: ${head}${errorSuffix}`;
|
|
225
|
+
}
|
|
226
|
+
function renderMemoryLine(status) {
|
|
227
|
+
const memory = status.memory;
|
|
228
|
+
if (!memory?.counts)
|
|
229
|
+
return null;
|
|
230
|
+
const counts = memory.counts;
|
|
231
|
+
const docsPart = `docs ${counts.structured_docs}${counts.structured_docs === 0 ? ` (${documentReason(memory.documents.status)})` : ""}`;
|
|
232
|
+
// Digests are an optional extra on top of the stored conversations.
|
|
233
|
+
// "digests 0 (AI enrichment off)" was relayed as "Onadit is not writing
|
|
234
|
+
// summaries", so a lane that is simply not in use is not listed.
|
|
235
|
+
const digestsInUse = counts.digests > 0 ||
|
|
236
|
+
(memory.digests.status !== "unavailable_basic" && memory.digests.status !== "unavailable_claude");
|
|
237
|
+
const parts = [`${counts.conversations.toLocaleString("en-US")} conversations`];
|
|
238
|
+
if (digestsInUse) {
|
|
239
|
+
parts.push(`digests ${counts.digests}${counts.digests === 0 ? ` (${digestReason(memory.digests.status)})` : ""}`);
|
|
240
|
+
}
|
|
241
|
+
parts.push(docsPart);
|
|
242
|
+
return `Memory: ${parts.join(" · ")}`;
|
|
243
|
+
}
|
|
244
|
+
function digestReason(status) {
|
|
245
|
+
switch (status) {
|
|
246
|
+
case "unavailable_basic":
|
|
247
|
+
return "AI enrichment off";
|
|
248
|
+
case "unavailable_claude":
|
|
249
|
+
return "Claude digests not shipped";
|
|
250
|
+
case "unavailable_worker":
|
|
251
|
+
return "digest worker unavailable";
|
|
252
|
+
case "available_not_run":
|
|
253
|
+
return "none yet";
|
|
254
|
+
case "unknown":
|
|
255
|
+
return "unknown";
|
|
256
|
+
case "indexed":
|
|
257
|
+
return "indexed";
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
function documentReason(status) {
|
|
261
|
+
switch (status) {
|
|
262
|
+
case "not_configured":
|
|
263
|
+
return "no sources";
|
|
264
|
+
case "source_missing":
|
|
265
|
+
return "source missing";
|
|
266
|
+
case "source_empty":
|
|
267
|
+
return "source empty";
|
|
268
|
+
case "embedding_unavailable":
|
|
269
|
+
return "Voyage key missing";
|
|
270
|
+
case "backfill_needed":
|
|
271
|
+
return "backfill needed";
|
|
272
|
+
case "unknown":
|
|
273
|
+
return "unknown";
|
|
274
|
+
case "indexed":
|
|
275
|
+
return "indexed";
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
function renderCodexLine(codex, now) {
|
|
279
|
+
// Claude-Code triage worker: a wholly separate label + remedy set. The Codex
|
|
280
|
+
// copy below is left byte-for-byte unchanged.
|
|
281
|
+
if (codex.last_preflight_worker === "claude") {
|
|
282
|
+
return renderClaudeLine(codex, now);
|
|
283
|
+
}
|
|
284
|
+
if (codex.last_preflight_at === null) {
|
|
285
|
+
return "Codex CLI: not checked yet — auto-capture has not run";
|
|
286
|
+
}
|
|
287
|
+
if (codex.last_preflight_ok === true) {
|
|
288
|
+
return `Codex CLI: authed ✓ (last checked: ${formatAge(codex.last_preflight_at, now)})`;
|
|
289
|
+
}
|
|
290
|
+
const checked = `last checked: ${formatAge(codex.last_preflight_at, now)}`;
|
|
291
|
+
if (codex.last_preflight_error_class === "auth") {
|
|
292
|
+
return `Codex CLI: auth expired ✗ (${checked}) — run: codex login`;
|
|
293
|
+
}
|
|
294
|
+
// Not auth — say what actually failed and don't nag about login.
|
|
295
|
+
const summary = codex.last_preflight_error_summary ?? "Codex preflight failed.";
|
|
296
|
+
return `Codex CLI: probe failing ✗ (${checked}) — ${summary}`;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Claude-Code triage worker status line — the `claude_code` analogue of the
|
|
300
|
+
* Codex line. Remedies are Claude-shaped (sign into `claude`, upgrade an old
|
|
301
|
+
* CLI, point past a wrapper), never "codex login".
|
|
302
|
+
*/
|
|
303
|
+
function renderClaudeLine(codex, now) {
|
|
304
|
+
if (codex.last_preflight_at === null) {
|
|
305
|
+
return "Claude Code: not checked yet — auto-capture has not run";
|
|
306
|
+
}
|
|
307
|
+
if (codex.last_preflight_ok === true) {
|
|
308
|
+
return `Claude Code: ready ✓ (last checked: ${formatAge(codex.last_preflight_at, now)})`;
|
|
309
|
+
}
|
|
310
|
+
const checked = `last checked: ${formatAge(codex.last_preflight_at, now)}`;
|
|
311
|
+
switch (codex.last_preflight_error_class) {
|
|
312
|
+
case "auth":
|
|
313
|
+
return `Claude Code: signed out ✗ (${checked}) — run: claude (sign in)`;
|
|
314
|
+
case "missing":
|
|
315
|
+
return `Claude Code: not found ✗ (${checked}) — install claude or set RIFT_CLAUDE_CLI_PATH`;
|
|
316
|
+
case "incompatible":
|
|
317
|
+
return `Claude Code: too old ✗ (${checked}) — upgrade claude (needs --safe-mode)`;
|
|
318
|
+
case "wrapper":
|
|
319
|
+
return `Claude Code: wrapper blocking ✗ (${checked}) — set RIFT_CLAUDE_CLI_PATH to the real claude`;
|
|
320
|
+
default: {
|
|
321
|
+
const summary = codex.last_preflight_error_summary ?? "Claude preflight failed.";
|
|
322
|
+
return `Claude Code: probe failing ✗ (${checked}) — ${summary}`;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* True when the daemon's own scheduled loop last failed (during this
|
|
328
|
+
* uptime) but the newest run is a healthy ad-hoc run (a manual `rift
|
|
329
|
+
* capture` or the onboard first-capture pass). This is the "capture works
|
|
330
|
+
* now, but automation is still failing" split — kept in sync with the
|
|
331
|
+
* `capture_daemon_stale` check in diagnostics/doctor.ts.
|
|
332
|
+
*
|
|
333
|
+
* `last_daemon_failed` carries the full failure verdict (a `run_ok`-only
|
|
334
|
+
* check would miss the common expired-Codex case, which completes with
|
|
335
|
+
* `run_ok: true, preflight_ok: false`). The newest run must be a non-daemon
|
|
336
|
+
* trigger — legacy untagged rows report as `daemon`, so `!== "daemon"`
|
|
337
|
+
* cleanly means manual or onboard.
|
|
338
|
+
*/
|
|
339
|
+
function isDaemonCaptureStale(capture, daemonStartMs) {
|
|
340
|
+
return (capture.last_daemon_failed === true &&
|
|
341
|
+
isCurrentUptime(capture.last_daemon_run_at ?? null, daemonStartMs) &&
|
|
342
|
+
capture.last_run_trigger != null &&
|
|
343
|
+
capture.last_run_trigger !== "daemon" &&
|
|
344
|
+
capture.last_run_ok === true &&
|
|
345
|
+
capture.last_errors === 0);
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Split the parked-oversized count into "still self-repairing" vs. "exhausted
|
|
349
|
+
* retries, needs a manual save". The daemon ships explicit `oversized_repairing`
|
|
350
|
+
* / `oversized_repair_failed`; an older daemon omits them, so we fall back to
|
|
351
|
+
* treating every parked session as still-repairing (`parked - failed`, with
|
|
352
|
+
* failed defaulting to 0) — the calm, accurate read for a daemon that simply
|
|
353
|
+
* hasn't reported a budget yet.
|
|
354
|
+
*/
|
|
355
|
+
function deriveParkedState(capture) {
|
|
356
|
+
const parked = capture.oversized_parked ?? 0;
|
|
357
|
+
const failed = capture.oversized_repair_failed ?? 0;
|
|
358
|
+
const repairing = capture.oversized_repairing ?? Math.max(parked - failed, 0);
|
|
359
|
+
return { parked, repairing, failed };
|
|
360
|
+
}
|
|
361
|
+
function renderCaptureLine(status, now, daemonStale) {
|
|
362
|
+
const { capture, daemon, codex } = status;
|
|
363
|
+
// When the split "Automatic:" line is shown it carries the daemon's next
|
|
364
|
+
// tick, so keep it off this line — otherwise a manual run would look
|
|
365
|
+
// scheduled. With no split, this line keeps the next-tick hint.
|
|
366
|
+
const next = daemonStale ? null : formatNextRunSuffix(capture.next_run_at, now);
|
|
367
|
+
const nextPart = next ? ` · ${next}` : "";
|
|
368
|
+
const retryPart = next ? ` · ${retryWording(next)}` : "";
|
|
369
|
+
const lastRun = capture.last_run_at
|
|
370
|
+
? `${capture.last_run_trigger === "manual" ? "last manual run" : "last run"} ${formatAge(capture.last_run_at, now)}`
|
|
371
|
+
: null;
|
|
372
|
+
// The line opens with one of: off, on (no run yet), working, failed. A
|
|
373
|
+
// reader, or an agent relaying this, must be able to tell a quiet hour from
|
|
374
|
+
// a fault, and capture being off from capture finding nothing.
|
|
375
|
+
//
|
|
376
|
+
// Off. Only an explicit `false`: a daemon from before the flag does not say.
|
|
377
|
+
if (daemon.capture_enabled === false) {
|
|
378
|
+
return `Capture: off — new sessions from your AI tools are not saved${lastRun ? ` (${lastRun})` : ""}. Turn it on: onadit onboard --enable-capture`;
|
|
379
|
+
}
|
|
380
|
+
// On, but nothing it saves could be embedded.
|
|
381
|
+
if (daemon.capture_enabled === true && !daemon.voyage_key_present) {
|
|
382
|
+
return "Capture: failed — capture is on but Onadit has no search key, so nothing can be saved. Fix: onadit onboard --reconfigure-voyage";
|
|
383
|
+
}
|
|
384
|
+
if (lastRun === null) {
|
|
385
|
+
if (daemon.capture_enabled === true)
|
|
386
|
+
return `Capture: on — no run yet${nextPart}`;
|
|
387
|
+
return next ? `Capture: no runs yet · ${next}` : "Capture: no runs yet";
|
|
388
|
+
}
|
|
389
|
+
// Failed: the AI worker that reads sessions was not ready, the run stopped,
|
|
390
|
+
// or sessions could not be saved (the same bar as `autoCaptureRunFailed`).
|
|
391
|
+
if (codex.last_preflight_ok === false) {
|
|
392
|
+
const worker = codex.last_preflight_worker === "claude" ? "Claude Code" : "Codex CLI";
|
|
393
|
+
return `Capture: failed — ${lastRun} saved nothing: ${worker} is not ready (see the ${worker} line)${retryPart}`;
|
|
394
|
+
}
|
|
395
|
+
if (capture.last_run_ok === false) {
|
|
396
|
+
return `Capture: failed — ${lastRun} stopped with an error (details: onadit doctor)${retryPart}`;
|
|
397
|
+
}
|
|
398
|
+
if (capture.last_errors > 0) {
|
|
399
|
+
const n = capture.last_errors;
|
|
400
|
+
return `Capture: failed for ${n} session${n === 1 ? "" : "s"} — ${lastRun}: ${capture.last_saved} saved, ${n} not saved (details: onadit doctor)${retryPart}`;
|
|
401
|
+
}
|
|
402
|
+
// Driven by the parked-session count (state of the world), NOT
|
|
403
|
+
// `last_quarantined` (the last run's count) — otherwise this visible line
|
|
404
|
+
// flickers between showing and hiding as a stable oversized file dedups on
|
|
405
|
+
// one run and re-quarantines on the next. Large sessions now self-repair in
|
|
406
|
+
// the background, so the suffix reports honest state: "saving …" while Onadit
|
|
407
|
+
// is still recovering them, "need a manual save" only once retries are
|
|
408
|
+
// exhausted — never a bare "run the repair command" on a self-healing path.
|
|
409
|
+
const { repairing, failed } = deriveParkedState(capture);
|
|
410
|
+
const parkedSuffix = failed > 0
|
|
411
|
+
? ` · ${failed} large session${failed === 1 ? "" : "s"} need a manual save`
|
|
412
|
+
: repairing > 0
|
|
413
|
+
? ` · saving ${repairing} large session${repairing === 1 ? "" : "s"} to memory`
|
|
414
|
+
: "";
|
|
415
|
+
// Working. "Nothing new" is said in words: three zeros look like a fault.
|
|
416
|
+
const found = capture.last_saved === 0 && capture.last_review === 0
|
|
417
|
+
? "nothing new"
|
|
418
|
+
: `${capture.last_saved} saved${capture.last_review > 0 ? `, ${capture.last_review} to review` : ""}`;
|
|
419
|
+
return `Capture: working — ${lastRun}: ${found}${parkedSuffix}${nextPart}`;
|
|
420
|
+
}
|
|
421
|
+
/** "next in 59m" as a failure reads it: when the next attempt comes. */
|
|
422
|
+
function retryWording(next) {
|
|
423
|
+
return next === "next tick due" ? "next try due" : next.replace(/^next in /, "next try in ");
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Native-Cursor capture line. Honest states for an explicit opt-in:
|
|
427
|
+
* - not installed AND not scheduled → omit (return null); never advertise a
|
|
428
|
+
* tool the user doesn't have.
|
|
429
|
+
* - scheduled but the store is missing/unreadable (file probe) → WARN.
|
|
430
|
+
* - scheduled, store readable, but the last discovery RUN failed to read it
|
|
431
|
+
* (e.g. `sqlite3` missing / corrupt query — invisible to the file probe)
|
|
432
|
+
* → WARN. The opt-in (cursor_composer in capture.sources) must never read
|
|
433
|
+
* as "capture on" while capture physically can't run; that would silently
|
|
434
|
+
* swallow the one thing the user asked for.
|
|
435
|
+
* - installed but not scheduled → offer the opt-in.
|
|
436
|
+
* - scheduled, readable, and no observed discovery failure → on.
|
|
437
|
+
* Returns null for a pre-this-slice payload that omits the `cursor` block.
|
|
438
|
+
*/
|
|
439
|
+
function renderCursorLine(capture) {
|
|
440
|
+
const cursor = capture.cursor;
|
|
441
|
+
if (!cursor)
|
|
442
|
+
return null;
|
|
443
|
+
if (cursor.scheduled) {
|
|
444
|
+
if (!cursor.available) {
|
|
445
|
+
return "Cursor: scheduled but no readable Cursor store found — capture can't run (is Cursor installed?)";
|
|
446
|
+
}
|
|
447
|
+
// File is readable, but the last run that actually read the store failed —
|
|
448
|
+
// the store is present yet Onadit can't parse it (commonly: no `sqlite3` on
|
|
449
|
+
// PATH). Warn instead of claiming the schedule is working.
|
|
450
|
+
if (cursor.last_discovery_ok === false) {
|
|
451
|
+
return "Cursor: scheduled but Onadit couldn't read your Cursor sessions last run — capture isn't working (try: onadit doctor)";
|
|
452
|
+
}
|
|
453
|
+
return "Cursor: capture on — native Cursor sessions are captured on the schedule";
|
|
454
|
+
}
|
|
455
|
+
// Not scheduled: only advertise the opt-in when Cursor is actually present.
|
|
456
|
+
if (!cursor.available)
|
|
457
|
+
return null;
|
|
458
|
+
return 'Cursor: not captured — to capture Cursor sessions, add "cursor_composer" to capture.sources in Onadit\'s config.json, then restart Onadit';
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Claude Desktop agent/Cowork capture line. Cowork is an explicit opt-in like
|
|
462
|
+
* Cursor, not part of the default auto-capture set. Existing sessions are
|
|
463
|
+
* baselined on first opt-in, so the line deliberately says "new" sessions.
|
|
464
|
+
*/
|
|
465
|
+
function renderCoworkLine(capture) {
|
|
466
|
+
const cowork = capture.claude_desktop;
|
|
467
|
+
if (!cowork)
|
|
468
|
+
return null;
|
|
469
|
+
if (cowork.scheduled) {
|
|
470
|
+
if (!cowork.available) {
|
|
471
|
+
return "Cowork: scheduled but no readable Claude Desktop Cowork store found — capture can't run (open a Cowork session, then run onadit status)";
|
|
472
|
+
}
|
|
473
|
+
if (cowork.last_discovery_ok === false) {
|
|
474
|
+
return "Cowork: scheduled but Onadit couldn't read your Cowork sessions last run — capture isn't working (try: onadit doctor)";
|
|
475
|
+
}
|
|
476
|
+
return "Cowork: capture on — new Claude Desktop Cowork sessions are captured on the schedule";
|
|
477
|
+
}
|
|
478
|
+
if (!cowork.available)
|
|
479
|
+
return null;
|
|
480
|
+
return "Cowork: available — run onadit onboard --enable-cowork-capture to capture new Cowork sessions";
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Honest source-coverage line. Onadit auto-captures the CLI agents (Claude Code,
|
|
484
|
+
* Codex CLI), and can opt into Claude Desktop Cowork agent sessions. Normal
|
|
485
|
+
* Claude/ChatGPT desktop and web chats still need export → `onadit import`.
|
|
486
|
+
* Rendered only when such an app is actually installed, so it sets the right
|
|
487
|
+
* expectation for exactly the users who would assume "auto-capture" already
|
|
488
|
+
* covers them, and stays silent for everyone else.
|
|
489
|
+
*/
|
|
490
|
+
function renderLocalAiAppsLine(apps) {
|
|
491
|
+
if (!apps)
|
|
492
|
+
return null;
|
|
493
|
+
const names = [];
|
|
494
|
+
if (apps.claudeDesktop)
|
|
495
|
+
names.push("Claude Desktop");
|
|
496
|
+
if (apps.chatgptApp)
|
|
497
|
+
names.push("ChatGPT");
|
|
498
|
+
if (names.length === 0)
|
|
499
|
+
return null;
|
|
500
|
+
const possessive = names.length === 1 ? "its" : "their";
|
|
501
|
+
return `App chats: ${names.join(" + ")} installed — ${possessive} normal chats aren't auto-captured; export → onadit import`;
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* The "Automatic:" advisory line — shown only when `isDaemonCaptureStale`
|
|
505
|
+
* holds (the scheduled loop's last run failed while a manual run is
|
|
506
|
+
* working). Returns null otherwise; a healthy or not-yet-run daemon needs
|
|
507
|
+
* no second capture line.
|
|
508
|
+
*/
|
|
509
|
+
function renderAutomaticCaptureLine(capture, now, daemonStale) {
|
|
510
|
+
if (!daemonStale || !capture.last_daemon_run_at)
|
|
511
|
+
return null;
|
|
512
|
+
const age = formatAge(capture.last_daemon_run_at, now);
|
|
513
|
+
const nextSuffix = formatNextRunSuffix(capture.next_run_at, now);
|
|
514
|
+
return `Automatic: failed — last scheduled run ${age}${nextSuffix ? ` · ${retryWording(nextSuffix)}` : ""}`;
|
|
515
|
+
}
|
|
516
|
+
function formatNextRunSuffix(iso, now) {
|
|
517
|
+
if (!iso)
|
|
518
|
+
return null;
|
|
519
|
+
const then = Date.parse(iso);
|
|
520
|
+
if (Number.isNaN(then))
|
|
521
|
+
return null;
|
|
522
|
+
const deltaSeconds = Math.round((then - now) / 1000);
|
|
523
|
+
if (deltaSeconds <= 0)
|
|
524
|
+
return "next tick due";
|
|
525
|
+
return `next in ${formatDuration(deltaSeconds)}`;
|
|
526
|
+
}
|
|
527
|
+
function renderMcpLine(clients) {
|
|
528
|
+
if (clients.length === 0)
|
|
529
|
+
return "MCP: (no clients detected)";
|
|
530
|
+
const parts = clients.map((c) => c.installed
|
|
531
|
+
? `${c.client} ✓`
|
|
532
|
+
: `${c.client} ✗ (run: onadit mcp install --client=${c.client})`);
|
|
533
|
+
return `MCP: ${parts.join(" · ")}`;
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* Render the menu-bar advisory line, or null to omit it. Two cases print:
|
|
537
|
+
* SwiftBar absent (install the app), and SwiftBar present but the plugin is a
|
|
538
|
+
* dangling shortcut (reinstall it) — so the everyday `onadit status` can't look
|
|
539
|
+
* clean while the icon is broken. A healthy install and `null` (non-macOS /
|
|
540
|
+
* unprobed, e.g. the daemon notifier) stay silent, matching `onadit doctor`.
|
|
541
|
+
*/
|
|
542
|
+
function renderSwiftBarLine(swiftBar) {
|
|
543
|
+
if (!swiftBar)
|
|
544
|
+
return null;
|
|
545
|
+
if (!swiftBar.installed) {
|
|
546
|
+
// Lead with the real first step (install the app); `onadit menubar install`
|
|
547
|
+
// alone would only re-print that same recovery, so name it directly.
|
|
548
|
+
return "Menu bar: SwiftBar not installed ✗ (icon can't show → install SwiftBar from swiftbar.app, then run: onadit menubar install)";
|
|
549
|
+
}
|
|
550
|
+
if (swiftBar.pluginDangling) {
|
|
551
|
+
return "Menu bar: plugin broken ✗ (icon can't update → reinstall: onadit menubar install)";
|
|
552
|
+
}
|
|
553
|
+
return null;
|
|
554
|
+
}
|
|
555
|
+
function decideNextLine(input) {
|
|
556
|
+
const { status, mcpClients, daemonStartMs } = input;
|
|
557
|
+
// A missing key is only an action item when something needs it. With
|
|
558
|
+
// auto-capture off, no-key is the intended local mode, so it must not claim
|
|
559
|
+
// the Next: line — that would read as "broken" on a healthy local install.
|
|
560
|
+
if (!status.daemon.voyage_key_present && status.daemon.capture_enabled) {
|
|
561
|
+
return "Auto-capture is on but has no Voyage key to embed with → run: onadit onboard --reconfigure-voyage";
|
|
562
|
+
}
|
|
563
|
+
if (status.codex.last_preflight_ok === false) {
|
|
564
|
+
if (status.codex.last_preflight_worker === "claude") {
|
|
565
|
+
switch (status.codex.last_preflight_error_class) {
|
|
566
|
+
case "auth":
|
|
567
|
+
return "Claude Code signed out → run: claude (sign in); Onadit retries automatically";
|
|
568
|
+
case "missing":
|
|
569
|
+
return "Claude Code CLI not found → install claude or set RIFT_CLAUDE_CLI_PATH; Onadit retries automatically";
|
|
570
|
+
case "incompatible":
|
|
571
|
+
return "Claude Code CLI too old → upgrade claude (needs --safe-mode); Onadit retries automatically";
|
|
572
|
+
case "wrapper":
|
|
573
|
+
return "A wrapper is intercepting claude → set RIFT_CLAUDE_CLI_PATH to the real binary; Onadit retries automatically";
|
|
574
|
+
case "rate_limit":
|
|
575
|
+
return "Claude hit a rate/usage limit → wait for it to reset; Onadit retries automatically";
|
|
576
|
+
default:
|
|
577
|
+
return "Claude capture probe failing → Onadit retries automatically";
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
if (status.codex.last_preflight_error_class === "auth") {
|
|
581
|
+
return "Codex auth expired → run: codex login";
|
|
582
|
+
}
|
|
583
|
+
if (status.codex.last_preflight_error_class === "model") {
|
|
584
|
+
return "Codex rejected the model → set codex_cli.model; Onadit retries automatically";
|
|
585
|
+
}
|
|
586
|
+
if (status.codex.last_preflight_error_class === "cli_incompatible") {
|
|
587
|
+
return "Codex CLI too old → upgrade Codex; Onadit retries automatically";
|
|
588
|
+
}
|
|
589
|
+
if (status.codex.last_preflight_error_class === "binary") {
|
|
590
|
+
return "Codex CLI missing or moved → reinstall/upgrade codex; Onadit retries automatically";
|
|
591
|
+
}
|
|
592
|
+
if (status.codex.last_preflight_error_class === "rate_limit") {
|
|
593
|
+
return "Codex out of credits or rate-limited → top up your OpenAI balance or wait; Onadit retries automatically";
|
|
594
|
+
}
|
|
595
|
+
return "Codex capture probe failing → Onadit retries automatically";
|
|
596
|
+
}
|
|
597
|
+
// Recency gating: only errors stamped *after* the current daemon
|
|
598
|
+
// start can drive the Next: action. A 20h-old schema_mismatch from a
|
|
599
|
+
// prior process should not advertise "broken, file feedback" on a
|
|
600
|
+
// healthy respawn.
|
|
601
|
+
if (isCurrentUptime(status.voyage.last_error_at, daemonStartMs)) {
|
|
602
|
+
return `Voyage embedding errors since daemon start (${humanizeErrorClass(status.voyage.last_error_reason)}) → run: onadit feedback --kind=broke --with-status`;
|
|
603
|
+
}
|
|
604
|
+
if (isCurrentUptime(status.index.last_error_at, daemonStartMs)) {
|
|
605
|
+
return `Index write errors since daemon start (${humanizeErrorClass(status.index.last_error_reason)}) → run: onadit feedback --kind=broke --with-status`;
|
|
606
|
+
}
|
|
607
|
+
// Inbox import failures are usually the user's own drop being rejected
|
|
608
|
+
// (malformed export, corrupted ZIP, unsupported source). The fix is on
|
|
609
|
+
// their side — re-drop a fresh export — not in the feedback flow.
|
|
610
|
+
// We deliberately do NOT name `data/quarantine/`: pre-parse failures
|
|
611
|
+
// (e.g. corrupted ZIPs that throw inside extractArchive) never write
|
|
612
|
+
// a quarantine record, so the path would point at an empty folder.
|
|
613
|
+
// Only the parser-level per-conversation failures land there, and
|
|
614
|
+
// the user doesn't need to disambiguate before re-dropping.
|
|
615
|
+
if (status.inbox && isCurrentUptime(status.inbox.last_error_at, daemonStartMs)) {
|
|
616
|
+
return `Inbox import errors since daemon start (${humanizeErrorClass(status.inbox.last_error_reason)}) → import a fresh export: onadit import <file> --source <name>`;
|
|
617
|
+
}
|
|
618
|
+
// Capture errors only count when the failing run happened during the
|
|
619
|
+
// current daemon uptime — a prior process's failure shouldn't keep
|
|
620
|
+
// nudging the friend post-respawn.
|
|
621
|
+
if ((status.capture.last_errors > 0 || status.capture.last_run_ok === false) &&
|
|
622
|
+
isCurrentUptime(status.capture.last_run_at, daemonStartMs)) {
|
|
623
|
+
return "Capture errors detected → run: onadit feedback --kind=broke --with-status";
|
|
624
|
+
}
|
|
625
|
+
// Scheduled loop failing while the newest run is a healthy manual one:
|
|
626
|
+
// capture works now, so surface the honest "will re-check" advisory
|
|
627
|
+
// rather than a broken-capture action or "nothing broken."
|
|
628
|
+
if (isDaemonCaptureStale(status.capture, daemonStartMs)) {
|
|
629
|
+
return "capture works now; automatic capture will re-check on the next scheduled run";
|
|
630
|
+
}
|
|
631
|
+
const missing = mcpClients.filter((c) => !c.installed).map((c) => c.client);
|
|
632
|
+
if (missing.length > 0) {
|
|
633
|
+
return `MCP not installed for ${missing.join(", ")} → run: onadit mcp install --client=${missing[0]}`;
|
|
634
|
+
}
|
|
635
|
+
// Oversized Codex sessions parked in quarantine are a graceful skip, not an
|
|
636
|
+
// error — and they now SELF-REPAIR in the background. So the default copy is
|
|
637
|
+
// the honest in-progress state ("Onadit is saving N … to memory"), with NO
|
|
638
|
+
// command for the friend to run. The manual `onadit doctor repair
|
|
639
|
+
// capture-large-sessions` is surfaced only once a session has exhausted its
|
|
640
|
+
// bounded retry budget — the genuine "Onadit couldn't, you take over" case.
|
|
641
|
+
const { repairing, failed } = deriveParkedState(status.capture);
|
|
642
|
+
if (failed > 0) {
|
|
643
|
+
return `${failed} large Codex session${failed === 1 ? "" : "s"} could not be saved automatically → run: onadit doctor repair capture-large-sessions`;
|
|
644
|
+
}
|
|
645
|
+
if (repairing > 0) {
|
|
646
|
+
return `Onadit is saving ${repairing} large Codex session${repairing === 1 ? "" : "s"} to memory — no action needed`;
|
|
647
|
+
}
|
|
648
|
+
// Update available wins over "nothing broken" — a friend who runs
|
|
649
|
+
// status precisely to find out what to do next should see the update
|
|
650
|
+
// hint surfaced as the action, not buried under "all green." It is
|
|
651
|
+
// still strictly below every real error branch above, so a broken
|
|
652
|
+
// daemon never prefers an update suggestion over a Voyage/Index fix.
|
|
653
|
+
if (status.update.available && status.update.latest_beta) {
|
|
654
|
+
return `Update available (${status.update.installed} → ${status.update.latest_beta}) → ${updateAction(status.update)}`;
|
|
655
|
+
}
|
|
656
|
+
return 'nothing broken. Try onadit search "<topic>".';
|
|
657
|
+
}
|
|
658
|
+
export function formatAge(iso, now) {
|
|
659
|
+
const then = Date.parse(iso);
|
|
660
|
+
if (Number.isNaN(then))
|
|
661
|
+
return "unknown";
|
|
662
|
+
return formatDuration(Math.max(0, Math.round((now - then) / 1000))) + " ago";
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Render the `time_to_first_useful_recall` line. Returns null when the
|
|
666
|
+
* state is `hidden` so the caller can drop the line entirely — a fresh
|
|
667
|
+
* post-onboard install should not advertise a metric it has not yet
|
|
668
|
+
* earned the right to display.
|
|
669
|
+
*/
|
|
670
|
+
export function renderOnboardingLine(onboarding, now) {
|
|
671
|
+
if (!onboarding)
|
|
672
|
+
return null;
|
|
673
|
+
if (onboarding.state === "hidden")
|
|
674
|
+
return null;
|
|
675
|
+
if (onboarding.state === "pending") {
|
|
676
|
+
const since = onboarding.useful_state_reached_at
|
|
677
|
+
? ` (waiting ${formatAge(onboarding.useful_state_reached_at, now)})`
|
|
678
|
+
: "";
|
|
679
|
+
// The record is the first answer that came back complete and with
|
|
680
|
+
// results. A tool may well have asked already and got nothing or a partial
|
|
681
|
+
// answer, so this must not say that no tool has asked.
|
|
682
|
+
return `First recall: not yet — no AI tool has got a complete answer with results from Onadit so far; an empty or partial answer is not counted${since}`;
|
|
683
|
+
}
|
|
684
|
+
const duration = onboarding.duration_seconds !== null
|
|
685
|
+
? formatOnboardingDuration(onboarding.duration_seconds)
|
|
686
|
+
: "?";
|
|
687
|
+
// The metric stores the label the tool had when it was recorded.
|
|
688
|
+
const tool = renamePreviousToolNames(onboarding.first_useful_recall_tool ?? "?");
|
|
689
|
+
// Said as what happened: "0s after first useful state" is our metric's name,
|
|
690
|
+
// not something a reader can act on or relay. The event is the first answer
|
|
691
|
+
// that was complete and had results, not the first time a tool asked.
|
|
692
|
+
return `First recall: done — an AI tool first got a complete answer with results from Onadit ${duration} after Onadit was ready (${tool})`;
|
|
693
|
+
}
|
|
694
|
+
export function formatDuration(seconds) {
|
|
695
|
+
if (seconds < 60)
|
|
696
|
+
return `${seconds}s`;
|
|
697
|
+
const minutes = Math.floor(seconds / 60);
|
|
698
|
+
if (minutes < 60)
|
|
699
|
+
return `${minutes}m`;
|
|
700
|
+
const hours = Math.floor(minutes / 60);
|
|
701
|
+
const remMin = minutes % 60;
|
|
702
|
+
if (hours < 24)
|
|
703
|
+
return remMin > 0 ? `${hours}h ${remMin}m` : `${hours}h`;
|
|
704
|
+
const days = Math.floor(hours / 24);
|
|
705
|
+
const remHours = hours % 24;
|
|
706
|
+
return remHours > 0 ? `${days}d ${remHours}h` : `${days}d`;
|
|
707
|
+
}
|
|
708
|
+
//# sourceMappingURL=friend-header.js.map
|