@graphit/cli 0.2.259 → 0.2.270

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/bin/graphit +1 -1
  5. package/bin/graphit.ps1 +1 -1
  6. package/dist/commands/ds/api.d.ts +19 -0
  7. package/dist/commands/ds/api.js +74 -0
  8. package/dist/commands/ds/api.js.map +1 -0
  9. package/dist/commands/ds/polling.d.ts +13 -0
  10. package/dist/commands/ds/polling.js +189 -0
  11. package/dist/commands/ds/polling.js.map +1 -0
  12. package/dist/commands/ds/render.d.ts +15 -0
  13. package/dist/commands/ds/render.js +88 -0
  14. package/dist/commands/ds/render.js.map +1 -0
  15. package/dist/commands/ds/types.d.ts +65 -0
  16. package/dist/commands/ds/types.js +31 -0
  17. package/dist/commands/ds/types.js.map +1 -0
  18. package/dist/commands/ds/ui-only.d.ts +15 -0
  19. package/dist/commands/ds/ui-only.js +29 -0
  20. package/dist/commands/ds/ui-only.js.map +1 -0
  21. package/dist/commands/ds-config.d.ts +1 -0
  22. package/dist/commands/ds-config.js +25 -2
  23. package/dist/commands/ds-config.js.map +1 -1
  24. package/dist/commands/ds.js +10 -355
  25. package/dist/commands/ds.js.map +1 -1
  26. package/dist/commands/kb-create.js +11 -6
  27. package/dist/commands/kb-create.js.map +1 -1
  28. package/dist/commands/kb-delete.js +10 -2
  29. package/dist/commands/kb-delete.js.map +1 -1
  30. package/dist/commands/kb-read.js +6 -2
  31. package/dist/commands/kb-read.js.map +1 -1
  32. package/dist/commands/kb-shared.d.ts +16 -1
  33. package/dist/commands/kb-shared.js +28 -0
  34. package/dist/commands/kb-shared.js.map +1 -1
  35. package/dist/commands/kb-update.js +11 -5
  36. package/dist/commands/kb-update.js.map +1 -1
  37. package/package.json +1 -1
  38. package/scripts/sync-plugin-marketplace.sh +134 -0
  39. package/skills/graphit/SKILL.md +7 -7
  40. package/skills/graphit/VERSION.json +1 -1
  41. package/skills/graphit/references/data-sources.md +8 -6
  42. package/skills/graphit/references/kb-discovery.md +1 -1
  43. package/skills/graphit/references/kb-scope.md +23 -0
  44. package/skills/graphit/references/kb-structure.md +3 -1
  45. package/skills/graphit/references/kb-traversal.md +1 -4
  46. package/skills/graphit/references/onboarding.md +12 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-only.js","sourceRoot":"","sources":["../../../src/commands/ds/ui-only.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,sEAAsE,EAAE;IACxG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,oFAAoF,EAAE;CACrH,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,EAAW;IACjD,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;aACpB,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;aAC3B,MAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,cAAc,EAAE,+BAA+B,CAAC;YAC/D,WAAW,CACT,IAAI,KAAK,CACP,QAAQ,IAAI,+CAA+C,IAAI,iBAAiB;gBAC9E,6EAA6E,GAAG,EAAE,CACrF,CACF,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;AACH,CAAC"}
@@ -14,6 +14,7 @@ export declare function resolveCreateMode(opts: {
14
14
  file?: unknown;
15
15
  sql?: unknown;
16
16
  name?: unknown;
17
+ domain?: unknown;
17
18
  }): CreateMode;
