@mondaydotcomorg/atp-provenance 0.18.4-rc.1 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +62 -1
  2. package/dist/__tests__/declarative-policy.test.d.ts +2 -0
  3. package/dist/__tests__/declarative-policy.test.d.ts.map +1 -0
  4. package/dist/__tests__/declarative-policy.test.js +109 -0
  5. package/dist/__tests__/declarative-policy.test.js.map +1 -0
  6. package/dist/__tests__/dynamic-policy.test.d.ts +2 -0
  7. package/dist/__tests__/dynamic-policy.test.d.ts.map +1 -0
  8. package/dist/__tests__/dynamic-policy.test.js +49 -0
  9. package/dist/__tests__/dynamic-policy.test.js.map +1 -0
  10. package/dist/declarative-policy.d.ts +47 -0
  11. package/dist/declarative-policy.d.ts.map +1 -0
  12. package/dist/declarative-policy.js +164 -0
  13. package/dist/declarative-policy.js.map +1 -0
  14. package/dist/index.d.ts +6 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +6 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/policies/__tests__/declarative.test.d.ts +2 -0
  19. package/dist/policies/__tests__/declarative.test.d.ts.map +1 -0
  20. package/dist/policies/__tests__/declarative.test.js +109 -0
  21. package/dist/policies/__tests__/declarative.test.js.map +1 -0
  22. package/dist/policies/builder.d.ts +36 -0
  23. package/dist/policies/builder.d.ts.map +1 -0
  24. package/dist/policies/builder.js +77 -0
  25. package/dist/policies/builder.js.map +1 -0
  26. package/dist/policies/declarative.d.ts +47 -0
  27. package/dist/policies/declarative.d.ts.map +1 -0
  28. package/dist/policies/declarative.js +170 -0
  29. package/dist/policies/declarative.js.map +1 -0
  30. package/dist/policies/dynamic.d.ts +39 -0
  31. package/dist/policies/dynamic.d.ts.map +1 -0
  32. package/dist/policies/dynamic.js +75 -0
  33. package/dist/policies/dynamic.js.map +1 -0
  34. package/dist/policies/schema.d.ts +270 -0
  35. package/dist/policies/schema.d.ts.map +1 -0
  36. package/dist/policies/schema.js +42 -0
  37. package/dist/policies/schema.js.map +1 -0
  38. package/dist/registry.d.ts +15 -0
  39. package/dist/registry.d.ts.map +1 -1
  40. package/dist/registry.js +73 -0
  41. package/dist/registry.js.map +1 -1
  42. package/dist/store.d.ts +53 -0
  43. package/dist/store.d.ts.map +1 -0
  44. package/dist/store.js +78 -0
  45. package/dist/store.js.map +1 -0
  46. package/package.json +3 -2
