@pellux/goodvibes-sdk 0.27.1 → 0.27.3

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 (62) hide show
  1. package/dist/_internal/contracts/artifacts/operator-contract.json +870 -4
  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 +870 -4
  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 +1 -0
  9. package/dist/_internal/daemon/knowledge-routes.d.ts.map +1 -1
  10. package/dist/_internal/daemon/knowledge-routes.js +27 -0
  11. package/dist/_internal/platform/control-plane/method-catalog-homegraph.d.ts.map +1 -1
  12. package/dist/_internal/platform/control-plane/method-catalog-homegraph.js +41 -2
  13. package/dist/_internal/platform/control-plane/method-catalog-knowledge.d.ts.map +1 -1
  14. package/dist/_internal/platform/control-plane/method-catalog-knowledge.js +15 -1
  15. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.d.ts +1 -0
  16. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.d.ts.map +1 -1
  17. package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.js +28 -0
  18. package/dist/_internal/platform/daemon/http/home-graph-routes.d.ts.map +1 -1
  19. package/dist/_internal/platform/daemon/http/home-graph-routes.js +50 -0
  20. package/dist/_internal/platform/knowledge/extractors.d.ts.map +1 -1
  21. package/dist/_internal/platform/knowledge/extractors.js +1 -116
  22. package/dist/_internal/platform/knowledge/home-graph/auto-link.d.ts +27 -0
  23. package/dist/_internal/platform/knowledge/home-graph/auto-link.d.ts.map +1 -0
  24. package/dist/_internal/platform/knowledge/home-graph/auto-link.js +236 -0
  25. package/dist/_internal/platform/knowledge/home-graph/extraction-quality.d.ts +2 -0
  26. package/dist/_internal/platform/knowledge/home-graph/extraction-quality.d.ts.map +1 -0
  27. package/dist/_internal/platform/knowledge/home-graph/extraction-quality.js +52 -0
  28. package/dist/_internal/platform/knowledge/home-graph/generated-pages.d.ts +1 -0
  29. package/dist/_internal/platform/knowledge/home-graph/generated-pages.d.ts.map +1 -1
  30. package/dist/_internal/platform/knowledge/home-graph/generated-pages.js +14 -8
  31. package/dist/_internal/platform/knowledge/home-graph/index.d.ts +1 -1
  32. package/dist/_internal/platform/knowledge/home-graph/index.d.ts.map +1 -1
  33. package/dist/_internal/platform/knowledge/home-graph/pages.d.ts +11 -0
  34. package/dist/_internal/platform/knowledge/home-graph/pages.d.ts.map +1 -0
  35. package/dist/_internal/platform/knowledge/home-graph/pages.js +44 -0
  36. package/dist/_internal/platform/knowledge/home-graph/rendering.d.ts +5 -6
  37. package/dist/_internal/platform/knowledge/home-graph/rendering.d.ts.map +1 -1
  38. package/dist/_internal/platform/knowledge/home-graph/rendering.js +284 -5
  39. package/dist/_internal/platform/knowledge/home-graph/search.d.ts.map +1 -1
  40. package/dist/_internal/platform/knowledge/home-graph/search.js +4 -6
  41. package/dist/_internal/platform/knowledge/home-graph/service.d.ts +6 -1
  42. package/dist/_internal/platform/knowledge/home-graph/service.d.ts.map +1 -1
  43. package/dist/_internal/platform/knowledge/home-graph/service.js +60 -6
  44. package/dist/_internal/platform/knowledge/home-graph/types.d.ts +47 -1
  45. package/dist/_internal/platform/knowledge/home-graph/types.d.ts.map +1 -1
  46. package/dist/_internal/platform/knowledge/index.d.ts +2 -2
  47. package/dist/_internal/platform/knowledge/index.d.ts.map +1 -1
  48. package/dist/_internal/platform/knowledge/map-filters.d.ts +24 -0
  49. package/dist/_internal/platform/knowledge/map-filters.d.ts.map +1 -0
  50. package/dist/_internal/platform/knowledge/map-filters.js +199 -0
  51. package/dist/_internal/platform/knowledge/map.d.ts +16 -1
  52. package/dist/_internal/platform/knowledge/map.d.ts.map +1 -1
  53. package/dist/_internal/platform/knowledge/map.js +19 -8
  54. package/dist/_internal/platform/knowledge/pdf-extractor.d.ts +3 -0
  55. package/dist/_internal/platform/knowledge/pdf-extractor.d.ts.map +1 -0
  56. package/dist/_internal/platform/knowledge/pdf-extractor.js +346 -0
  57. package/dist/_internal/platform/knowledge/service.d.ts +2 -6
  58. package/dist/_internal/platform/knowledge/service.d.ts.map +1 -1
  59. package/dist/_internal/platform/knowledge/types.d.ts +39 -1
  60. package/dist/_internal/platform/knowledge/types.d.ts.map +1 -1
  61. package/dist/_internal/platform/version.js +1 -1
  62. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
