@cogitator-ai/worker 0.9.24 → 0.10.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
@@ -8,7 +8,7 @@ Distributed job queue for Cogitator agent execution. Built on BullMQ for reliabl
8
8
  pnpm add @cogitator-ai/worker @cogitator-ai/core ioredis
9
9
  ```
10
10
 
11
- BullMQ and `@cogitator-ai/swarms` come as dependencies; `ioredis` is a peer dependency. Website docs: [Worker Queues](https://cogitator.app/docs/deployment/worker-queues), [Distributed Swarms](https://cogitator.app/docs/swarms/distributed).
11
+ BullMQ, `@cogitator-ai/swarms` and `@cogitator-ai/workflows` come as dependencies, `ioredis` is a peer dependency. Website docs: [Worker Queues](https://cogitator.app/docs/deployment/worker-queues), [Distributed Swarms](https://cogitator.app/docs/swarms/distributed).
12
12
 
13
13
  ## Features
14
14
 
@@ -16,7 +16,9 @@ BullMQ and `@cogitator-ai/swarms` come as dependencies; `ioredis` is a peer depe
16
16
  - **Job Types** - Agents, workflow graphs, swarms and distributed swarm turns
17
17
  - **Worker Runtime** - Run jobs with your own `Cogitator` (provider keys, memory) and tool implementations
18
18
  - **Distributed Swarms** - `DistributedSwarmWorker` executes agent turns for `@cogitator-ai/swarms`
19
- - **Auto-Retry** - Exponential backoff for failed jobs
19
+ - **Auto-Retry** - Exponential backoff for failed jobs, a retried workflow job goes on from its last checkpoint
20
+ - **Job Ids** - Adding a job under an id the queue holds gives that job back, so producers can retry an add
21
+ - **Usage** - Workflow and swarm results carry tokens and cost, the metrics count them by job type
20
22
  - **Priority Queue** - Process important jobs first
21
23
  - **Delayed Jobs** - Schedule jobs for later execution
22
24
  - **Prometheus Metrics** - Built-in HPA support
@@ -188,7 +190,7 @@ The worker routes `model` exactly like the same agent in-process: a prefix that
188
190
 
189
191
  **Workflow Jobs:**
190
192
 
191
- Workflow jobs run a DAG over a shared state object initialised from the job input. Nodes run as soon as their predecessors settle; independent branches run concurrently.
193
+ Workflow jobs run on the `WorkflowExecutor` of `@cogitator-ai/workflows`, over a shared state object initialised from the job input. Nodes run in rounds, each running at once every node whose nodes before it all settled, and a graph with many roots starts at all of them.
192
194
 
193
195
  ```typescript