@@ -0,0 +1,270 @@
1
+ import { z } from 'zod';
2
+ export declare const OperatorSchema: z.ZodEnum<["equals", "notEquals", "contains", "notContains", "startsWith", "notStartsWith", "endsWith", "notEndsWith", "matches", "in", "notIn"]>;
3
+ export type Operator = z.infer<typeof OperatorSchema>;
4
+ export declare const ConditionSchema: z.ZodObject<{
5
+ field: z.ZodString;
6
+ operator: z.ZodEnum<["equals", "notEquals", "contains", "notContains", "startsWith", "notStartsWith", "endsWith", "notEndsWith", "matches", "in", "notIn"]>;
7
+ value: z.ZodAny;
8
+ }, "strip", z.ZodTypeAny, {
9
+ field: string;
10
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
11
+ value?: any;
12
+ }, {
13
+ field: string;
14
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
15
+ value?: any;
16
+ }>;
17
+ export type Condition = z.infer<typeof ConditionSchema>;
18
+ export declare const PolicyActionSchema: z.ZodEnum<["log", "approve", "block"]>;
19
+ export type PolicyAction = z.infer<typeof PolicyActionSchema>;
20
+ export declare const PolicyRuleSchema: z.ZodObject<{
21
+ id: z.ZodOptional<z.ZodString>;
22
+ action: z.ZodEnum<["log", "approve", "block"]>;
23
+ conditions: z.ZodArray<z.ZodObject<{
24
+ field: z.ZodString;
25
+ operator: z.ZodEnum<["equals", "notEquals", "contains", "notContains", "startsWith", "notStartsWith", "endsWith", "notEndsWith", "matches", "in", "notIn"]>;
26
+ value: z.ZodAny;
27
+ }, "strip", z.ZodTypeAny, {
28
+ field: string;
29
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
30
+ value?: any;
31
+ }, {
32
+ field: string;
33
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
34
+ value?: any;
35
+ }>, "many">;
36
+ reason: z.ZodOptional<z.ZodString>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ action: "log" | "approve" | "block";
39
+ conditions: {
40
+ field: string;
41
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
42
+ value?: any;
43
+ }[];
44
+ id?: string | undefined;
45
+ reason?: string | undefined;
46
+ }, {
47
+ action: "log" | "approve" | "block";
48
+ conditions: {
49
+ field: string;
50
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
51
+ value?: any;
52
+ }[];
53
+ id?: string | undefined;
54
+ reason?: string | undefined;
55
+ }>;
56
+ export type PolicyRule = z.infer<typeof PolicyRuleSchema>;
57
+ export declare const DeclarativePolicyConfigSchema: z.ZodObject<{
58
+ id: z.ZodString;
59
+ description: z.ZodOptional<z.ZodString>;
60
+ scope: z.ZodObject<{
61
+ toolName: z.ZodOptional<z.ZodString>;
62
+ apiGroup: z.ZodOptional<z.ZodString>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ apiGroup?: string | undefined;
65
+ toolName?: string | undefined;
66
+ }, {
67
+ apiGroup?: string | undefined;
68
+ toolName?: string | undefined;
69
+ }>;
70
+ rules: z.ZodArray<z.ZodObject<{
71
+ id: z.ZodOptional<z.ZodString>;
72
+ action: z.ZodEnum<["log", "approve", "block"]>;
73
+ conditions: z.ZodArray<z.ZodObject<{
74
+ field: z.ZodString;
75
+ operator: z.ZodEnum<["equals", "notEquals", "contains", "notContains", "startsWith", "notStartsWith", "endsWith", "notEndsWith", "matches", "in", "notIn"]>;
76
+ value: z.ZodAny;
77
+ }, "strip", z.ZodTypeAny, {
78
+ field: string;
79
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
80
+ value?: any;
81
+ }, {
82
+ field: string;
83
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
84
+ value?: any;
85
+ }>, "many">;
86
+ reason: z.ZodOptional<z.ZodString>;
87
+ }, "strip", z.ZodTypeAny, {
88
+ action: "log" | "approve" | "block";
89
+ conditions: {
90
+ field: string;
91
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
92
+ value?: any;
93
+ }[];
94
+ id?: string | undefined;
95
+ reason?: string | undefined;
96
+ }, {
97
+ action: "log" | "approve" | "block";
98
+ conditions: {
99
+ field: string;
100
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
101
+ value?: any;
102
+ }[];
103
+ id?: string | undefined;
104
+ reason?: string | undefined;
105
+ }>, "many">;
106
+ }, "strip", z.ZodTypeAny, {
107
+ id: string;
108
+ scope: {
109
+ apiGroup?: string | undefined;
110
+ toolName?: string | undefined;
111
+ };
112
+ rules: {
113
+ action: "log" | "approve" | "block";
114
+ conditions: {
115
+ field: string;
116
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
117
+ value?: any;
118
+ }[];
119
+ id?: string | undefined;
120
+ reason?: string | undefined;
121
+ }[];
122
+ description?: string | undefined;
123
+ }, {
124
+ id: string;
125
+ scope: {
126
+ apiGroup?: string | undefined;
127
+ toolName?: string | undefined;
128
+ };
129
+ rules: {
130
+ action: "log" | "approve" | "block";
131
+ conditions: {
132
+ field: string;
133
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
134
+ value?: any;
135
+ }[];
136
+ id?: string | undefined;
137
+ reason?: string | undefined;
138
+ }[];
139
+ description?: string | undefined;
140
+ }>;
141
+ export type DeclarativePolicyConfig = z.infer<typeof DeclarativePolicyConfigSchema>;
142
+ export declare const PolicyConfigurationSchema: z.ZodObject<{
143
+ version: z.ZodString;
144
+ policies: z.ZodArray<z.ZodObject<{
145
+ id: z.ZodString;
146
+ description: z.ZodOptional<z.ZodString>;
147
+ scope: z.ZodObject<{
148
+ toolName: z.ZodOptional<z.ZodString>;
149
+ apiGroup: z.ZodOptional<z.ZodString>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ apiGroup?: string | undefined;
152
+ toolName?: string | undefined;
153
+ }, {
154
+ apiGroup?: string | undefined;
155
+ toolName?: string | undefined;
156
+ }>;
157
+ rules: z.ZodArray<z.ZodObject<{
158
+ id: z.ZodOptional<z.ZodString>;
159
+ action: z.ZodEnum<["log", "approve", "block"]>;
160
+ conditions: z.ZodArray<z.ZodObject<{
161
+ field: z.ZodString;
162
+ operator: z.ZodEnum<["equals", "notEquals", "contains", "notContains", "startsWith", "notStartsWith", "endsWith", "notEndsWith", "matches", "in", "notIn"]>;
163
+ value: z.ZodAny;
164
+ }, "strip", z.ZodTypeAny, {
165
+ field: string;
166
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
167
+ value?: any;
168
+ }, {
169
+ field: string;
170
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
171
+ value?: any;
172
+ }>, "many">;
173
+ reason: z.ZodOptional<z.ZodString>;
174
+ }, "strip", z.ZodTypeAny, {
175
+ action: "log" | "approve" | "block";
176
+ conditions: {
177
+ field: string;
178
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
179
+ value?: any;
180
+ }[];
181
+ id?: string | undefined;
182
+ reason?: string | undefined;
183
+ }, {
184
+ action: "log" | "approve" | "block";
185
+ conditions: {
186
+ field: string;
187
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
188
+ value?: any;
189
+ }[];
190
+ id?: string | undefined;
191
+ reason?: string | undefined;
192
+ }>, "many">;
193
+ }, "strip", z.ZodTypeAny, {
194
+ id: string;
195
+ scope: {
196
+ apiGroup?: string | undefined;
197
+ toolName?: string | undefined;
198
+ };
199
+ rules: {
200
+ action: "log" | "approve" | "block";
201
+ conditions: {
202
+ field: string;
203
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
204
+ value?: any;
205
+ }[];
206
+ id?: string | undefined;
207
+ reason?: string | undefined;
208
+ }[];
209
+ description?: string | undefined;
210
+ }, {
211
+ id: string;
212
+ scope: {
213
+ apiGroup?: string | undefined;
214
+ toolName?: string | undefined;
215
+ };
216
+ rules: {
217
+ action: "log" | "approve" | "block";
218
+ conditions: {
219
+ field: string;
220
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
221
+ value?: any;
222
+ }[];
223
+ id?: string | undefined;
224
+ reason?: string | undefined;
225
+ }[];
226
+ description?: string | undefined;
227
+ }>, "many">;
228
+ }, "strip", z.ZodTypeAny, {
229
+ version: string;
230
+ policies: {
231
+ id: string;
232
+ scope: {
233
+ apiGroup?: string | undefined;
234
+ toolName?: string | undefined;
235
+ };
236
+ rules: {
237
+ action: "log" | "approve" | "block";
238
+ conditions: {
239
+ field: string;
240
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
241
+ value?: any;
242
+ }[];
243
+ id?: string | undefined;
244
+ reason?: string | undefined;
245
+ }[];
246
+ description?: string | undefined;
247
+ }[];
248
+ }, {
249
+ version: string;
250
+ policies: {
251
+ id: string;
252
+ scope: {
253
+ apiGroup?: string | undefined;
254
+ toolName?: string | undefined;
255
+ };
256
+ rules: {
257
+ action: "log" | "approve" | "block";
258
+ conditions: {
259
+ field: string;
260
+ operator: "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "notStartsWith" | "endsWith" | "notEndsWith" | "matches" | "in" | "notIn";
261
+ value?: any;
262
+ }[];
263
+ id?: string | undefined;
264
+ reason?: string | undefined;
265
+ }[];
266
+ description?: string | undefined;
267
+ }[];
268
+ }>;
269
+ export type PolicyConfiguration = z.infer<typeof PolicyConfigurationSchema>;
270
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/policies/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc,mJAYzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,eAAe;;;;;;;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,kBAAkB,wCAAsC,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ export const OperatorSchema = z.enum([
3
+ 'equals',
4
+ 'notEquals',
5
+ 'contains',
6
+ 'notContains',
7
+ 'startsWith',
8
+ 'notStartsWith',
9
+ 'endsWith',
10
+ 'notEndsWith',
11
+ 'matches',
12
+ 'in',
13
+ 'notIn',
14
+ ]);
15
+ export const ConditionSchema = z.object({
16
+ field: z
17
+ .string()
18
+ .describe('Field to check (e.g. args.paramName, provenance.args.param.source.type)'),
19
+ operator: OperatorSchema,
20
+ value: z.any().describe('Value to compare against'),
21
+ });
22
+ export const PolicyActionSchema = z.enum(['log', 'approve', 'block']);
23
+ export const PolicyRuleSchema = z.object({
24
+ id: z.string().optional(),
25
+ action: PolicyActionSchema,
26
+ conditions: z.array(ConditionSchema).describe('All conditions must match (implicit AND)'),
27
+ reason: z.string().optional(),
28
+ });
29
+ export const DeclarativePolicyConfigSchema = z.object({
30
+ id: z.string(),
31
+ description: z.string().optional(),
32
+ scope: z.object({
33
+ toolName: z.string().optional().describe('Regex pattern or exact match for tool name'),
34
+ apiGroup: z.string().optional().describe('Regex pattern or exact match for API group'),
35
+ }),
36
+ rules: z.array(PolicyRuleSchema).describe('Rules are evaluated in order. First match wins.'),
37
+ });
38
+ export const PolicyConfigurationSchema = z.object({
39
+ version: z.string(),
40
+ policies: z.array(DeclarativePolicyConfigSchema),
41
+ });
42
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/policies/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,QAAQ;IACR,WAAW;IACX,UAAU;IACV,aAAa;IACb,YAAY;IACZ,eAAe;IACf,UAAU;IACV,aAAa;IACb,SAAS;IACT,IAAI;IACJ,OAAO;CACP,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,yEAAyE,CAAC;IACrF,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACnD,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAItE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IACzF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACtF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;KACtF,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,iDAAiD,CAAC;CAC5F,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;CAChD,CAAC,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import type { ProvenanceMetadata, SourceMetadata, ReaderPermissions } from './types.js';
2
+ import { type ProvenanceStore } from './store.js';
3
+ /**
4
+ * Set the global provenance store implementation
5
+ */
6
+ export declare function setGlobalProvenanceStore(store: ProvenanceStore): void;
2
7
  /**
3
8
  * Mark a primitive value as tainted (derived from tool data)
4
9
  * Used by AST mode to track derived values
@@ -17,6 +22,16 @@ export declare function setProvenanceExecutionId(executionId: string): void;
17
22
  * Clear the current execution ID
18
23
  */