18
19
  /**
19
20
  * Parse one `--table-lookback` spec of the form `TABLE:COLUMN:DAYS`. Split from
@@ -7,7 +7,7 @@ export function resolveCreateMode(opts) {
7
7
  if (opts.sql) {
8
8
  return { kind: "error", message: "Use either --file or --sql, not both." };
9
9
  }
10
- return { kind: "file" };
10
+ return requireDomain(opts, { kind: "file" });
11
11
  }
12
12
  if (!opts.sql || !opts.name) {
13
13
  return {
@@ -15,7 +15,30 @@ export function resolveCreateMode(opts) {
15
15
  message: "Provide --file <path> to upload a local Excel/CSV, or both --sql <query> and --name <name> for a SQL data source.",
16
16
  };
17
17
  }
18
- return { kind: "sql" };
18
+ return requireDomain(opts, { kind: "sql" });
19
+ }
20
+ /**
21
+ * Project #272: `--domain` is required in BOTH create modes.
22
+ *
23
+ * Checked here rather than per-branch because this is the one function both
24
+ * modes already pass through - a per-branch check is how `--file` ended up
25
+ * without one when Feature #729 made the flag optional for `--sql`.
26
+ *
27
+ * This is layer 1 of the defense in depth, and deliberately not the only layer:
28
+ * it fails fast and locally for a well-behaved caller, but the reason code
29
+ * `domain.required` is spoken by the DS authorization gateway, which every
30
+ * channel reaches. A caller that skips the CLI still gets refused there.
31
+ */
32
+ function requireDomain(opts, mode) {
33
+ const domain = typeof opts.domain === "string" ? opts.domain.trim() : "";
34
+ if (!domain) {
35
+ return {
36
+ kind: "error",
37
+ message: "--domain <name> is required. A data source is always created inside a KB domain - " +
38
+ "run `graphit kb list domains` to see them, or `graphit kb create domain --name <NAME>` to add one.",
39
+ };
40
+ }
41
+ return mode;
19
42
  }
