@graphit/cli 0.2.372 → 0.2.379

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 (58) 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/dashboard-delete.d.ts +43 -0
  7. package/dist/commands/dashboard-delete.js +66 -0
  8. package/dist/commands/dashboard-delete.js.map +1 -0
  9. package/dist/commands/dashboard.js +11 -19
  10. package/dist/commands/dashboard.js.map +1 -1
  11. package/dist/commands/ds/re-upload.d.ts +10 -0
  12. package/dist/commands/ds/re-upload.js +65 -0
  13. package/dist/commands/ds/re-upload.js.map +1 -0
  14. package/dist/commands/ds/render.js +21 -2
  15. package/dist/commands/ds/render.js.map +1 -1
  16. package/dist/commands/ds/types.d.ts +2 -0
  17. package/dist/commands/ds/types.js.map +1 -1
  18. package/dist/commands/ds/usage.d.ts +50 -0
  19. package/dist/commands/ds/usage.js +72 -0
  20. package/dist/commands/ds/usage.js.map +1 -0
  21. package/dist/commands/ds.js +31 -3
  22. package/dist/commands/ds.js.map +1 -1
  23. package/dist/commands/kb-batch.d.ts +29 -0
  24. package/dist/commands/kb-batch.js +93 -0
  25. package/dist/commands/kb-batch.js.map +1 -0
  26. package/dist/commands/kb.js +2 -0
  27. package/dist/commands/kb.js.map +1 -1
  28. package/dist/commands/report.d.ts +2 -0
  29. package/dist/commands/report.js +214 -0
  30. package/dist/commands/report.js.map +1 -0
  31. package/dist/index.js +3 -30
  32. package/dist/index.js.map +1 -1
  33. package/dist/output/format.d.ts +14 -0
  34. package/dist/output/format.js +33 -2
  35. package/dist/output/format.js.map +1 -1
  36. package/dist/program.d.ts +7 -0
  37. package/dist/program.js +43 -0
  38. package/dist/program.js.map +1 -0
  39. package/dist/skill-guard.js +5 -0
  40. package/dist/skill-guard.js.map +1 -1
  41. package/package.json +1 -1
  42. package/scripts/commander-walk.mjs +2 -2
  43. package/scripts/generate-tool-manifest.mjs +1 -1
  44. package/scripts/verb-policy-source.json +135 -3
  45. package/skills/graphit/SKILL.md +27 -8
  46. package/skills/graphit/VERSION.json +1 -1
  47. package/skills/graphit/references/build.md +4 -2
  48. package/skills/graphit/references/dashboard-create.md +1 -1
  49. package/skills/graphit/references/data-sources.md +2 -2
  50. package/skills/graphit/references/filters-advanced.md +9 -7
  51. package/skills/graphit/references/kb-actions.md +7 -0
  52. package/skills/graphit/references/onboarding.md +1 -1
  53. package/skills/graphit/references/query-contract.md +2 -2
  54. package/skills/graphit/references/scheduled-reports.md +22 -0
  55. package/skills/graphit/references/share.md +2 -2
  56. package/skills/graphit-build/SKILL.md +5 -3
  57. package/skills/graphit-explore/SKILL.md +1 -1
  58. package/skills/graphit-share/SKILL.md +3 -3
