@workglow/task-graph 0.3.12 → 0.3.13

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.
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { SearchCondition } from "@workglow/storage";
7
+ /** One cached task output row. */
8
+ export interface TaskOutputRow {
9
+ readonly taskType: string;
10
+ readonly key: string;
11
+ /** Serialized (optionally compressed) output payload. */
12
+ readonly value: string;
13
+ readonly createdAt: string;
14
+ }
15
+ export type TaskOutputRowPrimaryKey = Pick<TaskOutputRow, "key" | "taskType">;
16
+ export type TaskOutputDeleteSearchCriteria = {
17
+ readonly createdAt?: SearchCondition<string>;
18
+ };
19
+ /**
20
+ * Minimal storage contract used by {@link TaskOutputTabularRepository}.
21
+ * Narrower than full tabular storage — only the methods the output cache calls.
22
+ */
23
+ export interface ITaskOutputStorage {
24
+ setupDatabase?(): Promise<void>;
25
+ put(row: TaskOutputRow): Promise<void>;
26
+ get(key: TaskOutputRowPrimaryKey): Promise<TaskOutputRow | undefined>;
27
+ delete(key: TaskOutputRowPrimaryKey): Promise<void>;
28
+ deleteAll(): Promise<void>;
29
+ size(): Promise<number>;
30
+ deleteSearch(criteria: TaskOutputDeleteSearchCriteria): Promise<void>;
31
+ records(pageSize?: number): AsyncGenerator<TaskOutputRow, void, undefined>;
32
+ /** When false, restart-survival for run-private cache is not guaranteed. */
33
+ isDurable?(): boolean;
34
+ }
35
+ //# sourceMappingURL=ITaskOutputStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITaskOutputStorage.d.ts","sourceRoot":"","sources":["../../src/storage/ITaskOutputStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;AAE9E,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,GAAG,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC,GAAG,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAEtE,MAAM,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAExB,YAAY,CAAC,QAAQ,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAE3E,4EAA4E;IAC5E,SAAS,CAAC,IAAI,OAAO,CAAC;CACvB"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { ITabularStorage } from "@workglow/storage";
7
+ import type { ITaskOutputStorage, TaskOutputDeleteSearchCriteria, TaskOutputRow, TaskOutputRowPrimaryKey } from "./ITaskOutputStorage";
8
+ import { TaskOutputPrimaryKeyNames, TaskOutputSchema } from "./TaskOutputStorageSchema";
9
+ type TaskOutputTabularBacking = ITabularStorage<typeof TaskOutputSchema, typeof TaskOutputPrimaryKeyNames>;
10
+ export type { TaskOutputTabularBacking };
11
+ /**
12
+ * Adapts a full {@link ITabularStorage} table to {@link ITaskOutputStorage}.
13
+ */
14
+ export declare class TabularTaskOutputStorage implements ITaskOutputStorage {
15
+ private readonly tabular;
16
+ constructor(tabular: TaskOutputTabularBacking);
17
+ setupDatabase(): Promise<void>;
18
+ put(row: TaskOutputRow): Promise<void>;
19
+ get(key: TaskOutputRowPrimaryKey): Promise<TaskOutputRow | undefined>;
20
+ delete(key: TaskOutputRowPrimaryKey): Promise<void>;
21
+ deleteAll(): Promise<void>;
22
+ size(): Promise<number>;
23
+ deleteSearch(criteria: TaskOutputDeleteSearchCriteria): Promise<void>;
24
+ records(pageSize?: number): AsyncGenerator<TaskOutputRow, void, undefined>;
25
+ isDurable(): boolean;
26
+ }
27
+ /** Convenience factory for {@link TabularTaskOutputStorage}. */
28
+ export declare function tabularTaskOutputStorage(tabular: TaskOutputTabularBacking): ITaskOutputStorage;
29
+ //# sourceMappingURL=TabularTaskOutputStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabularTaskOutputStorage.d.ts","sourceRoot":"","sources":["../../src/storage/TabularTaskOutputStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EACV,kBAAkB,EAClB,8BAA8B,EAC9B,aAAa,EACb,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExF,KAAK,wBAAwB,GAAG,eAAe,CAC7C,OAAO,gBAAgB,EACvB,OAAO,yBAAyB,CACjC,CAAC;AAEF,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAEzC;;GAEG;AACH,qBAAa,wBAAyB,YAAW,kBAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,EAAE,wBAAwB,EAAI;IAE5D,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAEK,GAAG,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3C;IAEK,GAAG,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAG1E;IAEK,MAAM,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5B;IAEK,YAAY,CAAC,QAAQ,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;IAED,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAEzE;IAED,SAAS,IAAI,OAAO,CAEnB;CACF;AAED,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,wBAAwB,GAAG,kBAAkB,CAE9F"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Steven Roussey <sroussey@gmail.com>
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export type TaskOutputPrimaryKey = {
7
+ key: string;
8
+ taskType: string;
9
+ };
10
+ export declare const TaskOutputSchema: {
11
+ type: "object";
12
+ properties: {
13
+ key: {
14
+ type: "string";
15
+ };
16
+ taskType: {
17
+ type: "string";
18
+ };
19
+ value: {
20
+ type: "string";
21
+ contentEncoding: string;
22
+ };
23
+ createdAt: {
24
+ type: "string";
25
+ format: string;
26
+ };
27
+ };
28
+ additionalProperties: false;
29
+ };
30
+ export declare const TaskOutputPrimaryKeyNames: readonly ["key", "taskType"];
31
+ //# sourceMappingURL=TaskOutputStorageSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskOutputStorageSchema.d.ts","sourceRoot":"","sources":["../../src/storage/TaskOutputStorageSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CASG,CAAC;AAEjC,eAAO,MAAM,yBAAyB,YAAI,KAAK,EAAE,UAAU,CAAU,CAAC"}
@@ -3,114 +3,34 @@
3
3
  * Copyright 2025 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { BaseTabularStorage } from "@workglow/storage";
