@xyne/workflow-sdk 3.2.14 → 3.2.16

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 (97) hide show
  1. package/dist/agents/agent-step.d.ts.map +1 -1
  2. package/dist/agents/agent-step.js +3 -1
  3. package/dist/agents/agent-step.js.map +1 -1
  4. package/dist/authz/attributes.d.ts +41 -0
  5. package/dist/authz/attributes.d.ts.map +1 -0
  6. package/dist/authz/attributes.js +2 -0
  7. package/dist/authz/attributes.js.map +1 -0
  8. package/dist/authz/default.d.ts +31 -0
  9. package/dist/authz/default.d.ts.map +1 -0
  10. package/dist/authz/default.js +47 -0
  11. package/dist/authz/default.js.map +1 -0
  12. package/dist/authz/id-scope.d.ts +27 -0
  13. package/dist/authz/id-scope.d.ts.map +1 -0
  14. package/dist/authz/id-scope.js +24 -0
  15. package/dist/authz/id-scope.js.map +1 -0
  16. package/dist/authz/principal-field.d.ts +23 -0
  17. package/dist/authz/principal-field.d.ts.map +1 -0
  18. package/dist/authz/principal-field.js +34 -0
  19. package/dist/authz/principal-field.js.map +1 -0
  20. package/dist/authz/types.d.ts +129 -0
  21. package/dist/authz/types.d.ts.map +1 -0
  22. package/dist/authz/types.js +74 -0
  23. package/dist/authz/types.js.map +1 -0
  24. package/dist/client/types.d.ts +26 -1
  25. package/dist/client/types.d.ts.map +1 -1
  26. package/dist/client/workflow-client.d.ts.map +1 -1
  27. package/dist/client/workflow-client.js +21 -2
  28. package/dist/client/workflow-client.js.map +1 -1
  29. package/dist/engine/workflow-executor.d.ts +1 -1
  30. package/dist/engine/workflow-executor.d.ts.map +1 -1
  31. package/dist/engine/workflow-executor.js +13 -2
  32. package/dist/engine/workflow-executor.js.map +1 -1
  33. package/dist/index.d.ts +7 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +3 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/persistence/in-memory-adapter.d.ts +40 -20
  38. package/dist/persistence/in-memory-adapter.d.ts.map +1 -1
  39. package/dist/persistence/in-memory-adapter.js +108 -38
  40. package/dist/persistence/in-memory-adapter.js.map +1 -1
  41. package/dist/persistence/types.d.ts +117 -20
  42. package/dist/persistence/types.d.ts.map +1 -1
  43. package/dist/router/types.d.ts +11 -8
  44. package/dist/router/types.d.ts.map +1 -1
  45. package/dist/router/workflow-router.d.ts +2 -2
  46. package/dist/router/workflow-router.d.ts.map +1 -1
  47. package/dist/router/workflow-router.js +179 -62
  48. package/dist/router/workflow-router.js.map +1 -1
  49. package/dist/runtime/types.d.ts +22 -2
  50. package/dist/runtime/types.d.ts.map +1 -1
  51. package/dist/runtime/workflow-runtime.d.ts +137 -43
  52. package/dist/runtime/workflow-runtime.d.ts.map +1 -1
  53. package/dist/runtime/workflow-runtime.js +288 -98
  54. package/dist/runtime/workflow-runtime.js.map +1 -1
  55. package/dist/steps/base-step.d.ts +19 -2
  56. package/dist/steps/base-step.d.ts.map +1 -1
  57. package/dist/steps/base-step.js.map +1 -1
  58. package/dist/storage/types.d.ts +14 -4
  59. package/dist/storage/types.d.ts.map +1 -1
  60. package/dist/testing/authz-conformance.d.ts +90 -0
  61. package/dist/testing/authz-conformance.d.ts.map +1 -0
  62. package/dist/testing/authz-conformance.js +250 -0
  63. package/dist/testing/authz-conformance.js.map +1 -0
  64. package/dist/testing/index.d.ts +7 -0
  65. package/dist/testing/index.d.ts.map +1 -1
  66. package/dist/testing/index.js +6 -0
  67. package/dist/testing/index.js.map +1 -1
  68. package/dist/testing/mock-context.d.ts +4 -0
  69. package/dist/testing/mock-context.d.ts.map +1 -1
  70. package/dist/testing/mock-context.js +4 -1
  71. package/dist/testing/mock-context.js.map +1 -1
  72. package/dist/testing/mock-step-context.d.ts.map +1 -1
  73. package/dist/testing/mock-step-context.js +1 -0
  74. package/dist/testing/mock-step-context.js.map +1 -1
  75. package/dist/types/context.d.ts +22 -3
  76. package/dist/types/context.d.ts.map +1 -1
  77. package/package.json +9 -3
  78. package/dist/common/principal.d.ts +0 -45
  79. package/dist/common/principal.d.ts.map +0 -1
  80. package/dist/common/principal.js +0 -9
  81. package/dist/common/principal.js.map +0 -1
  82. package/dist/steps/builtin/transform.step.d.ts +0 -247
  83. package/dist/steps/builtin/transform.step.d.ts.map +0 -1
  84. package/dist/steps/builtin/transform.step.js +0 -135
  85. package/dist/steps/builtin/transform.step.js.map +0 -1
  86. package/dist/types/attachment.d.ts +0 -23
  87. package/dist/types/attachment.d.ts.map +0 -1
  88. package/dist/types/attachment.js +0 -2
  89. package/dist/types/attachment.js.map +0 -1
  90. package/dist/types/resume-payload.d.ts +0 -34
  91. package/dist/types/resume-payload.d.ts.map +0 -1
  92. package/dist/types/resume-payload.js +0 -12
  93. package/dist/types/resume-payload.js.map +0 -1
  94. package/dist/util/executable-check.d.ts +0 -42
  95. package/dist/util/executable-check.d.ts.map +0 -1
  96. package/dist/util/executable-check.js +0 -115
  97. package/dist/util/executable-check.js.map +0 -1
