@codemieai/code 0.10.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  2. package/dist/agents/core/AgentCLI.js +11 -3
  3. package/dist/agents/core/AgentCLI.js.map +1 -1
  4. package/dist/agents/core/BaseAgentAdapter.d.ts +3 -1
  5. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  6. package/dist/agents/core/BaseAgentAdapter.js +34 -2
  7. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  8. package/dist/agents/core/config-redaction.d.ts +7 -0
  9. package/dist/agents/core/config-redaction.d.ts.map +1 -0
  10. package/dist/agents/core/config-redaction.js +20 -0
  11. package/dist/agents/core/config-redaction.js.map +1 -0
  12. package/dist/agents/core/print-config.d.ts +8 -0
  13. package/dist/agents/core/print-config.d.ts.map +1 -0
  14. package/dist/agents/core/print-config.js +17 -0
  15. package/dist/agents/core/print-config.js.map +1 -0
  16. package/dist/agents/core/session/BaseSessionAdapter.d.ts +5 -1
  17. package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
  18. package/dist/agents/core/types.d.ts +34 -4
  19. package/dist/agents/core/types.d.ts.map +1 -1
  20. package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
  21. package/dist/agents/plugins/claude/claude.plugin.js +73 -0
  22. package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
  23. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
  24. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +115 -32
  25. package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
  26. package/dist/agents/plugins/claude/settings-conflict.d.ts +8 -0
  27. package/dist/agents/plugins/claude/settings-conflict.d.ts.map +1 -0
  28. package/dist/agents/plugins/claude/settings-conflict.js +35 -0
  29. package/dist/agents/plugins/claude/settings-conflict.js.map +1 -0
  30. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts +14 -2
  31. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.d.ts.map +1 -1
  32. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js +218 -263
  33. package/dist/agents/plugins/codemie-code-hooks/shell-hooks-source.js.map +1 -1
  34. package/dist/agents/plugins/opencode/opencode-message-types.d.ts +13 -0
  35. package/dist/agents/plugins/opencode/opencode-message-types.d.ts.map +1 -1
  36. package/dist/agents/plugins/opencode/opencode-message-types.js.map +1 -1
  37. package/dist/agents/plugins/opencode/opencode.incremental-sync.d.ts +38 -0
  38. package/dist/agents/plugins/opencode/opencode.incremental-sync.d.ts.map +1 -0
  39. package/dist/agents/plugins/opencode/opencode.incremental-sync.js +153 -0
  40. package/dist/agents/plugins/opencode/opencode.incremental-sync.js.map +1 -0
  41. package/dist/agents/plugins/opencode/opencode.paths.d.ts +18 -2
  42. package/dist/agents/plugins/opencode/opencode.paths.d.ts.map +1 -1
  43. package/dist/agents/plugins/opencode/opencode.paths.js +39 -6
  44. package/dist/agents/plugins/opencode/opencode.paths.js.map +1 -1
  45. package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
  46. package/dist/agents/plugins/opencode/opencode.plugin.js +241 -75
  47. package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
  48. package/dist/agents/plugins/opencode/opencode.session.d.ts +18 -1
  49. package/dist/agents/plugins/opencode/opencode.session.d.ts.map +1 -1
  50. package/dist/agents/plugins/opencode/opencode.session.js +58 -17
  51. package/dist/agents/plugins/opencode/opencode.session.js.map +1 -1
  52. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts +8 -2
  53. package/dist/agents/plugins/opencode/opencode.sqlite-reader.d.ts.map +1 -1
  54. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js +67 -42
  55. package/dist/agents/plugins/opencode/opencode.sqlite-reader.js.map +1 -1
  56. package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts +19 -0
  57. package/dist/agents/plugins/opencode/opencode.storage-utils.d.ts.map +1 -1
  58. package/dist/agents/plugins/opencode/opencode.storage-utils.js +51 -0
  59. package/dist/agents/plugins/opencode/opencode.storage-utils.js.map +1 -1
  60. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts +13 -19
  61. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.d.ts.map +1 -1
  62. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js +339 -82
  63. package/dist/agents/plugins/opencode/session/processors/opencode.conversations-processor.js.map +1 -1
  64. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts +37 -33
  65. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.d.ts.map +1 -1
  66. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js +204 -246
  67. package/dist/agents/plugins/opencode/session/processors/opencode.metrics-processor.js.map +1 -1
  68. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  69. package/dist/cli/commands/proxy/connectors/desktop.js +6 -0
  70. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  71. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +1 -0
  72. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
  73. package/dist/cli/commands/proxy/connectors/vscode-models.js +36 -12
  74. package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
  75. package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
  76. package/dist/cli/commands/proxy/connectors/vscode.js +3 -0
  77. package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
  78. package/dist/cli/commands/proxy/health-check.d.ts.map +1 -1
  79. package/dist/cli/commands/proxy/health-check.js +9 -0
  80. package/dist/cli/commands/proxy/health-check.js.map +1 -1
  81. package/dist/cli/commands/setup.d.ts +31 -0
  82. package/dist/cli/commands/setup.d.ts.map +1 -1
  83. package/dist/cli/commands/setup.js +137 -45
  84. package/dist/cli/commands/setup.js.map +1 -1
  85. package/dist/providers/core/types.d.ts +12 -1
  86. package/dist/providers/core/types.d.ts.map +1 -1
  87. package/dist/providers/core/types.js.map +1 -1
  88. package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -1
  89. package/dist/providers/plugins/bedrock/bedrock.template.js +21 -2
  90. package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -1
  91. package/dist/providers/plugins/litellm/litellm.setup-steps.d.ts.map +1 -1
  92. package/dist/providers/plugins/litellm/litellm.setup-steps.js +21 -5
  93. package/dist/providers/plugins/litellm/litellm.setup-steps.js.map +1 -1
  94. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts +7 -6
  95. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.d.ts.map +1 -1
  96. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js +13 -7
  97. package/dist/providers/plugins/sso/proxy/plugins/codex-encrypted-content-sanitizer.plugin.js.map +1 -1
  98. package/dist/providers/plugins/sso/proxy/plugins/index.js +1 -1
  99. package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
  100. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +3 -0
  101. package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
  102. package/dist/utils/config.d.ts +6 -2
  103. package/dist/utils/config.d.ts.map +1 -1
  104. package/dist/utils/config.js +30 -8
  105. package/dist/utils/config.js.map +1 -1
  106. package/dist/utils/extensions-scan.d.ts.map +1 -1
  107. package/dist/utils/extensions-scan.js +59 -22
  108. package/dist/utils/extensions-scan.js.map +1 -1
  109. package/dist/utils/mcp-config.d.ts.map +1 -1
  110. package/dist/utils/mcp-config.js +11 -6
  111. package/dist/utils/mcp-config.js.map +1 -1
  112. package/package.json +1 -1
