@memberjunction/ai-agents 5.38.0 → 5.39.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.
Files changed (87) hide show
  1. package/dist/ArtifactToolManager.d.ts +13 -0
  2. package/dist/ArtifactToolManager.d.ts.map +1 -1
  3. package/dist/ArtifactToolManager.js +60 -1
  4. package/dist/ArtifactToolManager.js.map +1 -1
  5. package/dist/agent-run-watchdog.d.ts +109 -0
  6. package/dist/agent-run-watchdog.d.ts.map +1 -0
  7. package/dist/agent-run-watchdog.js +278 -0
  8. package/dist/agent-run-watchdog.js.map +1 -0
  9. package/dist/agent-types/loop-agent-prompt-params.d.ts +13 -0
  10. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  11. package/dist/agent-types/loop-agent-prompt-params.js +3 -1
  12. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  13. package/dist/agent-types/loop-agent-response-type.d.ts +12 -3
  14. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  15. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  16. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  17. package/dist/agent-types/loop-agent-type.js +29 -1
  18. package/dist/agent-types/loop-agent-type.js.map +1 -1
  19. package/dist/artifact-tools/DataSnapshotToolLibrary.js +2 -2
  20. package/dist/artifact-tools/JSONToolLibrary.d.ts.map +1 -1
  21. package/dist/artifact-tools/JSONToolLibrary.js +7 -1
  22. package/dist/artifact-tools/JSONToolLibrary.js.map +1 -1
  23. package/dist/base-agent.d.ts +53 -1
  24. package/dist/base-agent.d.ts.map +1 -1
  25. package/dist/base-agent.js +209 -9
  26. package/dist/base-agent.js.map +1 -1
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/pipeline/coerce.d.ts +43 -0
  32. package/dist/pipeline/coerce.d.ts.map +1 -0
  33. package/dist/pipeline/coerce.js +92 -0
  34. package/dist/pipeline/coerce.js.map +1 -0
  35. package/dist/pipeline/index.d.ts +20 -0
  36. package/dist/pipeline/index.d.ts.map +1 -0
  37. package/dist/pipeline/index.js +20 -0
  38. package/dist/pipeline/index.js.map +1 -0
  39. package/dist/pipeline/jsonpath-eval.d.ts +29 -0
  40. package/dist/pipeline/jsonpath-eval.d.ts.map +1 -0
  41. package/dist/pipeline/jsonpath-eval.js +144 -0
  42. package/dist/pipeline/jsonpath-eval.js.map +1 -0
  43. package/dist/pipeline/operators.d.ts +15 -0
  44. package/dist/pipeline/operators.d.ts.map +1 -0
  45. package/dist/pipeline/operators.js +332 -0
  46. package/dist/pipeline/operators.js.map +1 -0
  47. package/dist/pipeline/path.d.ts +16 -0
  48. package/dist/pipeline/path.d.ts.map +1 -0
  49. package/dist/pipeline/path.js +34 -0
  50. package/dist/pipeline/path.js.map +1 -0
  51. package/dist/pipeline/pipeline-docs.d.ts +6 -0
  52. package/dist/pipeline/pipeline-docs.d.ts.map +1 -0
  53. package/dist/pipeline/pipeline-docs.js +137 -0
  54. package/dist/pipeline/pipeline-docs.js.map +1 -0
  55. package/dist/pipeline/pipeline-executor.d.ts +72 -0
  56. package/dist/pipeline/pipeline-executor.d.ts.map +1 -0
  57. package/dist/pipeline/pipeline-executor.js +326 -0
  58. package/dist/pipeline/pipeline-executor.js.map +1 -0
  59. package/dist/pipeline/pipeline-registry.d.ts +24 -0
  60. package/dist/pipeline/pipeline-registry.d.ts.map +1 -0
  61. package/dist/pipeline/pipeline-registry.js +28 -0
  62. package/dist/pipeline/pipeline-registry.js.map +1 -0
  63. package/dist/pipeline/pipeline.types.d.ts +89 -0
  64. package/dist/pipeline/pipeline.types.d.ts.map +1 -0
  65. package/dist/pipeline/pipeline.types.js +13 -0
  66. package/dist/pipeline/pipeline.types.js.map +1 -0
  67. package/dist/pipeline/predicate.d.ts +23 -0
  68. package/dist/pipeline/predicate.d.ts.map +1 -0
  69. package/dist/pipeline/predicate.js +306 -0
  70. package/dist/pipeline/predicate.js.map +1 -0
  71. package/dist/pipeline/providers/action-provider.d.ts +21 -0
  72. package/dist/pipeline/providers/action-provider.d.ts.map +1 -0
  73. package/dist/pipeline/providers/action-provider.js +24 -0
  74. package/dist/pipeline/providers/action-provider.js.map +1 -0
  75. package/dist/pipeline/providers/artifact-tool-provider.d.ts +20 -0
  76. package/dist/pipeline/providers/artifact-tool-provider.d.ts.map +1 -0
  77. package/dist/pipeline/providers/artifact-tool-provider.js +27 -0
  78. package/dist/pipeline/providers/artifact-tool-provider.js.map +1 -0
  79. package/dist/pipeline/providers/serialize.d.ts +23 -0
  80. package/dist/pipeline/providers/serialize.d.ts.map +1 -0
  81. package/dist/pipeline/providers/serialize.js +99 -0
  82. package/dist/pipeline/providers/serialize.js.map +1 -0
  83. package/dist/pipeline/template.d.ts +18 -0
  84. package/dist/pipeline/template.d.ts.map +1 -0
  85. package/dist/pipeline/template.js +47 -0
  86. package/dist/pipeline/template.js.map +1 -0
  87. package/package.json +19 -17
