@pellux/goodvibes-sdk 0.26.10 → 0.26.11

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 (76) hide show
  1. package/dist/_internal/contracts/artifacts/operator-contract.json +1456 -216
  2. package/dist/_internal/contracts/generated/foundation-metadata.d.ts +2 -2
  3. package/dist/_internal/contracts/generated/foundation-metadata.js +2 -2
  4. package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
  5. package/dist/_internal/contracts/generated/operator-contract.js +1456 -216
  6. package/dist/_internal/contracts/generated/operator-method-ids.d.ts +1 -1
  7. package/dist/_internal/contracts/generated/operator-method-ids.d.ts.map +1 -1
  8. package/dist/_internal/contracts/generated/operator-method-ids.js +2 -0
  9. package/dist/_internal/daemon/context.d.ts +1 -0
  10. package/dist/_internal/daemon/context.d.ts.map +1 -1
  11. package/dist/_internal/daemon/knowledge-route-types.d.ts +2 -1
  12. package/dist/_internal/daemon/knowledge-route-types.d.ts.map +1 -1
  13. package/dist/_internal/daemon/knowledge-routes.d.ts +1 -1
  14. package/dist/_internal/daemon/knowledge-routes.d.ts.map +1 -1
  15. package/dist/_internal/daemon/knowledge-routes.js +19 -3
  16. package/dist/_internal/daemon/operator.d.ts +1 -1
  17. package/dist/_internal/daemon/operator.d.ts.map +1 -1
  18. package/dist/_internal/daemon/operator.js +2 -0
  19. package/dist/_internal/platform/control-plane/method-catalog-homegraph.d.ts.map +1 -1
  20. package/dist/_internal/platform/control-plane/method-catalog-homegraph.js +12 -2
  21. package/dist/_internal/platform/control-plane/method-catalog-knowledge.d.ts.map +1 -1
  22. package/dist/_internal/platform/control-plane/method-catalog-knowledge.js +16 -1
  23. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.d.ts +2 -0
  24. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.d.ts.map +1 -1
  25. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.js +47 -2
  26. package/dist/_internal/platform/control-plane/routes/operator.d.ts +1 -1
  27. package/dist/_internal/platform/control-plane/routes/operator.d.ts.map +1 -1
  28. package/dist/_internal/platform/control-plane/routes/operator.js +2 -0
  29. package/dist/_internal/platform/daemon/http/home-graph-routes.d.ts.map +1 -1
  30. package/dist/_internal/platform/daemon/http/home-graph-routes.js +21 -0
  31. package/dist/_internal/platform/daemon/http/router-route-contexts.d.ts.map +1 -1
  32. package/dist/_internal/platform/daemon/http/router-route-contexts.js +1 -0
  33. package/dist/_internal/platform/knowledge/generated-projections.d.ts +38 -0
  34. package/dist/_internal/platform/knowledge/generated-projections.d.ts.map +1 -0
  35. package/dist/_internal/platform/knowledge/generated-projections.js +106 -0
  36. package/dist/_internal/platform/knowledge/home-graph/generated-pages.d.ts +29 -0
  37. package/dist/_internal/platform/knowledge/home-graph/generated-pages.d.ts.map +1 -0
  38. package/dist/_internal/platform/knowledge/home-graph/generated-pages.js +296 -0
  39. package/dist/_internal/platform/knowledge/home-graph/helpers.d.ts +2 -1
  40. package/dist/_internal/platform/knowledge/home-graph/helpers.d.ts.map +1 -1
  41. package/dist/_internal/platform/knowledge/home-graph/helpers.js +4 -0
  42. package/dist/_internal/platform/knowledge/home-graph/index.d.ts +1 -1
  43. package/dist/_internal/platform/knowledge/home-graph/index.d.ts.map +1 -1
  44. package/dist/_internal/platform/knowledge/home-graph/rendering.d.ts +5 -0
  45. package/dist/_internal/platform/knowledge/home-graph/rendering.d.ts.map +1 -1
  46. package/dist/_internal/platform/knowledge/home-graph/rendering.js +32 -11
  47. package/dist/_internal/platform/knowledge/home-graph/search.d.ts.map +1 -1
  48. package/dist/_internal/platform/knowledge/home-graph/search.js +2 -2
  49. package/dist/_internal/platform/knowledge/home-graph/service.d.ts +2 -2
  50. package/dist/_internal/platform/knowledge/home-graph/service.d.ts.map +1 -1
  51. package/dist/_internal/platform/knowledge/home-graph/service.js +37 -86
  52. package/dist/_internal/platform/knowledge/home-graph/types.d.ts +33 -2
  53. package/dist/_internal/platform/knowledge/home-graph/types.d.ts.map +1 -1
  54. package/dist/_internal/platform/knowledge/home-graph/types.js +2 -0
  55. package/dist/_internal/platform/knowledge/index.d.ts +6 -2
  56. package/dist/_internal/platform/knowledge/index.d.ts.map +1 -1
  57. package/dist/_internal/platform/knowledge/index.js +2 -0
  58. package/dist/_internal/platform/knowledge/knowledge-api.d.ts +2 -0
  59. package/dist/_internal/platform/knowledge/knowledge-api.d.ts.map +1 -1
  60. package/dist/_internal/platform/knowledge/knowledge-api.js +1 -0
  61. package/dist/_internal/platform/knowledge/map.d.ts +18 -0
  62. package/dist/_internal/platform/knowledge/map.d.ts.map +1 -0
  63. package/dist/_internal/platform/knowledge/map.js +235 -0
  64. package/dist/_internal/platform/knowledge/projection-utils.d.ts +16 -0
  65. package/dist/_internal/platform/knowledge/projection-utils.d.ts.map +1 -0
  66. package/dist/_internal/platform/knowledge/projection-utils.js +48 -0
  67. package/dist/_internal/platform/knowledge/projections.d.ts +1 -0
  68. package/dist/_internal/platform/knowledge/projections.d.ts.map +1 -1
  69. package/dist/_internal/platform/knowledge/projections.js +52 -58
  70. package/dist/_internal/platform/knowledge/service.d.ts +7 -1
  71. package/dist/_internal/platform/knowledge/service.d.ts.map +1 -1
  72. package/dist/_internal/platform/knowledge/service.js +11 -0
  73. package/dist/_internal/platform/knowledge/types.d.ts +35 -0
  74. package/dist/_internal/platform/knowledge/types.d.ts.map +1 -1
  75. package/dist/_internal/platform/version.js +1 -1
  76. package/package.json +1 -1
