@purix/cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/LICENSE +202 -0
  2. package/dist/cli/commands/auth.d.ts +3 -0
  3. package/dist/cli/commands/auth.d.ts.map +1 -0
  4. package/dist/cli/commands/auth.js +130 -0
  5. package/dist/cli/commands/auth.js.map +1 -0
  6. package/dist/cli/commands/backup.d.ts +3 -0
  7. package/dist/cli/commands/backup.d.ts.map +1 -0
  8. package/dist/cli/commands/backup.js +54 -0
  9. package/dist/cli/commands/backup.js.map +1 -0
  10. package/dist/cli/commands/config.d.ts +3 -0
  11. package/dist/cli/commands/config.d.ts.map +1 -0
  12. package/dist/cli/commands/config.js +35 -0
  13. package/dist/cli/commands/config.js.map +1 -0
  14. package/dist/cli/commands/connect.d.ts +16 -0
  15. package/dist/cli/commands/connect.d.ts.map +1 -0
  16. package/dist/cli/commands/connect.js +45 -0
  17. package/dist/cli/commands/connect.js.map +1 -0
  18. package/dist/cli/commands/dev.d.ts +3 -0
  19. package/dist/cli/commands/dev.d.ts.map +1 -0
  20. package/dist/cli/commands/dev.js +58 -0
  21. package/dist/cli/commands/dev.js.map +1 -0
  22. package/dist/cli/commands/index.d.ts +3 -0
  23. package/dist/cli/commands/index.d.ts.map +1 -0
  24. package/dist/cli/commands/index.js +35 -0
  25. package/dist/cli/commands/index.js.map +1 -0
  26. package/dist/cli/commands/lang.d.ts +3 -0
  27. package/dist/cli/commands/lang.d.ts.map +1 -0
  28. package/dist/cli/commands/lang.js +187 -0
  29. package/dist/cli/commands/lang.js.map +1 -0
  30. package/dist/cli/commands/lifecycle.d.ts +3 -0
  31. package/dist/cli/commands/lifecycle.d.ts.map +1 -0
  32. package/dist/cli/commands/lifecycle.js +782 -0
  33. package/dist/cli/commands/lifecycle.js.map +1 -0
  34. package/dist/cli/commands/mcp.d.ts +3 -0
  35. package/dist/cli/commands/mcp.d.ts.map +1 -0
  36. package/dist/cli/commands/mcp.js +75 -0
  37. package/dist/cli/commands/mcp.js.map +1 -0
  38. package/dist/cli/commands/mcp_serve.d.ts +3 -0
  39. package/dist/cli/commands/mcp_serve.d.ts.map +1 -0
  40. package/dist/cli/commands/mcp_serve.js +16 -0
  41. package/dist/cli/commands/mcp_serve.js.map +1 -0
  42. package/dist/cli/commands/memory.d.ts +3 -0
  43. package/dist/cli/commands/memory.d.ts.map +1 -0
  44. package/dist/cli/commands/memory.js +12 -0
  45. package/dist/cli/commands/memory.js.map +1 -0
  46. package/dist/cli/commands/migrations.d.ts +3 -0
  47. package/dist/cli/commands/migrations.d.ts.map +1 -0
  48. package/dist/cli/commands/migrations.js +98 -0
  49. package/dist/cli/commands/migrations.js.map +1 -0
  50. package/dist/cli/commands/observability.d.ts +3 -0
  51. package/dist/cli/commands/observability.d.ts.map +1 -0
  52. package/dist/cli/commands/observability.js +141 -0
  53. package/dist/cli/commands/observability.js.map +1 -0
  54. package/dist/cli/commands/provider.d.ts +3 -0
  55. package/dist/cli/commands/provider.d.ts.map +1 -0
  56. package/dist/cli/commands/provider.js +82 -0
  57. package/dist/cli/commands/provider.js.map +1 -0
  58. package/dist/cli/commands/security.d.ts +3 -0
  59. package/dist/cli/commands/security.d.ts.map +1 -0
  60. package/dist/cli/commands/security.js +27 -0
  61. package/dist/cli/commands/security.js.map +1 -0
  62. package/dist/cli/commands/tier.d.ts +3 -0
  63. package/dist/cli/commands/tier.d.ts.map +1 -0
  64. package/dist/cli/commands/tier.js +27 -0
  65. package/dist/cli/commands/tier.js.map +1 -0
  66. package/dist/cli/commands/tools.d.ts +3 -0
  67. package/dist/cli/commands/tools.d.ts.map +1 -0
  68. package/dist/cli/commands/tools.js +18 -0
  69. package/dist/cli/commands/tools.js.map +1 -0
  70. package/dist/cli/output.d.ts +5 -0
  71. package/dist/cli/output.d.ts.map +1 -0
  72. package/dist/cli/output.js +22 -0
  73. package/dist/cli/output.js.map +1 -0
  74. package/dist/cli/savings_output.d.ts +9 -0
  75. package/dist/cli/savings_output.d.ts.map +1 -0
  76. package/dist/cli/savings_output.js +62 -0
  77. package/dist/cli/savings_output.js.map +1 -0
  78. package/dist/cli.d.ts +12 -0
  79. package/dist/cli.d.ts.map +1 -0
  80. package/dist/cli.js +155 -0
  81. package/dist/cli.js.map +1 -0
  82. package/dist/telemetry/log.d.ts +4 -0
  83. package/dist/telemetry/log.d.ts.map +1 -0
  84. package/dist/telemetry/log.js +92 -0
  85. package/dist/telemetry/log.js.map +1 -0
  86. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../../src/cli/commands/lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerMcpCommands(program: Command): void;
