@creator-notes/cnotes 0.25.2 → 0.29.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/README.md +3 -4
- package/dist/cn.js +0 -2
- package/dist/cn.js.map +1 -1
- package/dist/commands/auth-keys.d.ts +3 -0
- package/dist/commands/auth-keys.d.ts.map +1 -0
- package/dist/commands/auth-keys.js +69 -0
- package/dist/commands/auth-keys.js.map +1 -0
- package/dist/commands/auth.d.ts +1 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +65 -7
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/canvas.d.ts.map +1 -1
- package/dist/commands/canvas.js +125 -54
- package/dist/commands/canvas.js.map +1 -1
- package/dist/commands/files.d.ts.map +1 -1
- package/dist/commands/files.js +11 -1
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/relationships.d.ts.map +1 -1
- package/dist/commands/relationships.js +145 -14
- package/dist/commands/relationships.js.map +1 -1
- package/dist/lib/api-client.d.ts +1 -1
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +2 -1
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/build-schema.d.ts +3 -1
- package/dist/lib/build-schema.d.ts.map +1 -1
- package/dist/lib/build-schema.js +3 -1
- package/dist/lib/build-schema.js.map +1 -1
- package/dist/lib/canvas-read.d.ts +59 -13
- package/dist/lib/canvas-read.d.ts.map +1 -1
- package/dist/lib/canvas-read.js +209 -17
- package/dist/lib/canvas-read.js.map +1 -1
- package/dist/lib/install-skill.d.ts +7 -2
- package/dist/lib/install-skill.d.ts.map +1 -1
- package/dist/lib/install-skill.js +44 -12
- package/dist/lib/install-skill.js.map +1 -1
- package/dist/lib/mcp-local-file.d.ts +11 -0
- package/dist/lib/mcp-local-file.d.ts.map +1 -0
- package/dist/lib/mcp-local-file.js +62 -0
- package/dist/lib/mcp-local-file.js.map +1 -0
- package/dist/mcp-server.js +63 -59
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
- package/skills/cnotes/SKILL.md +144 -73
- package/skills/cnotes/references/humanizer.md +267 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/commands/relationships.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/commands/relationships.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export declare class ApiClient {
|
|
|
72
72
|
postFormData<T = unknown>(path: string, buildFormData: () => FormData): Promise<T>;
|
|
73
73
|
put<T = unknown>(path: string, body?: Record<string, unknown>): Promise<T>;
|
|
74
74
|
patch<T = unknown>(path: string, body?: Record<string, unknown>, params?: Record<string, string | undefined>): Promise<T>;
|
|
75
|
-
delete<T = unknown>(path: string): Promise<T>;
|
|
75
|
+
delete<T = unknown>(path: string, body?: unknown): Promise<T>;
|
|
76
76
|
/**
|
|
77
77
|
* Resolve an image (or any storage-backed asset) to a directly-fetchable
|
|
78
78
|
* URL by asking the route where it redirects, WITHOUT downloading the bytes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAcnF;AAED,qBAAa,SAAS;IAElB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;gBADL,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM;IAGvB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAgBtC;;;;OAIG;YACW,cAAc;IAkD5B;;;;;OAKG;YACW,SAAS;IAcjB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC;IAqBP,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAgBP,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,QAAQ,GAC5B,OAAO,CAAC,CAAC,CAAC;IAuBP,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAgBP,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC;IAqBP,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAcnF;AAED,qBAAa,SAAS;IAElB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;gBADL,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM;IAGvB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAgBtC;;;;OAIG;YACW,cAAc;IAkD5B;;;;;OAKG;YACW,SAAS;IAcjB,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC;IAqBP,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAgBP,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,QAAQ,GAC5B,OAAO,CAAC,CAAC,CAAC;IAuBP,GAAG,CAAC,CAAC,GAAG,OAAO,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAgBP,KAAK,CAAC,CAAC,GAAG,OAAO,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC;IAqBP,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAgBnE;;;;;;;;OAQG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwCvD;;;;;;OAMG;IACG,aAAa,CACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAgBzD;;;;;;OAMG;YACW,aAAa;CAc5B"}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -237,11 +237,12 @@ export class ApiClient {
|
|
|
237
237
|
}
|
|
238
238
|
return this.parseJsonSafe(res);
|
|
239
239
|
}
|
|
240
|
-
async delete(path) {
|
|
240
|
+
async delete(path, body) {
|
|
241
241
|
const url = new URL(path, this.serverUrl);
|
|
242
242
|
const res = await this.fetchWithRetry(url.toString(), {
|
|
243
243
|
method: "DELETE",
|
|
244
244
|
headers: this.buildHeaders(),
|
|
245
|
+
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
245
246
|
});
|
|
246
247
|
if (!res.ok) {
|
|
247
248
|
const body = await this.errorBody(res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,9 @@ export declare const STATIC_SCHEMA: {
|
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
readonly canvasNode: {
|
|
39
|
-
readonly kinds: readonly ["note", "
|
|
39
|
+
readonly kinds: readonly ["note", "richtext", "list", "canvas", "section"];
|
|
40
|
+
readonly legacyKinds: readonly ["text"];
|
|
41
|
+
readonly kindsNote: "`kinds` is the CREATABLE set. `richtext` is the wire type of the UI's 'Text' element (free-form rich text on the canvas; a heading is just `# Title`). `canvas` is the portal kind. `text` is LEGACY — old heading nodes still render, move and delete, but nothing creates them any more.";
|
|
40
42
|
readonly note: "Use `cnotes canvas place` with the declarative layout DSL whenever you can — it packs items without overlaps so you avoid x/y math.";
|
|
41
43
|
};
|
|
42
44
|
readonly canvasEdge: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-schema.d.ts","sourceRoot":"","sources":["../../src/lib/build-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"build-schema.d.ts","sourceRoot":"","sources":["../../src/lib/build-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EhB,CAAC;AAgBX,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAClE,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACzC;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,GAAG,OAAO,aAAa,CAAC,CAyD7C"}
|
package/dist/lib/build-schema.js
CHANGED
|
@@ -46,7 +46,9 @@ export const STATIC_SCHEMA = {
|
|
|
46
46
|
},
|
|
47
47
|
},
|
|
48
48
|
canvasNode: {
|
|
49
|
-
kinds: ["note", "
|
|
49
|
+
kinds: ["note", "richtext", "list", "canvas", "section"],
|
|
50
|
+
legacyKinds: ["text"],
|
|
51
|
+
kindsNote: "`kinds` is the CREATABLE set. `richtext` is the wire type of the UI's 'Text' element (free-form rich text on the canvas; a heading is just `# Title`). `canvas` is the portal kind. `text` is LEGACY — old heading nodes still render, move and delete, but nothing creates them any more.",
|
|
50
52
|
note: "Use `cnotes canvas place` with the declarative layout DSL whenever you can — it packs items without overlaps so you avoid x/y math.",
|
|
51
53
|
},
|
|
52
54
|
canvasEdge: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../../src/lib/build-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,aAAa,EAAE;QACb,IAAI,EAAE,iIAAiI;QACvI,MAAM,EAAE;YACN,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,cAAc;YACd,aAAa;YACb,UAAU;YACV,SAAS;SACV;KACF;IACD,MAAM,EAAE;QACN,WAAW,EAAE,2CAA2C;QACxD,gBAAgB,EAAE,wGAAwG;QAC1H,KAAK,EAAE;YACL,6FAA6F;YAC7F,uEAAuE;SACxE;KACF;IACD,SAAS,EAAE;QACT,IAAI,EAAE,6JAA6J;QACnK,SAAS,EAAE,2PAA2P;QACtQ,QAAQ,EAAE,gPAAgP;KAC3P;IACD,SAAS,EAAE;QACT,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,EAAE,EAAE,oBAAoB;gBACxB,SAAS,EAAE,4CAA4C;gBACvD,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,kDAAkD;gBACxD,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,SAAS;gBACnB,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,kBAAkB;aAC9B;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"build-schema.js","sourceRoot":"","sources":["../../src/lib/build-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,53 +2,99 @@
|
|
|
2
2
|
* Shared helper for `cnotes canvas read` and the `cn_canvas_read` MCP tool.
|
|
3
3
|
*
|
|
4
4
|
* Fetches a canvas + its referenced notes (one bulk call, never N+1) and
|
|
5
|
-
* returns
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* returns the canvas as STRUCTURE, not just a bag of content:
|
|
6
|
+
*
|
|
7
|
+
* - `sections` the frames, in reading order, each with its bounds
|
|
8
|
+
* - `elements` the renderable content, each tagged with the section it
|
|
9
|
+
* sits inside (so the grouping the canvas *shows* survives)
|
|
10
|
+
* - `edges` the argument — which element points at which, and why
|
|
11
|
+
* - `portals` the navigation — links out to other canvases
|
|
12
|
+
*
|
|
13
|
+
* Elements are ordered top-to-bottom, left-to-right with a small Y tolerance
|
|
14
|
+
* so visually-aligned rows stay together. Heuristic, not a layout-aware sort —
|
|
15
|
+
* fine for a "thinking aid" but not authoritative.
|
|
9
16
|
*/
|
|
10
17
|
import type { ApiClient } from "./api-client.js";
|
|
11
18
|
export type CanvasPos = {
|
|
12
19
|
positionX?: number;
|
|
13
20
|
positionY?: number;
|
|
14
21
|
};
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
/** Bounds of a section frame. */
|
|
23
|
+
export type CanvasBounds = {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
};
|
|
29
|
+
export type CanvasSection = {
|
|
30
|
+
displayId: string;
|
|
31
|
+
name: string;
|
|
32
|
+
bounds: CanvasBounds;
|
|
33
|
+
colorHex?: string;
|
|
34
|
+
};
|
|
35
|
+
/** An edge endpoint, resolved to a human-meaningful ref wherever possible. */
|
|
36
|
+
export type CanvasEdge = {
|
|
37
|
+
from: string;
|
|
38
|
+
to: string;
|
|
39
|
+
label?: string;
|
|
40
|
+
lineStyle?: string;
|
|
41
|
+
arrowStart?: boolean;
|
|
42
|
+
arrowEnd?: boolean;
|
|
43
|
+
};
|
|
44
|
+
export type CanvasPortal = {
|
|
45
|
+
canvasId: string;
|
|
46
|
+
title: string;
|
|
47
|
+
isDefault?: boolean;
|
|
17
48
|
pos: CanvasPos;
|
|
49
|
+
/** Section frame this portal sits inside, if any. */
|
|
50
|
+
section?: string;
|
|
51
|
+
};
|
|
52
|
+
type ElementBase = {
|
|
53
|
+
pos: CanvasPos;
|
|
54
|
+
/** displayId of the section frame this element sits inside, if any. */
|
|
55
|
+
section?: string;
|
|
56
|
+
};
|
|
57
|
+
export type CanvasElement = (ElementBase & {
|
|
58
|
+
kind: "note";
|
|
18
59
|
displayId: string;
|
|
19
60
|
title: string;
|
|
20
61
|
type: string;
|
|
21
62
|
markdown: string;
|
|
22
|
-
} | {
|
|
63
|
+
}) | (ElementBase & {
|
|
23
64
|
kind: "text";
|
|
24
|
-
pos: CanvasPos;
|
|
25
65
|
text: string;
|
|
26
66
|
headingSize?: string;
|
|
27
|
-
} | {
|
|
67
|
+
}) | (ElementBase & {
|
|
28
68
|
kind: "richtext";
|
|
29
|
-
pos: CanvasPos;
|
|
30
69
|
markdown: string;
|
|
31
|
-
} | {
|
|
70
|
+
}) | (ElementBase & {
|
|
32
71
|
kind: "list";
|
|
33
|
-
pos: CanvasPos;
|
|
34
72
|
title: string;
|
|
35
73
|
items: Array<{
|
|
36
74
|
displayId?: string;
|
|
37
75
|
title?: string;
|
|
38
76
|
type?: string;
|
|
39
77
|
}>;
|
|
40
|
-
};
|
|
78
|
+
});
|
|
41
79
|
export interface CanvasReadResult {
|
|
42
80
|
canvas: Record<string, unknown> | {
|
|
43
81
|
id: string;
|
|
44
82
|
};
|
|
83
|
+
sections: CanvasSection[];
|
|
45
84
|
elements: CanvasElement[];
|
|
85
|
+
edges: CanvasEdge[];
|
|
86
|
+
portals: CanvasPortal[];
|
|
46
87
|
}
|
|
47
88
|
export declare function readCanvasMarkdown(api: ApiClient, workspaceId: string | undefined, canvasId: string): Promise<CanvasReadResult>;
|
|
48
89
|
/**
|
|
49
90
|
* Render a CanvasReadResult as a single concatenated markdown document.
|
|
50
91
|
* Used by the CLI's text output mode; the MCP tool returns the structured
|
|
51
92
|
* form directly so the model can do its own rendering if needed.
|
|
93
|
+
*
|
|
94
|
+
* Elements are grouped under their section frame, so the document mirrors the
|
|
95
|
+
* canvas's own argument rather than flattening it into an undifferentiated
|
|
96
|
+
* stream. Edges and portals are rendered as their own sections at the end.
|
|
52
97
|
*/
|
|
53
98
|
export declare function renderCanvasMarkdown(result: CanvasReadResult): string;
|
|
99
|
+
export {};
|
|
54
100
|
//# sourceMappingURL=canvas-read.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-read.d.ts","sourceRoot":"","sources":["../../src/lib/canvas-read.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"canvas-read.d.ts","sourceRoot":"","sources":["../../src/lib/canvas-read.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,iCAAiC;AACjC,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,SAAS,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB,CAAC,WAAW,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,GAIF,CAAC,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACpE,CAAC,WAAW,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACtD,CAAC,WAAW,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE,CAAC,CAAC;AAEP,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAcD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CA0P3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAmFrE"}
|
package/dist/lib/canvas-read.js
CHANGED
|
@@ -2,18 +2,36 @@
|
|
|
2
2
|
* Shared helper for `cnotes canvas read` and the `cn_canvas_read` MCP tool.
|
|
3
3
|
*
|
|
4
4
|
* Fetches a canvas + its referenced notes (one bulk call, never N+1) and
|
|
5
|
-
* returns
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* returns the canvas as STRUCTURE, not just a bag of content:
|
|
6
|
+
*
|
|
7
|
+
* - `sections` the frames, in reading order, each with its bounds
|
|
8
|
+
* - `elements` the renderable content, each tagged with the section it
|
|
9
|
+
* sits inside (so the grouping the canvas *shows* survives)
|
|
10
|
+
* - `edges` the argument — which element points at which, and why
|
|
11
|
+
* - `portals` the navigation — links out to other canvases
|
|
12
|
+
*
|
|
13
|
+
* Elements are ordered top-to-bottom, left-to-right with a small Y tolerance
|
|
14
|
+
* so visually-aligned rows stay together. Heuristic, not a layout-aware sort —
|
|
15
|
+
* fine for a "thinking aid" but not authoritative.
|
|
9
16
|
*/
|
|
10
17
|
const ROW_TOLERANCE = 80;
|
|
18
|
+
/** Shorten free text to a stable one-line ref for edge endpoints. */
|
|
19
|
+
function shortLabel(s, max = 32) {
|
|
20
|
+
const flat = s.replace(/\s+/g, " ").trim();
|
|
21
|
+
return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat;
|
|
22
|
+
}
|
|
23
|
+
function num(v) {
|
|
24
|
+
return typeof v === "number" ? v : undefined;
|
|
25
|
+
}
|
|
11
26
|
export async function readCanvasMarkdown(api, workspaceId, canvasId) {
|
|
12
27
|
const data = await api.get(`/api/canvas/${encodeURIComponent(canvasId)}`, { workspaceId, format: "markdown" });
|
|
13
28
|
const nodes = data.nodes || [];
|
|
14
29
|
const textNodes = data.textNodes || [];
|
|
15
30
|
const richtextNodes = data.richtextNodes || [];
|
|
16
31
|
const listNodes = data.listNodes || [];
|
|
32
|
+
const sectionNodes = data.sectionNodes || [];
|
|
33
|
+
const canvasLinkNodes = data.canvasLinkNodes || [];
|
|
34
|
+
const rawEdges = data.edges || [];
|
|
17
35
|
const wantedDisplayIds = new Set();
|
|
18
36
|
for (const n of nodes) {
|
|
19
37
|
const note = n.note;
|
|
@@ -37,13 +55,54 @@ export async function readCanvasMarkdown(api, workspaceId, canvasId) {
|
|
|
37
55
|
markdownByDisplayId.set(id, md);
|
|
38
56
|
}
|
|
39
57
|
}
|
|
58
|
+
// --- Sections -----------------------------------------------------------
|
|
59
|
+
// Frames carry bounds; everything else carries only a point. Containment is
|
|
60
|
+
// resolved point-in-rect against the SMALLEST enclosing frame, so a nested
|
|
61
|
+
// frame wins over its parent.
|
|
62
|
+
const sections = sectionNodes
|
|
63
|
+
.map((s) => ({
|
|
64
|
+
displayId: String(s.displayId || ""),
|
|
65
|
+
name: String(s.name || "(unnamed)"),
|
|
66
|
+
bounds: {
|
|
67
|
+
x: num(s.positionX) ?? 0,
|
|
68
|
+
y: num(s.positionY) ?? 0,
|
|
69
|
+
width: num(s.width) ?? 0,
|
|
70
|
+
height: num(s.height) ?? 0,
|
|
71
|
+
},
|
|
72
|
+
...(typeof s.colorHex === "string" && s.colorHex
|
|
73
|
+
? { colorHex: s.colorHex }
|
|
74
|
+
: {}),
|
|
75
|
+
}))
|
|
76
|
+
.sort((a, b) => Math.abs(a.bounds.y - b.bounds.y) > ROW_TOLERANCE
|
|
77
|
+
? a.bounds.y - b.bounds.y
|
|
78
|
+
: a.bounds.x - b.bounds.x);
|
|
79
|
+
const sectionFor = (pos) => {
|
|
80
|
+
const x = pos.positionX ?? 0;
|
|
81
|
+
const y = pos.positionY ?? 0;
|
|
82
|
+
let best;
|
|
83
|
+
for (const s of sections) {
|
|
84
|
+
const { x: sx, y: sy, width, height } = s.bounds;
|
|
85
|
+
const inside = x >= sx && x <= sx + width && y >= sy && y <= sy + height;
|
|
86
|
+
if (!inside)
|
|
87
|
+
continue;
|
|
88
|
+
if (!best || width * height < best.bounds.width * best.bounds.height) {
|
|
89
|
+
best = s;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return best?.displayId;
|
|
93
|
+
};
|
|
94
|
+
const withSection = (el) => {
|
|
95
|
+
const section = sectionFor(el.pos);
|
|
96
|
+
return section ? { ...el, section } : el;
|
|
97
|
+
};
|
|
98
|
+
// --- Elements -----------------------------------------------------------
|
|
40
99
|
const elements = [];
|
|
41
100
|
for (const n of nodes) {
|
|
42
101
|
const note = n.note;
|
|
43
102
|
const displayId = note?.displayId;
|
|
44
103
|
if (!displayId)
|
|
45
104
|
continue;
|
|
46
|
-
elements.push({
|
|
105
|
+
elements.push(withSection({
|
|
47
106
|
kind: "note",
|
|
48
107
|
pos: {
|
|
49
108
|
positionX: n.positionX,
|
|
@@ -53,10 +112,10 @@ export async function readCanvasMarkdown(api, workspaceId, canvasId) {
|
|
|
53
112
|
title: note?.title || "(untitled)",
|
|
54
113
|
type: note?.type || "Note",
|
|
55
114
|
markdown: markdownByDisplayId.get(displayId) ?? "",
|
|
56
|
-
});
|
|
115
|
+
}));
|
|
57
116
|
}
|
|
58
117
|
for (const t of textNodes) {
|
|
59
|
-
elements.push({
|
|
118
|
+
elements.push(withSection({
|
|
60
119
|
kind: "text",
|
|
61
120
|
pos: {
|
|
62
121
|
positionX: t.positionX,
|
|
@@ -64,21 +123,21 @@ export async function readCanvasMarkdown(api, workspaceId, canvasId) {
|
|
|
64
123
|
},
|
|
65
124
|
text: String(t.text || ""),
|
|
66
125
|
headingSize: t.headingSize,
|
|
67
|
-
});
|
|
126
|
+
}));
|
|
68
127
|
}
|
|
69
128
|
for (const r of richtextNodes) {
|
|
70
|
-
elements.push({
|
|
129
|
+
elements.push(withSection({
|
|
71
130
|
kind: "richtext",
|
|
72
131
|
pos: {
|
|
73
132
|
positionX: r.positionX,
|
|
74
133
|
positionY: r.positionY,
|
|
75
134
|
},
|
|
76
135
|
markdown: typeof r.content === "string" ? r.content : "",
|
|
77
|
-
});
|
|
136
|
+
}));
|
|
78
137
|
}
|
|
79
138
|
for (const l of listNodes) {
|
|
80
139
|
const items = l.items || [];
|
|
81
|
-
elements.push({
|
|
140
|
+
elements.push(withSection({
|
|
82
141
|
kind: "list",
|
|
83
142
|
pos: {
|
|
84
143
|
positionX: l.positionX,
|
|
@@ -93,7 +152,7 @@ export async function readCanvasMarkdown(api, workspaceId, canvasId) {
|
|
|
93
152
|
type: note?.type,
|
|
94
153
|
};
|
|
95
154
|
}),
|
|
96
|
-
});
|
|
155
|
+
}));
|
|
97
156
|
}
|
|
98
157
|
elements.sort((a, b) => {
|
|
99
158
|
const ay = a.pos.positionY ?? 0;
|
|
@@ -102,36 +161,120 @@ export async function readCanvasMarkdown(api, workspaceId, canvasId) {
|
|
|
102
161
|
return ay - by;
|
|
103
162
|
return (a.pos.positionX ?? 0) - (b.pos.positionX ?? 0);
|
|
104
163
|
});
|
|
164
|
+
// --- Portals ------------------------------------------------------------
|
|
165
|
+
const portals = canvasLinkNodes.map((c) => {
|
|
166
|
+
const linked = c.linkedCanvas ?? {};
|
|
167
|
+
const pos = {
|
|
168
|
+
positionX: c.positionX,
|
|
169
|
+
positionY: c.positionY,
|
|
170
|
+
};
|
|
171
|
+
const section = sectionFor(pos);
|
|
172
|
+
return {
|
|
173
|
+
canvasId: String(linked.id ?? c.linkedCanvasId ?? ""),
|
|
174
|
+
title: String(linked.name || "(untitled canvas)"),
|
|
175
|
+
...(linked.isDefault ? { isDefault: true } : {}),
|
|
176
|
+
pos,
|
|
177
|
+
...(section ? { section } : {}),
|
|
178
|
+
};
|
|
179
|
+
});
|
|
180
|
+
// --- Edges --------------------------------------------------------------
|
|
181
|
+
// The server resolves `sourceRef`/`targetRef` for NOTE endpoints only. Build
|
|
182
|
+
// a ref map across every node kind so an edge anchored on a section, sticky,
|
|
183
|
+
// or portal reports something readable instead of a raw Convex id.
|
|
184
|
+
const refByNodeId = new Map();
|
|
185
|
+
for (const n of nodes) {
|
|
186
|
+
const note = n.note;
|
|
187
|
+
const ref = n.ref || note?.displayId;
|
|
188
|
+
if (typeof n.id === "string" && ref)
|
|
189
|
+
refByNodeId.set(n.id, ref);
|
|
190
|
+
}
|
|
191
|
+
for (const s of sectionNodes) {
|
|
192
|
+
if (typeof s.id === "string" && s.displayId) {
|
|
193
|
+
refByNodeId.set(s.id, String(s.displayId));
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
for (const t of textNodes) {
|
|
197
|
+
if (typeof t.id === "string") {
|
|
198
|
+
refByNodeId.set(t.id, `text:"${shortLabel(String(t.text || ""))}"`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
for (const r of richtextNodes) {
|
|
202
|
+
if (typeof r.id === "string") {
|
|
203
|
+
refByNodeId.set(r.id, `richtext:"${shortLabel(String(r.content || ""))}"`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
for (const l of listNodes) {
|
|
207
|
+
if (typeof l.id === "string") {
|
|
208
|
+
refByNodeId.set(l.id, `list:"${shortLabel(String(l.title || "List"))}"`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
for (const c of canvasLinkNodes) {
|
|
212
|
+
const linked = c.linkedCanvas ?? {};
|
|
213
|
+
if (typeof c.id === "string") {
|
|
214
|
+
refByNodeId.set(c.id, `canvas:"${shortLabel(String(linked.name || "canvas"))}"`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
// The local map wins over `serverRef`. The server resolves a ref for NOTE
|
|
218
|
+
// endpoints and falls back to the RAW NODE ID for every other kind — a
|
|
219
|
+
// non-empty string, so preferring `serverRef` would short-circuit every
|
|
220
|
+
// lookup and print `k9x2…` for section/sticky/portal endpoints, which is the
|
|
221
|
+
// whole thing this map exists to prevent. The map already carries the note
|
|
222
|
+
// displayIds, so checking it first loses nothing.
|
|
223
|
+
const refFor = (nodeId, serverRef) => {
|
|
224
|
+
const id = String(nodeId ?? "");
|
|
225
|
+
const local = refByNodeId.get(id);
|
|
226
|
+
if (local)
|
|
227
|
+
return local;
|
|
228
|
+
if (typeof serverRef === "string" && serverRef)
|
|
229
|
+
return serverRef;
|
|
230
|
+
return id;
|
|
231
|
+
};
|
|
232
|
+
const edges = rawEdges.map((e) => ({
|
|
233
|
+
from: refFor(e.sourceNodeId, e.sourceRef),
|
|
234
|
+
to: refFor(e.targetNodeId, e.targetRef),
|
|
235
|
+
...(typeof e.label === "string" && e.label ? { label: e.label } : {}),
|
|
236
|
+
...(typeof e.lineStyle === "string" && e.lineStyle
|
|
237
|
+
? { lineStyle: e.lineStyle }
|
|
238
|
+
: {}),
|
|
239
|
+
...(e.arrowStart === true ? { arrowStart: true } : {}),
|
|
240
|
+
...(e.arrowEnd === false ? { arrowEnd: false } : {}),
|
|
241
|
+
}));
|
|
105
242
|
return {
|
|
106
243
|
canvas: data.canvas ?? { id: canvasId },
|
|
244
|
+
sections,
|
|
107
245
|
elements,
|
|
246
|
+
edges,
|
|
247
|
+
portals,
|
|
108
248
|
};
|
|
109
249
|
}
|
|
110
250
|
/**
|
|
111
251
|
* Render a CanvasReadResult as a single concatenated markdown document.
|
|
112
252
|
* Used by the CLI's text output mode; the MCP tool returns the structured
|
|
113
253
|
* form directly so the model can do its own rendering if needed.
|
|
254
|
+
*
|
|
255
|
+
* Elements are grouped under their section frame, so the document mirrors the
|
|
256
|
+
* canvas's own argument rather than flattening it into an undifferentiated
|
|
257
|
+
* stream. Edges and portals are rendered as their own sections at the end.
|
|
114
258
|
*/
|
|
115
259
|
export function renderCanvasMarkdown(result) {
|
|
116
260
|
const canvas = result.canvas;
|
|
117
261
|
const canvasName = canvas?.title || canvas?.name || "(unnamed)";
|
|
118
262
|
const lines = [`# Canvas: ${canvasName}`, ""];
|
|
119
|
-
|
|
263
|
+
const renderElement = (r) => {
|
|
120
264
|
if (r.kind === "note") {
|
|
121
|
-
lines.push(
|
|
265
|
+
lines.push(`### ${r.displayId}: ${r.title}`, `*${r.type}*`, "");
|
|
122
266
|
if (r.markdown)
|
|
123
267
|
lines.push(r.markdown.trim(), "");
|
|
124
268
|
}
|
|
125
269
|
else if (r.kind === "text") {
|
|
126
|
-
|
|
127
|
-
lines.push(`${prefix}${r.text}`, "");
|
|
270
|
+
lines.push(`**${r.text}**`, "");
|
|
128
271
|
}
|
|
129
272
|
else if (r.kind === "richtext") {
|
|
130
273
|
if (r.markdown)
|
|
131
274
|
lines.push(r.markdown.trim(), "");
|
|
132
275
|
}
|
|
133
276
|
else if (r.kind === "list") {
|
|
134
|
-
lines.push(
|
|
277
|
+
lines.push(`### List: ${r.title}`, "");
|
|
135
278
|
for (const it of r.items) {
|
|
136
279
|
if (it.displayId) {
|
|
137
280
|
lines.push(`- [${it.displayId}: ${it.title ?? ""}](relationship:references)`);
|
|
@@ -139,6 +282,55 @@ export function renderCanvasMarkdown(result) {
|
|
|
139
282
|
}
|
|
140
283
|
lines.push("");
|
|
141
284
|
}
|
|
285
|
+
};
|
|
286
|
+
// Unframed elements first — they're the canvas's preamble (title sticky,
|
|
287
|
+
// "how to read this" richtext) and read as a lede.
|
|
288
|
+
const unframed = result.elements.filter((e) => !e.section);
|
|
289
|
+
for (const el of unframed)
|
|
290
|
+
renderElement(el);
|
|
291
|
+
for (const section of result.sections) {
|
|
292
|
+
const inSection = result.elements.filter((e) => e.section === section.displayId);
|
|
293
|
+
const portalsHere = result.portals.filter((p) => p.section === section.displayId);
|
|
294
|
+
// Note bodies bring their own heading trees (a body routinely contains
|
|
295
|
+
// "## Tasks"), so a bare "## " section header does not scan as a boundary.
|
|
296
|
+
// The rule + the SECTION-n prefix make frames unambiguous to both a human
|
|
297
|
+
// skimming and an agent grepping ^## SECTION-.
|
|
298
|
+
lines.push("---", "", `## ${section.displayId}: ${section.name}`, "");
|
|
299
|
+
if (inSection.length === 0 && portalsHere.length === 0) {
|
|
300
|
+
lines.push("*(empty frame)*", "");
|
|
301
|
+
}
|
|
302
|
+
for (const el of inSection)
|
|
303
|
+
renderElement(el);
|
|
304
|
+
for (const p of portalsHere) {
|
|
305
|
+
lines.push(`- Portal → **${p.title}** (\`${p.canvasId}\`)`);
|
|
306
|
+
}
|
|
307
|
+
if (portalsHere.length)
|
|
308
|
+
lines.push("");
|
|
309
|
+
}
|
|
310
|
+
if (result.edges.length) {
|
|
311
|
+
lines.push(`## Edges (${result.edges.length})`, "");
|
|
312
|
+
for (const e of result.edges) {
|
|
313
|
+
const label = e.label ? ` — *${e.label}*` : "";
|
|
314
|
+
// arrowEnd defaults to true and is only carried when explicitly false, so
|
|
315
|
+
// a both-ends-bare edge reads as a plain line rather than a false arrow.
|
|
316
|
+
const arrow = e.arrowEnd === false
|
|
317
|
+
? e.arrowStart
|
|
318
|
+
? "<-"
|
|
319
|
+
: "--"
|
|
320
|
+
: e.arrowStart
|
|
321
|
+
? "<->"
|
|
322
|
+
: "->";
|
|
323
|
+
lines.push(`- ${e.from} ${arrow} ${e.to}${label}`);
|
|
324
|
+
}
|
|
325
|
+
lines.push("");
|
|
326
|
+
}
|
|
327
|
+
const loosePortals = result.portals.filter((p) => !p.section);
|
|
328
|
+
if (loosePortals.length) {
|
|
329
|
+
lines.push(`## Portals (${loosePortals.length})`, "");
|
|
330
|
+
for (const p of loosePortals) {
|
|
331
|
+
lines.push(`- **${p.title}** (\`${p.canvasId}\`)`);
|
|
332
|
+
}
|
|
333
|
+
lines.push("");
|
|
142
334
|
}
|
|
143
335
|
return lines.join("\n");
|
|
144
336
|
}
|