7
6
  import { TaskInput, TaskOutput } from "../task/TaskTypes";
7
+ import type { ITaskOutputStorage } from "./ITaskOutputStorage";
8
+ import type { TaskOutputTabularBacking } from "./TabularTaskOutputStorage";
8
9
  import { TaskOutputRepository } from "./TaskOutputRepository";
9
- export type TaskOutputPrimaryKey = {
10
- key: string;
11
- taskType: string;
12
- };
13
- export declare const TaskOutputSchema: {
14
- type: "object";
15
- properties: {
16
- key: {
17
- type: "string";
18
- };
19
- taskType: {
20
- type: "string";
21
- };
22
- value: {
23
- type: "string";
24
- contentEncoding: string;
25
- };
26
- createdAt: {
27
- type: "string";
28
- format: string;
29
- };
30
- };
31
- additionalProperties: false;
32
- };
33
- export declare const TaskOutputPrimaryKeyNames: readonly ["key", "taskType"];
34
- export type TaskOutputRepositoryStorage = BaseTabularStorage<typeof TaskOutputSchema, typeof TaskOutputPrimaryKeyNames>;
10
+ export { TaskOutputPrimaryKeyNames, TaskOutputSchema } from "./TaskOutputStorageSchema";
11
+ export type { TaskOutputPrimaryKey } from "./TaskOutputStorageSchema";
35
12
  export type TaskOutputRepositoryOptions = {
36
- tabularRepository: TaskOutputRepositoryStorage;
13
+ storage: ITaskOutputStorage;
37
14
  outputCompression?: boolean;
38
15
  };
16
+ /** Backing tabular table type for {@link tabularTaskOutputStorage}. */
17
+ export type TaskOutputRepositoryStorage = TaskOutputTabularBacking;
39
18
  /**
40
- * Abstract class for managing task outputs in a repository
41
- * Provides methods for saving, retrieving, and clearing task outputs
19
+ * Repository for task output caching backed by {@link ITaskOutputStorage}.
42
20
  */
