@a-company/paradigm 3.11.0 → 3.13.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-Z35I5AYN.js → accept-orchestration-ORQRKKGR.js} +4 -4
- package/dist/{agents-suggest-35LIQKDH.js → agents-suggest-65SER5IS.js} +1 -1
- package/dist/{aggregate-V4KPR3RW.js → aggregate-M5WMUI6B.js} +1 -1
- package/dist/{auto-6MOGYQ4G.js → auto-B22FVSQI.js} +1 -1
- package/dist/{beacon-XRXL5KZB.js → beacon-XL2ALH5O.js} +1 -1
- package/dist/{check-UZY647TB.js → check-5RKOAN7S.js} +1 -1
- package/dist/{chunk-RDPXBMHK.js → chunk-3BAMPB6I.js} +6 -6
- package/dist/{chunk-5TUAVVIG.js → chunk-6GWRQWQB.js} +1 -1
- package/dist/{workspace-VBTW7OYL.js → chunk-C3BK3E23.js} +3 -6
- package/dist/{chunk-BC6XKMUA.js → chunk-K34C7NAN.js} +4 -4
- package/dist/{chunk-2QNZ6PVD.js → chunk-KB4XJWE3.js} +63 -1
- package/dist/{chunk-F6EJKLF4.js → chunk-O5ZO5LSW.js} +1 -1
- package/dist/{chunk-UVI3OH3G.js → chunk-R2SGQ22F.js} +11 -58
- package/dist/{chunk-QHJGB5TV.js → chunk-RP6TZYGE.js} +1 -1
- package/dist/{chunk-3TWXFFZ3.js → chunk-XKAFTZOZ.js} +1 -1
- package/dist/{chunk-5N5LR2KS.js → chunk-XNUWLW73.js} +6 -6
- package/dist/{chunk-CP6IZGUN.js → chunk-YOFP72IB.js} +4 -4
- package/dist/{chunk-24AAVLME.js → chunk-Z42FOOVT.js} +3 -3
- package/dist/{chunk-OSYMVGWX.js → chunk-ZMN3RAIT.js} +9 -9
- package/dist/{chunk-4ZO3ZOPM.js → chunk-ZRPEI35Q.js} +14 -59
- package/dist/chunk-ZXMDA7VB.js +16 -0
- package/dist/{claude-SUYNN72C.js → claude-63ISJAZK.js} +1 -1
- package/dist/{claude-cli-OF43XAO3.js → claude-cli-ABML5RHX.js} +1 -1
- package/dist/{claude-code-PW6SKD2M.js → claude-code-JRLMRPTO.js} +1 -1
- package/dist/{claude-code-teams-JLZ5IXB6.js → claude-code-teams-CAJBEFIZ.js} +1 -1
- package/dist/commands-VTFOZPUA.js +5387 -0
- package/dist/{constellation-GNK5DIMH.js → constellation-NXU6Q2HM.js} +1 -1
- package/dist/{cost-AGO5N7DD.js → cost-CTGSLSOC.js} +1 -1
- package/dist/{cost-KYXIQ62X.js → cost-XEBADYFT.js} +1 -1
- package/dist/{cursor-cli-IHJMPRCW.js → cursor-cli-QUOOF2N4.js} +1 -1
- package/dist/{cursorrules-LQFA7M62.js → cursorrules-XBWFX66V.js} +1 -1
- package/dist/{delete-3YXAJ5AA.js → delete-OINCSDQH.js} +2 -2
- package/dist/{diff-PZAYCIAE.js → diff-4XJZN4OB.js} +4 -4
- package/dist/{dist-ZEMSQV74.js → dist-3RVKEJRT.js} +1 -1
- package/dist/{dist-Q6SAZI7X.js → dist-7U64HDSC.js} +1 -1
- package/dist/{dist-AG5JNIZU-XSEZ2LLK.js → dist-AG5JNIZU-HW2FWNTZ.js} +1 -1
- package/dist/dist-KY5HGDDL.js +1304 -0
- package/dist/{dist-JOHRYQUA.js → dist-PSF5CP4I.js} +1 -1
- package/dist/{dist-6SX5ZKKF.js → dist-RMAIFRTW.js} +3 -3
- package/dist/{dist-YB7T54QE.js → dist-YHDSIZQD.js} +1 -1
- package/dist/{doctor-3YQ55536.js → doctor-FINKMI66.js} +4 -4
- package/dist/{drift-FH2UY64B.js → drift-YGT4LJ7Q.js} +1 -1
- package/dist/{echo-VYZW3OTT.js → echo-A6HD5UP7.js} +1 -1
- package/dist/{edit-EOMPXOG5.js → edit-7FSQNAPE.js} +2 -2
- package/dist/{export-R4FJ5NOH.js → export-T7CMMJIB.js} +1 -1
- package/dist/{flow-MCKPJGRJ.js → flow-UFMPVOEM.js} +1 -1
- package/dist/{global-AXILUM5X.js → global-HHUJSBG5.js} +1 -1
- package/dist/{habits-NC2TRMRV.js → habits-KD4RLIN2.js} +3 -3
- package/dist/{history-EVO3L6SC.js → history-CETCSUCP.js} +1 -1
- package/dist/{hooks-JXYHVGIN.js → hooks-TCUHQMPF.js} +1 -1
- package/dist/index.js +143 -142
- package/dist/{lint-N4LMMEXH.js → lint-53GPXKKI.js} +1 -1
- package/dist/{list-JKBJ7ESH.js → list-Q4R7L7WJ.js} +2 -2
- package/dist/{lore-server-RQH5REZV.js → lore-server-GKZ6ESNJ.js} +1 -1
- package/dist/{manual-Y3QOXWYA.js → manual-AFJ2J2V3.js} +1 -1
- package/dist/mcp.js +4 -4
- package/dist/{orchestrate-BGRFBGBH.js → orchestrate-6XGEA655.js} +4 -4
- package/dist/{portal-check-2HI4FFD6.js → portal-check-FF5EKZE5.js} +1 -1
- package/dist/{portal-compliance-KQCTAQTJ.js → portal-compliance-VU4NIFEN.js} +1 -1
- package/dist/{probe-X3J2JX62.js → probe-T77FFIAG.js} +1 -1
- package/dist/{promote-HZH5E5CO.js → promote-XO63XMAN.js} +2 -2
- package/dist/{providers-IONB4YRJ.js → providers-VIBWDN5D.js} +2 -2
- package/dist/{record-EECZ3E4I.js → record-YJ3D3462.js} +2 -2
- package/dist/{reindex-ZM6J53UP.js → reindex-4OOME3TT.js} +1 -1
- package/dist/{remember-3KJZGDUG.js → remember-IEBQHXHZ.js} +1 -1
- package/dist/{review-BF26ILZB.js → review-3OW3KVW7.js} +2 -2
- package/dist/{ripple-JIUAMBLA.js → ripple-DFMXLFWI.js} +1 -1
- package/dist/{sentinel-BGCISNIK.js → sentinel-RERNMWSE.js} +2 -2
- package/dist/sentinel-mcp.js +4181 -0
- package/dist/sentinel.js +35 -0
- package/dist/{serve-H7ZBMODT.js → serve-XLKEMQEH.js} +2 -2
- package/dist/server-CAXNYVV7.js +1616 -0
- package/dist/{server-E2CNZC4K.js → server-V3ANAXDP.js} +1 -1
- package/dist/{setup-UKJ3VGHI.js → setup-HOI52TN3.js} +2 -2
- package/dist/{setup-363IB6MO.js → setup-YNZJQLW7.js} +1 -1
- package/dist/{shift-6I6N6RNK.js → shift-SW3GSODO.js} +129 -18
- package/dist/{show-SAMTXEHG.js → show-CJGHREFS.js} +2 -2
- package/dist/{snapshot-KCMONZAO.js → snapshot-XHINQBZS.js} +1 -1
- package/dist/{spawn-WGFJ5RQZ.js → spawn-JSV2HST3.js} +5 -5
- package/dist/{summary-E2PU4UN2.js → summary-NV7SBV5O.js} +2 -2
- package/dist/{switch-CC2KACXO.js → switch-WYUMVNA5.js} +1 -1
- package/dist/{sync-5VJPZQNX.js → sync-ZM4Q3R4U.js} +4 -4
- package/dist/{sync-llms-7QDA3ZWC.js → sync-llms-JIPP3XX4.js} +3 -3
- package/dist/{team-AFOKQ7YQ.js → team-YIYA4ZLX.js} +5 -5
- package/dist/{test-DK2RWLTK.js → test-WTR5Q33E.js} +1 -1
- package/dist/{thread-RNSLADXN.js → thread-3WM7KKID.js} +1 -1
- package/dist/{timeline-TJDVVVA3.js → timeline-ELO5JTQO.js} +2 -2
- package/dist/{triage-MKKIWBSW.js → triage-GJ6GK647.js} +3 -3
- package/dist/{tutorial-L5Q3ZDHK.js → tutorial-GC6QL4US.js} +1 -1
- package/dist/{university-65YJZ2LW.js → university-KVYNACJZ.js} +2 -2
- package/dist/{upgrade-RBSE4M6I.js → upgrade-65QOQXRC.js} +2 -2
- package/dist/{validate-F3YHBCRZ.js → validate-ITC5D6QG.js} +1 -1
- package/dist/{validate-2LTHHORX.js → validate-TKKRGJKC.js} +1 -1
- package/dist/{watch-PAEH6MOG.js → watch-ERBEJUJW.js} +2 -2
- package/dist/{watch-NBPOMOEX.js → watch-X64UK7K4.js} +2 -2
- package/dist/{wisdom-LRM4FFCH.js → wisdom-L2WC7J62.js} +1 -1
- package/dist/workspace-S5Q5LVA6.js +20 -0
- package/package.json +7 -2
- package/dist/chunk-MO4EEYFW.js +0 -38
- package/dist/server-3K3TTJH3.js +0 -10539
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
BackgroundOrchestrator
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Z42FOOVT.js";
|
|
5
5
|
import "./chunk-6QC3YGB6.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-YOFP72IB.js";
|
|
7
|
+
import "./chunk-XNUWLW73.js";
|
|
7
8
|
import "./chunk-PMXRGPRQ.js";
|
|
8
9
|
import "./chunk-PBHIFAL4.js";
|
|
9
|
-
import "./chunk-5N5LR2KS.js";
|
|
10
10
|
import "./chunk-6P4IFIK2.js";
|
|
11
11
|
import "./chunk-MRENOFTR.js";
|
|
12
12
|
import "./chunk-IRKUEJVW.js";
|
|
13
13
|
import "./chunk-MW5DMGBB.js";
|
|
14
14
|
import "./chunk-5JGJACDU.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-ZXMDA7VB.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/team/accept-orchestration.ts
|
|
18
18
|
import * as path from "path";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
-
SentinelStorage
|
|
4
|
-
|
|
5
|
-
} from "./chunk-UVI3OH3G.js";
|
|
3
|
+
SentinelStorage
|
|
4
|
+
} from "./chunk-R2SGQ22F.js";
|
|
6
5
|
|
|
7
6
|
// ../sentinel/dist/chunk-VQ3SIN7S.js
|
|
7
|
+
import { v4 as uuidv4 } from "uuid";
|
|
8
8
|
var DEFAULTS = {
|
|
9
9
|
url: "http://localhost:3838",
|
|
10
10
|
batchSize: 50,
|
|
@@ -43,7 +43,7 @@ var SentinelClient = class {
|
|
|
43
43
|
this.retryBackoffMs = options.retryBackoffMs ?? DEFAULTS.retryBackoffMs;
|
|
44
44
|
this.onDrop = options.onDrop;
|
|
45
45
|
this.onError = options.onError;
|
|
46
|
-
this.sessionId =
|
|
46
|
+
this.sessionId = uuidv4();
|
|
47
47
|
const intervalMs = options.flushIntervalMs ?? DEFAULTS.flushIntervalMs;
|
|
48
48
|
this.flushTimer = setInterval(() => {
|
|
49
49
|
this.flush().catch((err) => {
|
|
@@ -130,8 +130,8 @@ var SentinelClient = class {
|
|
|
130
130
|
// ── Tracing ──────────────────────────────────────────────────────
|
|
131
131
|
/** Start a trace span. Call end() on the returned SpanContext when the operation completes. */
|
|
132
132
|
startSpan(symbol, operation, parentSpanId) {
|
|
133
|
-
const traceId = parentSpanId ? parentSpanId.split("-")[0] ||
|
|
134
|
-
const spanId =
|
|
133
|
+
const traceId = parentSpanId ? parentSpanId.split("-")[0] || uuidv4() : uuidv4();
|
|
134
|
+
const spanId = uuidv4();
|
|
135
135
|
const startTime = (/* @__PURE__ */ new Date()).toISOString();
|
|
136
136
|
const startMs = Date.now();
|
|
137
137
|
const self = this;
|
|
@@ -2,14 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
indexCommand
|
|
4
4
|
} from "./chunk-UI3XXVJ6.js";
|
|
5
|
-
import "./chunk-AK5M6KJB.js";
|
|
6
|
-
import "./chunk-6P4IFIK2.js";
|
|
7
|
-
import "./chunk-MRENOFTR.js";
|
|
8
|
-
import "./chunk-IRKUEJVW.js";
|
|
9
5
|
import {
|
|
10
6
|
log
|
|
11
7
|
} from "./chunk-4NCFWYGG.js";
|
|
12
|
-
import "./chunk-MO4EEYFW.js";
|
|
13
8
|
|
|
14
9
|
// src/commands/workspace/index.ts
|
|
15
10
|
import * as fs from "fs";
|
|
@@ -264,8 +259,10 @@ function getMemberStatus(workspaceDir, member) {
|
|
|
264
259
|
}
|
|
265
260
|
return result;
|
|
266
261
|
}
|
|
262
|
+
|
|
267
263
|
export {
|
|
268
264
|
workspaceInitCommand,
|
|
265
|
+
workspaceStatusCommand,
|
|
269
266
|
workspaceReindexCommand,
|
|
270
|
-
|
|
267
|
+
detectProjectRole
|
|
271
268
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
indexCommand
|
|
4
|
-
} from "./chunk-UI3XXVJ6.js";
|
|
5
2
|
import {
|
|
6
3
|
detectDiscipline,
|
|
7
4
|
getDisciplineConfig
|
|
8
5
|
} from "./chunk-CHSHON3O.js";
|
|
6
|
+
import {
|
|
7
|
+
indexCommand
|
|
8
|
+
} from "./chunk-UI3XXVJ6.js";
|
|
9
9
|
import {
|
|
10
10
|
getDefaultPremiseContent
|
|
11
11
|
} from "./chunk-6P4IFIK2.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
detectIDE,
|
|
17
17
|
loadParadigmFiles,
|
|
18
18
|
syncToIDE
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-KB4XJWE3.js";
|
|
20
20
|
import {
|
|
21
21
|
log
|
|
22
22
|
} from "./chunk-4NCFWYGG.js";
|
|
@@ -474,6 +474,41 @@ function generateLlmsTxtSection() {
|
|
|
474
474
|
lines.push("");
|
|
475
475
|
return lines.join("\n");
|
|
476
476
|
}
|
|
477
|
+
function generateWorkspaceSection(files) {
|
|
478
|
+
if (!files.workspace) return "";
|
|
479
|
+
const ws = files.workspace;
|
|
480
|
+
const siblings = ws.members.filter((m) => m.name !== ws.currentMember);
|
|
481
|
+
if (siblings.length === 0) return "";
|
|
482
|
+
const lines = [];
|
|
483
|
+
lines.push(`## Workspace: ${ws.name}`);
|
|
484
|
+
lines.push("");
|
|
485
|
+
lines.push("This project is part of a multi-project workspace.");
|
|
486
|
+
lines.push("");
|
|
487
|
+
lines.push("| Member | Role | Path |");
|
|
488
|
+
lines.push("|--------|------|------|");
|
|
489
|
+
for (const m of ws.members) {
|
|
490
|
+
const tag = m.name === ws.currentMember ? " **(this project)**" : "";
|
|
491
|
+
lines.push(`| ${m.name}${tag} | ${m.role || "-"} | \`${m.path}\` |`);
|
|
492
|
+
}
|
|
493
|
+
lines.push("");
|
|
494
|
+
lines.push("### Cross-Project Tools");
|
|
495
|
+
lines.push("");
|
|
496
|
+
lines.push("Use `includeWorkspace: true` when:");
|
|
497
|
+
lines.push("- Modifying symbols consumed by sibling projects");
|
|
498
|
+
lines.push("- Adding API endpoints or gates that siblings depend on");
|
|
499
|
+
lines.push("- Investigating cross-project impact of changes");
|
|
500
|
+
lines.push("");
|
|
501
|
+
lines.push("| Tool | Workspace Parameter |");
|
|
502
|
+
lines.push("|------|-------------------|");
|
|
503
|
+
lines.push("| `paradigm_search` | `includeWorkspace: true` \u2014 search sibling indices |");
|
|
504
|
+
lines.push("| `paradigm_ripple` | `includeWorkspace: true` \u2014 cross-project impact |");
|
|
505
|
+
lines.push("| `paradigm_gates_for_route` | Automatic \u2014 learns from sibling portal.yaml |");
|
|
506
|
+
lines.push("| `paradigm_workspace_reindex` | Rebuild all member indices |");
|
|
507
|
+
lines.push("");
|
|
508
|
+
lines.push("Cross-project symbols are prefixed: " + siblings.map((s) => `\`${s.name}/#symbol\``).join(", "));
|
|
509
|
+
lines.push("");
|
|
510
|
+
return lines.join("\n");
|
|
511
|
+
}
|
|
477
512
|
function generateFooter() {
|
|
478
513
|
const lines = [];
|
|
479
514
|
lines.push("---");
|
|
@@ -1971,6 +2006,10 @@ var ClaudeAdapter = class {
|
|
|
1971
2006
|
sections.push('paradigm_orchestrate_inline({ task: "...", mode: "plan" })');
|
|
1972
2007
|
sections.push("```");
|
|
1973
2008
|
sections.push("");
|
|
2009
|
+
const workspaceSection = generateWorkspaceSection(files);
|
|
2010
|
+
if (workspaceSection) {
|
|
2011
|
+
sections.push(workspaceSection);
|
|
2012
|
+
}
|
|
1974
2013
|
sections.push("## Flow-First Development");
|
|
1975
2014
|
sections.push("");
|
|
1976
2015
|
sections.push("**Define flows BEFORE implementing features that span multiple steps.**");
|
|
@@ -2231,6 +2270,7 @@ var AgentsAdapter = class {
|
|
|
2231
2270
|
var agentsAdapter = new AgentsAdapter();
|
|
2232
2271
|
|
|
2233
2272
|
// src/core/ide-adapters/index.ts
|
|
2273
|
+
import * as yaml2 from "js-yaml";
|
|
2234
2274
|
var adapters = /* @__PURE__ */ new Map([
|
|
2235
2275
|
["cursor", cursorAdapter],
|
|
2236
2276
|
["copilot", copilotAdapter],
|
|
@@ -2328,11 +2368,33 @@ function loadParadigmFiles(rootDir) {
|
|
|
2328
2368
|
}
|
|
2329
2369
|
}
|
|
2330
2370
|
}
|
|
2371
|
+
let workspace = void 0;
|
|
2372
|
+
const rawConfig = yaml2.load(fs6.readFileSync(configPath, "utf8"));
|
|
2373
|
+
const wsField = rawConfig.workspace;
|
|
2374
|
+
if (typeof wsField === "string") {
|
|
2375
|
+
const wsPath = path6.resolve(rootDir, wsField);
|
|
2376
|
+
if (fs6.existsSync(wsPath)) {
|
|
2377
|
+
try {
|
|
2378
|
+
const wsConfig = yaml2.load(fs6.readFileSync(wsPath, "utf8"));
|
|
2379
|
+
const wsDir = path6.dirname(wsPath);
|
|
2380
|
+
const currentName = wsConfig.members?.find(
|
|
2381
|
+
(m) => path6.resolve(wsDir, m.path) === rootDir
|
|
2382
|
+
)?.name || path6.basename(rootDir);
|
|
2383
|
+
workspace = {
|
|
2384
|
+
name: wsConfig.name,
|
|
2385
|
+
currentMember: currentName,
|
|
2386
|
+
members: wsConfig.members || []
|
|
2387
|
+
};
|
|
2388
|
+
} catch {
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
}
|
|
2331
2392
|
return {
|
|
2332
2393
|
config,
|
|
2333
2394
|
specs,
|
|
2334
2395
|
docs,
|
|
2335
|
-
projectName: path6.basename(rootDir)
|
|
2396
|
+
projectName: path6.basename(rootDir),
|
|
2397
|
+
workspace
|
|
2336
2398
|
};
|
|
2337
2399
|
}
|
|
2338
2400
|
function syncToIDE(rootDir, ideName, files, force = false) {
|
|
@@ -4470,7 +4470,7 @@ function assertStep(step, event) {
|
|
|
4470
4470
|
async function validateAgainstSentinel(persona, options = {}) {
|
|
4471
4471
|
const steps = [];
|
|
4472
4472
|
try {
|
|
4473
|
-
const { SentinelStorage } = await import("./dist-
|
|
4473
|
+
const { SentinelStorage } = await import("./dist-YHDSIZQD.js");
|
|
4474
4474
|
const storage = new SentinelStorage();
|
|
4475
4475
|
const events = storage.queryEvents?.({
|
|
4476
4476
|
schemaId: "paradigm-personas",
|
|
@@ -1,54 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
// ../sentinel/node_modules/uuid/dist/esm-node/native.js
|
|
4
|
-
import crypto from "crypto";
|
|
5
|
-
var native_default = {
|
|
6
|
-
randomUUID: crypto.randomUUID
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
// ../sentinel/node_modules/uuid/dist/esm-node/rng.js
|
|
10
|
-
import crypto2 from "crypto";
|
|
11
|
-
var rnds8Pool = new Uint8Array(256);
|
|
12
|
-
var poolPtr = rnds8Pool.length;
|
|
13
|
-
function rng() {
|
|
14
|
-
if (poolPtr > rnds8Pool.length - 16) {
|
|
15
|
-
crypto2.randomFillSync(rnds8Pool);
|
|
16
|
-
poolPtr = 0;
|
|
17
|
-
}
|
|
18
|
-
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
// ../sentinel/node_modules/uuid/dist/esm-node/stringify.js
|
|
22
|
-
var byteToHex = [];
|
|
23
|
-
for (let i = 0; i < 256; ++i) {
|
|
24
|
-
byteToHex.push((i + 256).toString(16).slice(1));
|
|
25
|
-
}
|
|
26
|
-
function unsafeStringify(arr, offset = 0) {
|
|
27
|
-
return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// ../sentinel/node_modules/uuid/dist/esm-node/v4.js
|
|
31
|
-
function v4(options, buf, offset) {
|
|
32
|
-
if (native_default.randomUUID && !buf && !options) {
|
|
33
|
-
return native_default.randomUUID();
|
|
34
|
-
}
|
|
35
|
-
options = options || {};
|
|
36
|
-
const rnds = options.random || (options.rng || rng)();
|
|
37
|
-
rnds[6] = rnds[6] & 15 | 64;
|
|
38
|
-
rnds[8] = rnds[8] & 63 | 128;
|
|
39
|
-
if (buf) {
|
|
40
|
-
offset = offset || 0;
|
|
41
|
-
for (let i = 0; i < 16; ++i) {
|
|
42
|
-
buf[offset + i] = rnds[i];
|
|
43
|
-
}
|
|
44
|
-
return buf;
|
|
45
|
-
}
|
|
46
|
-
return unsafeStringify(rnds);
|
|
47
|
-
}
|
|
48
|
-
var v4_default = v4;
|
|
49
|
-
|
|
50
3
|
// ../sentinel/dist/chunk-NTX74ZPM.js
|
|
51
4
|
import initSqlJs from "sql.js";
|
|
5
|
+
import { v4 as uuidv4 } from "uuid";
|
|
52
6
|
import * as path from "path";
|
|
53
7
|
import * as fs from "fs";
|
|
54
8
|
import * as fs2 from "fs";
|
|
@@ -649,7 +603,7 @@ var SentinelStorage = class {
|
|
|
649
603
|
const incident = this.getIncident(incidentId);
|
|
650
604
|
if (!incident) return;
|
|
651
605
|
const newNote = {
|
|
652
|
-
id:
|
|
606
|
+
id: uuidv4(),
|
|
653
607
|
...note
|
|
654
608
|
};
|
|
655
609
|
const notes = [...incident.notes, newNote];
|
|
@@ -848,7 +802,7 @@ var SentinelStorage = class {
|
|
|
848
802
|
// ─── Groups ──────────────────────────────────────────────────────
|
|
849
803
|
createGroup(input) {
|
|
850
804
|
this.initializeSync();
|
|
851
|
-
const id = `GRP-${
|
|
805
|
+
const id = `GRP-${uuidv4().substring(0, 8)}`;
|
|
852
806
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
853
807
|
this.db.run(
|
|
854
808
|
`INSERT INTO groups (
|
|
@@ -911,7 +865,7 @@ var SentinelStorage = class {
|
|
|
911
865
|
// ─── Resolutions ─────────────────────────────────────────────────
|
|
912
866
|
recordResolution(resolution) {
|
|
913
867
|
this.initializeSync();
|
|
914
|
-
const id =
|
|
868
|
+
const id = uuidv4();
|
|
915
869
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
916
870
|
this.db.run(
|
|
917
871
|
`INSERT INTO resolutions (id, incident_id, pattern_id, commit_hash, pr_url, notes, resolved_at)
|
|
@@ -1332,7 +1286,7 @@ var SentinelStorage = class {
|
|
|
1332
1286
|
// ─── Practice Events ─────────────────────────────────────────────
|
|
1333
1287
|
recordPracticeEvent(input) {
|
|
1334
1288
|
this.initializeSync();
|
|
1335
|
-
const id = `PE-${
|
|
1289
|
+
const id = `PE-${uuidv4().substring(0, 8)}`;
|
|
1336
1290
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
1337
1291
|
this.db.run(
|
|
1338
1292
|
`INSERT INTO practice_events (
|
|
@@ -1517,7 +1471,7 @@ var SentinelStorage = class {
|
|
|
1517
1471
|
}
|
|
1518
1472
|
insertLog(input) {
|
|
1519
1473
|
this.initializeSync();
|
|
1520
|
-
const id = input.id ||
|
|
1474
|
+
const id = input.id || uuidv4();
|
|
1521
1475
|
const timestamp = input.timestamp || (/* @__PURE__ */ new Date()).toISOString();
|
|
1522
1476
|
const symbolType = input.symbolType || this.inferSymbolType(input.symbol);
|
|
1523
1477
|
this.db.run(
|
|
@@ -1549,7 +1503,7 @@ var SentinelStorage = class {
|
|
|
1549
1503
|
const errors = [];
|
|
1550
1504
|
for (const input of entries) {
|
|
1551
1505
|
try {
|
|
1552
|
-
const id = input.id ||
|
|
1506
|
+
const id = input.id || uuidv4();
|
|
1553
1507
|
const timestamp = input.timestamp || (/* @__PURE__ */ new Date()).toISOString();
|
|
1554
1508
|
const symbolType = input.symbolType || this.inferSymbolType(input.symbol);
|
|
1555
1509
|
this.db.run(
|
|
@@ -1810,7 +1764,7 @@ var SentinelStorage = class {
|
|
|
1810
1764
|
// ─── Metrics ───────────────────────────────────────────────────
|
|
1811
1765
|
insertMetric(input) {
|
|
1812
1766
|
this.initializeSync();
|
|
1813
|
-
const id =
|
|
1767
|
+
const id = uuidv4();
|
|
1814
1768
|
const timestamp = input.timestamp || (/* @__PURE__ */ new Date()).toISOString();
|
|
1815
1769
|
this.db.run(
|
|
1816
1770
|
`INSERT INTO metrics (
|
|
@@ -1836,7 +1790,7 @@ var SentinelStorage = class {
|
|
|
1836
1790
|
const errors = [];
|
|
1837
1791
|
for (const input of entries) {
|
|
1838
1792
|
try {
|
|
1839
|
-
const id =
|
|
1793
|
+
const id = uuidv4();
|
|
1840
1794
|
const timestamp = input.timestamp || (/* @__PURE__ */ new Date()).toISOString();
|
|
1841
1795
|
this.db.run(
|
|
1842
1796
|
`INSERT INTO metrics (
|
|
@@ -2015,7 +1969,7 @@ var SentinelStorage = class {
|
|
|
2015
1969
|
// ─── Traces ───────────────────────────────────────────────────
|
|
2016
1970
|
insertSpan(input) {
|
|
2017
1971
|
this.initializeSync();
|
|
2018
|
-
const spanId = input.spanId ||
|
|
1972
|
+
const spanId = input.spanId || uuidv4();
|
|
2019
1973
|
const startTime = input.startTime || (/* @__PURE__ */ new Date()).toISOString();
|
|
2020
1974
|
this.db.run(
|
|
2021
1975
|
`INSERT INTO traces (
|
|
@@ -2218,7 +2172,7 @@ var SentinelStorage = class {
|
|
|
2218
2172
|
const errors = [];
|
|
2219
2173
|
for (const input of inputs) {
|
|
2220
2174
|
try {
|
|
2221
|
-
const id = input.id ||
|
|
2175
|
+
const id = input.id || uuidv4();
|
|
2222
2176
|
const timestamp = input.timestamp || (/* @__PURE__ */ new Date()).toISOString();
|
|
2223
2177
|
const resolved = typeMap.get(input.type);
|
|
2224
2178
|
const category = resolved?.category || "unknown";
|
|
@@ -2658,7 +2612,6 @@ function loadServerConfig(projectDir) {
|
|
|
2658
2612
|
}
|
|
2659
2613
|
|
|
2660
2614
|
export {
|
|
2661
|
-
v4_default,
|
|
2662
2615
|
SentinelStorage,
|
|
2663
2616
|
DEFAULT_AUTH_CONFIG,
|
|
2664
2617
|
DEFAULT_RATE_LIMIT_CONFIG,
|
|
@@ -136,32 +136,32 @@ async function initializeProviders(rootDir) {
|
|
|
136
136
|
if (initialized) return;
|
|
137
137
|
const dir = rootDir || process.cwd();
|
|
138
138
|
try {
|
|
139
|
-
const { ClaudeAgentProvider } = await import("./claude-
|
|
139
|
+
const { ClaudeAgentProvider } = await import("./claude-63ISJAZK.js");
|
|
140
140
|
registerProvider(new ClaudeAgentProvider());
|
|
141
141
|
} catch {
|
|
142
142
|
}
|
|
143
143
|
try {
|
|
144
|
-
const { ClaudeCodeTeamsProvider } = await import("./claude-code-teams-
|
|
144
|
+
const { ClaudeCodeTeamsProvider } = await import("./claude-code-teams-CAJBEFIZ.js");
|
|
145
145
|
registerProvider(new ClaudeCodeTeamsProvider(dir));
|
|
146
146
|
} catch {
|
|
147
147
|
}
|
|
148
148
|
try {
|
|
149
|
-
const { ClaudeCodeTaskProvider } = await import("./claude-code-
|
|
149
|
+
const { ClaudeCodeTaskProvider } = await import("./claude-code-JRLMRPTO.js");
|
|
150
150
|
registerProvider(new ClaudeCodeTaskProvider(dir));
|
|
151
151
|
} catch {
|
|
152
152
|
}
|
|
153
153
|
try {
|
|
154
|
-
const { CursorCliProvider } = await import("./cursor-cli-
|
|
154
|
+
const { CursorCliProvider } = await import("./cursor-cli-QUOOF2N4.js");
|
|
155
155
|
registerProvider(new CursorCliProvider());
|
|
156
156
|
} catch {
|
|
157
157
|
}
|
|
158
158
|
try {
|
|
159
|
-
const { ClaudeCliProvider } = await import("./claude-cli-
|
|
159
|
+
const { ClaudeCliProvider } = await import("./claude-cli-ABML5RHX.js");
|
|
160
160
|
registerProvider(new ClaudeCliProvider());
|
|
161
161
|
} catch {
|
|
162
162
|
}
|
|
163
163
|
try {
|
|
164
|
-
const { ManualProvider } = await import("./manual-
|
|
164
|
+
const { ManualProvider } = await import("./manual-AFJ2J2V3.js");
|
|
165
165
|
registerProvider(new ManualProvider(dir));
|
|
166
166
|
} catch {
|
|
167
167
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
getProvider,
|
|
4
|
+
initializeProviders
|
|
5
|
+
} from "./chunk-XNUWLW73.js";
|
|
2
6
|
import {
|
|
3
7
|
loadAgentsManifest
|
|
4
8
|
} from "./chunk-PMXRGPRQ.js";
|
|
5
9
|
import {
|
|
6
10
|
AuditLogger
|
|
7
11
|
} from "./chunk-PBHIFAL4.js";
|
|
8
|
-
import {
|
|
9
|
-
getProvider,
|
|
10
|
-
initializeProviders
|
|
11
|
-
} from "./chunk-5N5LR2KS.js";
|
|
12
12
|
import {
|
|
13
13
|
calculateCost,
|
|
14
14
|
formatCost,
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
AgentSpawner,
|
|
7
7
|
extractSymbols
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YOFP72IB.js";
|
|
9
9
|
import {
|
|
10
10
|
loadAgentsManifest
|
|
11
11
|
} from "./chunk-PMXRGPRQ.js";
|
|
@@ -566,7 +566,7 @@ var Orchestrator = class {
|
|
|
566
566
|
let preflightResult;
|
|
567
567
|
if (options.pmGovernance?.enabled) {
|
|
568
568
|
try {
|
|
569
|
-
const { aggregateFromDirectory } = await import("./dist-
|
|
569
|
+
const { aggregateFromDirectory } = await import("./dist-7U64HDSC.js");
|
|
570
570
|
const aggregation = await aggregateFromDirectory(this.rootDir);
|
|
571
571
|
const index = buildSymbolIndex(aggregation);
|
|
572
572
|
preflightResult = runPreflight(task, this.rootDir, index);
|
|
@@ -593,7 +593,7 @@ var Orchestrator = class {
|
|
|
593
593
|
}
|
|
594
594
|
if (options.pmGovernance?.enabled && preflightResult) {
|
|
595
595
|
try {
|
|
596
|
-
const { aggregateFromDirectory } = await import("./dist-
|
|
596
|
+
const { aggregateFromDirectory } = await import("./dist-7U64HDSC.js");
|
|
597
597
|
const aggregation = await aggregateFromDirectory(this.rootDir);
|
|
598
598
|
const index = buildSymbolIndex(aggregation);
|
|
599
599
|
const filesModified = [];
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import {
|
|
3
3
|
detectIDE,
|
|
4
4
|
getAdapter
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import {
|
|
7
|
-
log
|
|
8
|
-
} from "./chunk-4NCFWYGG.js";
|
|
5
|
+
} from "./chunk-KB4XJWE3.js";
|
|
9
6
|
import {
|
|
10
7
|
parseParadigmConfig
|
|
11
8
|
} from "./chunk-YO6DVTL7.js";
|
|
9
|
+
import {
|
|
10
|
+
log
|
|
11
|
+
} from "./chunk-4NCFWYGG.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/doctor.ts
|
|
14
14
|
import * as fs from "fs";
|
|
@@ -221,7 +221,7 @@ async function doctorCommand(options = {}) {
|
|
|
221
221
|
if (fs.existsSync(configPath)) {
|
|
222
222
|
try {
|
|
223
223
|
const configContent = fs.readFileSync(configPath, "utf8");
|
|
224
|
-
const { parse } = await import("./dist-
|
|
224
|
+
const { parse } = await import("./dist-PSF5CP4I.js");
|
|
225
225
|
const config = parse(configContent);
|
|
226
226
|
const purposeRequired = config?.["purpose-required"];
|
|
227
227
|
if (purposeRequired && Array.isArray(purposeRequired)) {
|
|
@@ -307,7 +307,7 @@ async function doctorCommand(options = {}) {
|
|
|
307
307
|
if (fs.existsSync(portalPath)) {
|
|
308
308
|
try {
|
|
309
309
|
const portalContent = fs.readFileSync(portalPath, "utf8");
|
|
310
|
-
const { parse } = await import("./dist-
|
|
310
|
+
const { parse } = await import("./dist-PSF5CP4I.js");
|
|
311
311
|
const portal = parse(portalContent);
|
|
312
312
|
if (portal?.version && portal?.gates) {
|
|
313
313
|
const gateCount = Object.keys(portal.gates || {}).length;
|
|
@@ -336,7 +336,7 @@ async function doctorCommand(options = {}) {
|
|
|
336
336
|
}
|
|
337
337
|
if (fs.existsSync(portalPath)) {
|
|
338
338
|
try {
|
|
339
|
-
const { checkPortalCompliance, getComplianceSummary } = await import("./portal-compliance-
|
|
339
|
+
const { checkPortalCompliance, getComplianceSummary } = await import("./portal-compliance-VU4NIFEN.js");
|
|
340
340
|
const complianceReport = await checkPortalCompliance(cwd);
|
|
341
341
|
const summary = getComplianceSummary(complianceReport);
|
|
342
342
|
results.push({
|
|
@@ -352,7 +352,7 @@ async function doctorCommand(options = {}) {
|
|
|
352
352
|
if (fs.existsSync(flowsPath)) {
|
|
353
353
|
try {
|
|
354
354
|
const flowsContent = fs.readFileSync(flowsPath, "utf8");
|
|
355
|
-
const { parse } = await import("./dist-
|
|
355
|
+
const { parse } = await import("./dist-PSF5CP4I.js");
|
|
356
356
|
const flows = parse(flowsContent);
|
|
357
357
|
if (flows?.version && flows?.flows) {
|
|
358
358
|
const flowCount = Object.keys(flows.flows || {}).length;
|
|
@@ -454,7 +454,7 @@ async function doctorCommand(options = {}) {
|
|
|
454
454
|
if (fs.existsSync(habitsPath)) {
|
|
455
455
|
try {
|
|
456
456
|
const habitsContent = fs.readFileSync(habitsPath, "utf8");
|
|
457
|
-
const { parse } = await import("./dist-
|
|
457
|
+
const { parse } = await import("./dist-PSF5CP4I.js");
|
|
458
458
|
const habits = parse(habitsContent);
|
|
459
459
|
if (habits?.version && Array.isArray(habits?.habits)) {
|
|
460
460
|
const enabled = habits.habits.filter((h) => h.enabled !== false).length;
|