@zonease/happy 0.6.50 → 0.6.52

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-BYlwkdNv.cjs → api-DCt5MFgg.cjs} +4 -4
  2. package/dist/{api-DkLi_kVG.mjs → api-YBuVWlaq.mjs} +3 -3
  3. package/dist/{auth-BN2MIzje.cjs → auth-BbhNRCN-.cjs} +2 -2
  4. package/dist/{auth-CROR_1u-.cjs → auth-Blnptp27.cjs} +4 -4
  5. package/dist/{auth-Br_PQMzx.mjs → auth-CjxaECy1.mjs} +4 -4
  6. package/dist/{auth-CLoQ_EpI.mjs → auth-Cz8NAkf1.mjs} +2 -2
  7. package/dist/{browser-BH7Yz53y.mjs → browser-B_jtAH68.mjs} +1 -1
  8. package/dist/{browser-B1v3MMco.cjs → browser-DUPz5Vfm.cjs} +1 -1
  9. package/dist/{claudeLocal-DwVoD2YO.mjs → claudeLocal-B8J5gzY-.mjs} +1 -1
  10. package/dist/{claudeLocal-Clj5q_mB.cjs → claudeLocal-D3vWTAHx.cjs} +1 -1
  11. package/dist/codex/happyMcpStdioBridge.cjs +9 -0
  12. package/dist/codex/happyMcpStdioBridge.mjs +9 -0
  13. package/dist/{config-ClokJJ4W.mjs → config-D9QEt1Wm.mjs} +1 -1
  14. package/dist/{config-Xgf8XiBz.cjs → config-ZtdkTaE-.cjs} +1 -1
  15. package/dist/{connect-Bsi7BKyt.mjs → connect-ANzMsqjW.mjs} +5 -5
  16. package/dist/{connect-DPFMoUxr.cjs → connect-vG15hWjP.cjs} +5 -5
  17. package/dist/{controlClient-pqJuFXzr.cjs → controlClient-CuqOwOyn.cjs} +1 -1
  18. package/dist/{controlClient-hW34LqD6.mjs → controlClient-DVWHSQ9-.mjs} +1 -1
  19. package/dist/{cursorApprovalHook-BnC8NDyU.cjs → cursorApprovalHook-B9kxmThz.cjs} +2 -2
  20. package/dist/{cursorApprovalHook-OAGqnLby.mjs → cursorApprovalHook-Do7i_Hie.mjs} +2 -2
  21. package/dist/{cursorApprovalServer-BxHnGAAd.mjs → cursorApprovalServer-Da109rLV.mjs} +1 -1
  22. package/dist/{cursorApprovalServer-DZbo7N_4.cjs → cursorApprovalServer-DwQityDL.cjs} +1 -1
  23. package/dist/{deviceKeys-Bx3Fr_eu.cjs → deviceKeys-C9L5B4WJ.cjs} +2 -2
  24. package/dist/{deviceKeys-CkKNX4wJ.mjs → deviceKeys-DDkT_ZeH.mjs} +2 -2
  25. package/dist/{doctor-BJLbeVEF.mjs → doctor-C5MIiVQa.mjs} +2 -2
  26. package/dist/{doctor-pPDqy8Yd.cjs → doctor-K2OPqZbS.cjs} +2 -2
  27. package/dist/{downloadImage-0txRA95g.mjs → downloadImage-C_vAHjEu.mjs} +1 -1
  28. package/dist/{downloadImage-CzSm-976.cjs → downloadImage-EOz0lIUN.cjs} +1 -1
  29. package/dist/{enroll-6uJeBJWh.cjs → enroll-1siujrHh.cjs} +3 -3
  30. package/dist/{enroll-tMntIbDf.mjs → enroll-DXfxl3ZU.mjs} +3 -3
  31. package/dist/{evidence-CW5gZkfi.mjs → evidence-8pV8ui5K.mjs} +1 -1
  32. package/dist/{evidence-DFm-wY1a.cjs → evidence-Bol_Jr9t.cjs} +1 -1
  33. package/dist/{formatImageMessage-H_hYAW10.mjs → formatImageMessage-C2dYFnUB.mjs} +1 -1
  34. package/dist/{formatImageMessage-CiGJLCW9.cjs → formatImageMessage-Clavdkwu.cjs} +1 -1
  35. package/dist/{index-Cd3VmMtg.mjs → index-BWTQdvpp.mjs} +15 -0
  36. package/dist/{index-BNMjIKud.cjs → index-Df60Mth_.cjs} +15 -0
  37. package/dist/index.cjs +46 -46
  38. package/dist/index.mjs +46 -46
  39. package/dist/{install-D0TcS_eJ.cjs → install-BVE3NO11.cjs} +2 -2
  40. package/dist/{install-Djm2ft-n.mjs → install-D_Ky4WDO.mjs} +2 -2
  41. package/dist/{install-DWp3wQ7H.mjs → install-V-OsSOcT.mjs} +1 -1
  42. package/dist/{install-DVjvG3OO.cjs → install-q17Q3P1m.cjs} +1 -1
  43. package/dist/lib.cjs +4 -4
  44. package/dist/lib.mjs +4 -4
  45. package/dist/{loadableToolOutput-CSXVglfo.cjs → loadableToolOutput-BarZ4P9v.cjs} +2 -2
  46. package/dist/{loadableToolOutput-c7sztMrh.mjs → loadableToolOutput-uLHjIQ_B.mjs} +2 -2
  47. package/dist/{persistence-BcDMO5bT.mjs → persistence-BQXHMgiQ.mjs} +1 -1
  48. package/dist/{persistence-CRIRAcLQ.cjs → persistence-CmQo2P6s.cjs} +1 -1
  49. package/dist/{push-C5JhAM3c.mjs → push-BUpgtdEM.mjs} +6 -6
  50. package/dist/{push-gclTT6Gj.cjs → push-CfH_dsPq.cjs} +6 -6
  51. package/dist/{registerKillSessionHandler-cbV2Ljf7.mjs → registerKillSessionHandler-B9hsdw3N.mjs} +38 -5
  52. package/dist/{registerKillSessionHandler-wQuDB--t.cjs → registerKillSessionHandler-Vvpky8KL.cjs} +38 -5
  53. package/dist/{run-UpOvLJEM.mjs → run-BoXexiGC.mjs} +8 -8
  54. package/dist/{run-BvX34xMy.cjs → run-DT4PDBUE.cjs} +8 -8
  55. package/dist/{runClaude-HVerV5KP.cjs → runClaude-BD7TR_hb.cjs} +17 -17
  56. package/dist/{runClaude-D4D68U-b.mjs → runClaude-DRL4WC3t.mjs} +16 -16
  57. package/dist/{runCodex-Rrla8J-y.mjs → runCodex-BiT9TOIr.mjs} +16 -16
  58. package/dist/{runCodex-BEuiGZkj.cjs → runCodex-RSasB4C6.cjs} +16 -16
  59. package/dist/{runCursor-MN2kTiaV.cjs → runCursor-B0aOxMqe.cjs} +15 -15
  60. package/dist/{runCursor-CK_a623G.mjs → runCursor-CFFE4K6O.mjs} +15 -15
  61. package/dist/{runGemini-Bv7myj8x.cjs → runGemini-BLovoPCr.cjs} +22 -18
  62. package/dist/{runGemini-uaX3ydTl.mjs → runGemini-CQNB_bmS.mjs} +22 -18
  63. package/dist/{runOneShot-DkY4JIpR.cjs → runOneShot-CHMtycDQ.cjs} +3 -3
  64. package/dist/{runOneShot-CVh2sOTm.mjs → runOneShot-DSwhohVg.mjs} +3 -3
  65. package/dist/{serve-HcmoF0ld.mjs → serve-BxVzatLr.mjs} +6 -6
  66. package/dist/{serve-Bq4RYzeU.cjs → serve-DmsF6lWr.cjs} +6 -6
  67. package/dist/{session-DzfH_479.mjs → session-0oQLstHk.mjs} +5 -5
  68. package/dist/{session-BPOvcH-e.cjs → session-C-Vk7BNl.cjs} +5 -5
  69. package/dist/{sessionKeyCache-Cv83YxdE.cjs → sessionKeyCache-CwFe-TjP.cjs} +1 -1
  70. package/dist/{sessionKeyCache-BuUtI1-I.mjs → sessionKeyCache-DlFlTzuJ.mjs} +1 -1
  71. package/dist/{sessionList-CvRpDuXi.mjs → sessionList-CSJ1ytlc.mjs} +2 -2
  72. package/dist/{sessionList-DFDLT9tB.cjs → sessionList-DPHeeDYF.cjs} +2 -2
  73. package/dist/{sessionSummary-CbXjJeeZ.cjs → sessionSummary-DbtjGiPq.cjs} +3 -3
  74. package/dist/{sessionSummary-C7gSZAy6.mjs → sessionSummary-DoJjarsx.mjs} +3 -3
  75. package/dist/{setupOfflineReconnection-IzJm84kr.mjs → setupOfflineReconnection-D3-6k_xq.mjs} +3 -3
  76. package/dist/{setupOfflineReconnection-JAaRZvkV.cjs → setupOfflineReconnection-DgPM1B8o.cjs} +3 -3
  77. package/dist/{spawnHappyCLI-Bx0fWHXA.cjs → spawnHappyCLI-BOV-sMQ9.cjs} +1 -1
  78. package/dist/{spawnHappyCLI-CNM_tqcu.mjs → spawnHappyCLI-Bxiqsj9r.mjs} +1 -1
  79. package/dist/{ssh-CPgIeMd5.mjs → ssh-BPksL4nE.mjs} +5 -5
  80. package/dist/{ssh-DWCo3_QV.cjs → ssh-D6gKLa0D.cjs} +5 -5
  81. package/dist/{task-GHqmZme5.mjs → task-DifpN6sy.mjs} +6 -6
  82. package/dist/{task-BpEYajLx.cjs → task-DpanGYTu.cjs} +6 -6
  83. package/dist/{uninstall-BKM0TWLi.mjs → uninstall-CYp8IC1M.mjs} +2 -2
  84. package/dist/{uninstall-izzXdPwS.cjs → uninstall-CarK3_be.cjs} +2 -2
  85. package/dist/{update-DflmX6cr.mjs → update-Be0aHaIU.mjs} +3 -3
  86. package/dist/{update-B0YoHEA9.cjs → update-fMTt96l3.cjs} +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-CRIRAcLQ.cjs');
