@cogitator-ai/workflows 0.14.14 → 0.14.15

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
@@ -185,7 +185,7 @@ builder
185
185
  );
186
186
  ```
187
187
 
188
- When an `agentNode` agent calls a tool that needs approval, its paused run never passes for an answer. With an `approvalStore` (execute option, or `approvals.approvalStore`) each waiting call becomes an approve/reject request in the human-in-the-loop store and the run resumes once it is answered, `approvals: { assignee, timeout, timeoutAction, ... }` shapes the requests. Without a store, or with `approvals: false`, the node fails with an `AgentRunPausedError` carrying the checkpoint, and is not retried.
188
+ When an `agentNode` agent calls a tool that needs approval, its paused run never passes for an answer. With an `approvalStore` (execute option, or `approvals.approvalStore`) each waiting call becomes an approve/reject request in the human-in-the-loop store and the run resumes once it is answered, `approvals: { assignee, timeout, timeoutAction, ... }` shapes the requests. Without a store, or with `approvals: false`, the node fails with an `AgentRunPausedError` carrying the checkpoint, and is not retried. A run that pauses on a question a tool asked (`context.interrupt()`) fails the node the same way, approval store or not, with the questions in `error.interrupts`: only a person answers them, so the node never resumes on its own. Answer them with `cogitator.resume(agent, error.checkpoint, { responses })`.
189
189
 
190
190
  A `toolNode` runs its tool through `cogitator.invokeTool`, the way an agent run calls it: arguments validated against the tool's schema, the guardrails, the sandbox and `tool.timeout` apply, and a tool with `requiresApproval` asks the same approval store before it runs. A declined call, or one with nobody to ask, fails the node without running the tool.
191
191
 
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/nodes/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,YAAY,EACZ,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,aAAa;IACjD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;CACzC;AAeD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAC/D,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC5B,YAAY,CAAC,CAAC,CAAC,CA2EjB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/nodes/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,YAAY,EACZ,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,aAAa;IACjD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;CACzC;AAeD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAC/D,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC5B,YAAY,CAAC,CAAC,CAAC,CA8EjB"}
@@ -1,4 +1,4 @@
1
- import { AgentRunPausedError, isPausedRun, } from '@cogitator-ai/core';
1
+ import { AgentRunPausedError, isPausedRun, pendingQuestions, } from '@cogitator-ai/core';
2
2
  import { askToolApproval } from './approvals.js';
3
3
  function resumeOptions(runOptions) {
4
4
  const { input: _input, images: _images, audio: _audio, context: _context, threadId: _threadId, threadAccess: _threadAccess, ...rest } = runOptions ?? {};
@@ -52,6 +52,9 @@ export function agentNode(agent, options) {
52
52
  ...options?.runOptions,
53
53
  });
54
54
  while (isPausedRun(result)) {
55
+ if (pendingQuestions(result).length > 0 || result.pendingApprovals.length === 0) {
56
+ throw new AgentRunPausedError(result, agent.name, where);
57
+ }
55
58
  const decisions = await askApprovals(result.pendingApprovals);
56
59
  if (!decisions || !result.checkpoint) {
57
60
  throw new AgentRunPausedError(result, agent.name, where);
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/nodes/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/nodes/agent.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogitator-ai/workflows",
3
- "version": "0.14.14",
3
+ "version": "0.14.15",
4
4
  "description": "DAG-based workflow engine for Cogitator agents",
5
5
  "keywords": [
6
6
  "cogitator",
@@ -31,8 +31,8 @@
31
31
  "node": ">=22.12.0"
32
32
  },
33
33
  "dependencies": {
34
- "@cogitator-ai/core": "0.63.1",
35
- "@cogitator-ai/types": "0.73.0",
34
+ "@cogitator-ai/core": "0.64.0",
35
+ "@cogitator-ai/types": "0.74.0",
36
36
  "cron-parser": "^5.10.1",
37
37
  "nanoid": "^6.0.1"
38
38
  },