@@ -0,0 +1,235 @@
1
+ import { isGeneratedKnowledgeSource, } from './generated-projections.js';
2
+ export function renderKnowledgeMap(state, options = {}) {
3
+ const limit = sanitizeMapLimit(options.limit);
4
+ const nodes = state.nodes
5
+ .filter((node) => node.status !== 'stale')
6
+ .sort(compareRecordTitle)
7
+ .slice(0, limit);
8
+ let remaining = Math.max(0, limit - nodes.length);
9
+ const sources = options.includeSources === false
10
+ ? []
11
+ : state.sources
12
+ .filter((source) => source.status !== 'stale')
13
+ .filter((source) => options.includeGenerated !== false || !isGeneratedKnowledgeSource(source))
14
+ .sort(compareRecordTitle)
15
+ .slice(0, remaining);
16
+ remaining = Math.max(0, remaining - sources.length);
17
+ const issues = options.includeIssues
18
+ ? (state.issues ?? [])
19
+ .filter((issue) => issue.status === 'open')
20
+ .sort(compareIssue)
21
+ .slice(0, remaining)
22
+ : [];
23
+ const mapNodes = layoutMapNodes([
24
+ ...nodes.map((node) => ({
25
+ id: node.id,
26
+ recordKind: 'node',
27
+ kind: node.kind,
28
+ title: node.title,
29
+ ...(node.summary ? { summary: node.summary } : {}),
30
+ x: 0,
31
+ y: 0,
32
+ radius: radiusForNodeKind(node.kind),
33
+ metadata: node.metadata,
34
+ })),
35
+ ...sources.map((source) => ({
36
+ id: source.id,
37
+ recordKind: 'source',
38
+ kind: sourceKind(source),
39
+ title: source.title ?? source.sourceUri ?? source.id,
40
+ ...(source.summary ? { summary: source.summary } : {}),
41
+ x: 0,
42
+ y: 0,
43
+ radius: 11,
44
+ metadata: source.metadata,
45
+ })),
46
+ ...issues.map((issue) => ({
47
+ id: issue.id,
48
+ recordKind: 'issue',
49
+ kind: issue.code,
50
+ title: issue.message,
51
+ x: 0,
52
+ y: 0,
53
+ radius: 10,
54
+ metadata: issue.metadata,
55
+ })),
56
+ ]);
57
+ const nodeIds = new Set(mapNodes.map((node) => node.id));
58
+ const visibleEdges = state.edges
59
+ .filter((edge) => nodeIds.has(edge.fromId) && nodeIds.has(edge.toId))
60
+ .map((edge) => ({
61
+ id: edge.id,
62
+ fromId: edge.fromId,
63
+ toId: edge.toId,
64
+ relation: edge.relation,
65
+ weight: edge.weight,
66
+ metadata: edge.metadata,
67
+ }));
68
+ const width = 1280;
69
+ const height = 920;
70
+ const title = options.title ?? state.title ?? 'Knowledge Map';
71
+ return {
72
+ ok: true,
73
+ ...(options.spaceId ? { spaceId: options.spaceId } : {}),
74
+ title,
75
+ generatedAt: Date.now(),
76
+ width,
77
+ height,
78
+ nodeCount: mapNodes.length,
79
+ edgeCount: visibleEdges.length,
80
+ nodes: mapNodes,
81
+ edges: visibleEdges,
82
+ svg: renderMapSvg({ width, height, title, nodes: mapNodes, edges: visibleEdges }),
83
+ };
84
+ }
85
+ function layoutMapNodes(nodes) {
86
+ const width = 1280;
87
+ const height = 920;
88
+ const centerX = width / 2;
89
+ const centerY = height / 2;
90
+ const groups = new Map();
91
+ for (const node of nodes) {
92
+ const ring = ringForKind(node.kind, node.recordKind);
93
+ const group = groups.get(ring);
94
+ if (group) {
95
+ group.push(node);
96
+ }
97
+ else {
98
+ groups.set(ring, [node]);
99
+ }
100
+ }
101
+ const laidOut = [];
102
+ for (const [ring, group] of [...groups.entries()].sort((left, right) => left[0] - right[0])) {
103
+ const radius = ring === 0 ? 0 : 110 + ring * 90;
104
+ const offset = ring * 0.41;
105
+ group.forEach((node, index) => {
106
+ const angle = group.length === 1
107
+ ? -Math.PI / 2 + offset
108
+ : -Math.PI / 2 + offset + (Math.PI * 2 * index) / group.length;
109
+ laidOut.push({
110
+ ...node,
111
+ x: Math.round(centerX + Math.cos(angle) * radius),
112
+ y: Math.round(centerY + Math.sin(angle) * radius),
113
+ });
114
+ });
115
+ }
116
+ return laidOut;
117
+ }
118
+ function renderMapSvg(input) {
119
+ const byId = new Map(input.nodes.map((node) => [node.id, node]));
120
+ const edgeLines = input.edges.map((edge) => {
121
+ const from = byId.get(edge.fromId);
122
+ const to = byId.get(edge.toId);
123
+ if (!from || !to)
124
+ return '';
125
+ return `<line x1="${from.x}" y1="${from.y}" x2="${to.x}" y2="${to.y}" stroke="rgba(57,74,97,0.35)" stroke-width="1.3"><title>${escapeXml(edge.relation)}</title></line>`;
126
+ }).join('\n');
127
+ const nodeShapes = input.nodes.map((node) => {
128
+ const color = colorForKind(node.kind, node.recordKind);
129
+ const label = truncateLabel(node.title, node.recordKind === 'source' ? 28 : 24);
130
+ const shape = node.recordKind === 'source'
131
+ ? `<rect x="${node.x - 58}" y="${node.y - 17}" width="116" height="34" rx="11" fill="${color.fill}" stroke="${color.stroke}" stroke-width="1.4" />`
132
+ : `<circle cx="${node.x}" cy="${node.y}" r="${node.radius}" fill="${color.fill}" stroke="${color.stroke}" stroke-width="1.6" />`;
133
+ const textY = node.recordKind === 'source' ? node.y + 4 : node.y + node.radius + 18;
134
+ return `<g class="node">
135
+ <title>${escapeXml(node.title)} (${escapeXml(node.kind)})</title>
136
+ ${shape}
137
+ <text x="${node.x}" y="${textY}" text-anchor="middle">${escapeXml(label)}</text>
138
+ </g>`;
139
+ }).join('\n');
140
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="${input.width}" height="${input.height}" viewBox="0 0 ${input.width} ${input.height}" role="img" aria-label="${escapeXml(input.title)}">
141
+ <defs>
142
+ <radialGradient id="knowledgeMapBg" cx="50%" cy="46%" r="70%">
143
+ <stop offset="0%" stop-color="#f7f4ec" />
144
+ <stop offset="60%" stop-color="#e9eef0" />
145
+ <stop offset="100%" stop-color="#dde6df" />
146
+ </radialGradient>
147
+ <filter id="softShadow" x="-20%" y="-20%" width="140%" height="140%">
148
+ <feDropShadow dx="0" dy="6" stdDeviation="8" flood-color="#27313a" flood-opacity="0.14"/>
149
+ </filter>
150
+ </defs>
151
+ <style>
152
+ text { font-family: "Avenir Next", "Trebuchet MS", sans-serif; font-size: 12px; fill: #263238; paint-order: stroke; stroke: rgba(247,244,236,0.76); stroke-width: 3px; stroke-linejoin: round; }
153
+ .node { filter: url(#softShadow); }
154
+ </style>
155
+ <rect width="100%" height="100%" fill="url(#knowledgeMapBg)" />
156
+ <g>${edgeLines}</g>
157
+ <g>${nodeShapes}</g>
158
+ </svg>`;
159
+ }
160
+ function sourceKind(source) {
161
+ if (isGeneratedKnowledgeSource(source)) {
162
+ const projectionKind = typeof source.metadata.projectionKind === 'string'
163
+ ? source.metadata.projectionKind
164
+ : 'page';
165
+ return `generated_${projectionKind.replace(/[^a-z0-9]+/gi, '_')}`;
166
+ }
167
+ return source.sourceType;
168
+ }
169
+ function ringForKind(kind, recordKind) {
170
+ if (recordKind === 'issue')
171
+ return 7;
172
+ if (recordKind === 'source')
173
+ return kind.startsWith('generated_') ? 5 : 6;
174
+ if (kind === 'ha_home')
175
+ return 0;
176
+ if (kind === 'domain' || kind === 'topic' || kind === 'ha_area' || kind === 'ha_room')
177
+ return 1;
178
+ if (kind === 'ha_device' || kind === 'ha_device_passport')
179
+ return 2;
180
+ if (kind === 'ha_entity')
181
+ return 3;
182
+ return 4;
183
+ }
184
+ function radiusForNodeKind(kind) {
185
+ if (kind === 'ha_home' || kind === 'domain')
186
+ return 30;
187
+ if (kind === 'topic' || kind === 'ha_area' || kind === 'ha_room')
188
+ return 23;
189
+ if (kind === 'ha_device')
190
+ return 18;
191
+ if (kind === 'ha_entity')
192
+ return 13;
193
+ return 12;
194
+ }
195
+ function colorForKind(kind, recordKind) {
196
+ if (recordKind === 'issue')
197
+ return { fill: '#f4c7c3', stroke: '#9f3f36' };
198
+ if (recordKind === 'source') {
199
+ if (kind.startsWith('generated_'))
200
+ return { fill: '#fff1c7', stroke: '#b98920' };
201
+ return { fill: '#dceef5', stroke: '#3f839c' };
202
+ }
203
+ if (kind === 'ha_home' || kind === 'domain')
204
+ return { fill: '#284b63', stroke: '#102a3a' };
205
+ if (kind === 'topic' || kind === 'ha_area' || kind === 'ha_room')
206
+ return { fill: '#9ec5ab', stroke: '#49765a' };
207
+ if (kind === 'ha_device')
208
+ return { fill: '#f2b880', stroke: '#a86028' };
209
+ if (kind === 'ha_entity')
210
+ return { fill: '#b8c7e0', stroke: '#5d7092' };
211
+ if (kind === 'ha_device_passport')
212
+ return { fill: '#f6df90', stroke: '#9a7725' };
213
+ return { fill: '#d7d0c2', stroke: '#70695e' };
214
+ }
215
+ function compareRecordTitle(left, right) {
216
+ return (left.title ?? left.id).localeCompare(right.title ?? right.id) || left.id.localeCompare(right.id);
217
+ }
218
+ function compareIssue(left, right) {
219
+ return left.code.localeCompare(right.code) || left.id.localeCompare(right.id);
220
+ }
221
+ function sanitizeMapLimit(value) {
222
+ if (typeof value !== 'number' || !Number.isFinite(value))
223
+ return 500;
224
+ return Math.max(1, Math.min(1000, Math.trunc(value)));
225
+ }
226
+ function truncateLabel(value, limit) {
227
+ return value.length <= limit ? value : `${value.slice(0, Math.max(1, limit - 1))}...`;
228
+ }
229
+ function escapeXml(value) {
230
+ return value
231
+ .replaceAll('&', '&amp;')
232
+ .replaceAll('<', '&lt;')
233
+ .replaceAll('>', '&gt;')
234
+ .replaceAll('"', '&quot;');
235
+ }
@@ -0,0 +1,16 @@
1
+ import type { KnowledgeProjectionTarget } from './types.js';
2
+ export declare function slugify(value: string): string;
3
+ export declare function quote(value: string | undefined): string | null;
4
+ export declare function formatDateTime(timestamp: number | undefined): string | null;
5
+ export declare function codeFenceJson(value: Record<string, unknown> | undefined): string | null;
6
+ export declare function joinSections(...sections: Array<string | null | undefined>): string;
7
+ export declare function dedupe<T>(values: readonly T[], key: (value: T) => string): T[];
8
+ export declare function buildBulletList(items: readonly string[]): string;
9
+ export declare function sortByTitle<T extends {
10
+ title?: string;
11
+ }>(values: readonly T[]): T[];
12
+ export declare function materializedTargetReference(target: KnowledgeProjectionTarget): {
13
+ readonly kind: 'source' | 'node';
14
+ readonly id: string;
15
+ } | null;
16
+ //# sourceMappingURL=projection-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-utils.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/projection-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAG9D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAG3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGvF;AAED,wBAAgB,YAAY,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CAElF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAU9E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEhE;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAEnF;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,yBAAyB,GAAG;IAC9E,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,GAAG,IAAI,CAKP"}
@@ -0,0 +1,48 @@
1
+ export function slugify(value) {
2
+ return value
3
+ .toLowerCase()
4
+ .replace(/[^a-z0-9]+/g, '-')
5
+ .replace(/^-+|-+$/g, '')
6
+ .slice(0, 80) || 'item';
7
+ }
8
+ export function quote(value) {
9
+ const trimmed = value?.trim();
10
+ return trimmed ? `> ${trimmed.replace(/\n+/g, '\n> ')}` : null;
11
+ }
12
+ export function formatDateTime(timestamp) {
13
+ if (!timestamp || !Number.isFinite(timestamp))
14
+ return null;
15
+ return new Date(timestamp).toISOString();
16
+ }
17
+ export function codeFenceJson(value) {
18
+ if (!value || Object.keys(value).length === 0)
19
+ return null;
20
+ return ['```json', JSON.stringify(value, null, 2), '```'].join('\n');
21
+ }
22
+ export function joinSections(...sections) {
23
+ return sections.filter((section) => typeof section === 'string' && section.trim().length > 0).join('\n\n');
24
+ }
25
+ export function dedupe(values, key) {
26
+ const seen = new Set();
27
+ const result = [];
28
+ for (const value of values) {
29
+ const id = key(value);
30
+ if (seen.has(id))
31
+ continue;
32
+ seen.add(id);
33
+ result.push(value);
34
+ }
35
+ return result;
36
+ }
37
+ export function buildBulletList(items) {
38
+ return items.length > 0 ? items.map((item) => `- ${item}`).join('\n') : '- none';
39
+ }
40
+ export function sortByTitle(values) {
41
+ return [...values].sort((a, b) => (a.title ?? '').localeCompare(b.title ?? ''));
42
+ }
43
+ export function materializedTargetReference(target) {
44
+ if ((target.kind === 'source' || target.kind === 'node') && target.itemId) {
45
+ return { kind: target.kind, id: target.itemId };
46
+ }
47
+ return null;
48
+ }
@@ -43,5 +43,6 @@ export declare class KnowledgeProjectionService {
43
43
  private bundleFromPages;
44
44
  private linkToTarget;
45
45
  private combineBundleMarkdown;
46
+ private isGeneratedSourceReference;
46
47
  }
47
48
  //# sourceMappingURL=projections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/projections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,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;AAiDpB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,SAAS,kBAAkB,EAAE,CAAC;CAC3D;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,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAiB7D,MAAM,CACV,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,yBAAyB,CAAC;IA4B/B,WAAW,CACf,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,GACA,OAAO,CAAC,+BAA+B,CAAC;IAmB3C,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;IAoD1B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gBAAgB;IA0ExB,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;CAmB9B"}
1
+ {"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/projections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAkB3D,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,MAAM,SAAS,kBAAkB,EAAE,CAAC;CAC3D;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,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAiB7D,MAAM,CACV,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,yBAAyB,CAAC;IA4B/B,WAAW,CACf,KAAK,EAAE;QACL,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,GACA,OAAO,CAAC,+BAA+B,CAAC;IAyC3C,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;IAoD1B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,mBAAmB;IAoC3B,OAAO,CAAC,yBAAyB;IAoCjC,OAAO,CAAC,gBAAgB;IAgFxB,OAAO,CAAC,cAAc;IA2DtB,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,0BAA0B;CAKnC"}
@@ -1,45 +1,5 @@
1
- function slugify(value) {
2
- return value
3
- .toLowerCase()
4
- .replace(/[^a-z0-9]+/g, '-')
5
- .replace(/^-+|-+$/g, '')
6
- .slice(0, 80) || 'item';
7
- }
8
- function quote(value) {
9
- const trimmed = value?.trim();
10
- return trimmed ? `> ${trimmed.replace(/\n+/g, '\n> ')}` : null;
11
- }
12
- function formatDateTime(timestamp) {
13
- if (!timestamp || !Number.isFinite(timestamp))
14
- return null;
15
- return new Date(timestamp).toISOString();
16
- }
17
- function codeFenceJson(value) {
18
- if (!value || Object.keys(value).length === 0)
19
- return null;
20
- return ['```json', JSON.stringify(value, null, 2), '```'].join('\n');
21
- }
22
- function joinSections(...sections) {
23
- return sections.filter((section) => typeof section === 'string' && section.trim().length > 0).join('\n\n');
24
- }
25
- function dedupe(values, key) {
26
- const seen = new Set();
27
- const result = [];
28
- for (const value of values) {
29
- const id = key(value);
30
- if (seen.has(id))
31
- continue;
32
- seen.add(id);
33
- result.push(value);
34
- }
35
- return result;
36
- }
37
- function buildBulletList(items) {
38
- return items.length > 0 ? items.map((item) => `- ${item}`).join('\n') : '- none';
39
- }
40
- function sortByTitle(values) {
41
- return [...values].sort((a, b) => (a.title ?? '').localeCompare(b.title ?? ''));
42
- }
1
+ import { generatedKnowledgeCanonicalUri, generatedKnowledgeSourceId, isGeneratedKnowledgeSource, materializeGeneratedKnowledgeProjection, } from './generated-projections.js';
2
+ import { buildBulletList, codeFenceJson, dedupe, formatDateTime, joinSections, materializedTargetReference, quote, slugify, sortByTitle, } from './projection-utils.js';
43
3
  export class KnowledgeProjectionService {
44
4
  store;
45
5
  artifactStore;
@@ -94,20 +54,42 @@ export class KnowledgeProjectionService {
94
54
  async materialize(input) {
95
55
  const bundle = await this.render(input);
96
56
  const content = this.combineBundleMarkdown(bundle);
97
- const artifact = await this.artifactStore.create({
98
- text: content,
99
- mimeType: 'text/markdown',
57
+ const projectionKind = `knowledge-${bundle.target.kind}`;
58
+ const sourceId = generatedKnowledgeSourceId(projectionKind, bundle.target.targetId);
59
+ const canonicalUri = generatedKnowledgeCanonicalUri(projectionKind, bundle.target.targetId);
60
+ const target = materializedTargetReference(bundle.target);
61
+ const metadata = {
62
+ projectionId: bundle.id,
63
+ targetId: bundle.target.targetId,
64
+ targetKind: bundle.target.kind,
65
+ pageCount: bundle.pageCount,
66
+ pagePaths: bundle.pages.map((page) => page.path),
67
+ itemIds: dedupe(bundle.pages.flatMap((page) => page.itemIds), (id) => id),
68
+ };
69
+ const generated = await materializeGeneratedKnowledgeProjection({
70
+ store: this.store,
71
+ artifactStore: this.artifactStore,
72
+ connectorId: 'knowledge-projection',
73
+ sourceId,
74
+ canonicalUri,
75
+ title: bundle.target.title,
76
+ summary: `Generated markdown projection for ${bundle.target.title}.`,
77
+ tags: ['knowledge', 'generated-page', 'projection', bundle.target.kind],
100
78
  filename: input.filename?.trim() || bundle.target.defaultFilename,
101
- metadata: {
102
- projectionId: bundle.id,
103
- targetId: bundle.target.targetId,
104
- targetKind: bundle.target.kind,
105
- pageCount: bundle.pageCount,
106
- pagePaths: bundle.pages.map((page) => page.path),
107
- itemIds: dedupe(bundle.pages.flatMap((page) => page.itemIds), (id) => id),
108
- },
79
+ markdown: content,
80
+ projectionKind,
81
+ metadata,
82
+ sourceMetadata: metadata,
83
+ artifactMetadata: metadata,
84
+ ...(target ? { target } : {}),
109
85
  });
110
- return { bundle, artifact };
86
+ return {
87
+ bundle,
88
+ artifact: generated.artifact,
89
+ source: generated.source,
90
+ ...(generated.linked ? { linked: generated.linked } : {}),
91
+ artifactCreated: generated.artifactCreated,
92
+ };
111
93
  }
112
94
  resolveTarget(kind, id) {
113
95
  if (kind === 'overview' || kind === 'bundle')
@@ -421,9 +403,11 @@ export class KnowledgeProjectionService {
421
403
  const view = this.store.getItem(id);
422
404
  const target = this.createSourceTarget(source);
423
405
  const relatedNodes = view?.linkedNodes ?? [];
424
- const relatedSources = view?.linkedSources.filter((entry) => entry.id !== source.id) ?? [];
406
+ const relatedSources = view?.linkedSources.filter((entry) => (entry.id !== source.id && !isGeneratedKnowledgeSource(entry))) ?? [];
425
407
  const issues = this.store.listIssues(10_000).filter((issue) => issue.sourceId === source.id);
426
- const incoming = this.store.listEdges().filter((edge) => edge.toKind === 'source' && edge.toId === source.id);
408
+ const incoming = this.store.listEdges().filter((edge) => (edge.toKind === 'source'
409
+ && edge.toId === source.id
410
+ && !this.isGeneratedSourceReference(edge.fromKind, edge.fromId)));
427
411
  const content = joinSections(`# ${target.title}`, extraction?.summary ?? source.summary, [
428
412
  '## Metadata',
429
413
  `- id: \`${source.id}\``,
@@ -492,13 +476,17 @@ export class KnowledgeProjectionService {
492
476
  ...(node.sourceId ? [`- source: \`${node.sourceId}\``] : []),
493
477
  ].join('\n'), [
494
478
  '## Linked Sources',
495
- buildBulletList((view?.linkedSources ?? []).map((source) => this.linkToTarget(this.createSourceTarget(source)))),
479
+ buildBulletList((view?.linkedSources ?? [])
480
+ .filter((source) => !isGeneratedKnowledgeSource(source))
481
+ .map((source) => this.linkToTarget(this.createSourceTarget(source)))),
496
482
  ].join('\n'), [
497
483
  '## Linked Nodes',
498
484
  buildBulletList((view?.linkedNodes ?? []).filter((entry) => entry.id !== node.id).map((entry) => this.linkToTarget(this.createNodeTarget(entry), `${entry.title} (${entry.kind})`))),
499
485
  ].join('\n'), [
500
486
  '## Backlinks',
501
- buildBulletList(incoming.map((edge) => `${edge.fromKind}:${edge.fromId} via \`${edge.relation}\``)),
487
+ buildBulletList(incoming
488
+ .filter((edge) => !this.isGeneratedSourceReference(edge.fromKind, edge.fromId))
489
+ .map((edge) => `${edge.fromKind}:${edge.fromId} via \`${edge.relation}\``)),
502
490
  ].join('\n'), [
503
491
  '## Issues',
504
492
  buildBulletList(this.store.listIssues(10_000)
@@ -671,4 +659,10 @@ export class KnowledgeProjectionService {
671
659
  ].join('\n'));
672
660
  return [index, ...pages].join('\n\n---\n\n');
673
661
  }
662
+ isGeneratedSourceReference(kind, id) {
663
+ if (kind !== 'source')
664
+ return false;
665
+ const source = this.store.getSource(id);
666
+ return source ? isGeneratedKnowledgeSource(source) : false;
667
+ }
674
668
  }
@@ -5,7 +5,7 @@ import type { RuntimeEventBus } from '../runtime/events/index.js';
5
5
  import { KnowledgeConnectorRegistry } from './connectors.js';
6
6
  import { KnowledgeStore } from './store.js';
7
7
  import type { BrowserKnowledgeIngestOptions, BrowserKnowledgeProfile } from './browser-history/index.js';
8
- import type { KnowledgeBatchIngestResult, KnowledgeBookmarkSeed, KnowledgeConnector, KnowledgeConnectorDoctorReport, KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeEdgeRecord, KnowledgeExtractionRecord, KnowledgeIssueRecord, KnowledgeJobMode, KnowledgeJobRecord, KnowledgeJobRunRecord, KnowledgeMaterializedProjection, KnowledgeItemView, KnowledgeNodeRecord, KnowledgePacket, KnowledgePacketDetail, KnowledgeProjectionBundle, KnowledgeProjectionTarget, KnowledgeProjectionTargetKind, KnowledgeScheduleRecord, KnowledgeSearchResult, KnowledgeSourceRecord, KnowledgeSourceType, KnowledgeStatus, KnowledgeUsageRecord } from './types.js';
8
+ import type { KnowledgeBatchIngestResult, KnowledgeBookmarkSeed, KnowledgeConnector, KnowledgeConnectorDoctorReport, KnowledgeConsolidationCandidateRecord, KnowledgeConsolidationReportRecord, KnowledgeEdgeRecord, KnowledgeExtractionRecord, KnowledgeIssueRecord, KnowledgeJobMode, KnowledgeJobRecord, KnowledgeJobRunRecord, KnowledgeMaterializedProjection, KnowledgeItemView, KnowledgeMapResult, KnowledgeNodeRecord, KnowledgePacket, KnowledgePacketDetail, KnowledgeProjectionBundle, KnowledgeProjectionTarget, KnowledgeProjectionTargetKind, KnowledgeScheduleRecord, KnowledgeSearchResult, KnowledgeSourceRecord, KnowledgeSourceType, KnowledgeStatus, KnowledgeUsageRecord } from './types.js';
9
9
  import { type KnowledgeIssueReviewInput, type KnowledgeIssueReviewResult } from './review.js';
10
10
  export interface KnowledgeServiceConfig {
11
11
  readonly configManager?: {
@@ -180,6 +180,12 @@ export declare class KnowledgeService {
180
180
  readonly limit?: number;
181
181
  readonly filename?: string;
182
182
  }): Promise<KnowledgeMaterializedProjection>;
183
+ map(input?: {
184
+ readonly limit?: number;
185
+ readonly includeSources?: boolean;
186
+ readonly includeIssues?: boolean;
187
+ readonly includeGenerated?: boolean;
188
+ }): Promise<KnowledgeMapResult>;
183
189
  reindex(): Promise<{
184
190
  status: KnowledgeStatus;
185
191
  issues: readonly KnowledgeIssueRecord[];
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,4BAA4B,EAClC,MAAM,4BAA4B,CAAC;AACpC,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;AAGtG,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,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;AA8BrB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;KACzC,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,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAC/D,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;IAclD,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,uBAAuB;IAQ/B,gBAAgB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAIhE,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAQlD,gBAAgB,CACd,KAAK,SAAM,EACX,KAAK,GAAE;QACL,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACzD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;KACnD,GACL,SAAS,oBAAoB,EAAE;IAIlC,2BAA2B,CACzB,KAAK,SAAM,EACX,KAAK,GAAE;QACL,QAAQ,CAAC,MAAM,CAAC,EAAE,qCAAqC,CAAC,QAAQ,CAAC,CAAC;QAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,qCAAqC,CAAC,aAAa,CAAC,CAAC;QAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KACxB,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,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,qBAAqB,EAAE,CAAA;KAAE;IA+B1D,SAAS,CAAC,KAAK,SAAM,GAAG,mBAAmB,EAAE;IAI7C,UAAU,CAAC,KAAK,GAAE;QAChB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;KAAE;IAsBxD,UAAU,CAAC,KAAK,SAAM,GAAG,oBAAoB,EAAE;IAI/C,WAAW,CAAC,KAAK,GAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,oBAAoB,EAAE,CAAA;KAAE;IAkBnD,WAAW,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIxF,eAAe,CAAC,KAAK,SAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,yBAAyB,EAAE;IAK5E,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,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,EAAE;IAI/C,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,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C,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,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAClE;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,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C,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,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;QAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C,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,CAAC;QAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACtC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAIjC,kBAAkB,CAAC,KAAK,EAAE;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACtC,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,CAAC;QACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACtC,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,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAIvE,gBAAgB,CAAC,KAAK,EAAE;QAC5B,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAShC,qBAAqB,CAAC,KAAK,EAAE;QACjC,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;QAC7C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAUtC,GAAG,CAAC,KAAK,GAAE;QACf,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAChC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAW9B,OAAO,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAA;KAAE,CAAC;IAU9F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,qBAAqB,EAAE;IAIpD,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;KAAO,GACvF,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;KAAO,GACvF,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;KAAO,GACvF,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;KAAO,GACvF,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,CAAC;QACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;QAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC7C,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,CAAC;QAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KACrB,GACL,OAAO,CAAC,qCAAqC,CAAC;IAIjD,WAAW,CAAC,KAAK,SAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,qBAAqB,EAAE;IAIpE,MAAM,CACV,EAAE,EAAE,MAAM,EACV,KAAK,GAAE;QACL,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACpB,GACL,OAAO,CAAC,qBAAqB,CAAC;YAInB,YAAY;IAmE1B,OAAO,CAAC,UAAU;YAcJ,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"}
@@ -2,6 +2,7 @@ import { randomUUID } from 'node:crypto';
2
2
  import {} from '../automation/schedules.js';
3
3
  import { ArtifactStore } from '../artifacts/index.js';
4
4
  import { createDefaultKnowledgeConnectorRegistry, KnowledgeConnectorRegistry } from './connectors.js';
5
+ import { renderKnowledgeMap } from './map.js';
5
6
  import { KnowledgeProjectionService } from './projections.js';
6
7
  import { KnowledgeStore } from './store.js';
7
8
  import { ingestBrowserKnowledge } from './browser-history/index.js';
@@ -305,6 +306,16 @@ export class KnowledgeService {
305
306
  }));
306
307
  return materialized;
307
308
  }
309
+ async map(input = {}) {
310
+ await this.store.init();
311
+ return renderKnowledgeMap({
312
+ title: 'Knowledge Map',
313
+ sources: this.store.listSources(10_000),
314
+ nodes: this.store.listNodes(10_000),
315
+ edges: this.store.listEdges(),
316
+ issues: this.store.listIssues(10_000),
317
+ }, input);
318
+ }
308
319
  async reindex() {
309
320
  await this.store.init();
310
321
  for (const source of this.store.listSources(10_000)) {
@@ -448,5 +448,40 @@ export interface KnowledgeMaterializedProjection {
448
448
  readonly sourceUri?: string;
449
449
  readonly metadata: Record<string, unknown>;
450
450
  };
451
+ readonly source?: KnowledgeSourceRecord;
452
+ readonly linked?: KnowledgeEdgeRecord;
453
+ readonly artifactCreated?: boolean;
454
+ }
455
+ export interface KnowledgeMapNode {
456
+ readonly id: string;
457
+ readonly recordKind: 'source' | 'node' | 'issue';
458
+ readonly kind: string;
459
+ readonly title: string;
460
+ readonly summary?: string;
461
+ readonly x: number;
462
+ readonly y: number;
463
+ readonly radius: number;
464
+ readonly metadata: Record<string, unknown>;
465
+ }
466
+ export interface KnowledgeMapEdge {
467
+ readonly id: string;
468
+ readonly fromId: string;
469
+ readonly toId: string;
470
+ readonly relation: string;
471
+ readonly weight: number;
472
+ readonly metadata: Record<string, unknown>;
473
+ }
474
+ export interface KnowledgeMapResult {
475
+ readonly ok: true;
476
+ readonly spaceId?: string;
477
+ readonly title: string;
478
+ readonly generatedAt: number;
479
+ readonly width: number;
480
+ readonly height: number;
481
+ readonly nodeCount: number;
482
+ readonly edgeCount: number;
483
+ readonly nodes: readonly KnowledgeMapNode[];
484
+ readonly edges: readonly KnowledgeMapEdge[];
485
+ readonly svg: string;
451
486
  }
452
487
  //# sourceMappingURL=types.d.ts.map