@a-company/paradigm 3.34.0 → 3.43.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.
- package/dist/{accept-orchestration-XXANWJVZ.js → accept-orchestration-ZUWQUHSK.js} +6 -6
- package/dist/add-VSPZ6FM4.js +81 -0
- package/dist/{aggregate-XHQ6GI3Z.js → aggregate-SV3VGEIL.js} +2 -2
- package/dist/assess-UHBDYIK7.js +68 -0
- package/dist/{beacon-BTLQMYQL.js → beacon-3SJV4DAP.js} +2 -2
- package/dist/calibration-WWHK73WU.js +135 -0
- package/dist/{chunk-C5ZE6WEX.js → chunk-2SKXFXIT.js} +91 -1
- package/dist/{chunk-S5TDFT5Q.js → chunk-7COU5S2Z.js} +2 -2
- package/dist/{chunk-3BAMPB6I.js → chunk-7WEKMZ46.js} +2 -147
- package/dist/{chunk-H4TVBJD4.js → chunk-AKIMFN6I.js} +3 -3
- package/dist/{chunk-3DYYXGDC.js → chunk-CDMAMDSG.js} +33 -0
- package/dist/{chunk-PFLWLC6J.js → chunk-CZEIK3Y2.js} +855 -34
- package/dist/chunk-F3BCHPYT.js +143 -0
- package/dist/chunk-GT5QGC2H.js +253 -0
- package/dist/{chunk-UQNTJ5VB.js → chunk-HIKKOCXY.js} +1 -1
- package/dist/{chunk-J26YQVAK.js → chunk-J4E6K5MG.js} +1 -1
- package/dist/chunk-L27I3CPZ.js +357 -0
- package/dist/{chunk-WOONGZ3C.js → chunk-P7XSBJE3.js} +1 -1
- package/dist/{chunk-Z7W7HNRG.js → chunk-QDXI2DHR.js} +1 -1
- package/dist/{chunk-BRILIG7Z.js → chunk-QIOCFXDQ.js} +42 -0
- package/dist/{chunk-3BGSDKWD.js → chunk-QWA26UNO.js} +7 -7
- package/dist/{lore-server-ILPHKWLK.js → chunk-RAB5IKPR.js} +77 -112
- package/dist/{chunk-BKMNLROM.js → chunk-RGFANZ4Q.js} +448 -147
- package/dist/{chunk-R2SGQ22F.js → chunk-YW5OCVKB.js} +448 -2
- package/dist/{chunk-CTF6RHKG.js → chunk-ZGUAAVMA.js} +17 -2
- package/dist/{commands-KPT2T2OZ.js → commands-LEPFD7S5.js} +452 -1
- package/dist/config-schema-3YNIFJCJ.js +152 -0
- package/dist/{constellation-LZ6XIKDT.js → constellation-FAGT45TU.js} +2 -2
- package/dist/{context-audit-RI4R2WRH.js → context-audit-557EO6PK.js} +138 -8
- package/dist/{cost-4SZM7OUS.js → cost-UD3WPEKZ.js} +1 -1
- package/dist/{delete-YTASL4SM.js → delete-RRK4RL6Y.js} +1 -1
- package/dist/{diff-T6YJSAAC.js → diff-IP5CIARP.js} +6 -6
- package/dist/{dist-AG5JNIZU-HW2FWNTZ.js → dist-5QE2BB2B-X6DYVSUL.js} +59 -5
- package/dist/{dist-OH4DBV2O.js → dist-OGTSAZ55.js} +16 -1
- package/dist/{dist-IKBGY7FQ.js → dist-RVKYUCRU.js} +3 -1
- package/dist/{dist-QSBAGCZT.js → dist-UXWV4OKX.js} +2 -2
- package/dist/{dist-RMAIFRTW.js → dist-Y7I3CFY5.js} +5 -3
- package/dist/{doctor-INBOLZC7.js → doctor-GKZJU7QG.js} +1 -1
- package/dist/{edit-S7NZD7H7.js → edit-4CLNN5JG.js} +1 -1
- package/dist/{graph-ERNQQQ7C.js → graph-YYUXI3F7.js} +1 -1
- package/dist/graph-server-ZPXRSGCW.js +116 -0
- package/dist/{habits-7BORPC2F.js → habits-O37HTUKE.js} +2 -2
- package/dist/index.js +200 -86
- package/dist/integrity-MK2OP5TA.js +194 -0
- package/dist/integrity-checker-J7YXRTBT.js +11 -0
- package/dist/{lint-MTRZB5EC.js → lint-HYWGS3JJ.js} +1 -1
- package/dist/{list-QTFWN35D.js → list-BTLFHSRC.js} +1 -1
- package/dist/list-IUCYPGMK.js +57 -0
- package/dist/{lore-loader-S5BXMH27.js → lore-loader-VTEEZDX3.js} +3 -1
- package/dist/lore-server-NOOAHKJX.js +118 -0
- package/dist/mcp.js +2581 -112
- package/dist/{migrate-HRN5TUBQ.js → migrate-FQVGQNXZ.js} +21 -3
- package/dist/{migrate-assessments-FPR6C35Z.js → migrate-assessments-JP6Q5KME.js} +1 -1
- package/dist/{orchestrate-3SI6ON33.js → orchestrate-A226N6FC.js} +6 -6
- package/dist/platform-server-KK4OCRTV.js +891 -0
- package/dist/{probe-ABMGCXQG.js → probe-7JK7IDNI.js} +4 -4
- package/dist/{providers-YW3FG6DA.js → providers-YNFSL6HK.js} +1 -1
- package/dist/quiz-I75NU2QQ.js +99 -0
- package/dist/{record-UGN75GTB.js → record-46CLR4OG.js} +11 -2
- package/dist/{reindex-YC7LD4MN.js → reindex-NZQRGKPN.js} +3 -2
- package/dist/{remember-WR6ZVXLT.js → remember-4EUZKIIB.js} +1 -1
- package/dist/{retag-URLJLMSK.js → retag-KC4JVRLE.js} +1 -1
- package/dist/{review-725ZKA7U.js → review-Q7M4CRB5.js} +1 -1
- package/dist/{ripple-QTXKJCEI.js → ripple-RI3LOT6R.js} +2 -2
- package/dist/{sentinel-FUR3QKCJ.js → sentinel-BKYTBT7M.js} +1 -1
- package/dist/sentinel-bridge-IZTXYS5M.js +109 -0
- package/dist/sentinel-ui/assets/{index-Zh1YM0C9.css → index-CJ1Wx083.css} +1 -1
- package/dist/sentinel-ui/assets/index-S1VJ67dT.js +62 -0
- package/dist/sentinel-ui/assets/index-S1VJ67dT.js.map +1 -0
- package/dist/sentinel-ui/index.html +2 -2
- package/dist/sentinel.js +6 -6
- package/dist/{serve-DIALBCTU.js → serve-22A4XOIG.js} +1 -1
- package/dist/{university-A66BMZ4Z.js → serve-2YJ6D2Y6.js} +9 -8
- package/dist/serve-3V2WXLGM.js +33 -0
- package/dist/{server-2VICPDUR.js → server-OFEJ2HJP.js} +25 -2
- package/dist/{server-OWBK2WFS.js → server-RDLQ3DK7.js} +49 -4
- package/dist/{setup-ASR6OMKV.js → setup-M2ZKLKNN.js} +2 -2
- package/dist/{shift-7XLSBLDW.js → shift-LNMKFYLR.js} +63 -14
- package/dist/{show-GEVVQWWG.js → show-P7GYO43X.js} +1 -1
- package/dist/show-PKZMYKRN.js +82 -0
- package/dist/{snapshot-QZFD7YBI.js → snapshot-Y3COXK4T.js} +2 -2
- package/dist/{spawn-DIY7T4QW.js → spawn-SSXZX45U.js} +2 -2
- package/dist/status-KLHALGW4.js +71 -0
- package/dist/{summary-R4CSYNNP.js → summary-5NQNOD3F.js} +2 -2
- package/dist/{sweep-5POCF2E4.js → sweep-EZU3GU6S.js} +1 -1
- package/dist/symphony-ROEKK7VD.js +999 -0
- package/dist/{team-VH3HYABB.js → team-HGLJXWQG.js} +7 -7
- package/dist/{timeline-RKXNRMKF.js → timeline-ANC7LVDL.js} +1 -1
- package/dist/{triage-GJ6GK647.js → triage-POXJ2TIX.js} +2 -2
- package/dist/university-content/courses/.purpose +7 -1
- package/dist/university-content/courses/para-501.json +166 -0
- package/dist/university-content/plsat/.purpose +6 -0
- package/dist/university-content/plsat/v3.0.json +323 -1
- package/dist/university-content/reference.json +48 -0
- package/dist/university-ui/assets/{index-TcsCEBMo.js → index-tfi5xN4Q.js} +2 -2
- package/dist/university-ui/assets/{index-TcsCEBMo.js.map → index-tfi5xN4Q.js.map} +1 -1
- package/dist/university-ui/index.html +1 -1
- package/dist/validate-GD5XWILV.js +134 -0
- package/dist/{validate-OUHUBZPO.js → validate-ZVPNN4FL.js} +1 -1
- package/dist/{workspace-5RBSALXC.js → workspace-UIUTHZTD.js} +5 -5
- package/package.json +4 -2
- package/platform-ui/dist/assets/GitSection-C-GQWHcu.css +1 -0
- package/platform-ui/dist/assets/GitSection-DvyJBF_-.js +4 -0
- package/platform-ui/dist/assets/GraphSection-BiQrXqfs.js +8 -0
- package/platform-ui/dist/assets/GraphSection-BlgXTl53.css +1 -0
- package/platform-ui/dist/assets/LoreSection-BaH1FaRb.js +1 -0
- package/platform-ui/dist/assets/LoreSection-C3EixkjW.css +1 -0
- package/platform-ui/dist/assets/SentinelSection-BI-aIYKL.css +1 -0
- package/platform-ui/dist/assets/SentinelSection-DemAznjI.js +1 -0
- package/platform-ui/dist/assets/index-CfpZFjea.css +1 -0
- package/platform-ui/dist/assets/index-DDKhCt-w.js +57 -0
- package/platform-ui/dist/index.html +14 -0
- package/dist/graph-server-BZ73HTAT.js +0 -251
- package/dist/sentinel-ui/assets/index-C_Wstm64.js +0 -62
- package/dist/sentinel-ui/assets/index-C_Wstm64.js.map +0 -1
- /package/dist/{chunk-VUSCJJ4A.js → chunk-EDOAWN7J.js} +0 -0
- /package/dist/{chunk-5SXMV4SP.js → chunk-FS3WTUHY.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
initCommand
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-AKIMFN6I.js";
|
|
5
|
+
import "./chunk-7COU5S2Z.js";
|
|
6
6
|
import "./chunk-36TKPM5Z.js";
|
|
7
7
|
import {
|
|
8
8
|
aggregateFromDirectory,
|
|
9
9
|
buildSymbolIndex,
|
|
10
10
|
getSymbolCounts
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZGUAAVMA.js";
|
|
12
12
|
import {
|
|
13
13
|
findPurposeFiles
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-EDOAWN7J.js";
|
|
15
15
|
import {
|
|
16
16
|
findGateFiles
|
|
17
17
|
} from "./chunk-IRKUEJVW.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-QDXI2DHR.js";
|
|
19
19
|
import "./chunk-UPLDI7CN.js";
|
|
20
20
|
import "./chunk-KB4XJWE3.js";
|
|
21
21
|
import "./chunk-YO6DVTL7.js";
|
|
@@ -111,7 +111,7 @@ ${chalk2.magenta("\u2569 ")}${chalk2.cyan("\u2534 \u2534\u2534\u2514\u2500\u253
|
|
|
111
111
|
program.name("paradigm").description("Unified developer tools ecosystem").version(VERSION).addHelpText("before", banner);
|
|
112
112
|
program.command("init").description("Initialize Paradigm in the current project").option("-f, --force", "Overwrite existing files").option("--name <name>", "Project name").option("--ide <ide>", "Target IDE: cursor, copilot, windsurf, claude").option("--stack <stack>", "Stack preset (e.g., nextjs, fastapi, swift-ios). Auto-detected if omitted.").option("--migrate", "Output migration prompt for existing IDE files").option("--quick", "Non-interactive mode with smart defaults").option("--dry-run", "Show what would be created without creating").action(initCommand);
|
|
113
113
|
program.command("shift").description("Full project setup in one command (init + team init + scan + sync all IDEs + doctor)").option("-f, --force", "Reinitialize even if already setup").option("-q, --quick", "Skip slow operations (scan)").option("--verify", "Run health checks after setup").option("--ide <ide>", "Target specific IDE instead of all").option("--configure-models", "Force model configuration prompts for team agents").option("--stack <stack>", "Stack preset (e.g., nextjs, fastapi, swift-ios). Auto-detected if omitted.").option("--workspace <name>", "Create or join a multi-project workspace with this name (creates ../.paradigm-workspace)").option("--workspace-path <path>", "Custom workspace file location (default: ../.paradigm-workspace)").action(async (options) => {
|
|
114
|
-
const { shiftCommand } = await import("./shift-
|
|
114
|
+
const { shiftCommand } = await import("./shift-LNMKFYLR.js");
|
|
115
115
|
await shiftCommand(options);
|
|
116
116
|
});
|
|
117
117
|
program.command("presets").description("List available stack presets for paradigm init/shift").option("-d, --discipline <discipline>", "Filter by discipline (e.g., fullstack, api, mobile)").action(async (options) => {
|
|
@@ -143,17 +143,17 @@ program.command("presets").description("List available stack presets for paradig
|
|
|
143
143
|
`));
|
|
144
144
|
});
|
|
145
145
|
program.command("setup [path]").description("Interactive setup wizard for Paradigm").option("-y, --yes", "Accept all defaults (non-interactive)").option("-f, --force", "Overwrite existing .paradigm config").action(async (path2, options) => {
|
|
146
|
-
const { setupCommand } = await import("./setup-
|
|
146
|
+
const { setupCommand } = await import("./setup-M2ZKLKNN.js");
|
|
147
147
|
await setupCommand(path2, options);
|
|
148
148
|
});
|
|
149
149
|
program.command("status").alias("st").description("Show project status and symbol counts").action(statusCommand);
|
|
150
150
|
var purposeCmd = program.command("purpose").description("Purpose-related commands");
|
|
151
151
|
purposeCmd.command("remember [path]").description("Aggregate and display purpose context").action(async (path2 = ".") => {
|
|
152
|
-
const { purposeRememberCommand } = await import("./remember-
|
|
152
|
+
const { purposeRememberCommand } = await import("./remember-4EUZKIIB.js");
|
|
153
153
|
await purposeRememberCommand(path2);
|
|
154
154
|
});
|
|
155
155
|
purposeCmd.command("validate [path]").description("Validate purpose files").action(async (path2 = ".") => {
|
|
156
|
-
const { purposeValidateCommand } = await import("./validate-
|
|
156
|
+
const { purposeValidateCommand } = await import("./validate-ZVPNN4FL.js");
|
|
157
157
|
await purposeValidateCommand(path2);
|
|
158
158
|
});
|
|
159
159
|
var portalCmd = program.command("portal").description("Portal-related commands");
|
|
@@ -183,11 +183,11 @@ portalCmd.command("export [path]").description("Export portal configuration in j
|
|
|
183
183
|
});
|
|
184
184
|
var premiseCmd = program.command("premise").description("Premise-related commands");
|
|
185
185
|
premiseCmd.command("aggregate [path]").description("Aggregate all sources into symbol index").action(async (path2 = ".") => {
|
|
186
|
-
const { premiseAggregateCommand } = await import("./aggregate-
|
|
186
|
+
const { premiseAggregateCommand } = await import("./aggregate-SV3VGEIL.js");
|
|
187
187
|
await premiseAggregateCommand(path2);
|
|
188
188
|
});
|
|
189
189
|
premiseCmd.command("snapshot <name>").description("Create a timeline snapshot").option("-d, --description <desc>", "Snapshot description").action(async (name, options) => {
|
|
190
|
-
const { premiseSnapshotCommand } = await import("./snapshot-
|
|
190
|
+
const { premiseSnapshotCommand } = await import("./snapshot-Y3COXK4T.js");
|
|
191
191
|
await premiseSnapshotCommand(name, options.description);
|
|
192
192
|
});
|
|
193
193
|
program.command("sync [ide]").description("Generate IDE instruction files from .paradigm/ config").option("--all", "Sync all supported IDEs").option("-f, --force", "Overwrite existing files").option("--mcp", "Generate MCP configuration (default: true)").option("--no-mcp", "Skip MCP configuration generation").option("--nested", "Generate nested CLAUDE.md files for directories with .purpose").action(async (ide, options) => {
|
|
@@ -204,16 +204,16 @@ program.command("cursorrules [path]").description("[DEPRECATED] Use `paradigm sy
|
|
|
204
204
|
await cursorrrulesCommand(path2, options);
|
|
205
205
|
});
|
|
206
206
|
program.command("index [path]").description("Generate probe index for visual discovery").option("-o, --output <path>", "Output path for probe-index.json").option("-q, --quiet", "Suppress output").action(async (path2, options) => {
|
|
207
|
-
const { indexCommand } = await import("./probe-
|
|
207
|
+
const { indexCommand } = await import("./probe-7JK7IDNI.js");
|
|
208
208
|
await indexCommand(path2, options);
|
|
209
209
|
});
|
|
210
210
|
var probeCmd = program.command("probe").description("Probe-related commands");
|
|
211
211
|
probeCmd.command("index [path]").description("Generate probe index (alias for `paradigm index`)").option("-o, --output <path>", "Output path for probe-index.json").option("-q, --quiet", "Suppress output").action(async (path2, options) => {
|
|
212
|
-
const { indexCommand } = await import("./probe-
|
|
212
|
+
const { indexCommand } = await import("./probe-7JK7IDNI.js");
|
|
213
213
|
await indexCommand(path2, options);
|
|
214
214
|
});
|
|
215
215
|
program.command("migrate").description("Detect and apply migrations to bring project up to date").option("--dry-run", "Preview changes without applying").option("--apply", "Apply all auto migrations without prompting").option("-f, --force", "Re-run previously applied migrations").option("--only <ids...>", "Run specific migrations by ID").option("--category <cat>", "Run migrations in a category (directory, config, template, hook)").option("--no-sync", "Skip template sync").option("--list", "List all migrations and their status").option("-v, --verbose", "Show detailed output").action(async (options) => {
|
|
216
|
-
const { migrateCommand } = await import("./migrate-
|
|
216
|
+
const { migrateCommand } = await import("./migrate-FQVGQNXZ.js");
|
|
217
217
|
await migrateCommand(options);
|
|
218
218
|
});
|
|
219
219
|
program.command("upgrade [path]").description("(Deprecated) Upgrade project with new Paradigm features \u2014 use `paradigm migrate`").option("--features <features...>", "Features to upgrade (probe, logger)").option("--all", "Apply all available upgrades").option("--from-horizon", "Migrate from Horizon to Paradigm").option("--dry-run", "Show what would be upgraded without making changes").option("-f, --force", "Force re-upgrade even if already configured").action(async (path2, options) => {
|
|
@@ -221,11 +221,11 @@ program.command("upgrade [path]").description("(Deprecated) Upgrade project with
|
|
|
221
221
|
await upgradeCommand(path2, options);
|
|
222
222
|
});
|
|
223
223
|
program.command("lint [path]").description("Validate .purpose files for schema errors").option("-f, --fix", "Auto-fix issues where possible").option("-s, --strict", "Fail on warnings (not just errors)").option("-q, --quiet", "Suppress output except errors").option("--json", "Output as JSON").option("--auto-populate", "Scan for undocumented source dirs and suggest .purpose entries (use with --fix to write)").action(async (path2, options) => {
|
|
224
|
-
const { lintCommand } = await import("./lint-
|
|
224
|
+
const { lintCommand } = await import("./lint-HYWGS3JJ.js");
|
|
225
225
|
await lintCommand(path2, options);
|
|
226
226
|
});
|
|
227
227
|
program.command("cost [path]").description("Analyze token costs for AI context").option("-d, --detailed", "Show detailed breakdown by file").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
228
|
-
const { costCommand } = await import("./cost-
|
|
228
|
+
const { costCommand } = await import("./cost-UD3WPEKZ.js");
|
|
229
229
|
await costCommand(path2, options);
|
|
230
230
|
});
|
|
231
231
|
var scanCmd = program.command("scan").description("Visual discovery and auto-generation commands");
|
|
@@ -249,7 +249,7 @@ flowCmd.action(() => {
|
|
|
249
249
|
});
|
|
250
250
|
var teamCmd = program.command("team").description("Multi-agent orchestration commands");
|
|
251
251
|
teamCmd.command("init [path]").description("Initialize team configuration with default agents").option("-f, --force", "Overwrite existing configuration").option("--configure-models", "Force model configuration prompts").option("--no-configure-models", "Skip model configuration").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
252
|
-
const { teamInitCommand } = await import("./team-
|
|
252
|
+
const { teamInitCommand } = await import("./team-HGLJXWQG.js");
|
|
253
253
|
await teamInitCommand(path2, {
|
|
254
254
|
...options,
|
|
255
255
|
configureModels: options.configureModels,
|
|
@@ -257,47 +257,47 @@ teamCmd.command("init [path]").description("Initialize team configuration with d
|
|
|
257
257
|
});
|
|
258
258
|
});
|
|
259
259
|
teamCmd.command("status [path]").description("Show current team status").option("--running", "Show only running orchestrations").option("--id <id>", "Show specific orchestration").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
260
|
-
const { teamStatusCommand } = await import("./team-
|
|
260
|
+
const { teamStatusCommand } = await import("./team-HGLJXWQG.js");
|
|
261
261
|
await teamStatusCommand(path2, options);
|
|
262
262
|
});
|
|
263
263
|
teamCmd.command("handoff [path]").description("Hand off current task to another agent").requiredOption("-t, --to <agent>", "Target agent name").option("-s, --summary <text>", "Summary of what was done").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
264
|
-
const { teamHandoffCommand } = await import("./team-
|
|
264
|
+
const { teamHandoffCommand } = await import("./team-HGLJXWQG.js");
|
|
265
265
|
await teamHandoffCommand(path2, options);
|
|
266
266
|
});
|
|
267
267
|
teamCmd.command("accept [handoff-id] [path]").description("Accept a pending handoff").option("-n, --note <text>", "Acceptance note").option("--json", "Output as JSON").action(async (handoffId, path2, options) => {
|
|
268
|
-
const { teamAcceptCommand } = await import("./team-
|
|
268
|
+
const { teamAcceptCommand } = await import("./team-HGLJXWQG.js");
|
|
269
269
|
await teamAcceptCommand(handoffId, path2, options);
|
|
270
270
|
});
|
|
271
271
|
teamCmd.command("check [path]").description("Check for conflicts and team health issues").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
272
|
-
const { teamCheckCommand } = await import("./team-
|
|
272
|
+
const { teamCheckCommand } = await import("./team-HGLJXWQG.js");
|
|
273
273
|
await teamCheckCommand(path2, options);
|
|
274
274
|
});
|
|
275
275
|
teamCmd.command("history [path]").description("Show full activity log").option("-l, --limit <number>", "Number of entries to show", "50").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
276
|
-
const { teamHistoryCommand } = await import("./team-
|
|
276
|
+
const { teamHistoryCommand } = await import("./team-HGLJXWQG.js");
|
|
277
277
|
await teamHistoryCommand(path2, { ...options, limit: parseInt(options.limit) });
|
|
278
278
|
});
|
|
279
279
|
teamCmd.command("reset [path]").description("Reset team state for fresh start").option("-f, --force", "Force reset even with pending work").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
280
|
-
const { teamResetCommand } = await import("./team-
|
|
280
|
+
const { teamResetCommand } = await import("./team-HGLJXWQG.js");
|
|
281
281
|
await teamResetCommand(path2, options);
|
|
282
282
|
});
|
|
283
283
|
teamCmd.command("spawn <agent> [path]").description("Spawn an AI agent to work on a task").requiredOption("-t, --task <task>", "Task for the agent to perform").option("-m, --model <model>", "Model to use: opus, sonnet, haiku").option("-p, --provider <provider>", "Provider: auto, claude, claude-code, claude-cli, manual").option("--budget <budget>", 'Budget limits (e.g., "tokens=100000,cost=2")').option("--timeout <ms>", "Timeout in milliseconds").option("--checkpoint", "Pause for approval before writes/deletes").option("-q, --quiet", "Suppress output").option("--json", "Output as JSON").action(async (agent, path2, options) => {
|
|
284
|
-
const { teamSpawnCommand } = await import("./spawn-
|
|
284
|
+
const { teamSpawnCommand } = await import("./spawn-SSXZX45U.js");
|
|
285
285
|
await teamSpawnCommand(agent, path2, options);
|
|
286
286
|
});
|
|
287
287
|
teamCmd.command("orchestrate <task> [path]").description("Orchestrate a multi-agent task").option("--solo", "Run in solo mode (single Claude)").option("--faceted", "Run in faceted mode (multi-agent, default)").option("--compare", "Run both modes and compare results").option("--background", "Run in background mode (returns immediately)").option("--notify <methods>", "Notification methods: bell,desktop,file,webhook (default: bell)").option("-m, --model <model>", "Orchestrator model: opus, sonnet, haiku").option("-p, --provider <provider>", "Provider: auto, claude, claude-code, claude-cli, manual").option("--budget <budget>", 'Budget limits (e.g., "tokens=500000,cost=5")').option("--checkpoint", "Pause for approval between agents").option("--live", "Stream agent output live").option("--pm", "Enable PM governance (compliance checks before/after)").option("-q, --quiet", "Suppress output").option("--json", "Output as JSON").action(async (task, path2, options) => {
|
|
288
|
-
const { teamOrchestrateCommand } = await import("./orchestrate-
|
|
288
|
+
const { teamOrchestrateCommand } = await import("./orchestrate-A226N6FC.js");
|
|
289
289
|
await teamOrchestrateCommand(task, path2, options);
|
|
290
290
|
});
|
|
291
291
|
teamCmd.command("diff <orchestration-id> [path]").description("Show diff of changes from a completed orchestration").option("--full", "Show full file contents").option("--json", "Output as JSON").action(async (orchestrationId, path2, options) => {
|
|
292
|
-
const { teamDiffCommand } = await import("./diff-
|
|
292
|
+
const { teamDiffCommand } = await import("./diff-IP5CIARP.js");
|
|
293
293
|
await teamDiffCommand(orchestrationId, path2, options);
|
|
294
294
|
});
|
|
295
295
|
teamCmd.command("accept-orch <orchestration-id> [path]").description("Accept orchestration changes").option("-n, --note <text>", "Acceptance note").option("--json", "Output as JSON").action(async (orchestrationId, path2, options) => {
|
|
296
|
-
const { teamAcceptOrchestrationCommand } = await import("./accept-orchestration-
|
|
296
|
+
const { teamAcceptOrchestrationCommand } = await import("./accept-orchestration-ZUWQUHSK.js");
|
|
297
297
|
await teamAcceptOrchestrationCommand(orchestrationId, path2, options);
|
|
298
298
|
});
|
|
299
299
|
teamCmd.command("reject-orch <orchestration-id> [path]").description("Reject orchestration changes").option("-r, --reason <text>", "Rejection reason").option("--cleanup", "Delete created files").option("--json", "Output as JSON").action(async (orchestrationId, path2, options) => {
|
|
300
|
-
const { teamRejectOrchestrationCommand } = await import("./accept-orchestration-
|
|
300
|
+
const { teamRejectOrchestrationCommand } = await import("./accept-orchestration-ZUWQUHSK.js");
|
|
301
301
|
await teamRejectOrchestrationCommand(orchestrationId, path2, options);
|
|
302
302
|
});
|
|
303
303
|
teamCmd.command("cost [path]").description("Show cost summary for orchestrations").option("--from <date>", "From date (ISO format)").option("--to <date>", "To date (ISO format)").option("--days <n>", "Last N days").option("-d, --detailed", "Show detailed breakdown").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
@@ -309,11 +309,11 @@ teamCmd.command("export [path]").description("Export orchestration data").option
|
|
|
309
309
|
await teamExportCommand(path2, options);
|
|
310
310
|
});
|
|
311
311
|
teamCmd.command("providers [path]").description("Show available agent providers and their status").option("--set <provider>", "Set preferred provider: auto, claude, claude-code, claude-cli, manual").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
312
|
-
const { teamProvidersCommand } = await import("./providers-
|
|
312
|
+
const { teamProvidersCommand } = await import("./providers-YNFSL6HK.js");
|
|
313
313
|
await teamProvidersCommand(path2, options);
|
|
314
314
|
});
|
|
315
315
|
teamCmd.command("models [path]").description("Configure or view agent model assignments").option("--refresh", "Refresh model cache from environment").option("--json", "Output as JSON").action(async (path2, options) => {
|
|
316
|
-
const { teamModelsCommand } = await import("./team-
|
|
316
|
+
const { teamModelsCommand } = await import("./team-HGLJXWQG.js");
|
|
317
317
|
await teamModelsCommand(path2, options);
|
|
318
318
|
});
|
|
319
319
|
var agentsCmd = teamCmd.command("agents").description("Agent management commands");
|
|
@@ -328,7 +328,7 @@ agentsCmd.action(() => {
|
|
|
328
328
|
console.log("\nRun `paradigm team agents suggest --help` for options.\n");
|
|
329
329
|
});
|
|
330
330
|
teamCmd.action(async () => {
|
|
331
|
-
const { teamStatusCommand } = await import("./team-
|
|
331
|
+
const { teamStatusCommand } = await import("./team-HGLJXWQG.js");
|
|
332
332
|
await teamStatusCommand(void 0, {});
|
|
333
333
|
});
|
|
334
334
|
var pluginCmd = program.command("plugin").description("Plugin management commands");
|
|
@@ -342,27 +342,31 @@ pluginCmd.action(async () => {
|
|
|
342
342
|
});
|
|
343
343
|
var workspaceCmd = program.command("workspace").description("Multi-project workspace commands");
|
|
344
344
|
workspaceCmd.command("init").description("Create a .paradigm-workspace file from sibling projects").option("-n, --name <name>", "Workspace name (default: directory name)").option("-f, --force", "Overwrite existing workspace file").action(async (options) => {
|
|
345
|
-
const { workspaceInitCommand } = await import("./workspace-
|
|
345
|
+
const { workspaceInitCommand } = await import("./workspace-UIUTHZTD.js");
|
|
346
346
|
await workspaceInitCommand(options);
|
|
347
347
|
});
|
|
348
348
|
workspaceCmd.command("status").description("Show workspace member status and symbol counts").option("--json", "Output as JSON").action(async (options) => {
|
|
349
|
-
const { workspaceStatusCommand } = await import("./workspace-
|
|
349
|
+
const { workspaceStatusCommand } = await import("./workspace-UIUTHZTD.js");
|
|
350
350
|
await workspaceStatusCommand(options);
|
|
351
351
|
});
|
|
352
352
|
workspaceCmd.command("reindex").description("Rebuild scan-index.json for all workspace members").option("-q, --quiet", "Suppress progress output").action(async (options) => {
|
|
353
|
-
const { workspaceReindexCommand } = await import("./workspace-
|
|
353
|
+
const { workspaceReindexCommand } = await import("./workspace-UIUTHZTD.js");
|
|
354
354
|
await workspaceReindexCommand(options);
|
|
355
355
|
});
|
|
356
356
|
workspaceCmd.action(async () => {
|
|
357
|
-
const { workspaceStatusCommand } = await import("./workspace-
|
|
357
|
+
const { workspaceStatusCommand } = await import("./workspace-UIUTHZTD.js");
|
|
358
358
|
await workspaceStatusCommand({});
|
|
359
359
|
});
|
|
360
360
|
program.command("doctor").description("Health check - validate Paradigm setup").option("--context", "Run only context audit checks (CLAUDE.md quality)").action(async (options) => {
|
|
361
|
-
const { doctorCommand } = await import("./doctor-
|
|
361
|
+
const { doctorCommand } = await import("./doctor-GKZJU7QG.js");
|
|
362
362
|
await doctorCommand(options);
|
|
363
363
|
});
|
|
364
|
+
program.command("integrity").description("Symbol integrity check \u2014 broken refs, duplicates, orphans, missing anchors").option("--json", "Output machine-readable JSON").action(async (options) => {
|
|
365
|
+
const { integrityCommand } = await import("./integrity-MK2OP5TA.js");
|
|
366
|
+
await integrityCommand(options);
|
|
367
|
+
});
|
|
364
368
|
program.command("sweep").description("Entropy detection and cleanup \u2014 find orphaned symbols, stale purpose files, phantom gates").option("--dry", "Report only, no fixes applied").option("--skip-fix", "Same as --dry").option("-q, --quiet", "Minimal output").action(async (options) => {
|
|
365
|
-
const { sweepCommand } = await import("./sweep-
|
|
369
|
+
const { sweepCommand } = await import("./sweep-EZU3GU6S.js");
|
|
366
370
|
await sweepCommand(options);
|
|
367
371
|
});
|
|
368
372
|
var driftCmd = program.command("drift").description("Aspect anchor drift detection");
|
|
@@ -383,19 +387,19 @@ program.command("watch").description("Watch for changes and auto-sync IDE files"
|
|
|
383
387
|
await watchCommand();
|
|
384
388
|
});
|
|
385
389
|
program.command("summary").description("Generate .paradigm/project.md with project stats").action(async () => {
|
|
386
|
-
const { summaryCommand } = await import("./summary-
|
|
390
|
+
const { summaryCommand } = await import("./summary-5NQNOD3F.js");
|
|
387
391
|
await summaryCommand();
|
|
388
392
|
});
|
|
389
393
|
program.command("constellation [path]").alias("const").description("Generate .paradigm/constellation.json - symbol relationship graph for AI agents").option("-f, --format <format>", "Output format: json or yaml", "json").option("-o, --output <path>", "Custom output path").option("-q, --quiet", "Suppress output").action(async (path2, options) => {
|
|
390
|
-
const { constellationCommand } = await import("./constellation-
|
|
394
|
+
const { constellationCommand } = await import("./constellation-FAGT45TU.js");
|
|
391
395
|
await constellationCommand(path2, options);
|
|
392
396
|
});
|
|
393
397
|
program.command("beacon [path]").description("Generate .paradigm/beacon.md - quick-start orientation for AI agents").option("-r, --refresh", "Regenerate even if beacon exists").option("-o, --output <path>", "Custom output path").option("--json", "Output as JSON (for AI agent queries)").option("-q, --quiet", "Suppress output").action(async (path2, options) => {
|
|
394
|
-
const { beaconCommand } = await import("./beacon-
|
|
398
|
+
const { beaconCommand } = await import("./beacon-3SJV4DAP.js");
|
|
395
399
|
await beaconCommand(path2, options);
|
|
396
400
|
});
|
|
397
401
|
program.command("ripple <symbol> [path]").description("Show change impact analysis for a symbol").option("-d, --depth <depth>", "Analysis depth (default: 1)", "1").option("--json", "Output as JSON").option("-q, --quiet", "Suppress output").action(async (symbol, path2, options) => {
|
|
398
|
-
const { rippleCommand } = await import("./ripple-
|
|
402
|
+
const { rippleCommand } = await import("./ripple-RI3LOT6R.js");
|
|
399
403
|
await rippleCommand(symbol, path2, options);
|
|
400
404
|
});
|
|
401
405
|
var threadCmd = program.command("thread").description("Session continuity - pass context between AI agent sessions");
|
|
@@ -584,180 +588,221 @@ hooksCmd.action(async () => {
|
|
|
584
588
|
});
|
|
585
589
|
var triageCmd = program.command("triage").description("Semantic error triage - incident management and pattern matching");
|
|
586
590
|
triageCmd.command("list").alias("ls").description("List recent incidents with matched patterns").option("-l, --limit <number>", "Maximum incidents to show", "10").option("-s, --status <status>", "Filter by status: open, investigating, resolved, wont-fix, all").option("--symbol <symbol>", "Filter by symbol (e.g., @checkout, ^auth)").option("-e, --env <environment>", "Filter by environment").option("--search <text>", "Search in error messages").option("--from <date>", "Filter from date (ISO format)").option("--to <date>", "Filter to date (ISO format)").option("--json", "Output as JSON").action(async (options) => {
|
|
587
|
-
const { triageListCommand } = await import("./triage-
|
|
591
|
+
const { triageListCommand } = await import("./triage-POXJ2TIX.js");
|
|
588
592
|
await triageListCommand(options);
|
|
589
593
|
});
|
|
590
594
|
triageCmd.command("show <id>").description("Show full incident details").option("--timeline", "Include flow timeline").option("--json", "Output as JSON").action(async (id, options) => {
|
|
591
|
-
const { triageShowCommand } = await import("./triage-
|
|
595
|
+
const { triageShowCommand } = await import("./triage-POXJ2TIX.js");
|
|
592
596
|
await triageShowCommand(id, options);
|
|
593
597
|
});
|
|
594
598
|
triageCmd.command("resolve <id>").description("Mark incident as resolved").option("-p, --pattern <patternId>", "Pattern that led to resolution").option("-c, --commit <hash>", "Git commit hash of fix").option("--pr <url>", "Pull request URL").option("-n, --notes <text>", "Resolution notes").option("--wont-fix", "Mark as will not fix").action(async (id, options) => {
|
|
595
|
-
const { triageResolveCommand } = await import("./triage-
|
|
599
|
+
const { triageResolveCommand } = await import("./triage-POXJ2TIX.js");
|
|
596
600
|
await triageResolveCommand(id, options);
|
|
597
601
|
});
|
|
598
602
|
triageCmd.command("note <id> <note>").description("Add a note to an incident").action(async (id, note) => {
|
|
599
|
-
const { triageNoteCommand } = await import("./triage-
|
|
603
|
+
const { triageNoteCommand } = await import("./triage-POXJ2TIX.js");
|
|
600
604
|
await triageNoteCommand(id, note);
|
|
601
605
|
});
|
|
602
606
|
triageCmd.command("link <id1> <id2>").description("Link two related incidents").action(async (id1, id2) => {
|
|
603
|
-
const { triageLinkCommand } = await import("./triage-
|
|
607
|
+
const { triageLinkCommand } = await import("./triage-POXJ2TIX.js");
|
|
604
608
|
await triageLinkCommand(id1, id2);
|
|
605
609
|
});
|
|
606
610
|
var triagePatternsCmd = triageCmd.command("patterns").description("Manage failure patterns");
|
|
607
611
|
triagePatternsCmd.command("list").alias("ls").description("List all patterns").option("--source <source>", "Filter by source: manual, suggested, imported, community").option("--min-confidence <score>", "Minimum confidence score").option("--json", "Output as JSON").action(async (options) => {
|
|
608
|
-
const { triagePatternsListCommand } = await import("./triage-
|
|
612
|
+
const { triagePatternsListCommand } = await import("./triage-POXJ2TIX.js");
|
|
609
613
|
await triagePatternsListCommand(options);
|
|
610
614
|
});
|
|
611
615
|
triagePatternsCmd.command("show <id>").description("Show pattern details").option("--json", "Output as JSON").action(async (id, options) => {
|
|
612
|
-
const { triagePatternsShowCommand } = await import("./triage-
|
|
616
|
+
const { triagePatternsShowCommand } = await import("./triage-POXJ2TIX.js");
|
|
613
617
|
await triagePatternsShowCommand(id, options);
|
|
614
618
|
});
|
|
615
619
|
triagePatternsCmd.command("add").description("Create a new pattern").requiredOption("--id <id>", "Pattern ID (kebab-case)").requiredOption("--name <name>", "Human-readable name").option("--description <text>", "Pattern description").option("--symbols <pairs>", 'Symbol criteria (e.g., "feature:@checkout,gate:^auth")').option("--error-contains <keywords>", "Error keywords (comma-separated)").option("--missing-signals <signals>", "Expected missing signals (comma-separated)").option("--strategy <strategy>", "Resolution strategy: retry, fallback, fix-data, fix-code, ignore, escalate", "fix-code").option("--priority <priority>", "Priority: low, medium, high, critical", "medium").option("--code-hint <text>", "Code hint for resolution").option("--tags <tags>", "Tags (comma-separated)").option("--from-incident <id>", "Generate suggestion from incident").action(async (options) => {
|
|
616
|
-
const { triagePatternsAddCommand } = await import("./triage-
|
|
620
|
+
const { triagePatternsAddCommand } = await import("./triage-POXJ2TIX.js");
|
|
617
621
|
await triagePatternsAddCommand(options);
|
|
618
622
|
});
|
|
619
623
|
triagePatternsCmd.command("delete <id>").alias("rm").description("Delete a pattern").action(async (id) => {
|
|
620
|
-
const { triagePatternsDeleteCommand } = await import("./triage-
|
|
624
|
+
const { triagePatternsDeleteCommand } = await import("./triage-POXJ2TIX.js");
|
|
621
625
|
await triagePatternsDeleteCommand(id);
|
|
622
626
|
});
|
|
623
627
|
triagePatternsCmd.command("test <id>").description("Test pattern against historical incidents").option("-l, --limit <number>", "Max incidents to test against", "100").option("--json", "Output as JSON").action(async (id, options) => {
|
|
624
|
-
const { triagePatternsTestCommand } = await import("./triage-
|
|
628
|
+
const { triagePatternsTestCommand } = await import("./triage-POXJ2TIX.js");
|
|
625
629
|
await triagePatternsTestCommand(id, options);
|
|
626
630
|
});
|
|
627
631
|
triagePatternsCmd.command("seed").description("Load built-in seed patterns").action(async () => {
|
|
628
|
-
const { triagePatternsSeedCommand } = await import("./triage-
|
|
632
|
+
const { triagePatternsSeedCommand } = await import("./triage-POXJ2TIX.js");
|
|
629
633
|
await triagePatternsSeedCommand();
|
|
630
634
|
});
|
|
631
635
|
triagePatternsCmd.action(async () => {
|
|
632
|
-
const { triagePatternsListCommand } = await import("./triage-
|
|
636
|
+
const { triagePatternsListCommand } = await import("./triage-POXJ2TIX.js");
|
|
633
637
|
await triagePatternsListCommand({});
|
|
634
638
|
});
|
|
635
639
|
triageCmd.command("export <type>").description("Export patterns or full backup (type: patterns, backup)").option("-o, --output <path>", "Output file path").option("--include-private", "Include private patterns").action(async (type, options) => {
|
|
636
|
-
const { triageExportCommand } = await import("./triage-
|
|
640
|
+
const { triageExportCommand } = await import("./triage-POXJ2TIX.js");
|
|
637
641
|
await triageExportCommand(type, options);
|
|
638
642
|
});
|
|
639
643
|
triageCmd.command("import <file>").description("Import patterns from JSON file").option("--overwrite", "Overwrite existing patterns").action(async (file, options) => {
|
|
640
|
-
const { triageImportCommand } = await import("./triage-
|
|
644
|
+
const { triageImportCommand } = await import("./triage-POXJ2TIX.js");
|
|
641
645
|
await triageImportCommand(file, options);
|
|
642
646
|
});
|
|
643
647
|
triageCmd.command("restore <file>").description("Restore from full backup").action(async (file) => {
|
|
644
|
-
const { triageRestoreCommand } = await import("./triage-
|
|
648
|
+
const { triageRestoreCommand } = await import("./triage-POXJ2TIX.js");
|
|
645
649
|
await triageRestoreCommand(file);
|
|
646
650
|
});
|
|
647
651
|
triageCmd.command("stats").description("Show statistics dashboard").option("-p, --period <period>", "Time period: 1d, 7d, 30d, 90d", "7d").option("--symbol <symbol>", "Show health for specific symbol").option("--json", "Output as JSON").action(async (options) => {
|
|
648
|
-
const { triageStatsCommand } = await import("./triage-
|
|
652
|
+
const { triageStatsCommand } = await import("./triage-POXJ2TIX.js");
|
|
649
653
|
await triageStatsCommand(options);
|
|
650
654
|
});
|
|
651
655
|
triageCmd.command("record").description("Manually record an incident").requiredOption("--error <message>", "Error message").requiredOption("-e, --env <environment>", "Environment").option("--feature <symbol>", "Feature symbol (@...)").option("--component <symbol>", "Component symbol (#...)").option("--flow <symbol>", "Flow symbol ($...)").option("--gate <symbol>", "Gate symbol (^...)").option("--signal <symbol>", "Signal symbol (!...)").option("--state <symbol>", "State symbol (%...)").option("--integration <symbol>", "Integration symbol (&...)").option("--service <name>", "Service name").option("--version <version>", "App version").option("--stack <trace>", "Stack trace").option("--json", "Output as JSON").action(async (options) => {
|
|
652
|
-
const { triageRecordCommand } = await import("./triage-
|
|
656
|
+
const { triageRecordCommand } = await import("./triage-POXJ2TIX.js");
|
|
653
657
|
await triageRecordCommand(options);
|
|
654
658
|
});
|
|
655
659
|
triageCmd.option("-l, --limit <number>", "Maximum incidents to show", "10").option("-s, --status <status>", "Filter by status").option("--json", "Output as JSON").action(async (options) => {
|
|
656
|
-
const { triageListCommand } = await import("./triage-
|
|
660
|
+
const { triageListCommand } = await import("./triage-POXJ2TIX.js");
|
|
657
661
|
await triageListCommand(options);
|
|
658
662
|
});
|
|
659
663
|
var loreCmd = program.command("lore").description("Project lore - timeline of everything that happened to this project");
|
|
660
664
|
loreCmd.command("list").alias("ls").description("List recent lore entries").option("--author <author>", "Filter by author").option("--type <type>", "Filter by type: agent-session, human-note, decision, review, incident, milestone, retro, insight").option("--symbol <symbol>", "Filter by symbol").option("--tags <tags>", "Filter by tags (comma-separated)").option("--from <date>", "Filter from date (ISO format, e.g., 2026-02-20)").option("--to <date>", "Filter to date (ISO format)").option("-l, --limit <number>", "Number of entries", "20").option("--json", "Output as JSON").action(async (options) => {
|
|
661
|
-
const { loreListCommand } = await import("./list-
|
|
665
|
+
const { loreListCommand } = await import("./list-BTLFHSRC.js");
|
|
662
666
|
await loreListCommand(options);
|
|
663
667
|
});
|
|
664
668
|
loreCmd.command("show <id>").description("Show full detail for a lore entry").option("--json", "Output as JSON").action(async (id, options) => {
|
|
665
|
-
const { loreShowCommand } = await import("./show-
|
|
669
|
+
const { loreShowCommand } = await import("./show-P7GYO43X.js");
|
|
666
670
|
await loreShowCommand(id, options);
|
|
667
671
|
});
|
|
668
|
-
loreCmd.command("record").description("Record a new lore entry (human note, milestone, etc.)").option("--type <type>", "Entry type: human-note, decision, milestone, retro, insight", "human-note").option("--author <author>", "Author name").option("--title <title>", "Entry title").option("--summary <summary>", "Entry summary").option("--symbols <symbols>", "Comma-separated symbols").option("--tags <tags>", "Comma-separated tags").option("--files-modified <files>", "Comma-separated files modified").option("--files-created <files>", "Comma-separated files created").option("--commit <hash>", "Git commit hash").option("--learnings <items>", "Comma-separated learnings").option("--duration <minutes>", "Duration in minutes").option("--meta <json>", `Project-defined metadata as JSON (e.g., '{"sprint": 12}')`).option("--body <text>", "Long-form content (detailed notes, rationale, etc.)").option("--link-lore <ids>", "Comma-separated lore entry IDs to link").option("--link-commits <shas>", "Comma-separated git commit SHAs to link").action(async (options) => {
|
|
669
|
-
const { loreRecordCommand } = await import("./record-
|
|
672
|
+
loreCmd.command("record").description("Record a new lore entry (human note, milestone, etc.)").option("--type <type>", "Entry type: human-note, decision, milestone, retro, insight", "human-note").option("--author <author>", "Author name").option("--title <title>", "Entry title").option("--summary <summary>", "Entry summary").option("--symbols <symbols>", "Comma-separated symbols").option("--tags <tags>", "Comma-separated tags").option("--files-modified <files>", "Comma-separated files modified").option("--files-created <files>", "Comma-separated files created").option("--commit <hash>", "Git commit hash").option("--learnings <items>", "Comma-separated learnings").option("--duration <minutes>", "Duration in minutes").option("--meta <json>", `Project-defined metadata as JSON (e.g., '{"sprint": 12}')`).option("--body <text>", "Long-form content (detailed notes, rationale, etc.)").option("--link-lore <ids>", "Comma-separated lore entry IDs to link").option("--link-commits <shas>", "Comma-separated git commit SHAs to link").option("--confidence <number>", "Confidence in correctness (0.0 to 1.0)").action(async (options) => {
|
|
673
|
+
const { loreRecordCommand } = await import("./record-46CLR4OG.js");
|
|
670
674
|
await loreRecordCommand(options);
|
|
671
675
|
});
|
|
672
676
|
loreCmd.command("review <id>").description("Add a review to a lore entry").option("--reviewer <name>", "Reviewer name").option("--completeness <n>", "Completeness score (1-5)", "3").option("--quality <n>", "Quality score (1-5)", "3").option("--notes <text>", "Review notes").action(async (id, options) => {
|
|
673
|
-
const { loreReviewCommand } = await import("./review-
|
|
677
|
+
const { loreReviewCommand } = await import("./review-Q7M4CRB5.js");
|
|
674
678
|
await loreReviewCommand(id, options);
|
|
675
679
|
});
|
|
680
|
+
loreCmd.command("assess <id> <verdict>").description("Record an assessment verdict on a lore entry (correct/partial/incorrect)").option("--assessor <name>", "Assessor name").option("--notes <text>", "Assessment notes").action(async (id, verdict, options) => {
|
|
681
|
+
const { loreAssessCommand } = await import("./assess-UHBDYIK7.js");
|
|
682
|
+
await loreAssessCommand(id, verdict, options);
|
|
683
|
+
});
|
|
684
|
+
loreCmd.command("calibration").description("Show calibration statistics across assessed lore entries").option("--symbol <symbol>", "Filter by symbol").option("--tag <tag>", "Filter by tag").option("--author <author>", "Filter by author").option("--group-by <dimension>", "Group by: symbol, tag, type").option("--json", "Output as JSON").action(async (options) => {
|
|
685
|
+
const { loreCalibrationCommand } = await import("./calibration-WWHK73WU.js");
|
|
686
|
+
await loreCalibrationCommand(options);
|
|
687
|
+
});
|
|
676
688
|
loreCmd.command("edit <id>").description("Edit an existing lore entry").option("--title <title>", "New title").option("--summary <summary>", "New summary").option("--type <type>", "New type: agent-session, human-note, decision, review, incident, milestone").option("--symbols <symbols>", "Comma-separated symbols").option("--tags <tags>", "Comma-separated tags").option("--learnings <items>", "Comma-separated learnings").action(async (id, options) => {
|
|
677
|
-
const { loreEditCommand } = await import("./edit-
|
|
689
|
+
const { loreEditCommand } = await import("./edit-4CLNN5JG.js");
|
|
678
690
|
await loreEditCommand(id, options);
|
|
679
691
|
});
|
|
680
692
|
loreCmd.command("delete <id>").description("Delete a lore entry").option("-y, --yes", "Skip confirmation").option("--dry-run", "Show what would be deleted without making changes").action(async (id, options) => {
|
|
681
|
-
const { loreDeleteCommand } = await import("./delete-
|
|
693
|
+
const { loreDeleteCommand } = await import("./delete-RRK4RL6Y.js");
|
|
682
694
|
await loreDeleteCommand(id, options);
|
|
683
695
|
});
|
|
684
696
|
loreCmd.command("migrate-assessments").description("Migrate assessment entries to lore with arc: tags").option("--dry-run", "Show what would be migrated without making changes").action(async (options) => {
|
|
685
|
-
const { loreMigrateAssessmentsCommand } = await import("./migrate-assessments-
|
|
697
|
+
const { loreMigrateAssessmentsCommand } = await import("./migrate-assessments-JP6Q5KME.js");
|
|
686
698
|
await loreMigrateAssessmentsCommand(options);
|
|
687
699
|
});
|
|
688
700
|
loreCmd.command("retag").description("Add or remove tags from matching lore entries").option("--add <tag>", "Tag to add").option("--remove <tag>", "Tag to remove").option("--type <type>", "Filter by entry type").option("--symbol <symbol>", "Filter by symbol").option("--author <author>", "Filter by author").option("--from <date>", "Filter from date").option("--to <date>", "Filter to date").option("--tags <tags>", "Filter by existing tags (comma-separated)").option("--dry-run", "Show what would change without making changes").action(async (options) => {
|
|
689
|
-
const { loreRetagCommand } = await import("./retag-
|
|
701
|
+
const { loreRetagCommand } = await import("./retag-KC4JVRLE.js");
|
|
690
702
|
await loreRetagCommand(options);
|
|
691
703
|
});
|
|
692
704
|
loreCmd.command("timeline").description("Show lore timeline grouped by date with hot symbols and authors").option("-l, --limit <number>", "Number of entries", "20").option("--json", "Output as JSON").action(async (options) => {
|
|
693
|
-
const { loreTimelineCommand } = await import("./timeline-
|
|
705
|
+
const { loreTimelineCommand } = await import("./timeline-ANC7LVDL.js");
|
|
694
706
|
await loreTimelineCommand(options);
|
|
695
707
|
});
|
|
696
708
|
loreCmd.option("-p, --port <port>", "Port to run on", "3840").option("--no-open", "Don't open browser automatically").action(async (options) => {
|
|
697
|
-
const { loreServeCommand } = await import("./serve-
|
|
709
|
+
const { loreServeCommand } = await import("./serve-22A4XOIG.js");
|
|
698
710
|
await loreServeCommand(void 0, options);
|
|
699
711
|
});
|
|
712
|
+
program.command("serve").description("Launch Paradigm Platform \u2014 unified development management UI").option("-p, --port <port>", "Port to run on", "3850").option("--no-open", "Don't open browser automatically").option("--sections <list>", "Comma-separated sections to enable (e.g., lore,graph,git)").action(async (options) => {
|
|
713
|
+
const { serveCommand } = await import("./serve-3V2WXLGM.js");
|
|
714
|
+
await serveCommand(options);
|
|
715
|
+
});
|
|
700
716
|
var graphCmd = program.command("graph").description("Interactive symbol relationship graph").argument("[path]", "Project directory", void 0).option("-p, --port <port>", "Port to run on", "3841").option("--no-open", "Don't open browser automatically").action(async (path2, options) => {
|
|
701
|
-
const { graphCommand } = await import("./graph-
|
|
717
|
+
const { graphCommand } = await import("./graph-YYUXI3F7.js");
|
|
702
718
|
await graphCommand(path2, options);
|
|
703
719
|
});
|
|
704
720
|
graphCmd.command("generate").description("Generate a named graph file in .paradigm/graphs/").argument("<name>", "Graph name (used as filename: {name}.graph.json)").argument("[path]", "Project directory", void 0).option("-s, --symbols <list>", "Comma-separated symbol names to include").option("-g, --group <spec...>", 'Group spec: "Label:#sym1,#sym2" (repeatable)').option("-l, --link <spec...>", 'Link spec: "Source>Target:label" (repeatable)').action(async (name, path2, options) => {
|
|
705
|
-
const { graphGenerateCommand } = await import("./graph-
|
|
721
|
+
const { graphGenerateCommand } = await import("./graph-YYUXI3F7.js");
|
|
706
722
|
await graphGenerateCommand(name, path2, options);
|
|
707
723
|
});
|
|
708
724
|
var habitsCmd = program.command("habits").description("Behavioral habits - practice tracking and compliance");
|
|
709
725
|
habitsCmd.command("list").alias("ls").description("List all configured habits").option("--trigger <trigger>", "Filter by trigger: preflight, postflight, on-stop, on-commit").option("--category <category>", "Filter by category: discovery, verification, testing, documentation, collaboration, security").option("--json", "Output as JSON").action(async (options) => {
|
|
710
|
-
const { habitsListCommand } = await import("./habits-
|
|
726
|
+
const { habitsListCommand } = await import("./habits-O37HTUKE.js");
|
|
711
727
|
await habitsListCommand(options);
|
|
712
728
|
});
|
|
713
729
|
habitsCmd.command("status").description("Show practice profile with compliance rates").option("-p, --period <period>", "Time period: 7d, 30d, 90d, all", "30d").option("--json", "Output as JSON").action(async (options) => {
|
|
714
|
-
const { habitsStatusCommand } = await import("./habits-
|
|
730
|
+
const { habitsStatusCommand } = await import("./habits-O37HTUKE.js");
|
|
715
731
|
await habitsStatusCommand(options);
|
|
716
732
|
});
|
|
717
733
|
habitsCmd.command("init").description("Initialize habits.yaml with seed habits").option("-f, --force", "Overwrite existing file").action(async (options) => {
|
|
718
|
-
const { habitsInitCommand } = await import("./habits-
|
|
734
|
+
const { habitsInitCommand } = await import("./habits-O37HTUKE.js");
|
|
719
735
|
await habitsInitCommand(options);
|
|
720
736
|
});
|
|
721
737
|
habitsCmd.command("check").description("Evaluate habit compliance for a trigger point").requiredOption("-t, --trigger <trigger>", "Trigger: preflight, postflight, on-stop, on-commit").option("--record", "Record practice events to Sentinel").option("--json", "Output as JSON").option("--files <files>", "Comma-separated files modified (default: git diff)").option("--symbols <symbols>", "Comma-separated symbols touched").action(async (options) => {
|
|
722
|
-
const { habitsCheckCommand } = await import("./habits-
|
|
738
|
+
const { habitsCheckCommand } = await import("./habits-O37HTUKE.js");
|
|
723
739
|
await habitsCheckCommand(options);
|
|
724
740
|
});
|
|
725
741
|
habitsCmd.command("add").description("Add a custom habit").requiredOption("--id <id>", "Habit ID (kebab-case)").requiredOption("--name <name>", "Human-readable name").requiredOption("--description <desc>", "What this habit enforces").requiredOption("--category <category>", "Category: discovery, verification, testing, documentation, collaboration, security").requiredOption("--trigger <trigger>", "Trigger: preflight, postflight, on-stop, on-commit").option("--severity <severity>", "Severity: advisory, warn, block", "advisory").option("--tools <tools>", "Comma-separated tools to check (for tool-called check type)").option("--check-type <type>", "Check type: tool-called, file-exists, file-modified, lore-recorded, symbols-registered, gates-declared, tests-exist, git-clean", "tool-called").option("--patterns <patterns>", "Comma-separated patterns (for file-exists, file-modified, tests-exist check types)").action(async (options) => {
|
|
726
|
-
const { habitsAddCommand } = await import("./habits-
|
|
742
|
+
const { habitsAddCommand } = await import("./habits-O37HTUKE.js");
|
|
727
743
|
await habitsAddCommand({ ...options, checkType: options.checkType });
|
|
728
744
|
});
|
|
729
745
|
habitsCmd.command("edit <id>").description("Edit a habit (seed habits: only severity/enabled; custom: all fields)").option("--name <name>", "New name").option("--description <desc>", "New description").option("--category <category>", "New category").option("--trigger <trigger>", "New trigger").option("--severity <severity>", "New severity: advisory, warn, block").option("--enabled <bool>", "Enable or disable: true, false").option("--check-type <type>", "New check type").option("--patterns <patterns>", "Comma-separated patterns").option("--tools <tools>", "Comma-separated tools").action(async (id, options) => {
|
|
730
|
-
const { habitsEditCommand } = await import("./habits-
|
|
746
|
+
const { habitsEditCommand } = await import("./habits-O37HTUKE.js");
|
|
731
747
|
await habitsEditCommand(id, { ...options, checkType: options.checkType });
|
|
732
748
|
});
|
|
733
749
|
habitsCmd.command("remove <id>").description("Remove a custom habit (seed habits cannot be removed, only disabled)").option("-y, --yes", "Skip confirmation").action(async (id, options) => {
|
|
734
|
-
const { habitsRemoveCommand } = await import("./habits-
|
|
750
|
+
const { habitsRemoveCommand } = await import("./habits-O37HTUKE.js");
|
|
735
751
|
await habitsRemoveCommand(id, options);
|
|
736
752
|
});
|
|
737
753
|
habitsCmd.command("enable <id>").description("Enable a habit").action(async (id) => {
|
|
738
|
-
const { habitsToggleCommand } = await import("./habits-
|
|
754
|
+
const { habitsToggleCommand } = await import("./habits-O37HTUKE.js");
|
|
739
755
|
await habitsToggleCommand(id, "enable");
|
|
740
756
|
});
|
|
741
757
|
habitsCmd.command("disable <id>").description("Disable a habit").action(async (id) => {
|
|
742
|
-
const { habitsToggleCommand } = await import("./habits-
|
|
758
|
+
const { habitsToggleCommand } = await import("./habits-O37HTUKE.js");
|
|
743
759
|
await habitsToggleCommand(id, "disable");
|
|
744
760
|
});
|
|
745
761
|
habitsCmd.action(async () => {
|
|
746
|
-
const { habitsListCommand } = await import("./habits-
|
|
762
|
+
const { habitsListCommand } = await import("./habits-O37HTUKE.js");
|
|
747
763
|
await habitsListCommand({});
|
|
748
764
|
});
|
|
749
765
|
var sentinelCmd = program.command("sentinel").description("Sentinel \u2014 semantic error monitoring");
|
|
750
766
|
sentinelCmd.command("defend [path]", { isDefault: true }).description("Launch the Sentinel UI - unified codebase intelligence visualizer").option("-p, --port <port>", "Port to run on", "3838").option("--no-open", "Don't open browser automatically").action(async (path2, options) => {
|
|
751
|
-
const { sentinelCommand } = await import("./sentinel-
|
|
767
|
+
const { sentinelCommand } = await import("./sentinel-BKYTBT7M.js");
|
|
752
768
|
await sentinelCommand(path2, options);
|
|
753
769
|
});
|
|
754
770
|
program.command("conductor").description("Launch Paradigm Conductor \u2014 multimodal mission control for Claude Code sessions").option("--build", "Force rebuild the native binary").option("-v, --verbose", "Show build output").action(async (options) => {
|
|
755
771
|
const { conductorCommand } = await import("./conductor-HLWYWUVH.js");
|
|
756
772
|
await conductorCommand(options);
|
|
757
773
|
});
|
|
758
|
-
program.command("university").description("
|
|
759
|
-
|
|
760
|
-
await
|
|
774
|
+
var universityCmd = program.command("university").description("Per-project university - knowledge base, quizzes, learning paths & PLSAT certification");
|
|
775
|
+
universityCmd.command("serve").description("Launch Paradigm University learning platform").option("-p, --port <port>", "Port to run on", "3839").option("--no-open", "Don't open browser automatically").action(async (options) => {
|
|
776
|
+
const { universityServeCommand } = await import("./serve-2YJ6D2Y6.js");
|
|
777
|
+
await universityServeCommand(void 0, options);
|
|
778
|
+
});
|
|
779
|
+
universityCmd.command("list").alias("ls").description("List university content").option("--type <type>", "Filter by type: note, policy, guide, runbook, quiz, path").option("--tag <tag>", "Filter by tag").option("--difficulty <level>", "Filter by difficulty: beginner, intermediate, advanced").option("--symbol <symbol>", "Filter by Paradigm symbol").option("-l, --limit <number>", "Number of entries", "20").option("--json", "Output as JSON").action(async (options) => {
|
|
780
|
+
const { universityListCommand } = await import("./list-IUCYPGMK.js");
|
|
781
|
+
await universityListCommand(options);
|
|
782
|
+
});
|
|
783
|
+
universityCmd.command("add <type>").description("Create university content (note, policy, guide, runbook, quiz)").option("--title <title>", "Content title (required)").option("--body <text>", "Content body (markdown)").option("--tags <tags>", "Comma-separated tags").option("--symbols <symbols>", "Comma-separated Paradigm symbols").option("--difficulty <level>", "Difficulty: beginner, intermediate, advanced").option("--minutes <n>", "Estimated reading time in minutes").action(async (type, options) => {
|
|
784
|
+
const { universityAddCommand } = await import("./add-VSPZ6FM4.js");
|
|
785
|
+
await universityAddCommand(type, options);
|
|
786
|
+
});
|
|
787
|
+
universityCmd.command("show <id>").description("Show a content item in full").option("--json", "Output as JSON").action(async (id, options) => {
|
|
788
|
+
const { universityShowCommand } = await import("./show-PKZMYKRN.js");
|
|
789
|
+
await universityShowCommand(id, options);
|
|
790
|
+
});
|
|
791
|
+
universityCmd.command("quiz <id>").description("Take an interactive quiz in the terminal").action(async (id) => {
|
|
792
|
+
const { universityQuizCommand } = await import("./quiz-I75NU2QQ.js");
|
|
793
|
+
await universityQuizCommand(id);
|
|
794
|
+
});
|
|
795
|
+
universityCmd.command("status").description("Show university content overview and completion stats").option("--json", "Output as JSON").action(async (options) => {
|
|
796
|
+
const { universityStatusCommand } = await import("./status-KLHALGW4.js");
|
|
797
|
+
await universityStatusCommand(options);
|
|
798
|
+
});
|
|
799
|
+
universityCmd.command("validate").description("Validate university content integrity").option("--deep", "Enable deep cross-reference checks against scan-index").option("--id <id>", "Validate a specific content item").option("--json", "Output as JSON").action(async (options) => {
|
|
800
|
+
const { universityValidateCommand } = await import("./validate-GD5XWILV.js");
|
|
801
|
+
await universityValidateCommand(options);
|
|
802
|
+
});
|
|
803
|
+
universityCmd.option("-p, --port <port>", "Port to run on", "3839").option("--no-open", "Don't open browser automatically").action(async (options) => {
|
|
804
|
+
const { universityServeCommand } = await import("./serve-2YJ6D2Y6.js");
|
|
805
|
+
await universityServeCommand(void 0, options);
|
|
761
806
|
});
|
|
762
807
|
var pipelineCmd = program.command("pipeline").description("Spec pipeline \u2014 structured feature workflow with configurable gates");
|
|
763
808
|
pipelineCmd.command("start <description>").description("Create a new pipeline for a feature").option("--template <template>", "Pipeline template (add-feature, bug-fix, security-change, refactor)", "add-feature").option("--gates <gates>", "Custom gate modes: specify,plan,task,implement,validate").action(async (description, options) => {
|
|
@@ -788,4 +833,73 @@ pipelineCmd.action(async () => {
|
|
|
788
833
|
const { pipelineListCommand } = await import("./pipeline-3G2FRAKM.js");
|
|
789
834
|
await pipelineListCommand();
|
|
790
835
|
});
|
|
836
|
+
var symphonyCmd = program.command("symphony").description("Symphony \u2014 agent-to-agent messaging for multi-session collaboration");
|
|
837
|
+
symphonyCmd.command("join").description("Join this session to the Symphony network").option("--remote <ip>", "Connect to remote Symphony server").action(async (options) => {
|
|
838
|
+
const { symphonyJoinCommand } = await import("./symphony-ROEKK7VD.js");
|
|
839
|
+
await symphonyJoinCommand(options);
|
|
840
|
+
});
|
|
841
|
+
symphonyCmd.command("leave").description("Remove this session from the Symphony network").action(async () => {
|
|
842
|
+
const { symphonyLeaveCommand } = await import("./symphony-ROEKK7VD.js");
|
|
843
|
+
await symphonyLeaveCommand();
|
|
844
|
+
});
|
|
845
|
+
symphonyCmd.command("whoami").description("Show this agent's identity and linked peers").action(async () => {
|
|
846
|
+
const { symphonyWhoamiCommand } = await import("./symphony-ROEKK7VD.js");
|
|
847
|
+
await symphonyWhoamiCommand();
|
|
848
|
+
});
|
|
849
|
+
symphonyCmd.command("list").alias("ls").description("List all joined agents").option("--json", "Output as JSON").action(async (options) => {
|
|
850
|
+
const { symphonyListCommand } = await import("./symphony-ROEKK7VD.js");
|
|
851
|
+
await symphonyListCommand(options);
|
|
852
|
+
});
|
|
853
|
+
symphonyCmd.command("send <message>").description("Send a note to agents").option("--to <agent>", "Send to specific agent (omit for broadcast)").option("--thread <id>", "Reply to existing thread").action(async (message, options) => {
|
|
854
|
+
const { symphonySendCommand } = await import("./symphony-ROEKK7VD.js");
|
|
855
|
+
await symphonySendCommand(message, options);
|
|
856
|
+
});
|
|
857
|
+
symphonyCmd.command("read").description("Show unread notes").action(async () => {
|
|
858
|
+
const { symphonyReadCommand } = await import("./symphony-ROEKK7VD.js");
|
|
859
|
+
await symphonyReadCommand();
|
|
860
|
+
});
|
|
861
|
+
symphonyCmd.command("inbox").description("Show unread notes (alias for read)").action(async () => {
|
|
862
|
+
const { symphonyReadCommand } = await import("./symphony-ROEKK7VD.js");
|
|
863
|
+
await symphonyReadCommand();
|
|
864
|
+
});
|
|
865
|
+
symphonyCmd.command("threads").description("List all threads").option("--json", "Output as JSON").action(async (options) => {
|
|
866
|
+
const { symphonyThreadsCommand } = await import("./symphony-ROEKK7VD.js");
|
|
867
|
+
await symphonyThreadsCommand(options);
|
|
868
|
+
});
|
|
869
|
+
symphonyCmd.command("thread <id>").description("Show full thread conversation").action(async (id) => {
|
|
870
|
+
const { symphonyThreadCommand } = await import("./symphony-ROEKK7VD.js");
|
|
871
|
+
await symphonyThreadCommand(id);
|
|
872
|
+
});
|
|
873
|
+
symphonyCmd.command("resolve <id>").description("Mark a thread as resolved").option("--decision <text>", "Decision text to record").action(async (id, options) => {
|
|
874
|
+
const { symphonyResolveCommand } = await import("./symphony-ROEKK7VD.js");
|
|
875
|
+
await symphonyResolveCommand(id, options);
|
|
876
|
+
});
|
|
877
|
+
symphonyCmd.command("status").description("Show Symphony network status").option("--json", "Output as JSON").action(async (options) => {
|
|
878
|
+
const { symphonyStatusCommand } = await import("./symphony-ROEKK7VD.js");
|
|
879
|
+
await symphonyStatusCommand(options);
|
|
880
|
+
});
|
|
881
|
+
symphonyCmd.command("serve").description("Start TCP server for remote Symphony linking").option("--port <port>", "Port to listen on", "3939").action(async (options) => {
|
|
882
|
+
const { symphonyServeCommand } = await import("./symphony-ROEKK7VD.js");
|
|
883
|
+
await symphonyServeCommand(options);
|
|
884
|
+
});
|
|
885
|
+
symphonyCmd.command("request <file>").description("Request a file from another agent").option("--from <agent>", "Agent to request from").option("--reason <text>", "Why this file is needed").action(async (file, options) => {
|
|
886
|
+
const { symphonyRequestCommand } = await import("./symphony-ROEKK7VD.js");
|
|
887
|
+
await symphonyRequestCommand(file, options);
|
|
888
|
+
});
|
|
889
|
+
symphonyCmd.command("requests").description("List pending file requests").action(async () => {
|
|
890
|
+
const { symphonyRequestsCommand } = await import("./symphony-ROEKK7VD.js");
|
|
891
|
+
await symphonyRequestsCommand();
|
|
892
|
+
});
|
|
893
|
+
symphonyCmd.command("approve <id>").description("Approve a file request").option("--redact", "Strip sensitive lines before sending").action(async (id, options) => {
|
|
894
|
+
const { symphonyApproveCommand } = await import("./symphony-ROEKK7VD.js");
|
|
895
|
+
await symphonyApproveCommand(id, options);
|
|
896
|
+
});
|
|
897
|
+
symphonyCmd.command("deny <id>").description("Deny a file request").option("--reason <text>", "Reason for denial").action(async (id, options) => {
|
|
898
|
+
const { symphonyDenyCommand } = await import("./symphony-ROEKK7VD.js");
|
|
899
|
+
await symphonyDenyCommand(id, options);
|
|
900
|
+
});
|
|
901
|
+
symphonyCmd.action(async () => {
|
|
902
|
+
const { symphonyStatusCommand } = await import("./symphony-ROEKK7VD.js");
|
|
903
|
+
await symphonyStatusCommand({});
|
|
904
|
+
});
|
|
791
905
|
program.parse();
|