- export declare const OPERATOR_METHOD_IDS: readonly ["accounts.snapshot", "approvals.approve", "approvals.cancel", "approvals.claim", "approvals.deny", "approvals.list", "artifacts.content.get", "artifacts.create", "artifacts.get", "artifacts.list", "automation.heartbeat.list", "automation.heartbeat.run", "automation.integration.snapshot", "automation.jobs.create", "automation.jobs.delete", "automation.jobs.disable", "automation.jobs.enable", "automation.jobs.list", "automation.jobs.patch", "automation.jobs.pause", "automation.jobs.resume", "automation.jobs.run", "automation.runs.cancel", "automation.runs.get", "automation.runs.list", "automation.runs.retry", "channels.accounts.action.default", "channels.accounts.action.named", "channels.accounts.get", "channels.accounts.list", "channels.accounts.surface.list", "channels.actions.invoke", "channels.actions.list", "channels.actions.surface.list", "channels.agent_tools.list", "channels.agent_tools.surface.list", "channels.allowlist.edit", "channels.allowlist.resolve", "channels.authorize", "channels.capabilities.list", "channels.capabilities.surface.list", "channels.directory.query", "channels.doctor.get", "channels.lifecycle.get", "channels.lifecycle.migrate", "channels.policies.audit", "channels.policies.list", "channels.policies.update", "channels.repairs.list", "channels.setup.get", "channels.status", "channels.targets.resolve", "channels.tools.invoke", "channels.tools.list", "channels.tools.surface.list", "companion.chat.events.stream", "companion.chat.messages.create", "companion.chat.messages.list", "companion.chat.sessions.create", "companion.chat.sessions.delete", "companion.chat.sessions.get", "companion.chat.sessions.update", "config.get", "config.set", "continuity.snapshot", "control.auth.current", "control.auth.login", "control.clients.list", "control.contract", "control.events.catalog", "control.events.stream", "control.messages.list", "control.methods.get", "control.methods.list", "control.snapshot", "control.status", "control.web", "deliveries.get", "deliveries.list", "health.snapshot", "homeassistant.homeGraph.askHomeGraph", "homeassistant.homeGraph.browse", "homeassistant.homeGraph.export", "homeassistant.homeGraph.generateHomeGraphPacket", "homeassistant.homeGraph.generateRoomPage", "homeassistant.homeGraph.import", "homeassistant.homeGraph.ingestHomeGraphArtifact", "homeassistant.homeGraph.ingestHomeGraphNote", "homeassistant.homeGraph.ingestHomeGraphUrl", "homeassistant.homeGraph.linkHomeGraphKnowledge", "homeassistant.homeGraph.listHomeGraphIssues", "homeassistant.homeGraph.map", "homeassistant.homeGraph.refreshDevicePassport", "homeassistant.homeGraph.reindex", "homeassistant.homeGraph.reviewHomeGraphFact", "homeassistant.homeGraph.sources.list", "homeassistant.homeGraph.status", "homeassistant.homeGraph.syncHomeGraph", "homeassistant.homeGraph.unlinkHomeGraphKnowledge", "intelligence.snapshot", "knowledge.candidate.decide", "knowledge.candidate.get", "knowledge.candidates.list", "knowledge.connector.doctor", "knowledge.connector.get", "knowledge.connectors.list", "knowledge.extraction.get", "knowledge.extractions.list", "knowledge.graphql.execute", "knowledge.graphql.schema", "knowledge.ingest.artifact", "knowledge.ingest.bookmarks", "knowledge.ingest.browserHistory", "knowledge.ingest.connector", "knowledge.ingest.url", "knowledge.ingest.urls", "knowledge.issue.review", "knowledge.issues.list", "knowledge.item.get", "knowledge.job-runs.list", "knowledge.job.get", "knowledge.job.run", "knowledge.jobs.list", "knowledge.lint", "knowledge.map", "knowledge.nodes.list", "knowledge.packet", "knowledge.projection.materialize", "knowledge.projection.render", "knowledge.projections.list", "knowledge.reindex", "knowledge.report.get", "knowledge.reports.list", "knowledge.schedule.delete", "knowledge.schedule.enable", "knowledge.schedule.get", "knowledge.schedule.save", "knowledge.schedules.list", "knowledge.search", "knowledge.source.extraction.get", "knowledge.sources.list", "knowledge.status", "knowledge.usage.list", "local_auth.bootstrap.delete", "local_auth.sessions.delete", "local_auth.status", "local_auth.users.create", "local_auth.users.delete", "local_auth.users.password.rotate", "media.analyze", "media.generate", "media.providers.list", "media.transform", "memory.doctor", "memory.embeddings.default.set", "memory.vector.rebuild", "memory.vector.stats", "multimodal.analyze", "multimodal.packet", "multimodal.providers.list", "multimodal.status", "multimodal.writeback", "panels.list", "panels.open", "projectPlanning.decisions.list", "projectPlanning.decisions.record", "projectPlanning.evaluate", "projectPlanning.language.get", "projectPlanning.language.upsert", "projectPlanning.state.get", "projectPlanning.state.upsert", "projectPlanning.status", "providers.get", "providers.list", "providers.usage.get", "remote.node_host.contract", "remote.pair.requests.approve", "remote.pair.requests.list", "remote.pair.requests.reject", "remote.peers.disconnect", "remote.peers.invoke", "remote.peers.list", "remote.peers.token.revoke", "remote.peers.token.rotate", "remote.snapshot", "remote.work.cancel", "remote.work.list", "review.snapshot", "routes.bindings.create", "routes.bindings.delete", "routes.bindings.list", "routes.bindings.patch", "routes.snapshot", "scheduler.capacity", "schedules.create", "schedules.delete", "schedules.disable", "schedules.enable", "schedules.list", "schedules.run", "security.settings", "services.install", "services.restart", "services.start", "services.status", "services.stop", "services.uninstall", "sessions.close", "sessions.create", "sessions.followUp", "sessions.get", "sessions.inputs.cancel", "sessions.inputs.create", "sessions.inputs.list", "sessions.integration.snapshot", "sessions.list", "sessions.messages.create", "sessions.messages.list", "sessions.reopen", "sessions.steer", "settings.snapshot", "surfaces.list", "tasks.cancel", "tasks.create", "tasks.get", "tasks.list", "tasks.retry", "tasks.status", "telemetry.errors.list", "telemetry.events.list", "telemetry.metrics.get", "telemetry.otlp.logs", "telemetry.otlp.metrics", "telemetry.otlp.traces", "telemetry.snapshot", "telemetry.stream", "telemetry.traces.list", "voice.providers.list", "voice.realtime.session", "voice.status", "voice.stt", "voice.tts", "voice.tts.stream", "voice.voices.list", "watchers.create", "watchers.delete", "watchers.list", "watchers.patch", "watchers.run", "watchers.start", "watchers.stop", "web_search.providers.list", "web_search.query", "worktrees.snapshot"];
1
+ export declare const OPERATOR_METHOD_IDS: readonly ["accounts.snapshot", "approvals.approve", "approvals.cancel", "approvals.claim", "approvals.deny", "approvals.list", "artifacts.content.get", "artifacts.create", "artifacts.get", "artifacts.list", "automation.heartbeat.list", "automation.heartbeat.run", "automation.integration.snapshot", "automation.jobs.create", "automation.jobs.delete", "automation.jobs.disable", "automation.jobs.enable", "automation.jobs.list", "automation.jobs.patch", "automation.jobs.pause", "automation.jobs.resume", "automation.jobs.run", "automation.runs.cancel", "automation.runs.get", "automation.runs.list", "automation.runs.retry", "channels.accounts.action.default", "channels.accounts.action.named", "channels.accounts.get", "channels.accounts.list", "channels.accounts.surface.list", "channels.actions.invoke", "channels.actions.list", "channels.actions.surface.list", "channels.agent_tools.list", "channels.agent_tools.surface.list", "channels.allowlist.edit", "channels.allowlist.resolve", "channels.authorize", "channels.capabilities.list", "channels.capabilities.surface.list", "channels.directory.query", "channels.doctor.get", "channels.lifecycle.get", "channels.lifecycle.migrate", "channels.policies.audit", "channels.policies.list", "channels.policies.update", "channels.repairs.list", "channels.setup.get", "channels.status", "channels.targets.resolve", "channels.tools.invoke", "channels.tools.list", "channels.tools.surface.list", "companion.chat.events.stream", "companion.chat.messages.create", "companion.chat.messages.list", "companion.chat.sessions.create", "companion.chat.sessions.delete", "companion.chat.sessions.get", "companion.chat.sessions.update", "config.get", "config.set", "continuity.snapshot", "control.auth.current", "control.auth.login", "control.clients.list", "control.contract", "control.events.catalog", "control.events.stream", "control.messages.list", "control.methods.get", "control.methods.list", "control.snapshot", "control.status", "control.web", "deliveries.get", "deliveries.list", "health.snapshot", "homeassistant.homeGraph.askHomeGraph", "homeassistant.homeGraph.browse", "homeassistant.homeGraph.export", "homeassistant.homeGraph.generateHomeGraphPacket", "homeassistant.homeGraph.generateRoomPage", "homeassistant.homeGraph.import", "homeassistant.homeGraph.ingestHomeGraphArtifact", "homeassistant.homeGraph.ingestHomeGraphNote", "homeassistant.homeGraph.ingestHomeGraphUrl", "homeassistant.homeGraph.linkHomeGraphKnowledge", "homeassistant.homeGraph.listHomeGraphIssues", "homeassistant.homeGraph.map", "homeassistant.homeGraph.pages.list", "homeassistant.homeGraph.refreshDevicePassport", "homeassistant.homeGraph.reindex", "homeassistant.homeGraph.reviewHomeGraphFact", "homeassistant.homeGraph.sources.list", "homeassistant.homeGraph.status", "homeassistant.homeGraph.syncHomeGraph", "homeassistant.homeGraph.unlinkHomeGraphKnowledge", "intelligence.snapshot", "knowledge.candidate.decide", "knowledge.candidate.get", "knowledge.candidates.list", "knowledge.connector.doctor", "knowledge.connector.get", "knowledge.connectors.list", "knowledge.extraction.get", "knowledge.extractions.list", "knowledge.graphql.execute", "knowledge.graphql.schema", "knowledge.ingest.artifact", "knowledge.ingest.bookmarks", "knowledge.ingest.browserHistory", "knowledge.ingest.connector", "knowledge.ingest.url", "knowledge.ingest.urls", "knowledge.issue.review", "knowledge.issues.list", "knowledge.item.get", "knowledge.job-runs.list", "knowledge.job.get", "knowledge.job.run", "knowledge.jobs.list", "knowledge.lint", "knowledge.map", "knowledge.nodes.list", "knowledge.packet", "knowledge.projection.materialize", "knowledge.projection.render", "knowledge.projections.list", "knowledge.reindex", "knowledge.report.get", "knowledge.reports.list", "knowledge.schedule.delete", "knowledge.schedule.enable", "knowledge.schedule.get", "knowledge.schedule.save", "knowledge.schedules.list", "knowledge.search", "knowledge.source.extraction.get", "knowledge.sources.list", "knowledge.status", "knowledge.usage.list", "local_auth.bootstrap.delete", "local_auth.sessions.delete", "local_auth.status", "local_auth.users.create", "local_auth.users.delete", "local_auth.users.password.rotate", "media.analyze", "media.generate", "media.providers.list", "media.transform", "memory.doctor", "memory.embeddings.default.set", "memory.vector.rebuild", "memory.vector.stats", "multimodal.analyze", "multimodal.packet", "multimodal.providers.list", "multimodal.status", "multimodal.writeback", "panels.list", "panels.open", "projectPlanning.decisions.list", "projectPlanning.decisions.record", "projectPlanning.evaluate", "projectPlanning.language.get", "projectPlanning.language.upsert", "projectPlanning.state.get", "projectPlanning.state.upsert", "projectPlanning.status", "providers.get", "providers.list", "providers.usage.get", "remote.node_host.contract", "remote.pair.requests.approve", "remote.pair.requests.list", "remote.pair.requests.reject", "remote.peers.disconnect", "remote.peers.invoke", "remote.peers.list", "remote.peers.token.revoke", "remote.peers.token.rotate", "remote.snapshot", "remote.work.cancel", "remote.work.list", "review.snapshot", "routes.bindings.create", "routes.bindings.delete", "routes.bindings.list", "routes.bindings.patch", "routes.snapshot", "scheduler.capacity", "schedules.create", "schedules.delete", "schedules.disable", "schedules.enable", "schedules.list", "schedules.run", "security.settings", "services.install", "services.restart", "services.start", "services.status", "services.stop", "services.uninstall", "sessions.close", "sessions.create", "sessions.followUp", "sessions.get", "sessions.inputs.cancel", "sessions.inputs.create", "sessions.inputs.list", "sessions.integration.snapshot", "sessions.list", "sessions.messages.create", "sessions.messages.list", "sessions.reopen", "sessions.steer", "settings.snapshot", "surfaces.list", "tasks.cancel", "tasks.create", "tasks.get", "tasks.list", "tasks.retry", "tasks.status", "telemetry.errors.list", "telemetry.events.list", "telemetry.metrics.get", "telemetry.otlp.logs", "telemetry.otlp.metrics", "telemetry.otlp.traces", "telemetry.snapshot", "telemetry.stream", "telemetry.traces.list", "voice.providers.list", "voice.realtime.session", "voice.status", "voice.stt", "voice.tts", "voice.tts.stream", "voice.voices.list", "watchers.create", "watchers.delete", "watchers.list", "watchers.patch", "watchers.run", "watchers.start", "watchers.stop", "web_search.providers.list", "web_search.query", "worktrees.snapshot"];
2
2
  export type OperatorMethodId = typeof OPERATOR_METHOD_IDS[number];
