bosun 0.41.0 → 0.41.2
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/.env.example +8 -0
- package/README.md +20 -0
- package/agent/agent-event-bus.mjs +248 -6
- package/agent/agent-pool.mjs +125 -28
- package/agent/agent-work-analyzer.mjs +8 -16
- package/agent/retry-queue.mjs +164 -0
- package/bosun.config.example.json +25 -0
- package/bosun.schema.json +825 -183
- package/cli.mjs +59 -5
- package/config/config.mjs +130 -3
- package/infra/monitor.mjs +693 -67
- package/infra/runtime-accumulator.mjs +376 -84
- package/infra/session-tracker.mjs +82 -25
- package/lib/codebase-audit.mjs +133 -18
- package/package.json +23 -4
- package/server/setup-web-server.mjs +25 -0
- package/server/ui-server.mjs +248 -29
- package/setup.mjs +27 -24
- package/shell/codex-shell.mjs +34 -3
- package/shell/copilot-shell.mjs +50 -8
- package/task/msg-hub.mjs +193 -0
- package/task/pipeline.mjs +544 -0
- package/task/task-cli.mjs +38 -2
- package/task/task-executor-pipeline.mjs +143 -0
- package/task/task-executor.mjs +36 -27
- package/telegram/get-telegram-chat-id.mjs +57 -47
- package/ui/components/workspace-switcher.js +7 -7
- package/ui/demo-defaults.js +15694 -10573
- package/ui/modules/settings-schema.js +2 -0
- package/ui/modules/state.js +54 -57
- package/ui/modules/voice-client-sdk.js +375 -36
- package/ui/modules/voice-client.js +140 -31
- package/ui/setup.html +68 -2
- package/ui/styles/components.css +57 -0
- package/ui/styles.css +201 -1
- package/ui/tabs/dashboard.js +74 -0
- package/ui/tabs/logs.js +10 -0
- package/ui/tabs/settings.js +178 -99
- package/ui/tabs/tasks.js +31 -1
- package/ui/tabs/telemetry.js +34 -0
- package/ui/tabs/workflow-canvas-utils.mjs +8 -1
- package/ui/tabs/workflows.js +532 -275
- package/voice/voice-agents-sdk.mjs +1 -1
- package/voice/voice-relay.mjs +6 -6
- package/workflow/declarative-workflows.mjs +145 -0
- package/workflow/msg-hub.mjs +237 -0
- package/workflow/pipeline-workflows.mjs +287 -0
- package/workflow/pipeline.mjs +828 -315
- package/workflow/workflow-cli.mjs +128 -0
- package/workflow/workflow-engine.mjs +329 -17
- package/workflow/workflow-nodes/custom-loader.mjs +250 -0
- package/workflow/workflow-nodes.mjs +1955 -223
- package/workflow/workflow-templates.mjs +26 -8
- package/workflow-templates/agents.mjs +0 -1
- package/workflow-templates/bosun-native.mjs +212 -2
- package/workflow-templates/continuation-loop.mjs +339 -0
- package/workflow-templates/github.mjs +516 -40
- package/workflow-templates/planning.mjs +446 -17
- package/workflow-templates/reliability.mjs +65 -12
- package/workflow-templates/task-batch.mjs +24 -8
- package/workflow-templates/task-lifecycle.mjs +83 -6
- package/workspace/context-cache.mjs +66 -18
- package/workspace/workspace-manager.mjs +2 -1
- package/workflow-templates/issue-continuation.mjs +0 -243
|
@@ -64,6 +64,9 @@ export function parseGraphSnapshot(snapshot) {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
export const HISTORY_LIMIT = 50;
|
|
68
|
+
export const HISTORY_COMMIT_DEBOUNCE_MS = 220;
|
|
69
|
+
|
|
67
70
|
export function createHistoryState(nodes = [], edges = []) {
|
|
68
71
|
return {
|
|
69
72
|
past: [],
|
|
@@ -121,11 +124,15 @@ export function redoHistory(history, limit = 50) {
|
|
|
121
124
|
|
|
122
125
|
export function getNodeSearchMetadata(nodeType) {
|
|
123
126
|
const schemaProps = Object.keys(nodeType?.schema?.properties || {});
|
|
127
|
+
const declaredInputs = Array.isArray(nodeType?.inputs)
|
|
128
|
+
? nodeType.inputs.filter((value) => typeof value === "string" && value.trim())
|
|
129
|
+
: [];
|
|
130
|
+
const mergedInputs = [...new Set([...declaredInputs, ...schemaProps])];
|
|
124
131
|
const outputs = Array.isArray(nodeType?.outputs) && nodeType.outputs.length ? nodeType.outputs : ["default"];
|
|
125
132
|
return {
|
|
126
133
|
category: nodeType?.category || String(nodeType?.type || "").split(".")[0] || "other",
|
|
127
134
|
description: String(nodeType?.description || ""),
|
|
128
|
-
inputs:
|
|
135
|
+
inputs: mergedInputs,
|
|
129
136
|
label: getLabel(nodeType?.type),
|
|
130
137
|
outputs,
|
|
131
138
|
type: String(nodeType?.type || ""),
|