@xyne/workflow-sdk 3.2.15 → 3.2.17

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 +121 -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 {
@@ -105,6 +145,10 @@ export interface ExecutionRecord {
105
145
  updatedAt?: Date;
106
146
  /** Set when this execution was created via `rerunFromStep()` — links to the source. */
107
147
  sourceExecutionId?: string;
148
+ /** Parent workflow's display name (from its metadata), resolved server-side via the
149
+ * executions↔workflows join. Absent when the host doesn't populate it; UIs fall back
150
+ * to workflowId. */
151
+ workflowName?: string;
108
152
  }
109
153
  /**
110
154
  * Why the execution is paused.
@@ -133,25 +177,42 @@ export interface StepRecord {
133
177
  /** JSON string — { type, input?, output, error?, statePatch? }. */
134
178
  data: string | null;
135
179
  }
136
- export interface PersistenceAdapter {
180
+ /**
181
+ * The data port. `TFilter` is the host's own list predicate, produced by
182
+ * `WorkflowAuthorizer.visibleFilter` and handed here verbatim — the SDK never
183
+ * looks inside it. **Push it into your query**: the whole point is that listing
184
+ * is one indexed, paginated statement (`… WHERE tenant = ? AND (mine OR public)
185
+ * LIMIT ? OFFSET ?`), not "materialise every visible id, then re-query by id".
186
+ *
187
+ * The adapter holds NO authorization logic of its own — it applies the filter
188
+ * the authorizer produced. Use `IdScope` as `TFilter` for a zero-config start.
189
+ */
190
+ export interface PersistenceAdapter<TFilter> {
137
191
  getWorkflow(id: string): Promise<WorkflowRecord | null>;
138
- listWorkflows(metadata: Record<string, unknown>, filter?: {
192
+ /** List workflows matching the caller's `filter`, paginated in the query. */
193
+ listWorkflows(filter: TFilter, page?: {
139
194
  folderId?: string;
140
195
  limit?: number;
141
196
  offset?: number;
142
197
  }): Promise<WorkflowRecord[]>;
143
198
  /**
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.
199
+ * Workflow counts within the caller's `filter`: grand total plus a per-folder
200
+ * breakdown, so the UI shows folder counts without fetching every workflow.
146
201
  */
147
- countWorkflowsByFolder(metadata: Record<string, unknown>): Promise<{
202
+ countWorkflowsByFolder(filter: TFilter): Promise<{
148
203
  total: number;
149
204
  byFolder: Record<string, {
150
205
  total: number;
151
206
  active: number;
152
207
  }>;
153
208
  }>;
154
- findActiveWorkflows(eventType: string, metadata: Record<string, unknown>): Promise<WorkflowRecord[]>;
209
+ /**
210
+ * Find active workflows matching a dispatched event. This is SYSTEM event
211
+ * routing, not user authorization — `eventScope` is the event's own origin
212
+ * scope (from `DispatchEventInput.metadata`), used to route the event to the
213
+ * right workflows.
214
+ */
215
+ findActiveWorkflows(eventType: string, eventScope: Record<string, unknown>): Promise<WorkflowRecord[]>;
155
216
  /** Create a new workflow definition. Returns the assigned workflow ID. */
156
217
  createWorkflow(data: {
157
218
  id?: string;
@@ -162,6 +223,8 @@ export interface PersistenceAdapter {
162
223
  summary?: string | null;
163
224
  /** Folder membership — required (every workflow belongs to one folder). */
164
225
  folderId: string;
226
+ /** Opaque product attributes to persist; returned on the record as-is. */
227
+ attributes?: ResourceAttributes<'workflow'>;
165
228
  }): Promise<string>;
166
229
  /** Update an existing workflow definition. */
167
230
  updateWorkflow(id: string, data: {
@@ -173,8 +236,24 @@ export interface PersistenceAdapter {
173
236
  /** Move the workflow to another folder. */
174
237
  folderId?: string;
175
238
  }): Promise<void>;
176
- /** List folders visible to the given scope metadata. */
177
- listFolders(metadata: Record<string, unknown>): Promise<FolderRecord[]>;
239
+ /** Fetch a single folder by id (for read/mutate guards + UI gating). */
240
+ getFolder(id: string): Promise<FolderRecord | null>;
241
+ /** List folders matching the caller's `filter`. */
242
+ listFolders(filter: TFilter): Promise<FolderRecord[]>;
243
+ /**
244
+ * Every folder in the deployment, unfiltered. This is a SYSTEM integrity
245
+ * read, not a caller read — the reparent cycle check must see folders the
246
+ * caller cannot, or a hidden descendant lets the cycle through. Never
247
+ * return these rows to a caller.
248
+ */
249
+ listAllFolders(): Promise<FolderRecord[]>;
250
+ /**
251
+ * Count of workflows in a folder, unfiltered. SYSTEM integrity read: folder
252
+ * deletion is blocked while the folder holds *any* workflow, including ones
253
+ * the caller cannot see. Counting only visible rows would let a caller
254
+ * delete a folder out from under someone else's workflows.
255
+ */
256
+ countWorkflowsInFolder(folderId: string): Promise<number>;
178
257
  /** Create a folder. Returns the assigned folder ID. */
179
258
  createFolder(data: {
180
259
  id?: string;
@@ -182,6 +261,8 @@ export interface PersistenceAdapter {
182
261
  metadata: string;
183
262
  /** Parent folder ID for nesting. Null or omitted means top-level. */
184
263
  parentId?: string | null;
264
+ /** Opaque product attributes to persist; returned on the record as-is. */
265
+ attributes?: ResourceAttributes<'folder'>;
185
266
  }): Promise<string>;
186
267
  /** Update a folder (rename or reparent). */
187
268
  updateFolder(id: string, data: {
@@ -200,7 +281,12 @@ export interface PersistenceAdapter {
200
281
  }): Promise<string>;
201
282
  updateExecutionStatus(executionId: string, status: string): Promise<void>;
202
283
  getExecution(executionId: string): Promise<ExecutionRecord | null>;
203
- listExecutions(params: {
284
+ /**
285
+ * List executions visible to the caller. An execution is visible iff its
286
+ * workflow is, so `filter` is the **workflow** filter — join it through
287
+ * `workflowId` rather than authorizing executions separately.
288
+ */
289
+ listExecutions(filter: TFilter, params: {
204
290
  workflowId?: string;
205
291
  status?: string;
206
292
  limit?: number;
@@ -210,7 +296,7 @@ export interface PersistenceAdapter {
210
296
  items: ExecutionRecord[];
211
297
  nextCursor?: string;
212
298
  }>;
213
- getTopErrors?(params: {
299
+ getTopErrors?(filter: TFilter, params: {
214
300
  since?: Date;
215
301
  limit?: number;
216
302
  folderId?: string;
@@ -222,10 +308,10 @@ export interface PersistenceAdapter {
222
308
  workflowId: string;
223
309
  }>;
224
310
  }>>;
225
- getAnalyticsSummary?(params: {
311
+ /** Analytics over the caller's visible workflows — same filter, joined. */
312
+ getAnalyticsSummary?(filter: TFilter, params: {
226
313
  since: Date;
227
314
  rangeDays: number;
228
- metadata: Record<string, unknown>;
229
315
  folderId?: string;
230
316
  }): Promise<AnalyticsSummaryResult>;
231
317
  getExecutionState(executionId: string): Promise<ExecutionStateRecord | null>;
@@ -256,19 +342,34 @@ export interface PersistenceAdapter {
256
342
  data: string;
257
343
  createdAt: Date;
258
344
  }>>;
259
- resolveCredential(metadata: Record<string, unknown>, name: string): Promise<{
345
+ /** Management: create a credential (tenant carried in `attributes`). Returns its id. */
346
+ createCredential(data: {
347
+ id?: string;
348
+ name: string;
349
+ type: string;
350
+ data: Record<string, unknown>;
351
+ attributes?: ResourceAttributes<'credential'>;
352
+ }): Promise<string>;
353
+ /** Management: fetch a credential by id — never the secret `data`. */
354
+ getCredential(id: string): Promise<CredentialRecord | null>;
355
+ /** Management: list credentials matching the caller's `filter` (redacted — no secret). */
356
+ listCredentials(filter: TFilter): Promise<CredentialRecord[]>;
357
+ /** Management: delete a credential by id. */
358
+ deleteCredential(id: string): Promise<void>;
359
+ /**
360
+ * Resolution (execution path, no caller): fetch a secret for the running
361
+ * workflow by its logical `name`. `scope` is the workflow's own typed
362
+ * `attributes` — the resource carries its own security context.
363
+ */
364
+ resolveCredential(scope: ResourceAttributes<'workflow'>, name: string): Promise<{
260
365
  type: string;
261
366
  data: Record<string, unknown>;
262
367
  } | null>;
263
- listCredentials(metadata: Record<string, unknown>): Promise<Array<{
368
+ /** Resolution (execution path): the running workflow's credentials, for trigger pre-resolution. */
369
+ listTenantCredentials(scope: ResourceAttributes<'workflow'>): Promise<Array<{
264
370
  name: string;
265
371
  type: string;
266
372
  }>>;
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
373
  /** Store a webhook path+secret for a workflow. */
273
374
  storeWebhookPath(workflowId: string, path: string, secret: string): Promise<void>;
274
375
  /** 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"}