4
+ var logger = require('./persistence-CmQo2P6s.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-BNMjIKud.cjs');
8
+ require('./index-Df60Mth_.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-Cv83YxdE.cjs');
29
+ var sessionKeyCache = require('./sessionKeyCache-CwFe-TjP.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-BYlwkdNv.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-DCt5MFgg.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-BcDMO5bT.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-BQXHMgiQ.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-Cd3VmMtg.mjs';
6
+ import './index-BWTQdvpp.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-BuUtI1-I.mjs';
27
+ import { c as cacheSessionKey } from './sessionKeyCache-DlFlTzuJ.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-CRIRAcLQ.cjs');
3
+ var logger = require('./persistence-CmQo2P6s.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-B1v3MMco.cjs');
9
+ var browser = require('./browser-DUPz5Vfm.cjs');
10
10
  var React = require('react');
11
11
  var ink = require('ink');
12
12
  require('node:fs/promises');
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var chalk = require('chalk');
4
- var logger = require('./persistence-CRIRAcLQ.cjs');
5
- var auth = require('./auth-BN2MIzje.cjs');
4
+ var logger = require('./persistence-CmQo2P6s.cjs');
5
+ var auth = require('./auth-BbhNRCN-.cjs');
6
6
  var fs = require('node:fs');
7
7
  var node_readline = require('node:readline');
