@memberjunction/content-autotagging 5.36.0 → 5.38.0

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.
@@ -9,12 +9,19 @@
9
9
  * persist for the lifetime of the budget instance.
10
10
  */
11
11
  export interface RunBudgetLimits {
12
+ /**
13
+ * Maximum number of content items the run may PROCESS before pausing.
14
+ * "Process" means handed to the LLM tagging pipeline — does not include
15
+ * items skipped by change-detection. Most intuitive "do at most N this
16
+ * run, do the rest next time" knob. NULL/unset = unlimited.
17
+ */
18
+ MaxItemsPerRun?: number | null;
12
19
  MaxNewTagsPerRun?: number | null;
13
20
  MaxNewTagsPerItem?: number | null;
14
21
  MaxTokensPerRun?: number | null;
15
22
  MaxCostPerRun?: number | null;
16
23
  }
17
- export type RunBudgetReason = 'MaxNewTagsPerRunExceeded' | 'MaxTokensPerRunExceeded' | 'MaxCostPerRunExceeded';
24
+ export type RunBudgetReason = 'MaxItemsPerRunExceeded' | 'MaxNewTagsPerRunExceeded' | 'MaxTokensPerRunExceeded' | 'MaxCostPerRunExceeded';
18
25
  export interface RunBudgetCheckResult {
19
26
  ok: boolean;
20
27
  reason?: RunBudgetReason;
@@ -22,6 +29,7 @@ export interface RunBudgetCheckResult {
22
29
  }
23
30
  export declare class RunBudget {
24
31
  private readonly limits;
32
+ private itemsProcessedThisRun;
25
33
  private tagsCreatedThisRun;
26
34
  private tagsCreatedThisItem;
27
35
  private tokensUsedThisRun;
@@ -29,6 +37,13 @@ export declare class RunBudget {
29
37
  constructor(limits: RunBudgetLimits);
30
38
  /** Reset per-item counter; called at the top of each ContentItem. */
31
39
  startItem(): void;
40
+ /**
41
+ * Record N content items as processed this run. Called once per batch
42
+ * from the engine's OnAfterBatch hook with the batch's contribution to
43
+ * THIS budget (i.e., the subset of the batch belonging to the source
44
+ * this budget tracks).
45
+ */
46
+ recordItemsProcessed(n: number): void;
32
47
  /** Record one auto-created tag. Increments both run and item counters. */
33
48
  recordTagCreated(): void;
34
49
  recordTokens(n: number): void;
@@ -37,10 +52,14 @@ export declare class RunBudget {
37
52
  itemTagBudgetExhausted(): boolean;
38
53
  /**
39
54
  * Check all run-level budgets. Returns the first one exceeded, in a
40
- * stable order (tags → tokens → cost).
55
+ * stable order (items → tags → tokens → cost). Items is checked first
56
+ * because it's the most intuitive user-facing cap and "I asked for at
57
+ * most 100 today" should win over the cost calculations that depend on
58
+ * a specific model's pricing.
41
59
  */
42
60
  checkBudgets(): RunBudgetCheckResult;
43
61
  snapshot(): {
62
+ items: number;
44
63
  tagsRun: number;
45
64
  tagsItem: number;
46
65
  tokens: 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,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,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;IAMC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,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,0EAA0E;IACnE,gBAAgB,IAAI,IAAI;IAKxB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7B,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC,2FAA2F;IACpF,sBAAsB,IAAI,OAAO;IAKxC;;;OAGG;IACI,YAAY,IAAI,oBAAoB;IAyBpC,QAAQ,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAQzF"}
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;IAKxB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7B,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIlC,2FAA2F;IACpF,sBAAsB,IAAI,OAAO;IAKxC;;;;;;OAMG;IACI,YAAY,IAAI,oBAAoB;IAgCpC,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;CASxG"}
@@ -1,6 +1,7 @@
1
1
  export class RunBudget {
2
2
  constructor(limits) {
3
3
  this.limits = limits;
4
+ this.itemsProcessedThisRun = 0;
4
5
  this.tagsCreatedThisRun = 0;
5
6
  this.tagsCreatedThisItem = 0;
6
7
  this.tokensUsedThisRun = 0;
@@ -10,6 +11,16 @@ export class RunBudget {
10
11
  startItem() {
11
12
  this.tagsCreatedThisItem = 0;
12
13
  }
14
+ /**
15
+ * Record N content items as processed this run. Called once per batch
16
+ * from the engine's OnAfterBatch hook with the batch's contribution to
17
+ * THIS budget (i.e., the subset of the batch belonging to the source
18
+ * this budget tracks).
19
+ */
20
+ recordItemsProcessed(n) {
21
+ if (Number.isFinite(n) && n > 0)
22
+ this.itemsProcessedThisRun += n;
23
+ }
13
24
  /** Record one auto-created tag. Increments both run and item counters. */
14
25
  recordTagCreated() {
15
26
  this.tagsCreatedThisRun++;
@@ -31,9 +42,19 @@ export class RunBudget {
31
42
  }
32
43
  /**
33
44
  * Check all run-level budgets. Returns the first one exceeded, in a
34
- * stable order (tags → tokens → cost).
45
+ * stable order (items → tags → tokens → cost). Items is checked first
46
+ * because it's the most intuitive user-facing cap and "I asked for at
47
+ * most 100 today" should win over the cost calculations that depend on
48
+ * a specific model's pricing.
35
49
  */
36
50
  checkBudgets() {
51
+ if (this.limits.MaxItemsPerRun != null && this.itemsProcessedThisRun >= this.limits.MaxItemsPerRun) {
52
+ return {
53
+ ok: false,
54
+ reason: 'MaxItemsPerRunExceeded',
55
+ details: `Processed ${this.itemsProcessedThisRun}/${this.limits.MaxItemsPerRun} items this run.`,
56
+ };
57
+ }
37
58
  if (this.limits.MaxNewTagsPerRun != null && this.tagsCreatedThisRun >= this.limits.MaxNewTagsPerRun) {
38
59
  return {
39
60
  ok: false,
@@ -59,6 +80,7 @@ export class RunBudget {
59
80
  }
60
81
  snapshot() {
61
82
  return {
83
+ items: this.itemsProcessedThisRun,
62
84
  tagsRun: this.tagsCreatedThisRun,
63
85
  tagsItem: this.tagsCreatedThisItem,
64
86
  tokens: this.tokensUsedThisRun,
@@ -1 +1 @@
1
- {"version":3,"file":"RunBudget.js","sourceRoot":"","sources":["../../../src/Engine/generic/RunBudget.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,SAAS;IAMlB,YAAoC,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QALnD,uBAAkB,GAAG,CAAC,CAAC;QACvB,wBAAmB,GAAG,CAAC,CAAC;QACxB,sBAAiB,GAAG,CAAC,CAAC;QACtB,gBAAW,GAAG,CAAC,CAAC;IAEsC,CAAC;IAE/D,qEAAqE;IAC9D,SAAS;QACZ,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,0EAA0E;IACnE,gBAAgB;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAEM,YAAY,CAAC,CAAS;QACzB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;IACjE,CAAC;IAEM,UAAU,CAAC,CAAS;QACvB,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,2FAA2F;IACpF,sBAAsB;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;IACrE,CAAC;IAED;;;OAGG;IACI,YAAY;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClG,OAAO;gBACH,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,0BAA0B;gBAClC,OAAO,EAAE,WAAW,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,iBAAiB;aAC/F,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/F,OAAO;gBACH,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,yBAAyB;gBACjC,OAAO,EAAE,QAAQ,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,mBAAmB;aAC5F,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACrF,OAAO;gBACH,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,uBAAuB;gBAC/B,OAAO,EAAE,UAAU,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,YAAY;aAC3F,CAAC;QACN,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAEM,QAAQ;QACX,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,kBAAkB;YAChC,QAAQ,EAAE,IAAI,CAAC,mBAAmB;YAClC,MAAM,EAAE,IAAI,CAAC,iBAAiB;YAC9B,IAAI,EAAE,IAAI,CAAC,WAAW;SACzB,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"RunBudget.js","sourceRoot":"","sources":["../../../src/Engine/generic/RunBudget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutotagEntity.d.ts","sourceRoot":"","sources":["../../../src/Entity/generic/AutotagEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAA0C,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EACH,qBAAqB,EAAE,mBAAmB,EAG7C,MAAM,+BAA+B,CAAC;AAYvC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;;;GAOG;AACH,qBACa,aAAc,SAAQ,WAAW;IAC1C,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,MAAM,CAAqB;IACnC,SAAS,CAAC,mBAAmB,EAAG,MAAM,CAAC;IAEvC,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAkD;IACzE,mFAAmF;IACnF,OAAO,CAAC,gBAAgB,CAA4C;IACpE,qFAAqF;IACrF,OAAO,CAAC,qBAAqB,CAA6C;IAC1E,+DAA+D;IAC/D,OAAO,CAAC,eAAe,CAAgC;IAE1C,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD7J;;;OAGG;YACW,sBAAsB;IAuFpC;;;;OAIG;YACW,8BAA8B;IAmG5C;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI5D;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/C;;;OAGG;YACW,uBAAuB;IAiBxB,wBAAwB,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAgB9G;;;OAGG;YACW,oBAAoB;IAuElC;;OAEG;YACW,kBAAkB;IAehC;;;OAGG;YACW,eAAe;IAe7B;;OAEG;YACW,kBAAkB;IAchC;;;OAGG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,wBAAwB;IAqBtC;;OAEG;YACW,mBAAmB;IAoCjC;;OAEG;YACW,0BAA0B;IAoCxC;;;;OAIG;YACW,iBAAiB;CAyDlC"}
1
+ {"version":3,"file":"AutotagEntity.d.ts","sourceRoot":"","sources":["../../../src/Entity/generic/AutotagEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAA0C,MAAM,sBAAsB,CAAC;AAC3G,OAAO,EACH,qBAAqB,EAAE,mBAAmB,EAG7C,MAAM,+BAA+B,CAAC;AAYvC,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;;;GAOG;AACH,qBACa,aAAc,SAAQ,WAAW;IAC1C,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,MAAM,CAAqB;IACnC,SAAS,CAAC,mBAAmB,EAAG,MAAM,CAAC;IAEvC,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAkD;IACzE,mFAAmF;IACnF,OAAO,CAAC,gBAAgB,CAA4C;IACpE,qFAAqF;IACrF,OAAO,CAAC,qBAAqB,CAA6C;IAC1E,+DAA+D;IAC/D,OAAO,CAAC,eAAe,CAAgC;IAE1C,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiD7J;;;OAGG;YACW,sBAAsB;IA4FpC;;;;OAIG;YACW,8BAA8B;IAmG5C;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI5D;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/C;;;OAGG;YACW,uBAAuB;IAiBxB,wBAAwB,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAgB9G;;;OAGG;YACW,oBAAoB;IAuElC;;OAEG;YACW,kBAAkB;IAehC;;;OAGG;YACW,eAAe;IAe7B;;OAEG;YACW,kBAAkB;IAchC;;;OAGG;YACW,gBAAgB;IAoB9B;;;OAGG;YACW,wBAAwB;IAqBtC;;OAEG;YACW,mBAAmB;IAoCjC;;OAEG;YACW,0BAA0B;IAoCxC;;;;OAIG;YACW,iBAAiB;CAyDlC"}
@@ -104,6 +104,7 @@ let AutotagEntity = class AutotagEntity extends AutotagBase {
104
104
  unionScope = ScopeContextResolver.union(unionScope, ctx);
105
105
  const cfg = source.ConfigurationObject;
106
106
  this.sourceBudgetMap.set(normalizedID, new RunBudget({
107
+ MaxItemsPerRun: cfg?.MaxItemsPerRun ?? null,
107
108
  MaxNewTagsPerRun: cfg?.MaxNewTagsPerRun ?? null,
108
109
  MaxNewTagsPerItem: cfg?.MaxNewTagsPerItem ?? null,
109
110
  MaxTokensPerRun: cfg?.MaxTokensPerRun ?? null,
@@ -133,16 +134,20 @@ let AutotagEntity = class AutotagEntity extends AutotagBase {
133
134
  await this.BridgeContentItemTagToTaxonomy(contentItemTag, parentTagName, ctxUser);
134
135
  };
135
136
  // Per-batch budget gate — pause the run when any source's budget is exceeded.
137
+ // Tally items per source first so MaxItemsPerRun ticks; then check all budgets.
136
138
  this.engine.OnAfterBatch = async (batch, _totalProcessed) => {
137
- const sourcesInBatch = new Set();
139
+ const perSourceCounts = new Map();
138
140
  for (const item of batch) {
139
- if (item.ContentSourceID)
140
- sourcesInBatch.add(NormalizeUUID(item.ContentSourceID));
141
+ if (!item.ContentSourceID)
142
+ continue;
143
+ const id = NormalizeUUID(item.ContentSourceID);
144
+ perSourceCounts.set(id, (perSourceCounts.get(id) ?? 0) + 1);
141
145
  }
142
- for (const id of sourcesInBatch) {
146
+ for (const [id, count] of perSourceCounts) {
143
147
  const budget = this.sourceBudgetMap.get(id);
144
148
  if (!budget)
145
149
  continue;
150
+ budget.recordItemsProcessed(count);
146
151
  const verdict = budget.checkBudgets();
147
152
  if (!verdict.ok) {
148
153
  return { continue: false, reason: `${verdict.reason}: ${verdict.details ?? ''}` };
@@ -1 +1 @@
1
- {"version":3,"file":"AutotagEntity.js","sourceRoot":"","sources":["../../../src/Entity/generic/AutotagEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutotagEntity.js","sourceRoot":"","sources":["../../../src/Entity/generic/AutotagEntity.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { AutotagBase, AutotagProgressCallback } from '../../Core/index.js';
2
2
  import { ContentSourceParams } from '../../Engine/index.js';
3
+ import { ContentSourceTypeParamValue } from '../../Engine/generic/content.types.js';
4
+ import { RunBudget } from '../../Engine/generic/RunBudget.js';
3
5
  import { IMetadataProvider, UserInfo } from '@memberjunction/core';
4
6
  import { MJContentSourceEntity, MJContentItemEntity } from '@memberjunction/core-entities';
5
7
  import * as cheerio from 'cheerio';
8
+ import type { AnyNode } from 'domhandler';
6
9
  export declare class AutotagWebsite extends AutotagBase {
7
10
  private contextUser;
8
11
  private engine;
@@ -10,10 +13,71 @@ export declare class AutotagWebsite extends AutotagBase {
10
13
  protected CrawlOtherSitesInTopLevelDomain: boolean;
11
14
  protected CrawlSitesInLowerLevelDomain: boolean;
12
15
  protected MaxDepth: number;
13
- protected RootURL: string;
14
- protected URLPattern: string;
16
+ protected RootURL: string | undefined;
17
+ protected URLPattern: string | undefined;
15
18
  protected visitedURLs: Set<string>;
19
+ /**
20
+ * Per-source RunBudget tracker, keyed by normalized source ID. Items
21
+ * processed in each batch are tallied against the budget of the source
22
+ * they belong to; when any budget exhausts, the engine's OnAfterBatch
23
+ * gate returns `continue:false` and the run pauses gracefully. Next
24
+ * invocation will re-crawl, change-detection will skip the already-
25
+ * processed pages, and the remaining ones get processed.
26
+ */
27
+ protected sourceBudgetMap: Map<string, RunBudget>;
16
28
  constructor();
29
+ /**
30
+ * Reset crawl-related instance fields back to the class defaults. Called at the
31
+ * start of each content source so prior-source overrides don't leak forward.
32
+ * URLPattern and RootURL default to undefined — derived later if unset.
33
+ */
34
+ protected applyDefaultCrawlSettings(): void;
35
+ /**
36
+ * Apply the typed `Configuration.Website` sub-object (if present) to this
37
+ * crawler instance. Each field is optional — unset values leave the existing
38
+ * (default) instance value intact.
39
+ *
40
+ * NOTE: pluggability — today this is hard-coded for AutotagWebsite. Once we
41
+ * have more source types that need typed per-instance settings (RSS, Cloud
42
+ * Storage, etc.), this pattern should be promoted to an
43
+ * `IConfigurableContentSource<TConfig>` interface where each subclass declares
44
+ * its typed config sub-object key and shape. For now this is the canonical
45
+ * shape; other autotaggers can copy it when they need typed knobs.
46
+ */
47
+ /**
48
+ * Apply per-source `ContentSourceParam` rows to this crawler instance. Values
49
+ * stored in the DB are strings, so we coerce per-key to the right runtime type
50
+ * instead of bulk-assigning (which previously stuffed strings into number /
51
+ * boolean fields and relied on JS coercion at use sites).
52
+ *
53
+ * Unknown keys are silently ignored — same gate as the prior `if (key in this)`
54
+ * check, just made explicit.
55
+ */
56
+ protected overlayCrawlParamsFromMap(params: Map<string, ContentSourceTypeParamValue>): void;
57
+ private coerceBoolean;
58
+ protected applyWebsiteConfigFromSource(source: MJContentSourceEntity): void;
59
+ /**
60
+ * Build a per-source RunBudget map from each source's ConfigurationObject.
61
+ * Sources with no budget knobs set still get a RunBudget entry (with all
62
+ * limits = null) so the OnAfterBatch hook can update item counts uniformly.
63
+ *
64
+ * Per-source overrides via ContentSourceParam rows (e.g., MaxItemsPerRun
65
+ * stored as a param) take precedence over the ConfigurationObject value.
66
+ */
67
+ protected setupRunBudgets(contentSources: MJContentSourceEntity[]): Promise<void>;
68
+ private coerceNumber;
69
+ /**
70
+ * Safely read a numeric budget knob from the typed configuration object.
71
+ * Returns null when the field is unset or not a finite number.
72
+ */
73
+ private readConfigNumber;
74
+ /**
75
+ * Install the engine's OnAfterBatch hook so each batch's items are
76
+ * counted against the budget of the source they belong to. Returns
77
+ * `continue:false` from the gate when any source's budget exhausts,
78
+ * which the engine then translates into a graceful pause.
79
+ */
80
+ protected installBudgetGate(): void;
17
81
  protected getContextUser(): UserInfo;
18
82
  /**
19
83
  * Implemented abstract method from the AutotagBase class. that runs the entire autotagging process. This method is the entry point for the autotagging process.
@@ -21,11 +85,22 @@ export declare class AutotagWebsite extends AutotagBase {
21
85
  * extracts and processes the text, and sets the results in the database.
22
86
  */
23
87
  Autotag(contextUser: UserInfo, onProgress?: AutotagProgressCallback, contentSourceIDs?: string[], provider?: IMetadataProvider): Promise<number>;
88
+ /**
89
+ * Streaming variant: yields each new/changed content item as soon as it
90
+ * passes change detection. Lets the crawl and LLM phases overlap so total
91
+ * wall-clock time is roughly max(crawl, classify) instead of crawl + classify.
92
+ *
93
+ * The canonical implementation lives here; the array-returning
94
+ * `SetContentItemsToProcess` is a thin collector wrapper around this.
95
+ */
96
+ streamContentItemsToProcess(contentSources: MJContentSourceEntity[]): AsyncIterable<MJContentItemEntity>;
24
97
  /**
25
98
  * Given a content source, retrieve all content items associated with the content sources.
26
- * The content items are then processed to determine if they have been modified since the last time they were processed or if they are new content items.
27
- * @param contentSource
28
- * @returns
99
+ * The content items are then processed to determine if they have been modified since the
100
+ * last time they were processed or if they are new content items.
101
+ *
102
+ * Backwards-compatible array form. Internally drains the streaming variant
103
+ * so there is exactly one implementation of the change-detection logic.
29
104
  */
30
105
  SetContentItemsToProcess(contentSources: MJContentSourceEntity[]): Promise<MJContentItemEntity[]>;
31
106
  /**
@@ -37,31 +112,76 @@ export declare class AutotagWebsite extends AutotagBase {
37
112
  * @param contextUser
38
113
  * @returns
39
114
  */
115
+ /**
116
+ * Backwards-compatible batch form: process an explicit list of URLs and
117
+ * return all new/changed content items as an array. New code should prefer
118
+ * `streamContentItemsToProcess` which pipelines into the LLM batcher.
119
+ */
40
120
  protected SetNewAndModifiedContentItems(contentItemLinks: string[], contentSourceParams: ContentSourceParams, contextUser: UserInfo): Promise<MJContentItemEntity[]>;
121
+ /**
122
+ * Process one URL through the change-detection pipeline. Returns the
123
+ * MJContentItem if the page is new or changed (caller should hand it off
124
+ * to the LLM stage), or `null` if the page is unchanged.
125
+ *
126
+ * One axios.get per URL: the same response body provides both the
127
+ * change-detection hash and the page text. Compare with `byChecksum`
128
+ * scoped to the current ContentSource so identical boilerplate (404 pages,
129
+ * shared error templates) from a *different* source can't silently mask
130
+ * legitimate pages here.
131
+ */
132
+ protected processSingleURL(url: string, contentSourceParams: ContentSourceParams): Promise<MJContentItemEntity | null>;
41
133
  fetchPageContent(url: string): Promise<string>;
42
- getTextWithLineBreaks(element: any, $: cheerio.CheerioAPI): string;
134
+ getTextWithLineBreaks(element: AnyNode, $: cheerio.CheerioAPI): string;
43
135
  /**
44
- * Given a URL, this function extracts text from a webpage.
45
- * @param url
46
- * @returns The text extracted from the webpage
136
+ * Pure helper: extract clean body text from raw HTML. No IO. Exposed as
137
+ * a protected method so subclasses and unit tests can exercise it without
138
+ * monkey-patching axios.
139
+ */
140
+ protected extractTextFromHTML(html: string): string;
141
+ /**
142
+ * Fetch a URL once, extract clean text, and compute a stable checksum
143
+ * over that text. Returns both so callers don't have to fetch twice for
144
+ * "is this changed?" + "what's the content?".
145
+ *
146
+ * The checksum is computed over the EXTRACTED body text, NOT the raw
147
+ * HTML, because raw HTML routinely contains incidental changes (server
148
+ * timestamps, CSRF tokens, build hashes, ad rotators) that would
149
+ * falsely report a page as "changed" on every crawl. Hashing the
150
+ * extracted text is what users actually mean by "did the content
151
+ * change?"
152
+ */
153
+ fetchAndExtract(url: string): Promise<{
154
+ text: string;
155
+ checksum: string;
156
+ }>;
157
+ /**
158
+ * Given a URL, extracts text from a webpage. Kept for external callers
159
+ * that just want the text — internal change-detection now uses
160
+ * `fetchAndExtract` to avoid redundant fetches.
47
161
  */
48
162
  parseWebPage(url: string): Promise<string>;
49
163
  /**
50
- * Given a root URL that corresponds to a content source, retrieve all the links in accordance to the crawl settings.
51
- * If the crawl settings are set to crawl other sites in the top level domain, then all links in the top level domain will be retrieved.
52
- * If the crawl settings are set to crawl sites in lower level domains, then function is recursively called to retrieve all links in the lower level domains.
53
- * @param url
54
- * @returns
164
+ * Streaming variant: yields each newly-discovered URL as the crawler finds it,
165
+ * so downstream consumers (the content-item streamer that feeds the LLM
166
+ * batcher) can start working before discovery completes. This is the
167
+ * canonical implementation; `getAllLinksFromContentSource` below is a
168
+ * backwards-compatible array-collecting wrapper.
169
+ */
170
+ protected streamAllLinksFromContentSource(url: string, rootURL: string, regex: RegExp): AsyncIterable<string>;
171
+ /**
172
+ * Backwards-compatible array form. Drains the streaming variant.
55
173
  */
56
174
  protected getAllLinksFromContentSource(url: string, rootURL: string, regex: RegExp): Promise<string[]>;
57
175
  /**
58
- * For a given URL, retrieves all other links at that top level domain.
59
- * @param url
60
- * @param rootURL
61
- * @param visitedURLs
62
- * @returns
176
+ * Streaming variant of getTopLevelLinks yields each URL it adds to the
177
+ * visited set so the LLM batcher gets fed in real time.
63
178
  */
64
- protected getTopLevelLinks(url: string, rootURL: string): Promise<void>;
179
+ protected streamTopLevelLinks(url: string, rootURL: string, regex: RegExp): AsyncIterable<string>;
180
+ /**
181
+ * Backwards-compatible void form. Drains the streaming variant (links go
182
+ * into `visitedURLs` as a side effect of streamTopLevelLinks).
183
+ */
184
+ protected getTopLevelLinks(url: string, rootURL: string, regex: RegExp): Promise<void>;
65
185
  /**
66
186
  * Simple check to see if the URL is at the highest level domain.
67
187
  * @param url
@@ -70,14 +190,33 @@ export declare class AutotagWebsite extends AutotagBase {
70
190
  protected isHighestDomain(url: string): boolean;
71
191
  protected getBasePath(url: string): string;
72
192
  protected getPathName(url: string): string;
193
+ /**
194
+ * Normalize a URL for use as a dedup key in `visitedURLs`. Conservative
195
+ * normalization that catches the common variations without risking the merge
196
+ * of two semantically distinct pages:
197
+ * - drops the fragment (always client-side per RFC 3986)
198
+ * - collapses trailing slash on the path (except the root "/")
199
+ * - sorts query parameters for stable equality
200
+ * - host is already lower-cased by URL parser
201
+ * Path case is intentionally preserved — RFC 3986 says paths are case-sensitive
202
+ * and some servers (wikis, certain Linux file fronts) actually treat them that way.
203
+ */
204
+ protected normalizeURL(href: string): string;
73
205
  protected urlIsValid(url: string): Promise<boolean>;
74
206
  /**
75
- * For a given URL, retrieves all links at lower level domains up to the specified crawl depth.
76
- * @param url
77
- * @param rootURL
78
- * @param crawlDepth
79
- * @param visitedURLs
80
- * @returns
207
+ * Streaming variant of getLowerLevelLinks. Yields each newly-discovered URL
208
+ * the moment it's added to the visited set, then recurses depth-first into
209
+ * children. This is the canonical implementation — the LLM batcher gets
210
+ * fed in real time during crawl instead of having to wait for the entire
211
+ * recursive discovery to complete.
212
+ *
213
+ * `getLowerLevelLinks` below is a thin backwards-compatible wrapper that
214
+ * drains the stream into a Set.
215
+ */
216
+ protected streamLowerLevelLinks(url: string, rootURL: string, crawlDepth: number, scrapedURLs: Set<string>, regex: RegExp): AsyncIterable<string>;
217
+ /**
218
+ * Backwards-compatible Set form. Drains the streaming variant; URLs end up
219
+ * in `this.visitedURLs` as a side effect of streamLowerLevelLinks.
81
220
  */
82
221
  protected getLowerLevelLinks(url: string, rootURL: string, crawlDepth: number, scrapedURLs: Set<string>, regex: RegExp): Promise<Set<string>>;
83
222
  protected delay(ms: number): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"AutotagWebsite.d.ts","sourceRoot":"","sources":["../../../src/Websites/generic/AutotagWebsite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,EAAqB,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAMnC,qBACa,cAAe,SAAQ,WAAW;IAC3C,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,MAAM,CAAoB;IAClC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACrC,SAAS,CAAC,+BAA+B,EAAE,OAAO,CAAC;IACnD,SAAS,CAAC,4BAA4B,EAAE,OAAO,CAAC;IAChD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;;IAQnC,SAAS,CAAC,cAAc,IAAI,QAAQ;IAIpC;;;;OAIG;IACU,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAW7J;;;;;OAKG;IACU,wBAAwB,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoD9G;;;;;;;;OAQG;cACa,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsE7J,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKpD,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,UAAU,GAAG,MAAM;IAgBzE;;;;OAIG;IACU,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAavD;;;;;;OAMG;cACa,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAa5G;;;;;;OAMG;cACa,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7E;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAW/C,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAW1C,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;cAa1B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzD;;;;;;;OAOG;cACa,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;cA+CnI,KAAK,CAAC,EAAE,EAAE,MAAM;CAGnC"}
1
+ {"version":3,"file":"AutotagWebsite.d.ts","sourceRoot":"","sources":["../../../src/Websites/generic/AutotagWebsite.ts"],"names":[],"mappings":"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"}