@zonease/happy 0.6.48 → 0.6.50

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 (87) hide show
  1. package/dist/{api-lxlaOAan.cjs → api-BYlwkdNv.cjs} +4 -4
  2. package/dist/{api-BQORFd9R.mjs → api-DkLi_kVG.mjs} +3 -3
  3. package/dist/{auth-DO429YIh.cjs → auth-BN2MIzje.cjs} +2 -2
  4. package/dist/{auth-Cch5XGgf.mjs → auth-Br_PQMzx.mjs} +4 -4
  5. package/dist/{auth-DEvweBty.mjs → auth-CLoQ_EpI.mjs} +2 -2
  6. package/dist/{auth-D3n2c6ef.cjs → auth-CROR_1u-.cjs} +4 -4
  7. package/dist/{browser-ChToh76t.cjs → browser-B1v3MMco.cjs} +1 -1
  8. package/dist/{browser-C6JpWqen.mjs → browser-BH7Yz53y.mjs} +1 -1
  9. package/dist/{claudeLocal-BRkqm7Dv.cjs → claudeLocal-Clj5q_mB.cjs} +1 -1
  10. package/dist/{claudeLocal-D7uEQO2e.mjs → claudeLocal-DwVoD2YO.mjs} +1 -1
  11. package/dist/codex/happyMcpStdioBridge.cjs +8 -1
  12. package/dist/codex/happyMcpStdioBridge.mjs +8 -1
  13. package/dist/{config-oC3LtNiN.mjs → config-ClokJJ4W.mjs} +1 -1
  14. package/dist/{config-D1pd0h7A.cjs → config-Xgf8XiBz.cjs} +1 -1
  15. package/dist/{connect-CyFpNr11.mjs → connect-Bsi7BKyt.mjs} +5 -5
  16. package/dist/{connect-OAvNEIm0.cjs → connect-DPFMoUxr.cjs} +5 -5
  17. package/dist/{controlClient-CEliu-dY.mjs → controlClient-hW34LqD6.mjs} +1 -1
  18. package/dist/{controlClient-BAJAvvWO.cjs → controlClient-pqJuFXzr.cjs} +1 -1
  19. package/dist/{cursorApprovalHook-BWYkdy2I.cjs → cursorApprovalHook-BnC8NDyU.cjs} +2 -2
  20. package/dist/{cursorApprovalHook-P8q2-Ot5.mjs → cursorApprovalHook-OAGqnLby.mjs} +2 -2
  21. package/dist/{cursorApprovalServer-DNOUUpbJ.mjs → cursorApprovalServer-BxHnGAAd.mjs} +1 -1
  22. package/dist/{cursorApprovalServer-VR5ZdRqZ.cjs → cursorApprovalServer-DZbo7N_4.cjs} +1 -1
  23. package/dist/{deviceKeys-CFpY68YY.cjs → deviceKeys-Bx3Fr_eu.cjs} +2 -2
  24. package/dist/{deviceKeys-CxID9XkJ.mjs → deviceKeys-CkKNX4wJ.mjs} +2 -2
  25. package/dist/{doctor-CrBPDAJR.mjs → doctor-BJLbeVEF.mjs} +2 -2
  26. package/dist/{doctor-qquYvrNu.cjs → doctor-pPDqy8Yd.cjs} +2 -2
  27. package/dist/{downloadImage-DFwUJ1-t.mjs → downloadImage-0txRA95g.mjs} +1 -1
  28. package/dist/{downloadImage-Cqy7ZDq9.cjs → downloadImage-CzSm-976.cjs} +1 -1
  29. package/dist/{enroll-CPhX2YYW.cjs → enroll-6uJeBJWh.cjs} +3 -3
  30. package/dist/{enroll-BS4x3OUQ.mjs → enroll-tMntIbDf.mjs} +3 -3
  31. package/dist/{evidence-HQhiWcci.mjs → evidence-CW5gZkfi.mjs} +1 -1
  32. package/dist/{evidence-mn6vjFpr.cjs → evidence-DFm-wY1a.cjs} +1 -1
  33. package/dist/{formatImageMessage-DFfcusj_.cjs → formatImageMessage-CiGJLCW9.cjs} +1 -1
  34. package/dist/{formatImageMessage-cI_AEqo1.mjs → formatImageMessage-H_hYAW10.mjs} +1 -1
  35. package/dist/{index-BeKrqPYR.cjs → index-BNMjIKud.cjs} +34 -0
  36. package/dist/{index-DTV7drqs.mjs → index-Cd3VmMtg.mjs} +34 -0
  37. package/dist/index.cjs +46 -46
  38. package/dist/index.mjs +46 -46
  39. package/dist/{install-tBBR7NUn.cjs → install-D0TcS_eJ.cjs} +2 -2
  40. package/dist/{install-Bm5eNojk.cjs → install-DVjvG3OO.cjs} +1 -1
  41. package/dist/{install-sbpQfY_l.mjs → install-DWp3wQ7H.mjs} +1 -1
  42. package/dist/{install-Bn2199Kq.mjs → install-Djm2ft-n.mjs} +2 -2
  43. package/dist/lib.cjs +4 -4
  44. package/dist/lib.mjs +4 -4
  45. package/dist/{loadableToolOutput-BzTaDndK.cjs → loadableToolOutput-CSXVglfo.cjs} +2 -2
  46. package/dist/{loadableToolOutput-DbXbVycg.mjs → loadableToolOutput-c7sztMrh.mjs} +2 -2
  47. package/dist/{persistence-YyHJPrEJ.mjs → persistence-BcDMO5bT.mjs} +1 -1
  48. package/dist/{persistence-ACqGUEtH.cjs → persistence-CRIRAcLQ.cjs} +1 -1
  49. package/dist/{push-CICE33Pk.mjs → push-C5JhAM3c.mjs} +6 -6
  50. package/dist/{push-DN6X8puN.cjs → push-gclTT6Gj.cjs} +6 -6
  51. package/dist/{registerKillSessionHandler-CaFN7Ti_.mjs → registerKillSessionHandler-cbV2Ljf7.mjs} +61 -6
  52. package/dist/{registerKillSessionHandler-BvYc-FOQ.cjs → registerKillSessionHandler-wQuDB--t.cjs} +61 -6
  53. package/dist/{run-Djrrraug.cjs → run-BvX34xMy.cjs} +8 -8
  54. package/dist/{run-DEIpQXCf.mjs → run-UpOvLJEM.mjs} +8 -8
  55. package/dist/{runClaude-BuXbk4Hk.mjs → runClaude-D4D68U-b.mjs} +16 -16
  56. package/dist/{runClaude-DEnJA94E.cjs → runClaude-HVerV5KP.cjs} +17 -17
  57. package/dist/{runCodex-xfey8ybA.cjs → runCodex-BEuiGZkj.cjs} +18 -18
  58. package/dist/{runCodex-DDJ4ld9g.mjs → runCodex-Rrla8J-y.mjs} +18 -18
  59. package/dist/{runCursor-Ea-0SqPz.mjs → runCursor-CK_a623G.mjs} +16 -16
  60. package/dist/{runCursor-HDQXcY5a.cjs → runCursor-MN2kTiaV.cjs} +16 -16
  61. package/dist/{runGemini-DupL8lXI.cjs → runGemini-Bv7myj8x.cjs} +24 -20
  62. package/dist/{runGemini-DNXknLIG.mjs → runGemini-uaX3ydTl.mjs} +24 -20
  63. package/dist/{runOneShot-C3adjQdt.mjs → runOneShot-CVh2sOTm.mjs} +3 -3
  64. package/dist/{runOneShot-ncBtn_Gm.cjs → runOneShot-DkY4JIpR.cjs} +3 -3
  65. package/dist/{serve-DS7_dJ2V.cjs → serve-Bq4RYzeU.cjs} +6 -6
  66. package/dist/{serve-B8J5nW6c.mjs → serve-HcmoF0ld.mjs} +6 -6
  67. package/dist/{session-DqtoNEcE.cjs → session-BPOvcH-e.cjs} +5 -5
  68. package/dist/{session-DLX5ZdxL.mjs → session-DzfH_479.mjs} +5 -5
  69. package/dist/{sessionKeyCache-D0Y_V05P.mjs → sessionKeyCache-BuUtI1-I.mjs} +1 -1
  70. package/dist/{sessionKeyCache-BnR0ARqZ.cjs → sessionKeyCache-Cv83YxdE.cjs} +1 -1
  71. package/dist/{sessionList-D1jByB-c.mjs → sessionList-CvRpDuXi.mjs} +2 -2
  72. package/dist/{sessionList-B20S2H2v.cjs → sessionList-DFDLT9tB.cjs} +2 -2
  73. package/dist/{sessionSummary-HZWtQ6mW.mjs → sessionSummary-C7gSZAy6.mjs} +3 -3
  74. package/dist/{sessionSummary-BfkUnQew.cjs → sessionSummary-CbXjJeeZ.cjs} +3 -3
  75. package/dist/{setupOfflineReconnection-E5sAFKRm.mjs → setupOfflineReconnection-IzJm84kr.mjs} +3 -3
  76. package/dist/{setupOfflineReconnection-C8Ll2khg.cjs → setupOfflineReconnection-JAaRZvkV.cjs} +3 -3
  77. package/dist/{spawnHappyCLI-BabByXDO.cjs → spawnHappyCLI-Bx0fWHXA.cjs} +1 -1
  78. package/dist/{spawnHappyCLI-iEcKfItK.mjs → spawnHappyCLI-CNM_tqcu.mjs} +1 -1
  79. package/dist/{ssh-BMawo5IG.mjs → ssh-CPgIeMd5.mjs} +5 -5
  80. package/dist/{ssh-BWLfu_Bu.cjs → ssh-DWCo3_QV.cjs} +5 -5
  81. package/dist/{task-CmzA8KBB.cjs → task-BpEYajLx.cjs} +6 -6
  82. package/dist/{task-JIXYT6Ut.mjs → task-GHqmZme5.mjs} +6 -6
  83. package/dist/{uninstall-DE2hMEa8.mjs → uninstall-BKM0TWLi.mjs} +2 -2
  84. package/dist/{uninstall-CRICQerq.cjs → uninstall-izzXdPwS.cjs} +2 -2
  85. package/dist/{update-DYLwPQB5.cjs → update-B0YoHEA9.cjs} +3 -3
  86. package/dist/{update-Bo6YcGpg.mjs → update-DflmX6cr.mjs} +3 -3
  87. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var logger = require('./persistence-ACqGUEtH.cjs');
