@petercjl/codex-own 0.6.1 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,6 +22,14 @@ Mac 任务使用运行时目录内的私有 zsh 启动文件和 Bash `BASH_ENV`
22
22
 
23
23
  从 0.4.x 的应用内更新按钮升级时,新应用首次打开会显示“正在准备 codex-own 工作环境”,自动从 npm 补齐工具并验证后再进入桌面。下载失败或取消后可重新打开重试,已验证分片会保留。
24
24
 
25
+ ## Windows Agent 的命令环境
26
+
27
+ Windows 桌面在启动 Agent 会话时自动检测并验证系统安装的 Git Bash。通用命令优先显式使用 Bash;注册表、COM、Windows 服务及 PowerShell cmdlet 等操作显式使用 PowerShell。没有可用的 Git Bash 时保留 PowerShell 后备,并报告缺失或无法运行的原因。Git Bash 由系统的 Git for Windows 提供,独立 Node/npm/Python 继续来自 codex-own 私有运行时。
28
+
29
+ 该行为随桌面程序交付,新建、恢复和派生会话均适用,保留用户已有指令与配置。集成终端下拉选项仍单独控制手动终端。底层 Windows 主机环境可以显示 PowerShell;实际执行的 shell 以工具调用中的 `shell` 和执行结果为准。失败命令不会被自动换 shell 重跑。
30
+
31
+ `codex-own doctor` 的 `agentShell` 显示发现的 Bash、PowerShell 路径和后备原因;`desktopAdapterBundled` 表示当前桌面是否包含此能力。只更新 npm 管理工具时,旧桌面需要继续完成桌面更新。复杂 JSON 或脚本优先通过 UTF-8 文件传递。
32
+
25
33
  ## 独立组件版本
26
34
 
27
35
  组件绑定合同 2 分别记录 npm 管理器版本、桌面成品版本和 Node/npm/Python 工具版本。管理器升级可以继续使用已验证的旧桌面和工具;版本号不同是正常的。更新检查按绑定的实际组件判断,相同桌面无需退出、重新下载或切换程序。工具更新保留桌面,重启后采用新工具路径。
@@ -32,6 +40,8 @@ Mac 任务使用运行时目录内的私有 zsh 启动文件和 Bash `BASH_ENV`
32
40
 
33
41
  带有 npm 更新组件的桌面版本会在启动 15 秒后、以及运行期间每 6 小时检查稳定版。也可以打开菜单“更新 → 检查 codex-own 更新…”。发现新版后点击“下载更新”,下载期间可以继续使用 App。下载完成后结束正在运行的任务,点击“重启并安装”;更新进程会等待 App 退出,备份程序及独立数据,再安装并重新打开。
34
42
 
43
+ 从 0.6.3 起,Mac 菜单栏和 Windows 标题栏的独立“更新”入口会显示提醒:`更新 ↓` 表示有新版可下载,`更新 ✓` 表示已下载、等待重启安装。提醒在关闭更新窗口后保留;菜单重建或 Windows 窗口重新加载后继续显示。自动检查仅在应用运行时进行,下载和重启安装由用户确认。
44
+
35
45
  日常应用内更新使用随 App 交付的更新组件,无需手动更新全局 npm 管理工具。API Key、配置、对话和语言偏好会保留。断网时当前 App 保持可用;下载失败可以重试,已校验分片会复用;已准备好的更新会在下次打开时恢复。旧版本首次升级到带更新组件的版本,以及故障恢复,可以使用下文的终端更新命令。
36
46
 
37
47
  ## 增量下载
package/capabilities.json CHANGED
@@ -27,6 +27,15 @@
27
27
  "dataPolicy": "independent external directories; preserve credentials and conversations",
28
28
  "updatePolicy": "desktop checks npm latest at startup and every six hours; explicit download and restart/install; pinned verified build; backup before switch; CLI remains available for recovery",
29
29
  "authentication": "npm install does not grant model access; existing independent credentials remain local",
30
+ "windowsAgentShell": {
31
+ "contract": 1,
32
+ "preferred": "verified system Git Bash; explicit exec_command shell selection",
33
+ "windowsOperations": "explicit PowerShell for Registry, COM, services and PowerShell cmdlets",
34
+ "fallback": "PowerShell when Git Bash is absent or unusable; report reason",
35
+ "scope": "owned bundled CLI stdio app-server thread start, resume and fork; integrated terminal is independent",
36
+ "preservation": "preserve caller developer instructions and private tool environment; no configuration writes or command replay",
37
+ "diagnostics": "doctor.agentShell: discovered executables, fallback reason and desktopAdapterBundled"
38
+ },
30
39
  "distribution": {
31
40
  "runtimeHosts": [
32
41
  "registry.npmjs.org"
package/lib/manager.mjs CHANGED
@@ -10,6 +10,7 @@ import {reuseInstalledBlocks} from './content-blocks.mjs';
10
10
  import {ensureRuntime,validateRuntime,restoreRuntimeSelection} from './tool-runtime.mjs';
11
11
  import {validateBinding,packageManifest,sameDesktop,identity as bindingHash} from './binding.mjs';
12
12
  import {deepseekConfiguration} from './model-configuration.mjs';
13
+ import windowsAgentShell from './windows-agent-shell.cjs';
13
14
 
14
15
  export const packageRoot = path.resolve(import.meta.dirname, '..');
15
16
  export const pkg = JSON.parse(fs.readFileSync(path.join(packageRoot,'package.json'),'utf8'));
@@ -164,4 +165,4 @@ export async function rollback({restoreData=false}={}){const p=paths();return lo
164
165
  if(prev.state?.releaseManifest){const m=prev.state.releaseManifest;if(!prev.runtimeSelection&&m.runtimes)await ensureRuntime(m.runtimes,{p,report:progress});if(m.binding)recordBinding(p,m);}
165
166
  else{const f=path.join(p.manager,'binding.json');if(fs.existsSync(f))fs.renameSync(f,f+'.before-legacy-rollback-'+crypto.randomUUID());}
166
167
  writeState(p,{...(prev.state||{schema:1,identity:'local.codex-own',version:'adopted-legacy',target:p.target}),previous:null});return {ok:true,preserved,dataBackup:backup};});}
