arkaos 3.64.0 → 3.65.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/VERSION +1 -1
- package/dashboard/app/pages/workflows.vue +41 -7
- package/package.json +1 -1
- package/pyproject.toml +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.65.0
|
|
@@ -103,6 +103,29 @@ function gateColor(gateType: string): 'primary' | 'warning' | 'error' | 'neutral
|
|
|
103
103
|
return m[gateType] ?? 'neutral'
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
// PR98c v3.65.0 — copy a workflow's command to the clipboard so the
|
|
107
|
+
// operator can paste it into their runtime (Claude Code / Codex / Gemini).
|
|
108
|
+
// We can't run workflows from the dashboard — they orchestrate through
|
|
109
|
+
// the runtime's skill system, not via subprocess.
|
|
110
|
+
async function copyCommand(cmd: string) {
|
|
111
|
+
if (!cmd || typeof navigator === 'undefined' || !navigator.clipboard) return
|
|
112
|
+
try {
|
|
113
|
+
await navigator.clipboard.writeText(cmd)
|
|
114
|
+
toast.add({
|
|
115
|
+
title: 'Command copied',
|
|
116
|
+
description: `${cmd} — paste into your runtime to run`,
|
|
117
|
+
color: 'success',
|
|
118
|
+
icon: 'i-lucide-clipboard-check',
|
|
119
|
+
})
|
|
120
|
+
} catch {
|
|
121
|
+
toast.add({
|
|
122
|
+
title: 'Clipboard failed',
|
|
123
|
+
description: 'Browser blocked clipboard access',
|
|
124
|
+
color: 'error',
|
|
125
|
+
})
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
106
129
|
async function loadRuns(id: string) {
|
|
107
130
|
runsLoading.value = true
|
|
108
131
|
try {
|
|
@@ -259,13 +282,24 @@ const columns: TableColumn<Workflow>[] = [
|
|
|
259
282
|
<p class="font-semibold truncate">{{ selected.name }}</p>
|
|
260
283
|
<p class="text-xs text-muted font-mono truncate">{{ selected.file }}</p>
|
|
261
284
|
</div>
|
|
262
|
-
<
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
285
|
+
<div class="flex items-center gap-1">
|
|
286
|
+
<UButton
|
|
287
|
+
v-if="selected.command"
|
|
288
|
+
label="Copy command"
|
|
289
|
+
icon="i-lucide-clipboard-copy"
|
|
290
|
+
variant="soft"
|
|
291
|
+
color="primary"
|
|
292
|
+
size="xs"
|
|
293
|
+
@click="copyCommand(selected.command)"
|
|
294
|
+
/>
|
|
295
|
+
<UButton
|
|
296
|
+
icon="i-lucide-x"
|
|
297
|
+
variant="ghost"
|
|
298
|
+
size="xs"
|
|
299
|
+
aria-label="Close preview"
|
|
300
|
+
@click="selected = null"
|
|
301
|
+
/>
|
|
302
|
+
</div>
|
|
269
303
|
</div>
|
|
270
304
|
<p v-if="selected.description" class="text-xs text-muted mt-2">
|
|
271
305
|
{{ selected.description }}
|
package/package.json
CHANGED