@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
@@ -413,7 +413,7 @@ function enableSentinel(logger, clientOrOptions) {
413
413
  return transport;
414
414
  }
415
415
 
416
- // ../sentinel/dist/chunk-NTX74ZPM.js
416
+ // ../sentinel/dist/chunk-OKYYIAML.js
417
417
  import initSqlJs from "sql.js";
418
418
  import { v4 as uuidv42 } from "uuid";
419
419
  import * as path from "path";
@@ -1011,6 +1011,19 @@ var SentinelStorage = class {
1011
1011
  );
1012
1012
  this.save();
1013
1013
  }
1014
+ resolveIncident(id, options) {
1015
+ this.updateIncident(id, {
1016
+ status: "resolved",
1017
+ resolvedAt: (/* @__PURE__ */ new Date()).toISOString()
1018
+ });
1019
+ if (options?.notes) {
1020
+ this.addIncidentNote(id, {
1021
+ author: "system",
1022
+ content: options.notes,
1023
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
1024
+ });
1025
+ }
1026
+ }
1014
1027
  addIncidentNote(incidentId, note) {
1015
1028
  this.initializeSync();
1016
1029
  const incident = this.getIncident(incidentId);
@@ -3023,6 +3036,450 @@ function loadServerConfig(projectDir) {
3023
3036
  if (process.env.SENTINEL_MAX_LOGS) config.maxLogs = parseInt(process.env.SENTINEL_MAX_LOGS, 10);
3024
3037
  return config;
3025
3038
  }
3039
+ var PARADIGM_SCHEMA = {
3040
+ id: "paradigm-logger",
3041
+ version: "1.0.0",
3042
+ name: "Paradigm Logger",
3043
+ description: "Structured logs from @a-company/paradigm-logger with symbolic context",
3044
+ scope: {
3045
+ field: "correlationId",
3046
+ type: "string",
3047
+ label: "Correlation",
3048
+ ordering: "independent",
3049
+ sessionField: "sessionId"
3050
+ },
3051
+ eventTypes: [
3052
+ {
3053
+ type: "log:debug",
3054
+ category: "logs",
3055
+ label: "Debug Log",
3056
+ severity: "debug",
3057
+ frequency: "high",
3058
+ fields: [
3059
+ { name: "symbol", type: "string", indexed: true, display: true },
3060
+ { name: "symbolType", type: "string", indexed: true, display: true },
3061
+ { name: "message", type: "string", display: true },
3062
+ { name: "service", type: "string", indexed: true, display: true },
3063
+ { name: "durationMs", type: "number", display: true }
3064
+ ]
3065
+ },
3066
+ {
3067
+ type: "log:info",
3068
+ category: "logs",
3069
+ label: "Info Log",
3070
+ severity: "info",
3071
+ frequency: "high",
3072
+ fields: [
3073
+ { name: "symbol", type: "string", indexed: true, display: true },
3074
+ { name: "symbolType", type: "string", indexed: true, display: true },
3075
+ { name: "message", type: "string", display: true },
3076
+ { name: "service", type: "string", indexed: true, display: true },
3077
+ { name: "durationMs", type: "number", display: true }
3078
+ ]
3079
+ },
3080
+ {
3081
+ type: "log:warn",
3082
+ category: "logs",
3083
+ label: "Warning Log",
3084
+ severity: "warn",
3085
+ frequency: "medium",
3086
+ fields: [
3087
+ { name: "symbol", type: "string", indexed: true, display: true },
3088
+ { name: "symbolType", type: "string", indexed: true, display: true },
3089
+ { name: "message", type: "string", display: true },
3090
+ { name: "service", type: "string", indexed: true, display: true }
3091
+ ]
3092
+ },
3093
+ {
3094
+ type: "log:error",
3095
+ category: "logs",
3096
+ label: "Error Log",
3097
+ severity: "error",
3098
+ frequency: "low",
3099
+ fields: [
3100
+ { name: "symbol", type: "string", indexed: true, display: true },
3101
+ { name: "symbolType", type: "string", indexed: true, display: true },
3102
+ { name: "message", type: "string", display: true },
3103
+ { name: "service", type: "string", indexed: true, display: true }
3104
+ ]
3105
+ },
3106
+ {
3107
+ type: "metric:counter",
3108
+ category: "metrics",
3109
+ label: "Counter Metric",
3110
+ severity: "info",
3111
+ frequency: "high",
3112
+ fields: [
3113
+ { name: "name", type: "string", indexed: true, display: true },
3114
+ { name: "value", type: "number", display: true },
3115
+ { name: "tags", type: "object" }
3116
+ ]
3117
+ },
3118
+ {
3119
+ type: "metric:gauge",
3120
+ category: "metrics",
3121
+ label: "Gauge Metric",
3122
+ severity: "info",
3123
+ frequency: "medium",
3124
+ fields: [
3125
+ { name: "name", type: "string", indexed: true, display: true },
3126
+ { name: "value", type: "number", display: true },
3127
+ { name: "tags", type: "object" }
3128
+ ]
3129
+ },
3130
+ {
3131
+ type: "metric:histogram",
3132
+ category: "metrics",
3133
+ label: "Histogram Metric",
3134
+ severity: "info",
3135
+ frequency: "medium",
3136
+ fields: [
3137
+ { name: "name", type: "string", indexed: true, display: true },
3138
+ { name: "value", type: "number", display: true },
3139
+ { name: "tags", type: "object" }
3140
+ ]
3141
+ },
3142
+ {
3143
+ type: "trace:span",
3144
+ category: "traces",
3145
+ label: "Trace Span",
3146
+ severity: "info",
3147
+ frequency: "medium",
3148
+ fields: [
3149
+ { name: "traceId", type: "string", indexed: true, display: true },
3150
+ { name: "spanId", type: "string", indexed: true },
3151
+ { name: "operation", type: "string", display: true },
3152
+ { name: "durationMs", type: "number", display: true },
3153
+ { name: "status", type: "string", display: true }
3154
+ ]
3155
+ },
3156
+ {
3157
+ type: "incident:recorded",
3158
+ category: "incidents",
3159
+ label: "Incident Recorded",
3160
+ severity: "error",
3161
+ frequency: "low",
3162
+ fields: [
3163
+ { name: "incidentId", type: "string", indexed: true, display: true },
3164
+ { name: "errorMessage", type: "string", display: true },
3165
+ { name: "symbols", type: "object" },
3166
+ { name: "environment", type: "string", display: true }
3167
+ ]
3168
+ }
3169
+ ],
3170
+ visualization: {
3171
+ defaultView: "table",
3172
+ categoryColors: {
3173
+ logs: "#3b82f6",
3174
+ metrics: "#22c55e",
3175
+ traces: "#a855f7",
3176
+ incidents: "#ef4444"
3177
+ },
3178
+ summaryFields: ["symbol", "message", "service"],
3179
+ defaultExcluded: ["log:debug"]
3180
+ },
3181
+ tags: ["builtin", "paradigm"]
3182
+ };
3183
+ var SYMPHONY_SCHEMA = {
3184
+ id: "paradigm-symphony",
3185
+ version: "1.0.0",
3186
+ name: "Symphony Conversations",
3187
+ description: "Agent-to-agent messaging events from The Score protocol",
3188
+ scope: {
3189
+ field: "threadId",
3190
+ type: "string",
3191
+ label: "Thread",
3192
+ ordering: "independent",
3193
+ sessionField: "sessionId"
3194
+ },
3195
+ eventTypes: [
3196
+ // ── Dialogue (5) ──────────────────────────────────────
3197
+ {
3198
+ type: "note:question",
3199
+ category: "dialogue",
3200
+ label: "Question",
3201
+ severity: "info",
3202
+ frequency: "high",
3203
+ fields: [
3204
+ { name: "sender", type: "string", indexed: true, display: true },
3205
+ { name: "senderRole", type: "string", indexed: true, display: true },
3206
+ { name: "text", type: "string", display: true },
3207
+ { name: "symbols", type: "object" },
3208
+ { name: "parentId", type: "string", indexed: true }
3209
+ ]
3210
+ },
3211
+ {
3212
+ type: "note:context",
3213
+ category: "dialogue",
3214
+ label: "Context",
3215
+ severity: "info",
3216
+ frequency: "high",
3217
+ fields: [
3218
+ { name: "sender", type: "string", indexed: true, display: true },
3219
+ { name: "senderRole", type: "string", indexed: true, display: true },
3220
+ { name: "text", type: "string", display: true },
3221
+ { name: "symbols", type: "object" },
3222
+ { name: "parentId", type: "string", indexed: true }
3223
+ ]
3224
+ },
3225
+ {
3226
+ type: "note:clarification",
3227
+ category: "dialogue",
3228
+ label: "Clarification",
3229
+ severity: "info",
3230
+ frequency: "medium",
3231
+ fields: [
3232
+ { name: "sender", type: "string", indexed: true, display: true },
3233
+ { name: "senderRole", type: "string", indexed: true, display: true },
3234
+ { name: "text", type: "string", display: true },
3235
+ { name: "symbols", type: "object" },
3236
+ { name: "parentId", type: "string", indexed: true }
3237
+ ]
3238
+ },
3239
+ {
3240
+ type: "note:verification",
3241
+ category: "dialogue",
3242
+ label: "Verification",
3243
+ severity: "info",
3244
+ frequency: "medium",
3245
+ fields: [
3246
+ { name: "sender", type: "string", indexed: true, display: true },
3247
+ { name: "senderRole", type: "string", indexed: true, display: true },
3248
+ { name: "text", type: "string", display: true },
3249
+ { name: "symbols", type: "object" },
3250
+ { name: "parentId", type: "string", indexed: true }
3251
+ ]
3252
+ },
3253
+ {
3254
+ type: "note:reference",
3255
+ category: "dialogue",
3256
+ label: "Reference",
3257
+ severity: "info",
3258
+ frequency: "medium",
3259
+ fields: [
3260
+ { name: "sender", type: "string", indexed: true, display: true },
3261
+ { name: "senderRole", type: "string", indexed: true, display: true },
3262
+ { name: "text", type: "string", display: true },
3263
+ { name: "symbols", type: "object" },
3264
+ { name: "parentId", type: "string", indexed: true }
3265
+ ]
3266
+ },
3267
+ // ── Action (2) ────────────────────────────────────────
3268
+ {
3269
+ type: "note:proposal",
3270
+ category: "action",
3271
+ label: "Proposal",
3272
+ severity: "info",
3273
+ frequency: "medium",
3274
+ fields: [
3275
+ { name: "sender", type: "string", indexed: true, display: true },
3276
+ { name: "senderRole", type: "string", indexed: true, display: true },
3277
+ { name: "text", type: "string", display: true },
3278
+ { name: "diff", type: "string" },
3279
+ { name: "symbols", type: "object" },
3280
+ { name: "parentId", type: "string", indexed: true }
3281
+ ]
3282
+ },
3283
+ {
3284
+ type: "note:action",
3285
+ category: "action",
3286
+ label: "Action",
3287
+ severity: "info",
3288
+ frequency: "medium",
3289
+ fields: [
3290
+ { name: "sender", type: "string", indexed: true, display: true },
3291
+ { name: "senderRole", type: "string", indexed: true, display: true },
3292
+ { name: "text", type: "string", display: true },
3293
+ { name: "diff", type: "string" },
3294
+ { name: "symbols", type: "object" },
3295
+ { name: "parentId", type: "string", indexed: true }
3296
+ ]
3297
+ },
3298
+ // ── Outcome (3) ───────────────────────────────────────
3299
+ {
3300
+ type: "note:decision",
3301
+ category: "outcome",
3302
+ label: "Decision",
3303
+ severity: "warn",
3304
+ frequency: "low",
3305
+ fields: [
3306
+ { name: "sender", type: "string", indexed: true, display: true },
3307
+ { name: "senderRole", type: "string", indexed: true, display: true },
3308
+ { name: "text", type: "string", display: true },
3309
+ { name: "decision", type: "string", display: true },
3310
+ { name: "symbols", type: "object" },
3311
+ { name: "parentId", type: "string", indexed: true }
3312
+ ]
3313
+ },
3314
+ {
3315
+ type: "note:approval",
3316
+ category: "outcome",
3317
+ label: "Approval",
3318
+ severity: "info",
3319
+ frequency: "low",
3320
+ fields: [
3321
+ { name: "sender", type: "string", indexed: true, display: true },
3322
+ { name: "senderRole", type: "string", indexed: true, display: true },
3323
+ { name: "text", type: "string", display: true },
3324
+ { name: "parentId", type: "string", indexed: true }
3325
+ ]
3326
+ },
3327
+ {
3328
+ type: "note:rejection",
3329
+ category: "outcome",
3330
+ label: "Rejection",
3331
+ severity: "warn",
3332
+ frequency: "low",
3333
+ fields: [
3334
+ { name: "sender", type: "string", indexed: true, display: true },
3335
+ { name: "senderRole", type: "string", indexed: true, display: true },
3336
+ { name: "text", type: "string", display: true },
3337
+ { name: "parentId", type: "string", indexed: true }
3338
+ ]
3339
+ },
3340
+ // ── System (1) ────────────────────────────────────────
3341
+ {
3342
+ type: "note:alert",
3343
+ category: "system",
3344
+ label: "Alert",
3345
+ severity: "error",
3346
+ frequency: "low",
3347
+ fields: [
3348
+ { name: "sender", type: "string", indexed: true, display: true },
3349
+ { name: "senderRole", type: "string", indexed: true, display: true },
3350
+ { name: "text", type: "string", display: true },
3351
+ { name: "symbols", type: "object" },
3352
+ { name: "parentId", type: "string", indexed: true }
3353
+ ]
3354
+ },
3355
+ // ── Lifecycle (4) ─────────────────────────────────────
3356
+ {
3357
+ type: "note:handoff",
3358
+ category: "lifecycle",
3359
+ label: "Handoff",
3360
+ severity: "info",
3361
+ frequency: "low",
3362
+ fields: [
3363
+ { name: "sender", type: "string", indexed: true, display: true },
3364
+ { name: "senderRole", type: "string", indexed: true, display: true },
3365
+ { name: "text", type: "string", display: true },
3366
+ { name: "parentId", type: "string", indexed: true }
3367
+ ]
3368
+ },
3369
+ {
3370
+ type: "thread:created",
3371
+ category: "lifecycle",
3372
+ label: "Thread Created",
3373
+ severity: "info",
3374
+ frequency: "low",
3375
+ fields: [
3376
+ { name: "topic", type: "string", display: true },
3377
+ { name: "initiator", type: "string", indexed: true, display: true }
3378
+ ]
3379
+ },
3380
+ {
3381
+ type: "thread:resolved",
3382
+ category: "lifecycle",
3383
+ label: "Thread Resolved",
3384
+ severity: "info",
3385
+ frequency: "low",
3386
+ fields: [
3387
+ { name: "topic", type: "string", display: true },
3388
+ { name: "decision", type: "string", display: true }
3389
+ ]
3390
+ },
3391
+ {
3392
+ type: "participant:joined",
3393
+ category: "lifecycle",
3394
+ label: "Participant Joined",
3395
+ severity: "info",
3396
+ frequency: "low",
3397
+ fields: [
3398
+ { name: "participantId", type: "string", indexed: true, display: true },
3399
+ { name: "participantName", type: "string", display: true },
3400
+ { name: "participantRole", type: "string", display: true }
3401
+ ]
3402
+ },
3403
+ {
3404
+ type: "participant:left",
3405
+ category: "lifecycle",
3406
+ label: "Participant Left",
3407
+ severity: "info",
3408
+ frequency: "low",
3409
+ fields: [
3410
+ { name: "participantId", type: "string", indexed: true, display: true },
3411
+ { name: "participantName", type: "string", display: true }
3412
+ ]
3413
+ },
3414
+ // ── Transfer (4) ──────────────────────────────────────
3415
+ {
3416
+ type: "file:requested",
3417
+ category: "transfer",
3418
+ label: "File Requested",
3419
+ severity: "info",
3420
+ frequency: "low",
3421
+ fields: [
3422
+ { name: "requestId", type: "string", indexed: true, display: true },
3423
+ { name: "filePath", type: "string", display: true },
3424
+ { name: "requester", type: "string", indexed: true, display: true },
3425
+ { name: "reason", type: "string", display: true },
3426
+ { name: "urgency", type: "string", display: true }
3427
+ ]
3428
+ },
3429
+ {
3430
+ type: "file:approved",
3431
+ category: "transfer",
3432
+ label: "File Approved",
3433
+ severity: "info",
3434
+ frequency: "low",
3435
+ fields: [
3436
+ { name: "requestId", type: "string", indexed: true, display: true },
3437
+ { name: "filePath", type: "string", display: true },
3438
+ { name: "size", type: "number", display: true },
3439
+ { name: "hash", type: "string" }
3440
+ ]
3441
+ },
3442
+ {
3443
+ type: "file:denied",
3444
+ category: "transfer",
3445
+ label: "File Denied",
3446
+ severity: "warn",
3447
+ frequency: "low",
3448
+ fields: [
3449
+ { name: "requestId", type: "string", indexed: true, display: true },
3450
+ { name: "filePath", type: "string", display: true },
3451
+ { name: "reason", type: "string", display: true }
3452
+ ]
3453
+ },
3454
+ {
3455
+ type: "file:delivered",
3456
+ category: "transfer",
3457
+ label: "File Delivered",
3458
+ severity: "info",
3459
+ frequency: "low",
3460
+ fields: [
3461
+ { name: "requestId", type: "string", indexed: true, display: true },
3462
+ { name: "filePath", type: "string", display: true },
3463
+ { name: "size", type: "number", display: true },
3464
+ { name: "hash", type: "string" }
3465
+ ]
3466
+ }
3467
+ ],
3468
+ visualization: {
3469
+ defaultView: "tree",
3470
+ categoryColors: {
3471
+ dialogue: "#7dd3fc",
3472
+ action: "#86efac",
3473
+ outcome: "#fbbf24",
3474
+ system: "#f87171",
3475
+ lifecycle: "#a78bfa",
3476
+ transfer: "#34d399"
3477
+ },
3478
+ summaryFields: ["sender", "text", "senderRole"],
3479
+ defaultExcluded: []
3480
+ },
3481
+ tags: ["builtin", "symphony"]
3482
+ };
3026
3483
 
3027
3484
  // ../sentinel/dist/index.js
3028
3485
  import * as path3 from "path";
@@ -5186,150 +5643,6 @@ var PatternImporter = class {
5186
5643
  };
5187
5644
  }
