agent-enderun 1.1.8 → 1.1.10
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 +18 -277
- package/bin/enderun-dashboard.js +13 -13
- package/bin/utils/docgen.ts +24 -0
- package/dist/src/cli/adapters/core.d.ts +12 -0
- package/dist/src/cli/adapters/core.js +44 -0
- package/dist/src/cli/adapters/core.js.map +1 -0
- package/dist/src/cli/adapters/index.d.ts +4 -0
- package/dist/src/cli/adapters/index.js +5 -0
- package/dist/src/cli/adapters/index.js.map +1 -0
- package/dist/src/cli/adapters/scaffold.d.ts +2 -0
- package/dist/src/cli/adapters/scaffold.js +64 -0
- package/dist/src/cli/adapters/scaffold.js.map +1 -0
- package/dist/src/cli/adapters/utils.d.ts +4 -0
- package/dist/src/cli/adapters/utils.js +77 -0
- package/dist/src/cli/adapters/utils.js.map +1 -0
- package/dist/src/cli/commands/check.js +10 -62
- package/dist/src/cli/commands/check.js.map +1 -1
- package/dist/src/cli/commands/init.js +13 -22
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/orchestrate.d.ts +9 -9
- package/dist/src/cli/commands/orchestrate.js +58 -89
- package/dist/src/cli/commands/orchestrate.js.map +1 -1
- package/dist/src/cli/commands/plan.d.ts +4 -0
- package/dist/src/cli/commands/plan.js +40 -0
- package/dist/src/cli/commands/plan.js.map +1 -0
- package/dist/src/cli/commands/status.js +27 -78
- package/dist/src/cli/commands/status.js.map +1 -1
- package/dist/src/cli/commands/trace.js +18 -31
- package/dist/src/cli/commands/trace.js.map +1 -1
- package/dist/src/cli/index.js +6 -2
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/utils/compliance.d.ts +7 -0
- package/dist/src/cli/utils/compliance.js +50 -0
- package/dist/src/cli/utils/compliance.js.map +1 -0
- package/dist/src/cli/utils/fs.d.ts +1 -1
- package/dist/src/cli/utils/fs.js +1 -1
- package/dist/src/cli/utils/fs.js.map +1 -1
- package/dist/src/cli/utils/memory.d.ts +12 -4
- package/dist/src/cli/utils/memory.js +111 -147
- package/dist/src/cli/utils/memory.js.map +1 -1
- package/dist/src/cli/utils/pkg.js +1 -1
- package/dist/src/cli/utils/schemas.d.ts +49 -0
- package/dist/src/cli/utils/schemas.js +20 -0
- package/dist/src/cli/utils/schemas.js.map +1 -0
- package/dist/src/cli/utils/string.d.ts +1 -0
- package/dist/src/cli/utils/string.js +10 -4
- package/dist/src/cli/utils/string.js.map +1 -1
- package/dist/src/cli/utils/ui.js +7 -4
- package/dist/src/cli/utils/ui.js.map +1 -1
- package/dist/src/contracts/index.d.ts +1 -0
- package/dist/src/contracts/index.js +2 -0
- package/dist/src/contracts/index.js.map +1 -0
- package/dist/src/contracts/tasks.d.ts +44 -0
- package/dist/src/contracts/tasks.js +21 -0
- package/dist/src/contracts/tasks.js.map +1 -0
- package/dist/src/modules/adapters/definitions.d.ts +1 -1
- package/dist/src/modules/adapters/shared.js +9 -3
- package/dist/src/modules/adapters/shared.js.map +1 -1
- package/dist/src/modules/adapters/types.d.ts +2 -2
- package/dist/src/modules/agents/definitions.d.ts +38 -5
- package/dist/src/modules/agents/definitions.js +696 -93
- package/dist/src/modules/agents/definitions.js.map +1 -1
- package/dist/src/shared/fs.d.ts +1 -0
- package/dist/src/shared/fs.js +8 -0
- package/dist/src/shared/fs.js.map +1 -1
- package/dist/src/shared/logger.js +3 -6
- package/dist/src/shared/logger.js.map +1 -1
- package/dist/tests/adapter.test.js +1 -1
- package/dist/tests/adapter.test.js.map +1 -1
- package/dist/tests/agents-definitions.test.js +19 -13
- package/dist/tests/agents-definitions.test.js.map +1 -1
- package/dist/tests/approve.test.js +24 -58
- package/dist/tests/approve.test.js.map +1 -1
- package/dist/tests/cli/init/adapter_init.test.js +39 -0
- package/dist/tests/cli/init/adapter_init.test.js.map +1 -0
- package/dist/tests/integration/agent_flow.test.js +53 -0
- package/dist/tests/integration/agent_flow.test.js.map +1 -0
- package/dist/tests/memory-utils.test.js +28 -144
- package/dist/tests/memory-utils.test.js.map +1 -1
- package/dist/tests/modules/adapters/adapters.test.js +30 -0
- package/dist/tests/modules/adapters/adapters.test.js.map +1 -0
- package/dist/tests/orchestrate.test.js +28 -92
- package/dist/tests/orchestrate.test.js.map +1 -1
- package/dist/tests/status.test.js +27 -85
- package/dist/tests/status.test.js.map +1 -1
- package/dist/tests/time.test.js +1 -1
- package/dist/tests/trace.test.js +15 -48
- package/dist/tests/trace.test.js.map +1 -1
- package/package.json +5 -18
- package/src/cli/adapters/core.ts +54 -0
- package/src/cli/adapters/index.ts +4 -0
- package/src/cli/adapters/scaffold.ts +77 -0
- package/src/cli/adapters/utils.ts +87 -0
- package/src/cli/commands/check.ts +10 -62
- package/src/cli/commands/init.ts +13 -22
- package/src/cli/commands/orchestrate.ts +62 -88
- package/src/cli/commands/plan.ts +47 -0
- package/src/cli/commands/status.ts +26 -74
- package/src/cli/commands/trace.ts +18 -33
- package/src/cli/index.ts +6 -2
- package/src/cli/utils/compliance.ts +66 -0
- package/src/cli/utils/fs.ts +2 -2
- package/src/cli/utils/memory.ts +118 -156
- package/src/cli/utils/pkg.ts +1 -1
- package/src/cli/utils/schemas.ts +22 -0
- package/src/cli/utils/string.ts +11 -4
- package/src/cli/utils/ui.ts +7 -4
- package/src/contracts/index.ts +1 -0
- package/src/contracts/tasks.ts +26 -0
- package/src/modules/adapters/definitions.ts +1 -1
- package/src/modules/adapters/shared.ts +9 -3
- package/src/modules/adapters/types.ts +2 -2
- package/src/modules/agents/definitions.ts +816 -103
- package/src/shared/fs.ts +9 -0
- package/src/shared/logger.ts +3 -6
- package/.github/workflows/ci.yml +0 -40
- package/ENDERUN.md +0 -264
- package/bin/compile.js +0 -21
- package/bin/generate-cursor-rules.js +0 -78
- package/bin/hermes-sandbox.js +0 -145
- package/bin/run-multi-test.js +0 -77
- package/bin/test-init-run.js +0 -147
- package/bin/watch-memory.js +0 -54
- package/dist/init-adapters/antigravity-cli/.agents/BRAIN_DASHBOARD.md +0 -11
- package/dist/init-adapters/antigravity-cli/.agents/STATUS.md +0 -3
- package/dist/init-adapters/antigravity-cli/.agents/agents/analyst/agent.json +0 -28
- package/dist/init-adapters/antigravity-cli/.agents/agents/architect/agent.json +0 -30
- package/dist/init-adapters/antigravity-cli/.agents/agents/backend/agent.json +0 -30
- package/dist/init-adapters/antigravity-cli/.agents/agents/database/agent.json +0 -29
- package/dist/init-adapters/antigravity-cli/.agents/agents/devops/agent.json +0 -28
- package/dist/init-adapters/antigravity-cli/.agents/agents/explorer/agent.json +0 -29
- package/dist/init-adapters/antigravity-cli/.agents/agents/frontend/agent.json +0 -29
- package/dist/init-adapters/antigravity-cli/.agents/agents/git/agent.json +0 -28
- package/dist/init-adapters/antigravity-cli/.agents/agents/manager/agent.json +0 -30
- package/dist/init-adapters/antigravity-cli/.agents/agents/mobile/agent.json +0 -29
- package/dist/init-adapters/antigravity-cli/.agents/agents/native/agent.json +0 -29
- package/dist/init-adapters/antigravity-cli/.agents/agents/quality/agent.json +0 -29
- package/dist/init-adapters/antigravity-cli/.agents/agents/security/agent.json +0 -29
- package/dist/init-adapters/antigravity-cli/.agents/cli-commands.json +0 -32
- package/dist/init-adapters/antigravity-cli/.agents/config.json +0 -12
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/agents-manifest.md +0 -79
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/approval-flows.md +0 -61
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/component-patterns.md +0 -91
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/data-fetching-patterns.md +0 -13
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/design-system.md +0 -31
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/enterprise-architecture.md +0 -69
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/error-handling.md +0 -74
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/eslint-standards.md +0 -10
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/logging.md +0 -7
- package/dist/init-adapters/antigravity-cli/.agents/knowledge/tech-stack.md +0 -9
- package/dist/init-adapters/antigravity-cli/.agents/mcp_config.json +0 -13
- package/dist/init-adapters/antigravity-cli/.agents/memory/DECISIONS.md +0 -10
- package/dist/init-adapters/antigravity-cli/.agents/memory/PROJECT_MEMORY.md +0 -8
- package/dist/init-adapters/antigravity-cli/.agents/observability/audit_log.md +0 -5
- package/dist/init-adapters/antigravity-cli/.agents/observability/telemetry.md +0 -6
- package/dist/init-adapters/antigravity-cli/.agents/registry/agent_registry.md +0 -18
- package/dist/init-adapters/antigravity-cli/.agents/router/routing_rules.md +0 -8
- package/dist/init-adapters/antigravity-cli/.agents/rules/analyst.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/architect.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/backend.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/database.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/devops.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/explorer.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/frontend.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/git.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/manager.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/mobile.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/native.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/quality.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/rules/security.md +0 -16
- package/dist/init-adapters/antigravity-cli/.agents/skills/discovery.md +0 -3
- package/dist/init-adapters/antigravity-cli/.agents/skills/editing.md +0 -3
- package/dist/init-adapters/antigravity-cli/.agents/skills/execution.md +0 -4
- package/dist/init-adapters/antigravity-cli/.agents/skills/file_system.md +0 -4
- package/dist/init-adapters/antigravity-cli/.agents/skills/orchestration.md +0 -3
- package/dist/init-adapters/antigravity-cli/AGENTS.md +0 -8
- package/dist/init-adapters/antigravity-cli/ENDERUN.md +0 -261
- package/dist/init-adapters/antigravity-cli/docs/README.md +0 -6
- package/dist/init-adapters/antigravity-cli/docs/getting-started.md +0 -4
- package/dist/init-adapters/antigravity-cli/mcp.json +0 -13
- package/dist/init-adapters/antigravity-cli/package.json +0 -5
- package/dist/init-adapters/antigravity-cli/panda.config.ts +0 -2
- package/dist/init-adapters/claude/.claude/BRAIN_DASHBOARD.md +0 -11
- package/dist/init-adapters/claude/.claude/STATUS.md +0 -3
- package/dist/init-adapters/claude/.claude/agents/analyst.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/architect.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/backend.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/database.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/devops.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/explorer.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/frontend.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/git.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/manager.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/mobile.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/native.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/quality.md +0 -17
- package/dist/init-adapters/claude/.claude/agents/security.md +0 -17
- package/dist/init-adapters/claude/.claude/cli-commands.json +0 -32
- package/dist/init-adapters/claude/.claude/config.json +0 -12
- package/dist/init-adapters/claude/.claude/knowledge/agents-manifest.md +0 -79
- package/dist/init-adapters/claude/.claude/knowledge/approval-flows.md +0 -61
- package/dist/init-adapters/claude/.claude/knowledge/component-patterns.md +0 -91
- package/dist/init-adapters/claude/.claude/knowledge/data-fetching-patterns.md +0 -13
- package/dist/init-adapters/claude/.claude/knowledge/design-system.md +0 -31
- package/dist/init-adapters/claude/.claude/knowledge/enterprise-architecture.md +0 -69
- package/dist/init-adapters/claude/.claude/knowledge/error-handling.md +0 -74
- package/dist/init-adapters/claude/.claude/knowledge/eslint-standards.md +0 -10
- package/dist/init-adapters/claude/.claude/knowledge/logging.md +0 -7
- package/dist/init-adapters/claude/.claude/knowledge/tech-stack.md +0 -9
- package/dist/init-adapters/claude/.claude/mcp_config.json +0 -13
- package/dist/init-adapters/claude/.claude/memory/DECISIONS.md +0 -10
- package/dist/init-adapters/claude/.claude/memory/PROJECT_MEMORY.md +0 -8
- package/dist/init-adapters/claude/.claude/observability/audit_log.md +0 -5
- package/dist/init-adapters/claude/.claude/observability/telemetry.md +0 -6
- package/dist/init-adapters/claude/.claude/registry/agent_registry.md +0 -18
- package/dist/init-adapters/claude/.claude/router/routing_rules.md +0 -8
- package/dist/init-adapters/claude/.claude/rules/analyst.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/architect.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/backend.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/database.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/devops.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/explorer.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/frontend.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/git.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/manager.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/mobile.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/native.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/quality.md +0 -16
- package/dist/init-adapters/claude/.claude/rules/security.md +0 -16
- package/dist/init-adapters/claude/.claude/skills/discovery.md +0 -3
- package/dist/init-adapters/claude/.claude/skills/editing.md +0 -3
- package/dist/init-adapters/claude/.claude/skills/execution.md +0 -4
- package/dist/init-adapters/claude/.claude/skills/file_system.md +0 -4
- package/dist/init-adapters/claude/.claude/skills/orchestration.md +0 -3
- package/dist/init-adapters/claude/.mcp.json +0 -13
- package/dist/init-adapters/claude/CLAUDE.md +0 -8
- package/dist/init-adapters/claude/ENDERUN.md +0 -261
- package/dist/init-adapters/claude/docs/README.md +0 -6
- package/dist/init-adapters/claude/docs/getting-started.md +0 -4
- package/dist/init-adapters/claude/mcp.json +0 -13
- package/dist/init-adapters/claude/package.json +0 -5
- package/dist/init-adapters/claude/panda.config.ts +0 -2
- package/dist/init-adapters/codex/.github/BRAIN_DASHBOARD.md +0 -11
- package/dist/init-adapters/codex/.github/STATUS.md +0 -3
- package/dist/init-adapters/codex/.github/agents/analyst.md +0 -17
- package/dist/init-adapters/codex/.github/agents/architect.md +0 -17
- package/dist/init-adapters/codex/.github/agents/backend.md +0 -17
- package/dist/init-adapters/codex/.github/agents/database.md +0 -17
- package/dist/init-adapters/codex/.github/agents/devops.md +0 -17
- package/dist/init-adapters/codex/.github/agents/explorer.md +0 -17
- package/dist/init-adapters/codex/.github/agents/frontend.md +0 -17
- package/dist/init-adapters/codex/.github/agents/git.md +0 -17
- package/dist/init-adapters/codex/.github/agents/manager.md +0 -17
- package/dist/init-adapters/codex/.github/agents/mobile.md +0 -17
- package/dist/init-adapters/codex/.github/agents/native.md +0 -17
- package/dist/init-adapters/codex/.github/agents/quality.md +0 -17
- package/dist/init-adapters/codex/.github/agents/security.md +0 -17
- package/dist/init-adapters/codex/.github/cli-commands.json +0 -32
- package/dist/init-adapters/codex/.github/config.json +0 -12
- package/dist/init-adapters/codex/.github/instructions/agents-manifest.md +0 -79
- package/dist/init-adapters/codex/.github/instructions/analyst.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/approval-flows.md +0 -61
- package/dist/init-adapters/codex/.github/instructions/architect.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/backend.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/component-patterns.md +0 -91
- package/dist/init-adapters/codex/.github/instructions/data-fetching-patterns.md +0 -13
- package/dist/init-adapters/codex/.github/instructions/database.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/design-system.md +0 -31
- package/dist/init-adapters/codex/.github/instructions/devops.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/enterprise-architecture.md +0 -69
- package/dist/init-adapters/codex/.github/instructions/error-handling.md +0 -74
- package/dist/init-adapters/codex/.github/instructions/eslint-standards.md +0 -10
- package/dist/init-adapters/codex/.github/instructions/explorer.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/frontend.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/git.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/logging.md +0 -7
- package/dist/init-adapters/codex/.github/instructions/manager.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/mobile.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/native.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/quality.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/security.md +0 -16
- package/dist/init-adapters/codex/.github/instructions/tech-stack.md +0 -9
- package/dist/init-adapters/codex/.github/mcp_config.json +0 -13
- package/dist/init-adapters/codex/.github/memory/DECISIONS.md +0 -10
- package/dist/init-adapters/codex/.github/memory/PROJECT_MEMORY.md +0 -8
- package/dist/init-adapters/codex/.github/observability/audit_log.md +0 -5
- package/dist/init-adapters/codex/.github/observability/telemetry.md +0 -6
- package/dist/init-adapters/codex/.github/registry/agent_registry.md +0 -18
- package/dist/init-adapters/codex/.github/router/routing_rules.md +0 -8
- package/dist/init-adapters/codex/.github/skills/discovery.md +0 -3
- package/dist/init-adapters/codex/.github/skills/editing.md +0 -3
- package/dist/init-adapters/codex/.github/skills/execution.md +0 -4
- package/dist/init-adapters/codex/.github/skills/file_system.md +0 -4
- package/dist/init-adapters/codex/.github/skills/orchestration.md +0 -3
- package/dist/init-adapters/codex/.mcp.json +0 -13
- package/dist/init-adapters/codex/.vscode/mcp.json +0 -13
- package/dist/init-adapters/codex/ENDERUN.md +0 -261
- package/dist/init-adapters/codex/copilot-instructions.md +0 -7
- package/dist/init-adapters/codex/docs/README.md +0 -6
- package/dist/init-adapters/codex/docs/getting-started.md +0 -4
- package/dist/init-adapters/codex/mcp.json +0 -13
- package/dist/init-adapters/codex/package.json +0 -5
- package/dist/init-adapters/codex/panda.config.ts +0 -2
- package/dist/init-adapters/cursor/.cursor/BRAIN_DASHBOARD.md +0 -11
- package/dist/init-adapters/cursor/.cursor/STATUS.md +0 -3
- package/dist/init-adapters/cursor/.cursor/agents/analyst.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/architect.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/backend.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/database.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/devops.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/explorer.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/frontend.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/git.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/manager.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/mobile.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/native.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/quality.md +0 -17
- package/dist/init-adapters/cursor/.cursor/agents/security.md +0 -17
- package/dist/init-adapters/cursor/.cursor/cli-commands.json +0 -32
- package/dist/init-adapters/cursor/.cursor/config.json +0 -12
- package/dist/init-adapters/cursor/.cursor/knowledge/agents-manifest.md +0 -79
- package/dist/init-adapters/cursor/.cursor/knowledge/approval-flows.md +0 -61
- package/dist/init-adapters/cursor/.cursor/knowledge/component-patterns.md +0 -91
- package/dist/init-adapters/cursor/.cursor/knowledge/data-fetching-patterns.md +0 -13
- package/dist/init-adapters/cursor/.cursor/knowledge/design-system.md +0 -31
- package/dist/init-adapters/cursor/.cursor/knowledge/enterprise-architecture.md +0 -69
- package/dist/init-adapters/cursor/.cursor/knowledge/error-handling.md +0 -74
- package/dist/init-adapters/cursor/.cursor/knowledge/eslint-standards.md +0 -10
- package/dist/init-adapters/cursor/.cursor/knowledge/logging.md +0 -7
- package/dist/init-adapters/cursor/.cursor/knowledge/tech-stack.md +0 -9
- package/dist/init-adapters/cursor/.cursor/mcp.json +0 -13
- package/dist/init-adapters/cursor/.cursor/memory/DECISIONS.md +0 -10
- package/dist/init-adapters/cursor/.cursor/memory/PROJECT_MEMORY.md +0 -8
- package/dist/init-adapters/cursor/.cursor/observability/audit_log.md +0 -5
- package/dist/init-adapters/cursor/.cursor/observability/telemetry.md +0 -6
- package/dist/init-adapters/cursor/.cursor/registry/agent_registry.md +0 -18
- package/dist/init-adapters/cursor/.cursor/router/routing_rules.md +0 -8
- package/dist/init-adapters/cursor/.cursor/rules/analyst.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/architect.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/backend.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/database.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/devops.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/explorer.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/frontend.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/git.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/manager.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/mobile.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/native.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/quality.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/rules/security.mdc +0 -22
- package/dist/init-adapters/cursor/.cursor/skills/discovery.md +0 -3
- package/dist/init-adapters/cursor/.cursor/skills/editing.md +0 -3
- package/dist/init-adapters/cursor/.cursor/skills/execution.md +0 -4
- package/dist/init-adapters/cursor/.cursor/skills/file_system.md +0 -4
- package/dist/init-adapters/cursor/.cursor/skills/orchestration.md +0 -3
- package/dist/init-adapters/cursor/CURSOR.md +0 -7
- package/dist/init-adapters/cursor/ENDERUN.md +0 -261
- package/dist/init-adapters/cursor/docs/README.md +0 -6
- package/dist/init-adapters/cursor/docs/getting-started.md +0 -4
- package/dist/init-adapters/cursor/mcp.json +0 -13
- package/dist/init-adapters/cursor/package.json +0 -5
- package/dist/init-adapters/cursor/panda.config.ts +0 -2
- package/dist/init-adapters/gemini/.gemini/BRAIN_DASHBOARD.md +0 -11
- package/dist/init-adapters/gemini/.gemini/STATUS.md +0 -3
- package/dist/init-adapters/gemini/.gemini/agents/analyst.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/architect.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/backend.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/database.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/devops.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/explorer.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/frontend.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/git.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/manager.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/mobile.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/native.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/quality.md +0 -17
- package/dist/init-adapters/gemini/.gemini/agents/security.md +0 -17
- package/dist/init-adapters/gemini/.gemini/cli-commands.json +0 -32
- package/dist/init-adapters/gemini/.gemini/config.json +0 -12
- package/dist/init-adapters/gemini/.gemini/knowledge/agents-manifest.md +0 -79
- package/dist/init-adapters/gemini/.gemini/knowledge/approval-flows.md +0 -61
- package/dist/init-adapters/gemini/.gemini/knowledge/component-patterns.md +0 -91
- package/dist/init-adapters/gemini/.gemini/knowledge/data-fetching-patterns.md +0 -13
- package/dist/init-adapters/gemini/.gemini/knowledge/design-system.md +0 -31
- package/dist/init-adapters/gemini/.gemini/knowledge/enterprise-architecture.md +0 -69
- package/dist/init-adapters/gemini/.gemini/knowledge/error-handling.md +0 -74
- package/dist/init-adapters/gemini/.gemini/knowledge/eslint-standards.md +0 -10
- package/dist/init-adapters/gemini/.gemini/knowledge/logging.md +0 -7
- package/dist/init-adapters/gemini/.gemini/knowledge/tech-stack.md +0 -9
- package/dist/init-adapters/gemini/.gemini/mcp.json +0 -13
- package/dist/init-adapters/gemini/.gemini/memory/DECISIONS.md +0 -10
- package/dist/init-adapters/gemini/.gemini/memory/PROJECT_MEMORY.md +0 -8
- package/dist/init-adapters/gemini/.gemini/observability/audit_log.md +0 -5
- package/dist/init-adapters/gemini/.gemini/observability/telemetry.md +0 -6
- package/dist/init-adapters/gemini/.gemini/registry/agent_registry.md +0 -18
- package/dist/init-adapters/gemini/.gemini/router/routing_rules.md +0 -8
- package/dist/init-adapters/gemini/.gemini/rules/analyst.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/architect.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/backend.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/database.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/devops.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/explorer.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/frontend.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/git.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/manager.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/mobile.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/native.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/quality.md +0 -16
- package/dist/init-adapters/gemini/.gemini/rules/security.md +0 -16
- package/dist/init-adapters/gemini/.gemini/skills/discovery.md +0 -3
- package/dist/init-adapters/gemini/.gemini/skills/editing.md +0 -3
- package/dist/init-adapters/gemini/.gemini/skills/execution.md +0 -4
- package/dist/init-adapters/gemini/.gemini/skills/file_system.md +0 -4
- package/dist/init-adapters/gemini/.gemini/skills/orchestration.md +0 -3
- package/dist/init-adapters/gemini/ENDERUN.md +0 -261
- package/dist/init-adapters/gemini/GEMINI.md +0 -8
- package/dist/init-adapters/gemini/docs/README.md +0 -6
- package/dist/init-adapters/gemini/docs/getting-started.md +0 -4
- package/dist/init-adapters/gemini/mcp.json +0 -13
- package/dist/init-adapters/gemini/package.json +0 -5
- package/dist/init-adapters/gemini/panda.config.ts +0 -2
- package/dist/init-adapters/grok/.grok/BRAIN_DASHBOARD.md +0 -11
- package/dist/init-adapters/grok/.grok/STATUS.md +0 -3
- package/dist/init-adapters/grok/.grok/agents/analyst.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/architect.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/backend.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/database.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/devops.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/explorer.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/frontend.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/git.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/manager.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/mobile.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/native.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/quality.md +0 -17
- package/dist/init-adapters/grok/.grok/agents/security.md +0 -17
- package/dist/init-adapters/grok/.grok/cli-commands.json +0 -32
- package/dist/init-adapters/grok/.grok/config.json +0 -12
- package/dist/init-adapters/grok/.grok/knowledge/agents-manifest.md +0 -79
- package/dist/init-adapters/grok/.grok/knowledge/approval-flows.md +0 -61
- package/dist/init-adapters/grok/.grok/knowledge/component-patterns.md +0 -91
- package/dist/init-adapters/grok/.grok/knowledge/data-fetching-patterns.md +0 -13
- package/dist/init-adapters/grok/.grok/knowledge/design-system.md +0 -31
- package/dist/init-adapters/grok/.grok/knowledge/enterprise-architecture.md +0 -69
- package/dist/init-adapters/grok/.grok/knowledge/error-handling.md +0 -74
- package/dist/init-adapters/grok/.grok/knowledge/eslint-standards.md +0 -10
- package/dist/init-adapters/grok/.grok/knowledge/logging.md +0 -7
- package/dist/init-adapters/grok/.grok/knowledge/tech-stack.md +0 -9
- package/dist/init-adapters/grok/.grok/mcp_config.json +0 -13
- package/dist/init-adapters/grok/.grok/memory/DECISIONS.md +0 -10
- package/dist/init-adapters/grok/.grok/memory/PROJECT_MEMORY.md +0 -8
- package/dist/init-adapters/grok/.grok/observability/audit_log.md +0 -5
- package/dist/init-adapters/grok/.grok/observability/telemetry.md +0 -6
- package/dist/init-adapters/grok/.grok/registry/agent_registry.md +0 -18
- package/dist/init-adapters/grok/.grok/router/routing_rules.md +0 -8
- package/dist/init-adapters/grok/.grok/rules/analyst.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/architect.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/backend.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/database.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/devops.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/explorer.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/frontend.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/git.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/manager.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/mobile.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/native.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/quality.md +0 -16
- package/dist/init-adapters/grok/.grok/rules/security.md +0 -16
- package/dist/init-adapters/grok/.grok/skills/discovery.md +0 -3
- package/dist/init-adapters/grok/.grok/skills/editing.md +0 -3
- package/dist/init-adapters/grok/.grok/skills/execution.md +0 -4
- package/dist/init-adapters/grok/.grok/skills/file_system.md +0 -4
- package/dist/init-adapters/grok/.grok/skills/orchestration.md +0 -3
- package/dist/init-adapters/grok/ENDERUN.md +0 -261
- package/dist/init-adapters/grok/GROK.md +0 -7
- package/dist/init-adapters/grok/docs/README.md +0 -6
- package/dist/init-adapters/grok/docs/getting-started.md +0 -4
- package/dist/init-adapters/grok/mcp.json +0 -13
- package/dist/init-adapters/grok/package.json +0 -5
- package/dist/init-adapters/grok/panda.config.ts +0 -2
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/mcp.json +0 -13
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/mcp_config.json +0 -13
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/analyst/agent.json +0 -28
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/analyst.json +0 -28
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/architect/agent.json +0 -30
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/architect.json +0 -30
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/backend/agent.json +0 -30
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/backend.json +0 -30
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/database/agent.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/database.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/devops/agent.json +0 -28
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/devops.json +0 -28
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/explorer/agent.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/explorer.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/frontend/agent.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/frontend.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/git/agent.json +0 -28
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/git.json +0 -28
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/manager/agent.json +0 -30
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/manager.json +0 -30
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/mobile/agent.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/mobile.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/native/agent.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/native.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/quality/agent.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/quality.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/security/agent.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/agents/security.json +0 -29
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/hooks.json +0 -4
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/mcp.json +0 -13
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/mcp_config.json +0 -13
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/plugin.json +0 -5
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/analyst.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/architect.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/backend.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/database.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/devops.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/explorer.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/frontend.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/git.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/manager.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/mobile.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/native.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/quality.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/rules/security.md +0 -11
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/discovery.md +0 -3
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/editing.md +0 -3
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/execution.md +0 -4
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/file_system.md +0 -4
- package/dist/init-adapters/mock-home/.gemini/antigravity-cli/plugins/agent-enderun/skills/orchestration.md +0 -3
- package/dist/init-adapters/mock-home/Library/Application Support/Claude/claude_desktop_config.json +0 -13
- package/dist/src/cli/adapters/types.d.ts +0 -14
- package/dist/src/cli/adapters/types.js +0 -2
- package/dist/src/cli/adapters/types.js.map +0 -1
- package/dist/src/cli/adapters.d.ts +0 -16
- package/dist/src/cli/adapters.js +0 -223
- package/dist/src/cli/adapters.js.map +0 -1
- package/dist/src/modules/adapters/antigravity-cli.d.ts +0 -3
- package/dist/src/modules/adapters/antigravity-cli.js +0 -21
- package/dist/src/modules/adapters/antigravity-cli.js.map +0 -1
- package/dist/src/modules/adapters/claude.d.ts +0 -3
- package/dist/src/modules/adapters/claude.js +0 -36
- package/dist/src/modules/adapters/claude.js.map +0 -1
- package/dist/src/modules/adapters/codex.d.ts +0 -3
- package/dist/src/modules/adapters/codex.js +0 -20
- package/dist/src/modules/adapters/codex.js.map +0 -1
- package/dist/src/modules/adapters/cursor.d.ts +0 -3
- package/dist/src/modules/adapters/cursor.js +0 -20
- package/dist/src/modules/adapters/cursor.js.map +0 -1
- package/dist/src/modules/adapters/gemini.d.ts +0 -3
- package/dist/src/modules/adapters/gemini.js +0 -23
- package/dist/src/modules/adapters/gemini.js.map +0 -1
- package/dist/src/modules/adapters/grok.d.ts +0 -3
- package/dist/src/modules/adapters/grok.js +0 -18
- package/dist/src/modules/adapters/grok.js.map +0 -1
- package/dist/src/shared/config.d.ts +0 -41
- package/dist/src/shared/config.js +0 -61
- package/dist/src/shared/config.js.map +0 -1
- package/dist/src/shared/container.d.ts +0 -25
- package/dist/src/shared/container.js +0 -56
- package/dist/src/shared/container.js.map +0 -1
- package/dist/tests/config.test.js +0 -58
- package/dist/tests/config.test.js.map +0 -1
- package/dist/tests/container.runner.js +0 -68
- package/dist/tests/container.runner.js.map +0 -1
- package/dist/tests/container.test.js +0 -73
- package/dist/tests/container.test.js.map +0 -1
- package/dist/tests/mock-project/apps/web/panda.config.d.ts +0 -4
- package/dist/tests/mock-project/apps/web/panda.config.js +0 -3
- package/dist/tests/mock-project/apps/web/panda.config.js.map +0 -1
- package/dist/tests/shared.test.d.ts +0 -1
- package/dist/tests/shared.test.js +0 -80
- package/dist/tests/shared.test.js.map +0 -1
- package/docs/README.md +0 -44
- package/docs/getting-started.md +0 -4
- package/docs/user/action-plan-2026.md +0 -9
- package/docs/user/corporate-governance.md +0 -25
- package/docs/user/getting-started.md +0 -13
- package/docs/user/roadmap.md +0 -13
- package/eslint.config.js +0 -92
- package/framework-mcp/dist/index.js +0 -76
- package/framework-mcp/dist/tools/control_plane/locking.js +0 -64
- package/framework-mcp/dist/tools/control_plane/registry.js +0 -34
- package/framework-mcp/dist/tools/dashboard/start_dashboard.js +0 -29
- package/framework-mcp/dist/tools/definitions.js +0 -270
- package/framework-mcp/dist/tools/file_system/batch_surgical_edit.js +0 -50
- package/framework-mcp/dist/tools/file_system/patch_file.js +0 -21
- package/framework-mcp/dist/tools/file_system/read_file.js +0 -34
- package/framework-mcp/dist/tools/file_system/replace_text.js +0 -38
- package/framework-mcp/dist/tools/file_system/write_file.js +0 -26
- package/framework-mcp/dist/tools/framework/audit_deps.js +0 -41
- package/framework-mcp/dist/tools/framework/get_status.js +0 -5
- package/framework-mcp/dist/tools/framework/orchestrate.js +0 -5
- package/framework-mcp/dist/tools/framework/run_tests.js +0 -25
- package/framework-mcp/dist/tools/framework/update_contract_hash.js +0 -5
- package/framework-mcp/dist/tools/framework/update_memory.js +0 -8
- package/framework-mcp/dist/tools/index.js +0 -54
- package/framework-mcp/dist/tools/memory/get_insights.js +0 -34
- package/framework-mcp/dist/tools/memory/read_memory.js +0 -28
- package/framework-mcp/dist/tools/messaging/log_action.js +0 -22
- package/framework-mcp/dist/tools/messaging/send_message.js +0 -74
- package/framework-mcp/dist/tools/observability/check_ports.js +0 -26
- package/framework-mcp/dist/tools/observability/get_health.js +0 -19
- package/framework-mcp/dist/tools/search/get_gaps.js +0 -48
- package/framework-mcp/dist/tools/search/get_map.js +0 -43
- package/framework-mcp/dist/tools/search/grep_search.js +0 -59
- package/framework-mcp/dist/tools/search/list_dir.js +0 -28
- package/framework-mcp/dist/tools/types.js +0 -1
- package/framework-mcp/dist/utils/cli.js +0 -20
- package/framework-mcp/dist/utils/compliance.js +0 -29
- package/framework-mcp/dist/utils/metrics.js +0 -38
- package/framework-mcp/dist/utils/security.js +0 -57
- package/framework-mcp/package.json +0 -19
- package/framework-mcp/src/declarations.d.ts +0 -17
- package/framework-mcp/src/index.ts +0 -95
- package/framework-mcp/src/tools/control_plane/locking.ts +0 -77
- package/framework-mcp/src/tools/control_plane/registry.ts +0 -44
- package/framework-mcp/src/tools/dashboard/start_dashboard.ts +0 -33
- package/framework-mcp/src/tools/definitions.ts +0 -272
- package/framework-mcp/src/tools/file_system/batch_surgical_edit.ts +0 -70
- package/framework-mcp/src/tools/file_system/patch_file.ts +0 -29
- package/framework-mcp/src/tools/file_system/read_file.ts +0 -39
- package/framework-mcp/src/tools/file_system/replace_text.ts +0 -50
- package/framework-mcp/src/tools/file_system/write_file.ts +0 -33
- package/framework-mcp/src/tools/framework/audit_deps.ts +0 -49
- package/framework-mcp/src/tools/framework/get_status.ts +0 -7
- package/framework-mcp/src/tools/framework/orchestrate.ts +0 -7
- package/framework-mcp/src/tools/framework/run_tests.ts +0 -28
- package/framework-mcp/src/tools/framework/update_contract_hash.ts +0 -7
- package/framework-mcp/src/tools/framework/update_memory.ts +0 -10
- package/framework-mcp/src/tools/index.ts +0 -60
- package/framework-mcp/src/tools/memory/get_insights.ts +0 -41
- package/framework-mcp/src/tools/memory/read_memory.ts +0 -31
- package/framework-mcp/src/tools/messaging/log_action.ts +0 -28
- package/framework-mcp/src/tools/messaging/send_message.ts +0 -76
- package/framework-mcp/src/tools/observability/check_ports.ts +0 -30
- package/framework-mcp/src/tools/observability/get_health.ts +0 -24
- package/framework-mcp/src/tools/search/get_gaps.ts +0 -54
- package/framework-mcp/src/tools/search/get_map.ts +0 -48
- package/framework-mcp/src/tools/search/grep_search.ts +0 -65
- package/framework-mcp/src/tools/search/list_dir.ts +0 -34
- package/framework-mcp/src/tools/types.ts +0 -54
- package/framework-mcp/src/utils/cli.ts +0 -20
- package/framework-mcp/src/utils/compliance.ts +0 -37
- package/framework-mcp/src/utils/metrics.ts +0 -53
- package/framework-mcp/src/utils/security.ts +0 -64
- package/framework-mcp/tests/tools/file_system/file_system_tools.test.ts +0 -206
- package/framework-mcp/tests/tools/messaging/send_message.test.ts +0 -136
- package/framework-mcp/tsconfig.json +0 -14
- package/src/cli/adapters/types.ts +0 -16
- package/src/cli/adapters.ts +0 -244
- package/src/shared/config.ts +0 -73
- package/src/shared/container.ts +0 -67
- package/templates/prompts/bug-fix-recipe.md +0 -20
- package/templates/prompts/new-feature-recipe.md +0 -19
- package/templates/prompts/refactoring-recipe.md +0 -21
- package/templates/standards/architecture-standards.md +0 -23
- package/templates/standards/crud-governance.md +0 -21
- package/templates/standards/frontend-standards.md +0 -38
- package/templates/standards/i18n-standards.md +0 -17
- package/templates/standards/logging-and-secrets.md +0 -29
- package/templates/standards/mobile-standards.md +0 -24
- package/templates/standards/quality-standards.md +0 -31
- package/templates/standards/security-standards.md +0 -21
- package/templates/standards/tailwind-standards.md +0 -20
- package/templates/standards/testing-standards.md +0 -31
- package/tsconfig.json +0 -24
- /package/dist/tests/{config.test.d.ts → cli/init/adapter_init.test.d.ts} +0 -0
- /package/dist/tests/{container.runner.d.ts → integration/agent_flow.test.d.ts} +0 -0
- /package/dist/tests/{container.test.d.ts → modules/adapters/adapters.test.d.ts} +0 -0
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
-
import { getFrameworkDir } from "../utils/memory.js";
|
|
4
|
+
import { getFrameworkDir, updateDocumentStore, readStatus } from "../utils/memory.js";
|
|
5
5
|
import { UI } from "../utils/ui.js";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
import { logger } from "../../shared/logger.js";
|
|
8
|
+
import { TaskRequestSchema } from "../../contracts/tasks.js";
|
|
8
9
|
|
|
9
10
|
export const HermesMessageSchema = z.object({
|
|
10
11
|
timestamp: z.string(),
|
|
11
12
|
from: z.string(),
|
|
12
13
|
to: z.string(),
|
|
13
14
|
category: z.enum(["ACTION", "DELEGATION", "SUBTASK", "REPLY", "ALERT"]),
|
|
14
|
-
content: z.string(),
|
|
15
|
+
content: z.string(), // This is the payload to be validated
|
|
15
16
|
traceId: z.string(),
|
|
16
17
|
parentId: z.string().optional(),
|
|
17
18
|
status: z.enum(["PENDING", "PROCESSED", "WAITING", "APPROVED"]),
|
|
@@ -26,51 +27,25 @@ export async function orchestrateCommand() {
|
|
|
26
27
|
const messagesDir = path.join(frameworkDir, "messages");
|
|
27
28
|
|
|
28
29
|
// Check for agent timeouts (e.g. 30 minutes in EXECUTING state)
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const lastUpdatedStr = parts[4].trim();
|
|
40
|
-
if (lastUpdatedStr && lastUpdatedStr !== "-") {
|
|
41
|
-
const lastUpdatedTime = Date.parse(lastUpdatedStr);
|
|
42
|
-
if (!isNaN(lastUpdatedTime) && Date.now() - lastUpdatedTime > 30 * 60 * 1000) {
|
|
43
|
-
const agentName = parts[1].trim();
|
|
44
|
-
UI.error(`⚠️ Agent ${agentName} has TIMED OUT (in EXECUTING state for >30m). Transitioning to BLOCKED.`);
|
|
45
|
-
parts[2] = " BLOCKED ";
|
|
46
|
-
parts[3] = " Timeout occurred ";
|
|
47
|
-
parts[4] = ` ${new Date().toISOString()} `;
|
|
48
|
-
updatedStatus = true;
|
|
49
|
-
|
|
50
|
-
// Log to audit log
|
|
51
|
-
const auditPath = path.join(frameworkDir, "observability/audit_log.md");
|
|
52
|
-
if (fs.existsSync(auditPath)) {
|
|
53
|
-
const logEntry = `\n- **[${new Date().toISOString()}]** ${agentName} status auto-escalated to BLOCKED due to 30m execution timeout.`;
|
|
54
|
-
fs.appendFileSync(auditPath, logEntry);
|
|
55
|
-
}
|
|
56
|
-
return parts.join("|");
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return line;
|
|
62
|
-
});
|
|
63
|
-
if (updatedStatus) {
|
|
64
|
-
fs.writeFileSync(statusPath, newLines.join("\n"));
|
|
30
|
+
const agentStatuses = readStatus();
|
|
31
|
+
let updatedStatus = false;
|
|
32
|
+
for (const [agentName, info] of Object.entries(agentStatuses)) {
|
|
33
|
+
const { state, lastUpdated } = info as { state: string; task: string; lastUpdated?: string };
|
|
34
|
+
if (state === "EXECUTING" && lastUpdated) {
|
|
35
|
+
const lastUpdatedTime = Date.parse(lastUpdated);
|
|
36
|
+
if (!isNaN(lastUpdatedTime) && Date.now() - lastUpdatedTime > 30 * 60 * 1000) {
|
|
37
|
+
UI.error(`⚠️ Agent ${agentName} has TIMED OUT (in EXECUTING state for >30m). Transitioning to BLOCKED.`);
|
|
38
|
+
agentStatuses[agentName] = { state: "BLOCKED", task: "Timeout occurred", lastUpdated: new Date().toISOString() };
|
|
39
|
+
updatedStatus = true;
|
|
65
40
|
}
|
|
66
|
-
} catch (err) {
|
|
67
|
-
UI.error("Ajan zaman aşımı kontrolü sırasında hata oluştu.");
|
|
68
|
-
logger.debug("Agent timeout check failed", err);
|
|
69
41
|
}
|
|
70
42
|
}
|
|
43
|
+
if (updatedStatus) {
|
|
44
|
+
updateDocumentStore("status", agentStatuses);
|
|
45
|
+
}
|
|
71
46
|
|
|
72
47
|
if (!fs.existsSync(messagesDir)) {
|
|
73
|
-
UI.success("
|
|
48
|
+
UI.success("No messages to process yet.");
|
|
74
49
|
return;
|
|
75
50
|
}
|
|
76
51
|
|
|
@@ -90,23 +65,35 @@ export async function orchestrateCommand() {
|
|
|
90
65
|
try {
|
|
91
66
|
const parsed = JSON.parse(line);
|
|
92
67
|
const msg = HermesMessageSchema.parse(parsed);
|
|
68
|
+
|
|
69
|
+
// Contract Validation
|
|
70
|
+
if (msg.category === "ACTION" || msg.category === "DELEGATION") {
|
|
71
|
+
try {
|
|
72
|
+
const payload = JSON.parse(msg.content);
|
|
73
|
+
TaskRequestSchema.parse(payload);
|
|
74
|
+
} catch (e) {
|
|
75
|
+
UI.error(`Invalid task contract payload: ${(e as Error).message}`);
|
|
76
|
+
return; // Skip invalid message
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
93
80
|
if (msg.status === "PENDING") {
|
|
94
81
|
pendingMessages.push(msg);
|
|
95
82
|
}
|
|
96
83
|
allMsgs.push(msg);
|
|
97
84
|
} catch (e) {
|
|
98
|
-
UI.error(`
|
|
85
|
+
UI.error(`Skipping invalid Hermes message format: ${(e as Error).message}`);
|
|
99
86
|
}
|
|
100
87
|
});
|
|
101
88
|
fileMessagesMap[file] = allMsgs;
|
|
102
89
|
} catch (err) {
|
|
103
|
-
UI.error(
|
|
90
|
+
UI.error(`Error occurred while reading ${file}.`);
|
|
104
91
|
logger.debug(`Failed to read message file ${file}`, err);
|
|
105
92
|
}
|
|
106
93
|
}
|
|
107
94
|
|
|
108
95
|
if (pendingMessages.length === 0) {
|
|
109
|
-
UI.success("
|
|
96
|
+
UI.success("All messages processed, no pending tasks.");
|
|
110
97
|
return;
|
|
111
98
|
}
|
|
112
99
|
|
|
@@ -119,7 +106,9 @@ export async function orchestrateCommand() {
|
|
|
119
106
|
return Date.parse(a.timestamp) - Date.parse(b.timestamp);
|
|
120
107
|
});
|
|
121
108
|
|
|
122
|
-
UI.intent("Multi-Agent
|
|
109
|
+
UI.intent("Multi-Agent Orchestration", `${pendingMessages.length} pending tasks and collaboration messages found.`);
|
|
110
|
+
|
|
111
|
+
const statusChanges: Record<string, { state: string; task: string }> = {};
|
|
123
112
|
|
|
124
113
|
for (const msg of pendingMessages) {
|
|
125
114
|
const { from, to, content, traceId, category, parentId } = msg;
|
|
@@ -133,24 +122,37 @@ export async function orchestrateCommand() {
|
|
|
133
122
|
let targetState = "EXECUTING";
|
|
134
123
|
if (category === "DELEGATION" || category === "SUBTASK") targetState = "BRIEFED";
|
|
135
124
|
|
|
136
|
-
|
|
125
|
+
let taskDescription = content;
|
|
126
|
+
if (category === "DELEGATION" || category === "ACTION") {
|
|
127
|
+
try {
|
|
128
|
+
const payload = JSON.parse(content);
|
|
129
|
+
taskDescription = payload.task || content;
|
|
130
|
+
} catch {
|
|
131
|
+
// Ignore
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
statusChanges[to] = { state: targetState, task: taskDescription };
|
|
137
136
|
|
|
138
137
|
if (targetState === "BRIEFED") {
|
|
139
|
-
UI.success(`${to}
|
|
140
|
-
|
|
138
|
+
UI.success(`${to} informed and took over the task.`);
|
|
139
|
+
statusChanges[to] = { state: "EXECUTING", task: taskDescription };
|
|
141
140
|
}
|
|
142
141
|
|
|
143
142
|
if (isSubtask) {
|
|
144
|
-
UI.success(`
|
|
143
|
+
UI.success(`Sub-task connection established (Parent: ${parentId || "Unknown"}).`);
|
|
145
144
|
}
|
|
146
145
|
|
|
147
|
-
UI.success(
|
|
148
|
-
console.warn(chalk.gray(` 👉
|
|
146
|
+
UI.success(`Collaboration initiated: ${from} -> ${to}`);
|
|
147
|
+
console.warn(chalk.gray(` 👉 Instructions: ${frameworkDir}/agents/${to.replace("@", "")}.md`));
|
|
149
148
|
|
|
150
149
|
// Mark message as processed
|
|
151
150
|
msg.status = "PROCESSED";
|
|
152
151
|
}
|
|
153
152
|
|
|
153
|
+
// Apply batch status updates
|
|
154
|
+
applyBatchStatusUpdates(statusChanges);
|
|
155
|
+
|
|
154
156
|
// Write back updated message statuses to files and archive processed messages
|
|
155
157
|
const archiveDir = path.join(messagesDir, "archive");
|
|
156
158
|
|
|
@@ -185,7 +187,7 @@ export async function orchestrateCommand() {
|
|
|
185
187
|
UI.success(`Archived ${processedMsgs.length} messages for @${agentName}`);
|
|
186
188
|
}
|
|
187
189
|
} catch (err) {
|
|
188
|
-
UI.error(
|
|
190
|
+
UI.error(`Error occurred while updating and archiving the message file ${file}.`);
|
|
189
191
|
logger.debug(`Failed to update and archive message file ${file}`, err);
|
|
190
192
|
}
|
|
191
193
|
}
|
|
@@ -237,14 +239,14 @@ export async function sendMessage(args: {
|
|
|
237
239
|
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
238
240
|
}
|
|
239
241
|
} else {
|
|
240
|
-
UI.error(`
|
|
242
|
+
UI.error(`Unexpected error occurred while acquiring the lock: ${error.message || String(err)}`);
|
|
241
243
|
break;
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
246
|
}
|
|
245
247
|
|
|
246
248
|
if (!acquired) {
|
|
247
|
-
UI.error(`
|
|
249
|
+
UI.error(`Message could not be delivered: Hermes lock is busy. (${args.from} -> ${args.to})`);
|
|
248
250
|
return;
|
|
249
251
|
}
|
|
250
252
|
|
|
@@ -259,16 +261,9 @@ export async function sendMessage(args: {
|
|
|
259
261
|
|
|
260
262
|
fs.appendFileSync(messagePath, JSON.stringify(message) + "\n");
|
|
261
263
|
|
|
262
|
-
// Log collaboration to audit log
|
|
263
|
-
const auditPath = path.join(frameworkDir, "observability/audit_log.md");
|
|
264
|
-
if (fs.existsSync(auditPath)) {
|
|
265
|
-
const logEntry = `\n- **[${message.timestamp}]** ${args.from} -> ${args.to} | ${args.category} | Priority: ${message.priority} | Trace: ${args.traceId}`;
|
|
266
|
-
fs.appendFileSync(auditPath, logEntry);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
264
|
return message;
|
|
270
265
|
} catch (err) {
|
|
271
|
-
UI.error(`
|
|
266
|
+
UI.error(`Message could not be delivered: ${args.from} -> ${args.to}`);
|
|
272
267
|
logger.debug(`Hermes sendMessage failed (${args.from} -> ${args.to})`, err);
|
|
273
268
|
} finally {
|
|
274
269
|
if (acquired && fs.existsSync(lockPath)) {
|
|
@@ -281,29 +276,8 @@ export async function sendMessage(args: {
|
|
|
281
276
|
}
|
|
282
277
|
}
|
|
283
278
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
try {
|
|
289
|
-
const content = fs.readFileSync(statusPath, "utf8");
|
|
290
|
-
const lines = content.split("\n");
|
|
291
|
-
const targetName = agent.startsWith("@") ? agent : `@${agent}`;
|
|
292
|
-
const newLines = lines.map(line => {
|
|
293
|
-
if (line.includes(`| ${targetName} |`)) {
|
|
294
|
-
const parts = line.split("|");
|
|
295
|
-
if (parts.length >= 7) {
|
|
296
|
-
parts[2] = ` ${state} `;
|
|
297
|
-
parts[3] = ` ${task.slice(0, 25)}... `;
|
|
298
|
-
parts[4] = ` ${new Date().toISOString()} `;
|
|
299
|
-
return parts.join("|");
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
return line;
|
|
303
|
-
});
|
|
304
|
-
fs.writeFileSync(statusPath, newLines.join("\n"));
|
|
305
|
-
} catch (err) {
|
|
306
|
-
UI.error("STATUS.md güncellenemedi.");
|
|
307
|
-
logger.debug(`Failed to transition agent state for ${agent}`, err);
|
|
308
|
-
}
|
|
279
|
+
|
|
280
|
+
function applyBatchStatusUpdates(changes: Record<string, { state: string; task: string }>) {
|
|
281
|
+
// Write to Document Store
|
|
282
|
+
updateDocumentStore("status", changes);
|
|
309
283
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { updateDocumentStore } from "../utils/memory.js";
|
|
4
|
+
import { generateULID } from "../utils/time.js";
|
|
5
|
+
import { UI } from "../utils/ui.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Parses docs/user/roadmap.md and injects tasks into the Document Store.
|
|
9
|
+
*/
|
|
10
|
+
export function planCommand() {
|
|
11
|
+
const projectRoot = process.cwd();
|
|
12
|
+
const roadmapPath = path.join(projectRoot, "docs/user/roadmap.md");
|
|
13
|
+
|
|
14
|
+
if (!fs.existsSync(roadmapPath)) {
|
|
15
|
+
UI.error("Roadmap file not found at docs/user/roadmap.md");
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const content = fs.readFileSync(roadmapPath, "utf8");
|
|
20
|
+
const taskRegex = /- \[ \] (.*) \| (.*) \| (.*)/g;
|
|
21
|
+
let match;
|
|
22
|
+
let count = 0;
|
|
23
|
+
|
|
24
|
+
UI.intent("Planning Engine", "Parsing roadmap.md and injecting tasks into Document Store...");
|
|
25
|
+
|
|
26
|
+
while ((match = taskRegex.exec(content)) !== null) {
|
|
27
|
+
const description = match[1];
|
|
28
|
+
const priority = match[2];
|
|
29
|
+
const agent = match[3];
|
|
30
|
+
const traceId = generateULID();
|
|
31
|
+
|
|
32
|
+
const taskData = {
|
|
33
|
+
traceId,
|
|
34
|
+
description: description.trim(),
|
|
35
|
+
priority: priority.trim(),
|
|
36
|
+
agent: agent.trim().replace("@", ""),
|
|
37
|
+
status: "PENDING",
|
|
38
|
+
createdAt: new Date().toISOString()
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
updateDocumentStore("task", taskData, traceId);
|
|
42
|
+
UI.success(`Injected task: ${taskData.description} (Agent: ${taskData.agent})`);
|
|
43
|
+
count++;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
UI.success(`Plan complete: ${count} tasks injected into Document Store.`);
|
|
47
|
+
}
|
|
@@ -1,93 +1,45 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
1
|
import chalk from "chalk";
|
|
4
2
|
|
|
5
|
-
import {
|
|
6
|
-
import { logger } from "../../shared/logger.js";
|
|
3
|
+
import { listTasks, readState, readStatus } from "../utils/memory.js";
|
|
7
4
|
|
|
8
5
|
/**
|
|
9
6
|
* Print the current framework status.
|
|
10
7
|
*/
|
|
11
8
|
export function statusCommand() {
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
const state = readState();
|
|
10
|
+
const tasks = listTasks();
|
|
11
|
+
const agentStatuses = readStatus();
|
|
12
|
+
|
|
13
|
+
if (!state) {
|
|
14
|
+
console.error("❌ Error: Memory state not found. Please run 'init' first.");
|
|
16
15
|
return;
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
const content = fs.readFileSync(memoryPath, "utf8");
|
|
20
|
-
|
|
21
|
-
// Format 1: Table Style (Original)
|
|
22
|
-
const tableMatch = content.match(
|
|
23
|
-
/\| Active Phase \| Profile \| Last Update \| Active Trace ID \| Blockers \|\n\| :----------- \| :------ \| :---------- \| :-------------- \| :------- \|\n\| (.*?) \| (.*?) \| (.*?) \| (.*?) \| (.*?) \|/,
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
// Format 2: List Style (New)
|
|
27
|
-
const phaseMatch = content.match(/- Phase: (.*)/);
|
|
28
|
-
const traceIdMatch = content.match(/- Trace ID: (.*)/);
|
|
29
|
-
const profileMatch = content.match(/- Profile: (.*)/);
|
|
30
|
-
const updateMatch = content.match(/- Last Update: (.*)/);
|
|
31
|
-
const blockersMatch = content.match(/- Blockers: (.*)/);
|
|
32
|
-
|
|
33
18
|
console.warn("\n📊 --- PROJECT STATUS ---");
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
if (
|
|
45
|
-
if (
|
|
46
|
-
if (
|
|
19
|
+
console.warn(`🔹 Phase: ${state.phase}`);
|
|
20
|
+
console.warn(`🆔 Trace ID: ${state.traceId}`);
|
|
21
|
+
console.warn(`🤖 Manager: ${state.managerState}`);
|
|
22
|
+
|
|
23
|
+
// Read Agent Status from Document Store
|
|
24
|
+
console.warn("\n🎖️ Enderun Army Status (Agent States):");
|
|
25
|
+
for (const [agentName, info] of Object.entries(agentStatuses)) {
|
|
26
|
+
const { state, task } = info as { state: string; task: string };
|
|
27
|
+
let coloredState = state;
|
|
28
|
+
if (state === "READY") coloredState = chalk.green(state);
|
|
29
|
+
else if (state === "EXECUTING") coloredState = chalk.yellow(state);
|
|
30
|
+
else if (state === "BLOCKED" || state === "TIMEOUT") coloredState = chalk.red(state);
|
|
31
|
+
else if (state === "WAITING") coloredState = chalk.cyan(state);
|
|
47
32
|
|
|
48
|
-
|
|
49
|
-
const managerState = content.match(/- @manager state: (.*)/);
|
|
50
|
-
if (managerState) console.warn(`🤖 Manager: ${managerState[1].trim()}`);
|
|
51
|
-
} else {
|
|
52
|
-
console.warn("⚠️ Status data could not be parsed in standard formats.");
|
|
33
|
+
console.warn(` ${chalk.bold(agentName.padEnd(12))} : [${coloredState}] - ${task}`);
|
|
53
34
|
}
|
|
54
35
|
|
|
55
|
-
|
|
56
|
-
const statusPath = path.join(frameworkDir, "STATUS.md");
|
|
57
|
-
if (fs.existsSync(statusPath)) {
|
|
58
|
-
try {
|
|
59
|
-
const statusContent = fs.readFileSync(statusPath, "utf8");
|
|
60
|
-
const lines = statusContent.split("\n");
|
|
61
|
-
const agentRows = lines.filter(line => line.includes("| @") && line.includes("|"));
|
|
62
|
-
if (agentRows.length > 0) {
|
|
63
|
-
console.warn("\n🎖️ Enderun Army Status (Agent States):");
|
|
64
|
-
agentRows.forEach(row => {
|
|
65
|
-
const parts = row.split("|");
|
|
66
|
-
if (parts.length >= 4) {
|
|
67
|
-
const agentName = parts[1].trim();
|
|
68
|
-
const state = parts[2].trim();
|
|
69
|
-
const activeTask = parts[3].trim();
|
|
70
|
-
|
|
71
|
-
let coloredState = state;
|
|
72
|
-
if (state === "READY") coloredState = chalk.green(state);
|
|
73
|
-
else if (state === "EXECUTING") coloredState = chalk.yellow(state);
|
|
74
|
-
else if (state === "BLOCKED" || state === "TIMEOUT") coloredState = chalk.red(state);
|
|
75
|
-
else if (state === "WAITING") coloredState = chalk.cyan(state);
|
|
76
|
-
|
|
77
|
-
console.warn(` ${chalk.bold(agentName.padEnd(12))} : [${coloredState}] - ${activeTask}`);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
} catch (err) {
|
|
82
|
-
logger.debug("Failed to read army status file", err);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
const tasksSection = content.match(/## ACTIVE TASKS\n\n([\s\S]*?)(?=\n##|$)/);
|
|
87
|
-
if (tasksSection) {
|
|
36
|
+
if (tasks.length > 0) {
|
|
88
37
|
console.warn("\n📋 Active Tasks:");
|
|
89
|
-
|
|
38
|
+
tasks.forEach((t: { priority: string; status: string; description: string; agent: string }) => {
|
|
39
|
+
console.warn(` - [${t.priority}] ${t.status}: ${t.description} (@${t.agent})`);
|
|
40
|
+
});
|
|
90
41
|
}
|
|
91
42
|
|
|
92
43
|
console.warn("\n-----------------------\n");
|
|
93
44
|
}
|
|
45
|
+
|
|
@@ -1,46 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { getMemoryPath, acquireMemoryLock, releaseMemoryLock } from "../utils/memory.js";
|
|
4
|
-
import { generateULID } from "../utils/time.js";
|
|
5
|
-
import { sanitizeTableCell, normalizeAgentName, normalizePriority, insertTaskRow } from "../utils/string.js";
|
|
1
|
+
import { updateDocumentStore, generateULID, getFrameworkDir } from "../utils/memory.js";
|
|
2
|
+
import { sanitizeInput, normalizeAgentName, normalizePriority } from "../utils/string.js";
|
|
6
3
|
|
|
7
4
|
/**
|
|
8
5
|
* Generate a new Trace ID and add it to project memory.
|
|
9
6
|
*/
|
|
10
7
|
export function traceNewCommand(description: string, agent = "manager", priority = "P2"): string | void {
|
|
11
|
-
const memoryPath = getMemoryPath();
|
|
12
|
-
if (!fs.existsSync(memoryPath)) {
|
|
13
|
-
console.error("❌ Error: PROJECT_MEMORY.md not found.");
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
8
|
const traceId = generateULID();
|
|
18
|
-
const safeDescription =
|
|
9
|
+
const safeDescription = sanitizeInput(description);
|
|
19
10
|
const safeAgent = normalizeAgentName(agent);
|
|
20
11
|
const safePriority = normalizePriority(priority);
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!acquireMemoryLock(lockPath)) {
|
|
25
|
-
console.error("❌ Error: Memory lock timeout (5 retries).");
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
12
|
+
const frameworkDir = getFrameworkDir();
|
|
13
|
+
// ...
|
|
28
14
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
// --- Document Store Write ---
|
|
16
|
+
updateDocumentStore("task", {
|
|
17
|
+
traceId,
|
|
18
|
+
description: safeDescription,
|
|
19
|
+
agent: safeAgent,
|
|
20
|
+
priority: safePriority,
|
|
21
|
+
status: "IN_PROGRESS",
|
|
22
|
+
createdAt: new Date().toISOString()
|
|
23
|
+
}, traceId, frameworkDir);
|
|
24
|
+
// ----------------------------
|
|
36
25
|
|
|
37
|
-
|
|
38
|
-
console.warn(`
|
|
26
|
+
console.warn(`
|
|
39
27
|
✅ New Trace ID created: ${traceId}`);
|
|
40
|
-
|
|
28
|
+
console.warn(`📝 Added to task list: ${description}
|
|
41
29
|
`);
|
|
42
|
-
|
|
43
|
-
} finally {
|
|
44
|
-
releaseMemoryLock(lockPath);
|
|
45
|
-
}
|
|
30
|
+
return traceId;
|
|
46
31
|
}
|
package/src/cli/index.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import fs from "fs";
|
|
3
3
|
import { getPackageVersion, getValidatorPath } from "./utils/pkg.js";
|
|
4
4
|
import { getMemoryPath, readActiveTraceId } from "./utils/memory.js";
|
|
5
|
+
import { planCommand } from "./commands/plan.js";
|
|
5
6
|
import { initCommand } from "./commands/init.js";
|
|
6
7
|
import { checkCommand } from "./commands/check.js";
|
|
7
8
|
import { statusCommand } from "./commands/status.js";
|
|
@@ -73,6 +74,9 @@ async function main() {
|
|
|
73
74
|
checkCommand();
|
|
74
75
|
break;
|
|
75
76
|
|
|
77
|
+
case "plan":
|
|
78
|
+
planCommand();
|
|
79
|
+
break;
|
|
76
80
|
case "status":
|
|
77
81
|
statusCommand();
|
|
78
82
|
break;
|
|
@@ -299,8 +303,8 @@ Natural Language:
|
|
|
299
303
|
sent to the @manager for orchestration.
|
|
300
304
|
|
|
301
305
|
Example:
|
|
302
|
-
agent-enderun "
|
|
303
|
-
agent-enderun @backend "
|
|
306
|
+
agent-enderun "Audit my project"
|
|
307
|
+
agent-enderun @backend "Create the login page"
|
|
304
308
|
`);
|
|
305
309
|
}
|
|
306
310
|
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { logger } from "../../shared/logger.js";
|
|
4
|
+
|
|
5
|
+
interface ComplianceIssue {
|
|
6
|
+
file: string;
|
|
7
|
+
line: number;
|
|
8
|
+
rule: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function scanProjectCompliance(): ComplianceIssue[] {
|
|
12
|
+
const issues: ComplianceIssue[] = [];
|
|
13
|
+
const files = getAllFiles("src");
|
|
14
|
+
|
|
15
|
+
for (const file of files) {
|
|
16
|
+
const content = fs.readFileSync(file, "utf8");
|
|
17
|
+
const lines = content.split("\n");
|
|
18
|
+
|
|
19
|
+
lines.forEach((line, index) => {
|
|
20
|
+
const lineNum = index + 1;
|
|
21
|
+
const trimmedLine = line.trim();
|
|
22
|
+
|
|
23
|
+
// Skip comments and common doc string patterns
|
|
24
|
+
if (trimmedLine.startsWith("//") ||
|
|
25
|
+
trimmedLine.startsWith("*") ||
|
|
26
|
+
trimmedLine.startsWith("-") ||
|
|
27
|
+
trimmedLine.startsWith('"') || // Ignore strings
|
|
28
|
+
trimmedLine.startsWith('`')) return; // Ignore template literals
|
|
29
|
+
|
|
30
|
+
// Only check if it's NOT inside a UI/console message
|
|
31
|
+
const isUIMessage = line.includes("console.warn") || line.includes("console.error") || line.includes("UI.");
|
|
32
|
+
|
|
33
|
+
// 1. Console.log check - only if it's actual code
|
|
34
|
+
if (line.includes("console.log") && !isUIMessage) {
|
|
35
|
+
issues.push({ file, line: lineNum, rule: "No console.log allowed" });
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// 2. Secret check (Regex for simple API keys) - skip UI messages
|
|
39
|
+
if (/API_KEY|SECRET|PASSWORD/i.test(line) && !file.includes(".env") && !isUIMessage) {
|
|
40
|
+
issues.push({ file, line: lineNum, rule: "Potential hardcoded secret detected" });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// 3. 'Any' type check
|
|
44
|
+
if (/\bany\b/.test(line) && !line.includes('":')) {
|
|
45
|
+
issues.push({ file, line: lineNum, rule: "Usage of 'any' type is forbidden" });
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
return issues;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function getAllFiles(dirPath: string, arrayOfFiles: string[] = []): string[] {
|
|
54
|
+
const files = fs.readdirSync(dirPath);
|
|
55
|
+
|
|
56
|
+
files.forEach((file) => {
|
|
57
|
+
const fullPath = path.join(dirPath, file);
|
|
58
|
+
if (fs.statSync(fullPath).isDirectory()) {
|
|
59
|
+
arrayOfFiles = getAllFiles(fullPath, arrayOfFiles);
|
|
60
|
+
} else if (fullPath.endsWith(".ts")) {
|
|
61
|
+
arrayOfFiles.push(fullPath);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
return arrayOfFiles;
|
|
66
|
+
}
|
package/src/cli/utils/fs.ts
CHANGED
|
@@ -2,8 +2,8 @@ import fs from "fs";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import crypto from "crypto";
|
|
4
4
|
|
|
5
|
-
import { remapFrameworkContent } from "../adapters.js"; // Import from the new adapters.js
|
|
6
|
-
import type { AdapterId } from "../adapters.js";
|
|
5
|
+
import { remapFrameworkContent } from "../adapters/index.js"; // Import from the new adapters.js
|
|
6
|
+
import type { AdapterId } from "../adapters/index.js";
|
|
7
7
|
import { ensureDir, writeTextFile, writeJsonFile } from "../../shared/fs.js";
|
|
8
8
|
|
|
9
9
|
export { ensureDir, writeTextFile, writeJsonFile };
|