@a-company/paradigm 3.34.0 → 3.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/{accept-orchestration-XXANWJVZ.js → accept-orchestration-ZUWQUHSK.js} +6 -6
  2. package/dist/add-VSPZ6FM4.js +81 -0
  3. package/dist/{aggregate-XHQ6GI3Z.js → aggregate-SV3VGEIL.js} +2 -2
  4. package/dist/assess-UHBDYIK7.js +68 -0
  5. package/dist/{beacon-BTLQMYQL.js → beacon-3SJV4DAP.js} +2 -2
  6. package/dist/calibration-WWHK73WU.js +135 -0
  7. package/dist/{chunk-C5ZE6WEX.js → chunk-2SKXFXIT.js} +91 -1
  8. package/dist/{chunk-S5TDFT5Q.js → chunk-7COU5S2Z.js} +2 -2
  9. package/dist/{chunk-H4TVBJD4.js → chunk-AKIMFN6I.js} +3 -3
  10. package/dist/{chunk-3DYYXGDC.js → chunk-CDMAMDSG.js} +33 -0
  11. package/dist/chunk-F3BCHPYT.js +143 -0
  12. package/dist/{chunk-R2SGQ22F.js → chunk-FKJUBQU3.js} +461 -2
  13. package/dist/chunk-GT5QGC2H.js +253 -0
  14. package/dist/{chunk-UQNTJ5VB.js → chunk-HIKKOCXY.js} +1 -1
  15. package/dist/{chunk-J26YQVAK.js → chunk-J4E6K5MG.js} +1 -1
  16. package/dist/chunk-L27I3CPZ.js +357 -0
  17. package/dist/{chunk-WOONGZ3C.js → chunk-P7XSBJE3.js} +1 -1
  18. package/dist/{chunk-Z7W7HNRG.js → chunk-QDXI2DHR.js} +1 -1
  19. package/dist/{chunk-BRILIG7Z.js → chunk-QIOCFXDQ.js} +42 -0
  20. package/dist/{chunk-3BGSDKWD.js → chunk-QWA26UNO.js} +7 -7
  21. package/dist/{lore-server-ILPHKWLK.js → chunk-RAB5IKPR.js} +77 -112
  22. package/dist/chunk-SOBTKFSP.js +616 -0
  23. package/dist/{chunk-BKMNLROM.js → chunk-ZDHLG5VP.js} +461 -147
  24. package/dist/{chunk-CTF6RHKG.js → chunk-ZGUAAVMA.js} +17 -2
  25. package/dist/{chunk-PFLWLC6J.js → chunk-ZMQA6SCO.js} +855 -34
  26. package/dist/{chunk-3BAMPB6I.js → chunk-ZSYVKSY6.js} +2 -147
  27. package/dist/{commands-KPT2T2OZ.js → commands-5N4ILTPH.js} +465 -1
  28. package/dist/config-schema-3YNIFJCJ.js +152 -0
  29. package/dist/{constellation-LZ6XIKDT.js → constellation-FAGT45TU.js} +2 -2
  30. package/dist/{context-audit-RI4R2WRH.js → context-audit-557EO6PK.js} +138 -8
  31. package/dist/{cost-4SZM7OUS.js → cost-UD3WPEKZ.js} +1 -1
  32. package/dist/{delete-YTASL4SM.js → delete-RRK4RL6Y.js} +1 -1
  33. package/dist/{diff-T6YJSAAC.js → diff-IP5CIARP.js} +6 -6
  34. package/dist/{dist-AG5JNIZU-HW2FWNTZ.js → dist-5QE2BB2B-X6DYVSUL.js} +59 -5
  35. package/dist/{dist-IKBGY7FQ.js → dist-CM3MVWWW.js} +3 -1
  36. package/dist/{dist-OH4DBV2O.js → dist-OGTSAZ55.js} +16 -1
  37. package/dist/{dist-RMAIFRTW.js → dist-POMVY6WP.js} +5 -3
  38. package/dist/{dist-QSBAGCZT.js → dist-UXWV4OKX.js} +2 -2
  39. package/dist/{doctor-INBOLZC7.js → doctor-GKZJU7QG.js} +1 -1
  40. package/dist/{edit-S7NZD7H7.js → edit-4CLNN5JG.js} +1 -1
  41. package/dist/{graph-ERNQQQ7C.js → graph-YYUXI3F7.js} +1 -1
  42. package/dist/graph-server-ZPXRSGCW.js +116 -0
  43. package/dist/{habits-7BORPC2F.js → habits-RG5SVKXP.js} +2 -2
  44. package/dist/index.js +200 -86
  45. package/dist/integrity-MK2OP5TA.js +194 -0
  46. package/dist/integrity-checker-J7YXRTBT.js +11 -0
  47. package/dist/{lint-MTRZB5EC.js → lint-HYWGS3JJ.js} +1 -1
  48. package/dist/{list-QTFWN35D.js → list-BTLFHSRC.js} +1 -1
  49. package/dist/list-IUCYPGMK.js +57 -0
  50. package/dist/{lore-loader-S5BXMH27.js → lore-loader-VTEEZDX3.js} +3 -1
  51. package/dist/lore-server-NOOAHKJX.js +118 -0
  52. package/dist/mcp.js +2591 -112
  53. package/dist/{migrate-HRN5TUBQ.js → migrate-FQVGQNXZ.js} +21 -3
  54. package/dist/{migrate-assessments-FPR6C35Z.js → migrate-assessments-JP6Q5KME.js} +1 -1
  55. package/dist/{orchestrate-3SI6ON33.js → orchestrate-A226N6FC.js} +6 -6
  56. package/dist/platform-server-KHL6ZPPN.js +900 -0
  57. package/dist/{probe-ABMGCXQG.js → probe-7JK7IDNI.js} +4 -4
  58. package/dist/{providers-YW3FG6DA.js → providers-YNFSL6HK.js} +1 -1
  59. package/dist/quiz-I75NU2QQ.js +99 -0
  60. package/dist/{record-UGN75GTB.js → record-46CLR4OG.js} +11 -2
  61. package/dist/{reindex-YC7LD4MN.js → reindex-WIJMCJ4A.js} +3 -2
  62. package/dist/{remember-WR6ZVXLT.js → remember-4EUZKIIB.js} +1 -1
  63. package/dist/{retag-URLJLMSK.js → retag-KC4JVRLE.js} +1 -1
  64. package/dist/{review-725ZKA7U.js → review-Q7M4CRB5.js} +1 -1
  65. package/dist/{ripple-QTXKJCEI.js → ripple-RI3LOT6R.js} +2 -2
  66. package/dist/{sentinel-FUR3QKCJ.js → sentinel-UOIGJWHH.js} +1 -1
  67. package/dist/sentinel-bridge-APDXYAZS.js +109 -0
  68. package/dist/sentinel-mcp.js +13 -0
  69. package/dist/sentinel-ui/assets/{index-Zh1YM0C9.css → index-CJ1Wx083.css} +1 -1
  70. package/dist/sentinel-ui/assets/index-S1VJ67dT.js +62 -0
  71. package/dist/sentinel-ui/assets/index-S1VJ67dT.js.map +1 -0
  72. package/dist/sentinel-ui/index.html +2 -2
  73. package/dist/sentinel.js +6 -6
  74. package/dist/{serve-DIALBCTU.js → serve-22A4XOIG.js} +1 -1
  75. package/dist/{university-A66BMZ4Z.js → serve-2YJ6D2Y6.js} +9 -8
  76. package/dist/serve-JVXSRSUB.js +33 -0
  77. package/dist/{server-2VICPDUR.js → server-JV6UFGWZ.js} +25 -2
  78. package/dist/{server-OWBK2WFS.js → server-RDLQ3DK7.js} +49 -4
  79. package/dist/{setup-ASR6OMKV.js → setup-M2ZKLKNN.js} +2 -2
  80. package/dist/{shift-7XLSBLDW.js → shift-LNMKFYLR.js} +63 -14
  81. package/dist/{show-GEVVQWWG.js → show-P7GYO43X.js} +1 -1
  82. package/dist/show-PKZMYKRN.js +82 -0
  83. package/dist/{snapshot-QZFD7YBI.js → snapshot-Y3COXK4T.js} +2 -2
  84. package/dist/{spawn-DIY7T4QW.js → spawn-SSXZX45U.js} +2 -2
  85. package/dist/status-KLHALGW4.js +71 -0
  86. package/dist/{summary-R4CSYNNP.js → summary-5NQNOD3F.js} +2 -2
  87. package/dist/{sweep-5POCF2E4.js → sweep-EZU3GU6S.js} +1 -1
  88. package/dist/symphony-EYRGGVNE.js +470 -0
  89. package/dist/symphony-QWOEKZMC.js +308 -0
  90. package/dist/{team-VH3HYABB.js → team-HGLJXWQG.js} +7 -7
  91. package/dist/{timeline-RKXNRMKF.js → timeline-ANC7LVDL.js} +1 -1
  92. package/dist/{triage-GJ6GK647.js → triage-IZ4MDYNB.js} +2 -2
  93. package/dist/university-content/courses/.purpose +7 -1
  94. package/dist/university-content/courses/para-501.json +166 -0
  95. package/dist/university-content/plsat/.purpose +6 -0
  96. package/dist/university-content/plsat/v3.0.json +323 -1
  97. package/dist/university-content/reference.json +48 -0
  98. package/dist/university-ui/assets/{index-TcsCEBMo.js → index-tfi5xN4Q.js} +2 -2
  99. package/dist/university-ui/assets/{index-TcsCEBMo.js.map → index-tfi5xN4Q.js.map} +1 -1
  100. package/dist/university-ui/index.html +1 -1
  101. package/dist/validate-GD5XWILV.js +134 -0
  102. package/dist/{validate-OUHUBZPO.js → validate-ZVPNN4FL.js} +1 -1
  103. package/dist/{workspace-5RBSALXC.js → workspace-UIUTHZTD.js} +5 -5
  104. package/package.json +4 -2
  105. package/platform-ui/dist/assets/GitSection-BD3Ze06e.js +4 -0
  106. package/platform-ui/dist/assets/GitSection-C-GQWHcu.css +1 -0
  107. package/platform-ui/dist/assets/GraphSection-BlgXTl53.css +1 -0
  108. package/platform-ui/dist/assets/GraphSection-SglITfSs.js +8 -0
  109. package/platform-ui/dist/assets/LoreSection-C3EixkjW.css +1 -0
  110. package/platform-ui/dist/assets/LoreSection-bR5Km4Fd.js +1 -0
  111. package/platform-ui/dist/assets/SentinelSection-BI-aIYKL.css +1 -0
  112. package/platform-ui/dist/assets/SentinelSection-QSpAZArG.js +1 -0
  113. package/platform-ui/dist/assets/SymphonySection-CobYJgvg.js +1 -0
  114. package/platform-ui/dist/assets/SymphonySection-zY0C5tFl.css +1 -0
  115. package/platform-ui/dist/assets/index-CfpZFjea.css +1 -0
  116. package/platform-ui/dist/assets/index-DbxeSMkV.js +57 -0
  117. package/platform-ui/dist/index.html +14 -0
  118. package/dist/graph-server-BZ73HTAT.js +0 -251
  119. package/dist/sentinel-ui/assets/index-C_Wstm64.js +0 -62
  120. package/dist/sentinel-ui/assets/index-C_Wstm64.js.map +0 -1
  121. /package/dist/{chunk-VUSCJJ4A.js → chunk-EDOAWN7J.js} +0 -0
  122. /package/dist/{chunk-5SXMV4SP.js → chunk-FS3WTUHY.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  SentinelStorage
4
- } from "./chunk-R2SGQ22F.js";
4
+ } from "./chunk-FKJUBQU3.js";
5
5
 