3
3
  //# sourceMappingURL=operator-method-ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operator-method-ids.d.ts","sourceRoot":"","sources":["../../../../src/_internal/contracts/generated/operator-method-ids.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,y2MA+PtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"operator-method-ids.d.ts","sourceRoot":"","sources":["../../../../src/_internal/contracts/generated/operator-method-ids.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,+4MAgQtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC"}
@@ -92,6 +92,7 @@ export const OPERATOR_METHOD_IDS = [
92
92
  "homeassistant.homeGraph.linkHomeGraphKnowledge",
93
93
  "homeassistant.homeGraph.listHomeGraphIssues",
94
94
  "homeassistant.homeGraph.map",
95
+ "homeassistant.homeGraph.pages.list",
95
96
  "homeassistant.homeGraph.refreshDevicePassport",
96
97
  "homeassistant.homeGraph.reindex",
97
98
  "homeassistant.homeGraph.reviewHomeGraphFact",
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-routes.d.ts","sourceRoot":"","sources":["../../../src/_internal/daemon/knowledge-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAQ3D,OAAO,KAAK,EAEV,2BAA2B,EAM5B,MAAM,4BAA4B,CAAC;AAIpC,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,2BAA2B,GACnC,IAAI,CACL,sBAAsB,EACpB,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,oBAAoB,GACpB,kBAAkB,GAClB,wBAAwB,GACxB,uBAAuB,GACvB,6BAA6B,GAC7B,+BAA+B,GAC/B,iBAAiB,GACjB,2BAA2B,GAC3B,yBAAyB,GACzB,mBAAmB,GACnB,wBAAwB,GACxB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,wBAAwB,GACxB,8BAA8B,GAC9B,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,GACrB,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,GACxB,6BAA6B,GAC7B,iCAAiC,GACjC,8BAA8B,GAC9B,yBAAyB,GACzB,8BAA8B,GAC9B,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,8BAA8B,GAC9B,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,2BAA2B,GAC3B,yBAAyB,GACzB,iCAAiC,GACjC,+BAA+B,GAC/B,oCAAoC,GACpC,yBAAyB,CAC5B,CA+IA"}
1
+ {"version":3,"file":"knowledge-routes.d.ts","sourceRoot":"","sources":["../../../src/_internal/daemon/knowledge-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAQ3D,OAAO,KAAK,EAEV,2BAA2B,EAM5B,MAAM,4BAA4B,CAAC;AAIpC,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,2BAA2B,GACnC,IAAI,CACL,sBAAsB,EACpB,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,oBAAoB,GACpB,kBAAkB,GAClB,wBAAwB,GACxB,uBAAuB,GACvB,6BAA6B,GAC7B,+BAA+B,GAC/B,iBAAiB,GACjB,2BAA2B,GAC3B,yBAAyB,GACzB,mBAAmB,GACnB,wBAAwB,GACxB,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,GACpB,wBAAwB,GACxB,8BAA8B,GAC9B,kBAAkB,GAClB,iBAAiB,GACjB,qBAAqB,GACrB,uBAAuB,GACvB,sBAAsB,GACtB,wBAAwB,GACxB,6BAA6B,GAC7B,iCAAiC,GACjC,8BAA8B,GAC9B,yBAAyB,GACzB,8BAA8B,GAC9B,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,8BAA8B,GAC9B,qBAAqB,GACrB,mBAAmB,GACnB,sBAAsB,GACtB,2BAA2B,GAC3B,yBAAyB,GACzB,iCAAiC,GACjC,+BAA+B,GAC/B,oCAAoC,GACpC,yBAAyB,CAC5B,CAgJA"}
@@ -33,6 +33,7 @@ export function createDaemonKnowledgeRouteHandlers(context) {
33
33
  includeSources: readBooleanQuery(url, 'includeSources'),
34
34
  includeIssues: readBooleanQuery(url, 'includeIssues'),
35
35
  includeGenerated: readBooleanQuery(url, 'includeGenerated'),
36
+ ...readKnowledgeMapFilters(url),
36
37
  })),