@@ -86,6 +86,19 @@ export declare class ArtifactToolManager {
86
86
  ToManifestString(opts?: {
87
87
  supportedMimeTypes?: ReadonlyArray<string> | null;
88
88
  }): string;
89
+ /**
90
+ * Distinct artifact tool names available across all input artifacts. Used to register
91
+ * artifact tools into a pipeline's tool registry (one invocable per name; the target
92
+ * artifact is selected at call time via an `artifactId` param).
93
+ */
94
+ GetAvailableToolNames(): string[];
95
+ /**
96
+ * Compact, agent-facing description of an artifact's content structure for the manifest.
97
+ * For JSON: whether it's an array (+ length + item fields) or an object (+ keys) — so the agent
98
+ * paths against the REAL shape rather than guessing a `content` wrapper. For text: line count +
99
+ * a short start preview. Returns null for binary / empty content.
100
+ */
101
+ private describeContentShape;
89
102
  /** Markdown tool documentation grouped by artifact type */
90
103
  GetToolDocumentation(): string;
91
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactToolManager.d.ts","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactToolManager.d.ts","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"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"}
@@ -223,6 +223,12 @@ export class ArtifactToolManager {
223
223
  : '';
224
224
  const mimeNote = entry.mimeType ? ` [${entry.mimeType}]` : '';
225
225
  lines.push(`**${entry.alphaId}** — ${entry.typeName}: "${entry.name}"${mimeNote}${sizeSuffix}`);
226
+ // Surface the content SHAPE so the agent paths correctly (e.g. knows it's a top-level JSON
227
+ // array, not a `content`-wrapped object) instead of guessing and failing on the first tool call.
228
+ const shape = this.describeContentShape(entry.content);
229
+ if (shape) {
230
+ lines.push(` > Shape: ${shape}`);
231
+ }
226
232
  // Modality-mismatch warning: when the driver can't process the
227
233
  // artifact's media type, tell the agent explicitly so it doesn't
228
234
  // hallucinate a description from few-shot examples or pretend the
@@ -239,10 +245,63 @@ export class ArtifactToolManager {
239
245
  }
240
246
  }
241
247
  lines.push('');
242
- lines.push('Use the artifact tools below to explore content.');
248
+ lines.push('These artifacts are ALREADY available to you server-side. Read them directly with the');
249
+ lines.push('artifact tools below (e.g. `get_full`), or use one as a pipeline source (e.g. `get_full`');
250
+ lines.push('then `where`/`select`/`distinct`). NEVER ask the user to paste, provide, upload, or "send"');
251
+ lines.push('an artifact\'s content, and do NOT request a data snapshot to obtain it — you already have it.');
243
252
  lines.push('IMPORTANT: Always use the single-letter artifact ID (A, B, C, etc.) as the `artifactId` value — NOT the artifact name.');
244
253
  return lines.join('\n');
245
254
  }