6
6
  // ../sentinel/dist/chunk-VQ3SIN7S.js
7
7
  import { v4 as uuidv4 } from "uuid";
@@ -2578,150 +2578,6 @@ var PatternImporter = class {
2578
2578
  };
2579
2579
  }
2580
2580
  };
2581
- var PARADIGM_SCHEMA = {
2582
- id: "paradigm-logger",
2583
- version: "1.0.0",
2584
- name: "Paradigm Logger",
2585
- description: "Structured logs from @a-company/paradigm-logger with symbolic context",
2586
- scope: {
2587
- field: "correlationId",
2588
- type: "string",
2589
- label: "Correlation",
2590
- ordering: "independent",
2591
- sessionField: "sessionId"
2592
- },
2593
- eventTypes: [
2594
- {
2595
- type: "log:debug",
2596
- category: "logs",
2597
- label: "Debug Log",
2598
- severity: "debug",
2599
- frequency: "high",
2600
- fields: [
2601
- { name: "symbol", type: "string", indexed: true, display: true },
2602
- { name: "symbolType", type: "string", indexed: true, display: true },
2603
- { name: "message", type: "string", display: true },
2604
- { name: "service", type: "string", indexed: true, display: true },
2605
- { name: "durationMs", type: "number", display: true }
2606
- ]
2607
- },
2608
- {
2609
- type: "log:info",
2610
- category: "logs",
2611
- label: "Info Log",
2612
- severity: "info",
2613
- frequency: "high",
2614
- fields: [
2615
- { name: "symbol", type: "string", indexed: true, display: true },
2616
- { name: "symbolType", type: "string", indexed: true, display: true },
2617
- { name: "message", type: "string", display: true },
2618
- { name: "service", type: "string", indexed: true, display: true },
2619
- { name: "durationMs", type: "number", display: true }
2620
- ]
2621
- },
2622
- {
2623
- type: "log:warn",
2624
- category: "logs",
2625
- label: "Warning Log",
2626
- severity: "warn",
2627
- frequency: "medium",
2628
- fields: [
2629
- { name: "symbol", type: "string", indexed: true, display: true },
2630
- { name: "symbolType", type: "string", indexed: true, display: true },
2631
- { name: "message", type: "string", display: true },
2632
- { name: "service", type: "string", indexed: true, display: true }
2633
- ]
2634
- },
2635
- {
2636
- type: "log:error",
2637
- category: "logs",
2638
- label: "Error Log",
2639
- severity: "error",
2640
- frequency: "low",
2641
- fields: [
2642
- { name: "symbol", type: "string", indexed: true, display: true },
2643
- { name: "symbolType", type: "string", indexed: true, display: true },
2644
- { name: "message", type: "string", display: true },
2645
- { name: "service", type: "string", indexed: true, display: true }
2646
- ]
2647
- },
2648
- {
2649
- type: "metric:counter",
2650
- category: "metrics",
2651
- label: "Counter Metric",
2652
- severity: "info",
2653
- frequency: "high",
2654
- fields: [
2655
- { name: "name", type: "string", indexed: true, display: true },
2656
- { name: "value", type: "number", display: true },
2657
- { name: "tags", type: "object" }
2658
- ]
2659
- },
2660
- {
2661
- type: "metric:gauge",
2662
- category: "metrics",
2663
- label: "Gauge Metric",
2664
- severity: "info",
2665
- frequency: "medium",
2666
- fields: [
2667
- { name: "name", type: "string", indexed: true, display: true },
2668
- { name: "value", type: "number", display: true },
2669
- { name: "tags", type: "object" }
2670
- ]
2671
- },
2672
- {
2673
- type: "metric:histogram",
2674
- category: "metrics",
2675
- label: "Histogram Metric",
2676
- severity: "info",
2677
- frequency: "medium",
2678
- fields: [
2679
- { name: "name", type: "string", indexed: true, display: true },
2680
- { name: "value", type: "number", display: true },
2681
- { name: "tags", type: "object" }
2682
- ]
2683
- },
2684
- {
2685
- type: "trace:span",
2686
- category: "traces",
2687
- label: "Trace Span",
2688
- severity: "info",
2689
- frequency: "medium",
2690
- fields: [
2691
- { name: "traceId", type: "string", indexed: true, display: true },
2692
- { name: "spanId", type: "string", indexed: true },
2693
- { name: "operation", type: "string", display: true },
2694
- { name: "durationMs", type: "number", display: true },
2695
- { name: "status", type: "string", display: true }
2696
- ]
2697
- },
2698
- {
2699
- type: "incident:recorded",
2700
- category: "incidents",
2701
- label: "Incident Recorded",
2702
- severity: "error",
2703
- frequency: "low",
2704
- fields: [
2705
- { name: "incidentId", type: "string", indexed: true, display: true },
2706
- { name: "errorMessage", type: "string", display: true },
2707
- { name: "symbols", type: "object" },
2708
- { name: "environment", type: "string", display: true }
2709
- ]
2710
- }
2711
- ],
2712
- visualization: {
2713
- defaultView: "table",
2714
- categoryColors: {
2715
- logs: "#3b82f6",
2716
- metrics: "#22c55e",
2717
- traces: "#a855f7",
2718
- incidents: "#ef4444"
2719
- },
2720
- summaryFields: ["symbol", "message", "service"],
2721
- defaultExcluded: ["log:debug"]
2722
- },
2723
- tags: ["builtin", "paradigm"]
2724
- };
2725
2581
 
