@cleocode/contracts 2026.4.99 → 2026.4.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/brain-graph.d.ts +245 -0
  2. package/dist/brain-graph.d.ts.map +1 -0
  3. package/dist/brain-graph.js +30 -0
  4. package/dist/brain-graph.js.map +1 -0
  5. package/dist/exit-codes.d.ts +1 -1
  6. package/dist/exit-codes.d.ts.map +1 -1
  7. package/dist/exit-codes.js +1 -1
  8. package/dist/exit-codes.js.map +1 -1
  9. package/dist/graph.d.ts +2 -0
  10. package/dist/graph.d.ts.map +1 -1
  11. package/dist/index.d.ts +8 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/nexus-contract-ops.d.ts +186 -0
  15. package/dist/nexus-contract-ops.d.ts.map +1 -0
  16. package/dist/nexus-contract-ops.js +11 -0
  17. package/dist/nexus-contract-ops.js.map +1 -0
  18. package/dist/nexus-living-brain-ops.d.ts +314 -0
  19. package/dist/nexus-living-brain-ops.d.ts.map +1 -0
  20. package/dist/nexus-living-brain-ops.js +15 -0
  21. package/dist/nexus-living-brain-ops.js.map +1 -0
  22. package/dist/nexus-query-ops.d.ts +82 -0
  23. package/dist/nexus-query-ops.d.ts.map +1 -0
  24. package/dist/nexus-query-ops.js +11 -0
  25. package/dist/nexus-query-ops.js.map +1 -0
  26. package/dist/nexus-route-ops.d.ts +103 -0
  27. package/dist/nexus-route-ops.d.ts.map +1 -0
  28. package/dist/nexus-route-ops.js +10 -0
  29. package/dist/nexus-route-ops.js.map +1 -0
  30. package/dist/nexus-tasks-bridge-ops.d.ts +68 -0
  31. package/dist/nexus-tasks-bridge-ops.d.ts.map +1 -0
  32. package/dist/nexus-tasks-bridge-ops.js +11 -0
  33. package/dist/nexus-tasks-bridge-ops.js.map +1 -0
  34. package/dist/nexus-wiki-ops.d.ts +51 -0
  35. package/dist/nexus-wiki-ops.d.ts.map +1 -0
  36. package/dist/nexus-wiki-ops.js +11 -0
  37. package/dist/nexus-wiki-ops.js.map +1 -0
  38. package/dist/operations/admin.d.ts +1781 -0
  39. package/dist/operations/admin.d.ts.map +1 -0
  40. package/dist/operations/admin.js +27 -0
  41. package/dist/operations/admin.js.map +1 -0
  42. package/dist/operations/brain.d.ts +34 -26
  43. package/dist/operations/brain.d.ts.map +1 -1
  44. package/dist/operations/brain.js +7 -6
  45. package/dist/operations/brain.js.map +1 -1
  46. package/dist/operations/docs.d.ts +279 -0
  47. package/dist/operations/docs.d.ts.map +1 -0
  48. package/dist/operations/docs.js +31 -0
  49. package/dist/operations/docs.js.map +1 -0
  50. package/dist/operations/intelligence.d.ts +319 -0
  51. package/dist/operations/intelligence.d.ts.map +1 -0
  52. package/dist/operations/intelligence.js +24 -0
  53. package/dist/operations/intelligence.js.map +1 -0
  54. package/dist/operations/orchestrate.d.ts +113 -2
  55. package/dist/operations/orchestrate.d.ts.map +1 -1
  56. package/dist/operations/orchestrate.js +3 -2
  57. package/dist/operations/orchestrate.js.map +1 -1
  58. package/dist/operations/session.d.ts +185 -47
  59. package/dist/operations/session.d.ts.map +1 -1
  60. package/dist/operations/session.js +7 -6
  61. package/dist/operations/session.js.map +1 -1
  62. package/dist/operations/sticky.d.ts +264 -0
  63. package/dist/operations/sticky.d.ts.map +1 -0
  64. package/dist/operations/sticky.js +19 -0
  65. package/dist/operations/sticky.js.map +1 -0
  66. package/dist/operations/validate.d.ts +145 -19
  67. package/dist/operations/validate.d.ts.map +1 -1
  68. package/dist/operations/validate.js +3 -3
  69. package/dist/task-record.d.ts +19 -0
  70. package/dist/task-record.d.ts.map +1 -1
  71. package/package.json +41 -1
  72. package/src/brain-graph.ts +282 -0
  73. package/src/exit-codes.ts +1 -1
  74. package/src/graph.ts +2 -0
  75. package/src/index.ts +109 -0
  76. package/src/nexus-contract-ops.ts +244 -0
  77. package/src/nexus-living-brain-ops.ts +345 -0
  78. package/src/nexus-query-ops.ts +100 -0
  79. package/src/nexus-route-ops.ts +134 -0
  80. package/src/nexus-tasks-bridge-ops.ts +71 -0
  81. package/src/nexus-wiki-ops.ts +53 -0
  82. package/src/operations/admin.ts +2087 -0
  83. package/src/operations/brain.ts +34 -26
  84. package/src/operations/docs.ts +322 -0
  85. package/src/operations/intelligence.ts +399 -0
  86. package/src/operations/orchestrate.ts +117 -2
  87. package/src/operations/session.ts +217 -48
  88. package/src/operations/sticky.ts +308 -0
  89. package/src/operations/validate.ts +161 -55
  90. package/src/task-record.ts +19 -0
