@pellux/goodvibes-sdk 0.33.12 → 0.33.13

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.
@@ -3,7 +3,7 @@
3
3
  "product": {
4
4
  "id": "goodvibes",
5
5
  "surface": "operator",
6
- "version": "0.33.12"
6
+ "version": "0.33.13"
7
7
  },
8
8
  "auth": {
9
9
  "modes": [
@@ -1 +1 @@
1
- {"version":3,"file":"map-filters.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/map-filters.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CA8EzB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAoB1F;AAED,wBAAgB,4BAA4B,CAAC,OAAO,GAAE,yBAA8B,GAAG,QAAQ,CAAC,IAAI,CAClG,uBAAuB,EACrB,KAAK,GACL,aAAa,GACb,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,MAAM,CACT,CAAC,GAAG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC;CAC7E,CAyBA;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAMtE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAO7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAQ/D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,sBAAsB,EAAE,CAUxF;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,MAAM,EAAE,CAG7E"}
1
+ {"version":3,"file":"map-filters.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/map-filters.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CAkFzB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAoB1F;AAED,wBAAgB,4BAA4B,CAAC,OAAO,GAAE,yBAA8B,GAAG,QAAQ,CAAC,IAAI,CAClG,uBAAuB,EACrB,KAAK,GACL,aAAa,GACb,WAAW,GACX,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,eAAe,GACf,MAAM,CACT,CAAC,GAAG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC;CAC7E,CAyBA;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAMtE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAO7D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAQ/D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,sBAAsB,EAAE,CAUxF;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,MAAM,EAAE,CAG7E"}
@@ -1,11 +1,16 @@
1
1
  import { isGeneratedKnowledgeSource, } from './generated-projections.js';
2
2
  import { isInKnowledgeSpaceScope, } from './spaces.js';
3
+ import { knowledgeIssueMatchesScope, knowledgeNodeMatchesScope, } from './scope-records.js';
3
4
  export function applyKnowledgeMapFilters(state, options = {}) {
4
5
  const filters = normalizeKnowledgeMapFilters(options);
5
6
  const linkedIds = new Set(filters.linkedToIds);
6
7
  const linkedRecordIds = linkedIds.size > 0 ? recordIdsLinkedTo(state.edges, linkedIds) : new Set();
7
8
  const query = filters.query?.toLowerCase();
8
9
  const recordKinds = filters.recordKinds;
10
+ const scopeLookup = {
11
+ sources: new Map(state.sources.map((source) => [source.id, source])),
12
+ nodes: new Map(state.nodes.map((node) => [node.id, node])),
13
+ };
9
14
  const sources = recordKinds && !recordKinds.has('source')
10
15
  ? []
11
16
  : state.sources
@@ -30,7 +35,7 @@ export function applyKnowledgeMapFilters(state, options = {}) {
30
35
  ? []
31
36
  : state.nodes
32
37
  .filter((node) => node.status !== 'stale')
33
- .filter((node) => isInKnowledgeSpaceScope(node, filters))
38
+ .filter((node) => knowledgeNodeMatchesScope(node, filters, scopeLookup))
34
39
  .filter((node) => matchesSet(filters.nodeKinds, node.kind))
35
40
  .filter((node) => matchesSet(filters.nodeStatuses, node.status))
36
41
  .filter((node) => filters.minConfidence === undefined || node.confidence >= filters.minConfidence)
@@ -49,7 +54,7 @@ export function applyKnowledgeMapFilters(state, options = {}) {
49
54
  ? []
50
55
  : state.issues
51
56
  .filter((issue) => (filters.issueStatuses?.length ?? 0) > 0 || issue.status === 'open')
52
- .filter((issue) => isInKnowledgeSpaceScope(issue, filters))
57
+ .filter((issue) => knowledgeIssueMatchesScope(issue, filters, scopeLookup))
53
58
  .filter((issue) => matchesSet(filters.issueCodes, issue.code))
54
59
  .filter((issue) => matchesSet(filters.issueStatuses, issue.status))
55
60
  .filter((issue) => matchesSet(filters.issueSeverities, issue.severity))
@@ -1 +1 @@
1
- {"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/packet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packet.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/packet.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { isInKnowledgeSpaceScope, } from './spaces.js';
2
+ import { knowledgeNodeMatchesScope, } from './scope-records.js';
2
3
  import { emitKnowledgePacketBuilt } from '../runtime/emitters/index.js';
3
4
  import { DEFAULT_PACKET_BUDGET, DEFAULT_PACKET_LIMIT, estimateTokens, isSourcePastRefreshWindow, renderPacket, scoreHaystack, summarizeCompact, tokenize, trimForDetail, } from './shared.js';
4
5
  export function searchKnowledge(context, query, limit = 10, scope = {}) {
@@ -28,7 +29,10 @@ export function searchKnowledge(context, query, limit = 10, scope = {}) {
28
29
  source,
29
30
  };
30
31
  });
31
- const nodeResults = context.store.listNodes(Number.MAX_SAFE_INTEGER).filter((node) => isInKnowledgeSpaceScope(node, scope)).map((node) => {
32
+ const nodeResults = context.store.listNodes(Number.MAX_SAFE_INTEGER).filter((node) => knowledgeNodeMatchesScope(node, scope, {
33
+ getSource: (id) => context.store.getSource(id),
34
+ getNode: (id) => context.store.getNode(id),
35
+ })).map((node) => {
32
36
  const haystack = [
33
37
  node.title,
34
38
  node.summary ?? '',
@@ -129,7 +133,10 @@ function buildKnowledgePacketFromCurrentState(context, task, writeScope, limit,
129
133
  candidates.push({ score: item.score, item });
130
134
  }
131
135
  for (const node of context.store.listNodes(Number.MAX_SAFE_INTEGER)) {
132
- if (!isInKnowledgeSpaceScope(node, options))
136
+ if (!knowledgeNodeMatchesScope(node, options, {
137
+ getSource: (id) => context.store.getSource(id),
138
+ getNode: (id) => context.store.getNode(id),
139
+ }))
133
140
  continue;
134
141
  const haystack = [
135
142
  node.title,
@@ -215,7 +222,10 @@ function collectRelatedLabels(context, kind, id, scope) {
215
222
  const otherId = edge.fromKind === kind && edge.fromId === id ? edge.toId : edge.fromId;
216
223
  if (otherKind === 'node') {
217
224
  const node = context.store.getNode(otherId);
218
- if (node && isInKnowledgeSpaceScope(node, scope))
225
+ if (node && knowledgeNodeMatchesScope(node, scope, {
226
+ getSource: (sourceId) => context.store.getSource(sourceId),
227
+ getNode: (nodeId) => context.store.getNode(nodeId),
228
+ }))
219
229
  labels.push(node.title);
220
230
  }
221
231
  else if (otherKind === 'source') {
@@ -55,5 +55,7 @@ export declare class KnowledgeProjectionService {
55
55
  private scopedNodes;
56
56
  private scopedIssues;
57
57
  private scopedExtractions;
58
+ private nodeInScope;
59
+ private issueInScope;
58
60
  }
59
61
  //# sourceMappingURL=projections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/projections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAWrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EACV,kBAAkB,EAElB,+BAA+B,EAE/B,yBAAyB,EAEzB,yBAAyB,EACzB,6BAA6B,EAE9B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,SAAS,kBAAkB,EAAE,CAAC,GAAG,SAAS,CAAC;CACzE;AAED,qBAAa,0BAA0B;IAInC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;gBAGjD,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,aAAa,EAC7C,OAAO,GAAE,iCAAsC;IAK3C,WAAW,CAAC,KAAK,SAAK,EAAE,KAAK,GAAE,wBAA6B,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAiBnG,MAAM,CACV,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjD,GACA,OAAO,CAAC,yBAAyB,CAAC;IA6B/B,WAAW,CACf,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjD,GACA,OAAO,CAAC,+BAA+B,CAAC;IAyC3C,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,cAAc;IAwDtB,OAAO,CAAC,eAAe;IA4CvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IA2CxB,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/projections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAerB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EACV,kBAAkB,EAElB,+BAA+B,EAE/B,yBAAyB,EAEzB,yBAAyB,EACzB,6BAA6B,EAE9B,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,SAAS,kBAAkB,EAAE,CAAC,GAAG,SAAS,CAAC;CACzE;AAED,qBAAa,0BAA0B;IAInC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;gBAGjD,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,aAAa,EAC7C,OAAO,GAAE,iCAAsC;IAK3C,WAAW,CAAC,KAAK,SAAK,EAAE,KAAK,GAAE,wBAA6B,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAiBnG,MAAM,CACV,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjD,GACA,OAAO,CAAC,yBAAyB,CAAC;IA6B/B,WAAW,CACf,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjD,GACA,OAAO,CAAC,+BAA+B,CAAC;IAyC3C,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;IAwD1B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,cAAc;IAwDtB,OAAO,CAAC,eAAe;IA4CvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IA2CxB,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,YAAY;CAMrB"}
@@ -1,5 +1,6 @@
1
1
  import { generatedKnowledgeCanonicalUri, generatedKnowledgeSourceId, isGeneratedKnowledgeSource, materializeGeneratedKnowledgeProjection, } from './generated-projections.js';
2
2
  import { isInKnowledgeSpaceScope, resolveKnowledgeSpaceScope, } from './spaces.js';
3
+ import { knowledgeIssueMatchesScope, knowledgeNodeMatchesScope, } from './scope-records.js';
3
4
  import { buildBulletList, dedupe, formatDateTime, joinSections, materializedTargetReference, quote, slugify, sortByTitle, } from './projection-utils.js';
4
5
  export class KnowledgeProjectionService {
5
6
  store;
@@ -102,7 +103,7 @@ export class KnowledgeProjectionService {
102
103
  if (!id?.trim())
103
104
  return null;
104
105
  const node = this.store.getNode(id);
105
- return node && isInKnowledgeSpaceScope(node, scope) ? this.createRollupTarget(node) : null;
106
+ return node && this.nodeInScope(node, scope) ? this.createRollupTarget(node) : null;
106
107
  }
107
108
  if (!id?.trim())
108
109
  return null;
@@ -112,10 +113,10 @@ export class KnowledgeProjectionService {
112
113
  }
113
114
  if (kind === 'node') {
114
115
  const node = this.store.getNode(id);
115
- return node && isInKnowledgeSpaceScope(node, scope) ? this.createNodeTarget(node) : null;
116
+ return node && this.nodeInScope(node, scope) ? this.createNodeTarget(node) : null;
116
117
  }
117
118
  const issue = this.store.getIssue(id);
118
- return issue && isInKnowledgeSpaceScope(issue, scope) ? this.createIssueTarget(issue) : null;
119
+ return issue && this.issueInScope(issue, scope) ? this.createIssueTarget(issue) : null;
119
120
  }
120
121
  createPresetTarget(kind, scope) {
121
122
  const spaceId = resolveKnowledgeSpaceScope(scope);
@@ -354,7 +355,7 @@ export class KnowledgeProjectionService {
354
355
  }
355
356
  if (edge.fromKind === 'node') {
356
357
  const node = this.store.getNode(edge.fromId);
357
- return node && isInKnowledgeSpaceScope(node, scope) ? `${this.linkToTarget(this.createNodeTarget(node))} via \`${edge.relation}\`` : `node:${edge.fromId}`;
358
+ return node && this.nodeInScope(node, scope) ? `${this.linkToTarget(this.createNodeTarget(node))} via \`${edge.relation}\`` : `node:${edge.fromId}`;
358
359
  }
359
360
  return `${edge.fromKind}:${edge.fromId} via \`${edge.relation}\``;
360
361
  })),
@@ -438,7 +439,7 @@ export class KnowledgeProjectionService {
438
439
  ...(extraction.links.length > 0 ? [`- links: ${extraction.links.join(', ')}`] : []),
439
440
  ].join('\n') : null, extraction?.excerpt ? ['## Excerpt', extraction.excerpt].join('\n') : null, [
440
441
  '## Related Nodes',
441
- buildBulletList(relatedNodes.filter((node) => isInKnowledgeSpaceScope(node, scope)).map((node) => this.linkToTarget(this.createNodeTarget(node), `${node.title} (${node.kind})`))),
442
+ buildBulletList(relatedNodes.filter((node) => this.nodeInScope(node, scope)).map((node) => this.linkToTarget(this.createNodeTarget(node), `${node.title} (${node.kind})`))),
442
443
  ].join('\n'), [
443
444
  '## Related Sources',
444
445
  buildBulletList(relatedSources.filter((entry) => isInKnowledgeSpaceScope(entry, scope)).map((entry) => this.linkToTarget(this.createSourceTarget(entry)))),
@@ -464,7 +465,7 @@ export class KnowledgeProjectionService {
464
465
  }
465
466
  renderNodePage(id, scope) {
466
467
  const node = this.store.getNode(id);
467
- if (!node || !isInKnowledgeSpaceScope(node, scope))
468
+ if (!node || !this.nodeInScope(node, scope))
468
469
  throw new Error(`Unknown knowledge node: ${id}`);
469
470
  const view = this.store.getItem(id);
470
471
  const target = this.createNodeTarget(node);
@@ -512,7 +513,7 @@ export class KnowledgeProjectionService {
512
513
  }
513
514
  renderIssuePage(id, scope) {
514
515
  const issue = this.store.getIssue(id);
515
- if (!issue || !isInKnowledgeSpaceScope(issue, scope))
516
+ if (!issue || !this.issueInScope(issue, scope))
516
517
  throw new Error(`Unknown knowledge issue: ${id}`);
517
518
  const target = this.createIssueTarget(issue);
518
519
  const linkedSource = issue.sourceId ? this.store.getSource(issue.sourceId) : null;
@@ -557,7 +558,7 @@ export class KnowledgeProjectionService {
557
558
  }
558
559
  renderRollupPage(nodeId, target, scope) {
559
560
  const node = this.store.getNode(nodeId);
560
- if (!node || !isInKnowledgeSpaceScope(node, scope))
561
+ if (!node || !this.nodeInScope(node, scope))
561
562
  throw new Error(`Unknown rollup node: ${nodeId}`);
562
563
  const edges = this.store.edgesFor('node', node.id);
563
564
  const sources = edges
@@ -678,11 +679,11 @@ export class KnowledgeProjectionService {
678
679
  }
679
680
  if (kind === 'node') {
680
681
  const node = this.store.getNode(id);
681
- return Boolean(node && isInKnowledgeSpaceScope(node, scope));
682
+ return Boolean(node && this.nodeInScope(node, scope));
682
683
  }
683
684
  if (kind === 'issue') {
684
685
  const issue = this.store.getIssue(id);
685
- return Boolean(issue && isInKnowledgeSpaceScope(issue, scope));
686
+ return Boolean(issue && this.issueInScope(issue, scope));
686
687
  }
687
688
  return true;
688
689
  }
@@ -693,12 +694,12 @@ export class KnowledgeProjectionService {
693
694
  }
694
695
  scopedNodes(scope, limit = Number.MAX_SAFE_INTEGER) {
695
696
  return this.store.listNodes(Number.MAX_SAFE_INTEGER)
696
- .filter((node) => isInKnowledgeSpaceScope(node, scope))
697
+ .filter((node) => this.nodeInScope(node, scope))
697
698
  .slice(0, Math.max(1, limit));
698
699
  }
699
700
  scopedIssues(scope, limit = Number.MAX_SAFE_INTEGER) {
700
701
  return this.store.listIssues(Number.MAX_SAFE_INTEGER)
701
- .filter((issue) => isInKnowledgeSpaceScope(issue, scope))
702
+ .filter((issue) => this.issueInScope(issue, scope))
702
703
  .slice(0, Math.max(1, limit));
703
704
  }
704
705
  scopedExtractions(scope, limit = Number.MAX_SAFE_INTEGER) {
@@ -706,6 +707,18 @@ export class KnowledgeProjectionService {
706
707
  .filter((extraction) => isInKnowledgeSpaceScope(extraction, scope))
707
708
  .slice(0, Math.max(1, limit));
708
709
  }
710
+ nodeInScope(node, scope) {
711
+ return knowledgeNodeMatchesScope(node, scope, {
712
+ getSource: (id) => this.store.getSource(id),
713
+ getNode: (id) => this.store.getNode(id),
714
+ });
715
+ }
716
+ issueInScope(issue, scope) {
717
+ return knowledgeIssueMatchesScope(issue, scope, {
718
+ getSource: (id) => this.store.getSource(id),
719
+ getNode: (id) => this.store.getNode(id),
720
+ });
721
+ }
709
722
  }
710
723
  function projectionScope(input = {}) {
711
724
  return {
@@ -0,0 +1,12 @@
1
+ import { type KnowledgeSpaceScopeInput } from './spaces.js';
2
+ import type { KnowledgeIssueRecord, KnowledgeNodeRecord, KnowledgeSourceRecord } from './types.js';
3
+ export interface KnowledgeScopeLookup {
4
+ readonly getSource?: ((id: string) => KnowledgeSourceRecord | null | undefined) | undefined;
5
+ readonly getNode?: ((id: string) => KnowledgeNodeRecord | null | undefined) | undefined;
6
+ readonly sources?: ReadonlyMap<string, KnowledgeSourceRecord> | undefined;
7
+ readonly nodes?: ReadonlyMap<string, KnowledgeNodeRecord> | undefined;
8
+ }
9
+ export declare function knowledgeSourceMatchesScope(source: KnowledgeSourceRecord, scope?: KnowledgeSpaceScopeInput): boolean;
10
+ export declare function knowledgeNodeMatchesScope(node: KnowledgeNodeRecord, scope?: KnowledgeSpaceScopeInput, lookup?: KnowledgeScopeLookup): boolean;
11
+ export declare function knowledgeIssueMatchesScope(issue: KnowledgeIssueRecord, scope?: KnowledgeSpaceScopeInput, lookup?: KnowledgeScopeLookup): boolean;
12
+ //# sourceMappingURL=scope-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-records.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/scope-records.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,CAAC;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;CACvE;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,GAAE,wBAA6B,GACnC,OAAO,CAET;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,mBAAmB,EACzB,KAAK,GAAE,wBAA6B,EACpC,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAMT;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,oBAAoB,EAC3B,KAAK,GAAE,wBAA6B,EACpC,MAAM,GAAE,oBAAyB,GAChC,OAAO,CAMT"}
@@ -0,0 +1,94 @@
1
+ import { getExplicitKnowledgeSpaceId, isInKnowledgeSpaceScope, resolveKnowledgeSpaceScope, } from './spaces.js';
2
+ export function knowledgeSourceMatchesScope(source, scope = {}) {
3
+ return isInKnowledgeSpaceScope(source, scope);
4
+ }
5
+ export function knowledgeNodeMatchesScope(node, scope = {}, lookup = {}) {
6
+ if (!isInKnowledgeSpaceScope(node, scope))
7
+ return false;
8
+ const scopedSpaceId = resolveKnowledgeSpaceScope(scope);
9
+ if (scopedSpaceId === null)
10
+ return true;
11
+ const relatedSpaces = relatedNodeSpaceIds(node, lookup);
12
+ return relatedSpaces.length === 0 || relatedSpaces.every((spaceId) => spaceId === scopedSpaceId);
13
+ }
14
+ export function knowledgeIssueMatchesScope(issue, scope = {}, lookup = {}) {
15
+ if (!isInKnowledgeSpaceScope(issue, scope))
16
+ return false;
17
+ const scopedSpaceId = resolveKnowledgeSpaceScope(scope);
18
+ if (scopedSpaceId === null)
19
+ return true;
20
+ const relatedSpaces = relatedIssueSpaceIds(issue, lookup);
21
+ return relatedSpaces.length === 0 || relatedSpaces.every((spaceId) => spaceId === scopedSpaceId);
22
+ }
23
+ function relatedIssueSpaceIds(issue, lookup) {
24
+ const spaces = new Set();
25
+ for (const sourceId of uniqueStrings([
26
+ issue.sourceId,
27
+ readString(issue.metadata.sourceId),
28
+ ...readStringArray(issue.metadata.sourceIds),
29
+ ])) {
30
+ const sourceSpace = getExplicitKnowledgeSpaceId(lookupSource(lookup, sourceId));
31
+ if (sourceSpace)
32
+ spaces.add(sourceSpace);
33
+ }
34
+ const linkedNodeIds = uniqueStrings([
35
+ issue.nodeId,
36
+ readString(issue.metadata.nodeId),
37
+ ...readStringArray(issue.metadata.linkedObjectIds),
38
+ ...readStringArray(issue.metadata.subjectIds),
39
+ ]);
40
+ for (const nodeId of linkedNodeIds) {
41
+ const node = lookupNode(lookup, nodeId);
42
+ const nodeSpace = getExplicitKnowledgeSpaceId(node);
43
+ if (nodeSpace)
44
+ spaces.add(nodeSpace);
45
+ if (node)
46
+ for (const related of relatedNodeSpaceIds(node, lookup))
47
+ spaces.add(related);
48
+ }
49
+ return [...spaces];
50
+ }
51
+ function relatedNodeSpaceIds(node, lookup) {
52
+ const spaces = new Set();
53
+ for (const sourceId of uniqueStrings([
54
+ node.sourceId,
55
+ readString(node.metadata.sourceId),
56
+ ...readStringArray(node.metadata.sourceIds),
57
+ ])) {
58
+ const sourceSpace = getExplicitKnowledgeSpaceId(lookupSource(lookup, sourceId));
59
+ if (sourceSpace)
60
+ spaces.add(sourceSpace);
61
+ }
62
+ for (const nodeId of uniqueStrings([
63
+ ...readStringArray(node.metadata.linkedObjectIds),
64
+ ...readStringArray(node.metadata.subjectIds),
65
+ ])) {
66
+ const linkedSpace = getExplicitKnowledgeSpaceId(lookupNode(lookup, nodeId));
67
+ if (linkedSpace)
68
+ spaces.add(linkedSpace);
69
+ }
70
+ return [...spaces];
71
+ }
72
+ function lookupSource(lookup, id) {
73
+ if (!id)
74
+ return null;
75
+ return lookup.getSource?.(id) ?? lookup.sources?.get(id) ?? null;
76
+ }
77
+ function lookupNode(lookup, id) {
78
+ if (!id)
79
+ return null;
80
+ return lookup.getNode?.(id) ?? lookup.nodes?.get(id) ?? null;
81
+ }
82
+ function readString(value) {
83
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
84
+ }
85
+ function readStringArray(value) {
86
+ if (typeof value === 'string' && value.trim().length > 0)
87
+ return [value.trim()];
88
+ if (!Array.isArray(value))
89
+ return [];
90
+ return value.flatMap((entry) => readStringArray(entry));
91
+ }
92
+ function uniqueStrings(values) {
93
+ return [...new Set(values.filter((entry) => Boolean(entry && entry.trim().length > 0)))];
94
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"answer-space.d.ts","sourceRoot":"","sources":["../../../../src/platform/knowledge/semantic/answer-space.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACrD;AAED,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,SAAS,oBAAoB,EAAE,EACzC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,aAAa,EAAE,SAAS,mBAAmB,EAAE,GAC5C,MAAM,CAWR"}
1
+ {"version":3,"file":"answer-space.d.ts","sourceRoot":"","sources":["../../../../src/platform/knowledge/semantic/answer-space.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;CACrD;AAED,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,SAAS,oBAAoB,EAAE,EACzC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,aAAa,EAAE,SAAS,mBAAmB,EAAE,GAC5C,MAAM,CAMR"}
@@ -1,15 +1,26 @@
1
- import { getKnowledgeSpaceId, isHomeAssistantKnowledgeSpace, normalizeKnowledgeSpaceId } from '../spaces.js';
1
+ import { DEFAULT_KNOWLEDGE_SPACE_ID, getExplicitKnowledgeSpaceId, normalizeKnowledgeSpaceId, } from '../spaces.js';
2
2
  export function concreteAnswerGapSpaceId(requestedSpaceId, evidence, sources, linkedObjects) {
3
+ const explicitRecordSpace = concreteRecordSpaceId(evidence, sources, linkedObjects);
4
+ if (explicitRecordSpace && explicitRecordSpace !== DEFAULT_KNOWLEDGE_SPACE_ID)
5
+ return explicitRecordSpace;
3
6
  if (normalizeKnowledgeSpaceId(requestedSpaceId) !== 'homeassistant')
4
7
  return requestedSpaceId;
8
+ if (explicitRecordSpace)
9
+ return explicitRecordSpace;
10
+ return requestedSpaceId;
11
+ }
12
+ function concreteRecordSpaceId(evidence, sources, linkedObjects) {
5
13
  for (const record of [
6
14
  ...linkedObjects,
7
15
  ...sources,
8
16
  ...evidence.flatMap((item) => [item.node, item.source]),
9
17
  ]) {
10
- const spaceId = normalizeKnowledgeSpaceId(getKnowledgeSpaceId(record));
11
- if (isHomeAssistantKnowledgeSpace(spaceId))
18
+ const explicitSpaceId = record ? getExplicitKnowledgeSpaceId(record) : null;
19
+ if (!explicitSpaceId)
20
+ continue;
21
+ const spaceId = normalizeKnowledgeSpaceId(explicitSpaceId);
22
+ if (spaceId !== DEFAULT_KNOWLEDGE_SPACE_ID)
12
23
  return spaceId;
13
24
  }
14
- return requestedSpaceId;
25
+ return null;
15
26
  }
@@ -108,6 +108,9 @@ export declare class KnowledgeService {
108
108
  getItems(ids: readonly string[]): KnowledgeItemView[];
109
109
  private edgeInKnowledgeSpaceScope;
110
110
  private recordReferenceInKnowledgeSpaceScope;
111
+ private recordMatchesKnowledgeSpaceScope;
112
+ private nodeMatchesKnowledgeSpaceScope;
113
+ private issueMatchesKnowledgeSpaceScope;
111
114
  recordUsage(input: {
112
115
  readonly targetKind: KnowledgeUsageRecord['targetKind'];
113
116
  readonly targetId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAA2C,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACzG,OAAO,KAAK,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,8BAA8B,EAC9B,qCAAqC,EACrC,kCAAkC,EAClC,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAwBpB,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,aAAa,CAAC;AA0BrB,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,wBAAwB,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;KACvD,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACjE;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,UAAU,CAAyB;gBAGxB,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,wCAA4C,EAC7D,OAAO,EAAE,sBAAsB;IAiBlD,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,uBAAuB;IAQ/B,gBAAgB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAIhE,SAAS,CAAC,KAAK,GAAE,wBAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAuBtF,gBAAgB,CACd,KAAK,SAAM,EACX,KAAK,GAAE;QACL,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;QACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;KAC/D,GACL,SAAS,oBAAoB,EAAE;IAIlC,2BAA2B,CACzB,KAAK,SAAM,EACX,KAAK,GAAE;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,qCAAqC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;QAC9E,QAAQ,CAAC,WAAW,CAAC,EAAE,qCAAqC,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;QACxF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACpC,GACL,SAAS,qCAAqC,EAAE;IAInD,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,qCAAqC,GAAG,IAAI;IAInF,wBAAwB,CAAC,KAAK,SAAM,GAAG,SAAS,kCAAkC,EAAE;IAIpF,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,kCAAkC,GAAG,IAAI;IAI7E,aAAa,CAAC,KAAK,SAAM,GAAG,SAAS,uBAAuB,EAAE;IAI9D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI;IAIvD,WAAW,CAAC,KAAK,SAAM,GAAG,qBAAqB,EAAE;IAIjD,YAAY,CAAC,KAAK,GAAE;QAClB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,qBAAqB,EAAE,CAAA;KAAE;IAgC1D,SAAS,CAAC,KAAK,SAAM,GAAG,mBAAmB,EAAE;IAI7C,UAAU,CAAC,KAAK,GAAE;QAChB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;KAAE;IA0BxD,UAAU,CAAC,KAAK,SAAM,GAAG,oBAAoB,EAAE;IAI/C,WAAW,CAAC,KAAK,GAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,oBAAoB,EAAE,CAAA;KAAE;IAsBnD,WAAW,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIxF,eAAe,CAAC,KAAK,SAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,wBAA6B,GAAG,yBAAyB,EAAE;IAQlH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IAI3D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IAIvE,cAAc,IAAI,SAAS,kBAAkB,EAAE;IAI/C,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAI7C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAIjF,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAI3F,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAQ7C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,wBAA6B,GAAG,iBAAiB,GAAG,IAAI;IAgBzF,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,EAAE;IAIrD,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,oCAAoC;IAa5C,OAAO,CAAC,gCAAgC;IASxC,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,+BAA+B;IAOjC,WAAW,CAAC,KAAK,EAAE;QACvB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KACzD,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKjC,YAAY,CACV,IAAI,EAAE,QAAQ,GAAG,MAAM,EACvB,EAAE,EAAE,MAAM,EACV,KAAK,GAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAO,GAC1F;QACD,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;QAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;QACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAC;KAChD;IA2BK,SAAS,CAAC,KAAK,EAAE;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;QAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;QACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KACzD,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,qBAAqB,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC;QAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;KAAE,CAAC;IAI9I,cAAc,CAAC,KAAK,EAAE;QAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;QAC9C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;QACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KACzD,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,qBAAqB,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC;QAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;KAAE,CAAC;IAI9I,uBAAuB,CAAC,KAAK,EAAE;QACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIjC,kBAAkB,CAAC,KAAK,EAAE;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIjC,mBAAmB,CACvB,KAAK,EAAE,SAAS,qBAAqB,EAAE,EACvC,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,GAAE,mBAAgC,EAC5C,WAAW,SAAa,EACxB,iBAAiB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,0BAA0B,CAAC;IAIhC,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,0BAA0B,CAAC;IAIhC,oBAAoB,CAAC,KAAK,EAAE;QAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAClD,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIjC,kBAAkB,CACtB,KAAK,GAAE,6BAAkC,GACxC,OAAO,CAAC,0BAA0B,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,uBAAuB,EAAE,CAAA;KAAE,CAAC;IAI5F,qBAAqB,CAAC,KAAK,SAAK,EAAE,KAAK,GAAE,wBAA6B,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAI7G,gBAAgB,CAAC,KAAK,EAAE;QAC5B,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjD,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAShC,qBAAqB,CAAC,KAAK,EAAE;QACjC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjD,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAUtC,GAAG,CAAC,KAAK,GAAE,yBAA8B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWvE,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;KAAE,CAAC;IAY9F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,qBAAqB,EAAE;IAI1D,YAAY,CAAC,KAAK,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjD,GAAG,qBAAqB,EAAE;IAIrB,GAAG,CAAC,KAAK,EAAE;QACf,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;QAChE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACjD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACrD;IAIK,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,SAAS,MAAM,EAAO,EAClC,KAAK,SAAuB,EAC5B,OAAO,GAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,wBAA6B,GAClH,OAAO,CAAC,eAAe,CAAC;IAI3B,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,SAAS,MAAM,EAAO,EAClC,KAAK,SAAuB,EAC5B,OAAO,GAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,wBAA6B,GAClH,eAAe,GAAG,IAAI;IAIzB,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,SAAS,MAAM,EAAO,EAClC,KAAK,SAAuB,EAC5B,OAAO,GAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,wBAA6B,GAClH,MAAM,GAAG,IAAI;IAIV,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,SAAS,MAAM,EAAO,EAClC,KAAK,SAAuB,EAC5B,OAAO,GAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;QAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,wBAA6B,GAClH,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIzB,QAAQ,IAAI,SAAS,kBAAkB,EAAE;IAIzC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAIvC,YAAY,CAAC,KAAK,EAAE;QACxB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;QAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KACzD,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI9B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAIzF,4BAA4B,CAChC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,EAC3C,KAAK,GAAE;QACL,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACjC,GACL,OAAO,CAAC,qCAAqC,CAAC;IAIjD,WAAW,CAAC,KAAK,SAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,qBAAqB,EAAE;IAI1E,mBAAmB,CAAC,KAAK,SAAM,EAAE,KAAK,GAAE;QACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,4BAA4B,GAAG,MAAM,GAAG,SAAS,CAAC;QACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GAAG,SAAS,6BAA6B,EAAE;IAIjD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B,GAAG,IAAI;IAI7D,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC;IA0B/E,aAAa,CAAC,KAAK,GAAE;QACzB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;QAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;QACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjC;IAYA,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,GAAE;QACL,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;QAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;QACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,GACL,OAAO,CAAC,qBAAqB,CAAC;YAInB,YAAY;IAoB1B,OAAO,CAAC,UAAU;YAqBJ,kBAAkB;IAIhC,OAAO,CAAC,OAAO;IAIT,IAAI,IAAI,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC;IAItD,OAAO,CAAC,WAAW;CAWpB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,EACxD,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,MAAM,GAAG,IAAI,CAEf"}
@@ -21,6 +21,7 @@ import { emitKnowledgeExtractionCompleted, emitKnowledgeExtractionFailed, emitKn
21
21
  import { extractKnowledgeArtifact } from './extractors.js';
22
22
  import { DEFAULT_PACKET_BUDGET, DEFAULT_PACKET_LIMIT, tokenize, } from './shared.js';
23
23
  import { isGeneratedKnowledgeSource } from './generated-projections.js';
24
+ import { knowledgeIssueMatchesScope, knowledgeNodeMatchesScope, } from './scope-records.js';
24
25
  import { isInKnowledgeSpaceScope, resolveKnowledgeSpaceScope, } from './spaces.js';
25
26
  export class KnowledgeService {
26
27
  store;
@@ -132,7 +133,7 @@ export class KnowledgeService {
132
133
  return this.store.getSchedule(id);
133
134
  }
134
135
  listSources(limit = 100) {
135
- return this.store.listSources(limit);
136
+ return this.querySources({ limit }).items;
136
137
  }
137
138
  querySources(input = {}) {
138
139
  const limit = Math.max(1, input.limit ?? 100);
@@ -172,14 +173,17 @@ export class KnowledgeService {
172
173
  };
173
174
  }
174
175
  listNodes(limit = 100) {
175
- return this.store.listNodes(limit);
176
+ return this.queryNodes({ limit }).items;
176
177
  }
177
178
  queryNodes(input = {}) {
178
179
  const limit = Math.max(1, input.limit ?? 100);
179
180
  const offset = Math.max(0, input.offset ?? 0);
180
181
  const queryTokens = tokenize(input.query ?? '');
181
182
  const items = this.store.listNodes(Number.MAX_SAFE_INTEGER).filter((node) => {
182
- if (!isInKnowledgeSpaceScope(node, input))
183
+ if (!knowledgeNodeMatchesScope(node, input, {
184
+ getSource: (id) => this.store.getSource(id),
185
+ getNode: (id) => this.store.getNode(id),
186
+ }))
183
187
  return false;
184
188
  if (input.kind && node.kind !== input.kind)
185
189
  return false;
@@ -201,14 +205,17 @@ export class KnowledgeService {
201
205
  };
202
206
  }
203
207
  listIssues(limit = 100) {
204
- return this.store.listIssues(limit);
208
+ return this.queryIssues({ limit }).items;
205
209
  }
206
210
  queryIssues(input = {}) {
207
211
  const limit = Math.max(1, input.limit ?? 100);
208
212
  const offset = Math.max(0, input.offset ?? 0);
209
213
  const queryTokens = tokenize(input.query ?? '');
210
214
  const items = this.store.listIssues(Number.MAX_SAFE_INTEGER).filter((issue) => {
211
- if (!isInKnowledgeSpaceScope(issue, input))
215
+ if (!knowledgeIssueMatchesScope(issue, input, {
216
+ getSource: (id) => this.store.getSource(id),
217
+ getNode: (id) => this.store.getNode(id),
218
+ }))
212
219
  return false;
213
220
  if (input.severity && issue.severity !== input.severity)
214
221
  return false;
@@ -267,12 +274,12 @@ export class KnowledgeService {
267
274
  getItemScoped(id, scope = {}) {
268
275
  const item = this.store.getItem(id);
269
276
  const primary = item?.source ?? item?.node ?? item?.issue;
270
- if (!item || !primary || !isInKnowledgeSpaceScope(primary, scope))
277
+ if (!item || !primary || !this.recordMatchesKnowledgeSpaceScope(primary, scope))
271
278
  return null;
272
279
  const scoped = {
273
280
  ...item,
274
281
  linkedSources: item.linkedSources.filter((source) => isInKnowledgeSpaceScope(source, scope)),
275
- linkedNodes: item.linkedNodes.filter((node) => isInKnowledgeSpaceScope(node, scope)),
282
+ linkedNodes: item.linkedNodes.filter((node) => this.nodeMatchesKnowledgeSpaceScope(node, scope)),
276
283
  relatedEdges: item.relatedEdges.filter((edge) => this.edgeInKnowledgeSpaceScope(edge, scope)),
277
284
  };
278
285
  if (scoped.source)
@@ -293,12 +300,35 @@ export class KnowledgeService {
293
300
  recordReferenceInKnowledgeSpaceScope(kind, id, scope) {
294
301
  if (kind === 'source')
295
302
  return isInKnowledgeSpaceScope(this.store.getSource(id), scope);
296
- if (kind === 'node')
297
- return isInKnowledgeSpaceScope(this.store.getNode(id), scope);
298
- if (kind === 'issue')
299
- return isInKnowledgeSpaceScope(this.store.getIssue(id), scope);
303
+ if (kind === 'node') {
304
+ const node = this.store.getNode(id);
305
+ return Boolean(node && this.nodeMatchesKnowledgeSpaceScope(node, scope));
306
+ }
307
+ if (kind === 'issue') {
308
+ const issue = this.store.getIssue(id);
309
+ return Boolean(issue && this.issueMatchesKnowledgeSpaceScope(issue, scope));
310
+ }
300
311
  return true;
301
312
  }
313
+ recordMatchesKnowledgeSpaceScope(record, scope) {
314
+ if ('sourceType' in record)
315
+ return isInKnowledgeSpaceScope(record, scope);
316
+ if ('kind' in record)
317
+ return this.nodeMatchesKnowledgeSpaceScope(record, scope);
318
+ return this.issueMatchesKnowledgeSpaceScope(record, scope);
319
+ }
320
+ nodeMatchesKnowledgeSpaceScope(node, scope) {
321
+ return knowledgeNodeMatchesScope(node, scope, {
322
+ getSource: (id) => this.store.getSource(id),
323
+ getNode: (id) => this.store.getNode(id),
324
+ });
325
+ }
326
+ issueMatchesKnowledgeSpaceScope(issue, scope) {
327
+ return knowledgeIssueMatchesScope(issue, scope, {
328
+ getSource: (id) => this.store.getSource(id),
329
+ getNode: (id) => this.store.getNode(id),
330
+ });
331
+ }
302
332
  async recordUsage(input) {
303
333
  await this.store.init();
304
334
  return this.store.upsertUsageRecord(input);
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/platform/knowledge/store.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { deleteKnowledgeSpaceRows, planKnowledgeSpaceDeleteRows, } from './store
9
9
  import { deleteKnowledgeSchedule, upsertKnowledgeSchedule, } from './store-schedules.js';
10
10
  import { edgesForKnowledgeStore, getKnowledgeConsolidationCandidate, getKnowledgeConsolidationCandidateBySubject, getKnowledgeConsolidationReport, getKnowledgeExtraction, getKnowledgeExtractionBySourceId, getKnowledgeIssue, getKnowledgeItem, getKnowledgeJobRun, getKnowledgeRefinementTask, getKnowledgeNode, getKnowledgeNodeByKindAndSlug, getKnowledgeSchedule, getKnowledgeSource, getKnowledgeSourceByCanonicalUri, getKnowledgeStoreStatus, getKnowledgeUsageRecord, listKnowledgeConsolidationCandidates, listKnowledgeConsolidationReports, listKnowledgeEdges, listKnowledgeExtractions, listKnowledgeExtractionsForSources, listKnowledgeExtractionsInSpace, listKnowledgeIssues, listKnowledgeIssuesInSpace, listKnowledgeJobRuns, listKnowledgeRefinementTasks, listKnowledgeNodes, listKnowledgeNodesInSpace, listKnowledgeSchedules, listKnowledgeSources, listKnowledgeSourcesInSpace, listKnowledgeUsageRecords, } from './store-read.js';
11
11
  import { loadKnowledgeStoreSnapshot } from './store-load.js';
12
- import { ensureKnowledgeSpaceMetadata, getExplicitKnowledgeSpaceId, getKnowledgeSpaceId, } from './spaces.js';
12
+ import { DEFAULT_KNOWLEDGE_SPACE_ID, ensureKnowledgeSpaceMetadata, getExplicitKnowledgeSpaceId, getKnowledgeSpaceId, } from './spaces.js';
13
13
  export class KnowledgeStore {
14
14
  sqlite;
15
15
  dbPath;
@@ -326,14 +326,17 @@ export class KnowledgeStore {
326
326
  ...(existing?.metadata ?? {}),
327
327
  ...(input.metadata ?? {}),
328
328
  };
329
- const linkedSource = _sourceId !== null
330
- ? this.sources.get(_sourceId)
331
- : existing?.sourceId
332
- ? this.sources.get(existing.sourceId)
333
- : null;
334
- const nodeMetadata = getExplicitKnowledgeSpaceId({ metadata: mergedNodeMetadata }) || !linkedSource
335
- ? mergedNodeMetadata
336
- : ensureKnowledgeSpaceMetadata(mergedNodeMetadata, getKnowledgeSpaceId(linkedSource));
329
+ const explicitNodeSpaceId = getExplicitKnowledgeSpaceId({ metadata: mergedNodeMetadata });
330
+ const relatedNodeSpaceId = inferRecordReferenceSpaceId({
331
+ sourceId: _sourceId ?? existing?.sourceId,
332
+ metadata: mergedNodeMetadata,
333
+ sources: this.sources,
334
+ nodes: this.nodes,
335
+ });
336
+ const nodeSpaceId = preferRelatedNonDefaultSpace(explicitNodeSpaceId, relatedNodeSpaceId);
337
+ const nodeMetadata = nodeSpaceId
338
+ ? ensureKnowledgeSpaceMetadata(mergedNodeMetadata, nodeSpaceId)
339
+ : mergedNodeMetadata;
337
340
  const record = {
338
341
  id: existing?.id ?? input.id ?? `node-${randomUUID().slice(0, 8)}`,
339
342
  kind: input.kind,
@@ -541,9 +544,13 @@ export class KnowledgeStore {
541
544
  : existing?.nodeId
542
545
  ? this.nodes.get(existing.nodeId)
543
546
  : null;
544
- const issueSpaceId = getExplicitKnowledgeSpaceId({ metadata: mergedIssueMetadata })
545
- ?? getExplicitKnowledgeSpaceId(issueSource)
546
- ?? getExplicitKnowledgeSpaceId(issueNode);
547
+ const issueSpaceId = preferRelatedNonDefaultSpace(getExplicitKnowledgeSpaceId({ metadata: mergedIssueMetadata }), inferRecordReferenceSpaceId({
548
+ sourceId: _sourceId ?? existing?.sourceId,
549
+ nodeId: _nodeId ?? existing?.nodeId,
550
+ metadata: mergedIssueMetadata,
551
+ sources: this.sources,
552
+ nodes: this.nodes,
553
+ }) ?? getExplicitKnowledgeSpaceId(issueSource) ?? getExplicitKnowledgeSpaceId(issueNode));
547
554
  const issueMetadata = issueSpaceId
548
555
  ? ensureKnowledgeSpaceMetadata(mergedIssueMetadata, issueSpaceId)
549
556
  : mergedIssueMetadata;
@@ -921,3 +928,45 @@ export class KnowledgeStore {
921
928
  this.ready = true;
922
929
  }
923
930
  }
931
+ function inferRecordReferenceSpaceId(input) {
932
+ const spaceIds = new Set();
933
+ for (const sourceId of uniqueReferenceIds([
934
+ input.sourceId ?? undefined,
935
+ readMetadataString(input.metadata.sourceId),
936
+ ...readMetadataStringArray(input.metadata.sourceIds),
937
+ ])) {
938
+ const spaceId = getExplicitKnowledgeSpaceId(input.sources.get(sourceId));
939
+ if (spaceId)
940
+ spaceIds.add(spaceId);
941
+ }
942
+ for (const nodeId of uniqueReferenceIds([
943
+ input.nodeId ?? undefined,
944
+ readMetadataString(input.metadata.nodeId),
945
+ ...readMetadataStringArray(input.metadata.linkedObjectIds),
946
+ ...readMetadataStringArray(input.metadata.subjectIds),
947
+ ])) {
948
+ const spaceId = getExplicitKnowledgeSpaceId(input.nodes.get(nodeId));
949
+ if (spaceId)
950
+ spaceIds.add(spaceId);
951
+ }
952
+ return [...spaceIds].find((spaceId) => spaceId !== DEFAULT_KNOWLEDGE_SPACE_ID) ?? [...spaceIds][0] ?? null;
953
+ }
954
+ function preferRelatedNonDefaultSpace(explicitSpaceId, relatedSpaceId) {
955
+ if (relatedSpaceId && relatedSpaceId !== DEFAULT_KNOWLEDGE_SPACE_ID && explicitSpaceId === DEFAULT_KNOWLEDGE_SPACE_ID) {
956
+ return relatedSpaceId;
957
+ }
958
+ return explicitSpaceId ?? relatedSpaceId;
959
+ }
960
+ function readMetadataString(value) {
961
+ return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
962
+ }
963
+ function readMetadataStringArray(value) {
964
+ if (typeof value === 'string' && value.trim().length > 0)
965
+ return [value.trim()];
966
+ if (!Array.isArray(value))
967
+ return [];
968
+ return value.flatMap((entry) => readMetadataStringArray(entry));
969
+ }
970
+ function uniqueReferenceIds(values) {
971
+ return [...new Set(values.filter((entry) => Boolean(entry && entry.trim().length > 0)))];
972
+ }
@@ -1,6 +1,6 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- let version = '0.33.12';
3
+ let version = '0.33.13';
4
4
  try {
5
5
  const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
6
6
  version = pkg.version ?? version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pellux/goodvibes-sdk",
3
- "version": "0.33.12",
3
+ "version": "0.33.13",
4
4
  "description": "TypeScript SDK for building GoodVibes operator, peer, web, mobile, and daemon-connected apps with typed contracts, auth, realtime events, and transport layers.",
5
5
  "keywords": [
6
6
  "goodvibes",
@@ -449,14 +449,14 @@
449
449
  "sideEffects": false,
450
450
  "type": "module",
451
451
  "dependencies": {
452
- "@pellux/goodvibes-contracts": "0.33.12",
453
- "@pellux/goodvibes-daemon-sdk": "0.33.12",
454
- "@pellux/goodvibes-errors": "0.33.12",
455
- "@pellux/goodvibes-operator-sdk": "0.33.12",
456
- "@pellux/goodvibes-peer-sdk": "0.33.12",
457
- "@pellux/goodvibes-transport-core": "0.33.12",
458
- "@pellux/goodvibes-transport-http": "0.33.12",
459
- "@pellux/goodvibes-transport-realtime": "0.33.12"
452
+ "@pellux/goodvibes-contracts": "0.33.13",
453
+ "@pellux/goodvibes-daemon-sdk": "0.33.13",
454
+ "@pellux/goodvibes-errors": "0.33.13",
455
+ "@pellux/goodvibes-operator-sdk": "0.33.13",
456
+ "@pellux/goodvibes-peer-sdk": "0.33.13",
457
+ "@pellux/goodvibes-transport-core": "0.33.13",
458
+ "@pellux/goodvibes-transport-http": "0.33.13",
459
+ "@pellux/goodvibes-transport-realtime": "0.33.13"
460
460
  },
461
461
  "optionalDependencies": {
462
462
  "@agentclientprotocol/sdk": "^0.21.0",