@getrift/rift 0.1.0-beta.15 → 0.1.0-beta.17

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.
Files changed (110) hide show
  1. package/dist/src/capture/auto-capture.d.ts +7 -0
  2. package/dist/src/capture/auto-capture.d.ts.map +1 -1
  3. package/dist/src/capture/auto-capture.js +82 -15
  4. package/dist/src/capture/auto-capture.js.map +1 -1
  5. package/dist/src/capture/observability.d.ts +6 -0
  6. package/dist/src/capture/observability.d.ts.map +1 -1
  7. package/dist/src/capture/observability.js +3 -0
  8. package/dist/src/capture/observability.js.map +1 -1
  9. package/dist/src/capture/recover-quarantine.d.ts +28 -0
  10. package/dist/src/capture/recover-quarantine.d.ts.map +1 -1
  11. package/dist/src/capture/recover-quarantine.js +43 -0
  12. package/dist/src/capture/recover-quarantine.js.map +1 -1
  13. package/dist/src/cli/commands/capture-recover.d.ts +28 -0
  14. package/dist/src/cli/commands/capture-recover.d.ts.map +1 -1
  15. package/dist/src/cli/commands/capture-recover.js +109 -52
  16. package/dist/src/cli/commands/capture-recover.js.map +1 -1
  17. package/dist/src/cli/commands/capture.d.ts.map +1 -1
  18. package/dist/src/cli/commands/capture.js +14 -1
  19. package/dist/src/cli/commands/capture.js.map +1 -1
  20. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  21. package/dist/src/cli/commands/doctor.js +60 -1
  22. package/dist/src/cli/commands/doctor.js.map +1 -1
  23. package/dist/src/cli/commands/onboard.d.ts.map +1 -1
  24. package/dist/src/cli/commands/onboard.js +8 -1
  25. package/dist/src/cli/commands/onboard.js.map +1 -1
  26. package/dist/src/cli/status/friend-header.d.ts.map +1 -1
  27. package/dist/src/cli/status/friend-header.js +17 -10
  28. package/dist/src/cli/status/friend-header.js.map +1 -1
  29. package/dist/src/diagnostics/doctor.js +11 -10
  30. package/dist/src/diagnostics/doctor.js.map +1 -1
  31. package/dist/src/diagnostics/repair-prompt.d.ts.map +1 -1
  32. package/dist/src/diagnostics/repair-prompt.js +17 -1
  33. package/dist/src/diagnostics/repair-prompt.js.map +1 -1
  34. package/dist/src/jobs/handlers/reconcile.d.ts +17 -0
  35. package/dist/src/jobs/handlers/reconcile.d.ts.map +1 -1
  36. package/dist/src/jobs/handlers/reconcile.js +85 -13
  37. package/dist/src/jobs/handlers/reconcile.js.map +1 -1
  38. package/dist/src/jobs/handlers/reindex.d.ts.map +1 -1
  39. package/dist/src/jobs/handlers/reindex.js +1 -0
  40. package/dist/src/jobs/handlers/reindex.js.map +1 -1
  41. package/dist/src/jobs/handlers/save.d.ts.map +1 -1
  42. package/dist/src/jobs/handlers/save.js +32 -0
  43. package/dist/src/jobs/handlers/save.js.map +1 -1
  44. package/dist/src/jobs/queue.d.ts +40 -1
  45. package/dist/src/jobs/queue.d.ts.map +1 -1
  46. package/dist/src/jobs/queue.js +448 -26
  47. package/dist/src/jobs/queue.js.map +1 -1
  48. package/dist/src/providers/codex-cli-runner.d.ts +14 -0
  49. package/dist/src/providers/codex-cli-runner.d.ts.map +1 -1
  50. package/dist/src/providers/codex-cli-runner.js +120 -39
  51. package/dist/src/providers/codex-cli-runner.js.map +1 -1
  52. package/dist/src/retrieval/context-pack.d.ts +6 -0
  53. package/dist/src/retrieval/context-pack.d.ts.map +1 -1
  54. package/dist/src/retrieval/context-pack.js +1 -0
  55. package/dist/src/retrieval/context-pack.js.map +1 -1
  56. package/dist/src/retrieval/current-truth.d.ts +36 -2
  57. package/dist/src/retrieval/current-truth.d.ts.map +1 -1
  58. package/dist/src/retrieval/current-truth.js +48 -29
  59. package/dist/src/retrieval/current-truth.js.map +1 -1
  60. package/dist/src/retrieval/locator-boost.d.ts +37 -0
  61. package/dist/src/retrieval/locator-boost.d.ts.map +1 -0
  62. package/dist/src/retrieval/locator-boost.js +129 -0
  63. package/dist/src/retrieval/locator-boost.js.map +1 -0
  64. package/dist/src/retrieval/report-demotion.d.ts +46 -0
  65. package/dist/src/retrieval/report-demotion.d.ts.map +1 -0
  66. package/dist/src/retrieval/report-demotion.js +169 -0
  67. package/dist/src/retrieval/report-demotion.js.map +1 -0
  68. package/dist/src/server/app.d.ts.map +1 -1
  69. package/dist/src/server/app.js +8 -2
  70. package/dist/src/server/app.js.map +1 -1
  71. package/dist/src/server/routes/compact.d.ts.map +1 -1
  72. package/dist/src/server/routes/compact.js +4 -1
  73. package/dist/src/server/routes/compact.js.map +1 -1
  74. package/dist/src/server/routes/context.d.ts +1 -1
  75. package/dist/src/server/routes/context.d.ts.map +1 -1
  76. package/dist/src/server/routes/context.js +2 -1
  77. package/dist/src/server/routes/context.js.map +1 -1
  78. package/dist/src/server/routes/enqueue.d.ts +11 -0
  79. package/dist/src/server/routes/enqueue.d.ts.map +1 -0
  80. package/dist/src/server/routes/enqueue.js +17 -0
  81. package/dist/src/server/routes/enqueue.js.map +1 -0
  82. package/dist/src/server/routes/friend-status.d.ts +9 -0
  83. package/dist/src/server/routes/friend-status.d.ts.map +1 -1
  84. package/dist/src/server/routes/friend-status.js +9 -0
  85. package/dist/src/server/routes/friend-status.js.map +1 -1
  86. package/dist/src/server/routes/ingest.d.ts.map +1 -1
  87. package/dist/src/server/routes/ingest.js +4 -1
  88. package/dist/src/server/routes/ingest.js.map +1 -1
  89. package/dist/src/server/routes/reconcile.d.ts.map +1 -1
  90. package/dist/src/server/routes/reconcile.js +4 -1
  91. package/dist/src/server/routes/reconcile.js.map +1 -1
  92. package/dist/src/server/routes/reindex.d.ts.map +1 -1
  93. package/dist/src/server/routes/reindex.js +4 -1
  94. package/dist/src/server/routes/reindex.js.map +1 -1
  95. package/dist/src/server/routes/save.d.ts.map +1 -1
  96. package/dist/src/server/routes/save.js +4 -1
  97. package/dist/src/server/routes/save.js.map +1 -1
  98. package/dist/src/server/routes/search.d.ts +1 -1
  99. package/dist/src/server/routes/search.d.ts.map +1 -1
  100. package/dist/src/server/routes/search.js +44 -1
  101. package/dist/src/server/routes/search.js.map +1 -1
  102. package/dist/src/server/routes/triage.d.ts.map +1 -1
  103. package/dist/src/server/routes/triage.js +4 -1
  104. package/dist/src/server/routes/triage.js.map +1 -1
  105. package/dist/src/storage/rebuild.d.ts +21 -0
  106. package/dist/src/storage/rebuild.d.ts.map +1 -1
  107. package/dist/src/storage/rebuild.js +135 -66
  108. package/dist/src/storage/rebuild.js.map +1 -1
  109. package/operator/swiftbar/render-menu.py +47 -10
  110. package/package.json +6 -3
