@memberjunction/ai-prompts 6.1.4 → 6.2.0-edge.1

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.
@@ -11,6 +11,7 @@ import { LogError, LogStatus } from '@memberjunction/core';
11
11
  import { UUIDsEqual, RegisterClass } from '@memberjunction/global';
12
12
  import { ChatMessageRole } from '@memberjunction/ai';
13
13
  import { AIEngine } from '@memberjunction/aiengine';
14
+ import { ResolvePromptRunUserID } from '@memberjunction/ai-core-plus';
14
15
  import { AIPromptRunner } from './AIPromptRunner.js';
15
16
  /**
16
17
  * Helper class for tracking parallel execution progress
@@ -29,24 +30,36 @@ class ParallelProgressTracker {
29
30
  this.startTime = new Date();
30
31
  this.progressCallbacks = progressCallbacks;
31
32
  }
32
- updateProgress(currentGroup) {
33
+ UpdateProgress(currentGroup) {
33
34
  this.currentGroup = currentGroup;
34
35
  this.sendProgressUpdate();
35
36
  }
36
- addActiveTask(taskId) {
37
+ /** @deprecated Use {@link UpdateProgress}. */
38
+ updateProgress(currentGroup) {
39
+ return this.UpdateProgress(currentGroup);
40
+ }
41
+ AddActiveTask(taskId) {
37
42
  if (!this.activeTasks.includes(taskId)) {
38
43
  this.activeTasks.push(taskId);
39
44
  }
40
45
  }
