@a-company/paradigm 3.28.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-6EM5EHXA.js → accept-orchestration-ZUWQUHSK.js} +6 -6
- package/dist/add-VSPZ6FM4.js +81 -0
- package/dist/{aggregate-M5WMUI6B.js → aggregate-SV3VGEIL.js} +2 -2
- package/dist/assess-UHBDYIK7.js +68 -0
- package/dist/{beacon-XL2ALH5O.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-AK5M6KJB.js → chunk-36TKPM5Z.js} +20 -2
- package/dist/{chunk-W4VFKZVF.js → chunk-7COU5S2Z.js} +3 -3
- package/dist/{chunk-3BAMPB6I.js → chunk-7WEKMZ46.js} +2 -147
- package/dist/{chunk-SCC77UUP.js → chunk-AKIMFN6I.js} +3 -3
- package/dist/{chunk-3DYYXGDC.js → chunk-CDMAMDSG.js} +33 -0
- package/dist/{chunk-7IJ5JVKT.js → chunk-CZEIK3Y2.js} +913 -40
- package/dist/{chunk-MRENOFTR.js → chunk-EDOAWN7J.js} +6 -1
- package/dist/chunk-F3BCHPYT.js +143 -0
- package/dist/chunk-GT5QGC2H.js +253 -0
- package/dist/{chunk-N6RNYCZD.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-KWDTBXP2.js → chunk-LHLIAYQ3.js} +1 -1
- package/dist/{chunk-OXG5GVDJ.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-ZOH24ZPF.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-6P4IFIK2.js → chunk-ZGUAAVMA.js} +53 -4
- package/dist/{commands-6ZVTD74M.js → commands-LEPFD7S5.js} +452 -1
- package/dist/config-schema-3YNIFJCJ.js +152 -0
- package/dist/{constellation-NXU6Q2HM.js → constellation-FAGT45TU.js} +2 -2
- package/dist/{context-audit-RI4R2WRH.js → context-audit-557EO6PK.js} +138 -8
- package/dist/{cost-CTGSLSOC.js → cost-UD3WPEKZ.js} +1 -1
- package/dist/{cursorrules-XBWFX66V.js → cursorrules-3TKZ4E4R.js} +2 -2
- package/dist/{delete-YTASL4SM.js → delete-RRK4RL6Y.js} +1 -1
- package/dist/{diff-AH7L4PRQ.js → diff-IP5CIARP.js} +6 -6
- package/dist/{dist-AG5JNIZU-HW2FWNTZ.js → dist-5QE2BB2B-X6DYVSUL.js} +59 -5
- package/dist/{dist-KY5HGDDL.js → dist-OGTSAZ55.js} +58 -4
- package/dist/{dist-IKBGY7FQ.js → dist-RVKYUCRU.js} +3 -1
- package/dist/{dist-7U64HDSC.js → dist-UXWV4OKX.js} +8 -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 +207 -89
- package/dist/integrity-MK2OP5TA.js +194 -0
- package/dist/integrity-checker-J7YXRTBT.js +11 -0
- package/dist/{lint-53GPXKKI.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 +2616 -112
- package/dist/migrate-FQVGQNXZ.js +889 -0
- package/dist/{migrate-assessments-FPR6C35Z.js → migrate-assessments-JP6Q5KME.js} +1 -1
- package/dist/{orchestrate-HMSQ2CED.js → orchestrate-A226N6FC.js} +6 -6
- package/dist/platform-server-KK4OCRTV.js +891 -0
- package/dist/{probe-SN4BNXOC.js → probe-7JK7IDNI.js} +5 -5
- 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-YG3KIXAK.js → reindex-NZQRGKPN.js} +3 -2
- package/dist/{remember-IEBQHXHZ.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-DFMXLFWI.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-HOI52TN3.js → setup-M2ZKLKNN.js} +4 -4
- package/dist/{shift-DRF5M3G6.js → shift-LNMKFYLR.js} +73 -14
- package/dist/{show-GEVVQWWG.js → show-P7GYO43X.js} +1 -1
- package/dist/show-PKZMYKRN.js +82 -0
- package/dist/{snapshot-XHINQBZS.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-NV7SBV5O.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-YOGT2Q2X.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-101.json +53 -0
- 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 +400 -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/{upgrade-65QOQXRC.js → upgrade-ANX3LVSA.js} +1 -0
- package/dist/validate-GD5XWILV.js +134 -0
- package/dist/{validate-TKKRGJKC.js → validate-ZVPNN4FL.js} +1 -1
- package/dist/{workspace-L27RR5MF.js → workspace-UIUTHZTD.js} +6 -6
- 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-5SXMV4SP.js → chunk-FS3WTUHY.js} +0 -0
|
@@ -3174,7 +3174,7 @@ async function loadParadigmConfig(projectDir) {
|
|
|
3174
3174
|
}
|
|
3175
3175
|
async function loadWithPremiseCore(projectDir) {
|
|
3176
3176
|
try {
|
|
3177
|
-
const { aggregateFromDirectory } = await import("./dist-
|
|
3177
|
+
const { aggregateFromDirectory } = await import("./dist-OGTSAZ55.js");
|
|
3178
3178
|
log.flow("load-symbols").info("Using premise-core aggregator", { path: projectDir });
|
|
3179
3179
|
const result = await aggregateFromDirectory(projectDir);
|
|
3180
3180
|
const counts = {};
|
|
@@ -4670,6 +4670,454 @@ function loadServerConfig(projectDir) {
|
|
|
4670
4670
|
return config;
|
|
4671
4671
|
}
|
|
4672
4672
|
|
|
4673
|
+
// ../sentinel/src/schema/builtin-paradigm.ts
|
|
4674
|
+
var PARADIGM_SCHEMA = {
|
|
4675
|
+
id: "paradigm-logger",
|
|
4676
|
+
version: "1.0.0",
|
|
4677
|
+
name: "Paradigm Logger",
|
|
4678
|
+
description: "Structured logs from @a-company/paradigm-logger with symbolic context",
|
|
4679
|
+
scope: {
|
|
4680
|
+
field: "correlationId",
|
|
4681
|
+
type: "string",
|
|
4682
|
+
label: "Correlation",
|
|
4683
|
+
ordering: "independent",
|
|
4684
|
+
sessionField: "sessionId"
|
|
4685
|
+
},
|
|
4686
|
+
eventTypes: [
|
|
4687
|
+
{
|
|
4688
|
+
type: "log:debug",
|
|
4689
|
+
category: "logs",
|
|
4690
|
+
label: "Debug Log",
|
|
4691
|
+
severity: "debug",
|
|
4692
|
+
frequency: "high",
|
|
4693
|
+
fields: [
|
|
4694
|
+
{ name: "symbol", type: "string", indexed: true, display: true },
|
|
4695
|
+
{ name: "symbolType", type: "string", indexed: true, display: true },
|
|
4696
|
+
{ name: "message", type: "string", display: true },
|
|
4697
|
+
{ name: "service", type: "string", indexed: true, display: true },
|
|
4698
|
+
{ name: "durationMs", type: "number", display: true }
|
|
4699
|
+
]
|
|
4700
|
+
},
|
|
4701
|
+
{
|
|
4702
|
+
type: "log:info",
|
|
4703
|
+
category: "logs",
|
|
4704
|
+
label: "Info Log",
|
|
4705
|
+
severity: "info",
|
|
4706
|
+
frequency: "high",
|
|
4707
|
+
fields: [
|
|
4708
|
+
{ name: "symbol", type: "string", indexed: true, display: true },
|
|
4709
|
+
{ name: "symbolType", type: "string", indexed: true, display: true },
|
|
4710
|
+
{ name: "message", type: "string", display: true },
|
|
4711
|
+
{ name: "service", type: "string", indexed: true, display: true },
|
|
4712
|
+
{ name: "durationMs", type: "number", display: true }
|
|
4713
|
+
]
|
|
4714
|
+
},
|
|
4715
|
+
{
|
|
4716
|
+
type: "log:warn",
|
|
4717
|
+
category: "logs",
|
|
4718
|
+
label: "Warning Log",
|
|
4719
|
+
severity: "warn",
|
|
4720
|
+
frequency: "medium",
|
|
4721
|
+
fields: [
|
|
4722
|
+
{ name: "symbol", type: "string", indexed: true, display: true },
|
|
4723
|
+
{ name: "symbolType", type: "string", indexed: true, display: true },
|
|
4724
|
+
{ name: "message", type: "string", display: true },
|
|
4725
|
+
{ name: "service", type: "string", indexed: true, display: true }
|
|
4726
|
+
]
|
|
4727
|
+
},
|
|
4728
|
+
{
|
|
4729
|
+
type: "log:error",
|
|
4730
|
+
category: "logs",
|
|
4731
|
+
label: "Error Log",
|
|
4732
|
+
severity: "error",
|
|
4733
|
+
frequency: "low",
|
|
4734
|
+
fields: [
|
|
4735
|
+
{ name: "symbol", type: "string", indexed: true, display: true },
|
|
4736
|
+
{ name: "symbolType", type: "string", indexed: true, display: true },
|
|
4737
|
+
{ name: "message", type: "string", display: true },
|
|
4738
|
+
{ name: "service", type: "string", indexed: true, display: true }
|
|
4739
|
+
]
|
|
4740
|
+
},
|
|
4741
|
+
{
|
|
4742
|
+
type: "metric:counter",
|
|
4743
|
+
category: "metrics",
|
|
4744
|
+
label: "Counter Metric",
|
|
4745
|
+
severity: "info",
|
|
4746
|
+
frequency: "high",
|
|
4747
|
+
fields: [
|
|
4748
|
+
{ name: "name", type: "string", indexed: true, display: true },
|
|
4749
|
+
{ name: "value", type: "number", display: true },
|
|
4750
|
+
{ name: "tags", type: "object" }
|
|
4751
|
+
]
|
|
4752
|
+
},
|
|
4753
|
+
{
|
|
4754
|
+
type: "metric:gauge",
|
|
4755
|
+
category: "metrics",
|
|
4756
|
+
label: "Gauge Metric",
|
|
4757
|
+
severity: "info",
|
|
4758
|
+
frequency: "medium",
|
|
4759
|
+
fields: [
|
|
4760
|
+
{ name: "name", type: "string", indexed: true, display: true },
|
|
4761
|
+
{ name: "value", type: "number", display: true },
|
|
4762
|
+
{ name: "tags", type: "object" }
|
|
4763
|
+
]
|
|
4764
|
+
},
|
|
4765
|
+
{
|
|
4766
|
+
type: "metric:histogram",
|
|
4767
|
+
category: "metrics",
|
|
4768
|
+
label: "Histogram Metric",
|
|
4769
|
+
severity: "info",
|
|
4770
|
+
frequency: "medium",
|
|
4771
|
+
fields: [
|
|
4772
|
+
{ name: "name", type: "string", indexed: true, display: true },
|
|
4773
|
+
{ name: "value", type: "number", display: true },
|
|
4774
|
+
{ name: "tags", type: "object" }
|
|
4775
|
+
]
|
|
4776
|
+
},
|
|
4777
|
+
{
|
|
4778
|
+
type: "trace:span",
|
|
4779
|
+
category: "traces",
|
|
4780
|
+
label: "Trace Span",
|
|
4781
|
+
severity: "info",
|
|
4782
|
+
frequency: "medium",
|
|
4783
|
+
fields: [
|
|
4784
|
+
{ name: "traceId", type: "string", indexed: true, display: true },
|
|
4785
|
+
{ name: "spanId", type: "string", indexed: true },
|
|
4786
|
+
{ name: "operation", type: "string", display: true },
|
|
4787
|
+
{ name: "durationMs", type: "number", display: true },
|
|
4788
|
+
{ name: "status", type: "string", display: true }
|
|
4789
|
+
]
|
|
4790
|
+
},
|
|
4791
|
+
{
|
|
4792
|
+
type: "incident:recorded",
|
|
4793
|
+
category: "incidents",
|
|
4794
|
+
label: "Incident Recorded",
|
|
4795
|
+
severity: "error",
|
|
4796
|
+
frequency: "low",
|
|
4797
|
+
fields: [
|
|
4798
|
+
{ name: "incidentId", type: "string", indexed: true, display: true },
|
|
4799
|
+
{ name: "errorMessage", type: "string", display: true },
|
|
4800
|
+
{ name: "symbols", type: "object" },
|
|
4801
|
+
{ name: "environment", type: "string", display: true }
|
|
4802
|
+
]
|
|
4803
|
+
}
|
|
4804
|
+
],
|
|
4805
|
+
visualization: {
|
|
4806
|
+
defaultView: "table",
|
|
4807
|
+
categoryColors: {
|
|
4808
|
+
logs: "#3b82f6",
|
|
4809
|
+
metrics: "#22c55e",
|
|
4810
|
+
traces: "#a855f7",
|
|
4811
|
+
incidents: "#ef4444"
|
|
4812
|
+
},
|
|
4813
|
+
summaryFields: ["symbol", "message", "service"],
|
|
4814
|
+
defaultExcluded: ["log:debug"]
|
|
4815
|
+
},
|
|
4816
|
+
tags: ["builtin", "paradigm"]
|
|
4817
|
+
};
|
|
4818
|
+
|
|
4819
|
+
// ../sentinel/src/schema/builtin-symphony.ts
|
|
4820
|
+
var SYMPHONY_SCHEMA = {
|
|
4821
|
+
id: "paradigm-symphony",
|
|
4822
|
+
version: "1.0.0",
|
|
4823
|
+
name: "Symphony Conversations",
|
|
4824
|
+
description: "Agent-to-agent messaging events from The Score protocol",
|
|
4825
|
+
scope: {
|
|
4826
|
+
field: "threadId",
|
|
4827
|
+
type: "string",
|
|
4828
|
+
label: "Thread",
|
|
4829
|
+
ordering: "independent",
|
|
4830
|
+
sessionField: "sessionId"
|
|
4831
|
+
},
|
|
4832
|
+
eventTypes: [
|
|
4833
|
+
// ── Dialogue (5) ──────────────────────────────────────
|
|
4834
|
+
{
|
|
4835
|
+
type: "note:question",
|
|
4836
|
+
category: "dialogue",
|
|
4837
|
+
label: "Question",
|
|
4838
|
+
severity: "info",
|
|
4839
|
+
frequency: "high",
|
|
4840
|
+
fields: [
|
|
4841
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4842
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4843
|
+
{ name: "text", type: "string", display: true },
|
|
4844
|
+
{ name: "symbols", type: "object" },
|
|
4845
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4846
|
+
]
|
|
4847
|
+
},
|
|
4848
|
+
{
|
|
4849
|
+
type: "note:context",
|
|
4850
|
+
category: "dialogue",
|
|
4851
|
+
label: "Context",
|
|
4852
|
+
severity: "info",
|
|
4853
|
+
frequency: "high",
|
|
4854
|
+
fields: [
|
|
4855
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4856
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4857
|
+
{ name: "text", type: "string", display: true },
|
|
4858
|
+
{ name: "symbols", type: "object" },
|
|
4859
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4860
|
+
]
|
|
4861
|
+
},
|
|
4862
|
+
{
|
|
4863
|
+
type: "note:clarification",
|
|
4864
|
+
category: "dialogue",
|
|
4865
|
+
label: "Clarification",
|
|
4866
|
+
severity: "info",
|
|
4867
|
+
frequency: "medium",
|
|
4868
|
+
fields: [
|
|
4869
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4870
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4871
|
+
{ name: "text", type: "string", display: true },
|
|
4872
|
+
{ name: "symbols", type: "object" },
|
|
4873
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4874
|
+
]
|
|
4875
|
+
},
|
|
4876
|
+
{
|
|
4877
|
+
type: "note:verification",
|
|
4878
|
+
category: "dialogue",
|
|
4879
|
+
label: "Verification",
|
|
4880
|
+
severity: "info",
|
|
4881
|
+
frequency: "medium",
|
|
4882
|
+
fields: [
|
|
4883
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4884
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4885
|
+
{ name: "text", type: "string", display: true },
|
|
4886
|
+
{ name: "symbols", type: "object" },
|
|
4887
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4888
|
+
]
|
|
4889
|
+
},
|
|
4890
|
+
{
|
|
4891
|
+
type: "note:reference",
|
|
4892
|
+
category: "dialogue",
|
|
4893
|
+
label: "Reference",
|
|
4894
|
+
severity: "info",
|
|
4895
|
+
frequency: "medium",
|
|
4896
|
+
fields: [
|
|
4897
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4898
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4899
|
+
{ name: "text", type: "string", display: true },
|
|
4900
|
+
{ name: "symbols", type: "object" },
|
|
4901
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4902
|
+
]
|
|
4903
|
+
},
|
|
4904
|
+
// ── Action (2) ────────────────────────────────────────
|
|
4905
|
+
{
|
|
4906
|
+
type: "note:proposal",
|
|
4907
|
+
category: "action",
|
|
4908
|
+
label: "Proposal",
|
|
4909
|
+
severity: "info",
|
|
4910
|
+
frequency: "medium",
|
|
4911
|
+
fields: [
|
|
4912
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4913
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4914
|
+
{ name: "text", type: "string", display: true },
|
|
4915
|
+
{ name: "diff", type: "string" },
|
|
4916
|
+
{ name: "symbols", type: "object" },
|
|
4917
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4918
|
+
]
|
|
4919
|
+
},
|
|
4920
|
+
{
|
|
4921
|
+
type: "note:action",
|
|
4922
|
+
category: "action",
|
|
4923
|
+
label: "Action",
|
|
4924
|
+
severity: "info",
|
|
4925
|
+
frequency: "medium",
|
|
4926
|
+
fields: [
|
|
4927
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4928
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4929
|
+
{ name: "text", type: "string", display: true },
|
|
4930
|
+
{ name: "diff", type: "string" },
|
|
4931
|
+
{ name: "symbols", type: "object" },
|
|
4932
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4933
|
+
]
|
|
4934
|
+
},
|
|
4935
|
+
// ── Outcome (3) ───────────────────────────────────────
|
|
4936
|
+
{
|
|
4937
|
+
type: "note:decision",
|
|
4938
|
+
category: "outcome",
|
|
4939
|
+
label: "Decision",
|
|
4940
|
+
severity: "warn",
|
|
4941
|
+
frequency: "low",
|
|
4942
|
+
fields: [
|
|
4943
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4944
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4945
|
+
{ name: "text", type: "string", display: true },
|
|
4946
|
+
{ name: "decision", type: "string", display: true },
|
|
4947
|
+
{ name: "symbols", type: "object" },
|
|
4948
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4949
|
+
]
|
|
4950
|
+
},
|
|
4951
|
+
{
|
|
4952
|
+
type: "note:approval",
|
|
4953
|
+
category: "outcome",
|
|
4954
|
+
label: "Approval",
|
|
4955
|
+
severity: "info",
|
|
4956
|
+
frequency: "low",
|
|
4957
|
+
fields: [
|
|
4958
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4959
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4960
|
+
{ name: "text", type: "string", display: true },
|
|
4961
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4962
|
+
]
|
|
4963
|
+
},
|
|
4964
|
+
{
|
|
4965
|
+
type: "note:rejection",
|
|
4966
|
+
category: "outcome",
|
|
4967
|
+
label: "Rejection",
|
|
4968
|
+
severity: "warn",
|
|
4969
|
+
frequency: "low",
|
|
4970
|
+
fields: [
|
|
4971
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4972
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4973
|
+
{ name: "text", type: "string", display: true },
|
|
4974
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4975
|
+
]
|
|
4976
|
+
},
|
|
4977
|
+
// ── System (1) ────────────────────────────────────────
|
|
4978
|
+
{
|
|
4979
|
+
type: "note:alert",
|
|
4980
|
+
category: "system",
|
|
4981
|
+
label: "Alert",
|
|
4982
|
+
severity: "error",
|
|
4983
|
+
frequency: "low",
|
|
4984
|
+
fields: [
|
|
4985
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
4986
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
4987
|
+
{ name: "text", type: "string", display: true },
|
|
4988
|
+
{ name: "symbols", type: "object" },
|
|
4989
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
4990
|
+
]
|
|
4991
|
+
},
|
|
4992
|
+
// ── Lifecycle (4) ─────────────────────────────────────
|
|
4993
|
+
{
|
|
4994
|
+
type: "note:handoff",
|
|
4995
|
+
category: "lifecycle",
|
|
4996
|
+
label: "Handoff",
|
|
4997
|
+
severity: "info",
|
|
4998
|
+
frequency: "low",
|
|
4999
|
+
fields: [
|
|
5000
|
+
{ name: "sender", type: "string", indexed: true, display: true },
|
|
5001
|
+
{ name: "senderRole", type: "string", indexed: true, display: true },
|
|
5002
|
+
{ name: "text", type: "string", display: true },
|
|
5003
|
+
{ name: "parentId", type: "string", indexed: true }
|
|
5004
|
+
]
|
|
5005
|
+
},
|
|
5006
|
+
{
|
|
5007
|
+
type: "thread:created",
|
|
5008
|
+
category: "lifecycle",
|
|
5009
|
+
label: "Thread Created",
|
|
5010
|
+
severity: "info",
|
|
5011
|
+
frequency: "low",
|
|
5012
|
+
fields: [
|
|
5013
|
+
{ name: "topic", type: "string", display: true },
|
|
5014
|
+
{ name: "initiator", type: "string", indexed: true, display: true }
|
|
5015
|
+
]
|
|
5016
|
+
},
|
|
5017
|
+
{
|
|
5018
|
+
type: "thread:resolved",
|
|
5019
|
+
category: "lifecycle",
|
|
5020
|
+
label: "Thread Resolved",
|
|
5021
|
+
severity: "info",
|
|
5022
|
+
frequency: "low",
|
|
5023
|
+
fields: [
|
|
5024
|
+
{ name: "topic", type: "string", display: true },
|
|
5025
|
+
{ name: "decision", type: "string", display: true }
|
|
5026
|
+
]
|
|
5027
|
+
},
|
|
5028
|
+
{
|
|
5029
|
+
type: "participant:joined",
|
|
5030
|
+
category: "lifecycle",
|
|
5031
|
+
label: "Participant Joined",
|
|
5032
|
+
severity: "info",
|
|
5033
|
+
frequency: "low",
|
|
5034
|
+
fields: [
|
|
5035
|
+
{ name: "participantId", type: "string", indexed: true, display: true },
|
|
5036
|
+
{ name: "participantName", type: "string", display: true },
|
|
5037
|
+
{ name: "participantRole", type: "string", display: true }
|
|
5038
|
+
]
|
|
5039
|
+
},
|
|
5040
|
+
{
|
|
5041
|
+
type: "participant:left",
|
|
5042
|
+
category: "lifecycle",
|
|
5043
|
+
label: "Participant Left",
|
|
5044
|
+
severity: "info",
|
|
5045
|
+
frequency: "low",
|
|
5046
|
+
fields: [
|
|
5047
|
+
{ name: "participantId", type: "string", indexed: true, display: true },
|
|
5048
|
+
{ name: "participantName", type: "string", display: true }
|
|
5049
|
+
]
|
|
5050
|
+
},
|
|
5051
|
+
// ── Transfer (4) ──────────────────────────────────────
|
|
5052
|
+
{
|
|
5053
|
+
type: "file:requested",
|
|
5054
|
+
category: "transfer",
|
|
5055
|
+
label: "File Requested",
|
|
5056
|
+
severity: "info",
|
|
5057
|
+
frequency: "low",
|
|
5058
|
+
fields: [
|
|
5059
|
+
{ name: "requestId", type: "string", indexed: true, display: true },
|
|
5060
|
+
{ name: "filePath", type: "string", display: true },
|
|
5061
|
+
{ name: "requester", type: "string", indexed: true, display: true },
|
|
5062
|
+
{ name: "reason", type: "string", display: true },
|
|
5063
|
+
{ name: "urgency", type: "string", display: true }
|
|
5064
|
+
]
|
|
5065
|
+
},
|
|
5066
|
+
{
|
|
5067
|
+
type: "file:approved",
|
|
5068
|
+
category: "transfer",
|
|
5069
|
+
label: "File Approved",
|
|
5070
|
+
severity: "info",
|
|
5071
|
+
frequency: "low",
|
|
5072
|
+
fields: [
|
|
5073
|
+
{ name: "requestId", type: "string", indexed: true, display: true },
|
|
5074
|
+
{ name: "filePath", type: "string", display: true },
|
|
5075
|
+
{ name: "size", type: "number", display: true },
|
|
5076
|
+
{ name: "hash", type: "string" }
|
|
5077
|
+
]
|
|
5078
|
+
},
|
|
5079
|
+
{
|
|
5080
|
+
type: "file:denied",
|
|
5081
|
+
category: "transfer",
|
|
5082
|
+
label: "File Denied",
|
|
5083
|
+
severity: "warn",
|
|
5084
|
+
frequency: "low",
|
|
5085
|
+
fields: [
|
|
5086
|
+
{ name: "requestId", type: "string", indexed: true, display: true },
|
|
5087
|
+
{ name: "filePath", type: "string", display: true },
|
|
5088
|
+
{ name: "reason", type: "string", display: true }
|
|
5089
|
+
]
|
|
5090
|
+
},
|
|
5091
|
+
{
|
|
5092
|
+
type: "file:delivered",
|
|
5093
|
+
category: "transfer",
|
|
5094
|
+
label: "File Delivered",
|
|
5095
|
+
severity: "info",
|
|
5096
|
+
frequency: "low",
|
|
5097
|
+
fields: [
|
|
5098
|
+
{ name: "requestId", type: "string", indexed: true, display: true },
|
|
5099
|
+
{ name: "filePath", type: "string", display: true },
|
|
5100
|
+
{ name: "size", type: "number", display: true },
|
|
5101
|
+
{ name: "hash", type: "string" }
|
|
5102
|
+
]
|
|
5103
|
+
}
|
|
5104
|
+
],
|
|
5105
|
+
visualization: {
|
|
5106
|
+
defaultView: "tree",
|
|
5107
|
+
categoryColors: {
|
|
5108
|
+
dialogue: "#7dd3fc",
|
|
5109
|
+
action: "#86efac",
|
|
5110
|
+
outcome: "#fbbf24",
|
|
5111
|
+
system: "#f87171",
|
|
5112
|
+
lifecycle: "#a78bfa",
|
|
5113
|
+
transfer: "#34d399"
|
|
5114
|
+
},
|
|
5115
|
+
summaryFields: ["sender", "text", "senderRole"],
|
|
5116
|
+
defaultExcluded: []
|
|
5117
|
+
},
|
|
5118
|
+
tags: ["builtin", "symphony"]
|
|
5119
|
+
};
|
|
5120
|
+
|
|
4673
5121
|
// ../sentinel/src/server/index.ts
|
|
4674
5122
|
var __filename2 = fileURLToPath2(import.meta.url);
|
|
4675
5123
|
var __dirname2 = path6.dirname(__filename2);
|
|
@@ -4776,6 +5224,9 @@ async function startServer(options) {
|
|
|
4776
5224
|
}
|
|
4777
5225
|
const storage = new SentinelStorage(options.dbPath);
|
|
4778
5226
|
await storage.ensureReady();
|
|
5227
|
+
storage.registerSchema(PARADIGM_SCHEMA);
|
|
5228
|
+
storage.registerSchema(SYMPHONY_SCHEMA);
|
|
5229
|
+
log3.component("sentinel-server").info("Registered builtin schemas", { schemas: "paradigm-logger, paradigm-symphony" });
|
|
4779
5230
|
let symbolIndex = [];
|
|
4780
5231
|
try {
|
|
4781
5232
|
symbolIndex = await loadSymbolIndex(options.projectDir);
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "./chunk-ZXMDA7VB.js";
|
|
3
|
+
|
|
4
|
+
// src/core/config-schema.ts
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import * as yaml from "js-yaml";
|
|
7
|
+
var disciplineEnum = z.enum([
|
|
8
|
+
"web",
|
|
9
|
+
"backend",
|
|
10
|
+
"fullstack",
|
|
11
|
+
"api",
|
|
12
|
+
"cli",
|
|
13
|
+
"ml",
|
|
14
|
+
"mobile",
|
|
15
|
+
"game",
|
|
16
|
+
"embedded",
|
|
17
|
+
"devops",
|
|
18
|
+
"data",
|
|
19
|
+
"library",
|
|
20
|
+
"monorepo",
|
|
21
|
+
"custom"
|
|
22
|
+
]);
|
|
23
|
+
var agentProviderEnum = z.enum([
|
|
24
|
+
"auto",
|
|
25
|
+
"claude",
|
|
26
|
+
"claude-code",
|
|
27
|
+
"cursor-cli",
|
|
28
|
+
"claude-cli",
|
|
29
|
+
"manual"
|
|
30
|
+
]);
|
|
31
|
+
var symbolDefinitionSchema = z.object({
|
|
32
|
+
name: z.string(),
|
|
33
|
+
description: z.string(),
|
|
34
|
+
examples: z.array(z.string()).optional()
|
|
35
|
+
}).passthrough();
|
|
36
|
+
var tagBankSchema = z.object({
|
|
37
|
+
file: z.string().optional(),
|
|
38
|
+
"core-tags": z.array(z.string()).optional(),
|
|
39
|
+
"allow-suggestions": z.boolean().optional()
|
|
40
|
+
}).passthrough();
|
|
41
|
+
var agentGuidelinesSchema = z.object({
|
|
42
|
+
overview: z.string().optional(),
|
|
43
|
+
"how-to-use": z.array(z.string()).optional(),
|
|
44
|
+
"update-rules": z.array(z.string()).optional()
|
|
45
|
+
}).passthrough();
|
|
46
|
+
var loggingSchema = z.object({
|
|
47
|
+
enforce: z.boolean().optional(),
|
|
48
|
+
"default-level": z.enum(["debug", "info", "warn", "error"]).optional(),
|
|
49
|
+
"symbol-mapping": z.record(z.string(), z.string()).optional()
|
|
50
|
+
}).passthrough();
|
|
51
|
+
var purposeRequiredEntry = z.object({
|
|
52
|
+
pattern: z.string(),
|
|
53
|
+
depth: z.number().optional()
|
|
54
|
+
});
|
|
55
|
+
var limitsSchema = z.object({
|
|
56
|
+
toolCacheTtlMs: z.number().optional()
|
|
57
|
+
}).passthrough();
|
|
58
|
+
var aiAgentSchema = z.object({
|
|
59
|
+
model: z.string().optional(),
|
|
60
|
+
"context-window": z.number().optional()
|
|
61
|
+
}).passthrough();
|
|
62
|
+
var contextSchema = z.object({
|
|
63
|
+
enabled: z.boolean().optional(),
|
|
64
|
+
"index-file": z.string().optional(),
|
|
65
|
+
"docs-path": z.string().optional()
|
|
66
|
+
}).passthrough();
|
|
67
|
+
var probeSchema = z.object({
|
|
68
|
+
enabled: z.boolean().optional(),
|
|
69
|
+
"auto-include": z.boolean().optional()
|
|
70
|
+
}).passthrough();
|
|
71
|
+
var paradigmConfigSchema = z.object({
|
|
72
|
+
version: z.string(),
|
|
73
|
+
project: z.string(),
|
|
74
|
+
discipline: disciplineEnum.optional(),
|
|
75
|
+
"agent-provider": agentProviderEnum.optional(),
|
|
76
|
+
"agent-guidelines": agentGuidelinesSchema.optional(),
|
|
77
|
+
"symbol-system": z.record(z.string(), symbolDefinitionSchema).optional(),
|
|
78
|
+
"tag-bank": tagBankSchema.optional(),
|
|
79
|
+
component_types: z.record(z.string(), z.string()).optional(),
|
|
80
|
+
logging: loggingSchema.optional(),
|
|
81
|
+
"purpose-required": z.array(purposeRequiredEntry).optional(),
|
|
82
|
+
conventions: z.array(z.string()).optional(),
|
|
83
|
+
workspace: z.string().optional(),
|
|
84
|
+
limits: limitsSchema.optional(),
|
|
85
|
+
"ai-agent": aiAgentSchema.optional(),
|
|
86
|
+
context: contextSchema.optional(),
|
|
87
|
+
probe: probeSchema.optional(),
|
|
88
|
+
states: z.record(z.string(), z.unknown()).optional(),
|
|
89
|
+
"custom-symbols": z.record(z.string(), symbolDefinitionSchema).optional()
|
|
90
|
+
}).passthrough();
|
|
91
|
+
var KNOWN_TOP_LEVEL_KEYS = /* @__PURE__ */ new Set([
|
|
92
|
+
"version",
|
|
93
|
+
"project",
|
|
94
|
+
"discipline",
|
|
95
|
+
"agent-provider",
|
|
96
|
+
"agent-guidelines",
|
|
97
|
+
"symbol-system",
|
|
98
|
+
"tag-bank",
|
|
99
|
+
"component_types",
|
|
100
|
+
"logging",
|
|
101
|
+
"purpose-required",
|
|
102
|
+
"conventions",
|
|
103
|
+
"workspace",
|
|
104
|
+
"limits",
|
|
105
|
+
"ai-agent",
|
|
106
|
+
"context",
|
|
107
|
+
"probe",
|
|
108
|
+
"states",
|
|
109
|
+
"custom-symbols"
|
|
110
|
+
]);
|
|
111
|
+
function validateConfig(content) {
|
|
112
|
+
const warnings = [];
|
|
113
|
+
const errors = [];
|
|
114
|
+
let parsed;
|
|
115
|
+
try {
|
|
116
|
+
parsed = yaml.load(content);
|
|
117
|
+
} catch (e) {
|
|
118
|
+
return {
|
|
119
|
+
valid: false,
|
|
120
|
+
warnings: [],
|
|
121
|
+
errors: [`YAML parse error: ${e.message}`]
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
if (!parsed || typeof parsed !== "object") {
|
|
125
|
+
return {
|
|
126
|
+
valid: false,
|
|
127
|
+
warnings: [],
|
|
128
|
+
errors: ["Config must be a YAML object"]
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
for (const key of Object.keys(parsed)) {
|
|
132
|
+
if (!KNOWN_TOP_LEVEL_KEYS.has(key)) {
|
|
133
|
+
warnings.push(`Unrecognized config key: "${key}"`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const result = paradigmConfigSchema.safeParse(parsed);
|
|
137
|
+
if (!result.success) {
|
|
138
|
+
for (const issue of result.error.issues) {
|
|
139
|
+
const path = issue.path.join(".");
|
|
140
|
+
errors.push(`${path}: ${issue.message}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return {
|
|
144
|
+
valid: errors.length === 0,
|
|
145
|
+
warnings,
|
|
146
|
+
errors
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
export {
|
|
150
|
+
paradigmConfigSchema,
|
|
151
|
+
validateConfig
|
|
152
|
+
};
|