4
+ var logger = require('./persistence-CRIRAcLQ.cjs');
5
5
  var node_events = require('node:events');
6
6
  var socket_ioClient = require('socket.io-client');
7
7
  var z = require('zod');
8
- require('./index-BeKrqPYR.cjs');
8
+ require('./index-BNMjIKud.cjs');
9
9
  var time = require('./time-Bj2HRkKH.cjs');
10
10
  var node_crypto = require('node:crypto');
11
11
  var fs = require('node:fs');
@@ -26,7 +26,7 @@ var tweetnacl = require('tweetnacl');
26
26
  var base64 = require('@stablelib/base64');
27
27
  var node_readline = require('node:readline');
28
28
  var expoServerSdk = require('expo-server-sdk');
29
- var sessionKeyCache = require('./sessionKeyCache-BnR0ARqZ.cjs');
29
+ var sessionKeyCache = require('./sessionKeyCache-Cv83YxdE.cjs');
30
30
  var chalk = require('chalk');
31
31
 
32
32
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -1395,7 +1395,7 @@ function resolveToolsDir() {
1395
1395
  }
1396
1396
  function findToolsDir() {
1397
1397
  try {
1398
- const manifest = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('api-lxlaOAan.cjs', document.baseURI).href))).resolve(`${toolsPackageName()}/package.json`);
1398
+ const manifest = node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('api-BYlwkdNv.cjs', document.baseURI).href))).resolve(`${toolsPackageName()}/package.json`);
1399
1399
  return path.dirname(manifest);