255
+ /**
256
+ * Distinct artifact tool names available across all input artifacts. Used to register
257
+ * artifact tools into a pipeline's tool registry (one invocable per name; the target
258
+ * artifact is selected at call time via an `artifactId` param).
259
+ */
260
+ GetAvailableToolNames() {
261
+ const names = new Set();
262
+ for (const entry of this.artifacts.values()) {
263
+ for (const tool of entry.library.GetToolList()) {
264
+ names.add(tool.name);
265
+ }
266
+ }
267
+ return [...names];
268
+ }
269
+ /**
270
+ * Compact, agent-facing description of an artifact's content structure for the manifest.
271
+ * For JSON: whether it's an array (+ length + item fields) or an object (+ keys) — so the agent
272
+ * paths against the REAL shape rather than guessing a `content` wrapper. For text: line count +
273
+ * a short start preview. Returns null for binary / empty content.
274
+ */
275
+ describeContentShape(content) {
276
+ if (Buffer.isBuffer(content)) {
277
+ return null;
278
+ }
279
+ const s = content.trim();
280
+ if (s.length === 0) {
281
+ return null;
282
+ }
283
+ if ((s.startsWith('{') || s.startsWith('[')) && s.length < 2_000_000) {
284
+ try {
285
+ const parsed = JSON.parse(s);
286
+ if (Array.isArray(parsed)) {
287
+ const firstObj = parsed.find((x) => x !== null && typeof x === 'object' && !Array.isArray(x));
288
+ const keys = firstObj ? Object.keys(firstObj).slice(0, 12).join(', ') : '';
289
+ return (`JSON array of ${parsed.length} item(s)${keys ? `; item fields: ${keys}` : ''}. ` +
290
+ `The artifact IS this array. Easiest: read it with get_full and pipe through the operators ` +
291
+ `(get_full → where → select → distinct). There is no "content" wrapper to path into.`);
292
+ }
293
+ if (parsed !== null && typeof parsed === 'object') {
294
+ return `JSON object; keys: ${Object.keys(parsed).slice(0, 20).join(', ')}.`;
295
+ }
296
+ return `JSON ${typeof parsed} value.`;
297
+ }
298
+ catch {
299
+ /* not valid JSON — fall through to text preview */
300
+ }
301
+ }
302
+ const preview = s.replace(/\s+/g, ' ').slice(0, 120);
303
+ return `text, ${s.split('\n').length} line(s); starts: "${preview}${s.length > 120 ? '…' : ''}"`;
304
+ }
246
305
  /** Markdown tool documentation grouped by artifact type */
