@hasna/todos 0.11.92 → 0.11.93
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/dist/cli/cloud-router.d.ts +11 -1
- package/dist/cli/cloud-router.d.ts.map +1 -1
- package/dist/cli/index.js +100 -197
- package/dist/contracts.js +1 -1
- package/dist/index.js +55 -2
- package/dist/mcp/index.js +87 -2
- package/dist/mcp.js +1 -1
- package/dist/registry.js +1 -1
- package/dist/release-provenance.json +5 -5
- package/dist/server/cloud.d.ts +10 -0
- package/dist/server/cloud.d.ts.map +1 -1
- package/dist/server/index.js +93 -2
- package/dist/server/v1.d.ts.map +1 -1
- package/dist/storage/interfaces.d.ts +10 -0
- package/dist/storage/interfaces.d.ts.map +1 -1
- package/dist/storage/local-sqlite.d.ts.map +1 -1
- package/dist/storage/postgres-adapter.d.ts.map +1 -1
- package/dist/storage/postgres-sync.d.ts +22 -0
- package/dist/storage/postgres-sync.d.ts.map +1 -1
- package/dist/storage.js +54 -1
- package/package.json +1 -1
|
@@ -53,7 +53,17 @@ export declare function isCloudRouting(env?: Env): boolean;
|
|
|
53
53
|
export declare function resetTodosCloudClient(): void;
|
|
54
54
|
/** List tasks from the cloud (`GET /v1/tasks`). Returns the `tasks` array. */
|
|
55
55
|
export declare function cloudListTasks(client: HasnaStorageClient, filter?: TaskFilter): Promise<Task[]>;
|
|
56
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Resolve an exact UUID, an exact short id, or a unique task-id prefix to a
|
|
58
|
+
* canonical task UUID over `/v1` in a SINGLE bounded request. Full UUIDs
|
|
59
|
+
* short-circuit with no round trip. Every other reference is resolved
|
|
60
|
+
* SERVER-SIDE via `GET /v1/tasks/:ref` (an indexed short_id / id-prefix lookup),
|
|
61
|
+
* so the CLI never pages the entire task set to expand a short reference — the
|
|
62
|
+
* O(all-tasks) client-side download that hung on large shared datasets. A 409
|
|
63
|
+
* from the authority means the prefix is ambiguous; a miss means the task is
|
|
64
|
+
* absent (or the authority predates short-reference resolution, in which case
|
|
65
|
+
* deploy the current `@hasna/todos` `/v1` server). No local fallback is used.
|
|
66
|
+
*/
|
|
57
67
|
export declare function cloudResolveTaskRef(client: HasnaStorageClient, ref: string): Promise<string>;
|
|
58
68
|
/** Fetch one task by id (`GET /v1/tasks/:id`); `null` on 404. */
|
|
59
69
|
export declare function cloudGetTask(client: HasnaStorageClient, id: string): Promise<Task | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-router.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloud-router.d.ts","sourceRoot":"","sources":["../../src/cli/cloud-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAEhG,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGpO,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAa9C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,0BAA0B,GAAG,oBAAoB,GAAG,SAAS,CAAC;CACvE;AAWD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,GAAwB,GAAG,6BAA6B,CAwCvG;AAgDD,wBAAgB,mCAAmC,CACjD,GAAG,GAAE,GAAwB,GAC5B,gCAAgC,CA4DlC;AAwHD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,GAAwB,GAAG,kBAAkB,GAAG,IAAI,CAS5F;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,GAAG,GAAE,GAAwB,GAAG,OAAO,CAErE;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AA2BD,8EAA8E;AAC9E,wBAAsB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAKzG;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBlG;AAED,iEAAiE;AACjE,wBAAsB,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAG/F;AAED,oEAAoE;AACpE,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/G;AAED,6CAA6C;AAC7C,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3H;AAED,wEAAwE;AACxE,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ9F;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CACnC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,EAC/C,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,IAAI,CAAC,CAGf;AAuED,uGAAuG;AACvG,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAInF;AAED,gEAAgE;AAChE,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAIlF;AAED,yDAAyD;AACzD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAItF;AASD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAElB;AA8CD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErG;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAInG;AAED,yEAAyE;AACzE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,mFAAmF;AACnF,wBAAsB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAKpG;AASD,gDAAgD;AAChD,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvG;AAED,qDAAqD;AACrD,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnH;AAED,sDAAsD;AACtD,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU9F;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACvG,OAAO,CAAC,WAAW,CAAC,CAOtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAsE3B;AAmBD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAKzG;AAED,4EAA4E;AAC5E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtE,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1G;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAM9G;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAM7G;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAO7B;AAED,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClF,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED,yFAAyF;AACzF,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAI9G;AAED,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qFAAqF;AACrF,wBAAsB,YAAY,CAChC,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAChI,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED,+EAA+E;AAC/E,wBAAsB,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAIvG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAqBxH;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAMrH;AAED,oEAAoE;AACpE,wBAAsB,eAAe,CACnC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,UAAQ,GACZ,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,+EAA+E;AAC/E,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAIjH;AAED,iFAAiF;AACjF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAM3H;AAED,6FAA6F;AAC7F,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvH;AAED,mDAAmD;AACnD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9G,OAAO,CAAC,qBAAqB,CAAC,CAMhC;AAwBD,iFAAiF;AACjF,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAM3G;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAK1G;AAED,2GAA2G;AAC3G,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAM3H;AAED,8EAA8E;AAC9E,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,GAAE,IAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAO9H;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,oFAAoF;AACpF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,EACrD,EAAE,GAAE,IAAiB,GACpB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA8B/B;AAED,wEAAwE;AACxE,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAK3H;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,iFAAiF;AACjF,wBAAsB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBjH;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAMxG;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQ5G;AASD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAGvG;AAED,kFAAkF;AAClF,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,+DAA+D;AAC/D,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC,CAGnB;AAED,6EAA6E;AAC7E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC,CAEnB;AAED,4EAA4E;AAC5E,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ3D;AAED,qEAAqE;AACrE,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlG;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACzE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAWtB;AAED,mFAAmF;AACnF,wBAAsB,cAAc,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAMtG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAKhG;AAED,2EAA2E;AAC3E,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAUvH;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,SAAS,IAAI,EAAE,GAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAuB9B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC,IAAI,GAAG;QAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7D,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2C1H;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgC9H"}
|
package/dist/cli/index.js
CHANGED
|
@@ -2104,7 +2104,7 @@ var package_default;
|
|
|
2104
2104
|
var init_package = __esm(() => {
|
|
2105
2105
|
package_default = {
|
|
2106
2106
|
name: "@hasna/todos",
|
|
2107
|
-
version: "0.11.
|
|
2107
|
+
version: "0.11.93",
|
|
2108
2108
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
2109
2109
|
type: "module",
|
|
2110
2110
|
main: "dist/index.js",
|
|
@@ -2786,205 +2786,25 @@ async function cloudListTasks(client, filter = {}) {
|
|
|
2786
2786
|
const envelope = res.raw;
|
|
2787
2787
|
return Array.isArray(envelope?.tasks) ? envelope.tasks : res.items;
|
|
2788
2788
|
}
|
|
2789
|
-
async function cloudListTaskPage(client, filter) {
|
|
2790
|
-
const res = await requiredRemoteRoute(client, "/v1/tasks", () => client.list("tasks", { query: toListQuery(filter) }));
|
|
2791
|
-
const envelope = res.raw;
|
|
2792
|
-
if (envelope && Object.prototype.hasOwnProperty.call(envelope, "tasks") && !Array.isArray(envelope.tasks)) {
|
|
2793
|
-
throw new Error("REMOTE_API_INCOMPATIBLE: /v1/tasks returned a malformed tasks page; local SQLite fallback is disabled");
|
|
2794
|
-
}
|
|
2795
|
-
const tasks = Array.isArray(envelope?.tasks) ? envelope.tasks : res.items;
|
|
2796
|
-
if (!Array.isArray(tasks) || tasks.some((task) => !task || typeof task !== "object" || typeof task.id !== "string" || !task.id)) {
|
|
2797
|
-
throw new Error("REMOTE_API_INCOMPATIBLE: /v1/tasks returned a malformed tasks page; local SQLite fallback is disabled");
|
|
2798
|
-
}
|
|
2799
|
-
const count = typeof envelope?.count === "number" ? envelope.count : tasks.length;
|
|
2800
|
-
if (!Number.isSafeInteger(count) || count < 0 || count !== tasks.length) {
|
|
2801
|
-
throw new Error("REMOTE_API_INCOMPATIBLE: /v1/tasks returned an invalid count; local SQLite fallback is disabled");
|
|
2802
|
-
}
|
|
2803
|
-
if (envelope?.total !== undefined && (!Number.isSafeInteger(envelope.total) || envelope.total < 0 || envelope.total < count)) {
|
|
2804
|
-
throw new Error("REMOTE_API_INCOMPATIBLE: /v1/tasks returned an invalid total; local SQLite fallback is disabled");
|
|
2805
|
-
}
|
|
2806
|
-
return { tasks, count, total: envelope?.total };
|
|
2807
|
-
}
|
|
2808
|
-
async function cloudTasksAllCount(client) {
|
|
2809
|
-
const stats = await cloudGetStats(client);
|
|
2810
|
-
if (!Number.isSafeInteger(stats.tasks_all) || stats.tasks_all < 0) {
|
|
2811
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/stats must return a non-negative integer tasks_all for short task references");
|
|
2812
|
-
}
|
|
2813
|
-
return stats.tasks_all;
|
|
2814
|
-
}
|
|
2815
|
-
async function cloudPaginateTaskScope(client, filter, maximumTotal) {
|
|
2816
|
-
const pageSize = 500;
|
|
2817
|
-
const tasks = [];
|
|
2818
|
-
const ids = new Set;
|
|
2819
|
-
let reportedTotal;
|
|
2820
|
-
let totalPresence;
|
|
2821
|
-
for (let offset = 0;; ) {
|
|
2822
|
-
let page;
|
|
2823
|
-
try {
|
|
2824
|
-
page = await cloudListTaskPage(client, { ...filter, limit: pageSize, offset });
|
|
2825
|
-
} catch (error) {
|
|
2826
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
2827
|
-
if (!message.startsWith("REMOTE_API_INCOMPATIBLE") && !message.startsWith("REMOTE_API_CHANGED_DURING_PAGINATION")) {
|
|
2828
|
-
throw error;
|
|
2829
|
-
}
|
|
2830
|
-
throw new RemoteTaskReferenceSnapshotError(message, { cause: error });
|
|
2831
|
-
}
|
|
2832
|
-
const pageHasTotal = page.total !== undefined;
|
|
2833
|
-
if (totalPresence !== undefined && totalPresence !== pageHasTotal) {
|
|
2834
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks changed total support during pagination");
|
|
2835
|
-
}
|
|
2836
|
-
totalPresence = pageHasTotal;
|
|
2837
|
-
if (page.total !== undefined && reportedTotal !== undefined && page.total !== reportedTotal) {
|
|
2838
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_CHANGED_DURING_PAGINATION: /v1/tasks total changed during pagination");
|
|
2839
|
-
}
|
|
2840
|
-
if (page.total !== undefined)
|
|
2841
|
-
reportedTotal = page.total;
|
|
2842
|
-
if (tasks.length + page.tasks.length > maximumTotal || reportedTotal !== undefined && tasks.length + page.tasks.length > reportedTotal) {
|
|
2843
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks pagination exceeded total; local SQLite fallback is disabled");
|
|
2844
|
-
}
|
|
2845
|
-
for (const task of page.tasks) {
|
|
2846
|
-
if (ids.has(task.id)) {
|
|
2847
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks pagination returned a duplicate task id");
|
|
2848
|
-
}
|
|
2849
|
-
ids.add(task.id);
|
|
2850
|
-
tasks.push(task);
|
|
2851
|
-
}
|
|
2852
|
-
if (reportedTotal !== undefined && tasks.length === reportedTotal)
|
|
2853
|
-
break;
|
|
2854
|
-
if (reportedTotal !== undefined && page.tasks.length === 0) {
|
|
2855
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks pagination ended before total; local SQLite fallback is disabled");
|
|
2856
|
-
}
|
|
2857
|
-
if (reportedTotal === undefined && page.tasks.length < pageSize)
|
|
2858
|
-
break;
|
|
2859
|
-
offset += page.tasks.length;
|
|
2860
|
-
}
|
|
2861
|
-
return { tasks, total: reportedTotal };
|
|
2862
|
-
}
|
|
2863
|
-
function taskParentId(task) {
|
|
2864
|
-
return typeof task.parent_id === "string" && task.parent_id ? task.parent_id : null;
|
|
2865
|
-
}
|
|
2866
|
-
function assertCompleteTaskHierarchy(tasks) {
|
|
2867
|
-
const byId = new Map(tasks.map((task) => [task.id, task]));
|
|
2868
|
-
for (const task of tasks) {
|
|
2869
|
-
const visited = new Set([task.id]);
|
|
2870
|
-
let parentId = taskParentId(task);
|
|
2871
|
-
while (parentId) {
|
|
2872
|
-
if (visited.has(parentId)) {
|
|
2873
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks returned a cyclic task hierarchy");
|
|
2874
|
-
}
|
|
2875
|
-
visited.add(parentId);
|
|
2876
|
-
const parent = byId.get(parentId);
|
|
2877
|
-
if (!parent) {
|
|
2878
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks returned an orphaned task hierarchy");
|
|
2879
|
-
}
|
|
2880
|
-
parentId = taskParentId(parent);
|
|
2881
|
-
}
|
|
2882
|
-
}
|
|
2883
|
-
}
|
|
2884
|
-
async function cloudListTaskHierarchyForResolution(client, expectedTotal) {
|
|
2885
|
-
const roots = await cloudPaginateTaskScope(client, {}, expectedTotal);
|
|
2886
|
-
for (const root of roots.tasks) {
|
|
2887
|
-
if (taskParentId(root) !== null) {
|
|
2888
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: default /v1/tasks returned a non-root task");
|
|
2889
|
-
}
|
|
2890
|
-
}
|
|
2891
|
-
const tasks = [...roots.tasks];
|
|
2892
|
-
const seen = new Set(tasks.map((task) => task.id));
|
|
2893
|
-
const queue = roots.tasks.map((task) => ({ task, ancestors: new Set([task.id]) }));
|
|
2894
|
-
for (let index = 0;index < queue.length; index += 1) {
|
|
2895
|
-
const current = queue[index];
|
|
2896
|
-
const children = await cloudPaginateTaskScope(client, { parent_id: current.task.id }, expectedTotal);
|
|
2897
|
-
for (const child of children.tasks) {
|
|
2898
|
-
if (taskParentId(child) !== current.task.id) {
|
|
2899
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks parent filter returned an orphaned task");
|
|
2900
|
-
}
|
|
2901
|
-
if (current.ancestors.has(child.id)) {
|
|
2902
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks returned a cyclic task hierarchy");
|
|
2903
|
-
}
|
|
2904
|
-
if (seen.has(child.id)) {
|
|
2905
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks hierarchy returned a duplicate task id");
|
|
2906
|
-
}
|
|
2907
|
-
seen.add(child.id);
|
|
2908
|
-
tasks.push(child);
|
|
2909
|
-
if (tasks.length > expectedTotal) {
|
|
2910
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks hierarchy exceeded /v1/stats tasks_all");
|
|
2911
|
-
}
|
|
2912
|
-
queue.push({ task: child, ancestors: new Set([...current.ancestors, child.id]) });
|
|
2913
|
-
}
|
|
2914
|
-
}
|
|
2915
|
-
if (tasks.length !== expectedTotal) {
|
|
2916
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_INCOMPATIBLE: /v1/tasks hierarchy did not account for every /v1/stats tasks_all row");
|
|
2917
|
-
}
|
|
2918
|
-
assertCompleteTaskHierarchy(tasks);
|
|
2919
|
-
return tasks;
|
|
2920
|
-
}
|
|
2921
|
-
async function cloudListAllTasksForResolution(client, expectedTotal) {
|
|
2922
|
-
const inclusive = await cloudPaginateTaskScope(client, { include_subtasks: true }, expectedTotal);
|
|
2923
|
-
if (inclusive.tasks.length === expectedTotal && (inclusive.total === undefined || inclusive.total === expectedTotal)) {
|
|
2924
|
-
assertCompleteTaskHierarchy(inclusive.tasks);
|
|
2925
|
-
return inclusive.tasks;
|
|
2926
|
-
}
|
|
2927
|
-
return cloudListTaskHierarchyForResolution(client, expectedTotal);
|
|
2928
|
-
}
|
|
2929
|
-
async function resolveTaskRefSnapshot(client, ref, input) {
|
|
2930
|
-
const beforeTotal = await cloudTasksAllCount(client);
|
|
2931
|
-
let tasks;
|
|
2932
|
-
try {
|
|
2933
|
-
tasks = await cloudListAllTasksForResolution(client, beforeTotal);
|
|
2934
|
-
} catch (error) {
|
|
2935
|
-
const afterFailureTotal = await cloudTasksAllCount(client);
|
|
2936
|
-
if (afterFailureTotal !== beforeTotal) {
|
|
2937
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_CHANGED_DURING_PAGINATION: tasks_all changed during task resolution", { cause: error });
|
|
2938
|
-
}
|
|
2939
|
-
throw error;
|
|
2940
|
-
}
|
|
2941
|
-
const exactShort = tasks.filter((task) => task.short_id?.toLowerCase() === input);
|
|
2942
|
-
const prefixes = exactShort.length === 0 ? tasks.filter((task) => task.id.toLowerCase().startsWith(input)) : [];
|
|
2943
|
-
const matches = exactShort.length > 0 ? exactShort : prefixes;
|
|
2944
|
-
if (matches.length > 1) {
|
|
2945
|
-
const afterTotal2 = await cloudTasksAllCount(client);
|
|
2946
|
-
if (afterTotal2 !== beforeTotal) {
|
|
2947
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_CHANGED_DURING_PAGINATION: tasks_all changed during task resolution");
|
|
2948
|
-
}
|
|
2949
|
-
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
2950
|
-
}
|
|
2951
|
-
if (matches.length === 0) {
|
|
2952
|
-
const afterTotal2 = await cloudTasksAllCount(client);
|
|
2953
|
-
if (afterTotal2 !== beforeTotal) {
|
|
2954
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_CHANGED_DURING_PAGINATION: tasks_all changed during task resolution");
|
|
2955
|
-
}
|
|
2956
|
-
throw new Error(`Task not found: ${ref}`);
|
|
2957
|
-
}
|
|
2958
|
-
const candidate = matches[0];
|
|
2959
|
-
const finalTask = await cloudGetTask(client, candidate.id);
|
|
2960
|
-
const finalMatches = finalTask?.id === candidate.id && (exactShort.length === 1 ? finalTask.short_id?.toLowerCase() === input : finalTask.id.toLowerCase().startsWith(input));
|
|
2961
|
-
if (!finalMatches) {
|
|
2962
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_CHANGED_DURING_PAGINATION: resolved task no longer matches the short reference");
|
|
2963
|
-
}
|
|
2964
|
-
const afterTotal = await cloudTasksAllCount(client);
|
|
2965
|
-
if (afterTotal !== beforeTotal) {
|
|
2966
|
-
throw new RemoteTaskReferenceSnapshotError("REMOTE_API_CHANGED_DURING_PAGINATION: tasks_all changed during task resolution");
|
|
2967
|
-
}
|
|
2968
|
-
return candidate.id;
|
|
2969
|
-
}
|
|
2970
2789
|
async function cloudResolveTaskRef(client, ref) {
|
|
2971
2790
|
const input = ref.trim().toLowerCase();
|
|
2972
2791
|
if (!input)
|
|
2973
2792
|
throw new Error("Task reference must not be empty");
|
|
2974
2793
|
if (UUID_RE.test(input))
|
|
2975
2794
|
return input;
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2795
|
+
let task;
|
|
2796
|
+
try {
|
|
2797
|
+
task = await cloudGetTask(client, input);
|
|
2798
|
+
} catch (error) {
|
|
2799
|
+
const status = error && typeof error === "object" ? error.status : undefined;
|
|
2800
|
+
if (status === 409)
|
|
2801
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
2802
|
+
throw error;
|
|
2803
|
+
}
|
|
2804
|
+
if (task && typeof task.id === "string" && (task.short_id?.toLowerCase() === input || task.id.toLowerCase().startsWith(input))) {
|
|
2805
|
+
return task.id;
|
|
2986
2806
|
}
|
|
2987
|
-
throw new Error(`
|
|
2807
|
+
throw new Error(`Task not found: ${ref}`);
|
|
2988
2808
|
}
|
|
2989
2809
|
async function cloudGetTask(client, id) {
|
|
2990
2810
|
const raw = await client.get("tasks", id);
|
|
@@ -3660,7 +3480,7 @@ async function cloudTimeline(client, options = {}) {
|
|
|
3660
3480
|
const limit = options.limit ?? 50;
|
|
3661
3481
|
return { entries: entries.slice(offset, offset + limit), total, limit, offset };
|
|
3662
3482
|
}
|
|
3663
|
-
var UUID_RE, CLOUD_MODES, VALID_STORAGE_MODES, COMPLETION_EVIDENCE_FIELDS, completionCapabilityCache,
|
|
3483
|
+
var UUID_RE, CLOUD_MODES, VALID_STORAGE_MODES, COMPLETION_EVIDENCE_FIELDS, completionCapabilityCache, PRIORITY_RANK;
|
|
3664
3484
|
var init_cloud_router = __esm(() => {
|
|
3665
3485
|
init_redaction();
|
|
3666
3486
|
UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
@@ -3675,8 +3495,6 @@ var init_cloud_router = __esm(() => {
|
|
|
3675
3495
|
"confidence"
|
|
3676
3496
|
];
|
|
3677
3497
|
completionCapabilityCache = new Map;
|
|
3678
|
-
RemoteTaskReferenceSnapshotError = class RemoteTaskReferenceSnapshotError extends Error {
|
|
3679
|
-
};
|
|
3680
3498
|
PRIORITY_RANK = { critical: 0, high: 1, medium: 2, low: 3 };
|
|
3681
3499
|
});
|
|
3682
3500
|
|
|
@@ -26746,6 +26564,26 @@ var init_sqlite_snapshot = __esm(() => {
|
|
|
26746
26564
|
});
|
|
26747
26565
|
|
|
26748
26566
|
// src/storage/local-sqlite.ts
|
|
26567
|
+
function resolveTaskRefLocal(db, ref) {
|
|
26568
|
+
const raw = ref.trim().toLowerCase();
|
|
26569
|
+
if (!raw)
|
|
26570
|
+
return null;
|
|
26571
|
+
if (TASK_UUID_RE2.test(raw))
|
|
26572
|
+
return getTask(raw, db);
|
|
26573
|
+
const prefixRows = db.query("SELECT id FROM tasks WHERE LOWER(id) LIKE ? ESCAPE '\\' LIMIT 2").all(`${raw.replace(/[\\%_]/g, (c) => `\\${c}`)}%`);
|
|
26574
|
+
if (prefixRows.length > 1) {
|
|
26575
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
26576
|
+
}
|
|
26577
|
+
if (prefixRows.length === 1)
|
|
26578
|
+
return getTask(prefixRows[0].id, db);
|
|
26579
|
+
const shortIdRows = db.query("SELECT id FROM tasks WHERE LOWER(short_id) = ? LIMIT 2").all(raw);
|
|
26580
|
+
if (shortIdRows.length > 1) {
|
|
26581
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
26582
|
+
}
|
|
26583
|
+
if (shortIdRows.length === 1)
|
|
26584
|
+
return getTask(shortIdRows[0].id, db);
|
|
26585
|
+
return null;
|
|
26586
|
+
}
|
|
26749
26587
|
function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
26750
26588
|
const database = () => options.db ?? getDatabase();
|
|
26751
26589
|
let adapter;
|
|
@@ -26761,6 +26599,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
26761
26599
|
tasks: {
|
|
26762
26600
|
create: (input) => createTask(input, database()),
|
|
26763
26601
|
get: (id) => getTask(id, database()),
|
|
26602
|
+
resolveRef: (ref) => resolveTaskRefLocal(database(), ref),
|
|
26764
26603
|
list: (filter = {}) => listTasks(filter, database()),
|
|
26765
26604
|
count: (filter = {}) => countTasks(filter, database()),
|
|
26766
26605
|
update: (id, input) => updateTask(id, input, database()),
|
|
@@ -26849,6 +26688,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
26849
26688
|
};
|
|
26850
26689
|
return adapter;
|
|
26851
26690
|
}
|
|
26691
|
+
var TASK_UUID_RE2;
|
|
26852
26692
|
var init_local_sqlite = __esm(() => {
|
|
26853
26693
|
init_tasks();
|
|
26854
26694
|
init_projects();
|
|
@@ -26860,6 +26700,7 @@ var init_local_sqlite = __esm(() => {
|
|
|
26860
26700
|
init_comments();
|
|
26861
26701
|
init_database();
|
|
26862
26702
|
init_sqlite_snapshot();
|
|
26703
|
+
TASK_UUID_RE2 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
26863
26704
|
});
|
|
26864
26705
|
|
|
26865
26706
|
// src/storage/postgres-sync.ts
|
|
@@ -26982,6 +26823,18 @@ function postgresTodosCommentCursorIndexSql(tableName = DEFAULT_TODOS_POSTGRES_S
|
|
|
26982
26823
|
ON ${tableName} (service, (payload->>'task_id'), (payload->>'created_at'), object_id)
|
|
26983
26824
|
WHERE object_type = 'comments' AND deleted_at IS NULL`;
|
|
26984
26825
|
}
|
|
26826
|
+
function postgresTodosTaskShortIdIndexSql(tableName = DEFAULT_TODOS_POSTGRES_SYNC_TABLE) {
|
|
26827
|
+
assertSafeIdentifier(tableName);
|
|
26828
|
+
return `CREATE INDEX CONCURRENTLY IF NOT EXISTS ${tableName}_task_short_id_idx
|
|
26829
|
+
ON ${tableName} ((LOWER(payload->>'short_id')))
|
|
26830
|
+
WHERE object_type = 'tasks' AND deleted_at IS NULL`;
|
|
26831
|
+
}
|
|
26832
|
+
function postgresTodosTaskObjectIdIndexSql(tableName = DEFAULT_TODOS_POSTGRES_SYNC_TABLE) {
|
|
26833
|
+
assertSafeIdentifier(tableName);
|
|
26834
|
+
return `CREATE INDEX CONCURRENTLY IF NOT EXISTS ${tableName}_task_object_id_c_idx
|
|
26835
|
+
ON ${tableName} (service, (object_id COLLATE "C"))
|
|
26836
|
+
WHERE object_type = 'tasks' AND deleted_at IS NULL`;
|
|
26837
|
+
}
|
|
26985
26838
|
|
|
26986
26839
|
class PostgresTodosSyncStore {
|
|
26987
26840
|
client;
|
|
@@ -27586,6 +27439,7 @@ function createPostgresTodosStorageAdapter(options) {
|
|
|
27586
27439
|
tasks: {
|
|
27587
27440
|
create: (input, context) => createTask2(input, store, context),
|
|
27588
27441
|
get: (id) => store.get("tasks", id),
|
|
27442
|
+
resolveRef: (ref) => store.resolveTaskRef(ref),
|
|
27589
27443
|
list: (filter = {}) => store.listTasks(filter),
|
|
27590
27444
|
count: (filter = {}) => store.countTasks(filter),
|
|
27591
27445
|
update: (id, input) => updateTask2(id, input, store),
|
|
@@ -27838,6 +27692,37 @@ class PostgresJsonRecordStore {
|
|
|
27838
27692
|
const row = result.rows[0];
|
|
27839
27693
|
return row ? payloadRecord2(row.payload) : null;
|
|
27840
27694
|
}
|
|
27695
|
+
async resolveTaskRef(ref) {
|
|
27696
|
+
await this.ensureSchema();
|
|
27697
|
+
const raw = ref.trim().toLowerCase();
|
|
27698
|
+
if (!raw)
|
|
27699
|
+
return null;
|
|
27700
|
+
const lastCode = raw.charCodeAt(raw.length - 1);
|
|
27701
|
+
if (lastCode < 65535) {
|
|
27702
|
+
const upper = raw.slice(0, -1) + String.fromCharCode(lastCode + 1);
|
|
27703
|
+
const prefixResult = await this.options.client.query(`/* todos:resolve-task-ref-prefix */ SELECT payload FROM ${this.tableName}
|
|
27704
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
27705
|
+
AND object_id COLLATE "C" >= $2 AND object_id COLLATE "C" < $3
|
|
27706
|
+
LIMIT 2`, [this.service, raw, upper]);
|
|
27707
|
+
if (prefixResult.rows.length > 1) {
|
|
27708
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
27709
|
+
}
|
|
27710
|
+
if (prefixResult.rows.length === 1) {
|
|
27711
|
+
return payloadRecord2(prefixResult.rows[0].payload);
|
|
27712
|
+
}
|
|
27713
|
+
}
|
|
27714
|
+
const shortIdResult = await this.options.client.query(`/* todos:resolve-task-ref-short-id */ SELECT payload FROM ${this.tableName}
|
|
27715
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
27716
|
+
AND LOWER(payload->>'short_id') = $2
|
|
27717
|
+
LIMIT 2`, [this.service, raw]);
|
|
27718
|
+
if (shortIdResult.rows.length > 1) {
|
|
27719
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
27720
|
+
}
|
|
27721
|
+
if (shortIdResult.rows.length === 1) {
|
|
27722
|
+
return payloadRecord2(shortIdResult.rows[0].payload);
|
|
27723
|
+
}
|
|
27724
|
+
return null;
|
|
27725
|
+
}
|
|
27841
27726
|
async countTasks(filter) {
|
|
27842
27727
|
await this.ensureSchema();
|
|
27843
27728
|
const { where, params } = this.buildTaskFilterSql(filter);
|
|
@@ -29030,6 +28915,8 @@ __export(exports_cloud, {
|
|
|
29030
28915
|
getCloudVerifier: () => getCloudVerifier,
|
|
29031
28916
|
getCloudStorageAdapter: () => getCloudStorageAdapter,
|
|
29032
28917
|
getApiKeyStore: () => getApiKeyStore,
|
|
28918
|
+
ensureCloudTaskShortIdIndex: () => ensureCloudTaskShortIdIndex,
|
|
28919
|
+
ensureCloudTaskObjectIdIndex: () => ensureCloudTaskObjectIdIndex,
|
|
29033
28920
|
ensureCloudScopedSlugUniqueIndexes: () => ensureCloudScopedSlugUniqueIndexes,
|
|
29034
28921
|
ensureCloudSchema: () => ensureCloudSchema,
|
|
29035
28922
|
ensureCloudCommentCursorIndex: () => ensureCloudCommentCursorIndex,
|
|
@@ -29117,6 +29004,12 @@ async function ensureCloudSchema() {
|
|
|
29117
29004
|
async function ensureCloudCommentCursorIndex() {
|
|
29118
29005
|
await getClient().query(postgresTodosCommentCursorIndexSql());
|
|
29119
29006
|
}
|
|
29007
|
+
async function ensureCloudTaskShortIdIndex() {
|
|
29008
|
+
await getClient().query(postgresTodosTaskShortIdIndexSql());
|
|
29009
|
+
}
|
|
29010
|
+
async function ensureCloudTaskObjectIdIndex() {
|
|
29011
|
+
await getClient().query(postgresTodosTaskObjectIdIndexSql());
|
|
29012
|
+
}
|
|
29120
29013
|
async function ensureCloudScopedSlugUniqueIndexes() {
|
|
29121
29014
|
await ensurePostgresScopedSlugUniqueIndexes(getClient());
|
|
29122
29015
|
}
|
|
@@ -30411,7 +30304,17 @@ async function handleV1Request(req, url, dependencies = {}) {
|
|
|
30411
30304
|
return error(404, `unknown task action: ${action}`);
|
|
30412
30305
|
}
|
|
30413
30306
|
if (method === "GET") {
|
|
30414
|
-
|
|
30307
|
+
let task = await store.tasks.get(id);
|
|
30308
|
+
if (!task && typeof store.tasks.resolveRef === "function") {
|
|
30309
|
+
try {
|
|
30310
|
+
task = await store.tasks.resolveRef(id);
|
|
30311
|
+
} catch (e) {
|
|
30312
|
+
const msg = e.message || "";
|
|
30313
|
+
if (/ambiguous/i.test(msg))
|
|
30314
|
+
return error(409, msg);
|
|
30315
|
+
throw e;
|
|
30316
|
+
}
|
|
30317
|
+
}
|
|
30415
30318
|
return task ? json2({ task }) : error(404, "task not found");
|
|
30416
30319
|
}
|
|
30417
30320
|
if (method === "PATCH" || method === "PUT") {
|
package/dist/contracts.js
CHANGED
|
@@ -10756,7 +10756,7 @@ var init_tasks = __esm(() => {
|
|
|
10756
10756
|
// package.json
|
|
10757
10757
|
var package_default = {
|
|
10758
10758
|
name: "@hasna/todos",
|
|
10759
|
-
version: "0.11.
|
|
10759
|
+
version: "0.11.93",
|
|
10760
10760
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
10761
10761
|
type: "module",
|
|
10762
10762
|
main: "dist/index.js",
|
package/dist/index.js
CHANGED
|
@@ -10861,7 +10861,7 @@ var init_dispatches = __esm(() => {
|
|
|
10861
10861
|
// package.json
|
|
10862
10862
|
var package_default = {
|
|
10863
10863
|
name: "@hasna/todos",
|
|
10864
|
-
version: "0.11.
|
|
10864
|
+
version: "0.11.93",
|
|
10865
10865
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
10866
10866
|
type: "module",
|
|
10867
10867
|
main: "dist/index.js",
|
|
@@ -23488,6 +23488,27 @@ function clockColumnsForTable(table) {
|
|
|
23488
23488
|
}
|
|
23489
23489
|
|
|
23490
23490
|
// src/storage/local-sqlite.ts
|
|
23491
|
+
var TASK_UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
23492
|
+
function resolveTaskRefLocal(db, ref) {
|
|
23493
|
+
const raw = ref.trim().toLowerCase();
|
|
23494
|
+
if (!raw)
|
|
23495
|
+
return null;
|
|
23496
|
+
if (TASK_UUID_RE.test(raw))
|
|
23497
|
+
return getTask(raw, db);
|
|
23498
|
+
const prefixRows = db.query("SELECT id FROM tasks WHERE LOWER(id) LIKE ? ESCAPE '\\' LIMIT 2").all(`${raw.replace(/[\\%_]/g, (c) => `\\${c}`)}%`);
|
|
23499
|
+
if (prefixRows.length > 1) {
|
|
23500
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
23501
|
+
}
|
|
23502
|
+
if (prefixRows.length === 1)
|
|
23503
|
+
return getTask(prefixRows[0].id, db);
|
|
23504
|
+
const shortIdRows = db.query("SELECT id FROM tasks WHERE LOWER(short_id) = ? LIMIT 2").all(raw);
|
|
23505
|
+
if (shortIdRows.length > 1) {
|
|
23506
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
23507
|
+
}
|
|
23508
|
+
if (shortIdRows.length === 1)
|
|
23509
|
+
return getTask(shortIdRows[0].id, db);
|
|
23510
|
+
return null;
|
|
23511
|
+
}
|
|
23491
23512
|
function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
23492
23513
|
const database = () => options.db ?? getDatabase();
|
|
23493
23514
|
let adapter;
|
|
@@ -23503,6 +23524,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
23503
23524
|
tasks: {
|
|
23504
23525
|
create: (input) => createTask(input, database()),
|
|
23505
23526
|
get: (id) => getTask(id, database()),
|
|
23527
|
+
resolveRef: (ref) => resolveTaskRefLocal(database(), ref),
|
|
23506
23528
|
list: (filter = {}) => listTasks(filter, database()),
|
|
23507
23529
|
count: (filter = {}) => countTasks(filter, database()),
|
|
23508
23530
|
update: (id, input) => updateTask(id, input, database()),
|
|
@@ -23733,7 +23755,6 @@ function postgresTodosCommentCursorIndexSql(tableName = DEFAULT_TODOS_POSTGRES_S
|
|
|
23733
23755
|
ON ${tableName} (service, (payload->>'task_id'), (payload->>'created_at'), object_id)
|
|
23734
23756
|
WHERE object_type = 'comments' AND deleted_at IS NULL`;
|
|
23735
23757
|
}
|
|
23736
|
-
|
|
23737
23758
|
class PostgresTodosSyncStore {
|
|
23738
23759
|
client;
|
|
23739
23760
|
service;
|
|
@@ -24020,6 +24041,7 @@ function createPostgresTodosStorageAdapter(options) {
|
|
|
24020
24041
|
tasks: {
|
|
24021
24042
|
create: (input, context) => createTask2(input, store, context),
|
|
24022
24043
|
get: (id) => store.get("tasks", id),
|
|
24044
|
+
resolveRef: (ref) => store.resolveTaskRef(ref),
|
|
24023
24045
|
list: (filter = {}) => store.listTasks(filter),
|
|
24024
24046
|
count: (filter = {}) => store.countTasks(filter),
|
|
24025
24047
|
update: (id, input) => updateTask2(id, input, store),
|
|
@@ -24272,6 +24294,37 @@ class PostgresJsonRecordStore {
|
|
|
24272
24294
|
const row = result.rows[0];
|
|
24273
24295
|
return row ? payloadRecord2(row.payload) : null;
|
|
24274
24296
|
}
|
|
24297
|
+
async resolveTaskRef(ref) {
|
|
24298
|
+
await this.ensureSchema();
|
|
24299
|
+
const raw = ref.trim().toLowerCase();
|
|
24300
|
+
if (!raw)
|
|
24301
|
+
return null;
|
|
24302
|
+
const lastCode = raw.charCodeAt(raw.length - 1);
|
|
24303
|
+
if (lastCode < 65535) {
|
|
24304
|
+
const upper = raw.slice(0, -1) + String.fromCharCode(lastCode + 1);
|
|
24305
|
+
const prefixResult = await this.options.client.query(`/* todos:resolve-task-ref-prefix */ SELECT payload FROM ${this.tableName}
|
|
24306
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
24307
|
+
AND object_id COLLATE "C" >= $2 AND object_id COLLATE "C" < $3
|
|
24308
|
+
LIMIT 2`, [this.service, raw, upper]);
|
|
24309
|
+
if (prefixResult.rows.length > 1) {
|
|
24310
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
24311
|
+
}
|
|
24312
|
+
if (prefixResult.rows.length === 1) {
|
|
24313
|
+
return payloadRecord2(prefixResult.rows[0].payload);
|
|
24314
|
+
}
|
|
24315
|
+
}
|
|
24316
|
+
const shortIdResult = await this.options.client.query(`/* todos:resolve-task-ref-short-id */ SELECT payload FROM ${this.tableName}
|
|
24317
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
24318
|
+
AND LOWER(payload->>'short_id') = $2
|
|
24319
|
+
LIMIT 2`, [this.service, raw]);
|
|
24320
|
+
if (shortIdResult.rows.length > 1) {
|
|
24321
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
24322
|
+
}
|
|
24323
|
+
if (shortIdResult.rows.length === 1) {
|
|
24324
|
+
return payloadRecord2(shortIdResult.rows[0].payload);
|
|
24325
|
+
}
|
|
24326
|
+
return null;
|
|
24327
|
+
}
|
|
24275
24328
|
async countTasks(filter) {
|
|
24276
24329
|
await this.ensureSchema();
|
|
24277
24330
|
const { where, params } = this.buildTaskFilterSql(filter);
|
package/dist/mcp/index.js
CHANGED
|
@@ -30647,7 +30647,7 @@ var package_default;
|
|
|
30647
30647
|
var init_package = __esm(() => {
|
|
30648
30648
|
package_default = {
|
|
30649
30649
|
name: "@hasna/todos",
|
|
30650
|
-
version: "0.11.
|
|
30650
|
+
version: "0.11.93",
|
|
30651
30651
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
30652
30652
|
type: "module",
|
|
30653
30653
|
main: "dist/index.js",
|
|
@@ -40347,6 +40347,26 @@ var init_sqlite_snapshot = __esm(() => {
|
|
|
40347
40347
|
});
|
|
40348
40348
|
|
|
40349
40349
|
// src/storage/local-sqlite.ts
|
|
40350
|
+
function resolveTaskRefLocal(db, ref) {
|
|
40351
|
+
const raw = ref.trim().toLowerCase();
|
|
40352
|
+
if (!raw)
|
|
40353
|
+
return null;
|
|
40354
|
+
if (TASK_UUID_RE.test(raw))
|
|
40355
|
+
return getTask(raw, db);
|
|
40356
|
+
const prefixRows = db.query("SELECT id FROM tasks WHERE LOWER(id) LIKE ? ESCAPE '\\' LIMIT 2").all(`${raw.replace(/[\\%_]/g, (c) => `\\${c}`)}%`);
|
|
40357
|
+
if (prefixRows.length > 1) {
|
|
40358
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
40359
|
+
}
|
|
40360
|
+
if (prefixRows.length === 1)
|
|
40361
|
+
return getTask(prefixRows[0].id, db);
|
|
40362
|
+
const shortIdRows = db.query("SELECT id FROM tasks WHERE LOWER(short_id) = ? LIMIT 2").all(raw);
|
|
40363
|
+
if (shortIdRows.length > 1) {
|
|
40364
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
40365
|
+
}
|
|
40366
|
+
if (shortIdRows.length === 1)
|
|
40367
|
+
return getTask(shortIdRows[0].id, db);
|
|
40368
|
+
return null;
|
|
40369
|
+
}
|
|
40350
40370
|
function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
40351
40371
|
const database = () => options.db ?? getDatabase();
|
|
40352
40372
|
let adapter;
|
|
@@ -40362,6 +40382,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
40362
40382
|
tasks: {
|
|
40363
40383
|
create: (input) => createTask(input, database()),
|
|
40364
40384
|
get: (id) => getTask(id, database()),
|
|
40385
|
+
resolveRef: (ref) => resolveTaskRefLocal(database(), ref),
|
|
40365
40386
|
list: (filter = {}) => listTasks(filter, database()),
|
|
40366
40387
|
count: (filter = {}) => countTasks(filter, database()),
|
|
40367
40388
|
update: (id, input) => updateTask(id, input, database()),
|
|
@@ -40450,6 +40471,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
40450
40471
|
};
|
|
40451
40472
|
return adapter;
|
|
40452
40473
|
}
|
|
40474
|
+
var TASK_UUID_RE;
|
|
40453
40475
|
var init_local_sqlite = __esm(() => {
|
|
40454
40476
|
init_tasks();
|
|
40455
40477
|
init_projects();
|
|
@@ -40461,6 +40483,7 @@ var init_local_sqlite = __esm(() => {
|
|
|
40461
40483
|
init_comments();
|
|
40462
40484
|
init_database();
|
|
40463
40485
|
init_sqlite_snapshot();
|
|
40486
|
+
TASK_UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
40464
40487
|
});
|
|
40465
40488
|
|
|
40466
40489
|
// src/storage/postgres-sync.ts
|
|
@@ -40583,6 +40606,18 @@ function postgresTodosCommentCursorIndexSql(tableName = DEFAULT_TODOS_POSTGRES_S
|
|
|
40583
40606
|
ON ${tableName} (service, (payload->>'task_id'), (payload->>'created_at'), object_id)
|
|
40584
40607
|
WHERE object_type = 'comments' AND deleted_at IS NULL`;
|
|
40585
40608
|
}
|
|
40609
|
+
function postgresTodosTaskShortIdIndexSql(tableName = DEFAULT_TODOS_POSTGRES_SYNC_TABLE) {
|
|
40610
|
+
assertSafeIdentifier(tableName);
|
|
40611
|
+
return `CREATE INDEX CONCURRENTLY IF NOT EXISTS ${tableName}_task_short_id_idx
|
|
40612
|
+
ON ${tableName} ((LOWER(payload->>'short_id')))
|
|
40613
|
+
WHERE object_type = 'tasks' AND deleted_at IS NULL`;
|
|
40614
|
+
}
|
|
40615
|
+
function postgresTodosTaskObjectIdIndexSql(tableName = DEFAULT_TODOS_POSTGRES_SYNC_TABLE) {
|
|
40616
|
+
assertSafeIdentifier(tableName);
|
|
40617
|
+
return `CREATE INDEX CONCURRENTLY IF NOT EXISTS ${tableName}_task_object_id_c_idx
|
|
40618
|
+
ON ${tableName} (service, (object_id COLLATE "C"))
|
|
40619
|
+
WHERE object_type = 'tasks' AND deleted_at IS NULL`;
|
|
40620
|
+
}
|
|
40586
40621
|
|
|
40587
40622
|
class PostgresTodosSyncStore {
|
|
40588
40623
|
client;
|
|
@@ -42190,6 +42225,7 @@ function createPostgresTodosStorageAdapter(options) {
|
|
|
42190
42225
|
tasks: {
|
|
42191
42226
|
create: (input, context) => createTask3(input, store, context),
|
|
42192
42227
|
get: (id) => store.get("tasks", id),
|
|
42228
|
+
resolveRef: (ref) => store.resolveTaskRef(ref),
|
|
42193
42229
|
list: (filter = {}) => store.listTasks(filter),
|
|
42194
42230
|
count: (filter = {}) => store.countTasks(filter),
|
|
42195
42231
|
update: (id, input) => updateTask2(id, input, store),
|
|
@@ -42442,6 +42478,37 @@ class PostgresJsonRecordStore {
|
|
|
42442
42478
|
const row = result.rows[0];
|
|
42443
42479
|
return row ? payloadRecord2(row.payload) : null;
|
|
42444
42480
|
}
|
|
42481
|
+
async resolveTaskRef(ref) {
|
|
42482
|
+
await this.ensureSchema();
|
|
42483
|
+
const raw = ref.trim().toLowerCase();
|
|
42484
|
+
if (!raw)
|
|
42485
|
+
return null;
|
|
42486
|
+
const lastCode = raw.charCodeAt(raw.length - 1);
|
|
42487
|
+
if (lastCode < 65535) {
|
|
42488
|
+
const upper = raw.slice(0, -1) + String.fromCharCode(lastCode + 1);
|
|
42489
|
+
const prefixResult = await this.options.client.query(`/* todos:resolve-task-ref-prefix */ SELECT payload FROM ${this.tableName}
|
|
42490
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
42491
|
+
AND object_id COLLATE "C" >= $2 AND object_id COLLATE "C" < $3
|
|
42492
|
+
LIMIT 2`, [this.service, raw, upper]);
|
|
42493
|
+
if (prefixResult.rows.length > 1) {
|
|
42494
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
42495
|
+
}
|
|
42496
|
+
if (prefixResult.rows.length === 1) {
|
|
42497
|
+
return payloadRecord2(prefixResult.rows[0].payload);
|
|
42498
|
+
}
|
|
42499
|
+
}
|
|
42500
|
+
const shortIdResult = await this.options.client.query(`/* todos:resolve-task-ref-short-id */ SELECT payload FROM ${this.tableName}
|
|
42501
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
42502
|
+
AND LOWER(payload->>'short_id') = $2
|
|
42503
|
+
LIMIT 2`, [this.service, raw]);
|
|
42504
|
+
if (shortIdResult.rows.length > 1) {
|
|
42505
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
42506
|
+
}
|
|
42507
|
+
if (shortIdResult.rows.length === 1) {
|
|
42508
|
+
return payloadRecord2(shortIdResult.rows[0].payload);
|
|
42509
|
+
}
|
|
42510
|
+
return null;
|
|
42511
|
+
}
|
|
42445
42512
|
async countTasks(filter) {
|
|
42446
42513
|
await this.ensureSchema();
|
|
42447
42514
|
const { where, params } = this.buildTaskFilterSql(filter);
|
|
@@ -43631,6 +43698,8 @@ __export(exports_cloud, {
|
|
|
43631
43698
|
getCloudVerifier: () => getCloudVerifier,
|
|
43632
43699
|
getCloudStorageAdapter: () => getCloudStorageAdapter,
|
|
43633
43700
|
getApiKeyStore: () => getApiKeyStore,
|
|
43701
|
+
ensureCloudTaskShortIdIndex: () => ensureCloudTaskShortIdIndex,
|
|
43702
|
+
ensureCloudTaskObjectIdIndex: () => ensureCloudTaskObjectIdIndex,
|
|
43634
43703
|
ensureCloudScopedSlugUniqueIndexes: () => ensureCloudScopedSlugUniqueIndexes,
|
|
43635
43704
|
ensureCloudSchema: () => ensureCloudSchema,
|
|
43636
43705
|
ensureCloudCommentCursorIndex: () => ensureCloudCommentCursorIndex,
|
|
@@ -43718,6 +43787,12 @@ async function ensureCloudSchema() {
|
|
|
43718
43787
|
async function ensureCloudCommentCursorIndex() {
|
|
43719
43788
|
await getClient().query(postgresTodosCommentCursorIndexSql());
|
|
43720
43789
|
}
|
|
43790
|
+
async function ensureCloudTaskShortIdIndex() {
|
|
43791
|
+
await getClient().query(postgresTodosTaskShortIdIndexSql());
|
|
43792
|
+
}
|
|
43793
|
+
async function ensureCloudTaskObjectIdIndex() {
|
|
43794
|
+
await getClient().query(postgresTodosTaskObjectIdIndexSql());
|
|
43795
|
+
}
|
|
43721
43796
|
async function ensureCloudScopedSlugUniqueIndexes() {
|
|
43722
43797
|
await ensurePostgresScopedSlugUniqueIndexes(getClient());
|
|
43723
43798
|
}
|
|
@@ -45012,7 +45087,17 @@ async function handleV1Request(req, url, dependencies = {}) {
|
|
|
45012
45087
|
return error(404, `unknown task action: ${action}`);
|
|
45013
45088
|
}
|
|
45014
45089
|
if (method === "GET") {
|
|
45015
|
-
|
|
45090
|
+
let task2 = await store.tasks.get(id);
|
|
45091
|
+
if (!task2 && typeof store.tasks.resolveRef === "function") {
|
|
45092
|
+
try {
|
|
45093
|
+
task2 = await store.tasks.resolveRef(id);
|
|
45094
|
+
} catch (e) {
|
|
45095
|
+
const msg = e.message || "";
|
|
45096
|
+
if (/ambiguous/i.test(msg))
|
|
45097
|
+
return error(409, msg);
|
|
45098
|
+
throw e;
|
|
45099
|
+
}
|
|
45100
|
+
}
|
|
45016
45101
|
return task2 ? json2({ task: task2 }) : error(404, "task not found");
|
|
45017
45102
|
}
|
|
45018
45103
|
if (method === "PATCH" || method === "PUT") {
|
package/dist/mcp.js
CHANGED
|
@@ -41,7 +41,7 @@ var __require = import.meta.require;
|
|
|
41
41
|
// package.json
|
|
42
42
|
var package_default = {
|
|
43
43
|
name: "@hasna/todos",
|
|
44
|
-
version: "0.11.
|
|
44
|
+
version: "0.11.93",
|
|
45
45
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
46
46
|
type: "module",
|
|
47
47
|
main: "dist/index.js",
|
package/dist/registry.js
CHANGED
|
@@ -10756,7 +10756,7 @@ var init_tasks = __esm(() => {
|
|
|
10756
10756
|
// package.json
|
|
10757
10757
|
var package_default = {
|
|
10758
10758
|
name: "@hasna/todos",
|
|
10759
|
-
version: "0.11.
|
|
10759
|
+
version: "0.11.93",
|
|
10760
10760
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
10761
10761
|
type: "module",
|
|
10762
10762
|
main: "dist/index.js",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageName": "@hasna/todos",
|
|
3
|
-
"packageVersion": "0.11.
|
|
3
|
+
"packageVersion": "0.11.93",
|
|
4
4
|
"repository": "https://github.com/hasna/todos.git",
|
|
5
|
-
"gitCommit": "
|
|
6
|
-
"gitTree": "
|
|
7
|
-
"sourceTreeSha256": "
|
|
8
|
-
"generatedAt": "2026-07-
|
|
5
|
+
"gitCommit": "587429d21e17aa8aef579f268aeb21d936cbd318",
|
|
6
|
+
"gitTree": "66ffc2eae17dcdb8234c9c4f6196eb5a944c4d7e",
|
|
7
|
+
"sourceTreeSha256": "349ea2e0ea68b5176cfbd1b6e1c7f3f9d79706c1bf6cdd17d1436a6a622f26ed",
|
|
8
|
+
"generatedAt": "2026-07-20T06:14:03.000Z"
|
|
9
9
|
}
|
package/dist/server/cloud.d.ts
CHANGED
|
@@ -40,6 +40,16 @@ export declare function ensureCloudSchema(): Promise<void>;
|
|
|
40
40
|
* `CREATE INDEX CONCURRENTLY` to execute outside an explicit transaction.
|
|
41
41
|
*/
|
|
42
42
|
export declare function ensureCloudCommentCursorIndex(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Optional latency index for case-insensitive short_id resolution. CONCURRENTLY,
|
|
45
|
+
* outside a transaction — a deployment migration, not request-path schema work.
|
|
46
|
+
*/
|
|
47
|
+
export declare function ensureCloudTaskShortIdIndex(): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Optional byte-order index for the id-prefix branch of short-reference
|
|
50
|
+
* resolution. CONCURRENTLY, outside a transaction — a deployment migration.
|
|
51
|
+
*/
|
|
52
|
+
export declare function ensureCloudTaskObjectIdIndex(): Promise<void>;
|
|
43
53
|
/** Audit duplicates, then establish project/task-list slug invariants concurrently. */
|
|
44
54
|
export declare function ensureCloudScopedSlugUniqueIndexes(): Promise<void>;
|
|
45
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/server/cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAwB,MAAM,uBAAuB,CAAC;AAG1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/server/cloud.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAwB,MAAM,uBAAuB,CAAC;AAG1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQpE,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACpC,MAAM,0CAA0C,CAAC;AAElD,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAOhG;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAO7F;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEhF;AAoBD,4EAA4E;AAC5E,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D;AAuBD,wBAAgB,cAAc,IAAI,WAAW,CAI5C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAejD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUvD;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC,CAEjE;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAElE;AAED,uFAAuF;AACvF,wBAAsB,kCAAkC,IAAI,OAAO,CAAC,IAAI,CAAC,CAExE;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAS9D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,8BAA8B,CAAC,CAEzC;AAED,iEAAiE;AACjE,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAIlD;AAED,4BAA4B;AAC5B,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAOhD"}
|
package/dist/server/index.js
CHANGED
|
@@ -70,7 +70,7 @@ var package_default;
|
|
|
70
70
|
var init_package = __esm(() => {
|
|
71
71
|
package_default = {
|
|
72
72
|
name: "@hasna/todos",
|
|
73
|
-
version: "0.11.
|
|
73
|
+
version: "0.11.93",
|
|
74
74
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
75
75
|
type: "module",
|
|
76
76
|
main: "dist/index.js",
|
|
@@ -772,6 +772,18 @@ function postgresTodosCommentCursorIndexSql(tableName = DEFAULT_TODOS_POSTGRES_S
|
|
|
772
772
|
ON ${tableName} (service, (payload->>'task_id'), (payload->>'created_at'), object_id)
|
|
773
773
|
WHERE object_type = 'comments' AND deleted_at IS NULL`;
|
|
774
774
|
}
|
|
775
|
+
function postgresTodosTaskShortIdIndexSql(tableName = DEFAULT_TODOS_POSTGRES_SYNC_TABLE) {
|
|
776
|
+
assertSafeIdentifier(tableName);
|
|
777
|
+
return `CREATE INDEX CONCURRENTLY IF NOT EXISTS ${tableName}_task_short_id_idx
|
|
778
|
+
ON ${tableName} ((LOWER(payload->>'short_id')))
|
|
779
|
+
WHERE object_type = 'tasks' AND deleted_at IS NULL`;
|
|
780
|
+
}
|
|
781
|
+
function postgresTodosTaskObjectIdIndexSql(tableName = DEFAULT_TODOS_POSTGRES_SYNC_TABLE) {
|
|
782
|
+
assertSafeIdentifier(tableName);
|
|
783
|
+
return `CREATE INDEX CONCURRENTLY IF NOT EXISTS ${tableName}_task_object_id_c_idx
|
|
784
|
+
ON ${tableName} (service, (object_id COLLATE "C"))
|
|
785
|
+
WHERE object_type = 'tasks' AND deleted_at IS NULL`;
|
|
786
|
+
}
|
|
775
787
|
|
|
776
788
|
class PostgresTodosSyncStore {
|
|
777
789
|
client;
|
|
@@ -1230,6 +1242,7 @@ function createPostgresTodosStorageAdapter(options) {
|
|
|
1230
1242
|
tasks: {
|
|
1231
1243
|
create: (input, context) => createTask(input, store, context),
|
|
1232
1244
|
get: (id) => store.get("tasks", id),
|
|
1245
|
+
resolveRef: (ref) => store.resolveTaskRef(ref),
|
|
1233
1246
|
list: (filter = {}) => store.listTasks(filter),
|
|
1234
1247
|
count: (filter = {}) => store.countTasks(filter),
|
|
1235
1248
|
update: (id, input) => updateTask(id, input, store),
|
|
@@ -1482,6 +1495,37 @@ class PostgresJsonRecordStore {
|
|
|
1482
1495
|
const row = result.rows[0];
|
|
1483
1496
|
return row ? payloadRecord2(row.payload) : null;
|
|
1484
1497
|
}
|
|
1498
|
+
async resolveTaskRef(ref) {
|
|
1499
|
+
await this.ensureSchema();
|
|
1500
|
+
const raw = ref.trim().toLowerCase();
|
|
1501
|
+
if (!raw)
|
|
1502
|
+
return null;
|
|
1503
|
+
const lastCode = raw.charCodeAt(raw.length - 1);
|
|
1504
|
+
if (lastCode < 65535) {
|
|
1505
|
+
const upper = raw.slice(0, -1) + String.fromCharCode(lastCode + 1);
|
|
1506
|
+
const prefixResult = await this.options.client.query(`/* todos:resolve-task-ref-prefix */ SELECT payload FROM ${this.tableName}
|
|
1507
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
1508
|
+
AND object_id COLLATE "C" >= $2 AND object_id COLLATE "C" < $3
|
|
1509
|
+
LIMIT 2`, [this.service, raw, upper]);
|
|
1510
|
+
if (prefixResult.rows.length > 1) {
|
|
1511
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
1512
|
+
}
|
|
1513
|
+
if (prefixResult.rows.length === 1) {
|
|
1514
|
+
return payloadRecord2(prefixResult.rows[0].payload);
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
const shortIdResult = await this.options.client.query(`/* todos:resolve-task-ref-short-id */ SELECT payload FROM ${this.tableName}
|
|
1518
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
1519
|
+
AND LOWER(payload->>'short_id') = $2
|
|
1520
|
+
LIMIT 2`, [this.service, raw]);
|
|
1521
|
+
if (shortIdResult.rows.length > 1) {
|
|
1522
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
1523
|
+
}
|
|
1524
|
+
if (shortIdResult.rows.length === 1) {
|
|
1525
|
+
return payloadRecord2(shortIdResult.rows[0].payload);
|
|
1526
|
+
}
|
|
1527
|
+
return null;
|
|
1528
|
+
}
|
|
1485
1529
|
async countTasks(filter) {
|
|
1486
1530
|
await this.ensureSchema();
|
|
1487
1531
|
const { where, params } = this.buildTaskFilterSql(filter);
|
|
@@ -2680,6 +2724,8 @@ __export(exports_cloud, {
|
|
|
2680
2724
|
getCloudVerifier: () => getCloudVerifier,
|
|
2681
2725
|
getCloudStorageAdapter: () => getCloudStorageAdapter,
|
|
2682
2726
|
getApiKeyStore: () => getApiKeyStore,
|
|
2727
|
+
ensureCloudTaskShortIdIndex: () => ensureCloudTaskShortIdIndex,
|
|
2728
|
+
ensureCloudTaskObjectIdIndex: () => ensureCloudTaskObjectIdIndex,
|
|
2683
2729
|
ensureCloudScopedSlugUniqueIndexes: () => ensureCloudScopedSlugUniqueIndexes,
|
|
2684
2730
|
ensureCloudSchema: () => ensureCloudSchema,
|
|
2685
2731
|
ensureCloudCommentCursorIndex: () => ensureCloudCommentCursorIndex,
|
|
@@ -2767,6 +2813,12 @@ async function ensureCloudSchema() {
|
|
|
2767
2813
|
async function ensureCloudCommentCursorIndex() {
|
|
2768
2814
|
await getClient().query(postgresTodosCommentCursorIndexSql());
|
|
2769
2815
|
}
|
|
2816
|
+
async function ensureCloudTaskShortIdIndex() {
|
|
2817
|
+
await getClient().query(postgresTodosTaskShortIdIndexSql());
|
|
2818
|
+
}
|
|
2819
|
+
async function ensureCloudTaskObjectIdIndex() {
|
|
2820
|
+
await getClient().query(postgresTodosTaskObjectIdIndexSql());
|
|
2821
|
+
}
|
|
2770
2822
|
async function ensureCloudScopedSlugUniqueIndexes() {
|
|
2771
2823
|
await ensurePostgresScopedSlugUniqueIndexes(getClient());
|
|
2772
2824
|
}
|
|
@@ -15506,6 +15558,26 @@ var init_sqlite_snapshot = __esm(() => {
|
|
|
15506
15558
|
});
|
|
15507
15559
|
|
|
15508
15560
|
// src/storage/local-sqlite.ts
|
|
15561
|
+
function resolveTaskRefLocal(db, ref) {
|
|
15562
|
+
const raw = ref.trim().toLowerCase();
|
|
15563
|
+
if (!raw)
|
|
15564
|
+
return null;
|
|
15565
|
+
if (TASK_UUID_RE.test(raw))
|
|
15566
|
+
return getTask(raw, db);
|
|
15567
|
+
const prefixRows = db.query("SELECT id FROM tasks WHERE LOWER(id) LIKE ? ESCAPE '\\' LIMIT 2").all(`${raw.replace(/[\\%_]/g, (c) => `\\${c}`)}%`);
|
|
15568
|
+
if (prefixRows.length > 1) {
|
|
15569
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
15570
|
+
}
|
|
15571
|
+
if (prefixRows.length === 1)
|
|
15572
|
+
return getTask(prefixRows[0].id, db);
|
|
15573
|
+
const shortIdRows = db.query("SELECT id FROM tasks WHERE LOWER(short_id) = ? LIMIT 2").all(raw);
|
|
15574
|
+
if (shortIdRows.length > 1) {
|
|
15575
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
15576
|
+
}
|
|
15577
|
+
if (shortIdRows.length === 1)
|
|
15578
|
+
return getTask(shortIdRows[0].id, db);
|
|
15579
|
+
return null;
|
|
15580
|
+
}
|
|
15509
15581
|
function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
15510
15582
|
const database = () => options.db ?? getDatabase();
|
|
15511
15583
|
let adapter;
|
|
@@ -15521,6 +15593,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
15521
15593
|
tasks: {
|
|
15522
15594
|
create: (input) => createTask2(input, database()),
|
|
15523
15595
|
get: (id) => getTask(id, database()),
|
|
15596
|
+
resolveRef: (ref) => resolveTaskRefLocal(database(), ref),
|
|
15524
15597
|
list: (filter = {}) => listTasks2(filter, database()),
|
|
15525
15598
|
count: (filter = {}) => countTasks(filter, database()),
|
|
15526
15599
|
update: (id, input) => updateTask2(id, input, database()),
|
|
@@ -15609,6 +15682,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
15609
15682
|
};
|
|
15610
15683
|
return adapter;
|
|
15611
15684
|
}
|
|
15685
|
+
var TASK_UUID_RE;
|
|
15612
15686
|
var init_local_sqlite = __esm(() => {
|
|
15613
15687
|
init_tasks();
|
|
15614
15688
|
init_projects();
|
|
@@ -15620,6 +15694,7 @@ var init_local_sqlite = __esm(() => {
|
|
|
15620
15694
|
init_comments();
|
|
15621
15695
|
init_database();
|
|
15622
15696
|
init_sqlite_snapshot();
|
|
15697
|
+
TASK_UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
15623
15698
|
});
|
|
15624
15699
|
|
|
15625
15700
|
// src/storage/shadow-outbox.ts
|
|
@@ -17219,7 +17294,17 @@ async function handleV1Request(req, url, dependencies = {}) {
|
|
|
17219
17294
|
return error(404, `unknown task action: ${action}`);
|
|
17220
17295
|
}
|
|
17221
17296
|
if (method === "GET") {
|
|
17222
|
-
|
|
17297
|
+
let task = await store.tasks.get(id);
|
|
17298
|
+
if (!task && typeof store.tasks.resolveRef === "function") {
|
|
17299
|
+
try {
|
|
17300
|
+
task = await store.tasks.resolveRef(id);
|
|
17301
|
+
} catch (e) {
|
|
17302
|
+
const msg = e.message || "";
|
|
17303
|
+
if (/ambiguous/i.test(msg))
|
|
17304
|
+
return error(409, msg);
|
|
17305
|
+
throw e;
|
|
17306
|
+
}
|
|
17307
|
+
}
|
|
17223
17308
|
return task ? json2({ task }) : error(404, "task not found");
|
|
17224
17309
|
}
|
|
17225
17310
|
if (method === "PATCH" || method === "PUT") {
|
|
@@ -86427,6 +86512,8 @@ async function runMigrate() {
|
|
|
86427
86512
|
const {
|
|
86428
86513
|
ensureCloudSchema: ensureCloudSchema2,
|
|
86429
86514
|
ensureCloudCommentCursorIndex: ensureCloudCommentCursorIndex2,
|
|
86515
|
+
ensureCloudTaskShortIdIndex: ensureCloudTaskShortIdIndex2,
|
|
86516
|
+
ensureCloudTaskObjectIdIndex: ensureCloudTaskObjectIdIndex2,
|
|
86430
86517
|
ensureCloudScopedSlugUniqueIndexes: ensureCloudScopedSlugUniqueIndexes2,
|
|
86431
86518
|
normalizeCloudPayloads: normalizeCloudPayloads2,
|
|
86432
86519
|
pingCloud: pingCloud2,
|
|
@@ -86446,6 +86533,10 @@ async function runMigrate() {
|
|
|
86446
86533
|
console.log(`migrate: normalized ${normalized} payload row(s)`);
|
|
86447
86534
|
console.log("migrate: prebuilding comment cursor index concurrently\u2026");
|
|
86448
86535
|
await ensureCloudCommentCursorIndex2();
|
|
86536
|
+
console.log("migrate: prebuilding task short_id resolution index concurrently\u2026");
|
|
86537
|
+
await ensureCloudTaskShortIdIndex2();
|
|
86538
|
+
console.log("migrate: prebuilding task object_id (COLLATE C) prefix index concurrently\u2026");
|
|
86539
|
+
await ensureCloudTaskObjectIdIndex2();
|
|
86449
86540
|
console.log("migrate: auditing scoped slug duplicates and building unique indexes concurrently\u2026");
|
|
86450
86541
|
await ensureCloudScopedSlugUniqueIndexes2();
|
|
86451
86542
|
console.log("migrate: done");
|
package/dist/server/v1.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../src/server/v1.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAuB,oBAAoB,EAA8B,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIzF,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,sBAAsB,CAAC;CACnD;AAuLD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAgB1E;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAYpE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,YAAY,GAAE,qBAA0B,GACvC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"v1.d.ts","sourceRoot":"","sources":["../../src/server/v1.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAuB,oBAAoB,EAA8B,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIzF,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACxC,iBAAiB,CAAC,EAAE,OAAO,sBAAsB,CAAC;CACnD;AAuLD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAgB1E;AAED,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAYpE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,YAAY,GAAE,qBAA0B,GACvC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAi0B1B"}
|
|
@@ -134,6 +134,16 @@ export interface TodosVerificationStore {
|
|
|
134
134
|
export interface TodosTaskStore {
|
|
135
135
|
create(input: CreateTaskInput, context?: TodosStorageContext): MaybePromise<Task>;
|
|
136
136
|
get(id: string, context?: TodosStorageContext): MaybePromise<Task | null>;
|
|
137
|
+
/**
|
|
138
|
+
* Resolve a task reference that is NOT already a full UUID — an exact `short_id`
|
|
139
|
+
* (e.g. `OPE2-00125`) or a unique task-`id` prefix — to the single matching task,
|
|
140
|
+
* or `null` when nothing matches. Throws when a prefix is ambiguous (matches more
|
|
141
|
+
* than one task). This is a BOUNDED, index/SQL-side lookup: it must never load the
|
|
142
|
+
* whole task set. It exists so the `/v1/tasks/:ref` route can resolve short refs
|
|
143
|
+
* server-side instead of the CLI paging every task over HTTP to resolve them.
|
|
144
|
+
* Optional — an adapter that only ever receives full UUIDs may omit it.
|
|
145
|
+
*/
|
|
146
|
+
resolveRef?(ref: string, context?: TodosStorageContext): MaybePromise<Task | null>;
|
|
137
147
|
list(filter?: TaskFilter, context?: TodosStorageContext): MaybePromise<Task[]>;
|
|
138
148
|
count(filter?: Omit<TaskFilter, "limit" | "offset">, context?: TodosStorageContext): MaybePromise<number>;
|
|
139
149
|
update(id: string, input: UpdateTaskInput, context?: TodosStorageContext): MaybePromise<Task>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/storage/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,IAAI,EACJ,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE3F,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IACpC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CACxH;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACvG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,cAAc,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,KAAK,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACvG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IACpG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACzF;;;;OAIG;IACH,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,KAAK,EAAE,4BAA4B,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAC7G,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC,CAAC;CAC5F;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClF,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1G,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACzE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChI,IAAI,CACF,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAAC,sBAAsB,CAAC,CAAC;IACxC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACrH,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACpH,aAAa,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9G,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACrH,2FAA2F;IAC3F,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;IACjG,sDAAsD;IACtD,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5F;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CAClG;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxF,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAChH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClF,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,KAAK,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9H,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC3E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACnF,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACrG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5G;;;;;OAKG;IACH,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACxF;;;;;OAKG;IACH,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;CAC7H;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1F,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC9E,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC1G,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9F,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACjH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACzE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACjG;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1F,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAAC,WAAW,CAAC,CAAC;IAC7B,UAAU,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAChG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IACxF,sFAAsF;IACtF,eAAe,CAAC,CACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3F,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;CAC/F;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,KAAK,kBAAkB,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;AAC5C,KAAK,+BAA+B,GAAG,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,mBAAmB,KAC1B,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,sFAAsF;AACtF,MAAM,MAAM,mCAAmC,GAAG,kBAAkB,CAClE,+BAA+B,SAAS,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,KAAK,CACtF,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1H,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,oBAAoB,CAAC,CAAC;IACnF,cAAc,CAAC,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAC;CACxH;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAChD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,uBAAuB,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,eAAe,CAAC;IAChI,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/storage/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/local-sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"local-sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/local-sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAgE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAM3D,MAAM,WAAW,2CAA2C;IAC1D,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf;AAsCD,wBAAgB,oCAAoC,CAClD,OAAO,GAAE,2CAAgD,GACxD,mBAAmB,CA6GrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../../src/storage/postgres-adapter.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAYV,mBAAmB,EAYpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,KAAK,wBAAwB,EAE9B,MAAM,oBAAoB,CAAC;AAY5B,MAAM,WAAW,wCAAwC;IACvD,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAuBD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wCAAwC,GAChD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"postgres-adapter.d.ts","sourceRoot":"","sources":["../../src/storage/postgres-adapter.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAYV,mBAAmB,EAYpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,KAAK,wBAAwB,EAE9B,MAAM,oBAAoB,CAAC;AAY5B,MAAM,WAAW,wCAAwC;IACvD,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAuBD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wCAAwC,GAChD,mBAAmB,CA4IrB"}
|
|
@@ -68,6 +68,28 @@ export declare function ensurePostgresScopedSlugUniqueIndexes(client: TodosPostg
|
|
|
68
68
|
* it is deliberately excluded from request-path `ensureSchema()`.
|
|
69
69
|
*/
|
|
70
70
|
export declare function postgresTodosCommentCursorIndexSql(tableName?: string): string;
|
|
71
|
+
/**
|
|
72
|
+
* Predeploy-only expression index that keeps short-reference resolution
|
|
73
|
+
* (`GET /v1/tasks/:ref` → resolveTaskRef) O(log n) as the shared task set grows.
|
|
74
|
+
* This covers the case-insensitive `short_id` lookup; the id-prefix branch is
|
|
75
|
+
* served by the companion `_task_object_id_c_idx` (COLLATE "C"), since the default
|
|
76
|
+
* PK collation cannot serve that byte-ordered range. CONCURRENTLY avoids blocking
|
|
77
|
+
* writes on the shared sync table and must run outside a
|
|
78
|
+
* transaction; it is deliberately excluded from request-path `ensureSchema()`.
|
|
79
|
+
* OPTIONAL: resolution is correct without it (a filtered task-row scan), so it is
|
|
80
|
+
* a pure latency optimization for large datasets.
|
|
81
|
+
*/
|
|
82
|
+
export declare function postgresTodosTaskShortIdIndexSql(tableName?: string): string;
|
|
83
|
+
/**
|
|
84
|
+
* Predeploy-only byte-order (COLLATE "C") index over task object_id so the
|
|
85
|
+
* id-prefix branch of resolveTaskRef (`object_id COLLATE "C" >= $lo AND < $hi`)
|
|
86
|
+
* is an index range scan rather than a seq scan. The default locale collation
|
|
87
|
+
* cannot serve this range (its ordering disagrees with the code-point upper
|
|
88
|
+
* bound), so a dedicated C-collation index is required. CONCURRENTLY, outside a
|
|
89
|
+
* transaction; excluded from request-path `ensureSchema()`. OPTIONAL: resolution
|
|
90
|
+
* is correct without it (the range is still byte-ordered), just not index-bounded.
|
|
91
|
+
*/
|
|
92
|
+
export declare function postgresTodosTaskObjectIdIndexSql(tableName?: string): string;
|
|
71
93
|
export declare class PostgresTodosSyncStore {
|
|
72
94
|
private readonly client;
|
|
73
95
|
private readonly service;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-sync.d.ts","sourceRoot":"","sources":["../../src/storage/postgres-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgres-sync.d.ts","sourceRoot":"","sources":["../../src/storage/postgres-sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAUzB,MAAM,MAAM,2BAA2B,GACnC,OAAO,GACP,UAAU,GACV,uBAAuB,GACvB,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,eAAe,CAAC;AAEpB,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnE,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,mCAAmC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gCAAgC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,2BAA2B,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,iCAAiC,uBAAuB,CAAC;AACtE,eAAO,MAAM,mCAAmC,uBAAuB,CAAC;AAExE,wBAAgB,0BAA0B,CACxC,SAAS,SAAoC,EAC7C,eAAe,SAAsC,GACpD,MAAM,EAAE,CAgCV;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,UAAU,GAAG,YAAY,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,wCAAyC,SAAQ,KAAK;aACrC,SAAS,EAAE,0BAA0B,EAAE;gBAAvC,SAAS,EAAE,0BAA0B,EAAE;CAUpE;AAED,qBAAa,iCAAkC,SAAQ,KAAK;aAC9B,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAQ/D;AAED,kFAAkF;AAClF,wBAAgB,mCAAmC,CACjD,SAAS,SAAoC,GAC5C,MAAM,CAqCR;AAED,kFAAkF;AAClF,wBAAgB,qCAAqC,CACnD,SAAS,SAAoC,GAC5C,MAAM,EAAE,CAUV;AAED,kGAAkG;AAClG,wBAAgB,qCAAqC,CACnD,SAAS,SAAoC,GAC5C,MAAM,CAWR;AAED,4FAA4F;AAC5F,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,wBAAwB,EAChC,SAAS,SAAoC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,SAAS,SAAoC,GAC5C,MAAM,CAKR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,SAAS,SAAoC,GAC5C,MAAM,CAKR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,SAAoC,GAC5C,MAAM,CAKR;AAED,qBAAa,sBAAsB;IAO/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAGtB,MAAM,EAAE,wBAAwB,EACjD,OAAO,GAAE,mCAAwC;IAU7C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,YAAY,CAChB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,2BAA2B,CAAC;IAiEjC,YAAY,CAAC,OAAO,GAAE,gCAAqC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAsB3F,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQ/C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAU5D;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,mCAAwC,GAChD,sBAAsB,CAExB"}
|
package/dist/storage.js
CHANGED
|
@@ -11772,6 +11772,27 @@ function clockColumnsForTable(table) {
|
|
|
11772
11772
|
}
|
|
11773
11773
|
|
|
11774
11774
|
// src/storage/local-sqlite.ts
|
|
11775
|
+
var TASK_UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
11776
|
+
function resolveTaskRefLocal(db, ref) {
|
|
11777
|
+
const raw = ref.trim().toLowerCase();
|
|
11778
|
+
if (!raw)
|
|
11779
|
+
return null;
|
|
11780
|
+
if (TASK_UUID_RE.test(raw))
|
|
11781
|
+
return getTask(raw, db);
|
|
11782
|
+
const prefixRows = db.query("SELECT id FROM tasks WHERE LOWER(id) LIKE ? ESCAPE '\\' LIMIT 2").all(`${raw.replace(/[\\%_]/g, (c) => `\\${c}`)}%`);
|
|
11783
|
+
if (prefixRows.length > 1) {
|
|
11784
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
11785
|
+
}
|
|
11786
|
+
if (prefixRows.length === 1)
|
|
11787
|
+
return getTask(prefixRows[0].id, db);
|
|
11788
|
+
const shortIdRows = db.query("SELECT id FROM tasks WHERE LOWER(short_id) = ? LIMIT 2").all(raw);
|
|
11789
|
+
if (shortIdRows.length > 1) {
|
|
11790
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
11791
|
+
}
|
|
11792
|
+
if (shortIdRows.length === 1)
|
|
11793
|
+
return getTask(shortIdRows[0].id, db);
|
|
11794
|
+
return null;
|
|
11795
|
+
}
|
|
11775
11796
|
function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
11776
11797
|
const database = () => options.db ?? getDatabase();
|
|
11777
11798
|
let adapter;
|
|
@@ -11787,6 +11808,7 @@ function createLocalSqliteTodosStorageAdapter(options = {}) {
|
|
|
11787
11808
|
tasks: {
|
|
11788
11809
|
create: (input) => createTask(input, database()),
|
|
11789
11810
|
get: (id) => getTask(id, database()),
|
|
11811
|
+
resolveRef: (ref) => resolveTaskRefLocal(database(), ref),
|
|
11790
11812
|
list: (filter = {}) => listTasks(filter, database()),
|
|
11791
11813
|
count: (filter = {}) => countTasks(filter, database()),
|
|
11792
11814
|
update: (id, input) => updateTask(id, input, database()),
|
|
@@ -12017,7 +12039,6 @@ function postgresTodosCommentCursorIndexSql(tableName = DEFAULT_TODOS_POSTGRES_S
|
|
|
12017
12039
|
ON ${tableName} (service, (payload->>'task_id'), (payload->>'created_at'), object_id)
|
|
12018
12040
|
WHERE object_type = 'comments' AND deleted_at IS NULL`;
|
|
12019
12041
|
}
|
|
12020
|
-
|
|
12021
12042
|
class PostgresTodosSyncStore {
|
|
12022
12043
|
client;
|
|
12023
12044
|
service;
|
|
@@ -12304,6 +12325,7 @@ function createPostgresTodosStorageAdapter(options) {
|
|
|
12304
12325
|
tasks: {
|
|
12305
12326
|
create: (input, context) => createTask2(input, store, context),
|
|
12306
12327
|
get: (id) => store.get("tasks", id),
|
|
12328
|
+
resolveRef: (ref) => store.resolveTaskRef(ref),
|
|
12307
12329
|
list: (filter = {}) => store.listTasks(filter),
|
|
12308
12330
|
count: (filter = {}) => store.countTasks(filter),
|
|
12309
12331
|
update: (id, input) => updateTask2(id, input, store),
|
|
@@ -12556,6 +12578,37 @@ class PostgresJsonRecordStore {
|
|
|
12556
12578
|
const row = result.rows[0];
|
|
12557
12579
|
return row ? payloadRecord2(row.payload) : null;
|
|
12558
12580
|
}
|
|
12581
|
+
async resolveTaskRef(ref) {
|
|
12582
|
+
await this.ensureSchema();
|
|
12583
|
+
const raw = ref.trim().toLowerCase();
|
|
12584
|
+
if (!raw)
|
|
12585
|
+
return null;
|
|
12586
|
+
const lastCode = raw.charCodeAt(raw.length - 1);
|
|
12587
|
+
if (lastCode < 65535) {
|
|
12588
|
+
const upper = raw.slice(0, -1) + String.fromCharCode(lastCode + 1);
|
|
12589
|
+
const prefixResult = await this.options.client.query(`/* todos:resolve-task-ref-prefix */ SELECT payload FROM ${this.tableName}
|
|
12590
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
12591
|
+
AND object_id COLLATE "C" >= $2 AND object_id COLLATE "C" < $3
|
|
12592
|
+
LIMIT 2`, [this.service, raw, upper]);
|
|
12593
|
+
if (prefixResult.rows.length > 1) {
|
|
12594
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
12595
|
+
}
|
|
12596
|
+
if (prefixResult.rows.length === 1) {
|
|
12597
|
+
return payloadRecord2(prefixResult.rows[0].payload);
|
|
12598
|
+
}
|
|
12599
|
+
}
|
|
12600
|
+
const shortIdResult = await this.options.client.query(`/* todos:resolve-task-ref-short-id */ SELECT payload FROM ${this.tableName}
|
|
12601
|
+
WHERE service = $1 AND object_type = 'tasks' AND deleted_at IS NULL
|
|
12602
|
+
AND LOWER(payload->>'short_id') = $2
|
|
12603
|
+
LIMIT 2`, [this.service, raw]);
|
|
12604
|
+
if (shortIdResult.rows.length > 1) {
|
|
12605
|
+
throw new Error(`Task reference is ambiguous: "${ref}"`);
|
|
12606
|
+
}
|
|
12607
|
+
if (shortIdResult.rows.length === 1) {
|
|
12608
|
+
return payloadRecord2(shortIdResult.rows[0].payload);
|
|
12609
|
+
}
|
|
12610
|
+
return null;
|
|
12611
|
+
}
|
|
12559
12612
|
async countTasks(filter) {
|
|
12560
12613
|
await this.ensureSchema();
|
|
12561
12614
|
const { where, params } = this.buildTaskFilterSql(filter);
|