3
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAkDnD"}
@@ -0,0 +1,75 @@
1
+ import { confirmGated } from "@purix/core/cli-io/gated-confirm";
2
+ import { addServer, removeServer, listServers } from "@purix/core/mcp/mcp_registry";
3
+ import { listServerTools, callServerTool } from "@purix/core/mcp/mcp_gateway";
4
+ export function registerMcpCommands(program) {
5
+ // ---------------------------------------------------------------------------
6
+ // MCP Gateway
7
+ // ---------------------------------------------------------------------------
8
+ program.command("mcp-add <n> <url>").description("Register an MCP server").action((name, url) => {
9
+ addServer(name, url);
10
+ console.log(`✅ Registered MCP server "${name}" -> ${url}`);
11
+ });
12
+ program.command("mcp-remove <n>").description("Remove a registered MCP server").action((name) => {
13
+ console.log(removeServer(name) ? `✅ Removed "${name}".` : `No server registered as "${name}".`);
14
+ });
15
+ program.command("mcp-list").description("List registered MCP servers").action(() => {
16
+ const servers = listServers();
17
+ if (servers.length === 0) {
18
+ console.log(`No MCP servers registered. Run "purix mcp-add <n> <url>".`);
19
+ return;
20
+ }
21
+ for (const s of servers)
22
+ console.log(`${s.name} ${s.url} (added ${s.added_at})`);
23
+ });
24
+ program.command("mcp-tools <n>").description("List tools on a registered MCP server").action(async (name) => {
25
+ try {
26
+ const tools = await listServerTools(name);
27
+ if (tools.length === 0) {
28
+ console.log(`"${name}" exposes no tools.`);
29
+ return;
30
+ }
31
+ for (const t of tools)
32
+ console.log(` ${t.name}${t.description ? ` — ${t.description}` : ""}`);
33
+ }
34
+ catch (err) {
35
+ console.error(`🛑 ${err instanceof Error ? err.message : err}`);
36
+ process.exitCode = 1;
37
+ }
38
+ });
39
+ program
40
+ .command("mcp-call <n> <toolName> [jsonArgs]")
41
+ .description("Call a tool on a registered MCP server ( always confirms)")
42
+ .action(async (name, toolName, jsonArgs) => {
43
+ try {
44
+ let args = {};
45
+ if (jsonArgs) {
46
+ try {
47
+ args = JSON.parse(jsonArgs);
48
+ }
49
+ catch {
50
+ console.error(`🛑 args must be valid JSON.`);
51
+ process.exitCode = 1;
52
+ return;
53
+ }
54
+ }
55
+ console.log(`About to call "${toolName}" on "${name}" with:`, args);
56
+ const proceed = await confirmGated(`Run this external tool call now?`, "mcp_call", null);
57
+ if (!proceed) {
58
+ console.log("Cancelled.");
59
+ return;
60
+ }
61
+ const result = await callServerTool(name, toolName, args);
62
+ if (result.ok)
63
+ console.log(`✅ Result:`, JSON.stringify(result.content, null, 2));
64
+ else {
65
+ console.error(`🛑 Call failed: ${result.reason}`);
66
+ process.exitCode = 1;
67
+ }
68
+ }
69
+ catch (err) {
70
+ console.error(`\n🛑 MCP call failed: ${err instanceof Error ? err.message : err}`);
71
+ process.exitCode = 1;
72
+ }
73
+ });
74
+ }
75
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerMcpServeCommand(program: Command): void;
3
+ //# sourceMappingURL=mcp_serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_serve.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp_serve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,QAYvD"}
@@ -0,0 +1,16 @@
1
+ import { runMcpServer } from "@purix/mcp-server";
2
+ export function registerMcpServeCommand(program) {
3
+ program
4
+ .command("mcp-serve")
5
+ .description("Start the local Purix MCP server over stdio transport")
6
+ .action(async () => {
7
+ try {
8
+ await runMcpServer();
9
+ }
10
+ catch (err) {
11
+ console.error(`🛑 MCP server error: ${err instanceof Error ? err.message : err}`);
12
+ process.exitCode = 1;
13
+ }
14
+ });
15
+ }
16
+ //# sourceMappingURL=mcp_serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp_serve.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp_serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,YAAY,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerMemoryCommands(program: Command): void;
3
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QAStD"}
@@ -0,0 +1,12 @@
1
+ import { recordMemory, GLOBAL_SCOPE } from "@purix/core/manifest/memory";
2
+ export function registerMemoryCommands(program) {
3
+ program
4
+ .command("remember <note>")
5
+ .description("Record a convention or decision into Repository Memory")
6
+ .option("-c, --component <componentId>", "scope this note to one component instead of the whole repo")
7
+ .action((note, opts) => {
8
+ recordMemory({ component_id: opts.component ?? GLOBAL_SCOPE, kind: "decision", summary: note });
9
+ console.log(opts.component ? `✅ Recorded under "${opts.component}".` : `✅ Recorded as a repo-wide convention.`);
10
+ });
11
+ }
12
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEzE,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,+BAA+B,EAAE,4DAA4D,CAAC;SACrG,MAAM,CAAC,CAAC,IAAY,EAAE,IAA4B,EAAE,EAAE;QACrD,YAAY,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,IAAI,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerMigrationsCommands(program: Command): void;
3
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,QAoF1D"}
@@ -0,0 +1,98 @@
1
+ import { confirmGated } from "@purix/core/cli-io/gated-confirm";
2
+ import { readManifest } from "@purix/core/manifest/store";
3
+ import { checkDrift, acceptDrift } from "@purix/core/state/drift";
4
+ import { activateMigration, rollbackMigration } from "@purix/core/state/migration";
5
+ import { listMigrations } from "@purix/core/manifest/migrations";
6
+ import { recordEvent } from "@purix/core/manifest/events";
7
+ export function registerMigrationsCommands(program) {
8
+ // ---------------------------------------------------------------------------
9
+ // accept-drift
10
+ // ---------------------------------------------------------------------------
11
+ program
12
+ .command("accept-drift <componentId>")
13
+ .description("Accept current on-disk state as the new baseline")
14
+ .option("-a, --agent <n>", "the agent believed responsible for the out-of-band edit, if known")
15
+ .action(async (componentId, opts) => {
16
+ try {
17
+ const entry = readManifest(componentId);
18
+ if (!entry) {
19
+ console.error(`No manifest entry for "${componentId}".`);
20
+ process.exitCode = 1;
21
+ return;
22
+ }
23
+ const drift = await checkDrift(entry, process.cwd());
24
+ if (!drift.drifted) {
25
+ console.log(`"${componentId}" hasn't drifted — nothing to accept.`);
26
+ return;
27
+ }
28
+ const proceed = await confirmGated(`Accept current on-disk state of "${componentId}" as the new baseline?`, "accept_drift", componentId);
29
+ if (!proceed)
30
+ return;
31
+ const result = await acceptDrift(entry, drift.liveFiles, drift.liveHash, process.cwd(), opts.agent ?? null);
32
+ console.log(result.ok ? `✅ Baseline accepted.` : `🛑 ${result.reason}`);
33
+ if (result.ok) {
34
+ recordEvent("reconciliation", { component_id: componentId, detail: { source: "accept_drift" } });
35
+ }
36
+ else {
37
+ process.exitCode = 1;
38
+ }
39
+ }
40
+ catch (err) {
41
+ console.error(`\n🛑 Accept-drift failed: ${err instanceof Error ? err.message : err}`);
42
+ process.exitCode = 1;
43
+ }
44
+ });
45
+ // ---------------------------------------------------------------------------
46
+ // migration-activate / migration-rollback / migrations
47
+ // ---------------------------------------------------------------------------
48
+ program
49
+ .command("migration-activate <id>")
50
+ .description("Activate a staged migration (§6.5)")
51
+ .action(async (id) => {
52
+ try {
53
+ const proceed = await confirmGated(`Activate migration ${id} and write it to real files?`, "migration_activate", null);
54
+ if (!proceed)
55
+ return;
56
+ const result = await activateMigration(id, process.cwd());
57
+ console.log(result.ok ? `✅ Activated.` : `🛑 ${result.reason}`);
58
+ if (!result.ok)
59
+ process.exitCode = 1;
60
+ }
61
+ catch (err) {
62
+ console.error(`\n🛑 Failed to activate migration: ${err instanceof Error ? err.message : err}`);
63
+ process.exitCode = 1;
64
+ }
65
+ });
66
+ program
67
+ .command("migration-rollback <id>")
68
+ .description("Roll back a migration to its before-snapshot")
69
+ .action(async (id) => {
70
+ try {
71
+ const proceed = await confirmGated(`Roll back migration ${id}?`, "migration_rollback", null);
72
+ if (!proceed)
73
+ return;
74
+ const result = await rollbackMigration(id, process.cwd());
75
+ console.log(result.ok ? `✅ Rolled back.` : `🛑 ${result.reason}`);
76
+ if (!result.ok)
77
+ process.exitCode = 1;
78
+ }
79
+ catch (err) {
80
+ console.error(`\n🛑 Failed to rollback migration: ${err instanceof Error ? err.message : err}`);
81
+ process.exitCode = 1;
82
+ }
83
+ });
84
+ program
85
+ .command("migrations [componentId]")
86
+ .description("List migration records")
87
+ .action((componentId) => {
88
+ const records = listMigrations(componentId);
89
+ if (records.length === 0) {
90
+ console.log("No migration records.");
91
+ return;
92
+ }
93
+ for (const r of records) {
94
+ console.log(`${r.id} [${r.status}] ${r.component_id} v${r.version_from}->v${r.version_to} ${r.operation} ${r.created_at}`);
95
+ }
96
+ });
97
+ }
98
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/cli/commands/migrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerObservabilityCommands(program: Command): void;
3
+ //# sourceMappingURL=observability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/observability.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,QA+H7D"}
@@ -0,0 +1,141 @@
1
+ import { listManifest } from "@purix/core/manifest/store";
2
+ import { buildAuditTrail, formatAuditTrailJson, formatAuditTrailMarkdown } from "@purix/core/manifest/audit_export";
3
+ import { checkIdioms } from "@purix/core/verify/idiom";
4
+ import { getLanguageProvider } from "@purix/core/language/registry";
5
+ import { checkVersionPinning, runVulnScan, formatVulnScan } from "@purix/core/security/deps_audit";
6
+ import { verifyAuditChain } from "@purix/core/security/audit_tamper_evidence";
7
+ import { listLibrary } from "@purix/core/manifest/library";
8
+ import { buildObservabilityReport, formatObservabilityReport } from "@purix/core/manifest/observability";
9
+ import { writeFile } from "node:fs/promises";
10
+ import { join } from "node:path";
11
+ import { getRecentLogs, redactLogContent } from "../../telemetry/log.js";
12
+ export function registerObservabilityCommands(program) {
13
+ // ---------------------------------------------------------------------------
14
+ // status / library / stats / audit / audit-trail
15
+ // ---------------------------------------------------------------------------
16
+ program
17
+ .command("status")
18
+ .description("List all manifest components")
19
+ .action(() => {
20
+ const all = listManifest();
21
+ if (all.length === 0) {
22
+ console.log("No components registered yet. Run \"purix create <n>\".");
23
+ return;
24
+ }
25
+ for (const e of all) {
26
+ const fileCount = e.files?.length ?? 0;
27
+ console.log(`${e.component_id} v${e.current_version} [${e.verification_status}] (${fileCount} file(s))`);
28
+ }
29
+ });
30
+ program
31
+ .command("library")
32
+ .description("Show the self-extending local operation library")
33
+ .action(() => {
34
+ const entries = listLibrary();
35
+ if (entries.length === 0) {
36
+ console.log("Library is empty — nothing has been promoted from escalation yet.");
37
+ return;
38
+ }
39
+ for (const e of entries) {
40
+ console.log(`${e.component_id} ${e.operation} used ${e.usage_count}x — ${e.description}`);
41
+ }
42
+ });
43
+ program
44
+ .command("stats")
45
+ .description("§10 Observability: measured metrics (escalation rate, confidence trend, failure clustering, test-integrity/coverage flag rates, approval fatigue, library growth)")
46
+ .action(() => {
47
+ const report = buildObservabilityReport();
48
+ console.log(formatObservabilityReport(report));
49
+ });
50
+ program
51
+ .command("audit")
52
+ .description("Dependency pinning + vuln scan + idiom check")
53
+ .action(async () => {
54
+ try {
55
+ const pinning = await checkVersionPinning(process.cwd());
56
+ console.log(`Version pinning:`);
57
+ if (pinning.length === 0)
58
+ console.log(" all dependencies exactly pinned.");
59
+ for (const f of pinning)
60
+ console.log(` ${f.section}: ${f.name}@${f.declaredRange} — ${f.reason}`);
61
+ console.log(`\nVuln scan:`);
62
+ console.log(formatVulnScan(runVulnScan(process.cwd())));
63
+ console.log(`\nIdiom check (soft-fail — flags for cleanup, never blocks):`);
64
+ const trackedPaths = Array.from(new Set(listManifest().flatMap((e) => e.files))).map((f) => join(process.cwd(), f));
65
+ if (trackedPaths.length === 0) {
66
+ console.log(" no manifest-tracked files yet.");
67
+ }
68
+ else {
69
+ const lang = trackedPaths.length > 0 && trackedPaths[0].endsWith(".py") ? "python" : "typescript";
70
+ const provider = getLanguageProvider(lang);
71
+ const idiom = provider ? provider.checkIdiom(trackedPaths, process.cwd()) : checkIdioms(trackedPaths, process.cwd());
72
+ if (!idiom.ran) {
73
+ console.log(" skipped — no local ESLint binary + config found in this project.");
74
+ }
75
+ else if (idiom.findings.length === 0) {
76
+ console.log(" clean — no idiom findings across all tracked components.");
77
+ }
78
+ else {
79
+ for (const f of idiom.findings)
80
+ console.log(` ${f.path}:${f.line} [${f.rule}] ${f.message}`);
81
+ }
82
+ }
83
+ }
84
+ catch (err) {
85
+ console.error(`\n🛑 Audit failed: ${err instanceof Error ? err.message : err}`);
86
+ process.exitCode = 1;
87
+ }
88
+ });
89
+ program
90
+ .command("audit-trail")
91
+ .description("Compliance audit-trail export — one row per landed commit, joined with gate evidence")
92
+ .option("-c, --component <componentId>", "filter to one component")
93
+ .option("-s, --since <isoTimestamp>", "only include commits at or after this ISO timestamp")
94
+ .option("-f, --format <format>", "output format: markdown or json", "markdown")
95
+ .option("-o, --out <file>", "write to a file instead of stdout")
96
+ .action(async (opts) => {
97
+ try {
98
+ const { requireEntitlement } = await import("@purix/core/licensing/tier");
99
+ requireEntitlement("auditExport");
100
+ const format = opts.format === "json" ? "json" : "markdown";
101
+ const report = buildAuditTrail({ componentId: opts.component, since: opts.since });
102
+ const output = format === "json" ? formatAuditTrailJson(report) : formatAuditTrailMarkdown(report);
103
+ if (opts.out) {
104
+ await writeFile(opts.out, output, "utf-8");
105
+ console.log(`✅ Wrote ${report.entries.length} entr${report.entries.length === 1 ? "y" : "ies"} to ${opts.out} (${format}).`);
106
+ }
107
+ else {
108
+ console.log(output);
109
+ }
110
+ }
111
+ catch (err) {
112
+ console.error(`\n🛑 Failed to export audit-trail: ${err instanceof Error ? err.message : err}`);
113
+ process.exitCode = 1;
114
+ }
115
+ });
116
+ program
117
+ .command("audit-verify")
118
+ .description("Verify local tamper-evident audit chain integrity")
119
+ .action(() => {
120
+ const result = verifyAuditChain();
121
+ if (!result.valid) {
122
+ console.error(`🛑 Audit chain verification failed at record index ${result.compromisedIndex ?? "unknown"}: ${result.reason}`);
123
+ process.exitCode = 1;
124
+ }
125
+ });
126
+ program
127
+ .command("diagnostics")
128
+ .description("Review recent local diagnostics/error logs with automatic path/secret redaction")
129
+ .action(() => {
130
+ const logs = getRecentLogs(30);
131
+ if (logs.length === 0) {
132
+ console.log("No recent diagnostic logs found in ~/.purix/logs/.");
133
+ return;
134
+ }
135
+ console.log("Recent diagnostic logs (redacted for privacy):");
136
+ for (const line of logs) {
137
+ console.log(redactLogContent(line));
138
+ }
139
+ });
140
+ }
141
+ //# sourceMappingURL=observability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observability.js","sourceRoot":"","sources":["../../../src/cli/commands/observability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerProviderCommands(program: Command): void;
3
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,QAgFxD"}
@@ -0,0 +1,82 @@
1
+ import { listProviders, persistProviderChoice, persistCustomProvider, activeProviderId, getProvider } from "@purix/core/llm/providers";
2
+ export function registerProviderCommands(program) {
3
+ program
4
+ .command("provider-set <id>")
5
+ .description("Choose which LLM provider Purix calls — bring your own key. Run provider-list to see all supported ids.")
6
+ .option("--base-url <url>", "required if id is 'custom': the OpenAI-compatible base URL")
7
+ .option("--key-env <name>", "required if id is 'custom': env var / secret name holding the API key")
8
+ .option("--model-low <id>", "required if id is 'custom': model id for the low tier")
9
+ .option("--model-high <id>", "required if id is 'custom': model id for the high tier")
10
+ .option("--label <text>", "optional display label for a custom provider")
11
+ .action((id, opts) => {
12
+ if (id === "custom") {
13
+ if (!opts.baseUrl || !opts.keyEnv || !opts.modelLow || !opts.modelHigh) {
14
+ console.log(`"custom" needs all of: --base-url --key-env --model-low --model-high\n` +
15
+ `Example: purix provider-set custom --base-url https://api.example.ai/v1 ` +
16
+ `--key-env EXAMPLE_API_KEY --model-low example-small --model-high example-large`);
17
+ return;
18
+ }
19
+ persistCustomProvider({
20
+ baseUrl: opts.baseUrl,
21
+ keyEnvVar: opts.keyEnv,
22
+ modelLow: opts.modelLow,
23
+ modelHigh: opts.modelHigh,
24
+ label: opts.label,
25
+ });
26
+ console.log(`✅ Custom provider configured (${opts.baseUrl}). Store the key: purix secret-set ${opts.keyEnv} <your-key>`);
27
+ return;
28
+ }
29
+ const known = listProviders().find((p) => p.id === id);
30
+ if (!known) {
31
+ console.log(`Unknown provider "${id}". Run "purix provider-list" to see supported ids, or use "custom" for anything else.`);
32
+ return;
33
+ }
34
+ persistProviderChoice(id);
35
+ console.log(`✅ Active provider set to "${id}" (${known.label}). Make sure a key is stored: purix secret-set ${known.keyEnvVar} <your-key>`);
36
+ });
37
+ program
38
+ .command("provider-status")
39
+ .description("Show which LLM provider is active and whether a key is configured")
40
+ .action(() => {
41
+ let id;
42
+ try {
43
+ id = activeProviderId();
44
+ }
45
+ catch {
46
+ console.log(`No provider configured yet. Run "purix provider-list" to see options, then "purix provider-set <id>".`);
47
+ return;
48
+ }
49
+ const known = listProviders().find((p) => p.id === id);
50
+ console.log(`Active provider: ${id}${known ? ` (${known.label})` : ""}`);
51
+ try {
52
+ const p = getProvider(id);
53
+ console.log(`Model (low tier): ${p.modelFor("low")}`);
54
+ console.log(`Model (high tier): ${p.modelFor("high")}`);
55
+ console.log(`(Key resolution happens on first call — run a real "purix modify" to fully verify it.)`);
56
+ }
57
+ catch (err) {
58
+ console.log(`🛑 ${err instanceof Error ? err.message : err}`);
59
+ }
60
+ });
61
+ program
62
+ .command("provider-list")
63
+ .description("List every supported LLM provider (registry + the custom escape hatch)")
64
+ .action(() => {
65
+ let active = null;
66
+ try {
67
+ active = activeProviderId();
68
+ }
69
+ catch {
70
+ // No provider configured yet — that's expected for a fresh install, not an error here.
71
+ }
72
+ for (const p of listProviders()) {
73
+ console.log(`${p.id}${p.id === active ? " (active)" : ""} — ${p.label} — requires ${p.keyEnvVar}`);
74
+ }
75
+ if (!active) {
76
+ console.log(`\n(No provider configured yet — pick one above and run "purix provider-set <id>".)`);
77
+ }
78
+ console.log(`\nDon't see your provider? Nearly every LLM vendor exposes an OpenAI-compatible endpoint —`);
79
+ console.log(`use "purix provider-set custom --base-url <url> --key-env <n> --model-low <id> --model-high <id>".`);
80
+ });
81
+ }
82
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/cli/commands/provider.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEvI,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,yGAAyG,CAAC;SACtH,MAAM,CAAC,kBAAkB,EAAE,4DAA4D,CAAC;SACxF,MAAM,CAAC,kBAAkB,EAAE,uEAAuE,CAAC;SACnG,MAAM,CAAC,kBAAkB,EAAE,uDAAuD,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,wDAAwD,CAAC;SACrF,MAAM,CAAC,gBAAgB,EAAE,8CAA8C,CAAC;SACxE,MAAM,CAAC,CAAC,EAAU,EAAE,IAAkG,EAAE,EAAE;QACzH,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvE,OAAO,CAAC,GAAG,CACT,wEAAwE;oBACtE,0EAA0E;oBAC1E,gFAAgF,CACnF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,qBAAqB,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,MAAM;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,CAAC,OAAO,sCAAsC,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;YACzH,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,uFAAuF,CAAC,CAAC;YAC5H,OAAO;QACT,CAAC;QACD,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,MAAM,KAAK,CAAC,KAAK,kDAAkD,KAAK,CAAC,SAAS,aAAa,CAAC,CAAC;IAC9I,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,mEAAmE,CAAC;SAChF,MAAM,CAAC,GAAG,EAAE;QACX,IAAI,EAAU,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,uGAAuG,CAAC,CAAC;YACrH,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,wEAAwE,CAAC;SACrF,MAAM,CAAC,GAAG,EAAE;QACX,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;QACzF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;QAC1G,OAAO,CAAC,GAAG,CAAC,oGAAoG,CAAC,CAAC;IACpH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerSecurityCommands(program: Command): void;
3
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,QAuBxD"}