43
21
  export declare class TaskOutputTabularRepository extends TaskOutputRepository {
44
- /**
45
- * The tabular repository for the task outputs
46
- */
47
- tabularRepository: TaskOutputRepositoryStorage;
48
- /**
49
- * Constructor for the TaskOutputTabularRepository
50
- * @param options The options for the repository
51
- */
52
- constructor({ tabularRepository, outputCompression }: TaskOutputRepositoryOptions);
22
+ readonly storage: ITaskOutputStorage;
23
+ constructor({ storage, outputCompression }: TaskOutputRepositoryOptions);
53
24
  isDurable(): boolean;
54
- /**
55
- * Sets up the database for the repository.
56
- * Must be called before using any other methods.
57
- */
58
25
  setupDatabase(): Promise<void>;
59
26
  keyFromInputs(inputs: TaskInput): Promise<string>;
60
- /**
61
- * Saves a task output to the repository
62
- * @param taskType The type of task to save the output for
63
- * @param inputs The input parameters for the task
64
- * @param output The task output to save
65
- */
66
27
  saveOutput(taskType: string, inputs: TaskInput, output: TaskOutput, createdAt?: Date): Promise<void>;
67
- /**
68
- * Retrieves a task output from the repository
69
- * @param taskType The type of task to retrieve the output for
70
- * @param inputs The input parameters for the task
71
- * @returns The retrieved task output, or undefined if not found
72
- */
73
28
  getOutput(taskType: string, inputs: TaskInput): Promise<TaskOutput | undefined>;
74
- /**
75
- * Clears all task outputs from the repository
76
- * @emits output_cleared when the operation completes
77
- */
78
29
  clear(): Promise<void>;
79
- /**
80
- * Returns the number of task outputs stored in the repository
81
- * @returns The count of stored task outputs
82
- */
83
30
  size(): Promise<number>;
84
- /**
85
- * Clear all task outputs from the repository that are older than the given date
86
- * @param olderThanInMs The time in milliseconds to clear task outputs older than
87
- */
88
31
  clearOlderThan(olderThanInMs: number): Promise<void>;
89
- /**
90
- * Deletes all entries whose `taskType` starts with the given prefix.
91
- * Used by {@link RunPrivateCacheRepo.clearRun} to remove all entries for a specific runId.
92
- *
93
- * @param prefix - The prefix to match against `taskType` (e.g. `__run:my-run::`)
94
- */
95
32
  deleteByTaskTypePrefix(prefix: string): Promise<void>;
96
- /**
97
- * Deletes entries whose `taskType` starts with the given prefix AND whose
98
- * `createdAt` is older than `olderThanInMs` milliseconds ago.
99
- *
100
- * Used by {@link CacheJanitor} to prune stale run-private entries left behind
101
- * by runs that crashed and were never restarted.
102
- *
103
- * @param prefix - The taskType prefix to match (e.g. `__run:`)
104
- * @param olderThanInMs - Age threshold in milliseconds; rows older than this are deleted
105
- */
106
33
  clearOlderThanWithTaskTypePrefix(prefix: string, olderThanInMs: number): Promise<void>;
107
- /**
108
- * Counts entries whose `taskType` starts with the given prefix.
109
- * Used by {@link RunPrivateCacheRepo.size} so the wrapper's count reflects
110
- * only its own namespaced view.
111
- *
112
- * @param prefix - The taskType prefix to match (e.g. `__run:my-run::`)
113
- */
114
34
  sizeByTaskTypePrefix(prefix: string): Promise<number>;
115
35
  }
116
36
  //# sourceMappingURL=TaskOutputTabularRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskOutputTabularRepository.d.ts","sourceRoot":"","sources":["../../src/storage/TaskOutputTabularRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;CASG,CAAC;AAEjC,eAAO,MAAM,yBAAyB,YAAI,KAAK,EAAE,UAAU,CAAU,CAAC;AAEtE,MAAM,MAAM,2BAA2B,GAAG,kBAAkB,CAC1D,OAAO,gBAAgB,EACvB,OAAO,yBAAyB,CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB;IACnE;;OAEG;IACH,iBAAiB,EAAE,2BAA2B,CAAC;IAE/C;;;OAGG;IACH,YAAY,EAAE,iBAAiB,EAAE,iBAAwB,EAAE,EAAE,2BAA2B,EAIvF;IAEM,SAAS,IAAI,OAAO,CAG1B;IAED;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAEY,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7D;IAED;;;;;OAKG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,OAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAuBf;IAED;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAgCpF;IAED;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5B;IAED;;;OAGG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzD;IAED;;;;;OAKG;IACY,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnE;IAED;;;;;;;;;OASG;IACY,gCAAgC,CAC7C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAUf;IAED;;;;;;OAMG;IACY,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnE;CACF"}
