@creator-notes/cnotes 0.16.11
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 +14 -0
- package/.mcp.json +12 -0
- package/LICENSE +21 -0
- package/README.md +303 -0
- package/dist/cn.d.ts +3 -0
- package/dist/cn.d.ts.map +1 -0
- package/dist/cn.js +124 -0
- package/dist/cn.js.map +1 -0
- package/dist/commands/auth.d.ts +10 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +188 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/canvas.d.ts +3 -0
- package/dist/commands/canvas.d.ts.map +1 -0
- package/dist/commands/canvas.js +1383 -0
- package/dist/commands/canvas.js.map +1 -0
- package/dist/commands/claude-hook.d.ts +28 -0
- package/dist/commands/claude-hook.d.ts.map +1 -0
- package/dist/commands/claude-hook.js +59 -0
- package/dist/commands/claude-hook.js.map +1 -0
- package/dist/commands/config.d.ts +3 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +47 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/files.d.ts +3 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +119 -0
- package/dist/commands/files.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +473 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mcp.d.ts +15 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +118 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/memory.d.ts +3 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +150 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/notes.d.ts +3 -0
- package/dist/commands/notes.d.ts.map +1 -0
- package/dist/commands/notes.js +706 -0
- package/dist/commands/notes.js.map +1 -0
- package/dist/commands/operations.d.ts +18 -0
- package/dist/commands/operations.d.ts.map +1 -0
- package/dist/commands/operations.js +231 -0
- package/dist/commands/operations.js.map +1 -0
- package/dist/commands/relationships.d.ts +3 -0
- package/dist/commands/relationships.d.ts.map +1 -0
- package/dist/commands/relationships.js +94 -0
- package/dist/commands/relationships.js.map +1 -0
- package/dist/commands/schema.d.ts +12 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +85 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +57 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/theme.d.ts +3 -0
- package/dist/commands/theme.d.ts.map +1 -0
- package/dist/commands/theme.js +184 -0
- package/dist/commands/theme.js.map +1 -0
- package/dist/commands/timeline.d.ts +3 -0
- package/dist/commands/timeline.d.ts.map +1 -0
- package/dist/commands/timeline.js +97 -0
- package/dist/commands/timeline.js.map +1 -0
- package/dist/commands/types.d.ts +3 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +139 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/versions.d.ts +3 -0
- package/dist/commands/versions.d.ts.map +1 -0
- package/dist/commands/versions.js +120 -0
- package/dist/commands/versions.js.map +1 -0
- package/dist/commands/workspace.d.ts +13 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +176 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/lib/api-client.d.ts +45 -0
- package/dist/lib/api-client.d.ts.map +1 -0
- package/dist/lib/api-client.js +198 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/auth-store.d.ts +47 -0
- package/dist/lib/auth-store.d.ts.map +1 -0
- package/dist/lib/auth-store.js +116 -0
- package/dist/lib/auth-store.js.map +1 -0
- package/dist/lib/brand.d.ts +32 -0
- package/dist/lib/brand.d.ts.map +1 -0
- package/dist/lib/brand.js +32 -0
- package/dist/lib/brand.js.map +1 -0
- package/dist/lib/build-schema.d.ts +97 -0
- package/dist/lib/build-schema.d.ts.map +1 -0
- package/dist/lib/build-schema.js +139 -0
- package/dist/lib/build-schema.js.map +1 -0
- package/dist/lib/canvas-read.d.ts +54 -0
- package/dist/lib/canvas-read.d.ts.map +1 -0
- package/dist/lib/canvas-read.js +145 -0
- package/dist/lib/canvas-read.js.map +1 -0
- package/dist/lib/claude-session.d.ts +73 -0
- package/dist/lib/claude-session.d.ts.map +1 -0
- package/dist/lib/claude-session.js +104 -0
- package/dist/lib/claude-session.js.map +1 -0
- package/dist/lib/config.d.ts +28 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +66 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/env.d.ts +14 -0
- package/dist/lib/env.d.ts.map +1 -0
- package/dist/lib/env.js +16 -0
- package/dist/lib/env.js.map +1 -0
- package/dist/lib/errors.d.ts +47 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +194 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/fs-utils.d.ts +2 -0
- package/dist/lib/fs-utils.d.ts.map +1 -0
- package/dist/lib/fs-utils.js +16 -0
- package/dist/lib/fs-utils.js.map +1 -0
- package/dist/lib/install-hook.d.ts +86 -0
- package/dist/lib/install-hook.d.ts.map +1 -0
- package/dist/lib/install-hook.js +168 -0
- package/dist/lib/install-hook.js.map +1 -0
- package/dist/lib/install-mcp.d.ts +21 -0
- package/dist/lib/install-mcp.d.ts.map +1 -0
- package/dist/lib/install-mcp.js +133 -0
- package/dist/lib/install-mcp.js.map +1 -0
- package/dist/lib/install-skill.d.ts +49 -0
- package/dist/lib/install-skill.d.ts.map +1 -0
- package/dist/lib/install-skill.js +113 -0
- package/dist/lib/install-skill.js.map +1 -0
- package/dist/lib/output.d.ts +29 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +78 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/resolve-note.d.ts +7 -0
- package/dist/lib/resolve-note.d.ts.map +1 -0
- package/dist/lib/resolve-note.js +23 -0
- package/dist/lib/resolve-note.js.map +1 -0
- package/dist/lib/stdin.d.ts +5 -0
- package/dist/lib/stdin.d.ts.map +1 -0
- package/dist/lib/stdin.js +11 -0
- package/dist/lib/stdin.js.map +1 -0
- package/dist/lib/style.d.ts +10 -0
- package/dist/lib/style.d.ts.map +1 -0
- package/dist/lib/style.js +17 -0
- package/dist/lib/style.js.map +1 -0
- package/dist/lib/themes.d.ts +44 -0
- package/dist/lib/themes.d.ts.map +1 -0
- package/dist/lib/themes.js +168 -0
- package/dist/lib/themes.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +782 -0
- package/dist/mcp-server.js.map +1 -0
- package/package.json +66 -0
- package/skills/cnotes/SKILL.md +680 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notes.js","sourceRoot":"","sources":["../../src/commands/notes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* `cnotes operations` — workspace-scoped lifecycle for agentic batches.
|
|
4
|
+
*
|
|
5
|
+
* Wraps a multi-note / canvas batch so the timeline can render it as one
|
|
6
|
+
* legible row (intent + evidence + count) instead of N scattered changes.
|
|
7
|
+
*
|
|
8
|
+
* Typical agent flow:
|
|
9
|
+
* RUN_JSON=$(npx cnotes operations begin --prompt "<intent>" --json)
|
|
10
|
+
* export CN_AGENT_RUN_ID=$(echo "$RUN_JSON" | jq -r .agentRunId)
|
|
11
|
+
* # ... do the work — every cnotes write carries X-Agent-Run-Id automatically ...
|
|
12
|
+
* npx cnotes operations end && unset CN_AGENT_RUN_ID
|
|
13
|
+
*
|
|
14
|
+
* A missed `begin` fails the very next write with HTTP 409: the cnotes API
|
|
15
|
+
* enforces Shape B (strict parent/child) — there is no silent fallback.
|
|
16
|
+
*/
|
|
17
|
+
export declare function registerOperationsCommands(program: Command): void;
|
|
18
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/commands/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0NjE"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { ApiClient } from "../lib/api-client.js";
|
|
2
|
+
import { resolveConfig } from "../lib/config.js";
|
|
3
|
+
import { handleError } from "../lib/errors.js";
|
|
4
|
+
import { outputJson } from "../lib/output.js";
|
|
5
|
+
import { loadConfig, setActiveAgentRunId, clearActiveAgentRunId, getActiveAgentRunId, } from "../lib/auth-store.js";
|
|
6
|
+
import { resolveAgentSession } from "../lib/claude-session.js";
|
|
7
|
+
import { cnotesEnv } from "../lib/env.js";
|
|
8
|
+
function formatAgo(startedAtMs) {
|
|
9
|
+
const sec = Math.max(0, Math.round((Date.now() - startedAtMs) / 1000));
|
|
10
|
+
if (sec < 60)
|
|
11
|
+
return `${sec}s ago`;
|
|
12
|
+
const min = Math.round(sec / 60);
|
|
13
|
+
if (min < 60)
|
|
14
|
+
return `${min}m ago`;
|
|
15
|
+
const hr = Math.round(min / 60);
|
|
16
|
+
return `${hr}h ago`;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* `cnotes operations` — workspace-scoped lifecycle for agentic batches.
|
|
20
|
+
*
|
|
21
|
+
* Wraps a multi-note / canvas batch so the timeline can render it as one
|
|
22
|
+
* legible row (intent + evidence + count) instead of N scattered changes.
|
|
23
|
+
*
|
|
24
|
+
* Typical agent flow:
|
|
25
|
+
* RUN_JSON=$(npx cnotes operations begin --prompt "<intent>" --json)
|
|
26
|
+
* export CN_AGENT_RUN_ID=$(echo "$RUN_JSON" | jq -r .agentRunId)
|
|
27
|
+
* # ... do the work — every cnotes write carries X-Agent-Run-Id automatically ...
|
|
28
|
+
* npx cnotes operations end && unset CN_AGENT_RUN_ID
|
|
29
|
+
*
|
|
30
|
+
* A missed `begin` fails the very next write with HTTP 409: the cnotes API
|
|
31
|
+
* enforces Shape B (strict parent/child) — there is no silent fallback.
|
|
32
|
+
*/
|
|
33
|
+
export function registerOperationsCommands(program) {
|
|
34
|
+
const ops = program
|
|
35
|
+
.command("operations")
|
|
36
|
+
.alias("ops")
|
|
37
|
+
.description("Workspace-level agent-run lifecycle (begin/end a batch)");
|
|
38
|
+
ops
|
|
39
|
+
.command("begin")
|
|
40
|
+
.description("Open a new agent-run operation in the current workspace")
|
|
41
|
+
.option("--prompt <text>", "Declared intent — what the run is about (surfaced as the timeline row's intent)")
|
|
42
|
+
.option("--rationale <text>", "Optional free-form rationale; shown on expand alongside the intent")
|
|
43
|
+
.option("--force", "If an active run already exists on this server, end it server-side and start a fresh one")
|
|
44
|
+
.addHelpText("after", `
|
|
45
|
+
Examples:
|
|
46
|
+
$ cnotes operations begin --prompt "Draft Japan-travel canvas" --json
|
|
47
|
+
|
|
48
|
+
After 'begin', every subsequent cnotes write on this server attaches to
|
|
49
|
+
the run automatically (no env var to export). End with 'cnotes operations
|
|
50
|
+
end' when done.
|
|
51
|
+
|
|
52
|
+
If a previous run was never ended, begin will refuse with a clear
|
|
53
|
+
message. Pass --force to end it server-side and start fresh.
|
|
54
|
+
`)
|
|
55
|
+
.action(async (opts) => {
|
|
56
|
+
const cfg = resolveConfig(program.opts());
|
|
57
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
58
|
+
// Refuse to open a second run while one is still open on this
|
|
59
|
+
// server. The persisted "active run" would otherwise become stale
|
|
60
|
+
// and silently attach writes to the wrong operation. --force
|
|
61
|
+
// ends the prior run server-side first, then opens a new one.
|
|
62
|
+
const existing = getActiveAgentRunId(loadConfig(), cfg.serverUrl);
|
|
63
|
+
if (existing) {
|
|
64
|
+
if (opts.force) {
|
|
65
|
+
try {
|
|
66
|
+
await api.post("/api/operations", {
|
|
67
|
+
action: "end",
|
|
68
|
+
agentRunId: existing.agentRunId,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Best-effort: if the prior run is already completed /
|
|
73
|
+
// abandoned server-side the end is idempotent; if it errors
|
|
74
|
+
// for any other reason we still clear the local pointer so
|
|
75
|
+
// the user isn't stuck.
|
|
76
|
+
}
|
|
77
|
+
clearActiveAgentRunId(loadConfig(), cfg.serverUrl);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
const ago = formatAgo(existing.startedAt);
|
|
81
|
+
const msg = `An active agent-run already exists on this server (agentRunId ${existing.agentRunId}, started ${ago}). End it first with \`cnotes operations end\`, or pass --force to end + restart.`;
|
|
82
|
+
if (cfg.json)
|
|
83
|
+
outputJson({ error: msg });
|
|
84
|
+
else
|
|
85
|
+
console.error(msg);
|
|
86
|
+
process.exit(5); // 5 = conflict per cnotes exit-code convention
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Capture the originating agent conversation/session (e.g. the Claude
|
|
90
|
+
// Code session id) so the run is traceable + resumable from the
|
|
91
|
+
// timeline. Resolves to null when cnotes runs outside an agent — then the
|
|
92
|
+
// run is simply not session-stamped (no error).
|
|
93
|
+
const agentSession = resolveAgentSession();
|
|
94
|
+
try {
|
|
95
|
+
const result = await api.post("/api/operations", {
|
|
96
|
+
action: "begin",
|
|
97
|
+
workspaceId: cfg.workspaceId,
|
|
98
|
+
prompt: opts.prompt,
|
|
99
|
+
rationale: opts.rationale,
|
|
100
|
+
...(agentSession ? { agentSession } : {}),
|
|
101
|
+
});
|
|
102
|
+
// Persist the active run on disk so subsequent cnotes writes on this
|
|
103
|
+
// server attach automatically, even across separate shells /
|
|
104
|
+
// stateless tool calls. Cleared by `cnotes operations end`.
|
|
105
|
+
setActiveAgentRunId(loadConfig(), cfg.serverUrl, result.agentRunId, result.startedAt);
|
|
106
|
+
if (cfg.json) {
|
|
107
|
+
outputJson(result);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
if (cfg.quiet) {
|
|
111
|
+
console.log(result.agentRunId);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
console.log(`Started operation ${result.agentRunId}`);
|
|
115
|
+
console.log(` operationId: ${result.operationId}`);
|
|
116
|
+
console.log(` startedAt: ${new Date(result.startedAt).toISOString()}`);
|
|
117
|
+
if (agentSession) {
|
|
118
|
+
console.log(` session: ${agentSession.kind} ${agentSession.id}`);
|
|
119
|
+
}
|
|
120
|
+
console.log("");
|
|
121
|
+
console.log("Every cnotes write on this server now attaches to this run.");
|
|
122
|
+
console.log("Run `cnotes operations end` when done.");
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
handleError(error, cfg.json);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
ops
|
|
129
|
+
.command("end")
|
|
130
|
+
.description("Close the current agent-run operation")
|
|
131
|
+
.option("--agent-run-id <uuid>", "The run to end (defaults to the active run on this server)")
|
|
132
|
+
.addHelpText("after", `
|
|
133
|
+
Examples:
|
|
134
|
+
$ cnotes operations end # ends the active run on this server
|
|
135
|
+
$ cnotes operations end --agent-run-id <uuid> --json
|
|
136
|
+
|
|
137
|
+
End is idempotent — calling it on an already-completed or abandoned run
|
|
138
|
+
returns the existing state with idempotent: true (no error). Either way,
|
|
139
|
+
the local "active run" pointer on this server is cleared after a
|
|
140
|
+
successful response so the next cnotes write detaches.
|
|
141
|
+
`)
|
|
142
|
+
.action(async (opts) => {
|
|
143
|
+
const cfg = resolveConfig(program.opts());
|
|
144
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
145
|
+
const agentRunId = opts.agentRunId
|
|
146
|
+
?? cnotesEnv("AGENT_RUN_ID")
|
|
147
|
+
?? getActiveAgentRunId(loadConfig(), cfg.serverUrl)?.agentRunId;
|
|
148
|
+
if (!agentRunId) {
|
|
149
|
+
const message = "No active run on this server, and no --agent-run-id passed";
|
|
150
|
+
if (cfg.json) {
|
|
151
|
+
outputJson({ error: message });
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
console.error(message);
|
|
155
|
+
}
|
|
156
|
+
process.exit(3); // 3 = validation per cnotes exit-code convention
|
|
157
|
+
}
|
|
158
|
+
try {
|
|
159
|
+
const result = await api.post("/api/operations", {
|
|
160
|
+
action: "end",
|
|
161
|
+
agentRunId,
|
|
162
|
+
});
|
|
163
|
+
// Clear the local active-run pointer so subsequent cnotes writes
|
|
164
|
+
// detach. Done after a successful response so a transient
|
|
165
|
+
// server error doesn't desync the local state from the server.
|
|
166
|
+
// Only clear if the cleared id matches what we just ended,
|
|
167
|
+
// guarding against a concurrent begin from another shell.
|
|
168
|
+
const active = getActiveAgentRunId(loadConfig(), cfg.serverUrl);
|
|
169
|
+
if (active?.agentRunId === result.agentRunId) {
|
|
170
|
+
clearActiveAgentRunId(loadConfig(), cfg.serverUrl);
|
|
171
|
+
}
|
|
172
|
+
if (cfg.json) {
|
|
173
|
+
outputJson(result);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (cfg.quiet) {
|
|
177
|
+
console.log(result.status);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (result.idempotent) {
|
|
181
|
+
console.log(`Operation ${result.agentRunId} already ended (status: ${result.status}).`);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
console.log(`Ended operation ${result.agentRunId}`);
|
|
185
|
+
console.log(` status: ${result.status}`);
|
|
186
|
+
if (result.completedAt) {
|
|
187
|
+
console.log(` completedAt: ${new Date(result.completedAt).toISOString()}`);
|
|
188
|
+
}
|
|
189
|
+
if (result.canvasCheckpointsScheduled !== undefined) {
|
|
190
|
+
console.log(` canvas after-checkpoints scheduled: ${result.canvasCheckpointsScheduled}`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
handleError(error, cfg.json);
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
ops
|
|
198
|
+
.command("get")
|
|
199
|
+
.description("Look up an operation by agentRunId (handy for confirming state mid-flight)")
|
|
200
|
+
.argument("<agentRunId>", "The agent-run UUID")
|
|
201
|
+
.action(async (agentRunId) => {
|
|
202
|
+
const cfg = resolveConfig(program.opts());
|
|
203
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
204
|
+
try {
|
|
205
|
+
const result = await api.get("/api/operations", { agentRunId });
|
|
206
|
+
if (cfg.json) {
|
|
207
|
+
outputJson(result.operation);
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const op = result.operation;
|
|
211
|
+
console.log(`Operation ${String(op.agentRunId)}`);
|
|
212
|
+
console.log(` status: ${String(op.status)}`);
|
|
213
|
+
console.log(` affectedNoteCount: ${String(op.affectedNoteCount ?? 0)}`);
|
|
214
|
+
if (op.userPrompt)
|
|
215
|
+
console.log(` prompt: ${String(op.userPrompt)}`);
|
|
216
|
+
if (op.agentSession && typeof op.agentSession === "object") {
|
|
217
|
+
const s = op.agentSession;
|
|
218
|
+
if (s.id)
|
|
219
|
+
console.log(` session: ${s.kind ?? "agent"} ${s.id}`);
|
|
220
|
+
}
|
|
221
|
+
if (op.startedAt)
|
|
222
|
+
console.log(` startedAt: ${new Date(Number(op.startedAt)).toISOString()}`);
|
|
223
|
+
if (op.completedAt)
|
|
224
|
+
console.log(` completedAt: ${new Date(Number(op.completedAt)).toISOString()}`);
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
handleError(error, cfg.json);
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/commands/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/commands/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgHpE"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { ApiClient } from "../lib/api-client.js";
|
|
2
|
+
import { resolveConfig } from "../lib/config.js";
|
|
3
|
+
import { handleError } from "../lib/errors.js";
|
|
4
|
+
import { outputJson, outputTable, truncate } from "../lib/output.js";
|
|
5
|
+
export function registerRelationshipsCommands(program) {
|
|
6
|
+
const rel = program
|
|
7
|
+
.command("relationships")
|
|
8
|
+
.alias("rel")
|
|
9
|
+
.description("Manage note relationships");
|
|
10
|
+
rel
|
|
11
|
+
.command("list")
|
|
12
|
+
.description("List relationships in the workspace")
|
|
13
|
+
.option("--note <displayId>", "Filter by note display ID")
|
|
14
|
+
.addHelpText("after", `
|
|
15
|
+
Examples:
|
|
16
|
+
$ cnotes relationships list --note MEETING-12 --json
|
|
17
|
+
`)
|
|
18
|
+
.action(async (opts) => {
|
|
19
|
+
const cfg = resolveConfig(program.opts());
|
|
20
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
21
|
+
try {
|
|
22
|
+
const params = {
|
|
23
|
+
workspaceId: cfg.workspaceId,
|
|
24
|
+
};
|
|
25
|
+
if (opts.note) {
|
|
26
|
+
params.displayId = opts.note;
|
|
27
|
+
}
|
|
28
|
+
const data = await api.get("/api/relationships", params);
|
|
29
|
+
const list = data.relationships || data;
|
|
30
|
+
if (cfg.json) {
|
|
31
|
+
outputJson(list, cfg.fields);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const items = Array.isArray(list) ? list : [];
|
|
35
|
+
if (items.length === 0) {
|
|
36
|
+
console.log("No relationships found.");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const rows = items.map((r) => [
|
|
40
|
+
truncate(String(r.sourceDisplayId || r.sourceNoteId || ""), 15),
|
|
41
|
+
String(r.relationshipType || r.type || "->"),
|
|
42
|
+
truncate(String(r.targetDisplayId || r.targetNoteId || ""), 15),
|
|
43
|
+
]);
|
|
44
|
+
outputTable(["SOURCE", "TYPE", "TARGET"], rows);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
handleError(error, cfg.json);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
rel
|
|
51
|
+
.command("types")
|
|
52
|
+
.description("List relationship types in the workspace — reuse these before inventing new ones")
|
|
53
|
+
.addHelpText("after", `
|
|
54
|
+
Examples:
|
|
55
|
+
$ cnotes rel types
|
|
56
|
+
$ cnotes rel types --json
|
|
57
|
+
|
|
58
|
+
Relationship types are free-form: any label in [NOTE-1](relationship:<type>)
|
|
59
|
+
works, and an unknown one is auto-created. To avoid near-duplicate clutter
|
|
60
|
+
(e.g. "support" vs "supports"), list the existing types here and reuse the
|
|
61
|
+
closest match before coining a new one.
|
|
62
|
+
`)
|
|
63
|
+
.action(async () => {
|
|
64
|
+
const cfg = resolveConfig(program.opts());
|
|
65
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
66
|
+
try {
|
|
67
|
+
const data = await api.get("/api/relationship-types", { workspaceId: cfg.workspaceId });
|
|
68
|
+
const types = data.relationshipTypes || [];
|
|
69
|
+
if (cfg.json) {
|
|
70
|
+
outputJson(types, cfg.fields);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (types.length === 0) {
|
|
74
|
+
console.log("No relationship types found.");
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
// Built-in types first, then custom; alphabetical within each group.
|
|
78
|
+
const rows = types
|
|
79
|
+
.slice()
|
|
80
|
+
.sort((a, b) => Number(a.isCustom) - Number(b.isCustom) ||
|
|
81
|
+
a.value.localeCompare(b.value))
|
|
82
|
+
.map((t) => [
|
|
83
|
+
t.value,
|
|
84
|
+
t.isCustom ? "custom" : "built-in",
|
|
85
|
+
truncate(t.description || "", 50),
|
|
86
|
+
]);
|
|
87
|
+
outputTable(["TYPE", "SOURCE", "DESCRIPTION"], rows);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
handleError(error, cfg.json);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=relationships.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/commands/relationships.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cnotes schema` — single-call introspection for agents.
|
|
3
|
+
*
|
|
4
|
+
* One call returns the workspace's note types plus static metadata (common
|
|
5
|
+
* relationship slugs, resource field shapes, exit codes, env vars) an agent
|
|
6
|
+
* would otherwise have to read SKILL.md or guess at. The schema document is
|
|
7
|
+
* built by the shared `buildSchema` helper so the CLI and the `cn_schema`
|
|
8
|
+
* MCP tool never drift.
|
|
9
|
+
*/
|
|
10
|
+
import { Command } from "commander";
|
|
11
|
+
export declare function registerSchemaCommand(program: Command): void;
|
|
12
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6E5D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cnotes schema` — single-call introspection for agents.
|
|
3
|
+
*
|
|
4
|
+
* One call returns the workspace's note types plus static metadata (common
|
|
5
|
+
* relationship slugs, resource field shapes, exit codes, env vars) an agent
|
|
6
|
+
* would otherwise have to read SKILL.md or guess at. The schema document is
|
|
7
|
+
* built by the shared `buildSchema` helper so the CLI and the `cn_schema`
|
|
8
|
+
* MCP tool never drift.
|
|
9
|
+
*/
|
|
10
|
+
import { ApiClient } from "../lib/api-client.js";
|
|
11
|
+
import { resolveConfig } from "../lib/config.js";
|
|
12
|
+
import { handleError } from "../lib/errors.js";
|
|
13
|
+
import { outputJson, outputTable } from "../lib/output.js";
|
|
14
|
+
import { buildSchema, STATIC_SCHEMA } from "../lib/build-schema.js";
|
|
15
|
+
export function registerSchemaCommand(program) {
|
|
16
|
+
program
|
|
17
|
+
.command("schema")
|
|
18
|
+
.description("Describe the workspace's note types, common relationship slugs, " +
|
|
19
|
+
"resource field shapes, exit codes, and env vars in a single JSON " +
|
|
20
|
+
"document. Designed for agents: one call, no guessing.")
|
|
21
|
+
.addHelpText("after", `
|
|
22
|
+
Examples:
|
|
23
|
+
$ cnotes schema # human-readable summary
|
|
24
|
+
$ cnotes schema --json # full machine-readable schema
|
|
25
|
+
`)
|
|
26
|
+
.action(async () => {
|
|
27
|
+
const cfg = resolveConfig(program.opts());
|
|
28
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
29
|
+
try {
|
|
30
|
+
const schema = await buildSchema(api, cfg.workspaceId);
|
|
31
|
+
const types = schema.types;
|
|
32
|
+
if (cfg.json) {
|
|
33
|
+
outputJson(schema, cfg.fields);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const dynamicFetchErrors = schema.dynamicFetchErrors ?? [];
|
|
37
|
+
if (dynamicFetchErrors.length > 0) {
|
|
38
|
+
for (const e of dynamicFetchErrors) {
|
|
39
|
+
console.error(`Warning: failed to fetch ${e.resource}: ${e.error}`);
|
|
40
|
+
}
|
|
41
|
+
console.error("");
|
|
42
|
+
}
|
|
43
|
+
const wsLabel = schema.workspace.name ?? "(unnamed)";
|
|
44
|
+
const wsSuffix = schema.workspace.verified ? "" : " — unverified";
|
|
45
|
+
console.log(`Workspace: ${wsLabel} (${schema.workspace.id}${wsSuffix})`);
|
|
46
|
+
console.log("");
|
|
47
|
+
console.log(`Note types (${types.length}):`);
|
|
48
|
+
if (types.length === 0) {
|
|
49
|
+
console.log(" (none — create with `cnotes types create <Name>`)");
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const anyDistinctDisplay = types.some((t) => t.displayName && t.displayName !== t.name);
|
|
53
|
+
if (anyDistinctDisplay) {
|
|
54
|
+
outputTable(["NAME", "PREFIX", "DISPLAY NAME"], types.map((t) => [t.name, t.prefix, t.displayName !== t.name ? t.displayName : ""]));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
outputTable(["NAME", "PREFIX"], types.map((t) => [t.name, t.prefix]));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
console.log("");
|
|
61
|
+
console.log("Relationship slugs (free-form; these are conventions, not an enum):");
|
|
62
|
+
for (const slug of STATIC_SCHEMA.relationships.common) {
|
|
63
|
+
console.log(` - ${slug}`);
|
|
64
|
+
}
|
|
65
|
+
console.log("");
|
|
66
|
+
console.log("Cross-reference syntax inside markdown:");
|
|
67
|
+
console.log(` ${STATIC_SCHEMA.syntax.noteMention}`);
|
|
68
|
+
console.log(` ${STATIC_SCHEMA.syntax.batchPlaceholder}`);
|
|
69
|
+
console.log("");
|
|
70
|
+
console.log("Canvas node kinds:");
|
|
71
|
+
console.log(` ${STATIC_SCHEMA.resources.canvasNode.kinds.join(", ")}`);
|
|
72
|
+
console.log("");
|
|
73
|
+
console.log("Exit codes:");
|
|
74
|
+
for (const [code, meaning] of Object.entries(STATIC_SCHEMA.exitCodes)) {
|
|
75
|
+
console.log(` ${code} ${meaning}`);
|
|
76
|
+
}
|
|
77
|
+
console.log("");
|
|
78
|
+
console.log("Tip: run `cnotes schema --json` for the full machine-readable document.");
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
handleError(error, cfg.json);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0D7D"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ApiClient } from "../lib/api-client.js";
|
|
2
|
+
import { resolveConfig } from "../lib/config.js";
|
|
3
|
+
import { handleError } from "../lib/errors.js";
|
|
4
|
+
import { outputJson, outputTable, truncate } from "../lib/output.js";
|
|
5
|
+
export function registerSearchCommands(program) {
|
|
6
|
+
const search = program
|
|
7
|
+
.command("search")
|
|
8
|
+
.alias("s")
|
|
9
|
+
.description("Search notes");
|
|
10
|
+
search
|
|
11
|
+
.command("semantic")
|
|
12
|
+
.description("Semantic (vector) search across notes")
|
|
13
|
+
.argument("<query>", "Search query")
|
|
14
|
+
.option("--limit <n>", "Maximum results", "10")
|
|
15
|
+
.option("--canvas <canvasId>", "Scope search to notes on a canvas")
|
|
16
|
+
.addHelpText("after", `
|
|
17
|
+
Examples:
|
|
18
|
+
$ cnotes search semantic "user retention"
|
|
19
|
+
$ cnotes search semantic "checkout flow" --canvas <canvasId> --limit 20 --json
|
|
20
|
+
`)
|
|
21
|
+
.action(async (query, opts) => {
|
|
22
|
+
const cfg = resolveConfig(program.opts());
|
|
23
|
+
const api = new ApiClient(cfg.serverUrl, cfg.token);
|
|
24
|
+
try {
|
|
25
|
+
const data = await api.post("/api/semantic-search", {
|
|
26
|
+
query,
|
|
27
|
+
workspaceId: cfg.workspaceId,
|
|
28
|
+
limit: parseInt(opts.limit, 10),
|
|
29
|
+
...(opts.canvas ? { canvasId: opts.canvas } : {}),
|
|
30
|
+
});
|
|
31
|
+
const results = data.results || data;
|
|
32
|
+
if (cfg.json) {
|
|
33
|
+
outputJson(results, cfg.fields);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const items = Array.isArray(results) ? results : [];
|
|
37
|
+
if (items.length === 0) {
|
|
38
|
+
console.log("No results found.");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const rows = items.map((r) => {
|
|
42
|
+
const note = (r.note || r);
|
|
43
|
+
const score = r.score !== undefined ? Number(r.score).toFixed(2) : "";
|
|
44
|
+
return [
|
|
45
|
+
String(note.displayId || r.displayId || ""),
|
|
46
|
+
truncate(String(note.title || r.title || "(untitled)"), 40),
|
|
47
|
+
score,
|
|
48
|
+
];
|
|
49
|
+
});
|
|
50
|
+
outputTable(["ID", "TITLE", "SCORE"], rows);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
handleError(error, cfg.json);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.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;AAErE,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,cAAc,CAAC,CAAC;IAE/B,MAAM;SACH,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,uCAAuC,CAAC;SACpD,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE,IAAI,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,WAAW,CAAC,OAAO,EAAE;;;;CAIzB,CAAC;SACG,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAExB,sBAAsB,EAAE;gBACzB,KAAK;gBACL,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClD,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YAErC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE;gBACpD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAA4B,CAAC;gBACtD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,OAAO;oBACL,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC;oBAC3C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;oBAC3D,KAAK;iBACN,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/commands/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkN5D"}
|