20
43
  /**
21
44
  * Parse one `--table-lookback` spec of the form `TABLE:COLUMN:DAYS`. Split from
@@ -1 +1 @@
1
- {"version":3,"file":"ds-config.js","sourceRoot":"","sources":["../../src/commands/ds-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ds-config.js","sourceRoot":"","sources":["../../src/commands/ds-config.ts"],"names":[],"mappings":"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"}
@@ -1,359 +1,14 @@
1
- import { Option } from "commander";
2
- import { existsSync } from "node:fs";
3
- import { readFile } from "node:fs/promises";
4
- import { basename } from "node:path";
5
1
  import { apiClient } from "../api/client.js";
6
- import { output, errorOutput, note, getOutputFormat } from "../output/format.js";
2
+ import { errorOutput, getOutputFormat, note, output } from "../output/format.js";
7
3
  import { writeStderr } from "../stderr.js";
8
- import { getFrontendUrl } from "../config.js";
9
- import { reconcilePoll, NOT_FOUND_STATUS, isCreatePollTerminal } from "./ds-poll.js";
10
4
  import { buildRefreshConfigBody, resolveCreateMode } from "./ds-config.js";
5
+ import { createDataSourceFromFile, fetchDSList, triggerRefresh } from "./ds/api.js";
6
+ import { pollUntilDSReady, pollUntilReady, scanAndPrintSummary } from "./ds/polling.js";
11
7
  import { registerRefreshHistoryCommand } from "./ds/refresh-history.js";
12
- // Project #244: print soft, non-blocking shape advisories. Print-and-proceed -
13
- // these never gate a create or verify.
14
- function printShapeWarnings(validation) {
15
- if (!validation?.warnings?.length)
16
- return;
17
- note("");
18
- for (const w of validation.warnings) {
19
- note(` ! ${w}`);
20
- }
21
- note("");
22
- }
23
- const POLL_INTERVAL_MS = 3_000;
24
- const MAX_POLL_DURATION_MS = 5 * 60_000;
25
- // Feature #661 + #665: creation runs in a durable Job whose export budget was raised
26
- // to 60 min (Feature #665), with the worker socket timeout at ~70 min (budget + margin).
27
- // The create poller must outlast the server-side budget so a legit large load isn't
28
- // reported as "timed out" client-side while it's still materializing.
29
- const MAX_CREATE_POLL_DURATION_MS = 70 * 60_000;
30
- const SCAN_TIMEOUT_MS = 90_000;
31
- const REFRESH_TRIGGER_TIMEOUT_MS = 60_000;
32
- // Issue #775: a small/single-table create routes INLINE (Project #247) - the POST
33
- // itself runs the warehouse export + scan + canonical birth in-request and returns
34
- // a terminal status, so it needs the same extended budget as the other
35
- // warehouse-touching POSTs (upload 120s, scan 90s) instead of the 30s default,
36
- // which a cold-connection inline export races even though the source is born fine.
37
- // A Job-routed create returns CREATING immediately and never approaches this ceiling.
38
- const CREATE_TIMEOUT_MS = 120_000;
39
- async function fetchDSList(limit = 200) {
40
- const resp = await apiClient.get(`/api/v1/cli/ds?limit=${limit}`);
41
- return resp.data_sources;
42
- }
43
- async function triggerRefresh(id, force = false) {
44
- try {
45
- const query = force ? "?force=true" : "";
46
- const resp = await apiClient.post(`/api/v1/cli/ds/${id}/refresh${query}`, {}, { timeoutMs: REFRESH_TRIGGER_TIMEOUT_MS });
47
- return resp;
48
- }
49
- catch (err) {
50
- const msg = err instanceof Error ? err.message : String(err.detail ?? err);
51
- if (msg.toLowerCase().includes("timeout") || msg.toLowerCase().includes("timed out")) {
52
- return { id, status: "refreshing", error: "trigger timed out (refresh continues server-side)" };
53
- }
54
- return { id, status: "error", error: msg };
55
- }
56
- }
57
- function formatRowCount(n) {
58
- if (n >= 1_000_000)
59
- return `${(n / 1_000_000).toFixed(1)}M`;
60
- if (n >= 1_000)
61
- return `${(n / 1_000).toFixed(1)}K`;
62
- return String(n);
63
- }
64
- function printStatusTable(targets, statuses, errors, clearPrevious) {
65
- const lines = [];
66
- const nameWidth = Math.max(4, ...Array.from(targets.values()).map((ds) => ds.name.length));
67
- lines.push(` ${"NAME".padEnd(nameWidth)} ${"STATUS".padEnd(12)} ${"ROWS".padStart(8)}`);
68
- lines.push(` ${"─".repeat(nameWidth)} ${"─".repeat(12)} ${"─".repeat(8)}`);
69
- for (const [id, ds] of targets) {
70
- const status = statuses.get(id) ?? ds.status;
71
- const error = errors.get(id);
72
- const icon = status === "ready" ? "+" : status === "error" ? "x" : status === NOT_FOUND_STATUS ? "?" : "*";
73
- const rowStr = formatRowCount(ds.row_count).padStart(8);
74
- let line = ` ${ds.name.padEnd(nameWidth)} ${icon} ${status.padEnd(10)} ${rowStr}`;
75
- if (error)
76
- line += ` ${error}`;
77
- lines.push(line);
78
- }
79
- // Progress table is decoration -> stderr (with its in-place cursor escapes on
80
- // the same stream), so stdout stays a clean payload.
81
- if (clearPrevious) {
82
- process.stderr.write(`\x1B[${lines.length + 1}A\x1B[J`);
83
- }
84
- note(lines.join("\n"));
85
- return lines.length;
86
- }
87
- // Returns true if it gave up at the timeout, false if every target reached a
88
- // terminal state - the caller surfaces this as `timed_out` in the JSON summary.
89
- async function pollUntilReady(targetIds, targets, errors) {
90
- const isTTY = process.stderr.isTTY ?? false;
91
- const statuses = new Map();
92
- for (const id of targetIds)
93
- statuses.set(id, "refreshing");
94
- const missCounts = new Map();
95
- let printed = false;
96
- printStatusTable(targets, statuses, errors, false);
97
- printed = true;
98
- const pollStart = Date.now();
99
- while (true) {
100
- await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
101
- if (Date.now() - pollStart > MAX_POLL_DURATION_MS) {
102
- note(`\n Timed out after ${MAX_POLL_DURATION_MS / 60_000}m waiting for refresh to complete.`);
103
- break;
104
- }
105
- let fresh;
106
- try {
107
- fresh = await fetchDSList();
108
- }
109
- catch {
110
- // Issue #775: tolerate a transient network/transport blip during the wait
111
- // instead of aborting the refresh-wait and misreporting still-refreshing
112
- // sources as failed. Re-poll (the loop sleeps first) until the timeout cap.
113
- continue;
114
- }
115
- const freshMap = new Map(fresh.map((ds) => [ds.id, ds]));
116
- // A target absent from the fresh list (deleted mid-wait, or transiently
117
- // omitted) is declared not_found after a couple of polls so the loop ends
118
- // promptly instead of spinning to MAX_POLL_DURATION_MS.
119
- const allDone = reconcilePoll(targetIds, freshMap, statuses, targets, missCounts);
120
- if (isTTY && printed) {
121
- printStatusTable(targets, statuses, errors, true);
122
- }
123
- if (allDone) {
124
- if (!isTTY && printed) {
125
- note("");
126
- printStatusTable(targets, statuses, errors, false);
127
- }
128
- // A target only counts as refreshed if it reached "ready" AND nothing went
129
- // wrong for it. A trigger that errored (or timed out) leaves the source at
130
- // its previous "ready", so counting status alone reported "1/1 refreshed"
131
- // with the error sitting in the same payload - the summary contradicting
132
- // the data beneath it.
133
- const readyCount = Array.from(statuses.entries()).filter(([id, s]) => s === "ready" && !errors.has(id)).length;
134
- const errorCount = Array.from(statuses.entries()).filter(([id, s]) => s === "error" || errors.has(id)).length;
135
- const notFoundCount = Array.from(statuses.values()).filter((s) => s === NOT_FOUND_STATUS).length;
136
- note(`\n ${readyCount}/${targetIds.size} refreshed${errorCount > 0 ? `, ${errorCount} failed` : ""}${notFoundCount > 0 ? `, ${notFoundCount} not found` : ""}`);
137
- return false;
138
- }
139
- }
140
- return true;
141
- }
142
- async function scanDS(id, force = false, acceptSchema = false) {
143
- const params = new URLSearchParams();
144
- if (force)
145
- params.set("force", "true");
146
- if (acceptSchema)
147
- params.set("accept_schema", "true");
148
- const qs = params.toString();
149
- return apiClient.post(`/api/v1/cli/ds/${id}/scan${qs ? `?${qs}` : ""}`, {}, { timeoutMs: SCAN_TIMEOUT_MS });
150
- }
151
- async function pollUntilDSReady(id, name) {
152
- const isTTY = process.stderr.isTTY ?? false;
153
- const start = Date.now();
154
- if (isTTY)
155
- process.stderr.write(` Materializing ${name}...`);
156
- // Feature #661: creation gets the longer create-poll budget (not the 5-min
157
- // refresh cap), so a legit large load isn't reported as timed-out while still
158
- // materializing in the Job.
159
- let firstPoll = true;
160
- while (Date.now() - start < MAX_CREATE_POLL_DURATION_MS) {
161
- // Issue #775: poll immediately on the first pass, then wait between polls.
162
- // An inline create (Project #247) already returned a terminal status from
163
- // the POST, so sleeping first would tax every inline `ds create --sql` a
164
- // guaranteed ~POLL_INTERVAL_MS before it can report done. Every `continue`
165
- // below falls back here, so later passes (and retries) still wait first.
166
- if (!firstPoll)
167
- await new Promise((r) => setTimeout(r, POLL_INTERVAL_MS));
168
- firstPoll = false;
169
- let all;
170
- try {
171
- all = await fetchDSList();
172
- }
173
- catch {
174
- // Issue #775: a transient network/transport blip during the up-to-70-min
175
- // create window must NOT abort the poll and misreport a still-materializing
176
- // source as failed. Tolerate the throw and re-poll (the next pass waits the
177
- // poll interval first, matching triggerRefresh's tolerance). A genuine
178
- // create failure arrives as status "error" in a successful response and is
179
- // handled below - it is never swallowed here.
180
- continue;
181
- }
182
- const ds = all.find((d) => d.id === id);
183
- if (!ds)
184
- continue;
185
- if (!isCreatePollTerminal(ds.status))
186
- continue;
187
- // Issue #775: pending_verification is a terminal SUCCESS (server-side scan
188
- // succeeded during creation); without this branch the loop spun to the
189
- // 70-minute create cap on every scan-succeeded SQL create.
190
- if (ds.status === "pending_verification") {
191
- if (isTTY)
192
- process.stderr.write(` scanned (${formatRowCount(ds.row_count)} rows), awaiting verification\n`);
193
- else
194
- note(` ${name}: scanned (${formatRowCount(ds.row_count)} rows), awaiting verification`);
195
- return ds;
196
- }
197
- if (ds.status === "ready") {
198
- if (isTTY)
199
- process.stderr.write(` ready (${formatRowCount(ds.row_count)} rows)\n`);
200
- else
201
- note(` ${name}: ready (${formatRowCount(ds.row_count)} rows)`);
202
- return ds;
203
- }
204
- if (ds.status === "error") {
205
- // Feature #661: surface the real, actionable failure reason (was a bare
206
- // "error" before - useless to a foreign agent driving the CLI).
207
- if (isTTY)
208
- process.stderr.write(` failed\n`);
209
- const detail = ds.last_error || "Data source creation failed.";
210
- note(` ${name}: ${detail}`);
211
- return ds;
212
- }
213
- // Issue #775: guard the #775 regression. The status is already terminal (it
214
- // passed isCreatePollTerminal), so any status without a branch above - e.g. a
215
- // success status later added to CREATE_SUCCESS_STATUSES - must still end the
216
- // poll. Falling through here would spin to the 70-min cap and reintroduce the
217
- // hang the guard and branches must not drift into.
218
- if (isTTY)
219
- process.stderr.write(` ${ds.status} (${formatRowCount(ds.row_count)} rows)\n`);
220
- else
221
- note(` ${name}: ${ds.status} (${formatRowCount(ds.row_count)} rows)`);
222
- return ds;
223
- }
224
- // Feature #661: non-alarming - the Job may still be materializing server-side.
225
- note(`\n ${name} is still materializing server-side. Check status later with: graphit ds list`);
226
- return null;
227
- }
228
- // Issue #775: single copy of the "scanned, awaiting verification" call to action.
229
- // Printed identically after a create that lands at pending_verification and after
230
- // `ds verify` scans a warehouse/SQL source - kept in one place so the two paths
231
- // (create action + printVerifySummary) cannot drift.
232
- function printVerificationCTA(dsId) {
233
- const url = `${getFrontendUrl()}/sources?tab=sources&sub=data&id=${dsId}`;
234
- note(`\n Scanned and awaiting verification. Review and activate in the platform:`);
235
- note(` ${url}`);
236
- note(`\n Or accept the AI schema as-is from the CLI:`);
237
- note(` graphit ds verify ${dsId} --accept-schema\n`);
238
- }
239
- function printVerifySummary(scan, dsId, rowCount) {
240
- const line = "─".repeat(Math.max(scan.table_name.length, 30));
241
- note(`\n ${scan.table_name}`);
242
- note(` ${line}`);
243
- const colSummary = scan.columns
244
- .slice(0, 6)
245
- .map((c) => `${c.name} (${c.type})`)
246
- .join(", ");
247
- const more = scan.columns.length > 6 ? `, +${scan.columns.length - 6} more` : "";
248
- note(` Columns: ${colSummary}${more}`);
249
- if (rowCount !== undefined) {
250
- note(` Rows: ${formatRowCount(rowCount)}`);
251
- }
252
- // A file-upload verify (or an --accept-schema warehouse verify) activates the
253
- // source server-side, so there is nothing left to do - say so (Issue #544/#546).
254
- // Confirmed against the state the server reports back, not against the request
255
- // we made: a scan that demoted the source must fall through to the CTA below.
256
- if (scan.activated && scan.status !== "pending_verification") {
257
- note(`\n Verified - this data source is now queryable.\n`);
258
- return;
259
- }
260
- // Scanned but awaiting review (warehouse/SQL): the AI-inferred schema needs a
261
- // human to accept it. Offer both governed paths - review in the platform wizard,
262
- // or accept the schema as-is from the CLI (Issue #546). This is not "still
263
- // materializing" - the data is on disk; only verification is pending.
264
- printVerificationCTA(dsId);
265
- }
266
- async function scanAndPrintSummary(dsId, dsName, rowCount, force = false, acceptSchema = false) {
267
- const isTTY = process.stderr.isTTY ?? false;
268
- if (isTTY)
269
- process.stderr.write(` Scanning schema...`);
270
- try {
271
- const scan = await scanDS(dsId, force, acceptSchema);
272
- if (isTTY) {
273
- const label = scan.already_scanned ? "already scanned" : "done";
274
- process.stderr.write(` ${label} (${scan.column_count} columns)\n`);
275
- }
276
- else {
277
- note(` ${dsName}: scanned (${scan.column_count} columns)`);
278
- }
279
- printVerifySummary(scan, dsId, rowCount);
280
- printShapeWarnings(scan.validation);
281
- return scan;
282
- }
283
- catch (err) {
284
- if (isTTY)
285
- process.stderr.write(` failed\n`);
286
- const msg = err instanceof Error ? err.message : String(err.detail ?? err);
287
- note(` Scan failed: ${msg}`);
288
- // Project #263 Phase 13 (13.8): never advise a retry the server has already
289
- // said cannot work. `ds verify` is a gated write, so this catch now sees
290
- // permission denials - and offering "you can retry" on a `retryable: false`
291
- // problem is the retry-loop bait 13.5 removed from the denial body, put back
292
- // by the client. Read the FIELD, not the prose.
293
- const problem = err.problem;
294
- if (problem?.retryable === false) {
295
- if (problem.next_step)
296
- note(` ${problem.next_step}`);
297
- }
298
- else {
299
- note(` You can retry with: graphit ds verify ${dsId}`);
300
- }
301
- return null;
302
- }
303
- }
304
- /**
305
- * Create a data source from a local Excel/CSV file (Feature #645). Uploads the
306
- * file as multipart; the server parses, runs the inline AI scan, encrypts, and
307
- * (optionally) attaches the new table to a domain - all in one request.
308
- */
309
- async function createDataSourceFromFile(cmd, opts) {
310
- const filePath = String(opts.file);
311
- if (!existsSync(filePath)) {
312
- errorOutput(new Error(`File not found: ${filePath}`));
313
- return;
314
- }
315
- const buf = await readFile(filePath);
316
- const filename = basename(filePath);
317
- const form = new FormData();
318
- form.append("file", new Blob([buf]), filename);
319
- if (opts.name)
320
- form.append("name", String(opts.name));
321
- if (opts.sheet)
322
- form.append("sheet", String(opts.sheet));
323
- if (opts.domain)
324
- form.append("domain", String(opts.domain));
325
- note(` Uploading ${filename}...`);
326
- const resp = await apiClient.postMultipart("/api/v1/cli/ds/upload", form, { timeoutMs: 120_000 });
327
- if (resp.domain_note)
328
- note(` ${resp.domain_note}`);
329
- output(cmd, resp, { keyValue: true });
330
- }
331
- // Data-source lifecycle actions that are deliberately UI-only. Destroying or
332
- // re-pointing a source cascades into dashboards, KB tables and cached snapshots,
333
- // so it stays behind the Sources Hub where the blast radius is shown before you
334
- // commit. Creating one from the CLI is safe and stays supported.
335
- //
336
- // Registered as real commands rather than left to Commander's bare
337
- // `unknown command 'delete'`: an agent that gets "unknown command" concludes the
338
- // CLI is incomplete and goes hunting for a flag or a workaround. It needs to
339
- // learn the boundary is intentional and where the action actually lives.
340
- const UI_ONLY_DS_ACTIONS = [
341
- { name: "delete <id>", summary: "Delete a data source - not available on the CLI, use the Sources Hub" },
342
- { name: "move <id>", summary: "Move a data source between domains - not available on the CLI, use the Sources Hub" },
343
- ];
344
- function registerUiOnlyDSActions(ds) {
345
- for (const action of UI_ONLY_DS_ACTIONS) {
346
- const verb = action.name.split(" ")[0];
347
- ds.command(action.name)
348
- .description(action.summary)
349
- .action(function () {
350
- const url = `${getFrontendUrl()}/sources?tab=sources&sub=data`;
351
- errorOutput(new Error(`\`ds ${verb}\` is not available on the CLI. Data source ${verb} runs from the ` +
352
- `Sources Hub, which shows what the change cascades into before it happens: ${url}`));
353
- process.exitCode = 1;
354
- });
355
- }
356
- }
8
+ import { printShapeWarnings, printStatusTable, printVerificationCTA } from "./ds/render.js";
9
+ import { CREATE_TIMEOUT_MS } from "./ds/types.js";
10
+ import { registerUiOnlyDSActions } from "./ds/ui-only.js";
11
+ import { Option } from "commander";
357
12
  export function registerDSCommands(program) {
358
13
  const ds = program.command("ds").description("Data source management");
359
14
  // Project #258: read-only refresh-run lineage; lives in its own module to keep
@@ -393,7 +48,7 @@ export function registerDSCommands(program) {
393
48
  }
394
49
  });