1400
1400
  } catch {
1401
1401
  }
@@ -1,9 +1,9 @@
1
1
  import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import axios from 'axios';
2
- import { l as logger, c as configuration, e as encodeBase64, f as encrypt, g as decrypt, h as decodeBase64, i as isDebug, B as encryptLegacy, a as readSettings, C as getRandomBytes, D as libsodiumEncryptForPublicKey } from './persistence-YyHJPrEJ.mjs';
2
+ import { l as logger, c as configuration, e as encodeBase64, f as encrypt, g as decrypt, h as decodeBase64, i as isDebug, B as encryptLegacy, a as readSettings, C as getRandomBytes, D as libsodiumEncryptForPublicKey } from './persistence-BcDMO5bT.mjs';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import { io } from 'socket.io-client';
5
5
  import { z } from 'zod';
6
- import './index-DTV7drqs.mjs';
6
+ import './index-Cd3VmMtg.mjs';
7
7
  import { b as backoff, e as exponentialBackoffDelay } from './time-DgsBLJA_.mjs';
8
8
  import { randomUUID, createHash } from 'node:crypto';
9
9
  import fs, { existsSync, readFileSync, writeFileSync, mkdirSync, statSync, readdirSync, mkdtempSync, chmodSync, createReadStream, createWriteStream, unlink as unlink$2, rmdirSync } from 'node:fs';
@@ -24,7 +24,7 @@ import tweetnacl from 'tweetnacl';
24
24
  import { encode, decode } from '@stablelib/base64';
25
25
  import { createInterface } from 'node:readline';
26
26
  import { Expo } from 'expo-server-sdk';
27
- import { c as cacheSessionKey } from './sessionKeyCache-D0Y_V05P.mjs';
27
+ import { c as cacheSessionKey } from './sessionKeyCache-BuUtI1-I.mjs';
28
28
  import chalk from 'chalk';
29
29
 