@@ -0,0 +1,214 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { apiClient } from "../api/client.js";
3
+ import { errorOutput, output } from "../output/format.js";
4
+ const BASE = "/api/v1/cli/reports";
5
+ function reportPath(id, suffix = "") {
6
+ return `${BASE}/${encodeURIComponent(id)}${suffix}`;
7
+ }
8
+ /**
9
+ * The flags create and update share, as Commander option calls. Update adds
10
+ * its clears; create alone carries the required dashboard/name/schedule.
11
+ */
12
+ function addDeliveryOptions(cmd) {
13
+ return cmd
14
+ .option("--day-of-week <day>", "Weekly day: mon..sun or 0-6 (0 = Monday)")
15
+ .option("--day-of-month <n>", "Monthly day: 1-28", (v) => Number(v))
16
+ .option("--timezone <iana>", "IANA timezone, e.g. Asia/Jerusalem (default UTC)")
17
+ .option("--email <emails...>", "Email recipients: org members or the org's allowed domains (see report destinations). On update, REPLACES the list")
18
+ .option("--slack <channels...>", "Slack channels by #name or id (see report destinations). On update, REPLACES the list")
19
+ .option("--subject <text>", "Email subject")
20
+ .option("--instructions <text>", "Agent commentary written into every run, as you (max 2000 chars)")
21
+ .option("--filter <key=value...>", "Dashboard filter; a,b = several values, start..end = a date range. Repeatable")
22
+ .option("--state-file <path>", "JSON file with the full filter map; --filter entries override its keys");
23
+ }
24
+ /** Commander opts -> the route's body, for the keys the caller actually passed. */
25
+ async function deliveryBody(opts) {
26
+ const pairs = [
27
+ ["frequency", "frequency"], ["dayOfWeek", "day_of_week"], ["dayOfMonth", "day_of_month"],
28
+ ["sendTime", "send_time"], ["timezone", "timezone"], ["email", "emails"],
29
+ ["slack", "slack"], ["subject", "subject"], ["instructions", "instructions"],
30
+ ["filter", "filters"],
31
+ ];
32
+ const body = {};
33
+ for (const [opt, key] of pairs) {
34
+ if (opts[opt] !== undefined)
35
+ body[key] = opts[opt];
36
+ }
37
+ if (typeof opts.stateFile === "string") {
38
+ body.state = JSON.parse(await readFile(opts.stateFile, "utf-8"));
39
+ }
40
+ return body;
41
+ }
42
+ export function registerReportCommands(program) {
43
+ const report = program
44
+ .command("report")
45
+ .description("Scheduled reports - a dashboard emailed or posted to Slack on a schedule, optionally with agent commentary");
46
+ report.command("list")
47
+ .description("List scheduled reports you can see")
48
+ .option("--dashboard <id>", "Only reports on this dashboard")
49
+ .action(async function () {
50
+ try {
51
+ const dashboard = this.opts().dashboard;
52
+ const query = dashboard ? `?dashboard=${encodeURIComponent(dashboard)}` : "";
53
+ const result = await apiClient.get(`${BASE}${query}`);
54
+ output(this, result, { columns: ["id", "name", "dashboard_id", "frequency", "send_time", "enabled", "can_manage"] });
55
+ }
56
+ catch (error) {
57
+ errorOutput(error);
58
+ }
59
+ });
60
+ report.command("destinations")
61
+ .description("Where reports can go: Slack channels the bot can post to, org members, and allowed email domains")
62
+ .action(async function () {
63
+ try {
64
+ output(this, await apiClient.get(`${BASE}/destinations`));
65
+ }
66
+ catch (error) {
67
+ errorOutput(error);
68
+ }
69
+ });
70
+ report.command("get")
71
+ .argument("<id>", "Report id, as returned by report list")
72
+ .description("Show one report: schedule, destinations, filters, status")
73
+ .action(async function (id) {
74
+ try {
75
+ output(this, await apiClient.get(reportPath(id)));
76
+ }
77
+ catch (error) {
78
+ errorOutput(error);
79
+ }
80
+ });
81
+ addDeliveryOptions(report.command("create")
82
+ .description("Schedule a dashboard as a report - needs at least one --email or --slack; you become its creator and it renders with your data access")
83
+ .requiredOption("--dashboard <id>", "Dashboard id to send")
84
+ .requiredOption("--name <name>", "Report name")
85
+ .requiredOption("--frequency <frequency>", "daily, weekly or monthly")
86
+ .requiredOption("--send-time <HH:MM>", "Send time, 24h, in --timezone"))
87
+ .option("--skip-if-empty", "Skip a run when the dashboard has no data")
88
+ .action(async function () {
89
+ const opts = this.opts();
90
+ try {
91
+ const body = {
92
+ dashboard_id: opts.dashboard,
93
+ name: opts.name,
94
+ ...(await deliveryBody(opts)),
95
+ };
96
+ if (opts.skipIfEmpty)
97
+ body.skip_if_empty = true;
98
+ output(this, await apiClient.post(BASE, body));
99
+ }
100
+ catch (error) {
101
+ errorOutput(error);
102
+ }
103
+ });
104
+ addDeliveryOptions(report.command("update")
105
+ .argument("<id>", "Report id")
106
+ .description("Change a report - only the flags you pass change; recipients, Slack channels, instructions and filters are the creator's alone to change")
107
+ .option("--name <name>", "Rename")
108
+ .option("--frequency <frequency>", "daily, weekly or monthly")
109
+ .option("--send-time <HH:MM>", "Send time, 24h, in --timezone"))
110
+ .option("--skip-if-empty", "Skip runs when the dashboard has no data")
111
+ .option("--send-if-empty", "Send runs even when the dashboard has no data")
112
+ .option("--clear-filters", "Render with the dashboard's own default filters")
113
+ .option("--clear-instructions", "Stop the agent commentary")
114
+ .action(async function (id) {
115
+ const opts = this.opts();
116
+ try {
117
+ const body = await deliveryBody(opts);
118
+ if (opts.name !== undefined)
119
+ body.name = opts.name;
120
+ if (opts.skipIfEmpty)
121
+ body.skip_if_empty = true;
122
+ if (opts.sendIfEmpty)
123
+ body.skip_if_empty = false;
124
+ if (opts.clearFilters)
125
+ body.clear_filters = true;
126
+ if (opts.clearInstructions)
127
+ body.clear_instructions = true;
128
+ if (Object.keys(body).length === 0) {
129
+ errorOutput(new Error("Nothing to update - pass at least one flag (see report update --help)."));
130
+ return;
131
+ }
132
+ output(this, await apiClient.patch(reportPath(id), body));
133
+ }
134
+ catch (error) {
135
+ errorOutput(error);
136
+ }
137
+ });
138
+ for (const [verb, description] of [
139
+ ["pause", "Pause a report - no scheduled runs until resumed"],
140
+ ["resume", "Resume a paused report"],
141
+ ["test", "Send a test run to the report's creator only"],
142
+ ]) {
143
+ report.command(verb)
144
+ .argument("<id>", "Report id")
145
+ .description(description)
146
+ .action(async function (id) {
147
+ try {
148
+ output(this, await apiClient.post(reportPath(id, `/${verb}`), {}));
149
+ }
150
+ catch (error) {
151
+ errorOutput(error);
152
+ }
153
+ });
154
+ }
155
+ report.command("send")
156
+ .argument("<id>", "Report id")
157
+ .description("Send a report now to all its recipients and channels (requires --yes)")
158
+ .option("--yes", "Confirm sending to every recipient")
159
+ .action(async function (id) {
160
+ if (!this.opts().yes) {
161
+ errorOutput(new Error("Sending goes to every recipient. Re-run with --yes to send now."));
162
+ return;
163
+ }
164
+ try {
165
+ output(this, await apiClient.post(reportPath(id, "/send"), {}));
166
+ }
167
+ catch (error) {
168
+ errorOutput(error);
169
+ }
170
+ });
171
+ report.command("delete")
172
+ .argument("<id>", "Report id")
173
+ .description("Delete a report and its schedule (requires --yes)")
174
+ .option("--yes", "Confirm deletion")
175
+ .action(async function (id) {
176
+ if (!this.opts().yes) {
177
+ errorOutput(new Error("Deletion requires confirmation. Re-run with --yes to delete the report."));
178
+ return;
179
+ }
180
+ try {
181
+ output(this, await apiClient.delete(reportPath(id)));
182
+ }
183
+ catch (error) {
184
+ errorOutput(error);
185
+ }
186
+ });
187
+ report.command("runs")
188
+ .argument("<id>", "Report id")
189
+ .description("Recent runs of a report: status, deliveries, errors, commentary outcome")
190
+ .option("--limit <n>", "How many runs (1-50, default 10)", (v) => Number(v))
191
+ .action(async function (id) {
192
+ try {
193
+ const limit = this.opts().limit;
194
+ const result = await apiClient.get(reportPath(id, `/runs${limit ? `?limit=${limit}` : ""}`));
195
+ output(this, result, { columns: ["id", "started_at", "status", "delivered_count", "recipient_count", "agent_outcome", "error"] });
196
+ }
197
+ catch (error) {
198
+ errorOutput(error);
199
+ }
200
+ });
201
+ report.command("run")
202
+ .argument("<id>", "Report id")
203
+ .argument("<run-id>", "Run id, as returned by report runs")
204
+ .description("The agent commentary exchange behind one run (the report's creator only)")
205
+ .action(async function (id, runId) {
206
+ try {
207
+ output(this, await apiClient.get(reportPath(id, `/runs/${encodeURIComponent(runId)}/conversation`)));
208
+ }
209
+ catch (error) {
210
+ errorOutput(error);
211
+ }
212
+ });
213
+ }
214
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,41 +3,14 @@
3
3
  // before any TLS-capable module loads, so the macOS keychain is never touched under