395
50
  ds.command("create")
396
- .description("Create a data source from a SQL query (--sql) or a local Excel/CSV file (--file)")
51
+ .description("Create a data source from a SQL query (--sql) or a local Excel/CSV file (--file). --domain is REQUIRED in both modes - every source lives in a KB domain")
397
52
  .option("--sql <query>", "Source SQL query")
398
53
  .option("--name <name>", "Data source name (defaults to the file name in --file mode)")
399
54
  .option("--connection <id>", "Warehouse connection ID - Snowflake or BigQuery (SQL mode)")
@@ -402,7 +57,7 @@ export function registerDSCommands(program) {
402
57
  .option("--detect-tables", "Print the tables detected in the SQL and exit, without creating (SQL mode preview)")
403
58
  .option("--source-tables <list>", "Comma-separated override for the tables referenced in the SQL (SQL mode; omit to auto-detect)")
404
59
  .option("--file <path>", "Path to a local .xlsx/.csv file to upload as a data source")
405
- .option("--domain <name>", "File the new data source's table under this KB domain (works in --sql and --file mode; the domain must already exist)")
60
+ .option("--domain <name>", "REQUIRED to create. File the new data source's table under this KB domain (both --sql and --file mode; the domain must already exist - list them with `graphit kb list domains`). Not needed with --detect-tables, which creates nothing")
406
61
  .option("--sheet <name>", "Excel sheet to use when the file has multiple sheets (--file mode)")
407
62
  .action(async function () {
408
63
  try {
@@ -442,7 +97,7 @@ export function registerDSCommands(program) {
442
97
  sql: opts.sql,
443
98
  connection_id: opts.connection || null,
444
99
  schema_name: opts.schema || null,
445
- domain: opts.domain || null, // Feature #729
100
+ domain: opts.domain, // Project #272: required, validated by resolveCreateMode
446
101
  source_tables: overrideTables, // Feature #731 ([] = auto-detect)
447
102
  }, { timeoutMs: CREATE_TIMEOUT_MS });
448
103
  note(` Creating ${resp.name}... (id: ${resp.id})`);
@@ -1 +1 @@
1
- {"version":3,"file":"ds.js","sourceRoot":"","sources":["../../src/commands/ds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ds.js","sourceRoot":"","sources":["../../src/commands/ds.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { output, errorOutput, getOutputFormat } from "../output/format.js";
4
4
  import { writeStderr } from "../stderr.js";
5
5
  import { styledIntro, styledOutro, styledSuccess, formatBold, } from "../output/styled.js";
6
6
  import { parseConstraintFlags, parseApplyOnFlags } from "./kb-constraints.js";
7
- import { renderValidation, } from "./kb-shared.js";
7
+ import { renderValidation, renderVisibility, withVisibility, } from "./kb-shared.js";
8
8
  // Project #254 Phase 1: kb create verbs (metric/dimension/rule/domain/synonym/
9
9
  // relationship/topic/template). Tables are created from data sources.
10
10
  export function addKBCreateCommands(kb) {
@@ -52,10 +52,11 @@ export function addKBCreateCommands(kb) {
52
52
  styledIntro(`graphit kb create metric`);
53
53
  styledSuccess(`Metric ${formatBold(String(resp.entity.name))} created`);
54
54
  renderValidation(this, resp);
55
+ renderVisibility(this, resp);
55
56
  styledOutro();
56
57
  }
57
58
  else {
58
- const out = { ...resp.entity };
59
+ const out = withVisibility(this, { ...resp.entity }, resp);
59
60
  if (resp.validation)
60
61
  out.validation = resp.validation;
61
62
  output(this, out, { keyValue: true });
@@ -100,10 +101,11 @@ export function addKBCreateCommands(kb) {
100
101
  styledIntro(`graphit kb create dimension`);
101
102
  styledSuccess(`Dimension ${formatBold(String(resp.entity.name))} created`);
102
103
  renderValidation(this, resp);
104
+ renderVisibility(this, resp);
103
105
  styledOutro();
104
106
  }
105
107
  else {
106
- const out = { ...resp.entity };
108
+ const out = withVisibility(this, { ...resp.entity }, resp);
107
109
  if (resp.validation)
108
110
  out.validation = resp.validation;
109
111
  output(this, out, { keyValue: true });
@@ -149,10 +151,11 @@ export function addKBCreateCommands(kb) {
149
151
  styledIntro(`graphit kb create rule`);
150
152
  styledSuccess(`Rule ${formatBold(String(resp.entity.name))} created`);
151
153
  renderValidation(this, resp);
154
+ renderVisibility(this, resp);
152
155
  styledOutro();
153
156
  }
154
157
  else {
155
- const out = { ...resp.entity };
158
+ const out = withVisibility(this, { ...resp.entity }, resp);
156
159
  if (resp.validation)
157
160
  out.validation = resp.validation;
158
161
  output(this, out, { keyValue: true });
@@ -200,7 +203,8 @@ export function addKBCreateCommands(kb) {
200
203
  description: opts.description,
201
204
  unverified: Boolean(opts.unverified),
202
205
  });
203
- output(this, resp.entity, { keyValue: true });
206
+ renderVisibility(this, resp);
207
+ output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
204
208
  }
205
209
  catch (err) {
206
210
  errorOutput(err);
@@ -226,7 +230,8 @@ export function addKBCreateCommands(kb) {
226
230
  related_column: opts.relatedColumn,
227
231
  description: opts.description,
228
232
  });
229
- output(this, resp.entity, { keyValue: true });
233
+ renderVisibility(this, resp);
234
+ output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
230
235
  }
231
236
  catch (err) {
232
237
  errorOutput(err);