5188
5645
  };
5189
- var PARADIGM_SCHEMA = {
5190
- id: "paradigm-logger",
5191
- version: "1.0.0",
5192
- name: "Paradigm Logger",
5193
- description: "Structured logs from @a-company/paradigm-logger with symbolic context",
5194
- scope: {
5195
- field: "correlationId",
5196
- type: "string",
5197
- label: "Correlation",
5198
- ordering: "independent",
5199
- sessionField: "sessionId"
5200
- },
5201
- eventTypes: [
5202
- {
5203
- type: "log:debug",
5204
- category: "logs",
5205
- label: "Debug Log",
5206
- severity: "debug",
5207
- frequency: "high",
5208
- fields: [
5209
- { name: "symbol", type: "string", indexed: true, display: true },
5210
- { name: "symbolType", type: "string", indexed: true, display: true },
5211
- { name: "message", type: "string", display: true },
5212
- { name: "service", type: "string", indexed: true, display: true },
5213
- { name: "durationMs", type: "number", display: true }
5214
- ]
5215
- },
5216
- {
5217
- type: "log:info",
5218
- category: "logs",
5219
- label: "Info Log",
5220
- severity: "info",
5221
- frequency: "high",
5222
- fields: [
5223
- { name: "symbol", type: "string", indexed: true, display: true },
5224
- { name: "symbolType", type: "string", indexed: true, display: true },
5225
- { name: "message", type: "string", display: true },
5226
- { name: "service", type: "string", indexed: true, display: true },
5227
- { name: "durationMs", type: "number", display: true }
5228
- ]
5229
- },
5230
- {
5231
- type: "log:warn",
5232
- category: "logs",
5233
- label: "Warning Log",
5234
- severity: "warn",
5235
- frequency: "medium",
5236
- fields: [
5237
- { name: "symbol", type: "string", indexed: true, display: true },
5238
- { name: "symbolType", type: "string", indexed: true, display: true },
5239
- { name: "message", type: "string", display: true },
5240
- { name: "service", type: "string", indexed: true, display: true }
5241
- ]
5242
- },
5243
- {
5244
- type: "log:error",
5245
- category: "logs",
5246
- label: "Error Log",
5247
- severity: "error",
5248
- frequency: "low",
5249
- fields: [
5250
- { name: "symbol", type: "string", indexed: true, display: true },
5251
- { name: "symbolType", type: "string", indexed: true, display: true },
5252
- { name: "message", type: "string", display: true },
5253
- { name: "service", type: "string", indexed: true, display: true }
5254
- ]
5255
- },
5256
- {
5257
- type: "metric:counter",
5258
- category: "metrics",
5259
- label: "Counter Metric",
5260
- severity: "info",
5261
- frequency: "high",
5262
- fields: [
5263
- { name: "name", type: "string", indexed: true, display: true },
5264
- { name: "value", type: "number", display: true },
5265
- { name: "tags", type: "object" }
5266
- ]
5267
- },
5268
- {
5269
- type: "metric:gauge",
5270
- category: "metrics",
5271
- label: "Gauge Metric",
5272
- severity: "info",
5273
- frequency: "medium",
5274
- fields: [
5275
- { name: "name", type: "string", indexed: true, display: true },
5276
- { name: "value", type: "number", display: true },
5277
- { name: "tags", type: "object" }
5278
- ]
5279
- },
5280
- {
5281
- type: "metric:histogram",
5282
- category: "metrics",
5283
- label: "Histogram Metric",
5284
- severity: "info",
5285
- frequency: "medium",
5286
- fields: [
5287
- { name: "name", type: "string", indexed: true, display: true },
5288
- { name: "value", type: "number", display: true },
5289
- { name: "tags", type: "object" }
5290
- ]
5291
- },
5292
- {
5293
- type: "trace:span",
5294
- category: "traces",
5295
- label: "Trace Span",
5296
- severity: "info",
5297
- frequency: "medium",
5298
- fields: [
5299
- { name: "traceId", type: "string", indexed: true, display: true },
5300
- { name: "spanId", type: "string", indexed: true },
5301
- { name: "operation", type: "string", display: true },
5302
- { name: "durationMs", type: "number", display: true },
5303
- { name: "status", type: "string", display: true }
5304
- ]
5305
- },
5306
- {
5307
- type: "incident:recorded",
5308
- category: "incidents",
5309
- label: "Incident Recorded",
5310
- severity: "error",
5311
- frequency: "low",
5312
- fields: [
5313
- { name: "incidentId", type: "string", indexed: true, display: true },
5314
- { name: "errorMessage", type: "string", display: true },
5315
- { name: "symbols", type: "object" },
5316
- { name: "environment", type: "string", display: true }
5317
- ]
5318
- }
5319
- ],
5320
- visualization: {
5321
- defaultView: "table",
5322
- categoryColors: {
5323
- logs: "#3b82f6",
5324
- metrics: "#22c55e",
5325
- traces: "#a855f7",
5326
- incidents: "#ef4444"
5327
- },
5328
- summaryFields: ["symbol", "message", "service"],
5329
- defaultExcluded: ["log:debug"]
5330
- },
5331
- tags: ["builtin", "paradigm"]
5332
- };
5333
5646
 