19
24
  export declare function clearProvenanceExecutionId(): void;
25
+ /**
26
+ * Hydrate provenance metadata for an execution (Multi-pod support)
27
+ * Call this when resuming an execution on a new pod to warm up the local cache
28
+ */
29
+ export declare function hydrateProvenance(ids: string[]): Promise<void>;
30
+ /**
31
+ * Hydrate all provenance for a specific execution ID (if store supports tracking by execution)
32
+ * Note: Standard InMemoryProvenanceStore tracks execution IDs, but Redis implementations might need explicit sets
33
+ */
34
+ export declare function hydrateExecutionProvenance(executionId: string): Promise<void>;
20
35
  /**
21
36
  * Register provenance metadata directly (for AST tracking in isolated-vm)
22
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/registry.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { nanoid } from 'nanoid';
2
2
  import { computeDigest } from './tokens.js';
3
+ import { InMemoryProvenanceStore } from './store.js';
3
4
  const PROVENANCE_KEY = '__provenance__';
4
5
  const PROVENANCE_ID_KEY = '__prov_id__';
5
6
  const provenanceStore = new WeakMap();
@@ -8,6 +9,13 @@ const executionProvenanceIds = new Map();
8
9
  let currentExecutionId = null;
9
10
  const primitiveProvenanceMap = new Map();
10
11
  const executionTaintedPrimitives = new Map();
12
+ let globalStore = new InMemoryProvenanceStore();
13
+ /**
14
+ * Set the global provenance store implementation
15
+ */
16
+ export function setGlobalProvenanceStore(store) {
17
+ globalStore = store;
18
+ }
11
19
  /**
12
20
  * Mark a primitive value as tainted (derived from tool data)
13
21
  * Used by AST mode to track derived values
@@ -24,6 +32,9 @@ export function markPrimitiveTainted(value, sourceMetadata) {
24
32
  }
25
33
  const key = `tainted:${String(value)}`;
26
34
  primitiveProvenanceMap.set(key, sourceMetadata);
35
+ globalStore.setPrimitive(key, sourceMetadata, currentExecutionId || undefined).catch((err) => {
36
+ console.warn('Failed to save primitive taint to provenance store', err);
37
+ });
27
38
  }
28
39
  /**
29
40
  * Check if a primitive is tainted (derived from tool data)
@@ -59,12 +70,57 @@ export function setProvenanceExecutionId(executionId) {
59
70
  export function clearProvenanceExecutionId() {
60
71
  currentExecutionId = null;
61
72
  }
73
+ /**
74
+ * Hydrate provenance metadata for an execution (Multi-pod support)
75
+ * Call this when resuming an execution on a new pod to warm up the local cache
76
+ */
77
+ export async function hydrateProvenance(ids) {
78
+ const batch = await globalStore.getBatch(ids);
79
+ for (const [id, metadata] of batch.entries()) {
80
+ provenanceRegistry.set(id, metadata);
81
+ if (currentExecutionId) {
82
+ let execIds = executionProvenanceIds.get(currentExecutionId);
83
+ if (!execIds) {
84
+ execIds = new Set();
85
+ executionProvenanceIds.set(currentExecutionId, execIds);
86
+ }
87
+ execIds.add(id);
88
+ }
89
+ }
90
+ }
91
+ /**
92
+ * Hydrate all provenance for a specific execution ID (if store supports tracking by execution)
93
+ * Note: Standard InMemoryProvenanceStore tracks execution IDs, but Redis implementations might need explicit sets
94
+ */
95
+ export async function hydrateExecutionProvenance(executionId) {
96
+ const batch = await globalStore.getExecution(executionId);
97
+ for (const [id, metadata] of batch.entries()) {
98
+ provenanceRegistry.set(id, metadata);
99
+ // Also track in current execution context (re-bind to new execution scope if needed)
100
+ // Or just ensure it's in registry for reading.
101
+ // Typically, we just want it available for reading.
102
+ // If we want to ensure cleanup works for the *new* resumed execution, we might need to track it.
103
+ // But usually resumed execution has same ID?
104
+ // If executionId passed here IS the currentExecutionId, we track it.
105
+ if (currentExecutionId === executionId) {
106
+ let executionSet = executionProvenanceIds.get(executionId);
107
+ if (!executionSet) {
108
+ executionSet = new Set();
109
+ executionProvenanceIds.set(executionId, executionSet);
110
+ }
111
+ executionSet.add(id);
112
+ }
113
+ }
114
+ }
62
115
  /**
63
116
  * Register provenance metadata directly (for AST tracking in isolated-vm)
64
117
  */
