devchain-cli 0.10.4 → 0.11.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 +13 -7
- package/dist/cli.js +55 -63
- package/dist/drizzle/0048_sessions_transcript_fields.sql +6 -0
- package/dist/drizzle/0049_provider_models_and_agent_model_override.sql +24 -0
- package/dist/drizzle/meta/_journal.json +14 -0
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +25 -0
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js +9 -3
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
- 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/config/env.config.js +1 -10
- package/dist/server/common/config/env.config.js.map +1 -1
- package/dist/server/modules/agents/controllers/agents.controller.d.ts +1 -0
- package/dist/server/modules/agents/controllers/agents.controller.js +3 -0
- package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
- package/dist/server/modules/chat/dtos/chat.dto.d.ts +4 -4
- package/dist/server/modules/core/services/preflight.service.js +7 -0
- package/dist/server/modules/core/services/preflight.service.js.map +1 -1
- package/dist/server/modules/core/services/provider-mcp-ensure.service.js +8 -0
- package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +1 -1
- package/dist/server/modules/documents/controllers/documents.controller.d.ts +2 -2
- package/dist/server/modules/documents/controllers/documents.controller.js.map +1 -1
- package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +2 -2
- package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
- package/dist/server/modules/events/catalog/claude.hooks.session.started.d.ts +4 -4
- package/dist/server/modules/events/catalog/index.d.ts +115 -4
- package/dist/server/modules/events/catalog/index.js +6 -0
- package/dist/server/modules/events/catalog/index.js.map +1 -1
- package/dist/server/modules/events/catalog/session.transcript.discovered.d.ts +24 -0
- package/dist/server/modules/events/catalog/session.transcript.discovered.js +15 -0
- package/dist/server/modules/events/catalog/session.transcript.discovered.js.map +1 -0
- package/dist/server/modules/events/catalog/session.transcript.ended.d.ts +51 -0
- package/dist/server/modules/events/catalog/session.transcript.ended.js +20 -0
- package/dist/server/modules/events/catalog/session.transcript.ended.js.map +1 -0
- package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +51 -0
- package/dist/server/modules/events/catalog/session.transcript.updated.js +20 -0
- package/dist/server/modules/events/catalog/session.transcript.updated.js.map +1 -0
- package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +2 -2
- package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -1
- package/dist/server/modules/events/subscribers/index.js +2 -0
- package/dist/server/modules/events/subscribers/index.js.map +1 -1
- package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +2 -2
- package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.d.ts +12 -0
- package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js +88 -0
- package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js.map +1 -0
- package/dist/server/modules/guests/services/guest-health.service.d.ts +2 -2
- package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
- package/dist/server/modules/hooks/dtos/hook-event.dto.d.ts +4 -4
- package/dist/server/modules/hooks/services/hooks.service.d.ts +2 -2
- package/dist/server/modules/hooks/services/hooks.service.js.map +1 -1
- package/dist/server/modules/mcp/dtos/mcp.dto.js +8 -3
- package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +4 -0
- package/dist/server/modules/mcp/services/handlers/activity-tools.js +193 -0
- package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +6 -0
- package/dist/server/modules/mcp/services/handlers/chat-tools.js +605 -0
- package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/document-tools.d.ts +6 -0
- package/dist/server/modules/mcp/services/handlers/document-tools.js +141 -0
- package/dist/server/modules/mcp/services/handlers/document-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +11 -0
- package/dist/server/modules/mcp/services/handlers/epic-tools.js +913 -0
- package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/prompt-tools.d.ts +4 -0
- package/dist/server/modules/mcp/services/handlers/prompt-tools.js +109 -0
- package/dist/server/modules/mcp/services/handlers/prompt-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/record-tools.d.ts +8 -0
- package/dist/server/modules/mcp/services/handlers/record-tools.js +114 -0
- package/dist/server/modules/mcp/services/handlers/record-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/review-tools.d.ts +8 -0
- package/dist/server/modules/mcp/services/handlers/review-tools.js +672 -0
- package/dist/server/modules/mcp/services/handlers/review-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/session-tools.d.ts +4 -0
- package/dist/server/modules/mcp/services/handlers/session-tools.js +114 -0
- package/dist/server/modules/mcp/services/handlers/session-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +4 -0
- package/dist/server/modules/mcp/services/handlers/skill-tools.js +124 -0
- package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -0
- package/dist/server/modules/mcp/services/handlers/types.d.ts +33 -0
- package/dist/server/modules/mcp/services/handlers/types.js +3 -0
- package/dist/server/modules/mcp/services/handlers/types.js.map +1 -0
- package/dist/server/modules/mcp/services/mappers/dto-mappers.d.ts +14 -0
- package/dist/server/modules/mcp/services/mappers/dto-mappers.js +138 -0
- package/dist/server/modules/mcp/services/mappers/dto-mappers.js.map +1 -0
- package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +8 -0
- package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +258 -51
- package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp.service.d.ts +6 -66
- package/dist/server/modules/mcp/services/mcp.service.js +97 -3329
- package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
- package/dist/server/modules/mcp/services/utils/document-link-resolver.d.ts +10 -0
- package/dist/server/modules/mcp/services/utils/document-link-resolver.js +124 -0
- package/dist/server/modules/mcp/services/utils/document-link-resolver.js.map +1 -0
- package/dist/server/modules/mcp/services/utils/resolve-epic-id.d.ts +3 -0
- package/dist/server/modules/mcp/services/utils/resolve-epic-id.js +40 -0
- package/dist/server/modules/mcp/services/utils/resolve-epic-id.js.map +1 -0
- package/dist/server/modules/mcp/services/utils/resource-resolver.d.ts +10 -0
- package/dist/server/modules/mcp/services/utils/resource-resolver.js +124 -0
- package/dist/server/modules/mcp/services/utils/resource-resolver.js.map +1 -0
- package/dist/server/modules/mcp/services/utils/session-context-resolver.d.ts +14 -0
- package/dist/server/modules/mcp/services/utils/session-context-resolver.js +169 -0
- package/dist/server/modules/mcp/services/utils/session-context-resolver.js.map +1 -0
- package/dist/server/modules/mcp/tool-definitions.js +12 -3
- package/dist/server/modules/mcp/tool-definitions.js.map +1 -1
- package/dist/server/modules/orchestrator/docker/services/docker.service.js +16 -2
- package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js +9 -0
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js.map +1 -1
- package/dist/server/modules/profiles/controllers/provider-configs.controller.d.ts +2 -2
- package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
- package/dist/server/modules/profiles/dto.d.ts +2 -2
- package/dist/server/modules/projects/controllers/projects.controller.d.ts +38 -33
- package/dist/server/modules/projects/controllers/projects.controller.js +12 -7
- package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
- package/dist/server/modules/projects/dtos/export.dto.d.ts +7 -0
- package/dist/server/modules/projects/dtos/export.dto.js +1 -0
- package/dist/server/modules/projects/dtos/export.dto.js.map +1 -1
- package/dist/server/modules/projects/helpers/profile-mapping.helpers.d.ts +102 -0
- package/dist/server/modules/projects/helpers/profile-mapping.helpers.js +369 -0
- package/dist/server/modules/projects/helpers/profile-mapping.helpers.js.map +1 -0
- package/dist/server/modules/projects/helpers/project-export.d.ts +141 -0
- package/dist/server/modules/projects/helpers/project-export.js +314 -0
- package/dist/server/modules/projects/helpers/project-export.js.map +1 -0
- package/dist/server/modules/projects/helpers/project-import.d.ts +132 -0
- package/dist/server/modules/projects/helpers/project-import.js +600 -0
- package/dist/server/modules/projects/helpers/project-import.js.map +1 -0
- package/dist/server/modules/projects/helpers/project-presets.helpers.d.ts +26 -0
- package/dist/server/modules/projects/helpers/project-presets.helpers.js +110 -0
- package/dist/server/modules/projects/helpers/project-presets.helpers.js.map +1 -0
- package/dist/server/modules/projects/helpers/project-runtime.helpers.d.ts +69 -0
- package/dist/server/modules/projects/helpers/project-runtime.helpers.js +201 -0
- package/dist/server/modules/projects/helpers/project-runtime.helpers.js.map +1 -0
- package/dist/server/modules/projects/helpers/project-template-manifest.helpers.d.ts +16 -0
- package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js +107 -0
- package/dist/server/modules/projects/helpers/project-template-manifest.helpers.js.map +1 -0
- package/dist/server/modules/projects/helpers/template-file.helpers.d.ts +9 -0
- package/dist/server/modules/projects/helpers/template-file.helpers.js +92 -0
- package/dist/server/modules/projects/helpers/template-file.helpers.js.map +1 -0
- package/dist/server/modules/projects/helpers/template-loader.d.ts +85 -0
- package/dist/server/modules/projects/helpers/template-loader.js +406 -0
- package/dist/server/modules/projects/helpers/template-loader.js.map +1 -0
- package/dist/server/modules/projects/services/main-project-bootstrap.service.js +4 -0
- package/dist/server/modules/projects/services/main-project-bootstrap.service.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.d.ts +29 -54
- package/dist/server/modules/projects/services/projects.service.js +46 -1704
- package/dist/server/modules/projects/services/projects.service.js.map +1 -1
- package/dist/server/modules/prompts/controllers/prompts.controller.d.ts +2 -2
- package/dist/server/modules/prompts/controllers/prompts.controller.js.map +1 -1
- package/dist/server/modules/providers/adapters/index.d.ts +1 -0
- package/dist/server/modules/providers/adapters/index.js +1 -0
- package/dist/server/modules/providers/adapters/index.js.map +1 -1
- package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +16 -0
- package/dist/server/modules/providers/adapters/opencode.adapter.js +64 -0
- package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -0
- package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +2 -1
- package/dist/server/modules/providers/adapters/provider-adapter.factory.js +5 -2
- package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
- package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +1 -0
- package/dist/server/modules/providers/adapters/provider-adapters.module.js +2 -1
- package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
- package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +22 -0
- package/dist/server/modules/providers/controllers/provider-models.controller.js +173 -0
- package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -0
- package/dist/server/modules/providers/providers.module.js +2 -1
- package/dist/server/modules/providers/providers.module.js.map +1 -1
- package/dist/server/modules/records/controllers/records.controller.d.ts +2 -2
- package/dist/server/modules/records/controllers/records.controller.js.map +1 -1
- package/dist/server/modules/registry/services/template-upgrade.service.js +1 -9
- package/dist/server/modules/registry/services/template-upgrade.service.js.map +1 -1
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.d.ts +21 -0
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js +207 -0
- package/dist/server/modules/session-reader/adapters/claude-session-reader.adapter.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +22 -0
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +214 -0
- package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.d.ts +23 -0
- package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js +224 -0
- package/dist/server/modules/session-reader/adapters/gemini-session-reader.adapter.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.d.ts +9 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js +40 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.factory.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.d.ts +37 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js +3 -0
- package/dist/server/modules/session-reader/adapters/session-reader-adapter.interface.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.d.ts +11 -0
- package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js +77 -0
- package/dist/server/modules/session-reader/adapters/utils/estimate-content-tokens.js.map +1 -0
- package/dist/server/modules/session-reader/adapters/utils/file-search.util.d.ts +1 -0
- package/dist/server/modules/session-reader/adapters/utils/file-search.util.js +22 -0
- package/dist/server/modules/session-reader/adapters/utils/file-search.util.js.map +1 -0
- package/dist/server/modules/session-reader/builders/chunk-builder.d.ts +5 -0
- package/dist/server/modules/session-reader/builders/chunk-builder.js +131 -0
- package/dist/server/modules/session-reader/builders/chunk-builder.js.map +1 -0
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.d.ts +3 -0
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js +93 -0
- package/dist/server/modules/session-reader/builders/semantic-step-extractor.js.map +1 -0
- package/dist/server/modules/session-reader/builders/turn-builder.d.ts +3 -0
- package/dist/server/modules/session-reader/builders/turn-builder.js +102 -0
- package/dist/server/modules/session-reader/builders/turn-builder.js.map +1 -0
- package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +430 -0
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js +252 -0
- package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -0
- package/dist/server/modules/session-reader/data/pricing.json +5001 -0
- package/dist/server/modules/session-reader/dtos/index.d.ts +2 -0
- package/dist/server/modules/session-reader/dtos/index.js +10 -0
- package/dist/server/modules/session-reader/dtos/index.js.map +1 -0
- package/dist/server/modules/session-reader/dtos/unified-chunk.types.d.ts +92 -0
- package/dist/server/modules/session-reader/dtos/unified-chunk.types.js +19 -0
- package/dist/server/modules/session-reader/dtos/unified-chunk.types.js.map +1 -0
- package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +118 -0
- package/dist/server/modules/session-reader/dtos/unified-session.types.js +23 -0
- package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.d.ts +15 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js +363 -0
- package/dist/server/modules/session-reader/parsers/claude-jsonl.parser.js.map +1 -0
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.d.ts +16 -0
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js +622 -0
- package/dist/server/modules/session-reader/parsers/codex-jsonl.parser.js.map +1 -0
- package/dist/server/modules/session-reader/parsers/gemini-json.parser.d.ts +15 -0
- package/dist/server/modules/session-reader/parsers/gemini-json.parser.js +380 -0
- package/dist/server/modules/session-reader/parsers/gemini-json.parser.js.map +1 -0
- package/dist/server/modules/session-reader/services/pricing.interface.d.ts +9 -0
- package/dist/server/modules/session-reader/services/pricing.interface.js +24 -0
- package/dist/server/modules/session-reader/services/pricing.interface.js.map +1 -0
- package/dist/server/modules/session-reader/services/pricing.service.d.ts +21 -0
- package/dist/server/modules/session-reader/services/pricing.service.js +106 -0
- package/dist/server/modules/session-reader/services/pricing.service.js.map +1 -0
- package/dist/server/modules/session-reader/services/session-cache.service.d.ts +24 -0
- package/dist/server/modules/session-reader/services/session-cache.service.js +203 -0
- package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -0
- package/dist/server/modules/session-reader/services/session-reader.service.d.ts +56 -0
- package/dist/server/modules/session-reader/services/session-reader.service.js +305 -0
- package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -0
- package/dist/server/modules/session-reader/services/subagent-locator.service.d.ts +10 -0
- package/dist/server/modules/session-reader/services/subagent-locator.service.js +102 -0
- package/dist/server/modules/session-reader/services/subagent-locator.service.js.map +1 -0
- package/dist/server/modules/session-reader/services/subagent-resolver.service.d.ts +22 -0
- package/dist/server/modules/session-reader/services/subagent-resolver.service.js +211 -0
- package/dist/server/modules/session-reader/services/subagent-resolver.service.js.map +1 -0
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.d.ts +7 -0
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js +150 -0
- package/dist/server/modules/session-reader/services/transcript-path-validator.service.js.map +1 -0
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +30 -0
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +336 -0
- package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -0
- package/dist/server/modules/session-reader/services/transcript-watcher.service.d.ts +28 -0
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js +325 -0
- package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -0
- package/dist/server/modules/session-reader/session-reader.module.d.ts +13 -0
- package/dist/server/modules/session-reader/session-reader.module.js +82 -0
- package/dist/server/modules/session-reader/session-reader.module.js.map +1 -0
- package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -0
- package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +2 -2
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.js +19 -4
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/sessions/utils/profile-options.d.ts +1 -0
- package/dist/server/modules/sessions/utils/profile-options.js +18 -0
- package/dist/server/modules/sessions/utils/profile-options.js.map +1 -1
- package/dist/server/modules/settings/controllers/settings.controller.d.ts +2 -2
- package/dist/server/modules/settings/controllers/settings.controller.js.map +1 -1
- package/dist/server/modules/settings/dtos/settings.dto.d.ts +14 -2
- package/dist/server/modules/settings/dtos/settings.dto.js +1 -0
- package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
- package/dist/server/modules/skills/services/skill-source-registry.service.d.ts +2 -2
- package/dist/server/modules/skills/services/skill-source-registry.service.js.map +1 -1
- package/dist/server/modules/statuses/controllers/statuses.controller.d.ts +2 -2
- package/dist/server/modules/statuses/controllers/statuses.controller.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +176 -0
- package/dist/server/modules/storage/db/schema.js +17 -1
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +53 -9
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/agent-profile.delegate.d.ts +39 -0
- package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js +286 -0
- package/dist/server/modules/storage/local/delegates/agent-profile.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +21 -0
- package/dist/server/modules/storage/local/delegates/agent.delegate.js +210 -0
- package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +12 -0
- package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +19 -0
- package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +20 -0
- package/dist/server/modules/storage/local/delegates/document.delegate.js +267 -0
- package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +38 -0
- package/dist/server/modules/storage/local/delegates/epic.delegate.js +686 -0
- package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/guest.delegate.d.ts +14 -0
- package/dist/server/modules/storage/local/delegates/guest.delegate.js +172 -0
- package/dist/server/modules/storage/local/delegates/guest.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.d.ts +17 -0
- package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js +249 -0
- package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +16 -0
- package/dist/server/modules/storage/local/delegates/project.delegate.js +630 -0
- package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +17 -0
- package/dist/server/modules/storage/local/delegates/prompt.delegate.js +318 -0
- package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/provider-model.delegate.d.ts +15 -0
- package/dist/server/modules/storage/local/delegates/provider-model.delegate.js +210 -0
- package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/provider.delegate.d.ts +18 -0
- package/dist/server/modules/storage/local/delegates/provider.delegate.js +151 -0
- package/dist/server/modules/storage/local/delegates/provider.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +16 -0
- package/dist/server/modules/storage/local/delegates/record.delegate.js +190 -0
- package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +25 -0
- package/dist/server/modules/storage/local/delegates/review.delegate.js +426 -0
- package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +28 -0
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +347 -0
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/status.delegate.d.ts +12 -0
- package/dist/server/modules/storage/local/delegates/status.delegate.js +130 -0
- package/dist/server/modules/storage/local/delegates/status.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/subscriber.delegate.d.ts +11 -0
- package/dist/server/modules/storage/local/delegates/subscriber.delegate.js +144 -0
- package/dist/server/modules/storage/local/delegates/subscriber.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +11 -0
- package/dist/server/modules/storage/local/delegates/tag.delegate.js +102 -0
- package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/watcher.delegate.d.ts +12 -0
- package/dist/server/modules/storage/local/delegates/watcher.delegate.js +183 -0
- package/dist/server/modules/storage/local/delegates/watcher.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +32 -0
- package/dist/server/modules/storage/local/helpers/storage-helpers.js +276 -0
- package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -0
- package/dist/server/modules/storage/local/local-storage.service.d.ts +30 -22
- package/dist/server/modules/storage/local/local-storage.service.js +227 -3627
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +14 -1
- package/dist/server/modules/subscribers/services/subscribers.service.d.ts +2 -2
- package/dist/server/modules/subscribers/services/subscribers.service.js.map +1 -1
- package/dist/server/modules/ui/ui.controller.d.ts +2 -2
- package/dist/server/modules/ui/ui.controller.js +9 -3
- package/dist/server/modules/ui/ui.controller.js.map +1 -1
- package/dist/server/modules/watchers/services/watchers.service.d.ts +2 -2
- package/dist/server/templates/3-agents-dev.json +209 -191
- package/dist/server/templates/5-agents-dev.json +243 -198
- package/dist/server/test-setup.js +14 -0
- package/dist/server/test-setup.js.map +1 -1
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-CvHhaFJw.js → ReviewDetailPage-DJyH8bKk.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-DCDiMjwZ.js → ReviewsPage-DHvmyjjG.js} +1 -1
- package/dist/server/ui/assets/index-cHqKW6LQ.css +32 -0
- package/dist/server/ui/assets/index-f0KXZKs1.js +1011 -0
- package/dist/server/ui/assets/{useReviewSubscription-D_vmMkNu.js → useReviewSubscription-CUbCp0An.js} +32 -35
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/3-agents-dev.json +209 -191
- package/dist/templates/5-agents-dev.json +243 -198
- package/package.json +18 -1
- package/dist/server/ui/assets/index-CWqSXDUZ.js +0 -977
- package/dist/server/ui/assets/index-DvRuLfpZ.css +0 -32
package/README.md
CHANGED
|
@@ -5,14 +5,23 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/devchain-cli)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
|
|
8
|
-
**[Homepage](https://devchain.twitechlab.com/)** · **[Quick Start Guide (PDF)](https://devchain.twitechlab.com/docs/devchain-quick-start-guide.pdf)** · **[What's New in v0.
|
|
8
|
+
**[Homepage](https://devchain.twitechlab.com/)** · **[Quick Start Guide (PDF)](https://devchain.twitechlab.com/docs/devchain-quick-start-guide.pdf)** · **[What's New in v0.11.0](https://devchain.twitechlab.com/releases/0.11.0/)**
|
|
9
9
|
|
|
10
|
-
Devchain runs your AI coding agents as a coordinated team — each with their own terminal session, task queue, and chat. Assign epics, track progress on a visual board, and let agents collaborate through a structured workflow. Supports Claude Code, Codex,
|
|
10
|
+
Devchain runs your AI coding agents as a coordinated team — each with their own terminal session, task queue, and chat. Assign epics, track progress on a visual board, and let agents collaborate through a structured workflow. Supports Claude Code, Codex, Gemini CLI, and OpenCode out of the box.
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## Features
|
|
15
15
|
|
|
16
|
+
### Session Reader
|
|
17
|
+
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.
|
|
18
|
+
|
|
19
|
+
### Context Tracking
|
|
20
|
+
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.
|
|
21
|
+
|
|
22
|
+
### Provider Model Override
|
|
23
|
+
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.
|
|
24
|
+
|
|
16
25
|
### Worktrees
|
|
17
26
|
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.
|
|
18
27
|
|
|
@@ -32,7 +41,7 @@ Real terminal streaming via tmux and WebSocket. Each agent gets its own session
|
|
|
32
41
|
Live pre-commit diff viewer with agent integration, inline comments, `@mentions`, comment threading, and VS Code-style file navigation.
|
|
33
42
|
|
|
34
43
|
### Multi-Provider
|
|
35
|
-
Works with Claude Code, OpenAI Codex, Google Gemini CLI,
|
|
44
|
+
Works with Claude Code, OpenAI Codex, Google Gemini CLI, GLM models, and OpenCode. Switch providers per agent or switch the whole team preset with a single click.
|
|
36
45
|
|
|
37
46
|
### MCP Integration
|
|
38
47
|
Full Model Context Protocol support. Agents get access to epics, chat, skills, reviews, and more through MCP tools — auto-configured before each session.
|
|
@@ -53,6 +62,7 @@ All data stored in a local SQLite database. No cloud account required, no data l
|
|
|
53
62
|
- [`claude`](https://claude.ai/claude-code) CLI
|
|
54
63
|
- [`codex`](https://github.com/openai/codex) CLI
|
|
55
64
|
- [`gemini`](https://github.com/google-gemini/gemini-cli) CLI
|
|
65
|
+
- [`opencode`](https://github.com/opencode-ai/opencode) CLI
|
|
56
66
|
|
|
57
67
|
---
|
|
58
68
|
|
|
@@ -62,10 +72,6 @@ All data stored in a local SQLite database. No cloud account required, no data l
|
|
|
62
72
|
npm install -g devchain-cli
|
|
63
73
|
```
|
|
64
74
|
|
|
65
|
-
```bash
|
|
66
|
-
pnpm add -g devchain-cli
|
|
67
|
-
```
|
|
68
|
-
|
|
69
75
|
---
|
|
70
76
|
|
|
71
77
|
## Quick Start
|
package/dist/cli.js
CHANGED
|
@@ -294,9 +294,11 @@ function detectInstalledProviders() {
|
|
|
294
294
|
const codexPath = isBinaryInstalled('codex');
|
|
295
295
|
const claudePath = isBinaryInstalled('claude');
|
|
296
296
|
const geminiPath = isBinaryInstalled('gemini');
|
|
297
|
+
const opencodePath = isBinaryInstalled('opencode');
|
|
297
298
|
if (codexPath) detected.set('codex', codexPath);
|
|
298
299
|
if (claudePath) detected.set('claude', claudePath);
|
|
299
300
|
if (geminiPath) detected.set('gemini', geminiPath);
|
|
301
|
+
if (opencodePath) detected.set('opencode', opencodePath);
|
|
300
302
|
return detected; // Map<name, absolutePath>
|
|
301
303
|
}
|
|
302
304
|
|
|
@@ -409,8 +411,10 @@ function resolveRepoRootForDockerBuild(execSyncFn = execSync) {
|
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
413
|
|
|
412
|
-
function shouldSkipHostPreflights(
|
|
413
|
-
|
|
414
|
+
function shouldSkipHostPreflights() {
|
|
415
|
+
// Parent process always runs host preflights (tmux, providers).
|
|
416
|
+
// Worktree children bypass runHostPreflightChecks() entirely via worktreeRuntimeMode guard.
|
|
417
|
+
return false;
|
|
414
418
|
}
|
|
415
419
|
|
|
416
420
|
function resolveWorktreeImageFromPackageVersion() {
|
|
@@ -617,9 +621,15 @@ function ensureWorktreeImageRefFromPackageVersion() {
|
|
|
617
621
|
async function bootstrapContainerMode({
|
|
618
622
|
execSyncFn = execSync,
|
|
619
623
|
} = {}) {
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
624
|
+
let repoRoot;
|
|
625
|
+
try {
|
|
626
|
+
repoRoot = deriveRepoRootFromGit(execSyncFn);
|
|
627
|
+
} catch (_) {
|
|
628
|
+
// Not inside a git repo — skip repo-specific setup, orchestration still works
|
|
629
|
+
}
|
|
630
|
+
if (repoRoot) {
|
|
631
|
+
ensureProjectGitignoreIncludesDevchain(repoRoot);
|
|
632
|
+
}
|
|
623
633
|
ensureWorktreeImageRefFromPackageVersion();
|
|
624
634
|
}
|
|
625
635
|
|
|
@@ -675,47 +685,29 @@ async function resolveStartupOrchestration({
|
|
|
675
685
|
const dockerAvailable = isDockerAvailable(execSyncFn);
|
|
676
686
|
const insideGitRepo = isInsideGitRepo(execSyncFn);
|
|
677
687
|
|
|
678
|
-
if (!dockerAvailable
|
|
679
|
-
|
|
680
|
-
dockerAvailable,
|
|
681
|
-
|
|
682
|
-
});
|
|
683
|
-
if (forceContainer) {
|
|
684
|
-
throw new Error(`--container requires orchestration, but ${reason}.`);
|
|
685
|
-
}
|
|
686
|
-
return {
|
|
687
|
-
enableOrchestration: false,
|
|
688
|
-
skippedByEnvNormal: false,
|
|
689
|
-
dockerAvailable,
|
|
690
|
-
insideGitRepo,
|
|
691
|
-
};
|
|
688
|
+
if (!dockerAvailable && forceContainer) {
|
|
689
|
+
throw new Error(
|
|
690
|
+
`--container requires Docker, but ${formatOrchestrationDetectionFailureReason({ dockerAvailable, insideGitRepo })}.`,
|
|
691
|
+
);
|
|
692
692
|
}
|
|
693
693
|
|
|
694
694
|
try {
|
|
695
695
|
await bootstrapContainerModeFn({
|
|
696
696
|
execSyncFn,
|
|
697
697
|
});
|
|
698
|
-
env.DEVCHAIN_MODE = 'main';
|
|
699
|
-
return {
|
|
700
|
-
enableOrchestration: true,
|
|
701
|
-
skippedByEnvNormal: false,
|
|
702
|
-
dockerAvailable: true,
|
|
703
|
-
insideGitRepo: true,
|
|
704
|
-
};
|
|
705
698
|
} catch (error) {
|
|
699
|
+
// Bootstrap is best-effort (e.g. non-git directory); log but don't block orchestration
|
|
706
700
|
const message = error instanceof Error ? error.message : String(error);
|
|
707
|
-
|
|
708
|
-
throw new Error(`--container failed to initialize orchestration: ${message}`);
|
|
709
|
-
}
|
|
710
|
-
warnFn(`Container auto-detection found prerequisites but bootstrap failed: ${message}`);
|
|
711
|
-
return {
|
|
712
|
-
enableOrchestration: false,
|
|
713
|
-
skippedByEnvNormal: false,
|
|
714
|
-
dockerAvailable: true,
|
|
715
|
-
insideGitRepo: true,
|
|
716
|
-
bootstrapError: message,
|
|
717
|
-
};
|
|
701
|
+
warnFn(`Orchestration bootstrap note: ${message}`);
|
|
718
702
|
}
|
|
703
|
+
|
|
704
|
+
env.DEVCHAIN_MODE = 'main';
|
|
705
|
+
return {
|
|
706
|
+
enableOrchestration: true,
|
|
707
|
+
skippedByEnvNormal: false,
|
|
708
|
+
dockerAvailable,
|
|
709
|
+
insideGitRepo,
|
|
710
|
+
};
|
|
719
711
|
}
|
|
720
712
|
|
|
721
713
|
async function ensureProvidersInDb(baseUrl, detected, log) {
|
|
@@ -896,24 +888,21 @@ function askYesNo(question, defaultYes = false) {
|
|
|
896
888
|
}
|
|
897
889
|
|
|
898
890
|
async function ensureClaudeBypassPermissions(cli) {
|
|
899
|
-
const
|
|
891
|
+
const settingsPath = join(homedir(), '.claude', 'settings.json');
|
|
900
892
|
|
|
901
|
-
//
|
|
902
|
-
|
|
903
|
-
return;
|
|
904
|
-
}
|
|
905
|
-
|
|
906
|
-
// Try to read and parse config
|
|
907
|
-
let config;
|
|
893
|
+
// Read existing settings if present
|
|
894
|
+
let settings = {};
|
|
908
895
|
try {
|
|
909
|
-
|
|
896
|
+
if (existsSync(settingsPath)) {
|
|
897
|
+
settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
|
|
898
|
+
}
|
|
910
899
|
} catch {
|
|
911
|
-
// Invalid JSON
|
|
912
|
-
|
|
900
|
+
// Invalid JSON — start fresh
|
|
901
|
+
settings = {};
|
|
913
902
|
}
|
|
914
903
|
|
|
915
904
|
// Skip silently if already enabled
|
|
916
|
-
if (
|
|
905
|
+
if (settings.skipDangerousModePermissionPrompt === true) {
|
|
917
906
|
return;
|
|
918
907
|
}
|
|
919
908
|
|
|
@@ -926,15 +915,19 @@ async function ensureClaudeBypassPermissions(cli) {
|
|
|
926
915
|
cli.blank();
|
|
927
916
|
|
|
928
917
|
if (confirmed) {
|
|
929
|
-
|
|
918
|
+
settings.skipDangerousModePermissionPrompt = true;
|
|
930
919
|
try {
|
|
931
|
-
|
|
932
|
-
|
|
920
|
+
const settingsDir = join(homedir(), '.claude');
|
|
921
|
+
if (!existsSync(settingsDir)) {
|
|
922
|
+
mkdirSync(settingsDir, { recursive: true });
|
|
923
|
+
}
|
|
924
|
+
writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
|
|
925
|
+
cli.success('Bypass permissions mode enabled in ~/.claude/settings.json');
|
|
933
926
|
} catch (error) {
|
|
934
|
-
cli.warn('Failed to update ~/.claude.json - you may need to enable manually');
|
|
927
|
+
cli.warn('Failed to update ~/.claude/settings.json - you may need to enable manually');
|
|
935
928
|
}
|
|
936
929
|
} else {
|
|
937
|
-
cli.info('Skipped - you can enable this later in ~/.claude.json');
|
|
930
|
+
cli.info('Skipped - you can enable this later in ~/.claude/settings.json');
|
|
938
931
|
}
|
|
939
932
|
}
|
|
940
933
|
|
|
@@ -1186,16 +1179,17 @@ async function runHostPreflightChecks(
|
|
|
1186
1179
|
if (providersDetected.size === 0) {
|
|
1187
1180
|
const guide = [
|
|
1188
1181
|
'No provider binaries detected on PATH. Install at least one provider and retry.',
|
|
1189
|
-
'Checked: "which codex", "which claude", and "which
|
|
1182
|
+
'Checked: "which codex", "which claude", "which gemini", and "which opencode"',
|
|
1190
1183
|
'Examples:',
|
|
1191
|
-
' - Install Codex:
|
|
1192
|
-
' - Install Claude:
|
|
1193
|
-
' - Install Gemini:
|
|
1184
|
+
' - Install Codex: npm i -g @openai/codex (example) or follow provider docs',
|
|
1185
|
+
' - Install Claude: npm i -g @anthropic-ai/claude-code (example) or follow provider docs',
|
|
1186
|
+
' - Install Gemini: npm i -g @google/gemini-cli (example) or follow provider docs',
|
|
1187
|
+
' - Install OpenCode: go install github.com/opencode-ai/opencode@latest or follow provider docs',
|
|
1194
1188
|
'Advanced: bypass with DEVCHAIN_SKIP_PROVIDER_CHECK=1',
|
|
1195
1189
|
].join('\n');
|
|
1196
1190
|
if (opts.foreground) {
|
|
1197
1191
|
log('error', 'No providers found; aborting startup', {
|
|
1198
|
-
checked: ['which codex', 'which claude', 'which gemini'],
|
|
1192
|
+
checked: ['which codex', 'which claude', 'which gemini', 'which opencode'],
|
|
1199
1193
|
});
|
|
1200
1194
|
} else {
|
|
1201
1195
|
cli.stepDone('✗ none found');
|
|
@@ -1557,7 +1551,6 @@ async function main(argv) {
|
|
|
1557
1551
|
// Ensure provider rows exist
|
|
1558
1552
|
if (
|
|
1559
1553
|
!worktreeRuntimeMode
|
|
1560
|
-
&& !enableOrchestration
|
|
1561
1554
|
&& opts.__providersDetected
|
|
1562
1555
|
&& opts.__providersDetected.size > 0
|
|
1563
1556
|
) {
|
|
@@ -1570,7 +1563,7 @@ async function main(argv) {
|
|
|
1570
1563
|
: process.cwd();
|
|
1571
1564
|
|
|
1572
1565
|
// Validate MCP for all providers
|
|
1573
|
-
if (!worktreeRuntimeMode
|
|
1566
|
+
if (!worktreeRuntimeMode) {
|
|
1574
1567
|
await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
|
|
1575
1568
|
}
|
|
1576
1569
|
|
|
@@ -1677,7 +1670,6 @@ async function main(argv) {
|
|
|
1677
1670
|
// Ensure provider rows exist (idempotent) before opening UI
|
|
1678
1671
|
if (
|
|
1679
1672
|
!worktreeRuntimeMode
|
|
1680
|
-
&& !enableOrchestration
|
|
1681
1673
|
&& opts.__providersDetected
|
|
1682
1674
|
&& opts.__providersDetected.size > 0
|
|
1683
1675
|
) {
|
|
@@ -1690,7 +1682,7 @@ async function main(argv) {
|
|
|
1690
1682
|
: process.cwd();
|
|
1691
1683
|
|
|
1692
1684
|
// Validate MCP for all providers (with project context)
|
|
1693
|
-
if (!worktreeRuntimeMode
|
|
1685
|
+
if (!worktreeRuntimeMode) {
|
|
1694
1686
|
await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
|
|
1695
1687
|
}
|
|
1696
1688
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
-- Migration: Add transcript_path and claude_session_id to sessions table
|
|
2
|
+
-- These nullable TEXT columns support session-reader transcript matching
|
|
3
|
+
-- and Claude subagent resolution. No backfill needed for existing rows.
|
|
4
|
+
|
|
5
|
+
ALTER TABLE sessions ADD COLUMN transcript_path TEXT;--> statement-breakpoint
|
|
6
|
+
ALTER TABLE sessions ADD COLUMN claude_session_id TEXT;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
-- Migration: Add provider_models table and agents.model_override column
|
|
2
|
+
-- provider_models stores provider-specific model variants and ordering metadata.
|
|
3
|
+
-- agents.model_override stores the selected model override per agent.
|
|
4
|
+
|
|
5
|
+
ALTER TABLE agents ADD COLUMN model_override TEXT;
|
|
6
|
+
--> statement-breakpoint
|
|
7
|
+
|
|
8
|
+
CREATE TABLE provider_models (
|
|
9
|
+
id TEXT PRIMARY KEY NOT NULL,
|
|
10
|
+
provider_id TEXT NOT NULL,
|
|
11
|
+
name TEXT NOT NULL,
|
|
12
|
+
position INTEGER NOT NULL DEFAULT 0,
|
|
13
|
+
created_at TEXT NOT NULL,
|
|
14
|
+
updated_at TEXT NOT NULL,
|
|
15
|
+
FOREIGN KEY (provider_id) REFERENCES providers(id) ON DELETE cascade
|
|
16
|
+
);
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
|
|
19
|
+
CREATE UNIQUE INDEX provider_models_provider_name_ci_idx
|
|
20
|
+
ON provider_models(provider_id, lower(name));
|
|
21
|
+
--> statement-breakpoint
|
|
22
|
+
|
|
23
|
+
CREATE INDEX provider_models_provider_position_idx
|
|
24
|
+
ON provider_models(provider_id, position);
|
|
@@ -337,6 +337,20 @@
|
|
|
337
337
|
"when": 1771500000000,
|
|
338
338
|
"tag": "0047_fix_claude_auto_compact_default",
|
|
339
339
|
"breakpoints": true
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"idx": 48,
|
|
343
|
+
"version": "6",
|
|
344
|
+
"when": 1771600000000,
|
|
345
|
+
"tag": "0048_sessions_transcript_fields",
|
|
346
|
+
"breakpoints": true
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"idx": 49,
|
|
350
|
+
"version": "6",
|
|
351
|
+
"when": 1771700000000,
|
|
352
|
+
"tag": "0049_provider_models_and_agent_model_override",
|
|
353
|
+
"breakpoints": true
|
|
340
354
|
}
|
|
341
355
|
]
|
|
342
356
|
}
|
|
@@ -386,24 +386,38 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
386
386
|
name: string;
|
|
387
387
|
autoCompactThreshold?: number | null | undefined;
|
|
388
388
|
}>, "many">>;
|
|
389
|
+
providerModels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
390
|
+
providerName: z.ZodString;
|
|
391
|
+
models: z.ZodArray<z.ZodString, "many">;
|
|
392
|
+
}, "strip", z.ZodTypeAny, {
|
|
393
|
+
providerName: string;
|
|
394
|
+
models: string[];
|
|
395
|
+
}, {
|
|
396
|
+
providerName: string;
|
|
397
|
+
models: string[];
|
|
398
|
+
}>, "many">>>;
|
|
389
399
|
presets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
390
400
|
name: z.ZodString;
|
|
391
401
|
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
392
402
|
agentConfigs: z.ZodArray<z.ZodObject<{
|
|
393
403
|
agentName: z.ZodString;
|
|
394
404
|
providerConfigName: z.ZodString;
|
|
405
|
+
modelOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
395
406
|
}, "strip", z.ZodTypeAny, {
|
|
396
407
|
providerConfigName: string;
|
|
397
408
|
agentName: string;
|
|
409
|
+
modelOverride?: string | null | undefined;
|
|
398
410
|
}, {
|
|
399
411
|
providerConfigName: string;
|
|
400
412
|
agentName: string;
|
|
413
|
+
modelOverride?: string | null | undefined;
|
|
401
414
|
}>, "many">;
|
|
402
415
|
}, "strip", z.ZodTypeAny, {
|
|
403
416
|
name: string;
|
|
404
417
|
agentConfigs: {
|
|
405
418
|
providerConfigName: string;
|
|
406
419
|
agentName: string;
|
|
420
|
+
modelOverride?: string | null | undefined;
|
|
407
421
|
}[];
|
|
408
422
|
description?: string | null | undefined;
|
|
409
423
|
}, {
|
|
@@ -411,6 +425,7 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
411
425
|
agentConfigs: {
|
|
412
426
|
providerConfigName: string;
|
|
413
427
|
agentName: string;
|
|
428
|
+
modelOverride?: string | null | undefined;
|
|
414
429
|
}[];
|
|
415
430
|
description?: string | null | undefined;
|
|
416
431
|
}>, "many">>>;
|
|
@@ -539,11 +554,16 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
539
554
|
} | null | undefined;
|
|
540
555
|
groupName?: string | null | undefined;
|
|
541
556
|
}[];
|
|
557
|
+
providerModels: {
|
|
558
|
+
providerName: string;
|
|
559
|
+
models: string[];
|
|
560
|
+
}[];
|
|
542
561
|
presets: {
|
|
543
562
|
name: string;
|
|
544
563
|
agentConfigs: {
|
|
545
564
|
providerConfigName: string;
|
|
546
565
|
agentName: string;
|
|
566
|
+
modelOverride?: string | null | undefined;
|
|
547
567
|
}[];
|
|
548
568
|
description?: string | null | undefined;
|
|
549
569
|
}[];
|
|
@@ -688,11 +708,16 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
688
708
|
name: string;
|
|
689
709
|
autoCompactThreshold?: number | null | undefined;
|
|
690
710
|
}[] | undefined;
|
|
711
|
+
providerModels?: {
|
|
712
|
+
providerName: string;
|
|
713
|
+
models: string[];
|
|
714
|
+
}[] | undefined;
|
|
691
715
|
presets?: {
|
|
692
716
|
name: string;
|
|
693
717
|
agentConfigs: {
|
|
694
718
|
providerConfigName: string;
|
|
695
719
|
agentName: string;
|
|
720
|
+
modelOverride?: string | null | undefined;
|
|
696
721
|
}[];
|
|
697
722
|
description?: string | null | undefined;
|
|
698
723
|
}[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"export-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehB,CAAC;AAGZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM1D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgMd,CAAC;AAGZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAGtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { isValidSemVer } from '../utils/semver.js';
|
|
3
|
-
const semverString = z
|
|
4
|
-
.string()
|
|
5
|
-
.refine((v) => isValidSemVer(v), {
|
|
3
|
+
const semverString = z.string().refine((v) => isValidSemVer(v), {
|
|
6
4
|
message: 'Must be a valid semantic version (e.g., "1.0.0", "0.4.0-beta.1")',
|
|
7
5
|
});
|
|
8
6
|
export const ManifestSchema = z
|
|
@@ -154,6 +152,13 @@ export const ExportSchema = z
|
|
|
154
152
|
autoCompactThreshold: z.number().int().min(1).max(100).nullable().optional(),
|
|
155
153
|
}))
|
|
156
154
|
.optional(),
|
|
155
|
+
providerModels: z
|
|
156
|
+
.array(z.object({
|
|
157
|
+
providerName: z.string().min(1),
|
|
158
|
+
models: z.array(z.string()),
|
|
159
|
+
}))
|
|
160
|
+
.optional()
|
|
161
|
+
.default([]),
|
|
157
162
|
presets: z
|
|
158
163
|
.array(z.object({
|
|
159
164
|
name: z.string().min(1),
|
|
@@ -161,6 +166,7 @@ export const ExportSchema = z
|
|
|
161
166
|
agentConfigs: z.array(z.object({
|
|
162
167
|
agentName: z.string().min(1),
|
|
163
168
|
providerConfigName: z.string().min(1),
|
|
169
|
+
modelOverride: z.string().nullable().optional(),
|
|
164
170
|
})),
|
|
165
171
|
}))
|
|
166
172
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export-schema.js","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKnD,MAAM,YAAY,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"export-schema.js","sourceRoot":"","sources":["../../src/schemas/export-schema.ts"],"names":[],"mappings":"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"}
|