@cleocode/contracts 2026.4.69 → 2026.4.72
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/__tests__/acceptance-gate.test.d.ts +14 -0
- package/dist/__tests__/acceptance-gate.test.d.ts.map +1 -0
- package/dist/__tests__/acceptance-gate.test.js +642 -0
- package/dist/__tests__/acceptance-gate.test.js.map +1 -0
- package/dist/__tests__/attachment.test.d.ts +17 -0
- package/dist/__tests__/attachment.test.d.ts.map +1 -0
- package/dist/__tests__/attachment.test.js +505 -0
- package/dist/__tests__/attachment.test.js.map +1 -0
- package/dist/__tests__/evidence-record.test.d.ts +14 -0
- package/dist/__tests__/evidence-record.test.d.ts.map +1 -0
- package/dist/__tests__/evidence-record.test.js +362 -0
- package/dist/__tests__/evidence-record.test.js.map +1 -0
- package/dist/__tests__/invariants.test.d.ts +19 -0
- package/dist/__tests__/invariants.test.d.ts.map +1 -0
- package/dist/__tests__/invariants.test.js +351 -0
- package/dist/__tests__/invariants.test.js.map +1 -0
- package/dist/acceptance-gate-schema.d.ts +701 -0
- package/dist/acceptance-gate-schema.d.ts.map +1 -0
- package/dist/acceptance-gate-schema.js +303 -0
- package/dist/acceptance-gate-schema.js.map +1 -0
- package/dist/acceptance-gate.d.ts +350 -0
- package/dist/acceptance-gate.d.ts.map +1 -0
- package/dist/acceptance-gate.js +22 -0
- package/dist/acceptance-gate.js.map +1 -0
- package/dist/attachment-schema.d.ts +243 -0
- package/dist/attachment-schema.d.ts.map +1 -0
- package/dist/attachment-schema.js +200 -0
- package/dist/attachment-schema.js.map +1 -0
- package/dist/attachment.d.ts +224 -0
- package/dist/attachment.d.ts.map +1 -0
- package/dist/attachment.js +21 -0
- package/dist/attachment.js.map +1 -0
- package/dist/evidence-record-schema.d.ts +202 -0
- package/dist/evidence-record-schema.d.ts.map +1 -0
- package/dist/evidence-record-schema.js +130 -0
- package/dist/evidence-record-schema.js.map +1 -0
- package/dist/evidence-record.d.ts +167 -0
- package/dist/evidence-record.d.ts.map +1 -0
- package/dist/evidence-record.js +21 -0
- package/dist/evidence-record.js.map +1 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/task-evidence.d.ts +251 -0
- package/dist/task-evidence.d.ts.map +1 -0
- package/dist/task-evidence.js +89 -0
- package/dist/task-evidence.js.map +1 -0
- package/dist/task.d.ts +23 -4
- package/dist/task.d.ts.map +1 -1
- package/package.json +8 -2
- package/schemas/acceptance-gate.schema.json +9 -0
- package/schemas/attachment.schema.json +9 -0
- package/schemas/gate-result-details.schema.json +9 -0
- package/schemas/gate-result.schema.json +9 -0
- package/schemas/manifest-v1.json +176 -0
- package/schemas/task-evidence.schema.json +9 -0
- package/schemas/task.schema.json +9 -0
- package/src/__tests__/acceptance-gate.test.ts +736 -0
- package/src/__tests__/attachment.test.ts +601 -0
- package/src/__tests__/evidence-record.test.ts +412 -0
- package/src/__tests__/invariants.test.ts +445 -0
- package/src/acceptance-gate-schema.ts +347 -0
- package/src/acceptance-gate.ts +370 -0
- package/src/attachment-schema.ts +223 -0
- package/src/attachment.ts +245 -0
- package/src/evidence-record-schema.ts +158 -0
- package/src/evidence-record.ts +182 -0
- package/src/index.ts +114 -1
- package/src/task-evidence.ts +239 -0
- package/src/task.ts +24 -4
package/dist/task.d.ts
CHANGED
|
@@ -20,8 +20,20 @@
|
|
|
20
20
|
* @epic T4454
|
|
21
21
|
* @task T4456
|
|
22
22
|
*/
|
|
23
|
+
import type { AcceptanceGate } from './acceptance-gate.js';
|
|
23
24
|
import type { TaskStatus } from './status-registry.js';
|
|
24
25
|
export type { TaskStatus };
|
|
26
|
+
/**
|
|
27
|
+
* A single acceptance criterion — either a free-text string (legacy) or a
|
|
28
|
+
* structured {@link AcceptanceGate} (machine-verifiable).
|
|
29
|
+
*
|
|
30
|
+
* Mixed arrays of these are stored as JSON in the `acceptance_json` column.
|
|
31
|
+
*
|
|
32
|
+
* @epic T760
|
|
33
|
+
* @task T780
|
|
34
|
+
* @task T800
|
|
35
|
+
*/
|
|
36
|
+
export type AcceptanceItem = string | AcceptanceGate;
|
|
25
37
|
/** Task priority levels. */
|
|
26
38
|
export type TaskPriority = 'critical' | 'high' | 'medium' | 'low';
|
|
27
39
|
/** Task type in hierarchy. */
|
|
@@ -123,8 +135,15 @@ export interface Task {
|
|
|
123
135
|
phase?: string;
|
|
124
136
|
/** File paths associated with this task. @defaultValue undefined */
|
|
125
137
|
files?: string[];
|
|
126
|
-
/**
|
|
127
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Mixed acceptance criteria — free-text strings (legacy) and/or structured
|
|
140
|
+
* {@link AcceptanceGate} objects (machine-verifiable).
|
|
141
|
+
*
|
|
142
|
+
* @epic T760
|
|
143
|
+
* @task T780
|
|
144
|
+
* @defaultValue undefined
|
|
145
|
+
*/
|
|
146
|
+
acceptance?: AcceptanceItem[];
|
|
128
147
|
/** IDs of tasks this task depends on. @defaultValue undefined */
|
|
129
148
|
depends?: string[];
|
|
130
149
|
/** Related task entries (non-dependency relationships). @defaultValue undefined */
|
|
@@ -218,8 +237,8 @@ export interface TaskCreate {
|
|
|
218
237
|
labels?: string[];
|
|
219
238
|
/** File paths associated with this task. @defaultValue undefined */
|
|
220
239
|
files?: string[];
|
|
221
|
-
/** Acceptance criteria. @defaultValue undefined */
|
|
222
|
-
acceptance?:
|
|
240
|
+
/** Acceptance criteria (string or AcceptanceGate objects). @defaultValue undefined */
|
|
241
|
+
acceptance?: AcceptanceItem[];
|
|
223
242
|
/** IDs of tasks this task depends on. @defaultValue undefined */
|
|
224
243
|
depends?: string[];
|
|
225
244
|
/** Initial note to attach. @defaultValue undefined */
|
package/dist/task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElE,8BAA8B;AAC9B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnD,mCAAmC;AACnC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,6BAA6B;AAC7B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnG,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,GACZ,YAAY,CAAC;AAEjB,gCAAgC;AAChC,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,SAAS,GACT,IAAI,GACJ,SAAS,GACT,UAAU,GACV,MAAM,CAAC;AAEX,+BAA+B;AAC/B,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,aAAa,GACb,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,YAAY,CAAC;AAEjB,sCAAsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACzD,qEAAqE;IACrE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,8DAA8D;IAC9D,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,gCAAgC;AAChC,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wEAAwE;IACxE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gEAAgE;IAChE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,IAAI;IACnB,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IAEX,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,EAAE,UAAU,CAAC;IAEnB,+DAA+D;IAC/D,QAAQ,EAAE,YAAY,CAAC;IAEvB,qGAAqG;IACrG,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,mFAAmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+FAA+F;IAC/F,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEvB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,cAAc,CAAC;AAErD,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAElE,8BAA8B;AAC9B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnD,mCAAmC;AACnC,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD,6BAA6B;AAC7B,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAEnG,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,GACZ,YAAY,CAAC;AAEjB,gCAAgC;AAChC,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,OAAO,GACP,SAAS,GACT,IAAI,GACJ,SAAS,GACT,UAAU,GACV,MAAM,CAAC;AAEX,+BAA+B;AAC/B,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,aAAa,GACb,UAAU,GACV,aAAa,GACb,gBAAgB,GAChB,YAAY,CAAC;AAEjB,sCAAsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACzD,qEAAqE;IACrE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,8DAA8D;IAC9D,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,gCAAgC;AAChC,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wEAAwE;IACxE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gEAAgE;IAChE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,IAAI;IACnB,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IAEX,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,0EAA0E;IAC1E,MAAM,EAAE,UAAU,CAAC;IAEnB,+DAA+D;IAC/D,QAAQ,EAAE,YAAY,CAAC;IAEvB,qGAAqG;IACrG,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,mFAAmF;IACnF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,+FAA+F;IAC/F,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEvB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,mFAAmF;IACnF,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAErC,iGAAiG;IACjG,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEhC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAE3B,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAElB,gGAAgG;IAChG,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAEvC,yFAAyF;IACzF,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,uGAAuG;IACvG,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAMD;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,uEAAuE;IACvE,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,wFAAwF;IACxF,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,0GAA0G;IAC1G,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,sFAAsF;IACtF,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAE9B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG;IACjC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG;IACjC,yEAAyE;IACzE,MAAM,EAAE,WAAW,CAAC;IACpB,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,oBAAoB;AACpB,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE7D,wBAAwB;AACxB,MAAM,WAAW,KAAK;IACpB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,cAAc,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IACrD,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sBAAsB;AACtB,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE9D,0BAA0B;AAC1B,MAAM,WAAW,OAAO;IACtB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,EAAE,aAAa,CAAC;IACtB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yCAAyC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAwB;AACxB,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,oEAAoE;IACpE,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,mCAAmC;AACnC,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,uBAAuB;AACvB,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/contracts",
|
|
3
|
-
"version": "2026.4.
|
|
3
|
+
"version": "2026.4.72",
|
|
4
4
|
"description": "Domain types, interfaces, and contracts for the CLEO ecosystem",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
23
|
+
"schemas",
|
|
23
24
|
"src"
|
|
24
25
|
],
|
|
25
26
|
"devDependencies": {
|
|
@@ -30,8 +31,13 @@
|
|
|
30
31
|
"url": "https://github.com/kryptobaseddev/cleo",
|
|
31
32
|
"directory": "packages/contracts"
|
|
32
33
|
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"zod-to-json-schema": "^3.25.2"
|
|
36
|
+
},
|
|
33
37
|
"scripts": {
|
|
34
|
-
"build": "tsc -b --force",
|
|
38
|
+
"build": "tsc -b --force && node scripts/emit-schemas.mjs",
|
|
39
|
+
"build:ts": "tsc -b --force",
|
|
40
|
+
"build:schemas": "node scripts/emit-schemas.mjs",
|
|
35
41
|
"typecheck": "tsc --noEmit",
|
|
36
42
|
"test": "vitest run"
|
|
37
43
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Attachment",
|
|
4
|
+
"description": "Content artifact (file, URL, blob, llms-txt, or llmtxt-doc) attachable to a CLEO owner",
|
|
5
|
+
"$ref": "#/definitions/Attachment",
|
|
6
|
+
"definitions": {
|
|
7
|
+
"Attachment": {}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "GateResultDetails",
|
|
4
|
+
"description": "Kind-specific detail payload for a GateResult — discriminated by kind",
|
|
5
|
+
"$ref": "#/definitions/GateResultDetails",
|
|
6
|
+
"definitions": {
|
|
7
|
+
"GateResultDetails": {}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://cleocode.dev/schemas/backup-manifest-v1.json",
|
|
4
|
+
"title": "CLEO Backup Manifest v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["$schema", "manifestVersion", "backup", "databases", "json", "integrity"],
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"$schema": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"const": "./schemas/manifest-v1.json"
|
|
12
|
+
},
|
|
13
|
+
"manifestVersion": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"pattern": "^1\\.\\d+\\.\\d+$",
|
|
16
|
+
"description": "Semantic version of the manifest format. Breaking changes increment major."
|
|
17
|
+
},
|
|
18
|
+
"backup": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"required": ["createdAt", "createdBy", "scope", "machineFingerprint", "cleoVersion", "encrypted"],
|
|
21
|
+
"additionalProperties": false,
|
|
22
|
+
"properties": {
|
|
23
|
+
"createdAt": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"format": "date-time",
|
|
26
|
+
"description": "ISO 8601 UTC timestamp when the bundle was created."
|
|
27
|
+
},
|
|
28
|
+
"createdBy": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Human-readable cleo version string, e.g. 'cleo v2026.4.13'."
|
|
31
|
+
},
|
|
32
|
+
"scope": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["project", "global", "all"],
|
|
35
|
+
"description": "Export scope. Determines target restore paths."
|
|
36
|
+
},
|
|
37
|
+
"projectName": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "Project name at export time. Advisory only."
|
|
40
|
+
},
|
|
41
|
+
"projectFingerprint": {
|
|
42
|
+
"type": ["string", "null"],
|
|
43
|
+
"pattern": "^[a-f0-9]{64}$",
|
|
44
|
+
"description": "SHA-256 of project-info.json at export time. Null for global-only scope. Advisory warning if mismatch on import."
|
|
45
|
+
},
|
|
46
|
+
"machineFingerprint": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"pattern": "^[a-f0-9]{64}$",
|
|
49
|
+
"description": "SHA-256 of $XDG_DATA_HOME/cleo/machine-key. Privacy-safe machine identity proxy."
|
|
50
|
+
},
|
|
51
|
+
"cleoVersion": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Machine-parseable CalVer string, e.g. '2026.4.13'."
|
|
54
|
+
},
|
|
55
|
+
"encrypted": {
|
|
56
|
+
"type": "boolean",
|
|
57
|
+
"description": "True if this bundle was produced with --encrypt."
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"databases": {
|
|
62
|
+
"type": "array",
|
|
63
|
+
"minItems": 0,
|
|
64
|
+
"items": {
|
|
65
|
+
"type": "object",
|
|
66
|
+
"required": ["name", "filename", "size", "sha256", "schemaVersion"],
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"properties": {
|
|
69
|
+
"name": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"enum": ["tasks", "brain", "conduit", "nexus", "signaldock"],
|
|
72
|
+
"description": "Logical database name."
|
|
73
|
+
},
|
|
74
|
+
"filename": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"description": "Relative path inside the archive, e.g. 'databases/tasks.db'."
|
|
77
|
+
},
|
|
78
|
+
"size": {
|
|
79
|
+
"type": "integer",
|
|
80
|
+
"minimum": 0,
|
|
81
|
+
"description": "Byte size of the decompressed .db file."
|
|
82
|
+
},
|
|
83
|
+
"sha256": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"pattern": "^[a-f0-9]{64}$",
|
|
86
|
+
"description": "SHA-256 hex of the decompressed .db bytes."
|
|
87
|
+
},
|
|
88
|
+
"schemaVersion": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "Latest applied migration identifier (Drizzle folderMillis or SIGNALDOCK_SCHEMA_VERSION)."
|
|
91
|
+
},
|
|
92
|
+
"rowCounts": {
|
|
93
|
+
"type": "object",
|
|
94
|
+
"description": "Per-table row counts for inspect display. Optional at import time.",
|
|
95
|
+
"additionalProperties": {
|
|
96
|
+
"type": "integer",
|
|
97
|
+
"minimum": 0
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"json": {
|
|
104
|
+
"type": "array",
|
|
105
|
+
"minItems": 0,
|
|
106
|
+
"items": {
|
|
107
|
+
"type": "object",
|
|
108
|
+
"required": ["filename", "size", "sha256"],
|
|
109
|
+
"additionalProperties": false,
|
|
110
|
+
"properties": {
|
|
111
|
+
"filename": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"enum": [
|
|
114
|
+
"json/config.json",
|
|
115
|
+
"json/project-info.json",
|
|
116
|
+
"json/project-context.json"
|
|
117
|
+
],
|
|
118
|
+
"description": "Relative path inside the archive."
|
|
119
|
+
},
|
|
120
|
+
"size": {
|
|
121
|
+
"type": "integer",
|
|
122
|
+
"minimum": 0
|
|
123
|
+
},
|
|
124
|
+
"sha256": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"globalFiles": {
|
|
132
|
+
"type": "array",
|
|
133
|
+
"minItems": 0,
|
|
134
|
+
"items": {
|
|
135
|
+
"type": "object",
|
|
136
|
+
"required": ["filename", "size", "sha256"],
|
|
137
|
+
"additionalProperties": false,
|
|
138
|
+
"properties": {
|
|
139
|
+
"filename": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"enum": ["global/global-salt"],
|
|
142
|
+
"description": "Relative path inside the archive."
|
|
143
|
+
},
|
|
144
|
+
"size": {
|
|
145
|
+
"type": "integer",
|
|
146
|
+
"minimum": 0
|
|
147
|
+
},
|
|
148
|
+
"sha256": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"integrity": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"required": ["algorithm", "checksumsFile", "manifestHash"],
|
|
158
|
+
"additionalProperties": false,
|
|
159
|
+
"properties": {
|
|
160
|
+
"algorithm": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"const": "sha256"
|
|
163
|
+
},
|
|
164
|
+
"checksumsFile": {
|
|
165
|
+
"type": "string",
|
|
166
|
+
"const": "checksums.sha256"
|
|
167
|
+
},
|
|
168
|
+
"manifestHash": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"pattern": "^[a-f0-9]{64}$",
|
|
171
|
+
"description": "SHA-256 of this manifest JSON with manifestHash set to empty string, then hex-encoded."
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "TaskEvidence",
|
|
4
|
+
"description": "Typed evidence artifact attached to a verification record — discriminated by kind",
|
|
5
|
+
"$ref": "#/definitions/TaskEvidence",
|
|
6
|
+
"definitions": {
|
|
7
|
+
"TaskEvidence": {}
|
|
8
|
+
}
|
|
9
|
+
}
|