@memberjunction/content-autotagging 5.37.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.
package/README.md CHANGED
@@ -51,11 +51,15 @@ graph TD
51
51
 
52
52
  - **AIPromptRunner integration**: Uses the managed "Content Autotagging" prompt, enabling prompt versioning and model routing through MJ's prompt management system (no direct `BaseLLM` calls)
53
53
  - **Tag weights**: Each generated tag includes a relevance weight (0.0--1.0) indicating how strongly the tag relates to the content
54
+ - **Streaming crawl → classify pipeline**: Content items flow into the LLM batcher as the crawler discovers them — total wall-clock is roughly `max(crawl, classify)` instead of `crawl + classify`. Backwards-compatible with array callers
54
55
  - **Batch processing**: Configurable batch size (default: 20) with concurrent processing within each batch
55
56
  - **Parallel tagging + vectorization**: Tagging and vectorization run in parallel for maximum throughput
56
57
  - **Per-source/type embedding model selection**: Cascade resolution for embedding model and vector index -- source override, then content type default, then global fallback (first active vector index)
57
58
  - **Real-time progress reporting**: `AutotagProgressCallback` provides per-item progress updates during processing
58
59
  - **Graceful provider skip**: Providers skip gracefully when no content sources are configured for their type
60
+ - **Per-source run budgets**: `MaxItemsPerRun`, `MaxNewTagsPerRun`, `MaxTokensPerRun`, `MaxCostPerRun`, `MaxNewTagsPerItem` cap each run's resource use. When a cap trips, the run pauses gracefully — the next invocation picks up where it left off (change-detection skips already-processed items)
61
+ - **Content-stable change detection**: Hash is computed over extracted body text, not raw HTML, so incidental markup changes (timestamps, CSRF tokens, build hashes) don't trigger spurious re-classification. Single HTTP fetch derives both the hash and the page text
62
+ - **Website crawler defaults that work out of the box**: `MaxDepth=2`, recursive crawl enabled, conservative URL normalization (fragment-strip, trailing-slash collapse, query-param sort) so common URL variants dedupe correctly
59
63
 
60
64
  ## Installation
61
65
 
@@ -67,18 +71,26 @@ npm install @memberjunction/content-autotagging
67
71
 
68
72
  ```mermaid
69
73
  sequenceDiagram
70
- participant Source as Content Source
74
+ participant Source as Content Source<br/>(crawler/streamer)
71
75
  participant Engine as AutotagBaseEngine
72
76
  participant Extract as Text Extractor
73
77
  participant Prompt as AIPromptRunner
74
78
  participant Vec as Embedding + VectorDB
75
79
  participant DB as Database
76
80
 
77
- Source->>Engine: Provide content items
78
- Engine->>Engine: Change detection (checksum)
81
+ loop For each discovered item (streaming)
82
+ Source->>Source: Fetch URL/file (1 HTTP request)
83
+ Source->>Source: Hash extracted body text
84
+ Source->>DB: Lookup existing checksum (scoped to source)
85
+ alt Unchanged
86
+ Source-->>Source: Skip — no LLM cost
87
+ else New / changed
88
+ Source->>Engine: Yield ContentItem
89
+ end
90
+ end
91
+ Engine->>Engine: Accumulate items into BatchSize chunks
92
+ Engine->>Engine: Apply rate limit + budget gate
79
93
  Engine->>Extract: Extract text (PDF/Office/HTML)
80
- Extract-->>Engine: Raw text
81
- Engine->>Engine: Chunk text for token limits
82
94
  par Tagging
83
95
  Engine->>Prompt: Run "Content Autotagging" prompt
84
96
  Prompt-->>Engine: Tags (with weights) + Attributes
@@ -87,9 +99,14 @@ sequenceDiagram
87
99
  Vec-->>Engine: Vectorization result
88
100
  end
89
101
  Engine->>DB: Save ContentItem + Tags + Attributes
90
- Engine->>DB: Create ProcessRun record
102
+ Engine->>Engine: Check RunBudget; pause if exhausted
103
+ Engine->>DB: Create / update ProcessRun record (checkpoint)
91
104
  ```
92
105
 