37
38
  getKnowledgeGraphqlSchema: () => Response.json({
38
39
  language: 'graphql',
@@ -158,6 +159,32 @@ function readBooleanQuery(url, key) {
158
159
  return undefined;
159
160
  return raw === '1' || raw.toLowerCase() === 'true' || raw.toLowerCase() === 'yes';
160
161
  }
162
+ function readKnowledgeMapFilters(url) {
163
+ const minConfidence = Number(url.searchParams.get('minConfidence'));
164
+ return {
165
+ ...(url.searchParams.get('query') ? { query: url.searchParams.get('query') } : {}),
166
+ ...(Number.isFinite(minConfidence) ? { minConfidence } : {}),
167
+ recordKinds: readStringList(url, 'recordKinds', 'recordKind'),
168
+ ids: readStringList(url, 'ids', 'id'),
169
+ linkedToIds: readStringList(url, 'linkedToIds', 'linkedToId'),
170
+ nodeKinds: readStringList(url, 'nodeKinds', 'nodeKind'),
171
+ sourceTypes: readStringList(url, 'sourceTypes', 'sourceType'),
172
+ sourceStatuses: readStringList(url, 'sourceStatuses', 'sourceStatus'),
173
+ nodeStatuses: readStringList(url, 'nodeStatuses', 'nodeStatus'),
174
+ issueCodes: readStringList(url, 'issueCodes', 'issueCode'),
175
+ issueStatuses: readStringList(url, 'issueStatuses', 'issueStatus'),
176
+ issueSeverities: readStringList(url, 'issueSeverities', 'issueSeverity'),
177
+ edgeRelations: readStringList(url, 'edgeRelations', 'edgeRelation'),
178
+ tags: readStringList(url, 'tags', 'tag'),
179
+ };
180
+ }
181
+ function readStringList(url, ...names) {
182
+ return names
183
+ .flatMap((name) => url.searchParams.getAll(name))
184
+ .flatMap((value) => value.split(','))
185
+ .map((value) => value.trim())
186
+ .filter(Boolean);
187
+ }
161
188
  function readKnowledgeProjectionRequest(body) {
162
189
  const rawKind = typeof body.kind === 'string' ? body.kind.trim().toLowerCase() : '';
163
190
  if (rawKind !== 'overview'
@@ -1 +1 @@
1
- {"version":3,"file":"method-catalog-homegraph.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/control-plane/method-catalog-homegraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAiE1E,eAAO,MAAM,wCAAwC,EAAE,SAAS,uBAAuB,EAqNtF,CAAC"}
1
+ {"version":3,"file":"method-catalog-homegraph.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/control-plane/method-catalog-homegraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAkE1E,eAAO,MAAM,wCAAwC,EAAE,SAAS,uBAAuB,EA4PtF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BOOLEAN_SCHEMA, NUMBER_SCHEMA, STRING_SCHEMA, bodyEnvelopeSchema, methodDescriptor, objectSchema, } from './method-catalog-shared.js';
2
2
  import { GENERIC_LIST_SCHEMA, JSON_RECORD_SCHEMA, METADATA_SCHEMA, STRING_LIST_SCHEMA, } from './operator-contract-schemas-shared.js';
3
- import { HOME_GRAPH_ASK_OUTPUT_SCHEMA, HOME_GRAPH_BROWSE_OUTPUT_SCHEMA, HOME_GRAPH_EXPORT_OUTPUT_SCHEMA, HOME_GRAPH_IMPORT_OUTPUT_SCHEMA, HOME_GRAPH_INGEST_OUTPUT_SCHEMA, HOME_GRAPH_ISSUES_OUTPUT_SCHEMA, HOME_GRAPH_LINK_OUTPUT_SCHEMA, HOME_GRAPH_MAP_OUTPUT_SCHEMA, HOME_GRAPH_PROJECTION_OUTPUT_SCHEMA, HOME_GRAPH_REINDEX_OUTPUT_SCHEMA, HOME_GRAPH_REVIEW_OUTPUT_SCHEMA, HOME_GRAPH_SOURCES_OUTPUT_SCHEMA, HOME_GRAPH_SPACE_INPUT_SCHEMA, HOME_GRAPH_STATUS_SCHEMA, HOME_GRAPH_SYNC_OUTPUT_SCHEMA, } from './operator-contract-schemas-knowledge.js';
3
+ import { HOME_GRAPH_ASK_OUTPUT_SCHEMA, HOME_GRAPH_BROWSE_OUTPUT_SCHEMA, HOME_GRAPH_EXPORT_OUTPUT_SCHEMA, HOME_GRAPH_IMPORT_OUTPUT_SCHEMA, HOME_GRAPH_INGEST_OUTPUT_SCHEMA, HOME_GRAPH_ISSUES_OUTPUT_SCHEMA, HOME_GRAPH_LINK_OUTPUT_SCHEMA, HOME_GRAPH_MAP_OUTPUT_SCHEMA, HOME_GRAPH_PAGES_OUTPUT_SCHEMA, HOME_GRAPH_PROJECTION_OUTPUT_SCHEMA, HOME_GRAPH_REINDEX_OUTPUT_SCHEMA, HOME_GRAPH_REVIEW_OUTPUT_SCHEMA, HOME_GRAPH_SOURCES_OUTPUT_SCHEMA, HOME_GRAPH_SPACE_INPUT_SCHEMA, HOME_GRAPH_STATUS_SCHEMA, HOME_GRAPH_SYNC_OUTPUT_SCHEMA, } from './operator-contract-schemas-knowledge.js';
4
4
  function homeGraphDescriptor(input) {
5
5
  return methodDescriptor({
6
6
  id: input.id,
@@ -197,6 +197,15 @@ export const builtinGatewayHomeGraphMethodDescriptors = [
197
197
  inputSchema: SPACE_QUERY_SCHEMA,
198
198
  outputSchema: HOME_GRAPH_SOURCES_OUTPUT_SCHEMA,
199
199
  }),
200
+ homeGraphDescriptor({
201
+ id: 'homeassistant.homeGraph.pages.list',
202
+ title: 'List Home Graph Pages',
203
+ description: 'Return generated Home Graph wiki pages with optional markdown content.',
204
+ method: 'GET',
205
+ path: '/api/homeassistant/home-graph/pages',
206
+ inputSchema: objectSchema({ ...SPACE_QUERY_PROPS, includeMarkdown: BOOLEAN_SCHEMA }),
207
+ outputSchema: HOME_GRAPH_PAGES_OUTPUT_SCHEMA,
208
+ }),
200
209
  homeGraphDescriptor({
201
210
  id: 'homeassistant.homeGraph.browse',
202
211
  title: 'Browse Home Graph',
@@ -212,7 +221,37 @@ export const builtinGatewayHomeGraphMethodDescriptors = [
212
221
  description: 'Return a visual Home Graph node/edge map with deterministic layout data and SVG.',
213
222
  method: 'GET',
214
223
  path: '/api/homeassistant/home-graph/map',
215
- inputSchema: objectSchema({ ...SPACE_QUERY_PROPS, includeSources: BOOLEAN_SCHEMA }),
224
+ inputSchema: objectSchema({
225
+ ...SPACE_QUERY_PROPS,
226
+ includeSources: BOOLEAN_SCHEMA,
227
+ includeIssues: BOOLEAN_SCHEMA,
228
+ includeGenerated: BOOLEAN_SCHEMA,
229
+ query: STRING_SCHEMA,
230
+ recordKinds: STRING_LIST_SCHEMA,
231
+ ids: STRING_LIST_SCHEMA,
232
+ linkedToIds: STRING_LIST_SCHEMA,
233
+ nodeKinds: STRING_LIST_SCHEMA,
234
+ sourceTypes: STRING_LIST_SCHEMA,
235
+ sourceStatuses: STRING_LIST_SCHEMA,
236
+ nodeStatuses: STRING_LIST_SCHEMA,
237
+ issueCodes: STRING_LIST_SCHEMA,
238
+ issueStatuses: STRING_LIST_SCHEMA,
239
+ issueSeverities: STRING_LIST_SCHEMA,
240
+ edgeRelations: STRING_LIST_SCHEMA,
241
+ tags: STRING_LIST_SCHEMA,
242
+ minConfidence: NUMBER_SCHEMA,
243
+ ha: objectSchema({
244
+ objectKinds: STRING_LIST_SCHEMA,
245
+ entityIds: STRING_LIST_SCHEMA,
246
+ deviceIds: STRING_LIST_SCHEMA,
247
+ areaIds: STRING_LIST_SCHEMA,
248
+ integrationIds: STRING_LIST_SCHEMA,
249
+ integrationDomains: STRING_LIST_SCHEMA,
250
+ domains: STRING_LIST_SCHEMA,
251
+ deviceClasses: STRING_LIST_SCHEMA,
252
+ labels: STRING_LIST_SCHEMA,
253
+ }),
254
+ }),
216
255
  outputSchema: HOME_GRAPH_MAP_OUTPUT_SCHEMA,
217
256
  }),
218
257
  homeGraphDescriptor({
@@ -1 +1 @@
1
- {"version":3,"file":"method-catalog-knowledge.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/control-plane/method-catalog-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AA6D1E,eAAO,MAAM,wCAAwC,EAAE,SAAS,uBAAuB,EA+nBtF,CAAC"}
1
+ {"version":3,"file":"method-catalog-knowledge.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/control-plane/method-catalog-knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AA8D1E,eAAO,MAAM,wCAAwC,EAAE,SAAS,uBAAuB,EA6oBtF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { EMPTY_OBJECT_SCHEMA, STRING_SCHEMA, BOOLEAN_SCHEMA, NUMBER_SCHEMA, arraySchema, objectSchema, bodyEnvelopeSchema, methodDescriptor, runtimeEventId } from './method-catalog-shared.js';
2
2
  import { builtinGatewayHomeGraphMethodDescriptors } from './method-catalog-homegraph.js';
3
- import { GRAPHQL_VARIABLES_SCHEMA, JSON_RECORD_SCHEMA, METADATA_SCHEMA, } from './operator-contract-schemas-shared.js';
3
+ import { GRAPHQL_VARIABLES_SCHEMA, JSON_RECORD_SCHEMA, METADATA_SCHEMA, STRING_LIST_SCHEMA, } from './operator-contract-schemas-shared.js';
4
4
  import { KNOWLEDGE_BATCH_INGEST_RESULT_SCHEMA, KNOWLEDGE_BROWSER_SYNC_RESULT_SCHEMA, KNOWLEDGE_CONSOLIDATION_DECISION_SCHEMA, KNOWLEDGE_CANDIDATE_OUTPUT_SCHEMA, KNOWLEDGE_CANDIDATES_OUTPUT_SCHEMA, KNOWLEDGE_CONNECTOR_INGEST_INPUT_SCHEMA, KNOWLEDGE_CONNECTOR_DOCTOR_OUTPUT_SCHEMA, KNOWLEDGE_CONNECTORS_OUTPUT_SCHEMA, KNOWLEDGE_CONNECTOR_ENTITY_OUTPUT_SCHEMA, KNOWLEDGE_EXTRACTION_OUTPUT_SCHEMA, KNOWLEDGE_EXTRACTIONS_OUTPUT_SCHEMA, KNOWLEDGE_GRAPHQL_EXECUTE_OUTPUT_SCHEMA, KNOWLEDGE_GRAPHQL_SCHEMA_OUTPUT_SCHEMA, KNOWLEDGE_INGEST_RESULT_SCHEMA, KNOWLEDGE_ITEM_ENTITY_OUTPUT_SCHEMA, KNOWLEDGE_JOB_OUTPUT_SCHEMA, KNOWLEDGE_JOB_RUN_OUTPUT_SCHEMA, KNOWLEDGE_JOB_RUN_REQUEST_SCHEMA, KNOWLEDGE_JOB_RUNS_OUTPUT_SCHEMA, KNOWLEDGE_JOBS_OUTPUT_SCHEMA, KNOWLEDGE_LINT_OUTPUT_SCHEMA, KNOWLEDGE_MAP_OUTPUT_SCHEMA, KNOWLEDGE_MATERIALIZED_PROJECTION_SCHEMA, KNOWLEDGE_NODES_OUTPUT_SCHEMA, KNOWLEDGE_PACKET_SCHEMA, KNOWLEDGE_PACKET_DETAIL_SCHEMA, KNOWLEDGE_PROJECTION_BUNDLE_SCHEMA, KNOWLEDGE_PROJECTION_TARGETS_OUTPUT_SCHEMA, KNOWLEDGE_REINDEX_OUTPUT_SCHEMA, KNOWLEDGE_REPORT_OUTPUT_SCHEMA, KNOWLEDGE_REPORTS_OUTPUT_SCHEMA, KNOWLEDGE_SCHEDULE_INPUT_SCHEMA, KNOWLEDGE_SCHEDULE_OUTPUT_SCHEMA, KNOWLEDGE_SCHEDULES_OUTPUT_SCHEMA, KNOWLEDGE_SEARCH_OUTPUT_SCHEMA, KNOWLEDGE_SOURCE_TYPE_SCHEMA, KNOWLEDGE_SOURCES_OUTPUT_SCHEMA, KNOWLEDGE_STATUS_SCHEMA, KNOWLEDGE_ISSUE_REVIEW_OUTPUT_SCHEMA, KNOWLEDGE_ISSUES_OUTPUT_SCHEMA, KNOWLEDGE_USAGE_OUTPUT_SCHEMA, } from './operator-contract-schemas-knowledge.js';
5
5
  import { PROJECT_PLANNING_DECISION_OUTPUT_SCHEMA, PROJECT_PLANNING_DECISIONS_OUTPUT_SCHEMA, PROJECT_PLANNING_EVALUATION_SCHEMA, PROJECT_PLANNING_LANGUAGE_OUTPUT_SCHEMA, PROJECT_PLANNING_SPACE_INPUT_SCHEMA, PROJECT_PLANNING_STATE_OUTPUT_SCHEMA, PROJECT_PLANNING_STATUS_SCHEMA, } from './operator-contract-schemas-project-planning.js';
6
6
  export const builtinGatewayKnowledgeMethodDescriptors = [
@@ -485,6 +485,20 @@ export const builtinGatewayKnowledgeMethodDescriptors = [
485
485
  includeSources: BOOLEAN_SCHEMA,
486
486
  includeIssues: BOOLEAN_SCHEMA,
487
487
  includeGenerated: BOOLEAN_SCHEMA,
488
+ query: STRING_SCHEMA,
489
+ recordKinds: STRING_LIST_SCHEMA,
490
+ ids: STRING_LIST_SCHEMA,
491
+ linkedToIds: STRING_LIST_SCHEMA,
492
+ nodeKinds: STRING_LIST_SCHEMA,
493
+ sourceTypes: STRING_LIST_SCHEMA,
494
+ sourceStatuses: STRING_LIST_SCHEMA,
495
+ nodeStatuses: STRING_LIST_SCHEMA,
496
+ issueCodes: STRING_LIST_SCHEMA,
497
+ issueStatuses: STRING_LIST_SCHEMA,
498
+ issueSeverities: STRING_LIST_SCHEMA,
499
+ edgeRelations: STRING_LIST_SCHEMA,
500
+ tags: STRING_LIST_SCHEMA,
501
+ minConfidence: NUMBER_SCHEMA,
488
502
  }),
489
503
  outputSchema: KNOWLEDGE_MAP_OUTPUT_SCHEMA,
490
504
  }),
@@ -104,6 +104,7 @@ export declare const HOME_GRAPH_REINDEX_OUTPUT_SCHEMA: Record<string, unknown>;
104
104
  export declare const HOME_GRAPH_PROJECTION_OUTPUT_SCHEMA: Record<string, unknown>;
105
105
  export declare const HOME_GRAPH_ISSUES_OUTPUT_SCHEMA: Record<string, unknown>;
106
106
  export declare const HOME_GRAPH_SOURCES_OUTPUT_SCHEMA: Record<string, unknown>;
107
+ export declare const HOME_GRAPH_PAGES_OUTPUT_SCHEMA: Record<string, unknown>;
107
108
  export declare const HOME_GRAPH_BROWSE_OUTPUT_SCHEMA: Record<string, unknown>;
108
109
  export declare const HOME_GRAPH_REVIEW_OUTPUT_SCHEMA: Record<string, unknown>;
109
110
  export declare const HOME_GRAPH_EXPORT_OUTPUT_SCHEMA: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"operator-contract-schemas-knowledge.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/control-plane/operator-contract-schemas-knowledge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operator-contract-schemas-knowledge.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/control-plane/operator-contract-schemas-knowledge.ts"],"names":[],"mappings":"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"}
@@ -503,6 +503,24 @@ const KNOWLEDGE_MAP_EDGE_SCHEMA = objectSchema({
503
503
  weight: NUMBER_SCHEMA,
504
504
  metadata: METADATA_SCHEMA,
505
505
  }, ['id', 'fromId', 'toId', 'relation', 'weight', 'metadata'], { additionalProperties: true });
506
+ const KNOWLEDGE_MAP_FACET_VALUE_SCHEMA = objectSchema({
507
+ value: STRING_SCHEMA,
508
+ count: NUMBER_SCHEMA,
509
+ label: STRING_SCHEMA,
510
+ }, ['value', 'count'], { additionalProperties: true });
511
+ const KNOWLEDGE_MAP_FACETS_SCHEMA = objectSchema({
512
+ recordKinds: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
513
+ nodeKinds: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
514
+ sourceTypes: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
515
+ sourceStatuses: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
516
+ nodeStatuses: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
517
+ issueCodes: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
518
+ issueStatuses: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
519
+ issueSeverities: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
520
+ edgeRelations: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
521
+ tags: arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA),
522
+ homeAssistant: recordSchema(arraySchema(KNOWLEDGE_MAP_FACET_VALUE_SCHEMA)),
523
+ }, [], { additionalProperties: true });
506
524
  export const KNOWLEDGE_MAP_OUTPUT_SCHEMA = objectSchema({
507
525
  ok: BOOLEAN_SCHEMA,
508
526
  spaceId: STRING_SCHEMA,
@@ -512,6 +530,9 @@ export const KNOWLEDGE_MAP_OUTPUT_SCHEMA = objectSchema({
512
530
  height: NUMBER_SCHEMA,
513
531
  nodeCount: NUMBER_SCHEMA,
514
532
  edgeCount: NUMBER_SCHEMA,
533
+ totalNodeCount: NUMBER_SCHEMA,
534
+ totalEdgeCount: NUMBER_SCHEMA,
535
+ facets: KNOWLEDGE_MAP_FACETS_SCHEMA,
515
536
  nodes: arraySchema(KNOWLEDGE_MAP_NODE_SCHEMA),
516
537
  edges: arraySchema(KNOWLEDGE_MAP_EDGE_SCHEMA),
517
538
  svg: STRING_SCHEMA,
@@ -640,6 +661,8 @@ export const HOME_GRAPH_REINDEX_OUTPUT_SCHEMA = objectSchema({
640
661
  failed: NUMBER_SCHEMA,
641
662
  sources: arraySchema(KNOWLEDGE_SOURCE_SCHEMA),
642
663
  failures: GENERIC_LIST_SCHEMA,
664
+ linked: GENERIC_LIST_SCHEMA,
665
+ generated: JSON_RECORD_SCHEMA,
643
666
  }, ['ok', 'spaceId', 'scanned', 'reparsed', 'skipped', 'failed', 'sources', 'failures'], { additionalProperties: true });
644
667
  export const HOME_GRAPH_PROJECTION_OUTPUT_SCHEMA = objectSchema({
645
668
  ok: BOOLEAN_SCHEMA,
@@ -660,6 +683,11 @@ export const HOME_GRAPH_SOURCES_OUTPUT_SCHEMA = objectSchema({
660
683
  spaceId: STRING_SCHEMA,
661
684
  sources: arraySchema(KNOWLEDGE_SOURCE_SCHEMA),
662
685
  }, ['ok', 'spaceId', 'sources'], { additionalProperties: true });
686
+ export const HOME_GRAPH_PAGES_OUTPUT_SCHEMA = objectSchema({
687
+ ok: BOOLEAN_SCHEMA,
688
+ spaceId: STRING_SCHEMA,
689
+ pages: GENERIC_LIST_SCHEMA,
690
+ }, ['ok', 'spaceId', 'pages'], { additionalProperties: true });
663
691
  export const HOME_GRAPH_BROWSE_OUTPUT_SCHEMA = objectSchema({
664
692
  ok: BOOLEAN_SCHEMA,
665
693
  spaceId: STRING_SCHEMA,
@@ -1 +1 @@
1
- {"version":3,"file":"home-graph-routes.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/home-graph-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oCAAoC,CAAC;AAc5C,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACzE,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;IACxF,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,qBAAqB;IAErD,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAwGtC,KAAK;YAML,QAAQ;YAMR,gBAAgB;CAK/B"}
1
+ {"version":3,"file":"home-graph-routes.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/daemon/http/home-graph-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,oCAAoC,CAAC;AAc5C,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;IACzE,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;IACxF,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC;CAC1D;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,qBAAqB;IAErD,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAkHtC,KAAK;YAML,QAAQ;YAMR,gBAAgB;CAK/B"}
@@ -28,6 +28,13 @@ export class HomeGraphRoutes {
28
28
  limit: readLimit(url, 100),
29
29
  }));
30
30
  }
31
+ if (pathname === '/api/homeassistant/home-graph/pages' && req.method === 'GET') {
32
+ return Response.json(await this.context.homeGraphService.listPages({
33
+ ...readSpaceFromUrl(url),
34
+ limit: readLimit(url, 100),
35
+ includeMarkdown: readBoolean(url, 'includeMarkdown', true),
36
+ }));
37
+ }
31
38
  if (pathname === '/api/homeassistant/home-graph/browse' && req.method === 'GET') {
32
39
  return Response.json(await this.context.homeGraphService.browse({
33
40
  ...readSpaceFromUrl(url),
@@ -38,9 +45,12 @@ export class HomeGraphRoutes {
38
45
  const body = req.method === 'POST' ? await this.readOptionalBody(req) : {};
39
46
  const result = await this.context.homeGraphService.map({
40
47
  ...readSpaceFromUrl(url),
48
+ ...readMapFiltersFromUrl(url),
41
49
  ...body,
42
50
  limit: readNumber(body.limit) ?? readLimit(url, 500),
43
51
  includeSources: readBooleanValue(body.includeSources) ?? readBoolean(url, 'includeSources', true),
52
+ includeIssues: readBooleanValue(body.includeIssues) ?? readBoolean(url, 'includeIssues', false),
53
+ includeGenerated: readBooleanValue(body.includeGenerated) ?? readBoolean(url, 'includeGenerated', true),
44
54
  });
45
55
  if (url.searchParams.get('format') === 'svg') {
46
56
  return new Response(result.svg, {
@@ -159,3 +169,43 @@ function readBooleanValue(value) {
159
169
  return undefined;
160
170
  return !['0', 'false', 'no', 'off'].includes(value.trim().toLowerCase());
161
171
  }
172
+ function readMapFiltersFromUrl(url) {
173
+ const minConfidence = readNumber(url.searchParams.get('minConfidence'));
174
+ return {
175
+ ...(url.searchParams.get('query') ? { query: url.searchParams.get('query') } : {}),
176
+ ...(minConfidence !== undefined ? { minConfidence } : {}),
177
+ recordKinds: readRecordKinds(url, 'recordKinds', 'recordKind'),
178
+ ids: readList(url, 'ids', 'id'),
179
+ linkedToIds: readList(url, 'linkedToIds', 'linkedToId'),
180
+ nodeKinds: readList(url, 'nodeKinds', 'nodeKind'),
181
+ sourceTypes: readList(url, 'sourceTypes', 'sourceType'),
182
+ sourceStatuses: readList(url, 'sourceStatuses', 'sourceStatus'),
183
+ nodeStatuses: readList(url, 'nodeStatuses', 'nodeStatus'),
184
+ issueCodes: readList(url, 'issueCodes', 'issueCode'),
185
+ issueStatuses: readList(url, 'issueStatuses', 'issueStatus'),
186
+ issueSeverities: readList(url, 'issueSeverities', 'issueSeverity'),
187
+ edgeRelations: readList(url, 'edgeRelations', 'edgeRelation'),
188
+ tags: readList(url, 'tags', 'tag'),
189
+ ha: {
190
+ objectKinds: readList(url, 'haObjectKinds', 'haObjectKind', 'objectKind'),
191
+ entityIds: readList(url, 'entityIds', 'entityId'),
192
+ deviceIds: readList(url, 'deviceIds', 'deviceId'),
193
+ areaIds: readList(url, 'areaIds', 'areaId'),
194
+ integrationIds: readList(url, 'integrationIds', 'integrationId'),
195
+ integrationDomains: readList(url, 'integrationDomains', 'integrationDomain'),
196
+ domains: readList(url, 'domains', 'domain'),
197
+ deviceClasses: readList(url, 'deviceClasses', 'deviceClass'),
198
+ labels: readList(url, 'labels', 'label'),
199
+ },
200
+ };
201
+ }
202
+ function readList(url, ...names) {
203
+ return names
204
+ .flatMap((name) => url.searchParams.getAll(name))
205
+ .flatMap((value) => value.split(','))
206
+ .map((value) => value.trim())
207
+ .filter(Boolean);
208
+ }
209
+ function readRecordKinds(url, ...names) {
210
+ return readList(url, ...names).filter((value) => (value === 'source' || value === 'node' || value === 'issue'));
211
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"extractors.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/extractors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AAmmBD,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,EAC9D,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC,CA4CpC"}
1
+ {"version":3,"file":"extractors.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/knowledge/extractors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5C;AA+eD,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,EAC9D,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC,CA4CpC"}
@@ -2,6 +2,7 @@ import JSZip from 'jszip';
2
2
  import { extname } from 'node:path';
3
3
  import { guessMimeType } from '../artifacts/types.js';
4
4
  import { extractReadableHtml } from './html-readability.js';
5
+ import { extractPdf } from './pdf-extractor.js';
5
6
  const MAX_STRUCTURE_SEARCH_TEXT_CHARS = 128 * 1024;
6
7
  function decodeHtmlEntities(value) {
7
8
  return value
@@ -306,122 +307,6 @@ function extractYaml(buffer) {
306
307
  metadata: {},
307
308
  };
308
309
  }
309
- async function extractPdf(buffer) {
310
- const parsed = await extractPdfWithPdfJs(buffer);
311
- if (parsed)
312
- return parsed;
313
- return extractPdfRawStreams(buffer);
314
- }
315
- async function extractPdfWithPdfJs(buffer) {
316
- try {
317
- const pdfjs = await import('pdfjs-dist/legacy/build/pdf.mjs');
318
- const loadingTask = pdfjs.getDocument({
319
- data: new Uint8Array(buffer),
320
- useSystemFonts: true,
321
- });
322
- const document = await loadingTask.promise;
323
- const pageCount = document.numPages;
324
- const pageTexts = [];
325
- for (let pageNumber = 1; pageNumber <= pageCount; pageNumber += 1) {
326
- const page = await document.getPage(pageNumber);
327
- const content = await page.getTextContent();
328
- const lines = textContentItemsToLines(content.items);
329
- if (lines.length > 0)
330
- pageTexts.push(lines.join('\n'));
331
- page.cleanup();
332
- }
333
- await document.destroy();
334
- const text = cleanText(pageTexts.join('\n\n'));
335
- if (!text)
336
- return undefined;
337
- const searchText = searchTextPayload(text);
338
- return {
339
- extractorId: 'pdfjs',
340
- format: 'pdf',
341
- title: firstNonEmptyLine(text) ?? 'PDF document',
342
- summary: summarizeText(text) ?? 'PDF document.',
343
- excerpt: excerptText(text),
344
- sections: uniqueStrings(text.split(/\n+/), 24),
345
- links: uniqueStrings(Array.from(text.matchAll(/\bhttps?:\/\/[^\s)]+/g), (match) => match[0]), 50),
346
- estimatedTokens: estimateTokens(text),
347
- structure: {
348
- pageCount,
349
- extractedTextChars: text.length,
350
- ...(searchText ? { searchText } : {}),
351
- },
352
- metadata: {
353
- limitations: ['PDF text extraction does not perform OCR for scanned images.'],
354
- },
355
- };
356
- }
357
- catch {
358
- return undefined;
359
- }
360
- }
361
- function textContentItemsToLines(items) {
362
- const lines = [];
363
- let current = '';
364
- for (const item of items) {
365
- const record = unknownRecord(item);
366
- const text = typeof record.str === 'string' ? cleanText(record.str) : '';
367
- if (text)
368
- current = current ? `${current} ${text}` : text;
369
- if (record.hasEOL === true && current) {
370
- lines.push(current);
371
- current = '';
372
- }
373
- }
374
- if (current)
375
- lines.push(current);
376
- return lines;
377
- }
378
- function unknownRecord(value) {
379
- return value && typeof value === 'object' ? value : {};
380
- }
381
- function extractPdfRawStreams(buffer) {
382
- const body = buffer.toString('latin1');
383
- const texts = [];
384
- const streamRe = /stream\r?\n([\s\S]*?)\r?\nendstream/g;
385
- let match;
386
- while ((match = streamRe.exec(body)) !== null) {
387
- const chunk = match[1];
388
- const parenRe = /\(([^)\\]*(?:\\.[^)\\]*)*)\)/g;
389
- let textMatch;
390
- while ((textMatch = parenRe.exec(chunk)) !== null) {
391
- const text = cleanText(textMatch[1]
392
- .replace(/\\n/g, '\n')
393
- .replace(/\\r/g, '\r')
394
- .replace(/\\t/g, '\t')
395
- .replace(/\\\\/g, '\\')
396
- .replace(/\\\(/g, '(')
397
- .replace(/\\\)/g, ')'));
398
- if (text.length > 1)
399
- texts.push(text);
400
- }
401
- }
402
- const combined = uniqueStrings(texts, 64).join('\n');
403
- const searchable = uniqueStrings(texts, 512).join('\n');
404
- const searchText = searchTextPayload(searchable);
405
- return {
406
- extractorId: 'pdf',
407
- format: 'pdf',
408
- title: firstNonEmptyLine(combined) ?? 'PDF document',
409
- summary: summarizeText(combined) ?? 'PDF extraction produced limited text; OCR is not used in-core.',
410
- excerpt: excerptText(combined),
411
- sections: uniqueStrings(combined.split(/\n+/), 8),
412
- links: uniqueStrings(Array.from(combined.matchAll(/\bhttps?:\/\/[^\s)]+/g), (match) => match[0]), 50),
413
- estimatedTokens: estimateTokens(combined),
414
- structure: {
415
- extractedStringCount: texts.length,
416
- ...(searchText ? { searchText } : {}),
417
- },
418
- metadata: {
419
- limitations: texts.length === 0
420
- ? ['No readable text streams were found. Complex PDFs need OCR or a dedicated provider.']
421
- : ['PDF extraction is best-effort and does not use OCR.'],
422
- },
423
- };
424
- }
425
310
  async function extractDocx(buffer) {
426
311
  const zip = await JSZip.loadAsync(buffer);
427
312
  const file = zip.file('word/document.xml');
@@ -0,0 +1,27 @@
1
+ import type { KnowledgeStore } from '../store.js';
2
+ import type { KnowledgeEdgeRecord, KnowledgeExtractionRecord, KnowledgeNodeRecord, KnowledgeSourceRecord } from '../types.js';
3
+ import type { HomeGraphState } from './state.js';
4
+ export interface HomeGraphAutoLinkResult {
5
+ readonly edge: KnowledgeEdgeRecord;
6
+ readonly node: KnowledgeNodeRecord;
7
+ readonly relation: string;
8
+ readonly score: number;
9
+ readonly reasons: readonly string[];
10
+ }
11
+ export declare function autoLinkHomeGraphSource(input: {
12
+ readonly store: KnowledgeStore;
13
+ readonly spaceId: string;
14
+ readonly installationId: string;
15
+ readonly source: KnowledgeSourceRecord;
16
+ readonly extraction?: KnowledgeExtractionRecord;
17
+ readonly state: HomeGraphState;
18
+ }): Promise<HomeGraphAutoLinkResult | undefined>;
19
+ export declare function autoLinkHomeGraphSources(input: {
20
+ readonly store: KnowledgeStore;
21
+ readonly spaceId: string;
22
+ readonly installationId: string;
23
+ readonly sources: readonly KnowledgeSourceRecord[];
24
+ readonly extractionBySourceId: ReadonlyMap<string, KnowledgeExtractionRecord>;
25
+ readonly state: HomeGraphState;
26
+ }): Promise<readonly HomeGraphAutoLinkResult[]>;
27
+ //# sourceMappingURL=auto-link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-link.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/home-graph/auto-link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOjD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,yBAAyB,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CA2B/C;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACnD,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC9E,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC,GAAG,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC,CAiB9C"}