devchain-cli 0.10.5 → 0.11.1
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 +32 -28
- 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 +30 -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 +10 -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/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/git/controllers/git.controller.d.ts +4 -2
- package/dist/server/modules/orchestrator/git/controllers/git.controller.js +44 -7
- package/dist/server/modules/orchestrator/git/controllers/git.controller.js.map +1 -1
- package/dist/server/modules/orchestrator/git/git.module.js +2 -0
- package/dist/server/modules/orchestrator/git/git.module.js.map +1 -1
- package/dist/server/modules/orchestrator/git/services/git-worktree.service.d.ts +6 -0
- package/dist/server/modules/orchestrator/git/services/git-worktree.service.js +55 -0
- package/dist/server/modules/orchestrator/git/services/git-worktree.service.js.map +1 -1
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.d.ts +17 -1
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js +27 -2
- package/dist/server/modules/orchestrator/ui/app/lib/worktrees.js.map +1 -1
- package/dist/server/modules/orchestrator/ui/app/orchestrator-app.d.ts +2 -1
- package/dist/server/modules/orchestrator/ui/app/orchestrator-app.js +146 -8
- package/dist/server/modules/orchestrator/ui/app/orchestrator-app.js.map +1 -1
- package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.d.ts +6 -1
- package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.js +53 -3
- package/dist/server/modules/orchestrator/worktrees/controllers/worktrees.controller.js.map +1 -1
- package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.d.ts +17 -4
- package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.js +1 -1
- package/dist/server/modules/orchestrator/worktrees/dtos/worktree.dto.js.map +1 -1
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.d.ts +7 -1
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +130 -4
- package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
- package/dist/server/modules/orchestrator/worktrees/worktrees.module.js +2 -0
- package/dist/server/modules/orchestrator/worktrees/worktrees.module.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 +34 -28
- 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 +142 -0
- package/dist/server/modules/projects/helpers/project-export.js +315 -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 +601 -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 +125 -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 +407 -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 +24 -49
- package/dist/server/modules/projects/services/projects.service.js +46 -1848
- 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 +5113 -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 +54 -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 +202 -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 +631 -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/watchers/services/watchers.service.d.ts +2 -2
- package/dist/server/templates/3-agents-dev.json +180 -162
- package/dist/server/templates/5-agents-dev.json +244 -194
- package/dist/server/test-setup-node.js +13 -0
- package/dist/server/test-setup-node.js.map +1 -1
- package/dist/server/test-setup.js +14 -12
- package/dist/server/test-setup.js.map +1 -1
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-DNFeBzB6.js → ReviewDetailPage-BFLK1NAe.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-DCM_dJlA.js → ReviewsPage-BqF2XSr0.js} +1 -1
- package/dist/server/ui/assets/index-Bs5Kat1T.js +1011 -0
- package/dist/server/ui/assets/index-CW3WYriQ.css +32 -0
- package/dist/server/ui/assets/{useReviewSubscription-Bx6D-cpf.js → useReviewSubscription-B73OxTf6.js} +32 -35
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/3-agents-dev.json +180 -162
- package/dist/templates/5-agents-dev.json +244 -194
- package/package.json +23 -2
- package/dist/server/ui/assets/index-BgvrDIBb.js +0 -972
- package/dist/server/ui/assets/index-CzjcxP26.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() {
|
|
@@ -884,24 +888,21 @@ function askYesNo(question, defaultYes = false) {
|
|
|
884
888
|
}
|
|
885
889
|
|
|
886
890
|
async function ensureClaudeBypassPermissions(cli) {
|
|
887
|
-
const
|
|
891
|
+
const settingsPath = join(homedir(), '.claude', 'settings.json');
|
|
888
892
|
|
|
889
|
-
//
|
|
890
|
-
|
|
891
|
-
return;
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
// Try to read and parse config
|
|
895
|
-
let config;
|
|
893
|
+
// Read existing settings if present
|
|
894
|
+
let settings = {};
|
|
896
895
|
try {
|
|
897
|
-
|
|
896
|
+
if (existsSync(settingsPath)) {
|
|
897
|
+
settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
|
|
898
|
+
}
|
|
898
899
|
} catch {
|
|
899
|
-
// Invalid JSON
|
|
900
|
-
|
|
900
|
+
// Invalid JSON — start fresh
|
|
901
|
+
settings = {};
|
|
901
902
|
}
|
|
902
903
|
|
|
903
904
|
// Skip silently if already enabled
|
|
904
|
-
if (
|
|
905
|
+
if (settings.skipDangerousModePermissionPrompt === true) {
|
|
905
906
|
return;
|
|
906
907
|
}
|
|
907
908
|
|
|
@@ -914,15 +915,19 @@ async function ensureClaudeBypassPermissions(cli) {
|
|
|
914
915
|
cli.blank();
|
|
915
916
|
|
|
916
917
|
if (confirmed) {
|
|
917
|
-
|
|
918
|
+
settings.skipDangerousModePermissionPrompt = true;
|
|
918
919
|
try {
|
|
919
|
-
|
|
920
|
-
|
|
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');
|
|
921
926
|
} catch (error) {
|
|
922
|
-
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');
|
|
923
928
|
}
|
|
924
929
|
} else {
|
|
925
|
-
cli.info('Skipped - you can enable this later in ~/.claude.json');
|
|
930
|
+
cli.info('Skipped - you can enable this later in ~/.claude/settings.json');
|
|
926
931
|
}
|
|
927
932
|
}
|
|
928
933
|
|
|
@@ -1174,16 +1179,17 @@ async function runHostPreflightChecks(
|
|
|
1174
1179
|
if (providersDetected.size === 0) {
|
|
1175
1180
|
const guide = [
|
|
1176
1181
|
'No provider binaries detected on PATH. Install at least one provider and retry.',
|
|
1177
|
-
'Checked: "which codex", "which claude", and "which
|
|
1182
|
+
'Checked: "which codex", "which claude", "which gemini", and "which opencode"',
|
|
1178
1183
|
'Examples:',
|
|
1179
|
-
' - Install Codex:
|
|
1180
|
-
' - Install Claude:
|
|
1181
|
-
' - 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',
|
|
1182
1188
|
'Advanced: bypass with DEVCHAIN_SKIP_PROVIDER_CHECK=1',
|
|
1183
1189
|
].join('\n');
|
|
1184
1190
|
if (opts.foreground) {
|
|
1185
1191
|
log('error', 'No providers found; aborting startup', {
|
|
1186
|
-
checked: ['which codex', 'which claude', 'which gemini'],
|
|
1192
|
+
checked: ['which codex', 'which claude', 'which gemini', 'which opencode'],
|
|
1187
1193
|
});
|
|
1188
1194
|
} else {
|
|
1189
1195
|
cli.stepDone('✗ none found');
|
|
@@ -1545,7 +1551,6 @@ async function main(argv) {
|
|
|
1545
1551
|
// Ensure provider rows exist
|
|
1546
1552
|
if (
|
|
1547
1553
|
!worktreeRuntimeMode
|
|
1548
|
-
&& !enableOrchestration
|
|
1549
1554
|
&& opts.__providersDetected
|
|
1550
1555
|
&& opts.__providersDetected.size > 0
|
|
1551
1556
|
) {
|
|
@@ -1558,7 +1563,7 @@ async function main(argv) {
|
|
|
1558
1563
|
: process.cwd();
|
|
1559
1564
|
|
|
1560
1565
|
// Validate MCP for all providers
|
|
1561
|
-
if (!worktreeRuntimeMode
|
|
1566
|
+
if (!worktreeRuntimeMode) {
|
|
1562
1567
|
await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
|
|
1563
1568
|
}
|
|
1564
1569
|
|
|
@@ -1665,7 +1670,6 @@ async function main(argv) {
|
|
|
1665
1670
|
// Ensure provider rows exist (idempotent) before opening UI
|
|
1666
1671
|
if (
|
|
1667
1672
|
!worktreeRuntimeMode
|
|
1668
|
-
&& !enableOrchestration
|
|
1669
1673
|
&& opts.__providersDetected
|
|
1670
1674
|
&& opts.__providersDetected.size > 0
|
|
1671
1675
|
) {
|
|
@@ -1678,7 +1682,7 @@ async function main(argv) {
|
|
|
1678
1682
|
: process.cwd();
|
|
1679
1683
|
|
|
1680
1684
|
// Validate MCP for all providers (with project context)
|
|
1681
|
-
if (!worktreeRuntimeMode
|
|
1685
|
+
if (!worktreeRuntimeMode) {
|
|
1682
1686
|
await validateMcpForProviders(baseUrl, cli, opts, log, startupPath);
|
|
1683
1687
|
}
|
|
1684
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
|
}
|
|
@@ -138,18 +138,21 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
138
138
|
name: z.ZodString;
|
|
139
139
|
profileId: z.ZodOptional<z.ZodString>;
|
|
140
140
|
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
141
|
+
modelOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
141
142
|
providerConfigName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
142
143
|
}, "strip", z.ZodTypeAny, {
|
|
143
144
|
name: string;
|
|
144
145
|
description?: string | null | undefined;
|
|
145
146
|
id?: string | undefined;
|
|
146
147
|
profileId?: string | undefined;
|
|
148
|
+
modelOverride?: string | null | undefined;
|
|
147
149
|
providerConfigName?: string | null | undefined;
|
|
148
150
|
}, {
|
|
149
151
|
name: string;
|
|
150
152
|
description?: string | null | undefined;
|
|
151
153
|
id?: string | undefined;
|
|
152
154
|
profileId?: string | undefined;
|
|
155
|
+
modelOverride?: string | null | undefined;
|
|
153
156
|
providerConfigName?: string | null | undefined;
|
|
154
157
|
}>, "many">>>;
|
|
155
158
|
statuses: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -386,24 +389,38 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
386
389
|
name: string;
|
|
387
390
|
autoCompactThreshold?: number | null | undefined;
|
|
388
391
|
}>, "many">>;
|
|
392
|
+
providerModels: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
393
|
+
providerName: z.ZodString;
|
|
394
|
+
models: z.ZodArray<z.ZodString, "many">;
|
|
395
|
+
}, "strip", z.ZodTypeAny, {
|
|
396
|
+
providerName: string;
|
|
397
|
+
models: string[];
|
|
398
|
+
}, {
|
|
399
|
+
providerName: string;
|
|
400
|
+
models: string[];
|
|
401
|
+
}>, "many">>>;
|
|
389
402
|
presets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
390
403
|
name: z.ZodString;
|
|
391
404
|
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
392
405
|
agentConfigs: z.ZodArray<z.ZodObject<{
|
|
393
406
|
agentName: z.ZodString;
|
|
394
407
|
providerConfigName: z.ZodString;
|
|
408
|
+
modelOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
395
409
|
}, "strip", z.ZodTypeAny, {
|
|
396
410
|
providerConfigName: string;
|
|
397
411
|
agentName: string;
|
|
412
|
+
modelOverride?: string | null | undefined;
|
|
398
413
|
}, {
|
|
399
414
|
providerConfigName: string;
|
|
400
415
|
agentName: string;
|
|
416
|
+
modelOverride?: string | null | undefined;
|
|
401
417
|
}>, "many">;
|
|
402
418
|
}, "strip", z.ZodTypeAny, {
|
|
403
419
|
name: string;
|
|
404
420
|
agentConfigs: {
|
|
405
421
|
providerConfigName: string;
|
|
406
422
|
agentName: string;
|
|
423
|
+
modelOverride?: string | null | undefined;
|
|
407
424
|
}[];
|
|
408
425
|
description?: string | null | undefined;
|
|
409
426
|
}, {
|
|
@@ -411,6 +428,7 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
411
428
|
agentConfigs: {
|
|
412
429
|
providerConfigName: string;
|
|
413
430
|
agentName: string;
|
|
431
|
+
modelOverride?: string | null | undefined;
|
|
414
432
|
}[];
|
|
415
433
|
description?: string | null | undefined;
|
|
416
434
|
}>, "many">>>;
|
|
@@ -487,6 +505,7 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
487
505
|
description?: string | null | undefined;
|
|
488
506
|
id?: string | undefined;
|
|
489
507
|
profileId?: string | undefined;
|
|
508
|
+
modelOverride?: string | null | undefined;
|
|
490
509
|
providerConfigName?: string | null | undefined;
|
|
491
510
|
}[];
|
|
492
511
|
statuses: {
|
|
@@ -539,11 +558,16 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
539
558
|
} | null | undefined;
|
|
540
559
|
groupName?: string | null | undefined;
|
|
541
560
|
}[];
|
|
561
|
+
providerModels: {
|
|
562
|
+
providerName: string;
|
|
563
|
+
models: string[];
|
|
564
|
+
}[];
|
|
542
565
|
presets: {
|
|
543
566
|
name: string;
|
|
544
567
|
agentConfigs: {
|
|
545
568
|
providerConfigName: string;
|
|
546
569
|
agentName: string;
|
|
570
|
+
modelOverride?: string | null | undefined;
|
|
547
571
|
}[];
|
|
548
572
|
description?: string | null | undefined;
|
|
549
573
|
}[];
|
|
@@ -616,6 +640,7 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
616
640
|
description?: string | null | undefined;
|
|
617
641
|
id?: string | undefined;
|
|
618
642
|
profileId?: string | undefined;
|
|
643
|
+
modelOverride?: string | null | undefined;
|
|
619
644
|
providerConfigName?: string | null | undefined;
|
|
620
645
|
}[] | undefined;
|
|
621
646
|
statuses?: {
|
|
@@ -688,11 +713,16 @@ export declare const ExportSchema: z.ZodObject<{
|
|
|
688
713
|
name: string;
|
|
689
714
|
autoCompactThreshold?: number | null | undefined;
|
|
690
715
|
}[] | undefined;
|
|
716
|
+
providerModels?: {
|
|
717
|
+
providerName: string;
|
|
718
|
+
models: string[];
|
|
719
|
+
}[] | undefined;
|
|
691
720
|
presets?: {
|
|
692
721
|
name: string;
|
|
693
722
|
agentConfigs: {
|
|
694
723
|
providerConfigName: string;
|
|
695
724
|
agentName: string;
|
|
725
|
+
modelOverride?: string | null | undefined;
|
|
696
726
|
}[];
|
|
697
727
|
description?: string | null | undefined;
|
|
698
728
|
}[] | 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiMd,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
|
|
@@ -62,6 +60,7 @@ export const ExportSchema = z
|
|
|
62
60
|
name: z.string().min(1),
|
|
63
61
|
profileId: z.string().uuid().optional(),
|
|
64
62
|
description: z.string().nullable().optional(),
|
|
63
|
+
modelOverride: z.string().nullable().optional(),
|
|
65
64
|
providerConfigName: z.string().nullable().optional(),
|
|
66
65
|
}))
|
|
67
66
|
.optional()
|
|
@@ -154,6 +153,13 @@ export const ExportSchema = z
|
|
|
154
153
|
autoCompactThreshold: z.number().int().min(1).max(100).nullable().optional(),
|
|
155
154
|
}))
|
|
156
155
|
.optional(),
|
|
156
|
+
providerModels: z
|
|
157
|
+
.array(z.object({
|
|
158
|
+
providerName: z.string().min(1),
|
|
159
|
+
models: z.array(z.string()),
|
|
160
|
+
}))
|
|
161
|
+
.optional()
|
|
162
|
+
.default([]),
|
|
157
163
|
presets: z
|
|
158
164
|
.array(z.object({
|
|
159
165
|
name: z.string().min(1),
|
|
@@ -161,6 +167,7 @@ export const ExportSchema = z
|
|
|
161
167
|
agentConfigs: z.array(z.object({
|
|
162
168
|
agentName: z.string().min(1),
|
|
163
169
|
providerConfigName: z.string().min(1),
|
|
170
|
+
modelOverride: z.string().nullable().optional(),
|
|
164
171
|
})),
|
|
165
172
|
}))
|
|
166
173
|
.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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"}
|