@voltro/plugin-ai-flows 0.28.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +655 -0
- package/THIRD-PARTY-NOTICES.md +87 -1
- package/dist/index.d.ts +61 -57
- package/dist/ir.d.ts +59 -2
- package/dist/web.d.ts +90 -2
- package/dist/workflow.d.ts +6 -1
- package/package.json +10 -10
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -5,7 +5,7 @@ property of its respective copyright holders and is used under the terms of
|
|
|
5
5
|
its license. This file is provided for attribution; it grants no rights in
|
|
6
6
|
@voltro/plugin-ai-flows itself, which is proprietary (see LICENSE).
|
|
7
7
|
|
|
8
|
-
Generated from the resolved runtime dependency closure (
|
|
8
|
+
Generated from the resolved runtime dependency closure (63 packages).
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -4336,6 +4336,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
4336
4336
|
THE SOFTWARE.
|
|
4337
4337
|
```
|
|
4338
4338
|
|
|
4339
|
+
## isomorphic.js@0.2.5
|
|
4340
|
+
|
|
4341
|
+
License: MIT
|
|
4342
|
+
|
|
4343
|
+
```
|
|
4344
|
+
The MIT License (MIT)
|
|
4345
|
+
|
|
4346
|
+
Copyright (c) 2020 Kevin Jahns <kevin.jahns@protonmail.com>.
|
|
4347
|
+
|
|
4348
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4349
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
4350
|
+
in the Software without restriction, including without limitation the rights
|
|
4351
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
4352
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
4353
|
+
furnished to do so, subject to the following conditions:
|
|
4354
|
+
|
|
4355
|
+
The above copyright notice and this permission notice shall be included in all
|
|
4356
|
+
copies or substantial portions of the Software.
|
|
4357
|
+
|
|
4358
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
4359
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
4360
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
4361
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
4362
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
4363
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
4364
|
+
SOFTWARE.
|
|
4365
|
+
```
|
|
4366
|
+
|
|
4339
4367
|
## jose@6.2.4
|
|
4340
4368
|
|
|
4341
4369
|
License: MIT
|
|
@@ -4600,6 +4628,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
4600
4628
|
SOFTWARE.
|
|
4601
4629
|
```
|
|
4602
4630
|
|
|
4631
|
+
## lib0@0.2.117
|
|
4632
|
+
|
|
4633
|
+
License: MIT
|
|
4634
|
+
|
|
4635
|
+
```
|
|
4636
|
+
The MIT License (MIT)
|
|
4637
|
+
|
|
4638
|
+
Copyright (c) 2019 Kevin Jahns <kevin.jahns@protonmail.com>.
|
|
4639
|
+
|
|
4640
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4641
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
4642
|
+
in the Software without restriction, including without limitation the rights
|
|
4643
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
4644
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
4645
|
+
furnished to do so, subject to the following conditions:
|
|
4646
|
+
|
|
4647
|
+
The above copyright notice and this permission notice shall be included in all
|
|
4648
|
+
copies or substantial portions of the Software.
|
|
4649
|
+
|
|
4650
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
4651
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
4652
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
4653
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
4654
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
4655
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
4656
|
+
SOFTWARE.
|
|
4657
|
+
```
|
|
4658
|
+
|
|
4603
4659
|
## mime@3.0.0
|
|
4604
4660
|
|
|
4605
4661
|
License: MIT
|
|
@@ -5148,3 +5204,33 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
|
5148
5204
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
5149
5205
|
```
|
|
5150
5206
|
|
|
5207
|
+
## yjs@13.6.31
|
|
5208
|
+
|
|
5209
|
+
License: MIT
|
|
5210
|
+
|
|
5211
|
+
```
|
|
5212
|
+
The MIT License (MIT)
|
|
5213
|
+
|
|
5214
|
+
Copyright (c) 2023
|
|
5215
|
+
- Kevin Jahns <kevin.jahns@protonmail.com>.
|
|
5216
|
+
- Chair of Computer Science 5 (Databases & Information Systems), RWTH Aachen University, Germany
|
|
5217
|
+
|
|
5218
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5219
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5220
|
+
in the Software without restriction, including without limitation the rights
|
|
5221
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
5222
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
5223
|
+
furnished to do so, subject to the following conditions:
|
|
5224
|
+
|
|
5225
|
+
The above copyright notice and this permission notice shall be included in all
|
|
5226
|
+
copies or substantial portions of the Software.
|
|
5227
|
+
|
|
5228
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
5229
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
5230
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
5231
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
5232
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
5233
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
5234
|
+
SOFTWARE.
|
|
5235
|
+
```
|
|
5236
|
+
|
package/dist/index.d.ts
CHANGED
|
@@ -38,30 +38,7 @@ export declare const aiFlowRunsTable: Table<"_voltro_ai_flow_runs", FieldDefinit
|
|
|
38
38
|
/** The result bundle: `outputKey → value` (what the UI's result dialog reads). */
|
|
39
39
|
readonly output: ColumnBuilder<Record<string, unknown> | null, "json", boolean>;
|
|
40
40
|
/** Live per-step timeline (`RunStep[]`); the engine writes it on every step. */
|
|
41
|
-
readonly steps: ColumnBuilder<readonly
|
|
42
|
-
readonly id: number;
|
|
43
|
-
readonly url?: string | undefined;
|
|
44
|
-
readonly type: "generate" | "agent" | "structured" | "note" | "human";
|
|
45
|
-
readonly description?: string | undefined;
|
|
46
|
-
readonly status: "failed" | "running" | "succeeded" | "pending" | "waiting";
|
|
47
|
-
readonly errorMessage?: string | undefined;
|
|
48
|
-
readonly output?: {
|
|
49
|
-
readonly text: string;
|
|
50
|
-
} | undefined;
|
|
51
|
-
readonly startedAt?: string | undefined;
|
|
52
|
-
readonly completedAt?: string | undefined;
|
|
53
|
-
readonly title: string;
|
|
54
|
-
readonly costMicroUsd?: number | undefined;
|
|
55
|
-
readonly requestId?: string | undefined;
|
|
56
|
-
readonly review?: {
|
|
57
|
-
readonly prompt: string;
|
|
58
|
-
readonly options?: readonly {
|
|
59
|
-
readonly value: string;
|
|
60
|
-
readonly label: string;
|
|
61
|
-
}[] | undefined;
|
|
62
|
-
readonly mode: "text" | "approve" | "choice";
|
|
63
|
-
} | undefined;
|
|
64
|
-
}[] | null, "json", boolean>;
|
|
41
|
+
readonly steps: ColumnBuilder<readonly RunStep[] | null, "json", boolean>;
|
|
65
42
|
readonly currentStep: ColumnBuilder<number, "integer", true>;
|
|
66
43
|
readonly totalSteps: ColumnBuilder<number, "integer", true>;
|
|
67
44
|
/** The HITL answer, written by `respond`. */
|
|
@@ -136,37 +113,7 @@ export declare const aiFlowsTable: Table<"_voltro_ai_flows", FieldDefinitions<{
|
|
|
136
113
|
/** Agentic loop bound; clamped [1,100] at run (default 30). */
|
|
137
114
|
readonly maxSteps: ColumnBuilder<number, "integer", true>;
|
|
138
115
|
/** The ordered plan (`FlowStep[]`); null ≡ empty. */
|
|
139
|
-
readonly steps: ColumnBuilder<readonly
|
|
140
|
-
readonly id: string;
|
|
141
|
-
readonly type: "generate" | "agent" | "structured" | "note" | "human";
|
|
142
|
-
readonly description?: string | undefined;
|
|
143
|
-
readonly outputKey?: string | undefined;
|
|
144
|
-
readonly schema?: {
|
|
145
|
-
readonly [x: string]: unknown;
|
|
146
|
-
} | undefined;
|
|
147
|
-
readonly title?: string | undefined;
|
|
148
|
-
readonly prompt?: string | undefined;
|
|
149
|
-
readonly modality?: "text" | "image" | "video" | "audio" | undefined;
|
|
150
|
-
readonly model?: string | undefined;
|
|
151
|
-
readonly params?: {
|
|
152
|
-
readonly [x: string]: unknown;
|
|
153
|
-
} | undefined;
|
|
154
|
-
readonly mediaInputs?: {
|
|
155
|
-
readonly [x: string]: {
|
|
156
|
-
readonly from: "upload";
|
|
157
|
-
readonly url: string;
|
|
158
|
-
} | {
|
|
159
|
-
readonly from: "step";
|
|
160
|
-
readonly ref: string;
|
|
161
|
-
};
|
|
162
|
-
} | undefined;
|
|
163
|
-
readonly agentRef?: string | undefined;
|
|
164
|
-
readonly reviewMode?: "text" | "approve" | "choice" | undefined;
|
|
165
|
-
readonly options?: readonly {
|
|
166
|
-
readonly value: string;
|
|
167
|
-
readonly label: string;
|
|
168
|
-
}[] | undefined;
|
|
169
|
-
}[] | null, "json", boolean>;
|
|
116
|
+
readonly steps: ColumnBuilder<readonly FlowStep[] | null, "json", boolean>;
|
|
170
117
|
/** The launch-form brief (`BriefField[]`). */
|
|
171
118
|
readonly inputSchema: ColumnBuilder<readonly {
|
|
172
119
|
readonly key: string;
|
|
@@ -534,7 +481,45 @@ export declare const FlowStep: Schema.Struct<{
|
|
|
534
481
|
}>>>;
|
|
535
482
|
}>;
|
|
536
483
|
|
|
537
|
-
|
|
484
|
+
/**
|
|
485
|
+
* An INTERFACE, not `typeof FlowStep.Type` — and the difference is load-bearing
|
|
486
|
+
* for the published API report rather than for any consumer.
|
|
487
|
+
*
|
|
488
|
+
* `type X = typeof Schema.Type` is an alias to a MAPPED type, and TypeScript's
|
|
489
|
+
* declaration emit expands an alias like that structurally instead of printing
|
|
490
|
+
* its name. This type is reached from an exported table
|
|
491
|
+
* (`aiFlows.steps: json<ReadonlyArray<FlowStep>>()`), so the whole 60-line
|
|
492
|
+
* expansion landed inline in `etc/plugin-ai-flows.api.md` — and the ORDER of
|
|
493
|
+
* those members is not stable: a full-monorepo `turbo build` and a
|
|
494
|
+
* single-package `--force` build emit `params` and `schema` (structurally
|
|
495
|
+
* identical, both `Schema.optional(Json)`) in different positions.
|
|
496
|
+
*
|
|
497
|
+
* That made the api-report drift gate reject a push over a file nobody had
|
|
498
|
+
* touched, with a diff showing the same member moving. Committing either order
|
|
499
|
+
* is a coin flip that the next build with a different scope undoes — and CI
|
|
500
|
+
* builds a different scope than a dev machine does.
|
|
501
|
+
*
|
|
502
|
+
* An `interface` is a real declaration TypeScript prints BY NAME, so the report
|
|
503
|
+
* says `ColumnBuilder<readonly FlowStep[]>` and cannot churn. The `Equals` pin
|
|
504
|
+
* below makes a divergence between this and the schema a compile error, so the
|
|
505
|
+
* hand-written shape cannot drift from the runtime one.
|
|
506
|
+
*/
|
|
507
|
+
export declare interface FlowStep {
|
|
508
|
+
readonly id: string;
|
|
509
|
+
readonly title?: string | undefined;
|
|
510
|
+
readonly description?: string | undefined;
|
|
511
|
+
readonly type: StepType;
|
|
512
|
+
readonly outputKey?: string | undefined;
|
|
513
|
+
readonly prompt?: string | undefined;
|
|
514
|
+
readonly modality?: Modality | undefined;
|
|
515
|
+
readonly model?: string | undefined;
|
|
516
|
+
readonly params?: Json | undefined;
|
|
517
|
+
readonly mediaInputs?: MediaInputs | undefined;
|
|
518
|
+
readonly agentRef?: string | undefined;
|
|
519
|
+
readonly schema?: Json | undefined;
|
|
520
|
+
readonly reviewMode?: ReviewMode | undefined;
|
|
521
|
+
readonly options?: ReadonlyArray<ReviewOption> | undefined;
|
|
522
|
+
}
|
|
538
523
|
|
|
539
524
|
/** Typed builders for each step kind — terser + safer than hand-writing the
|
|
540
525
|
* union. Every builder returns a draft; `defineFlow` assigns the id. */
|
|
@@ -858,7 +843,26 @@ export declare const RunStep: Schema.Struct<{
|
|
|
858
843
|
}>>;
|
|
859
844
|
}>;
|
|
860
845
|
|
|
861
|
-
|
|
846
|
+
/** An interface for the same reason as {@link FlowStep} — it is reached from
|
|
847
|
+
* an exported table (`aiFlowRuns.steps`), so an alias would be expanded
|
|
848
|
+
* structurally into the api report and churn with build scope. */
|
|
849
|
+
export declare interface RunStep {
|
|
850
|
+
readonly id: number;
|
|
851
|
+
readonly title: string;
|
|
852
|
+
readonly description?: string | undefined;
|
|
853
|
+
readonly type: StepType;
|
|
854
|
+
readonly status: RunStepStatus;
|
|
855
|
+
readonly startedAt?: string | undefined;
|
|
856
|
+
readonly completedAt?: string | undefined;
|
|
857
|
+
readonly costMicroUsd?: number | undefined;
|
|
858
|
+
readonly requestId?: string | undefined;
|
|
859
|
+
readonly url?: string | undefined;
|
|
860
|
+
readonly output?: {
|
|
861
|
+
readonly text: string;
|
|
862
|
+
} | undefined;
|
|
863
|
+
readonly errorMessage?: string | undefined;
|
|
864
|
+
readonly review?: RunReview | undefined;
|
|
865
|
+
}
|
|
862
866
|
|
|
863
867
|
export declare const RunStepStatus: Schema.Literal<["pending", "running", "waiting", "succeeded", "failed"]>;
|
|
864
868
|
|
package/dist/ir.d.ts
CHANGED
|
@@ -134,7 +134,45 @@ export declare const FlowStep: Schema.Struct<{
|
|
|
134
134
|
}>>>;
|
|
135
135
|
}>;
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
/**
|
|
138
|
+
* An INTERFACE, not `typeof FlowStep.Type` — and the difference is load-bearing
|
|
139
|
+
* for the published API report rather than for any consumer.
|
|
140
|
+
*
|
|
141
|
+
* `type X = typeof Schema.Type` is an alias to a MAPPED type, and TypeScript's
|
|
142
|
+
* declaration emit expands an alias like that structurally instead of printing
|
|
143
|
+
* its name. This type is reached from an exported table
|
|
144
|
+
* (`aiFlows.steps: json<ReadonlyArray<FlowStep>>()`), so the whole 60-line
|
|
145
|
+
* expansion landed inline in `etc/plugin-ai-flows.api.md` — and the ORDER of
|
|
146
|
+
* those members is not stable: a full-monorepo `turbo build` and a
|
|
147
|
+
* single-package `--force` build emit `params` and `schema` (structurally
|
|
148
|
+
* identical, both `Schema.optional(Json)`) in different positions.
|
|
149
|
+
*
|
|
150
|
+
* That made the api-report drift gate reject a push over a file nobody had
|
|
151
|
+
* touched, with a diff showing the same member moving. Committing either order
|
|
152
|
+
* is a coin flip that the next build with a different scope undoes — and CI
|
|
153
|
+
* builds a different scope than a dev machine does.
|
|
154
|
+
*
|
|
155
|
+
* An `interface` is a real declaration TypeScript prints BY NAME, so the report
|
|
156
|
+
* says `ColumnBuilder<readonly FlowStep[]>` and cannot churn. The `Equals` pin
|
|
157
|
+
* below makes a divergence between this and the schema a compile error, so the
|
|
158
|
+
* hand-written shape cannot drift from the runtime one.
|
|
159
|
+
*/
|
|
160
|
+
export declare interface FlowStep {
|
|
161
|
+
readonly id: string;
|
|
162
|
+
readonly title?: string | undefined;
|
|
163
|
+
readonly description?: string | undefined;
|
|
164
|
+
readonly type: StepType;
|
|
165
|
+
readonly outputKey?: string | undefined;
|
|
166
|
+
readonly prompt?: string | undefined;
|
|
167
|
+
readonly modality?: Modality | undefined;
|
|
168
|
+
readonly model?: string | undefined;
|
|
169
|
+
readonly params?: Json | undefined;
|
|
170
|
+
readonly mediaInputs?: MediaInputs | undefined;
|
|
171
|
+
readonly agentRef?: string | undefined;
|
|
172
|
+
readonly schema?: Json | undefined;
|
|
173
|
+
readonly reviewMode?: ReviewMode | undefined;
|
|
174
|
+
readonly options?: ReadonlyArray<ReviewOption> | undefined;
|
|
175
|
+
}
|
|
138
176
|
|
|
139
177
|
/** The HITL answer, written by `respond`. */
|
|
140
178
|
export declare const HumanResponse: Schema.Struct<{
|
|
@@ -257,7 +295,26 @@ export declare const RunStep: Schema.Struct<{
|
|
|
257
295
|
}>>;
|
|
258
296
|
}>;
|
|
259
297
|
|
|
260
|
-
|
|
298
|
+
/** An interface for the same reason as {@link FlowStep} — it is reached from
|
|
299
|
+
* an exported table (`aiFlowRuns.steps`), so an alias would be expanded
|
|
300
|
+
* structurally into the api report and churn with build scope. */
|
|
301
|
+
export declare interface RunStep {
|
|
302
|
+
readonly id: number;
|
|
303
|
+
readonly title: string;
|
|
304
|
+
readonly description?: string | undefined;
|
|
305
|
+
readonly type: StepType;
|
|
306
|
+
readonly status: RunStepStatus;
|
|
307
|
+
readonly startedAt?: string | undefined;
|
|
308
|
+
readonly completedAt?: string | undefined;
|
|
309
|
+
readonly costMicroUsd?: number | undefined;
|
|
310
|
+
readonly requestId?: string | undefined;
|
|
311
|
+
readonly url?: string | undefined;
|
|
312
|
+
readonly output?: {
|
|
313
|
+
readonly text: string;
|
|
314
|
+
} | undefined;
|
|
315
|
+
readonly errorMessage?: string | undefined;
|
|
316
|
+
readonly review?: RunReview | undefined;
|
|
317
|
+
}
|
|
261
318
|
|
|
262
319
|
export declare const RunStepStatus: Schema.Literal<["pending", "running", "waiting", "succeeded", "failed"]>;
|
|
263
320
|
|
package/dist/web.d.ts
CHANGED
|
@@ -101,7 +101,60 @@ export declare const FlowStep: Schema.Struct<{
|
|
|
101
101
|
}>>>;
|
|
102
102
|
}>;
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
/**
|
|
105
|
+
* An INTERFACE, not `typeof FlowStep.Type` — and the difference is load-bearing
|
|
106
|
+
* for the published API report rather than for any consumer.
|
|
107
|
+
*
|
|
108
|
+
* `type X = typeof Schema.Type` is an alias to a MAPPED type, and TypeScript's
|
|
109
|
+
* declaration emit expands an alias like that structurally instead of printing
|
|
110
|
+
* its name. This type is reached from an exported table
|
|
111
|
+
* (`aiFlows.steps: json<ReadonlyArray<FlowStep>>()`), so the whole 60-line
|
|
112
|
+
* expansion landed inline in `etc/plugin-ai-flows.api.md` — and the ORDER of
|
|
113
|
+
* those members is not stable: a full-monorepo `turbo build` and a
|
|
114
|
+
* single-package `--force` build emit `params` and `schema` (structurally
|
|
115
|
+
* identical, both `Schema.optional(Json)`) in different positions.
|
|
116
|
+
*
|
|
117
|
+
* That made the api-report drift gate reject a push over a file nobody had
|
|
118
|
+
* touched, with a diff showing the same member moving. Committing either order
|
|
119
|
+
* is a coin flip that the next build with a different scope undoes — and CI
|
|
120
|
+
* builds a different scope than a dev machine does.
|
|
121
|
+
*
|
|
122
|
+
* An `interface` is a real declaration TypeScript prints BY NAME, so the report
|
|
123
|
+
* says `ColumnBuilder<readonly FlowStep[]>` and cannot churn. The `Equals` pin
|
|
124
|
+
* below makes a divergence between this and the schema a compile error, so the
|
|
125
|
+
* hand-written shape cannot drift from the runtime one.
|
|
126
|
+
*/
|
|
127
|
+
export declare interface FlowStep {
|
|
128
|
+
readonly id: string;
|
|
129
|
+
readonly title?: string | undefined;
|
|
130
|
+
readonly description?: string | undefined;
|
|
131
|
+
readonly type: StepType;
|
|
132
|
+
readonly outputKey?: string | undefined;
|
|
133
|
+
readonly prompt?: string | undefined;
|
|
134
|
+
readonly modality?: Modality | undefined;
|
|
135
|
+
readonly model?: string | undefined;
|
|
136
|
+
readonly params?: Json | undefined;
|
|
137
|
+
readonly mediaInputs?: MediaInputs | undefined;
|
|
138
|
+
readonly agentRef?: string | undefined;
|
|
139
|
+
readonly schema?: Json | undefined;
|
|
140
|
+
readonly reviewMode?: ReviewMode | undefined;
|
|
141
|
+
readonly options?: ReadonlyArray<ReviewOption> | undefined;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/** A JSON value (for `params` / `input` / a `structured` step's JSON Schema). */
|
|
145
|
+
declare const Json: Schema.Record$<typeof Schema.String, typeof Schema.Unknown>;
|
|
146
|
+
|
|
147
|
+
declare type Json = typeof Json.Type;
|
|
148
|
+
|
|
149
|
+
declare const MediaInputs: Schema.Record$<typeof Schema.String, Schema.Union<[Schema.Struct<{
|
|
150
|
+
from: Schema.Literal<["upload"]>;
|
|
151
|
+
url: typeof Schema.String;
|
|
152
|
+
}>, Schema.Struct<{
|
|
153
|
+
from: Schema.Literal<["step"]>;
|
|
154
|
+
ref: typeof Schema.String;
|
|
155
|
+
}>]>>;
|
|
156
|
+
|
|
157
|
+
declare type MediaInputs = typeof MediaInputs.Type;
|
|
105
158
|
|
|
106
159
|
export declare const Modality: Schema.Literal<["text", "image", "video", "audio"]>;
|
|
107
160
|
|
|
@@ -125,6 +178,18 @@ export declare const ReviewOption: Schema.Struct<{
|
|
|
125
178
|
|
|
126
179
|
export declare type ReviewOption = typeof ReviewOption.Type;
|
|
127
180
|
|
|
181
|
+
/** Human-review config projected onto a `waiting` run step. */
|
|
182
|
+
declare const RunReview: Schema.Struct<{
|
|
183
|
+
mode: Schema.Literal<["approve", "choice", "text"]>;
|
|
184
|
+
options: Schema.optional<Schema.Array$<Schema.Struct<{
|
|
185
|
+
value: typeof Schema.String;
|
|
186
|
+
label: typeof Schema.String;
|
|
187
|
+
}>>>;
|
|
188
|
+
prompt: typeof Schema.String;
|
|
189
|
+
}>;
|
|
190
|
+
|
|
191
|
+
declare type RunReview = typeof RunReview.Type;
|
|
192
|
+
|
|
128
193
|
/** Run status — ONE canonical set (the legacy vocabulary; the Voltro-port
|
|
129
194
|
* additions `awaiting_human`/`completed`/`rejected` are collapsed: `waiting`
|
|
130
195
|
* covers the human pause, `succeeded` is the single terminal-success literal). */
|
|
@@ -161,7 +226,30 @@ export declare const RunStep: Schema.Struct<{
|
|
|
161
226
|
}>>;
|
|
162
227
|
}>;
|
|
163
228
|
|
|
164
|
-
|
|
229
|
+
/** An interface for the same reason as {@link FlowStep} — it is reached from
|
|
230
|
+
* an exported table (`aiFlowRuns.steps`), so an alias would be expanded
|
|
231
|
+
* structurally into the api report and churn with build scope. */
|
|
232
|
+
export declare interface RunStep {
|
|
233
|
+
readonly id: number;
|
|
234
|
+
readonly title: string;
|
|
235
|
+
readonly description?: string | undefined;
|
|
236
|
+
readonly type: StepType;
|
|
237
|
+
readonly status: RunStepStatus;
|
|
238
|
+
readonly startedAt?: string | undefined;
|
|
239
|
+
readonly completedAt?: string | undefined;
|
|
240
|
+
readonly costMicroUsd?: number | undefined;
|
|
241
|
+
readonly requestId?: string | undefined;
|
|
242
|
+
readonly url?: string | undefined;
|
|
243
|
+
readonly output?: {
|
|
244
|
+
readonly text: string;
|
|
245
|
+
} | undefined;
|
|
246
|
+
readonly errorMessage?: string | undefined;
|
|
247
|
+
readonly review?: RunReview | undefined;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
declare const RunStepStatus: Schema.Literal<["pending", "running", "waiting", "succeeded", "failed"]>;
|
|
251
|
+
|
|
252
|
+
declare type RunStepStatus = typeof RunStepStatus.Type;
|
|
165
253
|
|
|
166
254
|
/** The five step types. `generate` fans out to four modalities. */
|
|
167
255
|
export declare const StepType: Schema.Literal<["agent", "generate", "structured", "note", "human"]>;
|
package/dist/workflow.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
2
|
import { Workflow } from '@effect/workflow/Workflow';
|
|
3
|
+
import { WorkflowMessagesCarrier } from '@voltro/workflow';
|
|
3
4
|
|
|
4
5
|
/** The canonical name the launch action starts + the app re-export registers. */
|
|
5
6
|
export declare const FLOW_RUN_WORKFLOW = "flow.run";
|
|
@@ -32,7 +33,11 @@ export declare const flowRunWorkflow: Workflow<"flow.run", Schema.Struct<{
|
|
|
32
33
|
}>, Schema.Struct<{
|
|
33
34
|
runId: typeof Schema.String;
|
|
34
35
|
status: Schema.Literal<["succeeded", "failed", "cancelled", "waiting"]>;
|
|
35
|
-
}>, typeof Schema.Never
|
|
36
|
+
}>, typeof Schema.Never> & WorkflowMessagesCarrier<{
|
|
37
|
+
readonly signals: {};
|
|
38
|
+
readonly updates: {};
|
|
39
|
+
readonly queries: {};
|
|
40
|
+
}>;
|
|
36
41
|
|
|
37
42
|
/** The signal a `human` step parks on; `respondToFlow` sends it to resume. */
|
|
38
43
|
export declare const HUMAN_RESPONSE_SIGNAL = "flow-human-response";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voltro/plugin-ai-flows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "AI Flows — durable multi-step AI pipelines (deterministic + agentic) with human-in-the-loop, chaining, and cadence. Author flows in code (defineFlow) or as data (visual editor rows); one engine runs both on @voltro/workflow durability, @voltro/ai generation, storage artifacts, and notifications.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"voltro",
|
|
@@ -57,15 +57,15 @@
|
|
|
57
57
|
"node": ">=24.0.0"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@voltro/ai": "0.
|
|
61
|
-
"@voltro/database": "0.
|
|
62
|
-
"@voltro/env": "0.
|
|
63
|
-
"@voltro/plugin-audit": "0.
|
|
64
|
-
"@voltro/plugin-multitenancy": "0.
|
|
65
|
-
"@voltro/plugin-soft-delete": "0.
|
|
66
|
-
"@voltro/protocol": "0.
|
|
67
|
-
"@voltro/runtime": "0.
|
|
68
|
-
"@voltro/workflow": "0.
|
|
60
|
+
"@voltro/ai": "0.30.0",
|
|
61
|
+
"@voltro/database": "0.30.0",
|
|
62
|
+
"@voltro/env": "0.30.0",
|
|
63
|
+
"@voltro/plugin-audit": "0.30.0",
|
|
64
|
+
"@voltro/plugin-multitenancy": "0.30.0",
|
|
65
|
+
"@voltro/plugin-soft-delete": "0.30.0",
|
|
66
|
+
"@voltro/protocol": "0.30.0",
|
|
67
|
+
"@voltro/runtime": "0.30.0",
|
|
68
|
+
"@voltro/workflow": "0.30.0"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"effect": "^3.22.0"
|