@@ -0,0 +1,38 @@
1
+ /**
2
+ * OpenCode Incremental Sync Timer
3
+ *
4
+ * In-process timer that periodically re-parses the active OpenCode session and
5
+ * writes new metric deltas + conversation payloads to JSONL, then uploads
6
+ * anything still PENDING via SessionSyncer.
7
+ *
8
+ * Why this exists: turn boundaries are reported by the injected shell-hooks
9
+ * plugin, which can fail to load, be filtered out by OpenCode's per-directory
10
+ * event routing, or be disabled entirely. Everything the timer needs is already
11
+ * durable in opencode.db, so this path keeps metrics and conversations flowing
12
+ * even when no hook ever fires — only active_duration_ms depends on the hooks.
13
+ *
14
+ * Mirrors codex.incremental-sync.ts.
15
+ */
16
+ import type { AgentMetadata } from '../../core/types.js';
17
+ import type { ProcessingContext } from '../../core/session/BaseProcessor.js';
18
+ export interface StartOpenCodeIncrementalSyncOptions {
19
+ /** CodeMie session id (file naming key). */
20
+ sessionId: string;
21
+ /** ms-since-epoch lower bound used to ignore stale sessions. */
22
+ startedAt: number;
23
+ /** Working directory to match the OpenCode session's directory against. */
24
+ cwd: string;
25
+ /** OpenCode agent metadata (passed straight to OpenCodeSessionAdapter). */
26
+ metadata: AgentMetadata;
27
+ /** Builds a fresh ProcessingContext on each tick (cookies/version may rotate). */
28
+ buildContext: () => ProcessingContext;
29
+ /** CodeMie SSO URL used to load stored credentials (e.g. env.CODEMIE_URL). */
30
+ ssoUrl?: string;
31
+ /** Sync API base URL for the upload context (env.CODEMIE_SYNC_API_URL ?? env.CODEMIE_BASE_URL). */
32
+ syncApiUrl?: string;
33
+ /** CLI version string forwarded to the upload context. */
34
+ cliVersion?: string;
35
+ }
36
+ export declare function startOpenCodeIncrementalSync(options: StartOpenCodeIncrementalSyncOptions): void;
37
+ export declare function stopOpenCodeIncrementalSync(sessionId: string): void;
38
+ //# sourceMappingURL=opencode.incremental-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.incremental-sync.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.incremental-sync.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAI7E,MAAM,WAAW,mCAAmC;IAClD,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,QAAQ,EAAE,aAAa,CAAC;IACxB,kFAAkF;IAClF,YAAY,EAAE,MAAM,iBAAiB,CAAC;IACtC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,mCAAmC,GAAG,IAAI,CAiG/F;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAQnE"}
@@ -0,0 +1,153 @@
1
+ // src/agents/plugins/opencode/opencode.incremental-sync.ts
2
+ /**
3
+ * OpenCode Incremental Sync Timer
4
+ *
5
+ * In-process timer that periodically re-parses the active OpenCode session and
6
+ * writes new metric deltas + conversation payloads to JSONL, then uploads
7
+ * anything still PENDING via SessionSyncer.
8
+ *
9
+ * Why this exists: turn boundaries are reported by the injected shell-hooks
10
+ * plugin, which can fail to load, be filtered out by OpenCode's per-directory
11
+ * event routing, or be disabled entirely. Everything the timer needs is already
12
+ * durable in opencode.db, so this path keeps metrics and conversations flowing
13
+ * even when no hook ever fires — only active_duration_ms depends on the hooks.
14
+ *
15
+ * Mirrors codex.incremental-sync.ts.
16
+ */
17
+ import { realpath as fsRealpath } from 'fs/promises';
18
+ import { OpenCodeSessionAdapter } from './opencode.session.js';
19
+ import { logger } from '../../../utils/logger.js';
20
+ /**
21
+ * 60s rather than Codex's 30s: the Stop hook and this timer both write
22
+ * {id}_metrics.jsonl, and MetricsSyncProcessor rewrites that file atomically
23
+ * while MetricsWriter appends to it. A slower tick narrows the window in which
24
+ * an appended delta can be lost to an interleaved rewrite.
25
+ */
26
+ const DEFAULT_INTERVAL_MS = 60_000;
27
+ /** Lower bound for the override, so a bad value cannot spin on the live DB. */
28
+ const MIN_INTERVAL_MS = 5_000;
29
+ const STARTED_AT_GRACE_MS = 10_000;
30
+ const activeTimers = new Map();
31
+ const tickInFlight = new Map();
32
+ export function startOpenCodeIncrementalSync(options) {
33
+ if (process.env.CODEMIE_OPENCODE_SYNC_ENABLED === 'false') {
34
+ logger.debug('[opencode-incremental-sync] Disabled by CODEMIE_OPENCODE_SYNC_ENABLED=false');
35
+ return;
36
+ }
37
+ if (activeTimers.has(options.sessionId)) {
38
+ logger.debug(`[opencode-incremental-sync] Already running for session ${options.sessionId}`);
39
+ return;
40
+ }
41
+ // Floor the interval: every tick re-parses the user's live SQLite DB, so a
42
+ // small or negative override (setInterval clamps <1 to 1ms) would spin on it.
43
+ const intervalMs = Math.max(MIN_INTERVAL_MS, Number(process.env.CODEMIE_OPENCODE_SYNC_INTERVAL_MS) || DEFAULT_INTERVAL_MS);
44
+ const tick = async () => {
45
+ if (tickInFlight.get(options.sessionId))
46
+ return;
47
+ tickInFlight.set(options.sessionId, true);
48
+ try {
49
+ const adapter = new OpenCodeSessionAdapter(options.metadata);
50
+ // cwd is pushed into the SQL predicate, so this never scans other repos'
51
+ // sessions out of the user's shared opencode.db.
52
+ const sessions = await adapter.discoverSessions({
53
+ maxAgeDays: 1,
54
+ limit: 10,
55
+ cwd: options.cwd,
56
+ });
57
+ if (sessions.length === 0)
58
+ return;
59
+ const cwdReal = await safeRealpath(options.cwd);
60
+ for (const descriptor of sessions) {
61
+ if (descriptor.createdAt < options.startedAt - STARTED_AT_GRACE_MS)
62
+ continue;
63
+ const projectPath = descriptor.projectPath;
64
+ if (!projectPath)
65
+ continue;
66
+ if ((await safeRealpath(projectPath)) !== cwdReal)
67
+ continue;
68
+ try {
69
+ const result = await adapter.processSession(descriptor.filePath, options.sessionId, { ...options.buildContext(), agentSessionId: descriptor.sessionId });
70
+ logger.debug(`[opencode-incremental-sync] tick ok session=${options.sessionId} records=${result.totalRecords}`);
71
+ }
72
+ catch (error) {
73
+ logger.error('[opencode-incremental-sync] processSession failed:', error);
74
+ }
75
+ if (options.ssoUrl && options.syncApiUrl) {
76
+ try {
77
+ const uploadContext = await buildUploadContext(options.sessionId, options.ssoUrl, options.syncApiUrl, options.cliVersion);
78
+ if (uploadContext) {
79
+ const { SessionSyncer } = await import('../../../providers/plugins/sso/session/SessionSyncer.js');
80
+ const syncer = new SessionSyncer();
81
+ const syncResult = await syncer.sync(options.sessionId, uploadContext);
82
+ logger.debug(`[opencode-incremental-sync] upload ${syncResult.success ? 'ok' : 'partial'}: ${syncResult.message}`);
83
+ }
84
+ }
85
+ catch (error) {
86
+ logger.error('[opencode-incremental-sync] upload failed:', error);
87
+ }
88
+ }
89
+ return; // Only the most recent matching session per tick.
90
+ }
91
+ }
92
+ catch (error) {
93
+ logger.error('[opencode-incremental-sync] tick failed:', error);
94
+ }
95
+ finally {
96
+ tickInFlight.set(options.sessionId, false);
97
+ }
98
+ };
99
+ const timer = setInterval(() => {
100
+ void tick();
101
+ }, intervalMs);
102
+ // Don't pin the Node event loop alive solely on this timer; if the parent
103
+ // process is otherwise idle we want it to exit cleanly when OpenCode finishes.
104
+ if (typeof timer.unref === 'function') {
105
+ timer.unref();
106
+ }
107
+ activeTimers.set(options.sessionId, timer);
108
+ logger.debug(`[opencode-incremental-sync] Started (session=${options.sessionId}, intervalMs=${intervalMs})`);
109
+ }
110
+ export function stopOpenCodeIncrementalSync(sessionId) {
111
+ const timer = activeTimers.get(sessionId);
112
+ if (!timer)
113
+ return;
114
+ clearInterval(timer);
115
+ activeTimers.delete(sessionId);
116
+ tickInFlight.delete(sessionId);
117
+ logger.debug(`[opencode-incremental-sync] Stopped (session=${sessionId})`);
118
+ }
119
+ async function buildUploadContext(sessionId, ssoUrl, syncApiUrl, version = '0.0.0') {
120
+ try {
121
+ const { CodeMieSSO } = await import('../../../providers/plugins/sso/sso.auth.js');
122
+ const sso = new CodeMieSSO();
123
+ const credentials = await sso.getStoredCredentials(ssoUrl);
124
+ if (!credentials?.cookies) {
125
+ logger.debug('[opencode-incremental-sync] No SSO credentials available, skipping upload');
126
+ return null;
127
+ }
128
+ const cookies = Object.entries(credentials.cookies)
129
+ .map(([k, v]) => `${k}=${v}`)
130
+ .join('; ');
131
+ return {
132
+ apiBaseUrl: syncApiUrl,
133
+ cookies,
134
+ clientType: 'codemie-opencode',
135
+ version,
136
+ dryRun: false,
137
+ sessionId,
138
+ };
139
+ }
140
+ catch (error) {
141
+ logger.debug('[opencode-incremental-sync] Failed to build upload context:', error);
142
+ return null;
143
+ }
144
+ }
145
+ async function safeRealpath(p) {
146
+ try {
147
+ return await fsRealpath(p);
148
+ }
149
+ catch {
150
+ return p;
151
+ }
152
+ }
153
+ //# sourceMappingURL=opencode.incremental-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.incremental-sync.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.incremental-sync.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,19 @@ export declare function detectStorageLayout(storagePath: string): Promise<Storag
34
34
  * @returns Path to storage root directory or null if not found