4
4
  // the Claude Code sandbox (see ca-guard.ts for the full rationale).
5
5
  import "./ca-guard.js";
6
- import { Command } from "commander";
7
- import { registerAuthCommands } from "./commands/auth.js";
8
- import { registerStatusCommand } from "./commands/status.js";
9
- import { registerKBCommands } from "./commands/kb.js";
10
- import { registerQueryCommands } from "./commands/query.js";
11
- import { registerDSCommands } from "./commands/ds.js";
12
- import { registerDashboardCommands } from "./commands/dashboard.js";
13
- import { registerConnectorCommands } from "./commands/connector.js";
14
- import { registerSetupCommand } from "./commands/setup.js";
15
- import { registerGovernanceCommands } from "./commands/governance.js";
16
- import { registerTeamCommands } from "./commands/team.js";
17
- import { registerPluginCommands } from "./commands/plugin.js";
18
- import { getCurrentVersion, printUpdateBanner, printMigrationNoticeIfGlobal, printPluginHealthPreflight, fireBackgroundCheck, } from "./update-check.js";
6
+ import { createProgram } from "./program.js";
7
+ import { printUpdateBanner, printMigrationNoticeIfGlobal, printPluginHealthPreflight, fireBackgroundCheck, } from "./update-check.js";
19
8
  import { enforceSkillGate, printSkillGuardWarning } from "./skill-guard.js";
