@getrift/rift 0.1.0-beta.0 → 0.1.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -48
- package/dist/src/auth/keychain.d.ts +9 -0
- package/dist/src/auth/keychain.d.ts.map +1 -1
- package/dist/src/auth/keychain.js +37 -0
- package/dist/src/auth/keychain.js.map +1 -1
- package/dist/src/capture/recover-quarantine.d.ts +221 -0
- package/dist/src/capture/recover-quarantine.d.ts.map +1 -0
- package/dist/src/capture/recover-quarantine.js +453 -0
- package/dist/src/capture/recover-quarantine.js.map +1 -0
- package/dist/src/cli/commands/backfill.d.ts.map +1 -1
- package/dist/src/cli/commands/backfill.js +5 -2
- package/dist/src/cli/commands/backfill.js.map +1 -1
- package/dist/src/cli/commands/capture-recover.d.ts +12 -0
- package/dist/src/cli/commands/capture-recover.d.ts.map +1 -0
- package/dist/src/cli/commands/capture-recover.js +120 -0
- package/dist/src/cli/commands/capture-recover.js.map +1 -0
- package/dist/src/cli/commands/capture.d.ts.map +1 -1
- package/dist/src/cli/commands/capture.js +10 -4
- package/dist/src/cli/commands/capture.js.map +1 -1
- package/dist/src/cli/commands/feedback.d.ts.map +1 -1
- package/dist/src/cli/commands/feedback.js +6 -2
- package/dist/src/cli/commands/feedback.js.map +1 -1
- package/dist/src/cli/commands/hooks-install.d.ts +19 -0
- package/dist/src/cli/commands/hooks-install.d.ts.map +1 -0
- package/dist/src/cli/commands/hooks-install.js +103 -0
- package/dist/src/cli/commands/hooks-install.js.map +1 -0
- package/dist/src/cli/commands/mcp-install.js +5 -2
- package/dist/src/cli/commands/mcp-install.js.map +1 -1
- package/dist/src/cli/commands/onboard.d.ts +24 -0
- package/dist/src/cli/commands/onboard.d.ts.map +1 -1
- package/dist/src/cli/commands/onboard.js +200 -21
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/rebuild.d.ts.map +1 -1
- package/dist/src/cli/commands/rebuild.js +6 -3
- package/dist/src/cli/commands/rebuild.js.map +1 -1
- package/dist/src/cli/commands/review.d.ts.map +1 -1
- package/dist/src/cli/commands/review.js +22 -7
- package/dist/src/cli/commands/review.js.map +1 -1
- package/dist/src/cli/commands/status.d.ts.map +1 -1
- package/dist/src/cli/commands/status.js +48 -2
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/token-issue.d.ts.map +1 -1
- package/dist/src/cli/commands/token-issue.js +9 -1
- package/dist/src/cli/commands/token-issue.js.map +1 -1
- package/dist/src/cli/commands/triage.d.ts.map +1 -1
- package/dist/src/cli/commands/triage.js +7 -5
- package/dist/src/cli/commands/triage.js.map +1 -1
- package/dist/src/cli/commands/update.d.ts +26 -0
- package/dist/src/cli/commands/update.d.ts.map +1 -0
- package/dist/src/cli/commands/update.js +130 -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 +27 -0
- package/dist/src/cli/default-config-path.js.map +1 -0
- package/dist/src/cli/hooks-writers/claude-code-policy-script.d.ts +25 -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 +85 -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 +12 -0
- package/dist/src/cli/hooks-writers/claude-code.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/claude-code.js +228 -0
- package/dist/src/cli/hooks-writers/claude-code.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 +13 -0
- package/dist/src/cli/hooks-writers/index.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/index.js +26 -0
- package/dist/src/cli/hooks-writers/index.js.map +1 -0
- package/dist/src/cli/hooks-writers/types.d.ts +27 -0
- package/dist/src/cli/hooks-writers/types.d.ts.map +1 -0
- package/dist/src/cli/hooks-writers/types.js +9 -0
- package/dist/src/cli/hooks-writers/types.js.map +1 -0
- package/dist/src/cli/http-client.d.ts +56 -1
- package/dist/src/cli/http-client.d.ts.map +1 -1
- package/dist/src/cli/http-client.js +140 -4
- package/dist/src/cli/http-client.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +27 -6
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/status/friend-header.d.ts.map +1 -1
- package/dist/src/cli/status/friend-header.js +117 -7
- package/dist/src/cli/status/friend-header.js.map +1 -1
- 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 +19 -0
- package/dist/src/ingestion/inbox-core/index.d.ts.map +1 -0
- package/dist/src/ingestion/inbox-core/index.js +19 -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.map +1 -1
- package/dist/src/ingestion/inbox-watcher.js +34 -50
- package/dist/src/ingestion/inbox-watcher.js.map +1 -1
- package/dist/src/ingestion/indexer.d.ts +7 -0
- package/dist/src/ingestion/indexer.d.ts.map +1 -1
- package/dist/src/ingestion/indexer.js +36 -2
- package/dist/src/ingestion/indexer.js.map +1 -1
- package/dist/src/ingestion/metadata-extraction.d.ts +8 -5
- package/dist/src/ingestion/metadata-extraction.d.ts.map +1 -1
- package/dist/src/ingestion/metadata-extraction.js +24 -5
- package/dist/src/ingestion/metadata-extraction.js.map +1 -1
- 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/jobs/handlers/compact.d.ts.map +1 -1
- package/dist/src/jobs/handlers/compact.js +25 -4
- package/dist/src/jobs/handlers/compact.js.map +1 -1
- package/dist/src/jobs/handlers/ingest.d.ts.map +1 -1
- package/dist/src/jobs/handlers/ingest.js +49 -24
- package/dist/src/jobs/handlers/ingest.js.map +1 -1
- package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
- package/dist/src/jobs/handlers/reconcile.js +30 -8
- package/dist/src/jobs/handlers/reconcile.js.map +1 -1
- package/dist/src/jobs/handlers/reindex.d.ts.map +1 -1
- package/dist/src/jobs/handlers/reindex.js +12 -2
- package/dist/src/jobs/handlers/reindex.js.map +1 -1
- package/dist/src/jobs/handlers/save.d.ts.map +1 -1
- package/dist/src/jobs/handlers/save.js +9 -2
- package/dist/src/jobs/handlers/save.js.map +1 -1
- package/dist/src/jobs/queue.d.ts +11 -0
- package/dist/src/jobs/queue.d.ts.map +1 -1
- package/dist/src/jobs/queue.js +18 -0
- package/dist/src/jobs/queue.js.map +1 -1
- package/dist/src/jobs/worker-entry.d.ts.map +1 -1
- package/dist/src/jobs/worker-entry.js +2 -0
- package/dist/src/jobs/worker-entry.js.map +1 -1
- package/dist/src/main.js +36 -4
- package/dist/src/main.js.map +1 -1
- 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/tool-usage-stats.d.ts +7 -0
- package/dist/src/observability/tool-usage-stats.d.ts.map +1 -1
- package/dist/src/observability/tool-usage-stats.js +41 -5
- package/dist/src/observability/tool-usage-stats.js.map +1 -1
- package/dist/src/observability/tool-usage.d.ts +7 -7
- package/dist/src/observability/tool-usage.d.ts.map +1 -1
- package/dist/src/observability/tool-usage.js +78 -39
- package/dist/src/observability/tool-usage.js.map +1 -1
- package/dist/src/observability/version-check.d.ts +70 -0
- package/dist/src/observability/version-check.d.ts.map +1 -0
- package/dist/src/observability/version-check.js +197 -0
- package/dist/src/observability/version-check.js.map +1 -0
- package/dist/src/providers/ollama-embed.d.ts +2 -1
- package/dist/src/providers/ollama-embed.d.ts.map +1 -1
- package/dist/src/providers/ollama-embed.js +1 -0
- package/dist/src/providers/ollama-embed.js.map +1 -1
- package/dist/src/providers/openai-metadata-extraction.d.ts +3 -3
- package/dist/src/providers/openai-metadata-extraction.d.ts.map +1 -1
- package/dist/src/providers/openai-metadata-extraction.js +18 -3
- package/dist/src/providers/openai-metadata-extraction.js.map +1 -1
- package/dist/src/providers/stub.d.ts +2 -0
- package/dist/src/providers/stub.d.ts.map +1 -1
- package/dist/src/providers/stub.js +2 -0
- package/dist/src/providers/stub.js.map +1 -1
- package/dist/src/providers/types.d.ts +11 -0
- package/dist/src/providers/types.d.ts.map +1 -1
- package/dist/src/providers/voyage.d.ts +2 -1
- package/dist/src/providers/voyage.d.ts.map +1 -1
- package/dist/src/providers/voyage.js +1 -0
- package/dist/src/providers/voyage.js.map +1 -1
- package/dist/src/server/app.d.ts.map +1 -1
- package/dist/src/server/app.js +67 -1
- package/dist/src/server/app.js.map +1 -1
- package/dist/src/server/routes/friend-status.d.ts +202 -3
- package/dist/src/server/routes/friend-status.d.ts.map +1 -1
- package/dist/src/server/routes/friend-status.js +290 -7
- package/dist/src/server/routes/friend-status.js.map +1 -1
- package/dist/src/storage/rebuild.d.ts +14 -1
- package/dist/src/storage/rebuild.d.ts.map +1 -1
- package/dist/src/storage/rebuild.js +160 -34
- package/dist/src/storage/rebuild.js.map +1 -1
- package/package.json +1 -1
|
@@ -32,6 +32,17 @@ export type SourceScope = (typeof SOURCE_SCOPES)[number];
|
|
|
32
32
|
export declare const EMBEDDING_DIMENSIONS = 512;
|
|
33
33
|
export declare const LOCAL_EMBEDDING_DIMENSIONS = 768;
|
|
34
34
|
export interface EmbeddingProvider {
|
|
35
|
+
/**
|
|
36
|
+
* Provider name (e.g. "voyage", "ollama", "stub"). Used to label
|
|
37
|
+
* embedding-events.jsonl entries without each call site needing to know
|
|
38
|
+
* which provider it's holding.
|
|
39
|
+
*/
|
|
40
|
+
readonly name: string;
|
|
41
|
+
/**
|
|
42
|
+
* Model identifier (e.g. "voyage-3-lite", "nomic-embed-text"). Same
|
|
43
|
+
* purpose as `name` — telemetry labelling, not runtime behavior.
|
|
44
|
+
*/
|
|
45
|
+
readonly model: string;
|
|
35
46
|
/** Generate an embedding vector for a single text. */
|
|
36
47
|
embed(text: string): Promise<number[]>;
|
|
37
48
|
/** Generate embedding vectors for a batch of texts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/providers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,9 @@ export interface VoyageProviderOptions {
|
|
|
7
7
|
cachePath?: string;
|
|
8
8
|
}
|
|
9
9
|
export declare class VoyageEmbeddingProvider implements EmbeddingProvider {
|
|
10
|
+
readonly name = "voyage";
|
|
10
11
|
private readonly apiKey;
|
|
11
|
-
|
|
12
|
+
readonly model: string;
|
|
12
13
|
private readonly retry;
|
|
13
14
|
private readonly cachePath;
|
|
14
15
|
constructor(opts: VoyageProviderOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voyage.d.ts","sourceRoot":"","sources":["../../../src/providers/voyage.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKjE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,
|
|
1
|
+
{"version":3,"file":"voyage.d.ts","sourceRoot":"","sources":["../../../src/providers/voyage.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKjE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;gBAEnC,IAAI,EAAE,qBAAqB;IAWjC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAUtC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAwBtD,wDAAwD;YAC1C,OAAO;IAsDrB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,UAAU;CASnB"}
|
|
@@ -10,6 +10,7 @@ import crypto from "node:crypto";
|
|
|
10
10
|
import { DEFAULT_RETRY_CONFIG, EMBEDDING_DIMENSIONS } from "./types.js";
|
|
11
11
|
const VOYAGE_API_URL = "https://api.voyageai.com/v1/embeddings";
|
|
12
12
|
export class VoyageEmbeddingProvider {
|
|
13
|
+
name = "voyage";
|
|
13
14
|
apiKey;
|
|
14
15
|
model;
|
|
15
16
|
retry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voyage.js","sourceRoot":"","sources":["../../../src/providers/voyage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,cAAc,GAAG,wCAAwC,CAAC;AAUhE,MAAM,OAAO,uBAAuB;
|
|
1
|
+
{"version":3,"file":"voyage.js","sourceRoot":"","sources":["../../../src/providers/voyage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,cAAc,GAAG,wCAAwC,CAAC;AAUhE,MAAM,OAAO,uBAAuB;IACzB,IAAI,GAAG,QAAQ,CAAC;IACR,MAAM,CAAS;IACvB,KAAK,CAAS;IACN,KAAK,CAAc;IACnB,SAAS,CAAqB;IAE/C,YAAY,IAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEhC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAe;QAC9B,mDAAmD;QACnD,MAAM,OAAO,GAAwB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,MAAM,GAAsC,EAAE,CAAC;QAErD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;gBAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,OAAqB,CAAC;IAC/B,CAAC;IAED,wDAAwD;IAChD,KAAK,CAAC,OAAO,CAAC,KAAe;QACnC,IAAI,SAAkB,CAAC;QAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YAClE,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC;gBACF,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE;oBACtC,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;qBACvC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAC;iBACH,CAAC,CAAC;gBAEH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;oBAC5C,SAAS,GAAG,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACvE,SAAS,CAAC,oBAAoB;gBAChC,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnE,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;gBAEF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;oBAC7B,mCAAmC;oBACnC,SAAS,GAAG,GAAG,CAAC;oBAChB,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,CAAC;IAClB,CAAC;IAED,qBAAqB;IAEb,QAAQ,CAAC,IAAY;QAC3B,OAAO,MAAM;aACV,UAAU,CAAC,QAAQ,CAAC;aACpB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;aAC/B,MAAM,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;YAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;gBACpE,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAY,EAAE,SAAmB;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAuB/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,YAAY,EAC3B,QAAQ,CAAC,EAAE,QAAQ,EACnB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EACxB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,sBAAsB,CAAC,EAAE,iBAAiB,GACzC,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAuB/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,YAAY,EAC3B,QAAQ,CAAC,EAAE,QAAQ,EACnB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EACxB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,sBAAsB,CAAC,EAAE,iBAAiB,GACzC,OAAO,CAAC,GAAG,CAAC,CAiTd"}
|
package/dist/src/server/app.js
CHANGED
|
@@ -76,6 +76,30 @@ export async function buildApp(config, tokenManager, jobQueue, embeddingProvider
|
|
|
76
76
|
}
|
|
77
77
|
return { status: "ready" };
|
|
78
78
|
});
|
|
79
|
+
// --- Friendly fallback for provider-unavailable routes ---
|
|
80
|
+
// When a route's required deps (queue / embedding provider / digest
|
|
81
|
+
// summarizer) are missing, register a stub at the same path that
|
|
82
|
+
// returns 503 with a structured `provider_unavailable` payload, so
|
|
83
|
+
// operators see a precise reason instead of Fastify's generic 404.
|
|
84
|
+
//
|
|
85
|
+
// The recovery hint is derived from `missing` per-dep, not from the
|
|
86
|
+
// route — saying "set ANTHROPIC_API_KEY" on /compact would be wrong
|
|
87
|
+
// (the live digest summarizer is Codex CLI by default, or Ollama
|
|
88
|
+
// when `local_generation.enabled = true`), and saying "set
|
|
89
|
+
// VOYAGE_API_KEY" when the queue itself is down is misdirection.
|
|
90
|
+
const MISSING_DEP_HINTS = {
|
|
91
|
+
job_queue: "daemon job queue is not initialized; restart the daemon",
|
|
92
|
+
embedding_provider: "set VOYAGE_API_KEY and re-run `rift onboard`",
|
|
93
|
+
digest_summarizer: "authenticate Codex CLI (`codex login`) or set `local_generation.enabled: true` for Ollama",
|
|
94
|
+
};
|
|
95
|
+
const registerUnavailable = (path, missing) => {
|
|
96
|
+
const hint = missing.map((m) => MISSING_DEP_HINTS[m]).join("; ");
|
|
97
|
+
server.post(path, async (_request, reply) => reply.code(503).send({
|
|
98
|
+
error: "provider_unavailable",
|
|
99
|
+
missing: [...missing],
|
|
100
|
+
message: `POST ${path} unavailable: ${missing.join(", ")} not configured (${hint})`,
|
|
101
|
+
}));
|
|
102
|
+
};
|
|
79
103
|
// --- Capability tracking for observability ---
|
|
80
104
|
const supportedSources = new Set();
|
|
81
105
|
if (jobQueue) {
|
|
@@ -101,6 +125,13 @@ export async function buildApp(config, tokenManager, jobQueue, embeddingProvider
|
|
|
101
125
|
supportedSources.add("gemini_cli");
|
|
102
126
|
supportedSources.add("codex_cli");
|
|
103
127
|
}
|
|
128
|
+
else {
|
|
129
|
+
const missing = [
|
|
130
|
+
...(jobQueue ? [] : ["job_queue"]),
|
|
131
|
+
...(embeddingProvider ? [] : ["embedding_provider"]),
|
|
132
|
+
];
|
|
133
|
+
registerUnavailable("/save", missing);
|
|
134
|
+
}
|
|
104
135
|
// --- Reconcile route (authenticated, requires queue + embedding + config) ---
|
|
105
136
|
if (jobQueue && embeddingProvider) {
|
|
106
137
|
registerReconcileRoute(server, jobQueue);
|
|
@@ -115,6 +146,13 @@ export async function buildApp(config, tokenManager, jobQueue, embeddingProvider
|
|
|
115
146
|
}));
|
|
116
147
|
}
|
|
117
148
|
}
|
|
149
|
+
else {
|
|
150
|
+
const missing = [
|
|
151
|
+
...(jobQueue ? [] : ["job_queue"]),
|
|
152
|
+
...(embeddingProvider ? [] : ["embedding_provider"]),
|
|
153
|
+
];
|
|
154
|
+
registerUnavailable("/reconcile", missing);
|
|
155
|
+
}
|
|
118
156
|
// --- Compact route (authenticated, requires queue + embedding + digest summarizer) ---
|
|
119
157
|
if (jobQueue && embeddingProvider && digestSummarizer) {
|
|
120
158
|
registerCompactRoute(server, jobQueue, config.data_paths.data_dir);
|
|
@@ -129,6 +167,14 @@ export async function buildApp(config, tokenManager, jobQueue, embeddingProvider
|
|
|
129
167
|
}));
|
|
130
168
|
}
|
|
131
169
|
}
|
|
170
|
+
else {
|
|
171
|
+
const missing = [
|
|
172
|
+
...(jobQueue ? [] : ["job_queue"]),
|
|
173
|
+
...(embeddingProvider ? [] : ["embedding_provider"]),
|
|
174
|
+
...(digestSummarizer ? [] : ["digest_summarizer"]),
|
|
175
|
+
];
|
|
176
|
+
registerUnavailable("/compact", missing);
|
|
177
|
+
}
|
|
132
178
|
// --- Reindex route (authenticated, requires queue + embedding + config) ---
|
|
133
179
|
if (jobQueue && embeddingProvider) {
|
|
134
180
|
registerReindexRoute(server, jobQueue);
|
|
@@ -143,6 +189,13 @@ export async function buildApp(config, tokenManager, jobQueue, embeddingProvider
|
|
|
143
189
|
}));
|
|
144
190
|
}
|
|
145
191
|
}
|
|
192
|
+
else {
|
|
193
|
+
const missing = [
|
|
194
|
+
...(jobQueue ? [] : ["job_queue"]),
|
|
195
|
+
...(embeddingProvider ? [] : ["embedding_provider"]),
|
|
196
|
+
];
|
|
197
|
+
registerUnavailable("/reindex", missing);
|
|
198
|
+
}
|
|
146
199
|
// --- Ingest route (authenticated, requires queue for job creation) ---
|
|
147
200
|
if (jobQueue) {
|
|
148
201
|
await registerMultipart(server, config);
|
|
@@ -174,12 +227,21 @@ export async function buildApp(config, tokenManager, jobQueue, embeddingProvider
|
|
|
174
227
|
if (embeddingProvider || localEmbeddingProvider) {
|
|
175
228
|
registerSearchRoute(server, embeddingProvider, localEmbeddingProvider, config.sources);
|
|
176
229
|
}
|
|
230
|
+
else {
|
|
231
|
+
registerUnavailable("/search", ["embedding_provider"]);
|
|
232
|
+
}
|
|
177
233
|
if (embeddingProvider) {
|
|
178
234
|
registerConversationSearchRoute(server, embeddingProvider);
|
|
179
235
|
}
|
|
236
|
+
else {
|
|
237
|
+
registerUnavailable("/conversations/search", ["embedding_provider"]);
|
|
238
|
+
}
|
|
180
239
|
if (embeddingProvider || localEmbeddingProvider) {
|
|
181
240
|
registerContextRoute(server, embeddingProvider ?? localEmbeddingProvider, config.sources);
|
|
182
241
|
}
|
|
242
|
+
else {
|
|
243
|
+
registerUnavailable("/context/pack", ["embedding_provider"]);
|
|
244
|
+
}
|
|
183
245
|
// --- Observability deps ---
|
|
184
246
|
const obsDeps = {
|
|
185
247
|
config,
|
|
@@ -204,7 +266,11 @@ export async function buildApp(config, tokenManager, jobQueue, embeddingProvider
|
|
|
204
266
|
// --- Status route (authenticated) ---
|
|
205
267
|
registerStatusRoute(server, obsDeps);
|
|
206
268
|
// --- Friend-status route (authenticated, structured) ---
|
|
207
|
-
registerFriendStatusRoute(server, {
|
|
269
|
+
registerFriendStatusRoute(server, {
|
|
270
|
+
config,
|
|
271
|
+
startTime,
|
|
272
|
+
...(jobQueue ? { jobQueue } : {}),
|
|
273
|
+
});
|
|
208
274
|
// --- MCP usage telemetry (unauthenticated; SwiftBar polls every 10s) ---
|
|
209
275
|
registerMcpUsageRoute(server, obsDeps);
|
|
210
276
|
// --- Token revocation (authenticated) ---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/server/app.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/server/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,18 +6,30 @@
|
|
|
6
6
|
* collects only the signals a friend-readable header needs:
|
|
7
7
|
* - build + daemon: from getBuildInfo() + uptime + config.server.port +
|
|
8
8
|
* env(VOYAGE_API_KEY) presence
|
|
9
|
-
* - voyage: optional `project_label` from config + last successful
|
|
10
|
-
* timestamp from
|
|
9
|
+
* - voyage: optional `project_label` from config + real last successful
|
|
10
|
+
* embedding timestamp from `data/observability/embedding-events.jsonl`
|
|
11
|
+
* filtered to ingest pipelines (search-time embedding calls are
|
|
12
|
+
* intentionally excluded so a user search cannot mask an ingest
|
|
13
|
+
* outage), plus the most recent error in the last 24h with a short
|
|
14
|
+
* reason class
|
|
11
15
|
* - codex: latest auto-capture-runs.jsonl row's preflight_ok + ts
|
|
12
16
|
* - capture: latest auto-capture-runs.jsonl row's totals
|
|
13
17
|
* - feedback: relay enabled flag from feedback-config.json
|
|
14
18
|
*
|
|
15
|
-
* Friend's username
|
|
19
|
+
* Friend's username and key bytes never appear in the payload.
|
|
20
|
+
* `daemon.data_dir` is the one exception: operators need it to confirm
|
|
21
|
+
* which data root the daemon is actually reading (the launchd config in
|
|
22
|
+
* Application Support can redirect to a repo-local data dir, and
|
|
23
|
+
* inspecting the wrong one produces stale-state false alarms). The
|
|
24
|
+
* /status/friend route is auth-gated, so this only reaches callers who
|
|
25
|
+
* already have the daemon token.
|
|
16
26
|
* MCP-client presence detection is intentionally CLI-side (the friend's
|
|
17
27
|
* client config files are local, and the renderer needs to print client
|
|
18
28
|
* names anyway).
|
|
19
29
|
*/
|
|
20
30
|
import type { FastifyInstance } from "fastify";
|
|
31
|
+
import type { JobQueue } from "../../jobs/queue.js";
|
|
32
|
+
import type { Job } from "../../jobs/types.js";
|
|
21
33
|
import type { Config } from "../../config/schema.js";
|
|
22
34
|
export interface FriendStatusBuild {
|
|
23
35
|
name: string;
|
|
@@ -29,10 +41,35 @@ export interface FriendStatusDaemon {
|
|
|
29
41
|
uptime_seconds: number;
|
|
30
42
|
port: number;
|
|
31
43
|
voyage_key_present: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Absolute path the daemon is actually using as its data root
|
|
46
|
+
* (config.data_paths.data_dir). Surfaced so operators inspecting state
|
|
47
|
+
* files hit the live folder instead of a stale Application Support
|
|
48
|
+
* copy left over from a previous install.
|
|
49
|
+
*/
|
|
50
|
+
data_dir: string;
|
|
32
51
|
}
|
|
33
52
|
export interface FriendStatusVoyage {
|
|
34
53
|
project_label: string | null;
|
|
54
|
+
/**
|
|
55
|
+
* Most recent successful embedding call on an ingest pipeline (watcher,
|
|
56
|
+
* scheduled_scan, reconcile, ingest_job, compact, backfill). Null when
|
|
57
|
+
* the lane file is empty. Search-time embedding calls are excluded by
|
|
58
|
+
* construction — they don't write to this lane.
|
|
59
|
+
*/
|
|
35
60
|
last_embed_at: string | null;
|
|
61
|
+
/**
|
|
62
|
+
* Most recent embedding error in the last 24h on any ingest pipeline,
|
|
63
|
+
* regardless of whether retries eventually succeeded. Null when no
|
|
64
|
+
* error in the window. Surfaces silent watcher failures that
|
|
65
|
+
* `last_embed_at` alone cannot.
|
|
66
|
+
*/
|
|
67
|
+
last_error_at: string | null;
|
|
68
|
+
/**
|
|
69
|
+
* Compact reason class for `last_error_at` (e.g. "provider_400",
|
|
70
|
+
* "network", "unknown"). Null when `last_error_at` is null.
|
|
71
|
+
*/
|
|
72
|
+
last_error_reason: string | null;
|
|
36
73
|
}
|
|
37
74
|
export interface FriendStatusCodex {
|
|
38
75
|
last_preflight_at: string | null;
|
|
@@ -51,22 +88,184 @@ export interface FriendStatusCapture {
|
|
|
51
88
|
* not an error.
|
|
52
89
|
*/
|
|
53
90
|
last_quarantined: number;
|
|
91
|
+
/**
|
|
92
|
+
* When the daemon's hourly auto-capture loop will tick next, anchored
|
|
93
|
+
* to the daemon's startTime (the same anchor `setInterval` uses, so
|
|
94
|
+
* this matches reality rather than approximating from last_run_at).
|
|
95
|
+
* Null when `config.capture.enabled` is false.
|
|
96
|
+
*/
|
|
97
|
+
next_run_at: string | null;
|
|
54
98
|
}
|
|
55
99
|
export interface FriendStatusFeedback {
|
|
56
100
|
relay_enabled: boolean;
|
|
57
101
|
}
|
|
102
|
+
export interface FriendStatusIndex {
|
|
103
|
+
/**
|
|
104
|
+
* Most recent successful LanceDB row write across any table/pipeline.
|
|
105
|
+
* Distinct from `voyage.last_embed_at`: an embed can succeed but the
|
|
106
|
+
* subsequent `table.add(...)` can still fail (schema mismatch, lock
|
|
107
|
+
* contention, IO). Null when the lane file is empty.
|
|
108
|
+
*/
|
|
109
|
+
last_update_at: string | null;
|
|
110
|
+
/**
|
|
111
|
+
* Most recent index-write error in the last 24h. Surfaces "embedded
|
|
112
|
+
* but not indexed" outages that `voyage.*` alone cannot reveal. Null
|
|
113
|
+
* when no error in the window.
|
|
114
|
+
*/
|
|
115
|
+
last_error_at: string | null;
|
|
116
|
+
/**
|
|
117
|
+
* Compact reason class for `last_error_at` (e.g. "schema_mismatch",
|
|
118
|
+
* "lock_conflict", "io", "unknown"). Null when `last_error_at` is null.
|
|
119
|
+
*/
|
|
120
|
+
last_error_reason: string | null;
|
|
121
|
+
}
|
|
122
|
+
export interface FriendStatusInbox {
|
|
123
|
+
/**
|
|
124
|
+
* Most recent successfully-ingested inbox drop, or null when nothing
|
|
125
|
+
* has been imported yet. Derived from completed ingest jobs whose
|
|
126
|
+
* idempotency key starts with `inbox:` — that prefix is what the
|
|
127
|
+
* inbox-watcher mints for every file it picks up, so it's the
|
|
128
|
+
* authoritative scope for this lane.
|
|
129
|
+
*/
|
|
130
|
+
last_import_at: string | null;
|
|
131
|
+
/**
|
|
132
|
+
* Most recent inbox ingest failure in the last 24h. Surfaces drops
|
|
133
|
+
* that the parser couldn't accept (malformed JSON, unsupported zip
|
|
134
|
+
* contents, secure-archive rejection) without requiring the user to
|
|
135
|
+
* dig through the queue. Null when no failure in the window.
|
|
136
|
+
*/
|
|
137
|
+
last_error_at: string | null;
|
|
138
|
+
/**
|
|
139
|
+
* Compact reason for `last_error_at` (a short snippet of the job's
|
|
140
|
+
* error message). Null when `last_error_at` is null. Best-effort —
|
|
141
|
+
* the queue doesn't carry a structured error class today, so this
|
|
142
|
+
* is a stable substring rather than a strict enum.
|
|
143
|
+
*/
|
|
144
|
+
last_error_reason: string | null;
|
|
145
|
+
/**
|
|
146
|
+
* Inbox jobs currently queued or running. Zero when the lane is
|
|
147
|
+
* idle. Combined with `last_import_at` this answers "is the inbox
|
|
148
|
+
* keeping up?" at a glance.
|
|
149
|
+
*/
|
|
150
|
+
pending: number;
|
|
151
|
+
}
|
|
152
|
+
export interface FriendStatusUpdate {
|
|
153
|
+
/**
|
|
154
|
+
* True when the daemon's most recent npm registry probe found a
|
|
155
|
+
* `latest_beta` strictly newer than the installed version. False on
|
|
156
|
+
* a fresh install (no probe yet), on a probe failure, or when
|
|
157
|
+
* already up-to-date — the renderer treats all three the same: stay
|
|
158
|
+
* silent. The friend never sees the update-check machinery itself.
|
|
159
|
+
*/
|
|
160
|
+
available: boolean;
|
|
161
|
+
/** Version this daemon is running, mirrored for renderer convenience. */
|
|
162
|
+
installed: string;
|
|
163
|
+
/** Latest beta on the npm registry; null on a failed/missing probe. */
|
|
164
|
+
latest_beta: string | null;
|
|
165
|
+
/** ISO timestamp of the most recent probe attempt, or null if never run. */
|
|
166
|
+
checked_at: string | null;
|
|
167
|
+
}
|
|
58
168
|
export interface FriendStatusPayload {
|
|
59
169
|
build: FriendStatusBuild;
|
|
60
170
|
daemon: FriendStatusDaemon;
|
|
61
171
|
voyage: FriendStatusVoyage;
|
|
172
|
+
index: FriendStatusIndex;
|
|
173
|
+
inbox: FriendStatusInbox;
|
|
62
174
|
codex: FriendStatusCodex;
|
|
63
175
|
capture: FriendStatusCapture;
|
|
64
176
|
feedback: FriendStatusFeedback;
|
|
177
|
+
update: FriendStatusUpdate;
|
|
65
178
|
}
|
|
66
179
|
export interface FriendStatusDeps {
|
|
67
180
|
config: Config;
|
|
68
181
|
startTime: number;
|
|
182
|
+
/**
|
|
183
|
+
* Job queue used to project the inbox lane. Optional so the route
|
|
184
|
+
* still renders before the queue is wired up (e.g., partial-boot
|
|
185
|
+
* fastify instances and tests) — the inbox block degrades to
|
|
186
|
+
* "nothing dropped yet" when absent.
|
|
187
|
+
*/
|
|
188
|
+
jobQueue?: JobQueue;
|
|
69
189
|
}
|
|
70
190
|
export declare function buildFriendStatusPayload(deps: FriendStatusDeps): FriendStatusPayload;
|
|
191
|
+
/**
|
|
192
|
+
* Project the version-check snapshot to the three fields the renderer
|
|
193
|
+
* needs. A missing snapshot, a failed probe, or an up-to-date install
|
|
194
|
+
* all return `available: false` — the renderer prints nothing in those
|
|
195
|
+
* cases, so an unreachable npm registry can never make Rift look broken.
|
|
196
|
+
*
|
|
197
|
+
* Exported for tests.
|
|
198
|
+
*/
|
|
199
|
+
export declare function computeUpdateProjection(dataDir: string, installedVersion: string): FriendStatusUpdate;
|
|
200
|
+
/**
|
|
201
|
+
* Compute the next auto-capture tick.
|
|
202
|
+
*
|
|
203
|
+
* The daemon registers `setInterval(runCapture, intervalMs)` at startup
|
|
204
|
+
* (`src/main.ts`), so ticks land at `startTime + N * intervalMs` for
|
|
205
|
+
* N ≥ 1 (N = 0 is the eager startup call). We deliberately anchor to
|
|
206
|
+
* `startTime` rather than `last_run_at` because:
|
|
207
|
+
* - `setInterval` does, so this matches what will actually fire.
|
|
208
|
+
* - `last_run_at` lags by hundreds of ms (save-job wait), and could
|
|
209
|
+
* be stale from a prior daemon process for the first interval after
|
|
210
|
+
* a restart.
|
|
211
|
+
*
|
|
212
|
+
* Returns null when auto-capture is disabled in config.
|
|
213
|
+
*
|
|
214
|
+
* Exported for tests.
|
|
215
|
+
*/
|
|
216
|
+
export declare function computeNextCaptureRunAt(opts: {
|
|
217
|
+
captureEnabled: boolean;
|
|
218
|
+
intervalSeconds: number;
|
|
219
|
+
startTime: number;
|
|
220
|
+
now: number;
|
|
221
|
+
}): string | null;
|
|
222
|
+
/**
|
|
223
|
+
* Reduce the embedding-events lane to the three voyage health fields the
|
|
224
|
+
* friend-status route needs.
|
|
225
|
+
*
|
|
226
|
+
* Exported for tests so we can verify the pipeline-filter and 24h-window
|
|
227
|
+
* logic without booting Fastify or stubbing the route layer.
|
|
228
|
+
*/
|
|
229
|
+
export declare function computeVoyageHealth(dataDir: string, now: number): {
|
|
230
|
+
last_embed_at: string | null;
|
|
231
|
+
last_error_at: string | null;
|
|
232
|
+
last_error_reason: string | null;
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* Reduce the index-events lane to the three index health fields the
|
|
236
|
+
* friend-status route needs. Provider-agnostic and table-agnostic: an
|
|
237
|
+
* embed can succeed but the subsequent `table.add(...)` can fail, and
|
|
238
|
+
* `index.*` is what makes that visible. No 24h filter on `last_update_at`
|
|
239
|
+
* (a daemon that has not indexed in 7 days should still surface the
|
|
240
|
+
* stale timestamp); errors are filtered to the 24h window so old
|
|
241
|
+
* resolved incidents don't sit on the dashboard forever.
|
|
242
|
+
*/
|
|
243
|
+
export declare function computeIndexHealth(dataDir: string, now: number): {
|
|
244
|
+
last_update_at: string | null;
|
|
245
|
+
last_error_at: string | null;
|
|
246
|
+
last_error_reason: string | null;
|
|
247
|
+
};
|
|
248
|
+
/**
|
|
249
|
+
* Reduce the inbox-keyed job set to the four fields the friend-status
|
|
250
|
+
* route needs. Pure over the queue's snapshot (no I/O), so tests can
|
|
251
|
+
* pass an in-memory `JobQueue` without booting Fastify.
|
|
252
|
+
*
|
|
253
|
+
* When the queue isn't wired up (deps.jobQueue undefined), this
|
|
254
|
+
* returns the empty / idle shape — the renderer treats it the same
|
|
255
|
+
* as "nothing dropped yet."
|
|
256
|
+
*
|
|
257
|
+
* Exported for tests.
|
|
258
|
+
*/
|
|
259
|
+
export declare function computeInboxHealth(queue: JobQueue | undefined, now: number): FriendStatusInbox;
|
|
260
|
+
/**
|
|
261
|
+
* Best-effort short label for a failed inbox job's error. The queue
|
|
262
|
+
* stores the raw error message (`job.error`); we collapse it into a
|
|
263
|
+
* compact class keyword by substring match against the parser errors
|
|
264
|
+
* we know about, then fall back to a truncated form of the original
|
|
265
|
+
* message. Lower-cased for stability under capitalization drift.
|
|
266
|
+
*
|
|
267
|
+
* Exported for tests.
|
|
268
|
+
*/
|
|
269
|
+
export declare function classifyJobError(job: Job): string;
|
|
71
270
|
export declare function registerFriendStatusRoute(server: FastifyInstance, deps: FriendStatusDeps): void;
|
|
72
271
|
//# sourceMappingURL=friend-status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"friend-status.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/friend-status.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"friend-status.d.ts","sourceRoot":"","sources":["../../../../src/server/routes/friend-status.ts"],"names":[],"mappings":"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"}
|