@@ -1,15 +1,18 @@
1
1
  /**
2
- * Session Domain Operations (9 operations)
2
+ * Session Domain Operations (15 operations)
3
3
  *
4
- * Query operations: 4
5
- * Mutate operations: 5
4
+ * Query operations: 8 (status, list, show, find, decision.log, context.drift, handoff.show, briefing.show)
5
+ * Mutate operations: 7 (start, end, resume, suspend, gc, record.decision, record.assumption)
6
6
  *
7
- * SYNC: Canonical type definitions live in the CLI package at:
8
- * src/types/session.ts (Session, SessionScope, etc.)
9
- * These operation types are the API contract (wire format).
7
+ * SYNC: Canonical domain types live in packages/contracts/src/session.ts.
8
+ * These operation types are the API contract (wire format) for the dispatch layer.
9
+ *
10
+ * @task T975 — typed-dispatch migration (Wave D · T962)
10
11
  */
12
+ import type { Session } from '../session.js';
11
13
  /**
12
- * Common session types
14
+ * Minimal session representation for wire-format responses.
15
+ * Used in results that return simplified session data.
13
16
  */
14
17
  export interface SessionOp {
15
18
  id: string;
@@ -21,56 +24,129 @@ export interface SessionOp {
21
24
  status: 'active' | 'suspended' | 'ended';
22
25
  notes?: string[];
23
26
  }
24
- /**
25
- * Query Operations
26
- */
27
+ /** Parameters for `session.status` — no params required. */
27
28
  export type SessionStatusParams = Record<string, never>;
28
29
  /**
29
30
  * Result of `session.status`.
30
31
  *
31
32
  * @remarks
32
33
  * Re-synced to match the envelope returned by `sessionStatus` in
33
- * `packages/cleo/src/dispatch/engines/session-engine.ts`. The legacy
34
- * contract's `{current, hasStartedTask, startedTask}` shape predated the
35
- * current engine and never matched dispatch output — agents reading the
36
- * contract would never find their data.
34
+ * `packages/cleo/src/dispatch/engines/session-engine.ts`.
37
35
  *
38
36
  * @task T963 — contract↔impl drift reconciliation (T910 audit)
39
37
  */
40
38
  export interface SessionStatusResult {
41
- /** True when a session is currently active. @task T963 */
39
+ /** True when a session is currently active. */
42
40
  hasActiveSession: boolean;
43
- /**
44
- * Active session record (full shape per `Session` contract) or `null`
45
- * when none active.
46
- * @task T963
47
- */
48
- session?: SessionOp | null;
49
- /**
50
- * Current task work state from `meta.focus_state` — tracks the
51
- * task the orchestrator is focused on within the session.
52
- * @task T963
53
- */
41
+ /** Active session record or `null` when none active. */
42
+ session?: Session | null;
43
+ /** Current task work state from `meta.focus_state`. */
54
44
  taskWork?: import('../task.js').TaskWorkState | null;
55
45
  }
46
+ /** Parameters for `session.list`. */
56
47
  export interface SessionListParams {
57
48
  active?: boolean;
58
49
  status?: string;
59
50
  limit?: number;
60
51
  offset?: number;
61
52
  }
53
+ /** Result of `session.list`. */
62
54
  export interface SessionListResult {
63
- sessions: SessionOp[];
55
+ sessions: Session[];
64
56
  total: number;
65
57
  filtered: number;
66
58
  }
59
+ /** Parameters for `session.show`. */
67
60
  export interface SessionShowParams {
68
61
  sessionId: string;
62
+ /** When set to 'debrief', returns debrief data instead of the raw session. */
63
+ include?: string;
64
+ }
65
+ /**
66
+ * Result of `session.show`.
67
+ *
68
+ * @remarks
69
+ * `unknown` because `show` with `include='debrief'` returns opaque debrief
70
+ * data (DebriefData | fallback object) rather than a Session record.
71
+ */
72
+ export type SessionShowResult = unknown;
73
+ /** Parameters for `session.find` — lightweight session discovery. */
74
+ export interface SessionFindParams {
75
+ status?: string;
76
+ scope?: string;
77
+ query?: string;
78
+ limit?: number;
79
+ }
80
+ /** Result of `session.find` — minimal session records. */
81
+ export interface SessionFindResult {
82
+ sessions: Array<{
83
+ id: string;
84
+ name: string;
85
+ status: string;
86
+ startedAt: string;
87
+ scope: unknown;
88
+ }>;
89
+ }
90
+ /** Parameters for `session.decision.log`. */
91
+ export interface SessionDecisionLogParams {
92
+ sessionId?: string;
93
+ taskId?: string;
94
+ }
95
+ /** A single decision record in the audit trail. */
96
+ export interface DecisionRecord {
97
+ id: string;
98
+ sessionId: string;
99
+ taskId: string;
100
+ decision: string;
101
+ rationale: string;
102
+ alternatives?: string[];
103
+ timestamp: string;
104
+ }
105
+ /** Result of `session.decision.log`. */
106
+ export type SessionDecisionLogResult = DecisionRecord[];
107
+ /** Parameters for `session.context.drift`. */
108
+ export interface SessionContextDriftParams {
109
+ sessionId?: string;
110
+ }
111
+ /** Result of `session.context.drift`. */
112
+ export interface SessionContextDriftResult {
113
+ score: number;
114
+ factors: string[];
115
+ completedInScope: number;
116
+ totalInScope: number;
117
+ outOfScope: number;
118
+ }
119
+ /** Parameters for `session.handoff.show`. */
120
+ export interface SessionHandoffShowParams {
121
+ /**
122
+ * Scope filter string. Use 'global' for global scope or 'epic:<id>' for
123
+ * epic-scoped handoff data.
124
+ */
125
+ scope?: string;
126
+ }
127
+ /** Result of `session.handoff.show`. */
128
+ export interface SessionHandoffShowResult {
129
+ sessionId: string;
130
+ handoff: unknown;
131
+ }
132
+ /** Parameters for `session.briefing.show`. */
133
+ export interface SessionBriefingShowParams {
134
+ maxNextTasks?: number;
135
+ maxBugs?: number;
136
+ maxBlocked?: number;
137
+ maxEpics?: number;
138
+ scope?: string;
69
139
  }
70
- export type SessionShowResult = SessionOp;
140
+ /**
141
+ * Result of `session.briefing.show` — composite session-start context.
142
+ * The full shape is defined in `@cleocode/core/internal.SessionBriefing`.
143
+ */
144
+ export type SessionBriefingShowResult = unknown;
145
+ /** Parameters for `session.history`. */
71
146
  export interface SessionHistoryParams {
72
147
  limit?: number;
73
148
  }
149
+ /** A single session history entry. */
74
150
  export interface SessionHistoryEntry {
75
151
  sessionId: string;
76
152
  name: string;
@@ -79,19 +155,25 @@ export interface SessionHistoryEntry {
79
155
  tasksCompleted: number;
80
156
  duration: string;
81
157
  }
158
+ /** Result of `session.history`. */
82
159
  export type SessionHistoryResult = SessionHistoryEntry[];
83
- /**
84
- * Mutate Operations
85
- */
160
+ /** Parameters for `session.start`. */
86
161
  export interface SessionStartParams {
87
162
  scope: string;
88
163
  name?: string;
89
164
  autoStart?: boolean;
90
165
  startTask?: string;
166
+ /** Alias for startTask — accepted from CLI for backward compat. */
167
+ focus?: string;
168
+ /** Enable full query+mutation audit logging for behavioral grading. */
169
+ grade?: boolean;
91
170
  }
92
- export type SessionStartResult = SessionOp;
171
+ /** Result of `session.start` — the newly created session. */
172
+ export type SessionStartResult = Session;
173
+ /** Parameters for `session.end`. */
93
174
  export interface SessionEndParams {
94
- notes?: string;
175
+ note?: string;
176
+ nextAction?: string;
95
177
  /**
96
178
  * Structured session summary for direct ingestion into brain.db.
97
179
  * When provided, CLEO persists key learnings, decisions, patterns, and next actions.
@@ -99,13 +181,10 @@ export interface SessionEndParams {
99
181
  */
100
182
  sessionSummary?: import('../config.js').SessionSummaryInput;
101
183
  }
184
+ /** Result of `session.end`. */
102
185
  export interface SessionEndResult {
103
- session: SessionOp;
104
- summary: {
105
- duration: string;
106
- tasksCompleted: number;
107
- tasksCreated: number;
108
- };
186
+ sessionId: string;
187
+ ended: boolean;
109
188
  /**
110
189
  * A summarization prompt built from this session's debrief data.
111
190
  * Populated when `brain.summarization.enabled` is true.
@@ -113,22 +192,81 @@ export interface SessionEndResult {
113
192
  */
114
193
  memoryPrompt?: string;
115
194
  }
195
+ /** Parameters for `session.resume`. */
116
196
  export interface SessionResumeParams {
117
197
  sessionId: string;
118
198
  }
119
- export type SessionResumeResult = SessionOp;
199
+ /** Result of `session.resume` — the resumed session. */
200
+ export type SessionResumeResult = Session;
201
+ /** Parameters for `session.suspend`. */
120
202
  export interface SessionSuspendParams {
121
- notes?: string;
122
- }
123
- export interface SessionSuspendResult {
124
203
  sessionId: string;
125
- suspended: string;
204
+ reason?: string;
126
205
  }
206
+ /** Result of `session.suspend` — the suspended session. */
207
+ export type SessionSuspendResult = Session;
208
+ /** Parameters for `session.gc`. */
127
209
  export interface SessionGcParams {
128
- olderThan?: string;
210
+ maxAgeDays?: number;
129
211
  }
212
+ /** Result of `session.gc`. */
130
213
  export interface SessionGcResult {
131
- cleaned: number;
132
- sessionIds: string[];
214
+ orphaned: string[];
215
+ removed: string[];
216
+ }
217
+ /** Parameters for `session.record.decision`. */
218
+ export interface SessionRecordDecisionParams {
219
+ sessionId?: string;
220
+ taskId: string;
221
+ decision: string;
222
+ rationale: string;
223
+ alternatives?: string[];
224
+ }
225
+ /** Result of `session.record.decision`. */
226
+ export type SessionRecordDecisionResult = DecisionRecord;
227
+ /** Parameters for `session.record.assumption`. */
228
+ export interface SessionRecordAssumptionParams {
229
+ sessionId?: string;
230
+ taskId?: string;
231
+ assumption: string;
232
+ confidence: 'high' | 'medium' | 'low';
233
+ }
234
+ /** Result of `session.record.assumption`. */
235
+ export interface SessionRecordAssumptionResult {
236
+ id: string;
237
+ sessionId: string;
238
+ taskId: string | null;
239
+ assumption: string;
240
+ confidence: string;
241
+ timestamp: string;
133
242
  }
243
+ /**
244
+ * Typed operation record for the session domain.
245
+ *
246
+ * Maps each operation name (as dispatched by the registry — no domain prefix)
247
+ * to its `[Params, Result]` tuple. Used by `TypedDomainHandler<SessionOps>`
248
+ * in the dispatch layer to provide compile-time narrowing of params.
249
+ *
250
+ * @task T975 — Wave D typed-dispatch migration
251
+ */
252
+ export type SessionOps = {
253
+ readonly status: readonly [SessionStatusParams, SessionStatusResult];
254
+ readonly list: readonly [SessionListParams, SessionListResult];
255
+ readonly show: readonly [SessionShowParams, SessionShowResult];
256
+ readonly find: readonly [SessionFindParams, SessionFindResult];
257
+ readonly 'decision.log': readonly [SessionDecisionLogParams, SessionDecisionLogResult];
258
+ readonly 'context.drift': readonly [SessionContextDriftParams, SessionContextDriftResult];
259
+ readonly 'handoff.show': readonly [SessionHandoffShowParams, SessionHandoffShowResult | null];
260
+ readonly 'briefing.show': readonly [SessionBriefingShowParams, SessionBriefingShowResult];
261
+ readonly start: readonly [SessionStartParams, SessionStartResult];
262
+ readonly end: readonly [SessionEndParams, SessionEndResult];
263
+ readonly resume: readonly [SessionResumeParams, SessionResumeResult];
264
+ readonly suspend: readonly [SessionSuspendParams, SessionSuspendResult];
265
+ readonly gc: readonly [SessionGcParams, SessionGcResult];
266
+ readonly 'record.decision': readonly [SessionRecordDecisionParams, SessionRecordDecisionResult];
267
+ readonly 'record.assumption': readonly [
268
+ SessionRecordAssumptionParams,
269
+ SessionRecordAssumptionResult
270
+ ];
271
+ };
134
272
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/operations/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/operations/session.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  /**
2
- * Session Domain Operations (9 operations)
2
+ * Session Domain Operations (15 operations)
3
3
  *
4
- * Query operations: 4
5
- * Mutate operations: 5
4
+ * Query operations: 8 (status, list, show, find, decision.log, context.drift, handoff.show, briefing.show)
5
+ * Mutate operations: 7 (start, end, resume, suspend, gc, record.decision, record.assumption)
6
6
  *
7
- * SYNC: Canonical type definitions live in the CLI package at:
8
- * src/types/session.ts (Session, SessionScope, etc.)
9
- * These operation types are the API contract (wire format).
7
+ * SYNC: Canonical domain types live in packages/contracts/src/session.ts.
8
+ * These operation types are the API contract (wire format) for the dispatch layer.
9
+ *
10
+ * @task T975 — typed-dispatch migration (Wave D · T962)
10
11
  */
11
12
  export {};
12
13
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/operations/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/operations/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,264 @@
1
+ /**
2
+ * Sticky Domain Operations Contract (6 operations)
3
+ *
4
+ * Query operations: 2
5
+ * Mutate operations: 4
6
+ *
7
+ * Sticky notes are ephemeral task fragments stored in a project-local SQLite database.
8
+ * They support filtering by status (active/converted/archived), color, priority, and tags.
9
+ * CLI identifiers start with `sticky.*` and are routed through the `sticky` domain handler.
10
+ *
11
+ * SYNC: Canonical type definitions live in packages/core/src/sticky/types.ts.
12
+ * These operation types are the API contract (wire format).
13
+ *
14
+ * @task T1031 — Contract authoring for T980 migration worker
15
+ * @see packages/cleo/src/dispatch/domains/sticky.ts
16
+ * @see packages/core/src/sticky/types.ts
17
+ */
18
+ /**
19
+ * Sticky note status classification.
20
+ */
21
+ export type StickyNoteStatus = 'active' | 'converted' | 'archived';
22
+ /**
23
+ * Sticky note color options.
24
+ */
25
+ export type StickyNoteColor = 'yellow' | 'blue' | 'green' | 'red' | 'purple';
26
+ /**
27
+ * Sticky note priority levels.
28
+ */
29
+ export type StickyNotePriority = 'low' | 'medium' | 'high';
30
+ /**
31
+ * Converted target type for note transformation.
32
+ */
33
+ export type StickyConvertTargetType = 'task' | 'memory' | 'session_note' | 'task_note';
34
+ /**
35
+ * Reference to a converted target (task, memory, session note, or task note).
36
+ */
37
+ export interface StickyConvertedTarget {
38
+ /** Type of the conversion target. */
39
+ type: StickyConvertTargetType;
40
+ /** ID of the target item. */
41
+ id: string;
42
+ }
43
+ /**
44
+ * Core sticky note wire format (API projection).
45
+ *
46
+ * Returned by list, show, add, archive, purge operations.
47
+ */
48
+ export interface StickyNoteOp {
49
+ /** Unique ID (SN-001, SN-002...). */
50
+ id: string;
51
+ /** Raw note text content. */
52
+ content: string;
53
+ /** ISO 8601 creation timestamp. */
54
+ createdAt: string;
55
+ /** ISO 8601 last update timestamp. */
56
+ updatedAt?: string;
57
+ /** Array of user-assigned tags. */
58
+ tags: string[];
59
+ /** Current status (active/converted/archived). */
60
+ status: StickyNoteStatus;
61
+ /** Conversion target if converted (nullable). */
62
+ convertedTo?: StickyConvertedTarget;
63
+ /** Visual color indicator. */
64
+ color?: StickyNoteColor;
65
+ /** Priority level. */
66
+ priority?: StickyNotePriority;
67
+ /** Source type for BRAIN queries. */
68
+ sourceType: string;
69
+ }
70
+ /**
71
+ * List of sticky notes with pagination metadata.
72
+ */
73
+ export interface StickyListData {
74
+ /** Array of sticky notes matching the filter. */
75
+ stickies: StickyNoteOp[];
76
+ /** Total count of stickies in the project (ignoring pagination). */
77
+ total: number;
78
+ /** Count of stickies that matched the filter. */
79
+ filtered: number;
80
+ }
81
+ /**
82
+ * Parameters for `sticky.list`.
83
+ *
84
+ * @remarks
85
+ * All filter parameters are optional and combine with AND logic (all must match).
86
+ * Pagination applies to filtered results.
87
+ */
88
+ export interface StickyListParams {
89
+ /** Filter to notes with a specific status. */
90
+ status?: StickyNoteStatus;
91
+ /** Filter to notes with a specific color. */
92
+ color?: StickyNoteColor;
93
+ /** Filter to notes with a specific priority. */
94
+ priority?: StickyNotePriority;
95
+ /** Filter to notes containing ALL of the specified tags. */
96
+ tags?: string[];
97
+ /** Max results to return (pagination limit). */
98
+ limit?: number;
99
+ /** Pagination offset (number of results to skip). */
100
+ offset?: number;
101
+ }
102
+ /**
103
+ * Result of `sticky.list`.
104
+ *
105
+ * @remarks
106
+ * Returns a paginated list of sticky notes with total and filtered counts.
107
+ */
108
+ export interface StickyListResult {
109
+ /** Array of sticky notes for this page. */
110
+ stickies: StickyNoteOp[];
111
+ /** Total sticky note count across all filters. */
112
+ total: number;
113
+ /** Count of stickies matching the applied filters. */
114
+ filtered: number;
115
+ }
116
+ /**
117
+ * Parameters for `sticky.show`.
118
+ */
119
+ export interface StickyShowParams {
120
+ /** Sticky note ID to retrieve (required). */
121
+ stickyId: string;
122
+ }
123
+ /**
124
+ * Result of `sticky.show`.
125
+ *
126
+ * @remarks
127
+ * Returns the full sticky note record, or error if not found.
128
+ */
129
+ export type StickyShowResult = StickyNoteOp;
130
+ /**
131
+ * Parameters for `sticky.add`.
132
+ */
133
+ export interface StickyAddParams {
134
+ /** Note text content (required). */
135
+ content: string;
136
+ /** User-assigned tags. */
137
+ tags?: string[];
138
+ /** Visual color indicator. */
139
+ color?: StickyNoteColor;
140
+ /** Priority level. */
141
+ priority?: StickyNotePriority;
142
+ }
143
+ /**
144
+ * Result of `sticky.add`.
145
+ *
146
+ * @remarks
147
+ * Returns the newly-created sticky note record.
148
+ */
149
+ export type StickyAddResult = StickyNoteOp;
150
+ /**
151
+ * Parameters for `sticky.convert`.
152
+ *
153
+ * @remarks
154
+ * Converts a sticky note to a different item type (task, memory, session note, task note).
155
+ * Required params vary by targetType:
156
+ * - task: optional title
157
+ * - memory: optional memoryType
158
+ * - session_note: optional sessionId
159
+ * - task_note: required taskId
160
+ */
161
+ export interface StickyConvertParams {
162
+ /** Sticky note ID to convert (required). */
163
+ stickyId: string;
164
+ /** Target item type: task, memory, session_note, or task_note (required). */
165
+ targetType: StickyConvertTargetType;
166
+ /** Optional title when converting to task. */
167
+ title?: string;
168
+ /** Optional memory type when converting to memory (observation, decision, pattern, etc.). */
169
+ memoryType?: string;
170
+ /** Required task ID when converting to task_note. */
171
+ taskId?: string;
172
+ /** Optional session ID when converting to session_note. */
173
+ sessionId?: string;
174
+ }
175
+ /**
176
+ * Result of `sticky.convert`.
177
+ *
178
+ * @remarks
179
+ * Returns the target item ID that was created/updated by the conversion.
180
+ * The returned key varies by targetType:
181
+ * - task → taskId
182
+ * - memory → memoryId
183
+ * - session_note → sessionId
184
+ * - task_note → taskId
185
+ */
186
+ export interface StickyConvertResult {
187
+ /** ID of the created or updated target item (key name varies by type). */
188
+ taskId?: string;
189
+ memoryId?: string;
190
+ sessionId?: string;
191
+ }
192
+ /**
193
+ * Parameters for `sticky.archive`.
194
+ */
195
+ export interface StickyArchiveParams {
196
+ /** Sticky note ID to archive (required). */
197
+ stickyId: string;
198
+ }
199
+ /**
200
+ * Result of `sticky.archive`.
201
+ *
202
+ * @remarks
203
+ * Returns the archived sticky note record with status updated to 'archived'.
204
+ */
205
+ export type StickyArchiveResult = StickyNoteOp;
206
+ /**
207
+ * Parameters for `sticky.purge`.
208
+ */
209
+ export interface StickyPurgeParams {
210
+ /** Sticky note ID to permanently delete (required). */
211
+ stickyId: string;
212
+ }
213
+ /**
214
+ * Result of `sticky.purge`.
215
+ *
216
+ * @remarks
217
+ * Returns the purged sticky note record. After purge, the note is permanently deleted
218
+ * from the database and cannot be recovered.
219
+ */
220
+ export type StickyPurgeResult = StickyNoteOp;
221
+ /**
222
+ * All sticky operation keys (for TypedDomainHandler routing).
223
+ */
224
+ export type StickyOpKey = 'sticky.list' | 'sticky.show' | 'sticky.add' | 'sticky.convert' | 'sticky.archive' | 'sticky.purge';
225
+ /**
226
+ * Sticky operations discriminated union.
227
+ *
228
+ * @remarks
229
+ * Each variant carries:
230
+ * - `op`: the operation key (for routing)
231
+ * - `params`: strongly-typed parameters for this operation
232
+ * - `result`: strongly-typed return type for this operation
233
+ *
234
+ * Consumed by packages/cleo/src/dispatch/domains/sticky.ts via TypedDomainHandler<StickyOps>.
235
+ *
236
+ * @task T1031
237
+ * @task T980 — migration worker that consumes this contract
238
+ */
239
+ export type StickyOps = {
240
+ op: 'sticky.list';
241
+ params: StickyListParams;
242
+ result: StickyListResult;
243
+ } | {
244
+ op: 'sticky.show';
245
+ params: StickyShowParams;
246
+ result: StickyShowResult;
247
+ } | {
248
+ op: 'sticky.add';
249
+ params: StickyAddParams;
250
+ result: StickyAddResult;
251
+ } | {
252
+ op: 'sticky.convert';
253
+ params: StickyConvertParams;
254
+ result: StickyConvertResult;
255
+ } | {
256
+ op: 'sticky.archive';
257
+ params: StickyArchiveParams;
258
+ result: StickyArchiveResult;
259
+ } | {
260
+ op: 'sticky.purge';
261
+ params: StickyPurgeParams;
262
+ result: StickyPurgeResult;
263
+ };
264
+ //# sourceMappingURL=sticky.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["../../src/operations/sticky.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Sticky Domain Operations Contract (6 operations)
3
+ *
4
+ * Query operations: 2
5
+ * Mutate operations: 4
6
+ *
7
+ * Sticky notes are ephemeral task fragments stored in a project-local SQLite database.
8
+ * They support filtering by status (active/converted/archived), color, priority, and tags.
9
+ * CLI identifiers start with `sticky.*` and are routed through the `sticky` domain handler.
10
+ *
11
+ * SYNC: Canonical type definitions live in packages/core/src/sticky/types.ts.
12
+ * These operation types are the API contract (wire format).
13
+ *
14
+ * @task T1031 — Contract authoring for T980 migration worker
15
+ * @see packages/cleo/src/dispatch/domains/sticky.ts
16
+ * @see packages/core/src/sticky/types.ts
17
+ */
18
+ export {};
19
+ //# sourceMappingURL=sticky.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticky.js","sourceRoot":"","sources":["../../src/operations/sticky.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}