20
- const program = new Command();
9
+ const program = createProgram();
21
10
  const args = process.argv.slice(2);
22
11
  const pluginArgIndex = args.indexOf("plugin");
23
12
  const statusArgIndex = args.indexOf("status");
24
13
  const isPluginStatusCommand = pluginArgIndex >= 0 && statusArgIndex === pluginArgIndex + 1;
25
- program
26
- .name("graphit")
27
- .description("Graphit CLI - Build custom dashboards from any AI coding assistant")
28
- .version(getCurrentVersion())
29
- .option("--output <format>", "Output format: json (default), table, or styled", "json");
30
- registerAuthCommands(program);
31
- registerStatusCommand(program);
32
- registerKBCommands(program);
33
- registerQueryCommands(program);
34
- registerDSCommands(program);
35
- registerDashboardCommands(program);
36
- registerConnectorCommands(program);
37
- registerGovernanceCommands(program);
38
- registerTeamCommands(program);
39
- registerPluginCommands(program);
40
- registerSetupCommand(program);
41
14
  if (!isPluginStatusCommand) {
42
15
  printMigrationNoticeIfGlobal();
43
16
  printUpdateBanner();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,iFAAiF;AACjF,oFAAoF;AACpF,oEAAoE;AACpE,OAAO,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,MAAM,qBAAqB,GAAG,cAAc,IAAI,CAAC,IAAI,cAAc,KAAK,cAAc,GAAG,CAAC,CAAC;AAE3F,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC3B,4BAA4B,EAAE,CAAC;IAC/B,iBAAiB,EAAE,CAAC;IACpB,0BAA0B,EAAE,CAAC;IAC7B,sBAAsB,EAAE,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,gFAAgF;AAChF,4EAA4E;AAC5E,2EAA2E;AAC3E,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE;IACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,GAAG,GAAmB,aAAa,EAAE,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAClF,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC;AAChB,mBAAmB,EAAE,CAAC"}
@@ -1,6 +1,20 @@
1
1
  import { Command } from "commander";
2
2
  export type OutputFormat = "json" | "table" | "styled";
3
3
  export declare function getOutputFormat(cmd: Command): OutputFormat;
4
+ /**
5
+ * Feature #1002: the root owns `--output <format>` and, with no positional
6
+ * options (enabling them would break `--output table` after every subcommand),
7
+ * Commander hands it EVERY `--output` on the line - including a leaf's own
8
+ * `--output <path>` (`dashboard export`), which then never saw its value and the
9
+ * file silently defaulted into `.graphit/`. Run as a preAction hook: a value
10
+ * that is not an output format goes to the leaf when the leaf declares its own
11
+ * `--output`, and the root reverts to json; otherwise it is named on stderr
12
+ * instead of silently becoming json (Issue #828). Not an error: stdout stays
13
+ * the json payload existing callers parse.
14
+ * Known limit: `--output table ... export --output a.png` keeps only the last
15
+ * value (Commander stores one), so that line prints json.
16
+ */
17
+ export declare function reconcileOutputOption(leaf: Command): void;
4
18
  export declare function output(cmd: Command, data: unknown, opts?: {
5
19
  columns?: string[];
6
20
  keyValue?: boolean;
@@ -3,15 +3,46 @@ import { formatTable, formatKeyValue } from "./table.js";
3
3
  import { writeStderr } from "../stderr.js";
4
4
  import { staleVersionHint } from "../update-check.js";
5
5
  import { formatSharingProblem } from "./sharing.js";
6
- export function getOutputFormat(cmd) {
6
+ const OUTPUT_FORMATS = ["json", "table", "styled"];
7
+ function rootOf(cmd) {
7
8
  let root = cmd;
8
9
  while (root.parent)
9
10
  root = root.parent;
10
- const format = root.opts().output;
11
+ return root;
12
+ }
13
+ export function getOutputFormat(cmd) {
14
+ const format = rootOf(cmd).opts().output;
11
15
  if (format === "styled")
12
16
  return "styled";
13
17
  return format === "table" ? "table" : "json";
14
18
  }
19
+ /**
20
+ * Feature #1002: the root owns `--output <format>` and, with no positional
21
+ * options (enabling them would break `--output table` after every subcommand),
22
+ * Commander hands it EVERY `--output` on the line - including a leaf's own
23
+ * `--output <path>` (`dashboard export`), which then never saw its value and the
24
+ * file silently defaulted into `.graphit/`. Run as a preAction hook: a value
25
+ * that is not an output format goes to the leaf when the leaf declares its own
26
+ * `--output`, and the root reverts to json; otherwise it is named on stderr
27
+ * instead of silently becoming json (Issue #828). Not an error: stdout stays
28
+ * the json payload existing callers parse.
29
+ * Known limit: `--output table ... export --output a.png` keeps only the last
30
+ * value (Commander stores one), so that line prints json.
31
+ */
32
+ export function reconcileOutputOption(leaf) {
33
+ const root = rootOf(leaf);
34
+ if (root === leaf || root.getOptionValueSource("output") !== "cli")
35
+ return;
36
+ const value = root.opts().output;
37
+ if (OUTPUT_FORMATS.includes(value))
38
+ return;
39
+ root.setOptionValueWithSource("output", "json", "default");
40
+ if (leaf.options.some((opt) => opt.attributeName() === "output")) {
41
+ leaf.setOptionValueWithSource("output", value, "cli");
42
+ return;
43
+ }
44
+ note(`Warning: --output "${value}" is not an output format (json, table, styled) and this command writes no file; printing json.`);
45
+ }
15
46
  export function output(cmd, data, opts) {
16
47
  const format = getOutputFormat(cmd);
17
48
  if (format === "json") {
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/output/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/output/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Command } from "commander";
2
+ /**
3
+ * The command tree with its root options, free of process side effects (no
4
+ * banners, no skill gate, no parse), so a test can parse real argv against the
5
+ * exact root the shipped binary uses. `index.ts` adds the process-level hooks.
6
+ */
7
+ export declare function createProgram(): Command;
@@ -0,0 +1,43 @@
1
+ import { Command } from "commander";
2
+ import { registerAuthCommands } from "./commands/auth.js";
3
+ import { registerStatusCommand } from "./commands/status.js";
4
+ import { registerKBCommands } from "./commands/kb.js";
5
+ import { registerQueryCommands } from "./commands/query.js";
6
+ import { registerDSCommands } from "./commands/ds.js";
7
+ import { registerDashboardCommands } from "./commands/dashboard.js";
8
+ import { registerReportCommands } from "./commands/report.js";
9
+ import { registerConnectorCommands } from "./commands/connector.js";
10
+ import { registerSetupCommand } from "./commands/setup.js";
11
+ import { registerGovernanceCommands } from "./commands/governance.js";
12
+ import { registerTeamCommands } from "./commands/team.js";
13
+ import { registerPluginCommands } from "./commands/plugin.js";
14
+ import { getCurrentVersion } from "./update-check.js";
15
+ import { reconcileOutputOption } from "./output/format.js";
16
+ /**
17
+ * The command tree with its root options, free of process side effects (no
18
+ * banners, no skill gate, no parse), so a test can parse real argv against the
19
+ * exact root the shipped binary uses. `index.ts` adds the process-level hooks.
20
+ */
21
+ export function createProgram() {
22
+ const program = new Command();
23
+ program
24
+ .name("graphit")
25
+ .description("Graphit CLI - Build custom dashboards from any AI coding assistant")
26
+ .version(getCurrentVersion())
27
+ .option("--output <format>", "Output format: json (default), table, or styled", "json");
28
+ registerAuthCommands(program);
29
+ registerStatusCommand(program);
30
+ registerKBCommands(program);
31
+ registerQueryCommands(program);
32
+ registerDSCommands(program);
33
+ registerDashboardCommands(program);
34
+ registerReportCommands(program);
35
+ registerConnectorCommands(program);
36
+ registerGovernanceCommands(program);
37
+ registerTeamCommands(program);
38
+ registerPluginCommands(program);
39
+ registerSetupCommand(program);
40
+ program.hook("preAction", (_thisCommand, actionCommand) => reconcileOutputOption(actionCommand));
41
+ return program;
42
+ }
43
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,oEAAoE,CAAC;SACjF,OAAO,CAAC,iBAAiB,EAAE,CAAC;SAC5B,MAAM,CAAC,mBAAmB,EAAE,iDAAiD,EAAE,MAAM,CAAC,CAAC;IAE1F,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACpC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC;IAEjG,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -220,6 +220,8 @@ const MUTATION_COMMAND_PREFIXES = [
220
220
  ["kb", "unverify"],
221
221
  // Feature #982: the column AI-visibility override is a KB write.
222
222
  ["kb", "column-visibility"],
223
+ // Feature #1012: a batch of KB creates/updates is a KB write.
224
+ ["kb", "batch"],
223
225
  // Feature #903: chart templates are their own verb group, so `kb create` does
224
226
  // not cover them; `kb template list|get` stay reads.
225
227
  ["kb", "template", "create"],
@@ -233,6 +235,9 @@ const MUTATION_COMMAND_PREFIXES = [
233
235
  // Feature #961: this list is hand-maintained and nothing derives it from the
234
236
  // verb policy, so a new mutating verb left out here fails OPEN.
235
237
  ["ds", "edit-sql"],
238
+ // Feature #872: re-upload replaces a live source's data; delete removes one.
239
+ ["ds", "re-upload"],
240
+ ["ds", "delete"],
236
241
  ["connector", "add"],
237
242
  ["dashboard", "create"],
238
243
  ["dashboard", "update-html"],
@@ -1 +1 @@
1
- {"version":3,"file":"skill-guard.js","sourceRoot":"","sources":["../src/skill-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,qFAAqF;AACrF,mFAAmF;AACnF,kFAAkF;AAClF,qFAAqF;AACrF,sFAAsF;AACtF,oFAAoF;AACpF,iCAAiC;AACjC,EAAE;AACF,sFAAsF;AACtF,sFAAsF;AACtF,uFAAuF;AACvF,qFAAqF;AACrF,sFAAsF;AACtF,uFAAuF;AACvF,0CAA0C;AAC1C,EAAE;AACF,qFAAqF;AACrF,kFAAkF;AAClF,uFAAuF;AACvF,kFAAkF;AAClF,oFAAoF;AACpF,qFAAqF;AACrF,qEAAqE;AACrE,EAAE;AACF,qFAAqF;AACrF,mFAAmF;AACnF,mFAAmF;AAEnF,SAAS,aAAa,CAAC,GAAsB;IAC3C,OAAO,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAChE,CAAC;AAED,gFAAgF;AAChF,8CAA8C;AAC9C,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAEhD,+EAA+E;AAC/E,8EAA8E;AAC9E,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,kFAAkF;AAClF,SAAS,aAAa,CAAC,GAAsB;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,QAAQ,GACZ,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACtE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC;AASD;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB,CAAC,GAAsB;IAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,CAAC;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAsB;IACvC,OAAO,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAsB;IAC/C,8EAA8E;IAC9E,oFAAoF;IACpF,sEAAsE;IACtE,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAsB;IACnD,MAAM,WAAW,GACf,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACnE,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAC/D,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAAyB,OAAO,CAAC,GAAG;IAEpC,iFAAiF;IACjF,kFAAkF;IAClF,+BAA+B;IAC/B,IAAI,CAAC,GAAG,CAAC,sBAAsB;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,iBAAiB,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,iFAAiF;IACjF,qFAAqF;IACrF,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,kDAAkD;IAClD,mFAAmF;IACnF,kFAAkF;IAClF,gFAAgF;IAChF,qFAAqF;IACrF,6EAA6E;IAC7E,yEAAyE;CAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAqDb,SAAS,qBAAqB,CAAC,GAAsB;IACnD,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,CAAC;IACvC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,4EAA4E;IAC5E,6EAA6E;IAC7E,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,MAAyB,OAAO,CAAC,GAAG;IAChE,MAAM,GAAG,GAAG,GAAG,CAAC,sBAAsB,CAAC;IACvC,+EAA+E;IAC/E,iFAAiF;IACjF,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,CAAC,mDAAmD;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,gFAAgF;IAChF,mFAAmF;IACnF,gFAAgF;IAChF,oFAAoF;CACrF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,gFAAgF;AAChF,8EAA8E;AAC9E,kFAAkF;AAClF,iFAAiF;AACjF,6EAA6E;AAC7E,kFAAkF;AAClF,iFAAiF;AACjF,kFAAkF;AAClF,8DAA8D;AAC9D,gFAAgF;AAChF,iEAAiE;AACjE,SAAS,uBAAuB,CAAC,GAAsB;IACrD,MAAM,UAAU,GAAG,GAAG,CAAC,0BAA0B;QAC/C,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACjE,CAAC,CAAC;YACE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;SAChE,CAAC;IACN,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,IAAI,CAAC;YACH,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,MAAyB,OAAO,CAAC,GAAG;IAEpC,+EAA+E;IAC/E,6DAA6D;IAC7D,IAAI,CAAC,GAAG,CAAC,sBAAsB;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,qBAAqB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IACD,+EAA+E;IAC/E,yEAAyE;IACzE,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;AAC7D,CAAC;AAED,mFAAmF;AACnF,6EAA6E;AAC7E,mFAAmF;AACnF,mEAAmE;AACnE,MAAM,yBAAyB,GAAwB;IACrD,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,iEAAiE;IACjE,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAC3B,8EAA8E;IAC9E,qDAAqD;IACrD,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC5B,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC5B,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;IAC5B,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChB,CAAC,IAAI,EAAE,gBAAgB,CAAC;IACxB,6EAA6E;IAC7E,gEAAgE;IAChE,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,WAAW,EAAE,KAAK,CAAC;IACpB,CAAC,WAAW,EAAE,QAAQ,CAAC;IACvB,CAAC,WAAW,EAAE,aAAa,CAAC;IAC5B,CAAC,WAAW,EAAE,eAAe,CAAC;IAC9B,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,WAAW,EAAE,SAAS,CAAC;IACxB,CAAC,WAAW,EAAE,SAAS,CAAC;IACxB,CAAC,WAAW,EAAE,QAAQ,CAAC;IACvB,8EAA8E;IAC9E,kFAAkF;IAClF,iFAAiF;IACjF,uCAAuC;IACvC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACjC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACjC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACjC,CAAC,WAAW,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,yBAAyB,CAAC,IAAI,CACnC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM;QAChC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,gFAAgF;AAChF,gFAAgF;AAChF,wEAAwE;AACxE,mFAAmF;AACnF,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,8BAA8B,GAAG;IACrC,aAAa;IACb,eAAe;IACf,iBAAiB;CACT,CAAC;AAEX,MAAM,UAAU,yBAAyB,CACvC,OAA4C;IAE5C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,yDAAyD;IACzD,iFAAiF;IACjF,kFAAkF;IAClF,8EAA8E;IAC9E,aAAa;CACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,MAAM,sBAAsB,GAC1B,kFAAkF;IAClF,kEAAkE,CAAC;AAErE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,+EAA+E;IAC/E,wEAAwE;IACxE,0EAA0E;IAC1E,4EAA4E;IAC5E,kFAAkF;IAClF,sBAAsB;CACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,+EAA+E;IAC/E,iFAAiF;IACjF,+EAA+E;IAC/E,iFAAiF;IACjF,2EAA2E;IAC3E,6EAA6E;IAC7E,6BAA6B;IAC7B,6EAA6E;IAC7E,2EAA2E;IAC3E,sBAAsB;CACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,YAAY;QAAE,WAAW,CAAC,wBAAwB,CAAC,CAAC;SAC7D,IAAI,KAAK,KAAK,aAAa;QAAE,WAAW,CAAC,yBAAyB,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,UAA+C,SAAS,EACxD,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACxD,IAAI,iBAAiB,CAAC,WAAW,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACpE,IAAI,yBAAyB,CAAC,OAAO,CAAC;QAAE,OAAO,2BAA2B,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,EACnB,UAA+C,SAAS,EACxD,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,aAAa,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"skill-guard.js","sourceRoot":"","sources":["../src/skill-guard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphit/cli",
3
- "version": "0.2.372",
3
+ "version": "0.2.379",
4
4
  "description": "Graphit CLI - Build custom dashboards from any AI coding assistant",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,9 +21,9 @@ export const cliRoot =
21
21
  process.env.GRAPHIT_CLI_ROOT ??
22
22
  join(fileURLToPath(new URL(".", import.meta.url)), "..");
23
23
 
24
- // Mirrors index.ts registration order; groups not listed are appended alphabetically.
24
+ // Mirrors program.ts registration order; groups not listed are appended alphabetically.
25
25
  export const GROUP_ORDER = [
26
- "auth", "status", "kb", "query", "metadata", "ds", "dashboard",
26
+ "auth", "status", "kb", "query", "metadata", "ds", "dashboard", "report",
27
27
  "connector", "governance", "team", "plugin", "setup",
28
28
  ];
29
29
 
@@ -47,7 +47,7 @@ const MAX_ACTIONS_PER_NOUN = 25;
47
47
  const MAX_TOOL_DOC_CHARS = 2000;
48
48
 
49
49
  const MUTATION_CLASSES = new Set([
50
- "none", "kb", "canvas", "dashboard", "data_source", "governance", "kb_config",
50
+ "none", "kb", "canvas", "dashboard", "data_source", "governance", "kb_config", "report",
51
51
  ]);
52
52
  const SURFACES = new Set(["both", "cli_only", "app_only"]);
53
53