167
- export function doctor(){const p=paths(),s=state(p);let tar=true;try{execFileSync(tarExecutable(),['--version'],{stdio:'pipe'});}catch{tar=false;}const pending=fs.existsSync(p.manager)?fs.readdirSync(p.manager).filter(n=>/^transaction-.*\.json$/.test(n)&&!n.endsWith('.complete.json')&&!fs.existsSync(path.join(p.manager,n.replace('.json','.complete.json')))):[];return {ok:tar&&!pending.length,managerVersion:pkg.version,platform:p.platform,supported:['darwin-arm64','win32-x64'].includes(p.platform),installed:s?.version||null,paths:p,tar,pendingTransactions:pending,lock:fs.existsSync(path.join(p.manager,'operation.lock')),configured:fs.existsSync(path.join(p.core,'auth.json')),windowsGuiTested:false};}
168
+ export function doctor(){const p=paths(),s=state(p);let tar=true;try{execFileSync(tarExecutable(),['--version'],{stdio:'pipe'});}catch{tar=false;}const pending=fs.existsSync(p.manager)?fs.readdirSync(p.manager).filter(n=>/^transaction-.*\.json$/.test(n)&&!n.endsWith('.complete.json')&&!fs.existsSync(path.join(p.manager,n.replace('.json','.complete.json')))):[];return {ok:tar&&!pending.length,managerVersion:pkg.version,platform:p.platform,supported:['darwin-arm64','win32-x64'].includes(p.platform),installed:s?.version||null,paths:p,tar,pendingTransactions:pending,lock:fs.existsSync(path.join(p.manager,'operation.lock')),configured:fs.existsSync(path.join(p.core,'auth.json')),agentShell:{...windowsAgentShell.discover(),desktopAdapterBundled:process.platform==='win32'&&fs.existsSync(path.join(p.target,'resources','own-updater','lib','windows-agent-shell.cjs')),policyContract:1},windowsGuiTested:false};}
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+ const fs=require('node:fs'),path=require('node:path');
3
+ const {Transform}=require('node:stream');
4
+ const childProcess=require('node:child_process');
5
+ const {parse}=require('smol-toml');
6
+ const MARKER='codex-own-windows-shell-policy';
7
+ const HOOK=Symbol.for('codex-own.windows-agent-shell');
8
+
9
+ function discover({env=process.env,exists=f=>{try{return fs.statSync(f).isFile()}catch{return false}},probe=f=>childProcess.execFileSync(f,['--version'],{encoding:'utf8',timeout:5000,windowsHide:true}),platform=process.platform}={}){
10
+ if(platform!=='win32')return {supported:false,preferred:null,powershell:null,fallbackReason:null};
11
+ const p=path.win32,dirs=(Object.entries(env).find(([k])=>k.toUpperCase()==='PATH')?.[1]||'').split(';').map(s=>s.trim().replace(/^"(.*)"$/,'$1')).filter(Boolean);
12
+ const roots=[env.ProgramFiles,env['ProgramFiles(x86)'],env.ProgramW6432].filter(Boolean).map(r=>p.join(r,'Git'));
13
+ if(env.LOCALAPPDATA)roots.push(p.join(env.LOCALAPPDATA,'Programs','Git'));
14
+ for(const dir of dirs){if(exists(p.join(dir,'git.exe'))||exists(p.join(dir,'git-bash.exe'))){roots.push(dir,p.dirname(dir));}}
15
+ const candidates=[...new Set(roots.flatMap(r=>[p.join(r,'bin','bash.exe'),p.join(r,'usr','bin','bash.exe')]))];
16
+ let bash=null,version=null,unusable=false;
17
+ for(const file of candidates){if(!exists(file))continue;try{const output=String(probe(file));if(!/^GNU bash,/m.test(output)){unusable=true;continue;}bash=file;version=output.split(/\r?\n/)[0];break;}catch{unusable=true;}}
18
+ const powershell=[...dirs.map(d=>p.join(d,'pwsh.exe')),p.join(env.SystemRoot||env.WINDIR||'C:\\Windows','System32','WindowsPowerShell','v1.0','powershell.exe')].find(exists)||null;
19
+ return {supported:true,preferred:bash?'gitBash':'powershell',bash,bashVersion:version,powershell,fallbackReason:bash?null:unusable?'GIT_BASH_UNUSABLE':'GIT_BASH_NOT_FOUND'};
20
+ }
21
+ function policy(selection){
22
+ const fallback=selection.powershell?JSON.stringify(selection.powershell):'the available Windows PowerShell executable';
23
+ const preferred=selection.bash?
24
+ `The preferred task shell is Git Bash at ${JSON.stringify(selection.bash)}. For general command-line work (Git, file/text operations, Node, npm, Python and portable scripts), set exec_command.shell explicitly to this executable and write Bash syntax. Set login=false unless the task needs login initialization. Use the tool workdir for the working directory; use /c/... paths inside Bash commands when needed.`:
25
+ `Git Bash is unavailable (${selection.fallbackReason}). Use PowerShell at ${fallback} and PowerShell syntax. Report the unavailable Git Bash preference when relevant; do not claim to be running Bash.`;
26
+ return `<${MARKER} version="1">\nWindows task execution policy:\n${preferred}\nFor Windows-specific operations such as Registry, COM, Windows services or PowerShell cmdlets, explicitly set exec_command.shell to ${fallback} and use PowerShell syntax. Honor an explicit user request for another available shell. The environment_context shell describes the native Windows host; the integrated-terminal preference is independent from this task policy. Specify the chosen shell on each exec_command call, including calls composed through other tools. Do not mix Bash and PowerShell syntax in one command. Do not automatically replay a failed command in another shell. For substantial scripts or JSON, use UTF-8 files and pass file paths rather than fragile nested inline quoting. Preserve codex-own's inherited private Node/npm/Python environment.\n</${MARKER}>`;
27
+ }
28
+ function compose(existing,selection){
29
+ const clean=(existing||'').replace(new RegExp(`(?:\\n\\n)?<${MARKER} version="1">[\\s\\S]*?<\\/${MARKER}>`,'g'),'');
30
+ return [clean,policy(selection)].filter(Boolean).join('\n\n');
31
+ }
32
+ function readInstructions(core){
33
+ const file=path.join(core,'config.toml');if(!fs.existsSync(file))return '';
34
+ let config;try{config=parse(fs.readFileSync(file,'utf8'));}catch{throw Object.assign(Error('Invalid private TOML configuration; shell policy was not applied'),{code:'CONFIG_INVALID'});}
35
+ if(config.developer_instructions!==undefined&&typeof config.developer_instructions!=='string')throw Object.assign(Error('developer_instructions must be a string'),{code:'CONFIG_INVALID'});
36
+ return config.developer_instructions||'';
37
+ }
38
+ function request(message,selection,baseline=''){
39
+ if(!selection.supported||!['thread/start','thread/resume','thread/fork'].includes(message?.method)||!message.params||typeof message.params!=='object'||Array.isArray(message.params))return message;
40
+ const original=message.params.developerInstructions??message.params.config?.developer_instructions??baseline;
41
+ if(typeof original!=='string')throw Object.assign(Error('Session developer instructions must be a string'),{code:'SHELL_POLICY_INVALID'});
42
+ return {...message,params:{...message.params,developerInstructions:compose(original,selection)}};
43
+ }
44
+ function inputStream(selection,{baseline=()=>'',maxFrameBytes=64*1024*1024}={}){
45
+ let pending=Buffer.alloc(0);
46
+ return new Transform({transform(chunk,_encoding,done){
47
+ try{pending=Buffer.concat([pending,chunk]);let end;
48
+ while((end=pending.indexOf(10))>=0){const frame=pending.subarray(0,end),rest=pending.subarray(end+1);if(frame.length>maxFrameBytes)throw Object.assign(Error('Agent request exceeds shell-policy framing limit'),{code:'SHELL_POLICY_FRAME_TOO_LARGE'});let message;try{message=JSON.parse(frame.toString('utf8'));}catch{this.push(pending.subarray(0,end+1));pending=rest;continue;}
49
+ const session=selection.supported&&['thread/start','thread/resume','thread/fork'].includes(message?.method)&&message.params&&typeof message.params==='object'&&!Array.isArray(message.params);
50
+ if(!session)this.push(pending.subarray(0,end+1));else this.push(JSON.stringify(request(message,selection,baseline()))+'\n');pending=rest;
51
+ }
52
+ if(pending.length>maxFrameBytes)throw Object.assign(Error('Agent request exceeds shell-policy framing limit'),{code:'SHELL_POLICY_FRAME_TOO_LARGE'});done();
53
+ }catch(error){done(error);}
54
+ },flush(done){if(pending.length)this.push(pending);done();}});
55
+ }
56
+ function serverInvocation(file,args,cli){
57
+ if(typeof file!=='string'||!Array.isArray(args)||path.resolve(file).toLowerCase()!==path.resolve(cli).toLowerCase())return false;
58
+ const index=args.indexOf('app-server');if(index<0||['daemon','proxy','generate-ts','generate-json-schema','help'].includes(args[index+1]))return false;
59
+ const inline=args.find(a=>typeof a==='string'&&a.startsWith('--listen='));if(inline&&inline!=='--listen=stdio://')return false;
60
+ const listen=args.indexOf('--listen');return listen<0||args[listen+1]==='stdio://';
61
+ }
62
+ function install({cli,core,env=process.env,platform=process.platform,processApi=childProcess,selection=discover({env,platform})}={}){
63
+ if(platform!=='win32')return selection;
64
+ if(processApi[HOOK])return processApi[HOOK].selection;
65
+ const original=processApi.spawn;
66
+ processApi.spawn=function(file,args,options){
67
+ const child=original.apply(this,arguments);if(!serverInvocation(file,args,cli)||!child.stdin)return child;
68
+ const target=child.stdin,stream=inputStream(selection,{baseline:()=>readInstructions(core)});
69
+ stream.on('error',error=>{child.emit('error',error);target.destroy();child.kill();});target.on('error',error=>stream.destroy(error));child.once('exit',()=>{stream.destroy();target.destroy();});stream.pipe(target);child.stdin=stream;return child;
70
+ };
71
+ processApi[HOOK]={selection,restore(){processApi.spawn=original;delete processApi[HOOK];}};
72
+ return selection;
73
+ }
74
+ module.exports={discover,policy,compose,readInstructions,request,inputStream,serverInvocation,install,HOOK};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@petercjl/codex-own",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
4
4
  "description": "Independent codex-own desktop installation and update manager",
