@memberjunction/content-autotagging 6.2.0-edge.0 → 6.2.0-edge.2
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/CloudStorage/providers/AutotagAzureBlob.d.ts +4 -0
- package/dist/CloudStorage/providers/AutotagAzureBlob.d.ts.map +1 -1
- package/dist/CloudStorage/providers/AutotagAzureBlob.js +13 -5
- package/dist/CloudStorage/providers/AutotagAzureBlob.js.map +1 -1
- package/dist/CloudStorage/providers/AutotagCloudStorage.d.ts +8 -8
- package/dist/CloudStorage/providers/AutotagCloudStorage.js +17 -17
- package/dist/Engine/generic/AutotagBaseEngine.d.ts +100 -13
- package/dist/Engine/generic/AutotagBaseEngine.d.ts.map +1 -1
- package/dist/Engine/generic/AutotagBaseEngine.js +232 -85
- package/dist/Engine/generic/AutotagBaseEngine.js.map +1 -1
- package/dist/Engine/generic/FieldPathResolver.d.ts +35 -2
- package/dist/Engine/generic/FieldPathResolver.d.ts.map +1 -1
- package/dist/Engine/generic/FieldPathResolver.js +53 -9
- package/dist/Engine/generic/FieldPathResolver.js.map +1 -1
- package/dist/Engine/generic/RunBudget.d.ts +22 -0
- package/dist/Engine/generic/RunBudget.d.ts.map +1 -1
- package/dist/Engine/generic/RunBudget.js +40 -8
- package/dist/Engine/generic/RunBudget.js.map +1 -1
- package/dist/Engine/generic/ScopeContextResolver.d.ts +4 -0
- package/dist/Engine/generic/ScopeContextResolver.d.ts.map +1 -1
- package/dist/Engine/generic/ScopeContextResolver.js +10 -2
- package/dist/Engine/generic/ScopeContextResolver.js.map +1 -1
- package/dist/Entity/generic/AutotagEntity.d.ts +12 -12
- package/dist/Entity/generic/AutotagEntity.js +24 -24
- package/dist/LocalFileSystem/generic/AutotagLocalFileSystem.d.ts +8 -0
- package/dist/LocalFileSystem/generic/AutotagLocalFileSystem.d.ts.map +1 -1
- package/dist/LocalFileSystem/generic/AutotagLocalFileSystem.js +23 -7
- package/dist/LocalFileSystem/generic/AutotagLocalFileSystem.js.map +1 -1
- package/dist/RSSFeed/generic/AutotagRSSFeed.d.ts +6 -6
- package/dist/RSSFeed/generic/AutotagRSSFeed.js +12 -12
- package/dist/Websites/generic/AutotagWebsite.d.ts +11 -0
- package/dist/Websites/generic/AutotagWebsite.d.ts.map +1 -1
- package/dist/Websites/generic/AutotagWebsite.js +24 -8
- package/dist/Websites/generic/AutotagWebsite.js.map +1 -1
- package/package.json +19 -19
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseEngineRegistry, LogError } from '@memberjunction/core';
|
|
2
|
-
import { NormalizeUUID, UUIDsEqual } from '@memberjunction/global';
|
|
2
|
+
import { EscapeSQLString, NormalizeUUID, UUIDsEqual } from '@memberjunction/global';
|
|
3
3
|
/**
|
|
4
4
|
* Resolves per-record values for field paths rooted at a batch of records — the generic
|
|
5
5
|
* machinery behind provider-declared source-record dependencies (see
|
|
@@ -161,17 +161,54 @@ export class FieldPathResolver {
|
|
|
161
161
|
/**
|
|
162
162
|
* Load rows for a set of PK values. Per MJ convention, a loaded engine's full-set cache is
|
|
163
163
|
* consulted first (BaseEngineRegistry) — e.g. ContentSources are already cached by
|
|
164
|
-
* KnowledgeHubMetadataEngine, so the common hop resolves with zero queries.
|
|
165
|
-
* `PK IN (...)` RunView. Returns null (not []) on query
|
|
164
|
+
* KnowledgeHubMetadataEngine, so the common hop resolves with zero queries. Any key the cache
|
|
165
|
+
* does not hold is then fetched with one `PK IN (...)` RunView. Returns null (not []) on query
|
|
166
|
+
* failure with nothing cached to fall back on.
|
|
167
|
+
*
|
|
168
|
+
* ── A CACHE MISS IS "UNKNOWN", NOT "ABSENT" ─────────────────────────────────────────────────
|
|
169
|
+
* This used to return the cache's answer whole whenever any engine cached the entity. That
|
|
170
|
+
* answer is a FILTERED SUBSET, so a key the cache had never heard of came back as an empty
|
|
171
|
+
* result — indistinguishable from "no such row" — and the RunView that would have found it was
|
|
172
|
+
* never reached.
|
|
173
|
+
*
|
|
174
|
+
* A `BaseEngine` full-set cache is complete only as of the moment it loaded. It refreshes on
|
|
175
|
+
* local entity saves, but unless Redis cross-server cache sync is configured, nothing tells it
|
|
176
|
+
* about a row another PROCESS inserted. So on any deployment that writes through a second
|
|
177
|
+
* process — a worker, an importer, a sibling API instance — every record created after the
|
|
178
|
+
* reader booted resolves to nothing for the lifetime of that process.
|
|
179
|
+
*
|
|
180
|
+
* That is not a cosmetic miss. This resolver feeds `GetSourceRecordFieldPaths`, whose values
|
|
181
|
+
* route a record to its tenant partition, and a driver that requires one is entitled to fail
|
|
182
|
+
* closed when it is missing — so the symptom is a total, silent refusal to write, reported as
|
|
183
|
+
* if the related record did not exist. Observed in production 2026-09-24: a content source
|
|
184
|
+
* created after the vectorization worker booted left every one of its items unembeddable, with
|
|
185
|
+
* a correct row sitting in the database the whole time.
|
|
186
|
+
*
|
|
187
|
+
* The fast path is unchanged when the cache genuinely covers the batch; only the keys it did
|
|
188
|
+
* not produce are queried, so a cold row costs one extra `IN (...)` rather than a full reload.
|
|
189
|
+
*
|
|
190
|
+
* Expected cost, not a regression: for an engine-cached IS-A CHILD entity, most keys are
|
|
191
|
+
* legitimately absent (with disjoint subtypes a record has a row in at most one child), so each
|
|
192
|
+
* such key now counts as missing and costs one `IN (...)` per child per batch where it used to
|
|
193
|
+
* cost nothing. It is bounded by the per-pass `recordCache` (a key is fetched at most once per
|
|
194
|
+
* resolver), and only engine-cached child entities pay it at all.
|
|
166
195
|
*/
|
|
167
196
|
async loadRowsByPK(entity, pkValues) {
|
|
168
197
|
if (pkValues.length === 0)
|
|
169
198
|
return [];
|
|
170
|
-
const cached = this.readRowsFromRegistryCache(entity, pkValues);
|
|
171
|
-
if (cached !== null)
|
|
172
|
-
return cached;
|
|
173
199
|
const pkName = entity.FirstPrimaryKey.Name; // first-pk-ok: entity is an FK target or its IS-A child (see loadRelatedRecords) — single-column key by design
|
|
174
|
-
const
|
|
200
|
+
const cached = this.readRowsFromRegistryCache(entity, pkValues) ?? [];
|
|
201
|
+
// Keyed off what the cache actually PRODUCED, not off how many rows came back: a cached row
|
|
202
|
+
// whose PK field is unreadable must count as a miss, or it would suppress the query for a
|
|
203
|
+
// key nothing has resolved.
|
|
204
|
+
const served = new Set(cached
|
|
205
|
+
.map(r => this.readField(r, pkName))
|
|
206
|
+
.filter((v) => v !== null && v !== undefined)
|
|
207
|
+
.map(v => this.cacheKey(String(v))));
|
|
208
|
+
const missing = pkValues.filter(v => !served.has(this.cacheKey(v)));
|
|
209
|
+
if (missing.length === 0)
|
|
210
|
+
return cached;
|
|
211
|
+
const idList = missing.map(v => `'${EscapeSQLString(v)}'`).join(',');
|
|
175
212
|
const rv = this.provider;
|
|
176
213
|
const result = await rv.RunView({
|
|
177
214
|
EntityName: entity.Name,
|
|
@@ -180,14 +217,21 @@ export class FieldPathResolver {
|
|
|
180
217
|
}, this.contextUser);
|
|
181
218
|
if (!result.Success) {
|
|
182
219
|
LogError(`FieldPathResolver: failed to load "${entity.Name}" records for path resolution: ${result.ErrorMessage}`);
|
|
183
|
-
|
|
220
|
+
// Whatever the cache did serve still resolves; only the keys this query would have
|
|
221
|
+
// answered stay unresolved. `null` is reserved for "nothing to offer at all", which is
|
|
222
|
+
// what the caller turns into a failed load.
|
|
223
|
+
return cached.length > 0 ? cached : null;
|
|
184
224
|
}
|
|
185
|
-
return result.Results;
|
|
225
|
+
return cached.length > 0 ? [...cached, ...result.Results] : result.Results;
|
|
186
226
|
}
|
|
187
227
|
/**
|
|
188
228
|
* Serve the requested rows from an already-loaded engine's full-set cache when one exists
|
|
189
229
|
* (read-only — the donor's live array is never mutated). Returns null when no engine caches
|
|
190
230
|
* the entity or the cached rows aren't entity objects, so the caller queries instead.
|
|
231
|
+
*
|
|
232
|
+
* The result is a SUBSET, never an answer about the keys it omits — a key absent from it may
|
|
233
|
+
* simply postdate the cache's load. `loadRowsByPK` owns that distinction; do not treat a short
|
|
234
|
+
* return here as "those rows do not exist".
|
|
191
235
|
*/
|
|
192
236
|
readRowsFromRegistryCache(entity, pkValues) {
|
|
193
237
|
const rows = BaseEngineRegistry.Instance.TryGetCachedRecords(entity.Name, { unfilteredOnly: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldPathResolver.js","sourceRoot":"","sources":["../../../src/Engine/generic/FieldPathResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA+D,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAC3I,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"FieldPathResolver.js","sourceRoot":"","sources":["../../../src/Engine/generic/FieldPathResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,8 @@ export declare class RunBudget {
|
|
|
36
36
|
private costThisRun;
|
|
37
37
|
constructor(limits: RunBudgetLimits);
|
|
38
38
|
/** Reset per-item counter; called at the top of each ContentItem. */
|
|
39
|
+
StartItem(): void;
|
|
40
|
+
/** @deprecated Use {@link StartItem}. */
|
|
39
41
|
startItem(): void;
|
|
40
42
|
/**
|
|
41
43
|
* Record N content items as processed this run. Called once per batch
|
|
@@ -43,12 +45,22 @@ export declare class RunBudget {
|
|
|
43
45
|
* THIS budget (i.e., the subset of the batch belonging to the source
|
|
44
46
|
* this budget tracks).
|
|
45
47
|
*/
|
|
48
|
+
RecordItemsProcessed(n: number): void;
|
|
49
|
+
/** @deprecated Use {@link RecordItemsProcessed}. */
|
|
46
50
|
recordItemsProcessed(n: number): void;
|
|
47
51
|
/** Record one auto-created tag. Increments both run and item counters. */
|
|
52
|
+
RecordTagCreated(): void;
|
|
53
|
+
/** @deprecated Use {@link RecordTagCreated}. */
|
|
48
54
|
recordTagCreated(): void;
|
|
55
|
+
RecordTokens(n: number): void;
|
|
56
|
+
/** @deprecated Use {@link RecordTokens}. */
|
|
49
57
|
recordTokens(n: number): void;
|
|
58
|
+
RecordCost(c: number): void;
|
|
59
|
+
/** @deprecated Use {@link RecordCost}. */
|
|
50
60
|
recordCost(c: number): void;
|
|
51
61
|
/** True if creating one more tag for the current item would exceed `MaxNewTagsPerItem`. */
|
|
62
|
+
ItemTagBudgetExhausted(): boolean;
|
|
63
|
+
/** @deprecated Use {@link ItemTagBudgetExhausted}. */
|
|
52
64
|
itemTagBudgetExhausted(): boolean;
|
|
53
65
|
/**
|
|
54
66
|
* Check all run-level budgets. Returns the first one exceeded, in a
|
|
@@ -57,7 +69,17 @@ export declare class RunBudget {
|
|
|
57
69
|
* most 100 today" should win over the cost calculations that depend on
|
|
58
70
|
* a specific model's pricing.
|
|
59
71
|
*/
|
|
72
|
+
CheckBudgets(): RunBudgetCheckResult;
|
|
73
|
+
/** @deprecated Use {@link CheckBudgets}. */
|
|
60
74
|
checkBudgets(): RunBudgetCheckResult;
|
|
75
|
+
Snapshot(): {
|
|
76
|
+
items: number;
|
|
77
|
+
tagsRun: number;
|
|
78
|
+
tagsItem: number;
|
|
79
|
+
tokens: number;
|
|
80
|
+
cost: number;
|
|
81
|
+
};
|
|
82
|
+
/** @deprecated Use {@link Snapshot}. */
|
|
61
83
|
snapshot(): {
|
|
62
84
|
items: number;
|
|
63
85
|
tagsRun: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunBudget.d.ts","sourceRoot":"","sources":["../../../src/Engine/generic/RunBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,eAAe,GACrB,wBAAwB,GACxB,0BAA0B,GAC1B,yBAAyB,GACzB,uBAAuB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IAOC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAN1C,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,WAAW,CAAK;gBAEY,MAAM,EAAE,eAAe;IAE3D,qEAAqE;IAC9D,SAAS,IAAI,IAAI;IAIxB;;;;;OAKG;IACI,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,0EAA0E;IACnE,gBAAgB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"RunBudget.d.ts","sourceRoot":"","sources":["../../../src/Engine/generic/RunBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,eAAe,GACrB,wBAAwB,GACxB,0BAA0B,GAC1B,yBAAyB,GACzB,uBAAuB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IAOC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAN1C,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,WAAW,CAAK;gBAEY,MAAM,EAAE,eAAe;IAE3D,qEAAqE;IAC9D,SAAS,IAAI,IAAI;IAIxB,yCAAyC;IAClC,SAAS,IAAI,IAAI;IAIxB;;;;;OAKG;IACI,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,oDAAoD;IAC7C,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,0EAA0E;IACnE,gBAAgB,IAAI,IAAI;IAK/B,gDAAgD;IACzC,gBAAgB,IAAI,IAAI;IAIxB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIpC,4CAA4C;IACrC,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7B,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC,0CAA0C;IACnC,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC,2FAA2F;IACpF,sBAAsB,IAAI,OAAO;IAKxC,sDAAsD;IAC/C,sBAAsB,IAAI,OAAO;IAIxC;;;;;;OAMG;IACI,YAAY,IAAI,oBAAoB;IAgC3C,4CAA4C;IACrC,YAAY,IAAI,oBAAoB;IAIpC,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAUrG,wCAAwC;IACjC,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAGxG"}
|
|
@@ -8,38 +8,62 @@ export class RunBudget {
|
|
|
8
8
|
this.costThisRun = 0;
|
|
9
9
|
}
|
|
10
10
|
/** Reset per-item counter; called at the top of each ContentItem. */
|
|
11
|
-
|
|
11
|
+
StartItem() {
|
|
12
12
|
this.tagsCreatedThisItem = 0;
|
|
13
13
|
}
|
|
14
|
+
/** @deprecated Use {@link StartItem}. */
|
|
15
|
+
startItem() {
|
|
16
|
+
return this.StartItem();
|
|
17
|
+
}
|
|
14
18
|
/**
|
|
15
19
|
* Record N content items as processed this run. Called once per batch
|
|
16
20
|
* from the engine's OnAfterBatch hook with the batch's contribution to
|
|
17
21
|
* THIS budget (i.e., the subset of the batch belonging to the source
|
|
18
22
|
* this budget tracks).
|
|
19
23
|
*/
|
|
20
|
-
|
|
24
|
+
RecordItemsProcessed(n) {
|
|
21
25
|
if (Number.isFinite(n) && n > 0)
|
|
22
26
|
this.itemsProcessedThisRun += n;
|
|
23
27
|
}
|
|
28
|
+
/** @deprecated Use {@link RecordItemsProcessed}. */
|
|
29
|
+
recordItemsProcessed(n) {
|
|
30
|
+
return this.RecordItemsProcessed(n);
|
|
31
|
+
}
|
|
24
32
|
/** Record one auto-created tag. Increments both run and item counters. */
|
|
25
|
-
|
|
33
|
+
RecordTagCreated() {
|
|
26
34
|
this.tagsCreatedThisRun++;
|
|
27
35
|
this.tagsCreatedThisItem++;
|
|
28
36
|
}
|
|
29
|
-
|
|
37
|
+
/** @deprecated Use {@link RecordTagCreated}. */
|
|
38
|
+
recordTagCreated() {
|
|
39
|
+
return this.RecordTagCreated();
|
|
40
|
+
}
|
|
41
|
+
RecordTokens(n) {
|
|
30
42
|
if (Number.isFinite(n) && n > 0)
|
|
31
43
|
this.tokensUsedThisRun += n;
|
|
32
44
|
}
|
|
33
|
-
|
|
45
|
+
/** @deprecated Use {@link RecordTokens}. */
|
|
46
|
+
recordTokens(n) {
|
|
47
|
+
return this.RecordTokens(n);
|
|
48
|
+
}
|
|
49
|
+
RecordCost(c) {
|
|
34
50
|
if (Number.isFinite(c) && c > 0)
|
|
35
51
|
this.costThisRun += c;
|
|
36
52
|
}
|
|
53
|
+
/** @deprecated Use {@link RecordCost}. */
|
|
54
|
+
recordCost(c) {
|
|
55
|
+
return this.RecordCost(c);
|
|
56
|
+
}
|
|
37
57
|
/** True if creating one more tag for the current item would exceed `MaxNewTagsPerItem`. */
|
|
38
|
-
|
|
58
|
+
ItemTagBudgetExhausted() {
|
|
39
59
|
if (this.limits.MaxNewTagsPerItem == null)
|
|
40
60
|
return false;
|
|
41
61
|
return this.tagsCreatedThisItem >= this.limits.MaxNewTagsPerItem;
|
|
42
62
|
}
|
|
63
|
+
/** @deprecated Use {@link ItemTagBudgetExhausted}. */
|
|
64
|
+
itemTagBudgetExhausted() {
|
|
65
|
+
return this.ItemTagBudgetExhausted();
|
|
66
|
+
}
|
|
43
67
|
/**
|
|
44
68
|
* Check all run-level budgets. Returns the first one exceeded, in a
|
|
45
69
|
* stable order (items → tags → tokens → cost). Items is checked first
|
|
@@ -47,7 +71,7 @@ export class RunBudget {
|
|
|
47
71
|
* most 100 today" should win over the cost calculations that depend on
|
|
48
72
|
* a specific model's pricing.
|
|
49
73
|
*/
|
|
50
|
-
|
|
74
|
+
CheckBudgets() {
|
|
51
75
|
if (this.limits.MaxItemsPerRun != null && this.itemsProcessedThisRun >= this.limits.MaxItemsPerRun) {
|
|
52
76
|
return {
|
|
53
77
|
ok: false,
|
|
@@ -78,7 +102,11 @@ export class RunBudget {
|
|
|
78
102
|
}
|
|
79
103
|
return { ok: true };
|
|
80
104
|
}
|
|
81
|
-
|
|
105
|
+
/** @deprecated Use {@link CheckBudgets}. */
|
|
106
|
+
checkBudgets() {
|
|
107
|
+
return this.CheckBudgets();
|
|
108
|
+
}
|
|
109
|
+
Snapshot() {
|
|
82
110
|
return {
|
|
83
111
|
items: this.itemsProcessedThisRun,
|
|
84
112
|
tagsRun: this.tagsCreatedThisRun,
|
|
@@ -87,5 +115,9 @@ export class RunBudget {
|
|
|
87
115
|
cost: this.costThisRun,
|
|
88
116
|
};
|
|
89
117
|
}
|
|
118
|
+
/** @deprecated Use {@link Snapshot}. */
|
|
119
|
+
snapshot() {
|
|
120
|
+
return this.Snapshot();
|
|
121
|
+
}
|
|
90
122
|
}
|
|
91
123
|
//# sourceMappingURL=RunBudget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunBudget.js","sourceRoot":"","sources":["../../../src/Engine/generic/RunBudget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RunBudget.js","sourceRoot":"","sources":["../../../src/Engine/generic/RunBudget.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,16 @@ export declare class ScopeContextResolver {
|
|
|
16
16
|
* Returns a `TagScopeContext` derived from the source's `TagRootID`, or
|
|
17
17
|
* `null` if no scope is implied (root tag is global, or no root set).
|
|
18
18
|
*/
|
|
19
|
+
static DeriveScopeContext(source: MJContentSourceEntity): TagScopeContext | null;
|
|
20
|
+
/** @deprecated Use {@link DeriveScopeContext}. */
|
|
19
21
|
static deriveScopeContext(source: MJContentSourceEntity): TagScopeContext | null;
|
|
20
22
|
/**
|
|
21
23
|
* Union two contexts — used when batching content items across sources
|
|
22
24
|
* with divergent scopes. Result includes every scope row from both
|
|
23
25
|
* inputs, deduplicated by (entity, record).
|
|
24
26
|
*/
|
|
27
|
+
static Union(a: TagScopeContext | null, b: TagScopeContext | null): TagScopeContext | null;
|
|
28
|
+
/** @deprecated Use {@link Union}. */
|
|
25
29
|
static union(a: TagScopeContext | null, b: TagScopeContext | null): TagScopeContext | null;
|
|
26
30
|
}
|
|
27
31
|
//# sourceMappingURL=ScopeContextResolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeContextResolver.d.ts","sourceRoot":"","sources":["../../../src/Engine/generic/ScopeContextResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAC7B;;;OAGG;WACW,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAoBvF;;;;OAIG;WACW,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,EAAE,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ScopeContextResolver.d.ts","sourceRoot":"","sources":["../../../src/Engine/generic/ScopeContextResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAC7B;;;OAGG;WACW,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAoBvF,kDAAkD;WACpC,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,GAAG,IAAI;IAIvF;;;;OAIG;WACW,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,EAAE,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI;IAgBjG,qCAAqC;WACvB,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,EAAE,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI;CAGpG"}
|
|
@@ -16,7 +16,7 @@ export class ScopeContextResolver {
|
|
|
16
16
|
* Returns a `TagScopeContext` derived from the source's `TagRootID`, or
|
|
17
17
|
* `null` if no scope is implied (root tag is global, or no root set).
|
|
18
18
|
*/
|
|
19
|
-
static
|
|
19
|
+
static DeriveScopeContext(source) {
|
|
20
20
|
const config = source.ConfigurationObject;
|
|
21
21
|
const tagRootID = config?.TagRootID ?? null;
|
|
22
22
|
if (!tagRootID)
|
|
@@ -36,12 +36,16 @@ export class ScopeContextResolver {
|
|
|
36
36
|
})),
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
+
/** @deprecated Use {@link DeriveScopeContext}. */
|
|
40
|
+
static deriveScopeContext(source) {
|
|
41
|
+
return this.DeriveScopeContext(source);
|
|
42
|
+
}
|
|
39
43
|
/**
|
|
40
44
|
* Union two contexts — used when batching content items across sources
|
|
41
45
|
* with divergent scopes. Result includes every scope row from both
|
|
42
46
|
* inputs, deduplicated by (entity, record).
|
|
43
47
|
*/
|
|
44
|
-
static
|
|
48
|
+
static Union(a, b) {
|
|
45
49
|
if (!a && !b)
|
|
46
50
|
return null;
|
|
47
51
|
if (!a)
|
|
@@ -59,5 +63,9 @@ export class ScopeContextResolver {
|
|
|
59
63
|
}
|
|
60
64
|
return { scopes: merged, globalOnly: a.globalOnly && b.globalOnly };
|
|
61
65
|
}
|
|
66
|
+
/** @deprecated Use {@link Union}. */
|
|
67
|
+
static union(a, b) {
|
|
68
|
+
return this.Union(a, b);
|
|
69
|
+
}
|
|
62
70
|
}
|
|
63
71
|
//# sourceMappingURL=ScopeContextResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScopeContextResolver.js","sourceRoot":"","sources":["../../../src/Engine/generic/ScopeContextResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IAC7B;;;OAGG;IACI,MAAM,CAAC,kBAAkB,CAAC,MAA6B;QAC1D,MAAM,MAAM,GAAI,MAA6E,CAAC,mBAAmB,CAAC;QAClH,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,QAAQ,EAAE,CAAC,CAAC,aAAa;gBACzB,QAAQ,EAAE,CAAC,CAAC,aAAa;aAC5B,CAAC,CAAC;SACN,CAAC;IACN,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,CAAyB,EAAE,CAAyB;QACpE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"ScopeContextResolver.js","sourceRoot":"","sources":["../../../src/Engine/generic/ScopeContextResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IAC7B;;;OAGG;IACI,MAAM,CAAC,kBAAkB,CAAC,MAA6B;QAC1D,MAAM,MAAM,GAAI,MAA6E,CAAC,mBAAmB,CAAC;QAClH,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC;QAC5C,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrB,QAAQ,EAAE,CAAC,CAAC,aAAa;gBACzB,QAAQ,EAAE,CAAC,CAAC,aAAa;aAC5B,CAAC,CAAC;SACN,CAAC;IACN,CAAC;IAED,kDAAkD;IAC3C,MAAM,CAAC,kBAAkB,CAAC,MAA6B;QAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,CAAyB,EAAE,CAAyB;QACpE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IACxE,CAAC;IAED,qCAAqC;IAC9B,MAAM,CAAC,KAAK,CAAC,CAAyB,EAAE,CAAyB;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ"}
|
|
@@ -27,13 +27,13 @@ export declare class AutotagEntity extends AutotagBase {
|
|
|
27
27
|
* Initialize the TagEngine, inject taxonomy into the prompt, and set up the
|
|
28
28
|
* bridge callback that links ContentItemTags to formal Tag + TaggedItem records.
|
|
29
29
|
*/
|
|
30
|
-
private
|
|
30
|
+
private setupTaxonomyAndBridge;
|
|
31
31
|
/**
|
|
32
32
|
* Bridge a ContentItemTag to the formal MJ Tag taxonomy.
|
|
33
33
|
* Uses TagEngine.ResolveTag() for semantic matching with mode/threshold from source config.
|
|
34
34
|
* Creates a TaggedItem linking the resolved Tag to the source entity record.
|
|
35
35
|
*/
|
|
36
|
-
private
|
|
36
|
+
private bridgeContentItemTagToTaxonomy;
|
|
37
37
|
/**
|
|
38
38
|
* Count nodes in a TagTreeNode forest (recursive). Used for telemetry on
|
|
39
39
|
* how much taxonomy was shared with the LLM after scope filtering.
|
|
@@ -53,13 +53,13 @@ export declare class AutotagEntity extends AutotagBase {
|
|
|
53
53
|
* Find ContentItems that exist for these sources but have no ContentItemTag records.
|
|
54
54
|
* These are items where the LLM tagging failed on a previous run (rate limits, network errors, etc.).
|
|
55
55
|
*/
|
|
56
|
-
private
|
|
56
|
+
private getUntaggedContentItems;
|
|
57
57
|
SetContentItemsToProcess(contentSources: MJContentSourceEntity[]): Promise<MJContentItemEntity[]>;
|
|
58
58
|
/**
|
|
59
59
|
* Process a single entity-type ContentSource: load entity records modified since last run,
|
|
60
60
|
* render via EntityDocument template, create/update ERD and ContentItem records.
|
|
61
61
|
*/
|
|
62
|
-
private
|
|
62
|
+
private processContentSource;
|
|
63
63
|
/**
|
|
64
64
|
* Build the Content Item name for an entity record from the entity's name
|
|
65
65
|
* field(s). Uses every `IsNameField` in Sequence order (e.g. FirstName +
|
|
@@ -71,39 +71,39 @@ export declare class AutotagEntity extends AutotagBase {
|
|
|
71
71
|
/**
|
|
72
72
|
* Load an EntityDocument by ID using RunView.
|
|
73
73
|
*/
|
|
74
|
-
private
|
|
74
|
+
private loadEntityDocument;
|
|
75
75
|
/**
|
|
76
76
|
* Retrieves the template text from the EntityDocument's linked Template.
|
|
77
77
|
* Ensures TemplateEngineServer is configured before accessing Templates.
|
|
78
78
|
*/
|
|
79
|
-
private
|
|
79
|
+
private getTemplateText;
|
|
80
80
|
/**
|
|
81
81
|
* Query entity records modified since lastRunDate using __mj_UpdatedAt.
|
|
82
82
|
*/
|
|
83
|
-
private
|
|
83
|
+
private getModifiedRecords;
|
|
84
84
|
/**
|
|
85
85
|
* Load existing EntityRecordDocument records for this entity document,
|
|
86
86
|
* keyed by normalized RecordID for fast lookup.
|
|
87
87
|
*/
|
|
88
|
-
private
|
|
88
|
+
private loadExistingERDs;
|
|
89
89
|
/**
|
|
90
90
|
* Load existing ContentItems for this content source, keyed by normalized
|
|
91
91
|
* EntityRecordDocumentID for fast lookup during upsert.
|
|
92
92
|
*/
|
|
93
|
-
private
|
|
93
|
+
private loadExistingContentItems;
|
|
94
94
|
/**
|
|
95
95
|
* Process a single entity record: render template, create/update ERD, create/update ContentItem.
|
|
96
96
|
*/
|
|
97
|
-
private
|
|
97
|
+
private processSingleRecord;
|
|
98
98
|
/**
|
|
99
99
|
* Create or update an EntityRecordDocument snapshot.
|
|
100
100
|
*/
|
|
101
|
-
private
|
|
101
|
+
private upsertEntityRecordDocument;
|
|
102
102
|
/**
|
|
103
103
|
* Create or update a ContentItem linked to the EntityRecordDocument.
|
|
104
104
|
* Only creates a new ContentItem if the checksum changed (content actually changed)
|
|
105
105
|
* or if no ContentItem exists yet for this ERD.
|
|
106
106
|
*/
|
|
107
|
-
private
|
|
107
|
+
private upsertContentItem;
|
|
108
108
|
}
|
|
109
109
|
//# sourceMappingURL=AutotagEntity.d.ts.map
|