194
196
  const workflowConfig: SerializedWorkflow = {
@@ -233,7 +235,9 @@ await queue.addWorkflowJob(workflowConfig, { ticket: 'App crashes on login' });
233
235
  | `condition` | `{ key, operator, value? }` — `equals`, `not-equals`, `contains`, `exists`, `gt`, `lt`; outgoing edges use `condition: 'true' \| 'false'` |
234
236
  | `parallel` | `{}` — fan-out marker; successors run concurrently |
235
237
 
236
- Node outputs are stored in the state under `outputKey` (default: node id). Nodes reachable only through untaken condition branches are skipped (`{ skipped: true }` in `nodeResults`). Graphs are validated before execution (unknown nodes, invalid configs, cycles).
238
+ Node outputs are stored in the state under `outputKey` (default: node id). Nodes reachable only through untaken condition branches are skipped (`{ skipped: true }` in `nodeResults`). Graphs are validated before execution (unknown nodes, invalid configs, cycles). The run keeps its own bookkeeping (which nodes ran, the branch a condition took, the usage of each agent node) in state keys starting with `__cogitator:`, which are left out of the job's `output`. Input keys, node ids and output keys starting with `__cogitator:` are refused.
239
+
240
+ A workflow job keeps one checkpoint, saved over after every node under the job's id and `runId`, so jobs sharing a `runId` never resume from each other. A job BullMQ retries (`attempts`) goes on from it instead of running its finished agent nodes again. The checkpoint is deleted once the run finished, and once no attempt follows a failure: after the last attempt, a cancelled job or a paused agent run. A job a shutdown stopped keeps it for the worker that takes the job up. `WorkerPool` keeps the checkpoints in its Redis under `<queue prefix>:<queue name>:workflow-checkpoints` (`cogitator`, or `{cogitator}` in cluster mode) for `checkpointTtl` seconds after the last save (7 days by default), so the checkpoint of a run whose worker crashed goes on its own. `checkpoints` in the worker config takes a `CheckpointStore` of your own.
237
241
 
238
242
  **Swarm Jobs:**
239
243
 
@@ -260,6 +264,18 @@ await queue.addSwarmJob(swarmConfig, 'Write an article about AI', {
260
264
  | `debate` | `debate` | `maxRounds` rounds, `coordinator` moderates |
261
265
  | `voting` | `consensus` | `consensusThreshold`, `maxRounds`, `coordinator` breaks ties |
262
266
 
267
+ **Job Ids:**
268
+
269
+ `addAgentJob`, `resumeAgentJob`, `addWorkflowJob`, `addSwarmJob` and `addSwarmAgentJob` take a `jobId`, and the job is added under it. Adding a job whose id the queue holds already gives that job back instead of adding a second one, so a producer can retry an add, such as after a timeout, without running the work twice:
270
+
271
+ ```typescript
272
+ const job = await queue.addWorkflowJob(workflowConfig, input, { jobId: `triage-${ticketId}` });
273
+ const again = await queue.addWorkflowJob(workflowConfig, input, { jobId: `triage-${ticketId}` });
274
+ // again.id === job.id, one job runs
275
+ ```
276
+
277
+ Two adds racing with the same id both get the job the queue holds. A job the queue removed (past `removeOnComplete` or `removeOnFail`) is gone, and its id adds a new job. BullMQ builds Redis keys from the id, so an empty id, one with `:`, an integer and a name of the queue's own keys (`meta`, `id`, `events`, `stalled-check` and the like) are refused, and an id the queue holds as another kind of job (an agent job for `addWorkflowJob`, say) throws. Without `jobId` every add gets a new id.
278
+
263
279
  ### Queue Methods
264
280
 
265
281
  ```typescript
@@ -335,6 +351,8 @@ interface WorkerConfig extends QueueConfig {
335
351
  stalledInterval?: number; // Default: 30000ms
336
352
  cogitator?: Cogitator; // Default: new Cogitator()
337
353
  tools?: Tool[]; // Tool implementations, resolved by name
354
+ checkpoints?: CheckpointStore; // Where workflow jobs keep their checkpoints. Default: the pool's Redis
355
+ checkpointTtl?: number; // Seconds the default store keeps a checkpoint after its last save. Default: 7 days
338
356
  }
339
357
  ```
340
358
 
@@ -391,7 +409,7 @@ Built-in processors handle each job type.
391
409
 
392
410
  ### Using Processors Directly
393
411
 
394
- Processors take the job payload and an optional runtime (`{ cogitator, tools }`):
412
+ Processors take the job payload and an optional runtime (`{ cogitator, tools, checkpoints }`):
395
413
 
396
414
  ```typescript
397
415
  import { processAgentJob, processWorkflowJob, processSwarmJob } from '@cogitator-ai/worker';
@@ -414,6 +432,8 @@ const swarmResult = await processSwarmJob(
414
432
  );
415
433
  ```
416
434
 
435
+ `processWorkflowJob` called on its own runs without checkpoints unless the runtime has `checkpoints` (a `CheckpointStore`). With them, pass `{ willRetry }` as the third argument: a run whose failure another attempt follows (`willRetry(error)` returns `true`) keeps its checkpoint for it, any other failure deletes it.
436
+
417
437
  `processSwarmAgentJob(payload, { publisher, isFinalAttempt, ...runtime })` executes one distributed swarm turn and publishes the result (tagged with the job id) to `payload.stateKeys.results`; `executeSwarmAgentJob` returns the result without publishing.
418
438
 
419
439
  ---
@@ -508,8 +528,17 @@ interface WorkflowJobResult {
508
528
  type: 'workflow';
509
529
  output: Record<string, unknown>;
510
530
  nodeResults: Record<string, unknown>;
531
+ usage: JobUsage; // what the agent nodes used and cost
511
532
  duration: number;
512
533
  }
534
+
535
+ interface JobUsage {
536
+ inputTokens?: number; // absent where the runs reported only their totals
537
+ outputTokens?: number;
538
+ totalTokens: number;
539
+ cost: number; // USD
540
+ runs: number; // agent runs counted
541
+ }
513
542
  ```
514
543
 
515
544
  ### Swarm Job Result
@@ -519,6 +548,8 @@ interface SwarmJobResult {
519
548
  type: 'swarm';
520
549
  output: string;
521
550
  rounds: number;
551
+ // what the swarm's agent runs used and cost, in all and by agent
552
+ usage: JobUsage & { byAgent: Record<string, { tokens: number; cost: number; runs: number }> };
522
553
  agentOutputs: {
523
554
  agent: string;
524
555
  output: string;
@@ -526,6 +557,8 @@ interface SwarmJobResult {
526
557
  }
527
558
  ```
528
559
 
560
+ A swarm reports only total tokens, so its `usage` has no `inputTokens` or `outputTokens`.
561
+
529
562
  ---
530
563
 
531
564
  ## Prometheus Metrics
@@ -554,20 +587,24 @@ app.listen(9090);
554
587
 
555
588
  ### Available Metrics
556
589
 
557
- | Metric | Type | Description |
558
- | -------------------------------- | --------- | ----------------------------------------------------------- |
559
- | `cogitator_queue_depth` | gauge | Total waiting + delayed jobs |
560
- | `cogitator_queue_waiting` | gauge | Jobs ready to run, prioritized jobs included |
561
- | `cogitator_queue_active` | gauge | Jobs currently being processed |
562
- | `cogitator_queue_completed` | gauge | Completed jobs kept in Redis (capped by `removeOnComplete`) |
563
- | `cogitator_queue_failed` | gauge | Failed jobs kept in Redis (capped by `removeOnFail`) |
564
- | `cogitator_queue_delayed` | gauge | Scheduled/delayed jobs |
565
- | `cogitator_workers_total` | gauge | Workers connected to the queue |
566
- | `cogitator_job_duration_seconds` | histogram | Job processing time |
567
- | `cogitator_jobs_by_type_total` | counter | Jobs by type |
568
- | `cogitator_jobs_failed_total` | counter | Jobs that failed their last attempt, by `type` |
569
-
570
- `cogitator_queue_completed` and `cogitator_queue_failed` can go down as BullMQ trims old jobs, so alert on `cogitator_jobs_failed_total` instead (for example `increase(cogitator_jobs_failed_total[5m]) > 5`). The per-type counters appear after the first job of that kind.
590
+ | Metric | Type | Description |
591
+ | ----------------------------------- | --------- | ----------------------------------------------------------- |
592
+ | `cogitator_queue_depth` | gauge | Total waiting + delayed jobs |
593
+ | `cogitator_queue_waiting` | gauge | Jobs ready to run, prioritized jobs included |
594
+ | `cogitator_queue_active` | gauge | Jobs currently being processed |
595
+ | `cogitator_queue_completed` | gauge | Completed jobs kept in Redis (capped by `removeOnComplete`) |
596
+ | `cogitator_queue_failed` | gauge | Failed jobs kept in Redis (capped by `removeOnFail`) |
597
+ | `cogitator_queue_delayed` | gauge | Scheduled/delayed jobs |
598
+ | `cogitator_workers_total` | gauge | Workers connected to the queue |
599
+ | `cogitator_job_duration_seconds` | histogram | Job processing time |
600
+ | `cogitator_jobs_by_type_total` | counter | Jobs by type |
601
+ | `cogitator_jobs_failed_total` | counter | Jobs that failed their last attempt, by `type` |
602
+ | `cogitator_job_tokens_total` | counter | Tokens the agent runs of completed jobs used, by `type` |
603
+ | `cogitator_job_input_tokens_total` | counter | Input tokens of completed jobs, by `type` |
604
+ | `cogitator_job_output_tokens_total` | counter | Output tokens of completed jobs, by `type` |
605
+ | `cogitator_job_cost_usd_total` | counter | USD the agent runs of completed jobs cost, by `type` |
606
+
607
+ `cogitator_queue_completed` and `cogitator_queue_failed` can go down as BullMQ trims old jobs, so alert on `cogitator_jobs_failed_total` instead (for example `increase(cogitator_jobs_failed_total[5m]) > 5`). The per-type counters appear after the first job of that kind. The usage counters take the `usage` of completed agent, workflow, swarm and swarm-agent jobs, input and output tokens only where the job reported them apart (swarm jobs do not).
571
608
 
572
609
  ### Duration Histogram
573
610
 
@@ -587,7 +624,7 @@ histogram.reset();
587
624
 
588
625
  ### Metrics Collector
589
626
 
590
- `WorkerPool` keeps one in `pool.metrics`: it calls `recordJob(type, durationMs)` for each completed job and `recordFailure(type)` for each job that failed its last attempt (retried attempts are not counted). Use your own collector when you process jobs outside the pool.
627
+ `WorkerPool` keeps one in `pool.metrics`: it calls `recordJob(type, durationMs)` and `recordUsage(type, result.usage)` for each completed job and `recordFailure(type)` for each job that failed its last attempt (retried attempts are not counted). Use your own collector when you process jobs outside the pool.
591
628
 
592
629
  ```typescript
593
630
  import { MetricsCollector } from '@cogitator-ai/worker';
@@ -596,6 +633,7 @@ const collector = new MetricsCollector();
596
633
 
597
634
  collector.recordJob('agent', 1500);
598
635
  collector.recordJob('workflow', 3200);
636
+ collector.recordUsage('workflow', workflowResult.usage); // { inputTokens?, outputTokens?, totalTokens, cost }
599
637
  collector.recordFailure('agent');
600
638
 
601
639
  const output = collector.format(queueMetrics, { queue: 'main' });
@@ -885,6 +923,7 @@ import type {
885
923
  AgentJobResult,
886
924
  WorkflowJobResult,
887
925
  SwarmJobResult,
926
+ JobUsage,
888
927
  SwarmAgentJobResult,
889
928
 
890
929
  // Configuration
@@ -1 +1 @@
1
- {"version":3,"file":"distributed-swarm-worker.d.ts","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKxF,MAAM,WAAW,4BAA6B,SAAQ,aAAa;IACjE,qFAAqF;IACrF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnD,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChE,mFAAmF;IACnF,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAgBD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;gBAGjD,MAAM,GAAE,4BAAiC,EACzC,MAAM,GAAE,4BAAiC;IAW3C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,SAAS,IAAI,OAAO;IAIpB,iBAAiB,IAAI,MAAM;YAIb,OAAO;YA6BP,MAAM;IAiDpB,6FAA6F;YAC/E,WAAW;IAWzB,6EAA6E;IAC7E,OAAO,CAAC,iBAAiB;CAqB1B"}
1
+ {"version":3,"file":"distributed-swarm-worker.d.ts","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKxF,MAAM,WAAW,4BAA6B,SAAQ,aAAa;IACjE,qFAAqF;IACrF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACnD,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChE,mFAAmF;IACnF,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAgBD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuE;IAC/F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAC,CAAQ;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;gBAGjD,MAAM,GAAE,4BAAiC,EACzC,MAAM,GAAE,4BAAiC;IAW3C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,SAAS,IAAI,OAAO;IAIpB,iBAAiB,IAAI,MAAM;YAIb,OAAO;YA6BP,MAAM;IAiDpB,6FAA6F;YAC/E,WAAW;IAWzB,6EAA6E;IAC7E,OAAO,CAAC,iBAAiB;CAqB1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"distributed-swarm-worker.js","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distributed-swarm-worker.js","sourceRoot":"","sources":["../src/distributed-swarm-worker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAmC/C,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAsC,CAAC;IACnD,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,aAAa;QAC1B,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAC7B,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAC7B,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;QACnC,GAAG,CAAC,WAAW,KAAK,IAAI;QACxB,OAAO,GAAG,CAAC,SAAS,EAAE,OAAO,KAAK,QAAQ,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IAChB,MAAM,CAA+B;IACrC,MAAM,CAA+B;IACrC,OAAO,CAAuE;IAC9E,QAAQ,CAAS;IAC1B,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,IAAI,CAAiB;IACrB,OAAO,GAAG,KAAK,CAAC;IACP,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEnD,YACE,SAAuC,EAAE,EACzC,SAAuC,EAAE;QAEzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,SAAS,EAAE;YAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;SAC1B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,WAAW;YAC5C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI;YACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ;YACrC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC;YAC9B,WAAW,EAAE,IAAI;SAClB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,UAAU,EAAE,CAAC;YACtB,SAAS,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,IAAI,CAAC;QAChB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3C,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;gBACpC,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,SAAS;YACX,CAAC;YAED,IAAI,KAA8B,CAAC;YACnC,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAI,CAAC,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,GAAW;QAC9B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,6FAA6F;IACrF,KAAK,CAAC,WAAW,CAAC,GAAyB;QACjD,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,iBAAiB,CACvB,GAAyB,EACzB,UAA2B;QAE3B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;QACvE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,WAAW,CAAC,GAAG,EAAE;YACtB,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YAClD,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;iBACvB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAI,SAAS,EAAE,CAAC;oBACd,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,KAAK,mCAAmC,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -15,5 +15,5 @@ export { formatPrometheusMetrics, DurationHistogram, MetricsCollector } from './
15
15
  export { serializeAgent, serializeResponseFormat } from './serialize.js';
16
16
  export { resolveRedisOptions, type RedisConnectionOptions } from './connection.js';
17
17
  export { processAgentJob, processWorkflowJob, processSwarmJob, processSwarmAgentJob, executeSwarmAgentJob, buildSwarmConfig, validateWorkflow, type SwarmAgentJobOptions, type SwarmResultPublisher, } from './processors/index.js';
18
- export type { SerializedAgent, SerializedResponseFormat, AgentJobUsage, SerializedWorkflow, SerializedWorkflowNode, SerializedWorkflowEdge, AgentNodeConfig, TransformNodeConfig, TransformOperation, ConditionNodeConfig, ConditionOperator, SerializedSwarm, SwarmTopology, JobPayload, AgentJobPayload, AgentJobResume, WorkflowJobPayload, SwarmJobPayload, SwarmAgentJobPayload, JobResult, AgentJobResult, WorkflowJobResult, SwarmJobResult, SwarmAgentJobResult, QueueConfig, WorkerConfig, WorkerRuntime, JobExecutionOptions, QueueMetrics, JobState, } from './types.js';
18
+ export type { SerializedAgent, SerializedResponseFormat, AgentJobUsage, SerializedWorkflow, SerializedWorkflowNode, SerializedWorkflowEdge, AgentNodeConfig, TransformNodeConfig, TransformOperation, ConditionNodeConfig, ConditionOperator, SerializedSwarm, SwarmTopology, JobPayload, AgentJobPayload, AgentJobResume, WorkflowJobPayload, SwarmJobPayload, SwarmAgentJobPayload, JobResult, AgentJobResult, WorkflowJobResult, SwarmJobResult, JobUsage, SwarmAgentJobResult, QueueConfig, WorkerConfig, WorkerRuntime, JobExecutionOptions, QueueMetrics, JobState, } from './types.js';
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EACL,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAC"}
package/dist/metrics.d.ts CHANGED
@@ -42,11 +42,25 @@ export declare class MetricsCollector {
42
42
  readonly jobDuration: DurationHistogram;
43
43
  private jobsByType;
44
44
  private failedJobsByType;
45
+ private tokensByType;
46
+ private inputTokensByType;
47
+ private outputTokensByType;
48
+ private costByType;
45
49
  constructor();
46
50
  /**
47
51
  * Record a completed job
48
52
  */
49
53
  recordJob(type: string, durationMs: number): void;
54
+ /**
55
+ * Record what a completed job used and cost. Input and output tokens are counted where the job
56
+ * reported them apart.
57
+ */
58
+ recordUsage(type: string, usage: {
59
+ inputTokens?: number;
60
+ outputTokens?: number;
61
+ totalTokens: number;
62
+ cost: number;
63
+ }): void;
50
64
  /**
51
65
  * Record a job that failed its last attempt
52
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuB5C;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAoCR;AAOD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQtC;;OAEG;IACH,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAWtC;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAuB/C;;OAEG;IACH,KAAK,IAAI,IAAI;CAOd;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,gBAAgB,CAA6B;;IASrD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAKjD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CAoB5E"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAuB5C;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,EACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAoCR;AAOD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAElB,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQtC;;OAEG;IACH,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAWtC;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAuB/C;;OAEG;IACH,KAAK,IAAI,IAAI;CAOd;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,UAAU,CAA6B;;IAS/C;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAKjD;;;OAGG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACxF,IAAI;IASP;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CA4C5E"}
package/dist/metrics.js CHANGED
@@ -135,6 +135,10 @@ export class MetricsCollector {
135
135
  jobDuration;
136
136
  jobsByType = new Map();
137
137
  failedJobsByType = new Map();
138
+ tokensByType = new Map();
139
+ inputTokensByType = new Map();
140
+ outputTokensByType = new Map();
141
+ costByType = new Map();
138
142
  constructor() {
139
143
  this.jobDuration = new DurationHistogram('cogitator_job_duration_seconds', 'Job processing duration in seconds');
140
144
  }
@@ -145,6 +149,19 @@ export class MetricsCollector {
145
149
  this.jobDuration.observe(durationMs / 1000);
146
150
  this.jobsByType.set(type, (this.jobsByType.get(type) ?? 0) + 1);
147
151
  }
152
+ /**
153
+ * Record what a completed job used and cost. Input and output tokens are counted where the job
154
+ * reported them apart.
155
+ */
156
+ recordUsage(type, usage) {
157
+ const add = (counts, value) => counts.set(type, (counts.get(type) ?? 0) + value);
158
+ add(this.tokensByType, usage.totalTokens);
159
+ add(this.costByType, usage.cost);
160
+ if (usage.inputTokens !== undefined)
161
+ add(this.inputTokensByType, usage.inputTokens);
162
+ if (usage.outputTokens !== undefined)
163
+ add(this.outputTokensByType, usage.outputTokens);
164
+ }
148
165
  /**
149
166
  * Record a job that failed its last attempt
150
167
  */
@@ -156,7 +173,7 @@ export class MetricsCollector {
156
173
  */
157
174
  format(queueMetrics, labels) {
158
175
  const parts = [formatPrometheusMetrics(queueMetrics, labels), this.jobDuration.format(labels)];
159
- parts.push(...formatCounterByType('cogitator_jobs_by_type_total', 'Jobs processed by type', this.jobsByType, labels), ...formatCounterByType('cogitator_jobs_failed_total', 'Jobs that failed their last attempt, by type', this.failedJobsByType, labels));
176
+ parts.push(...formatCounterByType('cogitator_jobs_by_type_total', 'Jobs processed by type', this.jobsByType, labels), ...formatCounterByType('cogitator_jobs_failed_total', 'Jobs that failed their last attempt, by type', this.failedJobsByType, labels), ...formatCounterByType('cogitator_job_tokens_total', 'Tokens the agent runs of completed jobs used, by type', this.tokensByType, labels), ...formatCounterByType('cogitator_job_input_tokens_total', 'Input tokens the agent runs of completed jobs used, by type', this.inputTokensByType, labels), ...formatCounterByType('cogitator_job_output_tokens_total', 'Output tokens the agent runs of completed jobs used, by type', this.outputTokensByType, labels), ...formatCounterByType('cogitator_job_cost_usd_total', 'USD the agent runs of completed jobs cost, by type', this.costByType, labels));
160
177
  return parts.join('\n');
161
178
  }
162
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/processors/swarm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAiB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAEV,eAAe,EAEf,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AASlB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,WAAW,EAAE,KAAK,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,GACb,cAAc,CAqDhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,SAA+B,GAClC,WAAW,CAwDb;AAqBD,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,aAAkB,EAC3B,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC,cAAc,CAAC,CAgCzB"}
1
+ {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../src/processors/swarm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAiB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAEV,eAAe,EAEf,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,EACpB,MAAM,UAAU,CAAC;AASlB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,WAAW,EAAE,KAAK,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,GACb,cAAc,CAqDhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,eAAe,EAC3B,OAAO,EAAE,aAAa,EACtB,IAAI,SAA+B,GAClC,WAAW,CAwDb;AAqBD,wBAAsB,eAAe,CACnC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,aAAkB,EAC3B,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC,cAAc,CAAC,CA4CzB"}
@@ -142,6 +142,7 @@ export async function processSwarmJob(payload, runtime = {}, execution = {}) {
142
142
  input: payload.input,
143
143
  ...(execution.signal && { signal: execution.signal }),
144
144
  });
145
+ const spent = swarm.getResourceUsage();
145
146
  return {
146
147
  type: 'swarm',
147
148
  output: typeof result.output === 'string' ? result.output : JSON.stringify(result.output),
@@ -150,6 +151,15 @@ export async function processSwarmJob(payload, runtime = {}, execution = {}) {
150
151
  agent: stageAgents.get(key) ?? key,
151
152
  output: runResult.output,
152
153
  })),
154
+ usage: {
155
+ totalTokens: spent.totalTokens,
156
+ cost: spent.totalCost,
157
+ runs: [...spent.agentUsage.values()].reduce((sum, one) => sum + one.runs, 0),
158
+ byAgent: Object.fromEntries([...spent.agentUsage].map(([agent, one]) => [
159
+ agent,
160
+ { tokens: one.tokens, cost: one.cost, runs: one.runs },
161
+ ])),
162
+ },
153
163
  };
154
164
  }
155
165
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/processors/swarm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/processors/swarm.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,8 @@
1
1
  /**
2
- * Workflow job processor
3
- *
4
- * Executes a serialized workflow graph as a DAG over a shared state object. Nodes run as
5
- * soon as all of their predecessors have settled; independent branches run concurrently.
6
- * Condition nodes activate their `'true'` or `'false'` outgoing edges; nodes reachable only
7
- * through inactive edges are skipped.
2
+ * Workflow job processor: a serialized workflow graph run on the workflow executor of
3
+ * `@cogitator-ai/workflows`, over a shared state object, checkpointed for retries
8
4
  */
5
+ import type { CheckpointStore } from '@cogitator-ai/types';
9
6
  import type { SerializedWorkflow, WorkerRuntime, WorkflowJobPayload, WorkflowJobResult, JobExecutionOptions } from '../types.js';
10
7
  type WorkflowState = Record<string, unknown>;
11
8
  /**
@@ -18,9 +15,25 @@ export declare function readStatePath(state: WorkflowState, path: string): unkno
18
15
  export declare function renderTemplate(template: string, state: WorkflowState): string;
19
16
  /**
20
17
  * Check the graph before running anything: unique ids, known edge endpoints, branch labels
21
- * only on condition nodes, valid node configs and no cycles.
18
+ * only on condition nodes, valid node configs and no cycles. Node ids and output keys must not
19
+ * start with `__cogitator:`, the prefix of the run's own state keys.
22
20
  */
23
21
  export declare function validateWorkflow(workflow: SerializedWorkflow): void;
22
+ /**
23
+ * Id of the one checkpoint a workflow job keeps, saved over after every node: the job's id and
24
+ * its `runId`, so jobs sharing a `runId` never resume from each other
25
+ */
26
+ export declare function workflowCheckpointId(payload: Pick<WorkflowJobPayload, 'jobId' | 'runId'>): string;
27
+ /** Delete the checkpoint of a workflow job, for a run no attempt goes on from */
28
+ export declare function forgetWorkflowRun(payload: Pick<WorkflowJobPayload, 'jobId' | 'runId'>, store: CheckpointStore): Promise<void>;
29
+ /**
30
+ * Runs a workflow job on the workflow executor of `@cogitator-ai/workflows`, over a shared state:
31
+ * in rounds, each running at once the nodes whose nodes before them all settled, a condition
32
+ * taking its `'true'` or `'false'` edges. Input keys starting with `__cogitator:` are refused,
33
+ * the run keeps its own bookkeeping under them. With `checkpoints` the job keeps one checkpoint,
34
+ * saved after every node, so an attempt that comes after a failure (`willRetry`) goes on from it
35
+ * instead of running its agents again, and the checkpoint goes once no attempt follows.
36
+ */
24
37
  export declare function processWorkflowJob(payload: WorkflowJobPayload, runtime?: WorkerRuntime, execution?: JobExecutionOptions): Promise<WorkflowJobResult>;
25
38
  export {};
26
39
  //# sourceMappingURL=workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/processors/workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAEV,kBAAkB,EAGlB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAwB7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOzE;AAOD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,CAI7E;AAcD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CA0EnE;AAkND,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,aAAkB,EAC3B,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAiB5B"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/processors/workflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAGV,kBAAkB,EAIlB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAqB7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOzE;AAOD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,CAI7E;AAsBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CA+EnE;AAwOD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,MAAM,CAEjG;AAED,iFAAiF;AACjF,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAC,EACpD,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAEf;AA4BD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,aAAkB,EAC3B,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAiD5B"}