35
35
  */
36
36
  export declare function getOpenCodeStoragePath(): string | null;
37
+ /**
38
+ * Get OpenCode's data directory (the parent of both `storage/` and `opencode.db`).
39
+ *
40
+ * Unlike getOpenCodeStoragePath() this never gates on existence: a SQLite-only
41
+ * install has no `storage/` subdirectory at all, so gating there would make the
42
+ * database undiscoverable.
43
+ *
44
+ * Priority mirrors getOpenCodeStoragePath():
45
+ * 1. dirname(OPENCODE_STORAGE_PATH)
46
+ * 2. XDG_DATA_HOME/opencode
47
+ * 3. Platform-specific defaults
48
+ */
49
+ export declare function getOpenCodeDataDir(): string;
37
50
  /**
38
51
  * Get OpenCode sessions directory path
39
52
  * Sessions are stored at: storage/session/{projectID}/{sessionID}.json
@@ -66,8 +79,11 @@ export declare function getOpenCodeConfigDir(): string;
66
79
  /**
67
80
  * Get path to OpenCode's SQLite database (opencode.db)
68
81
  *
69
- * The DB lives one level above the storage/ directory:
70
- * ~/.codemie/opencode-storage/opencode/opencode.db
82
+ * The DB is a sibling of the storage/ directory:
83
+ * ~/.local/share/opencode/opencode.db
84
+ *
85
+ * Resolved via getOpenCodeDataDir() rather than getOpenCodeStoragePath() so a
86
+ * SQLite-only install (no storage/ directory) is still discovered.
71
87
  *
72
88
  * @returns Path to opencode.db or null if not found
73
89
  */
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.paths.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.paths.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiD3F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAqCtD;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;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAUjD;AAGD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,+BAAyB,CAAC"}
1
+ {"version":3,"file":"opencode.paths.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.paths.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiD3F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAqCtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAuB3C;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;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAOjD;AAGD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,+BAAyB,CAAC"}
@@ -107,6 +107,39 @@ export function getOpenCodeStoragePath() {
107
107
  }
