@cleocode/contracts 2026.4.100 → 2026.4.102
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/brain-graph.d.ts +245 -0
- package/dist/brain-graph.d.ts.map +1 -0
- package/dist/brain-graph.js +30 -0
- package/dist/brain-graph.js.map +1 -0
- package/dist/branch-lock.d.ts +225 -0
- package/dist/branch-lock.d.ts.map +1 -0
- package/dist/branch-lock.js +43 -0
- package/dist/branch-lock.js.map +1 -0
- package/dist/exit-codes.d.ts +1 -1
- package/dist/exit-codes.d.ts.map +1 -1
- package/dist/exit-codes.js +1 -1
- package/dist/exit-codes.js.map +1 -1
- package/dist/graph.d.ts +2 -0
- package/dist/graph.d.ts.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/nexus-contract-ops.d.ts +186 -0
- package/dist/nexus-contract-ops.d.ts.map +1 -0
- package/dist/nexus-contract-ops.js +11 -0
- package/dist/nexus-contract-ops.js.map +1 -0
- package/dist/nexus-living-brain-ops.d.ts +314 -0
- package/dist/nexus-living-brain-ops.d.ts.map +1 -0
- package/dist/nexus-living-brain-ops.js +15 -0
- package/dist/nexus-living-brain-ops.js.map +1 -0
- package/dist/nexus-query-ops.d.ts +82 -0
- package/dist/nexus-query-ops.d.ts.map +1 -0
- package/dist/nexus-query-ops.js +11 -0
- package/dist/nexus-query-ops.js.map +1 -0
- package/dist/nexus-route-ops.d.ts +103 -0
- package/dist/nexus-route-ops.d.ts.map +1 -0
- package/dist/nexus-route-ops.js +10 -0
- package/dist/nexus-route-ops.js.map +1 -0
- package/dist/nexus-tasks-bridge-ops.d.ts +68 -0
- package/dist/nexus-tasks-bridge-ops.d.ts.map +1 -0
- package/dist/nexus-tasks-bridge-ops.js +11 -0
- package/dist/nexus-tasks-bridge-ops.js.map +1 -0
- package/dist/nexus-wiki-ops.d.ts +127 -0
- package/dist/nexus-wiki-ops.d.ts.map +1 -0
- package/dist/nexus-wiki-ops.js +12 -0
- package/dist/nexus-wiki-ops.js.map +1 -0
- package/dist/operations/admin.d.ts +1781 -0
- package/dist/operations/admin.d.ts.map +1 -0
- package/dist/operations/admin.js +27 -0
- package/dist/operations/admin.js.map +1 -0
- package/dist/operations/brain.d.ts +34 -26
- package/dist/operations/brain.d.ts.map +1 -1
- package/dist/operations/brain.js +7 -6
- package/dist/operations/brain.js.map +1 -1
- package/dist/operations/docs.d.ts +279 -0
- package/dist/operations/docs.d.ts.map +1 -0
- package/dist/operations/docs.js +31 -0
- package/dist/operations/docs.js.map +1 -0
- package/dist/operations/intelligence.d.ts +319 -0
- package/dist/operations/intelligence.d.ts.map +1 -0
- package/dist/operations/intelligence.js +24 -0
- package/dist/operations/intelligence.js.map +1 -0
- package/dist/operations/orchestrate.d.ts +113 -2
- package/dist/operations/orchestrate.d.ts.map +1 -1
- package/dist/operations/orchestrate.js +3 -2
- package/dist/operations/orchestrate.js.map +1 -1
- package/dist/operations/session.d.ts +193 -47
- package/dist/operations/session.d.ts.map +1 -1
- package/dist/operations/session.js +7 -6
- package/dist/operations/session.js.map +1 -1
- package/dist/operations/sticky.d.ts +264 -0
- package/dist/operations/sticky.d.ts.map +1 -0
- package/dist/operations/sticky.js +19 -0
- package/dist/operations/sticky.js.map +1 -0
- package/dist/operations/validate.d.ts +145 -19
- package/dist/operations/validate.d.ts.map +1 -1
- package/dist/operations/validate.js +3 -3
- package/dist/task-record.d.ts +19 -0
- package/dist/task-record.d.ts.map +1 -1
- package/package.json +41 -1
- package/src/brain-graph.ts +282 -0
- package/src/branch-lock.ts +254 -0
- package/src/exit-codes.ts +1 -1
- package/src/graph.ts +2 -0
- package/src/index.ts +128 -0
- package/src/nexus-contract-ops.ts +244 -0
- package/src/nexus-living-brain-ops.ts +345 -0
- package/src/nexus-query-ops.ts +100 -0
- package/src/nexus-route-ops.ts +134 -0
- package/src/nexus-tasks-bridge-ops.ts +71 -0
- package/src/nexus-wiki-ops.ts +133 -0
- package/src/operations/admin.ts +2087 -0
- package/src/operations/brain.ts +34 -26
- package/src/operations/docs.ts +322 -0
- package/src/operations/intelligence.ts +399 -0
- package/src/operations/orchestrate.ts +117 -2
- package/src/operations/session.ts +225 -48
- package/src/operations/sticky.ts +308 -0
- package/src/operations/validate.ts +161 -55
- package/src/task-record.ts +19 -0
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Session Domain Operations (
|
|
2
|
+
* Session Domain Operations (15 operations)
|
|
3
3
|
*
|
|
4
|
-
* Query operations:
|
|
5
|
-
* Mutate operations:
|
|
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
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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
|
-
*
|
|
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`.
|
|
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.
|
|
39
|
+
/** True when a session is currently active. */
|
|
42
40
|
hasActiveSession: boolean;
|
|
43
|
-
/**
|
|
44
|
-
|
|
45
|
-
|
|
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:
|
|
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
|
-
|
|
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,33 @@ 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;
|
|
170
|
+
/**
|
|
171
|
+
* HMAC-SHA256 owner-auth token for L4a override authentication (T1118).
|
|
172
|
+
*
|
|
173
|
+
* Derived from HMAC-SHA256(key=password, data=sessionId) during
|
|
174
|
+
* `cleo session start --owner-auth`. Stored in sessions.owner_auth_token
|
|
175
|
+
* and validated on every `CLEO_OWNER_OVERRIDE` call.
|
|
176
|
+
*/
|
|
177
|
+
ownerAuthToken?: string;
|
|
91
178
|
}
|
|
92
|
-
|
|
179
|
+
/** Result of `session.start` — the newly created session. */
|
|
180
|
+
export type SessionStartResult = Session;
|
|
181
|
+
/** Parameters for `session.end`. */
|
|
93
182
|
export interface SessionEndParams {
|
|
94
|
-
|
|
183
|
+
note?: string;
|
|
184
|
+
nextAction?: string;
|
|
95
185
|
/**
|
|
96
186
|
* Structured session summary for direct ingestion into brain.db.
|
|
97
187
|
* When provided, CLEO persists key learnings, decisions, patterns, and next actions.
|
|
@@ -99,13 +189,10 @@ export interface SessionEndParams {
|
|
|
99
189
|
*/
|
|
100
190
|
sessionSummary?: import('../config.js').SessionSummaryInput;
|
|
101
191
|
}
|
|
192
|
+
/** Result of `session.end`. */
|
|
102
193
|
export interface SessionEndResult {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
duration: string;
|
|
106
|
-
tasksCompleted: number;
|
|
107
|
-
tasksCreated: number;
|
|
108
|
-
};
|
|
194
|
+
sessionId: string;
|
|
195
|
+
ended: boolean;
|
|
109
196
|
/**
|
|
110
197
|
* A summarization prompt built from this session's debrief data.
|
|
111
198
|
* Populated when `brain.summarization.enabled` is true.
|
|
@@ -113,22 +200,81 @@ export interface SessionEndResult {
|
|
|
113
200
|
*/
|
|
114
201
|
memoryPrompt?: string;
|
|
115
202
|
}
|
|
203
|
+
/** Parameters for `session.resume`. */
|
|
116
204
|
export interface SessionResumeParams {
|
|
117
205
|
sessionId: string;
|
|
118
206
|
}
|
|
119
|
-
|
|
207
|
+
/** Result of `session.resume` — the resumed session. */
|
|
208
|
+
export type SessionResumeResult = Session;
|
|
209
|
+
/** Parameters for `session.suspend`. */
|
|
120
210
|
export interface SessionSuspendParams {
|
|
121
|
-
notes?: string;
|
|
122
|
-
}
|
|
123
|
-
export interface SessionSuspendResult {
|
|
124
211
|
sessionId: string;
|
|
125
|
-
|
|
212
|
+
reason?: string;
|
|
126
213
|
}
|
|
214
|
+
/** Result of `session.suspend` — the suspended session. */
|
|
215
|
+
export type SessionSuspendResult = Session;
|
|
216
|
+
/** Parameters for `session.gc`. */
|
|
127
217
|
export interface SessionGcParams {
|
|
128
|
-
|
|
218
|
+
maxAgeDays?: number;
|
|
129
219
|
}
|
|
220
|
+
/** Result of `session.gc`. */
|
|
130
221
|
export interface SessionGcResult {
|
|
131
|
-
|
|
132
|
-
|
|
222
|
+
orphaned: string[];
|
|
223
|
+
removed: string[];
|
|
224
|
+
}
|
|
225
|
+
/** Parameters for `session.record.decision`. */
|
|
226
|
+
export interface SessionRecordDecisionParams {
|
|
227
|
+
sessionId?: string;
|
|
228
|
+
taskId: string;
|
|
229
|
+
decision: string;
|
|
230
|
+
rationale: string;
|
|
231
|
+
alternatives?: string[];
|
|
133
232
|
}
|
|
233
|
+
/** Result of `session.record.decision`. */
|
|
234
|
+
export type SessionRecordDecisionResult = DecisionRecord;
|
|
235
|
+
/** Parameters for `session.record.assumption`. */
|
|
236
|
+
export interface SessionRecordAssumptionParams {
|
|
237
|
+
sessionId?: string;
|
|
238
|
+
taskId?: string;
|
|
239
|
+
assumption: string;
|
|
240
|
+
confidence: 'high' | 'medium' | 'low';
|
|
241
|
+
}
|
|
242
|
+
/** Result of `session.record.assumption`. */
|
|
243
|
+
export interface SessionRecordAssumptionResult {
|
|
244
|
+
id: string;
|
|
245
|
+
sessionId: string;
|
|
246
|
+
taskId: string | null;
|
|
247
|
+
assumption: string;
|
|
248
|
+
confidence: string;
|
|
249
|
+
timestamp: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Typed operation record for the session domain.
|
|
253
|
+
*
|
|
254
|
+
* Maps each operation name (as dispatched by the registry — no domain prefix)
|
|
255
|
+
* to its `[Params, Result]` tuple. Used by `TypedDomainHandler<SessionOps>`
|
|
256
|
+
* in the dispatch layer to provide compile-time narrowing of params.
|
|
257
|
+
*
|
|
258
|
+
* @task T975 — Wave D typed-dispatch migration
|
|
259
|
+
*/
|
|
260
|
+
export type SessionOps = {
|
|
261
|
+
readonly status: readonly [SessionStatusParams, SessionStatusResult];
|
|
262
|
+
readonly list: readonly [SessionListParams, SessionListResult];
|
|
263
|
+
readonly show: readonly [SessionShowParams, SessionShowResult];
|
|
264
|
+
readonly find: readonly [SessionFindParams, SessionFindResult];
|
|
265
|
+
readonly 'decision.log': readonly [SessionDecisionLogParams, SessionDecisionLogResult];
|
|
266
|
+
readonly 'context.drift': readonly [SessionContextDriftParams, SessionContextDriftResult];
|
|
267
|
+
readonly 'handoff.show': readonly [SessionHandoffShowParams, SessionHandoffShowResult | null];
|
|
268
|
+
readonly 'briefing.show': readonly [SessionBriefingShowParams, SessionBriefingShowResult];
|
|
269
|
+
readonly start: readonly [SessionStartParams, SessionStartResult];
|
|
270
|
+
readonly end: readonly [SessionEndParams, SessionEndResult];
|
|
271
|
+
readonly resume: readonly [SessionResumeParams, SessionResumeResult];
|
|
272
|
+
readonly suspend: readonly [SessionSuspendParams, SessionSuspendResult];
|
|
273
|
+
readonly gc: readonly [SessionGcParams, SessionGcResult];
|
|
274
|
+
readonly 'record.decision': readonly [SessionRecordDecisionParams, SessionRecordDecisionResult];
|
|
275
|
+
readonly 'record.assumption': readonly [
|
|
276
|
+
SessionRecordAssumptionParams,
|
|
277
|
+
SessionRecordAssumptionResult
|
|
278
|
+
];
|
|
279
|
+
};
|
|
134
280
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/operations/session.ts"],"names":[],"mappings":"AAAA
|
|
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 (
|
|
2
|
+
* Session Domain Operations (15 operations)
|
|
3
3
|
*
|
|
4
|
-
* Query operations:
|
|
5
|
-
* Mutate operations:
|
|
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
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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
|
|
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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qCAAqC;IACrC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,8BAA8B;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAUD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAU5C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC;AAM3C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,UAAU,EAAE,uBAAuB,CAAC;IACpC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAM/C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAM7C;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,CAAC;AAEnB;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACzE;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACzE;IAAE,EAAE,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACtE;IAAE,EAAE,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAClF;IAAE,EAAE,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAClF;IAAE,EAAE,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC"}
|
|
@@ -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"}
|