5
5
  "type": "module",
6
6
  "bin": {
@@ -45,7 +45,7 @@
45
45
  "ownDesktopManifest": {
46
46
  "schema": 2,
47
47
  "repository": "petercjl/codex-own",
48
- "version": "0.6.1",
48
+ "version": "0.6.3",
49
49
  "platforms": {
50
50
  "darwin-arm64": {
51
51
  "entry": "codex-own.app",
@@ -57,8 +57,8 @@
57
57
  "version": "codex-cli 0.156.1-cometix"
58
58
  },
59
59
  "transport": "canonical-tar-cdc-v1",
60
- "size": 2069270528,
61
- "sha256": "b3ee85d92ce77585660ffa6b498cea700bf2fd105910559195ccf757d38e0c01",
60
+ "size": 2069280256,
61
+ "sha256": "3bec71959e4ee0ebd92722dbf72a28ea1c60e26f61089c44e38ec97eaf68d2c3",
62
62
  "parts": [
63
63
  {
64
64
  "sha256": "0b42f2d545aca8e8255bd5fee043156b6851be1bf123d3c74b9ebb578f3f7d32",
@@ -404,11 +404,11 @@
404
404
  "archiveSha256": "c99a078d64811b89c5a6dee82392825acb8fdb4881abf88f8bbc9fda1da67f9e"
405
405
  },
406
406
  {
407
- "sha256": "ea91d3a81d35275eb48d845b55078b61c6569075a6048bb82298179d60e10a43",
408
- "size": 59762688,
409
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hea91d3a81d35275eb48d845b55078b61c6569075a6048bb82298179d60e10a43.tgz",
410
- "archiveSize": 26447505,
411
- "archiveSha256": "cd97dae12c9fb7eb85b381efa49a3460f264400bec81b5e2b3a2a99a52e50011"
407
+ "sha256": "5d9209fd26b0a45518f834ef486d537c92478279fcf3071374964905c833a798",
408
+ "size": 59771904,
409
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h5d9209fd26b0a45518f834ef486d537c92478279fcf3071374964905c833a798.tgz",
410
+ "archiveSize": 26450738,
411
+ "archiveSha256": "2beeb64bb04000b991581d85a01c2e52a86f8a13a10a00806154805d81215b07"
412
412
  },
413
413
  {
414
414
  "sha256": "7cfeb48649874d23596c06c132aea050773133adc936e5d905966a48916f629b",
@@ -425,11 +425,11 @@
425
425
  "archiveSha256": "caa6952e6c00fed43f98c1e5b5eb653ed311f09b35be3aa2afc6d696ff38677b"
426
426
  },
427
427
  {
428
- "sha256": "fc98e60dbd9a45b36bcbc6d334dfa5c9c56f3a5a2937e5bd81de48892f6a057a",
428
+ "sha256": "82254492ed45f1f62e2cb80041fd0109a94116a091b1b47220e5181f463c32aa",
429
429
  "size": 17287710,
430
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hfc98e60dbd9a45b36bcbc6d334dfa5c9c56f3a5a2937e5bd81de48892f6a057a.tgz",
431
- "archiveSize": 15691279,
432
- "archiveSha256": "0fea08981d1bbfe1df66f33b4ad14ac7b5bb1326a09ebea064c4c89f2efa81f6"
430
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h82254492ed45f1f62e2cb80041fd0109a94116a091b1b47220e5181f463c32aa.tgz",
431
+ "archiveSize": 15691273,
432
+ "archiveSha256": "185d67b945a4b4c5d7d2cd62248b211d03ece27cbd6d4b292175ec57015fcb63"
433
433
  },
434
434
  {
435
435
  "sha256": "486eecb966966e046dfade862bdce1b6f29a5d17c1a663832a23b38fece27089",
@@ -460,11 +460,11 @@
460
460
  "archiveSha256": "fa3816195cbaaf7fd2f0cb1b61134b6d41363893bf71f91df2421d2976438cd1"
461
461
  },
462
462
  {
463
- "sha256": "d26a21ecf3dd76ff54bc837b38b4d6cb722699afcc38d60fedda06283baf86cd",
464
- "size": 1778176,
465
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hd26a21ecf3dd76ff54bc837b38b4d6cb722699afcc38d60fedda06283baf86cd.tgz",
466
- "archiveSize": 358237,
467
- "archiveSha256": "52a9648c8a7421e93d180c1f071f06372586954b9cb481de61a7c2d867154352"
463
+ "sha256": "6f615990beb38e0db34bfd076912e97e8e975b2c050d1ba6830aaf9ec583b496",
464
+ "size": 1778688,
465
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h6f615990beb38e0db34bfd076912e97e8e975b2c050d1ba6830aaf9ec583b496.tgz",
466
+ "archiveSize": 358362,
467
+ "archiveSha256": "940fb38a109a683e5db497a15188dbdee3828a687e772ca21d9d95e91d9f6b78"
468
468
  }
469
469
  ]
470
470
  },
@@ -472,14 +472,14 @@
472
472
  "entry": "app",
473
473
  "probe": {
474
474
  "path": "app/resources/codex.exe",
475
- "offset": 1578081280,
475
+ "offset": 1578081792,
476
476
  "size": 184842240,
477
477
  "sha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
478
478
  "version": "codex-cli 0.156.1-cometix"
479
479
  },
480
480
  "transport": "canonical-tar-cdc-v1",
481
- "size": 2288447488,
482
- "sha256": "a4cb2deacfc45eac514196b8ba1b8280b92feb3cdd2e3e44637680a57f2cf10c",
481
+ "size": 2288458240,
482
+ "sha256": "89e29c17e98085a6b8123796fe9c12da2953098fdcd0b419ac1cb9094c53da4c",
483
483
  "parts": [
484
484
  {
485
485
  "sha256": "308461c5561025640d0ed339cca7c440649e8cb13505d6b6e974f2ac93f5069e",
@@ -538,11 +538,11 @@
538
538
  "archiveSha256": "05820fcec6f925b9df6e985d85b6714abf85e73e28c508cec788d61f2f739c97"
539
539
  },
540
540
  {
541
- "sha256": "c2391b3dd90b639116e0503b6fb6e6d0d17dfcd8c87142f706b7ea9d60ae5e21",
542
- "size": 22379008,
543
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hc2391b3dd90b639116e0503b6fb6e6d0d17dfcd8c87142f706b7ea9d60ae5e21.tgz",
544
- "archiveSize": 11368319,
545
- "archiveSha256": "7d94c4f6e93c403c95db869ae3122e911f075de5cff5eda0b00509009307a26f"
541
+ "sha256": "500fc7ae50d6c369028217786b216dd7ad83247f929613818356e8856eef3abf",
542
+ "size": 22379520,
543
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h500fc7ae50d6c369028217786b216dd7ad83247f929613818356e8856eef3abf.tgz",
544
+ "archiveSize": 11368418,
545
+ "archiveSha256": "6b21a76d09ba2d2b4e1c3012a70a63353a983ad0a4c67242c37bdfd50de69a68"
546
546
  },
547
547
  {
548
548
  "sha256": "43ed59166d1d9cdd41ae56a0bcb9aaece2ddc00708f0854f21828494b29315aa",
@@ -573,11 +573,11 @@
573
573
  "archiveSha256": "4e860658c8c13002f05459beb0a677257b62db14db54cfe0c4c172e3fa5d9feb"
574
574
  },
575
575
  {
576
- "sha256": "a6be59bc99ee75ab1b4d0b01c9ddb50619d4ecc24ad6799458b23fed3f116ae0",
577
- "size": 25256136,
578
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.ha6be59bc99ee75ab1b4d0b01c9ddb50619d4ecc24ad6799458b23fed3f116ae0.tgz",
579
- "archiveSize": 6413944,
580
- "archiveSha256": "dc4afdfc65d345b1b1f2466af8685ecd146132d67206ff138485d5c0a8d726cc"
576
+ "sha256": "c68b5f96f6284b41279fde561a7dd920c91787c08ea32922ae40a8ea041c6c2c",
577
+ "size": 25256258,
578
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hc68b5f96f6284b41279fde561a7dd920c91787c08ea32922ae40a8ea041c6c2c.tgz",
579
+ "archiveSize": 6414113,
580
+ "archiveSha256": "d11031dffe641bf1462291cb6eca3e26698f9202c34081f97f207da73ae05704"
581
581
  },
582
582
  {
583
583
  "sha256": "1bcd51da645e356e6a93a4f2fffd0d060c0b01c36817291a4a7a98278811e6f9",
@@ -657,11 +657,11 @@
657
657
  "archiveSha256": "9390cfd18264d1aa1f72a2685e3d11d5506c5157eea962af77f0bd61ef8acfc9"
658
658
  },
659
659
  {
660
- "sha256": "e16a5340e4cb904ca29338c68066f2a89eea6d4e81f0f291d70d3c440f57dc13",
661
- "size": 8861838,
662
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.he16a5340e4cb904ca29338c68066f2a89eea6d4e81f0f291d70d3c440f57dc13.tgz",
663
- "archiveSize": 5268946,
664
- "archiveSha256": "88bcecbfc82fe48a133c89fb8d8aec280704ef62ff8ebdc7666eb85e96ad7e49"
660
+ "sha256": "71c20314bc1630397044c0a1c3cdabd43c01e95b3c005e155cb2948d2d3d1d15",
661
+ "size": 8861716,
662
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h71c20314bc1630397044c0a1c3cdabd43c01e95b3c005e155cb2948d2d3d1d15.tgz",
663
+ "archiveSize": 5268953,
664
+ "archiveSha256": "7a3b93144336b1576516771ebaf671dd3e0d4a88435df3b7638190f8b7cfb4cf"
665
665
  },
666
666
  {
667
667
  "sha256": "b31054bd8cbc9441b217aa6db842a3af4c3f8e0e428e05dd17bf976ac7808ffb",
@@ -881,11 +881,11 @@
881
881
  "archiveSha256": "46ce103d3c585317f55a3ddf2d51777c35efd172bdd20542ab530d5f2bc0e821"
882
882
  },
883
883
  {
884
- "sha256": "4bec4769adbdc7aeb19ae22b8ef27116f433195799d0ada179304275aac84c2c",
885
- "size": 5974016,
886
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h4bec4769adbdc7aeb19ae22b8ef27116f433195799d0ada179304275aac84c2c.tgz",
887
- "archiveSize": 2010691,
888
- "archiveSha256": "ee43496fe0478251d1bed4ad852386700b8ce77cc0982449e8c8db8d7a25d1fc"
884
+ "sha256": "4ae856b89113e4bdc1bec900784a927a63e20abb91968eee2045db10860ccd0c",
885
+ "size": 5984256,
886
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h4ae856b89113e4bdc1bec900784a927a63e20abb91968eee2045db10860ccd0c.tgz",
887
+ "archiveSize": 2013944,
888
+ "archiveSha256": "ea7c50aa1cb283acbf9d64b4159222919ec2353e370a50cf4b6f8622e96f748d"
889
889
  },
890
890
  {
891
891
  "sha256": "15378e38de6292c183145444811610b2bfde8b72bd694127d1a009e020d09859",
@@ -902,11 +902,11 @@
902
902
  "archiveSha256": "541098580cb90b6f0ec96267bd3bb987122dfd1e086f02cf1eeb3a7fee531c5a"
903
903
  },
904
904
  {
905
- "sha256": "8e17bc786208a81288879ccc2fb11615098ebff8c9c143e0eca3c10b2774736a",
905
+ "sha256": "9fe7b983e3ac745a6b5a09c786d5a260e43ff74ae3284fc1bd18b2f033fcc9b4",
906
906
  "size": 34276749,
907
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h8e17bc786208a81288879ccc2fb11615098ebff8c9c143e0eca3c10b2774736a.tgz",
908
- "archiveSize": 27888290,
909
- "archiveSha256": "7af49e01024b32e5adbc3f08a40c605cb7835ec5ead1aff79a51be88dcdba2b9"
907
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h9fe7b983e3ac745a6b5a09c786d5a260e43ff74ae3284fc1bd18b2f033fcc9b4.tgz",
908
+ "archiveSize": 27888292,
909
+ "archiveSha256": "ce2742e28e0d87562b73989c5a4eb561cbd08ea24b1f295e49ab58a1ab794bbc"
910
910
  },
911
911
  {
912
912
  "sha256": "1ed2bf8a8edfa5772517404274b44baf011ec3bbfc89936bc3851d54daee4686",
@@ -948,42 +948,112 @@
948
948
  },
949
949
  "provenance": {
950
950
  "darwin-arm64": {
951
- "upstreamCommit": null,
952
- "ownSourceRef": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
951
+ "nativeBase": {
952
+ "version": "0.6.2",
953
+ "identity": "417962c59809acbe93dcfe2fc39026b921bdf9d2026ce49063b2ea9e6b6e51f6",
954
+ "source": {
955
+ "darwin-arm64": {
956
+ "upstreamCommit": null,
957
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
958
+ "updaterNodeSha256": "3200fbd9f7fd4410426dd541e10d1ab829d3472f270d743c7fabd1696c03fe32",
959
+ "toolchain": {
960
+ "node": "v24.15.0",
961
+ "platform": "darwin-arm64",
962
+ "image": "20260907.0337.1"
963
+ },
964
+ "originalProgramTree": {
965
+ "sha256": "39ea65581aaa0159e90153ccd10308de2380e3e584beb9f406615a1dbeab6722",
966
+ "fileCount": 4012
967
+ },
968
+ "originalAsarSha256": "bf9c41fa9770fbfacfba93042ff71c24cb65c82935819377275faac08103383f",
969
+ "cliSource": "upstream-resolved-vendor",
970
+ "cliSha256": "bdf26c4f03ab64e57162a2f715d0f5b236f4534e60ca92abb989069280066987",
971
+ "cliVersion": "codex-cli 0.156.1-cometix",
972
+ "optionalMissingBindings": []
973
+ },
974
+ "win32-x64": {
975
+ "upstreamCommit": null,
976
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
977
+ "updaterNodeSha256": "3331e1ffe19874215472217c5e94f5a0c6d8e18c4ac7111d3937aa0ad5e9b4a5",
978
+ "toolchain": {
979
+ "node": "v24.15.0",
980
+ "platform": "win32-x64",
981
+ "image": "20261007.264.1"
982
+ },
983
+ "originalProgramTree": {
984
+ "sha256": "c43614b1181aa017272e9cc9e379d523afe28a4901b0d29b8e039c399f5ffbb4",
985
+ "fileCount": 3604
986
+ },
987
+ "originalAsarSha256": "163a18c84db57ad5c50222b313dc4d11d45febc03ec065b516ba9f0380f2eb3f",
988
+ "cliSource": "upstream-resolved-vendor",
989
+ "cliSha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
990
+ "cliVersion": "codex-cli 0.156.1-cometix",
991
+ "optionalMissingBindings": []
992
+ }
993
+ }
994
+ },
995
+ "upgradeNpmUpdater": true,
996
+ "overlaySource": "702edd41b58974e96628084b20d10d1cf1660a7d",
953
997
  "updaterNodeSha256": "3200fbd9f7fd4410426dd541e10d1ab829d3472f270d743c7fabd1696c03fe32",
954
998
  "toolchain": {
955
999
  "node": "v24.15.0",
956
1000
  "platform": "darwin-arm64",
957
1001
  "image": "20260907.0337.1"
958
- },
959
- "originalProgramTree": {
960
- "sha256": "39ea65581aaa0159e90153ccd10308de2380e3e584beb9f406615a1dbeab6722",
961
- "fileCount": 4012
962
- },
963
- "originalAsarSha256": "bf9c41fa9770fbfacfba93042ff71c24cb65c82935819377275faac08103383f",
964
- "cliSource": "upstream-resolved-vendor",
965
- "cliSha256": "bdf26c4f03ab64e57162a2f715d0f5b236f4534e60ca92abb989069280066987",
966
- "cliVersion": "codex-cli 0.156.1-cometix",
967
- "optionalMissingBindings": []
1002
+ }
968
1003
  },
969
1004
  "win32-x64": {
970
- "upstreamCommit": null,
971
- "ownSourceRef": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
1005
+ "nativeBase": {
1006
+ "version": "0.6.2",
1007
+ "identity": "09d8b6120bb202a7cac8a11f4c247f4fd31e63981aedad930b8f9af18dc796ba",
1008
+ "source": {
1009
+ "darwin-arm64": {
1010
+ "upstreamCommit": null,
1011
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
1012
+ "updaterNodeSha256": "3200fbd9f7fd4410426dd541e10d1ab829d3472f270d743c7fabd1696c03fe32",
1013
+ "toolchain": {
1014
+ "node": "v24.15.0",
1015
+ "platform": "darwin-arm64",
1016
+ "image": "20260907.0337.1"
1017
+ },
1018
+ "originalProgramTree": {
1019
+ "sha256": "39ea65581aaa0159e90153ccd10308de2380e3e584beb9f406615a1dbeab6722",
1020
+ "fileCount": 4012
1021
+ },
1022
+ "originalAsarSha256": "bf9c41fa9770fbfacfba93042ff71c24cb65c82935819377275faac08103383f",
1023
+ "cliSource": "upstream-resolved-vendor",
1024
+ "cliSha256": "bdf26c4f03ab64e57162a2f715d0f5b236f4534e60ca92abb989069280066987",
1025
+ "cliVersion": "codex-cli 0.156.1-cometix",
1026
+ "optionalMissingBindings": []
1027
+ },
1028
+ "win32-x64": {
1029
+ "upstreamCommit": null,
1030
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
1031
+ "updaterNodeSha256": "3331e1ffe19874215472217c5e94f5a0c6d8e18c4ac7111d3937aa0ad5e9b4a5",
1032
+ "toolchain": {
1033
+ "node": "v24.15.0",
1034
+ "platform": "win32-x64",
1035
+ "image": "20261007.264.1"
1036
+ },
1037
+ "originalProgramTree": {
1038
+ "sha256": "c43614b1181aa017272e9cc9e379d523afe28a4901b0d29b8e039c399f5ffbb4",
1039
+ "fileCount": 3604
1040
+ },
1041
+ "originalAsarSha256": "163a18c84db57ad5c50222b313dc4d11d45febc03ec065b516ba9f0380f2eb3f",
1042
+ "cliSource": "upstream-resolved-vendor",
1043
+ "cliSha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
1044
+ "cliVersion": "codex-cli 0.156.1-cometix",
1045
+ "optionalMissingBindings": []
1046
+ }
1047
+ }
1048
+ },
1049
+ "upgradeNpmUpdater": true,
1050
+ "overlaySource": "702edd41b58974e96628084b20d10d1cf1660a7d",
972
1051
  "updaterNodeSha256": "3331e1ffe19874215472217c5e94f5a0c6d8e18c4ac7111d3937aa0ad5e9b4a5",
973
1052
  "toolchain": {
974
1053
  "node": "v24.15.0",
975
1054
  "platform": "win32-x64",
976
1055
  "image": "20261007.264.1"
977
- },
978
- "originalProgramTree": {
979
- "sha256": "c43614b1181aa017272e9cc9e379d523afe28a4901b0d29b8e039c399f5ffbb4",
980
- "fileCount": 3604
981
- },
982
- "originalAsarSha256": "163a18c84db57ad5c50222b313dc4d11d45febc03ec065b516ba9f0380f2eb3f",
983
- "cliSource": "upstream-resolved-vendor",
984
- "cliSha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
985
- "cliVersion": "codex-cli 0.156.1-cometix",
986
- "optionalMissingBindings": []
1056
+ }
987
1057
  }
988
1058
  },
989
1059
  "runtimes": {
@@ -1079,26 +1149,26 @@
1079
1149
  },
1080
1150
  "binding": {
1081
1151
  "schema": 1,
1082
- "managerVersion": "0.6.1",
1152
+ "managerVersion": "0.6.3",
1083
1153
  "managerSource": {
1084
1154
  "repository": "petercjl/codex-own",
1085
- "ref": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
1086
- "run": "38888575040",
1155
+ "ref": "702edd41b58974e96628084b20d10d1cf1660a7d",
1156
+ "run": "38996466557",
1087
1157
  "workflow": ".github/workflows/own-release.yml"
1088
1158
  },
1089
1159
  "managerContract": 2,
1090
- "releasePolicyFingerprint": "2bb3d3729d316905b494d5fb97682a8d3e7d1cae84bc2814d1af9d6721f6588b",
1160
+ "releasePolicyFingerprint": "4b65c347e1215a88fb03a0573c04c60fbb6bdfddd3444c4f6f03e89e304a2a02",
1091
1161
  "desktop": {
1092
- "artifactVersion": "0.6.1",
1093
- "publishedIn": "0.6.1",
1094
- "identity": "b9421a263a028f7c975ad9d94b82582b599329304d29da3db1df8273c002621f",
1095
- "inputFingerprint": "182b6501762680e9631f8451286468661c37253955e1449bf72e23b28f275a62",
1096
- "declaredFingerprint": "dc8c30570e950292e1803c5dfb0062225ebc16ee96a5df7cbb9020e6b0ec2284",
1162
+ "artifactVersion": "0.6.3",
1163
+ "publishedIn": "0.6.3",
1164
+ "identity": "fad94c30e16a55c8b1c5e78978ec1157c791f24a7222f91cf65f04e06bd71190",
1165
+ "inputFingerprint": "d013be0613375d18e485d0f0f0e1d179827b5b3f455fc14991948cd01f7fa9f3",
1166
+ "declaredFingerprint": "6fd299b159a4cd5c74bbdab25c79747b1e44611ff7c984ff0a34deca91f97a7e",
1097
1167
  "upstreamFingerprint": "534b9cc3c7f2682d02176e3077af87f763058b193d47988b311b9e1b3277cd61",
1098
1168
  "source": {
1099
1169
  "repository": "petercjl/codex-own",
1100
- "ref": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
1101
- "run": "38888575040",
1170
+ "ref": "702edd41b58974e96628084b20d10d1cf1660a7d",
1171
+ "run": "38996466557",
1102
1172
  "workflow": ".github/workflows/own-release.yml"
1103
1173
  },
1104
1174
  "updaterContract": 2,
package/release.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema": 2,
3
3
  "repository": "petercjl/codex-own",
4
- "version": "0.6.1",
4
+ "version": "0.6.3",
5
5
  "platforms": {
6
6
  "darwin-arm64": {
7
7
  "entry": "codex-own.app",
@@ -13,8 +13,8 @@
13
13
  "version": "codex-cli 0.156.1-cometix"
14
14
  },
15
15
  "transport": "canonical-tar-cdc-v1",
16
- "size": 2069270528,
17
- "sha256": "b3ee85d92ce77585660ffa6b498cea700bf2fd105910559195ccf757d38e0c01",
16
+ "size": 2069280256,
17
+ "sha256": "3bec71959e4ee0ebd92722dbf72a28ea1c60e26f61089c44e38ec97eaf68d2c3",
18
18
  "parts": [
19
19
  {
20
20
  "sha256": "0b42f2d545aca8e8255bd5fee043156b6851be1bf123d3c74b9ebb578f3f7d32",
@@ -360,11 +360,11 @@
360
360
  "archiveSha256": "c99a078d64811b89c5a6dee82392825acb8fdb4881abf88f8bbc9fda1da67f9e"
361
361
  },
362
362
  {
363
- "sha256": "ea91d3a81d35275eb48d845b55078b61c6569075a6048bb82298179d60e10a43",
364
- "size": 59762688,
365
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hea91d3a81d35275eb48d845b55078b61c6569075a6048bb82298179d60e10a43.tgz",
366
- "archiveSize": 26447505,
367
- "archiveSha256": "cd97dae12c9fb7eb85b381efa49a3460f264400bec81b5e2b3a2a99a52e50011"
363
+ "sha256": "5d9209fd26b0a45518f834ef486d537c92478279fcf3071374964905c833a798",
364
+ "size": 59771904,
365
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h5d9209fd26b0a45518f834ef486d537c92478279fcf3071374964905c833a798.tgz",
366
+ "archiveSize": 26450738,
367
+ "archiveSha256": "2beeb64bb04000b991581d85a01c2e52a86f8a13a10a00806154805d81215b07"
368
368
  },
369
369
  {
370
370
  "sha256": "7cfeb48649874d23596c06c132aea050773133adc936e5d905966a48916f629b",
@@ -381,11 +381,11 @@
381
381
  "archiveSha256": "caa6952e6c00fed43f98c1e5b5eb653ed311f09b35be3aa2afc6d696ff38677b"
382
382
  },
383
383
  {
384
- "sha256": "fc98e60dbd9a45b36bcbc6d334dfa5c9c56f3a5a2937e5bd81de48892f6a057a",
384
+ "sha256": "82254492ed45f1f62e2cb80041fd0109a94116a091b1b47220e5181f463c32aa",
385
385
  "size": 17287710,
386
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hfc98e60dbd9a45b36bcbc6d334dfa5c9c56f3a5a2937e5bd81de48892f6a057a.tgz",
387
- "archiveSize": 15691279,
388
- "archiveSha256": "0fea08981d1bbfe1df66f33b4ad14ac7b5bb1326a09ebea064c4c89f2efa81f6"
386
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h82254492ed45f1f62e2cb80041fd0109a94116a091b1b47220e5181f463c32aa.tgz",
387
+ "archiveSize": 15691273,
388
+ "archiveSha256": "185d67b945a4b4c5d7d2cd62248b211d03ece27cbd6d4b292175ec57015fcb63"
389
389
  },
390
390
  {
391
391
  "sha256": "486eecb966966e046dfade862bdce1b6f29a5d17c1a663832a23b38fece27089",
@@ -416,11 +416,11 @@
416
416
  "archiveSha256": "fa3816195cbaaf7fd2f0cb1b61134b6d41363893bf71f91df2421d2976438cd1"
417
417
  },
418
418
  {
419
- "sha256": "d26a21ecf3dd76ff54bc837b38b4d6cb722699afcc38d60fedda06283baf86cd",
420
- "size": 1778176,
421
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hd26a21ecf3dd76ff54bc837b38b4d6cb722699afcc38d60fedda06283baf86cd.tgz",
422
- "archiveSize": 358237,
423
- "archiveSha256": "52a9648c8a7421e93d180c1f071f06372586954b9cb481de61a7c2d867154352"
419
+ "sha256": "6f615990beb38e0db34bfd076912e97e8e975b2c050d1ba6830aaf9ec583b496",
420
+ "size": 1778688,
421
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h6f615990beb38e0db34bfd076912e97e8e975b2c050d1ba6830aaf9ec583b496.tgz",
422
+ "archiveSize": 358362,
423
+ "archiveSha256": "940fb38a109a683e5db497a15188dbdee3828a687e772ca21d9d95e91d9f6b78"
424
424
  }
425
425
  ]
426
426
  },
@@ -428,14 +428,14 @@
428
428
  "entry": "app",
429
429
  "probe": {
430
430
  "path": "app/resources/codex.exe",
431
- "offset": 1578081280,
431
+ "offset": 1578081792,
432
432
  "size": 184842240,
433
433
  "sha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
434
434
  "version": "codex-cli 0.156.1-cometix"
435
435
  },
436
436
  "transport": "canonical-tar-cdc-v1",
437
- "size": 2288447488,
438
- "sha256": "a4cb2deacfc45eac514196b8ba1b8280b92feb3cdd2e3e44637680a57f2cf10c",
437
+ "size": 2288458240,
438
+ "sha256": "89e29c17e98085a6b8123796fe9c12da2953098fdcd0b419ac1cb9094c53da4c",
439
439
  "parts": [
440
440
  {
441
441
  "sha256": "308461c5561025640d0ed339cca7c440649e8cb13505d6b6e974f2ac93f5069e",
@@ -494,11 +494,11 @@
494
494
  "archiveSha256": "05820fcec6f925b9df6e985d85b6714abf85e73e28c508cec788d61f2f739c97"
495
495
  },
496
496
  {
497
- "sha256": "c2391b3dd90b639116e0503b6fb6e6d0d17dfcd8c87142f706b7ea9d60ae5e21",
498
- "size": 22379008,
499
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hc2391b3dd90b639116e0503b6fb6e6d0d17dfcd8c87142f706b7ea9d60ae5e21.tgz",
500
- "archiveSize": 11368319,
501
- "archiveSha256": "7d94c4f6e93c403c95db869ae3122e911f075de5cff5eda0b00509009307a26f"
497
+ "sha256": "500fc7ae50d6c369028217786b216dd7ad83247f929613818356e8856eef3abf",
498
+ "size": 22379520,
499
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h500fc7ae50d6c369028217786b216dd7ad83247f929613818356e8856eef3abf.tgz",
500
+ "archiveSize": 11368418,
501
+ "archiveSha256": "6b21a76d09ba2d2b4e1c3012a70a63353a983ad0a4c67242c37bdfd50de69a68"
502
502
  },
503
503
  {
504
504
  "sha256": "43ed59166d1d9cdd41ae56a0bcb9aaece2ddc00708f0854f21828494b29315aa",
@@ -529,11 +529,11 @@
529
529
  "archiveSha256": "4e860658c8c13002f05459beb0a677257b62db14db54cfe0c4c172e3fa5d9feb"
530
530
  },
531
531
  {
532
- "sha256": "a6be59bc99ee75ab1b4d0b01c9ddb50619d4ecc24ad6799458b23fed3f116ae0",
533
- "size": 25256136,
534
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.ha6be59bc99ee75ab1b4d0b01c9ddb50619d4ecc24ad6799458b23fed3f116ae0.tgz",
535
- "archiveSize": 6413944,
536
- "archiveSha256": "dc4afdfc65d345b1b1f2466af8685ecd146132d67206ff138485d5c0a8d726cc"
532
+ "sha256": "c68b5f96f6284b41279fde561a7dd920c91787c08ea32922ae40a8ea041c6c2c",
533
+ "size": 25256258,
534
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.hc68b5f96f6284b41279fde561a7dd920c91787c08ea32922ae40a8ea041c6c2c.tgz",
535
+ "archiveSize": 6414113,
536
+ "archiveSha256": "d11031dffe641bf1462291cb6eca3e26698f9202c34081f97f207da73ae05704"
537
537
  },
538
538
  {
539
539
  "sha256": "1bcd51da645e356e6a93a4f2fffd0d060c0b01c36817291a4a7a98278811e6f9",
@@ -613,11 +613,11 @@
613
613
  "archiveSha256": "9390cfd18264d1aa1f72a2685e3d11d5506c5157eea962af77f0bd61ef8acfc9"
614
614
  },
615
615
  {
616
- "sha256": "e16a5340e4cb904ca29338c68066f2a89eea6d4e81f0f291d70d3c440f57dc13",
617
- "size": 8861838,
618
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.he16a5340e4cb904ca29338c68066f2a89eea6d4e81f0f291d70d3c440f57dc13.tgz",
619
- "archiveSize": 5268946,
620
- "archiveSha256": "88bcecbfc82fe48a133c89fb8d8aec280704ef62ff8ebdc7666eb85e96ad7e49"
616
+ "sha256": "71c20314bc1630397044c0a1c3cdabd43c01e95b3c005e155cb2948d2d3d1d15",
617
+ "size": 8861716,
618
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h71c20314bc1630397044c0a1c3cdabd43c01e95b3c005e155cb2948d2d3d1d15.tgz",
619
+ "archiveSize": 5268953,
620
+ "archiveSha256": "7a3b93144336b1576516771ebaf671dd3e0d4a88435df3b7638190f8b7cfb4cf"
621
621
  },
622
622
  {
623
623
  "sha256": "b31054bd8cbc9441b217aa6db842a3af4c3f8e0e428e05dd17bf976ac7808ffb",
@@ -837,11 +837,11 @@
837
837
  "archiveSha256": "46ce103d3c585317f55a3ddf2d51777c35efd172bdd20542ab530d5f2bc0e821"
838
838
  },
839
839
  {
840
- "sha256": "4bec4769adbdc7aeb19ae22b8ef27116f433195799d0ada179304275aac84c2c",
841
- "size": 5974016,
842
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h4bec4769adbdc7aeb19ae22b8ef27116f433195799d0ada179304275aac84c2c.tgz",
843
- "archiveSize": 2010691,
844
- "archiveSha256": "ee43496fe0478251d1bed4ad852386700b8ce77cc0982449e8c8db8d7a25d1fc"
840
+ "sha256": "4ae856b89113e4bdc1bec900784a927a63e20abb91968eee2045db10860ccd0c",
841
+ "size": 5984256,
842
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h4ae856b89113e4bdc1bec900784a927a63e20abb91968eee2045db10860ccd0c.tgz",
843
+ "archiveSize": 2013944,
844
+ "archiveSha256": "ea7c50aa1cb283acbf9d64b4159222919ec2353e370a50cf4b6f8622e96f748d"
845
845
  },
846
846
  {
847
847
  "sha256": "15378e38de6292c183145444811610b2bfde8b72bd694127d1a009e020d09859",
@@ -858,11 +858,11 @@
858
858
  "archiveSha256": "541098580cb90b6f0ec96267bd3bb987122dfd1e086f02cf1eeb3a7fee531c5a"
859
859
  },
860
860
  {
861
- "sha256": "8e17bc786208a81288879ccc2fb11615098ebff8c9c143e0eca3c10b2774736a",
861
+ "sha256": "9fe7b983e3ac745a6b5a09c786d5a260e43ff74ae3284fc1bd18b2f033fcc9b4",
862
862
  "size": 34276749,
863
- "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h8e17bc786208a81288879ccc2fb11615098ebff8c9c143e0eca3c10b2774736a.tgz",
864
- "archiveSize": 27888290,
865
- "archiveSha256": "7af49e01024b32e5adbc3f08a40c605cb7835ec5ead1aff79a51be88dcdba2b9"
863
+ "url": "https://registry.npmjs.org/@petercjl/codex-own/-/codex-own-0.0.0-payload.h9fe7b983e3ac745a6b5a09c786d5a260e43ff74ae3284fc1bd18b2f033fcc9b4.tgz",
864
+ "archiveSize": 27888292,
865
+ "archiveSha256": "ce2742e28e0d87562b73989c5a4eb561cbd08ea24b1f295e49ab58a1ab794bbc"
866
866
  },
867
867
  {
868
868
  "sha256": "1ed2bf8a8edfa5772517404274b44baf011ec3bbfc89936bc3851d54daee4686",
@@ -904,42 +904,112 @@
904
904
  },
905
905
  "provenance": {
906
906
  "darwin-arm64": {
907
- "upstreamCommit": null,
908
- "ownSourceRef": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
907
+ "nativeBase": {
908
+ "version": "0.6.2",
909
+ "identity": "417962c59809acbe93dcfe2fc39026b921bdf9d2026ce49063b2ea9e6b6e51f6",
910
+ "source": {
911
+ "darwin-arm64": {
912
+ "upstreamCommit": null,
913
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
914
+ "updaterNodeSha256": "3200fbd9f7fd4410426dd541e10d1ab829d3472f270d743c7fabd1696c03fe32",
915
+ "toolchain": {
916
+ "node": "v24.15.0",
917
+ "platform": "darwin-arm64",
918
+ "image": "20260907.0337.1"
919
+ },
920
+ "originalProgramTree": {
921
+ "sha256": "39ea65581aaa0159e90153ccd10308de2380e3e584beb9f406615a1dbeab6722",
922
+ "fileCount": 4012
923
+ },
924
+ "originalAsarSha256": "bf9c41fa9770fbfacfba93042ff71c24cb65c82935819377275faac08103383f",
925
+ "cliSource": "upstream-resolved-vendor",
926
+ "cliSha256": "bdf26c4f03ab64e57162a2f715d0f5b236f4534e60ca92abb989069280066987",
927
+ "cliVersion": "codex-cli 0.156.1-cometix",
928
+ "optionalMissingBindings": []
929
+ },
930
+ "win32-x64": {
931
+ "upstreamCommit": null,
932
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
933
+ "updaterNodeSha256": "3331e1ffe19874215472217c5e94f5a0c6d8e18c4ac7111d3937aa0ad5e9b4a5",
934
+ "toolchain": {
935
+ "node": "v24.15.0",
936
+ "platform": "win32-x64",
937
+ "image": "20261007.264.1"
938
+ },
939
+ "originalProgramTree": {
940
+ "sha256": "c43614b1181aa017272e9cc9e379d523afe28a4901b0d29b8e039c399f5ffbb4",
941
+ "fileCount": 3604
942
+ },
943
+ "originalAsarSha256": "163a18c84db57ad5c50222b313dc4d11d45febc03ec065b516ba9f0380f2eb3f",
944
+ "cliSource": "upstream-resolved-vendor",
945
+ "cliSha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
946
+ "cliVersion": "codex-cli 0.156.1-cometix",
947
+ "optionalMissingBindings": []
948
+ }
949
+ }
950
+ },
951
+ "upgradeNpmUpdater": true,
952
+ "overlaySource": "702edd41b58974e96628084b20d10d1cf1660a7d",
909
953
  "updaterNodeSha256": "3200fbd9f7fd4410426dd541e10d1ab829d3472f270d743c7fabd1696c03fe32",
910
954
  "toolchain": {
911
955
  "node": "v24.15.0",
912
956
  "platform": "darwin-arm64",
913
957
  "image": "20260907.0337.1"
914
- },
915
- "originalProgramTree": {
916
- "sha256": "39ea65581aaa0159e90153ccd10308de2380e3e584beb9f406615a1dbeab6722",
917
- "fileCount": 4012
918
- },
919
- "originalAsarSha256": "bf9c41fa9770fbfacfba93042ff71c24cb65c82935819377275faac08103383f",
920
- "cliSource": "upstream-resolved-vendor",
921
- "cliSha256": "bdf26c4f03ab64e57162a2f715d0f5b236f4534e60ca92abb989069280066987",
922
- "cliVersion": "codex-cli 0.156.1-cometix",
923
- "optionalMissingBindings": []
958
+ }
924
959
  },
925
960
  "win32-x64": {
926
- "upstreamCommit": null,
927
- "ownSourceRef": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
961
+ "nativeBase": {
962
+ "version": "0.6.2",
963
+ "identity": "09d8b6120bb202a7cac8a11f4c247f4fd31e63981aedad930b8f9af18dc796ba",
964
+ "source": {
965
+ "darwin-arm64": {
966
+ "upstreamCommit": null,
967
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
968
+ "updaterNodeSha256": "3200fbd9f7fd4410426dd541e10d1ab829d3472f270d743c7fabd1696c03fe32",
969
+ "toolchain": {
970
+ "node": "v24.15.0",
971
+ "platform": "darwin-arm64",
972
+ "image": "20260907.0337.1"
973
+ },
974
+ "originalProgramTree": {
975
+ "sha256": "39ea65581aaa0159e90153ccd10308de2380e3e584beb9f406615a1dbeab6722",
976
+ "fileCount": 4012
977
+ },
978
+ "originalAsarSha256": "bf9c41fa9770fbfacfba93042ff71c24cb65c82935819377275faac08103383f",
979
+ "cliSource": "upstream-resolved-vendor",
980
+ "cliSha256": "bdf26c4f03ab64e57162a2f715d0f5b236f4534e60ca92abb989069280066987",
981
+ "cliVersion": "codex-cli 0.156.1-cometix",
982
+ "optionalMissingBindings": []
983
+ },
984
+ "win32-x64": {
985
+ "upstreamCommit": null,
986
+ "ownSourceRef": "d432fe03d07a343d75962e1f8b92bffcd68360fb",
987
+ "updaterNodeSha256": "3331e1ffe19874215472217c5e94f5a0c6d8e18c4ac7111d3937aa0ad5e9b4a5",
988
+ "toolchain": {
989
+ "node": "v24.15.0",
990
+ "platform": "win32-x64",
991
+ "image": "20261007.264.1"
992
+ },
993
+ "originalProgramTree": {
994
+ "sha256": "c43614b1181aa017272e9cc9e379d523afe28a4901b0d29b8e039c399f5ffbb4",
995
+ "fileCount": 3604
996
+ },
997
+ "originalAsarSha256": "163a18c84db57ad5c50222b313dc4d11d45febc03ec065b516ba9f0380f2eb3f",
998
+ "cliSource": "upstream-resolved-vendor",
999
+ "cliSha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
1000
+ "cliVersion": "codex-cli 0.156.1-cometix",
1001
+ "optionalMissingBindings": []
1002
+ }
1003
+ }
1004
+ },
1005
+ "upgradeNpmUpdater": true,
1006
+ "overlaySource": "702edd41b58974e96628084b20d10d1cf1660a7d",
928
1007
  "updaterNodeSha256": "3331e1ffe19874215472217c5e94f5a0c6d8e18c4ac7111d3937aa0ad5e9b4a5",
929
1008
  "toolchain": {
930
1009
  "node": "v24.15.0",
931
1010
  "platform": "win32-x64",
932
1011
  "image": "20261007.264.1"
933
- },
934
- "originalProgramTree": {
935
- "sha256": "c43614b1181aa017272e9cc9e379d523afe28a4901b0d29b8e039c399f5ffbb4",
936
- "fileCount": 3604
937
- },
938
- "originalAsarSha256": "163a18c84db57ad5c50222b313dc4d11d45febc03ec065b516ba9f0380f2eb3f",
939
- "cliSource": "upstream-resolved-vendor",
940
- "cliSha256": "8d12293fc75d495ebc1df360b25a05352dbe6ce0521c3456b5c33a3bb92ab014",
941
- "cliVersion": "codex-cli 0.156.1-cometix",
942
- "optionalMissingBindings": []
1012
+ }
943
1013
  }
944
1014
  },
945
1015
  "runtimes": {
@@ -1035,26 +1105,26 @@
1035
1105
  },
1036
1106
  "binding": {
1037
1107
  "schema": 1,
1038
- "managerVersion": "0.6.1",
1108
+ "managerVersion": "0.6.3",
1039
1109
  "managerSource": {
1040
1110
  "repository": "petercjl/codex-own",
1041
- "ref": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
1042
- "run": "38888575040",
1111
+ "ref": "702edd41b58974e96628084b20d10d1cf1660a7d",
1112
+ "run": "38996466557",
1043
1113
  "workflow": ".github/workflows/own-release.yml"
1044
1114
  },
1045
1115
  "managerContract": 2,
1046
- "releasePolicyFingerprint": "2bb3d3729d316905b494d5fb97682a8d3e7d1cae84bc2814d1af9d6721f6588b",
1116
+ "releasePolicyFingerprint": "4b65c347e1215a88fb03a0573c04c60fbb6bdfddd3444c4f6f03e89e304a2a02",
1047
1117
  "desktop": {
1048
- "artifactVersion": "0.6.1",
1049
- "publishedIn": "0.6.1",
1050
- "identity": "b9421a263a028f7c975ad9d94b82582b599329304d29da3db1df8273c002621f",
1051
- "inputFingerprint": "182b6501762680e9631f8451286468661c37253955e1449bf72e23b28f275a62",
1052
- "declaredFingerprint": "dc8c30570e950292e1803c5dfb0062225ebc16ee96a5df7cbb9020e6b0ec2284",
1118
+ "artifactVersion": "0.6.3",
1119
+ "publishedIn": "0.6.3",
1120
+ "identity": "fad94c30e16a55c8b1c5e78978ec1157c791f24a7222f91cf65f04e06bd71190",
1121
+ "inputFingerprint": "d013be0613375d18e485d0f0f0e1d179827b5b3f455fc14991948cd01f7fa9f3",
1122
+ "declaredFingerprint": "6fd299b159a4cd5c74bbdab25c79747b1e44611ff7c984ff0a34deca91f97a7e",
1053
1123
  "upstreamFingerprint": "534b9cc3c7f2682d02176e3077af87f763058b193d47988b311b9e1b3277cd61",
1054
1124
  "source": {
1055
1125
  "repository": "petercjl/codex-own",
1056
- "ref": "ca534ba6b814769dd6e00b3152d45095ba2643bd",
1057
- "run": "38888575040",
1126
+ "ref": "702edd41b58974e96628084b20d10d1cf1660a7d",
1127
+ "run": "38996466557",
1058
1128
  "workflow": ".github/workflows/own-release.yml"
1059
1129
  },
1060
1130
  "updaterContract": 2,
@@ -36,6 +36,8 @@ Tools own their npm prefix/cache and pip cache; no user/system PATH, shell profi
36
36
 
37
37
  ## Recovery and boundaries
38
38
 
39
+ For Windows Agent shell diagnosis, inspect `doctor.agentShell`: verified system Git Bash is preferred for general task commands, PowerShell remains available for Windows-specific operations, and missing/unusable Bash reports a fallback reason. `desktopAdapterBundled` distinguishes a capable desktop from an upgraded manager with an older desktop. The desktop adds this execution policy to new, resumed and forked Agent sessions while preserving existing developer instructions and the private Node/npm/Python environment. Integrated-terminal settings are independent; verify the actual tool call's explicit `shell` and command result. The Windows host context may still say PowerShell. An explicit user shell choice takes precedence. Never replay a failed command in a different shell without checking its side effects.
40
+
39
41
  Component binding contract 2 requires a bridge desktop with embedded updater contract 2 and tool environment contract 1. Manager releases pin exact immutable artifacts, so their version numbers may differ. A manager-only release is not a desktop update; a tool-only update retains the desktop and uses new paths after restart. Legacy pre-bridge clients may need one CLI upgrade. INCOMPATIBLE_BINDING preserves the installed components; inspect the published binding and compatibility instead of forcing a version match.
40
42
 
41
43
  - APP_RUNNING: request or perform authorized graceful exit, then return to step 3.