30
30
  z.object({
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-ACqGUEtH.cjs');
3
+ var logger = require('./persistence-CRIRAcLQ.cjs');
4
4
  var node_crypto = require('node:crypto');
5
5
  var tweetnacl = require('tweetnacl');
6
6
  var axios = require('axios');
7
7
  var qrcode = require('qrcode-terminal');
8
8
  var time = require('./time-Bj2HRkKH.cjs');
9
- var browser = require('./browser-ChToh76t.cjs');
9
+ var browser = require('./browser-B1v3MMco.cjs');
10
10
  var React = require('react');
11
11
  var ink = require('ink');
12
12
  require('node:fs/promises');
@@ -1,9 +1,9 @@
1
1
  import chalk from 'chalk';
2
- import { r as readCredentials, a as readSettings, c as configuration, l as logger, b as clearCredentials, d as clearMachineId } from './persistence-YyHJPrEJ.mjs';
3
- import { authAndSetupMachineIfNeeded } from './auth-DEvweBty.mjs';
2
+ import { r as readCredentials, a as readSettings, c as configuration, l as logger, b as clearCredentials, d as clearMachineId } from './persistence-BcDMO5bT.mjs';
3
+ import { authAndSetupMachineIfNeeded } from './auth-CLoQ_EpI.mjs';
4
4
  import { existsSync, rmSync } from 'node:fs';
5
5
  import { createInterface } from 'node:readline';
6
- import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-CEliu-dY.mjs';
6
+ import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-hW34LqD6.mjs';
7
7
  import os from 'node:os';
8
8
  import 'node:fs/promises';
9
9
  import 'node:path';
@@ -14,7 +14,7 @@ import 'fs';
14
14
  import 'axios';
15
15
  import 'qrcode-terminal';
16
16
  import './time-DgsBLJA_.mjs';
17
- import './browser-C6JpWqen.mjs';
17
+ import './browser-BH7Yz53y.mjs';
18
18
  import 'open';
19
19
  import 'react';
20
20
  import 'ink';
@@ -1,10 +1,10 @@
1
- import { e as encodeBase64, c as configuration, l as logger, r as readCredentials, u as updateSettings, i as isDebug, s as encodeBase64Url, h as decodeBase64, t as writeCredentialsLegacy, w as writeCredentialsDataKey } from './persistence-YyHJPrEJ.mjs';
1
+ import { e as encodeBase64, c as configuration, l as logger, r as readCredentials, u as updateSettings, i as isDebug, s as encodeBase64Url, h as decodeBase64, t as writeCredentialsLegacy, w as writeCredentialsDataKey } from './persistence-BcDMO5bT.mjs';
2
2
  import { randomBytes, randomUUID } from 'node:crypto';
3
3
  import tweetnacl from 'tweetnacl';
4
4
  import axios from 'axios';
5
5
  import qrcode from 'qrcode-terminal';
6
6
  import { d as delay } from './time-DgsBLJA_.mjs';
7
- import { o as openBrowser } from './browser-C6JpWqen.mjs';
7
+ import { o as openBrowser } from './browser-BH7Yz53y.mjs';
8
8
  import React, { useState } from 'react';
9
9
  import { useInput, Box, Text, render } from 'ink';
10
10
  import 'node:fs/promises';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var logger = require('./persistence-ACqGUEtH.cjs');
5
- var auth = require('./auth-DO429YIh.cjs');
4
+ var logger = require('./persistence-CRIRAcLQ.cjs');
5
+ var auth = require('./auth-BN2MIzje.cjs');
6
6
  var fs = require('node:fs');
7
7
  var node_readline = require('node:readline');
8
- var controlClient = require('./controlClient-BAJAvvWO.cjs');
8
+ var controlClient = require('./controlClient-pqJuFXzr.cjs');
9
9
  var os = require('node:os');
10
10
  require('node:fs/promises');
11
11
  require('node:path');
@@ -16,7 +16,7 @@ require('fs');
16
16
  require('axios');
17
17
  require('qrcode-terminal');
18
18
  require('./time-Bj2HRkKH.cjs');
19
- require('./browser-ChToh76t.cjs');
19
+ require('./browser-B1v3MMco.cjs');
20
20
  require('open');
21
21
  require('react');
22
22
  require('ink');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var open = require('open');
4
- var logger = require('./persistence-ACqGUEtH.cjs');
4
+ var logger = require('./persistence-CRIRAcLQ.cjs');
5
5
 
6
6
  async function openBrowser(url) {
7
7
  try {
@@ -1,5 +1,5 @@
1
1
  import open from 'open';
2
- import { l as logger } from './persistence-YyHJPrEJ.mjs';
2
+ import { l as logger } from './persistence-BcDMO5bT.mjs';
3
3
 
4
4
  async function openBrowser(url) {
5
5
  try {
@@ -5,7 +5,7 @@ var path = require('node:path');
5
5
  var node_readline = require('node:readline');
6
6
  var fs = require('node:fs');
7
7
  var node_crypto = require('node:crypto');
8
- var logger = require('./persistence-ACqGUEtH.cjs');
8
+ var logger = require('./persistence-CRIRAcLQ.cjs');
9
9
  var os = require('node:os');
10
10
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
11
11
  var prompt = require('./prompt-BTWDZZO0.cjs');
@@ -3,7 +3,7 @@ import { resolve, join } from 'node:path';
3
3
  import { createInterface } from 'node:readline';
4
4
  import { existsSync, readFileSync, readdirSync, statSync, mkdirSync } from 'node:fs';
5
5
  import { randomUUID } from 'node:crypto';
6
- import { l as logger } from './persistence-YyHJPrEJ.mjs';
6
+ import { l as logger } from './persistence-BcDMO5bT.mjs';
7
7
  import { homedir } from 'node:os';
8
8
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
9
9
  import { g as getBaseSystemPrompt } from './prompt-BsAZsPbo.mjs';
@@ -95,12 +95,19 @@ async function main() {
95
95
  limit: z.z.number().int().min(1).max(200).optional().describe("How many to return, 50 by default")
96
96
  }
97
97
  });
98
+ registerForwardedTool("get_bug", {
99
+ description: "Read one bug in full from the user's Happy bug board: its description, screenshots, every comment and how it moved between states. Use when the user asks about a specific bug, or before editing one so the rewrite keeps what is still true.",
100
+ title: "Get Bug",
101
+ inputSchema: {
102
+ bug: z.z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.')
103
+ }
104
+ });
98
105
  registerForwardedTool("edit_bug", {
99
106
  description: "Change a bug already on the user's Happy bug board: rewrite its description, add screenshots to it, or both. Use when the user wants to correct, expand or illustrate an existing bug.",
100
107
  title: "Edit Bug",
101
108
  inputSchema: {
102
109
  bug: z.z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
103
- description: z.z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true. Omit to leave the description alone."),
110
+ description: z.z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true \u2014 including any [[bug-image:N]] markers, which is where the Nth screenshot appears inline. Drop a marker and that image moves to the end. Omit this field to leave the description alone."),
104
111
  images: z.z.array(z.z.string()).optional().describe("Absolute paths to screenshots on this machine, added to any already on the bug. JPEG and PNG only, 10 per bug in total, 20MB each.")
105
112
  }
106
113
  });
@@ -93,12 +93,19 @@ async function main() {
93
93
  limit: z.number().int().min(1).max(200).optional().describe("How many to return, 50 by default")
94
94
  }
95
95
  });
96
+ registerForwardedTool("get_bug", {
97
+ description: "Read one bug in full from the user's Happy bug board: its description, screenshots, every comment and how it moved between states. Use when the user asks about a specific bug, or before editing one so the rewrite keeps what is still true.",
98
+ title: "Get Bug",
99
+ inputSchema: {
100
+ bug: z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.')
101
+ }
102
+ });
96
103
  registerForwardedTool("edit_bug", {
97
104
  description: "Change a bug already on the user's Happy bug board: rewrite its description, add screenshots to it, or both. Use when the user wants to correct, expand or illustrate an existing bug.",
98
105
  title: "Edit Bug",
99
106
  inputSchema: {
100
107
  bug: z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
101
- description: z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true. Omit to leave the description alone."),
108
+ description: z.string().optional().describe("The full replacement description. It replaces the old one outright, so carry over anything still true \u2014 including any [[bug-image:N]] markers, which is where the Nth screenshot appears inline. Drop a marker and that image moves to the end. Omit this field to leave the description alone."),
102
109
  images: z.array(z.string()).optional().describe("Absolute paths to screenshots on this machine, added to any already on the bug. JPEG and PNG only, 10 per bug in total, 20MB each.")
103
110
  }
104
111
  });
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import { execSync } from 'child_process';
5
- import { l as logger } from './persistence-YyHJPrEJ.mjs';
5
+ import { l as logger } from './persistence-BcDMO5bT.mjs';
6
6
  import { D as DEFAULT_GEMINI_MODEL, G as GEMINI_MODEL_ENV } from './constants-pmXZGibX.mjs';
7
7
  import 'node:fs/promises';
8
8
  import 'node:fs';
@@ -4,7 +4,7 @@ var fs = require('fs');
4
4
  var path = require('path');
5
5
  var os = require('os');
6
6
  var child_process = require('child_process');
7
- var logger = require('./persistence-ACqGUEtH.cjs');
7
+ var logger = require('./persistence-CRIRAcLQ.cjs');
8
8
  var constants = require('./constants-E_UWYTo3.cjs');
9
9
  require('node:fs/promises');
10
10
  require('node:fs');
@@ -2,11 +2,11 @@ import chalk from 'chalk';
2
2
  import { existsSync, mkdirSync, writeFileSync } from 'fs';
3
3
  import { homedir } from 'os';
4
4
  import { join } from 'path';
5
- import { r as readCredentials } from './persistence-YyHJPrEJ.mjs';
6
- import { A as ApiClient } from './api-BQORFd9R.mjs';
5
+ import { r as readCredentials } from './persistence-BcDMO5bT.mjs';
6
+ import { A as ApiClient } from './api-DkLi_kVG.mjs';
7
7
  import { createServer } from 'http';
8
8
  import { randomBytes, createHash } from 'crypto';
9
- import { o as openBrowser } from './browser-C6JpWqen.mjs';
9
+ import { o as openBrowser } from './browser-BH7Yz53y.mjs';
10
10
  import { exec } from 'child_process';
11
11
  import { promisify } from 'util';
12
12
  import 'node:fs/promises';
@@ -19,7 +19,7 @@ import 'tweetnacl';
19
19
  import 'axios';
20
20
  import 'node:events';
21
21
  import 'socket.io-client';
22
- import './index-DTV7drqs.mjs';
22
+ import './index-Cd3VmMtg.mjs';
23
23
  import '@paralleldrive/cuid2';
24
24
  import './time-DgsBLJA_.mjs';
25
25
  import 'node:child_process';
@@ -32,7 +32,7 @@ import 'ws';
32
32
  import '@stablelib/base64';
33
33
  import 'node:readline';
34
34
  import 'expo-server-sdk';
35
- import './sessionKeyCache-D0Y_V05P.mjs';
35
+ import './sessionKeyCache-BuUtI1-I.mjs';
36
36
  import 'open';
37
37
 
38
38
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
@@ -4,11 +4,11 @@ var chalk = require('chalk');
4
4
  var fs = require('fs');
5
5
  var os = require('os');
6
6
  var path = require('path');
7
- var logger = require('./persistence-ACqGUEtH.cjs');
8
- var api = require('./api-lxlaOAan.cjs');
7
+ var logger = require('./persistence-CRIRAcLQ.cjs');
8
+ var api = require('./api-BYlwkdNv.cjs');
9
9
  var http = require('http');
10
10
  var crypto = require('crypto');
11
- var browser = require('./browser-ChToh76t.cjs');
11
+ var browser = require('./browser-B1v3MMco.cjs');
12
12
  var child_process = require('child_process');
13
13
  var util = require('util');
14
14
  require('node:fs/promises');
@@ -21,7 +21,7 @@ require('tweetnacl');
21
21
  require('axios');
22
22
  require('node:events');
23
23
  require('socket.io-client');
24
- require('./index-BeKrqPYR.cjs');
24
+ require('./index-BNMjIKud.cjs');
25
25
  require('@paralleldrive/cuid2');
26
26
  require('./time-Bj2HRkKH.cjs');
27
27
  require('node:child_process');
@@ -34,7 +34,7 @@ require('ws');
34
34
  require('@stablelib/base64');
35
35
  require('node:readline');
36
36
  require('expo-server-sdk');
37
- require('./sessionKeyCache-BnR0ARqZ.cjs');
37
+ require('./sessionKeyCache-Cv83YxdE.cjs');
38
38
  require('open');
39
39
 
40
40
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
@@ -1,4 +1,4 @@
1
- import { l as logger, m as readDaemonState, n as clearDaemonState } from './persistence-YyHJPrEJ.mjs';
1
+ import { l as logger, m as readDaemonState, n as clearDaemonState } from './persistence-BcDMO5bT.mjs';
2
2
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
3
3
  import { readFileSync } from 'fs';
4
4
  import { join } from 'path';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-ACqGUEtH.cjs');
3
+ var logger = require('./persistence-CRIRAcLQ.cjs');
4
4
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
5
5
  var fs = require('fs');
6
6
  var path = require('path');
@@ -2,12 +2,12 @@
2
2
 
3
3
  var fs = require('node:fs');
4
4
  var path = require('node:path');
5
- var cursorApprovalServer = require('./cursorApprovalServer-VR5ZdRqZ.cjs');
5
+ var cursorApprovalServer = require('./cursorApprovalServer-DZbo7N_4.cjs');
6
6
  require('node:http');
7
7
  require('node:crypto');
8
8
  require('node:fs/promises');
9
9
  require('node:os');
10
- require('./persistence-ACqGUEtH.cjs');
10
+ require('./persistence-CRIRAcLQ.cjs');
11
11
  require('zod');
12
12
  require('tweetnacl');
13
13
  require('chalk');
@@ -1,11 +1,11 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { a as approvalRegistryDir, A as APPROVAL_ENDPOINT_FILE } from './cursorApprovalServer-DNOUUpbJ.mjs';
3
+ import { a as approvalRegistryDir, A as APPROVAL_ENDPOINT_FILE } from './cursorApprovalServer-BxHnGAAd.mjs';
4
4
  import 'node:http';
5
5
  import 'node:crypto';
6
6
  import 'node:fs/promises';
7
7
  import 'node:os';
8
- import './persistence-YyHJPrEJ.mjs';
8
+ import './persistence-BcDMO5bT.mjs';
9
9
  import 'zod';
10
10
  import 'tweetnacl';
11
11
  import 'chalk';
@@ -4,7 +4,7 @@ import { mkdir, writeFile, rename, readFile, rm, readdir, rmdir } from 'node:fs/
4
4
  import { existsSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import { homedir } from 'node:os';
7
- import { l as logger } from './persistence-YyHJPrEJ.mjs';
7
+ import { l as logger } from './persistence-BcDMO5bT.mjs';
8
8
 
9
9
  const TOOL_NAME_MAP = {
10
10
  read: "Read",
@@ -6,7 +6,7 @@ var promises = require('node:fs/promises');
6
6
  var fs = require('node:fs');
7
7
  var path = require('node:path');
8
8
  var os = require('node:os');
9
- var logger = require('./persistence-ACqGUEtH.cjs');
9
+ var logger = require('./persistence-CRIRAcLQ.cjs');
10
10
 
11
11
  const TOOL_NAME_MAP = {
12
12
  read: "Read",
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var axios = require('axios');
4
- var logger = require('./persistence-ACqGUEtH.cjs');
5
- var auth = require('./auth-DO429YIh.cjs');
4
+ var logger = require('./persistence-CRIRAcLQ.cjs');
5
+ var auth = require('./auth-BN2MIzje.cjs');
6
6
  var tweetnacl = require('tweetnacl');
7
7
  var fs = require('node:fs');
8
8
  var promises = require('node:fs/promises');
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
- import { h as decodeBase64, e as encodeBase64, f as encrypt, g as decrypt, c as configuration } from './persistence-YyHJPrEJ.mjs';
3
- import { decryptWithEphemeralKey } from './auth-DEvweBty.mjs';
2
+ import { h as decodeBase64, e as encodeBase64, f as encrypt, g as decrypt, c as configuration } from './persistence-BcDMO5bT.mjs';
3
+ import { decryptWithEphemeralKey } from './auth-CLoQ_EpI.mjs';
4
4
  import tweetnacl from 'tweetnacl';
5
5
  import { existsSync } from 'node:fs';
6
6
  import { writeFile, mkdir, readFile } from 'node:fs/promises';
@@ -1,6 +1,6 @@
1
1
  import chalk from 'chalk';
2
- import { p as packageJson, c as configuration, a as readSettings, r as readCredentials, m as readDaemonState } from './persistence-YyHJPrEJ.mjs';
3
- import { checkIfDaemonRunningAndCleanupStaleState } from './controlClient-CEliu-dY.mjs';
2
+ import { p as packageJson, c as configuration, a as readSettings, r as readCredentials, m as readDaemonState } from './persistence-BcDMO5bT.mjs';
3
+ import { checkIfDaemonRunningAndCleanupStaleState } from './controlClient-hW34LqD6.mjs';
4
4
  import { findAllHappyProcesses } from './doctor-ON7pN5G5.mjs';
5
5
  import { existsSync, readdirSync, statSync } from 'node:fs';
6
6
  import { join } from 'node:path';
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var logger = require('./persistence-ACqGUEtH.cjs');
5
- var controlClient = require('./controlClient-BAJAvvWO.cjs');
4
+ var logger = require('./persistence-CRIRAcLQ.cjs');
5
+ var controlClient = require('./controlClient-pqJuFXzr.cjs');
6
6
  var doctor = require('./doctor-C08m5Z9f.cjs');
7
7
  var fs = require('node:fs');
8
8
  var path = require('node:path');
@@ -1,4 +1,4 @@
1
- import { l as logger } from './persistence-YyHJPrEJ.mjs';
1
+ import { l as logger } from './persistence-BcDMO5bT.mjs';
2
2
  import { createHash } from 'crypto';
3
3
  import axios from 'axios';
4
4
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-ACqGUEtH.cjs');
3
+ var logger = require('./persistence-CRIRAcLQ.cjs');
4
4
  var crypto = require('crypto');
5
5
  var axios = require('axios');
6
6
 
@@ -3,8 +3,8 @@
3
3
  var axios = require('axios');
4
4
  var tweetnacl = require('tweetnacl');
5
5
  var node_crypto = require('node:crypto');
6
- var logger = require('./persistence-ACqGUEtH.cjs');
7
- var auth = require('./auth-DO429YIh.cjs');
6
+ var logger = require('./persistence-CRIRAcLQ.cjs');
7
+ var auth = require('./auth-BN2MIzje.cjs');
8
8
  require('node:fs/promises');
9
9
  require('node:fs');
10
10
  require('node:os');
@@ -14,7 +14,7 @@ require('chalk');
14
14
  require('fs');
15
15
  require('qrcode-terminal');
16
16
  require('./time-Bj2HRkKH.cjs');
17
- require('./browser-ChToh76t.cjs');
17
+ require('./browser-B1v3MMco.cjs');
18
18
  require('open');
19
19
  require('react');
20
20
  require('ink');
@@ -1,8 +1,8 @@
1
1
  import axios from 'axios';
2
2
  import tweetnacl from 'tweetnacl';
3
3
  import { createHmac, randomBytes } from 'node:crypto';
4
- import { r as readCredentials, c as configuration, h as decodeBase64, u as updateSettings, w as writeCredentialsDataKey, o as libsodiumPublicKeyFromSecretKey } from './persistence-YyHJPrEJ.mjs';
5
- import { decryptWithEphemeralKey } from './auth-DEvweBty.mjs';
4
+ import { r as readCredentials, c as configuration, h as decodeBase64, u as updateSettings, w as writeCredentialsDataKey, o as libsodiumPublicKeyFromSecretKey } from './persistence-BcDMO5bT.mjs';
5
+ import { decryptWithEphemeralKey } from './auth-CLoQ_EpI.mjs';
6
6
  import 'node:fs/promises';
7
7
  import 'node:fs';
8
8
  import 'node:os';
@@ -12,7 +12,7 @@ import 'chalk';
12
12
  import 'fs';
13
13
  import 'qrcode-terminal';
14
14
  import './time-DgsBLJA_.mjs';
15
- import './browser-C6JpWqen.mjs';
15
+ import './browser-BH7Yz53y.mjs';
16
16
  import 'open';
17
17
  import 'react';
18
18
  import 'ink';
@@ -3,7 +3,7 @@ import { constants } from 'node:fs';
3
3
  import { mkdir, appendFile, access, readFile } from 'node:fs/promises';
4
4
  import { randomUUID } from 'node:crypto';
5
5
  import { basename, dirname, resolve } from 'node:path';
6
- import { c as configuration } from './persistence-YyHJPrEJ.mjs';
6
+ import { c as configuration } from './persistence-BcDMO5bT.mjs';
7
7
  import { r as renderEvidenceReport, i as inferEvidenceKind } from './workflowReports-Dd8-4-8f.mjs';
8
8
  import { p as parseWorkflowArgs, s as stringFlag, b as booleanFlag, a as printOrWriteOutput } from './workflowCommon-B0d01Y_a.mjs';
9
9
  import 'node:os';
@@ -5,7 +5,7 @@ var fs = require('node:fs');
5
5
  var promises = require('node:fs/promises');
6
6
  var node_crypto = require('node:crypto');
7
7
  var path = require('node:path');
8
- var logger = require('./persistence-ACqGUEtH.cjs');
8
+ var logger = require('./persistence-CRIRAcLQ.cjs');
9
9
  var workflowReports = require('./workflowReports-BEWuQesA.cjs');
10
10
  var workflowCommon = require('./workflowCommon-Bl568-rt.cjs');
11
11
  require('node:os');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var downloadImage = require('./downloadImage-Cqy7ZDq9.cjs');
3
+ var downloadImage = require('./downloadImage-CzSm-976.cjs');
4
4
 
5
5
  async function formatMessageForClaude(text, images) {
6
6
  const content = [];
@@ -1,4 +1,4 @@
1
- import { d as downloadImage } from './downloadImage-DFwUJ1-t.mjs';
1
+ import { d as downloadImage } from './downloadImage-0txRA95g.mjs';
2
2
 
3
3
  async function formatMessageForClaude(text, images) {
4
4
  const content = [];
@@ -202,6 +202,8 @@ z__namespace.object({
202
202
  const MODEL_MODE_DEFAULT = "default";
203
203
  const MODEL_MODES = [
204
204
  MODEL_MODE_DEFAULT,
205
+ "claude-fable-5-1",
206
+ "claude-fable-5-1[1m]",
205
207
  "claude-fable-5",
206
208
  "claude-fable-5[1m]",
207
209
  "claude-opus-5",
@@ -213,6 +215,16 @@ const MODEL_MODES = [
213
215
  "claude-sonnet-4-6",
214
216
  "claude-sonnet-4-6[1m]",
215
217
  "claude-haiku-4-5",
218
+ "claude-fable-5-1-low",
219
+ "claude-fable-5-1-medium",
220
+ "claude-fable-5-1-high",
221
+ "claude-fable-5-1-xhigh",
222
+ "claude-fable-5-1-max",
223
+ "claude-fable-5-1[1m]-low",
224
+ "claude-fable-5-1[1m]-medium",
225
+ "claude-fable-5-1[1m]-high",
226
+ "claude-fable-5-1[1m]-xhigh",
227
+ "claude-fable-5-1[1m]-max",
216
228
  "claude-fable-5-low",
217
229
  "claude-fable-5-medium",
218
230
  "claude-fable-5-high",
@@ -316,6 +328,8 @@ const MODEL_MODES = [
316
328
  ];
317
329
  const CLAUDE_MODEL_MODES = [
318
330
  MODEL_MODE_DEFAULT,
331
+ "claude-fable-5-1",
332
+ "claude-fable-5-1[1m]",
319
333
  "claude-fable-5",
320
334
  "claude-fable-5[1m]",
321
335
  "claude-opus-5",
@@ -327,6 +341,16 @@ const CLAUDE_MODEL_MODES = [
327
341
  "claude-sonnet-4-6",
328
342
  "claude-sonnet-4-6[1m]",
329
343
  "claude-haiku-4-5",
344
+ "claude-fable-5-1-low",
345
+ "claude-fable-5-1-medium",
346
+ "claude-fable-5-1-high",
347
+ "claude-fable-5-1-xhigh",
348
+ "claude-fable-5-1-max",
349
+ "claude-fable-5-1[1m]-low",
350
+ "claude-fable-5-1[1m]-medium",
351
+ "claude-fable-5-1[1m]-high",
352
+ "claude-fable-5-1[1m]-xhigh",
353
+ "claude-fable-5-1[1m]-max",
330
354
  "claude-fable-5-low",
331
355
  "claude-fable-5-medium",
332
356
  "claude-fable-5-high",
@@ -450,6 +474,16 @@ function isModelModeForAgent(agent, mode) {
450
474
  return CODEX_MODEL_MODE_SET.has(mode);
451
475
  }
452
476
  const CLAUDE_MODE_TO_SELECTION = {
477
+ "claude-fable-5-1-low": { family: "claude-fable-5-1", effort: "low" },
478
+ "claude-fable-5-1-medium": { family: "claude-fable-5-1", effort: "medium" },
479
+ "claude-fable-5-1-high": { family: "claude-fable-5-1", effort: "high" },
480
+ "claude-fable-5-1-xhigh": { family: "claude-fable-5-1", effort: "xhigh" },
481
+ "claude-fable-5-1-max": { family: "claude-fable-5-1", effort: "max" },
482
+ "claude-fable-5-1[1m]-low": { family: "claude-fable-5-1[1m]", effort: "low" },
483
+ "claude-fable-5-1[1m]-medium": { family: "claude-fable-5-1[1m]", effort: "medium" },
484
+ "claude-fable-5-1[1m]-high": { family: "claude-fable-5-1[1m]", effort: "high" },
485
+ "claude-fable-5-1[1m]-xhigh": { family: "claude-fable-5-1[1m]", effort: "xhigh" },
486
+ "claude-fable-5-1[1m]-max": { family: "claude-fable-5-1[1m]", effort: "max" },
453
487
  "claude-fable-5-low": { family: "claude-fable-5", effort: "low" },
454
488
  "claude-fable-5-medium": { family: "claude-fable-5", effort: "medium" },
455
489
  "claude-fable-5-high": { family: "claude-fable-5", effort: "high" },