@pellux/goodvibes-sdk 0.28.14 → 0.28.16
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.
- package/dist/_internal/contracts/artifacts/operator-contract.json +19 -1
- package/dist/_internal/contracts/generated/foundation-metadata.d.ts +1 -1
- package/dist/_internal/contracts/generated/foundation-metadata.js +1 -1
- package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
- package/dist/_internal/contracts/generated/operator-contract.js +19 -1
- package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.d.ts.map +1 -1
- package/dist/_internal/platform/control-plane/operator-contract-schemas-knowledge.js +1 -0
- package/dist/_internal/platform/knowledge/home-graph/generated-pages.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/home-graph/generated-pages.js +13 -4
- package/dist/_internal/platform/knowledge/home-graph/service.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/home-graph/service.js +48 -46
- package/dist/_internal/platform/knowledge/semantic/answer-fallback.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/semantic/answer-fallback.js +18 -4
- package/dist/_internal/platform/knowledge/semantic/answer.js +3 -0
- package/dist/_internal/platform/knowledge/semantic/gap-repair.js +11 -4
- package/dist/_internal/platform/knowledge/semantic/self-improvement-promotion.d.ts +11 -0
- package/dist/_internal/platform/knowledge/semantic/self-improvement-promotion.d.ts.map +1 -0
- package/dist/_internal/platform/knowledge/semantic/self-improvement-promotion.js +256 -0
- package/dist/_internal/platform/knowledge/semantic/self-improvement-tasks.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/semantic/self-improvement-tasks.js +9 -1
- package/dist/_internal/platform/knowledge/semantic/self-improvement.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/semantic/self-improvement.js +13 -46
- package/dist/_internal/platform/knowledge/semantic/service.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/semantic/service.js +55 -10
- package/dist/_internal/platform/knowledge/store-refinement.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/store-refinement.js +8 -0
- package/dist/_internal/platform/knowledge/store-schema.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/store-schema.js +6 -1
- package/dist/_internal/platform/knowledge/store.d.ts +1 -0
- package/dist/_internal/platform/knowledge/store.d.ts.map +1 -1
- package/dist/_internal/platform/knowledge/store.js +1 -0
- package/dist/_internal/platform/knowledge/types.d.ts +2 -0
- package/dist/_internal/platform/knowledge/types.d.ts.map +1 -1
- package/dist/_internal/platform/state/sqlite-store.d.ts +3 -0
- package/dist/_internal/platform/state/sqlite-store.d.ts.map +1 -1
- package/dist/_internal/platform/state/sqlite-store.js +19 -0
- package/dist/_internal/platform/version.js +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"product": {
|
|
4
4
|
"id": "goodvibes",
|
|
5
5
|
"surface": "operator",
|
|
6
|
-
"version": "0.28.
|
|
6
|
+
"version": "0.28.16"
|
|
7
7
|
},
|
|
8
8
|
"auth": {
|
|
9
9
|
"modes": [
|
|
@@ -28903,6 +28903,9 @@
|
|
|
28903
28903
|
"blockedReason": {
|
|
28904
28904
|
"type": "string"
|
|
28905
28905
|
},
|
|
28906
|
+
"nextRepairAttemptAt": {
|
|
28907
|
+
"type": "number"
|
|
28908
|
+
},
|
|
28906
28909
|
"trace": {
|
|
28907
28910
|
"type": "array",
|
|
28908
28911
|
"items": {
|
|
@@ -29118,6 +29121,9 @@
|
|
|
29118
29121
|
"blockedReason": {
|
|
29119
29122
|
"type": "string"
|
|
29120
29123
|
},
|
|
29124
|
+
"nextRepairAttemptAt": {
|
|
29125
|
+
"type": "number"
|
|
29126
|
+
},
|
|
29121
29127
|
"trace": {
|
|
29122
29128
|
"type": "array",
|
|
29123
29129
|
"items": {
|
|
@@ -29336,6 +29342,9 @@
|
|
|
29336
29342
|
"blockedReason": {
|
|
29337
29343
|
"type": "string"
|
|
29338
29344
|
},
|
|
29345
|
+
"nextRepairAttemptAt": {
|
|
29346
|
+
"type": "number"
|
|
29347
|
+
},
|
|
29339
29348
|
"trace": {
|
|
29340
29349
|
"type": "array",
|
|
29341
29350
|
"items": {
|
|
@@ -39697,6 +39706,9 @@
|
|
|
39697
39706
|
"blockedReason": {
|
|
39698
39707
|
"type": "string"
|
|
39699
39708
|
},
|
|
39709
|
+
"nextRepairAttemptAt": {
|
|
39710
|
+
"type": "number"
|
|
39711
|
+
},
|
|
39700
39712
|
"trace": {
|
|
39701
39713
|
"type": "array",
|
|
39702
39714
|
"items": {
|
|
@@ -39888,6 +39900,9 @@
|
|
|
39888
39900
|
"blockedReason": {
|
|
39889
39901
|
"type": "string"
|
|
39890
39902
|
},
|
|
39903
|
+
"nextRepairAttemptAt": {
|
|
39904
|
+
"type": "number"
|
|
39905
|
+
},
|
|
39891
39906
|
"trace": {
|
|
39892
39907
|
"type": "array",
|
|
39893
39908
|
"items": {
|
|
@@ -40096,6 +40111,9 @@
|
|
|
40096
40111
|
"blockedReason": {
|
|
40097
40112
|
"type": "string"
|
|
40098
40113
|
},
|
|
40114
|
+
"nextRepairAttemptAt": {
|
|
40115
|
+
"type": "number"
|
|
40116
|
+
},
|
|
40099
40117
|
"trace": {
|
|
40100
40118
|
"type": "array",
|
|
40101
40119
|
"items": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Synced from packages/contracts/src/generated/foundation-metadata.ts
|
|
2
2
|
export const FOUNDATION_METADATA = {
|
|
3
3
|
"productId": "goodvibes",
|
|
4
|
-
"productVersion": "0.28.
|
|
4
|
+
"productVersion": "0.28.16",
|
|
5
5
|
"operatorMethodCount": 265,
|
|
6
6
|
"operatorEventCount": 30,
|
|
7
7
|
"peerEndpointCount": 6
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator-contract.d.ts","sourceRoot":"","sources":["../../../../src/_internal/contracts/generated/operator-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"operator-contract.d.ts","sourceRoot":"","sources":["../../../../src/_internal/contracts/generated/operator-contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,wBAwsmEtB,CAAC"}
|
|
@@ -3,7 +3,7 @@ export const OPERATOR_CONTRACT = {
|
|
|
3
3
|
"product": {
|
|
4
4
|
"id": "goodvibes",
|
|
5
5
|
"surface": "operator",
|
|
6
|
-
"version": "0.28.
|
|
6
|
+
"version": "0.28.16"
|
|
7
7
|
},
|
|
8
8
|
"auth": {
|
|
9
9
|
"modes": [
|
|
@@ -28903,6 +28903,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
28903
28903
|
"blockedReason": {
|
|
28904
28904
|
"type": "string"
|
|
28905
28905
|
},
|
|
28906
|
+
"nextRepairAttemptAt": {
|
|
28907
|
+
"type": "number"
|
|
28908
|
+
},
|
|
28906
28909
|
"trace": {
|
|
28907
28910
|
"type": "array",
|
|
28908
28911
|
"items": {
|
|
@@ -29118,6 +29121,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
29118
29121
|
"blockedReason": {
|
|
29119
29122
|
"type": "string"
|
|
29120
29123
|
},
|
|
29124
|
+
"nextRepairAttemptAt": {
|
|
29125
|
+
"type": "number"
|
|
29126
|
+
},
|
|
29121
29127
|
"trace": {
|
|
29122
29128
|
"type": "array",
|
|
29123
29129
|
"items": {
|
|
@@ -29336,6 +29342,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
29336
29342
|
"blockedReason": {
|
|
29337
29343
|
"type": "string"
|
|
29338
29344
|
},
|
|
29345
|
+
"nextRepairAttemptAt": {
|
|
29346
|
+
"type": "number"
|
|
29347
|
+
},
|
|
29339
29348
|
"trace": {
|
|
29340
29349
|
"type": "array",
|
|
29341
29350
|
"items": {
|
|
@@ -39697,6 +39706,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
39697
39706
|
"blockedReason": {
|
|
39698
39707
|
"type": "string"
|
|
39699
39708
|
},
|
|
39709
|
+
"nextRepairAttemptAt": {
|
|
39710
|
+
"type": "number"
|
|
39711
|
+
},
|
|
39700
39712
|
"trace": {
|
|
39701
39713
|
"type": "array",
|
|
39702
39714
|
"items": {
|
|
@@ -39888,6 +39900,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
39888
39900
|
"blockedReason": {
|
|
39889
39901
|
"type": "string"
|
|
39890
39902
|
},
|
|
39903
|
+
"nextRepairAttemptAt": {
|
|
39904
|
+
"type": "number"
|
|
39905
|
+
},
|
|
39891
39906
|
"trace": {
|
|
39892
39907
|
"type": "array",
|
|
39893
39908
|
"items": {
|
|
@@ -40096,6 +40111,9 @@ export const OPERATOR_CONTRACT = {
|
|
|
40096
40111
|
"blockedReason": {
|
|
40097
40112
|
"type": "string"
|
|
40098
40113
|
},
|
|
40114
|
+
"nextRepairAttemptAt": {
|
|
40115
|
+
"type": "number"
|
|
40116
|
+
},
|
|
40099
40117
|
"trace": {
|
|
40100
40118
|
"type": "array",
|
|
40101
40119
|
"items": {
|
|
@@ -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":"AAwBA,eAAO,MAAM,qCAAqC,yBAA6C,CAAC;AAChG,eAAO,MAAM,iCAAiC,yBAAqC,CAAC;AACpF,eAAO,MAAM,oCAAoC,yBAA4B,CAAC;AAC9E,eAAO,MAAM,sCAAsC,yBAAqE,CAAC;AACzH,eAAO,MAAM,4BAA4B,yBAWvC,CAAC;AACH,eAAO,MAAM,8BAA8B,yBAAkD,CAAC;AAC9F,eAAO,MAAM,yBAAyB,yBAAuC,CAAC;AAC9E,eAAO,MAAM,2BAA2B,yBAA2D,CAAC;AACpG,eAAO,MAAM,sCAAsC,yBAcjD,CAAC;AACH,eAAO,MAAM,wCAAwC,yBAOnD,CAAC;AACH,eAAO,MAAM,yCAAyC,yBAAkD,CAAC;AACzG,eAAO,MAAM,yBAAyB,yBAWpC,CAAC;AACH,eAAO,MAAM,uCAAuC,yBAAgD,CAAC;AACrG,eAAO,MAAM,2CAA2C,yBAAmE,CAAC;AAC5H,eAAO,MAAM,6CAA6C,yBAQxD,CAAC;AACH,eAAO,MAAM,wCAAwC,yBAAuC,CAAC;AAwB7F,eAAO,MAAM,oCAAoC;;CAMvC,CAAC;AACX,eAAO,MAAM,+BAA+B;;CAOlC,CAAC;AA2DX,eAAO,MAAM,+BAA+B;;CAYlC,CAAC;AACX,eAAO,MAAM,gCAAgC,yBAIN,CAAC;AACxC,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiB1C,CAAC;AACX,eAAO,MAAM,qCAAqC,yBAOM,CAAC;AACzD,eAAO,MAAM,0BAA0B,yBAY4H,CAAC;AACpK,eAAO,MAAM,iCAAiC,yBAGI,CAAC;AAEnD,eAAO,MAAM,uBAAuB,yBAoB2F,CAAC;AAEhI,eAAO,MAAM,qBAAqB,yBAa0G,CAAC;AAE7I,eAAO,MAAM,sBAAsB,yBAWsF,CAAC;AAE1H,eAAO,MAAM,qBAAqB,yBAW4G,CAAC;AAE/I,eAAO,MAAM,2BAA2B,yBAgBkI,CAAC;AAE3K,eAAO,MAAM,uBAAuB,yBAciL,CAAC;AAEtN,eAAO,MAAM,gCAAgC,
|
|
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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"}
|
|
@@ -328,6 +328,7 @@ export const KNOWLEDGE_REFINEMENT_TASK_SCHEMA = objectSchema({
|
|
|
328
328
|
budget: recordSchema(NUMBER_SCHEMA),
|
|
329
329
|
attemptCount: NUMBER_SCHEMA,
|
|
330
330
|
blockedReason: STRING_SCHEMA,
|
|
331
|
+
nextRepairAttemptAt: NUMBER_SCHEMA,
|
|
331
332
|
trace: GENERIC_LIST_SCHEMA,
|
|
332
333
|
metadata: METADATA_SCHEMA,
|
|
333
334
|
createdAt: NUMBER_SCHEMA,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generated-pages.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/home-graph/generated-pages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsClD,OAAO,KAAK,EACV,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"generated-pages.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/home-graph/generated-pages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAsClD,OAAO,KAAK,EACV,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAQnE,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,oBAAoB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;CAAE,GACzE,OAAO,CAAC,8BAA8B,CAAC,CAoBzC;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,8BAA8B,CAAC,CAEzC;AA+FD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,oBAAoB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,GAC3E,OAAO,CAAC,6BAA6B,GAAG;IAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC,CA6EhF;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,oBAAoB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,GAC3E,OAAO,CAAC,yBAAyB,GAAG;IAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC,CAsC5E;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,oBAAoB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE,GAC3E,OAAO,CAAC,yBAAyB,GAAG;IAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC,CAyB5E"}
|
|
@@ -9,12 +9,16 @@ export const HOME_GRAPH_PAGE_POLICY_VERSION = 'homegraph-pages-v7';
|
|
|
9
9
|
const DEFAULT_SYNC_DEVICE_PASSPORT_LIMIT = 32;
|
|
10
10
|
const DEFAULT_SYNC_ROOM_PAGE_LIMIT = 12;
|
|
11
11
|
const DEFAULT_SYNC_PAGE_RUN_MS = 15_000;
|
|
12
|
+
const MAX_FOREGROUND_SYNC_DEVICE_PASSPORTS = 32;
|
|
13
|
+
const MAX_FOREGROUND_SYNC_ROOM_PAGES = 12;
|
|
14
|
+
const MAX_FOREGROUND_SYNC_PAGE_RUN_MS = 30_000;
|
|
12
15
|
export async function generateAutomaticHomeGraphPages(context) {
|
|
16
|
+
const requested = context.input.pageAutomation ?? {};
|
|
13
17
|
return generateHomeGraphPagesForCurrentState(context, {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
...requested,
|
|
19
|
+
maxDevicePassports: clampForegroundLimit(requested.maxDevicePassports, DEFAULT_SYNC_DEVICE_PASSPORT_LIMIT, MAX_FOREGROUND_SYNC_DEVICE_PASSPORTS),
|
|
20
|
+
maxRoomPages: clampForegroundLimit(requested.maxRoomPages, DEFAULT_SYNC_ROOM_PAGE_LIMIT, MAX_FOREGROUND_SYNC_ROOM_PAGES),
|
|
21
|
+
maxRunMs: clampForegroundLimit(requested.maxRunMs, DEFAULT_SYNC_PAGE_RUN_MS, MAX_FOREGROUND_SYNC_PAGE_RUN_MS),
|
|
18
22
|
});
|
|
19
23
|
}
|
|
20
24
|
export async function refreshAutomaticHomeGraphPages(context) {
|
|
@@ -373,6 +377,11 @@ function limitRecords(records, limit) {
|
|
|
373
377
|
return records;
|
|
374
378
|
return records.slice(0, Math.max(0, Math.trunc(limit)));
|
|
375
379
|
}
|
|
380
|
+
function clampForegroundLimit(value, fallback, max) {
|
|
381
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
382
|
+
return fallback;
|
|
383
|
+
return Math.max(0, Math.min(max, Math.trunc(value)));
|
|
384
|
+
}
|
|
376
385
|
function readHomeAssistantObjectId(node, ...keys) {
|
|
377
386
|
const homeAssistant = readRecord(node.metadata.homeAssistant);
|
|
378
387
|
for (const key of keys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/home-graph/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EACV,mBAAmB,EAEnB,oBAAoB,EACpB,mBAAmB,EAEnB,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAmBrB,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAO9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAiCrE,OAAO,KAAK,EACV,iBAAiB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,eAAe,EACrF,4BAA4B,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,uBAAuB,EAC5E,kBAAkB,EAAE,mBAAmB,EACjE,iBAAiB,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAC1F,uBAAuB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAC5J,sBAAsB,EAAE,eAAe,EAAE,mBAAmB,EAC7D,MAAM,YAAY,CAAC;AAEpB,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,sBAAsB,CAAqB;gBAEhC,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,aAAa,EAC5B,OAAO,GAAE;QAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAA;KAAO;IAGlF,MAAM,CAAC,KAAK,GAAE;QAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAItH,YAAY,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/home-graph/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,53 +35,55 @@ export class HomeGraphService {
|
|
|
35
35
|
}
|
|
36
36
|
async syncSnapshot(input) {
|
|
37
37
|
await this.store.init();
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
38
|
+
return this.store.batch(async () => {
|
|
39
|
+
const { spaceId, installationId } = resolveHomeGraphSpace(input);
|
|
40
|
+
const capturedAt = input.capturedAt ?? Date.now();
|
|
41
|
+
const source = await this.store.upsertSource({
|
|
42
|
+
id: homeGraphSourceId(spaceId, 'snapshot', String(capturedAt)),
|
|
43
|
+
connectorId: HOME_GRAPH_CONNECTOR_ID,
|
|
44
|
+
sourceType: 'dataset',
|
|
45
|
+
title: input.title ?? 'Home Assistant snapshot',
|
|
46
|
+
canonicalUri: namespacedCanonicalUri(spaceId, 'snapshot', String(capturedAt)),
|
|
47
|
+
summary: 'Home Assistant entity, device, area, automation, script, scene, label, and integration snapshot.',
|
|
48
|
+
tags: ['homeassistant', 'home-graph', 'snapshot'],
|
|
49
|
+
status: 'indexed',
|
|
50
|
+
lastCrawledAt: capturedAt,
|
|
51
|
+
metadata: buildHomeGraphMetadata(spaceId, installationId, {
|
|
52
|
+
...(input.metadata ?? {}),
|
|
53
|
+
homeGraphSourceKind: 'snapshot',
|
|
54
|
+
capturedAt,
|
|
55
|
+
}),
|
|
56
|
+
});
|
|
57
|
+
const home = await this.upsertHomeNode(spaceId, installationId, input);
|
|
58
|
+
const beforeNodeIds = new Set(readHomeGraphState(this.store, spaceId).nodes.map((node) => node.id));
|
|
59
|
+
const beforeEdgeIds = new Set(readHomeGraphState(this.store, spaceId).edges.map((edge) => edge.id));
|
|
60
|
+
const groups = await this.upsertSnapshotObjects(spaceId, installationId, input, home.id, source.id);
|
|
61
|
+
await this.autoLinkExistingSources(spaceId, installationId);
|
|
62
|
+
const issues = await this.refreshQualityIssues(spaceId, installationId);
|
|
63
|
+
this.scheduleSyncSelfImprovement(spaceId);
|
|
64
|
+
const generated = await generateAutomaticHomeGraphPages({
|
|
65
|
+
store: this.store,
|
|
66
|
+
artifactStore: this.artifactStore,
|
|
67
|
+
spaceId,
|
|
68
|
+
installationId,
|
|
69
|
+
input,
|
|
70
|
+
});
|
|
71
|
+
const after = readHomeGraphState(this.store, spaceId);
|
|
72
|
+
return {
|
|
73
|
+
ok: true,
|
|
74
|
+
spaceId,
|
|
75
|
+
installationId,
|
|
76
|
+
source,
|
|
77
|
+
home,
|
|
78
|
+
created: {
|
|
79
|
+
nodes: after.nodes.filter((node) => !beforeNodeIds.has(node.id)).length,
|
|
80
|
+
edges: after.edges.filter((edge) => !beforeEdgeIds.has(edge.id)).length,
|
|
81
|
+
issues: issues.length,
|
|
82
|
+
},
|
|
83
|
+
generated,
|
|
84
|
+
counts: groups,
|
|
85
|
+
};
|
|
69
86
|
});
|
|
70
|
-
const after = readHomeGraphState(this.store, spaceId);
|
|
71
|
-
return {
|
|
72
|
-
ok: true,
|
|
73
|
-
spaceId,
|
|
74
|
-
installationId,
|
|
75
|
-
source,
|
|
76
|
-
home,
|
|
77
|
-
created: {
|
|
78
|
-
nodes: after.nodes.filter((node) => !beforeNodeIds.has(node.id)).length,
|
|
79
|
-
edges: after.edges.filter((edge) => !beforeEdgeIds.has(edge.id)).length,
|
|
80
|
-
issues: issues.length,
|
|
81
|
-
},
|
|
82
|
-
generated,
|
|
83
|
-
counts: groups,
|
|
84
|
-
};
|
|
85
87
|
}
|
|
86
88
|
async ingestUrl(input) {
|
|
87
89
|
const { spaceId, installationId } = resolveHomeGraphSpace(input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer-fallback.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/semantic/answer-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,sBAAsB,EAAE,EAC3C,KAAK,EAAE,SAAS,mBAAmB,EAAE,GACpC,cAAc,
|
|
1
|
+
{"version":3,"file":"answer-fallback.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/semantic/answer-fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,sBAAsB,EAAE,EAC3C,KAAK,EAAE,SAAS,mBAAmB,EAAE,GACpC,cAAc,CAuBhB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { clampText, readString } from './utils.js';
|
|
1
|
+
import { clampText, normalizeWhitespace, readString } from './utils.js';
|
|
2
2
|
export function renderFallbackAnswer(query, mode, evidence, facts) {
|
|
3
3
|
const factLimit = mode === 'detailed' ? 12 : mode === 'concise' ? 3 : 8;
|
|
4
4
|
const factPhrases = facts.slice(0, factLimit).map(renderFactPhrase).filter(Boolean);
|
|
@@ -8,11 +8,19 @@ export function renderFallbackAnswer(query, mode, evidence, facts) {
|
|
|
8
8
|
text: `The source-backed facts I found indicate ${joinFactPhrases(factPhrases)}.`,
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
-
const
|
|
12
|
-
.
|
|
11
|
+
const evidencePhrases = evidence
|
|
12
|
+
.slice(0, mode === 'detailed' ? 8 : mode === 'concise' ? 2 : 5)
|
|
13
|
+
.map(renderEvidencePhrase)
|
|
14
|
+
.filter(Boolean);
|
|
15
|
+
if (evidencePhrases.length > 0) {
|
|
16
|
+
return {
|
|
17
|
+
synthesized: true,
|
|
18
|
+
text: `The indexed evidence currently indicates ${joinFactPhrases(evidencePhrases)}. It does not yet contain enough extracted source-backed facts to answer every part of "${query}".`,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
13
21
|
return {
|
|
14
22
|
synthesized: false,
|
|
15
|
-
text:
|
|
23
|
+
text: `No knowledge matched "${query}".`,
|
|
16
24
|
};
|
|
17
25
|
}
|
|
18
26
|
function renderFactPhrase(fact) {
|
|
@@ -29,3 +37,9 @@ function joinFactPhrases(phrases) {
|
|
|
29
37
|
return `${phrases[0]} and ${phrases[1]}`;
|
|
30
38
|
return `${phrases.slice(0, -1).join('; ')}; and ${phrases[phrases.length - 1]}`;
|
|
31
39
|
}
|
|
40
|
+
function renderEvidencePhrase(item) {
|
|
41
|
+
const excerpt = normalizeWhitespace(item.excerpt ?? '');
|
|
42
|
+
if (!excerpt)
|
|
43
|
+
return item.title;
|
|
44
|
+
return `${item.title}: ${clampText(excerpt, 260)}`;
|
|
45
|
+
}
|
|
@@ -314,7 +314,10 @@ function factQuality(fact) {
|
|
|
314
314
|
const extractor = readString(fact.metadata.extractor);
|
|
315
315
|
const kind = readString(fact.metadata.factKind);
|
|
316
316
|
const value = readString(fact.metadata.value);
|
|
317
|
+
const authority = readString(fact.metadata.sourceAuthority);
|
|
317
318
|
return (extractor === 'llm' ? 40 : 0)
|
|
319
|
+
+ (extractor === 'repair-promotion' ? 34 : 0)
|
|
320
|
+
+ (authority === 'official-vendor' ? 24 : authority === 'vendor' ? 14 : 0)
|
|
318
321
|
+ (value ? 12 : 0)
|
|
319
322
|
+ (kind === 'capability' || kind === 'feature' ? 8 : kind === 'specification' ? 6 : 0)
|
|
320
323
|
+ Math.round(fact.confidence / 10);
|
|
@@ -18,6 +18,7 @@ async function repairKnowledgeGapsWithWeb(request, options) {
|
|
|
18
18
|
const sourceLimit = Math.max(2, Math.min(5, request.maxSources ?? options.maxSources ?? options.maxIngest ?? 5));
|
|
19
19
|
const searchLimit = Math.max(1, Math.min(5, options.maxSearches ?? queries.length));
|
|
20
20
|
const existingCandidates = selectExistingRepairSources(request, options, sourceLimit);
|
|
21
|
+
const acceptedExisting = candidateCanonicalUris(existingCandidates);
|
|
21
22
|
const searchResults = new Map();
|
|
22
23
|
const providerIds = new Set();
|
|
23
24
|
let lastError;
|
|
@@ -47,7 +48,7 @@ async function repairKnowledgeGapsWithWeb(request, options) {
|
|
|
47
48
|
continue;
|
|
48
49
|
searchResults.set(canonical, { ...result, searchQuery: query, searchProviderId: response.providerId });
|
|
49
50
|
}
|
|
50
|
-
const partial = mergeRepairCandidates(existingCandidates, selectGapRepairCandidates([...searchResults.values()],
|
|
51
|
+
const partial = mergeRepairCandidates(existingCandidates, selectGapRepairCandidates([...searchResults.values()], acceptedExisting, options, request, sourceLimit), sourceLimit);
|
|
51
52
|
if (hasEnoughRepairEvidence(partial, options))
|
|
52
53
|
break;
|
|
53
54
|
}
|
|
@@ -58,7 +59,7 @@ async function repairKnowledgeGapsWithWeb(request, options) {
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
const allResults = [...searchResults.values()];
|
|
61
|
-
const candidates = mergeRepairCandidates(existingCandidates, selectGapRepairCandidates(allResults,
|
|
62
|
+
const candidates = mergeRepairCandidates(existingCandidates, selectGapRepairCandidates(allResults, acceptedExisting, options, request, sourceLimit), sourceLimit);
|
|
62
63
|
if (!hasEnoughRepairEvidence(candidates, options)) {
|
|
63
64
|
return {
|
|
64
65
|
searched: true,
|
|
@@ -228,7 +229,7 @@ function selectExistingRepairSources(request, options, sourceLimit) {
|
|
|
228
229
|
const minimumConfidence = Math.max(1, Math.min(100, options.minConfidence ?? 70));
|
|
229
230
|
const byDomain = new Map();
|
|
230
231
|
for (const source of request.sources) {
|
|
231
|
-
if (source.status !== 'indexed' || isGeneratedOrSyntheticSource(source))
|
|
232
|
+
if ((source.status !== 'indexed' && source.status !== 'pending') || isGeneratedOrSyntheticSource(source))
|
|
232
233
|
continue;
|
|
233
234
|
const url = source.sourceUri ?? source.canonicalUri;
|
|
234
235
|
if (!url)
|
|
@@ -251,7 +252,10 @@ function selectExistingRepairSources(request, options, sourceLimit) {
|
|
|
251
252
|
...(snippet ? { snippet } : {}),
|
|
252
253
|
};
|
|
253
254
|
const assessment = assessGapRepairSource(result, request.query, request);
|
|
254
|
-
|
|
255
|
+
const officialOrVendor = isOfficialOrVendorSource(assessment.reasons);
|
|
256
|
+
if (source.status !== 'indexed' && !officialOrVendor)
|
|
257
|
+
continue;
|
|
258
|
+
if (assessment.confidence < minimumConfidence && !officialOrVendor)
|
|
255
259
|
continue;
|
|
256
260
|
byDomain.set(domain, {
|
|
257
261
|
...result,
|
|
@@ -262,6 +266,9 @@ function selectExistingRepairSources(request, options, sourceLimit) {
|
|
|
262
266
|
}
|
|
263
267
|
return [...byDomain.values()].sort(compareRepairCandidates).slice(0, sourceLimit);
|
|
264
268
|
}
|
|
269
|
+
function candidateCanonicalUris(candidates) {
|
|
270
|
+
return new Set(candidates.map((candidate) => canonicalizeUri(candidate.url)).filter((value) => Boolean(value)));
|
|
271
|
+
}
|
|
265
272
|
function assessGapRepairSource(result, query, request) {
|
|
266
273
|
const searchable = [result.title, result.snippet, result.url, result.domain].filter(Boolean).join(' ').toLowerCase();
|
|
267
274
|
const reasons = [];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { KnowledgeStore } from '../store.js';
|
|
2
|
+
import type { KnowledgeNodeRecord, KnowledgeRefinementTaskRecord } from '../types.js';
|
|
3
|
+
export interface SelfImprovePromotionContext {
|
|
4
|
+
readonly store: KnowledgeStore;
|
|
5
|
+
readonly enrichSource?: (sourceId: string, options: {
|
|
6
|
+
readonly force?: boolean;
|
|
7
|
+
readonly knowledgeSpaceId?: string;
|
|
8
|
+
}) => Promise<unknown>;
|
|
9
|
+
}
|
|
10
|
+
export declare function promoteRepairSources(context: SelfImprovePromotionContext, spaceId: string, gap: KnowledgeNodeRecord, sourceIds: readonly string[], task: KnowledgeRefinementTaskRecord, deadlineAt: number): Promise<number>;
|
|
11
|
+
//# sourceMappingURL=self-improvement-promotion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-improvement-promotion.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/knowledge/semantic/self-improvement-promotion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAEV,mBAAmB,EACnB,6BAA6B,EAE9B,MAAM,aAAa,CAAC;AAiBrB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3I;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,EACpC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,IAAI,EAAE,6BAA6B,EACnC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
|