arkaos 3.29.0 → 3.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/VERSION +1 -1
- package/core/runtime/__pycache__/llm_provider.cpython-313.pyc +0 -0
- package/dashboard/app/pages/agents/[id].vue +43 -0
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/scripts/__pycache__/dashboard-api.cpython-313.pyc +0 -0
- package/scripts/dashboard-api.py +24 -0
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.30.0
|
|
Binary file
|
|
@@ -105,6 +105,41 @@ function markedHtml(src: string): string {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
// PR89d v3.30.0 — download YAML.
|
|
109
|
+
const downloadingYaml = ref(false)
|
|
110
|
+
async function downloadYaml() {
|
|
111
|
+
if (!agent.value) return
|
|
112
|
+
downloadingYaml.value = true
|
|
113
|
+
try {
|
|
114
|
+
const blob = await $fetch<Blob>(
|
|
115
|
+
`${apiBase}/api/agents/${agentId}/yaml`,
|
|
116
|
+
{ responseType: 'blob' },
|
|
117
|
+
)
|
|
118
|
+
const url = URL.createObjectURL(blob)
|
|
119
|
+
const a = document.createElement('a')
|
|
120
|
+
a.href = url
|
|
121
|
+
a.download = `${agentId}.yaml`
|
|
122
|
+
document.body.appendChild(a)
|
|
123
|
+
a.click()
|
|
124
|
+
a.remove()
|
|
125
|
+
URL.revokeObjectURL(url)
|
|
126
|
+
toast.add({
|
|
127
|
+
title: 'YAML downloaded',
|
|
128
|
+
description: `${agentId}.yaml`,
|
|
129
|
+
color: 'success',
|
|
130
|
+
icon: 'i-lucide-download',
|
|
131
|
+
})
|
|
132
|
+
} catch (err) {
|
|
133
|
+
toast.add({
|
|
134
|
+
title: 'Download failed',
|
|
135
|
+
description: err instanceof Error ? err.message : 'unknown error',
|
|
136
|
+
color: 'error',
|
|
137
|
+
})
|
|
138
|
+
} finally {
|
|
139
|
+
downloadingYaml.value = false
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
108
143
|
// PR86c v3.17.0 — export to Obsidian.
|
|
109
144
|
const exporting = ref(false)
|
|
110
145
|
async function exportToVault() {
|
|
@@ -359,6 +394,14 @@ function formatTokens(n: number): string {
|
|
|
359
394
|
:loading="exporting"
|
|
360
395
|
@click="exportToVault"
|
|
361
396
|
/>
|
|
397
|
+
<UButton
|
|
398
|
+
label="YAML"
|
|
399
|
+
icon="i-lucide-download"
|
|
400
|
+
variant="ghost"
|
|
401
|
+
size="sm"
|
|
402
|
+
:loading="downloadingYaml"
|
|
403
|
+
@click="downloadYaml"
|
|
404
|
+
/>
|
|
362
405
|
<UButton
|
|
363
406
|
label="Edit"
|
|
364
407
|
icon="i-lucide-pencil"
|
package/package.json
CHANGED
package/pyproject.toml
CHANGED
|
Binary file
|
package/scripts/dashboard-api.py
CHANGED
|
@@ -322,6 +322,30 @@ def agent_activity_strip(agent_id: str, period: str = "month"):
|
|
|
322
322
|
}
|
|
323
323
|
|
|
324
324
|
|
|
325
|
+
@app.get("/api/agents/{agent_id}/yaml")
|
|
326
|
+
def agent_download_yaml(agent_id: str):
|
|
327
|
+
"""PR89d v3.30.0 — return the raw YAML for the agent.
|
|
328
|
+
|
|
329
|
+
Responds with ``application/x-yaml`` and an attachment Content-
|
|
330
|
+
Disposition so browsers prompt a Save As. Refuses unknown agents.
|
|
331
|
+
"""
|
|
332
|
+
yaml_file = _resolve_agent_yaml(agent_id)
|
|
333
|
+
if yaml_file is None:
|
|
334
|
+
return {"error": "Agent not found"}
|
|
335
|
+
try:
|
|
336
|
+
content = yaml_file.read_text(encoding="utf-8")
|
|
337
|
+
except OSError as exc:
|
|
338
|
+
return {"error": f"read failed: {exc}"}
|
|
339
|
+
from fastapi import Response
|
|
340
|
+
return Response(
|
|
341
|
+
content=content,
|
|
342
|
+
media_type="application/x-yaml",
|
|
343
|
+
headers={
|
|
344
|
+
"Content-Disposition": f'attachment; filename="{yaml_file.name}"',
|
|
345
|
+
},
|
|
346
|
+
)
|
|
347
|
+
|
|
348
|
+
|
|
325
349
|
@app.get("/api/agents/{agent_id}/history")
|
|
326
350
|
def agent_history(agent_id: str, limit: int = 20):
|
|
327
351
|
"""PR88d v3.26.0 — combined history for an agent.
|