41
- removeActiveTask(taskId) {
46
+ /** @deprecated Use {@link AddActiveTask}. */
47
+ addActiveTask(taskId) {
48
+ return this.AddActiveTask(taskId);
49
+ }
50
+ RemoveActiveTask(taskId) {
42
51
  const index = this.activeTasks.indexOf(taskId);
43
52
  if (index > -1) {
44
53
  this.activeTasks.splice(index, 1);
45
54
  }
46
55
  }
47
- taskCompleted(result) {
56
+ /** @deprecated Use {@link RemoveActiveTask}. */
57
+ removeActiveTask(taskId) {
58
+ return this.RemoveActiveTask(taskId);
59
+ }
60
+ TaskCompleted(result) {
48
61
  this.completedTasks++;
49
- this.removeActiveTask(result.task.taskId);
62
+ this.RemoveActiveTask(result.task.taskId);
50
63
  if (result.success) {
51
64
  this.successfulTasks++;
52
65
  if (result.tokensUsed) {
@@ -68,6 +81,10 @@ class ParallelProgressTracker {
68
81
  }
69
82
  this.sendProgressUpdate();
70
83
  }
84
+ /** @deprecated Use {@link TaskCompleted}. */
85
+ taskCompleted(result) {
86
+ return this.TaskCompleted(result);
87
+ }
71
88
  getCurrentProgress() {
72
89
  return {
73
90
  completedTasks: this.completedTasks,
@@ -210,7 +227,7 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
210
227
  * @param parentPromptRunId - Optional parent prompt run ID for hierarchical logging
211
228
  * @returns Promise<ExecutionTaskResult | null> - The selected best result, or null if none suitable
212
229
  */
213
- async selectBestResult(results, config, parentPromptRunId, cancellationToken) {
230
+ async selectBestResult(results, config, parentPromptRunId, cancellationToken, contextUser) {
214
231
  if (results.length === 0) {
215
232
  return null;
216
233
  }
@@ -224,7 +241,7 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
224
241
  case 'Random':
225
242
  return this.selectRandomResult(results);
226
243
  case 'PromptSelector':
227
- return await this.selectResultWithPrompt(results, config.selectorPromptId, parentPromptRunId, cancellationToken);
244
+ return await this.selectResultWithPrompt(results, config.selectorPromptId, parentPromptRunId, cancellationToken, contextUser);
228
245
  case 'Consensus':
229
246
  return this.selectConsensusResult(results);
230
247
  default:
@@ -255,12 +272,12 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
255
272
  // Sort tasks within group by priority (higher priority first)
256
273
  groupTasks.sort((a, b) => b.priority - a.priority);
257
274
  groups.push({
258
- groupNumber,
259
- tasks: groupTasks,
275
+ GroupNumber: groupNumber,
276
+ Tasks: groupTasks,
260
277
  });
261
278
  }
262
279
  // Sort groups by group number (execute in ascending order)
263
- groups.sort((a, b) => a.groupNumber - b.groupNumber);
280
+ groups.sort((a, b) => a.GroupNumber - b.GroupNumber);
264
281
  LogStatus(`Grouped ${tasks.length} tasks into ${groups.length} execution groups`);
265
282
  return groups;
266
283
  }
@@ -279,9 +296,9 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
279
296
  for (const group of groups) {
280
297
  // Check for cancellation before each group
281
298
  if (cancellationToken?.aborted) {
282
- LogStatus(`Group execution cancelled at group ${group.groupNumber}`);
299
+ LogStatus(`Group execution cancelled at group ${group.GroupNumber}`);
283
300
  // Create cancelled results for remaining tasks
284
- const cancelledResults = group.tasks.map((task) => ({
301
+ const cancelledResults = group.Tasks.map((task) => ({
285
302
  task,
286
303
  success: false,
287
304
  cancelled: true,
@@ -293,15 +310,15 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
293
310
  allResults.push(...cancelledResults);
294
311
  break;
295
312
  }
296
- LogStatus(`Executing group ${group.groupNumber} with ${group.tasks.length} tasks`);
313
+ LogStatus(`Executing group ${group.GroupNumber} with ${group.Tasks.length} tasks`);
297
314
  // Update progress tracker for current group
298
- progressTracker?.updateProgress(group.groupNumber);
315
+ progressTracker?.updateProgress(group.GroupNumber);
299
316
  const groupResults = await this.executeGroupInParallel(params, group, config, parentPromptRunId, cancellationToken, progressTracker);
300
317
  allResults.push(...groupResults);
301
318
  // Check if we should fail fast
302
319
  if (config.failFast && groupResults.some((r) => !r.success)) {
303
320
  const failedTasks = groupResults.filter((r) => !r.success);
304
- LogError(`Failing fast due to ${failedTasks.length} failed tasks in group ${group.groupNumber}`);
321
+ LogError(`Failing fast due to ${failedTasks.length} failed tasks in group ${group.GroupNumber}`);
305
322
  break;
306
323
  }
307
324
  }
@@ -318,19 +335,19 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
318
335
  * @returns Promise<ExecutionTaskResult[]> - Results from all tasks in the group
319
336
  */
320
337
  async executeGroupInParallel(params, group, config, parentPromptRunId, cancellationToken, progressTracker) {
321
- const maxConcurrent = Math.min(config.maxConcurrentExecutions, group.tasks.length);
338
+ const maxConcurrent = Math.min(config.maxConcurrentExecutions, group.Tasks.length);
322
339
  const results = [];
323
340
  const executing = [];
324
341
  let taskIndex = 0;
325
342
  let executionOrder = 0;
326
343
  // Process tasks with concurrency limit
327
- while (taskIndex < group.tasks.length || executing.length > 0) {
344
+ while (taskIndex < group.Tasks.length || executing.length > 0) {
328
345
  // Check for cancellation
329
346
  if (cancellationToken?.aborted) {
330
- LogStatus(`Task execution cancelled in group ${group.groupNumber}`);
347
+ LogStatus(`Task execution cancelled in group ${group.GroupNumber}`);
331
348
  // Cancel remaining tasks
332
- while (taskIndex < group.tasks.length) {
333
- const task = group.tasks[taskIndex++];
349
+ while (taskIndex < group.Tasks.length) {
350
+ const task = group.Tasks[taskIndex++];
334
351
  results.push({
335
352
  task,
336
353
  success: false,
@@ -344,8 +361,8 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
344
361
  break;
345
362
  }
346
363
  // Start new tasks up to concurrency limit
347
- while (executing.length < maxConcurrent && taskIndex < group.tasks.length) {
348
- const task = group.tasks[taskIndex++];
364
+ while (executing.length < maxConcurrent && taskIndex < group.Tasks.length) {
365
+ const task = group.Tasks[taskIndex++];
349
366
  progressTracker?.addActiveTask(task.taskId);
350
367
  const execution = this.executeTask(params, task, config, parentPromptRunId, executionOrder++);
351
368
  executing.push(execution);
@@ -365,7 +382,7 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
365
382
  }
366
383
  const successfulResults = results.filter((r) => r.success);
367
384
  const cancelledResults = results.filter((r) => r.cancelled);
368
- LogStatus(`Group ${group.groupNumber} completed: ${successfulResults.length}/${results.length} successful, ${cancelledResults.length} cancelled`);
385
+ LogStatus(`Group ${group.GroupNumber} completed: ${successfulResults.length}/${results.length} successful, ${cancelledResults.length} cancelled`);
369
386
  return results;
370
387
  }
371
388
  /**
@@ -603,12 +620,11 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
603
620
  * @param parentPromptRunId - Optional parent prompt run ID for hierarchical logging
604
621
  * @returns Promise<ExecutionTaskResult> - The AI-selected best result with all results ranked
605
622
  */
606
- async selectResultWithPrompt(results, selectorPromptId, parentPromptRunId, _cancellationToken) {
623
+ async selectResultWithPrompt(results, selectorPromptId, parentPromptRunId, _cancellationToken, contextUser) {
607
624
  try {
608
- // AIPromptRunner is statically imported (this class extends it); the prior dynamic import was
609
- // only needed before the subclass relationship existed.
625
+ const user = contextUser || results[0]?.task?.contextUser;
610
626
  // Load the judge prompt from AIEngine
611
- await AIEngine.Instance.Config(false);
627
+ await AIEngine.Instance.Config(false, user);
612
628
  const judgePrompt = AIEngine.Instance.Prompts.find((p) => UUIDsEqual(p.ID, selectorPromptId));
613
629
  if (!judgePrompt) {
614
630
  LogError(`Judge prompt with ID ${selectorPromptId} not found`);
@@ -627,11 +643,8 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
627
643
  content: JSON.stringify(judgeData, null, 2),
628
644
  },
629
645
  ];
630
- // Create a ResultSelector prompt run log entry if parent ID is provided
631
- let resultSelectorPromptRun = null;
632
- if (parentPromptRunId) {
633
- resultSelectorPromptRun = await this.createResultSelectorPromptRun(judgePrompt, judgeData, parentPromptRunId, results.length);
634
- }
646
+ const agentId = results[0]?.task?.AgentID;
647
+ const judgeUserId = ResolvePromptRunUserID({ UserID: results[0]?.task?.UserID, ContextUser: user }) ?? undefined;
635
648
  // Execute the judge prompt
636
649
  const judgeRunner = new AIPromptRunner();
637
650
  const judgeStartTime = Date.now();
@@ -639,21 +652,16 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
639
652
  prompt: judgePrompt,
640
653
  data: judgeData,
641
654
  conversationMessages,
655
+ contextUser: user,
656
+ provider: this.Provider,
657
+ parentPromptRunId,
658
+ RunType: 'ResultSelector',
659
+ ExecutionOrder: results.length,
660
+ agentId,
661
+ UserID: judgeUserId,
642
662
  });
643
663
  const judgeEndTime = Date.now();
644
664
  const judgeExecutionTimeMS = judgeEndTime - judgeStartTime;
645
- // Update the result selector prompt run with the result
646
- if (resultSelectorPromptRun && judgeResult.promptRun) {
647
- resultSelectorPromptRun.CompletedAt = new Date(judgeEndTime);
648
- resultSelectorPromptRun.ExecutionTimeMS = judgeExecutionTimeMS;
649
- resultSelectorPromptRun.Success = judgeResult.success;
650
- resultSelectorPromptRun.Status = judgeResult.success ? 'Completed' : 'Failed';
651
- resultSelectorPromptRun.Result = judgeResult.rawResult || '';
652
- if (judgeResult.tokensUsed) {
653
- resultSelectorPromptRun.TokensUsed = judgeResult.tokensUsed;
654
- }
655
- await resultSelectorPromptRun.Save();
656
- }
657
665
  if (!judgeResult.success || !judgeResult.rawResult) {
658
666
  LogError(`Judge prompt execution failed: ${judgeResult.errorMessage}`);
659
667
  return results[0]; // Fallback to first result
@@ -667,9 +675,38 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
667
675
  // Apply rankings to results
668
676
  this.applyRankingsToResults(results, rankings);
669
677
  // Store judge metadata for later use
670
- const bestCandidateId = rankings.find((r) => r.rank === 1)?.candidateId;
678
+ const bestCandidateId = rankings.find((r) => r.Rank === 1)?.CandidateID;
671
679
  const bestResultIndex = results.findIndex((r) => r.task.taskId === bestCandidateId);
672
680
  const bestResult = bestResultIndex >= 0 ? results[bestResultIndex] : results[0];
681
+ // Update ResultSelector JudgeScore and JudgeID from rankings if present
682
+ const topRanking = rankings.find((r) => r.Rank === 1) || rankings[0];
683
+ if (judgeResult.promptRun) {
684
+ // The judge runner finalizes its prompt run through a FIRE-AND-FORGET queued UPDATE
685
+ // (AIPromptRunner.finalize -> _promptRunQueue.Update). BaseEntity.Save collapses into an
686
+ // in-flight save (baseEntity.ts, `if (this._pendingSave$) return firstValueFrom(...)`), so
687
+ // mutating and saving here while that UPDATE is in flight writes NOTHING — JudgeID and
688
+ // JudgeScore are silently lost. Drain the queue first so this Save is a real write.
689
+ await judgeRunner.WaitForPendingPromptRunSaves();
690
+ judgeResult.promptRun.JudgeID = judgePrompt.ID;
691
+ if (judgeResult.promptRun.JudgeScore == null && typeof topRanking?.Score === 'number') {
692
+ judgeResult.promptRun.JudgeScore = topRanking.Score;
693
+ }
694
+ await judgeResult.promptRun.Save();
695
+ }
696
+ // Update child prompt runs with judge feedback & winner selection
697
+ for (const result of results) {
698
+ if (result.promptRun) {
699
+ result.promptRun.JudgeID = judgePrompt.ID;
700
+ const ranking = rankings.find((r) => r.CandidateID === result.task.taskId);
701
+ if (ranking && typeof ranking.Score === 'number') {
702
+ result.promptRun.JudgeScore = ranking.Score;
703
+ }
704
+ if (result.task.taskId === bestCandidateId) {
705
+ result.promptRun.WasSelectedResult = true;
706
+ }
707
+ await result.promptRun.Save();
708
+ }
709
+ }
673
710
  // Add judge metadata to the best result
674
711
  bestResult.judgeMetadata = {
675
712
  judgePromptId: selectorPromptId,
@@ -722,9 +759,12 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
722
759
  const parsed = JSON.parse(jsonString);
723
760
  if (parsed.rankings && Array.isArray(parsed.rankings)) {
724
761
  return parsed.rankings.map((ranking) => ({
725
- candidateId: ranking.candidateId,
726
- rank: ranking.rank,
727
- rationale: ranking.rationale || 'No rationale provided',
762
+ // The judge's JSON keys are the prompt's wire format (see `format` above); the typed
763
+ // JudgeRanking is PascalCase like the rest of the public surface.
764
+ CandidateID: String(ranking.candidateId),
765
+ Rank: Number(ranking.rank),
766
+ Rationale: ranking.rationale || 'No rationale provided',
767
+ Score: typeof ranking.score === 'number' ? ranking.score : undefined,
728
768
  }));
729
769
  }
730
770
  LogError('Judge result does not contain valid rankings array');
@@ -743,10 +783,10 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
743
783
  */
744
784
  applyRankingsToResults(results, rankings) {
745
785
  for (const result of results) {
746
- const ranking = rankings.find((r) => r.candidateId === result.task.taskId);
786
+ const ranking = rankings.find((r) => r.CandidateID === result.task.taskId);
747
787
  if (ranking) {
748
- result.ranking = ranking.rank;
749
- result.judgeRationale = ranking.rationale;
788
+ result.ranking = ranking.Rank;
789
+ result.judgeRationale = ranking.Rationale;
750
790
  }
751
791
  }
752
792
  }
@@ -813,6 +853,10 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
813
853
  promptRun.NewRecord();
814
854
  promptRun.PromptID = task.prompt.ID;
815
855
  promptRun.ModelID = task.model.ID;
856
+ if (task.AgentID) {
857
+ promptRun.AgentID = task.AgentID;
858
+ }
859
+ promptRun.UserID = ResolvePromptRunUserID({ UserID: task.UserID, ContextUser: task.contextUser });
816
860
  promptRun.RunAt = startTime;
817
861
  promptRun.RunType = 'ParallelChild';
818
862
  promptRun.ParentID = parentPromptRunId;
@@ -868,11 +912,19 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
868
912
  promptRun.Status = modelResult.success ? 'Completed' : 'Failed';
869
913
  if (modelResult.success) {
870
914
  promptRun.Result = modelResult.data?.choices?.[0]?.message?.content || '';
871
- // Extract token usage if available
915
+ // Extract token usage and cost if available
872
916
  if (modelResult.data?.usage) {
873
917
  promptRun.TokensUsed = modelResult.data.usage.totalTokens;
874
918
  promptRun.TokensPrompt = modelResult.data.usage.promptTokens;
875
919
  promptRun.TokensCompletion = modelResult.data.usage.completionTokens;
920
+ promptRun.TokensCacheRead = modelResult.data.usage.cacheReadTokens ?? 0;
921
+ promptRun.TokensCacheWrite = modelResult.data.usage.cacheWriteTokens ?? 0;
922
+ if (modelResult.data.usage.cost !== undefined) {
923
+ promptRun.Cost = modelResult.data.usage.cost;
924
+ }
925
+ if (modelResult.data.usage.costCurrency !== undefined) {
926
+ promptRun.CostCurrency = modelResult.data.usage.costCurrency;
927
+ }
876
928
  }
877
929
  }
878
930
  else {
@@ -888,45 +940,6 @@ let ParallelExecutionCoordinator = class ParallelExecutionCoordinator extends AI
888
940
  LogError(`Error updating child prompt run: ${error.message}`);
889
941
  }
890
942
  }
891
- /**
892
- * Creates a ResultSelector AIPromptRun entity for judge execution tracking.
893
- *
894
- * @param judgePrompt - The judge prompt being executed
895
- * @param judgeData - The data being sent to the judge
896
- * @param parentPromptRunId - ID of the parent prompt run
897
- * @param executionOrder - Execution order within the parallel group
898
- * @returns Promise<MJAIPromptRunEntityExtended> - The created result selector prompt run
899
- */
900
- async createResultSelectorPromptRun(judgePrompt, judgeData, parentPromptRunId, executionOrder) {
901
- try {
902
- const promptRun = await this.Provider.GetEntityObject('MJ: AI Prompt Runs');
903
- promptRun.NewRecord();
904
- promptRun.PromptID = judgePrompt.ID;
905
- // We don't have a specific model ID for the judge yet, it will be set by AIPromptRunner
906
- promptRun.RunAt = new Date();
907
- promptRun.RunType = 'ResultSelector';
908
- promptRun.ParentID = parentPromptRunId;
909
- promptRun.ExecutionOrder = executionOrder;
910
- // Store the judge data as JSON in Messages field
911
- promptRun.Messages = JSON.stringify({
912
- judgeData,
913
- candidateCount: Array.isArray(judgeData.candidates)
914
- ? judgeData.candidates.length
915
- : 0,
916
- });
917
- const saveResult = await promptRun.Save();
918
- if (!saveResult) {
919
- const error = `Failed to save ResultSelector AIPromptRun: ${promptRun.LatestResult?.Message || 'Unknown error'}`;
920
- LogError(error);
921
- throw new Error(error);
922
- }
923
- return promptRun;
924
- }
925
- catch (error) {
926
- LogError(`Error creating result selector prompt run record: ${error.message}`);
927
- throw error;
928
- }
929
- }
930
943
  /**
931
944
  * Creates a delay for the specified number of milliseconds.
932
945
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ParallelExecutionCoordinator.js","sourceRoot":"","sources":["../src/ParallelExecutionCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParallelExecutionCoordinator.js","sourceRoot":"","sources":["../src/ParallelExecutionCoordinator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export { BaseModelRunner } from './BaseModelRunner.js';
2
+ export type { ModelVendorCandidate, FailoverAttempt } from './BaseModelRunner.js';
1
3
  export * from './AIPromptRunner.js';
2
4
  export * from './AIPromptTimeoutError.js';
3
5
  export * from './nativeToolCallingGate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/E,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAIvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gCAAgC,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { BaseModelRunner } from './BaseModelRunner.js';
1
2
  export * from './AIPromptRunner.js';
2
3
  export * from './AIPromptTimeoutError.js';
3
4
  // The native tool-calling gate. Exported because the agent loop needs to reason
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,gFAAgF;AAChF,gGAAgG;AAChG,6DAA6D;AAC7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,4FAA4F;AAC5F,0FAA0F;AAC1F,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,gFAAgF;AAChF,gGAAgG;AAChG,6DAA6D;AAC7D,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,4FAA4F;AAC5F,0FAA0F;AAC1F,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Linear-time replacements for regular expressions that CodeQL flags as polynomial
3
+ * (`js/polynomial-redos`) because they run over prompt configuration and rendered prompt text.
4
+ *
5
+ * Each function keeps the exact semantics of the expression it replaces.
6
+ */
7
+ /**
8
+ * Strips leading and trailing spaces and tabs only. Equivalent to `s.replace(/^[ \t]+|[ \t]+$/g, '')`.
9
+ *
10
+ * Deliberately not `String.trim()`: stop sequences can begin or end with a newline (for example
11
+ * `"\n```"`), and trimming it would change which text the stop fires on.
12
+ */
13
+ export declare function TrimSpacesAndTabs(s: string): string;
14
+ /**
15
+ * The MIME type from one artifact-manifest line of the form `**A** — name [mime]`, or null when the
16
+ * line isn't one. Equivalent to `/^\*\*[A-Z]+\*\* — .+? \[(?<mime>[^\]]+)\]/.exec(line)?.groups?.mime`
17
+ * for a line that contains no `\n`.
18
+ */
19
+ export declare function ParseManifestEntryMime(line: string): string | null;
20
+ //# sourceMappingURL=linearTextScan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linearTextScan.d.ts","sourceRoot":"","sources":["../src/linearTextScan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUnD;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyClE"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Linear-time replacements for regular expressions that CodeQL flags as polynomial
3
+ * (`js/polynomial-redos`) because they run over prompt configuration and rendered prompt text.
4
+ *
5
+ * Each function keeps the exact semantics of the expression it replaces.
6
+ */
7
+ /** True for the characters a regex `.` refuses to match, other than `\n` (callers split on it). */
8
+ function isNonNewlineTerminator(ch) {
9
+ return ch === '\r' || ch === '\u2028' || ch === '\u2029';
10
+ }
11
+ /**
12
+ * Strips leading and trailing spaces and tabs only. Equivalent to `s.replace(/^[ \t]+|[ \t]+$/g, '')`.
13
+ *
14
+ * Deliberately not `String.trim()`: stop sequences can begin or end with a newline (for example
15
+ * `"\n```"`), and trimming it would change which text the stop fires on.
16
+ */
17
+ export function TrimSpacesAndTabs(s) {
18
+ let start = 0;
19
+ let end = s.length;
20
+ while (start < end && (s[start] === ' ' || s[start] === '\t')) {
21
+ start++;
22
+ }
23
+ while (end > start && (s[end - 1] === ' ' || s[end - 1] === '\t')) {
24
+ end--;
25
+ }
26
+ return s.slice(start, end);
27
+ }
28
+ const ENTRY_SEPARATOR = '** — ';
29
+ /**
30
+ * The MIME type from one artifact-manifest line of the form `**A** — name [mime]`, or null when the
31
+ * line isn't one. Equivalent to `/^\*\*[A-Z]+\*\* — .+? \[(?<mime>[^\]]+)\]/.exec(line)?.groups?.mime`
32
+ * for a line that contains no `\n`.
33
+ */
34
+ export function ParseManifestEntryMime(line) {
35
+ if (!line.startsWith('**')) {
36
+ return null;
37
+ }
38
+ let i = 2;
39
+ while (i < line.length && line.charCodeAt(i) >= 65 && line.charCodeAt(i) <= 90) {
40
+ i++;
41
+ }
42
+ if (i === 2 || !line.startsWith(ENTRY_SEPARATOR, i)) {
43
+ return null;
44
+ }
45
+ const nameStart = i + ENTRY_SEPARATOR.length;
46
+ // The lazy `.+?` name cannot cross a line terminator, so no candidate bracket may lie past one.
47
+ let terminator = line.length;
48
+ for (let j = nameStart; j < line.length; j++) {
49
+ if (isNonNewlineTerminator(line[j])) {
50
+ terminator = j;
51
+ break;
52
+ }
53
+ }
54
+ // `.+?` needs at least one name character, so the first candidate ` [` starts after nameStart.
55
+ let from = nameStart + 1;
56
+ while (true) {
57
+ const bracket = line.indexOf(' [', from);
58
+ if (bracket < 0 || bracket >= terminator) {
59
+ return null;
60
+ }
61
+ const mimeStart = bracket + 2;
62
+ const close = line.indexOf(']', mimeStart);
63
+ if (close < 0) {
64
+ // No `]` anywhere after this bracket, so none after any later bracket either.
65
+ return null;
66
+ }
67
+ if (close > mimeStart) {
68
+ return line.slice(mimeStart, close);
69
+ }
70
+ // `[]` is empty: the lazy name grows past it and the next ` [` is tried.
71
+ from = bracket + 1;
72
+ }
73
+ }
74
+ //# sourceMappingURL=linearTextScan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linearTextScan.js","sourceRoot":"","sources":["../src/linearTextScan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mGAAmG;AACnG,SAAS,sBAAsB,CAAC,EAAU;IACtC,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAS;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;IACnB,OAAO,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,KAAK,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAChE,GAAG,EAAE,CAAC;IACV,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7E,CAAC,EAAE,CAAC;IACR,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;IAE7C,gGAAgG;IAChG,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,UAAU,GAAG,CAAC,CAAC;YACf,MAAM;QACV,CAAC;IACL,CAAC;IAED,+FAA+F;IAC/F,IAAI,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC;IACzB,OAAO,IAAI,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,8EAA8E;YAC9E,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,yEAAyE;QACzE,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;IACvB,CAAC;AACL,CAAC"}