@graphit/cli 0.2.260 → 0.2.306
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/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/bin/graphit +1 -1
- package/bin/graphit.ps1 +1 -1
- package/dist/commands/connector.js +4 -2
- package/dist/commands/connector.js.map +1 -1
- package/dist/commands/dashboard.js +24 -11
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/ds/refresh-history.js +2 -1
- package/dist/commands/ds/refresh-history.js.map +1 -1
- package/dist/commands/ds/ui-only.js +10 -4
- package/dist/commands/ds/ui-only.js.map +1 -1
- package/dist/commands/ds-config.d.ts +1 -0
- package/dist/commands/ds-config.js +25 -2
- package/dist/commands/ds-config.js.map +1 -1
- package/dist/commands/ds.js +11 -7
- package/dist/commands/ds.js.map +1 -1
- package/dist/commands/governance.js +2 -2
- package/dist/commands/governance.js.map +1 -1
- package/dist/commands/kb-create.js +19 -14
- package/dist/commands/kb-create.js.map +1 -1
- package/dist/commands/kb-delete.js +14 -3
- package/dist/commands/kb-delete.js.map +1 -1
- package/dist/commands/kb-read.js +27 -11
- package/dist/commands/kb-read.js.map +1 -1
- package/dist/commands/kb-shared.d.ts +19 -1
- package/dist/commands/kb-shared.js +40 -0
- package/dist/commands/kb-shared.js.map +1 -1
- package/dist/commands/kb-update.js +29 -14
- package/dist/commands/kb-update.js.map +1 -1
- package/dist/commands/query.js +2 -1
- package/dist/commands/query.js.map +1 -1
- package/package.json +4 -4
- package/scripts/commander-walk.mjs +154 -0
- package/scripts/generate-commands-doc.mjs +26 -95
- package/scripts/generate-tool-manifest.mjs +613 -0
- package/scripts/verb-policy-source.json +555 -0
- package/skills/graphit/SKILL.md +7 -7
- package/skills/graphit/VERSION.json +1 -1
- package/skills/graphit/references/data-sources.md +8 -6
- package/skills/graphit/references/kb-discovery.md +1 -1
- package/skills/graphit/references/kb-scope.md +23 -0
- package/skills/graphit/references/kb-structure.md +3 -1
- package/skills/graphit/references/kb-traversal.md +1 -4
- package/skills/graphit/references/onboarding.md +12 -3
|
@@ -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) {
|
|
@@ -17,7 +17,7 @@ export function addKBCreateCommands(kb) {
|
|
|
17
17
|
.requiredOption("--name <name>", "Metric name (UPPER_SNAKE_CASE)")
|
|
18
18
|
.requiredOption("--sql <expr>", "SQL calculation expression")
|
|
19
19
|
.requiredOption("--table <table>", "Primary table")
|
|
20
|
-
.option("--description <desc>", "
|
|
20
|
+
.option("--description <desc>", "Business meaning of the metric - what it counts and when to use it", "")
|
|
21
21
|
.option("--topics <topics>", "Comma-separated topic names")
|
|
22
22
|
.option("--default-dimensions <dims>", "Comma-separated dimension names this metric naturally groups by")
|
|
23
23
|
.option("--parameters <json>", "JSON array of parameter definitions")
|
|
@@ -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 });
|
|
@@ -73,7 +74,7 @@ export function addKBCreateCommands(kb) {
|
|
|
73
74
|
.requiredOption("--table <table>", "Primary table")
|
|
74
75
|
.option("--type <type>", "Semantic type: categorical, temporal, quantitative, boolean, geographic (auto-inferred if omitted)")
|
|
75
76
|
.option("--output-type <outputType>", "SQL output type: VARCHAR, NUMBER, BOOLEAN, DATE, TIMESTAMP (auto-inferred if omitted)")
|
|
76
|
-
.option("--description <desc>", "
|
|
77
|
+
.option("--description <desc>", "Business meaning of the dimension - what it slices and when to use it", "")
|
|
77
78
|
.option("--topics <topics>", "Comma-separated topic names")
|
|
78
79
|
.option("--skip-validate", "Skip pre-creation data validation")
|
|
79
80
|
.option("--unverified", "Create as a draft instead of verified (default: verified)")
|
|
@@ -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 });
|
|
@@ -119,7 +121,7 @@ export function addKBCreateCommands(kb) {
|
|
|
119
121
|
.requiredOption("--name <name>", "Rule name (UPPER_SNAKE_CASE)")
|
|
120
122
|
.requiredOption("--sql <expr>", "Rule content/SQL")
|
|
121
123
|
.requiredOption("--table <table>", "Table the rule is about (validation context, and the whole-table target unless --apply-on narrows it)")
|
|
122
|
-
.option("--description <desc>", "
|
|
124
|
+
.option("--description <desc>", "What the rule enforces and why it exists", "")
|
|
123
125
|
.option("--topics <topics>", "Comma-separated topic names")
|
|
124
126
|
.option("--constraint <spec...>", "Enforceable constraints (e.g., required_where:\"x=1\" forbidden_column:email)")
|
|
125
127
|
.option("--enforcement-mode <mode>", "Rule enforcement: advisory|always|conditional")
|
|
@@ -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 });
|
|
@@ -166,7 +169,7 @@ export function addKBCreateCommands(kb) {
|
|
|
166
169
|
.command("domain")
|
|
167
170
|
.description("Create a new domain")
|
|
168
171
|
.requiredOption("--name <name>", "Domain name (UPPER_SNAKE_CASE)")
|
|
169
|
-
.option("--description <desc>", "
|
|
172
|
+
.option("--description <desc>", "What this domain covers - the business area its tables and assets belong to", "")
|
|
170
173
|
.option("--color <hex>", "Hex color for UI", "#4DB6AC")
|
|
171
174
|
.action(async function () {
|
|
172
175
|
try {
|
|
@@ -188,7 +191,7 @@ export function addKBCreateCommands(kb) {
|
|
|
188
191
|
.requiredOption("--term <term>", "Synonym term (e.g., GMV)")
|
|
189
192
|
.requiredOption("--canonical <name>", "Canonical asset name (e.g., TOTAL_REVENUE)")
|
|
190
193
|
.requiredOption("--type <type>", "Canonical type: metric, column, or table")
|
|
191
|
-
.option("--description <desc>", "
|
|
194
|
+
.option("--description <desc>", "When this synonym applies - the phrasing users say for the canonical asset", "")
|
|
192
195
|
.option("--unverified", "Create as a draft instead of verified (default: verified)")
|
|
193
196
|
.action(async function () {
|
|
194
197
|
try {
|
|
@@ -200,7 +203,8 @@ export function addKBCreateCommands(kb) {
|
|
|
200
203
|
description: opts.description,
|
|
201
204
|
unverified: Boolean(opts.unverified),
|
|
202
205
|
});
|
|
203
|
-
|
|
206
|
+
renderVisibility(this, resp);
|
|
207
|
+
output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
|
|
204
208
|
}
|
|
205
209
|
catch (err) {
|
|
206
210
|
errorOutput(err);
|
|
@@ -214,7 +218,7 @@ export function addKBCreateCommands(kb) {
|
|
|
214
218
|
.requiredOption("--primary-column <col>", "Primary column")
|
|
215
219
|
.requiredOption("--related-table <table>", "Related table")
|
|
216
220
|
.requiredOption("--related-column <col>", "Related column")
|
|
217
|
-
.option("--description <desc>", "
|
|
221
|
+
.option("--description <desc>", "What this join represents in the business", "")
|
|
218
222
|
.action(async function () {
|
|
219
223
|
try {
|
|
220
224
|
const opts = this.opts();
|
|
@@ -226,7 +230,8 @@ export function addKBCreateCommands(kb) {
|
|
|
226
230
|
related_column: opts.relatedColumn,
|
|
227
231
|
description: opts.description,
|
|
228
232
|
});
|
|
229
|
-
|
|
233
|
+
renderVisibility(this, resp);
|
|
234
|
+
output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
|
|
230
235
|
}
|
|
231
236
|
catch (err) {
|
|
232
237
|
errorOutput(err);
|
|
@@ -236,7 +241,7 @@ export function addKBCreateCommands(kb) {
|
|
|
236
241
|
.command("topic")
|
|
237
242
|
.description("Create a new topic (business-concept tag)")
|
|
238
243
|
.requiredOption("--name <name>", "Topic name (UPPER_SNAKE_CASE)")
|
|
239
|
-
.option("--description <desc>", "
|
|
244
|
+
.option("--description <desc>", "What this topic tags - the business concept its assets share", "")
|
|
240
245
|
.action(async function () {
|
|
241
246
|
try {
|
|
242
247
|
const opts = this.opts();
|
|
@@ -256,7 +261,7 @@ export function addKBCreateCommands(kb) {
|
|
|
256
261
|
.requiredOption("--name <name>", "Template name (UPPER_SNAKE_CASE)")
|
|
257
262
|
.option("--render-code <code>", "JS function body for rendering")
|
|
258
263
|
.option("--file <path>", "Read render code from a local file")
|
|
259
|
-
.option("--description <desc>", "
|
|
264
|
+
.option("--description <desc>", "What the template renders and when to reach for it", "")
|
|
260
265
|
.option("--chart-types <types>", "Related chart types (comma-separated)", "")
|
|
261
266
|
.action(async function () {
|
|
262
267
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-create.js","sourceRoot":"","sources":["../../src/commands/kb-create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kb-create.js","sourceRoot":"","sources":["../../src/commands/kb-create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { apiClient } from "../api/client.js";
|
|
2
2
|
import { errorOutput } from "../output/format.js";
|
|
3
3
|
import { writeStderr } from "../stderr.js";
|
|
4
|
+
import { KB_ARG_TYPE, KB_ARG_NAME } from "./kb-shared.js";
|
|
4
5
|
// Project #254 Phase 1: kb delete verb.
|
|
5
6
|
export function addKBDeleteCommands(kb) {
|
|
6
|
-
kb.command("delete
|
|
7
|
+
kb.command("delete")
|
|
8
|
+
.argument("<type>", KB_ARG_TYPE)
|
|
9
|
+
.argument("<name>", KB_ARG_NAME)
|
|
7
10
|
.description("Delete a KB entity (requires --yes flag)")
|
|
8
11
|
.requiredOption("--yes", "Confirm deletion")
|
|
12
|
+
// Project #272 F-6: a private asset belonging to another member can block a
|
|
13
|
+
// shared asset's delete, and the refusal names who to ask. --force is the
|
|
14
|
+
// other half of that: it proceeds anyway, and the backend notifies them.
|
|
15
|
+
// Deliberately NOT a second confirmation prompt (founder decision 4) - --yes
|
|
16
|
+
// already covers the destructive action, and a second gate teaches people to
|
|
17
|
+
// click through gates.
|
|
18
|
+
.option("--force", "Delete even though another member's private asset blocks it")
|
|
9
19
|
.action(async function (type, name) {
|
|
10
20
|
try {
|
|
11
21
|
const validTypes = ["metric", "dimension", "rule", "template", "synonym", "domain", "relationship", "topic"];
|
|
@@ -15,8 +25,9 @@ export function addKBDeleteCommands(kb) {
|
|
|
15
25
|
}));
|
|
16
26
|
process.exit(1);
|
|
17
27
|
}
|
|
18
|
-
|
|
19
|
-
|
|
28
|
+
const force = this.opts().force === true;
|
|
29
|
+
await apiClient.delete(`/api/v1/cli/kb/${type}/${encodeURIComponent(name)}${force ? "?force=true" : ""}`);
|
|
30
|
+
console.log(JSON.stringify({ status: "deleted", type, name: name.toUpperCase(), ...(force ? { forced: true } : {}) }));
|
|
20
31
|
}
|
|
21
32
|
catch (err) {
|
|
22
33
|
errorOutput(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-delete.js","sourceRoot":"","sources":["../../src/commands/kb-delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"kb-delete.js","sourceRoot":"","sources":["../../src/commands/kb-delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D,wCAAwC;AAExC,MAAM,UAAU,mBAAmB,CAAC,EAAW;IAC7C,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;SAC/B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;SAC/B,WAAW,CAAC,0CAA0C,CAAC;SACvD,cAAc,CAAC,OAAO,EAAE,kBAAkB,CAAC;QAC5C,4EAA4E;QAC5E,0EAA0E;QAC1E,yEAAyE;QACzE,6EAA6E;QAC7E,6EAA6E;QAC7E,uBAAuB;SACtB,MAAM,CAAC,SAAS,EAAE,6DAA6D,CAAC;SAChF,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,IAAY;QAC/D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAC7G,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,KAAK,EAAE,6BAA6B,IAAI,iBAAiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACjF,CAAC,CAAC,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;YACzC,MAAM,SAAS,CAAC,MAAM,CACpB,kBAAkB,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAClF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/commands/kb-read.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { apiClient } from "../api/client.js";
|
|
2
2
|
import { output, errorOutput, getOutputFormat, note } from "../output/format.js";
|
|
3
|
-
import { styledIntro, styledOutro, styledInfo, styledMessage, styledTable, styledNote, formatBold, } from "../output/styled.js";
|
|
4
|
-
import { ENTITY_COLUMNS, } from "./kb-shared.js";
|
|
3
|
+
import { styledIntro, styledOutro, styledInfo, styledMessage, styledTable, styledNote, styledWarn, formatBold, } from "../output/styled.js";
|
|
4
|
+
import { ENTITY_COLUMNS, MIGRATION_INCOMPLETE_WARNING, KB_ARG_TYPE, KB_ARG_NAME, } from "./kb-shared.js";
|
|
5
5
|
// Project #254 Phase 1: kb read verbs (list/get/search/explore/usage/verify/unverify).
|
|
6
6
|
export function addKBReadCommands(kb) {
|
|
7
|
-
kb.command("list
|
|
7
|
+
kb.command("list")
|
|
8
|
+
.argument("<type>", KB_ARG_TYPE)
|
|
8
9
|
.description("List KB entities (metric, dimension, table, rule, domain, synonym) - the inventory verb. " +
|
|
9
10
|
"Parameterized metrics are collapsed: each template shows a variant_count, child variants are hidden. " +
|
|
10
11
|
"Use --include-variants for the full flat set, kb explore metric <name> to enumerate one template's variants, " +
|
|
11
12
|
"kb get for the full definition. The response carries total/truncated, so fewer rows than total means raise --limit.")
|
|
12
|
-
.option("--limit <n>", "Max
|
|
13
|
+
.option("--limit <n>", "Max rows to return; the response carries total/truncated so a short list means raise this", "50")
|
|
13
14
|
.option("--verified", "Only verified entities")
|
|
14
15
|
.option("--unverified", "Only unverified entities")
|
|
15
16
|
.option("--include-variants", "metric: expand parameterized child variants instead of collapsing them under their template")
|
|
@@ -47,6 +48,8 @@ export function addKBReadCommands(kb) {
|
|
|
47
48
|
if (resp.truncated) {
|
|
48
49
|
styledNote(`Showing ${resp.count} of ${resp.total} - raise --limit to see the rest.`, "Truncated");
|
|
49
50
|
}
|
|
51
|
+
if (resp.migration_incomplete)
|
|
52
|
+
styledWarn(MIGRATION_INCOMPLETE_WARNING);
|
|
50
53
|
styledOutro();
|
|
51
54
|
}
|
|
52
55
|
else if (getOutputFormat(this) === "json") {
|
|
@@ -60,13 +63,17 @@ export function addKBReadCommands(kb) {
|
|
|
60
63
|
if (resp.truncated) {
|
|
61
64
|
note(`Showing ${resp.count} of ${resp.total} ${type}s - raise --limit to see the rest (a missing asset may be truncated, not absent).`);
|
|
62
65
|
}
|
|
66
|
+
if (resp.migration_incomplete)
|
|
67
|
+
note(MIGRATION_INCOMPLETE_WARNING);
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
catch (err) {
|
|
66
71
|
errorOutput(err);
|
|
67
72
|
}
|
|
68
73
|
});
|
|
69
|
-
kb.command("get
|
|
74
|
+
kb.command("get")
|
|
75
|
+
.argument("<type>", KB_ARG_TYPE)
|
|
76
|
+
.argument("<name>", KB_ARG_NAME)
|
|
70
77
|
.description("Get a KB entity by name")
|
|
71
78
|
.action(async function (type, name) {
|
|
72
79
|
try {
|
|
@@ -77,10 +84,11 @@ export function addKBReadCommands(kb) {
|
|
|
77
84
|
errorOutput(err);
|
|
78
85
|
}
|
|
79
86
|
});
|
|
80
|
-
kb.command("search
|
|
87
|
+
kb.command("search")
|
|
88
|
+
.argument("<query>", "Search text - matched against asset names, descriptions and SQL")
|
|
81
89
|
.description("Semantic + substring search across KB assets, ranked by relevance")
|
|
82
90
|
.option("--type <type>", "Filter by entity type")
|
|
83
|
-
.option("--limit <n>", "Max
|
|
91
|
+
.option("--limit <n>", "Max rows to return; the response carries total/truncated so a short list means raise this", "50")
|
|
84
92
|
.action(async function (query) {
|
|
85
93
|
try {
|
|
86
94
|
const opts = this.opts();
|
|
@@ -104,7 +112,9 @@ export function addKBReadCommands(kb) {
|
|
|
104
112
|
errorOutput(err);
|
|
105
113
|
}
|
|
106
114
|
});
|
|
107
|
-
kb.command("explore
|
|
115
|
+
kb.command("explore")
|
|
116
|
+
.argument("<type>", KB_ARG_TYPE)
|
|
117
|
+
.argument("<name>", KB_ARG_NAME)
|
|
108
118
|
.description("Traverse the KB graph - the relationships verb. metric: tables, dimensions, parameters + its concrete variants; " +
|
|
109
119
|
"table/domain/topic: every bound metric (collapsed, with variant_count), dimension and rule plus counts. " +
|
|
110
120
|
"Use this for what's bound to a table X or show me this template's variants.")
|
|
@@ -117,7 +127,9 @@ export function addKBReadCommands(kb) {
|
|
|
117
127
|
errorOutput(err);
|
|
118
128
|
}
|
|
119
129
|
});
|
|
120
|
-
kb.command("usage
|
|
130
|
+
kb.command("usage")
|
|
131
|
+
.argument("[type]", KB_ARG_TYPE)
|
|
132
|
+
.argument("[name]", KB_ARG_NAME)
|
|
121
133
|
.description("Reverse lookup: which custom dashboards present a metric, use a dimension, or enforce a rule. " +
|
|
122
134
|
"[type] [name] = primary facet; --metric/--dimension/--rule AND together. Governed macros only - raw SQL invisible.")
|
|
123
135
|
.option("--metric <name>", "Filter to entities presenting this metric")
|
|
@@ -181,7 +193,9 @@ export function addKBReadCommands(kb) {
|
|
|
181
193
|
errorOutput(err);
|
|
182
194
|
}
|
|
183
195
|
});
|
|
184
|
-
kb.command("verify
|
|
196
|
+
kb.command("verify")
|
|
197
|
+
.argument("<type>", KB_ARG_TYPE)
|
|
198
|
+
.argument("<name>", KB_ARG_NAME)
|
|
185
199
|
.description("Verify a KB asset by name; metric templates cascade to all variants")
|
|
186
200
|
.action(async function (type, name) {
|
|
187
201
|
try {
|
|
@@ -192,7 +206,9 @@ export function addKBReadCommands(kb) {
|
|
|
192
206
|
errorOutput(err);
|
|
193
207
|
}
|
|
194
208
|
});
|
|
195
|
-
kb.command("unverify
|
|
209
|
+
kb.command("unverify")
|
|
210
|
+
.argument("<type>", KB_ARG_TYPE)
|
|
211
|
+
.argument("<name>", KB_ARG_NAME)
|
|
196
212
|
.description("Unverify a KB asset (mark as draft); cascades to metric variants")
|
|
197
213
|
.action(async function (type, name) {
|
|
198
214
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-read.js","sourceRoot":"","sources":["../../src/commands/kb-read.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EACL,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EACnD,WAAW,EAAE,UAAU,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"kb-read.js","sourceRoot":"","sources":["../../src/commands/kb-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
export declare const KB_ARG_TYPE: string;
|
|
3
|
+
export declare const KB_ARG_NAME = "Entity name (UPPER_SNAKE_CASE), as returned by kb list or kb search";
|
|
4
|
+
export declare const KB_ARG_TERM = "Synonym term (UPPER_SNAKE_CASE), as returned by kb list synonym";
|
|
2
5
|
export interface KBListResponse {
|
|
3
6
|
entity_type: string;
|
|
4
7
|
count: number;
|
|
5
8
|
total?: number;
|
|
6
9
|
truncated?: boolean;
|
|
7
10
|
entities: Record<string, unknown>[];
|
|
11
|
+
migration_incomplete?: boolean;
|
|
8
12
|
}
|
|
9
|
-
export interface
|
|
13
|
+
export interface KBVisibilityNotice {
|
|
14
|
+
scope: "private";
|
|
15
|
+
message: string;
|
|
16
|
+
}
|
|
17
|
+
export interface KBWriteResponse {
|
|
10
18
|
entity: Record<string, unknown>;
|
|
19
|
+
visibility?: KBVisibilityNotice;
|
|
20
|
+
}
|
|
21
|
+
export interface KBCreateResponse extends KBWriteResponse {
|
|
11
22
|
validation?: {
|
|
12
23
|
status: string;
|
|
13
24
|
sample_query?: string;
|
|
@@ -22,4 +33,11 @@ export interface KBGetResponse {
|
|
|
22
33
|
entity: Record<string, unknown>;
|
|
23
34
|
}
|
|
24
35
|
export declare const ENTITY_COLUMNS: Record<string, string[]>;
|
|
36
|
+
export declare const MIGRATION_INCOMPLETE_WARNING: string;
|
|
37
|
+
export declare function renderVisibility(cmd: Command, resp: {
|
|
38
|
+
visibility?: KBVisibilityNotice;
|
|
39
|
+
}): void;
|
|
40
|
+
export declare function withVisibility(cmd: Command, out: Record<string, unknown>, resp: {
|
|
41
|
+
visibility?: KBVisibilityNotice;
|
|
42
|
+
}): Record<string, unknown>;
|
|
25
43
|
export declare function renderValidation(cmd: Command, resp: KBCreateResponse): void;
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { getOutputFormat } from "../output/format.js";
|
|
2
2
|
import { styledSuccess, styledInfo, styledMessage, styledWarn, styledNote, styledTable, } from "../output/styled.js";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
// Shared types + helpers for the kb command group.
|
|
5
|
+
// Project #254 Phase 1: extracted from kb.ts so each verb group (read/create/
|
|
6
|
+
// update/delete) lives in its own file under the 800L cap.
|
|
7
|
+
// Project #275: positional arguments carry descriptions because the same
|
|
8
|
+
// Commander metadata that renders `--help` also generates the platform agent's
|
|
9
|
+
// tool parameter schemas - an argument with no description reaches the model as
|
|
10
|
+
// a bare `{"type": "string"}` it has to guess at. Shared constants because the
|
|
11
|
+
// argument means the same thing on all ~20 kb verbs; one edit moves them all.
|
|
12
|
+
export const KB_ARG_TYPE = "KB entity type - metric, dimension, table, rule, domain, topic, synonym or relationship " +
|
|
13
|
+
"(each verb's description names the subset it accepts)";
|
|
14
|
+
export const KB_ARG_NAME = "Entity name (UPPER_SNAKE_CASE), as returned by kb list or kb search";
|
|
15
|
+
export const KB_ARG_TERM = "Synonym term (UPPER_SNAKE_CASE), as returned by kb list synonym";
|
|
4
16
|
export const ENTITY_COLUMNS = {
|
|
5
17
|
metric: ["id", "name", "description", "calculation", "params", "variant_count", "verified"],
|
|
6
18
|
dimension: ["id", "name", "description", "expression", "verified"],
|
|
@@ -12,6 +24,34 @@ export const ENTITY_COLUMNS = {
|
|
|
12
24
|
relationship: ["id", "name", "primary_table", "primary_column", "description"],
|
|
13
25
|
topic: ["id", "name", "description", "verified"],
|
|
14
26
|
};
|
|
27
|
+
// An empty list is normally trustworthy. This one is not: the organization holds
|
|
28
|
+
// assets that never finished migrating, and until that completes they are
|
|
29
|
+
// invisible to everyone, administrators included. Said loudly because the failure
|
|
30
|
+
// it replaces was silent - the same "0 of 0" a genuinely empty organization gets.
|
|
31
|
+
export const MIGRATION_INCOMPLETE_WARNING = "This organization has knowledge base assets that have not finished migrating. " +
|
|
32
|
+
"They are invisible to everyone, including administrators, so this empty result " +
|
|
33
|
+
"is NOT evidence the knowledge base is empty. Ask an administrator to complete " +
|
|
34
|
+
"the domain backfill before acting on it.";
|
|
35
|
+
// The write said nothing about who would ever read the asset. A metric defined
|
|
36
|
+
// on a table only its author can see comes back `verified: true`, which reads as
|
|
37
|
+
// "you gave your team a governed metric" - so say otherwise, on every write verb.
|
|
38
|
+
// The server owns the wording; repeating it here would let the two drift.
|
|
39
|
+
export function renderVisibility(cmd, resp) {
|
|
40
|
+
if (!resp.visibility)
|
|
41
|
+
return;
|
|
42
|
+
if (getOutputFormat(cmd) === "styled") {
|
|
43
|
+
styledWarn(resp.visibility.message);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
// Fold the notice into the machine-readable body - what a `--json` caller and
|
|
47
|
+
// the agent read. Skipped under `styled`, where `renderVisibility` has already
|
|
48
|
+
// printed it and folding would say the same thing twice.
|
|
49
|
+
export function withVisibility(cmd, out, resp) {
|
|
50
|
+
if (resp.visibility && getOutputFormat(cmd) !== "styled") {
|
|
51
|
+
out.visibility = resp.visibility;
|
|
52
|
+
}
|
|
53
|
+
return out;
|
|
54
|
+
}
|
|
15
55
|
export function renderValidation(cmd, resp) {
|
|
16
56
|
const fmt = getOutputFormat(cmd);
|
|
17
57
|
const v = resp.validation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-shared.js","sourceRoot":"","sources":["../../src/commands/kb-shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAChE,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"kb-shared.js","sourceRoot":"","sources":["../../src/commands/kb-shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,14 @@ import { readFile } from "node:fs/promises";
|
|
|
2
2
|
import { apiClient } from "../api/client.js";
|
|
3
3
|
import { output, errorOutput } from "../output/format.js";
|
|
4
4
|
import { parseConstraintFlags, parseApplyOnFlags } from "./kb-constraints.js";
|
|
5
|
+
import { renderVisibility, withVisibility, KB_ARG_NAME, KB_ARG_TERM, } from "./kb-shared.js";
|
|
5
6
|
// Project #254 Phase 1: kb update verbs (metric/dimension/rule/template/table/
|
|
6
7
|
// domain/synonym/relationship/topic). Null fields are left unchanged server-side.
|
|
7
8
|
export function addKBUpdateCommands(kb) {
|
|
8
9
|
const update = kb.command("update").description("Update KB entities");
|
|
9
10
|
update
|
|
10
|
-
.command("metric
|
|
11
|
+
.command("metric")
|
|
12
|
+
.argument("<name>", KB_ARG_NAME)
|
|
11
13
|
.description("Update a metric.")
|
|
12
14
|
.option("--sql <expr>", "New SQL calculation")
|
|
13
15
|
.option("--table <table>", "New primary table")
|
|
@@ -39,14 +41,16 @@ export function addKBUpdateCommands(kb) {
|
|
|
39
41
|
secondary_tables: secondaryTables ?? null,
|
|
40
42
|
parameters: parameters ?? null,
|
|
41
43
|
});
|
|
42
|
-
|
|
44
|
+
renderVisibility(this, resp);
|
|
45
|
+
output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
|
|
43
46
|
}
|
|
44
47
|
catch (err) {
|
|
45
48
|
errorOutput(err);
|
|
46
49
|
}
|
|
47
50
|
});
|
|
48
51
|
update
|
|
49
|
-
.command("dimension
|
|
52
|
+
.command("dimension")
|
|
53
|
+
.argument("<name>", KB_ARG_NAME)
|
|
50
54
|
.description("Update a dimension.")
|
|
51
55
|
.option("--expr <expr>", "New SQL expression")
|
|
52
56
|
.option("--table <table>", "New primary table")
|
|
@@ -65,14 +69,16 @@ export function addKBUpdateCommands(kb) {
|
|
|
65
69
|
topics: topics ?? null,
|
|
66
70
|
secondary_tables: secondaryTables ?? null,
|
|
67
71
|
});
|
|
68
|
-
|
|
72
|
+
renderVisibility(this, resp);
|
|
73
|
+
output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
|
|
69
74
|
}
|
|
70
75
|
catch (err) {
|
|
71
76
|
errorOutput(err);
|
|
72
77
|
}
|
|
73
78
|
});
|
|
74
79
|
update
|
|
75
|
-
.command("rule
|
|
80
|
+
.command("rule")
|
|
81
|
+
.argument("<name>", KB_ARG_NAME)
|
|
76
82
|
.description("Update a rule. Broadening a verified rule's targeting requires org admin.")
|
|
77
83
|
.option("--sql <expr>", "New rule content")
|
|
78
84
|
.option("--description <desc>", "New description")
|
|
@@ -94,14 +100,16 @@ export function addKBUpdateCommands(kb) {
|
|
|
94
100
|
enforcement_mode: opts.enforcementMode ?? null,
|
|
95
101
|
apply_on: applyOn ?? null,
|
|
96
102
|
});
|
|
97
|
-
|
|
103
|
+
renderVisibility(this, resp);
|
|
104
|
+
output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
|
|
98
105
|
}
|
|
99
106
|
catch (err) {
|
|
100
107
|
errorOutput(err);
|
|
101
108
|
}
|
|
102
109
|
});
|
|
103
110
|
update
|
|
104
|
-
.command("template
|
|
111
|
+
.command("template")
|
|
112
|
+
.argument("<name>", KB_ARG_NAME)
|
|
105
113
|
.description("Update a template")
|
|
106
114
|
.option("--render-code <code>", "New JS function body")
|
|
107
115
|
.option("--file <path>", "Read render code from a local file")
|
|
@@ -124,7 +132,8 @@ export function addKBUpdateCommands(kb) {
|
|
|
124
132
|
}
|
|
125
133
|
});
|
|
126
134
|
update
|
|
127
|
-
.command("table
|
|
135
|
+
.command("table")
|
|
136
|
+
.argument("<name>", KB_ARG_NAME)
|
|
128
137
|
.description("Update a table's description or domain")
|
|
129
138
|
.option("--description <desc>", "New description")
|
|
130
139
|
.option("--domain <domain_id>", "New domain ID")
|
|
@@ -142,7 +151,8 @@ export function addKBUpdateCommands(kb) {
|
|
|
142
151
|
}
|
|
143
152
|
});
|
|
144
153
|
update
|
|
145
|
-
.command("domain
|
|
154
|
+
.command("domain")
|
|
155
|
+
.argument("<name>", KB_ARG_NAME)
|
|
146
156
|
.description("Update a domain. --owner sets the governance owner (the person accountable for the domain and the fallback owner for its assets); pass an empty string to clear it.")
|
|
147
157
|
.option("--description <desc>", "New description")
|
|
148
158
|
.option("--color <hex>", "New hex color")
|
|
@@ -162,7 +172,8 @@ export function addKBUpdateCommands(kb) {
|
|
|
162
172
|
}
|
|
163
173
|
});
|
|
164
174
|
update
|
|
165
|
-
.command("synonym
|
|
175
|
+
.command("synonym")
|
|
176
|
+
.argument("<term>", KB_ARG_TERM)
|
|
166
177
|
.description("Update a synonym")
|
|
167
178
|
.option("--canonical <name>", "New canonical asset name")
|
|
168
179
|
.option("--type <type>", "New canonical type: metric, column, or table")
|
|
@@ -175,14 +186,16 @@ export function addKBUpdateCommands(kb) {
|
|
|
175
186
|
canonical_type: opts.type ?? null,
|
|
176
187
|
description: opts.description ?? null,
|
|
177
188
|
});
|
|
178
|
-
|
|
189
|
+
renderVisibility(this, resp);
|
|
190
|
+
output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
|
|
179
191
|
}
|
|
180
192
|
catch (err) {
|
|
181
193
|
errorOutput(err);
|
|
182
194
|
}
|
|
183
195
|
});
|
|
184
196
|
update
|
|
185
|
-
.command("relationship
|
|
197
|
+
.command("relationship")
|
|
198
|
+
.argument("<name>", KB_ARG_NAME)
|
|
186
199
|
.description("Update a relationship")
|
|
187
200
|
.option("--description <desc>", "New description")
|
|
188
201
|
.option("--primary-table <table>", "New primary table")
|
|
@@ -199,14 +212,16 @@ export function addKBUpdateCommands(kb) {
|
|
|
199
212
|
related_table: opts.relatedTable ?? null,
|
|
200
213
|
related_column: opts.relatedColumn ?? null,
|
|
201
214
|
});
|
|
202
|
-
|
|
215
|
+
renderVisibility(this, resp);
|
|
216
|
+
output(this, withVisibility(this, { ...resp.entity }, resp), { keyValue: true });
|
|
203
217
|
}
|
|
204
218
|
catch (err) {
|
|
205
219
|
errorOutput(err);
|
|
206
220
|
}
|
|
207
221
|
});
|
|
208
222
|
update
|
|
209
|
-
.command("topic
|
|
223
|
+
.command("topic")
|
|
224
|
+
.argument("<name>", KB_ARG_NAME)
|
|
210
225
|
.description("Update a topic")
|
|
211
226
|
.option("--description <desc>", "New description")
|
|
212
227
|
.action(async function (name) {
|