1
+ {"version":3,"file":"TaskOutputTabularRepository.d.ts","sourceRoot":"","sources":["../../src/storage/TaskOutputTabularRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AAEnE;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,oBAAoB;IACnE,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAErC,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,2BAA2B,EAItE;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEK,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAEY,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7D;IAEK,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,EAClB,SAAS,OAAa,GACrB,OAAO,CAAC,IAAI,CAAC,CAqBf;IAEK,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CA+BpF;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAEK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5B;IAEK,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzD;IAEc,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMnE;IAEc,gCAAgC,CAC7C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAUf;IAEc,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnE;CACF"}
@@ -42,12 +42,18 @@ export declare class CacheCoordinator<Input extends TaskInput, Output extends Ta
42
42
  *
43
43
  * Returns the deserialized output if found, undefined otherwise.
44
44
  */
45
- lookup(keyInputs: Input, outputCache: TaskOutputRepository | undefined, isStreamable: boolean, ctx: TaskRunContext): Promise<Output | undefined>;
45
+ /**
46
+ * Cache identity for the `taskType` axis of {@link TaskOutputRepository}.
47
+ * Deterministic entries key by task class; private (run-resume) entries key by
48
+ * task instance id so two nodes of the same type in one graph do not collide.
49
+ */
50
+ private cacheIdentityKey;
51
+ lookup(keyInputs: Input, outputCache: TaskOutputRepository | undefined, policy: CachePolicy, isStreamable: boolean, ctx: TaskRunContext): Promise<Output | undefined>;
46
52
  /**
47
53
  * Serializes and saves output. No-op when no cache is configured or task is
48
54
  * not cacheable.
49
55
  */
50
- save(keyInputs: Input, output: Output, outputCache: TaskOutputRepository | undefined): Promise<void>;
56
+ save(keyInputs: Input, output: Output, outputCache: TaskOutputRepository | undefined, policy: CachePolicy): Promise<void>;
51
57
  /**
52
58
  * Resolve the repository slot to use given a registry and policy. Returns
53
59
  * `undefined` if the registry is missing, the policy is `kind: "none"`, or
@@ -1 +1 @@
1
- {"version":3,"file":"CacheCoordinator.d.ts","sourceRoot":"","sources":["../../src/task/CacheCoordinator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAmC,MAAM,sBAAsB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzD;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,UAAU;IAClE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAI;IAEhE;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAS3F;IAED;;;;;;OAMG;IACG,MAAM,CACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,oBAAoB,GAAG,SAAS,EAC7C,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwB7B;IAED;;;OAGG;IACG,IAAI,CACR,SAAS,EAAE,KAAK,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,oBAAoB,GAAG,SAAS,GAC5C,OAAO,CAAC,IAAI,CAAC,CAQf;IAMD;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAQF,iBAAiB,CAC5B,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,KAAK,CAAC,CAEhB;IAEY,cAAc,CACzB,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;IAEY,YAAY,CACvB,SAAS,EAAE,KAAK,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;mBAOoB,oBAAoB;mBAepB,sBAAsB;mBAetB,0BAA0B;CAchD"}
1
+ {"version":3,"file":"CacheCoordinator.d.ts","sourceRoot":"","sources":["../../src/task/CacheCoordinator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAmC,MAAM,sBAAsB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzD;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB,CAAC,KAAK,SAAS,SAAS,EAAE,MAAM,SAAS,UAAU;IAClE,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAI;IAEhE;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAS3F;IAED;;;;;;OAMG;IACH;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAIlB,MAAM,CACV,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,oBAAoB,GAAG,SAAS,EAC7C,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwB7B;IAED;;;OAGG;IACG,IAAI,CACR,SAAS,EAAE,KAAK,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,oBAAoB,GAAG,SAAS,EAC7C,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAQf;IAMD;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAQF,iBAAiB,CAC5B,MAAM,EAAE,KAAK,EACb,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,KAAK,CAAC,CAEhB;IAEY,cAAc,CACzB,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;IAEY,YAAY,CACvB,SAAS,EAAE,KAAK,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,GAAG,SAAS,EACnC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;mBAOoB,oBAAoB;mBAepB,sBAAsB;mBAetB,0BAA0B;CAchD"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphAsTask.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphAsTask.d.ts","sourceRoot":"","sources":["../../src/task/GraphAsTask.ts"],"names":[],"mappings":"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"}
@@ -398,7 +398,7 @@ export declare class Task<Input extends TaskInput = TaskInput, Output extends Ta
398
398
  regenerateGraph(): void;
399
399
  }
400
400
  /**
401
- * Test helper: clear the H7 dedup Set so each test case can re-trigger the
401
+ * Test helper: clear the dedup Set so each test case can re-trigger the
402
402
  * one-time legacy-`cacheable` deprecation warning. Lives in production code
403
403
  * (not a __tests__ file) so it's reachable from outside the package's test
404
404
  * harness; the leading double-underscore signals "do not rely on this in
@@ -10,16 +10,10 @@ export * from "./EntitlementPolicy";
10
10
  export * from "./EntitlementProfile";
11
11
  export * from "./EntitlementProfiles";
12
12
  export * from "./EntitlementResolver";
13
- export * from "./FallbackTask";
14
- export * from "./FallbackTaskRunner";
15
- export * from "./GraphAsTask";
16
- export * from "./GraphAsTaskRunner";
17
13
  export * from "./InputCompactor";
18
14
  export * from "./InputResolver";
19
15
  export * from "./ITask";
20
16
  export * from "./iterationSchema";
21
- export * from "./IteratorTask";
22
- export * from "./IteratorTaskRunner";
23
17
  export * from "./JobQueueFactory";
24
18
  export * from "./MapTask";
25
19
  export * from "./ReduceTask";
@@ -32,6 +26,12 @@ export * from "./TaskJSON";
32
26
  export * from "./TaskQueueRegistry";
33
27
  export * from "./TaskRegistry";
34
28
  export * from "./TaskTypes";
29
+ export * from "./GraphAsTask";
30
+ export * from "./GraphAsTaskRunner";
31
+ export * from "./FallbackTask";
32
+ export * from "./FallbackTaskRunner";
33
+ export * from "./IteratorTask";
34
+ export * from "./IteratorTaskRunner";
35
35
  export * from "./WhileTask";
36
36
  export * from "./WhileTaskRunner";
37
37
  import { ConditionalTask } from "./ConditionalTask";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,iBAAiB,qIAI7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAE5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,iBAAiB,qIAI7B,CAAC"}
@@ -7,7 +7,17 @@ import type { IExecuteContext, ITask } from "../task/ITask";
7
7
  import type { DataPorts } from "../task/TaskTypes";
8
8
  import type { ITaskGraph } from "./ITaskGraph";
9
9
  import type { IWorkflow } from "./IWorkflow";
10
+ import { TaskGraph } from "./TaskGraph";
10
11
  export type PipeFunction<I extends DataPorts = any, O extends DataPorts = any> = (input: I, context: IExecuteContext) => O | Promise<O>;
11
12
  export type Taskish<A extends DataPorts = DataPorts, B extends DataPorts = DataPorts> = PipeFunction<A, B> | ITask<A, B> | ITaskGraph | IWorkflow<A, B>;
13
+ export type GraphWrapperParams = {
14
+ subGraph: TaskGraph;
15
+ isOwned: boolean;
16
+ isWorkflow: boolean;
17
+ config: any;
18
+ };
19
+ export type GraphWrapperFactory = (params: GraphWrapperParams) => ITask<any, any, any>;
20
+ /** Called from {@link GraphAsTask} once its module has finished evaluating. */
21
+ export declare function registerGraphWrapperFactory(factory: GraphWrapperFactory): void;
12
22
  export declare function ensureTask<I extends DataPorts, O extends DataPorts>(arg: Taskish<I, O>, config?: any): ITask<any, any, any>;
13
23
  //# sourceMappingURL=Conversions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Conversions.d.ts","sourceRoot":"","sources":["../../src/task-graph/Conversions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO7C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,EAAE,CAAC,SAAS,SAAS,GAAG,GAAG,IAAI,CAC/E,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,eAAe,KACrB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpB,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAChF,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACX,UAAU,GACV,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAmHpB,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,MAAM,GAAE,GAAQ,GACf,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAuBtB"}
1
+ {"version":3,"file":"Conversions.d.ts","sourceRoot":"","sources":["../../src/task-graph/Conversions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,SAAS,GAAG,GAAG,EAAE,CAAC,SAAS,SAAS,GAAG,GAAG,IAAI,CAC/E,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,eAAe,KACrB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpB,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,SAAS,GAAG,SAAS,IAChF,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACX,UAAU,GACV,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAYpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAIvF,+EAA+E;AAC/E,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAE9E;AAuED,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,SAAS,EACjE,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,MAAM,GAAE,GAAQ,GACf,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAuBtB"}
@@ -7,7 +7,7 @@ import type { ServiceRegistry } from "@workglow/util";
7
7
  import { EventEmitter } from "@workglow/util";
8
8
  import type { StreamEvent } from "../task/StreamTypes";
9
9
  import { TaskError } from "../task/TaskError";
10
- import { DataflowJson } from "../task/TaskJSON";
10
+ import type { DataflowJson } from "../task/TaskJSON";
11
11
  import { TaskIdType, TaskOutput, TaskStatus } from "../task/TaskTypes";
12
12
  import { DataflowEventListener, DataflowEventListeners, DataflowEventParameters, DataflowEvents } from "./DataflowEvents";
13
13
  import { TaskGraph } from "./TaskGraph";
@@ -1 +1 @@
1
- {"version":3,"file":"Dataflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Dataflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dataflow.d.ts","sourceRoot":"","sources":["../../src/task-graph/Dataflow.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@workglow/task-graph",
3
3
  "type": "module",
4
- "version": "0.3.12",
4
+ "version": "0.3.13",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/workglow-dev/libs.git",
@@ -50,9 +50,9 @@
50
50
  "access": "public"
51
51
  },
52
52
  "peerDependencies": {
53
- "@workglow/job-queue": "0.3.12",
54
- "@workglow/storage": "0.3.12",
55
- "@workglow/util": "0.3.12"
53
+ "@workglow/job-queue": "0.3.13",
54
+ "@workglow/storage": "0.3.13",
55
+ "@workglow/util": "0.3.13"
56
56
  },
57
57
  "peerDependenciesMeta": {
58
58
  "@workglow/job-queue": {
@@ -66,8 +66,8 @@
66
66
  }
67
67
  },
68
68
  "devDependencies": {
69
- "@workglow/job-queue": "0.3.12",
70
- "@workglow/storage": "0.3.12",
71
- "@workglow/util": "0.3.12"
69
+ "@workglow/job-queue": "0.3.13",
70
+ "@workglow/storage": "0.3.13",
71
+ "@workglow/util": "0.3.13"
72
72
  }
73
73
  }
@@ -245,7 +245,7 @@ interface CacheRegistry {
245
245
 
246
246
  `TaskGraphRunner` resolves the registry from the per-run `ServiceRegistry` and dispatches each task's read/write to the slot named by its policy. Both slots are independently optional. A missing slot is a silent no-op: the task runs uncached, no error.
247
247
 
248
- For the `private` slot, the runner constructs a per-run `RunPrivateCacheRepo` wrapper that prefixes every key with `__run:${runId}::`. Two runs with different `runId`s never see each other's rows; the same `runId` (a restart) does.
248
+ For the `private` slot, the runner constructs a per-run `RunPrivateCacheRepo` wrapper that prefixes every key with `__run:${runId}::${taskId}`. Two runs with different `runId`s never see each other's rows; the same `runId` (a restart) does. Two task nodes of the same class in one graph never share private entries because each keys by its instance id, not its type.
249
249
 
250
250
  ### Run identity (`runId`)
251
251
 
@@ -275,9 +275,9 @@ key = sha256(taskType + getCacheVersion() + fingerprint(inputs))
275
275
 
276
276
  ### Lifecycle of cache rows
277
277
 
278
- | Tier | Written | Read | Deleted |
279
- | --------------- | -------------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
280
- | `deterministic` | On task success | On task start | Never automatically. App owns invalidation (typically via `version` bumps). |
278
+ | Tier | Written | Read | Deleted |
279
+ | --------------- | --------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
280
+ | `deterministic` | On task success | On task start | Never automatically. App owns invalidation (typically via `version` bumps). |
281
281
  | `private` | On task success | On task start, filtered to current `runId` | **(a)** `privateRepo.clearRun()` on `succeeded` (the wrapper already knows its `runId`). **(b)** TTL sweep via `CacheJanitor.sweepStaleRunPrivate(olderThanMs)` for abandoned runs. |
282
282
 
283
283
  Failed tasks are never cached — only `Ok` results reach `saveOutput`. `saveOutput` is upsert by primary key (last writer wins) — the underlying `TaskOutputTabularRepository` calls `put()` on its tabular storage, so a same-key write replaces the existing row.