@pixelbyte-software/pixcode 1.33.4 → 1.33.6

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/index.html CHANGED
@@ -35,7 +35,7 @@
35
35
 
36
36
  <!-- Prevent zoom on iOS -->
37
37
  <meta name="format-detection" content="telephone=no" />
38
- <script type="module" crossorigin src="/assets/index-D0qriZVb.js"></script>
38
+ <script type="module" crossorigin src="/assets/index-D6ErCuvV.js"></script>
39
39
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-D7WwDXvu.js">
40
40
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CzYAOTxS.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/vendor-xterm-CJZjLICi.js">
@@ -78,19 +78,51 @@ export class OpencodeSessionsProvider {
78
78
  })];
79
79
  }
80
80
  if (raw.type === 'error') {
81
+ // OpenCode `--format json` emits errors as
82
+ // { type:"error", error:{ name, data:{ message, statusCode?, isRetryable? } } }
83
+ // — `error` is always an object wrapper, never a plain string. Older
84
+ // builds put the message at `error.message`; current builds nest it
85
+ // under `error.data.message`. Map known error class names to friendly
86
+ // copy so the user gets actionable text instead of a class identifier.
81
87
  const rawErr = raw.error ?? raw.message;
82
- const content = typeof rawErr === 'string'
83
- ? rawErr
84
- : rawErr && typeof rawErr === 'object'
85
- ? (() => {
86
- try {
87
- return JSON.stringify(rawErr);
88
- }
89
- catch {
90
- return 'Unknown OpenCode streaming error';
91
- }
92
- })()
93
- : 'Unknown OpenCode streaming error';
88
+ const errObj = rawErr && typeof rawErr === 'object' ? rawErr : null;
89
+ const data = errObj && typeof errObj.data === 'object' && errObj.data
90
+ ? errObj.data
91
+ : null;
92
+ const dataMessage = data && typeof data.message === 'string' ? data.message : null;
93
+ const errMessage = errObj && typeof errObj.message === 'string' ? errObj.message : null;
94
+ const errName = errObj && typeof errObj.name === 'string' ? errObj.name : null;
95
+ const statusCode = data && typeof data.statusCode === 'number' ? data.statusCode : null;
96
+ let content;
97
+ if (typeof rawErr === 'string') {
98
+ content = rawErr;
99
+ }
100
+ else if (dataMessage) {
101
+ content = dataMessage;
102
+ }
103
+ else if (errMessage) {
104
+ content = errMessage;
105
+ }
106
+ else if (errName) {
107
+ const friendly = {
108
+ ProviderModelNotFoundError: 'Model not found. Open Settings → Agents → OpenCode and pick a model from the live catalog (or run `opencode models --refresh`).',
109
+ ProviderInitError: 'OpenCode provider config is invalid. Try `opencode auth login` or remove `~/.local/share/opencode/auth.json` and re-authenticate.',
110
+ MessageOutputLengthError: 'OpenCode response was truncated by the model output cap. Try shortening the prompt or pick a model with a larger output limit.',
111
+ AI_APICallError: 'OpenCode upstream API call failed. Clearing `~/.cache/opencode` and retrying usually fixes this.',
112
+ APIError: statusCode === 429
113
+ ? 'OpenCode hit a rate limit (429). Wait a few seconds and try again, or switch to a different model.'
114
+ : 'OpenCode upstream API error.',
115
+ };
116
+ content = friendly[errName] ?? errName;
117
+ }
118
+ else {
119
+ try {
120
+ content = JSON.stringify(rawErr);
121
+ }
122
+ catch {
123
+ content = 'Unknown OpenCode streaming error';
124
+ }
125
+ }
94
126
  return [createNormalizedMessage({
95
127
  id: baseId,
96
128
  sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-sessions.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/opencode/opencode-sessions.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-sessions.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/opencode/opencode-sessions.provider.ts"],"names":[],"mappings":"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"}
@@ -250,16 +250,32 @@ async function spawnOpencode(command, options = {}, ws) {
250
250
  }
251
251
  });
252
252
  opencodeProcess.stderr.on('data', (data) => {
253
- const errorMsg = data.toString();
253
+ const rawMsg = data.toString();
254
254
  // Suppress known cosmetic noise.
255
- if (errorMsg.includes('[DEP0040]') ||
256
- errorMsg.includes('DeprecationWarning') ||
257
- errorMsg.includes('--trace-deprecation') ||
258
- errorMsg.includes('punycode')) {
255
+ if (rawMsg.includes('[DEP0040]') ||
256
+ rawMsg.includes('DeprecationWarning') ||
257
+ rawMsg.includes('--trace-deprecation') ||
258
+ rawMsg.includes('punycode')) {
259
259
  return;
260
260
  }
261
+ // Pre-stream validation errors land on stderr as plain text BEFORE
262
+ // the JSON event stream opens (e.g. "Model must be in the format
263
+ // provider/model"). Map the common ones to actionable copy.
264
+ let friendly = rawMsg.trim();
265
+ if (/Model must be in the format/i.test(friendly)) {
266
+ friendly = 'Model id must use the `provider/model` format (e.g. `opencode/big-pickle` or `anthropic/claude-sonnet-4-5`). Pick one from Settings → Agents → OpenCode → Model.';
267
+ }
268
+ else if (/ProviderModelNotFoundError/.test(friendly)) {
269
+ friendly = 'OpenCode does not recognize the selected model. Run `opencode models --refresh` or pick a different model from the picker.';
270
+ }
271
+ else if (/ProviderInitError/.test(friendly)) {
272
+ friendly = 'OpenCode provider config is invalid. Try `opencode auth login`, or clear `~/.local/share/opencode/auth.json` and re-authenticate.';
273
+ }
274
+ else if (/AI_APICallError/.test(friendly)) {
275
+ friendly = 'OpenCode upstream call failed. Clearing `~/.cache/opencode` and retrying usually resolves this.';
276
+ }
261
277
  const socketSessionId = typeof ws.getSessionId === 'function' ? ws.getSessionId() : (capturedSessionId || sessionId);
262
- ws.send(createNormalizedMessage({ kind: 'error', content: errorMsg, sessionId: socketSessionId, provider: 'opencode' }));
278
+ ws.send(createNormalizedMessage({ kind: 'error', content: friendly, sessionId: socketSessionId, provider: 'opencode' }));
263
279
  });
264
280
  opencodeProcess.on('close', async (code) => {
265
281
  clearTimeout(timeout);
@@ -311,9 +327,12 @@ async function spawnOpencode(command, options = {}, ws) {
311
327
  const installed = await providerAuthService.isProviderInstalled('opencode');
312
328
  const errorContent = !installed
313
329
  ? 'OpenCode CLI is not installed. Install it from the Settings → Agents → OpenCode tab, or run: npm install -g opencode-ai'
314
- : error.message;
330
+ : (error?.message || String(error));
315
331
  const errorSessionId = typeof ws.getSessionId === 'function' ? ws.getSessionId() : finalSessionId;
316
332
  ws.send(createNormalizedMessage({ kind: 'error', content: errorContent, sessionId: errorSessionId, provider: 'opencode' }));
333
+ // Always emit `complete` so the UI's "Processing..." state clears
334
+ // even when spawn fails (ENOENT, EACCES) and `close` never fires.
335
+ ws.send(createNormalizedMessage({ kind: 'complete', exitCode: 1, isNewSession: !sessionId && !!command, sessionId: errorSessionId, provider: 'opencode' }));
317
336
  notifyTerminalState({ error });
318
337
  reject(error);
319
338
  });
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-cli.js","sourceRoot":"","sources":["../../server/opencode-cli.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-cli.js","sourceRoot":"","sources":["../../server/opencode-cli.js"],"names":[],"mappings":"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"}
@@ -42,9 +42,15 @@ class OpencodeResponseHandler {
42
42
  this.onInit(event);
43
43
  return;
44
44
  }
45
- // OpenCode emits both `message` events and `part` events that compose
46
- // a single assistant turn. We handle whichever shape lands.
47
- if (event.type === 'message' && event.role === 'assistant') {
45
+ // OpenCode emits assistant text as either a top-level `text` event
46
+ // (current `--format json` shape: `{ type: "text", part: { text } }`)
47
+ // or as `message`/`part` legacy shapes from earlier builds. Cover all
48
+ // three so we don't drop tokens on a CLI version we haven't matched.
49
+ if (event.type === 'text' && event.part && typeof event.part.text === 'string') {
50
+ if (this.onContentFragment && event.part.text)
51
+ this.onContentFragment(event.part.text);
52
+ }
53
+ else if (event.type === 'message' && event.role === 'assistant') {
48
54
  const content = event.content || event.text || '';
49
55
  if (this.onContentFragment && content)
50
56
  this.onContentFragment(content);
@@ -55,19 +61,23 @@ class OpencodeResponseHandler {
55
61
  this.onContentFragment(content);
56
62
  }
57
63
  else if (event.type === 'tool_use' || event.type === 'tool-use' || event.type === 'tool.start') {
64
+ // Tool-use shape on `--format json`: `{ type:"tool_use", part:{ callID, tool, state:{ input } } }`
65
+ const part = event.part || event;
58
66
  if (this.onToolUse)
59
67
  this.onToolUse({
60
- tool_id: event.tool_id || event.id,
61
- tool_name: event.tool_name || event.name,
62
- parameters: event.parameters || event.input || {},
68
+ tool_id: part.callID || part.id || event.tool_id,
69
+ tool_name: part.tool || part.name || event.tool_name,
70
+ parameters: part.state?.input || part.input || event.parameters || {},
63
71
  });
64
72
  }
65
73
  else if (event.type === 'tool_result' || event.type === 'tool-result' || event.type === 'tool.end') {
74
+ const part = event.part || event;
75
+ const state = part.state || {};
66
76
  if (this.onToolResult)
67
77
  this.onToolResult({
68
- tool_id: event.tool_id || event.id,
69
- output: event.output ?? event.result ?? '',
70
- status: event.status || (event.isError ? 'error' : 'ok'),
78
+ tool_id: part.callID || part.id || event.tool_id,
79
+ output: state.output ?? part.output ?? event.output ?? event.result ?? '',
80
+ status: state.status || event.status || (event.isError ? 'error' : 'ok'),
71
81
  });
72
82
  }
73
83
  const normalized = sessionsService.normalizeMessage('opencode', event, sid);
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-response-handler.js","sourceRoot":"","sources":["../../server/opencode-response-handler.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-response-handler.js","sourceRoot":"","sources":["../../server/opencode-response-handler.js"],"names":[],"mappings":"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"}
@@ -626,6 +626,7 @@ async function getProjects(progressCallback = null) {
626
626
  sessions: [],
627
627
  geminiSessions: [],
628
628
  qwenSessions: [],
629
+ opencodeSessions: [],
629
630
  sessionMeta: {
630
631
  hasMore: false,
631
632
  total: 0
@@ -694,6 +695,14 @@ async function getProjects(progressCallback = null) {
694
695
  project.qwenSessions = [];
695
696
  }
696
697
  applyCustomSessionNames(project.qwenSessions, 'qwen');
698
+ try {
699
+ project.opencodeSessions = await getOpencodeCliSessions(actualProjectDir);
700
+ }
701
+ catch (e) {
702
+ console.warn(`Could not load OpenCode sessions for project ${entry.name}:`, e.message);
703
+ project.opencodeSessions = [];
704
+ }
705
+ applyCustomSessionNames(project.opencodeSessions, 'opencode');
697
706
  try {
698
707
  const taskMasterResult = await detectTaskMasterFolder(actualProjectDir);
699
708
  project.taskmaster = {
@@ -753,6 +762,7 @@ async function getProjects(progressCallback = null) {
753
762
  sessions: [],
754
763
  geminiSessions: [],
755
764
  qwenSessions: [],
765
+ opencodeSessions: [],
756
766
  sessionMeta: {
757
767
  hasMore: false,
758
768
  total: 0
@@ -797,6 +807,13 @@ async function getProjects(progressCallback = null) {
797
807
  console.warn(`Could not load Gemini sessions for tracked project ${projectName}:`, e.message);
798
808
  }
799
809
  applyCustomSessionNames(project.geminiSessions, 'gemini');
810
+ try {
811
+ project.opencodeSessions = await getOpencodeCliSessions(actualProjectDir);
812
+ }
813
+ catch (e) {
814
+ console.warn(`Could not load OpenCode sessions for tracked project ${projectName}:`, e.message);
815
+ }
816
+ applyCustomSessionNames(project.opencodeSessions, 'opencode');
800
817
  try {
801
818
  const taskMasterResult = await detectTaskMasterFolder(actualProjectDir);
802
819
  let taskMasterStatus = 'not-configured';
@@ -2515,6 +2532,99 @@ async function getQwenCliSessions(projectPath, options = {}) {
2515
2532
  }
2516
2533
  return sessions.sort((a, b) => new Date(b.lastActivity || 0) - new Date(a.lastActivity || 0));
2517
2534
  }
2535
+ /**
2536
+ * OpenCode session enumerator. Walks `~/.local/share/opencode/project/*` (the
2537
+ * XDG data dir OpenCode uses on every platform — yes, including Windows under
2538
+ * the user profile) and surfaces every session whose `directory` field matches
2539
+ * the project root we're listing. `<projectID>` segments are git-root commit
2540
+ * hashes for git repos and the literal "global" for non-git dirs, so we
2541
+ * don't try to be clever about the slug — we just walk every project bucket
2542
+ * and filter by the stored `directory`.
2543
+ *
2544
+ * This is best-effort: when OpenCode hasn't written anything yet (brand-new
2545
+ * project, no chats sent) the data dir is missing and we return [] without
2546
+ * surfacing an error to the caller.
2547
+ */
2548
+ async function getOpencodeCliSessions(projectPath) {
2549
+ const normalizedProjectPath = normalizeComparablePath(projectPath);
2550
+ if (!normalizedProjectPath)
2551
+ return [];
2552
+ const sessions = [];
2553
+ const opencodeDataDir = path.join(os.homedir(), '.local', 'share', 'opencode', 'project');
2554
+ let projectBuckets;
2555
+ try {
2556
+ projectBuckets = await fs.readdir(opencodeDataDir);
2557
+ }
2558
+ catch {
2559
+ return [];
2560
+ }
2561
+ for (const bucket of projectBuckets) {
2562
+ const sessionRoot = path.join(opencodeDataDir, bucket, 'storage', 'session');
2563
+ let projectIdDirs;
2564
+ try {
2565
+ projectIdDirs = await fs.readdir(sessionRoot);
2566
+ }
2567
+ catch {
2568
+ continue;
2569
+ }
2570
+ for (const pidDir of projectIdDirs) {
2571
+ const dir = path.join(sessionRoot, pidDir);
2572
+ let sessionFiles;
2573
+ try {
2574
+ sessionFiles = await fs.readdir(dir);
2575
+ }
2576
+ catch {
2577
+ continue;
2578
+ }
2579
+ for (const file of sessionFiles) {
2580
+ if (!file.startsWith('ses_') || !file.endsWith('.json'))
2581
+ continue;
2582
+ try {
2583
+ const data = await fs.readFile(path.join(dir, file), 'utf8');
2584
+ const sess = JSON.parse(data);
2585
+ const sessDir = typeof sess?.directory === 'string'
2586
+ ? normalizeComparablePath(sess.directory)
2587
+ : null;
2588
+ if (!sessDir || sessDir !== normalizedProjectPath)
2589
+ continue;
2590
+ const id = typeof sess?.id === 'string' ? sess.id : file.replace(/\.json$/, '');
2591
+ sessions.push({
2592
+ id,
2593
+ summary: sess?.title || 'OpenCode Session',
2594
+ messageCount: typeof sess?.messageCount === 'number' ? sess.messageCount : 0,
2595
+ lastActivity: sess?.time?.updated || sess?.time?.created || null,
2596
+ provider: 'opencode',
2597
+ });
2598
+ }
2599
+ catch {
2600
+ // Skip unreadable session files silently — one corrupt file
2601
+ // shouldn't blank the whole list.
2602
+ continue;
2603
+ }
2604
+ }
2605
+ }
2606
+ }
2607
+ // Merge in live sessions held by the in-memory sessionManager so a fresh
2608
+ // chat that hasn't been flushed to disk yet still shows in the sidebar.
2609
+ try {
2610
+ const liveSessions = sessionManager.getProjectSessions(projectPath) || [];
2611
+ for (const s of liveSessions) {
2612
+ if (!s.id || !s.id.startsWith('opencode_'))
2613
+ continue;
2614
+ if (sessions.some((existing) => existing.id === s.id))
2615
+ continue;
2616
+ sessions.push({
2617
+ id: s.id,
2618
+ summary: s.summary || s.title || 'OpenCode Session',
2619
+ messageCount: s.messageCount || 0,
2620
+ lastActivity: s.lastActivity || s.createdAt || null,
2621
+ provider: 'opencode',
2622
+ });
2623
+ }
2624
+ }
2625
+ catch { /* sessionManager not initialised yet — ignore */ }
2626
+ return sessions.sort((a, b) => new Date(b.lastActivity || 0) - new Date(a.lastActivity || 0));
2627
+ }
2518
2628
  async function getQwenCliSessionMessages(sessionId) {
2519
2629
  const qwenTmpDir = path.join(os.homedir(), '.qwen', 'tmp');
2520
2630
  let projectDirs;
@@ -2679,5 +2789,5 @@ async function getGeminiCliSessionMessages(sessionId) {
2679
2789
  }
2680
2790
  return [];
2681
2791
  }
2682
- export { getProjects, getSessions, getSessionMessages, parseJsonlSessions, renameProject, deleteSession, isProjectEmpty, deleteProject, addProjectManually, loadProjectConfig, saveProjectConfig, extractProjectDirectory, clearProjectDirectoryCache, getCodexSessions, getCodexSessionMessages, deleteCodexSession, getGeminiCliSessions, getGeminiCliSessionMessages, getQwenCliSessions, getQwenCliSessionMessages, searchConversations };
2792
+ export { getProjects, getSessions, getSessionMessages, parseJsonlSessions, renameProject, deleteSession, isProjectEmpty, deleteProject, addProjectManually, loadProjectConfig, saveProjectConfig, extractProjectDirectory, clearProjectDirectoryCache, getCodexSessions, getCodexSessionMessages, deleteCodexSession, getGeminiCliSessions, getGeminiCliSessionMessages, getQwenCliSessions, getQwenCliSessionMessages, getOpencodeCliSessions, searchConversations };
2683
2793
  //# sourceMappingURL=projects.js.map