8
- var controlClient = require('./controlClient-pqJuFXzr.cjs');
8
+ var controlClient = require('./controlClient-CuqOwOyn.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-B1v3MMco.cjs');
19
+ require('./browser-DUPz5Vfm.cjs');
20
20
  require('open');
21
21
  require('react');
22
22
  require('ink');
@@ -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-BcDMO5bT.mjs';
3
- import { authAndSetupMachineIfNeeded } from './auth-CLoQ_EpI.mjs';
2
+ import { r as readCredentials, a as readSettings, c as configuration, l as logger, b as clearCredentials, d as clearMachineId } from './persistence-BQXHMgiQ.mjs';
3
+ import { authAndSetupMachineIfNeeded } from './auth-Cz8NAkf1.mjs';
4
4
  import { existsSync, rmSync } from 'node:fs';
5
5
  import { createInterface } from 'node:readline';
6
- import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-hW34LqD6.mjs';
6
+ import { checkIfDaemonRunningAndCleanupStaleState, stopDaemon } from './controlClient-DVWHSQ9-.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-BH7Yz53y.mjs';
17
+ import './browser-B_jtAH68.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-BcDMO5bT.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-BQXHMgiQ.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-BH7Yz53y.mjs';
7
+ import { o as openBrowser } from './browser-B_jtAH68.mjs';
8
8
  import React, { useState } from 'react';
