devchain-cli 0.17.1 → 0.18.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 +64 -96
- package/dist/drizzle/0067_remove_claude_1m_provider_state.sql +3 -0
- package/dist/drizzle/0068_claude_launch_settings_json.sql +1 -0
- package/dist/drizzle/meta/0067_snapshot.json +5743 -0
- package/dist/drizzle/meta/0068_snapshot.json +5750 -0
- package/dist/drizzle/meta/_journal.json +15 -1
- package/dist/node_modules/@devchain/codebase-overview/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@devchain/shared/index.d.ts +1 -1
- package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/index.js +1 -1
- package/dist/node_modules/@devchain/shared/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.d.ts +12 -0
- package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.js +97 -0
- package/dist/node_modules/@devchain/shared/schemas/claude-launch-settings.js.map +1 -0
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +18 -10
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js +11 -2
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/index.d.ts +1 -0
- package/dist/node_modules/@devchain/shared/schemas/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/index.js +1 -0
- package/dist/node_modules/@devchain/shared/schemas/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/session-migration-reasons.d.ts +20 -0
- package/dist/node_modules/@devchain/shared/session-migration-reasons.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/session-migration-reasons.js +109 -0
- package/dist/node_modules/@devchain/shared/session-migration-reasons.js.map +1 -0
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/server/app.main.module.js +2 -0
- package/dist/server/app.main.module.js.map +1 -1
- package/dist/server/app.normal.module.js +2 -0
- package/dist/server/app.normal.module.js.map +1 -1
- package/dist/server/common/prompt-references.d.ts +29 -0
- package/dist/server/common/prompt-references.js +84 -0
- package/dist/server/common/prompt-references.js.map +1 -0
- package/dist/server/common/prompt-transfer.d.ts +31 -0
- package/dist/server/common/prompt-transfer.js +38 -0
- package/dist/server/common/prompt-transfer.js.map +1 -0
- package/dist/server/common/prompt-type.d.ts +12 -0
- package/dist/server/common/prompt-type.js +46 -0
- package/dist/server/common/prompt-type.js.map +1 -0
- package/dist/server/common/tags.d.ts +7 -0
- package/dist/server/common/tags.js +21 -0
- package/dist/server/common/tags.js.map +1 -0
- package/dist/server/main.js +9 -1
- package/dist/server/main.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +9 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +33 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +15 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
- package/dist/server/modules/core/services/preflight.service.js +28 -4
- package/dist/server/modules/core/services/preflight.service.js.map +1 -1
- package/dist/server/modules/events/catalog/broadcast-registry.js +29 -12
- package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
- package/dist/server/modules/events/catalog/index.d.ts +30 -3
- package/dist/server/modules/events/catalog/index.js +2 -0
- package/dist/server/modules/events/catalog/index.js.map +1 -1
- package/dist/server/modules/events/catalog/session.runtime-context.updated.d.ts +12 -0
- package/dist/server/modules/events/catalog/session.runtime-context.updated.js +13 -0
- package/dist/server/modules/events/catalog/session.runtime-context.updated.js.map +1 -0
- package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +23 -3
- package/dist/server/modules/events/catalog/session.transcript.updated.js +41 -19
- package/dist/server/modules/events/catalog/session.transcript.updated.js.map +1 -1
- package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +50 -0
- package/dist/server/modules/hooks/dtos/hook-event.dto.js +18 -1
- package/dist/server/modules/hooks/dtos/hook-event.dto.js.map +1 -1
- package/dist/server/modules/hooks/hooks.module.js +2 -1
- package/dist/server/modules/hooks/hooks.module.js.map +1 -1
- package/dist/server/modules/hooks/services/hooks.service.d.ts +4 -1
- package/dist/server/modules/hooks/services/hooks.service.js +15 -3
- package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
- package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +24 -0
- package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/agent-context.d.ts +2 -2
- package/dist/server/modules/mcp/services/handlers/agent-tools.js +103 -16
- package/dist/server/modules/mcp/services/handlers/agent-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/prompt-tools.js +11 -9
- package/dist/server/modules/mcp/services/handlers/prompt-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/instructions-resolver.js +14 -10
- package/dist/server/modules/mcp/services/instructions-resolver.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js +1 -1
- package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js.map +1 -1
- package/dist/server/modules/metrics/controllers/metrics.controller.d.ts +6 -0
- package/dist/server/modules/metrics/controllers/metrics.controller.js +38 -0
- package/dist/server/modules/metrics/controllers/metrics.controller.js.map +1 -0
- package/dist/server/modules/metrics/helpers/byte-accounting.helper.d.ts +17 -0
- package/dist/server/modules/metrics/helpers/byte-accounting.helper.js +88 -0
- package/dist/server/modules/metrics/helpers/byte-accounting.helper.js.map +1 -0
- package/dist/server/modules/metrics/metrics.module.d.ts +2 -0
- package/dist/server/modules/metrics/metrics.module.js +23 -0
- package/dist/server/modules/metrics/metrics.module.js.map +1 -0
- package/dist/server/modules/metrics/services/metrics.service.d.ts +20 -0
- package/dist/server/modules/metrics/services/metrics.service.js +241 -0
- package/dist/server/modules/metrics/services/metrics.service.js.map +1 -0
- package/dist/server/modules/metrics/types/metrics.types.d.ts +100 -0
- package/dist/server/modules/{providers/adapters/capabilities/context-window.capability.js → metrics/types/metrics.types.js} +1 -1
- package/dist/server/modules/metrics/types/metrics.types.js.map +1 -0
- package/dist/server/modules/profiles/dto.d.ts +2 -2
- package/dist/server/modules/profiles/dto.js +14 -2
- package/dist/server/modules/profiles/dto.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.d.ts +5 -6
- package/dist/server/modules/projects/helpers/profile-mapping.helpers.d.ts +5 -3
- package/dist/server/modules/projects/helpers/profile-mapping.helpers.js +25 -13
- package/dist/server/modules/projects/helpers/profile-mapping.helpers.js.map +1 -1
- package/dist/server/modules/projects/helpers/project-export.d.ts +0 -2
- package/dist/server/modules/projects/helpers/project-export.js +7 -3
- package/dist/server/modules/projects/helpers/project-export.js.map +1 -1
- package/dist/server/modules/projects/helpers/project-import.d.ts +7 -6
- package/dist/server/modules/projects/helpers/project-import.js +66 -105
- package/dist/server/modules/projects/helpers/project-import.js.map +1 -1
- package/dist/server/modules/projects/helpers/project-runtime.helpers.d.ts +1 -0
- package/dist/server/modules/projects/helpers/project-runtime.helpers.js +2 -1
- package/dist/server/modules/projects/helpers/project-runtime.helpers.js.map +1 -1
- package/dist/server/modules/projects/helpers/template-loader.d.ts +3 -3
- package/dist/server/modules/projects/helpers/template-loader.js +32 -12
- package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
- package/dist/server/modules/projects/projects.module.js +0 -2
- package/dist/server/modules/projects/projects.module.js.map +1 -1
- package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -0
- package/dist/server/modules/projects/services/project-registry-import.service.js +29 -1
- package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
- package/dist/server/modules/projects/services/project-template-upgrade.service.d.ts +5 -0
- package/dist/server/modules/projects/services/project-template-upgrade.service.js +22 -2
- package/dist/server/modules/projects/services/project-template-upgrade.service.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.d.ts +12 -20
- package/dist/server/modules/projects/services/projects.service.js +8 -9
- package/dist/server/modules/projects/services/projects.service.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codec-registry.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/agents.codec.d.ts +1 -1
- package/dist/server/modules/projects/template-codec/codecs/agents.codec.js +4 -4
- package/dist/server/modules/projects/template-codec/codecs/agents.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/profiles.codec.d.ts +1 -1
- package/dist/server/modules/projects/template-codec/codecs/profiles.codec.js +27 -8
- package/dist/server/modules/projects/template-codec/codecs/profiles.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/project-settings.codec.js +8 -1
- package/dist/server/modules/projects/template-codec/codecs/project-settings.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/prompts.codec.js +23 -4
- package/dist/server/modules/projects/template-codec/codecs/prompts.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/provider-settings.codec.d.ts +0 -5
- package/dist/server/modules/projects/template-codec/codecs/provider-settings.codec.js +10 -46
- package/dist/server/modules/projects/template-codec/codecs/provider-settings.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/codecs/watchers.codec.js +1 -1
- package/dist/server/modules/projects/template-codec/codecs/watchers.codec.js.map +1 -1
- package/dist/server/modules/projects/template-codec/import-context.d.ts +6 -1
- package/dist/server/modules/projects/template-codec/import-context.js.map +1 -1
- package/dist/server/modules/projects/template-codec/template-section-codec.d.ts +7 -5
- package/dist/server/modules/providers/adapters/capabilities/auto-compact.capability.d.ts +13 -0
- package/dist/server/modules/providers/adapters/capabilities/auto-compact.capability.js +3 -0
- package/dist/server/modules/providers/adapters/capabilities/auto-compact.capability.js.map +1 -0
- package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -2
- package/dist/server/modules/providers/adapters/capabilities/index.js +2 -2
- package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -1
- package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +3 -3
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js +3 -3
- package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -1
- package/dist/server/modules/providers/adapters/claude.adapter.d.ts +3 -7
- package/dist/server/modules/providers/adapters/claude.adapter.js +5 -45
- package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
- package/dist/server/modules/providers/controllers/providers.controller.d.ts +3 -7
- package/dist/server/modules/providers/controllers/providers.controller.js +2 -14
- package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
- package/dist/server/modules/providers/providers.module.js +0 -2
- package/dist/server/modules/providers/providers.module.js.map +1 -1
- package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +4 -10
- package/dist/server/modules/providers/services/provider-state-manager.service.js +28 -83
- package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -1
- package/dist/server/modules/registry/controllers/templates.controller.d.ts +2 -4
- package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.d.ts +32 -0
- package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js +364 -0
- package/dist/server/modules/runtime-context-capture/claude-launch-settings-materializer.service.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/context-window-policy.d.ts +40 -0
- package/dist/server/modules/runtime-context-capture/context-window-policy.js +73 -0
- package/dist/server/modules/runtime-context-capture/context-window-policy.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/index.d.ts +6 -0
- package/dist/server/modules/runtime-context-capture/index.js +23 -0
- package/dist/server/modules/runtime-context-capture/index.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture-files.d.ts +4 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture-files.js +40 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture-files.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.module.d.ts +2 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.module.js +25 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.module.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.service.d.ts +25 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.service.js +155 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.service.js.map +1 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.types.d.ts +44 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.types.js +5 -0
- package/dist/server/modules/runtime-context-capture/runtime-context-capture.types.js.map +1 -0
- package/dist/server/modules/seeders/seeders/0011_seed_remove_claude_1m_provider_env.d.ts +3 -0
- package/dist/server/modules/seeders/seeders/0011_seed_remove_claude_1m_provider_env.js +31 -0
- package/dist/server/modules/seeders/seeders/0011_seed_remove_claude_1m_provider_env.js.map +1 -0
- package/dist/server/modules/seeders/seeders/0012_seed_claude_launch_settings.d.ts +3 -0
- package/dist/server/modules/seeders/seeders/0012_seed_claude_launch_settings.js +28 -0
- package/dist/server/modules/seeders/seeders/0012_seed_claude_launch_settings.js.map +1 -0
- package/dist/server/modules/seeders/seeders/0013_seed_prompt_type_tags.d.ts +3 -0
- package/dist/server/modules/seeders/seeders/0013_seed_prompt_type_tags.js +112 -0
- package/dist/server/modules/seeders/seeders/0013_seed_prompt_type_tags.js.map +1 -0
- package/dist/server/modules/seeders/services/data-seeder.service.js +6 -0
- package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.d.ts +6 -0
- package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js +66 -0
- package/dist/server/modules/session-reader/adapters/antigravity-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +5 -0
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +12 -0
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +5 -0
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +12 -0
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/copilot-session-reader.adapter.d.ts +5 -0
- package/dist/server/modules/session-reader/adapters/copilot-session-reader.adapter.js +12 -0
- package/dist/server/modules/session-reader/adapters/copilot-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.d.ts +5 -0
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js +15 -0
- package/dist/server/modules/session-reader/adapters/opencode-session-reader.adapter.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +10 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +28 -1
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -1
- package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +10 -4
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js +18 -19
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
- package/dist/server/modules/session-reader/data/pricing.json +334 -6
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +1 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +7 -3
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.d.ts +1 -0
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +22 -11
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.d.ts +1 -0
- package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js +22 -9
- package/dist/server/modules/session-reader/parsers/copilot-jsonl.parser.js.map +1 -1
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.d.ts +5 -1
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js +102 -0
- package/dist/server/modules/session-reader/readers/opencode-sqlite.reader.js.map +1 -1
- package/dist/server/modules/session-reader/services/pricing.interface.d.ts +2 -0
- package/dist/server/modules/session-reader/services/pricing.interface.js +3 -0
- package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -1
- package/dist/server/modules/session-reader/services/pricing.service.d.ts +1 -0
- package/dist/server/modules/session-reader/services/pricing.service.js +4 -2
- package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-cache.service.d.ts +72 -4
- package/dist/server/modules/session-reader/services/session-cache.service.js +435 -68
- package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/session-reader.service.d.ts +33 -9
- package/dist/server/modules/session-reader/services/session-reader.service.js +200 -79
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +1 -1
- package/dist/server/modules/session-reader/services/transcript-cursor.js +2 -2
- package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -1
- package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +3 -0
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js +66 -11
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
- package/dist/server/modules/session-reader/session-reader.module.js +12 -2
- package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
- package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +1 -0
- package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
- package/dist/server/modules/sessions/services/agent-presence-aggregator.d.ts +1 -0
- package/dist/server/modules/sessions/services/agent-presence-aggregator.js +1 -0
- package/dist/server/modules/sessions/services/agent-presence-aggregator.js.map +1 -1
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +6 -2
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +24 -8
- package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +30 -5
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +51 -8
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +5 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +39 -6
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +7 -1
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +47 -5
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.d.ts +6 -1
- package/dist/server/modules/sessions/services/sessions.service.js +17 -3
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/sessions/sessions.module.js +2 -0
- package/dist/server/modules/sessions/sessions.module.js.map +1 -1
- package/dist/server/modules/sessions/utils/profile-options.d.ts +1 -2
- package/dist/server/modules/sessions/utils/profile-options.js +3 -50
- package/dist/server/modules/sessions/utils/profile-options.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +10 -87
- package/dist/server/modules/storage/db/schema.js +3 -13
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/interfaces/snapshot-prompt-writer.interface.d.ts +5 -0
- package/dist/server/modules/storage/interfaces/snapshot-prompt-writer.interface.js +5 -0
- package/dist/server/modules/storage/interfaces/snapshot-prompt-writer.interface.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +2 -0
- package/dist/server/modules/storage/local/delegates/prompt.delegate.js +31 -20
- package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/provider.delegate.js +61 -16
- package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/local-storage.service.d.ts +3 -1
- package/dist/server/modules/storage/local/local-storage.service.js +3 -0
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +2 -4
- package/dist/server/modules/storage/storage.module.js +8 -2
- package/dist/server/modules/storage/storage.module.js.map +1 -1
- package/dist/server/modules/terminal/dtos/ws-envelope.dto.d.ts +185 -1
- package/dist/server/modules/terminal/dtos/ws-envelope.dto.js +93 -2
- package/dist/server/modules/terminal/dtos/ws-envelope.dto.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +47 -2
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +615 -62
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/process-executor/fake-process-executor.d.ts +1 -0
- package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js +1 -0
- package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js.map +1 -1
- package/dist/server/modules/terminal/services/pty.service.d.ts +8 -3
- package/dist/server/modules/terminal/services/pty.service.js +11 -2
- package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/capture.js +2 -0
- package/dist/server/modules/terminal/services/terminal-io/capture.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +1 -0
- package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +28 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.d.ts +6 -0
- package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js +26 -1
- package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +27 -3
- package/dist/server/modules/terminal/services/terminal-seed.service.js +75 -19
- package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-send-scheduler.service.d.ts +73 -0
- package/dist/server/modules/terminal/services/terminal-send-scheduler.service.js +387 -0
- package/dist/server/modules/terminal/services/terminal-send-scheduler.service.js.map +1 -0
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.d.ts +4 -10
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +20 -48
- package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-socket-drain.adapter.d.ts +10 -0
- package/dist/server/modules/terminal/services/terminal-socket-drain.adapter.js +75 -0
- package/dist/server/modules/terminal/services/terminal-socket-drain.adapter.js.map +1 -0
- package/dist/server/modules/terminal/services/terminal-stream.service.d.ts +53 -6
- package/dist/server/modules/terminal/services/terminal-stream.service.js +190 -35
- package/dist/server/modules/terminal/services/terminal-stream.service.js.map +1 -1
- package/dist/server/modules/terminal/terminal.module.js +7 -0
- package/dist/server/modules/terminal/terminal.module.js.map +1 -1
- package/dist/server/templates/3-agents-dev.json +120 -105
- package/dist/server/templates/teams-dev.json +204 -180
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-DdJqgIFY.js → ReviewDetailPage-CkB_Fx1C.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-iWEVgAdp.js → ReviewsPage-Bx6-dM75.js} +1 -1
- package/dist/server/ui/assets/index-5SDRTmwU.js +1156 -0
- package/dist/server/ui/assets/index-PyQSKUPl.css +32 -0
- package/dist/server/ui/assets/{useReviewSubscription-DCXbfBtE.js → useReviewSubscription-BZxAz2ZG.js} +1 -1
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/3-agents-dev.json +120 -105
- package/dist/templates/teams-dev.json +204 -180
- package/package.json +20 -5
- package/dist/server/modules/providers/adapters/capabilities/context-window.capability.d.ts +0 -20
- package/dist/server/modules/providers/adapters/capabilities/context-window.capability.js.map +0 -1
- package/dist/server/modules/providers/services/probe-proof.service.d.ts +0 -8
- package/dist/server/modules/providers/services/probe-proof.service.js +0 -49
- package/dist/server/modules/providers/services/probe-proof.service.js.map +0 -1
- package/dist/server/modules/providers/utils/probe-1m.d.ts +0 -8
- package/dist/server/modules/providers/utils/probe-1m.js +0 -76
- package/dist/server/modules/providers/utils/probe-1m.js.map +0 -1
- package/dist/server/ui/assets/index-CM2KuqcE.js +0 -1113
- package/dist/server/ui/assets/index-COvyD_66.css +0 -32
package/README.md
CHANGED
|
@@ -1,127 +1,95 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://devchain.cc"><img src=".github/assets/hero-banner.png" alt="DevChain — run a team of AI coding agents, on your machine" width="100%"></a>
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
>
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://github.com/twitech-lab/devchain/releases"><img src="https://img.shields.io/github/v/release/twitech-lab/devchain?style=flat-square&color=6366f1" alt="Latest release"></a>
|
|
7
|
+
<a href="https://www.npmjs.com/package/devchain-cli"><img src="https://img.shields.io/npm/v/devchain-cli?style=flat-square&color=8b5cf6" alt="npm version"></a>
|
|
8
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-Elastic--2.0-blue?style=flat-square" alt="License: Elastic 2.0"></a>
|
|
9
|
+
<a href="https://devchain.cc"><img src="https://img.shields.io/badge/docs-devchain.cc-6366f1?style=flat-square" alt="Documentation"></a>
|
|
10
|
+
</p>
|
|
4
11
|
|
|
5
|
-
|
|
6
|
-
|
|
12
|
+
<p align="center">
|
|
13
|
+
<b><a href="#quick-start">Quick Start</a></b> · <b><a href="https://devchain.cc/docs/quick-start-guide/">Docs</a></b> · <b><a href="#mobile-app">Mobile App</a></b> · <b><a href="https://github.com/twitech-lab/devchain/releases">Releases</a></b>
|
|
14
|
+
</p>
|
|
7
15
|
|
|
8
|
-
|
|
16
|
+
DevChain is a local-first orchestrator for AI coding agents. It runs Claude Code, Codex, OpenCode, Antigravity, and GitHub Copilot as coordinated teams — each agent in its own real tmux terminal, sharing a board of epics, a chat, and a code-review flow. You describe the work, the teams plan and build it in parallel, and you review and merge from the web UI — with an end-to-end-encrypted mobile app to keep an eye on everything when you step away.
|
|
9
17
|
|
|
10
|
-
|
|
18
|
+
## Key features
|
|
11
19
|
|
|
12
|
-
|
|
20
|
+
- **Teams that manage themselves** — the Builders team adds Coders when work piles up and picks the right model per task: cheaper models for routine changes, top-tier models for harder work. The Planning team researches plans from several angles in parallel before you approve them.
|
|
21
|
+
- **Real terminals, live** — every agent runs in a tmux session streamed to your browser with full TTY support. Watch it work, scroll back, or take over at any moment.
|
|
22
|
+
- **A board agents actually use** — kanban-style epics and sub-epics with drag-and-drop; agents pick up tasks and update statuses themselves through MCP tools.
|
|
23
|
+
- **Code review built in** — live pre-commit diff viewer with inline comments, `@mentions`, and threading, wired into the agent workflow.
|
|
24
|
+
- **Session reader and context tracking** — full transcript viewer for all five providers, with per-turn token usage, cost tracking, and compaction events; live context-window bars for every agent.
|
|
25
|
+
- **Skills and MCP** — sync community skill packs (Anthropic, OpenAI, Vercel, and more) and expose them to agents; the full MCP toolset is auto-configured before each session.
|
|
26
|
+
- **Local-first** — everything lives in a local SQLite database and runs on your machine, with your provider accounts and keys.
|
|
13
27
|
|
|
14
|
-
|
|
28
|
+
<p align="center">
|
|
29
|
+
<img src=".github/assets/screenshot-chat-terminal.png" alt="DevChain chat with agent teams on the left and a Brainstormer session streaming in a real terminal on the right" width="100%">
|
|
30
|
+
</p>
|
|
15
31
|
|
|
16
|
-
|
|
17
|
-
Group agents into named teams with team leads that do real management. The **Builders** team grows itself with the workload and picks the right model for each task — cheaper models for routine changes, top-tier models for harder work. The **Planning** team supports parallel planning: add multiple Architects on different models and the Brainstormer gathers independent framings from each before drafting the master plan. Choose your allowed providers per team when you create the project.
|
|
32
|
+
## Supported providers
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
34
|
+
| Provider | CLI | Sessions | Transcripts |
|
|
35
|
+
|----------|-----|:--------:|:-----------:|
|
|
36
|
+
| [Claude Code](https://claude.ai/claude-code) | `claude` | ✔ | ✔ |
|
|
37
|
+
| [Codex](https://github.com/openai/codex) | `codex` | ✔ | ✔ |
|
|
38
|
+
| [OpenCode](https://github.com/opencode-ai/opencode) | `opencode` | ✔ | ✔ |
|
|
39
|
+
| [Antigravity](https://antigravity.google) | `agy` | ✔ | ✔ |
|
|
40
|
+
| [GitHub Copilot](https://github.com/github/copilot-cli) | `copilot` | ✔ | ✔ |
|
|
21
41
|
|
|
22
|
-
|
|
23
|
-
Full transcript viewer for active agent sessions, built into the Chat page. See every tool call, thinking block, and response with real-time token usage, cost tracking, and compaction events. Supports Claude Code and Codex transcripts with AI turn grouping, collapsible cards, IQR-based token hotspot detection, and keyboard navigation.
|
|
42
|
+
Model families such as GLM are available through per-provider configs, and you can switch the provider or model of any agent on the fly.
|
|
24
43
|
|
|
25
|
-
|
|
26
|
-
Visual progress bars show each agent's context window usage in real time. Hover for exact token counts (e.g. "49% used — 98k of 200k"). An inline session summary bar in each terminal shows the active model, running cost, context percentage, and compaction count at a glance.
|
|
44
|
+
## Quick start
|
|
27
45
|
|
|
28
|
-
|
|
29
|
-
Change any agent's provider and model on the fly from the context menu — no template editing required. Model overrides are per-agent and persist across restarts, layering on top of template defaults.
|
|
30
|
-
|
|
31
|
-
### Worktrees
|
|
32
|
-
Spin up isolated agent environments on dedicated git branches. Each worktree gets its own agent team, terminals, and chat — run multiple features in parallel and merge when ready. Worktrees run as Docker containers or local processes with full branch isolation.
|
|
33
|
-
|
|
34
|
-
### Container Isolation
|
|
35
|
-
Worktree containers are provisioned automatically from the official Devchain image on [GHCR](https://github.com/orgs/TwiTech-LAB/packages/container/package/devchain). Each container has Claude Code, Codex, and Antigravity CLI pre-installed, runs as a non-root user, and shares your git identity for correct commit attribution.
|
|
36
|
-
|
|
37
|
-
### Skills
|
|
38
|
-
Browse and sync AI agent skills from community sources (Anthropic, OpenAI, Vercel, and more). Enable or disable skills per project and expose them to agents via MCP tools.
|
|
39
|
-
|
|
40
|
-
### Visual Workflow Board
|
|
41
|
-
Kanban-style epic management with drag-and-drop, list view, board context menu, and URL-based filtering. Agents pick up tasks from the board and update status in real time.
|
|
42
|
-
|
|
43
|
-
### Terminal Sessions
|
|
44
|
-
Real terminal streaming via tmux and WebSocket. Each agent gets its own session with scrollback, resize support, and inline access from the chat panel.
|
|
45
|
-
|
|
46
|
-
### Code Review
|
|
47
|
-
Live pre-commit diff viewer with agent integration, inline comments, `@mentions`, comment threading, and VS Code-style file navigation.
|
|
48
|
-
|
|
49
|
-
### Multi-Provider
|
|
50
|
-
Works with Claude Code, OpenAI Codex, OpenCode, Antigravity, and GitHub Copilot — plus model families like GLM through provider configs. Switch providers per agent or switch the whole team preset with a single click.
|
|
51
|
-
|
|
52
|
-
### MCP Integration
|
|
53
|
-
Full Model Context Protocol support. Agents get access to epics, chat, skills, reviews, and more through MCP tools — auto-configured before each session.
|
|
54
|
-
|
|
55
|
-
### Local-First
|
|
56
|
-
All data is stored in a local SQLite database and the platform runs entirely on your machine. No cloud account is required to use it. If you opt into the mobile app, your PC and phone connect through an end-to-end encrypted relay, so even then your plaintext data never leaves your devices.
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## Requirements
|
|
61
|
-
|
|
62
|
-
- **Node.js** >= 20
|
|
63
|
-
- **tmux** — required for terminal sessions
|
|
64
|
-
- macOS: `brew install tmux`
|
|
65
|
-
- Ubuntu/Debian: `sudo apt install tmux`
|
|
66
|
-
- **Docker** — optional, required for container-isolated worktrees
|
|
67
|
-
- **AI Provider** — at least one of:
|
|
68
|
-
- [`claude`](https://claude.ai/claude-code) CLI
|
|
69
|
-
- [`codex`](https://github.com/openai/codex) CLI
|
|
70
|
-
- [`opencode`](https://github.com/opencode-ai/opencode) CLI
|
|
71
|
-
- [`agy`](https://antigravity.google) CLI (Google Antigravity)
|
|
72
|
-
- [`copilot`](https://github.com/github/copilot-cli) CLI (GitHub Copilot)
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## Installation
|
|
46
|
+
Requirements: **Node.js ≥ 20**, **tmux** (`brew install tmux` / `sudo apt install tmux`), and at least one provider CLI from the table above.
|
|
77
47
|
|
|
78
48
|
```bash
|
|
79
49
|
npm install -g devchain-cli
|
|
50
|
+
devchain start
|
|
80
51
|
```
|
|
81
52
|
|
|
82
|
-
|
|
53
|
+
The browser opens automatically. Create a project, import a template, and start the Brainstormer session with a description of what you want to build. Run `devchain start --help` for ports, host binding, and foreground mode; `devchain stop` shuts the server down.
|
|
83
54
|
|
|
84
|
-
|
|
55
|
+
| Template | Agents | Best for |
|
|
56
|
+
|----------|--------|----------|
|
|
57
|
+
| `teams-dev` **(recommended)** | Planning team (Brainstormer + Architect), Builders team (Epic Manager + Coders), Code Reviewer | Auto-scaling Builders, parallel planning, tier-aware model routing |
|
|
58
|
+
| `3-agents-dev` | Brainstormer, SubBSM, Coder | Faster iteration with lower token overhead |
|
|
85
59
|
|
|
86
|
-
|
|
87
|
-
# Start Devchain — opens browser automatically
|
|
88
|
-
devchain start
|
|
60
|
+
## How it works
|
|
89
61
|
|
|
90
|
-
|
|
91
|
-
|
|
62
|
+
```mermaid
|
|
63
|
+
graph LR
|
|
64
|
+
Browser["Web UI<br/>(React)"] -->|HTTP + Socket.IO| App["Local App<br/>(NestJS + Fastify)"]
|
|
65
|
+
App --> DB[("SQLite<br/>local storage")]
|
|
66
|
+
App <-->|tmux / PTY| Sessions["Agent terminal sessions"]
|
|
67
|
+
Sessions --- CLIs["Provider CLIs<br/>claude · codex · opencode · agy · copilot"]
|
|
68
|
+
CLIs <-->|MCP tools| App
|
|
69
|
+
Mobile["Mobile app<br/>(iOS / Android)"] <-->|E2EE relay<br/>sealed data only| App
|
|
70
|
+
```
|
|
92
71
|
|
|
93
|
-
|
|
94
|
-
devchain start --foreground
|
|
72
|
+
The Local App serves the web UI and stores all state in a local SQLite database. Agents run as provider CLIs inside tmux sessions and coordinate through DevChain's MCP tools — epics, chat, reviews, skills, and team management. The optional mobile app connects through an end-to-end-encrypted relay: the cloud only forwards sealed data it cannot read.
|
|
95
73
|
|
|
96
|
-
|
|
97
|
-
devchain start --host 0.0.0.0
|
|
74
|
+
## Mobile app
|
|
98
75
|
|
|
99
|
-
|
|
100
|
-
devchain stop
|
|
101
|
-
```
|
|
76
|
+
Monitor and steer your agent teams from your phone, in open beta on [iOS (TestFlight)](https://testflight.apple.com/join/VSbfE1c6) and [Android (Play Store)](https://play.google.com/apps/testing/com.twitech.devchain.mobile). Chat with agents, answer their questions the moment they ask, reassign epics and comment on the board, watch a live terminal viewport, and get push notifications when a session stops or needs you. Reviewing and merging stay on the web — the phone is your mission control on the go. Everything between your PC and phone is end-to-end encrypted.
|
|
102
77
|
|
|
103
|
-
|
|
78
|
+
## Resources
|
|
104
79
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
80
|
+
- [Homepage](https://devchain.cc) — product overview and screenshots
|
|
81
|
+
- [Quick Start Guides](https://devchain.cc/docs/quick-start-guide/) — visual step-by-step setup for both templates
|
|
82
|
+
- [Releases](https://github.com/twitech-lab/devchain/releases) — versioned release notes
|
|
83
|
+
- [Contributing](CONTRIBUTING.md) — development setup and project structure
|
|
109
84
|
|
|
110
|
-
|
|
85
|
+
## Community and support
|
|
111
86
|
|
|
112
|
-
|
|
87
|
+
Questions, bug reports, and feature requests are welcome in [GitHub Issues](https://github.com/twitech-lab/devchain/issues). Watch [Releases](https://github.com/twitech-lab/devchain/releases) to follow what ships.
|
|
113
88
|
|
|
114
|
-
|
|
115
|
-
|--------|-------------|
|
|
116
|
-
| `-p, --port <number>` | Port to run on (default: 3000 or next available) |
|
|
117
|
-
| `--host <address>` | Bind address (default: `127.0.0.1`; use `0.0.0.0` for remote/VM access — see [docs/setup.md](docs/setup.md)) |
|
|
118
|
-
| `-f, --foreground` | Run in foreground with visible logs |
|
|
119
|
-
| `--no-open` | Don't open browser automatically |
|
|
120
|
-
| `--db <path>` | Custom database directory path |
|
|
121
|
-
| `--project <path>` | Open with a specific project path |
|
|
89
|
+
## Contributing
|
|
122
90
|
|
|
123
|
-
|
|
91
|
+
Development setup, prerequisites, and project structure live in [CONTRIBUTING.md](CONTRIBUTING.md). Issues and pull requests are welcome.
|
|
124
92
|
|
|
125
93
|
## License
|
|
126
94
|
|
|
127
|
-
[Elastic License 2.0](LICENSE)
|
|
95
|
+
Free and source-available under the [Elastic License 2.0](LICENSE). You may use, copy, and modify DevChain freely; you may not provide it as a managed service or a competing commercial offering.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE `providers` ADD `claude_launch_settings_json` text;
|