@trigora/sdk 0.6.0 → 0.8.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/README.md +25 -2
- package/dist/defineFlow.d.ts +4 -3
- package/dist/index.d.ts +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -119,6 +119,28 @@ export default defineFlow({
|
|
|
119
119
|
});
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
+
### Queue
|
|
123
|
+
|
|
124
|
+
Use queue triggers to consume workspace-scoped queue messages. Deploy auto-provisions and binds the named queue to the flow.
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
import { defineFlow } from '@trigora/sdk';
|
|
128
|
+
|
|
129
|
+
export default defineFlow({
|
|
130
|
+
id: 'process-image',
|
|
131
|
+
trigger: { type: 'queue', queue: 'image-processing' },
|
|
132
|
+
async run(event, ctx) {
|
|
133
|
+
await ctx.log.info('Processing message', {
|
|
134
|
+
queue: event.queue,
|
|
135
|
+
messageId: event.messageId,
|
|
136
|
+
payload: event.payload,
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
});
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Locally, `trigora trigger` and `trigora dev` invoke queue flows with a synthetic `QueueFlowEvent` (`messageId` starts with `local_`). Hosted runs use the real message id.
|
|
143
|
+
|
|
122
144
|
## Return Types
|
|
123
145
|
|
|
124
146
|
Return values are trigger-aware.
|
|
@@ -152,14 +174,15 @@ export default defineFlow({
|
|
|
152
174
|
});
|
|
153
175
|
```
|
|
154
176
|
|
|
155
|
-
### Manual and
|
|
177
|
+
### Manual, cron, and queue flows
|
|
156
178
|
|
|
157
|
-
Manual and
|
|
179
|
+
Manual, cron, and queue flows do not use return values. Their `run` functions are typed as `void`.
|
|
158
180
|
|
|
159
181
|
This matches how Trigora uses them:
|
|
160
182
|
|
|
161
183
|
- manual flows are invoked locally for testing and development
|
|
162
184
|
- cron flows are background-style scheduled jobs
|
|
185
|
+
- queue flows consume workspace queue messages
|
|
163
186
|
- webhook flows are request-response flows
|
|
164
187
|
|
|
165
188
|
## Event Shape
|
package/dist/defineFlow.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { CronEventPayload, CronFlowDefinition, FlowDefinition, FlowRunFn, JsonValue, ManualFlowDefinition, ManualTrigger, Trigger, WebhookTrigger, WebhookFlowDefinition, CronTrigger } from '@trigora/contracts';
|
|
1
|
+
import type { CronEventPayload, CronFlowDefinition, FlowDefinition, FlowRunFn, JsonValue, ManualFlowDefinition, ManualTrigger, QueueFlowDefinition, QueueTrigger, Trigger, WebhookTrigger, WebhookFlowDefinition, CronTrigger } from '@trigora/contracts';
|
|
2
2
|
type DefineFlowInput<TPayload, TEnv extends Record<string, string>, TTrigger extends Trigger> = {
|
|
3
3
|
id: string;
|
|
4
4
|
trigger: TTrigger;
|
|
5
|
-
run: TTrigger extends ManualTrigger ? FlowRunFn<TPayload, TEnv, ManualTrigger> : TTrigger extends WebhookTrigger ? FlowRunFn<TPayload, TEnv, WebhookTrigger> : TTrigger extends CronTrigger ? FlowRunFn<CronEventPayload, TEnv, CronTrigger> : never;
|
|
5
|
+
run: TTrigger extends ManualTrigger ? FlowRunFn<TPayload, TEnv, ManualTrigger> : TTrigger extends WebhookTrigger ? FlowRunFn<TPayload, TEnv, WebhookTrigger> : TTrigger extends CronTrigger ? FlowRunFn<CronEventPayload, TEnv, CronTrigger> : TTrigger extends QueueTrigger ? FlowRunFn<TPayload, TEnv, QueueTrigger> : never;
|
|
6
6
|
};
|
|
7
|
-
type DefineFlowOutput<TPayload, TEnv extends Record<string, string>, TTrigger extends Trigger> = TTrigger extends ManualTrigger ? ManualFlowDefinition<TPayload, TEnv> : TTrigger extends WebhookTrigger ? WebhookFlowDefinition<TPayload, TEnv> : TTrigger extends CronTrigger ? CronFlowDefinition<TEnv> : FlowDefinition<TPayload, TEnv, TTrigger>;
|
|
7
|
+
type DefineFlowOutput<TPayload, TEnv extends Record<string, string>, TTrigger extends Trigger> = TTrigger extends ManualTrigger ? ManualFlowDefinition<TPayload, TEnv> : TTrigger extends WebhookTrigger ? WebhookFlowDefinition<TPayload, TEnv> : TTrigger extends CronTrigger ? CronFlowDefinition<TEnv> : TTrigger extends QueueTrigger ? QueueFlowDefinition<TPayload, TEnv> : FlowDefinition<TPayload, TEnv, TTrigger>;
|
|
8
8
|
/**
|
|
9
9
|
* Define a Trigora flow.
|
|
10
10
|
*
|
|
@@ -43,4 +43,5 @@ export declare function defineFlow<TTrigger extends Trigger, TPayload = JsonValu
|
|
|
43
43
|
export declare function defineFlow<TPayload = JsonValue, TEnv extends Record<string, string> = Record<string, string>>(flow: ManualFlowDefinition<TPayload, TEnv>): ManualFlowDefinition<TPayload, TEnv>;
|
|
44
44
|
export declare function defineFlow<TPayload = JsonValue, TEnv extends Record<string, string> = Record<string, string>>(flow: WebhookFlowDefinition<TPayload, TEnv>): WebhookFlowDefinition<TPayload, TEnv>;
|
|
45
45
|
export declare function defineFlow<TEnv extends Record<string, string> = Record<string, string>>(flow: CronFlowDefinition<TEnv>): CronFlowDefinition<TEnv>;
|
|
46
|
+
export declare function defineFlow<TPayload = JsonValue, TEnv extends Record<string, string> = Record<string, string>>(flow: QueueFlowDefinition<TPayload, TEnv>): QueueFlowDefinition<TPayload, TEnv>;
|
|
46
47
|
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { defineFlow } from './defineFlow';
|
|
2
|
-
export type { CronEventPayload, CronFlowEvent, FlowContext, FlowDefinition, FlowEvent, FlowRunFn, JsonValue, ManualFlowEvent, Trigger, WebhookFlowEvent, WebhookFlowResult, } from '@trigora/contracts';
|
|
2
|
+
export type { CronEventPayload, CronFlowEvent, FlowContext, FlowDefinition, FlowEvent, FlowRunFn, JsonValue, ManualFlowEvent, QueueFlowEvent, Trigger, WebhookFlowEvent, WebhookFlowResult, } from '@trigora/contracts';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trigora/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/trigora-dev/trigora"
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"cli",
|
|
19
19
|
"triggers",
|
|
20
20
|
"cron",
|
|
21
|
+
"queues",
|
|
21
22
|
"webhooks"
|
|
22
23
|
],
|
|
23
24
|
"license": "MIT",
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
"access": "public"
|
|
46
47
|
},
|
|
47
48
|
"dependencies": {
|
|
48
|
-
"@trigora/contracts": "0.
|
|
49
|
+
"@trigora/contracts": "0.8.1"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
51
52
|
"tsup": "^8.5.1"
|