@@ -59,12 +59,43 @@ function findRawFile(rawDir, rowId) {
59
59
  const match = fs.readdirSync(rawDir).find((f) => f.endsWith(suffix));
60
60
  return match ? path.join(rawDir, match) : undefined;
61
61
  }
62
+ /**
63
+ * True if a row with this non-empty idempotency_key is already indexed in
64
+ * either conversations_hot OR conversations_cold. Compaction migrates older
65
+ * memories hot → cold while preserving the key, so a hot-only check would
66
+ * miss an aged conversation and let it be duplicated after queue pruning.
67
+ */
68
+ async function isAlreadyIndexed(idempotencyKey) {
69
+ const escaped = idempotencyKey.replace(/'/g, "''");
70
+ for (const tableName of ["conversations_hot", "conversations_cold"]) {
71
+ const rows = await getTable(tableName)
72
+ .query()
73
+ .where(`idempotency_key = '${escaped}'`)
74
+ .toArray();
75
+ if (rows.length > 0)
76
+ return true;
77
+ }
78
+ return false;
79
+ }
62
80
  export function createSaveHandler(deps) {
63
81
  return async (job) => {
64
82
  const jobPayload = job.payload;
65
83
  if (!jobPayload || !jobPayload.source || !jobPayload.summary) {
66
84
  throw new Error("Invalid save job payload: missing source or summary");
67
85
  }
86
+ // Durable, queue-independent dedup — BEFORE writing any raw artifact.
87
+ // If this conversation is already indexed under the same non-empty
88
+ // idempotency_key, this is a re-save whose originating job may have aged
89
+ // out of the bounded ledger (so JobQueue.create's queue-level dedup can
90
+ // no longer catch it). No-op entirely. Crucially this runs *before* the
91
+ // raw write: returning after writing raw would leave an orphan raw file
92
+ // that reconcile ("raw exists but row missing") would later resurrect
93
+ // into a duplicate row. (A replace-save carries a *different* key + sets
94
+ // replace_idempotency_key, so it won't false-match here.)
95
+ const dedupeKey = jobPayload.idempotency_key;
96
+ if (dedupeKey && (await isAlreadyIndexed(dedupeKey))) {
97
+ return;
98
+ }
68
99
  // Resolve the chain root to get a stable ID and the original
69
100
  // payload's source — the raw directory is always keyed to the
70
101
  // first job's source, not the retry's.
@@ -107,6 +138,7 @@ export function createSaveHandler(deps) {
107
138
  if (existing.length > 0) {
108
139
  return; // Already indexed — nothing to do.
109
140
  }
141
+ // (idempotency_key dedup runs earlier, before the raw write.)
110
142
  // Generate embedding FIRST — before any deletions so the old row
111
143
  // is preserved if embedding fails (data-safety invariant).
112
144
  const textForEmbedding = payload.content ?? payload.summary;
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/save.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../../../src/jobs/handlers/save.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,13 @@ import type { Job, JobType, CreateJobResult, JobHandler } from "./types.js";
10
10
  export declare class JobQueue {
11
11
  private queuePath;
12
12
  private jobs;
13
+ private payloadRefs;
13
14
  private handlers;
14
15
  private processing;
15
16
  private held;
17
+ private persistRetryTimer;
18
+ private startRetryTimer;
19
+ private startRetryDelayMs;
16
20
  constructor(queuePath: string);
17
21
  /**
18
22
  * Hold processing — registerHandler and create won't auto-start queued
@@ -81,8 +85,35 @@ export declare class JobQueue {
81
85
  cancel(id: string): Promise<Job | {
82
86
  conflict: true;
83
87
  } | undefined>;
84
- /** Atomic write: temp file + rename. */
88
+ /**
89
+ * Keep the persisted ledger bounded so `JSON.stringify` can never exceed
90
+ * V8's max string length (the failure mode that turned every save into a
91
+ * 500). Two cheap, safe reductions on terminal jobs only:
92
+ * 1. Drop `payload` — only active jobs need it.
93
+ * 2. Cap how many terminal jobs we retain (oldest dropped first).
94
+ * Non-terminal jobs (queued/running/interrupted) are never touched.
95
+ * Returns true if anything changed.
96
+ */
97
+ private compactLedger;
98
+ /** Atomic write: temp file + rename. Ledger is compacted first so the
99
+ * serialized form stays well under V8's max string length. */
85
100
  private persist;
101
+ private createLedgerTooLargeError;
102
+ private snapshotState;
103
+ private restoreSnapshot;
104
+ private payloadDir;
105
+ private payloadPath;
106
+ private payloadRefPath;
107
+ private payloadAbsPath;
108
+ private isPayloadRef;
109
+ private hydrateJob;
110
+ private readPayloadRef;
111
+ private serializeJobForLedger;
112
+ private writePayloadFile;
113
+ private prunePayloadRefCache;
114
+ private deletePayloadFilesForJob;
115
+ private cleanupPayloadFiles;
116
+ private deletePayloadPath;
86
117
  /**
87
118
  * Find the active job for a given idempotency key.
88
119
  * Skip superseded jobs (those with `retried_by` set) so we always
@@ -113,6 +144,14 @@ export declare class JobQueue {
113
144
  private createRetryJob;
114
145
  /** Process the next queued job if no job is currently running. */
115
146
  private processNext;
147
+ private applyPersistedMutation;
148
+ private applyTerminalMutation;
149
+ private markPersistDirty;
150
+ private schedulePersistRetry;
151
+ private scheduleStartRetry;
152
+ private clearStartRetry;
153
+ private clearPersistRetry;
154
+ private retryDirtyPersist;
116
155
  private findNextQueued;
117
156
  }
118
157
  //# sourceMappingURL=queue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/jobs/queue.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAa,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGvF;;;;;;;GAOG;AACH,qBAAa,QAAQ;IAMP,OAAO,CAAC,SAAS;IAL7B,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAAS;gBAED,SAAS,EAAE,MAAM;IAErC;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAIZ,6DAA6D;IAC7D,WAAW,IAAI,IAAI;IAKnB,+EAA+E;IAC/E,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAKzD,uDAAuD;IACvD,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAIlC;;;;;;;OAOG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C3B;;;;;;;;;;;OAWG;IACG,MAAM,CACV,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GACrD,OAAO,CAAC,eAAe,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IA0ChD,qCAAqC;IACrC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAIhC;;;;;;;;;OASG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE;IAQ9C;;;;OAIG;IACH,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAatD;;;;;OAKG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAkBvE,wCAAwC;YAC1B,OAAO;IAOrB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;;;;;;;OASG;IACG,YAAY,CAChB,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3B,OAAO,CAAC,eAAe,CAAC;IAwB3B,sDAAsD;IACtD,qBAAqB,IAAI,OAAO;IAYhC;;;;OAIG;IACH,sBAAsB,IAAI,GAAG,GAAG,IAAI;YAStB,cAAc;IA6B5B,kEAAkE;IAClE,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,cAAc;CAMvB"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/jobs/queue.ts"],"names":[],"mappings":"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"}