@a-company/paradigm 3.9.0 → 3.12.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-DIGPJVUR.js → accept-orchestration-YKMKMWGA.js} +5 -5
- package/dist/{assessment-loader-T4GPBHLB.js → assessment-loader-C5EOUM47.js} +0 -1
- package/dist/{chunk-4N6AYEEA.js → chunk-4PEQHWD7.js} +1 -1
- package/dist/{chunk-5S5CF3ER.js → chunk-4ZO3ZOPM.js} +19 -2141
- package/dist/chunk-C3BK3E23.js +268 -0
- package/dist/{chunk-Y4XZWCHK.js → chunk-CQFNTBFJ.js} +8 -8
- package/dist/{chunk-KFHK6EBI.js → chunk-CYGHL7PQ.js} +63 -7
- package/dist/{chunk-M2XMTJHQ.js → chunk-DS5QY37M.js} +201 -287
- package/dist/chunk-F6EJKLF4.js +4971 -0
- package/dist/{chunk-6RNYVBSG.js → chunk-JQYGPVLQ.js} +4 -4
- package/dist/{chunk-BC6XKMUA.js → chunk-K34C7NAN.js} +4 -4
- package/dist/{chunk-2QNZ6PVD.js → chunk-KB4XJWE3.js} +63 -1
- package/dist/chunk-MW5DMGBB.js +255 -0
- package/dist/{chunk-GY5KO3YZ.js → chunk-RDPXBMHK.js} +1 -1
- package/dist/{chunk-QHJGB5TV.js → chunk-RP6TZYGE.js} +1 -1
- package/dist/{chunk-ADOBV4PH.js → chunk-UVI3OH3G.js} +6 -2127
- package/dist/{diff-J6C5IHPV.js → diff-4FV7T35U.js} +5 -5
- package/dist/{dist-OLFOTUHS.js → dist-6SX5ZKKF.js} +2 -2
- package/dist/{dist-OMY7U6NR.js → dist-YB7T54QE.js} +1 -2
- package/dist/{doctor-TQYRF7KK.js → doctor-2KM5HOK6.js} +3 -3
- package/dist/drift-FH2UY64B.js +251 -0
- package/dist/{flow-7JUH6D4H.js → flow-MCKPJGRJ.js} +1 -1
- package/dist/{habits-ZJBAL4HD.js → habits-NC2TRMRV.js} +2 -2
- package/dist/{hooks-DLZEYHI3.js → hooks-JXYHVGIN.js} +1 -1
- package/dist/index.js +87 -61
- package/dist/mcp.js +5502 -9984
- package/dist/{orchestrate-FAV64G2R.js → orchestrate-IV54FMHD.js} +5 -5
- package/dist/{plugin-update-checker-TWBWUSAG.js → plugin-update-checker-S3W4BUJO.js} +0 -1
- package/dist/portal-check-2HI4FFD6.js +42 -0
- package/dist/portal-compliance-KQCTAQTJ.js +18 -0
- package/dist/{providers-NQ67LO2Z.js → providers-IONB4YRJ.js} +1 -1
- package/dist/reindex-ZM6J53UP.js +11 -0
- package/dist/{sentinel-KDIGZWKT.js → sentinel-BGCISNIK.js} +1 -1
- package/dist/{server-NN7WDAZJ.js → server-3K3TTJH3.js} +1 -1
- package/dist/{shift-KJWSJLWN.js → shift-G2ZCIR5Q.js} +158 -19
- package/dist/{spawn-EO7B2UM3.js → spawn-7SDONTJN.js} +3 -3
- package/dist/{summary-E2PU4UN2.js → summary-F46FRO3Y.js} +1 -1
- package/dist/{sync-5VJPZQNX.js → sync-4CNRHUWX.js} +3 -3
- package/dist/{sync-llms-7QDA3ZWC.js → sync-llms-MCWB37HN.js} +2 -2
- package/dist/{task-loader-GUX4KS6N.js → task-loader-7M2FCBX6.js} +0 -1
- package/dist/{team-6CCNANKE.js → team-XUZBPIFZ.js} +6 -6
- package/dist/{triage-B5W6GZLT.js → triage-MKKIWBSW.js} +2 -2
- package/dist/{upgrade-RBSE4M6I.js → upgrade-HGF4MBGV.js} +1 -1
- package/dist/{watch-PAEH6MOG.js → watch-CL2PPS2K.js} +1 -1
- package/dist/workspace-7CWY4IWV.js +20 -0
- package/package.json +2 -1
- package/dist/chunk-HPC3JAUP.js +0 -42
- /package/dist/{chunk-CCG6KYBT.js → chunk-5N5LR2KS.js} +0 -0
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BackgroundOrchestrator,
|
|
4
4
|
Orchestrator
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-CQFNTBFJ.js";
|
|
6
6
|
import "./chunk-6QC3YGB6.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-PBHIFAL4.js";
|
|
10
|
-
import "./chunk-CCG6KYBT.js";
|
|
7
|
+
import "./chunk-JQYGPVLQ.js";
|
|
8
|
+
import "./chunk-5N5LR2KS.js";
|
|
11
9
|
import {
|
|
12
10
|
loadAgentsManifest
|
|
13
11
|
} from "./chunk-PMXRGPRQ.js";
|
|
12
|
+
import "./chunk-PBHIFAL4.js";
|
|
14
13
|
import "./chunk-6P4IFIK2.js";
|
|
15
14
|
import "./chunk-MRENOFTR.js";
|
|
16
15
|
import "./chunk-IRKUEJVW.js";
|
|
16
|
+
import "./chunk-MW5DMGBB.js";
|
|
17
17
|
import {
|
|
18
18
|
formatCost,
|
|
19
19
|
formatTokens
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
checkPortalCompliance,
|
|
4
|
+
formatComplianceReport
|
|
5
|
+
} from "./chunk-MW5DMGBB.js";
|
|
6
|
+
import "./chunk-MO4EEYFW.js";
|
|
7
|
+
|
|
8
|
+
// src/commands/portal-check.ts
|
|
9
|
+
import chalk from "chalk";
|
|
10
|
+
async function portalCheckCommand(options) {
|
|
11
|
+
const rootDir = process.cwd();
|
|
12
|
+
const report = await checkPortalCompliance(rootDir);
|
|
13
|
+
if (options.json) {
|
|
14
|
+
console.log(JSON.stringify({
|
|
15
|
+
status: report.status,
|
|
16
|
+
declaredButUnusedCount: report.declaredButUnused.length,
|
|
17
|
+
usedButUndeclaredCount: report.usedButUndeclared.length,
|
|
18
|
+
properlyDeclaredCount: report.properlyDeclared.length,
|
|
19
|
+
declaredButUnused: report.declaredButUnused,
|
|
20
|
+
usedButUndeclared: report.usedButUndeclared,
|
|
21
|
+
properlyDeclared: report.properlyDeclared
|
|
22
|
+
}));
|
|
23
|
+
} else {
|
|
24
|
+
const formatted = formatComplianceReport(report);
|
|
25
|
+
if (report.status === "compliant") {
|
|
26
|
+
console.log(chalk.green(`
|
|
27
|
+
${formatted}
|
|
28
|
+
`));
|
|
29
|
+
} else if (report.status === "warnings") {
|
|
30
|
+
console.log(chalk.yellow(`
|
|
31
|
+
${formatted}
|
|
32
|
+
`));
|
|
33
|
+
} else {
|
|
34
|
+
console.log(chalk.red(`
|
|
35
|
+
${formatted}
|
|
36
|
+
`));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
portalCheckCommand
|
|
42
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
checkPortalCompliance,
|
|
4
|
+
extractDeclaredGates,
|
|
5
|
+
findGateReferences,
|
|
6
|
+
formatComplianceReport,
|
|
7
|
+
getComplianceSummary,
|
|
8
|
+
loadPortalConfig
|
|
9
|
+
} from "./chunk-MW5DMGBB.js";
|
|
10
|
+
import "./chunk-MO4EEYFW.js";
|
|
11
|
+
export {
|
|
12
|
+
checkPortalCompliance,
|
|
13
|
+
extractDeclaredGates,
|
|
14
|
+
findGateReferences,
|
|
15
|
+
formatComplianceReport,
|
|
16
|
+
getComplianceSummary,
|
|
17
|
+
loadPortalConfig
|
|
18
|
+
};
|
|
@@ -9,7 +9,7 @@ async function sentinelCommand(path, options) {
|
|
|
9
9
|
const shouldOpen = options.open !== false;
|
|
10
10
|
console.log(chalk.cyan("\nStarting Sentinel...\n"));
|
|
11
11
|
try {
|
|
12
|
-
const { startServer } = await import("./server-
|
|
12
|
+
const { startServer } = await import("./server-3K3TTJH3.js");
|
|
13
13
|
console.log(chalk.gray(`Project: ${projectDir}`));
|
|
14
14
|
console.log(chalk.gray(`Port: ${port}`));
|
|
15
15
|
console.log();
|
|
@@ -1,43 +1,46 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
teamInitCommand
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-4PEQHWD7.js";
|
|
5
|
+
import "./chunk-CQFNTBFJ.js";
|
|
6
6
|
import "./chunk-6QC3YGB6.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-PBHIFAL4.js";
|
|
10
|
-
import "./chunk-CCG6KYBT.js";
|
|
7
|
+
import "./chunk-JQYGPVLQ.js";
|
|
8
|
+
import "./chunk-5N5LR2KS.js";
|
|
11
9
|
import {
|
|
12
10
|
agentsConfigured
|
|
13
11
|
} from "./chunk-PMXRGPRQ.js";
|
|
12
|
+
import "./chunk-PBHIFAL4.js";
|
|
14
13
|
import {
|
|
15
14
|
hooksInstallCommand
|
|
16
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-DS5QY37M.js";
|
|
17
16
|
import {
|
|
18
|
-
|
|
19
|
-
} from "./chunk-
|
|
17
|
+
detectProjectRole
|
|
18
|
+
} from "./chunk-C3BK3E23.js";
|
|
20
19
|
import {
|
|
21
|
-
|
|
22
|
-
} from "./chunk-
|
|
20
|
+
initCommand
|
|
21
|
+
} from "./chunk-K34C7NAN.js";
|
|
23
22
|
import {
|
|
24
23
|
detectDiscipline
|
|
25
24
|
} from "./chunk-CHSHON3O.js";
|
|
25
|
+
import {
|
|
26
|
+
indexCommand
|
|
27
|
+
} from "./chunk-UI3XXVJ6.js";
|
|
26
28
|
import "./chunk-AK5M6KJB.js";
|
|
27
29
|
import "./chunk-6P4IFIK2.js";
|
|
28
30
|
import "./chunk-MRENOFTR.js";
|
|
29
31
|
import "./chunk-IRKUEJVW.js";
|
|
30
32
|
import {
|
|
31
33
|
syncCommand
|
|
32
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-RP6TZYGE.js";
|
|
35
|
+
import "./chunk-MW5DMGBB.js";
|
|
33
36
|
import {
|
|
34
37
|
doctorCommand
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import "./chunk-
|
|
38
|
+
} from "./chunk-CYGHL7PQ.js";
|
|
39
|
+
import "./chunk-KB4XJWE3.js";
|
|
40
|
+
import "./chunk-YO6DVTL7.js";
|
|
37
41
|
import {
|
|
38
42
|
log
|
|
39
43
|
} from "./chunk-4NCFWYGG.js";
|
|
40
|
-
import "./chunk-YO6DVTL7.js";
|
|
41
44
|
import "./chunk-5JGJACDU.js";
|
|
42
45
|
import "./chunk-MO4EEYFW.js";
|
|
43
46
|
|
|
@@ -110,6 +113,107 @@ discipline: ${detected}`
|
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
115
|
}
|
|
116
|
+
{
|
|
117
|
+
const configPath = path.join(paradigmDir, "config.yaml");
|
|
118
|
+
if (options.workspace && fs.existsSync(configPath)) {
|
|
119
|
+
const wsFilePath = options.workspacePath ? path.resolve(cwd, options.workspacePath) : path.join(path.dirname(cwd), ".paradigm-workspace");
|
|
120
|
+
if (fs.existsSync(wsFilePath)) {
|
|
121
|
+
try {
|
|
122
|
+
const wsConfig = yaml.load(fs.readFileSync(wsFilePath, "utf8"));
|
|
123
|
+
const currentName = path.basename(cwd);
|
|
124
|
+
const wsDir = path.dirname(wsFilePath);
|
|
125
|
+
const relPath = "./" + path.relative(wsDir, cwd);
|
|
126
|
+
const alreadyMember = wsConfig.members.some(
|
|
127
|
+
(m) => path.resolve(wsDir, m.path) === cwd
|
|
128
|
+
);
|
|
129
|
+
if (!alreadyMember) {
|
|
130
|
+
const role = detectProjectRole(currentName, cwd);
|
|
131
|
+
wsConfig.members.push({
|
|
132
|
+
name: currentName,
|
|
133
|
+
path: relPath,
|
|
134
|
+
...role && { role }
|
|
135
|
+
});
|
|
136
|
+
fs.writeFileSync(
|
|
137
|
+
wsFilePath,
|
|
138
|
+
yaml.dump(wsConfig, { indent: 2, lineWidth: 120, noRefs: true, sortKeys: false, quotingType: '"' }),
|
|
139
|
+
"utf8"
|
|
140
|
+
);
|
|
141
|
+
console.log(chalk.green(` \u2713 Joined workspace: ${chalk.cyan(wsConfig.name)} (added as member)`));
|
|
142
|
+
} else {
|
|
143
|
+
console.log(chalk.green(` \u2713 Already a member of workspace: ${chalk.cyan(wsConfig.name)}`));
|
|
144
|
+
}
|
|
145
|
+
} catch (e) {
|
|
146
|
+
console.log(chalk.yellow(` \u26A0 Failed to join workspace: ${e.message}`));
|
|
147
|
+
}
|
|
148
|
+
} else {
|
|
149
|
+
try {
|
|
150
|
+
const currentName = path.basename(cwd);
|
|
151
|
+
const wsDir = path.dirname(wsFilePath);
|
|
152
|
+
const relPath = "./" + path.relative(wsDir, cwd);
|
|
153
|
+
const role = detectProjectRole(currentName, cwd);
|
|
154
|
+
const wsConfig = {
|
|
155
|
+
version: "1.0",
|
|
156
|
+
name: options.workspace,
|
|
157
|
+
members: [{ name: currentName, path: relPath, ...role && { role } }]
|
|
158
|
+
};
|
|
159
|
+
fs.mkdirSync(path.dirname(wsFilePath), { recursive: true });
|
|
160
|
+
fs.writeFileSync(
|
|
161
|
+
wsFilePath,
|
|
162
|
+
yaml.dump(wsConfig, { indent: 2, lineWidth: 120, noRefs: true, sortKeys: false, quotingType: '"' }),
|
|
163
|
+
"utf8"
|
|
164
|
+
);
|
|
165
|
+
console.log(chalk.green(` \u2713 Created workspace: ${chalk.cyan(options.workspace)} at ${chalk.gray(path.relative(cwd, wsFilePath))}`));
|
|
166
|
+
} catch (e) {
|
|
167
|
+
console.log(chalk.yellow(` \u26A0 Failed to create workspace: ${e.message}`));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
const configContent = fs.readFileSync(configPath, "utf8");
|
|
172
|
+
const config = yaml.load(configContent);
|
|
173
|
+
const relWsPath = path.relative(cwd, wsFilePath);
|
|
174
|
+
if (config.workspace !== relWsPath) {
|
|
175
|
+
if (config.workspace) {
|
|
176
|
+
const updated = configContent.replace(
|
|
177
|
+
/^workspace:\s*.*$/m,
|
|
178
|
+
`workspace: "${relWsPath}"`
|
|
179
|
+
);
|
|
180
|
+
fs.writeFileSync(configPath, updated, "utf8");
|
|
181
|
+
} else {
|
|
182
|
+
const updated = configContent.trimEnd() + `
|
|
183
|
+
workspace: "${relWsPath}"
|
|
184
|
+
`;
|
|
185
|
+
fs.writeFileSync(configPath, updated, "utf8");
|
|
186
|
+
}
|
|
187
|
+
console.log(chalk.green(` \u2713 Linked workspace in config.yaml`));
|
|
188
|
+
}
|
|
189
|
+
} catch {
|
|
190
|
+
}
|
|
191
|
+
} else if (fs.existsSync(configPath)) {
|
|
192
|
+
try {
|
|
193
|
+
const configContent = fs.readFileSync(configPath, "utf8");
|
|
194
|
+
const config = yaml.load(configContent);
|
|
195
|
+
if (!config.workspace) {
|
|
196
|
+
let searchDir = path.dirname(cwd);
|
|
197
|
+
for (let i = 0; i < 3; i++) {
|
|
198
|
+
const wsCandidate = path.join(searchDir, ".paradigm-workspace");
|
|
199
|
+
if (fs.existsSync(wsCandidate)) {
|
|
200
|
+
const relPath = path.relative(cwd, wsCandidate);
|
|
201
|
+
const updated = configContent.trimEnd() + `
|
|
202
|
+
workspace: "${relPath}"
|
|
203
|
+
`;
|
|
204
|
+
fs.writeFileSync(configPath, updated, "utf8");
|
|
205
|
+
console.log(chalk.green(` \u2713 Found workspace: ${chalk.cyan(relPath)} (added to config.yaml)`));
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
const parent = path.dirname(searchDir);
|
|
209
|
+
if (parent === searchDir) break;
|
|
210
|
+
searchDir = parent;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
} catch {
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
113
217
|
const teamConfigured = agentsConfigured(cwd);
|
|
114
218
|
if (!teamConfigured || options.force) {
|
|
115
219
|
console.log(chalk.cyan(" Step 2/6: Initializing team configuration..."));
|
|
@@ -139,6 +243,25 @@ discipline: ${detected}`
|
|
|
139
243
|
} else {
|
|
140
244
|
spinner.succeed(chalk.gray("Step 3/6: Skipped scan (--quick mode)"));
|
|
141
245
|
}
|
|
246
|
+
{
|
|
247
|
+
const configPath = path.join(paradigmDir, "config.yaml");
|
|
248
|
+
if (fs.existsSync(configPath)) {
|
|
249
|
+
try {
|
|
250
|
+
const configForWs = yaml.load(fs.readFileSync(configPath, "utf8"));
|
|
251
|
+
if (configForWs.workspace) {
|
|
252
|
+
spinner.start("Step 3b/6: Reindexing workspace members...");
|
|
253
|
+
try {
|
|
254
|
+
const { workspaceReindexCommand } = await import("./workspace-7CWY4IWV.js");
|
|
255
|
+
await workspaceReindexCommand({ quiet: true });
|
|
256
|
+
spinner.succeed(chalk.green("Workspace members reindexed"));
|
|
257
|
+
} catch (e) {
|
|
258
|
+
spinner.warn(chalk.yellow(`Workspace reindex: ${e.message}`));
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
} catch {
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
142
265
|
const lorePath = path.join(cwd, ".paradigm", "lore");
|
|
143
266
|
if (!fs.existsSync(lorePath)) {
|
|
144
267
|
fs.mkdirSync(lorePath, { recursive: true });
|
|
@@ -204,6 +327,18 @@ discipline: ${detected}`
|
|
|
204
327
|
{ path: ".claude/hooks/", desc: "Claude Code enforcement hooks", isDir: true, optional: true },
|
|
205
328
|
{ path: ".cursor/hooks/", desc: "Cursor enforcement hooks", isDir: true, optional: true }
|
|
206
329
|
];
|
|
330
|
+
const configPathForSummary = path.join(paradigmDir, "config.yaml");
|
|
331
|
+
if (fs.existsSync(configPathForSummary)) {
|
|
332
|
+
try {
|
|
333
|
+
const cfg = yaml.load(fs.readFileSync(configPathForSummary, "utf8"));
|
|
334
|
+
if (typeof cfg.workspace === "string") {
|
|
335
|
+
const wsAbsPath = path.resolve(cwd, cfg.workspace);
|
|
336
|
+
const wsRelPath = path.relative(cwd, wsAbsPath);
|
|
337
|
+
files.push({ path: wsRelPath, desc: "Multi-project workspace", optional: true });
|
|
338
|
+
}
|
|
339
|
+
} catch {
|
|
340
|
+
}
|
|
341
|
+
}
|
|
207
342
|
for (const file of files) {
|
|
208
343
|
const fullPath = path.join(cwd, file.path);
|
|
209
344
|
if (fs.existsSync(fullPath)) {
|
|
@@ -223,10 +358,14 @@ discipline: ${detected}`
|
|
|
223
358
|
console.log("");
|
|
224
359
|
console.log(chalk.white(" Next steps:"));
|
|
225
360
|
console.log(chalk.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
361
|
+
let nextStep = 1;
|
|
362
|
+
if (options.workspace) {
|
|
363
|
+
console.log(chalk.white(` ${nextStep++}. `) + chalk.gray("Run ") + chalk.cyan(`paradigm shift --workspace "${options.workspace}"`) + chalk.gray(" in sibling projects"));
|
|
364
|
+
}
|
|
365
|
+
console.log(chalk.white(` ${nextStep++}. `) + chalk.gray("Edit ") + chalk.cyan(".purpose") + chalk.gray(" to define your features"));
|
|
366
|
+
console.log(chalk.white(` ${nextStep++}. `) + chalk.gray("Create ") + chalk.cyan("portal.yaml") + chalk.gray(" if you have authorization"));
|
|
367
|
+
console.log(chalk.white(` ${nextStep++}. `) + chalk.gray("Add ") + chalk.cyan(".purpose") + chalk.gray(" files to feature directories"));
|
|
368
|
+
console.log(chalk.white(` ${nextStep++}. `) + chalk.gray("Run ") + chalk.cyan("paradigm shift --verify") + chalk.gray(" to check health"));
|
|
230
369
|
console.log("");
|
|
231
370
|
tracker.success("Paradigm shift complete", { project: projectName });
|
|
232
371
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
AgentSpawner
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-PBHIFAL4.js";
|
|
4
|
+
} from "./chunk-JQYGPVLQ.js";
|
|
6
5
|
import {
|
|
7
6
|
getBestProvider
|
|
8
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5N5LR2KS.js";
|
|
9
8
|
import {
|
|
10
9
|
loadAgentsManifest
|
|
11
10
|
} from "./chunk-PMXRGPRQ.js";
|
|
11
|
+
import "./chunk-PBHIFAL4.js";
|
|
12
12
|
import {
|
|
13
13
|
formatTokens
|
|
14
14
|
} from "./chunk-5JGJACDU.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
syncCommand
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-4NCFWYGG.js";
|
|
4
|
+
} from "./chunk-RP6TZYGE.js";
|
|
5
|
+
import "./chunk-KB4XJWE3.js";
|
|
7
6
|
import "./chunk-YO6DVTL7.js";
|
|
7
|
+
import "./chunk-4NCFWYGG.js";
|
|
8
8
|
import "./chunk-MO4EEYFW.js";
|
|
9
9
|
export {
|
|
10
10
|
syncCommand
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
loadParadigmFiles
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KB4XJWE3.js";
|
|
5
|
+
import "./chunk-YO6DVTL7.js";
|
|
5
6
|
import {
|
|
6
7
|
log
|
|
7
8
|
} from "./chunk-4NCFWYGG.js";
|
|
8
|
-
import "./chunk-YO6DVTL7.js";
|
|
9
9
|
import "./chunk-MO4EEYFW.js";
|
|
10
10
|
|
|
11
11
|
// src/commands/sync-llms.ts
|
|
@@ -8,17 +8,17 @@ import {
|
|
|
8
8
|
teamModelsCommand,
|
|
9
9
|
teamResetCommand,
|
|
10
10
|
teamStatusCommand
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-4PEQHWD7.js";
|
|
12
|
+
import "./chunk-CQFNTBFJ.js";
|
|
13
13
|
import "./chunk-6QC3YGB6.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-PBHIFAL4.js";
|
|
17
|
-
import "./chunk-CCG6KYBT.js";
|
|
14
|
+
import "./chunk-JQYGPVLQ.js";
|
|
15
|
+
import "./chunk-5N5LR2KS.js";
|
|
18
16
|
import "./chunk-PMXRGPRQ.js";
|
|
17
|
+
import "./chunk-PBHIFAL4.js";
|
|
19
18
|
import "./chunk-6P4IFIK2.js";
|
|
20
19
|
import "./chunk-MRENOFTR.js";
|
|
21
20
|
import "./chunk-IRKUEJVW.js";
|
|
21
|
+
import "./chunk-MW5DMGBB.js";
|
|
22
22
|
import "./chunk-5JGJACDU.js";
|
|
23
23
|
import "./chunk-MO4EEYFW.js";
|
|
24
24
|
export {
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
StatsCalculator,
|
|
7
7
|
TimelineBuilder,
|
|
8
8
|
loadAllSeedPatterns
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-RDPXBMHK.js";
|
|
10
10
|
import {
|
|
11
11
|
SentinelStorage
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-UVI3OH3G.js";
|
|
13
13
|
import "./chunk-MO4EEYFW.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/triage/index.ts
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
detectProjectRole,
|
|
4
|
+
workspaceInitCommand,
|
|
5
|
+
workspaceReindexCommand,
|
|
6
|
+
workspaceStatusCommand
|
|
7
|
+
} from "./chunk-C3BK3E23.js";
|
|
8
|
+
import "./chunk-UI3XXVJ6.js";
|
|
9
|
+
import "./chunk-AK5M6KJB.js";
|
|
10
|
+
import "./chunk-6P4IFIK2.js";
|
|
11
|
+
import "./chunk-MRENOFTR.js";
|
|
12
|
+
import "./chunk-IRKUEJVW.js";
|
|
13
|
+
import "./chunk-4NCFWYGG.js";
|
|
14
|
+
import "./chunk-MO4EEYFW.js";
|
|
15
|
+
export {
|
|
16
|
+
detectProjectRole,
|
|
17
|
+
workspaceInitCommand,
|
|
18
|
+
workspaceReindexCommand,
|
|
19
|
+
workspaceStatusCommand
|
|
20
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a-company/paradigm",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.12.0",
|
|
4
4
|
"description": "Unified CLI for Paradigm developer tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"open": "^10.0.3",
|
|
36
36
|
"ora": "^8.0.1",
|
|
37
37
|
"prompts": "^2.4.2",
|
|
38
|
+
"sql.js": "^1.10.3",
|
|
38
39
|
"zod": "^3.23.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
package/dist/chunk-HPC3JAUP.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// src/core/portal-compliance.ts
|
|
4
|
-
import * as fs from "fs";
|
|
5
|
-
import * as path from "path";
|
|
6
|
-
import * as yaml from "js-yaml";
|
|
7
|
-
function loadPortalConfig(rootDir) {
|
|
8
|
-
const portalPath = path.join(rootDir, "portal.yaml");
|
|
9
|
-
if (!fs.existsSync(portalPath)) {
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
try {
|
|
13
|
-
const content = fs.readFileSync(portalPath, "utf-8");
|
|
14
|
-
return yaml.load(content);
|
|
15
|
-
} catch {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function extractDeclaredGates(config) {
|
|
20
|
-
const gates = /* @__PURE__ */ new Set();
|
|
21
|
-
if (config.gates) {
|
|
22
|
-
for (const key of Object.keys(config.gates)) {
|
|
23
|
-
const gateName = key.startsWith("^") ? key.slice(1) : key;
|
|
24
|
-
gates.add(gateName);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (config.routes) {
|
|
28
|
-
for (const routeConfig of Object.values(config.routes)) {
|
|
29
|
-
const gateList = Array.isArray(routeConfig) ? routeConfig : routeConfig.gates || [];
|
|
30
|
-
for (const gate of gateList) {
|
|
31
|
-
const gateName = gate.startsWith("^") ? gate.slice(1) : gate;
|
|
32
|
-
gates.add(gateName);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return Array.from(gates);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export {
|
|
40
|
-
loadPortalConfig,
|
|
41
|
-
extractDeclaredGates
|
|
42
|
-
};
|
|
File without changes
|