chore: import upstream snapshot with attribution
Validate YAML Workflows / Validate YAML Configuration Files (push) Has been cancelled
@@ -0,0 +1,24 @@
|
||||
.git
|
||||
.gitignore
|
||||
.gitattributes
|
||||
|
||||
*.pyc
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
.idea/
|
||||
.vscode/
|
||||
__pycache__/
|
||||
.venv/
|
||||
env/
|
||||
venv/
|
||||
.uv-cache
|
||||
.env
|
||||
.env.*
|
||||
|
||||
node_modules/
|
||||
temp/
|
||||
logs
|
||||
|
||||
README*
|
||||
compose.yml
|
||||
Dockerfile
|
||||
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@@ -0,0 +1,15 @@
|
||||
# ---- Dependencies: install node_modules once (cached) ----
|
||||
FROM node:24-alpine AS deps
|
||||
WORKDIR /app
|
||||
COPY package*.json ./
|
||||
# Prefer reproducible installs; fall back if no lockfile
|
||||
RUN npm ci --no-audit --no-fund || npm install --no-audit --no-fund
|
||||
|
||||
# ---- Dev runtime: hot-reload server ----
|
||||
FROM node:24-alpine AS dev
|
||||
WORKDIR /app
|
||||
ENV NODE_ENV=development
|
||||
COPY --from=deps /app/node_modules /app/node_modules
|
||||
COPY . .
|
||||
EXPOSE 5173
|
||||
CMD ["npm", "run", "dev", "--", "--host"]
|
||||
@@ -0,0 +1,9 @@
|
||||
import js from "@eslint/js";
|
||||
import globals from "globals";
|
||||
import pluginVue from "eslint-plugin-vue";
|
||||
import { defineConfig } from "eslint/config";
|
||||
|
||||
export default defineConfig([
|
||||
{ files: ["**/*.{js,mjs,cjs,vue}"], plugins: { js }, extends: ["js/recommended"], languageOptions: { globals: globals.browser } },
|
||||
pluginVue.configs["flat/essential"],
|
||||
]);
|
||||
@@ -0,0 +1,16 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/png" href="/media/logo.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>DevAll</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "devall",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"license": "Apache-2.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@vue-flow/background": "^1.3.2",
|
||||
"@vue-flow/controls": "^1.1.3",
|
||||
"@vue-flow/core": "^1.47.0",
|
||||
"@vue-flow/minimap": "^1.5.4",
|
||||
"js-yaml": "^4.1.0",
|
||||
"markdown-it": "^14.1.0",
|
||||
"markdown-it-anchor": "^9.2.0",
|
||||
"vue": "^3.5.22",
|
||||
"vue-i18n": "^11.3.0",
|
||||
"vue-router": "^4.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.39.1",
|
||||
"@vitejs/plugin-vue": "^6.0.1",
|
||||
"cross-env": "^10.1.0",
|
||||
"eslint": "^9.39.1",
|
||||
"eslint-plugin-vue": "^10.5.1",
|
||||
"globals": "^16.5.0",
|
||||
"vite": "^7.1.7"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,255 @@
|
||||
version: <string> | "0.0.0"
|
||||
vars:
|
||||
<key>: <value> | required
|
||||
graph:
|
||||
id: <string> | required
|
||||
description: <text> | None
|
||||
log_level: <enum:LogLevel> | [DEBUG, INFO, WARNING, ERROR, CRITICAL]
|
||||
is_majority_voting: <bool> | false
|
||||
nodes:
|
||||
- id: <string> | required
|
||||
type: <string> | [model, agent, human, subgraph, python, passthrough, literal]
|
||||
description: <string> | None
|
||||
context_window: <int> | 0
|
||||
config:
|
||||
<variant[config]=model>:
|
||||
name: <string> | required
|
||||
role: <text> | None
|
||||
provider: <string> | [openai, gemini]
|
||||
base_url: <string> | "${BASE_URL}"
|
||||
api_key: <string> | "${API_KEY}"
|
||||
params:
|
||||
<key>: <value> | required
|
||||
tooling:
|
||||
type: <string> | [function, mcp_remote, mcp_local]
|
||||
config:
|
||||
<variant[config]=function>:
|
||||
tools:
|
||||
- name: <string> | [call_user, describe_available_files, execute_code,
|
||||
get_city_num, get_weather, get_webpage_content, install_python_packages,
|
||||
iter_workspace_entries, load_file, load_image, read_text_file_snippet,
|
||||
save_file, web_search]
|
||||
description: <string> | None
|
||||
parameters: <object> | None
|
||||
auto_fill: <bool> | true
|
||||
timeout: <float> | None
|
||||
<variant[config]=mcp_remote>:
|
||||
server: <string> | required
|
||||
headers:
|
||||
<key>: <value> | required
|
||||
timeout: <float> | None
|
||||
<variant[config]=mcp_local>:
|
||||
command: <string> | required
|
||||
args:
|
||||
- <string> | None
|
||||
cwd: <string> | None
|
||||
env:
|
||||
<key>: <value> | required
|
||||
inherit_env: <bool> | true
|
||||
startup_timeout: <float> | 10.0
|
||||
wait_for_log: <string> | None
|
||||
thinking:
|
||||
type: <string> | [reflection]
|
||||
config:
|
||||
<variant[config]=reflection>:
|
||||
reflection_prompt: <string> | required
|
||||
memories:
|
||||
- name: <string> | required
|
||||
retrieve_stage:
|
||||
- <AgentExecFlowStage> | [pre_gen_thinking, gen, post_gen_thinking, finished]
|
||||
top_k: <int> | 3
|
||||
similarity_threshold: <float> | -1.0
|
||||
read: <bool> | true
|
||||
write: <bool> | true
|
||||
retry:
|
||||
enabled: <bool> | true
|
||||
max_attempts: <int> | 5
|
||||
min_wait_seconds: <float> | 1.0
|
||||
max_wait_seconds: <float> | 6.0
|
||||
retry_on_status_codes:
|
||||
- <int> | None
|
||||
retry_on_exception_types:
|
||||
- <string> | None
|
||||
non_retry_exception_types:
|
||||
- <string> | None
|
||||
retry_on_error_substrings:
|
||||
- <string> | None
|
||||
<variant[config]=agent>:
|
||||
url: <string> | required
|
||||
<variant[config]=human>:
|
||||
description: <text> | None
|
||||
<variant[config]=subgraph>:
|
||||
type: <string> | [config, file]
|
||||
config:
|
||||
<variant[config]=config>:
|
||||
id: <string> | required
|
||||
description: <string> | None
|
||||
log_level: <enum:LogLevel> | [DEBUG, INFO, WARNING, ERROR, CRITICAL]
|
||||
is_majority_voting: <bool> | false
|
||||
nodes:
|
||||
- '<recursive[Node] path: DesignConfig → GraphDefinition → Node → SubgraphConfig → SubgraphInlineConfig → Node>': See
|
||||
earlier definition to avoid infinite recursion
|
||||
edges:
|
||||
- from: <string> | required
|
||||
to: <string> | required
|
||||
trigger: <bool> | true
|
||||
condition:
|
||||
type: <string> | [function, keyword]
|
||||
config:
|
||||
<variant[config]=function>:
|
||||
name: <string> | [true, always_false, code_fail, code_pass, contains_keyword,
|
||||
length_greater_than_5, need_reflection_loop, not_contains_keyword,
|
||||
should_stop_loop]
|
||||
<variant[config]=keyword>:
|
||||
any:
|
||||
- <string> | None
|
||||
none:
|
||||
- <string> | None
|
||||
regex:
|
||||
- <string> | None
|
||||
case_sensitive: <bool> | true
|
||||
carry_data: <bool> | true
|
||||
keep_message: <bool> | false
|
||||
process:
|
||||
type: <string> | [regex_extract, function]
|
||||
config:
|
||||
<variant[config]=regex_extract>:
|
||||
pattern: <string> | required
|
||||
group: <string> | None
|
||||
case_sensitive: <bool> | true
|
||||
multiline: <bool> | false
|
||||
dotall: <bool> | false
|
||||
multiple: <bool> | false
|
||||
mode: <enum> | [replace_content, metadata, data_block]
|
||||
metadata_key: <string> | None
|
||||
data_key: <string> | None
|
||||
template: <string> | None
|
||||
on_no_match: <enum> | [pass, default, drop]
|
||||
default_value: <string> | None
|
||||
<variant[config]=function>:
|
||||
name: <string> | [uppercase_payload]
|
||||
memory:
|
||||
- name: <string> | required
|
||||
type: <string> | [simple, file, blackboard]
|
||||
config:
|
||||
<variant[config]=simple>:
|
||||
memory_path: <string> | None
|
||||
embedding:
|
||||
provider: <string> | "openai"
|
||||
model: <string> | "text-embedding-3-small"
|
||||
api_key: <string> | "${API_KEY}"
|
||||
base_url: <string> | "${BASE_URL}"
|
||||
params:
|
||||
<key>: <value> | required
|
||||
<variant[config]=file>:
|
||||
index_path: <string> | None
|
||||
file_sources:
|
||||
- path: <string> | required
|
||||
file_types:
|
||||
- <string> | None
|
||||
recursive: <bool> | true
|
||||
encoding: <string> | "utf-8"
|
||||
embedding:
|
||||
provider: <string> | "openai"
|
||||
model: <string> | "text-embedding-3-small"
|
||||
api_key: <string> | "${API_KEY}"
|
||||
base_url: <string> | "${BASE_URL}"
|
||||
params:
|
||||
<key>: <value> | required
|
||||
<variant[config]=blackboard>:
|
||||
memory_path: <string> | "auto"
|
||||
max_items: <int> | 1000
|
||||
vars:
|
||||
<key>: <value> | required
|
||||
organization: <string> | None
|
||||
initial_instruction: <string> | None
|
||||
start: <string | list[str]> | None
|
||||
end: <string | list[str]> | None
|
||||
<variant[config]=file>:
|
||||
path: <string> | required
|
||||
<variant[config]=python>:
|
||||
interpreter: <string>
|
||||
args:
|
||||
- <string> | None
|
||||
env:
|
||||
<key>: <value> | required
|
||||
timeout_seconds: <int> | 60
|
||||
encoding: <string> | "utf-8"
|
||||
<variant[config]=passthrough>: {}
|
||||
<variant[config]=literal>:
|
||||
content: <string> | required
|
||||
role: <string> | [user, assistant]
|
||||
edges:
|
||||
- from: <string> | required
|
||||
to: <string> | required
|
||||
trigger: <bool> | true
|
||||
condition:
|
||||
type: <string> | [function, keyword]
|
||||
config:
|
||||
<variant[config]=function>:
|
||||
name: <string> | [true, always_false, code_fail, code_pass, contains_keyword,
|
||||
length_greater_than_5, need_reflection_loop, not_contains_keyword, should_stop_loop]
|
||||
<variant[config]=keyword>:
|
||||
any:
|
||||
- <string> | None
|
||||
none:
|
||||
- <string> | None
|
||||
regex:
|
||||
- <string> | None
|
||||
case_sensitive: <bool> | true
|
||||
carry_data: <bool> | true
|
||||
keep_message: <bool> | false
|
||||
process:
|
||||
type: <string> | [regex_extract, function]
|
||||
config:
|
||||
<variant[config]=regex_extract>:
|
||||
pattern: <string> | required
|
||||
group: <string> | None
|
||||
case_sensitive: <bool> | true
|
||||
multiline: <bool> | false
|
||||
dotall: <bool> | false
|
||||
multiple: <bool> | false
|
||||
mode: <enum> | [replace_content, metadata, data_block]
|
||||
metadata_key: <string> | None
|
||||
data_key: <string> | None
|
||||
template: <string> | None
|
||||
on_no_match: <enum> | [pass, default, drop]
|
||||
default_value: <string> | None
|
||||
<variant[config]=function>:
|
||||
name: <string> | [uppercase_payload]
|
||||
memory:
|
||||
- name: <string> | required
|
||||
type: <string> | [simple, file, blackboard]
|
||||
config:
|
||||
<variant[config]=simple>:
|
||||
memory_path: <string> | None
|
||||
embedding:
|
||||
provider: <string> | "openai"
|
||||
model: <string> | "text-embedding-3-small"
|
||||
api_key: <string> | "${API_KEY}"
|
||||
base_url: <string> | "${BASE_URL}"
|
||||
params:
|
||||
<key>: <value> | required
|
||||
<variant[config]=file>:
|
||||
index_path: <string> | None
|
||||
file_sources:
|
||||
- path: <string> | required
|
||||
file_types:
|
||||
- <string> | None
|
||||
recursive: <bool> | true
|
||||
encoding: <string> | "utf-8"
|
||||
embedding:
|
||||
provider: <string> | "openai"
|
||||
model: <string> | "text-embedding-3-small"
|
||||
api_key: <string> | "${API_KEY}"
|
||||
base_url: <string> | "${BASE_URL}"
|
||||
params:
|
||||
<key>: <value> | required
|
||||
<variant[config]=blackboard>:
|
||||
memory_path: <string> | "auto"
|
||||
max_items: <int> | 1000
|
||||
initial_instruction: <text> | None
|
||||
start:
|
||||
- <string> | None
|
||||
end:
|
||||
- <string> | None
|
||||
|
After Width: | Height: | Size: 230 KiB |
|
After Width: | Height: | Size: 214 KiB |
|
After Width: | Height: | Size: 297 KiB |
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 293 KiB |
|
After Width: | Height: | Size: 5.4 MiB |
|
After Width: | Height: | Size: 2.5 MiB |
|
After Width: | Height: | Size: 8.9 MiB |
|
After Width: | Height: | Size: 4.0 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 317 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 3.5 MiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 3.4 MiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 187 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 143 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 5.0 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 75 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 60 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 88 KiB |