@nvent-addon/app 0.4.5 → 0.5.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.
- package/dist/module.d.mts +19 -1
- package/dist/module.mjs +20 -8
- package/dist/runtime/app/components/{nhealth/component-router.d.vue.ts → ComponentRouter.d.vue.ts} +1 -5
- package/dist/runtime/app/components/{nhealth/component-router.vue.d.ts → ComponentRouter.vue.d.ts} +1 -5
- package/dist/runtime/app/components/{nhealth/component-shell.d.vue.ts → ComponentShell.d.vue.ts} +4 -9
- package/dist/runtime/app/components/ComponentShell.vue +87 -0
- package/dist/runtime/app/components/{nhealth/component-shell.vue.d.ts → ComponentShell.vue.d.ts} +4 -9
- package/dist/runtime/app/components/ConfirmDialog.d.vue.ts +1 -6
- package/dist/runtime/app/components/ConfirmDialog.vue.d.ts +1 -6
- package/dist/runtime/app/components/ListItem.d.vue.ts +3 -6
- package/dist/runtime/app/components/ListItem.vue.d.ts +3 -6
- package/dist/runtime/app/components/LiveIndicator.d.vue.ts +7 -0
- package/dist/runtime/app/components/LiveIndicator.vue +30 -0
- package/dist/runtime/app/components/LiveIndicator.vue.d.ts +7 -0
- package/dist/runtime/app/components/{QueueConfigDetails.d.vue.ts → QueueConfiguration.d.vue.ts} +1 -10
- package/dist/runtime/app/components/QueueConfiguration.vue +387 -0
- package/dist/runtime/app/components/{QueueConfigDetails.vue.d.ts → QueueConfiguration.vue.d.ts} +1 -10
- package/dist/runtime/app/components/StatCard.d.vue.ts +9 -0
- package/dist/runtime/app/components/StatCard.vue +57 -0
- package/dist/runtime/app/components/StatCard.vue.d.ts +9 -0
- package/dist/runtime/app/components/TimelineList.vue +67 -0
- package/dist/runtime/app/components/flow/AwaitNode.d.vue.ts +18 -0
- package/dist/runtime/app/components/flow/AwaitNode.vue +91 -0
- package/dist/runtime/app/components/flow/AwaitNode.vue.d.ts +18 -0
- package/dist/runtime/app/components/{FlowDiagram.d.vue.ts → flow/Diagram.d.vue.ts} +12 -1
- package/dist/runtime/app/components/{FlowDiagram.vue → flow/Diagram.vue} +92 -11
- package/dist/runtime/app/components/{FlowDiagram.vue.d.ts → flow/Diagram.vue.d.ts} +12 -1
- package/dist/runtime/app/components/{FlowRunOverview.d.vue.ts → flow/RunOverview.d.vue.ts} +3 -0
- package/dist/runtime/app/components/{FlowRunOverview.vue → flow/RunOverview.vue} +94 -8
- package/dist/runtime/app/components/{FlowRunOverview.vue.d.ts → flow/RunOverview.vue.d.ts} +3 -0
- package/dist/runtime/app/components/{FlowRunStatusBadge.d.vue.ts → flow/RunStatusBadge.d.vue.ts} +2 -8
- package/dist/runtime/app/components/{FlowRunStatusBadge.vue → flow/RunStatusBadge.vue} +8 -1
- package/dist/runtime/app/components/{FlowRunStatusBadge.vue.d.ts → flow/RunStatusBadge.vue.d.ts} +2 -8
- package/dist/runtime/app/components/{FlowRunTimeline.vue → flow/RunTimeline.vue} +1 -1
- package/dist/runtime/app/components/{FlowStepSelector.d.vue.ts → flow/StepSelector.d.vue.ts} +1 -0
- package/dist/runtime/app/components/flow/StepSelector.vue +553 -0
- package/dist/runtime/app/components/{FlowStepSelector.vue.d.ts → flow/StepSelector.vue.d.ts} +1 -0
- package/dist/runtime/app/components/trigger/BasicInfoCard.d.vue.ts +33 -0
- package/dist/runtime/app/components/trigger/BasicInfoCard.vue +168 -0
- package/dist/runtime/app/components/trigger/BasicInfoCard.vue.d.ts +33 -0
- package/dist/runtime/app/components/{FlowSchedulesList.d.vue.ts → trigger/DangerZone.d.vue.ts} +4 -6
- package/dist/runtime/app/components/trigger/DangerZone.vue +46 -0
- package/dist/runtime/app/components/{FlowSchedulesList.vue.d.ts → trigger/DangerZone.vue.d.ts} +4 -6
- package/dist/runtime/app/components/trigger/EditHeader.d.vue.ts +15 -0
- package/dist/runtime/app/components/trigger/EditHeader.vue +55 -0
- package/dist/runtime/app/components/trigger/EditHeader.vue.d.ts +15 -0
- package/dist/runtime/app/components/trigger/EventConfig.d.vue.ts +24 -0
- package/dist/runtime/app/components/trigger/EventConfig.vue +68 -0
- package/dist/runtime/app/components/trigger/EventConfig.vue.d.ts +24 -0
- package/dist/runtime/app/components/trigger/FlowSubscriptions.d.vue.ts +14 -0
- package/dist/runtime/app/components/trigger/FlowSubscriptions.vue +128 -0
- package/dist/runtime/app/components/trigger/FlowSubscriptions.vue.d.ts +14 -0
- package/dist/runtime/app/components/trigger/ScheduleConfig.d.vue.ts +27 -0
- package/dist/runtime/app/components/trigger/ScheduleConfig.vue +375 -0
- package/dist/runtime/app/components/trigger/ScheduleConfig.vue.d.ts +27 -0
- package/dist/runtime/app/components/{FlowScheduleDialog.d.vue.ts → trigger/StatusConfig.d.vue.ts} +6 -6
- package/dist/runtime/app/components/trigger/StatusConfig.vue +78 -0
- package/dist/runtime/app/components/{FlowScheduleDialog.vue.d.ts → trigger/StatusConfig.vue.d.ts} +6 -6
- package/dist/runtime/app/components/trigger/WebhookConfig.d.vue.ts +30 -0
- package/dist/runtime/app/components/trigger/WebhookConfig.vue +97 -0
- package/dist/runtime/app/components/trigger/WebhookConfig.vue.d.ts +30 -0
- package/dist/runtime/app/composables/useAnalyzedFlows.d.ts +5 -0
- package/dist/runtime/app/composables/useAnalyzedFlows.js +15 -1
- package/dist/runtime/app/composables/useComponentRouter.d.ts +8 -0
- package/dist/runtime/app/composables/useComponentRouter.js +10 -2
- package/dist/runtime/app/composables/useFlowRunsInfinite.d.ts +1 -1
- package/dist/runtime/app/composables/useFlowState.js +65 -0
- package/dist/runtime/app/composables/useFlowWebSocket.d.ts +11 -2
- package/dist/runtime/app/composables/useFlowWebSocket.js +181 -65
- package/dist/runtime/app/composables/useQueueJobs.d.ts +12 -1
- package/dist/runtime/app/composables/useQueueJobs.js +13 -7
- package/dist/runtime/app/composables/useTrigger.d.ts +137 -0
- package/dist/runtime/app/composables/useTrigger.js +116 -0
- package/dist/runtime/app/composables/useTriggerWebSocket.d.ts +35 -0
- package/dist/runtime/app/composables/useTriggerWebSocket.js +333 -0
- package/dist/runtime/app/pages/dashboard.d.vue.ts +3 -0
- package/dist/runtime/app/pages/dashboard.vue +738 -0
- package/dist/runtime/app/pages/dashboard.vue.d.ts +3 -0
- package/dist/runtime/app/pages/flows/[name].d.vue.ts +3 -0
- package/dist/runtime/app/pages/flows/[name].vue +680 -0
- package/dist/runtime/app/pages/flows/[name].vue.d.ts +3 -0
- package/dist/runtime/app/pages/flows/index.vue +321 -620
- package/dist/runtime/app/pages/index.vue +39 -9
- package/dist/runtime/app/pages/queues/index.vue +202 -194
- package/dist/runtime/app/pages/queues/jobs.vue +534 -207
- package/dist/runtime/app/pages/settings/scheduler.d.vue.ts +3 -0
- package/dist/runtime/app/pages/settings/scheduler.vue +310 -0
- package/dist/runtime/app/pages/settings/scheduler.vue.d.ts +3 -0
- package/dist/runtime/app/pages/triggers/[name]/edit.d.vue.ts +3 -0
- package/dist/runtime/app/pages/triggers/[name]/edit.vue +429 -0
- package/dist/runtime/app/pages/triggers/[name]/edit.vue.d.ts +3 -0
- package/dist/runtime/app/pages/triggers/[name].d.vue.ts +3 -0
- package/dist/runtime/app/pages/triggers/[name].vue +898 -0
- package/dist/runtime/app/pages/triggers/[name].vue.d.ts +3 -0
- package/dist/runtime/app/pages/triggers/index.d.vue.ts +3 -0
- package/dist/runtime/app/pages/triggers/index.vue +528 -0
- package/dist/runtime/app/pages/triggers/index.vue.d.ts +3 -0
- package/dist/runtime/app/pages/triggers/new.d.vue.ts +3 -0
- package/dist/runtime/app/pages/triggers/new.vue +610 -0
- package/dist/runtime/app/pages/triggers/new.vue.d.ts +3 -0
- package/dist/runtime/server/api/_flows/[name]/clear-history.delete.d.ts +10 -0
- package/dist/runtime/server/api/_flows/[name]/clear-history.delete.js +49 -0
- package/dist/runtime/server/api/_flows/[name]/runs/[runId]/cancel.post.d.ts +2 -0
- package/dist/runtime/server/api/_flows/[name]/runs/[runId]/cancel.post.js +21 -0
- package/dist/runtime/server/api/_flows/[name]/runs.get.d.ts +17 -0
- package/dist/runtime/server/api/_flows/[name]/runs.get.js +64 -0
- package/dist/runtime/server/api/_flows/[name]/start.post.d.ts +2 -0
- package/dist/runtime/server/api/_flows/[name]/start.post.js +9 -0
- package/dist/runtime/server/api/_flows/index.get.d.ts +7 -0
- package/dist/runtime/server/api/_flows/index.get.js +5 -0
- package/dist/runtime/server/api/_flows/recent-runs.get.d.ts +15 -0
- package/dist/runtime/server/api/_flows/recent-runs.get.js +67 -0
- package/dist/runtime/server/api/_flows/ws.d.ts +80 -0
- package/dist/runtime/server/api/_flows/ws.js +309 -0
- package/dist/runtime/server/api/_queues/[name]/job/[id].get.d.ts +2 -0
- package/dist/runtime/server/api/_queues/[name]/job/[id].get.js +14 -0
- package/dist/runtime/server/api/_queues/[name]/job/index.get.d.ts +2 -0
- package/dist/runtime/server/api/_queues/[name]/job/index.get.js +39 -0
- package/dist/runtime/server/api/_queues/index.get.d.ts +2 -0
- package/dist/runtime/server/api/_queues/index.get.js +106 -0
- package/dist/runtime/server/api/_queues/ws.d.ts +48 -0
- package/dist/runtime/server/api/_queues/ws.js +215 -0
- package/dist/runtime/server/api/_scheduler/jobs.get.d.ts +19 -0
- package/dist/runtime/server/api/_scheduler/jobs.get.js +36 -0
- package/dist/runtime/server/api/_triggers/[name]/events.get.d.ts +6 -0
- package/dist/runtime/server/api/_triggers/[name]/events.get.js +43 -0
- package/dist/runtime/server/api/_triggers/[name]/index.get.d.ts +6 -0
- package/dist/runtime/server/api/_triggers/[name]/index.get.js +76 -0
- package/dist/runtime/server/api/_triggers/[name].delete.d.ts +7 -0
- package/dist/runtime/server/api/_triggers/[name].delete.js +37 -0
- package/dist/runtime/server/api/_triggers/[name].patch.d.ts +7 -0
- package/dist/runtime/server/api/_triggers/[name].patch.js +117 -0
- package/dist/runtime/server/api/_triggers/index.get.d.ts +6 -0
- package/dist/runtime/server/api/_triggers/index.get.js +44 -0
- package/dist/runtime/server/api/_triggers/index.post.d.ts +7 -0
- package/dist/runtime/server/api/_triggers/index.post.js +124 -0
- package/dist/runtime/server/api/_triggers/stats.get.d.ts +6 -0
- package/dist/runtime/server/api/_triggers/stats.get.js +41 -0
- package/dist/runtime/server/api/_triggers/ws.d.ts +74 -0
- package/dist/runtime/server/api/_triggers/ws.js +315 -0
- package/dist/runtime/server/tsconfig.json +7 -0
- package/package.json +8 -8
- package/dist/runtime/app/components/FlowScheduleDialog.vue +0 -226
- package/dist/runtime/app/components/FlowSchedulesList.vue +0 -99
- package/dist/runtime/app/components/FlowStepSelector.vue +0 -238
- package/dist/runtime/app/components/QueueConfigDetails.vue +0 -412
- package/dist/runtime/app/components/nhealth/component-shell.vue +0 -89
- /package/dist/runtime/app/components/{nhealth/component-router.vue → ComponentRouter.vue} +0 -0
- /package/dist/runtime/app/components/{FlowNodeCard.d.vue.ts → flow/NodeCard.d.vue.ts} +0 -0
- /package/dist/runtime/app/components/{FlowNodeCard.vue → flow/NodeCard.vue} +0 -0
- /package/dist/runtime/app/components/{FlowNodeCard.vue.d.ts → flow/NodeCard.vue.d.ts} +0 -0
- /package/dist/runtime/app/components/{FlowRunTimeline.d.vue.ts → flow/RunTimeline.d.vue.ts} +0 -0
- /package/dist/runtime/app/components/{FlowRunTimeline.vue.d.ts → flow/RunTimeline.vue.d.ts} +0 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="space-y-6">
|
|
3
|
+
<!-- Queue Configuration -->
|
|
4
|
+
<div>
|
|
5
|
+
<h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 mb-4">
|
|
6
|
+
Queue Configuration
|
|
7
|
+
</h3>
|
|
8
|
+
<div
|
|
9
|
+
v-if="!queueConfig || !hasQueueConfig"
|
|
10
|
+
class="text-sm text-gray-400 text-center py-8 bg-gray-50 dark:bg-gray-900/50 rounded-lg border border-gray-200 dark:border-gray-800"
|
|
11
|
+
>
|
|
12
|
+
<UIcon
|
|
13
|
+
name="i-lucide-info"
|
|
14
|
+
class="w-8 h-8 mx-auto mb-2 opacity-50"
|
|
15
|
+
/>
|
|
16
|
+
<p>No queue configuration defined</p>
|
|
17
|
+
<p class="text-xs mt-1">
|
|
18
|
+
Using default values
|
|
19
|
+
</p>
|
|
20
|
+
</div>
|
|
21
|
+
<div
|
|
22
|
+
v-else
|
|
23
|
+
class="space-y-4"
|
|
24
|
+
>
|
|
25
|
+
<!-- Queue Name -->
|
|
26
|
+
<div class="space-y-2">
|
|
27
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
28
|
+
<UIcon
|
|
29
|
+
name="i-lucide-tag"
|
|
30
|
+
class="w-4 h-4"
|
|
31
|
+
/>
|
|
32
|
+
<span>Queue Name</span>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="pl-6">
|
|
35
|
+
<div class="text-sm font-mono text-gray-900 dark:text-gray-100 bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
36
|
+
{{ queueConfig.name || queueName }}
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<!-- Prefix -->
|
|
42
|
+
<div
|
|
43
|
+
v-if="queueConfig.prefix"
|
|
44
|
+
class="space-y-2"
|
|
45
|
+
>
|
|
46
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
47
|
+
<UIcon
|
|
48
|
+
name="i-lucide-folder"
|
|
49
|
+
class="w-4 h-4"
|
|
50
|
+
/>
|
|
51
|
+
<span>Prefix</span>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="pl-6">
|
|
54
|
+
<div class="text-sm font-mono text-gray-900 dark:text-gray-100 bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
55
|
+
{{ queueConfig.prefix }}
|
|
56
|
+
</div>
|
|
57
|
+
<p class="text-xs text-gray-500 mt-1">
|
|
58
|
+
Redis key prefix for this queue
|
|
59
|
+
</p>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<!-- Rate Limiter -->
|
|
64
|
+
<div
|
|
65
|
+
v-if="queueConfig.limiter"
|
|
66
|
+
class="space-y-2"
|
|
67
|
+
>
|
|
68
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
69
|
+
<UIcon
|
|
70
|
+
name="i-lucide-gauge"
|
|
71
|
+
class="w-4 h-4"
|
|
72
|
+
/>
|
|
73
|
+
<span>Rate Limiter</span>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="pl-6 space-y-3">
|
|
76
|
+
<div class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
77
|
+
<div class="flex items-center justify-between text-sm">
|
|
78
|
+
<span class="text-gray-600 dark:text-gray-400">Max Jobs</span>
|
|
79
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.limiter.max }}</span>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
83
|
+
<div class="flex items-center justify-between text-sm">
|
|
84
|
+
<span class="text-gray-600 dark:text-gray-400">Duration</span>
|
|
85
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.limiter.duration }}ms</span>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
<div
|
|
89
|
+
v-if="queueConfig.limiter.groupKey"
|
|
90
|
+
class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800"
|
|
91
|
+
>
|
|
92
|
+
<div class="flex items-center justify-between text-sm">
|
|
93
|
+
<span class="text-gray-600 dark:text-gray-400">Group Key</span>
|
|
94
|
+
<span class="font-medium font-mono text-gray-900 dark:text-gray-100">{{ queueConfig.limiter.groupKey }}</span>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
<p class="text-xs text-gray-500">
|
|
98
|
+
Limits processing to {{ queueConfig.limiter.max }} jobs per {{ queueConfig.limiter.duration }}ms
|
|
99
|
+
</p>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<!-- Default Job Options -->
|
|
104
|
+
<div
|
|
105
|
+
v-if="queueConfig.defaultJobOptions && hasJobOptions"
|
|
106
|
+
class="space-y-2"
|
|
107
|
+
>
|
|
108
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
109
|
+
<UIcon
|
|
110
|
+
name="i-lucide-settings"
|
|
111
|
+
class="w-4 h-4"
|
|
112
|
+
/>
|
|
113
|
+
<span>Default Job Options</span>
|
|
114
|
+
</div>
|
|
115
|
+
<div class="pl-6 space-y-3">
|
|
116
|
+
<div
|
|
117
|
+
v-if="typeof queueConfig.defaultJobOptions.attempts === 'number'"
|
|
118
|
+
class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800"
|
|
119
|
+
>
|
|
120
|
+
<div class="flex items-center justify-between text-sm">
|
|
121
|
+
<span class="text-gray-600 dark:text-gray-400">Max Attempts</span>
|
|
122
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.defaultJobOptions.attempts }}</span>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
<div
|
|
126
|
+
v-if="queueConfig.defaultJobOptions.backoff"
|
|
127
|
+
class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800"
|
|
128
|
+
>
|
|
129
|
+
<div class="text-sm space-y-1">
|
|
130
|
+
<div class="flex items-center justify-between">
|
|
131
|
+
<span class="text-gray-600 dark:text-gray-400">Backoff Type</span>
|
|
132
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.defaultJobOptions.backoff.type || "exponential" }}</span>
|
|
133
|
+
</div>
|
|
134
|
+
<div
|
|
135
|
+
v-if="queueConfig.defaultJobOptions.backoff.delay"
|
|
136
|
+
class="flex items-center justify-between"
|
|
137
|
+
>
|
|
138
|
+
<span class="text-gray-600 dark:text-gray-400">Delay</span>
|
|
139
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.defaultJobOptions.backoff.delay }}ms</span>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
<div
|
|
144
|
+
v-if="typeof queueConfig.defaultJobOptions.priority === 'number'"
|
|
145
|
+
class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800"
|
|
146
|
+
>
|
|
147
|
+
<div class="flex items-center justify-between text-sm">
|
|
148
|
+
<span class="text-gray-600 dark:text-gray-400">Priority</span>
|
|
149
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.defaultJobOptions.priority }}</span>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
<div
|
|
153
|
+
v-if="typeof queueConfig.defaultJobOptions.timeout === 'number'"
|
|
154
|
+
class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800"
|
|
155
|
+
>
|
|
156
|
+
<div class="flex items-center justify-between text-sm">
|
|
157
|
+
<span class="text-gray-600 dark:text-gray-400">Timeout</span>
|
|
158
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.defaultJobOptions.timeout }}ms</span>
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
<div
|
|
162
|
+
v-if="typeof queueConfig.defaultJobOptions.removeOnComplete === 'boolean' || typeof queueConfig.defaultJobOptions.removeOnComplete === 'number'"
|
|
163
|
+
class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800"
|
|
164
|
+
>
|
|
165
|
+
<div class="flex items-center justify-between text-sm">
|
|
166
|
+
<span class="text-gray-600 dark:text-gray-400">Remove on Complete</span>
|
|
167
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.defaultJobOptions.removeOnComplete }}</span>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
170
|
+
<div
|
|
171
|
+
v-if="typeof queueConfig.defaultJobOptions.removeOnFail === 'boolean' || typeof queueConfig.defaultJobOptions.removeOnFail === 'number'"
|
|
172
|
+
class="bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800"
|
|
173
|
+
>
|
|
174
|
+
<div class="flex items-center justify-between text-sm">
|
|
175
|
+
<span class="text-gray-600 dark:text-gray-400">Remove on Fail</span>
|
|
176
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ queueConfig.defaultJobOptions.removeOnFail }}</span>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<!-- Worker Configuration -->
|
|
185
|
+
<div>
|
|
186
|
+
<h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 mb-4">
|
|
187
|
+
Worker Configuration
|
|
188
|
+
</h3>
|
|
189
|
+
<div
|
|
190
|
+
v-if="!workerConfig || !hasWorkerConfig"
|
|
191
|
+
class="text-sm text-gray-400 text-center py-8 bg-gray-50 dark:bg-gray-900/50 rounded-lg border border-gray-200 dark:border-gray-800"
|
|
192
|
+
>
|
|
193
|
+
<UIcon
|
|
194
|
+
name="i-lucide-info"
|
|
195
|
+
class="w-8 h-8 mx-auto mb-2 opacity-50"
|
|
196
|
+
/>
|
|
197
|
+
<p>No worker configuration defined</p>
|
|
198
|
+
<p class="text-xs mt-1">
|
|
199
|
+
Using default values
|
|
200
|
+
</p>
|
|
201
|
+
</div>
|
|
202
|
+
<div
|
|
203
|
+
v-else
|
|
204
|
+
class="space-y-4"
|
|
205
|
+
>
|
|
206
|
+
<!-- Concurrency -->
|
|
207
|
+
<div
|
|
208
|
+
v-if="typeof workerConfig.concurrency === 'number'"
|
|
209
|
+
class="space-y-2"
|
|
210
|
+
>
|
|
211
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
212
|
+
<UIcon
|
|
213
|
+
name="i-lucide-layers"
|
|
214
|
+
class="w-4 h-4"
|
|
215
|
+
/>
|
|
216
|
+
<span>Concurrency</span>
|
|
217
|
+
</div>
|
|
218
|
+
<div class="pl-6">
|
|
219
|
+
<div class="text-sm bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
220
|
+
<div class="flex items-center justify-between">
|
|
221
|
+
<span class="text-gray-600 dark:text-gray-400">Parallel Jobs</span>
|
|
222
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ workerConfig.concurrency }}</span>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
<p class="text-xs text-gray-500 mt-1">
|
|
226
|
+
Maximum number of jobs processed simultaneously
|
|
227
|
+
</p>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
|
|
231
|
+
<!-- Lock Duration -->
|
|
232
|
+
<div
|
|
233
|
+
v-if="typeof workerConfig.lockDurationMs === 'number'"
|
|
234
|
+
class="space-y-2"
|
|
235
|
+
>
|
|
236
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
237
|
+
<UIcon
|
|
238
|
+
name="i-lucide-lock"
|
|
239
|
+
class="w-4 h-4"
|
|
240
|
+
/>
|
|
241
|
+
<span>Lock Duration</span>
|
|
242
|
+
</div>
|
|
243
|
+
<div class="pl-6">
|
|
244
|
+
<div class="text-sm bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
245
|
+
<div class="flex items-center justify-between">
|
|
246
|
+
<span class="text-gray-600 dark:text-gray-400">Duration</span>
|
|
247
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ workerConfig.lockDurationMs }}ms</span>
|
|
248
|
+
</div>
|
|
249
|
+
</div>
|
|
250
|
+
<p class="text-xs text-gray-500 mt-1">
|
|
251
|
+
Time before job lock expires and becomes available for retry
|
|
252
|
+
</p>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
|
|
256
|
+
<!-- Max Stalled Count -->
|
|
257
|
+
<div
|
|
258
|
+
v-if="typeof workerConfig.maxStalledCount === 'number'"
|
|
259
|
+
class="space-y-2"
|
|
260
|
+
>
|
|
261
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
262
|
+
<UIcon
|
|
263
|
+
name="i-lucide-alert-triangle"
|
|
264
|
+
class="w-4 h-4"
|
|
265
|
+
/>
|
|
266
|
+
<span>Max Stalled Count</span>
|
|
267
|
+
</div>
|
|
268
|
+
<div class="pl-6">
|
|
269
|
+
<div class="text-sm bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
270
|
+
<div class="flex items-center justify-between">
|
|
271
|
+
<span class="text-gray-600 dark:text-gray-400">Max Retries</span>
|
|
272
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ workerConfig.maxStalledCount }}</span>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
<p class="text-xs text-gray-500 mt-1">
|
|
276
|
+
Maximum times a job can stall before being marked as failed
|
|
277
|
+
</p>
|
|
278
|
+
</div>
|
|
279
|
+
</div>
|
|
280
|
+
|
|
281
|
+
<!-- Drain Delay -->
|
|
282
|
+
<div
|
|
283
|
+
v-if="typeof workerConfig.drainDelayMs === 'number'"
|
|
284
|
+
class="space-y-2"
|
|
285
|
+
>
|
|
286
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
287
|
+
<UIcon
|
|
288
|
+
name="i-lucide-timer"
|
|
289
|
+
class="w-4 h-4"
|
|
290
|
+
/>
|
|
291
|
+
<span>Drain Delay</span>
|
|
292
|
+
</div>
|
|
293
|
+
<div class="pl-6">
|
|
294
|
+
<div class="text-sm bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
295
|
+
<div class="flex items-center justify-between">
|
|
296
|
+
<span class="text-gray-600 dark:text-gray-400">Delay</span>
|
|
297
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ workerConfig.drainDelayMs }}ms</span>
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
<p class="text-xs text-gray-500 mt-1">
|
|
301
|
+
Time to wait for jobs to complete during graceful shutdown
|
|
302
|
+
</p>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
|
|
306
|
+
<!-- Polling Interval -->
|
|
307
|
+
<div
|
|
308
|
+
v-if="typeof workerConfig.pollingIntervalMs === 'number'"
|
|
309
|
+
class="space-y-2"
|
|
310
|
+
>
|
|
311
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
312
|
+
<UIcon
|
|
313
|
+
name="i-lucide-refresh-cw"
|
|
314
|
+
class="w-4 h-4"
|
|
315
|
+
/>
|
|
316
|
+
<span>Polling Interval</span>
|
|
317
|
+
</div>
|
|
318
|
+
<div class="pl-6">
|
|
319
|
+
<div class="text-sm bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
320
|
+
<div class="flex items-center justify-between">
|
|
321
|
+
<span class="text-gray-600 dark:text-gray-400">Interval</span>
|
|
322
|
+
<span class="font-medium text-gray-900 dark:text-gray-100">{{ workerConfig.pollingIntervalMs }}ms</span>
|
|
323
|
+
</div>
|
|
324
|
+
</div>
|
|
325
|
+
<p class="text-xs text-gray-500 mt-1">
|
|
326
|
+
Frequency to check for new jobs (PGBoss compatibility)
|
|
327
|
+
</p>
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
|
|
331
|
+
<!-- Autorun -->
|
|
332
|
+
<div
|
|
333
|
+
v-if="typeof workerConfig.autorun === 'boolean'"
|
|
334
|
+
class="space-y-2"
|
|
335
|
+
>
|
|
336
|
+
<div class="flex items-center gap-2 text-sm font-medium text-gray-700 dark:text-gray-300">
|
|
337
|
+
<UIcon
|
|
338
|
+
name="i-lucide-play-circle"
|
|
339
|
+
class="w-4 h-4"
|
|
340
|
+
/>
|
|
341
|
+
<span>Autorun</span>
|
|
342
|
+
</div>
|
|
343
|
+
<div class="pl-6">
|
|
344
|
+
<div class="text-sm bg-gray-50 dark:bg-gray-900 px-3 py-2 rounded border border-gray-200 dark:border-gray-800">
|
|
345
|
+
<div class="flex items-center justify-between">
|
|
346
|
+
<span class="text-gray-600 dark:text-gray-400">Enabled</span>
|
|
347
|
+
<UBadge
|
|
348
|
+
:label="workerConfig.autorun ? 'Yes' : 'No'"
|
|
349
|
+
:color="workerConfig.autorun ? 'success' : 'neutral'"
|
|
350
|
+
variant="subtle"
|
|
351
|
+
size="xs"
|
|
352
|
+
/>
|
|
353
|
+
</div>
|
|
354
|
+
</div>
|
|
355
|
+
<p class="text-xs text-gray-500 mt-1">
|
|
356
|
+
Whether worker starts automatically on initialization
|
|
357
|
+
</p>
|
|
358
|
+
</div>
|
|
359
|
+
</div>
|
|
360
|
+
</div>
|
|
361
|
+
</div>
|
|
362
|
+
</div>
|
|
363
|
+
</template>
|
|
364
|
+
|
|
365
|
+
<script setup>
|
|
366
|
+
import { computed } from "#imports";
|
|
367
|
+
import { UIcon, UBadge } from "#components";
|
|
368
|
+
const props = defineProps({
|
|
369
|
+
queueName: { type: String, required: true },
|
|
370
|
+
queueConfig: { type: Object, required: false },
|
|
371
|
+
workerConfig: { type: Object, required: false }
|
|
372
|
+
});
|
|
373
|
+
const hasQueueConfig = computed(() => {
|
|
374
|
+
if (!props.queueConfig) return false;
|
|
375
|
+
const { name, ...rest } = props.queueConfig;
|
|
376
|
+
return Object.values(rest).some((v) => v !== void 0 && v !== null);
|
|
377
|
+
});
|
|
378
|
+
const hasJobOptions = computed(() => {
|
|
379
|
+
const opts = props.queueConfig?.defaultJobOptions;
|
|
380
|
+
if (!opts) return false;
|
|
381
|
+
return Object.values(opts).some((v) => v !== void 0 && v !== null);
|
|
382
|
+
});
|
|
383
|
+
const hasWorkerConfig = computed(() => {
|
|
384
|
+
if (!props.workerConfig) return false;
|
|
385
|
+
return Object.values(props.workerConfig).some((v) => v !== void 0 && v !== null);
|
|
386
|
+
});
|
|
387
|
+
</script>
|
package/dist/runtime/app/components/{QueueConfigDetails.vue.d.ts → QueueConfiguration.vue.d.ts}
RENAMED
|
@@ -31,15 +31,6 @@ interface Props {
|
|
|
31
31
|
queueConfig?: QueueConfig;
|
|
32
32
|
workerConfig?: WorkerConfig;
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
type __VLS_ModelProps = {
|
|
36
|
-
'open'?: boolean;
|
|
37
|
-
};
|
|
38
|
-
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
39
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
40
|
-
"update:open": (value: boolean) => any;
|
|
41
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
42
|
-
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
43
|
-
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
34
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
44
35
|
declare const _default: typeof __VLS_export;
|
|
45
36
|
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
icon: string;
|
|
3
|
+
count: number | string;
|
|
4
|
+
label: string;
|
|
5
|
+
variant?: 'gray' | 'blue' | 'amber' | 'emerald' | 'red' | 'purple';
|
|
6
|
+
}
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="bg-white dark:bg-gray-900 rounded-lg border border-gray-200 dark:border-gray-800 p-4">
|
|
3
|
+
<div class="flex items-center gap-3">
|
|
4
|
+
<div
|
|
5
|
+
class="flex-shrink-0 w-10 h-10 rounded-lg flex items-center justify-center"
|
|
6
|
+
:class="iconBackgroundClass"
|
|
7
|
+
>
|
|
8
|
+
<UIcon
|
|
9
|
+
:name="icon"
|
|
10
|
+
class="w-5 h-5"
|
|
11
|
+
:class="iconColorClass"
|
|
12
|
+
/>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="flex-1 min-w-0">
|
|
15
|
+
<p class="text-2xl font-bold text-gray-900 dark:text-gray-100">
|
|
16
|
+
{{ count }}
|
|
17
|
+
</p>
|
|
18
|
+
<p class="text-xs text-gray-500 dark:text-gray-400">
|
|
19
|
+
{{ label }}
|
|
20
|
+
</p>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</template>
|
|
25
|
+
|
|
26
|
+
<script setup>
|
|
27
|
+
import { computed } from "#imports";
|
|
28
|
+
import { UIcon } from "#components";
|
|
29
|
+
const props = defineProps({
|
|
30
|
+
icon: { type: String, required: true },
|
|
31
|
+
count: { type: [Number, String], required: true },
|
|
32
|
+
label: { type: String, required: true },
|
|
33
|
+
variant: { type: String, required: false, default: "gray" }
|
|
34
|
+
});
|
|
35
|
+
const iconBackgroundClass = computed(() => {
|
|
36
|
+
const variants = {
|
|
37
|
+
gray: "bg-gray-50 dark:bg-gray-800",
|
|
38
|
+
blue: "bg-blue-50 dark:bg-blue-950/30",
|
|
39
|
+
amber: "bg-amber-50 dark:bg-amber-950/30",
|
|
40
|
+
emerald: "bg-emerald-50 dark:bg-emerald-950/30",
|
|
41
|
+
red: "bg-red-50 dark:bg-red-950/30",
|
|
42
|
+
purple: "bg-purple-50 dark:bg-purple-950/30"
|
|
43
|
+
};
|
|
44
|
+
return variants[props.variant];
|
|
45
|
+
});
|
|
46
|
+
const iconColorClass = computed(() => {
|
|
47
|
+
const variants = {
|
|
48
|
+
gray: "text-gray-600 dark:text-gray-400",
|
|
49
|
+
blue: "text-blue-600 dark:text-blue-400",
|
|
50
|
+
amber: "text-amber-600 dark:text-amber-400",
|
|
51
|
+
emerald: "text-emerald-600 dark:text-emerald-400",
|
|
52
|
+
red: "text-red-600 dark:text-red-400",
|
|
53
|
+
purple: "text-purple-600 dark:text-purple-400"
|
|
54
|
+
};
|
|
55
|
+
return variants[props.variant];
|
|
56
|
+
});
|
|
57
|
+
</script>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
icon: string;
|
|
3
|
+
count: number | string;
|
|
4
|
+
label: string;
|
|
5
|
+
variant?: 'gray' | 'blue' | 'amber' | 'emerald' | 'red' | 'purple';
|
|
6
|
+
}
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -62,6 +62,67 @@
|
|
|
62
62
|
</div>
|
|
63
63
|
</div>
|
|
64
64
|
|
|
65
|
+
<!-- Special rendering for await events -->
|
|
66
|
+
<div
|
|
67
|
+
v-else-if="isAwaitEvent(item.eventType)"
|
|
68
|
+
class="text-sm mt-2"
|
|
69
|
+
>
|
|
70
|
+
<div
|
|
71
|
+
v-if="item.eventData"
|
|
72
|
+
class="space-y-1"
|
|
73
|
+
>
|
|
74
|
+
<div
|
|
75
|
+
v-if="item.eventData.awaitType"
|
|
76
|
+
class="flex items-start gap-2"
|
|
77
|
+
>
|
|
78
|
+
<span class="text-xs text-gray-500 dark:text-gray-400 font-medium min-w-[60px] flex-shrink-0">Type:</span>
|
|
79
|
+
<UBadge
|
|
80
|
+
color="blue"
|
|
81
|
+
variant="subtle"
|
|
82
|
+
size="xs"
|
|
83
|
+
class="capitalize"
|
|
84
|
+
>
|
|
85
|
+
{{ item.eventData.awaitType }}
|
|
86
|
+
</UBadge>
|
|
87
|
+
</div>
|
|
88
|
+
<div
|
|
89
|
+
v-if="item.eventData.position"
|
|
90
|
+
class="flex items-start gap-2"
|
|
91
|
+
>
|
|
92
|
+
<span class="text-xs text-gray-500 dark:text-gray-400 font-medium min-w-[60px] flex-shrink-0">Position:</span>
|
|
93
|
+
<UBadge
|
|
94
|
+
color="neutral"
|
|
95
|
+
variant="subtle"
|
|
96
|
+
size="xs"
|
|
97
|
+
class="capitalize"
|
|
98
|
+
>
|
|
99
|
+
{{ item.eventData.position }}
|
|
100
|
+
</UBadge>
|
|
101
|
+
</div>
|
|
102
|
+
<div
|
|
103
|
+
v-if="item.eventData.triggerName"
|
|
104
|
+
class="flex items-start gap-2"
|
|
105
|
+
>
|
|
106
|
+
<span class="text-xs text-gray-500 dark:text-gray-400 font-medium min-w-[60px] flex-shrink-0">Trigger:</span>
|
|
107
|
+
<span class="text-xs text-gray-700 dark:text-gray-300 font-mono">{{ item.eventData.triggerName }}</span>
|
|
108
|
+
</div>
|
|
109
|
+
<div
|
|
110
|
+
v-if="item.eventData.triggerData"
|
|
111
|
+
class="flex items-start gap-2"
|
|
112
|
+
>
|
|
113
|
+
<span class="text-xs text-gray-500 dark:text-gray-400 font-medium min-w-[60px] flex-shrink-0">Data:</span>
|
|
114
|
+
<pre class="text-xs bg-gray-50 dark:bg-gray-800 rounded px-2 py-1 overflow-y-auto max-h-20 text-gray-700 dark:text-gray-300 font-mono flex-1 min-w-0 whitespace-pre-wrap break-words">{{ pretty(item.eventData.triggerData) }}</pre>
|
|
115
|
+
</div>
|
|
116
|
+
<div
|
|
117
|
+
v-if="item.eventData.duration"
|
|
118
|
+
class="flex items-start gap-2"
|
|
119
|
+
>
|
|
120
|
+
<span class="text-xs text-gray-500 dark:text-gray-400 font-medium min-w-[60px] flex-shrink-0">Duration:</span>
|
|
121
|
+
<span class="text-xs text-gray-700 dark:text-gray-300">{{ item.eventData.duration }}ms</span>
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
65
126
|
<!-- Special rendering for flow events -->
|
|
66
127
|
<div
|
|
67
128
|
v-else-if="isFlowEvent(item.eventType)"
|
|
@@ -162,6 +223,9 @@ function eventIcon(type) {
|
|
|
162
223
|
if (type === "step.failed") return "i-lucide-alert-circle";
|
|
163
224
|
if (type === "step.retry") return "i-lucide-rotate-cw";
|
|
164
225
|
if (type === "step.timeout") return "i-lucide-clock";
|
|
226
|
+
if (type === "await.registered") return "i-lucide-timer";
|
|
227
|
+
if (type === "await.resolved") return "i-lucide-check-circle";
|
|
228
|
+
if (type === "await.timeout") return "i-lucide-clock-alert";
|
|
165
229
|
if (type === "log") return "i-lucide-file-text";
|
|
166
230
|
if (type === "emit") return "i-lucide-zap";
|
|
167
231
|
return "i-lucide-circle-dot";
|
|
@@ -208,4 +272,7 @@ function levelColor(level) {
|
|
|
208
272
|
function isFlowEvent(type) {
|
|
209
273
|
return type?.startsWith("flow.") || type?.startsWith("step.");
|
|
210
274
|
}
|
|
275
|
+
function isAwaitEvent(type) {
|
|
276
|
+
return type?.startsWith("await.");
|
|
277
|
+
}
|
|
211
278
|
</script>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface AwaitConfig {
|
|
2
|
+
type?: 'time' | 'event' | 'webhook';
|
|
3
|
+
delay?: number;
|
|
4
|
+
event?: string;
|
|
5
|
+
method?: string;
|
|
6
|
+
timeout?: number;
|
|
7
|
+
}
|
|
8
|
+
type __VLS_Props = {
|
|
9
|
+
data: {
|
|
10
|
+
label: string;
|
|
11
|
+
awaitType?: 'time' | 'event' | 'webhook';
|
|
12
|
+
awaitConfig?: AwaitConfig;
|
|
13
|
+
status?: 'idle' | 'waiting' | 'resolved' | 'timeout';
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|