2726
2582
  export {
2727
2583
  SentinelClient,
@@ -2742,6 +2598,5 @@ export {
2742
2598
  StatsCalculator,
2743
2599
  ContextEnricher,
2744
2600
  PatternSuggester,
2745
- PatternImporter,
2746
- PARADIGM_SCHEMA
2601
+ PatternImporter
2747
2602
  };
@@ -599,6 +599,19 @@ var SentinelStorage = class {
599
599
  );
600
600
  this.save();
601
601
  }
602
+ resolveIncident(id, options) {
603
+ this.updateIncident(id, {
604
+ status: "resolved",
605
+ resolvedAt: (/* @__PURE__ */ new Date()).toISOString()
606
+ });
607
+ if (options?.notes) {
608
+ this.addIncidentNote(id, {
609
+ author: "system",
610
+ content: options.notes,
611
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
612
+ });
613
+ }
614
+ }
602
615
  addIncidentNote(incidentId, note) {
603
616
  this.initializeSync();
604
617
  const incident = this.getIncident(incidentId);
@@ -3174,7 +3187,7 @@ async function loadParadigmConfig(projectDir) {
3174
3187
  }
3175
3188
  async function loadWithPremiseCore(projectDir) {
3176
3189
  try {
3177
- const { aggregateFromDirectory } = await import("./dist-OH4DBV2O.js");
3190
+ const { aggregateFromDirectory } = await import("./dist-OGTSAZ55.js");
3178
3191
  log.flow("load-symbols").info("Using premise-core aggregator", { path: projectDir });
3179
3192
  const result = await aggregateFromDirectory(projectDir);
3180
3193
  const counts = {};
@@ -4670,6 +4683,454 @@ function loadServerConfig(projectDir) {
4670
4683
  return config;
4671
4684
  }
4672
4685
 
4686
+ // ../sentinel/src/schema/builtin-paradigm.ts
4687
+ var PARADIGM_SCHEMA = {
4688
+ id: "paradigm-logger",
4689
+ version: "1.0.0",
4690
+ name: "Paradigm Logger",
4691
+ description: "Structured logs from @a-company/paradigm-logger with symbolic context",
4692
+ scope: {
4693
+ field: "correlationId",
4694
+ type: "string",
4695
+ label: "Correlation",
4696
+ ordering: "independent",
4697
+ sessionField: "sessionId"
4698
+ },
4699
+ eventTypes: [
4700
+ {
4701
+ type: "log:debug",
4702
+ category: "logs",
4703
+ label: "Debug Log",
4704
+ severity: "debug",
4705
+ frequency: "high",
4706
+ fields: [
4707
+ { name: "symbol", type: "string", indexed: true, display: true },
4708
+ { name: "symbolType", type: "string", indexed: true, display: true },
4709
+ { name: "message", type: "string", display: true },
4710
+ { name: "service", type: "string", indexed: true, display: true },
4711
+ { name: "durationMs", type: "number", display: true }
4712
+ ]
4713
+ },
4714
+ {
4715
+ type: "log:info",
4716
+ category: "logs",
4717
+ label: "Info Log",
4718
+ severity: "info",
4719
+ frequency: "high",
4720
+ fields: [
4721
+ { name: "symbol", type: "string", indexed: true, display: true },
4722
+ { name: "symbolType", type: "string", indexed: true, display: true },
4723
+ { name: "message", type: "string", display: true },
4724
+ { name: "service", type: "string", indexed: true, display: true },
4725
+ { name: "durationMs", type: "number", display: true }
4726
+ ]
4727
+ },
4728
+ {
4729
+ type: "log:warn",
4730
+ category: "logs",
4731
+ label: "Warning Log",
4732
+ severity: "warn",
4733
+ frequency: "medium",
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: "log:error",
4743
+ category: "logs",
4744
+ label: "Error Log",
4745
+ severity: "error",
4746
+ frequency: "low",
4747
+ fields: [
4748
+ { name: "symbol", type: "string", indexed: true, display: true },
4749
+ { name: "symbolType", type: "string", indexed: true, display: true },
4750
+ { name: "message", type: "string", display: true },
4751
+ { name: "service", type: "string", indexed: true, display: true }
4752
+ ]
4753
+ },
4754
+ {
4755
+ type: "metric:counter",
4756
+ category: "metrics",
4757
+ label: "Counter Metric",
4758
+ severity: "info",
4759
+ frequency: "high",
4760
+ fields: [
4761
+ { name: "name", type: "string", indexed: true, display: true },
4762
+ { name: "value", type: "number", display: true },
4763
+ { name: "tags", type: "object" }
4764
+ ]
4765
+ },
4766
+ {
4767
+ type: "metric:gauge",
4768
+ category: "metrics",
4769
+ label: "Gauge Metric",
4770
+ severity: "info",
4771
+ frequency: "medium",
4772
+ fields: [
4773
+ { name: "name", type: "string", indexed: true, display: true },
4774
+ { name: "value", type: "number", display: true },
4775
+ { name: "tags", type: "object" }
4776
+ ]
4777
+ },
4778
+ {
4779
+ type: "metric:histogram",
4780
+ category: "metrics",
4781
+ label: "Histogram Metric",
4782
+ severity: "info",
4783
+ frequency: "medium",
4784
+ fields: [
4785
+ { name: "name", type: "string", indexed: true, display: true },
4786
+ { name: "value", type: "number", display: true },
4787
+ { name: "tags", type: "object" }
4788
+ ]
4789
+ },
4790
+ {
4791
+ type: "trace:span",
4792
+ category: "traces",
4793
+ label: "Trace Span",
4794
+ severity: "info",
4795
+ frequency: "medium",
4796
+ fields: [
4797
+ { name: "traceId", type: "string", indexed: true, display: true },
4798
+ { name: "spanId", type: "string", indexed: true },
4799
+ { name: "operation", type: "string", display: true },
4800
+ { name: "durationMs", type: "number", display: true },
4801
+ { name: "status", type: "string", display: true }
4802
+ ]
4803
+ },
4804
+ {
4805
+ type: "incident:recorded",
4806
+ category: "incidents",
4807
+ label: "Incident Recorded",
4808
+ severity: "error",
4809
+ frequency: "low",
4810
+ fields: [
4811
+ { name: "incidentId", type: "string", indexed: true, display: true },
4812
+ { name: "errorMessage", type: "string", display: true },
4813
+ { name: "symbols", type: "object" },
4814
+ { name: "environment", type: "string", display: true }
4815
+ ]
4816
+ }
4817
+ ],
4818
+ visualization: {
4819
+ defaultView: "table",
4820
+ categoryColors: {
4821
+ logs: "#3b82f6",
4822
+ metrics: "#22c55e",
4823
+ traces: "#a855f7",
4824
+ incidents: "#ef4444"
4825
+ },
4826
+ summaryFields: ["symbol", "message", "service"],
4827
+ defaultExcluded: ["log:debug"]
4828
+ },
4829
+ tags: ["builtin", "paradigm"]
4830
+ };
4831
+
4832
+ // ../sentinel/src/schema/builtin-symphony.ts
4833
+ var SYMPHONY_SCHEMA = {
4834
+ id: "paradigm-symphony",
4835
+ version: "1.0.0",
4836
+ name: "Symphony Conversations",
4837
+ description: "Agent-to-agent messaging events from The Score protocol",
4838
+ scope: {
4839
+ field: "threadId",
4840
+ type: "string",
4841
+ label: "Thread",
4842
+ ordering: "independent",
4843
+ sessionField: "sessionId"
4844
+ },
4845
+ eventTypes: [
4846
+ // ── Dialogue (5) ──────────────────────────────────────
4847
+ {
4848
+ type: "note:question",
4849
+ category: "dialogue",
4850
+ label: "Question",
4851
+ severity: "info",
4852
+ frequency: "high",
4853
+ fields: [
4854
+ { name: "sender", type: "string", indexed: true, display: true },
4855
+ { name: "senderRole", type: "string", indexed: true, display: true },
4856
+ { name: "text", type: "string", display: true },
4857
+ { name: "symbols", type: "object" },
4858
+ { name: "parentId", type: "string", indexed: true }
4859
+ ]
4860
+ },
4861
+ {
4862
+ type: "note:context",
4863
+ category: "dialogue",
4864
+ label: "Context",
4865
+ severity: "info",
4866
+ frequency: "high",
4867
+ fields: [
4868
+ { name: "sender", type: "string", indexed: true, display: true },
4869
+ { name: "senderRole", type: "string", indexed: true, display: true },
4870
+ { name: "text", type: "string", display: true },
4871
+ { name: "symbols", type: "object" },
4872
+ { name: "parentId", type: "string", indexed: true }
4873
+ ]
4874
+ },
4875
+ {
4876
+ type: "note:clarification",
4877
+ category: "dialogue",
4878
+ label: "Clarification",
4879
+ severity: "info",
4880
+ frequency: "medium",
4881
+ fields: [
4882
+ { name: "sender", type: "string", indexed: true, display: true },
4883
+ { name: "senderRole", type: "string", indexed: true, display: true },
4884
+ { name: "text", type: "string", display: true },
4885
+ { name: "symbols", type: "object" },
4886
+ { name: "parentId", type: "string", indexed: true }
4887
+ ]
4888
+ },
4889
+ {
4890
+ type: "note:verification",
4891
+ category: "dialogue",
4892
+ label: "Verification",
4893
+ severity: "info",
4894
+ frequency: "medium",
4895
+ fields: [
4896
+ { name: "sender", type: "string", indexed: true, display: true },
4897
+ { name: "senderRole", type: "string", indexed: true, display: true },
4898
+ { name: "text", type: "string", display: true },
4899
+ { name: "symbols", type: "object" },
4900
+ { name: "parentId", type: "string", indexed: true }
4901
+ ]
4902
+ },
4903
+ {
4904
+ type: "note:reference",
4905
+ category: "dialogue",
4906
+ label: "Reference",
4907
+ severity: "info",
4908
+ frequency: "medium",
4909
+ fields: [
4910
+ { name: "sender", type: "string", indexed: true, display: true },
4911
+ { name: "senderRole", type: "string", indexed: true, display: true },
4912
+ { name: "text", type: "string", display: true },
4913
+ { name: "symbols", type: "object" },
4914
+ { name: "parentId", type: "string", indexed: true }
4915
+ ]
4916
+ },
4917
+ // ── Action (2) ────────────────────────────────────────
4918
+ {
4919
+ type: "note:proposal",
4920
+ category: "action",
4921
+ label: "Proposal",
4922
+ severity: "info",
4923
+ frequency: "medium",
4924
+ fields: [
4925
+ { name: "sender", type: "string", indexed: true, display: true },
4926
+ { name: "senderRole", type: "string", indexed: true, display: true },
4927
+ { name: "text", type: "string", display: true },
4928
+ { name: "diff", type: "string" },
4929
+ { name: "symbols", type: "object" },
4930
+ { name: "parentId", type: "string", indexed: true }
4931
+ ]
4932
+ },
4933
+ {
4934
+ type: "note:action",
4935
+ category: "action",
4936
+ label: "Action",
4937
+ severity: "info",
4938
+ frequency: "medium",
4939
+ fields: [
4940
+ { name: "sender", type: "string", indexed: true, display: true },
4941
+ { name: "senderRole", type: "string", indexed: true, display: true },
4942
+ { name: "text", type: "string", display: true },
4943
+ { name: "diff", type: "string" },
4944
+ { name: "symbols", type: "object" },
4945
+ { name: "parentId", type: "string", indexed: true }
4946
+ ]
4947
+ },
4948
+ // ── Outcome (3) ───────────────────────────────────────
4949
+ {
4950
+ type: "note:decision",
4951
+ category: "outcome",
4952
+ label: "Decision",
4953
+ severity: "warn",
4954
+ frequency: "low",
4955
+ fields: [
4956
+ { name: "sender", type: "string", indexed: true, display: true },
4957
+ { name: "senderRole", type: "string", indexed: true, display: true },
4958
+ { name: "text", type: "string", display: true },
4959
+ { name: "decision", type: "string", display: true },
4960
+ { name: "symbols", type: "object" },
4961
+ { name: "parentId", type: "string", indexed: true }
4962
+ ]
4963
+ },
4964
+ {
4965
+ type: "note:approval",
4966
+ category: "outcome",
4967
+ label: "Approval",
4968
+ severity: "info",
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
+ {
4978
+ type: "note:rejection",
4979
+ category: "outcome",
4980
+ label: "Rejection",
4981
+ severity: "warn",
4982
+ frequency: "low",
4983
+ fields: [
4984
+ { name: "sender", type: "string", indexed: true, display: true },
4985
+ { name: "senderRole", type: "string", indexed: true, display: true },
4986
+ { name: "text", type: "string", display: true },
4987
+ { name: "parentId", type: "string", indexed: true }
4988
+ ]
4989
+ },
4990
+ // ── System (1) ────────────────────────────────────────
4991
+ {
4992
+ type: "note:alert",
4993
+ category: "system",
4994
+ label: "Alert",
4995
+ severity: "error",
4996
+ frequency: "low",
4997
+ fields: [
4998
+ { name: "sender", type: "string", indexed: true, display: true },
4999
+ { name: "senderRole", type: "string", indexed: true, display: true },
5000
+ { name: "text", type: "string", display: true },
5001
+ { name: "symbols", type: "object" },
5002
+ { name: "parentId", type: "string", indexed: true }
5003
+ ]
5004
+ },
5005
+ // ── Lifecycle (4) ─────────────────────────────────────
5006
+ {
5007
+ type: "note:handoff",
5008
+ category: "lifecycle",
5009
+ label: "Handoff",
5010
+ severity: "info",
5011
+ frequency: "low",
5012
+ fields: [
5013
+ { name: "sender", type: "string", indexed: true, display: true },
5014
+ { name: "senderRole", type: "string", indexed: true, display: true },
5015
+ { name: "text", type: "string", display: true },
5016
+ { name: "parentId", type: "string", indexed: true }
5017
+ ]
5018
+ },
5019
+ {
5020
+ type: "thread:created",
5021
+ category: "lifecycle",
5022
+ label: "Thread Created",
5023
+ severity: "info",
5024
+ frequency: "low",
5025
+ fields: [
5026
+ { name: "topic", type: "string", display: true },
5027
+ { name: "initiator", type: "string", indexed: true, display: true }
5028
+ ]
5029
+ },
5030
+ {
5031
+ type: "thread:resolved",
5032
+ category: "lifecycle",
5033
+ label: "Thread Resolved",
5034
+ severity: "info",
5035
+ frequency: "low",
5036
+ fields: [
5037
+ { name: "topic", type: "string", display: true },
5038
+ { name: "decision", type: "string", display: true }
5039
+ ]
5040
+ },
5041
+ {
5042
+ type: "participant:joined",
5043
+ category: "lifecycle",
5044
+ label: "Participant Joined",
5045
+ severity: "info",
5046
+ frequency: "low",
5047
+ fields: [
5048
+ { name: "participantId", type: "string", indexed: true, display: true },
5049
+ { name: "participantName", type: "string", display: true },
5050
+ { name: "participantRole", type: "string", display: true }
5051
+ ]
5052
+ },
5053
+ {
5054
+ type: "participant:left",
5055
+ category: "lifecycle",
5056
+ label: "Participant Left",
5057
+ severity: "info",
5058
+ frequency: "low",
5059
+ fields: [
5060
+ { name: "participantId", type: "string", indexed: true, display: true },
5061
+ { name: "participantName", type: "string", display: true }
5062
+ ]
5063
+ },
5064
+ // ── Transfer (4) ──────────────────────────────────────
5065
+ {
5066
+ type: "file:requested",
5067
+ category: "transfer",
5068
+ label: "File Requested",
5069
+ severity: "info",
5070
+ frequency: "low",
5071
+ fields: [
5072
+ { name: "requestId", type: "string", indexed: true, display: true },
5073
+ { name: "filePath", type: "string", display: true },
5074
+ { name: "requester", type: "string", indexed: true, display: true },
5075
+ { name: "reason", type: "string", display: true },
5076
+ { name: "urgency", type: "string", display: true }
5077
+ ]
5078
+ },
5079
+ {
5080
+ type: "file:approved",
5081
+ category: "transfer",
5082
+ label: "File Approved",
5083
+ severity: "info",
5084
+ frequency: "low",
5085
+ fields: [
5086
+ { name: "requestId", type: "string", indexed: true, display: true },
5087
+ { name: "filePath", type: "string", display: true },
5088
+ { name: "size", type: "number", display: true },
5089
+ { name: "hash", type: "string" }
5090
+ ]
5091
+ },
5092
+ {
5093
+ type: "file:denied",
5094
+ category: "transfer",
5095
+ label: "File Denied",
5096
+ severity: "warn",
5097
+ frequency: "low",
5098
+ fields: [
5099
+ { name: "requestId", type: "string", indexed: true, display: true },
5100
+ { name: "filePath", type: "string", display: true },
5101
+ { name: "reason", type: "string", display: true }
5102
+ ]
5103
+ },
5104
+ {
5105
+ type: "file:delivered",
5106
+ category: "transfer",
5107
+ label: "File Delivered",
5108
+ severity: "info",
5109
+ frequency: "low",
5110
+ fields: [
5111
+ { name: "requestId", type: "string", indexed: true, display: true },
5112
+ { name: "filePath", type: "string", display: true },
5113
+ { name: "size", type: "number", display: true },
5114
+ { name: "hash", type: "string" }
5115
+ ]
5116
+ }
5117
+ ],
5118
+ visualization: {
5119
+ defaultView: "tree",
5120
+ categoryColors: {
5121
+ dialogue: "#7dd3fc",
5122
+ action: "#86efac",
5123
+ outcome: "#fbbf24",
5124
+ system: "#f87171",
5125
+ lifecycle: "#a78bfa",
5126
+ transfer: "#34d399"
5127
+ },
5128
+ summaryFields: ["sender", "text", "senderRole"],
5129
+ defaultExcluded: []
5130
+ },
5131
+ tags: ["builtin", "symphony"]
5132
+ };
5133
+
4673
5134
  // ../sentinel/src/server/index.ts
4674
5135
  var __filename2 = fileURLToPath2(import.meta.url);
4675
5136
  var __dirname2 = path6.dirname(__filename2);
@@ -4776,6 +5237,9 @@ async function startServer(options) {
4776
5237
  }
4777
5238
  const storage = new SentinelStorage(options.dbPath);
4778
5239
  await storage.ensureReady();
5240
+ storage.registerSchema(PARADIGM_SCHEMA);
5241
+ storage.registerSchema(SYMPHONY_SCHEMA);
5242
+ log3.component("sentinel-server").info("Registered builtin schemas", { schemas: "paradigm-logger, paradigm-symphony" });
4779
5243
  let symbolIndex = [];
4780
5244
  try {
4781
5245
  symbolIndex = await loadSymbolIndex(options.projectDir);