@cogitator-ai/workflows 0.7.3 → 0.9.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 +28 -0
- package/dist/builder.d.ts +1 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js.map +1 -1
- package/dist/checkpoint-stores.d.ts +61 -0
- package/dist/checkpoint-stores.d.ts.map +1 -0
- package/dist/checkpoint-stores.js +111 -0
- package/dist/checkpoint-stores.js.map +1 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +18 -7
- package/dist/executor.js.map +1 -1
- package/dist/human/approval-outcomes.d.ts +26 -0
- package/dist/human/approval-outcomes.d.ts.map +1 -0
- package/dist/human/approval-outcomes.js +61 -0
- package/dist/human/approval-outcomes.js.map +1 -0
- package/dist/human/approval-store.d.ts +12 -0
- package/dist/human/approval-store.d.ts.map +1 -1
- package/dist/human/approval-store.js +52 -9
- package/dist/human/approval-store.js.map +1 -1
- package/dist/human/durable-approval-stores.d.ts +118 -0
- package/dist/human/durable-approval-stores.d.ts.map +1 -0
- package/dist/human/durable-approval-stores.js +383 -0
- package/dist/human/durable-approval-stores.js.map +1 -0
- package/dist/human/human-node.d.ts +13 -7
- package/dist/human/human-node.d.ts.map +1 -1
- package/dist/human/human-node.js +9 -8
- package/dist/human/human-node.js.map +1 -1
- package/dist/human/index.d.ts +2 -1
- package/dist/human/index.d.ts.map +1 -1
- package/dist/human/index.js +1 -0
- package/dist/human/index.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/manager/durable-run-stores.d.ts +88 -0
- package/dist/manager/durable-run-stores.d.ts.map +1 -0
- package/dist/manager/durable-run-stores.js +492 -0
- package/dist/manager/durable-run-stores.js.map +1 -0
- package/dist/manager/run-store.d.ts +1 -0
- package/dist/manager/run-store.d.ts.map +1 -1
- package/dist/manager/run-store.js +21 -10
- package/dist/manager/run-store.js.map +1 -1
- package/dist/manager/workflow-manager.d.ts +7 -1
- package/dist/manager/workflow-manager.d.ts.map +1 -1
- package/dist/manager/workflow-manager.js +42 -16
- package/dist/manager/workflow-manager.js.map +1 -1
- package/dist/observability/exporters.js +1 -1
- package/dist/observability/exporters.js.map +1 -1
- package/dist/observability/tracer.d.ts +1 -0
- package/dist/observability/tracer.d.ts.map +1 -1
- package/dist/observability/tracer.js +2 -1
- package/dist/observability/tracer.js.map +1 -1
- package/dist/postgres-schema.d.ts +18 -0
- package/dist/postgres-schema.d.ts.map +1 -0
- package/dist/postgres-schema.js +35 -0
- package/dist/postgres-schema.js.map +1 -0
- package/dist/subworkflows/parallel-subworkflows.d.ts +15 -11
- package/dist/subworkflows/parallel-subworkflows.d.ts.map +1 -1
- package/dist/subworkflows/parallel-subworkflows.js +21 -31
- package/dist/subworkflows/parallel-subworkflows.js.map +1 -1
- package/dist/timers/durable-timer-stores.d.ts +174 -0
- package/dist/timers/durable-timer-stores.d.ts.map +1 -0
- package/dist/timers/durable-timer-stores.js +501 -0
- package/dist/timers/durable-timer-stores.js.map +1 -0
- package/dist/timers/timer-manager.d.ts +28 -1
- package/dist/timers/timer-manager.d.ts.map +1 -1
- package/dist/timers/timer-manager.js +87 -3
- package/dist/timers/timer-manager.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export { WorkflowExecutor, NodeExecutionError, NodeTimeoutError } from './execut
|
|
|
8
8
|
export type { ExecutorExecuteOptions } from './executor.js';
|
|
9
9
|
export { WorkflowScheduler } from './scheduler.js';
|
|
10
10
|
export { InMemoryCheckpointStore, FileCheckpointStore, createCheckpointId } from './checkpoint.js';
|
|
11
|
+
export { RedisCheckpointStore, PostgresCheckpointStore } from './checkpoint-stores.js';
|
|
12
|
+
export type { CheckpointRedisClient, CheckpointPgClient, RedisCheckpointStoreOptions, PostgresCheckpointStoreOptions, } from './checkpoint-stores.js';
|
|
11
13
|
export { agentNode, toolNode, functionNode, customNode, timerWorkflowNode, humanWorkflowNode, mapWorkflowNode, mapReduceWorkflowNode, subworkflowWorkflowNode, parallelSubworkflowsNode, type TimerWorkflowNodeOptions, type HumanWorkflowNodeOptions, type SubworkflowNodeOptions, } from './nodes/index.js';
|
|
12
14
|
export type { AgentNodeOptions } from './nodes/agent.js';
|
|
13
15
|
export type { ToolNodeOptions } from './nodes/tool.js';
|
|
@@ -23,11 +25,15 @@ export { executeMap, executeReduce, executeMapReduce, mapNode, reduceNode, mapRe
|
|
|
23
25
|
export type { MapItemResult, MapProgressEvent, MapNodeConfig, ReduceNodeConfig, MapReduceResult, MapReduceNodeConfig, } from './patterns/index.js';
|
|
24
26
|
export { executeSubworkflow, subworkflowNode, simpleSubworkflow, nestedSubworkflow, conditionalSubworkflow, MaxDepthExceededError, executeParallelSubworkflows, parallelSubworkflows, fanOutFanIn, scatterGather, raceSubworkflows, fallbackSubworkflows, } from './subworkflows/index.js';
|
|
25
27
|
export type { SubworkflowErrorStrategy, SubworkflowRetryConfig, SubworkflowConfig, SubworkflowContext, SubworkflowResult, ParallelSubworkflowDef, ParallelSubworkflowsConfig, ParallelProgress, ParallelSubworkflowsResult, } from './subworkflows/index.js';
|
|
26
|
-
export { InMemoryApprovalStore, FileApprovalStore, withDelegation, ConsoleNotifier, WebhookNotifier, CompositeNotifier, slackNotifier, filteredNotifier, priorityRouter, nullNotifier, executeHumanNode, humanNode, approvalNode, choiceNode, inputNode, ratingNode, chainNode, managementChain, } from './human/index.js';
|
|
27
|
-
export type { HumanNodeContext, HumanNodeResult } from './human/index.js';
|
|
28
|
+
export { InMemoryApprovalStore, FileApprovalStore, withDelegation, ApprovalAlreadyAnsweredError, WITHDRAWN, isUnanswered, submitOrExisting, withdrawnResponse, ConsoleNotifier, WebhookNotifier, CompositeNotifier, slackNotifier, filteredNotifier, priorityRouter, nullNotifier, executeHumanNode, humanNode, approvalNode, choiceNode, inputNode, ratingNode, chainNode, managementChain, } from './human/index.js';
|
|
29
|
+
export type { HumanNodeContext, HumanNodeResult, NamedHumanNodeConfig } from './human/index.js';
|
|
28
30
|
export { InMemoryRunStore, FileRunStore, createInMemoryRunStore, createFileRunStore, PriorityQueue, JobScheduler, createJobScheduler, DefaultWorkflowManager, createWorkflowManager, } from './manager/index.js';
|
|
29
31
|
export type { QueueItem, SchedulerConfig, CronJob, WorkflowManagerConfig } from './manager/index.js';
|
|
30
32
|
export { TokenBucket, RateLimiter, SlidingWindowRateLimiter, createRateLimiter, createSlidingWindowLimiter, CronTriggerExecutor, createCronTrigger, validateCronTriggerConfig, WebhookTriggerExecutor, WebhookAuthError, WebhookRateLimitError, createWebhookTrigger, validateWebhookTriggerConfig, InMemoryTriggerStore, SimpleTriggerEventEmitter, DefaultTriggerManager, createTriggerManager, cronTrigger, webhookTrigger, eventTrigger, } from './triggers/index.js';
|
|
31
33
|
export type { TokenBucketConfig, RateLimitResult, CronTriggerState, CronTriggerResult, WebhookRequest, WebhookResponse, WebhookTriggerState, WebhookHandlerResult, TriggerStore, TriggerEventEmitter, TriggerManagerConfig, } from './triggers/index.js';
|
|
32
34
|
export type { Workflow, WorkflowState, WorkflowNode, WorkflowResult, WorkflowEvent, StreamingWorkflowEvent, WorkflowExecuteOptions, WorkflowCheckpoint, CheckpointStore, NodeContext, NodeResult, NodeConfig, NodeFn, Edge, SequentialEdge, ConditionalEdge, ParallelEdge, LoopEdge, AddNodeOptions, AddConditionalOptions, AddLoopOptions, AddParallelOptions, TracingConfig, MetricsConfig, SpanExporter, SpanKind, SpanStatus, SpanEvent, SpanLink, WorkflowSpan, NodeMetrics, WorkflowMetrics, TraceContext, Baggage, RetryConfig, BackoffStrategy, CircuitBreakerConfig, CircuitBreakerState, CompensationConfig, CompensationOrder, DeadLetterEntry, DeadLetterQueue, IdempotencyRecord, IdempotencyStore, TimerEntry, TimerStore, ApprovalType, ApprovalChoice, ApprovalRequest, ApprovalResponse, ApprovalChainStep, HumanNodeConfig, ApprovalStore, ApprovalNotifier, ScheduleOptions, WorkflowRunStatus, WorkflowRun, WorkflowRunFilters, WorkflowRunStats, WorkflowManager, RunStore, CronTriggerConfig, WebhookAuthConfig, WebhookRateLimitConfig, WebhookTriggerConfig, EventTriggerConfig, TriggerContext, WorkflowTrigger, TriggerManager, } from '@cogitator-ai/types';
|
|
35
|
+
export { RedisApprovalStore, PostgresApprovalStore } from './human/durable-approval-stores.js';
|
|
36
|
+
export type { ApprovalStoreRedisClient, ApprovalStorePgClient, DurableApprovalStoreOptions, RedisApprovalStoreOptions, PostgresApprovalStoreOptions, } from './human/durable-approval-stores.js';
|
|
37
|
+
export { RedisRunStore, PostgresRunStore, type RunStoreRedisClient, type RunStorePgClient, type RedisRunStoreOptions, type PostgresRunStoreOptions, } from './manager/durable-run-stores.js';
|
|
38
|
+
export { RedisTimerStore, PostgresTimerStore, type TimerStoreRedisClient, type TimerStorePgClient, type RedisTimerStoreOptions, type PostgresTimerStoreOptions, } from './timers/durable-timer-stores.js';
|
|
33
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpF,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,13 +7,17 @@ export { WorkflowBuilder } from './builder.js';
|
|
|
7
7
|
export { WorkflowExecutor, NodeExecutionError, NodeTimeoutError } from './executor.js';
|
|
8
8
|
export { WorkflowScheduler } from './scheduler.js';
|
|
9
9
|
export { InMemoryCheckpointStore, FileCheckpointStore, createCheckpointId } from './checkpoint.js';
|
|
10
|
+
export { RedisCheckpointStore, PostgresCheckpointStore } from './checkpoint-stores.js';
|
|
10
11
|
export { agentNode, toolNode, functionNode, customNode, timerWorkflowNode, humanWorkflowNode, mapWorkflowNode, mapReduceWorkflowNode, subworkflowWorkflowNode, parallelSubworkflowsNode, } from './nodes/index.js';
|
|
11
12
|
export { WorkflowTracer, createTracer, getGlobalTracer, setGlobalTracer, WorkflowMetricsCollector, createMetricsCollector, getGlobalMetrics, setGlobalMetrics, ConsoleSpanExporter, OTLPSpanExporter, ZipkinSpanExporter, CompositeSpanExporter, NoopSpanExporter, createSpanExporter, } from './observability/index.js';
|
|
12
13
|
export { executeWithRetry, withRetry, Retryable, estimateRetryDuration, CircuitBreaker, createCircuitBreaker, CircuitBreakerOpenError, WithCircuitBreaker, CompensationManager, createCompensationManager, CompensationBuilder, compensationBuilder, BaseDLQ, InMemoryDLQ, FileDLQ, createInMemoryDLQ, createFileDLQ, createDLQEntry, BaseIdempotencyStore, InMemoryIdempotencyStore, FileIdempotencyStore, createInMemoryIdempotencyStore, createFileIdempotencyStore, generateIdempotencyKey, generateCustomKey, idempotent, Idempotent, } from './saga/index.js';
|
|
13
14
|
export { InMemoryTimerStore, FileTimerStore, createInMemoryTimerStore, createFileTimerStore, CRON_PRESETS, CRON_FIELDS, validateCronExpression, parseCronExpression, getNextCronOccurrence, getPreviousCronOccurrence, getNextCronOccurrences, cronMatchesDate, msUntilNextCronOccurrence, describeCronExpression, createCronIterator, isValidCronExpression, getSupportedTimezones, isValidTimezone, delayNode, dynamicDelayNode, cronWaitNode, untilNode, calculateTimerDelay, executeTimerNode, createTimerNodeHelpers, AbortError, Duration, parseDuration, formatDuration, TimerManager, createTimerManager, RecurringTimerScheduler, createRecurringScheduler, } from './timers/index.js';
|
|
14
15
|
export { executeMap, executeReduce, executeMapReduce, mapNode, reduceNode, mapReduceNode, parallelMap, sequentialMap, batchedMap, collect, sum, count, first, last, groupBy, partition, flatMap, stats, } from './patterns/index.js';
|
|
15
16
|
export { executeSubworkflow, subworkflowNode, simpleSubworkflow, nestedSubworkflow, conditionalSubworkflow, MaxDepthExceededError, executeParallelSubworkflows, parallelSubworkflows, fanOutFanIn, scatterGather, raceSubworkflows, fallbackSubworkflows, } from './subworkflows/index.js';
|
|
16
|
-
export { InMemoryApprovalStore, FileApprovalStore, withDelegation, ConsoleNotifier, WebhookNotifier, CompositeNotifier, slackNotifier, filteredNotifier, priorityRouter, nullNotifier, executeHumanNode, humanNode, approvalNode, choiceNode, inputNode, ratingNode, chainNode, managementChain, } from './human/index.js';
|
|
17
|
+
export { InMemoryApprovalStore, FileApprovalStore, withDelegation, ApprovalAlreadyAnsweredError, WITHDRAWN, isUnanswered, submitOrExisting, withdrawnResponse, ConsoleNotifier, WebhookNotifier, CompositeNotifier, slackNotifier, filteredNotifier, priorityRouter, nullNotifier, executeHumanNode, humanNode, approvalNode, choiceNode, inputNode, ratingNode, chainNode, managementChain, } from './human/index.js';
|
|
17
18
|
export { InMemoryRunStore, FileRunStore, createInMemoryRunStore, createFileRunStore, PriorityQueue, JobScheduler, createJobScheduler, DefaultWorkflowManager, createWorkflowManager, } from './manager/index.js';
|
|
18
19
|
export { TokenBucket, RateLimiter, SlidingWindowRateLimiter, createRateLimiter, createSlidingWindowLimiter, CronTriggerExecutor, createCronTrigger, validateCronTriggerConfig, WebhookTriggerExecutor, WebhookAuthError, WebhookRateLimitError, createWebhookTrigger, validateWebhookTriggerConfig, InMemoryTriggerStore, SimpleTriggerEventEmitter, DefaultTriggerManager, createTriggerManager, cronTrigger, webhookTrigger, eventTrigger, } from './triggers/index.js';
|
|
20
|
+
export { RedisApprovalStore, PostgresApprovalStore } from './human/durable-approval-stores.js';
|
|
21
|
+
export { RedisRunStore, PostgresRunStore, } from './manager/durable-run-stores.js';
|
|
22
|
+
export { RedisTimerStore, PostgresTimerStore, } from './timers/durable-timer-stores.js';
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable workflow run stores: Redis and Postgres.
|
|
3
|
+
*/
|
|
4
|
+
import type { RunStore, WorkflowRun, WorkflowRunFilters, WorkflowRunStats } from '@cogitator-ai/types';
|
|
5
|
+
/**
|
|
6
|
+
* The Redis commands the store uses; `@cogitator-ai/redis` clients and
|
|
7
|
+
* ioredis both provide them.
|
|
8
|
+
*/
|
|
9
|
+
export interface RunStoreRedisClient {
|
|
10
|
+
get(key: string): Promise<string | null>;
|
|
11
|
+
set(key: string, value: string): Promise<unknown>;
|
|
12
|
+
del(...keys: string[]): Promise<number>;
|
|
13
|
+
zadd(key: string, score: number, member: string): Promise<unknown>;
|
|
14
|
+
zrange(key: string, start: number, stop: number): Promise<string[]>;
|
|
15
|
+
zrangebyscore(key: string, min: number | string, max: number | string): Promise<string[]>;
|
|
16
|
+
zrem(key: string, ...members: string[]): Promise<unknown>;
|
|
17
|
+
}
|
|
18
|
+
export interface RedisRunStoreOptions {
|
|
19
|
+
client: RunStoreRedisClient;
|
|
20
|
+
/** Prefix of every key (default `cogitator:workflow-runs`) */
|
|
21
|
+
keyPrefix?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Workflow runs in Redis: each as JSON under its id, with sorted sets indexing
|
|
25
|
+
* them by workflow, status, tag, trigger and parent run, and by start and
|
|
26
|
+
* completion time, so listing never scans the keyspace. Runs read through an
|
|
27
|
+
* index are checked against the filters again, so a stale entry left by a
|
|
28
|
+
* concurrent write never leaks into results. Ties in the sort order are broken
|
|
29
|
+
* by run id.
|
|
30
|
+
*/
|
|
31
|
+
export declare class RedisRunStore implements RunStore {
|
|
32
|
+
private readonly client;
|
|
33
|
+
private readonly prefix;
|
|
34
|
+
constructor(options: RedisRunStoreOptions);
|
|
35
|
+
save(run: WorkflowRun): Promise<void>;
|
|
36
|
+
get(id: string): Promise<WorkflowRun | null>;
|
|
37
|
+
list(filters?: WorkflowRunFilters): Promise<WorkflowRun[]>;
|
|
38
|
+
count(filters?: WorkflowRunFilters): Promise<number>;
|
|
39
|
+
update(id: string, updates: Partial<WorkflowRun>): Promise<void>;
|
|
40
|
+
delete(id: string): Promise<void>;
|
|
41
|
+
getStats(workflowName?: string): Promise<WorkflowRunStats>;
|
|
42
|
+
cleanup(olderThan: number): Promise<number>;
|
|
43
|
+
private write;
|
|
44
|
+
private find;
|
|
45
|
+
private candidates;
|
|
46
|
+
private union;
|
|
47
|
+
private load;
|
|
48
|
+
private indexEntries;
|
|
49
|
+
private runKey;
|
|
50
|
+
private allKey;
|
|
51
|
+
private indexKey;
|
|
52
|
+
private timeKey;
|
|
53
|
+
}
|
|
54
|
+
/** The query method of a `pg` Pool or Client. */
|
|
55
|
+
export interface RunStorePgClient {
|
|
56
|
+
query(text: string, values?: unknown[]): Promise<{
|
|
57
|
+
rows: Array<Record<string, unknown>>;
|
|
58
|
+
}>;
|
|
59
|
+
}
|
|
60
|
+
export interface PostgresRunStoreOptions {
|
|
61
|
+
client: RunStorePgClient;
|
|
62
|
+
/** Table name (default `cogitator_workflow_runs`); created on first use */
|
|
63
|
+
table?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Workflow runs in a Postgres table: the run as JSONB next to indexed columns
|
|
67
|
+
* for every filterable field, kept in step with the document by SQL. Filters,
|
|
68
|
+
* sorting, pagination, counts and statistics run in the database, and updates
|
|
69
|
+
* merge into the stored document in a single statement. Ties in the sort order
|
|
70
|
+
* are broken by run id.
|
|
71
|
+
*/
|
|
72
|
+
export declare class PostgresRunStore implements RunStore {
|
|
73
|
+
private readonly client;
|
|
74
|
+
private readonly table;
|
|
75
|
+
private ready?;
|
|
76
|
+
constructor(options: PostgresRunStoreOptions);
|
|
77
|
+
save(run: WorkflowRun): Promise<void>;
|
|
78
|
+
get(id: string): Promise<WorkflowRun | null>;
|
|
79
|
+
list(filters?: WorkflowRunFilters): Promise<WorkflowRun[]>;
|
|
80
|
+
count(filters?: WorkflowRunFilters): Promise<number>;
|
|
81
|
+
update(id: string, updates: Partial<WorkflowRun>): Promise<void>;
|
|
82
|
+
delete(id: string): Promise<void>;
|
|
83
|
+
getStats(workflowName?: string): Promise<WorkflowRunStats>;
|
|
84
|
+
cleanup(olderThan: number): Promise<number>;
|
|
85
|
+
private ensureTable;
|
|
86
|
+
private createTable;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=durable-run-stores.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durable-run-stores.d.ts","sourceRoot":"","sources":["../../src/manager/durable-run-stores.ts"],"names":[],"mappings":"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"}
|