9
9
  import { useInput, Box, Text, render } from 'ink';
10
10
  import 'node:fs/promises';
@@ -1,5 +1,5 @@
1
1
  import open from 'open';
2
- import { l as logger } from './persistence-BcDMO5bT.mjs';
2
+ import { l as logger } from './persistence-BQXHMgiQ.mjs';
3
3
 
4
4
  async function openBrowser(url) {
5
5
  try {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var open = require('open');
4
- var logger = require('./persistence-CRIRAcLQ.cjs');
4
+ var logger = require('./persistence-CmQo2P6s.cjs');
5
5
 
6
6
  async function openBrowser(url) {
7
7
  try {
@@ -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-BcDMO5bT.mjs';
6
+ import { l as logger } from './persistence-BQXHMgiQ.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';
@@ -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-CRIRAcLQ.cjs');
8
+ var logger = require('./persistence-CmQo2P6s.cjs');
9
9
  var os = require('node:os');
10
10
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
11
11
  var prompt = require('./prompt-BTWDZZO0.cjs');
@@ -111,6 +111,15 @@ async function main() {
111
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.")
112
112
  }
113
113
  });
114
+ registerForwardedTool("set_bug_status", {
115
+ description: "Move a bug on the user's Happy bug board to another status: close it once a fix is verified, put it back in progress, send it to verification, or return it to pending. Use whenever the user says a bug is fixed, verified, closed, reopened, or should go back to someone.",
116
+ title: "Set Bug Status",
117
+ inputSchema: {
118
+ bug: z.z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
119
+ status: z.z.enum(["pending", "in_progress", "verify", "closed"]).describe("The column to move it to: pending, in_progress, verify, closed."),
120
+ returnToPending: z.z.boolean().optional().describe('Set together with status "pending" when the bug failed verification, so the board records it as a return rather than a plain status change.')
121
+ }
122
+ });
114
123
  registerForwardedTool("delete_bug", {
115
124
  description: "Remove a bug from the user's Happy bug board. The server keeps the row and hides it, so this can be undone by an admin, but it disappears from the board immediately.",
116
125
  title: "Delete Bug",
@@ -109,6 +109,15 @@ async function main() {
109
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.")
110
110
  }
111
111
  });
112
+ registerForwardedTool("set_bug_status", {
113
+ description: "Move a bug on the user's Happy bug board to another status: close it once a fix is verified, put it back in progress, send it to verification, or return it to pending. Use whenever the user says a bug is fixed, verified, closed, reopened, or should go back to someone.",
114
+ title: "Set Bug Status",
115
+ inputSchema: {
116
+ bug: z.string().describe('Which bug, as the user refers to it: "BUG-236", "#236" or "236". An internal bug id also works.'),
117
+ status: z.enum(["pending", "in_progress", "verify", "closed"]).describe("The column to move it to: pending, in_progress, verify, closed."),
118
+ returnToPending: z.boolean().optional().describe('Set together with status "pending" when the bug failed verification, so the board records it as a return rather than a plain status change.')
119
+ }
120
+ });
112
121
  registerForwardedTool("delete_bug", {
113
122
  description: "Remove a bug from the user's Happy bug board. The server keeps the row and hides it, so this can be undone by an admin, but it disappears from the board immediately.",
114
123
  title: "Delete Bug",
@@ -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-BcDMO5bT.mjs';
5
+ import { l as logger } from './persistence-BQXHMgiQ.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-CRIRAcLQ.cjs');
7
+ var logger = require('./persistence-CmQo2P6s.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-BcDMO5bT.mjs';
6
- import { A as ApiClient } from './api-DkLi_kVG.mjs';
5
+ import { r as readCredentials } from './persistence-BQXHMgiQ.mjs';
6
+ import { A as ApiClient } from './api-YBuVWlaq.mjs';
7
7
  import { createServer } from 'http';
8
8
  import { randomBytes, createHash } from 'crypto';
9
- import { o as openBrowser } from './browser-BH7Yz53y.mjs';
9
+ import { o as openBrowser } from './browser-B_jtAH68.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-Cd3VmMtg.mjs';
22
+ import './index-BWTQdvpp.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-BuUtI1-I.mjs';
35
+ import './sessionKeyCache-DlFlTzuJ.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-CRIRAcLQ.cjs');
8
- var api = require('./api-BYlwkdNv.cjs');
7
+ var logger = require('./persistence-CmQo2P6s.cjs');
8
+ var api = require('./api-DCt5MFgg.cjs');
9
9
  var http = require('http');
10
10
  var crypto = require('crypto');
11
- var browser = require('./browser-B1v3MMco.cjs');
11
+ var browser = require('./browser-DUPz5Vfm.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-BNMjIKud.cjs');
24
+ require('./index-Df60Mth_.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-Cv83YxdE.cjs');
37
+ require('./sessionKeyCache-CwFe-TjP.cjs');
38
38
  require('open');
39
39
 
40
40
  const CLIENT_ID$2 = "app_EMoamEEZ73f0CkXaXp7hrann";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var logger = require('./persistence-CRIRAcLQ.cjs');
3
+ var logger = require('./persistence-CmQo2P6s.cjs');
4
4
  var projectPath = require('./projectPath-ChLhdOyt.cjs');
5
5
  var fs = require('fs');
6
6
  var path = require('path');
@@ -1,4 +1,4 @@
1
- import { l as logger, m as readDaemonState, n as clearDaemonState } from './persistence-BcDMO5bT.mjs';
1
+ import { l as logger, m as readDaemonState, n as clearDaemonState } from './persistence-BQXHMgiQ.mjs';
2
2
  import { p as projectPath } from './projectPath-BTBIMB57.mjs';
3
3
  import { readFileSync } from 'fs';
4
4
  import { join } from '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-DZbo7N_4.cjs');
5
+ var cursorApprovalServer = require('./cursorApprovalServer-DwQityDL.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-CRIRAcLQ.cjs');
10
+ require('./persistence-CmQo2P6s.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-BxHnGAAd.mjs';
3
+ import { a as approvalRegistryDir, A as APPROVAL_ENDPOINT_FILE } from './cursorApprovalServer-Da109rLV.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-BcDMO5bT.mjs';
8
+ import './persistence-BQXHMgiQ.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-BcDMO5bT.mjs';
7
+ import { l as logger } from './persistence-BQXHMgiQ.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-CRIRAcLQ.cjs');
9
+ var logger = require('./persistence-CmQo2P6s.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-CRIRAcLQ.cjs');
5
- var auth = require('./auth-BN2MIzje.cjs');
4
+ var logger = require('./persistence-CmQo2P6s.cjs');
5
+ var auth = require('./auth-BbhNRCN-.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-BcDMO5bT.mjs';
3
- import { decryptWithEphemeralKey } from './auth-CLoQ_EpI.mjs';
2
+ import { h as decodeBase64, e as encodeBase64, f as encrypt, g as decrypt, c as configuration } from './persistence-BQXHMgiQ.mjs';
3
+ import { decryptWithEphemeralKey } from './auth-Cz8NAkf1.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-BcDMO5bT.mjs';
3
- import { checkIfDaemonRunningAndCleanupStaleState } from './controlClient-hW34LqD6.mjs';
2
+ import { p as packageJson, c as configuration, a as readSettings, r as readCredentials, m as readDaemonState } from './persistence-BQXHMgiQ.mjs';
3
+ import { checkIfDaemonRunningAndCleanupStaleState } from './controlClient-DVWHSQ9-.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-CRIRAcLQ.cjs');
5
- var controlClient = require('./controlClient-pqJuFXzr.cjs');
4
+ var logger = require('./persistence-CmQo2P6s.cjs');
5
+ var controlClient = require('./controlClient-CuqOwOyn.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-BcDMO5bT.mjs';
1
+ import { l as logger } from './persistence-BQXHMgiQ.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-CRIRAcLQ.cjs');
3
+ var logger = require('./persistence-CmQo2P6s.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-CRIRAcLQ.cjs');
7
- var auth = require('./auth-BN2MIzje.cjs');
6
+ var logger = require('./persistence-CmQo2P6s.cjs');
7
+ var auth = require('./auth-BbhNRCN-.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-B1v3MMco.cjs');
17
+ require('./browser-DUPz5Vfm.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-BcDMO5bT.mjs';
5
- import { decryptWithEphemeralKey } from './auth-CLoQ_EpI.mjs';
4
+ import { r as readCredentials, c as configuration, h as decodeBase64, u as updateSettings, w as writeCredentialsDataKey, o as libsodiumPublicKeyFromSecretKey } from './persistence-BQXHMgiQ.mjs';
5
+ import { decryptWithEphemeralKey } from './auth-Cz8NAkf1.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-BH7Yz53y.mjs';
15
+ import './browser-B_jtAH68.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-BcDMO5bT.mjs';
6
+ import { c as configuration } from './persistence-BQXHMgiQ.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-CRIRAcLQ.cjs');
8
+ var logger = require('./persistence-CmQo2P6s.cjs');
9
9
  var workflowReports = require('./workflowReports-BEWuQesA.cjs');
10
10
  var workflowCommon = require('./workflowCommon-Bl568-rt.cjs');
11
11
  require('node:os');
@@ -1,4 +1,4 @@
1
- import { d as downloadImage } from './downloadImage-0txRA95g.mjs';
1
+ import { d as downloadImage } from './downloadImage-C_vAHjEu.mjs';
2
2
 
3
3
  async function formatMessageForClaude(text, images) {
4
4
  const content = [];
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var downloadImage = require('./downloadImage-CzSm-976.cjs');
3
+ var downloadImage = require('./downloadImage-EOz0lIUN.cjs');
4
4
 
5
5
  async function formatMessageForClaude(text, images) {
6
6
  const content = [];
@@ -252,6 +252,11 @@ const MODEL_MODES = [
252
252
  "claude-haiku-4-5-low",
253
253
  "claude-haiku-4-5-medium",
254
254
  "claude-haiku-4-5-high",
255
+ "gpt-6-astra-low",
256
+ "gpt-6-astra-medium",
257
+ "gpt-6-astra-high",
258
+ "gpt-6-astra-xhigh",
259
+ "gpt-6-astra-max",
255
260
  "gpt-5.6-sol-low",
256
261
  "gpt-5.6-sol-medium",
257
262
  "gpt-5.6-sol-high",
@@ -398,6 +403,11 @@ const CURSOR_MODEL_MODES = [
398
403
  ];
399
404
  const CODEX_MODEL_MODES = [
400
405
  MODEL_MODE_DEFAULT,
406
+ "gpt-6-astra-low",
407
+ "gpt-6-astra-medium",
408
+ "gpt-6-astra-high",
409
+ "gpt-6-astra-xhigh",
410
+ "gpt-6-astra-max",
401
411
  "gpt-5.6-sol-low",
402
412
  "gpt-5.6-sol-medium",
403
413
  "gpt-5.6-sol-high",
@@ -513,6 +523,11 @@ const CLAUDE_MODE_TO_SELECTION = {
513
523
  "claude-haiku-4-5-high": { family: "claude-haiku-4-5", effort: "high" }
514
524
  };
515
525
  const CODEX_MODE_TO_SELECTION = {
526
+ "gpt-6-astra-low": { family: "gpt-6-astra", effort: "low" },
527
+ "gpt-6-astra-medium": { family: "gpt-6-astra", effort: "medium" },
528
+ "gpt-6-astra-high": { family: "gpt-6-astra", effort: "high" },
529
+ "gpt-6-astra-xhigh": { family: "gpt-6-astra", effort: "xhigh" },
530
+ "gpt-6-astra-max": { family: "gpt-6-astra", effort: "max" },
516
531
  "gpt-5.6-sol-low": { family: "gpt-5.6-sol", effort: "low" },
517
532
  "gpt-5.6-sol-medium": { family: "gpt-5.6-sol", effort: "medium" },
518
533
  "gpt-5.6-sol-high": { family: "gpt-5.6-sol", effort: "high" },
@@ -272,6 +272,11 @@ const MODEL_MODES = [
272
272
  "claude-haiku-4-5-low",
273
273
  "claude-haiku-4-5-medium",
274
274
  "claude-haiku-4-5-high",
275
+ "gpt-6-astra-low",
276
+ "gpt-6-astra-medium",
277
+ "gpt-6-astra-high",
278
+ "gpt-6-astra-xhigh",
279
+ "gpt-6-astra-max",
275
280
  "gpt-5.6-sol-low",
276
281
  "gpt-5.6-sol-medium",
277
282
  "gpt-5.6-sol-high",
@@ -418,6 +423,11 @@ const CURSOR_MODEL_MODES = [
418
423
  ];
419
424
  const CODEX_MODEL_MODES = [
420
425
  MODEL_MODE_DEFAULT,
426
+ "gpt-6-astra-low",
427
+ "gpt-6-astra-medium",
428
+ "gpt-6-astra-high",
429
+ "gpt-6-astra-xhigh",
430
+ "gpt-6-astra-max",
421
431
  "gpt-5.6-sol-low",
422
432
  "gpt-5.6-sol-medium",
423
433
  "gpt-5.6-sol-high",
@@ -533,6 +543,11 @@ const CLAUDE_MODE_TO_SELECTION = {
533
543
  "claude-haiku-4-5-high": { family: "claude-haiku-4-5", effort: "high" }
534
544
  };
535
545
  const CODEX_MODE_TO_SELECTION = {
546
+ "gpt-6-astra-low": { family: "gpt-6-astra", effort: "low" },
547
+ "gpt-6-astra-medium": { family: "gpt-6-astra", effort: "medium" },
548
+ "gpt-6-astra-high": { family: "gpt-6-astra", effort: "high" },
549
+ "gpt-6-astra-xhigh": { family: "gpt-6-astra", effort: "xhigh" },
550
+ "gpt-6-astra-max": { family: "gpt-6-astra", effort: "max" },
536
551
  "gpt-5.6-sol-low": { family: "gpt-5.6-sol", effort: "low" },
537
552
  "gpt-5.6-sol-medium": { family: "gpt-5.6-sol", effort: "medium" },
538
553
  "gpt-5.6-sol-high": { family: "gpt-5.6-sol", effort: "high" },