@codemieai/code 0.0.33 → 0.0.35
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 +78 -7
- package/bin/codemie-claude-acp.js +21 -0
- package/bin/codemie-opencode.js +11 -0
- package/bin/codemie.js +13 -0
- package/dist/agents/codemie-code/agent.d.ts +38 -4
- package/dist/agents/codemie-code/agent.d.ts.map +1 -1
- package/dist/agents/codemie-code/agent.js +333 -178
- package/dist/agents/codemie-code/agent.js.map +1 -1
- package/dist/agents/codemie-code/index.d.ts +2 -1
- package/dist/agents/codemie-code/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/index.js +36 -7
- package/dist/agents/codemie-code/index.js.map +1 -1
- package/dist/agents/codemie-code/prompts.d.ts +12 -5
- package/dist/agents/codemie-code/prompts.d.ts.map +1 -1
- package/dist/agents/codemie-code/prompts.js +53 -6
- package/dist/agents/codemie-code/prompts.js.map +1 -1
- package/dist/agents/codemie-code/toolMetadata.d.ts.map +1 -1
- package/dist/agents/codemie-code/toolMetadata.js +9 -8
- package/dist/agents/codemie-code/toolMetadata.js.map +1 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts +47 -0
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +1 -0
- package/dist/agents/codemie-code/tools/assistant-invocation.js +129 -0
- package/dist/agents/codemie-code/tools/assistant-invocation.js.map +1 -0
- package/dist/agents/codemie-code/tools/index.d.ts +70 -4
- package/dist/agents/codemie-code/tools/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/index.js +57 -44
- package/dist/agents/codemie-code/tools/index.js.map +1 -1
- package/dist/agents/codemie-code/tools/planning.d.ts +6 -5
- package/dist/agents/codemie-code/tools/planning.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/planning.js +12 -10
- package/dist/agents/codemie-code/tools/planning.js.map +1 -1
- package/dist/agents/codemie-code/types.d.ts +27 -3
- package/dist/agents/codemie-code/types.d.ts.map +1 -1
- package/dist/agents/codemie-code/types.js +24 -0
- package/dist/agents/codemie-code/types.js.map +1 -1
- package/dist/agents/codemie-code/ui/autocomplete.d.ts +98 -0
- package/dist/agents/codemie-code/ui/autocomplete.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/autocomplete.js +145 -0
- package/dist/agents/codemie-code/ui/autocomplete.js.map +1 -0
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts +112 -0
- package/dist/agents/codemie-code/ui/keyHandlers.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/keyHandlers.js +415 -0
- package/dist/agents/codemie-code/ui/keyHandlers.js.map +1 -0
- package/dist/agents/codemie-code/ui/mentions.d.ts +86 -0
- package/dist/agents/codemie-code/ui/mentions.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/mentions.js +122 -0
- package/dist/agents/codemie-code/ui/mentions.js.map +1 -0
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts +38 -0
- package/dist/agents/codemie-code/ui/terminalCodes.d.ts.map +1 -0
- package/dist/agents/codemie-code/ui/terminalCodes.js +42 -0
- package/dist/agents/codemie-code/ui/terminalCodes.js.map +1 -0
- package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui/todoPanel.js +3 -4
- package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -1
- package/dist/agents/codemie-code/ui.d.ts +8 -7
- package/dist/agents/codemie-code/ui.d.ts.map +1 -1
- package/dist/agents/codemie-code/ui.js +87 -145
- package/dist/agents/codemie-code/ui.js.map +1 -1
- package/dist/agents/core/AgentCLI.d.ts +5 -0
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +25 -1
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +90 -27
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.d.ts +7 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.d.ts.map +1 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.js +58 -15
- package/dist/agents/core/extension/BaseExtensionInstaller.js.map +1 -1
- package/dist/agents/core/session/BaseSessionAdapter.d.ts +25 -0
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
- package/dist/agents/core/session/discovery-types.d.ts +53 -0
- package/dist/agents/core/session/discovery-types.d.ts.map +1 -0
- package/dist/agents/core/session/discovery-types.js +8 -0
- package/dist/agents/core/session/discovery-types.js.map +1 -0
- package/dist/agents/core/types.d.ts +62 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +27 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.js +63 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -0
- package/dist/agents/plugins/claude/claude-message-types.d.ts +1 -0
- package/dist/agents/plugins/claude/claude-message-types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts +44 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +263 -12
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +14 -7
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/README.md +40 -2
- package/dist/agents/plugins/claude/plugin/claude-templates/README.md +5 -5
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/CLAUDE.md.template +177 -436
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/code-review-agent-template.md.template +49 -82
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/refactor-cleaner-agent.md.template +337 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/solution-architect-agent.md.template +129 -419
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/agents/unit-tester-agent.md.template +146 -693
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/api/api-patterns.md.template +110 -138
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/architecture.md.template +197 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/data/database-patterns.md.template +171 -91
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/development/development-practices.md.template +219 -131
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/security/security-practices.md.template +223 -98
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/standards/code-quality.md.template +131 -95
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/testing/testing-patterns.md.template +247 -75
- package/dist/agents/plugins/claude/plugin/commands/README.md +133 -0
- package/dist/agents/plugins/claude/plugin/commands/codemie-init.md +336 -544
- package/dist/agents/plugins/claude/plugin/commands/codemie-subagents.md +233 -504
- package/dist/agents/plugins/claude/plugin/commands/memory-add.md +311 -30
- package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +218 -39
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +43 -8
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +68 -40
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +0 -3
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/index.d.ts +8 -0
- package/dist/agents/plugins/opencode/index.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/index.js +12 -0
- package/dist/agents/plugins/opencode/index.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts +207 -0
- package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode-message-types.js +59 -0
- package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts +65 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.js +184 -0
- package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.paths.d.ts +62 -0
- package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.paths.js +148 -0
- package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts +35 -0
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.plugin.js +338 -0
- package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.session.d.ts +77 -0
- package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.session.js +424 -0
- package/dist/agents/plugins/opencode/opencode.session.js.map +1 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts +25 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.js +96 -0
- package/dist/agents/plugins/opencode/opencode.storage-utils.js.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts +30 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js +116 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +102 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +584 -0
- package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -0
- package/dist/agents/registry.d.ts +1 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +5 -1
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/assistants/chat.d.ts +11 -0
- package/dist/cli/commands/assistants/chat.d.ts.map +1 -0
- package/dist/cli/commands/assistants/chat.js +201 -0
- package/dist/cli/commands/assistants/chat.js.map +1 -0
- package/dist/cli/commands/assistants/constants.d.ts +81 -0
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -0
- package/dist/cli/commands/assistants/constants.js +75 -0
- package/dist/cli/commands/assistants/constants.js.map +1 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.d.ts +26 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.d.ts.map +1 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.js +115 -0
- package/dist/cli/commands/assistants/generators/claude-agent-generator.js.map +1 -0
- package/dist/cli/commands/assistants/index.d.ts +11 -0
- package/dist/cli/commands/assistants/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/index.js +28 -0
- package/dist/cli/commands/assistants/index.js.map +1 -0
- package/dist/cli/commands/assistants/list.d.ts +11 -0
- package/dist/cli/commands/assistants/list.d.ts.map +1 -0
- package/dist/cli/commands/assistants/list.js +323 -0
- package/dist/cli/commands/assistants/list.js.map +1 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts +5 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.js +29 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +104 -13
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/opencode-metrics.d.ts +13 -0
- package/dist/cli/commands/opencode-metrics.d.ts.map +1 -0
- package/dist/cli/commands/opencode-metrics.js +200 -0
- package/dist/cli/commands/opencode-metrics.js.map +1 -0
- package/dist/cli/commands/self-update.d.ts +3 -0
- package/dist/cli/commands/self-update.d.ts.map +1 -0
- package/dist/cli/commands/self-update.js +55 -0
- package/dist/cli/commands/self-update.js.map +1 -0
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +113 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skill.d.ts +6 -0
- package/dist/cli/commands/skill.d.ts.map +1 -0
- package/dist/cli/commands/skill.js +196 -0
- package/dist/cli/commands/skill.js.map +1 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +34 -6
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +12 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +13 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/migrations/003-remove-hooks-node.migration.d.ts +22 -0
- package/dist/migrations/003-remove-hooks-node.migration.d.ts.map +1 -0
- package/dist/migrations/003-remove-hooks-node.migration.js +103 -0
- package/dist/migrations/003-remove-hooks-node.migration.js.map +1 -0
- package/dist/migrations/index.d.ts +1 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +1 -1
- package/dist/migrations/index.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +2 -2
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.setup-steps.js +14 -10
- package/dist/providers/plugins/sso/sso.setup-steps.js.map +1 -1
- package/dist/skills/core/SkillDiscovery.d.ts +83 -0
- package/dist/skills/core/SkillDiscovery.d.ts.map +1 -0
- package/dist/skills/core/SkillDiscovery.js +237 -0
- package/dist/skills/core/SkillDiscovery.js.map +1 -0
- package/dist/skills/core/SkillManager.d.ts +86 -0
- package/dist/skills/core/SkillManager.d.ts.map +1 -0
- package/dist/skills/core/SkillManager.js +155 -0
- package/dist/skills/core/SkillManager.js.map +1 -0
- package/dist/skills/core/types.d.ts +120 -0
- package/dist/skills/core/types.d.ts.map +1 -0
- package/dist/skills/core/types.js +20 -0
- package/dist/skills/core/types.js.map +1 -0
- package/dist/skills/index.d.ts +12 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +12 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/utils/content-loader.d.ts +25 -0
- package/dist/skills/utils/content-loader.d.ts.map +1 -0
- package/dist/skills/utils/content-loader.js +161 -0
- package/dist/skills/utils/content-loader.js.map +1 -0
- package/dist/skills/utils/frontmatter.d.ts +60 -0
- package/dist/skills/utils/frontmatter.d.ts.map +1 -0
- package/dist/skills/utils/frontmatter.js +114 -0
- package/dist/skills/utils/frontmatter.js.map +1 -0
- package/dist/skills/utils/pattern-matcher.d.ts +60 -0
- package/dist/skills/utils/pattern-matcher.d.ts.map +1 -0
- package/dist/skills/utils/pattern-matcher.js +97 -0
- package/dist/skills/utils/pattern-matcher.js.map +1 -0
- package/dist/utils/auth.d.ts +22 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +50 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/cli-updater.d.ts +70 -0
- package/dist/utils/cli-updater.d.ts.map +1 -0
- package/dist/utils/cli-updater.js +339 -0
- package/dist/utils/cli-updater.js.map +1 -0
- package/dist/utils/config.d.ts +6 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +13 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/installation-detector.d.ts +22 -0
- package/dist/utils/installation-detector.d.ts.map +1 -0
- package/dist/utils/installation-detector.js +49 -0
- package/dist/utils/installation-detector.js.map +1 -0
- package/dist/utils/native-installer.d.ts +49 -0
- package/dist/utils/native-installer.d.ts.map +1 -0
- package/dist/utils/native-installer.js +225 -0
- package/dist/utils/native-installer.js.map +1 -0
- package/dist/utils/processes.js +1 -1
- package/dist/utils/profile.d.ts +2 -0
- package/dist/utils/profile.d.ts.map +1 -1
- package/dist/utils/profile.js +5 -0
- package/dist/utils/profile.js.map +1 -1
- package/dist/utils/sdk-client.d.ts +15 -0
- package/dist/utils/sdk-client.d.ts.map +1 -0
- package/dist/utils/sdk-client.js +92 -0
- package/dist/utils/sdk-client.js.map +1 -0
- package/dist/utils/version-utils.d.ts +50 -0
- package/dist/utils/version-utils.d.ts.map +1 -0
- package/dist/utils/version-utils.js +92 -0
- package/dist/utils/version-utils.js.map +1 -0
- package/package.json +11 -3
- package/scripts/copy-mr-skill-to-global.ts +252 -0
- package/scripts/demo-hooks.sh +125 -0
- package/scripts/test-hooks.sh +196 -0
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/INDEX.md +0 -205
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/TEMPLATE_SIZES.md +0 -74
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/layered-architecture.md.template +0 -143
- package/dist/agents/plugins/claude/plugin/claude-templates/templates/guides/architecture/project-structure.md.template +0 -127
- package/dist/agents/plugins/claude/plugin/commands/codemie-pr.md +0 -25
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenCode Session metadata
|
|
3
|
+
*
|
|
4
|
+
* Source: packages/opencode/src/session/index.ts (Session.Info)
|
|
5
|
+
* Storage path: storage/session/{projectID}/{sessionID}.json
|
|
6
|
+
*
|
|
7
|
+
* VALIDATED against real OpenCode storage (v1.1.36)
|
|
8
|
+
*/
|
|
9
|
+
export interface OpenCodeSession {
|
|
10
|
+
id: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
directory: string;
|
|
13
|
+
time: {
|
|
14
|
+
created: number;
|
|
15
|
+
updated: number;
|
|
16
|
+
};
|
|
17
|
+
projectID?: string;
|
|
18
|
+
slug?: string;
|
|
19
|
+
version?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Token tracking structure
|
|
23
|
+
*
|
|
24
|
+
* Source: packages/opencode/src/session/message-v2.ts
|
|
25
|
+
*/
|
|
26
|
+
export interface OpenCodeTokens {
|
|
27
|
+
input: number;
|
|
28
|
+
output: number;
|
|
29
|
+
reasoning?: number;
|
|
30
|
+
cache?: {
|
|
31
|
+
read: number;
|
|
32
|
+
write: number;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* OpenCode Message (MessageV2 format)
|
|
37
|
+
*
|
|
38
|
+
* Source: packages/opencode/src/session/message-v2.ts
|
|
39
|
+
* Storage path: storage/message/{sessionID}/{messageID}.json
|
|
40
|
+
*
|
|
41
|
+
* Note: This is a discriminated union in OpenCode (MessageV2.Info = User | Assistant)
|
|
42
|
+
*/
|
|
43
|
+
export interface OpenCodeMessageBase {
|
|
44
|
+
id: string;
|
|
45
|
+
sessionID: string;
|
|
46
|
+
role: 'user' | 'assistant';
|
|
47
|
+
time: {
|
|
48
|
+
created: number;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* User message
|
|
53
|
+
*
|
|
54
|
+
* User messages can have agent context and model selection
|
|
55
|
+
*/
|
|
56
|
+
export interface OpenCodeUserMessage extends OpenCodeMessageBase {
|
|
57
|
+
role: 'user';
|
|
58
|
+
agent?: string;
|
|
59
|
+
model?: {
|
|
60
|
+
providerID?: string;
|
|
61
|
+
modelID?: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Assistant message with tokens and cost
|
|
66
|
+
*/
|
|
67
|
+
export interface OpenCodeAssistantMessage extends OpenCodeMessageBase {
|
|
68
|
+
role: 'assistant';
|
|
69
|
+
providerID?: string;
|
|
70
|
+
modelID?: string;
|
|
71
|
+
path?: string[];
|
|
72
|
+
tokens?: OpenCodeTokens;
|
|
73
|
+
cost?: number;
|
|
74
|
+
agent?: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Union type for messages
|
|
78
|
+
*/
|
|
79
|
+
export type OpenCodeMessage = OpenCodeUserMessage | OpenCodeAssistantMessage;
|
|
80
|
+
/**
|
|
81
|
+
* Type guard for assistant messages
|
|
82
|
+
*/
|
|
83
|
+
export declare function isAssistantMessage(msg: OpenCodeMessage): msg is OpenCodeAssistantMessage;
|
|
84
|
+
/**
|
|
85
|
+
* Base part interface
|
|
86
|
+
*
|
|
87
|
+
* Source: packages/opencode/src/session/message-v2.ts
|
|
88
|
+
* Storage path: storage/part/{messageID}/{partID}.json
|
|
89
|
+
*/
|
|
90
|
+
interface OpenCodePartBase {
|
|
91
|
+
id: string;
|
|
92
|
+
messageID: string;
|
|
93
|
+
sessionID: string;
|
|
94
|
+
type: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Text part
|
|
98
|
+
*/
|
|
99
|
+
export interface OpenCodeTextPart extends OpenCodePartBase {
|
|
100
|
+
type: 'text';
|
|
101
|
+
text: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Tool use part
|
|
105
|
+
*
|
|
106
|
+
* CORRECTED: input is inside state, not at top level (validated from real data)
|
|
107
|
+
*/
|
|
108
|
+
export interface OpenCodeToolPart extends OpenCodePartBase {
|
|
109
|
+
type: 'tool';
|
|
110
|
+
callID: string;
|
|
111
|
+
tool: string;
|
|
112
|
+
state: {
|
|
113
|
+
status: 'pending' | 'running' | 'completed' | 'error';
|
|
114
|
+
input?: Record<string, unknown>;
|
|
115
|
+
output?: string;
|
|
116
|
+
error?: string;
|
|
117
|
+
title?: string;
|
|
118
|
+
metadata?: Record<string, unknown>;
|
|
119
|
+
time?: {
|
|
120
|
+
start?: number;
|
|
121
|
+
end?: number;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* File part
|
|
127
|
+
*/
|
|
128
|
+
export interface OpenCodeFilePart extends OpenCodePartBase {
|
|
129
|
+
type: 'file';
|
|
130
|
+
mime: string;
|
|
131
|
+
url?: string;
|
|
132
|
+
source?: 'local' | 'remote';
|
|
133
|
+
filename?: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Reasoning part (for o1-style models)
|
|
137
|
+
*/
|
|
138
|
+
export interface OpenCodeReasoningPart extends OpenCodePartBase {
|
|
139
|
+
type: 'reasoning';
|
|
140
|
+
text: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Step finish part (contains token info and cost)
|
|
144
|
+
*
|
|
145
|
+
* tokens and cost are REQUIRED per OpenCode source
|
|
146
|
+
*/
|
|
147
|
+
export interface OpenCodeStepFinishPart extends OpenCodePartBase {
|
|
148
|
+
type: 'step-finish';
|
|
149
|
+
tokens: OpenCodeTokens;
|
|
150
|
+
cost: number;
|
|
151
|
+
reason?: string;
|
|
152
|
+
snapshot?: string;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Patch part (diff/file changes)
|
|
156
|
+
*/
|
|
157
|
+
export interface OpenCodePatchPart extends OpenCodePartBase {
|
|
158
|
+
type: 'patch';
|
|
159
|
+
file?: string;
|
|
160
|
+
patch?: string;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Step start part
|
|
164
|
+
*/
|
|
165
|
+
export interface OpenCodeStepStartPart extends OpenCodePartBase {
|
|
166
|
+
type: 'step-start';
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Discriminated union of all part types
|
|
170
|
+
*/
|
|
171
|
+
export type OpenCodePart = OpenCodeTextPart | OpenCodeToolPart | OpenCodeFilePart | OpenCodeReasoningPart | OpenCodeStepFinishPart | OpenCodePatchPart | OpenCodeStepStartPart;
|
|
172
|
+
export declare function isTextPart(part: OpenCodePart): part is OpenCodeTextPart;
|
|
173
|
+
export declare function isToolPart(part: OpenCodePart): part is OpenCodeToolPart;
|
|
174
|
+
export declare function isFilePart(part: OpenCodePart): part is OpenCodeFilePart;
|
|
175
|
+
export declare function isReasoningPart(part: OpenCodePart): part is OpenCodeReasoningPart;
|
|
176
|
+
export declare function isStepFinishPart(part: OpenCodePart): part is OpenCodeStepFinishPart;
|
|
177
|
+
export declare function isPatchPart(part: OpenCodePart): part is OpenCodePatchPart;
|
|
178
|
+
export declare function isStepStartPart(part: OpenCodePart): part is OpenCodeStepStartPart;
|
|
179
|
+
/**
|
|
180
|
+
* OpenCode extends ParsedSession.metadata with these additional fields.
|
|
181
|
+
* Per tech spec ADR-1.
|
|
182
|
+
*
|
|
183
|
+
* Access pattern (within OpenCode plugin boundary only):
|
|
184
|
+
* validateOpenCodeMetadata(session.metadata);
|
|
185
|
+
* const { storagePath, openCodeSessionId } = session.metadata as OpenCodeMetadata;
|
|
186
|
+
*/
|
|
187
|
+
export interface OpenCodeMetadata {
|
|
188
|
+
projectPath?: string;
|
|
189
|
+
createdAt?: string;
|
|
190
|
+
updatedAt?: string;
|
|
191
|
+
storagePath: string;
|
|
192
|
+
openCodeSessionId: string;
|
|
193
|
+
openCodeVersion?: string;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Runtime validation for OpenCode metadata extension (per tech spec ADR-1, Review 10 M4).
|
|
197
|
+
* Call before accessing OpenCode-specific fields.
|
|
198
|
+
*
|
|
199
|
+
* @throws Error if metadata is missing required fields
|
|
200
|
+
*/
|
|
201
|
+
export declare function validateOpenCodeMetadata(metadata: unknown): asserts metadata is OpenCodeMetadata;
|
|
202
|
+
/**
|
|
203
|
+
* Check if metadata has OpenCode-specific fields (non-throwing version)
|
|
204
|
+
*/
|
|
205
|
+
export declare function hasOpenCodeMetadata(metadata: unknown): metadata is OpenCodeMetadata;
|
|
206
|
+
export {};
|
|
207
|
+
//# sourceMappingURL=opencode-message-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-message-types.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-message-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard for assistant messages
|
|
3
|
+
*/
|
|
4
|
+
export function isAssistantMessage(msg) {
|
|
5
|
+
return msg.role === 'assistant';
|
|
6
|
+
}
|
|
7
|
+
// Type guards for safe narrowing
|
|
8
|
+
export function isTextPart(part) {
|
|
9
|
+
return part.type === 'text';
|
|
10
|
+
}
|
|
11
|
+
export function isToolPart(part) {
|
|
12
|
+
return part.type === 'tool';
|
|
13
|
+
}
|
|
14
|
+
export function isFilePart(part) {
|
|
15
|
+
return part.type === 'file';
|
|
16
|
+
}
|
|
17
|
+
export function isReasoningPart(part) {
|
|
18
|
+
return part.type === 'reasoning';
|
|
19
|
+
}
|
|
20
|
+
export function isStepFinishPart(part) {
|
|
21
|
+
return part.type === 'step-finish';
|
|
22
|
+
}
|
|
23
|
+
export function isPatchPart(part) {
|
|
24
|
+
return part.type === 'patch';
|
|
25
|
+
}
|
|
26
|
+
export function isStepStartPart(part) {
|
|
27
|
+
return part.type === 'step-start';
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Runtime validation for OpenCode metadata extension (per tech spec ADR-1, Review 10 M4).
|
|
31
|
+
* Call before accessing OpenCode-specific fields.
|
|
32
|
+
*
|
|
33
|
+
* @throws Error if metadata is missing required fields
|
|
34
|
+
*/
|
|
35
|
+
export function validateOpenCodeMetadata(metadata) {
|
|
36
|
+
if (!metadata || typeof metadata !== 'object') {
|
|
37
|
+
throw new Error('Metadata must be an object');
|
|
38
|
+
}
|
|
39
|
+
const m = metadata;
|
|
40
|
+
if (!m.storagePath || typeof m.storagePath !== 'string') {
|
|
41
|
+
throw new Error('Missing or invalid storagePath in metadata');
|
|
42
|
+
}
|
|
43
|
+
if (!m.openCodeSessionId || typeof m.openCodeSessionId !== 'string') {
|
|
44
|
+
throw new Error('Missing or invalid openCodeSessionId in metadata');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if metadata has OpenCode-specific fields (non-throwing version)
|
|
49
|
+
*/
|
|
50
|
+
export function hasOpenCodeMetadata(metadata) {
|
|
51
|
+
if (!metadata || typeof metadata !== 'object')
|
|
52
|
+
return false;
|
|
53
|
+
const m = metadata;
|
|
54
|
+
return (typeof m.storagePath === 'string' &&
|
|
55
|
+
m.storagePath.length > 0 &&
|
|
56
|
+
typeof m.openCodeSessionId === 'string' &&
|
|
57
|
+
m.openCodeSessionId.length > 0);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=opencode-message-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-message-types.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-message-types.ts"],"names":[],"mappings":"AA8FA;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAoB;IACrD,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;AAClC,CAAC;AA0GD,iCAAiC;AACjC,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAkB;IAC3C,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAkB;IAChD,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAkB;IAC5C,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAkB;IAChD,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AACpC,CAAC;AAmBD;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAiB;IAEjB,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,GAAG,QAAmC,CAAC;IAC9C,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAiB;IACnD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,CAAC,GAAG,QAAmC,CAAC;IAC9C,OAAO,CACL,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACxB,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ;QACvC,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model configuration for OpenCode agent
|
|
3
|
+
* Uses OpenCode's native format for direct injection
|
|
4
|
+
*/
|
|
5
|
+
export interface OpenCodeModelConfig {
|
|
6
|
+
/** Model identifier (OpenCode format: id) */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Model name (OpenCode format: name) */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Display name for UI (CodeMie extension) */
|
|
11
|
+
displayName?: string;
|
|
12
|
+
/** Model family (e.g., "gpt-5", "claude-4") */
|
|
13
|
+
family: string;
|
|
14
|
+
/** Tool calling support (OpenCode format: tool_call) */
|
|
15
|
+
tool_call: boolean;
|
|
16
|
+
/** Reasoning capability (OpenCode format: reasoning) */
|
|
17
|
+
reasoning: boolean;
|
|
18
|
+
/** Attachment support */
|
|
19
|
+
attachment: boolean;
|
|
20
|
+
/** Temperature control availability */
|
|
21
|
+
temperature: boolean;
|
|
22
|
+
/** Structured output support (OpenCode format: structured_output) */
|
|
23
|
+
structured_output?: boolean;
|
|
24
|
+
/** Modality support */
|
|
25
|
+
modalities: {
|
|
26
|
+
input: string[];
|
|
27
|
+
output: string[];
|
|
28
|
+
};
|
|
29
|
+
/** Knowledge cutoff date (YYYY-MM-DD) */
|
|
30
|
+
knowledge: string;
|
|
31
|
+
/** Release date (YYYY-MM-DD) */
|
|
32
|
+
release_date: string;
|
|
33
|
+
/** Last updated date (YYYY-MM-DD) */
|
|
34
|
+
last_updated: string;
|
|
35
|
+
/** Whether model has open weights */
|
|
36
|
+
open_weights: boolean;
|
|
37
|
+
/** Pricing information (USD per million tokens) */
|
|
38
|
+
cost: {
|
|
39
|
+
input: number;
|
|
40
|
+
output: number;
|
|
41
|
+
cache_read?: number;
|
|
42
|
+
};
|
|
43
|
+
/** Model limits */
|
|
44
|
+
limit: {
|
|
45
|
+
context: number;
|
|
46
|
+
output: number;
|
|
47
|
+
};
|
|
48
|
+
/** Provider-specific options (CodeMie extension) */
|
|
49
|
+
providerOptions?: {
|
|
50
|
+
headers?: Record<string, string>;
|
|
51
|
+
timeout?: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export declare const OPENCODE_MODEL_CONFIGS: Record<string, OpenCodeModelConfig>;
|
|
55
|
+
/**
|
|
56
|
+
* Get model configuration with fallback for unknown models
|
|
57
|
+
*
|
|
58
|
+
* @param modelId - Model identifier (e.g., 'gpt-5-2-2025-12-11')
|
|
59
|
+
* @returns Model configuration in OpenCode format
|
|
60
|
+
*
|
|
61
|
+
* Note: The returned config is used directly in OPENCODE_CONFIG_CONTENT
|
|
62
|
+
* defaults.model = "<provider>/<modelId>" (e.g., "codemie-proxy/gpt-5-2-2025-12-11")
|
|
63
|
+
*/
|
|
64
|
+
export declare function getModelConfig(modelId: string): OpenCodeModelConfig;
|
|
65
|
+
//# sourceMappingURL=opencode-model-configs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-model-configs.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-model-configs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB;IACvB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,mBAAmB;IACnB,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oDAAoD;IACpD,eAAe,CAAC,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CA0ItE,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAoCnE"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
export const OPENCODE_MODEL_CONFIGS = {
|
|
2
|
+
'gpt-5-2-2025-12-11': {
|
|
3
|
+
id: 'gpt-5-2-2025-12-11',
|
|
4
|
+
name: 'gpt-5-2-2025-12-11',
|
|
5
|
+
displayName: 'GPT-5.2 (Dec 2025)',
|
|
6
|
+
family: 'gpt-5',
|
|
7
|
+
tool_call: true,
|
|
8
|
+
reasoning: true,
|
|
9
|
+
attachment: true,
|
|
10
|
+
temperature: false,
|
|
11
|
+
modalities: {
|
|
12
|
+
input: ['text', 'image'],
|
|
13
|
+
output: ['text']
|
|
14
|
+
},
|
|
15
|
+
knowledge: '2025-08-31',
|
|
16
|
+
release_date: '2025-12-11',
|
|
17
|
+
last_updated: '2025-12-11',
|
|
18
|
+
open_weights: false,
|
|
19
|
+
cost: {
|
|
20
|
+
input: 1.75,
|
|
21
|
+
output: 14,
|
|
22
|
+
cache_read: 0.125
|
|
23
|
+
},
|
|
24
|
+
limit: {
|
|
25
|
+
context: 400000,
|
|
26
|
+
output: 128000
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
'gpt-5.1-codex': {
|
|
30
|
+
id: 'gpt-5.1-codex',
|
|
31
|
+
name: 'GPT-5.1 Codex',
|
|
32
|
+
displayName: 'GPT-5.1 Codex',
|
|
33
|
+
family: 'gpt-5-codex',
|
|
34
|
+
tool_call: true,
|
|
35
|
+
reasoning: true,
|
|
36
|
+
attachment: false,
|
|
37
|
+
temperature: false,
|
|
38
|
+
modalities: {
|
|
39
|
+
input: ['text', 'image', 'audio'],
|
|
40
|
+
output: ['text', 'image', 'audio']
|
|
41
|
+
},
|
|
42
|
+
knowledge: '2024-09-30',
|
|
43
|
+
release_date: '2025-11-14',
|
|
44
|
+
last_updated: '2025-11-14',
|
|
45
|
+
open_weights: false,
|
|
46
|
+
cost: {
|
|
47
|
+
input: 1.25,
|
|
48
|
+
output: 10,
|
|
49
|
+
cache_read: 0.125
|
|
50
|
+
},
|
|
51
|
+
limit: {
|
|
52
|
+
context: 400000,
|
|
53
|
+
output: 128000
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
'gpt-5.1-codex-mini': {
|
|
57
|
+
id: 'gpt-5.1-codex-mini',
|
|
58
|
+
name: 'GPT-5.1 Codex Mini',
|
|
59
|
+
displayName: 'GPT-5.1 Codex Mini',
|
|
60
|
+
family: 'gpt-5-codex-mini',
|
|
61
|
+
tool_call: true,
|
|
62
|
+
reasoning: true,
|
|
63
|
+
attachment: false,
|
|
64
|
+
temperature: false,
|
|
65
|
+
modalities: {
|
|
66
|
+
input: ['text', 'image'],
|
|
67
|
+
output: ['text']
|
|
68
|
+
},
|
|
69
|
+
knowledge: '2024-09-30',
|
|
70
|
+
release_date: '2025-11-14',
|
|
71
|
+
last_updated: '2025-11-14',
|
|
72
|
+
open_weights: false,
|
|
73
|
+
cost: {
|
|
74
|
+
input: 0.25,
|
|
75
|
+
output: 2,
|
|
76
|
+
cache_read: 0.025
|
|
77
|
+
},
|
|
78
|
+
limit: {
|
|
79
|
+
context: 400000,
|
|
80
|
+
output: 128000
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
'gpt-5.1-codex-max': {
|
|
84
|
+
id: 'gpt-5.1-codex-max',
|
|
85
|
+
name: 'GPT-5.1 Codex Max',
|
|
86
|
+
displayName: 'GPT-5.1 Codex Max',
|
|
87
|
+
family: 'gpt-5-codex-max',
|
|
88
|
+
tool_call: true,
|
|
89
|
+
reasoning: true,
|
|
90
|
+
attachment: true,
|
|
91
|
+
structured_output: true,
|
|
92
|
+
temperature: false,
|
|
93
|
+
modalities: {
|
|
94
|
+
input: ['text', 'image'],
|
|
95
|
+
output: ['text']
|
|
96
|
+
},
|
|
97
|
+
knowledge: '2024-09-30',
|
|
98
|
+
release_date: '2025-11-13',
|
|
99
|
+
last_updated: '2025-11-13',
|
|
100
|
+
open_weights: false,
|
|
101
|
+
cost: {
|
|
102
|
+
input: 1.25,
|
|
103
|
+
output: 10,
|
|
104
|
+
cache_read: 0.125
|
|
105
|
+
},
|
|
106
|
+
limit: {
|
|
107
|
+
context: 400000,
|
|
108
|
+
output: 128000
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
'gpt-5.2-chat': {
|
|
112
|
+
id: 'gpt-5.2-chat',
|
|
113
|
+
name: 'GPT-5.2 Chat',
|
|
114
|
+
displayName: 'GPT-5.2 Chat',
|
|
115
|
+
family: 'gpt-5-chat',
|
|
116
|
+
tool_call: true,
|
|
117
|
+
reasoning: true,
|
|
118
|
+
attachment: true,
|
|
119
|
+
structured_output: true,
|
|
120
|
+
temperature: false,
|
|
121
|
+
modalities: {
|
|
122
|
+
input: ['text', 'image'],
|
|
123
|
+
output: ['text']
|
|
124
|
+
},
|
|
125
|
+
knowledge: '2025-08-31',
|
|
126
|
+
release_date: '2025-12-11',
|
|
127
|
+
last_updated: '2025-12-11',
|
|
128
|
+
open_weights: false,
|
|
129
|
+
cost: {
|
|
130
|
+
input: 1.75,
|
|
131
|
+
output: 14,
|
|
132
|
+
cache_read: 0.175
|
|
133
|
+
},
|
|
134
|
+
limit: {
|
|
135
|
+
context: 128000,
|
|
136
|
+
output: 16384
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Get model configuration with fallback for unknown models
|
|
142
|
+
*
|
|
143
|
+
* @param modelId - Model identifier (e.g., 'gpt-5-2-2025-12-11')
|
|
144
|
+
* @returns Model configuration in OpenCode format
|
|
145
|
+
*
|
|
146
|
+
* Note: The returned config is used directly in OPENCODE_CONFIG_CONTENT
|
|
147
|
+
* defaults.model = "<provider>/<modelId>" (e.g., "codemie-proxy/gpt-5-2-2025-12-11")
|
|
148
|
+
*/
|
|
149
|
+
export function getModelConfig(modelId) {
|
|
150
|
+
const config = OPENCODE_MODEL_CONFIGS[modelId];
|
|
151
|
+
if (config) {
|
|
152
|
+
return config;
|
|
153
|
+
}
|
|
154
|
+
// Fallback for unknown models - create minimal OpenCode-compatible config
|
|
155
|
+
// Extract family from model ID (e.g., "gpt-4o" -> "gpt-4")
|
|
156
|
+
const family = modelId.split('-').slice(0, 2).join('-') || modelId;
|
|
157
|
+
return {
|
|
158
|
+
id: modelId,
|
|
159
|
+
name: modelId,
|
|
160
|
+
displayName: modelId,
|
|
161
|
+
family,
|
|
162
|
+
tool_call: true, // Assume tool support
|
|
163
|
+
reasoning: false, // Conservative default
|
|
164
|
+
attachment: false,
|
|
165
|
+
temperature: true,
|
|
166
|
+
modalities: {
|
|
167
|
+
input: ['text'],
|
|
168
|
+
output: ['text']
|
|
169
|
+
},
|
|
170
|
+
knowledge: new Date().toISOString().split('T')[0], // Use current date
|
|
171
|
+
release_date: new Date().toISOString().split('T')[0],
|
|
172
|
+
last_updated: new Date().toISOString().split('T')[0],
|
|
173
|
+
open_weights: false,
|
|
174
|
+
cost: {
|
|
175
|
+
input: 0,
|
|
176
|
+
output: 0
|
|
177
|
+
},
|
|
178
|
+
limit: {
|
|
179
|
+
context: 128000,
|
|
180
|
+
output: 4096
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=opencode-model-configs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode-model-configs.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode-model-configs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage layout detection result
|
|
3
|
+
* Per tech spec ADR-2
|
|
4
|
+
*/
|
|
5
|
+
export interface StorageLayoutResult {
|
|
6
|
+
layout: 'post-migration' | 'legacy' | 'mixed' | 'unknown';
|
|
7
|
+
migrationVersion: number;
|
|
8
|
+
postMigrationPath?: string;
|
|
9
|
+
legacyPaths?: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Detect OpenCode storage layout (post-migration vs legacy)
|
|
13
|
+
*
|
|
14
|
+
* Per tech spec ADR-2:
|
|
15
|
+
* - Post-migration: storage/session/, storage/message/, storage/part/
|
|
16
|
+
* - Legacy: project/{projectDir}/storage/session/info/
|
|
17
|
+
* - Migration file: plain text numeric version (not JSON)
|
|
18
|
+
*/
|
|
19
|
+
export declare function detectStorageLayout(storagePath: string): Promise<StorageLayoutResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Get OpenCode storage root path based on platform
|
|
22
|
+
*
|
|
23
|
+
* OpenCode uses XDG conventions for data storage:
|
|
24
|
+
* - Linux/WSL: ~/.local/share/opencode/storage/
|
|
25
|
+
* - macOS: ~/Library/Application Support/opencode/storage/
|
|
26
|
+
* - Windows: %LOCALAPPDATA%/opencode/storage/
|
|
27
|
+
*
|
|
28
|
+
* @returns Path to storage root directory or null if not found
|
|
29
|
+
*/
|
|
30
|
+
export declare function getOpenCodeStoragePath(): string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Get OpenCode sessions directory path
|
|
33
|
+
* Sessions are stored at: storage/session/{projectID}/{sessionID}.json
|
|
34
|
+
*
|
|
35
|
+
* @returns Path to sessions directory or null if storage not found
|
|
36
|
+
*/
|
|
37
|
+
export declare function getOpenCodeSessionsPath(): string | null;
|
|
38
|
+
/**
|
|
39
|
+
* Get OpenCode messages directory path
|
|
40
|
+
* Messages are stored at: storage/message/{sessionID}/{messageID}.json
|
|
41
|
+
*
|
|
42
|
+
* @returns Path to messages directory or null if storage not found
|
|
43
|
+
*/
|
|
44
|
+
export declare function getOpenCodeMessagesPath(): string | null;
|
|
45
|
+
/**
|
|
46
|
+
* Get OpenCode parts directory path
|
|
47
|
+
* Parts are stored at: storage/part/{messageID}/{partID}.json
|
|
48
|
+
*
|
|
49
|
+
* @returns Path to parts directory or null if storage not found
|
|
50
|
+
*/
|
|
51
|
+
export declare function getOpenCodePartsPath(): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Get OpenCode home directory (~/.opencode)
|
|
54
|
+
*/
|
|
55
|
+
export declare function getOpenCodeHome(): string;
|
|
56
|
+
/**
|
|
57
|
+
* Get OpenCode config directory
|
|
58
|
+
*/
|
|
59
|
+
export declare function getOpenCodeConfigDir(): string;
|
|
60
|
+
/** @deprecated Use getOpenCodeStoragePath() instead */
|
|
61
|
+
export declare const getSessionStoragePath: typeof getOpenCodeStoragePath;
|
|
62
|
+
//# sourceMappingURL=opencode.paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.paths.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.paths.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1D,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyC3F;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CA8BtD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAKvD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAKpD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAK7C;AAGD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,+BAAyB,CAAC"}
|