@@ -5,6 +5,8 @@
5
5
  * implementations (Prisma, MongoDB, in-memory for testing, etc.).
6
6
  */
7
7
  import type { ResumePayload } from '../common/resume-payload.js';
8
+ import type { Action } from '../authz/types.js';
9
+ import type { ResourceAttributes } from '../authz/attributes.js';
8
10
  /** What the engine stores about a workflow definition. */
9
11
  export interface WorkflowRecord {
10
12
  id: string;
@@ -22,6 +24,19 @@ export interface WorkflowRecord {
22
24
  * folder — there is no "ungrouped" state. Set at create, changed by "move".
23
25
  */
24
26
  folderId: string;
27
+ /**
28
+ * The actions the requesting caller may perform on this workflow, from the
29
+ * authorizer — the UI gates buttons on it. Populated by the runtime on both
30
+ * single-fetch (`getWorkflow`) and list rows (batched), so inline row actions
31
+ * gate without an extra fetch. Absent only on system-path reads.
32
+ */
33
+ permittedActions?: readonly Action[];
34
+ /**
35
+ * Product-defined scoping attributes set at creation (e.g. a team). Typed via
36
+ * {@link Register}; carried and stored opaquely by the framework and read,
37
+ * typed, by the host authorizer and UI. Distinct from `metadata` (SDK-internal).
38
+ */
39
+ attributes?: ResourceAttributes<'workflow'>;
25
40
  }
26
41
  /**
27
42
  * A folder for organizing workflows. Supports nesting via parentId.
@@ -30,10 +45,35 @@ export interface WorkflowRecord {
30
45
  export interface FolderRecord {
31
46
  id: string;
32
47
  name: string;
33
- /** JSON string — host-defined metadata (scope/tenancy, etc.). */
48
+ /** JSON string — host-defined metadata (SDK-internal). */
34
49
  metadata: string | null;
35
50
  /** Parent folder ID for nested folders. Null means top-level. */
36
51
  parentId?: string | null;
52
+ /**
53
+ * Product-defined scoping attributes set at creation (e.g. a department).
54
+ * Typed via {@link Register}; carried/stored opaquely and read, typed, by the
55
+ * host authorizer and UI.
56
+ */
57
+ attributes?: ResourceAttributes<'folder'>;
58
+ /**
59
+ * Actions the requesting caller may perform on this folder — including the
60
+ * CONTAINER actions (`workflow:create` / `folder:create`) that tell the UI
61
+ * whether to offer "New workflow"/"New folder" *inside* this folder.
62
+ * Populated on single-fetch (`getFolder`) and on list rows (batched).
63
+ */
64
+ permittedActions?: readonly Action[];
65
+ }
66
+ /**
67
+ * A credential. Addressed by a stable `id` for management; resolved at execution
68
+ * time by `(tenant, name)` — see {@link PersistenceAdapter.resolveCredential}.
69
+ * The secret itself is never part of this record.
70
+ */
71
+ export interface CredentialRecord {
72
+ id: string;
73
+ name: string;
74
+ type: string;
75
+ attributes?: ResourceAttributes<'credential'>;
76
+ permittedActions?: readonly Action[];
37
77
  }
