@mclean-capital/neura 3.4.0 → 3.5.0
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 +8 -0
- package/core/server.bundled.mjs +2582 -1145
- package/core/server.bundled.mjs.map +4 -4
- package/core/version.txt +1 -1
- package/dist/commands/install.js +2 -2
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/skill.d.ts +26 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +111 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/stores/index.js +171 -11
- package/stores/index.js.map +2 -2
- package/stores/mappers.d.ts +27 -3
- package/stores/mappers.d.ts.map +1 -1
- package/stores/mappers.js +23 -0
- package/stores/mappers.js.map +1 -1
- package/stores/migrations.d.ts.map +1 -1
- package/stores/migrations.js +106 -1
- package/stores/migrations.js.map +1 -1
- package/stores/migrations.test.d.ts +14 -0
- package/stores/migrations.test.d.ts.map +1 -0
- package/stores/migrations.test.js +164 -0
- package/stores/migrations.test.js.map +1 -0
- package/stores/pglite-store.d.ts +5 -7
- package/stores/pglite-store.d.ts.map +1 -1
- package/stores/pglite-store.js +2 -2
- package/stores/pglite-store.js.map +1 -1
- package/stores/pglite-store.test.js +110 -0
- package/stores/pglite-store.test.js.map +1 -1
- package/stores/task-comment-queries.d.ts +55 -0
- package/stores/task-comment-queries.d.ts.map +1 -0
- package/stores/task-comment-queries.js +98 -0
- package/stores/task-comment-queries.js.map +1 -0
- package/stores/task-comment-queries.test.d.ts +8 -0
- package/stores/task-comment-queries.test.d.ts.map +1 -0
- package/stores/task-comment-queries.test.js +321 -0
- package/stores/task-comment-queries.test.js.map +1 -0
- package/stores/work-item-queries.d.ts +47 -2
- package/stores/work-item-queries.d.ts.map +1 -1
- package/stores/work-item-queries.js +79 -6
- package/stores/work-item-queries.js.map +1 -1
package/stores/mappers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FactEntry, SessionSummaryEntry, WorkItemEntry, TranscriptChunkEntry } from '@neura/types';
|
|
1
|
+
import type { FactEntry, SessionSummaryEntry, TaskCommentEntry, TaskContext, WorkItemEntry, TranscriptChunkEntry } from '@neura/types';
|
|
2
2
|
import type { PGlite } from '@electric-sql/pglite';
|
|
3
3
|
/** Raw DB row shape for facts table (snake_case column names). */
|
|
4
4
|
export interface FactRow {
|
|
@@ -40,7 +40,8 @@ export declare function mapSummary(r: {
|
|
|
40
40
|
extraction_cost_usd: number | null;
|
|
41
41
|
created_at: string;
|
|
42
42
|
}): SessionSummaryEntry;
|
|
43
|
-
|
|
43
|
+
/** Raw DB row shape for work_items table (snake_case column names). */
|
|
44
|
+
export interface WorkItemRow {
|
|
44
45
|
id: string;
|
|
45
46
|
title: string;
|
|
46
47
|
description: string | null;
|
|
@@ -52,7 +53,30 @@ export declare function mapWorkItem(r: {
|
|
|
52
53
|
created_at: string;
|
|
53
54
|
updated_at: string;
|
|
54
55
|
completed_at: string | null;
|
|
55
|
-
|
|
56
|
+
goal?: string | null;
|
|
57
|
+
context?: TaskContext | null;
|
|
58
|
+
related_skills?: string[] | null;
|
|
59
|
+
repo_path?: string | null;
|
|
60
|
+
base_branch?: string | null;
|
|
61
|
+
worker_id?: string | null;
|
|
62
|
+
source?: string | null;
|
|
63
|
+
version?: number | null;
|
|
64
|
+
lease_expires_at?: string | null;
|
|
65
|
+
}
|
|
66
|
+
export declare function mapWorkItem(r: WorkItemRow): WorkItemEntry;
|
|
67
|
+
/** Raw DB row shape for task_comments table (snake_case column names). */
|
|
68
|
+
export interface TaskCommentRow {
|
|
69
|
+
id: string;
|
|
70
|
+
task_id: string;
|
|
71
|
+
type: string;
|
|
72
|
+
author: string;
|
|
73
|
+
content: string;
|
|
74
|
+
attachment_path: string | null;
|
|
75
|
+
urgency: string | null;
|
|
76
|
+
metadata: Record<string, unknown> | null;
|
|
77
|
+
created_at: string;
|
|
78
|
+
}
|
|
79
|
+
export declare function mapTaskComment(r: TaskCommentRow): TaskCommentEntry;
|
|
56
80
|
export declare function mapTranscriptChunk(r: TranscriptChunkRow): TranscriptChunkEntry;
|
|
57
81
|
/** Update the tsvector column for a fact (application-managed full-text search). */
|
|
58
82
|
export declare function updateFactTsv(db: PGlite, factId: string): Promise<void>;
|
package/stores/mappers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/stores/mappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAkB7C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,mBAAmB,CAYtB;AAED,
|
|
1
|
+
{"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/stores/mappers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,kEAAkE;AAClE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,CAkB7C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,mBAAmB,CAYtB;AAED,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,aAAa,CAwBzD;AAED,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAYlE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,GAAG,oBAAoB,CAe9E;AAED,oFAAoF;AACpF,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7E"}
|
package/stores/mappers.js
CHANGED
|
@@ -43,6 +43,29 @@ export function mapWorkItem(r) {
|
|
|
43
43
|
createdAt: r.created_at,
|
|
44
44
|
updatedAt: r.updated_at,
|
|
45
45
|
completedAt: r.completed_at,
|
|
46
|
+
// Phase 6b fields — defaulted when legacy rows lack them.
|
|
47
|
+
goal: r.goal ?? null,
|
|
48
|
+
context: r.context ?? null,
|
|
49
|
+
relatedSkills: r.related_skills ?? [],
|
|
50
|
+
repoPath: r.repo_path ?? null,
|
|
51
|
+
baseBranch: r.base_branch ?? null,
|
|
52
|
+
workerId: r.worker_id ?? null,
|
|
53
|
+
source: (r.source ?? 'user'),
|
|
54
|
+
version: r.version ?? 0,
|
|
55
|
+
leaseExpiresAt: r.lease_expires_at ?? null,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export function mapTaskComment(r) {
|
|
59
|
+
return {
|
|
60
|
+
id: r.id,
|
|
61
|
+
taskId: r.task_id,
|
|
62
|
+
type: r.type,
|
|
63
|
+
author: r.author,
|
|
64
|
+
content: r.content,
|
|
65
|
+
attachmentPath: r.attachment_path,
|
|
66
|
+
urgency: (r.urgency ?? null),
|
|
67
|
+
metadata: r.metadata,
|
|
68
|
+
createdAt: r.created_at,
|
|
46
69
|
};
|
|
47
70
|
}
|
|
48
71
|
export function mapTranscriptChunk(r) {
|
package/stores/mappers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../src/stores/mappers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../src/stores/mappers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/stores/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAMnD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/stores/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAMnD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,mBAAmB,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkezF;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5D"}
|
package/stores/migrations.js
CHANGED
|
@@ -2,6 +2,12 @@ import crypto from 'crypto';
|
|
|
2
2
|
import { Logger } from '@neura/utils/logger';
|
|
3
3
|
const log = new Logger('store');
|
|
4
4
|
export async function runMigrations(db, embeddingDimensions = 3072) {
|
|
5
|
+
// Pin the session timezone to UTC. Our schema mixes TIMESTAMP (without tz)
|
|
6
|
+
// and TIMESTAMPTZ — the moment those get compared (e.g. `due_at <= NOW()`),
|
|
7
|
+
// PG coerces using the session tz. Leaving the host tz applied drifts any
|
|
8
|
+
// time-window query by the local offset, and the bug only shows up when
|
|
9
|
+
// the machine isn't in UTC. Pinning the session kills the class of bug.
|
|
10
|
+
await db.exec(`SET TIME ZONE 'UTC'`);
|
|
5
11
|
await db.exec('CREATE EXTENSION IF NOT EXISTS vector;');
|
|
6
12
|
// --- _meta table for embedding dimension tracking ---
|
|
7
13
|
await db.exec(`
|
|
@@ -130,18 +136,36 @@ export async function runMigrations(db, embeddingDimensions = 3072) {
|
|
|
130
136
|
)
|
|
131
137
|
`);
|
|
132
138
|
await db.exec('CREATE INDEX IF NOT EXISTS idx_extractions_status ON memory_extractions(status)');
|
|
139
|
+
// work_items — the primary unit of work. Phase 6b expands the status enum
|
|
140
|
+
// and adds columns for task-driven execution (see
|
|
141
|
+
// docs/phase6b-task-driven-execution.md §Schema Changes).
|
|
133
142
|
await db.exec(`
|
|
134
143
|
CREATE TABLE IF NOT EXISTS work_items (
|
|
135
144
|
id TEXT PRIMARY KEY,
|
|
136
145
|
title TEXT NOT NULL,
|
|
137
146
|
description TEXT,
|
|
138
147
|
status TEXT NOT NULL DEFAULT 'pending'
|
|
139
|
-
CHECK (status IN (
|
|
148
|
+
CHECK (status IN (
|
|
149
|
+
'pending', 'awaiting_dispatch', 'in_progress',
|
|
150
|
+
'awaiting_clarification', 'awaiting_approval', 'paused',
|
|
151
|
+
'done', 'cancelled', 'failed'
|
|
152
|
+
)),
|
|
140
153
|
priority TEXT NOT NULL DEFAULT 'medium'
|
|
141
154
|
CHECK (priority IN ('low', 'medium', 'high')),
|
|
142
155
|
due_at TIMESTAMP,
|
|
143
156
|
parent_id TEXT REFERENCES work_items(id) ON DELETE SET NULL,
|
|
144
157
|
source_session_id TEXT,
|
|
158
|
+
-- Phase 6b columns (also added via ALTER for upgrades below)
|
|
159
|
+
goal TEXT,
|
|
160
|
+
context JSONB,
|
|
161
|
+
related_skills JSONB NOT NULL DEFAULT '[]',
|
|
162
|
+
repo_path TEXT,
|
|
163
|
+
base_branch TEXT,
|
|
164
|
+
worker_id TEXT,
|
|
165
|
+
source TEXT NOT NULL DEFAULT 'user'
|
|
166
|
+
CHECK (source IN ('user', 'system_proactive', 'discovery_loop')),
|
|
167
|
+
version INTEGER NOT NULL DEFAULT 0,
|
|
168
|
+
lease_expires_at TIMESTAMP,
|
|
145
169
|
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
146
170
|
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
147
171
|
completed_at TIMESTAMP
|
|
@@ -149,6 +173,87 @@ export async function runMigrations(db, embeddingDimensions = 3072) {
|
|
|
149
173
|
`);
|
|
150
174
|
await db.exec('CREATE INDEX IF NOT EXISTS idx_work_items_status ON work_items(status)');
|
|
151
175
|
await db.exec('CREATE INDEX IF NOT EXISTS idx_work_items_due ON work_items(due_at)');
|
|
176
|
+
// Upgrade path: expand existing work_items.status CHECK constraint for
|
|
177
|
+
// installs that predate Phase 6b.
|
|
178
|
+
//
|
|
179
|
+
// Condition is inverted from the naive "drop+readd when old constraint
|
|
180
|
+
// detected" so that a crash between DROP and ADD self-heals on the next
|
|
181
|
+
// boot: we fire the branch whenever the up-to-date constraint is absent,
|
|
182
|
+
// which covers both (a) legacy installs with the old constraint AND (b)
|
|
183
|
+
// crashed-mid-upgrade installs where the constraint was dropped but the
|
|
184
|
+
// new one never landed. The `DROP CONSTRAINT IF EXISTS` makes the branch
|
|
185
|
+
// idempotent in either case.
|
|
186
|
+
await db.exec(`
|
|
187
|
+
DO $$
|
|
188
|
+
BEGIN
|
|
189
|
+
IF NOT EXISTS (
|
|
190
|
+
SELECT 1 FROM pg_constraint
|
|
191
|
+
WHERE conname = 'work_items_status_check'
|
|
192
|
+
AND pg_get_constraintdef(oid) LIKE '%awaiting_clarification%'
|
|
193
|
+
) THEN
|
|
194
|
+
ALTER TABLE work_items DROP CONSTRAINT IF EXISTS work_items_status_check;
|
|
195
|
+
ALTER TABLE work_items ADD CONSTRAINT work_items_status_check
|
|
196
|
+
CHECK (status IN (
|
|
197
|
+
'pending', 'awaiting_dispatch', 'in_progress',
|
|
198
|
+
'awaiting_clarification', 'awaiting_approval', 'paused',
|
|
199
|
+
'done', 'cancelled', 'failed'
|
|
200
|
+
));
|
|
201
|
+
END IF;
|
|
202
|
+
END $$
|
|
203
|
+
`);
|
|
204
|
+
// Upgrade path: add Phase 6b columns idempotently for installs that
|
|
205
|
+
// predate the refactor.
|
|
206
|
+
await db.exec('ALTER TABLE work_items ADD COLUMN IF NOT EXISTS goal TEXT');
|
|
207
|
+
await db.exec('ALTER TABLE work_items ADD COLUMN IF NOT EXISTS context JSONB');
|
|
208
|
+
await db.exec(`ALTER TABLE work_items ADD COLUMN IF NOT EXISTS related_skills JSONB NOT NULL DEFAULT '[]'`);
|
|
209
|
+
await db.exec('ALTER TABLE work_items ADD COLUMN IF NOT EXISTS repo_path TEXT');
|
|
210
|
+
await db.exec('ALTER TABLE work_items ADD COLUMN IF NOT EXISTS base_branch TEXT');
|
|
211
|
+
await db.exec('ALTER TABLE work_items ADD COLUMN IF NOT EXISTS worker_id TEXT');
|
|
212
|
+
await db.exec(`ALTER TABLE work_items ADD COLUMN IF NOT EXISTS source TEXT NOT NULL DEFAULT 'user'`);
|
|
213
|
+
await db.exec(`ALTER TABLE work_items ADD COLUMN IF NOT EXISTS version INTEGER NOT NULL DEFAULT 0`);
|
|
214
|
+
await db.exec('ALTER TABLE work_items ADD COLUMN IF NOT EXISTS lease_expires_at TIMESTAMP');
|
|
215
|
+
// Upgrade path: ensure the `source` column CHECK constraint exists for
|
|
216
|
+
// installs where the column was added before the constraint.
|
|
217
|
+
await db.exec(`
|
|
218
|
+
DO $$
|
|
219
|
+
BEGIN
|
|
220
|
+
IF NOT EXISTS (
|
|
221
|
+
SELECT 1 FROM pg_constraint
|
|
222
|
+
WHERE conname = 'work_items_source_check'
|
|
223
|
+
) THEN
|
|
224
|
+
ALTER TABLE work_items ADD CONSTRAINT work_items_source_check
|
|
225
|
+
CHECK (source IN ('user', 'system_proactive', 'discovery_loop'));
|
|
226
|
+
END IF;
|
|
227
|
+
END $$
|
|
228
|
+
`);
|
|
229
|
+
await db.exec('CREATE INDEX IF NOT EXISTS idx_work_items_worker ON work_items(worker_id)');
|
|
230
|
+
await db.exec('CREATE INDEX IF NOT EXISTS idx_work_items_lease ON work_items(lease_expires_at) WHERE lease_expires_at IS NOT NULL');
|
|
231
|
+
// task_comments — Phase 6b. Every worker-to-orchestrator protocol event
|
|
232
|
+
// lands here (progress, clarification, approval, result, etc.), plus
|
|
233
|
+
// user/orchestrator/system-authored companion comments.
|
|
234
|
+
await db.exec(`
|
|
235
|
+
CREATE TABLE IF NOT EXISTS task_comments (
|
|
236
|
+
id TEXT PRIMARY KEY,
|
|
237
|
+
task_id TEXT NOT NULL REFERENCES work_items(id) ON DELETE CASCADE,
|
|
238
|
+
type TEXT NOT NULL
|
|
239
|
+
CHECK (type IN (
|
|
240
|
+
'progress', 'heartbeat',
|
|
241
|
+
'clarification_request', 'approval_request',
|
|
242
|
+
'clarification_response', 'approval_response',
|
|
243
|
+
'error', 'result', 'system', 'deferred'
|
|
244
|
+
)),
|
|
245
|
+
author TEXT NOT NULL,
|
|
246
|
+
content TEXT NOT NULL,
|
|
247
|
+
attachment_path TEXT,
|
|
248
|
+
urgency TEXT
|
|
249
|
+
CHECK (urgency IS NULL OR urgency IN ('low', 'normal', 'high', 'critical')),
|
|
250
|
+
metadata JSONB,
|
|
251
|
+
created_at TIMESTAMP NOT NULL DEFAULT NOW()
|
|
252
|
+
)
|
|
253
|
+
`);
|
|
254
|
+
await db.exec('CREATE INDEX IF NOT EXISTS idx_task_comments_task ON task_comments(task_id)');
|
|
255
|
+
await db.exec('CREATE INDEX IF NOT EXISTS idx_task_comments_type ON task_comments(type)');
|
|
256
|
+
await db.exec('CREATE INDEX IF NOT EXISTS idx_task_comments_created ON task_comments(created_at)');
|
|
152
257
|
// --- Phase 5b: Advanced Memory ---
|
|
153
258
|
// Temporal tracking columns on facts
|
|
154
259
|
await db.exec('ALTER TABLE facts ADD COLUMN IF NOT EXISTS valid_from TIMESTAMP DEFAULT NOW()');
|
package/stores/migrations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/stores/migrations.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAU,EAAE,mBAAmB,GAAG,IAAI;IACxE,MAAM,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAExD,uDAAuD;IACvD,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;GAKb,CAAC,CAAC;IAEH,gDAAgD;IAEhD,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;GAUb,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQb,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;IAE/F,kCAAkC;IAElC,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;GAUb,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWb,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;yBAMS,mBAAmB;;;;;;;;;;GAUzC,CAAC,CAAC;IAEH,uFAAuF;IACvF,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,KAAK,CAC9B;kEAC8D,CAC/D,CAAC;IACF,IACE,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,mBAAmB,GAAG,EAC/D,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACzD,MAAM,EAAE,CAAC,IAAI,CAAC,iDAAiD,mBAAmB,GAAG,CAAC,CAAC;QACvF,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACnC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC/B,GAAG,EAAE,UAAU,mBAAmB,GAAG;SACtC,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,MAAM,EAAE,CAAC,IAAI,CACX,0FAA0F,CAC3F,CAAC;IAEF,MAAM,EAAE,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAClF,MAAM,EAAE,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAExF,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYb,CAAC,CAAC;IAEH,4FAA4F;IAC5F,MAAM,EAAE,CAAC,IAAI,CACX,sGAAsG,CACvG,CAAC;IAEF,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;GAYb,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWb,CAAC,CAAC;IAEH,MAAM,EAAE,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IAEjG,MAAM,EAAE,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/stores/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for migrations.ts — specifically the upgrade paths that fresh-install
|
|
3
|
+
* test coverage never exercises.
|
|
4
|
+
*
|
|
5
|
+
* The Phase 6b DO $$ BEGIN … END $$ blocks that rewrite the work_items.status
|
|
6
|
+
* CHECK constraint and the ADD COLUMN IF NOT EXISTS statements are dead code
|
|
7
|
+
* paths in any test that starts with `runMigrations(fresh_db)` — those hit
|
|
8
|
+
* the CREATE TABLE IF NOT EXISTS branch which already has the new schema.
|
|
9
|
+
*
|
|
10
|
+
* These tests build a pre-Phase-6b schema manually, THEN run the full
|
|
11
|
+
* migration, THEN assert that the upgrade produced the expected shape.
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=migrations.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.test.d.ts","sourceRoot":"","sources":["../../src/stores/migrations.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for migrations.ts — specifically the upgrade paths that fresh-install
|
|
3
|
+
* test coverage never exercises.
|
|
4
|
+
*
|
|
5
|
+
* The Phase 6b DO $$ BEGIN … END $$ blocks that rewrite the work_items.status
|
|
6
|
+
* CHECK constraint and the ADD COLUMN IF NOT EXISTS statements are dead code
|
|
7
|
+
* paths in any test that starts with `runMigrations(fresh_db)` — those hit
|
|
8
|
+
* the CREATE TABLE IF NOT EXISTS branch which already has the new schema.
|
|
9
|
+
*
|
|
10
|
+
* These tests build a pre-Phase-6b schema manually, THEN run the full
|
|
11
|
+
* migration, THEN assert that the upgrade produced the expected shape.
|
|
12
|
+
*/
|
|
13
|
+
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
14
|
+
import { PGlite } from '@electric-sql/pglite';
|
|
15
|
+
import { vector } from '@electric-sql/pglite/vector';
|
|
16
|
+
import crypto from 'crypto';
|
|
17
|
+
import { runMigrations } from './migrations.js';
|
|
18
|
+
/**
|
|
19
|
+
* Create a pre-Phase-6b work_items schema. Matches the shape Phase 6 shipped
|
|
20
|
+
* (status enum of 5 values, no goal/context/version/etc. columns).
|
|
21
|
+
*/
|
|
22
|
+
async function createPre6bSchema(db) {
|
|
23
|
+
await db.exec(`
|
|
24
|
+
CREATE TABLE work_items (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
title TEXT NOT NULL,
|
|
27
|
+
description TEXT,
|
|
28
|
+
status TEXT NOT NULL DEFAULT 'pending'
|
|
29
|
+
CHECK (status IN ('pending', 'in_progress', 'done', 'cancelled', 'failed')),
|
|
30
|
+
priority TEXT NOT NULL DEFAULT 'medium'
|
|
31
|
+
CHECK (priority IN ('low', 'medium', 'high')),
|
|
32
|
+
due_at TIMESTAMP,
|
|
33
|
+
parent_id TEXT REFERENCES work_items(id) ON DELETE SET NULL,
|
|
34
|
+
source_session_id TEXT,
|
|
35
|
+
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
36
|
+
updated_at TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
37
|
+
completed_at TIMESTAMP
|
|
38
|
+
)
|
|
39
|
+
`);
|
|
40
|
+
}
|
|
41
|
+
describe('migrations — Phase 6b upgrade path', () => {
|
|
42
|
+
let db;
|
|
43
|
+
beforeEach(async () => {
|
|
44
|
+
db = await PGlite.create({ extensions: { vector } });
|
|
45
|
+
// Seed prerequisite tables that work_items or its upgrade path may
|
|
46
|
+
// reference indirectly (sessions for source_session_id FK on other
|
|
47
|
+
// flows, etc.). We do the minimum necessary to exercise the upgrade.
|
|
48
|
+
await db.exec('CREATE EXTENSION IF NOT EXISTS vector');
|
|
49
|
+
});
|
|
50
|
+
afterEach(async () => {
|
|
51
|
+
await db.close();
|
|
52
|
+
});
|
|
53
|
+
it('upgrades an existing pre-Phase-6b work_items table to the new schema', async () => {
|
|
54
|
+
await createPre6bSchema(db);
|
|
55
|
+
// Seed a legacy row to prove existing data survives the upgrade.
|
|
56
|
+
const legacyId = crypto.randomUUID();
|
|
57
|
+
await db.query(`INSERT INTO work_items (id, title, priority, status) VALUES ($1, $2, $3, $4)`, [
|
|
58
|
+
legacyId,
|
|
59
|
+
'Legacy task',
|
|
60
|
+
'medium',
|
|
61
|
+
'in_progress',
|
|
62
|
+
]);
|
|
63
|
+
// Run the real migration. This is what a user upgrading from v3.4.x hits.
|
|
64
|
+
await runMigrations(db);
|
|
65
|
+
// Assertion 1: all new Phase 6b columns exist.
|
|
66
|
+
const columns = await db.query(`SELECT column_name FROM information_schema.columns
|
|
67
|
+
WHERE table_name = 'work_items' ORDER BY column_name`);
|
|
68
|
+
const colNames = columns.rows.map((r) => r.column_name);
|
|
69
|
+
for (const expected of [
|
|
70
|
+
'goal',
|
|
71
|
+
'context',
|
|
72
|
+
'related_skills',
|
|
73
|
+
'repo_path',
|
|
74
|
+
'base_branch',
|
|
75
|
+
'worker_id',
|
|
76
|
+
'source',
|
|
77
|
+
'version',
|
|
78
|
+
'lease_expires_at',
|
|
79
|
+
]) {
|
|
80
|
+
expect(colNames).toContain(expected);
|
|
81
|
+
}
|
|
82
|
+
// Assertion 2: CHECK constraint was rewritten to accept new statuses.
|
|
83
|
+
const constraint = await db.query(`SELECT pg_get_constraintdef(oid) AS def
|
|
84
|
+
FROM pg_constraint WHERE conname = 'work_items_status_check'`);
|
|
85
|
+
expect(constraint.rows[0]?.def ?? '').toContain('awaiting_clarification');
|
|
86
|
+
expect(constraint.rows[0]?.def ?? '').toContain('awaiting_approval');
|
|
87
|
+
expect(constraint.rows[0]?.def ?? '').toContain('paused');
|
|
88
|
+
// Assertion 3: a legacy row still exists and has sensible defaults for
|
|
89
|
+
// the new columns (NULL where nullable, '[]' for related_skills, 0 for
|
|
90
|
+
// version, 'user' for source).
|
|
91
|
+
const legacy = await db.query(`SELECT goal, related_skills, source, version FROM work_items WHERE id = $1`, [legacyId]);
|
|
92
|
+
expect(legacy.rows[0].goal).toBeNull();
|
|
93
|
+
expect(legacy.rows[0].related_skills).toEqual([]);
|
|
94
|
+
expect(legacy.rows[0].source).toBe('user');
|
|
95
|
+
expect(legacy.rows[0].version).toBe(0);
|
|
96
|
+
// Assertion 4: inserting a row with a new-only status value succeeds
|
|
97
|
+
// (proving the constraint was actually replaced, not just aliased).
|
|
98
|
+
const newId = crypto.randomUUID();
|
|
99
|
+
await db.query(`INSERT INTO work_items (id, title, priority, status) VALUES ($1, $2, $3, $4)`, [
|
|
100
|
+
newId,
|
|
101
|
+
'New-status task',
|
|
102
|
+
'medium',
|
|
103
|
+
'awaiting_clarification',
|
|
104
|
+
]);
|
|
105
|
+
const inserted = await db.query(`SELECT status FROM work_items WHERE id = $1`, [newId]);
|
|
106
|
+
expect(inserted.rows[0].status).toBe('awaiting_clarification');
|
|
107
|
+
});
|
|
108
|
+
it('self-heals if the status constraint is missing (crash-between-DROP-and-ADD)', async () => {
|
|
109
|
+
// Build a pre-6b schema, then manually drop the constraint to simulate
|
|
110
|
+
// a crash that killed the migration after DROP but before ADD. Re-running
|
|
111
|
+
// the migration should re-add the new constraint.
|
|
112
|
+
await createPre6bSchema(db);
|
|
113
|
+
await db.exec('ALTER TABLE work_items DROP CONSTRAINT work_items_status_check');
|
|
114
|
+
await runMigrations(db);
|
|
115
|
+
const constraint = await db.query(`SELECT pg_get_constraintdef(oid) AS def
|
|
116
|
+
FROM pg_constraint WHERE conname = 'work_items_status_check'`);
|
|
117
|
+
expect(constraint.rows).toHaveLength(1);
|
|
118
|
+
expect(constraint.rows[0].def).toContain('awaiting_clarification');
|
|
119
|
+
});
|
|
120
|
+
it('is idempotent — re-running migrations on an already-6b schema is a no-op', async () => {
|
|
121
|
+
// First run creates fresh schema.
|
|
122
|
+
await runMigrations(db);
|
|
123
|
+
// Seed a row.
|
|
124
|
+
const id = crypto.randomUUID();
|
|
125
|
+
await db.query(`INSERT INTO work_items (id, title, priority) VALUES ($1, $2, $3)`, [
|
|
126
|
+
id,
|
|
127
|
+
'Idempotency test',
|
|
128
|
+
'medium',
|
|
129
|
+
]);
|
|
130
|
+
// Second + third runs must not error or alter existing rows.
|
|
131
|
+
await runMigrations(db);
|
|
132
|
+
await runMigrations(db);
|
|
133
|
+
// Row is still there, version is still 0, constraint still has the
|
|
134
|
+
// expected shape.
|
|
135
|
+
const row = await db.query(`SELECT version, title FROM work_items WHERE id = $1`, [id]);
|
|
136
|
+
expect(row.rows[0].title).toBe('Idempotency test');
|
|
137
|
+
expect(row.rows[0].version).toBe(0);
|
|
138
|
+
// Only one status-check constraint exists — no duplicates.
|
|
139
|
+
const dupes = await db.query(`SELECT COUNT(*)::TEXT AS count FROM pg_constraint
|
|
140
|
+
WHERE conname = 'work_items_status_check'`);
|
|
141
|
+
expect(dupes.rows[0].count).toBe('1');
|
|
142
|
+
});
|
|
143
|
+
it('creates task_comments table on upgrade from pre-6b schema', async () => {
|
|
144
|
+
await createPre6bSchema(db);
|
|
145
|
+
await runMigrations(db);
|
|
146
|
+
const tables = await db.query(`SELECT table_name FROM information_schema.tables
|
|
147
|
+
WHERE table_schema = 'public' AND table_name = 'task_comments'`);
|
|
148
|
+
expect(tables.rows).toHaveLength(1);
|
|
149
|
+
// Verify an insert respecting FK CASCADE works end-to-end.
|
|
150
|
+
const taskId = crypto.randomUUID();
|
|
151
|
+
await db.query(`INSERT INTO work_items (id, title, priority) VALUES ($1, $2, $3)`, [
|
|
152
|
+
taskId,
|
|
153
|
+
'Anchor task',
|
|
154
|
+
'medium',
|
|
155
|
+
]);
|
|
156
|
+
const commentId = crypto.randomUUID();
|
|
157
|
+
await db.query(`INSERT INTO task_comments (id, task_id, type, author, content)
|
|
158
|
+
VALUES ($1, $2, $3, $4, $5)`, [commentId, taskId, 'progress', 'worker:1', 'body']);
|
|
159
|
+
await db.query(`DELETE FROM work_items WHERE id = $1`, [taskId]);
|
|
160
|
+
const orphan = await db.query(`SELECT COUNT(*)::TEXT AS count FROM task_comments WHERE id = $1`, [commentId]);
|
|
161
|
+
expect(orphan.rows[0].count).toBe('0');
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
//# sourceMappingURL=migrations.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.test.js","sourceRoot":"","sources":["../../src/stores/migrations.test.ts"],"names":[],"mappings":"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"}
|
package/stores/pglite-store.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PGlite } from '@electric-sql/pglite';
|
|
2
2
|
import type { DataStore, SessionRecord, TranscriptEntry, IdentityEntry, UserProfileEntry, FactEntry, PreferenceEntry, SessionSummaryEntry, MemoryExtractionRecord, MemoryContext, MemoryBackup, WorkItemEntry, WorkItemPriority, EntityEntry, EntityRelationship, TimelineEntry, MemoryStats, TranscriptChunkEntry } from '@neura/types';
|
|
3
|
+
import * as workItemQ from './work-item-queries.js';
|
|
3
4
|
export declare class PgliteStore implements DataStore {
|
|
4
5
|
private db;
|
|
5
6
|
private constructor();
|
|
@@ -54,13 +55,10 @@ export declare class PgliteStore implements DataStore {
|
|
|
54
55
|
limit?: number;
|
|
55
56
|
}): Promise<WorkItemEntry[]>;
|
|
56
57
|
getWorkItem(id: string): Promise<WorkItemEntry | null>;
|
|
57
|
-
createWorkItem(title: string, priority: WorkItemPriority, options?:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
sourceSessionId?: string;
|
|
62
|
-
}): Promise<string>;
|
|
63
|
-
updateWorkItem(id: string, updates: Partial<Pick<WorkItemEntry, 'status' | 'priority' | 'title' | 'description' | 'dueAt'>>): Promise<void>;
|
|
58
|
+
createWorkItem(title: string, priority: WorkItemPriority, options?: Parameters<typeof workItemQ.createWorkItem>[3]): Promise<string>;
|
|
59
|
+
updateWorkItem(id: string, updates: workItemQ.UpdateWorkItemFields, opts?: {
|
|
60
|
+
expectVersion?: number;
|
|
61
|
+
}): Promise<number>;
|
|
64
62
|
deleteWorkItem(id: string): Promise<void>;
|
|
65
63
|
exportMemories(): Promise<MemoryBackup>;
|
|
66
64
|
importMemories(backup: MemoryBackup): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pglite-store.d.ts","sourceRoot":"","sources":["../../src/stores/pglite-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,oBAAoB,EACrB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"pglite-store.d.ts","sourceRoot":"","sources":["../../src/stores/pglite-store.ts"],"names":[],"mappings":"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"}
|
package/stores/pglite-store.js
CHANGED
|
@@ -126,8 +126,8 @@ export class PgliteStore {
|
|
|
126
126
|
createWorkItem(title, priority, options) {
|
|
127
127
|
return workItemQ.createWorkItem(this.db, title, priority, options);
|
|
128
128
|
}
|
|
129
|
-
updateWorkItem(id, updates) {
|
|
130
|
-
return workItemQ.updateWorkItem(this.db, id, updates);
|
|
129
|
+
updateWorkItem(id, updates, opts) {
|
|
130
|
+
return workItemQ.updateWorkItem(this.db, id, updates, opts);
|
|
131
131
|
}
|
|
132
132
|
deleteWorkItem(id) {
|
|
133
133
|
return workItemQ.deleteWorkItem(this.db, id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pglite-store.js","sourceRoot":"","sources":["../../src/stores/pglite-store.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pglite-store.js","sourceRoot":"","sources":["../../src/stores/pglite-store.ts"],"names":[],"mappings":"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"}
|