aidevops 3.21.12 → 3.22.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/README.md +1 -1
- package/VERSION +1 -1
- package/aidevops.sh +3 -2
- package/bun.lock +573 -0
- package/package.json +12 -1
- package/packages/gui-api/package.json +9 -0
- package/packages/gui-api/src/app.ts +49 -0
- package/packages/gui-api/src/file-adapter.ts +207 -0
- package/packages/gui-api/src/server.ts +12 -0
- package/packages/gui-api/src/status-adapter-utils.ts +108 -0
- package/packages/gui-api/src/status-adapter.ts +484 -0
- package/packages/gui-api/src/status-local-repos.ts +239 -0
- package/packages/gui-desktop/package.json +6 -0
- package/packages/gui-desktop/scripts/install-macos-app.sh +1020 -0
- package/packages/gui-shared/package.json +9 -0
- package/packages/gui-shared/src/contracts.ts +341 -0
- package/packages/gui-shared/src/fixtures.ts +250 -0
- package/packages/gui-shared/src/index.ts +2 -0
- package/packages/gui-web/index.html +24 -0
- package/packages/gui-web/package.json +25 -0
- package/packages/gui-web/src/App.tsx +269 -0
- package/packages/gui-web/src/AppNavigation.tsx +379 -0
- package/packages/gui-web/src/AppWorkspace.tsx +114 -0
- package/packages/gui-web/src/FileExplorerSurface.tsx +153 -0
- package/packages/gui-web/src/InventorySurfaces.tsx +117 -0
- package/packages/gui-web/src/PathActions.tsx +17 -0
- package/packages/gui-web/src/StatusSurfaces.tsx +396 -0
- package/packages/gui-web/src/app-model.ts +546 -0
- package/packages/gui-web/src/dashboard.ts +79 -0
- package/packages/gui-web/src/main.tsx +24 -0
- package/packages/gui-web/src/status-client.ts +93 -0
- package/packages/gui-web/src/styles.css +1540 -0
- package/packages/gui-web/vite.config.ts +14 -0
- package/setup.sh +78 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import react from "@vitejs/plugin-react";
|
|
2
|
+
import { defineConfig } from "vite";
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
plugins: [react()],
|
|
6
|
+
root: "packages/gui-web",
|
|
7
|
+
server: {
|
|
8
|
+
host: "127.0.0.1",
|
|
9
|
+
port: 5173,
|
|
10
|
+
proxy: {
|
|
11
|
+
"/api": "http://127.0.0.1:8787",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
});
|
package/setup.sh
CHANGED
|
@@ -12,7 +12,7 @@ shopt -s inherit_errexit 2>/dev/null || true
|
|
|
12
12
|
# AI Assistant Server Access Framework Setup Script
|
|
13
13
|
# Helps developers set up the framework for their infrastructure
|
|
14
14
|
#
|
|
15
|
-
# Version: 3.
|
|
15
|
+
# Version: 3.22.0
|
|
16
16
|
#
|
|
17
17
|
# Quick Install:
|
|
18
18
|
# npm install -g aidevops && aidevops update (recommended)
|
|
@@ -37,6 +37,8 @@ SETUP_STAGE_AGENTS="deploy_aidevops_agents"
|
|
|
37
37
|
SETUP_STAGE_HOOKS="setup_safety_hooks"
|
|
38
38
|
SETUP_STAGE_TABBY="setup_tabby"
|
|
39
39
|
SETUP_STAGE_PULSE="setup_supervisor_pulse"
|
|
40
|
+
SETUP_STAGE_GUI_DESKTOP="setup_gui_desktop_app"
|
|
41
|
+
SETUP_GUI_APP_NAME="aidevops.app"
|
|
40
42
|
SETUP_OS_DARWIN="Darwin"
|
|
41
43
|
# Python compatibility floor used by setup checks and skill/tool gating.
|
|
42
44
|
# Keep in sync with .agents/scripts/setup/modules/plugins.sh requirements.
|
|
@@ -390,8 +392,9 @@ parse_args() {
|
|
|
390
392
|
echo "Use --clean after removing or renaming agents to sync deletions."
|
|
391
393
|
echo "Use --interactive to control each step individually."
|
|
392
394
|
echo "Use --non-interactive for CI/CD or AI agent shells (no stdin required)."
|
|
393
|
-
echo "Use --stage for targeted updates: opencode, agents, hooks, tabby, pulse, full."
|
|
394
|
-
echo "Stage aliases: ${SETUP_STAGE_OPENCODE}, ${SETUP_STAGE_AGENTS}, ${SETUP_STAGE_HOOKS}, ${SETUP_STAGE_TABBY}, ${SETUP_STAGE_PULSE}."
|
|
395
|
+
echo "Use --stage for targeted updates: opencode, agents, hooks, tabby, pulse, gui-desktop, full."
|
|
396
|
+
echo "Stage aliases: ${SETUP_STAGE_OPENCODE}, ${SETUP_STAGE_AGENTS}, ${SETUP_STAGE_HOOKS}, ${SETUP_STAGE_TABBY}, ${SETUP_STAGE_PULSE}, ${SETUP_STAGE_GUI_DESKTOP}."
|
|
397
|
+
echo "Install ${SETUP_GUI_APP_NAME} explicitly with --stage gui-desktop or AIDEVOPS_GUI_DESKTOP_INSTALL=true."
|
|
395
398
|
echo "Use --update to check for tool updates after setup completes."
|
|
396
399
|
exit 0
|
|
397
400
|
;;
|
|
@@ -415,6 +418,7 @@ _setup_print_stage_help() {
|
|
|
415
418
|
printf ' hooks | %s Install safety hooks only\n' "$SETUP_STAGE_HOOKS"
|
|
416
419
|
printf ' tabby | %s Sync Tabby profiles only\n' "$SETUP_STAGE_TABBY"
|
|
417
420
|
printf ' pulse | %s Install/refresh pulse scheduler only\n' "$SETUP_STAGE_PULSE"
|
|
421
|
+
printf ' gui-desktop | gui | app | %s Install native macOS %s only\n' "$SETUP_STAGE_GUI_DESKTOP" "$SETUP_GUI_APP_NAME"
|
|
418
422
|
printf '%s\n' " full Run the default full setup path"
|
|
419
423
|
return 0
|
|
420
424
|
}
|
|
@@ -427,6 +431,7 @@ _setup_canonical_stage() {
|
|
|
427
431
|
hooks | "$SETUP_STAGE_HOOKS") printf '%s' "$SETUP_STAGE_HOOKS" ;;
|
|
428
432
|
tabby | "$SETUP_STAGE_TABBY") printf '%s' "$SETUP_STAGE_TABBY" ;;
|
|
429
433
|
pulse | "$SETUP_STAGE_PULSE") printf '%s' "$SETUP_STAGE_PULSE" ;;
|
|
434
|
+
gui-desktop | gui | app | "$SETUP_STAGE_GUI_DESKTOP") printf '%s' "$SETUP_STAGE_GUI_DESKTOP" ;;
|
|
430
435
|
full) printf '%s' "full" ;;
|
|
431
436
|
*) return 1 ;;
|
|
432
437
|
esac
|
|
@@ -443,6 +448,71 @@ _setup_validate_stage() {
|
|
|
443
448
|
return 1
|
|
444
449
|
}
|
|
445
450
|
|
|
451
|
+
_setup_gui_desktop_install_opted_in() {
|
|
452
|
+
local flag="${AIDEVOPS_GUI_DESKTOP_INSTALL:-false}"
|
|
453
|
+
case "$flag" in
|
|
454
|
+
1 | true | TRUE | yes | YES | on | ON)
|
|
455
|
+
return 0
|
|
456
|
+
;;
|
|
457
|
+
esac
|
|
458
|
+
return 1
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
setup_gui_desktop_app() {
|
|
462
|
+
local installer="${INSTALL_DIR}/packages/gui-desktop/scripts/install-macos-app.sh"
|
|
463
|
+
local os=""
|
|
464
|
+
local rc=0
|
|
465
|
+
|
|
466
|
+
os="$(uname -s)"
|
|
467
|
+
if [[ "$os" != "$SETUP_OS_DARWIN" ]]; then
|
|
468
|
+
print_skip "$SETUP_GUI_APP_NAME" "macOS only" "Run this stage from macOS when the desktop app is needed."
|
|
469
|
+
setup_track_skipped "$SETUP_GUI_APP_NAME" "macOS only"
|
|
470
|
+
return 0
|
|
471
|
+
fi
|
|
472
|
+
|
|
473
|
+
if [[ ! -f "$installer" ]]; then
|
|
474
|
+
print_warning "${SETUP_GUI_APP_NAME} installer not found at: $installer"
|
|
475
|
+
setup_track_deferred "$SETUP_GUI_APP_NAME" "Update aidevops, then run: aidevops setup --scope gui-desktop"
|
|
476
|
+
return 0
|
|
477
|
+
fi
|
|
478
|
+
|
|
479
|
+
bash "$installer" || rc=$?
|
|
480
|
+
if [[ "$rc" -eq 0 ]]; then
|
|
481
|
+
setup_track_configured "$SETUP_GUI_APP_NAME"
|
|
482
|
+
return 0
|
|
483
|
+
fi
|
|
484
|
+
|
|
485
|
+
print_warning "${SETUP_GUI_APP_NAME} install skipped after installer exit $rc (non-fatal)"
|
|
486
|
+
setup_track_deferred "$SETUP_GUI_APP_NAME" "Install requirements, then run: aidevops setup --scope gui-desktop"
|
|
487
|
+
return 0
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
_setup_offer_gui_desktop_app() {
|
|
491
|
+
local answer=""
|
|
492
|
+
|
|
493
|
+
if _setup_gui_desktop_install_opted_in; then
|
|
494
|
+
setup_gui_desktop_app
|
|
495
|
+
return 0
|
|
496
|
+
fi
|
|
497
|
+
|
|
498
|
+
if [[ "$INTERACTIVE_MODE" == "true" ]]; then
|
|
499
|
+
echo ""
|
|
500
|
+
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
501
|
+
echo -e "${BLUE}Optional preview:${NC} Install native macOS ${SETUP_GUI_APP_NAME}"
|
|
502
|
+
echo -e "${YELLOW}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
503
|
+
setup_prompt answer "Install ${SETUP_GUI_APP_NAME} now? [y/N]: " "N"
|
|
504
|
+
case "$answer" in
|
|
505
|
+
y | Y | yes | YES)
|
|
506
|
+
setup_gui_desktop_app
|
|
507
|
+
return 0
|
|
508
|
+
;;
|
|
509
|
+
esac
|
|
510
|
+
fi
|
|
511
|
+
|
|
512
|
+
setup_track_skipped "$SETUP_GUI_APP_NAME" "opt-in: run aidevops setup --scope gui-desktop or set AIDEVOPS_GUI_DESKTOP_INSTALL=true"
|
|
513
|
+
return 0
|
|
514
|
+
}
|
|
515
|
+
|
|
446
516
|
# Initialize ~/.config/aidevops/settings.json with documented defaults.
|
|
447
517
|
# Idempotent — merges missing keys without overwriting existing values.
|
|
448
518
|
init_settings_json() {
|
|
@@ -1125,6 +1195,9 @@ _setup_run_scoped_stage() {
|
|
|
1125
1195
|
"$SETUP_STAGE_PULSE")
|
|
1126
1196
|
_time_step "$SETUP_STAGE_PULSE" setup_supervisor_pulse "$os"
|
|
1127
1197
|
;;
|
|
1198
|
+
"$SETUP_STAGE_GUI_DESKTOP")
|
|
1199
|
+
_time_step "$SETUP_STAGE_GUI_DESKTOP" setup_gui_desktop_app
|
|
1200
|
+
;;
|
|
1128
1201
|
*)
|
|
1129
1202
|
print_error "Unsupported canonical setup stage: $stage"
|
|
1130
1203
|
return 1
|
|
@@ -1243,6 +1316,7 @@ _setup_run_non_interactive() {
|
|
|
1243
1316
|
_time_step "setup_knowledge_planes" setup_knowledge_planes
|
|
1244
1317
|
# Provision cases planes for repos where cases != "off" (idempotent).
|
|
1245
1318
|
_time_step "setup_cases_planes" setup_cases_planes
|
|
1319
|
+
_time_step "setup_gui_desktop_app_opt_in" _setup_offer_gui_desktop_app
|
|
1246
1320
|
return 0
|
|
1247
1321
|
}
|
|
1248
1322
|
|
|
@@ -1341,6 +1415,7 @@ _setup_run_interactive() {
|
|
|
1341
1415
|
confirm_step "Security scan imported skills" && scan_imported_skills
|
|
1342
1416
|
confirm_step "Inject agents reference into AI configs" && inject_agents_reference
|
|
1343
1417
|
_setup_run_interactive_runtime_tools
|
|
1418
|
+
_setup_offer_gui_desktop_app
|
|
1344
1419
|
# Run AFTER CLI installs so config dirs may exist for agent config
|
|
1345
1420
|
confirm_step "Update OpenCode configuration" && update_opencode_config
|
|
1346
1421
|
# Run AFTER OpenCode config so Claude Code gets equivalent setup
|