bikky 0.3.8 → 0.3.10

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 (97) hide show
  1. package/README.md +21 -5
  2. package/dist/config.d.ts +6 -1
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +15 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/config.test.js +30 -0
  7. package/dist/config.test.js.map +1 -1
  8. package/dist/daemon/capture-policy.d.ts +1 -1
  9. package/dist/daemon/capture-policy.d.ts.map +1 -1
  10. package/dist/daemon/capture-policy.js +14 -9
  11. package/dist/daemon/capture-policy.js.map +1 -1
  12. package/dist/daemon/capture-policy.test.js +6 -4
  13. package/dist/daemon/capture-policy.test.js.map +1 -1
  14. package/dist/daemon/consolidation.d.ts.map +1 -1
  15. package/dist/daemon/consolidation.js +19 -12
  16. package/dist/daemon/consolidation.js.map +1 -1
  17. package/dist/daemon/entity-typing.test.js +1 -1
  18. package/dist/daemon/entity-typing.test.js.map +1 -1
  19. package/dist/daemon/episode-summary.js +1 -1
  20. package/dist/daemon/episode-summary.js.map +1 -1
  21. package/dist/daemon/extraction-quality.test.js +4 -4
  22. package/dist/daemon/extraction-quality.test.js.map +1 -1
  23. package/dist/daemon/extraction-rules.d.ts +8 -8
  24. package/dist/daemon/extraction-rules.d.ts.map +1 -1
  25. package/dist/daemon/extraction-rules.js +57 -14
  26. package/dist/daemon/extraction-rules.js.map +1 -1
  27. package/dist/daemon/extraction-rules.test.js +32 -12
  28. package/dist/daemon/extraction-rules.test.js.map +1 -1
  29. package/dist/daemon/extraction.d.ts +5 -1
  30. package/dist/daemon/extraction.d.ts.map +1 -1
  31. package/dist/daemon/extraction.js +56 -12
  32. package/dist/daemon/extraction.js.map +1 -1
  33. package/dist/daemon/extraction.test.js +31 -6
  34. package/dist/daemon/extraction.test.js.map +1 -1
  35. package/dist/daemon/qdrant.js +1 -1
  36. package/dist/daemon/qdrant.js.map +1 -1
  37. package/dist/daemon/qdrant.test.js +6 -6
  38. package/dist/daemon/qdrant.test.js.map +1 -1
  39. package/dist/daemon/relations.js +1 -1
  40. package/dist/daemon/relations.js.map +1 -1
  41. package/dist/daemon/relations.test.js +1 -1
  42. package/dist/daemon/relations.test.js.map +1 -1
  43. package/dist/daemon/session-index.js +1 -1
  44. package/dist/daemon/session-index.js.map +1 -1
  45. package/dist/daemon/session-summary.d.ts.map +1 -1
  46. package/dist/daemon/session-summary.js +4 -2
  47. package/dist/daemon/session-summary.js.map +1 -1
  48. package/dist/daemon/session-summary.test.js +2 -2
  49. package/dist/daemon/session-summary.test.js.map +1 -1
  50. package/dist/daemon/staleness.js +1 -1
  51. package/dist/daemon/staleness.js.map +1 -1
  52. package/dist/daemon/staleness.test.js +2 -2
  53. package/dist/daemon/staleness.test.js.map +1 -1
  54. package/dist/daemon/workstream-summary.js +1 -1
  55. package/dist/daemon/workstream-summary.js.map +1 -1
  56. package/dist/mcp/helpers.d.ts +39 -0
  57. package/dist/mcp/helpers.d.ts.map +1 -1
  58. package/dist/mcp/helpers.js +53 -0
  59. package/dist/mcp/helpers.js.map +1 -1
  60. package/dist/mcp/helpers.test.js +35 -35
  61. package/dist/mcp/helpers.test.js.map +1 -1
  62. package/dist/mcp/index.js +1 -1
  63. package/dist/mcp/index.js.map +1 -1
  64. package/dist/mcp/taxonomy.d.ts +54 -54
  65. package/dist/mcp/taxonomy.d.ts.map +1 -1
  66. package/dist/mcp/taxonomy.js +162 -143
  67. package/dist/mcp/taxonomy.js.map +1 -1
  68. package/dist/mcp/taxonomy.test.js +38 -22
  69. package/dist/mcp/taxonomy.test.js.map +1 -1
  70. package/dist/mcp/tools.d.ts.map +1 -1
  71. package/dist/mcp/tools.integration.itest.js +4 -4
  72. package/dist/mcp/tools.integration.itest.js.map +1 -1
  73. package/dist/mcp/tools.js +129 -50
  74. package/dist/mcp/tools.js.map +1 -1
  75. package/dist/mcp/tools.test.js +159 -23
  76. package/dist/mcp/tools.test.js.map +1 -1
  77. package/dist/prompts/brief.d.ts +2 -2
  78. package/dist/prompts/brief.d.ts.map +1 -1
  79. package/dist/prompts/brief.js +5 -7
  80. package/dist/prompts/brief.js.map +1 -1
  81. package/dist/prompts/distill.js +3 -3
  82. package/dist/prompts/extraction.d.ts.map +1 -1
  83. package/dist/prompts/extraction.js +70 -31
  84. package/dist/prompts/extraction.js.map +1 -1
  85. package/dist/prompts/prompts.test.js +4 -4
  86. package/dist/prompts/prompts.test.js.map +1 -1
  87. package/dist/provenance/actor.d.ts +17 -0
  88. package/dist/provenance/actor.d.ts.map +1 -0
  89. package/dist/provenance/actor.js +82 -0
  90. package/dist/provenance/actor.js.map +1 -0
  91. package/dist/provenance/actor.test.d.ts +2 -0
  92. package/dist/provenance/actor.test.d.ts.map +1 -0
  93. package/dist/provenance/actor.test.js +49 -0
  94. package/dist/provenance/actor.test.js.map +1 -0
  95. package/dist/render.test.js +4 -4
  96. package/dist/render.test.js.map +1 -1
  97. package/package.json +4 -1
