@mc1global/opencode-jarvis 0.1.1 → 0.3.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/dist/application/agent-registry/dtos.d.ts +66 -0
- package/dist/application/agent-registry/dtos.d.ts.map +1 -0
- package/dist/application/agent-registry/dtos.js +11 -0
- package/dist/application/agent-registry/dtos.js.map +1 -0
- package/dist/application/agent-registry/use-cases.d.ts +39 -0
- package/dist/application/agent-registry/use-cases.d.ts.map +1 -0
- package/dist/application/agent-registry/use-cases.js +222 -0
- package/dist/application/agent-registry/use-cases.js.map +1 -0
- package/dist/application/azure-sync/dtos.d.ts +210 -0
- package/dist/application/azure-sync/dtos.d.ts.map +1 -0
- package/dist/application/azure-sync/dtos.js +11 -0
- package/dist/application/azure-sync/dtos.js.map +1 -0
- package/dist/application/azure-sync/field-builders.d.ts +54 -0
- package/dist/application/azure-sync/field-builders.d.ts.map +1 -0
- package/dist/application/azure-sync/field-builders.js +166 -0
- package/dist/application/azure-sync/field-builders.js.map +1 -0
- package/dist/application/azure-sync/index.d.ts +16 -0
- package/dist/application/azure-sync/index.d.ts.map +1 -0
- package/dist/application/azure-sync/index.js +10 -0
- package/dist/application/azure-sync/index.js.map +1 -0
- package/dist/application/azure-sync/pr-use-cases.d.ts +39 -0
- package/dist/application/azure-sync/pr-use-cases.d.ts.map +1 -0
- package/dist/application/azure-sync/pr-use-cases.js +192 -0
- package/dist/application/azure-sync/pr-use-cases.js.map +1 -0
- package/dist/application/azure-sync/pull-use-cases.d.ts +43 -0
- package/dist/application/azure-sync/pull-use-cases.d.ts.map +1 -0
- package/dist/application/azure-sync/pull-use-cases.js +322 -0
- package/dist/application/azure-sync/pull-use-cases.js.map +1 -0
- package/dist/application/azure-sync/push-use-cases.d.ts +53 -0
- package/dist/application/azure-sync/push-use-cases.d.ts.map +1 -0
- package/dist/application/azure-sync/push-use-cases.js +341 -0
- package/dist/application/azure-sync/push-use-cases.js.map +1 -0
- package/dist/application/azure-sync/reverse-field-builder.d.ts +52 -0
- package/dist/application/azure-sync/reverse-field-builder.d.ts.map +1 -0
- package/dist/application/azure-sync/reverse-field-builder.js +130 -0
- package/dist/application/azure-sync/reverse-field-builder.js.map +1 -0
- package/dist/application/azure-sync/task-push-use-cases.d.ts +68 -0
- package/dist/application/azure-sync/task-push-use-cases.d.ts.map +1 -0
- package/dist/application/azure-sync/task-push-use-cases.js +162 -0
- package/dist/application/azure-sync/task-push-use-cases.js.map +1 -0
- package/dist/application/config/config-service.d.ts +64 -0
- package/dist/application/config/config-service.d.ts.map +1 -0
- package/dist/application/config/config-service.js +110 -0
- package/dist/application/config/config-service.js.map +1 -0
- package/dist/application/config/index.d.ts +5 -0
- package/dist/application/config/index.d.ts.map +1 -0
- package/dist/application/config/index.js +5 -0
- package/dist/application/config/index.js.map +1 -0
- package/dist/application/kanban/board-use-cases.d.ts.map +1 -1
- package/dist/application/kanban/board-use-cases.js +14 -0
- package/dist/application/kanban/board-use-cases.js.map +1 -1
- package/dist/application/kanban/card-use-cases.d.ts +21 -2
- package/dist/application/kanban/card-use-cases.d.ts.map +1 -1
- package/dist/application/kanban/card-use-cases.js +180 -1
- package/dist/application/kanban/card-use-cases.js.map +1 -1
- package/dist/application/kanban/dtos.d.ts +59 -0
- package/dist/application/kanban/dtos.d.ts.map +1 -1
- package/dist/application/mcp/index.d.ts +10 -0
- package/dist/application/mcp/index.d.ts.map +1 -0
- package/dist/application/mcp/index.js +8 -0
- package/dist/application/mcp/index.js.map +1 -0
- package/dist/application/mcp/middleware.d.ts +91 -0
- package/dist/application/mcp/middleware.d.ts.map +1 -0
- package/dist/application/mcp/middleware.js +84 -0
- package/dist/application/mcp/middleware.js.map +1 -0
- package/dist/application/mcp/tool-adapter.d.ts +72 -0
- package/dist/application/mcp/tool-adapter.d.ts.map +1 -0
- package/dist/application/mcp/tool-adapter.js +132 -0
- package/dist/application/mcp/tool-adapter.js.map +1 -0
- package/dist/application/pipeline/dtos.d.ts +135 -0
- package/dist/application/pipeline/dtos.d.ts.map +1 -0
- package/dist/application/pipeline/dtos.js +11 -0
- package/dist/application/pipeline/dtos.js.map +1 -0
- package/dist/application/pipeline/index.d.ts +8 -0
- package/dist/application/pipeline/index.d.ts.map +1 -0
- package/dist/application/pipeline/index.js +7 -0
- package/dist/application/pipeline/index.js.map +1 -0
- package/dist/application/pipeline/use-cases.d.ts +67 -0
- package/dist/application/pipeline/use-cases.d.ts.map +1 -0
- package/dist/application/pipeline/use-cases.js +413 -0
- package/dist/application/pipeline/use-cases.js.map +1 -0
- package/dist/application/rag/use-cases.d.ts +3 -0
- package/dist/application/rag/use-cases.d.ts.map +1 -1
- package/dist/application/rag/use-cases.js +112 -34
- package/dist/application/rag/use-cases.js.map +1 -1
- package/dist/domain/agent-registry/entities.d.ts +68 -0
- package/dist/domain/agent-registry/entities.d.ts.map +1 -0
- package/dist/domain/agent-registry/entities.js +177 -0
- package/dist/domain/agent-registry/entities.js.map +1 -0
- package/dist/domain/agent-registry/repositories.d.ts +56 -0
- package/dist/domain/agent-registry/repositories.d.ts.map +1 -0
- package/dist/domain/agent-registry/repositories.js +12 -0
- package/dist/domain/agent-registry/repositories.js.map +1 -0
- package/dist/domain/agent-registry/services.d.ts +87 -0
- package/dist/domain/agent-registry/services.d.ts.map +1 -0
- package/dist/domain/agent-registry/services.js +188 -0
- package/dist/domain/agent-registry/services.js.map +1 -0
- package/dist/domain/agent-registry/value-objects.d.ts +145 -0
- package/dist/domain/agent-registry/value-objects.d.ts.map +1 -0
- package/dist/domain/agent-registry/value-objects.js +339 -0
- package/dist/domain/agent-registry/value-objects.js.map +1 -0
- package/dist/domain/azure-sync/entities.d.ts +165 -0
- package/dist/domain/azure-sync/entities.d.ts.map +1 -0
- package/dist/domain/azure-sync/entities.js +203 -0
- package/dist/domain/azure-sync/entities.js.map +1 -0
- package/dist/domain/azure-sync/index.d.ts +16 -0
- package/dist/domain/azure-sync/index.d.ts.map +1 -0
- package/dist/domain/azure-sync/index.js +14 -0
- package/dist/domain/azure-sync/index.js.map +1 -0
- package/dist/domain/azure-sync/ports.d.ts +117 -0
- package/dist/domain/azure-sync/ports.d.ts.map +1 -0
- package/dist/domain/azure-sync/ports.js +13 -0
- package/dist/domain/azure-sync/ports.js.map +1 -0
- package/dist/domain/azure-sync/repositories.d.ts +53 -0
- package/dist/domain/azure-sync/repositories.d.ts.map +1 -0
- package/dist/domain/azure-sync/repositories.js +11 -0
- package/dist/domain/azure-sync/repositories.js.map +1 -0
- package/dist/domain/azure-sync/services.d.ts +107 -0
- package/dist/domain/azure-sync/services.d.ts.map +1 -0
- package/dist/domain/azure-sync/services.js +316 -0
- package/dist/domain/azure-sync/services.js.map +1 -0
- package/dist/domain/azure-sync/value-objects.d.ts +129 -0
- package/dist/domain/azure-sync/value-objects.d.ts.map +1 -0
- package/dist/domain/azure-sync/value-objects.js +343 -0
- package/dist/domain/azure-sync/value-objects.js.map +1 -0
- package/dist/domain/config/index.d.ts +9 -0
- package/dist/domain/config/index.d.ts.map +1 -0
- package/dist/domain/config/index.js +7 -0
- package/dist/domain/config/index.js.map +1 -0
- package/dist/domain/config/repositories.d.ts +36 -0
- package/dist/domain/config/repositories.d.ts.map +1 -0
- package/dist/domain/config/repositories.js +12 -0
- package/dist/domain/config/repositories.js.map +1 -0
- package/dist/domain/config/value-objects.d.ts +112 -0
- package/dist/domain/config/value-objects.d.ts.map +1 -0
- package/dist/domain/config/value-objects.js +93 -0
- package/dist/domain/config/value-objects.js.map +1 -0
- package/dist/domain/governance/policies.d.ts.map +1 -1
- package/dist/domain/governance/policies.js +70 -0
- package/dist/domain/governance/policies.js.map +1 -1
- package/dist/domain/kanban/entities.d.ts +67 -15
- package/dist/domain/kanban/entities.d.ts.map +1 -1
- package/dist/domain/kanban/entities.js +177 -14
- package/dist/domain/kanban/entities.js.map +1 -1
- package/dist/domain/kanban/grooming.d.ts +27 -7
- package/dist/domain/kanban/grooming.d.ts.map +1 -1
- package/dist/domain/kanban/grooming.js +50 -12
- package/dist/domain/kanban/grooming.js.map +1 -1
- package/dist/domain/kanban/services.d.ts +16 -2
- package/dist/domain/kanban/services.d.ts.map +1 -1
- package/dist/domain/kanban/services.js +29 -2
- package/dist/domain/kanban/services.js.map +1 -1
- package/dist/domain/kanban/value-objects.d.ts +48 -0
- package/dist/domain/kanban/value-objects.d.ts.map +1 -1
- package/dist/domain/kanban/value-objects.js +53 -0
- package/dist/domain/kanban/value-objects.js.map +1 -1
- package/dist/domain/pipeline/gate.d.ts +75 -0
- package/dist/domain/pipeline/gate.d.ts.map +1 -0
- package/dist/domain/pipeline/gate.js +158 -0
- package/dist/domain/pipeline/gate.js.map +1 -0
- package/dist/domain/pipeline/index.d.ts +13 -0
- package/dist/domain/pipeline/index.d.ts.map +1 -0
- package/dist/domain/pipeline/index.js +14 -0
- package/dist/domain/pipeline/index.js.map +1 -0
- package/dist/domain/pipeline/pipeline.d.ts +99 -0
- package/dist/domain/pipeline/pipeline.d.ts.map +1 -0
- package/dist/domain/pipeline/pipeline.js +257 -0
- package/dist/domain/pipeline/pipeline.js.map +1 -0
- package/dist/domain/pipeline/ports.d.ts +120 -0
- package/dist/domain/pipeline/ports.d.ts.map +1 -0
- package/dist/domain/pipeline/ports.js +12 -0
- package/dist/domain/pipeline/ports.js.map +1 -0
- package/dist/domain/pipeline/repositories.d.ts +66 -0
- package/dist/domain/pipeline/repositories.d.ts.map +1 -0
- package/dist/domain/pipeline/repositories.js +11 -0
- package/dist/domain/pipeline/repositories.js.map +1 -0
- package/dist/domain/pipeline/services.d.ts +77 -0
- package/dist/domain/pipeline/services.d.ts.map +1 -0
- package/dist/domain/pipeline/services.js +156 -0
- package/dist/domain/pipeline/services.js.map +1 -0
- package/dist/domain/pipeline/value-objects.d.ts +117 -0
- package/dist/domain/pipeline/value-objects.d.ts.map +1 -0
- package/dist/domain/pipeline/value-objects.js +313 -0
- package/dist/domain/pipeline/value-objects.js.map +1 -0
- package/dist/domain/rag/value-objects.d.ts +9 -2
- package/dist/domain/rag/value-objects.d.ts.map +1 -1
- package/dist/domain/rag/value-objects.js +8 -2
- package/dist/domain/rag/value-objects.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +113 -75
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/agent-registry/agent-profile-repository.d.ts +29 -0
- package/dist/infrastructure/agent-registry/agent-profile-repository.d.ts.map +1 -0
- package/dist/infrastructure/agent-registry/agent-profile-repository.js +109 -0
- package/dist/infrastructure/agent-registry/agent-profile-repository.js.map +1 -0
- package/dist/infrastructure/agent-registry/agent-session-adapter.d.ts +28 -0
- package/dist/infrastructure/agent-registry/agent-session-adapter.d.ts.map +1 -0
- package/dist/infrastructure/agent-registry/agent-session-adapter.js +61 -0
- package/dist/infrastructure/agent-registry/agent-session-adapter.js.map +1 -0
- package/dist/infrastructure/agent-registry/built-in-profiles.d.ts +19 -0
- package/dist/infrastructure/agent-registry/built-in-profiles.d.ts.map +1 -0
- package/dist/infrastructure/agent-registry/built-in-profiles.js +210 -0
- package/dist/infrastructure/agent-registry/built-in-profiles.js.map +1 -0
- package/dist/infrastructure/azure-sync/azure-auth.d.ts +40 -0
- package/dist/infrastructure/azure-sync/azure-auth.d.ts.map +1 -0
- package/dist/infrastructure/azure-sync/azure-auth.js +94 -0
- package/dist/infrastructure/azure-sync/azure-auth.js.map +1 -0
- package/dist/infrastructure/azure-sync/azure-devops-client.d.ts +43 -0
- package/dist/infrastructure/azure-sync/azure-devops-client.d.ts.map +1 -0
- package/dist/infrastructure/azure-sync/azure-devops-client.js +296 -0
- package/dist/infrastructure/azure-sync/azure-devops-client.js.map +1 -0
- package/dist/infrastructure/azure-sync/index.d.ts +9 -0
- package/dist/infrastructure/azure-sync/index.d.ts.map +1 -0
- package/dist/infrastructure/azure-sync/index.js +12 -0
- package/dist/infrastructure/azure-sync/index.js.map +1 -0
- package/dist/infrastructure/azure-sync/sqlite-sync-repository.d.ts +39 -0
- package/dist/infrastructure/azure-sync/sqlite-sync-repository.d.ts.map +1 -0
- package/dist/infrastructure/azure-sync/sqlite-sync-repository.js +202 -0
- package/dist/infrastructure/azure-sync/sqlite-sync-repository.js.map +1 -0
- package/dist/infrastructure/config/index.d.ts +5 -0
- package/dist/infrastructure/config/index.d.ts.map +1 -0
- package/dist/infrastructure/config/index.js +5 -0
- package/dist/infrastructure/config/index.js.map +1 -0
- package/dist/infrastructure/config/yaml-config-repository.d.ts +22 -0
- package/dist/infrastructure/config/yaml-config-repository.d.ts.map +1 -0
- package/dist/infrastructure/config/yaml-config-repository.js +68 -0
- package/dist/infrastructure/config/yaml-config-repository.js.map +1 -0
- package/dist/infrastructure/domain-map/llm-prompt-factory.d.ts +21 -0
- package/dist/infrastructure/domain-map/llm-prompt-factory.d.ts.map +1 -0
- package/dist/infrastructure/domain-map/llm-prompt-factory.js +49 -0
- package/dist/infrastructure/domain-map/llm-prompt-factory.js.map +1 -0
- package/dist/infrastructure/kanban/card-repository.d.ts +6 -0
- package/dist/infrastructure/kanban/card-repository.d.ts.map +1 -1
- package/dist/infrastructure/kanban/card-repository.js +79 -7
- package/dist/infrastructure/kanban/card-repository.js.map +1 -1
- package/dist/infrastructure/pipeline/dagger-adapter.d.ts +50 -0
- package/dist/infrastructure/pipeline/dagger-adapter.d.ts.map +1 -0
- package/dist/infrastructure/pipeline/dagger-adapter.js +153 -0
- package/dist/infrastructure/pipeline/dagger-adapter.js.map +1 -0
- package/dist/infrastructure/pipeline/dagger-scaffold-generator.d.ts +35 -0
- package/dist/infrastructure/pipeline/dagger-scaffold-generator.d.ts.map +1 -0
- package/dist/infrastructure/pipeline/dagger-scaffold-generator.js +132 -0
- package/dist/infrastructure/pipeline/dagger-scaffold-generator.js.map +1 -0
- package/dist/infrastructure/pipeline/index.d.ts +20 -0
- package/dist/infrastructure/pipeline/index.d.ts.map +1 -0
- package/dist/infrastructure/pipeline/index.js +19 -0
- package/dist/infrastructure/pipeline/index.js.map +1 -0
- package/dist/infrastructure/pipeline/pipeline-template-registry.d.ts +23 -0
- package/dist/infrastructure/pipeline/pipeline-template-registry.d.ts.map +1 -0
- package/dist/infrastructure/pipeline/pipeline-template-registry.js +63 -0
- package/dist/infrastructure/pipeline/pipeline-template-registry.js.map +1 -0
- package/dist/infrastructure/pipeline/scaffold-templates-extra.d.ts +17 -0
- package/dist/infrastructure/pipeline/scaffold-templates-extra.d.ts.map +1 -0
- package/dist/infrastructure/pipeline/scaffold-templates-extra.js +467 -0
- package/dist/infrastructure/pipeline/scaffold-templates-extra.js.map +1 -0
- package/dist/infrastructure/pipeline/scaffold-templates.d.ts +23 -0
- package/dist/infrastructure/pipeline/scaffold-templates.d.ts.map +1 -0
- package/dist/infrastructure/pipeline/scaffold-templates.js +476 -0
- package/dist/infrastructure/pipeline/scaffold-templates.js.map +1 -0
- package/dist/infrastructure/pipeline/sqlite-pipeline-repository.d.ts +32 -0
- package/dist/infrastructure/pipeline/sqlite-pipeline-repository.d.ts.map +1 -0
- package/dist/infrastructure/pipeline/sqlite-pipeline-repository.js +197 -0
- package/dist/infrastructure/pipeline/sqlite-pipeline-repository.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +300 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/tools/agent-registry-tools.d.ts +11 -0
- package/dist/tools/agent-registry-tools.d.ts.map +1 -0
- package/dist/tools/agent-registry-tools.js +208 -0
- package/dist/tools/agent-registry-tools.js.map +1 -0
- package/dist/tools/azure-sync-tools.d.ts +15 -0
- package/dist/tools/azure-sync-tools.d.ts.map +1 -0
- package/dist/tools/azure-sync-tools.js +332 -0
- package/dist/tools/azure-sync-tools.js.map +1 -0
- package/dist/tools/kanban-card-tools.d.ts.map +1 -1
- package/dist/tools/kanban-card-tools.js +41 -16
- package/dist/tools/kanban-card-tools.js.map +1 -1
- package/dist/tools/kanban-gate-tools.d.ts +7 -0
- package/dist/tools/kanban-gate-tools.d.ts.map +1 -0
- package/dist/tools/kanban-gate-tools.js +106 -0
- package/dist/tools/kanban-gate-tools.js.map +1 -0
- package/dist/tools/kanban-grooming-tools.d.ts +7 -0
- package/dist/tools/kanban-grooming-tools.d.ts.map +1 -0
- package/dist/tools/kanban-grooming-tools.js +180 -0
- package/dist/tools/kanban-grooming-tools.js.map +1 -0
- package/dist/tools/pipeline-tools.d.ts +15 -0
- package/dist/tools/pipeline-tools.d.ts.map +1 -0
- package/dist/tools/pipeline-tools.js +424 -0
- package/dist/tools/pipeline-tools.js.map +1 -0
- package/package.json +7 -2
package/dist/index.js
CHANGED
|
@@ -1,74 +1,64 @@
|
|
|
1
1
|
import { mkdirSync } from "node:fs";
|
|
2
2
|
import { basename, join } from "node:path";
|
|
3
|
-
// Shared Domain
|
|
4
3
|
import { WorkspaceId } from "./domain/shared/value-objects.js";
|
|
5
|
-
// Infrastructure
|
|
6
4
|
import { SqliteAdapter } from "./infrastructure/database/sqlite-adapter.js";
|
|
7
|
-
// Context Memory Repositories
|
|
8
5
|
import { SqliteSessionRepository } from "./infrastructure/context-memory/session-repository.js";
|
|
9
6
|
import { SqliteTodoRepository } from "./infrastructure/context-memory/todo-repository.js";
|
|
10
7
|
import { SqliteNoteRepository } from "./infrastructure/context-memory/note-repository.js";
|
|
11
8
|
import { createSimpleSearchRepo } from "./infrastructure/context-memory/search-repository.js";
|
|
12
|
-
// Kanban Repositories
|
|
13
9
|
import { SqliteCardRepository } from "./infrastructure/kanban/card-repository.js";
|
|
14
|
-
import { SqliteSprintRepository, SqliteEpicRepository
|
|
15
|
-
|
|
16
|
-
import { SessionDomainService, TodoDomainService, NoteDomainService, ContextSearchService, } from "./domain/context-memory/services.js";
|
|
17
|
-
// Kanban Domain Services
|
|
10
|
+
import { SqliteSprintRepository, SqliteEpicRepository } from "./infrastructure/kanban/sprint-repository.js";
|
|
11
|
+
import { SessionDomainService, TodoDomainService, NoteDomainService, ContextSearchService } from "./domain/context-memory/services.js";
|
|
18
12
|
import { CardDomainService } from "./domain/kanban/services.js";
|
|
19
|
-
// Governance Domain
|
|
20
13
|
import { DEFAULT_POLICIES } from "./domain/governance/policies.js";
|
|
21
14
|
import { PolicyValidationService } from "./domain/governance/services.js";
|
|
22
|
-
// Context Memory Application
|
|
23
15
|
import { SessionUseCases } from "./application/context-memory/session-use-cases.js";
|
|
24
16
|
import { TodoUseCases } from "./application/context-memory/todo-use-cases.js";
|
|
25
17
|
import { NoteUseCases } from "./application/context-memory/note-use-cases.js";
|
|
26
|
-
// Kanban Application
|
|
27
18
|
import { CardUseCases } from "./application/kanban/card-use-cases.js";
|
|
28
|
-
import { SprintUseCases, EpicUseCases
|
|
19
|
+
import { SprintUseCases, EpicUseCases } from "./application/kanban/sprint-use-cases.js";
|
|
29
20
|
import { BoardUseCases } from "./application/kanban/board-use-cases.js";
|
|
30
|
-
// Governance Application
|
|
31
21
|
import { GovernanceUseCases } from "./application/governance/validation-use-cases.js";
|
|
32
|
-
// Token Metrics
|
|
33
22
|
import { SqliteTokenMetricsRepository } from "./infrastructure/token-metrics/token-metrics-repository.js";
|
|
34
23
|
import { TokenMetricsUseCases } from "./application/token-metrics/tracking-use-cases.js";
|
|
35
|
-
// Vault
|
|
36
24
|
import { VaultFsAdapter } from "./infrastructure/vault/vault-fs-adapter.js";
|
|
37
25
|
import { VaultUseCases } from "./application/vault/use-cases.js";
|
|
38
26
|
import { VaultManager } from "./application/vault/vault-manager.js";
|
|
39
|
-
// RAG Infrastructure (native TypeScript, replaces Python bridge)
|
|
40
27
|
import { VectraVectorRepository } from "./infrastructure/rag/vectra-adapter.js";
|
|
41
28
|
import { OllamaEmbeddingProvider } from "./infrastructure/rag/ollama-embeddings.js";
|
|
42
29
|
import { LangchainTextSplitter } from "./infrastructure/rag/text-splitter.js";
|
|
43
30
|
import { FileSystemDiscovery } from "./infrastructure/rag/file-discovery.js";
|
|
44
|
-
import { DEFAULT_RAG_CONFIG } from "./domain/rag/value-objects.js";
|
|
45
|
-
// RAG Application
|
|
46
31
|
import { RagUseCases } from "./application/rag/use-cases.js";
|
|
47
32
|
import { OracleUseCases } from "./application/rag/oracle-use-cases.js";
|
|
48
|
-
// Domain Map Infrastructure
|
|
49
33
|
import { LspClientAdapter } from "./infrastructure/domain-map/lsp-adapter.js";
|
|
50
34
|
import { LlmSemanticAnalyzer } from "./infrastructure/domain-map/llm-analyzer.js";
|
|
51
35
|
import { FileProjectScanner } from "./infrastructure/domain-map/project-scanner.js";
|
|
52
|
-
|
|
36
|
+
import { createLlmPromptFn } from "./infrastructure/domain-map/llm-prompt-factory.js";
|
|
37
|
+
import { SqliteAgentProfileRepository } from "./infrastructure/agent-registry/agent-profile-repository.js";
|
|
38
|
+
import { OpencodeAgentSessionAdapter } from "./infrastructure/agent-registry/agent-session-adapter.js";
|
|
39
|
+
import { BUILT_IN_PROFILES } from "./infrastructure/agent-registry/built-in-profiles.js";
|
|
40
|
+
import { AgentRegistryService } from "./domain/agent-registry/services.js";
|
|
41
|
+
import { AgentRegistryUseCases } from "./application/agent-registry/use-cases.js";
|
|
53
42
|
import { DomainMapUseCases } from "./application/domain-map/use-cases.js";
|
|
54
|
-
// Workspace Registry Infrastructure
|
|
55
43
|
import { SqliteWorkspaceRegistryRepository } from "./infrastructure/workspace-registry/workspace-repository.js";
|
|
56
44
|
import { SqliteWorkspaceDependencyRepository } from "./infrastructure/workspace-registry/dependency-repository.js";
|
|
57
|
-
// Workspace Registry Domain
|
|
58
45
|
import { WorkspaceRegistryService } from "./domain/workspace-registry/services.js";
|
|
59
46
|
import { resolveJarvisHome } from "./domain/workspace-registry/value-objects.js";
|
|
60
|
-
// Workspace Registry Application
|
|
61
47
|
import { WorkspaceRegistryUseCases } from "./application/workspace-registry/use-cases.js";
|
|
62
|
-
// Environment Infrastructure
|
|
63
48
|
import { SqliteEnvironmentRepository } from "./infrastructure/environment/environment-repository.js";
|
|
64
49
|
import { EnvironmentScannerAdapter } from "./infrastructure/environment/scanner-adapter.js";
|
|
65
|
-
// Environment Domain
|
|
66
50
|
import { EnvironmentDomainService } from "./domain/environment/services.js";
|
|
67
|
-
|
|
51
|
+
import { YamlConfigRepository } from "./infrastructure/config/yaml-config-repository.js";
|
|
52
|
+
import { ConfigService } from "./application/config/config-service.js";
|
|
53
|
+
import { SqlitePipelineRepository, InMemoryPipelineTemplateRegistry, DaggerCliAdapter, DaggerScaffoldGenerator } from "./infrastructure/pipeline/index.js";
|
|
54
|
+
import { PipelineFactory, GateEnforcer } from "./domain/pipeline/services.js";
|
|
55
|
+
import { PipelineId } from "./domain/pipeline/value-objects.js";
|
|
56
|
+
import { PipelineUseCases } from "./application/pipeline/use-cases.js";
|
|
68
57
|
import { EnvironmentUseCases } from "./application/environment/use-cases.js";
|
|
69
|
-
// Tools
|
|
70
58
|
import { createContextMemoryTools } from "./tools/context-memory-tools.js";
|
|
71
59
|
import { createKanbanCardTools } from "./tools/kanban-card-tools.js";
|
|
60
|
+
import { createKanbanGroomingTools } from "./tools/kanban-grooming-tools.js";
|
|
61
|
+
import { createKanbanGateTools } from "./tools/kanban-gate-tools.js";
|
|
72
62
|
import { createKanbanBoardTools } from "./tools/kanban-board-tools.js";
|
|
73
63
|
import { createGovernanceTools } from "./tools/governance-tools.js";
|
|
74
64
|
import { createRagTools } from "./tools/rag-tools.js";
|
|
@@ -80,6 +70,14 @@ import { createDomainMapTools } from "./tools/domain-map-tools.js";
|
|
|
80
70
|
import { createWorkspaceRegistryTools } from "./tools/workspace-registry-tools.js";
|
|
81
71
|
import { createEnvironmentTools } from "./tools/environment-tools.js";
|
|
82
72
|
import { createTokenMetricsTools } from "./tools/token-metrics-tools.js";
|
|
73
|
+
import { createAgentRegistryTools } from "./tools/agent-registry-tools.js";
|
|
74
|
+
import { createPipelineTools } from "./tools/pipeline-tools.js";
|
|
75
|
+
import { AzureSyncUseCases } from "./application/azure-sync/push-use-cases.js";
|
|
76
|
+
import { AzureSyncPullUseCases } from "./application/azure-sync/pull-use-cases.js";
|
|
77
|
+
import { AzurePrUseCases } from "./application/azure-sync/pr-use-cases.js";
|
|
78
|
+
import { AzureDevOpsClient } from "./infrastructure/azure-sync/azure-devops-client.js";
|
|
79
|
+
import { SqliteSyncRepository } from "./infrastructure/azure-sync/sqlite-sync-repository.js";
|
|
80
|
+
import { createAzureSyncTools } from "./tools/azure-sync-tools.js";
|
|
83
81
|
// Hooks
|
|
84
82
|
import { createCompactingHook } from "./hooks/context-compacting.js";
|
|
85
83
|
import { createShellEnvHook } from "./hooks/shell-env.js";
|
|
@@ -105,6 +103,10 @@ export const JarvisPlugin = async (input) => {
|
|
|
105
103
|
mkdirSync(jarvisHome, { recursive: true });
|
|
106
104
|
const registryDbPath = join(jarvisHome, "registry.db");
|
|
107
105
|
const registryDb = new SqliteAdapter({ path: registryDbPath });
|
|
106
|
+
// ── Configuration ─────────────────────────────────────────────────
|
|
107
|
+
const configPath = join(input.directory, "config", "jarvis.yaml");
|
|
108
|
+
const configRepo = new YamlConfigRepository(configPath);
|
|
109
|
+
const configService = new ConfigService(configRepo);
|
|
108
110
|
// ── Repository Layer ──────────────────────────────────────────────
|
|
109
111
|
// Context Memory
|
|
110
112
|
const sessionRepo = new SqliteSessionRepository(db);
|
|
@@ -123,6 +125,9 @@ export const JarvisPlugin = async (input) => {
|
|
|
123
125
|
// Environment (per-project db, scoped to current workspace)
|
|
124
126
|
const wsId = WorkspaceId.create(getWorkspace(input.directory));
|
|
125
127
|
const environmentRepo = new SqliteEnvironmentRepository(db, wsId);
|
|
128
|
+
// Agent Registry
|
|
129
|
+
const agentProfileRepo = new SqliteAgentProfileRepository(db);
|
|
130
|
+
const agentSessionAdapter = new OpencodeAgentSessionAdapter(input.client);
|
|
126
131
|
// Vault (filesystem-based, no SQLite)
|
|
127
132
|
const vaultRoot = join(jarvisDir, "..", "obsidian-vault");
|
|
128
133
|
const vaultRepo = new VaultFsAdapter(vaultRoot);
|
|
@@ -132,21 +137,41 @@ export const JarvisPlugin = async (input) => {
|
|
|
132
137
|
const todoService = new TodoDomainService(todoRepo);
|
|
133
138
|
const noteService = new NoteDomainService(noteRepo);
|
|
134
139
|
const searchService = new ContextSearchService(searchRepo);
|
|
135
|
-
// Kanban
|
|
136
|
-
const
|
|
140
|
+
// Kanban — Gate config port bridges config BC to kanban domain
|
|
141
|
+
const kanbanConfig = configService.getKanbanConfig();
|
|
142
|
+
const gateConfigPort = {
|
|
143
|
+
getGateDefinitions(phase) {
|
|
144
|
+
const defs = kanbanConfig.gateTasks[phase];
|
|
145
|
+
return defs ?? [];
|
|
146
|
+
},
|
|
147
|
+
getMinTransitionIntervalSecs() {
|
|
148
|
+
return kanbanConfig.minTransitionIntervalSecs;
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
const cardService = new CardDomainService(cardRepo, gateConfigPort);
|
|
137
152
|
// Governance
|
|
138
153
|
const validationService = new PolicyValidationService(DEFAULT_POLICIES);
|
|
139
154
|
// Workspace Registry
|
|
140
155
|
const workspaceRegistryService = new WorkspaceRegistryService(workspaceRegistryRepo, workspaceDependencyRepo);
|
|
141
156
|
// Environment
|
|
142
157
|
const environmentService = new EnvironmentDomainService(environmentRepo);
|
|
158
|
+
// Agent Registry
|
|
159
|
+
const agentRegistryService = new AgentRegistryService(agentProfileRepo);
|
|
160
|
+
// Pipeline
|
|
161
|
+
const pipelineRepo = new SqlitePipelineRepository(db);
|
|
162
|
+
const templateRepo = new InMemoryPipelineTemplateRegistry();
|
|
163
|
+
const daggerPort = new DaggerCliAdapter();
|
|
164
|
+
const scaffoldPort = new DaggerScaffoldGenerator();
|
|
165
|
+
const pipelineFactory = new PipelineFactory(pipelineRepo, templateRepo);
|
|
166
|
+
const gateEnforcer = new GateEnforcer(pipelineRepo);
|
|
143
167
|
// ── Application Use Case Layer ────────────────────────────────────
|
|
144
168
|
// Context Memory
|
|
145
169
|
const sessionUseCases = new SessionUseCases(sessionService);
|
|
146
170
|
const todoUseCases = new TodoUseCases(todoService, todoRepo);
|
|
147
171
|
const noteUseCases = new NoteUseCases(noteService, searchService);
|
|
148
172
|
// Kanban
|
|
149
|
-
const
|
|
173
|
+
const pipelineStatusProvider = async (id) => (await pipelineRepo.findById(PipelineId.from(id)))?.status;
|
|
174
|
+
const cardUseCases = new CardUseCases(cardRepo, cardService, pipelineStatusProvider);
|
|
150
175
|
const sprintUseCases = new SprintUseCases(sprintRepo);
|
|
151
176
|
const epicUseCases = new EpicUseCases(epicRepo);
|
|
152
177
|
const boardUseCases = new BoardUseCases(cardRepo, cardService);
|
|
@@ -159,6 +184,17 @@ export const JarvisPlugin = async (input) => {
|
|
|
159
184
|
const vaultManager = new VaultManager(vaultRepo, vaultUseCases);
|
|
160
185
|
// Workspace Registry
|
|
161
186
|
const workspaceRegistryUseCases = new WorkspaceRegistryUseCases(workspaceRegistryService);
|
|
187
|
+
// Agent Registry
|
|
188
|
+
const agentRegistryUseCases = new AgentRegistryUseCases(agentRegistryService, agentSessionAdapter);
|
|
189
|
+
// Pipeline
|
|
190
|
+
const pipelineUseCases = new PipelineUseCases(pipelineRepo, templateRepo, pipelineFactory, gateEnforcer, daggerPort, scaffoldPort, async (e) => {
|
|
191
|
+
await tokenMetricsUseCases.recordUsage({
|
|
192
|
+
workspace: getWorkspace(input.directory), toolName: "pipeline-run", agent: "pipeline",
|
|
193
|
+
inputTokens: 0, outputTokens: 0, model: "dagger", operation: "pipeline-gate",
|
|
194
|
+
...(e.cardId !== undefined ? { cardId: e.cardId } : {}),
|
|
195
|
+
metadata: { pipelineId: e.pipelineId, gateId: e.gateId, success: e.success, durationMs: e.durationMs },
|
|
196
|
+
});
|
|
197
|
+
});
|
|
162
198
|
// Environment (use cases created after projectScanner, see below)
|
|
163
199
|
// ── Tools ─────────────────────────────────────────────────────────
|
|
164
200
|
const contextMemoryTools = createContextMemoryTools({
|
|
@@ -173,6 +209,12 @@ export const JarvisPlugin = async (input) => {
|
|
|
173
209
|
epicUseCases,
|
|
174
210
|
getWorkspace,
|
|
175
211
|
});
|
|
212
|
+
const kanbanGroomingTools = createKanbanGroomingTools({
|
|
213
|
+
cardUseCases,
|
|
214
|
+
});
|
|
215
|
+
const kanbanGateTools = createKanbanGateTools({
|
|
216
|
+
cardUseCases,
|
|
217
|
+
});
|
|
176
218
|
const kanbanBoardTools = createKanbanBoardTools({
|
|
177
219
|
sprintUseCases,
|
|
178
220
|
epicUseCases,
|
|
@@ -183,10 +225,11 @@ export const JarvisPlugin = async (input) => {
|
|
|
183
225
|
governanceUseCases,
|
|
184
226
|
});
|
|
185
227
|
// RAG Infrastructure (native TypeScript — Vectra + Ollama + TextSplitters)
|
|
228
|
+
const ragConfig = configService.getRagConfig();
|
|
186
229
|
const ragPersistRoot = join(jarvisDir, "rag");
|
|
187
230
|
mkdirSync(ragPersistRoot, { recursive: true });
|
|
188
|
-
const embeddingProvider = new OllamaEmbeddingProvider(
|
|
189
|
-
const vectorRepository = new VectraVectorRepository(ragPersistRoot,
|
|
231
|
+
const embeddingProvider = new OllamaEmbeddingProvider(ragConfig.ollama.url, ragConfig.ollama.model, ragConfig.ollama.dimensions);
|
|
232
|
+
const vectorRepository = new VectraVectorRepository(ragPersistRoot, ragConfig.ollama.model);
|
|
190
233
|
const textSplitter = new LangchainTextSplitter();
|
|
191
234
|
const fileDiscovery = new FileSystemDiscovery();
|
|
192
235
|
const ragUseCases = new RagUseCases({
|
|
@@ -194,6 +237,7 @@ export const JarvisPlugin = async (input) => {
|
|
|
194
237
|
vectorRepository,
|
|
195
238
|
textSplitter,
|
|
196
239
|
fileDiscovery,
|
|
240
|
+
ragConfig,
|
|
197
241
|
});
|
|
198
242
|
const oracleUseCases = new OracleUseCases({
|
|
199
243
|
embeddingProvider,
|
|
@@ -226,49 +270,7 @@ export const JarvisPlugin = async (input) => {
|
|
|
226
270
|
// Domain Map Infrastructure + Application + Tools
|
|
227
271
|
const lspClient = new LspClientAdapter();
|
|
228
272
|
const projectScanner = new FileProjectScanner();
|
|
229
|
-
|
|
230
|
-
// Creates a temporary session, sends the analysis prompt, extracts the
|
|
231
|
-
// LLM text response, and cleans up the session. Supports model override
|
|
232
|
-
// so users can choose a cost-effective model for large codebase analysis.
|
|
233
|
-
const llmPromptFn = async (prompt, model) => {
|
|
234
|
-
const createResult = await input.client.session.create({
|
|
235
|
-
body: { title: "[jarvis] domain-map-analysis" },
|
|
236
|
-
});
|
|
237
|
-
if (!createResult.data) {
|
|
238
|
-
throw new Error("Failed to create analysis session");
|
|
239
|
-
}
|
|
240
|
-
const sessionId = createResult.data.id;
|
|
241
|
-
try {
|
|
242
|
-
const promptResult = await input.client.session.prompt({
|
|
243
|
-
path: { id: sessionId },
|
|
244
|
-
body: {
|
|
245
|
-
system: "You are a Domain-Driven Design expert analyzing a codebase. " +
|
|
246
|
-
"Respond ONLY with valid JSON matching the schema in the prompt. " +
|
|
247
|
-
"Do not include markdown fences around the JSON. " +
|
|
248
|
-
"Do not use any tools.",
|
|
249
|
-
...(model !== undefined
|
|
250
|
-
? {
|
|
251
|
-
model: { providerID: model.providerID, modelID: model.modelID },
|
|
252
|
-
}
|
|
253
|
-
: {}),
|
|
254
|
-
parts: [{ type: "text", text: prompt }],
|
|
255
|
-
},
|
|
256
|
-
});
|
|
257
|
-
if (!promptResult.data) {
|
|
258
|
-
throw new Error("LLM analysis returned no data");
|
|
259
|
-
}
|
|
260
|
-
const textParts = promptResult.data.parts.filter((p) => p.type === "text");
|
|
261
|
-
if (textParts.length === 0) {
|
|
262
|
-
throw new Error("LLM analysis returned no text parts");
|
|
263
|
-
}
|
|
264
|
-
return textParts.map((p) => p.text).join("");
|
|
265
|
-
}
|
|
266
|
-
finally {
|
|
267
|
-
await input.client.session
|
|
268
|
-
.delete({ path: { id: sessionId } })
|
|
269
|
-
.catch(() => { });
|
|
270
|
-
}
|
|
271
|
-
};
|
|
273
|
+
const llmPromptFn = createLlmPromptFn(input.client);
|
|
272
274
|
const llmAnalyzer = new LlmSemanticAnalyzer(llmPromptFn);
|
|
273
275
|
const domainMapUseCases = new DomainMapUseCases({
|
|
274
276
|
lspClient,
|
|
@@ -296,6 +298,33 @@ export const JarvisPlugin = async (input) => {
|
|
|
296
298
|
getWorkspace,
|
|
297
299
|
directory: input.directory,
|
|
298
300
|
});
|
|
301
|
+
// Agent Registry Tools (profile management + session spawning)
|
|
302
|
+
const agentRegistryTools = createAgentRegistryTools({
|
|
303
|
+
agentRegistryUseCases,
|
|
304
|
+
});
|
|
305
|
+
// Pipeline Tools (CI/CD pipeline lifecycle + gate operations)
|
|
306
|
+
const pipelineTools = createPipelineTools({
|
|
307
|
+
pipelineUseCases,
|
|
308
|
+
cardUseCases,
|
|
309
|
+
getWorkspace,
|
|
310
|
+
});
|
|
311
|
+
// Azure Sync
|
|
312
|
+
const azureSyncConfig = configService.getAzureSyncConfig();
|
|
313
|
+
const azureClient = new AzureDevOpsClient(azureSyncConfig.authMethod);
|
|
314
|
+
const syncRepo = new SqliteSyncRepository(db);
|
|
315
|
+
const azureSyncUseCases = new AzureSyncUseCases({
|
|
316
|
+
azureClient, syncMappingRepo: syncRepo, syncLogRepo: syncRepo,
|
|
317
|
+
cardUseCases, epicUseCases, sprintUseCases, configService,
|
|
318
|
+
});
|
|
319
|
+
const azureSyncPullUseCases = new AzureSyncPullUseCases({ azureClient, syncMappingRepo: syncRepo, syncLogRepo: syncRepo,
|
|
320
|
+
cardUseCases, epicUseCases, sprintUseCases, configService }, azureSyncUseCases);
|
|
321
|
+
const azurePrUseCases = new AzurePrUseCases({ azureClient, configService });
|
|
322
|
+
const azureSyncTools = createAzureSyncTools({
|
|
323
|
+
azureSyncUseCases, azureSyncPullUseCases, azurePrUseCases, getWorkspace,
|
|
324
|
+
defaultOrg: azureSyncConfig.organization,
|
|
325
|
+
defaultProject: azureSyncConfig.project,
|
|
326
|
+
defaultRepository: azureSyncConfig.repository,
|
|
327
|
+
});
|
|
299
328
|
// ── Auto-Registration ─────────────────────────────────────────────
|
|
300
329
|
// Register current workspace in the central registry on plugin boot.
|
|
301
330
|
// Fire-and-forget — does not block plugin startup.
|
|
@@ -303,6 +332,10 @@ export const JarvisPlugin = async (input) => {
|
|
|
303
332
|
workspaceRegistryUseCases.autoRegister(wsName, input.directory).catch(() => {
|
|
304
333
|
// Silently ignore auto-registration errors (e.g. corrupt registry.db)
|
|
305
334
|
});
|
|
335
|
+
// Bootstrap built-in agent profiles (fire-and-forget).
|
|
336
|
+
agentRegistryUseCases.bootstrapBuiltInProfiles(BUILT_IN_PROFILES).catch(() => {
|
|
337
|
+
// Silently ignore bootstrap errors
|
|
338
|
+
});
|
|
306
339
|
// ── Hooks ─────────────────────────────────────────────────────────
|
|
307
340
|
const compactingHook = createCompactingHook({
|
|
308
341
|
sessionUseCases,
|
|
@@ -328,6 +361,8 @@ export const JarvisPlugin = async (input) => {
|
|
|
328
361
|
tool: {
|
|
329
362
|
...contextMemoryTools,
|
|
330
363
|
...kanbanCardTools,
|
|
364
|
+
...kanbanGroomingTools,
|
|
365
|
+
...kanbanGateTools,
|
|
331
366
|
...kanbanBoardTools,
|
|
332
367
|
...governanceTools,
|
|
333
368
|
...ragTools,
|
|
@@ -339,6 +374,9 @@ export const JarvisPlugin = async (input) => {
|
|
|
339
374
|
...workspaceRegistryTools,
|
|
340
375
|
...environmentTools,
|
|
341
376
|
...tokenMetricsTools,
|
|
377
|
+
...agentRegistryTools,
|
|
378
|
+
...pipelineTools,
|
|
379
|
+
...azureSyncTools,
|
|
342
380
|
},
|
|
343
381
|
"experimental.session.compacting": compactingHook,
|
|
344
382
|
"shell.env": shellEnvHook,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite Agent Profile Repository
|
|
3
|
+
*
|
|
4
|
+
* Implements AgentProfileRepository interface from domain layer.
|
|
5
|
+
* Maps AgentProfile entities to/from SQLite rows with JSON serialization
|
|
6
|
+
* for complex value objects (ModelPreference, AgentCapabilities, AllowedTools).
|
|
7
|
+
*
|
|
8
|
+
* SOLID: SRP - persistence for AgentProfile aggregate only
|
|
9
|
+
* SOLID: DIP - implements domain interface
|
|
10
|
+
* SOLID: LSP - fully substitutable for AgentProfileRepository
|
|
11
|
+
*/
|
|
12
|
+
import type { SqliteAdapter } from "../database/sqlite-adapter.js";
|
|
13
|
+
import type { AgentProfileRepository } from "../../domain/agent-registry/repositories.js";
|
|
14
|
+
import { AgentProfile } from "../../domain/agent-registry/entities.js";
|
|
15
|
+
import { AgentProfileId } from "../../domain/agent-registry/value-objects.js";
|
|
16
|
+
import type { AgentRole, AgentProfileStatus } from "../../domain/agent-registry/value-objects.js";
|
|
17
|
+
export declare class SqliteAgentProfileRepository implements AgentProfileRepository {
|
|
18
|
+
private readonly db;
|
|
19
|
+
constructor(db: SqliteAdapter);
|
|
20
|
+
save(profile: AgentProfile): Promise<void>;
|
|
21
|
+
findById(id: AgentProfileId): Promise<AgentProfile | undefined>;
|
|
22
|
+
findByRole(role: AgentRole): Promise<AgentProfile[]>;
|
|
23
|
+
findByStatus(status: AgentProfileStatus): Promise<AgentProfile[]>;
|
|
24
|
+
findAll(): Promise<AgentProfile[]>;
|
|
25
|
+
delete(id: AgentProfileId): Promise<boolean>;
|
|
26
|
+
exists(id: AgentProfileId): Promise<boolean>;
|
|
27
|
+
private toDomain;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=agent-profile-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-profile-repository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/agent-registry/agent-profile-repository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EACL,cAAc,EAKf,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EACnB,MAAM,8CAA8C,CAAC;AAsCtD,qBAAa,4BAA6B,YAAW,sBAAsB;IAC7D,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,aAAa;IAIxC,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC1C,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAQ/D,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQpD,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQjE,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQlC,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5C,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAQlD,OAAO,CAAC,QAAQ;CAmBjB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { AgentProfile } from "../../domain/agent-registry/entities.js";
|
|
2
|
+
import { AgentProfileId, SystemPrompt, ModelPreference, AgentCapabilities, AllowedTools, } from "../../domain/agent-registry/value-objects.js";
|
|
3
|
+
import { Timestamp } from "../../domain/shared/value-objects.js";
|
|
4
|
+
const SCHEMA_KEY = "agent_profiles";
|
|
5
|
+
const DDL = `
|
|
6
|
+
CREATE TABLE IF NOT EXISTS agent_profiles (
|
|
7
|
+
id TEXT PRIMARY KEY,
|
|
8
|
+
display_name TEXT NOT NULL,
|
|
9
|
+
role TEXT NOT NULL,
|
|
10
|
+
system_prompt TEXT NOT NULL,
|
|
11
|
+
model_preference TEXT NOT NULL DEFAULT '{"primary":"default","fallbacks":[]}',
|
|
12
|
+
capabilities TEXT NOT NULL DEFAULT '[]',
|
|
13
|
+
allowed_tools TEXT NOT NULL DEFAULT '[]',
|
|
14
|
+
status TEXT NOT NULL DEFAULT 'active',
|
|
15
|
+
built_in INTEGER NOT NULL DEFAULT 0,
|
|
16
|
+
created_at TEXT NOT NULL,
|
|
17
|
+
updated_at TEXT NOT NULL
|
|
18
|
+
);
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_agent_profile_role ON agent_profiles(role);
|
|
20
|
+
CREATE INDEX IF NOT EXISTS idx_agent_profile_status ON agent_profiles(status);
|
|
21
|
+
`;
|
|
22
|
+
export class SqliteAgentProfileRepository {
|
|
23
|
+
db;
|
|
24
|
+
constructor(db) {
|
|
25
|
+
this.db = db;
|
|
26
|
+
this.db.ensureSchema(SCHEMA_KEY, DDL);
|
|
27
|
+
}
|
|
28
|
+
async save(profile) {
|
|
29
|
+
const data = profile.toData();
|
|
30
|
+
const sql = `
|
|
31
|
+
INSERT INTO agent_profiles (
|
|
32
|
+
id, display_name, role, system_prompt, model_preference,
|
|
33
|
+
capabilities, allowed_tools, status, built_in, created_at, updated_at
|
|
34
|
+
)
|
|
35
|
+
VALUES (
|
|
36
|
+
@id, @display_name, @role, @system_prompt, @model_preference,
|
|
37
|
+
@capabilities, @allowed_tools, @status, @built_in, @created_at, @updated_at
|
|
38
|
+
)
|
|
39
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
40
|
+
display_name = @display_name,
|
|
41
|
+
role = @role,
|
|
42
|
+
system_prompt = @system_prompt,
|
|
43
|
+
model_preference = @model_preference,
|
|
44
|
+
capabilities = @capabilities,
|
|
45
|
+
allowed_tools = @allowed_tools,
|
|
46
|
+
status = @status,
|
|
47
|
+
updated_at = @updated_at
|
|
48
|
+
`;
|
|
49
|
+
this.db.execute(sql, {
|
|
50
|
+
id: data.id.value,
|
|
51
|
+
display_name: data.displayName,
|
|
52
|
+
role: data.role,
|
|
53
|
+
system_prompt: data.systemPrompt.value,
|
|
54
|
+
model_preference: JSON.stringify(data.modelPreference.toJSON()),
|
|
55
|
+
capabilities: data.capabilities.toJSON(),
|
|
56
|
+
allowed_tools: data.allowedTools.toJSON(),
|
|
57
|
+
status: data.status,
|
|
58
|
+
built_in: data.builtIn ? 1 : 0,
|
|
59
|
+
created_at: data.createdAt.toISO(),
|
|
60
|
+
updated_at: data.updatedAt.toISO(),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async findById(id) {
|
|
64
|
+
const row = this.db.queryOne("SELECT * FROM agent_profiles WHERE id = @id", { id: id.value });
|
|
65
|
+
return row ? this.toDomain(row) : undefined;
|
|
66
|
+
}
|
|
67
|
+
async findByRole(role) {
|
|
68
|
+
const rows = this.db.queryAll("SELECT * FROM agent_profiles WHERE role = @role ORDER BY display_name", { role });
|
|
69
|
+
return rows.map((row) => this.toDomain(row));
|
|
70
|
+
}
|
|
71
|
+
async findByStatus(status) {
|
|
72
|
+
const rows = this.db.queryAll("SELECT * FROM agent_profiles WHERE status = @status ORDER BY display_name", { status });
|
|
73
|
+
return rows.map((row) => this.toDomain(row));
|
|
74
|
+
}
|
|
75
|
+
async findAll() {
|
|
76
|
+
const rows = this.db.queryAll("SELECT * FROM agent_profiles ORDER BY built_in DESC, display_name", {});
|
|
77
|
+
return rows.map((row) => this.toDomain(row));
|
|
78
|
+
}
|
|
79
|
+
async delete(id) {
|
|
80
|
+
const exists = await this.exists(id);
|
|
81
|
+
if (!exists)
|
|
82
|
+
return false;
|
|
83
|
+
this.db.execute("DELETE FROM agent_profiles WHERE id = @id", {
|
|
84
|
+
id: id.value,
|
|
85
|
+
});
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
async exists(id) {
|
|
89
|
+
const row = this.db.queryOne("SELECT COUNT(*) as cnt FROM agent_profiles WHERE id = @id", { id: id.value });
|
|
90
|
+
return row !== undefined && row.cnt > 0;
|
|
91
|
+
}
|
|
92
|
+
toDomain(row) {
|
|
93
|
+
const modelJson = JSON.parse(row.model_preference);
|
|
94
|
+
return AgentProfile.reconstitute({
|
|
95
|
+
id: AgentProfileId.from(row.id),
|
|
96
|
+
displayName: row.display_name,
|
|
97
|
+
role: row.role,
|
|
98
|
+
systemPrompt: SystemPrompt.from(row.system_prompt),
|
|
99
|
+
modelPreference: ModelPreference.fromJSON(modelJson),
|
|
100
|
+
capabilities: AgentCapabilities.fromJSON(row.capabilities),
|
|
101
|
+
allowedTools: AllowedTools.fromJSON(row.allowed_tools),
|
|
102
|
+
status: row.status,
|
|
103
|
+
builtIn: row.built_in === 1,
|
|
104
|
+
createdAt: Timestamp.fromISO(row.created_at),
|
|
105
|
+
updatedAt: Timestamp.fromISO(row.updated_at),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=agent-profile-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-profile-repository.js","sourceRoot":"","sources":["../../../src/infrastructure/agent-registry/agent-profile-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Session Adapter
|
|
3
|
+
*
|
|
4
|
+
* Implements AgentSessionPort from domain layer using the OpenCode SDK client.
|
|
5
|
+
* Bridges between domain's session abstraction and the actual OpenCode API.
|
|
6
|
+
*
|
|
7
|
+
* SOLID: SRP - session creation and messaging via SDK only
|
|
8
|
+
* SOLID: DIP - implements domain port interface
|
|
9
|
+
* SOLID: LSP - fully substitutable for AgentSessionPort
|
|
10
|
+
*/
|
|
11
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
12
|
+
import type { AgentSessionPort, SessionInfo } from "../../domain/agent-registry/repositories.js";
|
|
13
|
+
type OpencodeClient = PluginInput["client"];
|
|
14
|
+
export declare class OpencodeAgentSessionAdapter implements AgentSessionPort {
|
|
15
|
+
private readonly client;
|
|
16
|
+
constructor(client: OpencodeClient);
|
|
17
|
+
createSession(params: {
|
|
18
|
+
readonly systemPrompt: string;
|
|
19
|
+
readonly modelId?: string;
|
|
20
|
+
}): Promise<SessionInfo>;
|
|
21
|
+
sendPrompt(params: {
|
|
22
|
+
readonly sessionId: string;
|
|
23
|
+
readonly message: string;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
listSessions(): Promise<SessionInfo[]>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=agent-session-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session-adapter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/agent-registry/agent-session-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,6CAA6C,CAAC;AAErD,KAAK,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAE5C,qBAAa,2BAA4B,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE7C,aAAa,CAAC,MAAM,EAAE;QAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,WAAW,CAAC;IAyClB,UAAU,CAAC,MAAM,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,IAAI,CAAC;IASX,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAU7C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export class OpencodeAgentSessionAdapter {
|
|
2
|
+
client;
|
|
3
|
+
constructor(client) {
|
|
4
|
+
this.client = client;
|
|
5
|
+
}
|
|
6
|
+
async createSession(params) {
|
|
7
|
+
const createResult = await this.client.session.create({
|
|
8
|
+
body: { title: "[jarvis] agent-session" },
|
|
9
|
+
});
|
|
10
|
+
if (!createResult.data) {
|
|
11
|
+
throw new Error("Failed to create agent session");
|
|
12
|
+
}
|
|
13
|
+
const sessionId = createResult.data.id;
|
|
14
|
+
// Send system prompt to configure the session
|
|
15
|
+
await this.client.session.prompt({
|
|
16
|
+
path: { id: sessionId },
|
|
17
|
+
body: {
|
|
18
|
+
system: params.systemPrompt,
|
|
19
|
+
...(params.modelId !== undefined
|
|
20
|
+
? {
|
|
21
|
+
model: {
|
|
22
|
+
providerID: "anthropic",
|
|
23
|
+
modelID: params.modelId,
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
: {}),
|
|
27
|
+
parts: [
|
|
28
|
+
{
|
|
29
|
+
type: "text",
|
|
30
|
+
text: "You are now initialized. Await further instructions.",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
id: sessionId,
|
|
37
|
+
...(createResult.data.title !== undefined
|
|
38
|
+
? { title: createResult.data.title }
|
|
39
|
+
: {}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async sendPrompt(params) {
|
|
43
|
+
await this.client.session.prompt({
|
|
44
|
+
path: { id: params.sessionId },
|
|
45
|
+
body: {
|
|
46
|
+
parts: [{ type: "text", text: params.message }],
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async listSessions() {
|
|
51
|
+
const result = await this.client.session.list();
|
|
52
|
+
const sessions = result.data;
|
|
53
|
+
if (!sessions)
|
|
54
|
+
return [];
|
|
55
|
+
return sessions.map((s) => ({
|
|
56
|
+
id: s.id,
|
|
57
|
+
...(s.title !== undefined ? { title: s.title } : {}),
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=agent-session-adapter.js.map
|