5334
5647
  export {
5335
5648
  SentinelClient,
@@ -5344,6 +5657,8 @@ export {
5344
5657
  loadConfig,
5345
5658
  writeConfig,
5346
5659
  loadServerConfig,
5660
+ PARADIGM_SCHEMA,
5661
+ SYMPHONY_SCHEMA,
5347
5662
  PatternMatcher,
5348
5663
  loadUniversalPatterns,
5349
5664
  loadParadigmPatterns,
@@ -5357,6 +5672,5 @@ export {
5357
5672
  StatsCalculator,
5358
5673
  ContextEnricher,
5359
5674
  PatternSuggester,
5360
- PatternImporter,
5361
- PARADIGM_SCHEMA
5675
+ PatternImporter
5362
5676
  };
@@ -9,7 +9,7 @@ import {
9
9
  extractStates,
10
10
  extractSymbolReferences,
11
11
  getAllPurposeFiles
12
- } from "./chunk-VUSCJJ4A.js";
12
+ } from "./chunk-EDOAWN7J.js";
13
13
  import {
14
14
  findGateFiles,
15
15
  parseGateConfig
@@ -441,12 +441,27 @@ async function aggregateFromPremise(premiseFile, rootDir) {
441
441
  }));
442
442
  }
443
443
  resolveReferences(symbols);
444
+ const symbolFileMap = /* @__PURE__ */ new Map();
445
+ for (const sym of symbols) {
446
+ const files = symbolFileMap.get(sym.symbol) || [];
447
+ if (!files.includes(sym.filePath)) {
448
+ files.push(sym.filePath);
449
+ }
450
+ symbolFileMap.set(sym.symbol, files);
451
+ }
452
+ const duplicateSymbols = [];
453
+ for (const [symbol, files] of symbolFileMap) {
454
+ if (files.length > 1) {
455
+ duplicateSymbols.push({ symbol, files });
456
+ }
457
+ }
444
458
  return {
445
459
  symbols,
446
460
  purposeFiles,
447
461
  portalFiles,
448
462
  errors,
449
- timestamp: Date.now()
463
+ timestamp: Date.now(),
464
+ ...duplicateSymbols.length > 0 ? { duplicateSymbols } : {}
450
465
  };
451
466
  }
452
467
  function createSymbolEntry(partial) {