65
118
  export function registerProvenanceMetadata(id, metadata, executionId) {
66
119
  if (id.startsWith('tainted:') || id.includes(':')) {
67
120
  primitiveProvenanceMap.set(id, metadata);
121
+ globalStore.setPrimitive(id, metadata, executionId).catch((err) => {
122
+ console.warn('Failed to save primitive provenance to store', err);
123
+ });
68
124
  if (id.startsWith('tainted:')) {
69
125
  const value = id.slice('tainted:'.length);
70
126
  if (executionId) {
@@ -79,6 +135,9 @@ export function registerProvenanceMetadata(id, metadata, executionId) {
79
135
  }
80
136
  else {
81
137
  provenanceRegistry.set(id, metadata);
138
+ globalStore.set(id, metadata, executionId).catch((err) => {
139
+ console.warn('Failed to save provenance to store', err);
140
+ });
82
141
  }
83
142
  if (executionId) {
84
143
  let ids = executionProvenanceIds.get(executionId);
@@ -111,6 +170,10 @@ export function cleanupProvenanceForExecution(executionId) {
111
170
  executionProvenanceIds.delete(executionId);
112
171
  }
113
172
  executionTaintedPrimitives.delete(executionId);
173
+ // Cleanup from persistent store
174
+ globalStore.cleanupExecution(executionId).catch((err) => {
175
+ console.warn('Failed to cleanup provenance store', err);
176
+ });
114
177
  }
115
178
  /**
116
179
  * Check if a primitive value was extracted from a provenance-tracked object
@@ -206,6 +269,7 @@ export function restoreProvenanceState(executionId, state) {
206
269
  for (const [id, metadata] of state) {
207
270
  provenanceRegistry.set(id, metadata);
208
271
  ids.add(id);
272
+ globalStore.set(id, metadata, executionId).catch(console.error);
209
273
  }
210
274
  }
211
275
  /**
@@ -216,6 +280,7 @@ export function restoreProvenanceSnapshot(executionId, snapshot) {
216
280
  restoreProvenanceState(executionId, registryMap);
217
281
  for (const [key, meta] of snapshot.primitives) {
218
282
  primitiveProvenanceMap.set(key, meta);
283
+ globalStore.setPrimitive(key, meta, executionId).catch(console.error);
219
284
  if (key.startsWith('tainted:')) {
220
285
  const value = key.slice('tainted:'.length);
221
286
  let set = executionTaintedPrimitives.get(executionId);
@@ -256,12 +321,17 @@ export function createProvenanceProxy(value, source, readers = { type: 'public'
256
321
  ids.add(id);
257
322
  }
258
323
  }
324
+ globalStore.set(id, metadata, currentExecutionId || undefined).catch((err) => {
325
+ console.warn('Failed to persist provenance to store', err);
326
+ });
259
327
  try {
260
328
  Object.defineProperty(value, PROVENANCE_ID_KEY, {
261
329
  value: id,
262
330
  writable: false,
263
331
  enumerable: true,
264
332
  configurable: true,
333
+ // @ts-ignore
334
+ __proto__: null,
265
335
  });
266
336
  }
267
337
  catch (e) {
@@ -286,6 +356,9 @@ export function createProvenanceProxy(value, source, readers = { type: 'public'
286
356
  else if (typeof nestedValue === 'string' || typeof nestedValue === 'number') {
287
357
  const primitiveKey = `${id}:${key}:${String(nestedValue)}`;
288
358
  primitiveProvenanceMap.set(primitiveKey, metadata);
359
+ globalStore
360
+ .setPrimitive(primitiveKey, metadata, currentExecutionId || undefined)
361
+ .catch(console.error);
289
362
  }
290
363
  }
291
364
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { ProvenanceMetadata } from './types.js';
2
+ /**
3
+ * Interface for Provenance Storage (supports distributed/async)
4
+ */
5
+ export interface ProvenanceStore {
6
+ /**
7
+ * Get metadata by ID
8
+ */
9
+ get(id: string): Promise<ProvenanceMetadata | null>;
10
+ /**
11
+ * Get multiple metadata items by ID
12
+ */
13
+ getBatch(ids: string[]): Promise<Map<string, ProvenanceMetadata>>;
14
+ /**
15
+ * Save metadata
16
+ */
17
+ set(id: string, metadata: ProvenanceMetadata, executionId?: string): Promise<void>;
18
+ /**
19
+ * Get primitive metadata by key
20
+ */
21
+ getPrimitive(key: string): Promise<ProvenanceMetadata | null>;
22
+ /**
23
+ * Save primitive metadata
24
+ */
25
+ setPrimitive(key: string, metadata: ProvenanceMetadata, executionId?: string): Promise<void>;
26
+ /**
27
+ * Cleanup all data associated with an execution ID
28
+ */
29
+ cleanupExecution(executionId: string): Promise<void>;
30
+ /**
31
+ * Get all provenance metadata associated with an execution ID
32
+ * Used for hydrating a new pod when resuming execution
33
+ */
34
+ getExecution(executionId: string): Promise<Map<string, ProvenanceMetadata>>;
35
+ }
36
+ /**
37
+ * In-Memory implementation of ProvenanceStore (Default)
38
+ * Acts as a monolithic store (like the original implementation)
39
+ */
40
+ export declare class InMemoryProvenanceStore implements ProvenanceStore {
41
+ private registry;
42
+ private primitives;
43
+ private executionIds;
44
+ private executionPrimitives;
45
+ get(id: string): Promise<ProvenanceMetadata | null>;
46
+ getBatch(ids: string[]): Promise<Map<string, ProvenanceMetadata>>;
47
+ set(id: string, metadata: ProvenanceMetadata, executionId?: string): Promise<void>;
48
+ getPrimitive(key: string): Promise<ProvenanceMetadata | null>;
49
+ setPrimitive(key: string, metadata: ProvenanceMetadata, executionId?: string): Promise<void>;
50
+ cleanupExecution(executionId: string): Promise<void>;
51
+ getExecution(executionId: string): Promise<Map<string, ProvenanceMetadata>>;
52
+ }
53
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAEpD;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAElE;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAE9D;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7F;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CAC5E;AAED;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,eAAe;IAC9D,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,mBAAmB,CAAkC;IAEvD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAInD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAWjE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalF,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAI7D,YAAY,CACjB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,kBAAkB,EAC5B,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAaV,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBpD,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAajF"}