106
+ The crawl and LLM stages run concurrently against a bounded buffer. The
107
+ LLM consumer starts processing as soon as the first batch fills — it does
108
+ not wait for every content source to finish crawling.
109
+
93
110
  ## Content Sources
94
111
 
95
112
  | Source | Class | Description |
@@ -158,6 +175,8 @@ const websiteTagger = new AutotagWebsite();
158
175
  await websiteTagger.Autotag(contextUser);
159
176
  ```
160
177
 
178
+ Per-source crawl knobs (see [Website Crawl Settings](#website-crawl-settings) below) are read from `ContentSourceParam` rows; per-source run-budget knobs (see [Run Budgets](#run-budgets) below) are read from the source's `Configuration` JSON with a `ContentSourceParam` override.
179
+
161
180
  ### Local File System Processing
162
181
 
163
182
  ```typescript
@@ -222,6 +241,45 @@ export class AutotagCustomSource extends AutotagBase {
222
241
  }
223
242
  ```
224
243
 
244
+ ## Website Crawl Settings
245
+
246
+ The `AutotagWebsite` provider reads its crawl behavior from two layered sources:
247
+
248
+ 1. **Typed `Configuration.Website` sub-object** on the content source (canonical for new sources, set via the Content Source form's "Website Crawler Settings" section).
249
+ 2. **`ContentSourceParam` rows** with matching keys (legacy storage / per-instance sharper override — wins over the typed sub-object when both are present).
250
+
251
+ Each knob has a sensible default so newly-created sources work without configuration; override only the ones you need.
252
+
253
+ | Key | Type | Default | Purpose |
254
+ |---|---|---|---|
255
+ | `MaxDepth` | integer | `2` | Recursion ceiling for in-domain links. `0` = just the start URL; `2` = root + section pages + their child content pages. Higher values combine multiplicatively with the per-page delay |
256
+ | `CrawlSitesInLowerLevelDomain` | boolean | `true` | When `true`, the recursive depth-aware crawler runs. Setting `false` disables it (single-page behavior) |
257
+ | `CrawlOtherSitesInTopLevelDomain` | boolean | `false` | When `true`, also adds sibling-path URLs found on the seed page (no recursion). Off by default to avoid accidental fan-out |
258
+ | `URLPattern` | regex string | `.*` | Only URLs matching this pattern are added to the visited set. Use to scope to e.g. `^https://example\.com/blog/.*` |
259
+ | `RootURL` | string | derived from start URL | URL prefix used for the in-domain check. When unset, derived as the parent directory of the seed URL |
260
+
261
+ **URL normalization (always on).** Before any visited-set check, URLs are normalized: fragments (`#section`) stripped, single trailing slash collapsed (except root `/`), query parameters sorted. Path case is preserved (RFC 3986). This catches the common variants (`/page` vs `/page/`, `?a=1&b=2` vs `?b=2&a=1`) without merging genuinely distinct case-sensitive paths.
262
+
263
+ **Change detection.** Each discovered URL is fetched once. The SHA-256 hash is computed over the **extracted body text** (not raw HTML), so incidental markup churn — server-rendered timestamps, CSRF tokens, build hashes, ad rotators — doesn't trigger spurious re-classification. The hash query is scoped to the current `ContentSourceID` so 404 boilerplate on one site can't silently skip a real page on another.
264
+
265
+ ## Run Budgets
266
+
267
+ Every Autotag run can be capped along several axes. Caps are checked after each batch; when any cap exhausts, the run pauses gracefully via the existing `CancellationRequested` machinery. Next invocation picks up where it left off — the change-detection short-circuit (above) skips already-processed items, so re-crawl wastes only HTTP, not LLM cycles.
268
+
269
+ | Knob | Source | Counted by | Behavior when exhausted |
270
+ |---|---|---|---|
271
+ | `MaxItemsPerRun` | `ConfigurationObject` or `ContentSourceParam` | One per content item handed to the LLM (excludes items skipped by change-detection) | Pause; resume next run |
272
+ | `MaxNewTagsPerRun` | `ConfigurationObject` | One per auto-created tag | Pause; resume next run |
273
+ | `MaxNewTagsPerItem` | `ConfigurationObject` | Per item; resets each new ContentItem | Remaining tags for that item route to the suggestion queue with `Reason='MaxItemTagsExceeded'` instead of being created |
274
+ | `MaxTokensPerRun` | `ConfigurationObject` or `ContentSourceParam` | Cumulative prompt + completion tokens | Pause; resume next run |
275
+ | `MaxCostPerRun` | `ConfigurationObject` or `ContentSourceParam` | Cumulative USD | Pause; resume next run |
276
+
277
+ Priority order when several caps trip in the same batch: **items → tags → tokens → cost**. The items knob ranks first because it's the most user-intuitive ("do at most 100 today, do the rest tomorrow") and not tied to a specific model's pricing or tokenization.
278
+
279
+ `MaxItemsPerRun` / `MaxTokensPerRun` / `MaxCostPerRun` may also be overridden per-source-instance via a matching `ContentSourceParam` row; that override beats the `ConfigurationObject` default. Tag-related knobs come from `ConfigurationObject` only.
280
+
281
+ > **Note on resume granularity**: today the LLM phase's `LastProcessedOffset` cursor is array-indexed and works fully for callers that materialize an array (e.g. `AutotagEntity`). The streaming path relies on change-detection dedup for "functional resume" — pages already processed are skipped on re-crawl, so the work picks up correctly even though the HTTP discovery happens again. True crawl-side resume (persisted discovered-URL list) is a planned follow-up.
282
+
225
283
  ## Database Entities