38
78
  /** Webhook registration for a workflow. */
39
79
  export interface WebhookRecord {
@@ -133,25 +173,42 @@ export interface StepRecord {
133
173
  /** JSON string — { type, input?, output, error?, statePatch? }. */
134
174
  data: string | null;
135
175
  }
136
- export interface PersistenceAdapter {
176
+ /**
177
+ * The data port. `TFilter` is the host's own list predicate, produced by
178
+ * `WorkflowAuthorizer.visibleFilter` and handed here verbatim — the SDK never
179
+ * looks inside it. **Push it into your query**: the whole point is that listing
180
+ * is one indexed, paginated statement (`… WHERE tenant = ? AND (mine OR public)
181
+ * LIMIT ? OFFSET ?`), not "materialise every visible id, then re-query by id".
182
+ *
183
+ * The adapter holds NO authorization logic of its own — it applies the filter
184
+ * the authorizer produced. Use `IdScope` as `TFilter` for a zero-config start.
185
+ */
186
+ export interface PersistenceAdapter<TFilter> {
137
187
  getWorkflow(id: string): Promise<WorkflowRecord | null>;
138
- listWorkflows(metadata: Record<string, unknown>, filter?: {
188
+ /** List workflows matching the caller's `filter`, paginated in the query. */
189
+ listWorkflows(filter: TFilter, page?: {
139
190
  folderId?: string;
140
191
  limit?: number;
141
192
  offset?: number;
142
193
  }): Promise<WorkflowRecord[]>;
143
194
  /**
144
- * Workflow counts for the current scope: the grand total plus a per-folder
145
- * breakdown. Lets the UI show folder counts without fetching every workflow.
195
+ * Workflow counts within the caller's `filter`: grand total plus a per-folder
196
+ * breakdown, so the UI shows folder counts without fetching every workflow.
146
197
  */
147
- countWorkflowsByFolder(metadata: Record<string, unknown>): Promise<{
198
+ countWorkflowsByFolder(filter: TFilter): Promise<{
148
199
  total: number;
149
200
  byFolder: Record<string, {
150
201
  total: number;
151
202
  active: number;
152
203
  }>;
153
204
  }>;
154
- findActiveWorkflows(eventType: string, metadata: Record<string, unknown>): Promise<WorkflowRecord[]>;
205
+ /**
206
+ * Find active workflows matching a dispatched event. This is SYSTEM event
207
+ * routing, not user authorization — `eventScope` is the event's own origin
208
+ * scope (from `DispatchEventInput.metadata`), used to route the event to the
209
+ * right workflows.
210
+ */
211
+ findActiveWorkflows(eventType: string, eventScope: Record<string, unknown>): Promise<WorkflowRecord[]>;
155
212
  /** Create a new workflow definition. Returns the assigned workflow ID. */
156
213
  createWorkflow(data: {
157
214
  id?: string;
@@ -162,6 +219,8 @@ export interface PersistenceAdapter {
162
219
  summary?: string | null;
163
220
  /** Folder membership — required (every workflow belongs to one folder). */
164
221
  folderId: string;
222
+ /** Opaque product attributes to persist; returned on the record as-is. */
223
+ attributes?: ResourceAttributes<'workflow'>;
165
224
  }): Promise<string>;
166
225
  /** Update an existing workflow definition. */
167
226
  updateWorkflow(id: string, data: {
@@ -173,8 +232,24 @@ export interface PersistenceAdapter {
173
232
  /** Move the workflow to another folder. */
174
233
  folderId?: string;
175
234
  }): Promise<void>;
176
- /** List folders visible to the given scope metadata. */
177
- listFolders(metadata: Record<string, unknown>): Promise<FolderRecord[]>;
235
+ /** Fetch a single folder by id (for read/mutate guards + UI gating). */
236
+ getFolder(id: string): Promise<FolderRecord | null>;
237
+ /** List folders matching the caller's `filter`. */
238
+ listFolders(filter: TFilter): Promise<FolderRecord[]>;
239
+ /**
240
+ * Every folder in the deployment, unfiltered. This is a SYSTEM integrity
241
+ * read, not a caller read — the reparent cycle check must see folders the
242
+ * caller cannot, or a hidden descendant lets the cycle through. Never
243
+ * return these rows to a caller.
244
+ */
245
+ listAllFolders(): Promise<FolderRecord[]>;
246
+ /**
247
+ * Count of workflows in a folder, unfiltered. SYSTEM integrity read: folder
248
+ * deletion is blocked while the folder holds *any* workflow, including ones
249
+ * the caller cannot see. Counting only visible rows would let a caller
250
+ * delete a folder out from under someone else's workflows.
251
+ */
252
+ countWorkflowsInFolder(folderId: string): Promise<number>;
178
253
  /** Create a folder. Returns the assigned folder ID. */
179
254
  createFolder(data: {
180
255
  id?: string;
@@ -182,6 +257,8 @@ export interface PersistenceAdapter {
182
257
  metadata: string;
183
258
  /** Parent folder ID for nesting. Null or omitted means top-level. */
184
259
  parentId?: string | null;
260
+ /** Opaque product attributes to persist; returned on the record as-is. */
261
+ attributes?: ResourceAttributes<'folder'>;
185
262
  }): Promise<string>;
186
263
  /** Update a folder (rename or reparent). */
187
264
  updateFolder(id: string, data: {
@@ -200,7 +277,12 @@ export interface PersistenceAdapter {
200
277
  }): Promise<string>;
201
278
  updateExecutionStatus(executionId: string, status: string): Promise<void>;
202
279
  getExecution(executionId: string): Promise<ExecutionRecord | null>;
203
- listExecutions(params: {
280
+ /**
281
+ * List executions visible to the caller. An execution is visible iff its
282
+ * workflow is, so `filter` is the **workflow** filter — join it through
283
+ * `workflowId` rather than authorizing executions separately.
284
+ */
285
+ listExecutions(filter: TFilter, params: {
204
286
  workflowId?: string;
205
287
  status?: string;
206
288
  limit?: number;
@@ -210,7 +292,7 @@ export interface PersistenceAdapter {
210
292
  items: ExecutionRecord[];
211
293
  nextCursor?: string;
212
294
  }>;
213
- getTopErrors?(params: {
295
+ getTopErrors?(filter: TFilter, params: {
214
296
  since?: Date;
215
297
  limit?: number;
216
298
  folderId?: string;
@@ -222,10 +304,10 @@ export interface PersistenceAdapter {
222
304
  workflowId: string;
223
305
  }>;
224
306
  }>>;
225
- getAnalyticsSummary?(params: {
307
+ /** Analytics over the caller's visible workflows — same filter, joined. */
308
+ getAnalyticsSummary?(filter: TFilter, params: {
226
309
  since: Date;
227
310
  rangeDays: number;
228
- metadata: Record<string, unknown>;
229
311
  folderId?: string;
230
312
  }): Promise<AnalyticsSummaryResult>;
231
313
  getExecutionState(executionId: string): Promise<ExecutionStateRecord | null>;
@@ -256,19 +338,34 @@ export interface PersistenceAdapter {
256
338
  data: string;
257
339
  createdAt: Date;
258
340
  }>>;
259
- resolveCredential(metadata: Record<string, unknown>, name: string): Promise<{
341
+ /** Management: create a credential (tenant carried in `attributes`). Returns its id. */
342
+ createCredential(data: {
343
+ id?: string;
344
+ name: string;
345
+ type: string;
346
+ data: Record<string, unknown>;
347
+ attributes?: ResourceAttributes<'credential'>;
348
+ }): Promise<string>;
349
+ /** Management: fetch a credential by id — never the secret `data`. */
350
+ getCredential(id: string): Promise<CredentialRecord | null>;
351
+ /** Management: list credentials matching the caller's `filter` (redacted — no secret). */
352
+ listCredentials(filter: TFilter): Promise<CredentialRecord[]>;
353
+ /** Management: delete a credential by id. */
354
+ deleteCredential(id: string): Promise<void>;
355
+ /**
356
+ * Resolution (execution path, no caller): fetch a secret for the running
357
+ * workflow by its logical `name`. `scope` is the workflow's own typed
358
+ * `attributes` — the resource carries its own security context.
359
+ */
360
+ resolveCredential(scope: ResourceAttributes<'workflow'>, name: string): Promise<{
260
361
  type: string;
261
362
  data: Record<string, unknown>;
262
363
  } | null>;
263
- listCredentials(metadata: Record<string, unknown>): Promise<Array<{
364
+ /** Resolution (execution path): the running workflow's credentials, for trigger pre-resolution. */
365
+ listTenantCredentials(scope: ResourceAttributes<'workflow'>): Promise<Array<{
264
366
  name: string;
265
367
  type: string;
266
368
  }>>;
267
- storeCredential(metadata: Record<string, unknown>, name: string, credential: {
268
- type: string;
269
- data: Record<string, unknown>;
270
- }): Promise<void>;
271
- deleteCredential(metadata: Record<string, unknown>, name: string): Promise<void>;
272
369
  /** Store a webhook path+secret for a workflow. */
273
370
  storeWebhookPath(workflowId: string, path: string, secret: string): Promise<void>;
274
371
  /** Remove the webhook registration for a workflow. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/persistence/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/persistence/types.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,23 @@
5
5
  * HTTP framework (Express, Fastify, Hono, etc.) with minimal glue code.
6
6
  */
7
7
  /**
8
- * Extracted from the request by the host's `authenticate` function.
9
- * The router passes this to every handler.
8
+ * A minimal default ctx shape. Hosts are encouraged to define their OWN
9
+ * strongly-typed ctx (e.g. `{ userId: number; workspaceId: string; role: Role }`)
10
+ * and thread it through `createWorkflowRouter<TCtx>` — the router, runtime, and
11
+ * authorizer are all generic over it. This type exists only as a convenient
12
+ * default; nothing in the framework requires the untyped `metadata` bag.
10
13
  */
11
14
  export interface AuthContext {
12
15
  userId: string;
13
16
  /** Host-defined metadata — workspaceId, tenantId, etc. */
14
17
  metadata: Record<string, unknown>;
15
18
  }
16
- export interface RouterOptions {
19
+ export interface RouterOptions<TCtx = AuthContext> {
17
20
  /**
18
- * Extract auth context from request headers/cookies.
21
+ * Extract the typed ctx from request headers/cookies.
19
22
  * Throw to reject the request (the router will catch and return 401).
20
23
  */
21
- authenticate: (headers: Record<string, string | string[] | undefined>) => AuthContext | Promise<AuthContext>;
24
+ authenticate: (headers: Record<string, string | string[] | undefined>) => TCtx | Promise<TCtx>;
22
25
  }
23
26
  /** The shape every route handler returns. */
24
27
  export interface RouteResponse {
@@ -46,12 +49,12 @@ export interface RouteRequest {
46
49
  bytes: Uint8Array;
47
50
  }>;
48
51
  }
49
- /** A single route definition. */
50
- export interface RouteDefinition {
52
+ /** A single route definition. `auth` is the host's typed ctx (null on unauthenticated routes). */
53
+ export interface RouteDefinition<TCtx = AuthContext> {
51
54
  method: 'GET' | 'POST' | 'PUT' | 'DELETE';
52
55
  path: string;
53
56
  /** Whether this route requires authentication. Defaults to true. */
54
57
  authenticated?: boolean;
55
- handler: (req: RouteRequest, auth: AuthContext | null) => Promise<RouteResponse>;
58
+ handler: (req: RouteRequest, auth: TCtx | null) => Promise<RouteResponse>;
56
59
  }
57
60
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAID,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9G;AAID,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sFAAsF;IACtF,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACrD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,CACP,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,WAAW,GAAG,IAAI,KACrB,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAID,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,WAAW;IAC/C;;;OAGG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAID,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sFAAsF;IACtF,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACrD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IACvD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,kGAAkG;AAClG,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,WAAW;IACjD,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,CACP,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,IAAI,GAAG,IAAI,KACd,OAAO,CAAC,aAAa,CAAC,CAAC;CAC7B"}
@@ -21,6 +21,6 @@
21
21
  * ```
22
22
  */
23
23
  import type { WorkflowRuntime } from '../runtime/workflow-runtime.js';
24
- import type { RouteDefinition, RouterOptions } from './types.js';
25
- export declare function createWorkflowRouter(runtime: WorkflowRuntime, _opts: RouterOptions): RouteDefinition[];
24
+ import type { RouteDefinition, AuthContext, RouterOptions } from './types.js';
25
+ export declare function createWorkflowRouter<TCtx = AuthContext>(runtime: WorkflowRuntime<any, TCtx>, _opts: RouterOptions<TCtx>): RouteDefinition<TCtx>[];
26
26
  //# sourceMappingURL=workflow-router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-router.d.ts","sourceRoot":"","sources":["../../src/router/workflow-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAA8B,aAAa,EAAE,MAAM,YAAY,CAAC;AAuD7F,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,aAAa,GACnB,eAAe,EAAE,CA+kCnB"}
1
+ {"version":3,"file":"workflow-router.d.ts","sourceRoot":"","sources":["../../src/router/workflow-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAiB,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAoD7F,wBAAgB,oBAAoB,CAAC,IAAI,GAAG,WAAW,EAGrD,OAAO,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,EAEnC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GACzB,eAAe,CAAC,IAAI,CAAC,EAAE,CAyqCzB"}