247
306
  GetToolDocumentation() {
248
307
  if (this.artifacts.size === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactToolManager.js","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactToolManager.js","sourceRoot":"","sources":["../src/ArtifactToolManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { BaseSingleton, IShutdownable } from '@memberjunction/global';
2
+ import { DatabaseProviderBase, UserInfo } from '@memberjunction/core';
3
+ /**
4
+ * Tuning for the agent-run watchdog. All durations are in their named units. Defaults are
5
+ * deliberately conservative: the stale threshold is many heartbeat intervals wide, so a
6
+ * momentarily-slow-but-alive process is never mistaken for a dead one.
7
+ */
8
+ export interface AgentRunWatchdogConfig {
9
+ /** How often the owning process stamps a liveness heartbeat for its in-flight runs. */
10
+ heartbeatIntervalMs: number;
11
+ /** How often this process re-scans for orphaned runs (mid-life, without waiting for a restart). */
12
+ sweepIntervalMs: number;
13
+ /** A Running run whose heartbeat is older than this (or NULL with an older StartedAt) is force-failed. */
14
+ staleThresholdMinutes: number;
15
+ }
16
+ /**
17
+ * Process-wide watchdog that guarantees no `AIAgentRun` is left stuck in `Status='Running'`
18
+ * after the owning process dies (restart, crash, OOM) or its terminal-state write fails.
19
+ *
20
+ * Three cooperating mechanisms, all anchored to the **database clock** so they remain correct
21
+ * across multiple MJAPI instances behind a load balancer (no instance trusts its own clock):
22
+ *
23
+ * 1. **Heartbeat** — while a run is in flight, the owning process stamps `LastHeartbeatAt`
24
+ * every {@link AgentRunWatchdogConfig.heartbeatIntervalMs} via {@link SP_HEARTBEAT}.
25
+ * 2. **Sweep** — {@link SweepOrphanedRuns} force-fails any `Running` run whose heartbeat has
26
+ * gone stale, via {@link SP_SWEEP} (one atomic, set-based `UPDATE … WHERE Status='Running'
27
+ * AND <stale>` inside the proc — so concurrent sweeps from multiple instances are harmless
28
+ * and a run another instance is still heart-beating can't be caught mid-sweep). Run once on
29
+ * boot (closes restart-orphans) and on a timer (closes mid-life orphans).
30
+ * 3. **Graceful shutdown** — on SIGTERM/SIGINT (via {@link ShutdownRegistry}) this process marks
31
+ * the runs *it* owns `Cancelled` via {@link SP_CANCEL}, closing the deploy case instantly.
32
+ *
33
+ * Every proc filters `Status='Running'` only — `Paused` and `AwaitingFeedback` are
34
+ * legitimately-not-progressing states and are never touched. The watchdog accesses the DB only
35
+ * through these stored procedures (writes) and the base view (reads) — never the base table —
36
+ * so it works as the regular runtime DB user, not just the elevated CodeGen user. Proc calls are
37
+ * built through the provider's {@link Dialect.ProcedureCallSyntax}, so they run on SQL Server and
38
+ * PostgreSQL unchanged.
39
+ */
40
+ export declare class AgentRunWatchdog extends BaseSingleton<AgentRunWatchdog> implements IShutdownable {
41
+ private _config;
42
+ private _trackedRuns;
43
+ private _provider;
44
+ private _contextUser;
45
+ private _heartbeatTimer;
46
+ private _sweepTimer;
47
+ private _registered;
48
+ protected constructor();
49
+ static get Instance(): AgentRunWatchdog;
50
+ readonly ShutdownName = "AgentRunWatchdog";
51
+ /** Overrides the default tuning. Safe to call before or after runs start tracking. */
52
+ Configure(config: Partial<AgentRunWatchdogConfig>): void;
53
+ /**
54
+ * Begin guarding a run. The owning agent calls this immediately after the run row is saved
55
+ * (so it has a stable ID). Idempotent per run ID. Capturing the provider/user lets the
56
+ * central heartbeat + shutdown statements run without each run re-supplying them.
57
+ */
58
+ Track(runID: string, provider: DatabaseProviderBase, contextUser: UserInfo): void;
59
+ /** Stop guarding a run. Optional — the periodic prune drops terminal runs automatically — but
60
+ * callers may invoke it for prompt cleanup right after writing a terminal state. */
61
+ Untrack(runID: string): void;
62
+ /** Number of runs this process is currently guarding (primarily for tests/diagnostics). */
63
+ get TrackedCount(): number;
64
+ /**
65
+ * IShutdownable: on graceful shutdown, mark every run this process still owns as `Cancelled`
66
+ * (via {@link SP_CANCEL}) so it doesn't linger as a phantom `Running` row until the next sweep.
67
+ * Idempotent and never throws — a failed cancel just falls through to the staleness sweep later.
68
+ */
69
+ Shutdown(): Promise<void>;
70
+ /**
71
+ * Force-fail any `Running` agent run whose liveness heartbeat has gone stale (or that never
72
+ * beat and was started long ago), via the dedicated {@link SP_SWEEP} proc. The proc does the
73
+ * whole thing as one atomic, set-based `UPDATE` and returns the count, so it's safe to run on
74
+ * every boot and on a timer, on every instance: the predicate is staleness-based (never "fail
75
+ * all Running") and re-evaluated at write time, so it cannot touch a run a healthy instance is
76
+ * still heart-beating. Returns the number of rows failed.
77
+ */
78
+ static SweepOrphanedRuns(provider: DatabaseProviderBase, contextUser: UserInfo, config?: Partial<AgentRunWatchdogConfig>): Promise<number>;
79
+ /** Start the heartbeat + sweep timers and register for graceful shutdown, exactly once. */
80
+ private ensureStarted;
81
+ private stopTimers;
82
+ /** Stamp LastHeartbeatAt for every run this process is guarding, via {@link SP_HEARTBEAT}.
83
+ * Never throws (runs on a timer); a per-run failure is logged and the rest still beat. */
84
+ private heartbeat;
85
+ /** Periodic tick: force-fail orphans, then prune any terminal runs out of the tracked set. */
86
+ private periodicSweep;
87
+ /**
88
+ * Drop any tracked run that is no longer `Running` so the in-memory set can't grow unbounded
89
+ * over a long-lived process. A single SELECT (against the base VIEW — the runtime user has no
90
+ * table access) of the still-running subset; the rest are pruned.
91
+ */
92
+ private pruneTerminalRuns;
93
+ /** Validated, lowercased UUIDs this process is guarding (for per-run proc calls). */
94
+ private trackedIds;
95
+ /**
96
+ * Build a single batched SQL string of one proc call per id, newline-separated, so a set of
97
+ * per-run writes goes to the DB as one round-trip instead of N. Each id is already a validated
98
+ * UUID and is quoted as a string literal before interpolation. Runs unchanged on SQL Server and
99
+ * PostgreSQL because the call form comes from {@link Dialect.ProcedureCallSyntax}.
100
+ */
101
+ private static buildProcBatch;
102
+ /** Comma-joined, quoted, validated UUID list for an `ID IN (...)` clause, or '' if none. */
103
+ private trackedIdList;
104
+ /** Schema that owns the AIAgentRun objects (for qualifying proc calls), or null if unresolved. */
105
+ private static schemaOf;
106
+ /** Fully-qualified, dialect-quoted base VIEW for AIAgentRun reads, or null if unresolved. */
107
+ private static viewOf;
108
+ }
109
+ //# sourceMappingURL=agent-run-watchdog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-run-watchdog.d.ts","sourceRoot":"","sources":["../src/agent-run-watchdog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAM3F;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,uFAAuF;IACvF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mGAAmG;IACnG,eAAe,EAAE,MAAM,CAAC;IACxB,0GAA0G;IAC1G,qBAAqB,EAAE,MAAM,CAAC;CACjC;AAsBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,gBAAgB,CAAE,YAAW,aAAa;IAC1F,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,WAAW,CAAS;IAE5B,SAAS;IAIT,WAAkB,QAAQ,IAAI,gBAAgB,CAE7C;IAED,SAAgB,YAAY,sBAAsB;IAElD,sFAAsF;IAC/E,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAI/D;;;;OAIG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI;IAUxF;yFACqF;IAC9E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMnC,2FAA2F;IAC3F,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtC;;;;;;;OAOG;WACiB,iBAAiB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,QAAQ,EACrB,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC;IA0BlB,2FAA2F;IAC3F,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,UAAU;IAWlB;+FAC2F;YAC7E,SAAS;IAsBvB,8FAA8F;YAChF,aAAa;IAQ3B;;;;OAIG;YACW,iBAAiB;IAiC/B,qFAAqF;IACrF,OAAO,CAAC,UAAU;IAIlB;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B,4FAA4F;IAC5F,OAAO,CAAC,aAAa;IAIrB,kGAAkG;IAClG,OAAO,CAAC,MAAM,CAAC,QAAQ;IAKvB,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,MAAM;CAQxB"}
@@ -0,0 +1,278 @@
1
+ import { BaseSingleton, ShutdownRegistry } from '@memberjunction/global';
2
+ import { LogError, LogStatus } from '@memberjunction/core';
3
+ const DEFAULT_CONFIG = {
4
+ heartbeatIntervalMs: 30_000,
5
+ sweepIntervalMs: 5 * 60_000,
6
+ staleThresholdMinutes: 5,
7
+ };
8
+ /** Matches a canonical UUID. Tracked IDs come from provider-generated PKs, but we validate
9
+ * before ever interpolating into SQL so a proc argument can never become an injection vector. */
10
+ const UUID_RE = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
11
+ /** The one MJ entity whose runs this watchdog guards. */
12
+ const AGENT_RUN_ENTITY = 'MJ: AI Agent Runs';
13
+ /** Dedicated maintenance stored procedures (see the watchdog sprocs migration). The runtime DB
14
+ * user has EXECUTE on these + SELECT on the base view, but no direct table access — so all of
15
+ * the watchdog's writes go through these procs and its reads go through the view. */
16
+ const SP_HEARTBEAT = 'spStampAIAgentRunHeartbeat';
17
+ const SP_SWEEP = 'spSweepStaleAIAgentRuns';
18
+ const SP_CANCEL = 'spCancelAIAgentRun';
19
+ /**
20
+ * Process-wide watchdog that guarantees no `AIAgentRun` is left stuck in `Status='Running'`
21
+ * after the owning process dies (restart, crash, OOM) or its terminal-state write fails.
22
+ *
23
+ * Three cooperating mechanisms, all anchored to the **database clock** so they remain correct
24
+ * across multiple MJAPI instances behind a load balancer (no instance trusts its own clock):
25
+ *
26
+ * 1. **Heartbeat** — while a run is in flight, the owning process stamps `LastHeartbeatAt`
27
+ * every {@link AgentRunWatchdogConfig.heartbeatIntervalMs} via {@link SP_HEARTBEAT}.
28
+ * 2. **Sweep** — {@link SweepOrphanedRuns} force-fails any `Running` run whose heartbeat has
29
+ * gone stale, via {@link SP_SWEEP} (one atomic, set-based `UPDATE … WHERE Status='Running'
30
+ * AND <stale>` inside the proc — so concurrent sweeps from multiple instances are harmless
31
+ * and a run another instance is still heart-beating can't be caught mid-sweep). Run once on
32
+ * boot (closes restart-orphans) and on a timer (closes mid-life orphans).
33
+ * 3. **Graceful shutdown** — on SIGTERM/SIGINT (via {@link ShutdownRegistry}) this process marks
34
+ * the runs *it* owns `Cancelled` via {@link SP_CANCEL}, closing the deploy case instantly.
35
+ *
36
+ * Every proc filters `Status='Running'` only — `Paused` and `AwaitingFeedback` are
37
+ * legitimately-not-progressing states and are never touched. The watchdog accesses the DB only
38
+ * through these stored procedures (writes) and the base view (reads) — never the base table —
39
+ * so it works as the regular runtime DB user, not just the elevated CodeGen user. Proc calls are
40
+ * built through the provider's {@link Dialect.ProcedureCallSyntax}, so they run on SQL Server and
41
+ * PostgreSQL unchanged.
42
+ */
43
+ export class AgentRunWatchdog extends BaseSingleton {
44
+ constructor() {
45
+ super();
46
+ this._config = DEFAULT_CONFIG;
47
+ this._trackedRuns = new Set();
48
+ this._provider = null;
49
+ this._contextUser = null;
50
+ this._heartbeatTimer = null;
51
+ this._sweepTimer = null;
52
+ this._registered = false;
53
+ this.ShutdownName = 'AgentRunWatchdog';
54
+ }
55
+ static get Instance() {
56
+ return super.getInstance();
57
+ }
58
+ /** Overrides the default tuning. Safe to call before or after runs start tracking. */
59
+ Configure(config) {
60
+ this._config = { ...this._config, ...config };
61
+ }
62
+ /**
63
+ * Begin guarding a run. The owning agent calls this immediately after the run row is saved
64
+ * (so it has a stable ID). Idempotent per run ID. Capturing the provider/user lets the
65
+ * central heartbeat + shutdown statements run without each run re-supplying them.
66
+ */
67
+ Track(runID, provider, contextUser) {
68
+ if (!runID || !UUID_RE.test(runID)) {
69
+ return;
70
+ }
71
+ this._provider = provider;
72
+ this._contextUser = contextUser;
73
+ this._trackedRuns.add(runID.toLowerCase());
74
+ this.ensureStarted();
75
+ }
76
+ /** Stop guarding a run. Optional — the periodic prune drops terminal runs automatically — but
77
+ * callers may invoke it for prompt cleanup right after writing a terminal state. */
78
+ Untrack(runID) {
79
+ if (runID) {
80
+ this._trackedRuns.delete(runID.toLowerCase());
81
+ }
82
+ }
83
+ /** Number of runs this process is currently guarding (primarily for tests/diagnostics). */
84
+ get TrackedCount() {
85
+ return this._trackedRuns.size;
86
+ }
87
+ /**
88
+ * IShutdownable: on graceful shutdown, mark every run this process still owns as `Cancelled`
89
+ * (via {@link SP_CANCEL}) so it doesn't linger as a phantom `Running` row until the next sweep.
90
+ * Idempotent and never throws — a failed cancel just falls through to the staleness sweep later.
91
+ */
92
+ async Shutdown() {
93
+ this.stopTimers();
94
+ const ids = this.trackedIds();
95
+ this._trackedRuns.clear();
96
+ if (!ids.length || !this._provider) {
97
+ return;
98
+ }
99
+ const schema = AgentRunWatchdog.schemaOf(this._provider);
100
+ if (!schema) {
101
+ return;
102
+ }
103
+ const d = this._provider.Dialect;
104
+ // One batched round-trip (one EXEC per id, newline-separated) rather than a call per run.
105
+ const sql = AgentRunWatchdog.buildProcBatch(d, schema, SP_CANCEL, ids);
106
+ try {
107
+ await this._provider.ExecuteSQL(sql, undefined, { isMutation: true, description: 'AgentRunWatchdog graceful-shutdown cancel' }, this._contextUser ?? undefined);
108
+ }
109
+ catch (err) {
110
+ LogError(`AgentRunWatchdog.Shutdown failed to cancel runs [${ids.join(', ')}]: ${err instanceof Error ? err.message : String(err)}`);
111
+ }
112
+ }
113
+ /**
114
+ * Force-fail any `Running` agent run whose liveness heartbeat has gone stale (or that never
115
+ * beat and was started long ago), via the dedicated {@link SP_SWEEP} proc. The proc does the
116
+ * whole thing as one atomic, set-based `UPDATE` and returns the count, so it's safe to run on
117
+ * every boot and on a timer, on every instance: the predicate is staleness-based (never "fail
118
+ * all Running") and re-evaluated at write time, so it cannot touch a run a healthy instance is
119
+ * still heart-beating. Returns the number of rows failed.
120
+ */
121
+ static async SweepOrphanedRuns(provider, contextUser, config) {
122
+ const threshold = config?.staleThresholdMinutes ?? DEFAULT_CONFIG.staleThresholdMinutes;
123
+ const schema = AgentRunWatchdog.schemaOf(provider);
124
+ if (!schema) {
125
+ LogError('AgentRunWatchdog.SweepOrphanedRuns: could not resolve the AIAgentRun schema from metadata; skipping sweep');
126
+ return 0;
127
+ }
128
+ const d = provider.Dialect;
129
+ try {
130
+ // The proc runs the atomic UPDATE on the DB clock and returns RunsFailed.
131
+ const sql = d.ProcedureCallSyntax(schema, SP_SWEEP, [String(Math.trunc(threshold))]) + ';';
132
+ const rows = await provider.ExecuteSQL(sql, undefined, { isMutation: true, description: 'AgentRunWatchdog stale-run sweep' }, contextUser);
133
+ const failCount = (Array.isArray(rows) && rows[0] && typeof rows[0].RunsFailed === 'number') ? rows[0].RunsFailed : 0;
134
+ if (failCount > 0) {
135
+ LogStatus(`[AgentRunWatchdog] Swept ${failCount} orphaned agent run(s) -> Failed (no heartbeat for >${threshold}m)`);
136
+ }
137
+ return failCount;
138
+ }
139
+ catch (err) {
140
+ LogError(`AgentRunWatchdog.SweepOrphanedRuns failed: ${err instanceof Error ? err.message : String(err)}`);
141
+ return 0;
142
+ }
143
+ }
144
+ // ----- internals -------------------------------------------------------------------------
145
+ /** Start the heartbeat + sweep timers and register for graceful shutdown, exactly once. */
146
+ ensureStarted() {
147
+ if (!this._registered) {
148
+ ShutdownRegistry.Instance.Register(this);
149
+ this._registered = true;
150
+ }
151
+ if (!this._heartbeatTimer) {
152
+ this._heartbeatTimer = setInterval(() => void this.heartbeat(), this._config.heartbeatIntervalMs);
153
+ // Don't keep the event loop alive solely for the watchdog.
154
+ this._heartbeatTimer.unref?.();
155
+ }
156
+ if (!this._sweepTimer) {
157
+ // The periodic sweep is an always-on in-process timer rather than an MJ Scheduled Job
158
+ // (MJ: Scheduled Jobs / SchedulingEngine) on purpose. This is a reliability floor for
159
+ // orphaned runs, and ScheduledJobsService is gated by `scheduledJobs.enabled` in config
160
+ // — moving the sweep there would silently disable it in any deployment that runs with
161
+ // scheduled jobs off, exactly where the safety net still needs to work. A Scheduled Job
162
+ // could be added on top later as an observability/audit layer (it would call the same
163
+ // idempotent SweepOrphanedRuns), but it must not be the only thing that runs it.
164
+ this._sweepTimer = setInterval(() => void this.periodicSweep(), this._config.sweepIntervalMs);
165
+ this._sweepTimer.unref?.();
166
+ }
167
+ }
168
+ stopTimers() {
169
+ if (this._heartbeatTimer) {
170
+ clearInterval(this._heartbeatTimer);
171
+ this._heartbeatTimer = null;
172
+ }
173
+ if (this._sweepTimer) {
174
+ clearInterval(this._sweepTimer);
175
+ this._sweepTimer = null;
176
+ }
177
+ }
178
+ /** Stamp LastHeartbeatAt for every run this process is guarding, via {@link SP_HEARTBEAT}.
179
+ * Never throws (runs on a timer); a per-run failure is logged and the rest still beat. */
180
+ async heartbeat() {
181
+ if (!this._provider) {
182
+ return;
183
+ }
184
+ const ids = this.trackedIds();
185
+ if (!ids.length) {
186
+ return;
187
+ }
188
+ const schema = AgentRunWatchdog.schemaOf(this._provider);
189
+ if (!schema) {
190
+ return;
191
+ }
192
+ const d = this._provider.Dialect;
193
+ // One batched round-trip (one EXEC per id, newline-separated) rather than a call per run.
194
+ const sql = AgentRunWatchdog.buildProcBatch(d, schema, SP_HEARTBEAT, ids);
195
+ try {
196
+ await this._provider.ExecuteSQL(sql, undefined, { isMutation: true, ignoreLogging: true, description: 'AgentRunWatchdog heartbeat' }, this._contextUser ?? undefined);
197
+ }
198
+ catch (err) {
199
+ LogError(`AgentRunWatchdog heartbeat failed for runs [${ids.join(', ')}]: ${err instanceof Error ? err.message : String(err)}`);
200
+ }
201
+ }
202
+ /** Periodic tick: force-fail orphans, then prune any terminal runs out of the tracked set. */
203
+ async periodicSweep() {
204
+ if (!this._provider || !this._contextUser) {
205
+ return;
206
+ }
207
+ await AgentRunWatchdog.SweepOrphanedRuns(this._provider, this._contextUser, this._config);
208
+ await this.pruneTerminalRuns();
209
+ }
210
+ /**
211
+ * Drop any tracked run that is no longer `Running` so the in-memory set can't grow unbounded
212
+ * over a long-lived process. A single SELECT (against the base VIEW — the runtime user has no
213
+ * table access) of the still-running subset; the rest are pruned.
214
+ */
215
+ async pruneTerminalRuns() {
216
+ const ids = this.trackedIdList();
217
+ if (!ids || !this._provider) {
218
+ return;
219
+ }
220
+ const view = AgentRunWatchdog.viewOf(this._provider);
221
+ if (!view) {
222
+ return;
223
+ }
224
+ const d = this._provider.Dialect;
225
+ try {
226
+ const rows = await this._provider.ExecuteSQL(`SELECT ${d.QuoteIdentifier('ID')} FROM ${view} ` +
227
+ `WHERE ${d.QuoteIdentifier('Status')} = 'Running' AND ${d.QuoteIdentifier('ID')} IN (${ids});`, undefined, { ignoreLogging: true, description: 'AgentRunWatchdog tracked-set prune' }, this._contextUser ?? undefined);
228
+ const stillRunning = new Set();
229
+ if (Array.isArray(rows)) {
230
+ for (const row of rows) {
231
+ if (typeof row?.ID === 'string') {
232
+ stillRunning.add(row.ID.toLowerCase());
233
+ }
234
+ }
235
+ }
236
+ for (const tracked of Array.from(this._trackedRuns)) {
237
+ if (!stillRunning.has(tracked)) {
238
+ this._trackedRuns.delete(tracked);
239
+ }
240
+ }
241
+ }
242
+ catch (err) {
243
+ LogError(`AgentRunWatchdog prune failed: ${err instanceof Error ? err.message : String(err)}`);
244
+ }
245
+ }
246
+ /** Validated, lowercased UUIDs this process is guarding (for per-run proc calls). */
247
+ trackedIds() {
248
+ return Array.from(this._trackedRuns).filter(id => UUID_RE.test(id));
249
+ }
250
+ /**
251
+ * Build a single batched SQL string of one proc call per id, newline-separated, so a set of
252
+ * per-run writes goes to the DB as one round-trip instead of N. Each id is already a validated
253
+ * UUID and is quoted as a string literal before interpolation. Runs unchanged on SQL Server and
254
+ * PostgreSQL because the call form comes from {@link Dialect.ProcedureCallSyntax}.
255
+ */
256
+ static buildProcBatch(d, schema, proc, ids) {
257
+ return ids.map(id => d.ProcedureCallSyntax(schema, proc, [d.QuoteStringLiteral(id)]) + ';').join('\n');
258
+ }
259
+ /** Comma-joined, quoted, validated UUID list for an `ID IN (...)` clause, or '' if none. */
260
+ trackedIdList() {
261
+ return this.trackedIds().map(id => `'${id}'`).join(',');
262
+ }
263
+ /** Schema that owns the AIAgentRun objects (for qualifying proc calls), or null if unresolved. */
264
+ static schemaOf(provider) {
265
+ const entity = provider.EntityByName(AGENT_RUN_ENTITY);
266
+ return entity?.SchemaName || null;
267
+ }
268
+ /** Fully-qualified, dialect-quoted base VIEW for AIAgentRun reads, or null if unresolved. */
269
+ static viewOf(provider) {
270
+ const entity = provider.EntityByName(AGENT_RUN_ENTITY);
271
+ if (!entity || !entity.BaseView) {
272
+ return null;
273
+ }
274
+ const d = provider.Dialect;
275
+ return entity.SchemaName ? d.QuoteSchema(entity.SchemaName, entity.BaseView) : d.QuoteIdentifier(entity.BaseView);
276
+ }
277
+ }
278
+ //# sourceMappingURL=agent-run-watchdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-run-watchdog.js","sourceRoot":"","sources":["../src/agent-run-watchdog.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,12 @@ export interface ResponseTypeInclusionRules {
79
79
  * @default true
80
80
  */
81
81
  artifactToolCalls?: boolean;
82
+ /**
83
+ * Include the pipeline field in the response interface.
84
+ * Auto-aligns with includePipelineDocs unless explicitly set.
85
+ * @default true
86
+ */
87
+ pipeline?: boolean;
82
88
  }
83
89
  /**
84
90
  * Default values for ResponseTypeInclusionRules.
@@ -237,6 +243,13 @@ export interface LoopAgentTypePromptParams {
237
243
  * @default true
238
244
  */
239
245
  includeArtifactToolsDocs?: boolean;
246
+ /**
247
+ * Include tool-pipeline documentation in the prompt (the `_PIPELINE_TOOLS` block).
248
+ * Only emitted when at least one pipeline source — an Action or artifact tool — is available.
249
+ * Disable for agents that should never compose pipelines.
250
+ * @default true
251
+ */
252
+ includePipelineDocs?: boolean;
240
253
  /**
241
254
  * Maximum number of sub-agents to include in prompt details.
242
255
  * -1 = include all (default)
@@ -1 +1 @@
1
- {"version":3,"file":"loop-agent-prompt-params.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-prompt-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,0BAA0B;IACvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAAC,0BAA0B,CAQtF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,WAAW,yBAAyB;IAGtC;;;;;;;;;OASG;IACH,6BAA6B,CAAC,EAAE,0BAA0B,CAAC;IAE3D;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAInC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,yBAAyB,CAehF,CAAC"}
1
+ {"version":3,"file":"loop-agent-prompt-params.d.ts","sourceRoot":"","sources":["../../src/agent-types/loop-agent-prompt-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,0BAA0B;IACvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,qCAAqC,EAAE,QAAQ,CAAC,0BAA0B,CAStF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,WAAW,yBAAyB;IAGtC;;;;;;;;;OASG;IACH,6BAA6B,CAAC,EAAE,0BAA0B,CAAC;IAE3D;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAI9B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,yBAAyB,CAgBhF,CAAC"}