108
108
  return storagePath;
109
109
  }
110
+ /**
111
+ * Get OpenCode's data directory (the parent of both `storage/` and `opencode.db`).
112
+ *
113
+ * Unlike getOpenCodeStoragePath() this never gates on existence: a SQLite-only
114
+ * install has no `storage/` subdirectory at all, so gating there would make the
115
+ * database undiscoverable.
116
+ *
117
+ * Priority mirrors getOpenCodeStoragePath():
118
+ * 1. dirname(OPENCODE_STORAGE_PATH)
119
+ * 2. XDG_DATA_HOME/opencode
120
+ * 3. Platform-specific defaults
121
+ */
122
+ export function getOpenCodeDataDir() {
123
+ const home = homedir();
124
+ if (process.env.OPENCODE_STORAGE_PATH) {
125
+ return dirname(process.env.OPENCODE_STORAGE_PATH);
126
+ }
127
+ if (process.env.XDG_DATA_HOME) {
128
+ return join(process.env.XDG_DATA_HOME, 'opencode');
129
+ }
130
+ switch (process.platform) {
131
+ case 'darwin':
132
+ return join(home, 'Library', 'Application Support', 'opencode');
133
+ case 'win32': {
134
+ const appData = process.env.LOCALAPPDATA;
135
+ return appData
136
+ ? join(appData, 'opencode')
137
+ : join(home, '.local', 'share', 'opencode');
138
+ }
139
+ default:
140
+ return join(home, '.local', 'share', 'opencode');
141
+ }
142
+ }
110
143
  /**
111
144
  * Get OpenCode sessions directory path
112
145
  * Sessions are stored at: storage/session/{projectID}/{sessionID}.json
@@ -164,16 +197,16 @@ export function getOpenCodeConfigDir() {
164
197
  /**
165
198
  * Get path to OpenCode's SQLite database (opencode.db)
166
199
  *
167
- * The DB lives one level above the storage/ directory:
168
- * ~/.codemie/opencode-storage/opencode/opencode.db
200
+ * The DB is a sibling of the storage/ directory:
201
+ * ~/.local/share/opencode/opencode.db
202
+ *
203
+ * Resolved via getOpenCodeDataDir() rather than getOpenCodeStoragePath() so a
204
+ * SQLite-only install (no storage/ directory) is still discovered.
169
205
  *
170
206
  * @returns Path to opencode.db or null if not found
171
207
  */
172
208
  export function getOpenCodeDbPath() {
173
- const storagePath = getOpenCodeStoragePath();
174
- if (!storagePath)
175
- return null;
176
- const dbPath = join(dirname(storagePath), 'opencode.db');
209
+ const dbPath = join(getOpenCodeDataDir(), 'opencode.db');
177
210
  if (existsSync(dbPath)) {
178
211
  logger.debug(`[opencode-paths] Found SQLite DB: ${dbPath}`);
179
212
  return dbPath;
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.paths.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.paths.js","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.paths.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAU7F,eAAO,MAAM,sBAAsB,EAAE,aAmTpC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD,OAAO,CAAC,cAAc,CAAiB;;IAQvC;;;;;;;;OAQG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBrC;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}
1
+ {"version":3,"file":"opencode.plugin.d.ts","sourceRoot":"","sources":["../../../../src/agents/plugins/opencode/opencode.plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,qBAAqB,CAAC;AAItE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAsF7F,eAAO,MAAM,sBAAsB,EAAE,aAsZpC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD,OAAO,CAAC,cAAc,CAAiB;;IAQvC;;;;;;;;OAQG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBrC;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACH,qBAAqB,IAAI,sBAAsB,GAAG,SAAS;CAG5D"}