@@ -8,71 +8,36 @@
8
8
  // Categories: subject matter
9
9
  // ---------------------------------------------------------------------------
10
10
  export const CATEGORIES = {
11
- codebase: {
12
- description: "Repository structure, modules, important files, APIs, build/test commands, and code navigation knowledge.",
11
+ engineering: {
12
+ description: "Engineering context: codebase maps, architecture decisions, infrastructure topology, access patterns, operations, troubleshooting, and reusable conventions.",
13
13
  examples: [
14
14
  "The auth middleware lives in src/server/auth.ts.",
15
- "Run npm test -- --runInBand for flaky integration tests.",
15
+ "If Qdrant order_by fails, create the payload index before retrying.",
16
16
  ],
17
17
  },
18
- infrastructure: {
19
- description: "Cloud, deployment, runtime, secrets, queues, databases, CI/CD, and environment topology.",
18
+ product: {
19
+ description: "Product context: domain rules, product decisions, requirements, user workflows, roadmap, success metrics, and market or community insight.",
20
20
  examples: [
21
- "Production runs on a Qdrant cluster (Cloud or self-hosted) for vector storage.",
22
- "Deployments are promoted through GitHub Actions.",
21
+ "Bikky should show categories and concrete subtype chips directly, with no extra sub-tab layer.",
22
+ "Activation should be measured by whether agents successfully reuse recalled memory.",
23
23
  ],
24
24
  },
25
- operations: {
26
- description: "Runbooks, incident handling, maintenance procedures, debugging steps, and operational gotchas.",
27
- examples: [
28
- "Restart the worker after changing queue visibility timeout.",
29
- "If migrations hang, check the advisory lock table first.",
30
- ],
31
- },
32
- decisions: {
33
- description: "Architecture, product, process, and technical decisions with durable rationale.",
34
- examples: [
35
- "Use workspace_id as the access boundary instead of overloading domain.",
36
- "Keep telemetry out of normal semantic recall.",
37
- ],
38
- },
39
- product_domain: {
40
- description: "Product concepts, business rules, user workflows, domain vocabulary, and market assumptions.",
41
- examples: [
42
- "A workstream is the durable continuity unit for long-running tasks.",
43
- "Recall quality should be measured by downstream usefulness, not just similarity.",
44
- ],
45
- },
46
- projects: {
47
- description: "Project goals, milestones, current state, open questions, blockers, and active workstreams.",
48
- examples: [
49
- "The capture-policy workstream is implementing the memory ontology first.",
50
- "The UI smoke suite is tracked in bikky-dev/bikky#13.",
51
- ],
52
- },
53
- people: {
54
- description: "Ownership, roles, collaboration patterns, responsibilities, and team preferences.",
25
+ human: {
26
+ description: "Human context: explicit preferences, people and roles, ownership, working agreements, and durable actor-action activity events.",
55
27
  examples: [
56
28
  "Saber prefers concise implementation plans before code changes.",
57
- "The platform team owns the deploy workflow.",
29
+ "Alex approved PR #85 for merge.",
58
30
  ],
59
31
  },
60
- preferences: {
61
- description: "User, team, or workspace preferences about style, tooling, defaults, and interaction patterns.",
62
- examples: [
63
- "Prefer Node's built-in test runner for this repo.",
64
- "Default new memory captures to software_engineering.",
65
- ],
66
- },
67
- observations: {
68
- description: "Validated observations, troubleshooting evidence, behavioral notes, and learned facts that do not fit a narrower category.",
32
+ system: {
33
+ description: "System context: Bikky-owned lifecycle memory, session indexes, episodes, workstreams, recall/feedback/outcome telemetry, and aggregate rollups.",
69
34
  examples: [
70
- "The current ESLint config is incompatible with ESLint v9.",
71
- "The dashboard shows stale facts separately from verified current facts.",
35
+ "Session indexes are routing/audit artifacts rather than durable project boundaries.",
36
+ "Recall telemetry is excluded from normal semantic recall.",
72
37
  ],
73
38
  },
74
39
  };
75
- export const DEFAULT_CATEGORY = "observations";
40
+ export const DEFAULT_CATEGORY = "engineering";
76
41
  // ---------------------------------------------------------------------------
77
42
  // Domains: activity / knowledge profiles
78
43
  // ---------------------------------------------------------------------------
@@ -80,55 +45,42 @@ export const DOMAINS = {
80
45
  software_engineering: {
81
46
  description: "Coding-agent work: repositories, code changes, architecture, infrastructure, debugging, tests, CI, and developer workflow.",
82
47
  defaultCategories: [
83
- "codebase",
84
- "infrastructure",
85
- "operations",
86
- "decisions",
87
- "projects",
88
- "preferences",
89
- "observations",
48
+ "engineering",
49
+ "product",
50
+ "human",
51
+ "system",
90
52
  ],
91
53
  },
92
54
  product_strategy: {
93
55
  description: "Product direction, positioning, roadmap tradeoffs, customer problems, metrics, and market learning.",
94
56
  defaultCategories: [
95
- "product_domain",
96
- "decisions",
97
- "projects",
98
- "people",
99
- "preferences",
100
- "observations",
57
+ "product",
58
+ "human",
59
+ "system",
101
60
  ],
102
61
  },
103
62
  business_operations: {
104
63
  description: "Business process, vendors, finance, legal/admin operations, recurring procedures, and ownership.",
105
64
  defaultCategories: [
106
- "operations",
107
- "decisions",
108
- "projects",
109
- "people",
110
- "preferences",
111
- "observations",
65
+ "product",
66
+ "human",
67
+ "system",
112
68
  ],
113
69
  },
114
70
  research: {
115
71
  description: "Research questions, sources, hypotheses, experiment findings, synthesis, and reusable insights.",
116
72
  defaultCategories: [
117
- "product_domain",
118
- "decisions",
119
- "projects",
120
- "preferences",
121
- "observations",
73
+ "product",
74
+ "engineering",
75
+ "system",
122
76
  ],
123
77
  },
124
78
  personal_productivity: {
125
79
  description: "Individual productivity, habits, planning preferences, reminders, and personal operating context.",
126
80
  defaultCategories: [
127
- "operations",
128
- "projects",
129
- "people",
130
- "preferences",
131
- "observations",
81
+ "human",
82
+ "product",
83
+ "system",
132
84
  ],
133
85
  },
134
86
  };
@@ -204,8 +156,18 @@ export const MEMORY_SUBTYPES = {
204
156
  "access_pattern",
205
157
  "operational_procedure",
206
158
  "domain_rule",
159
+ "product_decision",
160
+ "product_requirement",
161
+ "user_workflow",
162
+ "roadmap_item",
163
+ "success_metric",
164
+ "market_insight",
207
165
  "troubleshooting_gotcha",
208
166
  "preference",
167
+ "person_profile",
168
+ "ownership_note",
169
+ "working_agreement",
170
+ "activity_event",
209
171
  ],
210
172
  summary: ["session_index", "episode", "workstream"],
211
173
  distilled: ["convention"],
@@ -220,22 +182,32 @@ export const DEFAULT_MEMORY_SUBTYPE_BY_KIND = {
220
182
  telemetry: "recall_event",
221
183
  };
222
184
  export const MEMORY_SUBTYPE_DEFAULT_CATEGORY = {
223
- codebase_map: "codebase",
224
- architecture_decision: "decisions",
225
- infra_topology: "infrastructure",
226
- access_pattern: "infrastructure",
227
- operational_procedure: "operations",
228
- domain_rule: "product_domain",
229
- troubleshooting_gotcha: "operations",
230
- preference: "preferences",
231
- session_index: "projects",
232
- episode: "projects",
233
- workstream: "projects",
234
- convention: "observations",
235
- recall_event: "observations",
236
- feedback_event: "observations",
237
- outcome_event: "observations",
238
- aggregate_rollup: "observations",
185
+ codebase_map: "engineering",
186
+ architecture_decision: "engineering",
187
+ infra_topology: "engineering",
188
+ access_pattern: "engineering",
189
+ operational_procedure: "engineering",
190
+ domain_rule: "product",
191
+ product_decision: "product",
192
+ product_requirement: "product",
193
+ user_workflow: "product",
194
+ roadmap_item: "product",
195
+ success_metric: "product",
196
+ market_insight: "product",
197
+ troubleshooting_gotcha: "engineering",
198
+ preference: "human",
199
+ person_profile: "human",
200
+ ownership_note: "human",
201
+ working_agreement: "human",
202
+ activity_event: "human",
203
+ session_index: "system",
204
+ episode: "system",
205
+ workstream: "system",
206
+ convention: "engineering",
207
+ recall_event: "system",
208
+ feedback_event: "system",
209
+ outcome_event: "system",
210
+ aggregate_rollup: "system",
239
211
  };
240
212
  export const MEMORY_SUBTYPE_DEFAULT_LAYER = {
241
213
  codebase_map: "surface",
@@ -244,8 +216,18 @@ export const MEMORY_SUBTYPE_DEFAULT_LAYER = {
244
216
  access_pattern: "surface",
245
217
  operational_procedure: "surface",
246
218
  domain_rule: "domain",
219
+ product_decision: "domain",
220
+ product_requirement: "domain",
221
+ user_workflow: "domain",
222
+ roadmap_item: "workstream",
223
+ success_metric: "domain",
224
+ market_insight: "domain",
247
225
  troubleshooting_gotcha: "surface",
248
226
  preference: "domain",
227
+ person_profile: "domain",
228
+ ownership_note: "domain",
229
+ working_agreement: "domain",
230
+ activity_event: "episode",
249
231
  session_index: "episode",
250
232
  episode: "episode",
251
233
  workstream: "workstream",
@@ -283,38 +265,23 @@ export const THRESHOLD_RELATED = 0.8;
283
265
  // ---------------------------------------------------------------------------
284
266
  export const DECAY_HALF_LIFE = {
285
267
  // Software-engineering defaults.
286
- "codebase.software_engineering": 120,
287
- "infrastructure.software_engineering": 60,
288
- "operations.software_engineering": 60,
289
- "decisions.software_engineering": 180,
290
- "product_domain.software_engineering": 120,
291
- "projects.software_engineering": 45,
292
- "people.software_engineering": 120,
293
- "preferences.software_engineering": 180,
294
- "observations.software_engineering": 45,
268
+ "engineering.software_engineering": 120,
269
+ "product.software_engineering": 120,
270
+ "human.software_engineering": 180,
271
+ "system.software_engineering": 45,
295
272
  // Other domain profiles.
296
- "product_domain.product_strategy": 120,
297
- "decisions.product_strategy": 180,
298
- "projects.product_strategy": 60,
299
- "people.product_strategy": 120,
300
- "preferences.product_strategy": 180,
301
- "observations.product_strategy": 60,
302
- "operations.business_operations": 120,
303
- "decisions.business_operations": 180,
304
- "projects.business_operations": 60,
305
- "people.business_operations": 180,
306
- "preferences.business_operations": 180,
307
- "observations.business_operations": 90,
308
- "product_domain.research": 120,
309
- "decisions.research": 180,
310
- "projects.research": 60,
311
- "preferences.research": 180,
312
- "observations.research": 90,
313
- "operations.personal_productivity": 90,
314
- "projects.personal_productivity": 45,
315
- "people.personal_productivity": 180,
316
- "preferences.personal_productivity": 180,
317
- "observations.personal_productivity": 45,
273
+ "product.product_strategy": 180,
274
+ "human.product_strategy": 180,
275
+ "system.product_strategy": 60,
276
+ "product.business_operations": 120,
277
+ "human.business_operations": 180,
278
+ "system.business_operations": 90,
279
+ "product.research": 120,
280
+ "engineering.research": 120,
281
+ "system.research": 90,
282
+ "human.personal_productivity": 180,
283
+ "product.personal_productivity": 90,
284
+ "system.personal_productivity": 45,
318
285
  };
319
286
  // ---------------------------------------------------------------------------
320
287
  // Qdrant payload indexes
@@ -370,18 +337,45 @@ export function normalizeCategory(category) {
370
337
  if (normalized in CATEGORIES) {
371
338
  return normalized;
372
339
  }
373
- if (normalized.includes("infra"))
374
- return "infrastructure";
375
- if (normalized.includes("decision"))
376
- return "decisions";
377
- if (normalized.includes("operation") || normalized.includes("runbook"))
378
- return "operations";
379
- if (normalized.includes("owner") || normalized.includes("people"))
380
- return "people";
381
- if (normalized.includes("product") || normalized.includes("domain"))
382
- return "product_domain";
383
- if (normalized.includes("repo") || normalized.includes("code"))
384
- return "codebase";
340
+ if (normalized.includes("product") ||
341
+ normalized.includes("domain") ||
342
+ normalized.includes("roadmap") ||
343
+ normalized.includes("requirement") ||
344
+ normalized.includes("workflow") ||
345
+ normalized.includes("metric") ||
346
+ normalized.includes("market") ||
347
+ normalized.includes("customer") ||
348
+ normalized === "projects")
349
+ return "product";
350
+ if (normalized.includes("human") ||
351
+ normalized.includes("people") ||
352
+ normalized.includes("person") ||
353
+ normalized.includes("owner") ||
354
+ normalized.includes("team") ||
355
+ normalized.includes("preference") ||
356
+ normalized.includes("agreement") ||
357
+ normalized.includes("activity") ||
358
+ normalized.includes("actor"))
359
+ return "human";
360
+ if (normalized.includes("system") ||
361
+ normalized.includes("session") ||
362
+ normalized.includes("episode") ||
363
+ normalized.includes("workstream") ||
364
+ normalized.includes("telemetry") ||
365
+ normalized.includes("feedback") ||
366
+ normalized.includes("outcome") ||
367
+ normalized.includes("rollup"))
368
+ return "system";
369
+ if (normalized.includes("infra") ||
370
+ normalized.includes("decision") ||
371
+ normalized.includes("operation") ||
372
+ normalized.includes("runbook") ||
373
+ normalized.includes("repo") ||
374
+ normalized.includes("code") ||
375
+ normalized.includes("architecture") ||
376
+ normalized.includes("troubleshoot") ||
377
+ normalized.includes("observation"))
378
+ return "engineering";
385
379
  return DEFAULT_CATEGORY;
386
380
  }
387
381
  export function normalizeDomain(domain) {
@@ -500,16 +494,41 @@ export function getDecayHalfLife(input) {
500
494
  const rawCategory = normalizeToken(input.category);
501
495
  const categoryWasProvided = rawCategory.length > 0;
502
496
  const categoryIsKnown = rawCategory in CATEGORIES ||
497
+ rawCategory.includes("product") ||
498
+ rawCategory.includes("domain") ||
499
+ rawCategory.includes("roadmap") ||
500
+ rawCategory.includes("requirement") ||
501
+ rawCategory.includes("workflow") ||
502
+ rawCategory.includes("metric") ||
503
+ rawCategory.includes("market") ||
504
+ rawCategory.includes("customer") ||
505
+ rawCategory === "projects" ||
506
+ rawCategory.includes("human") ||
507
+ rawCategory.includes("people") ||
508
+ rawCategory.includes("person") ||
509
+ rawCategory.includes("owner") ||
510
+ rawCategory.includes("team") ||
511
+ rawCategory.includes("preference") ||
512
+ rawCategory.includes("agreement") ||
513
+ rawCategory.includes("activity") ||
514
+ rawCategory.includes("actor") ||
515
+ rawCategory.includes("system") ||
516
+ rawCategory.includes("session") ||
517
+ rawCategory.includes("episode") ||
518
+ rawCategory.includes("workstream") ||
519
+ rawCategory.includes("telemetry") ||
520
+ rawCategory.includes("feedback") ||
521
+ rawCategory.includes("outcome") ||
522
+ rawCategory.includes("rollup") ||
503
523
  rawCategory.includes("infra") ||
504
524
  rawCategory.includes("decision") ||
505
525
  rawCategory.includes("operation") ||
506
526
  rawCategory.includes("runbook") ||
507
- rawCategory.includes("owner") ||
508
- rawCategory.includes("people") ||
509
- rawCategory.includes("product") ||
510
- rawCategory.includes("domain") ||
511
527
  rawCategory.includes("repo") ||
512
- rawCategory.includes("code");
528
+ rawCategory.includes("code") ||
529
+ rawCategory.includes("architecture") ||
530
+ rawCategory.includes("troubleshoot") ||
531
+ rawCategory.includes("observation");
513
532
  if (categoryWasProvided && !categoryIsKnown) {
514
533
  return DECAY_DEFAULT_HALF_LIFE;
515
534
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/mcp/taxonomy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,QAAQ,EAAE;QACR,WAAW,EACT,2GAA2G;QAC7G,QAAQ,EAAE;YACR,kDAAkD;YAClD,0DAA0D;SAC3D;KACF;IACD,cAAc,EAAE;QACd,WAAW,EACT,0FAA0F;QAC5F,QAAQ,EAAE;YACR,gFAAgF;YAChF,kDAAkD;SACnD;KACF;IACD,UAAU,EAAE;QACV,WAAW,EACT,gGAAgG;QAClG,QAAQ,EAAE;YACR,6DAA6D;YAC7D,0DAA0D;SAC3D;KACF;IACD,SAAS,EAAE;QACT,WAAW,EACT,iFAAiF;QACnF,QAAQ,EAAE;YACR,wEAAwE;YACxE,+CAA+C;SAChD;KACF;IACD,cAAc,EAAE;QACd,WAAW,EACT,8FAA8F;QAChG,QAAQ,EAAE;YACR,qEAAqE;YACrE,kFAAkF;SACnF;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EACT,6FAA6F;QAC/F,QAAQ,EAAE;YACR,0EAA0E;YAC1E,sDAAsD;SACvD;KACF;IACD,MAAM,EAAE;QACN,WAAW,EACT,mFAAmF;QACrF,QAAQ,EAAE;YACR,iEAAiE;YACjE,6CAA6C;SAC9C;KACF;IACD,WAAW,EAAE;QACX,WAAW,EACT,gGAAgG;QAClG,QAAQ,EAAE;YACR,mDAAmD;YACnD,sDAAsD;SACvD;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EACT,4HAA4H;QAC9H,QAAQ,EAAE;YACR,2DAA2D;YAC3D,yEAAyE;SAC1E;KACF;CACO,CAAC;AAIX,MAAM,CAAC,MAAM,gBAAgB,GAAa,cAAc,CAAC;AAEzD,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,oBAAoB,EAAE;QACpB,WAAW,EACT,4HAA4H;QAC9H,iBAAiB,EAAE;YACjB,UAAU;YACV,gBAAgB;YAChB,YAAY;YACZ,WAAW;YACX,UAAU;YACV,aAAa;YACb,cAAc;SACN;KACX;IACD,gBAAgB,EAAE;QAChB,WAAW,EACT,qGAAqG;QACvG,iBAAiB,EAAE;YACjB,gBAAgB;YAChB,WAAW;YACX,UAAU;YACV,QAAQ;YACR,aAAa;YACb,cAAc;SACN;KACX;IACD,mBAAmB,EAAE;QACnB,WAAW,EACT,kGAAkG;QACpG,iBAAiB,EAAE;YACjB,YAAY;YACZ,WAAW;YACX,UAAU;YACV,QAAQ;YACR,aAAa;YACb,cAAc;SACN;KACX;IACD,QAAQ,EAAE;QACR,WAAW,EACT,iGAAiG;QACnG,iBAAiB,EAAE;YACjB,gBAAgB;YAChB,WAAW;YACX,UAAU;YACV,aAAa;YACb,cAAc;SACN;KACX;IACD,qBAAqB,EAAE;QACrB,WAAW,EACT,mGAAmG;QACrG,iBAAiB,EAAE;YACjB,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,aAAa;YACb,cAAc;SACN;KACX;CACO,CAAC;AAIX,MAAM,CAAC,MAAM,cAAc,GAAW,sBAAsB,CAAC;AAE7D,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,SAAS,EAAE;QACT,WAAW,EAAE,+EAA+E;KAC7F;IACD,MAAM,EAAE;QACN,WAAW,EAAE,8FAA8F;KAC5G;IACD,OAAO,EAAE;QACP,WAAW,EAAE,2FAA2F;KACzG;IACD,UAAU,EAAE;QACV,WAAW,EAAE,sEAAsE;KACpF;IACD,OAAO,EAAE;QACP,WAAW,EAAE,8DAA8D;KAC5E;IACD,aAAa,EAAE;QACb,WAAW,EAAE,qEAAqE;KACnF;CACO,CAAC;AAIX,8EAA8E;AAC9E,mCAAmC;AACnC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE;QACJ,WAAW,EAAE,kEAAkE;QAC/E,QAAQ,EAAE;YACR,kEAAkE;YAClE,2DAA2D;SAC5D;KACF;IACD,OAAO,EAAE;QACP,WAAW,EACT,8FAA8F;QAChG,QAAQ,EAAE;YACR,oDAAoD;YACpD,yCAAyC;SAC1C;KACF;IACD,SAAS,EAAE;QACT,WAAW,EACT,qEAAqE;QACvE,QAAQ,EAAE;YACR,2DAA2D;YAC3D,6EAA6E;SAC9E;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,oEAAoE;QACjF,QAAQ,EAAE;YACR,yBAAyB;YACzB,+CAA+C;SAChD;KACF;IACD,SAAS,EAAE;QACT,WAAW,EACT,0HAA0H;QAC5H,QAAQ,EAAE;YACR,sDAAsD;YACtD,8BAA8B;SAC/B;KACF;CACO,CAAC;AAIX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE;QACJ,cAAc;QACd,uBAAuB;QACvB,gBAAgB;QAChB,gBAAgB;QAChB,uBAAuB;QACvB,aAAa;QACb,wBAAwB;QACxB,YAAY;KACb;IACD,OAAO,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC;IACnD,SAAS,EAAE,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAIrD,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,cAAc;CAC4B,CAAC;AAExD,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,YAAY,EAAE,UAAU;IACxB,qBAAqB,EAAE,WAAW;IAClC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,qBAAqB,EAAE,YAAY;IACnC,WAAW,EAAE,gBAAgB;IAC7B,sBAAsB,EAAE,YAAY;IACpC,UAAU,EAAE,aAAa;IACzB,aAAa,EAAE,UAAU;IACzB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,cAAc;IAC9B,aAAa,EAAE,cAAc;IAC7B,gBAAgB,EAAE,cAAc;CACkB,CAAC;AAErD,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,YAAY,EAAE,SAAS;IACvB,qBAAqB,EAAE,SAAS;IAChC,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,qBAAqB,EAAE,SAAS;IAChC,WAAW,EAAE,QAAQ;IACrB,sBAAsB,EAAE,SAAS;IACjC,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,SAAS;IACxB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,QAAQ;IACpB,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,eAAe;IAC/B,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,WAAW;CACkB,CAAC;AAElD,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,EAAE;QACL,WAAW,EAAE,+CAA+C;KAC7D;IACD,MAAM,EAAE;QACN,WAAW,EACT,4HAA4H;KAC/H;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,0CAA0C;KACxD;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,0DAA0D;KACxE;CACO,CAAC;AAIX,MAAM,CAAC,MAAM,YAAY,GAAS,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAW,OAAO,CAAC;AAC9C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,8EAA8E;AAC9E,+DAA+D;AAC/D,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,iCAAiC;IACjC,+BAA+B,EAAE,GAAG;IACpC,qCAAqC,EAAE,EAAE;IACzC,iCAAiC,EAAE,EAAE;IACrC,gCAAgC,EAAE,GAAG;IACrC,qCAAqC,EAAE,GAAG;IAC1C,+BAA+B,EAAE,EAAE;IACnC,6BAA6B,EAAE,GAAG;IAClC,kCAAkC,EAAE,GAAG;IACvC,mCAAmC,EAAE,EAAE;IAEvC,yBAAyB;IACzB,iCAAiC,EAAE,GAAG;IACtC,4BAA4B,EAAE,GAAG;IACjC,2BAA2B,EAAE,EAAE;IAC/B,yBAAyB,EAAE,GAAG;IAC9B,8BAA8B,EAAE,GAAG;IACnC,+BAA+B,EAAE,EAAE;IACnC,gCAAgC,EAAE,GAAG;IACrC,+BAA+B,EAAE,GAAG;IACpC,8BAA8B,EAAE,EAAE;IAClC,4BAA4B,EAAE,GAAG;IACjC,iCAAiC,EAAE,GAAG;IACtC,kCAAkC,EAAE,EAAE;IACtC,yBAAyB,EAAE,GAAG;IAC9B,oBAAoB,EAAE,GAAG;IACzB,mBAAmB,EAAE,EAAE;IACvB,sBAAsB,EAAE,GAAG;IAC3B,uBAAuB,EAAE,EAAE;IAC3B,kCAAkC,EAAE,EAAE;IACtC,gCAAgC,EAAE,EAAE;IACpC,8BAA8B,EAAE,GAAG;IACnC,mCAAmC,EAAE,GAAG;IACxC,oCAAoC,EAAE,EAAE;CAEzC,CAAC;AAEF,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAwD;IACjF,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE;IACnD,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE;IACjD,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE;IAC/C,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE;IACzD,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE;IACjD,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE;IACvD,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE;IACnD,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE;IACvD,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE;IACnD,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE;IACtD,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE;IACtD,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE;IACpD,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE;IACxD,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE;IACxD,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE;IACtD,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE;IACtD,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE;IACxD,EAAE,UAAU,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE;IAC9D,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE;IAC5D,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE;IACvD,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE;IACrD,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE;IACrD,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE;IACzD,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE;IACnD,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE;IAC/C,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE;IACjD,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;IAChD,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE;IAChD,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE;IAClD,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE;IACxD,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE;IACvD,EAAE,UAAU,EAAE,uBAAuB,EAAE,YAAY,EAAE,SAAS,EAAE;IAChE,EAAE,UAAU,EAAE,2BAA2B,EAAE,YAAY,EAAE,SAAS,EAAE;IACpE,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE;IACvD,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE;CAC7D,CAAC;AAQF,SAAS,cAAc,CAAC,KAAgC;IACtD,OAAO,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAmC;IACnE,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;QAC7B,OAAO,UAAsB,CAAC;IAChC,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC1D,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC;IACxD,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,YAAY,CAAC;IAC5F,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACnF,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC7F,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IAClF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiC;IAC/D,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,UAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA+B;IAC3D,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACxB,OAAO,UAAkB,CAAC;IAC5B,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,WAAW,CAAC;IACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IACtF,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,WAAW,CAAC;IAClG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAiC;IAC/D,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAClE,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC5C,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;QAC1B,OAAO,UAAoB,CAAC;IAC9B,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAgC;IAC7D,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO,UAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAA+B,EAC/B,OAAkC;IAElC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAsB,CAAC;IACrE,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxC,OAAO,iBAAkC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAA+B,EAC/B,OAAkC;IAElC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,IAAI,KAAK,CACb,2BAA2B,OAAO,eAAe,cAAc,wBAAwB,WAAW,GAAG,CACtG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAA+B;IACzE,OAAO,8BAA8B,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAkC;IACzE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,UAAU,IAAI,+BAA+B,EAAE,CAAC;QAClD,OAAO,+BAA+B,CAAC,UAA2B,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAkC;IACtE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,UAAU,IAAI,4BAA4B,EAAE,CAAC;QAC/C,OAAO,4BAA4B,CAAC,UAA2B,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAkB;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,qBAAqB;IACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAC7B,sIAAsI,CACvI,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAIhC;IACC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAE7D,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACnD,MAAM,eAAe,GACnB,WAAW,IAAI,UAAU;QACzB,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC7B,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;QACjC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/B,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC7B,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC/B,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,mBAAmB,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtD,OAAO,CACL,eAAe,CAAC,GAAG,iBAAiB,IAAI,eAAe,EAAE,CAAC;QAC1D,eAAe,CAAC,GAAG,iBAAiB,IAAI,cAAc,EAAE,CAAC;QACzD,uBAAuB,CACxB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E,MAAM,UAAU,cAAc;IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAwB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAwB,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAwB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAwB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAwB,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAwB,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,GAAG,GAAI,UAAqF,CAAC,QAAQ,CAAC,CAAC;IAC7G,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,QAAQ,sBAAsB,CAAC;IACvD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO;QACL,OAAO,QAAQ,EAAE;QACjB,GAAG,CAAC,WAAW,IAAI,EAAE;QACrB,QAAQ,CAAC,CAAC,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;KACzC;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,yBAAyB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,kCAAkC;AAElC,SAAS,kBAAkB,CAAC,IAAY;IACtC,sEAAsE;IACtE,yDAAyD;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CACxE,CAAC;IACF,OAAO;QACL,qCAAqC;QACrC,GAAG,KAAK;QACR,yBAAyB,gBAAgB,GAAG;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CACvC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CACxE,CAAC;IACF,OAAO;QACL,gEAAgE;QAChE,GAAG,KAAK;QACR,yBAAyB,cAAc,GAAG;KAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO;QACL,8CAA8C;QAC9C,GAAG,KAAK;QACR,yBAAyB,YAAY,2CAA2C;KACjF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;SAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzE,OAAO;QACL,kHAAkH;QAClH,sDAAsD;QACtD,GAAG,MAAM;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CACvC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CACxE,CAAC;IACF,OAAO;QACL,kCAAkC;QAClC,GAAG,KAAK;QACR,yBAAyB,cAAc,oFAAoF;KAC5H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,EAAyB,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAA+B;IACxE,OAAO,CAAC,GAAG,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAwB,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"taxonomy.js","sourceRoot":"","sources":["../../src/mcp/taxonomy.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,10 @@ describe("ontology values", () => {
8
8
  it("defines canonical software-engineering categories", () => {
9
9
  const values = canonicalCategoryValues();
10
10
  assert.deepStrictEqual(values, [
11
- "codebase",
12
- "infrastructure",
13
- "operations",
14
- "decisions",
15
- "product_domain",
16
- "projects",
17
- "people",
18
- "preferences",
19
- "observations",
11
+ "engineering",
12
+ "product",
13
+ "human",
14
+ "system",
20
15
  ]);
21
16
  });
22
17
  it("exposes only canonical memory ontology categories", () => {
@@ -89,6 +84,16 @@ describe("memory subtypes", () => {
89
84
  assert.deepStrictEqual(MEMORY_SUBTYPES.distilled, ["convention"]);
90
85
  assert.deepStrictEqual(MEMORY_SUBTYPES.relation, []);
91
86
  assert.ok(MEMORY_SUBTYPES.telemetry.includes("recall_event"));
87
+ assert.ok(MEMORY_SUBTYPES.fact.includes("product_decision"));
88
+ assert.ok(MEMORY_SUBTYPES.fact.includes("product_requirement"));
89
+ assert.ok(MEMORY_SUBTYPES.fact.includes("user_workflow"));
90
+ assert.ok(MEMORY_SUBTYPES.fact.includes("roadmap_item"));
91
+ assert.ok(MEMORY_SUBTYPES.fact.includes("success_metric"));
92
+ assert.ok(MEMORY_SUBTYPES.fact.includes("market_insight"));
93
+ assert.ok(MEMORY_SUBTYPES.fact.includes("person_profile"));
94
+ assert.ok(MEMORY_SUBTYPES.fact.includes("ownership_note"));
95
+ assert.ok(MEMORY_SUBTYPES.fact.includes("working_agreement"));
96
+ assert.ok(MEMORY_SUBTYPES.fact.includes("activity_event"));
92
97
  // Removed in taxonomy-slim cleanup:
93
98
  assert.ok(!MEMORY_SUBTYPES.fact.includes("deployment_procedure"));
94
99
  assert.ok(!MEMORY_SUBTYPES.fact.includes("ownership"));
@@ -104,8 +109,10 @@ describe("memory subtypes", () => {
104
109
  it("provides deterministic subtype defaults and category/layer hints", () => {
105
110
  assert.strictEqual(defaultMemorySubtypeForKind("fact"), "codebase_map");
106
111
  assert.strictEqual(defaultMemorySubtypeForKind("relation"), null);
107
- assert.strictEqual(categoryForMemorySubtype("architecture_decision"), "decisions");
108
- assert.strictEqual(categoryForMemorySubtype("preference"), "preferences");
112
+ assert.strictEqual(categoryForMemorySubtype("architecture_decision"), "engineering");
113
+ assert.strictEqual(categoryForMemorySubtype("product_decision"), "product");
114
+ assert.strictEqual(categoryForMemorySubtype("preference"), "human");
115
+ assert.strictEqual(categoryForMemorySubtype("session_index"), "system");
109
116
  assert.strictEqual(layerForMemorySubtype("workstream"), "workstream");
110
117
  assert.strictEqual(layerForMemorySubtype("episode"), "episode");
111
118
  assert.ok(memorySubtypeValues().includes("convention"));
@@ -115,10 +122,14 @@ describe("memory subtypes", () => {
115
122
  });
116
123
  describe("normalization", () => {
117
124
  it("normalizes canonical categories and useful descriptive variants", () => {
118
- assert.strictEqual(normalizeCategory("Infrastructure"), "infrastructure");
119
- assert.strictEqual(normalizeCategory("infra-stuff"), "infrastructure");
120
- assert.strictEqual(normalizeCategory("owner"), "people");
121
- assert.strictEqual(normalizeCategory("something_random"), "observations");
125
+ assert.strictEqual(normalizeCategory("Engineering"), "engineering");
126
+ assert.strictEqual(normalizeCategory("Infrastructure"), "engineering");
127
+ assert.strictEqual(normalizeCategory("infra-stuff"), "engineering");
128
+ assert.strictEqual(normalizeCategory("product decision"), "product");
129
+ assert.strictEqual(normalizeCategory("owner"), "human");
130
+ assert.strictEqual(normalizeCategory("preferences"), "human");
131
+ assert.strictEqual(normalizeCategory("workstream"), "system");
132
+ assert.strictEqual(normalizeCategory("something_random"), "engineering");
122
133
  });
123
134
  it("normalizes canonical domain profiles only", () => {
124
135
  assert.strictEqual(normalizeDomain("software-engineering"), "software_engineering");
@@ -145,13 +156,17 @@ describe("normalization", () => {
145
156
  });
146
157
  describe("decay policy", () => {
147
158
  it("uses category + domain profile decay values", () => {
148
- assert.strictEqual(getDecayHalfLife({ category: "codebase", domain: "software_engineering" }), 120);
149
- assert.strictEqual(getDecayHalfLife({ category: "projects", domain: "software_engineering" }), 45);
150
- assert.strictEqual(getDecayHalfLife({ category: "observations", domain: "research" }), 90);
151
- });
152
- it("does not special-case old category/domain inputs", () => {
153
- assert.strictEqual(getDecayHalfLife({ category: "observation", domain: "work" }), DECAY_DEFAULT_HALF_LIFE);
154
- assert.strictEqual(getDecayHalfLife({ category: "team", domain: "personal" }), DECAY_DEFAULT_HALF_LIFE);
159
+ assert.strictEqual(getDecayHalfLife({ category: "engineering", domain: "software_engineering" }), 120);
160
+ assert.strictEqual(getDecayHalfLife({ category: "system", domain: "software_engineering" }), 45);
161
+ assert.strictEqual(getDecayHalfLife({ category: "product", domain: "research" }), 120);
162
+ });
163
+ it("maps legacy category aliases into the four-category ontology", () => {
164
+ assert.strictEqual(normalizeCategory("codebase"), "engineering");
165
+ assert.strictEqual(normalizeCategory("product_domain"), "product");
166
+ assert.strictEqual(normalizeCategory("people"), "human");
167
+ assert.strictEqual(normalizeCategory("observations"), "engineering");
168
+ assert.strictEqual(getDecayHalfLife({ category: "observation", domain: "work" }), 120);
169
+ assert.strictEqual(getDecayHalfLife({ category: "team", domain: "personal" }), 180);
155
170
  });
156
171
  it("does not decay relation or telemetry objects", () => {
157
172
  assert.strictEqual(getDecayHalfLife({ kind: "relation" }), null);
@@ -171,6 +186,7 @@ describe("QDRANT_INDEXES", () => {
171
186
  assert.strictEqual(indexes.get("content_hash"), "keyword");
172
187
  assert.strictEqual(indexes.get("entities"), "keyword");
173
188
  assert.strictEqual(indexes.get("workspace_id"), "keyword");
189
+ assert.strictEqual(indexes.get("actor_id"), "keyword");
174
190
  assert.strictEqual(indexes.get("episode_id"), "keyword");
175
191
  assert.strictEqual(indexes.get("workstream_key"), "keyword");
176
192
  assert.strictEqual(indexes.get("task_key"), "keyword");