nvent 0.4.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.
Files changed (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +389 -0
  3. package/dist/module.d.mts +193 -0
  4. package/dist/module.json +9 -0
  5. package/dist/module.mjs +974 -0
  6. package/dist/runtime/app/components/ConfirmDialog.d.vue.ts +33 -0
  7. package/dist/runtime/app/components/ConfirmDialog.vue +121 -0
  8. package/dist/runtime/app/components/ConfirmDialog.vue.d.ts +33 -0
  9. package/dist/runtime/app/components/FlowDiagram.d.vue.ts +64 -0
  10. package/dist/runtime/app/components/FlowDiagram.vue +338 -0
  11. package/dist/runtime/app/components/FlowDiagram.vue.d.ts +64 -0
  12. package/dist/runtime/app/components/FlowNodeCard.d.vue.ts +29 -0
  13. package/dist/runtime/app/components/FlowNodeCard.vue +156 -0
  14. package/dist/runtime/app/components/FlowNodeCard.vue.d.ts +29 -0
  15. package/dist/runtime/app/components/FlowRunOverview.d.vue.ts +9 -0
  16. package/dist/runtime/app/components/FlowRunOverview.vue +291 -0
  17. package/dist/runtime/app/components/FlowRunOverview.vue.d.ts +9 -0
  18. package/dist/runtime/app/components/FlowRunStatusBadge.d.vue.ts +14 -0
  19. package/dist/runtime/app/components/FlowRunStatusBadge.vue +60 -0
  20. package/dist/runtime/app/components/FlowRunStatusBadge.vue.d.ts +14 -0
  21. package/dist/runtime/app/components/FlowRunTimeline.d.vue.ts +12 -0
  22. package/dist/runtime/app/components/FlowRunTimeline.vue +127 -0
  23. package/dist/runtime/app/components/FlowRunTimeline.vue.d.ts +12 -0
  24. package/dist/runtime/app/components/FlowScheduleDialog.d.vue.ts +16 -0
  25. package/dist/runtime/app/components/FlowScheduleDialog.vue +226 -0
  26. package/dist/runtime/app/components/FlowScheduleDialog.vue.d.ts +16 -0
  27. package/dist/runtime/app/components/FlowSchedulesList.d.vue.ts +12 -0
  28. package/dist/runtime/app/components/FlowSchedulesList.vue +99 -0
  29. package/dist/runtime/app/components/FlowSchedulesList.vue.d.ts +12 -0
  30. package/dist/runtime/app/components/JobScheduling.d.vue.ts +6 -0
  31. package/dist/runtime/app/components/JobScheduling.vue +203 -0
  32. package/dist/runtime/app/components/JobScheduling.vue.d.ts +6 -0
  33. package/dist/runtime/app/components/ListItem.d.vue.ts +23 -0
  34. package/dist/runtime/app/components/ListItem.vue +70 -0
  35. package/dist/runtime/app/components/ListItem.vue.d.ts +23 -0
  36. package/dist/runtime/app/components/QueueConfigDetails.d.vue.ts +45 -0
  37. package/dist/runtime/app/components/QueueConfigDetails.vue +412 -0
  38. package/dist/runtime/app/components/QueueConfigDetails.vue.d.ts +45 -0
  39. package/dist/runtime/app/components/StatCounter.d.vue.ts +9 -0
  40. package/dist/runtime/app/components/StatCounter.vue +25 -0
  41. package/dist/runtime/app/components/StatCounter.vue.d.ts +9 -0
  42. package/dist/runtime/app/components/TimelineList.d.vue.ts +7 -0
  43. package/dist/runtime/app/components/TimelineList.vue +210 -0
  44. package/dist/runtime/app/components/TimelineList.vue.d.ts +7 -0
  45. package/dist/runtime/app/components/nhealth/component-router.d.vue.ts +46 -0
  46. package/dist/runtime/app/components/nhealth/component-router.vue +26 -0
  47. package/dist/runtime/app/components/nhealth/component-router.vue.d.ts +46 -0
  48. package/dist/runtime/app/components/nhealth/component-shell.d.vue.ts +24 -0
  49. package/dist/runtime/app/components/nhealth/component-shell.vue +89 -0
  50. package/dist/runtime/app/components/nhealth/component-shell.vue.d.ts +24 -0
  51. package/dist/runtime/app/composables/useAnalyzedFlows.d.ts +14 -0
  52. package/dist/runtime/app/composables/useAnalyzedFlows.js +7 -0
  53. package/dist/runtime/app/composables/useComponentRouter.d.ts +38 -0
  54. package/dist/runtime/app/composables/useComponentRouter.js +240 -0
  55. package/dist/runtime/app/composables/useFlowRunTimeline.d.ts +15 -0
  56. package/dist/runtime/app/composables/useFlowRunTimeline.js +66 -0
  57. package/dist/runtime/app/composables/useFlowRuns.d.ts +11 -0
  58. package/dist/runtime/app/composables/useFlowRuns.js +31 -0
  59. package/dist/runtime/app/composables/useFlowRunsInfinite.d.ts +24 -0
  60. package/dist/runtime/app/composables/useFlowRunsInfinite.js +123 -0
  61. package/dist/runtime/app/composables/useFlowRunsPolling.d.ts +8 -0
  62. package/dist/runtime/app/composables/useFlowRunsPolling.js +26 -0
  63. package/dist/runtime/app/composables/useFlowState.d.ts +125 -0
  64. package/dist/runtime/app/composables/useFlowState.js +211 -0
  65. package/dist/runtime/app/composables/useFlowWebSocket.d.ts +27 -0
  66. package/dist/runtime/app/composables/useFlowWebSocket.js +205 -0
  67. package/dist/runtime/app/composables/useFlowsNavigation.d.ts +10 -0
  68. package/dist/runtime/app/composables/useFlowsNavigation.js +57 -0
  69. package/dist/runtime/app/composables/useQueueJobs.d.ts +20 -0
  70. package/dist/runtime/app/composables/useQueueJobs.js +20 -0
  71. package/dist/runtime/app/composables/useQueueUpdates.d.ts +26 -0
  72. package/dist/runtime/app/composables/useQueueUpdates.js +122 -0
  73. package/dist/runtime/app/composables/useQueues.d.ts +43 -0
  74. package/dist/runtime/app/composables/useQueues.js +26 -0
  75. package/dist/runtime/app/composables/useQueuesLive.d.ts +19 -0
  76. package/dist/runtime/app/composables/useQueuesLive.js +143 -0
  77. package/dist/runtime/app/pages/flows/index.d.vue.ts +3 -0
  78. package/dist/runtime/app/pages/flows/index.vue +645 -0
  79. package/dist/runtime/app/pages/flows/index.vue.d.ts +3 -0
  80. package/dist/runtime/app/pages/index.d.vue.ts +3 -0
  81. package/dist/runtime/app/pages/index.vue +34 -0
  82. package/dist/runtime/app/pages/index.vue.d.ts +3 -0
  83. package/dist/runtime/app/pages/queues/index.d.vue.ts +3 -0
  84. package/dist/runtime/app/pages/queues/index.vue +229 -0
  85. package/dist/runtime/app/pages/queues/index.vue.d.ts +3 -0
  86. package/dist/runtime/app/pages/queues/job.d.vue.ts +3 -0
  87. package/dist/runtime/app/pages/queues/job.vue +262 -0
  88. package/dist/runtime/app/pages/queues/job.vue.d.ts +3 -0
  89. package/dist/runtime/app/pages/queues/jobs.d.vue.ts +3 -0
  90. package/dist/runtime/app/pages/queues/jobs.vue +291 -0
  91. package/dist/runtime/app/pages/queues/jobs.vue.d.ts +3 -0
  92. package/dist/runtime/app/plugins/vueflow.client.d.ts +6 -0
  93. package/dist/runtime/app/plugins/vueflow.client.js +15 -0
  94. package/dist/runtime/constants.d.ts +11 -0
  95. package/dist/runtime/constants.js +11 -0
  96. package/dist/runtime/python/get_config.py +64 -0
  97. package/dist/runtime/schema.d.ts +37 -0
  98. package/dist/runtime/schema.js +20 -0
  99. package/dist/runtime/server/api/_flows/[name]/clear-history.delete.d.ts +10 -0
  100. package/dist/runtime/server/api/_flows/[name]/clear-history.delete.js +44 -0
  101. package/dist/runtime/server/api/_flows/[name]/runs.get.d.ts +7 -0
  102. package/dist/runtime/server/api/_flows/[name]/runs.get.js +53 -0
  103. package/dist/runtime/server/api/_flows/[name]/schedule.post.d.ts +2 -0
  104. package/dist/runtime/server/api/_flows/[name]/schedule.post.js +57 -0
  105. package/dist/runtime/server/api/_flows/[name]/schedules/[id].delete.d.ts +2 -0
  106. package/dist/runtime/server/api/_flows/[name]/schedules/[id].delete.js +42 -0
  107. package/dist/runtime/server/api/_flows/[name]/schedules.get.d.ts +2 -0
  108. package/dist/runtime/server/api/_flows/[name]/schedules.get.js +48 -0
  109. package/dist/runtime/server/api/_flows/[name]/start.post.d.ts +2 -0
  110. package/dist/runtime/server/api/_flows/[name]/start.post.js +9 -0
  111. package/dist/runtime/server/api/_flows/index.get.d.ts +6 -0
  112. package/dist/runtime/server/api/_flows/index.get.js +5 -0
  113. package/dist/runtime/server/api/_flows/ws.d.ts +60 -0
  114. package/dist/runtime/server/api/_flows/ws.js +183 -0
  115. package/dist/runtime/server/api/_queues/[name]/job/[id].get.d.ts +2 -0
  116. package/dist/runtime/server/api/_queues/[name]/job/[id].get.js +9 -0
  117. package/dist/runtime/server/api/_queues/[name]/job/index.get.d.ts +2 -0
  118. package/dist/runtime/server/api/_queues/[name]/job/index.get.js +18 -0
  119. package/dist/runtime/server/api/_queues/index.get.d.ts +2 -0
  120. package/dist/runtime/server/api/_queues/index.get.js +63 -0
  121. package/dist/runtime/server/api/_queues/ws.d.ts +48 -0
  122. package/dist/runtime/server/api/_queues/ws.js +200 -0
  123. package/dist/runtime/server/events/adapters/fileAdapter.d.ts +2 -0
  124. package/dist/runtime/server/events/adapters/fileAdapter.js +382 -0
  125. package/dist/runtime/server/events/adapters/memoryAdapter.d.ts +2 -0
  126. package/dist/runtime/server/events/adapters/memoryAdapter.js +171 -0
  127. package/dist/runtime/server/events/adapters/redis/redisAdapter.d.ts +2 -0
  128. package/dist/runtime/server/events/adapters/redis/redisAdapter.js +348 -0
  129. package/dist/runtime/server/events/adapters/redis/redisPubSubGateway.d.ts +29 -0
  130. package/dist/runtime/server/events/adapters/redis/redisPubSubGateway.js +82 -0
  131. package/dist/runtime/server/events/eventBus.d.ts +20 -0
  132. package/dist/runtime/server/events/eventBus.js +35 -0
  133. package/dist/runtime/server/events/eventStoreFactory.d.ts +19 -0
  134. package/dist/runtime/server/events/eventStoreFactory.js +44 -0
  135. package/dist/runtime/server/events/streamNames.d.ts +17 -0
  136. package/dist/runtime/server/events/streamNames.js +17 -0
  137. package/dist/runtime/server/events/types.d.ts +63 -0
  138. package/dist/runtime/server/events/types.js +0 -0
  139. package/dist/runtime/server/events/wiring/flowWiring.d.ts +33 -0
  140. package/dist/runtime/server/events/wiring/flowWiring.js +406 -0
  141. package/dist/runtime/server/events/wiring/registry.d.ts +10 -0
  142. package/dist/runtime/server/events/wiring/registry.js +24 -0
  143. package/dist/runtime/server/plugins/00.event-store.d.ts +13 -0
  144. package/dist/runtime/server/plugins/00.event-store.js +16 -0
  145. package/dist/runtime/server/plugins/00.ws-lifecycle.d.ts +5 -0
  146. package/dist/runtime/server/plugins/00.ws-lifecycle.js +66 -0
  147. package/dist/runtime/server/plugins/flow-management.d.ts +13 -0
  148. package/dist/runtime/server/plugins/flow-management.js +65 -0
  149. package/dist/runtime/server/plugins/queue-management.d.ts +2 -0
  150. package/dist/runtime/server/plugins/queue-management.js +27 -0
  151. package/dist/runtime/server/plugins/state-cleanup.d.ts +11 -0
  152. package/dist/runtime/server/plugins/state-cleanup.js +93 -0
  153. package/dist/runtime/server/plugins/worker-management.d.ts +2 -0
  154. package/dist/runtime/server/plugins/worker-management.js +33 -0
  155. package/dist/runtime/server/queue/adapters/bullmq.d.ts +17 -0
  156. package/dist/runtime/server/queue/adapters/bullmq.js +164 -0
  157. package/dist/runtime/server/queue/queueFactory.d.ts +3 -0
  158. package/dist/runtime/server/queue/queueFactory.js +10 -0
  159. package/dist/runtime/server/queue/types.d.ts +47 -0
  160. package/dist/runtime/server/queue/types.js +0 -0
  161. package/dist/runtime/server/state/adapters/redis.d.ts +2 -0
  162. package/dist/runtime/server/state/adapters/redis.js +42 -0
  163. package/dist/runtime/server/state/stateFactory.d.ts +3 -0
  164. package/dist/runtime/server/state/stateFactory.js +17 -0
  165. package/dist/runtime/server/state/types.d.ts +23 -0
  166. package/dist/runtime/server/state/types.js +0 -0
  167. package/dist/runtime/server/tsconfig.json +3 -0
  168. package/dist/runtime/server/utils/defineQueueConfig.d.ts +154 -0
  169. package/dist/runtime/server/utils/defineQueueConfig.js +2 -0
  170. package/dist/runtime/server/utils/defineQueueWorker.d.ts +10 -0
  171. package/dist/runtime/server/utils/defineQueueWorker.js +17 -0
  172. package/dist/runtime/server/utils/useEventManager.d.ts +15 -0
  173. package/dist/runtime/server/utils/useEventManager.js +26 -0
  174. package/dist/runtime/server/utils/useEventStore.d.ts +20 -0
  175. package/dist/runtime/server/utils/useEventStore.js +119 -0
  176. package/dist/runtime/server/utils/useFlowEngine.d.ts +9 -0
  177. package/dist/runtime/server/utils/useFlowEngine.js +44 -0
  178. package/dist/runtime/server/utils/useLogs.d.ts +41 -0
  179. package/dist/runtime/server/utils/useLogs.js +74 -0
  180. package/dist/runtime/server/utils/useQueue.d.ts +31 -0
  181. package/dist/runtime/server/utils/useQueue.js +24 -0
  182. package/dist/runtime/server/utils/useServerLogger.d.ts +42 -0
  183. package/dist/runtime/server/utils/useServerLogger.js +54 -0
  184. package/dist/runtime/server/utils/wsPeerManager.d.ts +34 -0
  185. package/dist/runtime/server/utils/wsPeerManager.js +23 -0
  186. package/dist/runtime/server/worker/adapter.d.ts +4 -0
  187. package/dist/runtime/server/worker/adapter.js +65 -0
  188. package/dist/runtime/server/worker/runner/node.d.ts +27 -0
  189. package/dist/runtime/server/worker/runner/node.js +196 -0
  190. package/dist/runtime/types.d.ts +132 -0
  191. package/dist/types.d.mts +3 -0
  192. package/package.json +75 -0
@@ -0,0 +1,203 @@
1
+ <template>
2
+ <div class="space-y-4">
3
+ <div class="flex justify-end">
4
+ <Button
5
+ icon="i-heroicons-clock"
6
+ color="neutral"
7
+ variant="outline"
8
+ @click="jobSchedulerEditor = !jobSchedulerEditor"
9
+ >
10
+ Job Scheduler
11
+ </Button>
12
+ </div>
13
+ <UForm
14
+ :schema="schema"
15
+ :state="state"
16
+ @submit="onSubmit"
17
+ >
18
+ <UCard
19
+ v-if="jobSchedulerEditor"
20
+ :ui="{
21
+ body: 'space-y-6'
22
+ }"
23
+ >
24
+ <UFormField
25
+ label="Name"
26
+ name="name"
27
+ >
28
+ <UInput
29
+ v-model="state.name"
30
+ placeholder="Name"
31
+ class="w-full"
32
+ />
33
+ </UFormField>
34
+ <UTabs
35
+ v-model="state.scheduleType"
36
+ :items="scheduleInputTypes"
37
+ size="xs"
38
+ default-value="every"
39
+ variant="pill"
40
+ color="neutral"
41
+ :ui="{
42
+ list: 'w-28 self-start',
43
+ content: 'w-full'
44
+ }"
45
+ >
46
+ <template #content="{ item }">
47
+ <UFormField name="scheduleValue">
48
+ <UInput
49
+ v-if="item.value === 'every'"
50
+ v-model="state.scheduleValue"
51
+ class="w-full"
52
+ type="number"
53
+ />
54
+ <UInput
55
+ v-if="item.value === 'cron'"
56
+ v-model="state.scheduleValue"
57
+ class="w-full"
58
+ type="string"
59
+ />
60
+ </UFormField>
61
+ </template>
62
+ </UTabs>
63
+ <div>
64
+ <div class="text-sm font-bold mb-2">
65
+ Job
66
+ </div>
67
+ <div class="flex flex-col space-y-2 p-2 rounded-sm ring-1 ring-gray-200 dark:ring-gray-800 shadow">
68
+ <UFormField
69
+ label="Name"
70
+ name="jobName"
71
+ >
72
+ <UInput
73
+ v-model="state.jobName"
74
+ placeholder="Job Name"
75
+ class="w-full"
76
+ />
77
+ </UFormField>
78
+ <UFormField
79
+ label="Data"
80
+ name="jobData"
81
+ >
82
+ <JsonEditorVue
83
+ v-model="state.jobData"
84
+ :main-menu-bar="false"
85
+ mode="text"
86
+ />
87
+ </UFormField>
88
+ </div>
89
+ </div>
90
+ <template #footer>
91
+ <div class="flex justify-end">
92
+ <Button
93
+ type="submit"
94
+ color="neutral"
95
+ variant="outline"
96
+ class="cursor-pointer"
97
+ >
98
+ Create
99
+ </Button>
100
+ </div>
101
+ </template>
102
+ </UCard>
103
+ </UForm>
104
+ <div>
105
+ <div
106
+ v-if="scheduler && scheduler.length > 0"
107
+ class="space-y-4"
108
+ >
109
+ <div
110
+ v-for="item of scheduler"
111
+ :key="item.key"
112
+ class="flex flex-col rounded-sm ring-1 ring-gray-200 dark:ring-gray-800 shadow p-4"
113
+ >
114
+ <div class="flex justify-end">
115
+ <Button
116
+ icon="i-heroicons-x-circle"
117
+ color="error"
118
+ variant="outline"
119
+ class="cursor-pointer"
120
+ @click="deleteScheduledJob(item.key)"
121
+ />
122
+ </div>
123
+ <div>
124
+ <span class="text-sm font-bold">Name:</span> {{ item.key }}
125
+ </div>
126
+ <div>
127
+ <span class="text-sm font-bold">Next schedule:</span> {{
128
+ new Date(item.next).toLocaleString("de", {
129
+ day: "numeric",
130
+ month: "short",
131
+ hour: "2-digit",
132
+ minute: "2-digit",
133
+ second: "2-digit",
134
+ hour12: false
135
+ })
136
+ }}
137
+ </div>
138
+ </div>
139
+ </div>
140
+ <div v-else>
141
+ <UAlert
142
+ color="info"
143
+ title="No scheduled jobs"
144
+ variant="subtle"
145
+ icon="i-heroicons-information-circle"
146
+ class="flex items-center space-x-2"
147
+ />
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </template>
152
+
153
+ <script setup>
154
+ import { z } from "zod";
155
+ import { ref, useFetch } from "#imports";
156
+ const props = defineProps({
157
+ queue: { type: String, required: true }
158
+ });
159
+ const jobSchedulerEditor = ref(false);
160
+ const scheduleInputTypes = [
161
+ { label: "Every", value: "every" },
162
+ { label: "Cron", value: "cron" }
163
+ ];
164
+ const {
165
+ data: scheduler,
166
+ refresh
167
+ } = await useFetch(`/api/_queue/${props.queue}/job/scheduler`, {
168
+ method: "GET"
169
+ });
170
+ const state = ref({
171
+ name: void 0,
172
+ scheduleType: "every",
173
+ scheduleValue: void 0,
174
+ jobName: void 0,
175
+ jobData: void 0
176
+ });
177
+ const schema = z.object({
178
+ name: z.string().regex(/^\S*$/gm, "No spaces allowed"),
179
+ scheduleType: z.enum(["every", "cron"]),
180
+ scheduleValue: z.any(),
181
+ jobName: z.string().regex(/^\S*$/gm, "No spaces allowed"),
182
+ jobData: z.string().default("{}")
183
+ });
184
+ async function onSubmit(event) {
185
+ await $fetch(`/api/_queue/${props.queue}/job/scheduler`, {
186
+ method: "POST",
187
+ body: {
188
+ name: event.data.name,
189
+ scheduleType: event.data.scheduleType,
190
+ scheduleValue: event.data.scheduleValue,
191
+ jobName: event.data.jobName,
192
+ jobData: JSON.stringify(event.data.jobData)
193
+ }
194
+ });
195
+ refresh();
196
+ }
197
+ const deleteScheduledJob = async (id) => {
198
+ await $fetch(`/api/_queue/${props.queue}/job/scheduler/${id}`, {
199
+ method: "DELETE"
200
+ });
201
+ refresh();
202
+ };
203
+ </script>
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ queue: string;
3
+ };
4
+ 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>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import type { DropdownMenuItem } from '@nuxt/ui';
2
+ type __VLS_Props = {
3
+ title?: string;
4
+ link: string;
5
+ origin?: string | null;
6
+ dropdown?: DropdownMenuItem[];
7
+ };
8
+ declare var __VLS_24: {};
9
+ type __VLS_Slots = {} & {
10
+ default?: (props: typeof __VLS_24) => any;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
+ title: string;
14
+ origin: string | null;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,70 @@
1
+ <template>
2
+ <div
3
+ :to="link"
4
+ class="rounded-lg divide-y divide-gray-200 dark:divide-gray-800 ring-1 ring-gray-200 dark:ring-gray-800 shadow bg-white dark:bg-gray-900"
5
+ >
6
+ <div class="px-4 py-5 sm:p-6">
7
+ <div class="flex flex-col md:flex-row">
8
+ <div class="flex-none flex flex-col justify-between space-y-2">
9
+ <ULink
10
+ class="inline-flex items-center gap-1"
11
+ @click="push(link)"
12
+ >
13
+ <span class="text-lg font-semibold">{{ title }}</span>
14
+ <UIcon
15
+ name="i-heroicons-arrow-up-right"
16
+ class="w-5 h-5 text-primary-500"
17
+ />
18
+ </ULink>
19
+ <div class="flex flex-wrap items-center gap-2">
20
+ <div class="inline-flex gap-1 items-center">
21
+ <UIcon
22
+ name="i-heroicons-check-circle"
23
+ class="w-4 h-4 text-green-500"
24
+ />
25
+ <span class="text-sm">Active</span>
26
+ </div>
27
+ <UBadge
28
+ v-if="origin"
29
+ size="sm"
30
+ color="neutral"
31
+ >
32
+ <span v-if="origin === 'local'">Local</span>
33
+ <span v-if="origin === 'remote'">Remote</span>
34
+ </UBadge>
35
+ </div>
36
+ </div>
37
+ <div class="grow pr-12">
38
+ <div class="flex flex-row gap-4 justify-end">
39
+ <slot />
40
+ </div>
41
+ </div>
42
+ <div class="flex-none">
43
+ <div class="flex gap-2 items-center">
44
+ <UDropdownMenu
45
+ :items="dropdown"
46
+ >
47
+ <UButton
48
+ icon="i-heroicons-ellipsis-vertical"
49
+ color="neutral"
50
+ variant="outline"
51
+ />
52
+ </UDropdownMenu>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ </template>
59
+
60
+ <script setup>
61
+ import { useComponentRouter } from "#imports";
62
+ import { ULink, UDropdownMenu, UButton, UIcon, UBadge } from "#components";
63
+ defineProps({
64
+ title: { type: String, required: false, default: "" },
65
+ link: { type: String, required: true },
66
+ origin: { type: [String, null], required: false, default: null },
67
+ dropdown: { type: Array, required: false }
68
+ });
69
+ const { push } = useComponentRouter();
70
+ </script>
@@ -0,0 +1,23 @@
1
+ import type { DropdownMenuItem } from '@nuxt/ui';
2
+ type __VLS_Props = {
3
+ title?: string;
4
+ link: string;
5
+ origin?: string | null;
6
+ dropdown?: DropdownMenuItem[];
7
+ };
8
+ declare var __VLS_24: {};
9
+ type __VLS_Slots = {} & {
10
+ default?: (props: typeof __VLS_24) => any;
11
+ };
12
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
+ title: string;
14
+ origin: string | null;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,45 @@
1
+ interface QueueConfig {
2
+ name?: string;
3
+ prefix?: string;
4
+ limiter?: {
5
+ max?: number;
6
+ duration?: number;
7
+ groupKey?: string;
8
+ };
9
+ defaultJobOptions?: {
10
+ attempts?: number;
11
+ backoff?: {
12
+ type?: string;
13
+ delay?: number;
14
+ };
15
+ priority?: number;
16
+ timeout?: number;
17
+ removeOnComplete?: boolean | number;
18
+ removeOnFail?: boolean | number;
19
+ };
20
+ }
21
+ interface WorkerConfig {
22
+ concurrency?: number;
23
+ lockDurationMs?: number;
24
+ maxStalledCount?: number;
25
+ drainDelayMs?: number;
26
+ pollingIntervalMs?: number;
27
+ autorun?: boolean;
28
+ }
29
+ interface Props {
30
+ queueName: string;
31
+ queueConfig?: QueueConfig;
32
+ workerConfig?: WorkerConfig;
33
+ }
34
+ type __VLS_Props = Props;
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>;
44
+ declare const _default: typeof __VLS_export;
45
+ export default _default;