@creator-notes/cnotes 0.63.1 → 0.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/cn.js +2 -0
- package/dist/cn.js.map +1 -1
- package/dist/commands/draft.d.ts +3 -0
- package/dist/commands/draft.d.ts.map +1 -0
- package/dist/commands/draft.js +260 -0
- package/dist/commands/draft.js.map +1 -0
- package/dist/lib/draft-ref.d.ts +24 -0
- package/dist/lib/draft-ref.d.ts.map +1 -0
- package/dist/lib/draft-ref.js +29 -0
- package/dist/lib/draft-ref.js.map +1 -0
- package/dist/lib/output.js +1 -1
- package/dist/lib/output.js.map +1 -1
- package/package.json +1 -1
- package/skills/cnotes/SKILL.md +40 -1
package/dist/cn.js
CHANGED
|
@@ -20,6 +20,7 @@ import { registerSearchCommands } from "./commands/search.js";
|
|
|
20
20
|
import { registerTimelineCommands } from "./commands/timeline.js";
|
|
21
21
|
import { registerReviewCommands } from "./commands/review.js";
|
|
22
22
|
import { registerSharedCommands } from "./commands/shared.js";
|
|
23
|
+
import { registerDraftCommands } from "./commands/draft.js";
|
|
23
24
|
import { registerFocusCommands } from "./commands/focus.js";
|
|
24
25
|
import { registerTypesCommands } from "./commands/types.js";
|
|
25
26
|
import { registerFilesCommands } from "./commands/files.js";
|
|
@@ -82,6 +83,7 @@ registerSearchCommands(program);
|
|
|
82
83
|
registerTimelineCommands(program);
|
|
83
84
|
registerReviewCommands(program);
|
|
84
85
|
registerSharedCommands(program);
|
|
86
|
+
registerDraftCommands(program);
|
|
85
87
|
registerFocusCommands(program);
|
|
86
88
|
registerTypesCommands(program);
|
|
87
89
|
registerFilesCommands(program);
|
package/dist/cn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../src/cn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cn.js","sourceRoot":"","sources":["../src/cn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../src/commands/draft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgO5D"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { ApiClient } from "../lib/api-client.js";
|
|
2
|
+
import { resolveBaseConfig, resolveConfig } from "../lib/config.js";
|
|
3
|
+
import { loadConfig, setWorkspaceId } from "../lib/auth-store.js";
|
|
4
|
+
import { ApiError, NotFoundError, ValidationError, handleError } from "../lib/errors.js";
|
|
5
|
+
import { outputJson, outputTable, timeAgo, truncate } from "../lib/output.js";
|
|
6
|
+
import { resolveDraftRef } from "../lib/draft-ref.js";
|
|
7
|
+
/**
|
|
8
|
+
* Make `workspaceId` the active workspace, or say how to when the token came
|
|
9
|
+
* from a flag or env var and there is no config entry to write to.
|
|
10
|
+
*/
|
|
11
|
+
function activate(serverUrl, workspaceId) {
|
|
12
|
+
const switched = setWorkspaceId(loadConfig(), serverUrl, workspaceId);
|
|
13
|
+
return switched
|
|
14
|
+
? { switched }
|
|
15
|
+
: { switched, hint: `Set CNOTES_WORKSPACE=${workspaceId} (or pass -w ${workspaceId}) to work in it.` };
|
|
16
|
+
}
|
|
17
|
+
/** The draft a command acts on: the named one, else the active workspace. */
|
|
18
|
+
async function resolveTarget(api, ref, activeId) {
|
|
19
|
+
if (!ref) {
|
|
20
|
+
if (!activeId) {
|
|
21
|
+
throw new ValidationError("No draft named and no active workspace", "Run `cnotes draft list`");
|
|
22
|
+
}
|
|
23
|
+
return activeId;
|
|
24
|
+
}
|
|
25
|
+
const { drafts } = await api.get("/api/workspace-drafts");
|
|
26
|
+
const resolved = resolveDraftRef(drafts, ref);
|
|
27
|
+
if ("error" in resolved)
|
|
28
|
+
throw new NotFoundError(resolved.error, "Run `cnotes draft list`");
|
|
29
|
+
return resolved.draft.id;
|
|
30
|
+
}
|
|
31
|
+
/** A 404 on the active workspace means it is not one of the caller's drafts. */
|
|
32
|
+
function notADraft(error, named) {
|
|
33
|
+
if (!named && error instanceof ApiError && error.status === 404) {
|
|
34
|
+
return new NotFoundError("The active workspace is not one of your open drafts", "Name one (`cnotes draft merge <draft>`) or run `cnotes draft list`");
|
|
35
|
+
}
|
|
36
|
+
return error;
|
|
37
|
+
}
|
|
38
|
+
export function registerDraftCommands(program) {
|
|
39
|
+
const draft = program
|
|
40
|
+
.command("draft")
|
|
41
|
+
.description("Private drafts of a shared workspace: build many notes and canvases out of sight, then merge or dismiss them as one unit")
|
|
42
|
+
.addHelpText("after", `
|
|
43
|
+
A draft is a private workspace opened from the active one. Only you (and agents
|
|
44
|
+
using your login) can see it. Notes made in it take ids from the shared
|
|
45
|
+
workspace's sequence, and a mention of a shared note links to it, so a merge
|
|
46
|
+
moves everything over with the same ids and working links.
|
|
47
|
+
|
|
48
|
+
Examples:
|
|
49
|
+
$ cnotes draft open "Pricing rethink" --intent "Rework tiers for teams"
|
|
50
|
+
$ cnotes notes create --notes '[...]' # lands in the draft
|
|
51
|
+
$ cnotes draft list
|
|
52
|
+
$ cnotes draft checkout pricing # resume from a new session
|
|
53
|
+
$ cnotes draft status
|
|
54
|
+
$ cnotes draft merge # move it all into the shared workspace
|
|
55
|
+
$ cnotes draft dismiss # or drop it
|
|
56
|
+
`);
|
|
57
|
+
draft
|
|
58
|
+
.command("open")
|
|
59
|
+
.description("Open a draft of the active workspace and switch to it")
|
|
60
|
+
.argument("<name>", "What the draft is called")
|
|
61
|
+
.option("--intent <text>", "What the draft is for, in a sentence")
|
|
62
|
+
.option("--no-switch", "Stay in the current workspace")
|
|
63
|
+
.action(async (name, opts) => {
|
|
64
|
+
const cfg = resolveConfig(program.opts());
|
|
65
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
66
|
+
try {
|
|
67
|
+
const created = await api.post("/api/workspace-drafts", { workspaceId: cfg.workspaceId, name, intent: opts.intent });
|
|
68
|
+
const switchResult = opts.switch ? activate(cfg.serverUrl, created.draftId) : { switched: false };
|
|
69
|
+
if (cfg.quiet) {
|
|
70
|
+
console.log(created.draftId);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (cfg.json) {
|
|
74
|
+
outputJson({ ...created, active: switchResult.switched });
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
console.log(`Opened draft "${created.name}" (${created.draftId})`);
|
|
78
|
+
if (switchResult.switched) {
|
|
79
|
+
console.log("It is now the active workspace; new notes and canvases land in it.");
|
|
80
|
+
}
|
|
81
|
+
else if ("hint" in switchResult && switchResult.hint) {
|
|
82
|
+
console.log(switchResult.hint);
|
|
83
|
+
}
|
|
84
|
+
console.log(`Link: ${cfg.serverUrl}/${created.draftId}?canvasId=${created.homeCanvasId}`);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
handleError(error, cfg.json);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
draft
|
|
91
|
+
.command("list")
|
|
92
|
+
.description("Your open drafts, across workspaces")
|
|
93
|
+
.option("--all", "Include merged and dismissed drafts")
|
|
94
|
+
.action(async (opts) => {
|
|
95
|
+
const cfg = resolveBaseConfig(program.opts());
|
|
96
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
97
|
+
try {
|
|
98
|
+
const data = await api.get("/api/workspace-drafts", {
|
|
99
|
+
includeClosed: opts.all ? "true" : undefined,
|
|
100
|
+
});
|
|
101
|
+
if (cfg.quiet) {
|
|
102
|
+
for (const d of data.drafts)
|
|
103
|
+
console.log(d.id);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (cfg.json) {
|
|
107
|
+
outputJson(data);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (data.drafts.length === 0) {
|
|
111
|
+
console.log("No open drafts. Start one with `cnotes draft open <name>`.");
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const rows = data.drafts.map((d) => [
|
|
115
|
+
d.id,
|
|
116
|
+
truncate(d.name, 32),
|
|
117
|
+
d.parentName,
|
|
118
|
+
d.status,
|
|
119
|
+
timeAgo(d.createdAt),
|
|
120
|
+
d.id === cfg.workspaceId ? "(active)" : "",
|
|
121
|
+
]);
|
|
122
|
+
outputTable(["ID", "NAME", "DRAFT OF", "STATUS", "OPENED", ""], rows);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
handleError(error, cfg.json);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
draft
|
|
129
|
+
.command("checkout")
|
|
130
|
+
.description("Make a draft the active workspace (resume it from a new session)")
|
|
131
|
+
.argument("<draft>", "Draft id or name (unique substring ok)")
|
|
132
|
+
.action(async (ref) => {
|
|
133
|
+
const cfg = resolveBaseConfig(program.opts());
|
|
134
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
135
|
+
try {
|
|
136
|
+
const id = await resolveTarget(api, ref, cfg.workspaceId);
|
|
137
|
+
const detail = await api.get(`/api/workspace-drafts/${id}`);
|
|
138
|
+
const switchResult = activate(cfg.serverUrl, id);
|
|
139
|
+
if (cfg.quiet) {
|
|
140
|
+
console.log(id);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (cfg.json) {
|
|
144
|
+
outputJson({ ...detail, active: switchResult.switched });
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
console.log(`Checked out "${detail.draft.name}": ${detail.noteCount} notes, ${detail.canvasCount} canvases, draft of ${detail.draft.parentName}.`);
|
|
148
|
+
if (!switchResult.switched && switchResult.hint)
|
|
149
|
+
console.log(switchResult.hint);
|
|
150
|
+
if (detail.draft.intent)
|
|
151
|
+
console.log(`Intent: ${detail.draft.intent}`);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
handleError(error, cfg.json);
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
draft
|
|
158
|
+
.command("status")
|
|
159
|
+
.description("What the active draft (or a named one) holds")
|
|
160
|
+
.argument("[draft]", "Draft id or name; defaults to the active workspace")
|
|
161
|
+
.action(async (ref) => {
|
|
162
|
+
const cfg = resolveBaseConfig(program.opts());
|
|
163
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
164
|
+
try {
|
|
165
|
+
const id = await resolveTarget(api, ref, cfg.workspaceId);
|
|
166
|
+
const detail = await api.get(`/api/workspace-drafts/${id}`).catch((e) => {
|
|
167
|
+
throw notADraft(e, Boolean(ref));
|
|
168
|
+
});
|
|
169
|
+
if (cfg.quiet) {
|
|
170
|
+
console.log(id);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (cfg.json) {
|
|
174
|
+
outputJson(detail);
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const d = detail.draft;
|
|
178
|
+
console.log(`${d.name} (${d.id})`);
|
|
179
|
+
console.log(` Draft of: ${d.parentName} (${d.parentWorkspaceId})`);
|
|
180
|
+
console.log(` Status: ${d.status}, opened ${timeAgo(d.createdAt)}`);
|
|
181
|
+
console.log(` Holds: ${detail.noteCount} notes, ${detail.canvasCount} canvases`);
|
|
182
|
+
if (d.intent)
|
|
183
|
+
console.log(` Intent: ${d.intent}`);
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
handleError(error, cfg.json);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
draft
|
|
190
|
+
.command("merge")
|
|
191
|
+
.description("Move the draft's notes and canvases into the shared workspace, then close it")
|
|
192
|
+
.argument("[draft]", "Draft id or name; defaults to the active workspace")
|
|
193
|
+
.action(async (ref) => {
|
|
194
|
+
const cfg = resolveBaseConfig(program.opts());
|
|
195
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
196
|
+
try {
|
|
197
|
+
const id = await resolveTarget(api, ref, cfg.workspaceId);
|
|
198
|
+
const result = await api
|
|
199
|
+
.post(`/api/workspace-drafts/${id}`, { action: "merge" })
|
|
200
|
+
.catch((e) => {
|
|
201
|
+
throw notADraft(e, Boolean(ref));
|
|
202
|
+
});
|
|
203
|
+
const switched = id === cfg.workspaceId ? activate(cfg.serverUrl, result.parentWorkspaceId).switched : false;
|
|
204
|
+
if (cfg.quiet) {
|
|
205
|
+
console.log(result.parentWorkspaceId);
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
if (cfg.json) {
|
|
209
|
+
outputJson({ ...result, activeWorkspaceId: switched ? result.parentWorkspaceId : cfg.workspaceId });
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
console.log(`Merged: ${result.notesMoved} notes and ${result.canvasesMoved} canvases moved into the shared workspace.`);
|
|
213
|
+
if (result.renamed.length > 0) {
|
|
214
|
+
console.log("These ids were taken in the shared workspace and changed (mentions updated):");
|
|
215
|
+
for (const r of result.renamed)
|
|
216
|
+
console.log(` ${r.from} -> ${r.to}`);
|
|
217
|
+
}
|
|
218
|
+
if (switched)
|
|
219
|
+
console.log("Switched back to the shared workspace.");
|
|
220
|
+
if (result.firstCanvasId) {
|
|
221
|
+
console.log(`Link: ${cfg.serverUrl}/${result.parentWorkspaceId}?canvasId=${result.firstCanvasId}`);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
handleError(error, cfg.json);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
draft
|
|
229
|
+
.command("dismiss")
|
|
230
|
+
.description("Close the draft without merging; nothing in it reaches the shared workspace")
|
|
231
|
+
.argument("[draft]", "Draft id or name; defaults to the active workspace")
|
|
232
|
+
.action(async (ref) => {
|
|
233
|
+
const cfg = resolveBaseConfig(program.opts());
|
|
234
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
235
|
+
try {
|
|
236
|
+
const id = await resolveTarget(api, ref, cfg.workspaceId);
|
|
237
|
+
const result = await api
|
|
238
|
+
.post(`/api/workspace-drafts/${id}`, { action: "dismiss" })
|
|
239
|
+
.catch((e) => {
|
|
240
|
+
throw notADraft(e, Boolean(ref));
|
|
241
|
+
});
|
|
242
|
+
const switched = id === cfg.workspaceId ? activate(cfg.serverUrl, result.parentWorkspaceId).switched : false;
|
|
243
|
+
if (cfg.quiet) {
|
|
244
|
+
console.log(id);
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
if (cfg.json) {
|
|
248
|
+
outputJson({ ...result, draftId: id });
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
console.log("Dismissed. Nothing from the draft reached the shared workspace.");
|
|
252
|
+
if (switched)
|
|
253
|
+
console.log("Switched back to the shared workspace.");
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
handleError(error, cfg.json);
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=draft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft.js","sourceRoot":"","sources":["../../src/commands/draft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** A draft row as `GET /api/workspace-drafts` returns it. */
|
|
2
|
+
export interface DraftRow {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
intent: string | null;
|
|
6
|
+
status: "open" | "merged" | "dismissed";
|
|
7
|
+
parentWorkspaceId: string;
|
|
8
|
+
parentName: string;
|
|
9
|
+
createdAt: number;
|
|
10
|
+
closedAt: number | null;
|
|
11
|
+
}
|
|
12
|
+
/** Convex ids are lowercase alphanumeric; a name is anything else. */
|
|
13
|
+
export declare function looksLikeId(ref: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve what a person typed to exactly one draft: an id, an exact name
|
|
16
|
+
* (case-insensitive), or a unique case-insensitive substring of a name.
|
|
17
|
+
* Returns the match, or a message naming why it failed and the candidates.
|
|
18
|
+
*/
|
|
19
|
+
export declare function resolveDraftRef(drafts: DraftRow[], ref: string): {
|
|
20
|
+
draft: DraftRow;
|
|
21
|
+
} | {
|
|
22
|
+
error: string;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=draft-ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-ref.d.ts","sourceRoot":"","sources":["../../src/lib/draft-ref.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,EAAE,EAClB,GAAG,EAAE,MAAM,GACV;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAgBzC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Convex ids are lowercase alphanumeric; a name is anything else. */
|
|
2
|
+
export function looksLikeId(ref) {
|
|
3
|
+
return /^[a-z0-9]{20,}$/.test(ref);
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Resolve what a person typed to exactly one draft: an id, an exact name
|
|
7
|
+
* (case-insensitive), or a unique case-insensitive substring of a name.
|
|
8
|
+
* Returns the match, or a message naming why it failed and the candidates.
|
|
9
|
+
*/
|
|
10
|
+
export function resolveDraftRef(drafts, ref) {
|
|
11
|
+
const wanted = ref.trim();
|
|
12
|
+
if (!wanted)
|
|
13
|
+
return { error: "Name a draft by id or name" };
|
|
14
|
+
const byId = drafts.find((d) => d.id === wanted);
|
|
15
|
+
if (byId)
|
|
16
|
+
return { draft: byId };
|
|
17
|
+
const lower = wanted.toLowerCase();
|
|
18
|
+
const exact = drafts.filter((d) => d.name.toLowerCase() === lower);
|
|
19
|
+
if (exact.length === 1)
|
|
20
|
+
return { draft: exact[0] };
|
|
21
|
+
const partial = exact.length > 1 ? exact : drafts.filter((d) => d.name.toLowerCase().includes(lower));
|
|
22
|
+
if (partial.length === 1)
|
|
23
|
+
return { draft: partial[0] };
|
|
24
|
+
if (partial.length === 0)
|
|
25
|
+
return { error: `No open draft matches "${wanted}"` };
|
|
26
|
+
const names = partial.map((d) => `${d.name} (${d.id})`).join(", ");
|
|
27
|
+
return { error: `"${wanted}" matches more than one draft: ${names}. Use the id.` };
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=draft-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft-ref.js","sourceRoot":"","sources":["../../src/lib/draft-ref.ts"],"names":[],"mappings":"AAYA,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAkB,EAClB,GAAW;IAEX,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAE5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACjD,IAAI,IAAI;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACtG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,0BAA0B,MAAM,GAAG,EAAE,CAAC;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,kCAAkC,KAAK,eAAe,EAAE,CAAC;AACrF,CAAC"}
|
package/dist/lib/output.js
CHANGED
|
@@ -10,7 +10,7 @@ export function setOutputMode(next) {
|
|
|
10
10
|
mode = next;
|
|
11
11
|
}
|
|
12
12
|
/** Envelope keys that hold a response's rows, in the order we look for them. */
|
|
13
|
-
const ROW_KEYS = ["results", "items", "comments", "plans", "all", "keys"];
|
|
13
|
+
const ROW_KEYS = ["results", "items", "comments", "plans", "drafts", "all", "keys"];
|
|
14
14
|
/**
|
|
15
15
|
* Find the rows in a response: the array itself, or the array inside a known
|
|
16
16
|
* envelope key (`notes create` → results, `comments list` → comments, …).
|
package/dist/lib/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,IAAI,IAAI,GAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAExC,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,IAAI,GAAG,IAAI,CAAC;AACd,CAAC;AAED,gFAAgF;AAChF,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skills/cnotes/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cnotes
|
|
3
|
-
description: CreatorNotes CLI for the terminal. The command is `cnotes`. Use when the user mentions CreatorNotes or the cnotes CLI, asks to use this CLI skill, or wants to create, read, update, search, summarize, organize, or visualize notes, canvases, or transcripts in a CreatorNotes workspace. Covers cnotes notes, cnotes canvas, cnotes timeline, cnotes shared (what teammates shared with you), cnotes review (official review requests: request, receive, complete), cnotes focus (plan flow-state blocks landed on a target card), cnotes search, cnotes versions, relationships, and operations. Prefer the cnotes CLI, verify the active workspace with cnotes workspace current, use --json when parsing output, and wrap write operations in cnotes operations begin and cnotes operations end.
|
|
3
|
+
description: CreatorNotes CLI for the terminal. The command is `cnotes`. Use when the user mentions CreatorNotes or the cnotes CLI, asks to use this CLI skill, or wants to create, read, update, search, summarize, organize, or visualize notes, canvases, or transcripts in a CreatorNotes workspace. Covers cnotes notes, cnotes canvas, cnotes timeline, cnotes shared (what teammates shared with you), cnotes draft (private drafts of a workspace, merged or dismissed as one unit), cnotes review (official review requests: request, receive, complete), cnotes focus (plan flow-state blocks landed on a target card), cnotes search, cnotes versions, relationships, and operations. Prefer the cnotes CLI, verify the active workspace with cnotes workspace current, use --json when parsing output, and wrap write operations in cnotes operations begin and cnotes operations end.
|
|
4
4
|
metadata:
|
|
5
5
|
short-description: Work with CreatorNotes via the cnotes CLI
|
|
6
6
|
---
|
|
@@ -525,6 +525,45 @@ cnotes shared --quiet # target refs only (CANVAS-12, ...)
|
|
|
525
525
|
# displayId, title, ts, commentCount? (reviews), ask? (asks) }
|
|
526
526
|
```
|
|
527
527
|
|
|
528
|
+
### Drafts (`cnotes draft`)
|
|
529
|
+
|
|
530
|
+
A draft is a private workspace opened FROM the active one, for a body of work
|
|
531
|
+
(many notes, several canvases) that should not appear in the shared workspace
|
|
532
|
+
until it is ready. Only the person who opened it, and agents using their login,
|
|
533
|
+
can see it. It is merged into the shared workspace or dismissed as one unit.
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
cnotes draft open "Pricing rethink" --intent "Rework tiers for teams" # opens AND switches to it
|
|
537
|
+
cnotes notes create --notes '[...]' # lands in the draft (it is the active workspace)
|
|
538
|
+
cnotes draft list # your open drafts across workspaces (--all adds closed)
|
|
539
|
+
cnotes draft checkout pricing # resume in a NEW session: id or unique name substring
|
|
540
|
+
cnotes draft status # what the active draft holds
|
|
541
|
+
cnotes draft merge # move its notes + canvases into the shared workspace
|
|
542
|
+
cnotes draft dismiss # or close it; nothing reaches the shared workspace
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
What to rely on:
|
|
546
|
+
- **Ids survive the merge.** A draft mints display ids from the shared
|
|
547
|
+
workspace's sequence, so `DECISION-6K9` written in a draft is still
|
|
548
|
+
`DECISION-6K9` after merging. In the rare clash the merge re-mints the id,
|
|
549
|
+
rewrites every mention to match, and lists the change (`renamed` in `--json`).
|
|
550
|
+
- **Link to shared notes normally.** `[DECISION-12: Title](relationship:builds-on)`
|
|
551
|
+
inside a draft resolves to the shared note when the draft has no note by that
|
|
552
|
+
id, and becomes an ordinary same-workspace link on merge.
|
|
553
|
+
- **Canvases in a draft hold draft notes.** Placing a shared note on a draft
|
|
554
|
+
canvas is not supported; mention it from a draft note instead.
|
|
555
|
+
- **Merge is all or nothing, owner only, at most 100 notes and 25 canvases.**
|
|
556
|
+
Only live items count: archived notes and canvases stay in the draft, and any
|
|
557
|
+
link, card or list item pointing at them is dropped on merge so their titles
|
|
558
|
+
never reach the shared workspace. The draft's empty starting canvas is left
|
|
559
|
+
behind. Merge and dismiss switch the CLI back to the shared workspace when
|
|
560
|
+
the draft was active.
|
|
561
|
+
- **A draft can't be shared.** Invites, email shares, review requests and
|
|
562
|
+
public links all refuse in a draft; merge is the only way its work reaches
|
|
563
|
+
anyone else.
|
|
564
|
+
- **Wrap the work in an operation as usual** (`operations begin` while the
|
|
565
|
+
draft is active): runs attribute to the draft like any workspace.
|
|
566
|
+
|
|
528
567
|
### Review requests (`cnotes review` / `cnotes reviews`)
|
|
529
568
|
|
|
530
569
|
Official review requests, both legs. The canvas IS the request: assemble it
|