226
284
 
227
285
  | Entity | Purpose |
@@ -54,7 +54,7 @@ export declare class AutotagBaseEngine extends BaseEngine<AutotagBaseEngine> {
54
54
  * @param config - optional pipeline configuration for rate limits, thresholds
55
55
  * @param onProgress - optional callback for UI progress updates
56
56
  */
57
- ExtractTextAndProcessWithLLM(contentItems: MJContentItemEntity[], contextUser: UserInfo, processRun?: MJContentProcessRunEntity, config?: MJContentProcessRunEntity_IContentProcessRunConfiguration, onProgress?: (processed: number, total: number, currentItem?: string) => void): Promise<void>;
57
+ ExtractTextAndProcessWithLLM(contentItems: MJContentItemEntity[] | AsyncIterable<MJContentItemEntity>, contextUser: UserInfo, processRun?: MJContentProcessRunEntity, config?: MJContentProcessRunEntity_IContentProcessRunConfiguration, onProgress?: (processed: number, total: number, currentItem?: string) => void): Promise<void>;
58
58
  /**
59
59
  * Builds processing parameters for a single content item
60
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AutotagBaseEngine.d.ts","sourceRoot":"","sources":["../../../src/Engine/generic/AutotagBaseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutotagBaseEngine.d.ts","sourceRoot":"","sources":["../../../src/Engine/generic/AutotagBaseEngine.ts"],"names":[],"mappings":"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"}
@@ -131,32 +131,82 @@ let AutotagBaseEngine = class AutotagBaseEngine extends BaseEngine {
131
131
  * @param onProgress - optional callback for UI progress updates
132
132
  */
133
133
  async ExtractTextAndProcessWithLLM(contentItems, contextUser, processRun, config, onProgress) {
134
- if (!contentItems || contentItems.length === 0) {
134
+ // Accept either a materialized array (backwards-compatible) or an
135
+ // AsyncIterable that yields items as they're discovered. The stream
136
+ // form lets the crawl and LLM phases overlap — items pipeline through
137
+ // as soon as change-detection clears them, instead of waiting for all
138
+ // sources to finish crawling first.
139
+ const isArray = Array.isArray(contentItems);
140
+ if (isArray && contentItems.length === 0) {
135
141
  LogStatus('[Autotag] No content items to process');
136
142
  return;
137
143
  }
138
144
  const batchSize = config?.Pipeline?.BatchSize ?? DEFAULT_VECTORIZE_BATCH_SIZE;
139
145
  const errorThreshold = config?.Pipeline?.ErrorThresholdPercent ?? 20;
140
146
  const delayMs = config?.Pipeline?.DelayBetweenBatchesMs ?? 0;
141
- // Resume from cursor if available
147
+ // Resume from cursor if available. For arrays we slice; for streams we
148
+ // drain the first N items as they yield.
142
149
  const resumeOffset = processRun?.LastProcessedOffset ?? 0;
143
- const itemsToProcess = resumeOffset > 0
144
- ? contentItems.slice(resumeOffset)
145
- : contentItems;
150
+ // When the source is an array we know the total upfront. For streams
151
+ // we don't — `totalKnown` becomes null and progress reports use the
152
+ // running processed count as both numerator and denominator until the
153
+ // stream closes (UI sees an indeterminate-progress shape).
154
+ const totalKnown = isArray ? contentItems.length : null;
146
155
  if (resumeOffset > 0) {
147
- LogStatus(`[Autotag] Resuming from offset ${resumeOffset} (${itemsToProcess.length} remaining of ${contentItems.length})`);
156
+ if (totalKnown != null) {
157
+ const remaining = Math.max(0, totalKnown - resumeOffset);
158
+ LogStatus(`[Autotag] Resuming from offset ${resumeOffset} (${remaining} remaining of ${totalKnown})`);
159
+ }
160
+ else {
161
+ LogStatus(`[Autotag] Resuming from offset ${resumeOffset} (stream — total unknown)`);
162
+ }
148
163
  }
149
- LogStatus(`[Autotag] Processing ${itemsToProcess.length} items in batches of ${batchSize}`);
164
+ LogStatus(`[Autotag] Processing items in batches of ${batchSize}${totalKnown != null ? ` (~${totalKnown} expected)` : ' (streaming — total unknown)'}`);
150
165
  let totalSuccesses = 0;
151
166
  let totalFailures = 0;
152
167
  let totalProcessed = resumeOffset;
153
- for (let i = 0; i < itemsToProcess.length; i += batchSize) {
154
- const batch = itemsToProcess.slice(i, i + batchSize);
155
- const batchNum = Math.floor(i / batchSize) + 1;
168
+ let batchNum = 0;
169
+ let firstSourceID = null;
170
+ let anyItemsProcessed = false;
171
+ // Normalize both forms to a single async iterator so the inner loop
172
+ // has one shape. For arrays, wrap in a generator that yields items.
173
+ const iterator = isArray
174
+ ? (async function* () {
175
+ for (const item of contentItems)
176
+ yield item;
177
+ })()
178
+ : contentItems[Symbol.asyncIterator]();
179
+ let skipsRemaining = resumeOffset;
180
+ let buffer = [];
181
+ let streamDone = false;
182
+ while (!streamDone || buffer.length > 0) {
183
+ // Fill the buffer to batchSize (or until the stream closes).
184
+ while (buffer.length < batchSize && !streamDone) {
185
+ const { value, done } = await iterator.next();
186
+ if (done) {
187
+ streamDone = true;
188
+ break;
189
+ }
190
+ if (!value)
191
+ continue;
192
+ if (skipsRemaining > 0) {
193
+ skipsRemaining--;
194
+ continue;
195
+ }
196
+ if (!firstSourceID)
197
+ firstSourceID = value.ContentSourceID;
198
+ buffer.push(value);
199
+ }
200
+ if (buffer.length === 0)
201
+ break;
202
+ const batch = buffer;
203
+ buffer = [];
204
+ batchNum++;
205
+ anyItemsProcessed = true;
206
+ // Rate limit before each batch of parallel LLM calls.
207
+ await this.LLMRateLimiter.Acquire();
156
208
  let batchOk = 0;
157
209
  let batchFail = 0;
158
- // Rate limit before each batch of parallel LLM calls
159
- await this.LLMRateLimiter.Acquire();
160
210
  const batchPromises = batch.map(async (contentItem) => {
161
211
  try {
162
212
  const processingParams = await this.buildProcessingParams(contentItem, contextUser);
@@ -172,9 +222,13 @@ let AutotagBaseEngine = class AutotagBaseEngine extends BaseEngine {
172
222
  totalSuccesses += batchOk;
173
223
  totalFailures += batchFail;
174
224
  totalProcessed += batch.length;
175
- onProgress?.(totalProcessed, contentItems.length);
176
- LogStatus(`[Autotag] Batch ${batchNum}: ${batchOk}/${batch.length} ok (${totalProcessed}/${contentItems.length} total, ${totalFailures} errors)`);
177
- // Checkpoint: update cursor and check for cancellation
225
+ // For streams we don't know the total — report processed as both
226
+ // values so UIs that compute `processed/total` show 100% (which
227
+ // is at least non-misleading; arrays still get a real total).
228
+ const progressTotal = totalKnown ?? totalProcessed;
229
+ onProgress?.(totalProcessed, progressTotal);
230
+ LogStatus(`[Autotag] Batch ${batchNum}: ${batchOk}/${batch.length} ok (${totalProcessed}${totalKnown != null ? `/${totalKnown}` : ''} total, ${totalFailures} errors)`);
231
+ // Checkpoint: update cursor and check for cancellation.
178
232
  if (processRun) {
179
233
  const shouldContinue = await this.UpdateBatchCursor(processRun, totalProcessed, totalFailures);
180
234
  if (!shouldContinue) {
@@ -201,7 +255,7 @@ let AutotagBaseEngine = class AutotagBaseEngine extends BaseEngine {
201
255
  LogError(`[Autotag] OnAfterBatch hook threw: ${e instanceof Error ? e.message : String(e)}`);
202
256
  }
203
257
  }
204
- // Circuit breaker: halt if error rate exceeds threshold
258
+ // Circuit breaker: halt if error rate exceeds threshold.
205
259
  if (totalProcessed > 0 && totalFailures > 0) {
206
260
  const errorRate = (totalFailures / totalProcessed) * 100;
207
261
  if (errorRate > errorThreshold) {
@@ -213,23 +267,28 @@ let AutotagBaseEngine = class AutotagBaseEngine extends BaseEngine {
213
267
  return;
214
268
  }
215
269
  }
216
- // Optional delay between batches (throttling)
217
- if (delayMs > 0 && i + batchSize < itemsToProcess.length) {
270
+ // Optional delay between batches (throttling). Only sleep if there
271
+ // is more work coming don't add latency to the final flush.
272
+ if (delayMs > 0 && (!streamDone || buffer.length > 0)) {
218
273
  await new Promise(resolve => setTimeout(resolve, delayMs));
219
274
  }
220
275
  }
221
- LogStatus(`[Autotag] LLM tagging complete: ${totalSuccesses} succeeded, ${totalFailures} failed of ${contentItems.length}`);
276
+ if (!anyItemsProcessed) {
277
+ LogStatus('[Autotag] No content items were processed (stream produced no items past resume offset)');
278
+ return;
279
+ }
280
+ LogStatus(`[Autotag] LLM tagging complete: ${totalSuccesses} succeeded, ${totalFailures} failed${totalKnown != null ? ` of ${totalKnown}` : ''}`);
222
281
  // Post-pipeline hook: recompute tag co-occurrence if TagCoOccurrenceEngine is available
223
282
  await this.recomputeCoOccurrenceIfAvailable(contextUser);
224
283
  // Only create a legacy process run record if no external run tracking is active.
225
284
  // When the pipeline is invoked via RunAutotagPipeline, the resolver creates and
226
285
  // manages the ContentProcessRun record — creating another one here would be a duplicate.
227
- if (!processRun && !this.ExternalRunTrackingActive) {
286
+ if (!processRun && !this.ExternalRunTrackingActive && firstSourceID) {
228
287
  const processRunParams = new ProcessRunParams();
229
- processRunParams.sourceID = contentItems[0].ContentSourceID;
288
+ processRunParams.sourceID = firstSourceID;
230
289
  processRunParams.startTime = new Date();
231
290
  processRunParams.endTime = new Date();
232
- processRunParams.numItemsProcessed = contentItems.length;
291
+ processRunParams.numItemsProcessed = totalProcessed - resumeOffset;
233
292
  await this.saveProcessRun(processRunParams, contextUser);
234
293
  }
235
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AutotagBaseEngine.js","sourceRoot":"","sources":["../../../src/Engine/generic/AutotagBaseEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutotagBaseEngine.js","sourceRoot":"","sources":["../../../src/Engine/generic/AutotagBaseEngine.ts"],"names":[],"mappings":"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"}