{"_id":"cueline","_rev":"38-74721d3c1869cc6708ad067e5cb1922a","name":"cueline","dist-tags":{"latest":"0.7.8"},"versions":{"0.1.0":{"name":"cueline","version":"0.1.0","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.0","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"0bb7315991a6421307a222bbb61106ebcb969dbc","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.0.tgz","fileCount":130,"integrity":"sha512-8xTgtRmMerRqjmb1nXrbefWZ+E6vXoLlxBT4qyWp5qnLFdrr6o/R2kZ/eZzJxYzSdcG6/lBWUzMkkJY18zq4dQ==","signatures":[{"sig":"MEQCIBY+y5EoJdGamfdKwPm3/JerfxJFkQYjy+8I6kDsVeSaAiBxPd+3j4PEmEzitB21UUmRDRbdDeHBhl0io8h8lcAuoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":304345},"type":"module","_from":"file:/tmp/cueline-release-v0.1.0/cueline-0.1.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"python3 \"${CODEX_HOME:-$HOME/.codex}/skills/.system/plugin-creator/scripts/validate_plugin.py\" .","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-release-v0.1.0/cueline-0.1.0.tgz","_integrity":"sha512-8xTgtRmMerRqjmb1nXrbefWZ+E6vXoLlxBT4qyWp5qnLFdrr6o/R2kZ/eZzJxYzSdcG6/lBWUzMkkJY18zq4dQ==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and runs the work on your machine, with a durable record of both.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.0_1784033115382_0.21082224376135383","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"cueline","version":"0.1.1","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.1","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"4638d4746a0e12da11fac4c8091d97fab2a11dbf","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.1.tgz","fileCount":130,"integrity":"sha512-2SRkeAj6EIE8hg0gpHFXoJn1U0I1eLdsuOSHYYxpYi5Mdu5A/uhkSHqnb7WO7lzTEjbQO02vyZojyJ8xrewoPg==","signatures":[{"sig":"MEQCID+AQh/g1XKfujQeC9+chlJR9+6Pvg4bS1WGrC6vBuuGAiBfGNSRi1MeqUMSTa8LhqFuPOtH/De6nseCLvFdBYz0lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376912},"type":"module","_from":"file:/tmp/cueline-v0.1.1.aVr4E9/cueline-0.1.1.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"python3 \"${CODEX_HOME:-$HOME/.codex}/skills/.system/plugin-creator/scripts/validate_plugin.py\" .","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-v0.1.1.aVr4E9/cueline-0.1.1.tgz","_integrity":"sha512-2SRkeAj6EIE8hg0gpHFXoJn1U0I1eLdsuOSHYYxpYi5Mdu5A/uhkSHqnb7WO7lzTEjbQO02vyZojyJ8xrewoPg==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and runs the work on your machine, with a durable record of both.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.1_1784041427476_0.14570028343417984","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"cueline","version":"0.1.2","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.2","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"bf867731b25408f31cf83ebd8ce7f164cfb3cd54","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.2.tgz","fileCount":131,"integrity":"sha512-WyIBd/HbpaXRKpqe6kSgooZ1jHyTmUhyP1krbF9pSggUkmKAM7QCsRz8obQErEZ29U7AuxZ5PWCUx1283z2ExA==","signatures":[{"sig":"MEUCIQDODp3Gt8UCqPtG6XNp95pM/8TCmNt5BPPEdMmi/jg28AIgRxfX50jGAU9YP5BCMHbC+cXkWharH+btUk0fvlYYdLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":382820},"type":"module","_from":"file:cueline-0.1.2.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"python3 \"${CODEX_HOME:-$HOME/.codex}/skills/.system/plugin-creator/scripts/validate_plugin.py\" .","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/Users/vincentw/dev/cueline/cueline-0.1.2.tgz","_integrity":"sha512-WyIBd/HbpaXRKpqe6kSgooZ1jHyTmUhyP1krbF9pSggUkmKAM7QCsRz8obQErEZ29U7AuxZ5PWCUx1283z2ExA==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and runs the work on your machine, with a durable record of both.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.2_1784050817241_0.04936292391207675","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"cueline","version":"0.1.3","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.3","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"2fe6277f6f3c6b50ab4bb373bec827d58347a833","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.3.tgz","fileCount":141,"integrity":"sha512-FdtnXp9SdRteZ6I6bAf1TSehZQFbap316odgHEWPR5jottHxcujNa23KO6Si4OrzbOr0rMfupXPAbQZJZ2YaYQ==","signatures":[{"sig":"MEUCIQCLoLmbBbC3Km+zbY6GRRfDGCvEpC4SLMvRBHrK2RHDYgIgYR35mieg5AMhAdFz5rxrptug2bx3BE0ARclQYGrgXoI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498851},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"c9562d354b12e43157b00735096c40336253f4c2","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and runs the work on your machine, with a durable record of both.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.3_1784054601283_0.0331289049321144","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"cueline","version":"0.1.4","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.4","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"7ab743abc0372fd0d6927901123c9262702034d4","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.4.tgz","fileCount":180,"integrity":"sha512-kh7W6XFgewE4f5Hp5lpok464wolkHWRXovfGrEGmtVRz26P+z71xam5mSVemUwgkd8hpaIOWgnhEBLYPliOPbw==","signatures":[{"sig":"MEUCIDsTJlnwYUfQtpvJFxm/SdRkHerMnJXN8V4RJmCLotEmAiEA5+uDJb+kWHRdO59Sr8YA0bM+aG2IQU0UNepI2HTcl4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":836103},"type":"module","_from":"file:cueline-0.1.4.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/Users/vincentw/dev/cueline/cueline-0.1.4.tgz","_integrity":"sha512-kh7W6XFgewE4f5Hp5lpok464wolkHWRXovfGrEGmtVRz26P+z71xam5mSVemUwgkd8hpaIOWgnhEBLYPliOPbw==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each text command and hands durable local advice to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.4_1784085328901_0.6863986525356973","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"cueline","version":"0.1.5","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.5","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"7c360656890bbe463b103f0efcdfba388e5df1df","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.5.tgz","fileCount":183,"integrity":"sha512-6lm0gR1p3hcHyr8uMrcPrGJuqXr1WHGgI4gQZAJe8URmktR/Xi8qEZ6ZwpRcfIfMlN5mjO3cQbsZk1uezqRDag==","signatures":[{"sig":"MEUCIQC1U12ki+rXof+bYrdyvDZ3Khq6Gq4HhpOvAeKqFHp0kAIgFWxF3pPJN9zbbZm0x/36AVGlUavUoreH0j+7lKcdEeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":848950},"type":"module","_from":"file:/tmp/cueline-release-0.1.5.Y2Z6ax/cueline-0.1.5.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-release-0.1.5.Y2Z6ax/cueline-0.1.5.tgz","_integrity":"sha512-6lm0gR1p3hcHyr8uMrcPrGJuqXr1WHGgI4gQZAJe8URmktR/Xi8qEZ6ZwpRcfIfMlN5mjO3cQbsZk1uezqRDag==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each text command and hands durable local advice to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.5_1784093147765_0.44543837919444984","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"cueline","version":"0.1.6","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.6","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"e4e1aa8ed82b1821284ef972269409e0b325ca36","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.6.tgz","fileCount":186,"integrity":"sha512-eJlHeRhm2luOUYWm8ZKnQfBUOoyL4LiZM7J3rbOlVxA9Cg/Tp+e/fwMbMH1wbhzu0ZGZfCY+V1NR+IsoWNSjMA==","signatures":[{"sig":"MEQCIDT4CL1lENg33XM2XVgS4O9e8ggIhERj4Z2PxLtF99sEAiACR1Gpq8U3wufzZ5/0OLCn5yhwYo33Pxhgz2aX7YfOOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":963450},"type":"module","_from":"file:/tmp/cueline-0.1.6-release.ChS243/cueline-0.1.6.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-0.1.6-release.ChS243/cueline-0.1.6.tgz","_integrity":"sha512-eJlHeRhm2luOUYWm8ZKnQfBUOoyL4LiZM7J3rbOlVxA9Cg/Tp+e/fwMbMH1wbhzu0ZGZfCY+V1NR+IsoWNSjMA==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.6_1784109110534_0.18460966428726877","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"cueline","version":"0.1.7","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.1.7","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"3923ffc4cc9808dc74a0a353ffbef5687b1ea4be","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.1.7.tgz","fileCount":248,"integrity":"sha512-rmItinef7m4n8yHVpvFO9fXLnuKoTnr4cOnm0PHMJj8PRi40ct4vTWeonklATMCt/pXcgzM8JwH7Ia7QycbqXA==","signatures":[{"sig":"MEQCIHCP0NABBzSuJGUMKnRLCpMQ2MkPUXR9iVQqSoJinQV3AiAN5tBrUZfYimmsO930FS0KVJdaDR6gc0/R0Vv0LXL4lA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1328655},"type":"module","_from":"file:cueline-0.1.7.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/Users/vincentw/dev/cueline/cueline-0.1.7.tgz","_integrity":"sha512-rmItinef7m4n8yHVpvFO9fXLnuKoTnr4cOnm0PHMJj8PRi40ct4vTWeonklATMCt/pXcgzM8JwH7Ia7QycbqXA==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.1.7_1784172266652_0.054002745152460285","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"cueline","version":"0.2.0","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.2.0","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"a6ed32872ba55a797ebdca5463e95b8d374daaa1","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.2.0.tgz","fileCount":271,"integrity":"sha512-gb4HlvE4IA2htnVgkhIX/0Trc/w1t+lt9t/3NGhN/aJlcZz59Hs77J98Vyi7fDVfP6RoiOYeQHbPr6gWEi1cLg==","signatures":[{"sig":"MEYCIQD88iammkdWQ16vzYWrksI9DsWRQO3c3wulxsnv8X4IRgIhAOZhwPKvnmI9lKP1jAQR1wbp7SYt8kSAlVyEburTlwpK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1487022},"type":"module","_from":"file:/Users/vincentw/.openclaw/releases/cueline/0.2.0/cueline-0.2.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/Users/vincentw/.openclaw/releases/cueline/0.2.0/cueline-0.2.0.tgz","_integrity":"sha512-gb4HlvE4IA2htnVgkhIX/0Trc/w1t+lt9t/3NGhN/aJlcZz59Hs77J98Vyi7fDVfP6RoiOYeQHbPr6gWEi1cLg==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.2.0_1784209371674_0.9866277244135029","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"cueline","version":"0.2.1","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.2.1","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"a2634986e416638687ce9483c272557ff524f4a0","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.2.1.tgz","fileCount":274,"integrity":"sha512-TTr+8EY0vFZiKU4dBCMrlMjdCLi3TWLBBn3+55xWMUhRlN+7MDlWe4e8Dhz208XllxSbstHQXL6Q/X9KKQ4bQg==","signatures":[{"sig":"MEQCIGZgfzl08jLW8F8fIS2At1p5xe0unOBqamYMUeaMg6UHAiBPmggIk6S5QK1NI1WdYu8lH3++EB6dFft25zPrubFJpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1512439},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"be002bcc011ca580174d4b54b1f68eabd65fd54e","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.2.1_1784258247698_0.004053861908559053","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"cueline","version":"0.2.2","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.2.2","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"fdddc9648ce90c64a36e05ecfcc20e195245b233","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.2.2.tgz","fileCount":274,"integrity":"sha512-ypq2lYDb3MrXTCbxH5XDcxJEOIWtE88LljqKmm0mvHuAARavkQoNxMKmmqDqnn74zzTEY6ZcuKJjhfWI66xKeQ==","signatures":[{"sig":"MEUCIQDk8QCQ9+eE7ZQ8jk5z+yD+1T5euQYxHwhUBSHhf+GnygIgM5moSJB31lWpaPzjoieOuPf/2n0isgb5UDBgu81zObM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1518574},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"0dfa5f1dd1fe73a57f7f6e7cb018f8caba95ebed","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.2.2_1784264541464_0.9010782938023023","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"cueline","version":"0.3.0","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.3.0","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"f74e15f9e0d2db9a890ba8a5155be3520ccc099d","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.3.0.tgz","fileCount":304,"integrity":"sha512-EDUwfc2FQkIgdVNeNuawVlUGR0Nl/eURZev2rso//GMU2EmDJSp8fkQ6ADXAAIxqxltTZ2YOnnJ2xXNJTNoCKQ==","signatures":[{"sig":"MEUCIQDtDY+0pUc2ZevwJSA7ZP4BmiyI2d+OnR8ROOIyngp3EAIgLxNer0g+EKEtQbn9dUQnN+VZgU/9vVv3+CPujBJVUvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1655141},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"bd0f2e21275e67ee310c07d1098785e445480c1a","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.3.0_1784293746985_0.8805236331161963","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"cueline","version":"0.3.1","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.3.1","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"6c35ccdec2a1a780eb576d38afa8ed611873320e","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.3.1.tgz","fileCount":304,"integrity":"sha512-MwSB2pByGcGK7+SyTtx65HkU+HTRLceYth9JwSMVZ6OIgRhCMxwwGs9xXoZerHzyOdSDGz74+/RU0pKM76HwAg==","signatures":[{"sig":"MEYCIQC+w++0yVWEV+ThfcdLZwkqL/nJGoEZbb9rfZCe7nKGbwIhAOouRDEYnhIl9kSXYRCEEndCz0vkdUfpZ018LLKTw88t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1654580},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"eb8c1a5491945ec6e5290973fd8ed4b3b5a4cfd4","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.3.1_1784345231062_0.8537880635046224","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"cueline","version":"0.3.2","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.3.2","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"a23e8a971c0caafcec744bd9c9d23de6b1643770","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.3.2.tgz","fileCount":310,"integrity":"sha512-tXBiOLu8kzcLNiWVZ/vSZJP/Kfc5VstTybs9syfcUXk8VmGfPPCWTeP6ntAuy7ViJOldiq0l2L0ZM7hVqgw9Zg==","signatures":[{"sig":"MEUCIQDgPAX438ULFZF4BQPzXb7yFXyQAeVFVH6NFPNEsuBZtAIgXBsdAKSrI0/ck5LhgzWEvmZ9PhfQ23Xwd6wCIpAgooQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1726379},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"90fe7a8f359c798f3bdf58513fc19cd95f888a5a","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.3.2_1784366275339_0.7769362999281069","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"cueline","version":"0.4.0","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.0","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"43d87c33cc3be732279151f439907f162765ce91","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.0.tgz","fileCount":310,"integrity":"sha512-Sg/VA1VoKahdSR83rFwu1O3RzCeg/fW182iLrssFUGsM2+lfTSyzwpdwGHBJRH4gpqp3YbIFZaOxS0YidpjG0w==","signatures":[{"sig":"MEQCIBFLihSMWrddua6o7X59gROGWkl+LNjWK3HSQapjooVBAiB2vqip+U2rcic2/ImGF6Fl1Yp0duAvZlLjm/oImg76mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1730058},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"78e131988e2b193544a76f583244e136a7f75ab4","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.0_1784369281772_0.3954582089221874","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"cueline","version":"0.4.1","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.1","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"e3d28d149fc1d0067fd68eb262f448062f88e9d2","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.1.tgz","fileCount":310,"integrity":"sha512-XjDTWXHsqHsfOiMDqSkmsRnxIMG24r910vCEyNUtC9OxfFVrMhbNHDCAXEegUwVq4wPJ50diI2YsKoYR8ivV8g==","signatures":[{"sig":"MEUCID59Bax+yFzfMiVWAptgNdXGTN1RpoFtvQBUDO7ni4WjAiEAkfizo/KuxwulZx1fdxEWumyGb8hsEdZ/uoAErctUREM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1729265},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"4888a2c9bbdfba3ccd4483f5f8a2ee3615d82db0","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.1_1784376482053_0.6431248756168055","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"cueline","version":"0.4.2","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.2","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"6e5411a35abac2925c73fdf99e076640a6919f1f","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.2.tgz","fileCount":310,"integrity":"sha512-nIkYAc2VgwLCVSGaZK1HnfTiWsHoJGJYhrHtp4s/OBgxEoA4FD117fphwmv5ONhdg9WnIiwavQxfdTUXTbp5XQ==","signatures":[{"sig":"MEYCIQDHlc393oto0Y64Yci8GZHc/d3KAOEVH0Zc77ZDBUF1BgIhAP6Jk/TOYBWdpr98BZyFQktgqCESRz7pe3Hu6+WIUNbP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1732179},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"25d29b61901d9e30ed42a35c428d4d3b9aecd8bc","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.2_1784388538223_0.4395612891105438","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"cueline","version":"0.4.3","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.3","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"55abc093c757df07eb45b4ccb6ba949f6013faa1","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.3.tgz","fileCount":314,"integrity":"sha512-kthRbFHPmq018dg+oyxwBgUNco0Q/Fj7B2GLo0gAx1Y9thx19f2lhX3l/K0n1HX2pzMzODO1yyGmV11EstXEzA==","signatures":[{"sig":"MEQCIHKN4nvCjGBl8CPR7GxUHa1oQoQc99AJoGikn5bZIAmtAiAHXVxJF2qDH4a1wPIxCMfXV1tPQ34bzoKffAZTW5sYQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1762761},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"326198056a9500075df1cb1ea3bc8636c5b88ed3","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.3_1784439269276_0.17523741226690648","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"cueline","version":"0.4.4","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.4","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"42c3df2db52232e319abe8d6bf2d2a6acbc6b9cf","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.4.tgz","fileCount":314,"integrity":"sha512-9LJz1p7KOTVzWW8042ZCOuEV1lmwlaAsiRt0ukTHrhC7I/Nse3PIGSQarxOklftPdDutFZp7LLndT/PRJ/Px/w==","signatures":[{"sig":"MEUCIQCUD60fTDZAAfQoEZ2/fn/8LtLDExpRzKKnXi/MmCYTjAIgf9ke0WLvPG57DI+S/5wNCS+CbGm6Hf7CzV+O6wfYG1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1764199},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"6f0f796f9db17511bf2db0923c8d306d0e5a5d2b","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.4_1784440831786_0.23513876862028504","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"cueline","version":"0.4.5","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.5","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"2838a2c73830f20c842dff4824aea42ce6ca936c","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.5.tgz","fileCount":314,"integrity":"sha512-Q4knEJPnQYW0UqLvY/Kb6jk2t7EZr0SdxWZ+gGcIQFriQFDC+ZL1U+5HmMF33czPYQAmITCtMiWbavs8HgMuQA==","signatures":[{"sig":"MEQCIAc6nfLBX/5pYxeRY1WGd0LIHmySwpNRPBspI2SFg4c9AiBWse4L9NEwuRUKEERXoedxTvk67FBPAV5JgWNjz70kLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1791615},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"58097d456808b6ed72c3d2b46a89af04ee4f9fa2","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.5_1784508259964_0.07617009612860093","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"cueline","version":"0.4.6","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.6","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"95e1041d9e350150df6776f7fcc9963daf758d15","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.6.tgz","fileCount":314,"integrity":"sha512-qRKAFkKN20g3FsyBgVLD0nJ+M10uDVNOU0PaNIYYf2pUYqbJqvvsRFI3/JqL9GpJjtnpXh40CZMNoZIrxmi17g==","signatures":[{"sig":"MEUCIQCb8E5SQyk4QMZVhUWPOF2FwKJGv0l1Xc1vBA16PqxrLQIgC3jc96bOG+WJ2B1LrJru9/4rp44tZLcFGCYy5U2LbfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1794078},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"6ae2e5a1fa06339c1a028b19f277095fb587a22a","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.6_1784509997367_0.6018629995961282","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"cueline","version":"0.4.7","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.7","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"3fabd5554fbe181c061e63423c710bc822dfe00f","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.7.tgz","fileCount":314,"integrity":"sha512-L9v1h8EBqhUHC5Vws7WUDduWqTXA/zcWRWLHUWl49G/q0uIUIqgVS6DgUbiCHvGnXFtf3E+xmJ9vluhIDCoMbA==","signatures":[{"sig":"MEUCIBuL8d9fEPh+aYsrDhoIwFUmjVjqgVkUQiz3nDBs2L+JAiEAlA/HbJTjQxuYalk0yxgVumjMZg2ula8+guhfox4d7UY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1804884},"type":"module","_from":"file:/tmp/cueline-release-0.4.7.7ahN6G/cueline-0.4.7.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-release-0.4.7.7ahN6G/cueline-0.4.7.tgz","_integrity":"sha512-L9v1h8EBqhUHC5Vws7WUDduWqTXA/zcWRWLHUWl49G/q0uIUIqgVS6DgUbiCHvGnXFtf3E+xmJ9vluhIDCoMbA==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.7_1784515775321_0.2108939018511291","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"cueline","version":"0.4.8","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.4.8","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"f2f864d344563795d435a1d489b24143fde50d72","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.4.8.tgz","fileCount":314,"integrity":"sha512-4+qEVMkKgxCkiHndCuzHzK+FRR4PUP+IdTd79Nya7aNtd8VB8Sy7S9e8nrbC1JE3lDZj0uTNSLuu5KD13FTnow==","signatures":[{"sig":"MEYCIQCNA63HczH/Rv5n1tMzgbTB9FSuXU2f0Ge36ZUhgmZ2ewIhAOyBoHz7+SIhSHekqcIhp4rtyXfL3O42XV/NiJ5N0h8m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1809846},"type":"module","_from":"file:/tmp/cueline-release-0.4.8.oqgM7N/cueline-0.4.8.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-release-0.4.8.oqgM7N/cueline-0.4.8.tgz","_integrity":"sha512-4+qEVMkKgxCkiHndCuzHzK+FRR4PUP+IdTd79Nya7aNtd8VB8Sy7S9e8nrbC1JE3lDZj0uTNSLuu5KD13FTnow==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.4.8_1784520070696_0.26103894237145675","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"cueline","version":"0.5.0","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.5.0","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"be753c1357a4e2e14f1bf1d532a4fed9e001b5f7","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.5.0.tgz","fileCount":314,"integrity":"sha512-76T/c2MklA4y3M+9NVZkl5iFa1FMDaZ2DIAif8QnSjxNYPQH1ExHVrR4y+lwACaDVRCwG0W4q1AbOKUNh/q/pA==","signatures":[{"sig":"MEUCIBnA3eL4vgtYic+gWEr4HqSiiO1RInzRCr69KkyNpffXAiEAruefIh0rVIFJX41Jju06wwVo4o59AVURgkA8CJ5/n6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1870879},"type":"module","_from":"file:/tmp/cueline-release-0.5.0-20260721083435/cueline-0.5.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-release-0.5.0-20260721083435/cueline-0.5.0.tgz","_integrity":"sha512-76T/c2MklA4y3M+9NVZkl5iFa1FMDaZ2DIAif8QnSjxNYPQH1ExHVrR4y+lwACaDVRCwG0W4q1AbOKUNh/q/pA==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.5.0_1784596215035_0.3788715040966446","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"cueline","version":"0.6.0","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.6.0","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"7694ac67db8f32574f2ee4e0d77add4fb5cf45d6","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.6.0.tgz","fileCount":314,"integrity":"sha512-MPMArelU2VRlT5zk4iLXGVCCo9UsonwlegWVrLbgpgsDAGAApgVtqTuX+8lNILDz608yCYjzRXpksTQT3Y1LTA==","signatures":[{"sig":"MEUCIQC1hm+zi+cInS9jXgOsG+gjeYwgktkqferPKVYtdfVIxwIgYoc9UaVT5A3oal90qinw9LhYYIcQVUSOHAQOn0S8ghg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1896245},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"d0183ad25ed8d8d9006a39aa0315b53db112a3f4","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.6.0_1784605140139_0.5264305030306062","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"cueline","version":"0.6.1","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.6.1","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"030d89d0e943c382534644e735005a884b03e975","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.6.1.tgz","fileCount":314,"integrity":"sha512-/Jzr6QCyRQkWUx1UxO+KpHz0j5QKHjlJ5FGf9ZMY67IvV6lp8yv5VyPnq8/IdWob9VnH+yOqG+1//3LSUg8b/w==","signatures":[{"sig":"MEYCIQCCjAd87QahbqdSNHDv52FhSvz/5BYtGA7PVPlmDIFYtAIhAJuaHyVcief+gQbGYuq6qepVGvA+6WgdYNgmsLiPyHEQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1960677},"type":"module","_from":"file:/tmp/cueline-release-0.6.1.fNYQ1b/cueline-0.6.1.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-release-0.6.1.fNYQ1b/cueline-0.6.1.tgz","_integrity":"sha512-/Jzr6QCyRQkWUx1UxO+KpHz0j5QKHjlJ5FGf9ZMY67IvV6lp8yv5VyPnq8/IdWob9VnH+yOqG+1//3LSUg8b/w==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.6.1_1784703120780_0.8548897213631674","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"cueline","version":"0.6.2","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.6.2","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"41bd3bf9ea1f873c2fcd3ffdfd5fe18c75f39063","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.6.2.tgz","fileCount":327,"integrity":"sha512-HxkKK3m81pYv38W6dqumsdW76CKOI92KJ+Iurrr+FOElq9dpvJ1nsvjZwD5OPKd8ChA2B4w9c7jaYAIJWy2xcg==","signatures":[{"sig":"MEUCIQD418kcuQFhlKPFGBX8n0dFbYomtBZ0jdCoqUr4ssx2MQIgfuQwdUO7jhi4dhzCDr99d6Frc5HiWnYSLXdrCHiGgws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2172404},"type":"module","_from":"file:/Users/vincentw/dev/cueline-release-0.6.2.IGp8zF/artifacts/cueline-0.6.2.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/Users/vincentw/dev/cueline-release-0.6.2.IGp8zF/artifacts/cueline-0.6.2.tgz","_integrity":"sha512-HxkKK3m81pYv38W6dqumsdW76CKOI92KJ+Iurrr+FOElq9dpvJ1nsvjZwD5OPKd8ChA2B4w9c7jaYAIJWy2xcg==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.6.2_1784775566002_0.08848778544620206","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"cueline","version":"0.6.3","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.6.3","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"0633bfacba825b94057d4709165a94f63ed285ba","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.6.3.tgz","fileCount":327,"integrity":"sha512-9E5ZJKLxiRiPrASLsT88dR0tbu+stVSqoH60hWaV/x2KqubKw8w+PX8WE07zmvJxQBp0ahfKof/61LjW6tX5fg==","signatures":[{"sig":"MEUCIQDH8S7j2YfVUcp/cWfqGvvAD47uSRVcgZS+E8r/bgl1GwIgTbVy1lk2IK+VexX6dD8rlekRLoIEvZNpaJWe4IBBwlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2177938},"type":"module","_from":"file:/tmp/cueline-0.6.3-artifact.3tp7zh/cueline-0.6.3.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-0.6.3-artifact.3tp7zh/cueline-0.6.3.tgz","_integrity":"sha512-9E5ZJKLxiRiPrASLsT88dR0tbu+stVSqoH60hWaV/x2KqubKw8w+PX8WE07zmvJxQBp0ahfKof/61LjW6tX5fg==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.6.3_1784882178222_0.8485154105623705","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"cueline","version":"0.6.4","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.6.4","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"d5d954960241696c2bc134f9588af45e21a2dbc0","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.6.4.tgz","fileCount":327,"integrity":"sha512-EvPDmsVhwKOBw5CObJz7PYM5SGz8czDFfWa3n8LPGGi7mcIyA0HVGl2Khb2LzveFO9rvt/uNqHrunCwBv9pegg==","signatures":[{"sig":"MEUCIBMTZraRzM42uduVu6bQYZGAg279HZedSQ1nK8MUOrrdAiEA2IMMi5AiLytN33Sm7gSij7C8WAyR079rwTc+jpBZXgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2187330},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"85adfdeb40dfa00d50a5556bd6643af37388f71d","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.6.4_1785045618732_0.27531084467877176","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"cueline","version":"0.7.0","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.0","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"16868c8896ed3519971d3f164e4e97ae9d210b5d","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.0.tgz","fileCount":330,"integrity":"sha512-E8XsrPan0AVtikvePNCcb/e7cb9TGjA/9HwCw7Y7uaYHo41jy+QWQIg9/UPOPAARFO4QlCUJGi4o7+Vq0XpJlA==","signatures":[{"sig":"MEQCIEXPXq3fXsV8NtK5vnSNce7SFty/1CDpD7ydo5W/OVzKAiBf9DvrCcsiAL7m52vM3gDvwthyGxMJVbuMoHn1xlqIPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2224093},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"3815ca40ad32e02c88d4fc8b2b4d9e90d829ac95","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.0_1785079632421_0.7750778701199836","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"cueline","version":"0.7.1","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.1","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"589cf76831e7143902420eb0f790fb62a5b08671","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.1.tgz","fileCount":330,"integrity":"sha512-1eEsjnihZpeJBD8euL4eYIz6UEHEWS4SIVeX9CM/i1OF5sCBsSmJNp5hw9dKcke3fcMeIYMwOLUlUY2c9EX6Gg==","signatures":[{"sig":"MEQCIDobSdTqDY4+ZPwzBhblcYDj99UG0Bvjqs+84wSh2Y0GAiAdqmxdBWOfgmLKtGYW+lXVHnUCdL2u2yUsv0hI/usKfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2234141},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"16f85cb954ec7dd97f4e565255b35d89a5be11b0","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.1_1785196849960_0.7032441448991595","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"cueline","version":"0.7.2","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.2","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"ceb461036baf55eba3e2891088a8e17bc4204fec","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.2.tgz","fileCount":330,"integrity":"sha512-10JGo6jZZFQjzzRSFuyfH2mCc/OjcI+P/k2ctHn0txpB14+MpNFWhS8bN49ZJrl+AC9P1Igxkqq3ww1a4fJysA==","signatures":[{"sig":"MEUCIQCiqRuv32h2pEphsNzeYGJoiDISNOlcbC+aYihY1vhqsgIgYn70y9hOPQgGmbI+dxwyIMa+hGBlwutsFmqQuQfvZMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2243856},"type":"module","_from":"file:/tmp/cueline-0.7.2-release.MUYVGs/cueline-0.7.2.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-0.7.2-release.MUYVGs/cueline-0.7.2.tgz","_integrity":"sha512-10JGo6jZZFQjzzRSFuyfH2mCc/OjcI+P/k2ctHn0txpB14+MpNFWhS8bN49ZJrl+AC9P1Igxkqq3ww1a4fJysA==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.2_1785209557491_0.9443507155905588","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"cueline","version":"0.7.3","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.3","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline"},"dist":{"shasum":"54b7c0c7651e3b3f472048147411c26dde9bd2f9","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.3.tgz","fileCount":331,"integrity":"sha512-BMMaOpSFc9w4ZWGk4T2T1qaPyxkBZgMY0HnxnYXH5t56EZe/DkoysTqUfzDiVuf9AbVKgUFti0WytHnKPICgig==","signatures":[{"sig":"MEQCIEVSwWHoKhPo0RBeh0gTapawnaSH9AeDKebxSe0okCKbAiAYYwL2FPo2aCZyawYiSFnqhkBDJVEzB9epYgX45AKe8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2295349},"type":"module","_from":"file:/tmp/cueline-release-0.7.3.IvXDd5/cueline-0.7.3.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/tmp/cueline-release-0.7.3.IvXDd5/cueline-0.7.3.tgz","_integrity":"sha512-BMMaOpSFc9w4ZWGk4T2T1qaPyxkBZgMY0HnxnYXH5t56EZe/DkoysTqUfzDiVuf9AbVKgUFti0WytHnKPICgig==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.3_1785370187573_0.2532990299011255","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"cueline","version":"0.7.4","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.4","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline","cueline-claude-desktop-lane":"bin/cueline-claude-desktop-lane","cueline-claude-desktop-mailbox":"bin/cueline-claude-desktop-mailbox"},"dist":{"shasum":"d5ddce6b7b221de5c674bc44ceb9832edb9a7f7d","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.4.tgz","fileCount":374,"integrity":"sha512-//JUiZnvtmkA+34Eth8dMFqW0rx6nMTfzRh1/rLncMvumFITJIXr0LcnUIpnREtTQHZ0c3uC1dAfgpHPGAbzHQ==","signatures":[{"sig":"MEQCIEjcg3b8JXkeH/Ckrhjfy59ef2UD1Ui/L5dmTFeIzcpnAiAlP10ekCBABgQXrwt/VDChuNdz6Sv4dbiN8ZOYcWSyVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2514051},"type":"module","_from":"file:/Users/vincentw/.codex/release-artifacts/cueline-0.7.4-final-xEXE7t/cueline-0.7.4.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"_resolved":"/Users/vincentw/.codex/release-artifacts/cueline-0.7.4-final-xEXE7t/cueline-0.7.4.tgz","_integrity":"sha512-//JUiZnvtmkA+34Eth8dMFqW0rx6nMTfzRh1/rLncMvumFITJIXr0LcnUIpnREtTQHZ0c3uC1dAfgpHPGAbzHQ==","repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.4_1786339615375_0.7120853642109948","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"cueline","version":"0.7.5","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.5","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline","cueline-claude-desktop-lane":"bin/cueline-claude-desktop-lane","cueline-claude-desktop-mailbox":"bin/cueline-claude-desktop-mailbox"},"dist":{"shasum":"54505ff727b4adf41b5684e08af4dc0ebdf2468f","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.5.tgz","fileCount":374,"integrity":"sha512-gKaCkhR+5XWsD9a4fH8RgEdoMyDwS+Q6GDeY4ASPuMjFhDZ/MvE7uXkn+DrNlJlyS+jVntE8nIs+RnoBRK7ABA==","signatures":[{"sig":"MEUCIQCHM+hNWUI+5KCCeWFjkwjFLYukTdwjw324Dq9oXs8wBAIgUcM94C9oF+AdH5p9p+doUPeOQSrgjo2EkU2+3HFZQGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2538179},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.5_1786863999155_0.7229474010876331","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"cueline","version":"0.7.6","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.6","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline","cueline-claude-desktop-lane":"bin/cueline-claude-desktop-lane","cueline-claude-desktop-mailbox":"bin/cueline-claude-desktop-mailbox"},"dist":{"shasum":"9818c62f41837f75658bf5dfad1a0c272379715f","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.6.tgz","fileCount":374,"integrity":"sha512-LHT53Wgx3QX2E/kKkyUV4aWauVFue8sKCUbnVR3mGRa9vEItRHza31DBD6HtYdDIuKCDcS3+fTx/tX1VJiqZwA==","signatures":[{"sig":"MEUCIFgN2W9dog9+F/If04baRW84FyG+Z1udU3NDL9a9HuBmAiEA1AcznIDTEOXh7cmlwA6QhlT2vavOadG08rdjBG/F1xk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2575184},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"gitHead":"56d372e0febb8b3463135dc85c82a307bb500b66","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.6_1788224709205_0.2015664758042286","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"cueline","version":"0.7.7","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"author":{"name":"CueLine contributors"},"license":"MIT","_id":"cueline@0.7.7","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"homepage":"https://github.com/Seraphim0916/cueline#readme","bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"bin":{"cueline":"bin/cueline","cueline-claude-desktop-lane":"bin/cueline-claude-desktop-lane","cueline-claude-desktop-mailbox":"bin/cueline-claude-desktop-mailbox"},"dist":{"shasum":"44f56c0e4553e4a050f3f055b49c95d112ae988e","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.7.tgz","fileCount":405,"integrity":"sha512-wZIdKMhwUjM0f2p2DMEEl+N/QkUfsiCEGe+ebIlgQQkhz0q3RYR84DCAykT6G+D4kz2XG58l2NyoKmyp7fPHJw==","signatures":[{"sig":"MEQCIGxb+kziZJnWlk5Ghd6VEoD7rX/7ASH5YSpy6S45fjAgAiBvR3ndv/4GQtLRW7dh7rIhD+2kK5i0Nu2uMvH7uE3sNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDf4UolIPNhF/LLakQQSIj7U+3R29+FF0mZp7cGH6g2MQIgNs86scSB8Ip4pLasOpvWnooam6ZgO6c1EvdYFm76BYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2758769},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"tmp":"tmp/cueline_0.7.7_1791024075653_0.5569147065923399","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"_id":"cueline@0.7.8","bin":{"cueline":"bin/cueline","cueline-claude-desktop-lane":"bin/cueline-claude-desktop-lane","cueline-claude-desktop-mailbox":"bin/cueline-claude-desktop-mailbox"},"bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"dist":{"shasum":"fa5615ebb8e026260700a91204af6cc2fe7aa402","tarball":"https://registry.npmjs.org/cueline/-/cueline-0.7.8.tgz","fileCount":405,"integrity":"sha512-AlDpHhBEV8qaARTNL9x6gDwbueRDwiLfwvUj8WUuLG7bQ/5NYacXps9Cb5YbVfQIoVpynBcgLTHjeUYcHXESpg==","signatures":[{"sig":"MEUCIBGZfr76wwI6Rck2YGy0l4mFpSQOdpAtbbEL+oe5d9IbAiEA6GEnNhsVGee0mw0ZJpO5CyaZavNsCY+7GsmFHZM/AHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCJTbSmUSU8asjfkVo1p9/ESGDpL3xYgh0BKvkYMbDElgIhAM1r6xZv/w48gwJk3TQgtbTIpc3BJLWLCtF8fW9Ivmuf"}],"unpackedSize":2760531},"name":"cueline","type":"module","author":{"name":"CueLine contributors"},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/src/api.d.ts","import":"./dist/src/api.js"}},"license":"MIT","private":false,"scripts":{"test":"npm run build && node --test dist/test/unit/*.test.js dist/test/integration/*.test.js dist/test/smoke/*.test.js","build":"tsc -p tsconfig.json","prepack":"npm run build","test:docs":"node --test test/release/doc-version-guard.test.mjs","test:unit":"npm run build && node --test dist/test/unit/*.test.js","typecheck":"tsc -p tsconfig.json --noEmit","smoke:fake":"npm run build && node --test dist/test/smoke/fake-smoke.test.js","release:check":"node scripts/release-check.mjs","test:artifact":"node --test test/release/artifact-integrity.test.mjs","validate:docs":"node scripts/validate-doc-versions.mjs","artifact:build":"node scripts/artifact-integrity.mjs build","artifact:verify":"node scripts/artifact-integrity.mjs verify","validate:plugin":"node scripts/validate-plugin.mjs","test:integration":"npm run build && node --test dist/test/integration/*.test.js","test:release-check":"node --test test/release/release-check.test.mjs","validate:node-support":"node scripts/validate-node-support.mjs --json","validate:cli-contracts":"npm run build && node scripts/validate-cli-contracts.mjs"},"version":"0.7.8","_npmUser":{"name":"seraphim0916","email":"Seraphim0916@me.com"},"homepage":"https://github.com/Seraphim0916/cueline#readme","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"_npmVersion":"11.16.0","description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","directories":{},"maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"_nodeVersion":"26.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","typescript":"^7.0.2","@types/node":"^22.20.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cueline_0.7.8_1791036098296_0.7064300038188605"}}},"time":{"created":"2026-07-14T12:45:15.228Z","modified":"2026-10-03T14:01:38.592Z","0.1.0":"2026-07-14T12:45:15.544Z","0.1.1":"2026-07-14T15:03:47.665Z","0.1.2":"2026-07-14T17:40:17.425Z","0.1.3":"2026-07-14T18:43:21.441Z","0.1.4":"2026-07-15T03:15:29.084Z","0.1.5":"2026-07-15T05:25:47.956Z","0.1.6":"2026-07-15T09:51:50.718Z","0.1.7":"2026-07-16T03:24:26.834Z","0.2.0":"2026-07-16T13:42:51.879Z","0.2.1":"2026-07-17T03:17:27.852Z","0.2.2":"2026-07-17T05:02:21.624Z","0.3.0":"2026-07-17T13:09:07.263Z","0.3.1":"2026-07-18T03:27:11.233Z","0.3.2":"2026-07-18T09:17:55.511Z","0.4.0":"2026-07-18T10:08:01.908Z","0.4.1":"2026-07-18T12:08:02.217Z","0.4.2":"2026-07-18T15:28:58.440Z","0.4.3":"2026-07-19T05:34:29.474Z","0.4.4":"2026-07-19T06:00:31.952Z","0.4.5":"2026-07-20T00:44:20.135Z","0.4.6":"2026-07-20T01:13:17.523Z","0.4.7":"2026-07-20T02:49:35.570Z","0.4.8":"2026-07-20T04:01:10.920Z","0.5.0":"2026-07-21T01:10:15.189Z","0.6.0":"2026-07-21T03:39:00.392Z","0.6.1":"2026-07-22T06:52:00.955Z","0.6.2":"2026-07-23T02:59:26.143Z","0.6.3":"2026-07-24T08:36:18.364Z","0.6.4":"2026-07-26T06:00:18.907Z","0.7.0":"2026-07-26T15:27:12.577Z","0.7.1":"2026-07-28T00:00:50.144Z","0.7.2":"2026-07-28T03:32:37.669Z","0.7.3":"2026-07-30T00:09:47.821Z","0.7.4":"2026-08-10T05:26:55.532Z","0.7.5":"2026-08-16T07:06:39.359Z","0.7.6":"2026-09-01T01:05:09.461Z","0.7.7":"2026-10-03T10:41:15.805Z","0.7.8":"2026-10-03T14:01:38.412Z"},"bugs":{"url":"https://github.com/Seraphim0916/cueline/issues"},"author":{"name":"CueLine contributors"},"license":"MIT","homepage":"https://github.com/Seraphim0916/cueline#readme","keywords":["chatgpt","codex","controller","orchestration","agent","control-loop","cli","typescript"],"repository":{"url":"git+https://github.com/Seraphim0916/cueline.git","type":"git"},"description":"A ChatGPT web conversation directs; CueLine validates each command and hands durable advice or explicitly claimed work to the current Codex.","maintainers":[{"name":"seraphim0916","email":"Seraphim0916@me.com"}],"readme":"<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/assets/cueline-banner-dark.svg\">\n  <img alt=\"CueLine — ChatGPT 下指令，你的機器執行。\" src=\"docs/assets/cueline-banner-light.svg\" width=\"100%\">\n</picture>\n\n<p align=\"center\">\n  <a href=\"https://github.com/Seraphim0916/cueline/actions/workflows/ci.yml\"><img alt=\"ci\" src=\"https://github.com/Seraphim0916/cueline/actions/workflows/ci.yml/badge.svg\"></a>\n  <a href=\"https://www.npmjs.com/package/cueline\"><img alt=\"npm\" src=\"https://img.shields.io/npm/v/cueline\"></a>\n  <a href=\"package.json\"><img alt=\"node\" src=\"https://img.shields.io/node/v/cueline\"></a>\n  <a href=\"LICENSE\"><img alt=\"license\" src=\"https://img.shields.io/npm/l/cueline\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"README.md\">English</a> · <b>繁體中文</b> · <a href=\"README.zh-CN.md\">简体中文</a> · <a href=\"README.ja.md\">日本語</a> · <a href=\"README.ko.md\">한국어</a>\n</p>\n\nCueLine 讓一個使用 Pro 模型的 ChatGPT 網頁對話決定下一步，再由本機 Codex 或 Claude Code 執行已明確認領的工作。\n它適合想借重網頁模型判斷、又不想把本機工具交給網頁端的開發者。\n每場執行都可接續、可稽核；證據不清楚時，CueLine 會停下來而不是猜測。\n\n<img alt=\"CueLine 架構：ChatGPT 網頁對話每輪發出一道文字指令，CueLine 驗證並記錄，目前的 Codex 執行獲准的本機工作。\" src=\"docs/assets/cueline-architecture-zh-TW.svg\" width=\"100%\">\n\nCueLine 是獨立實作，**沒有任何 runtime npm 相依套件**，也不是 Omnilane 的包裝層。\n\n## CueLine 遇到不確定就停下來\n\nCueLine 採用失敗關閉（fail-closed）設計。送出結果不明、回覆中的 run／round／request 身分不符，或目前的 ChatGPT 分頁無法確定時，CueLine 會凍結該場執行，要求你明確執行 `reconcile`。它不會猜，也不會自行重送。\n\n這個界線很重要：ChatGPT 沒有本機工具，主控端只回傳文字指令；本機 Codex 或 Claude Code 負責提供儲存庫證據、明確認領工作，並決定哪些動作可在本機執行。\n\n## 最新版本：0.7.8\n\n- 執行目錄被刪掉之後再釋放執行租約，現在會以 `RUN_NOT_FOUND` 失敗，不會無限重試、讓行程一直不結束。\n- 租約心跳正占用執行租約時送出呼叫端工作結果，會等最多 10 秒，不再立刻以 `RUN_ALREADY_ACTIVE` 失敗。\n\n完整內容請看 [0.7.8 changelog](CHANGELOG.md#078---2026-10-03)。\n\n### 保留的 0.7.7 變更\n\n- Claude Desktop 主機通道：常駐程式可接續已存的執行與對話，只重試尚未被認領的橋接逾時（最多三次），遇到終止或過期的階段就停止等待，並以 pid 鎖確保每個橋接只有一個常駐程式。橋接請求帶有效期限與常駐程式身分，過期或格式錯誤的請求會被隔離。\n- 找不到可用的 Codex 內建瀏覽器時，接續執行會在動到執行紀錄之前就失敗。\n- 每個支援 `--json` 的指令都有嚴格的 JSON Schema；`cueline doctor` 在狀態目錄對群組或其他使用者開放時會警告，並附上確切的 `chmod` 修正指令。\n- 行程工作在逾時或取消後，即使子孫行程仍握著輸出管線也會結束；呼叫端工作的恢復與認領釋放更加嚴謹。\n\n完整內容請看 [changelog](CHANGELOG.md#077---2026-10-03) 或版本化的 [v0.7.7 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.7.7)。\n\n## 一次執行實際上怎麼跑\n\n<img alt=\"Caller-first CueLine 執行：ChatGPT 下文字命令，目前的 Codex 做本機唯讀查驗，CueLine 回送有界證據直到 complete。\" src=\"docs/assets/cueline-loop-zh-TW.svg\" width=\"100%\">\n\n每一輪：CueLine 先把自己「即將問什麼」寫進紀錄，送出一份觀測（observation）到對話裡，之後再讀回**恰好一個** `<CueLineControl>` 封包。主控端從五個動作裡挑一個——`dispatch`、`wait`、`inspect`、`complete`、`blocked`——封包以外的任何文字都不會被執行。指令若寫錯 run、寫錯輪次，或工作定義有問題，會被退回去做有次數上限的修正，而不是靠猜。迴圈會在單次可靠送出後以 `awaiting_controller` 暫停，也會停在 caller 交接、`complete`、`blocked`，或連續停滯達到保險絲門檻時。\n\n主控指令另有 fail-closed 資源上限：每個封包 131,072 字元、每次 dispatch 最多 64 個工作、每次 wait 或 inspect 最多 256 個明確 job ID。這些檢查發生在註冊工作或啟動行程之前。\n\n主控輪數預設無上限。傳入正整數 `maxRounds` 才會替 run 選用一個跨所有無 owner 暫停的持久總輪數上限；之後續跑通常省略它並沿用既有值，傳入不同數字會被拒絕。預設煞車是持久的 12 輪停滯保險絲：CueLine 會把去除身分欄位的結構化主控命令，連同該輪實際觀測到的工作證據算成指紋；任一項有變化就歸零，連續 12 次沒有變化則以 `stagnation_detected` 關閉 run。\n\n`startCueLineRun` 與 `runCueLine` 都預設使用 `caller` executor。使用內建瀏覽器時，CueLine 只送一次、保存精確對話 URL，然後回傳 `awaiting_controller` 並釋放 runtime lease，不會讓單一工具呼叫卡著等 Pro 思考。之後的 `continueCueLineRun` 只做一次唯讀觀測；若仍未完成，就再次回傳 `awaiting_controller`，絕不重送。`advise` 派工回傳 `awaiting_caller`，沒有副作用 claim，需協調單一 session。`work` 派工回傳 `awaiting_caller_work`，在目前 Codex 呼叫 `claimCueLineCallerJob` 與 `startCueLineCallerWorkLease` 前，絕對尚未開始本機修改。claim 綁定 run、job、task hash、絕對 workdir、canonical 目錄身分、caller identity 與 fencing token；本機工作只能使用它回傳的 `resolvedWorkdir`。heartbeat 只證明 executor 還持有工作；另有持久進度 checkpoint 證明工具、落盤或驗證確實完成。已開始的工作不會自動重試；claim 逾期、連續一小時沒有新進度，或到達 24 小時絕對上限，都會成為 `ambiguous`，必須由 Pro 重新派出一份新工作後才能再修改。Pro 只提出與審查文字指令，沒有親自使用本機工具。\n\nProcess 模式必須同時指定 `executor: \"process\"` 與 `allowProcessExecution: true`，非終態續跑也要再次傳入第二道授權。內建 route 另加 `--ignore-user-config`，不讓隱藏 worker 載入使用者設定的 MCP server 或其命令參數。通道（lane）必須啟用、候選項必須在任何程序啟動**之前**就確認可用、`argv[0]` 必須早已由路由設定註冊。沒有任何東西會經過 shell。唯讀工作預設全域與每 lane 最多同時 2 個；只要批次包含 `work` 就維持串行。狀態會顯示解析後 runner、PID、phase、最後進度時間，以及安全辨識到的 model/provider。\n\n主控協定刻意區分路由層級：`lane` 填的是通道名稱 `default`；`codex-default` 是該通道內的候選執行器，不是通道。CueLine 會在註冊任何工作前先驗證整份 `dispatch`；只要包含無效通道或執行器，整份派工就會被退回修正，不會先執行其中一部分。\n\n這是允許清單（allow-list），不是沙箱。已註冊的工作行程擁有跟 CueLine 行程本身相同的權限；`advise` 對應 Codex 的唯讀沙箱、`work` 對應 `workspace-write`，但你註冊了什麼，就等於你授權了什麼。\n\n## 執行狀態\n\n每場執行都會儲存在 `~/.cueline/runs`，並保留完整的 append-only 事件時間軸。斷線、當機或更換本機 session 都不會抹掉該場執行；可用持久化的 `runId` 接續。\n\n<img alt=\"CueLine 執行狀態：ready、awaiting_controller、awaiting_caller、awaiting_caller_work、complete、blocked、cancelled，以及每個狀態的意義。\" src=\"docs/assets/cueline-states-zh-TW.svg\" width=\"100%\">\n\n`cueline run status <run-id> --json` 回報持久狀態與 `safeNextAction`；`cueline run doctor <run-id> --json` 把同一份快照轉成穩定的 finding 代碼與一個安全的下一步。任何含糊情境——可能已送出的點擊、逾期的已啟動 claim、人工附件送出——CueLine 都會停下來要求明確 reconcile，而不是重送。完整恢復契約見 [state and recovery](docs/state-and-recovery.md)。\n\n## 主控端必須是 Pro 模型\n\n除非輸入框的模型選單顯示 `Pro`，否則 CueLine 拒絕送出。對話若停在別的模型，CueLine 會先把輸入框切成 `Pro`——這是它唯一被允許做的模型切換。在一次已驗證的實機執行中，它把 Instant 切成 Pro，回應回來的是 `gpt-5-6-pro`。\n\n選了不等於證明了。每次回應之後，CueLine 會讀取該則已完成助理訊息的模型 slug，並要求它是 Pro 的 slug；送出與回覆之間若被降級，會被抓出來，而不是被信任。失敗會以 `MODEL_SELECTOR_MISSING`、`PRO_MODEL_UNAVAILABLE`、`PRO_MODEL_SELECTION_FAILED` 或 `PRO_MODEL_MISMATCH` 浮現——絕不會變成一個被接受的答案。\n\nChatGPT Pro 訂閱方案與「選定的 Pro 模型」是兩回事。帳號或個人資料標籤上出現 `Pro`，只是訂閱方案的證據，永遠不算模型證據；只有回應的模型 slug 才算。每一輪實機回合都會保存 `controller_response_received`，帶著 `selected_model_label`、`response_model_slug` 與 `model_evidence_source`，因此「是哪一種證據證明了模型」事後仍可稽核。\n\n## 五分鐘上手\n\n### Codex\n\n下列指令使用預設安裝方式，會同時接好 Codex 與 Claude Code。若只要安裝 Codex，請改用 `cueline install --codex-only`。\n\n你需要 Node.js 22 以上、帶內建瀏覽器的 Codex，以及——若要用內建的預設通道——`PATH` 上有 `codex` CLI。\n\n從 npm registry 安裝：\n\n```bash\nnpm install -g cueline@0.7.8\ncueline install\ncueline doctor\n```\n\n0.7.8 的 GitHub 套件發布後，也可安裝版本化 tarball，並核對隨附的 `.sha256` checksum：\n\n```bash\nnpm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.7.8/cueline-0.7.8.tgz\ncueline install\ncueline doctor\n```\n\n`cueline install` 會建立五條受管理的符號連結，預設同時接好 Codex 與 Claude Code。可用 `--codex-only` 或 `--claude-only` 限定範圍；`--uninstall` 模式只移除 CueLine 自己建立的連結，遇到外來路徑會拒絕取代或移除。\n\n### Claude Code\n\n```bash\nnpm install -g cueline@0.7.8\ncueline install --claude-only\ncueline doctor\nexport CUELINE_HOST_BRIDGE=\"/absolute/path/to/host-bridge\"\ncueline-claude-desktop-lane status\ncueline-claude-desktop-lane daemon \"<task>\"\n```\n\n依下節設定 MCP server，再從 Claude Code Desktop 的 shell 工具以 **Run in background** 模式執行 daemon。不要加上 `&`、`nohup` 或 `disown`。保存回傳的 `runId`，供狀態查詢、復原與接續執行使用。\n\n預設安裝指令是 `cueline install`，會同時接好兩個平台。由模型逐回合驅動瀏覽器的宿主可能需要放寬時窗；請依「設定」一節使用 `CUELINE_COMPOSER_READY_TIMEOUT_MS` 或 `CUELINE_BROWSER_OPERATION_TIMEOUT_MS`。\n\n### MCP server\n\n設定 MCP client 以換行分隔的 stdio 啟動 CueLine：\n\n```json\n{\n  \"mcpServers\": {\n    \"cueline\": {\n      \"command\": \"cueline\",\n      \"args\": [\"mcp\", \"serve\"]\n    }\n  }\n}\n```\n\n這個零執行期相依的 server 實作 MCP `2025-11-25`，提供 start、continue、去敏感化的 status/doctor/list，以及有圍欄的 caller claim/start/heartbeat/progress 工具。它絕不回傳原始逐字稿。除非該次工具呼叫同時設定 `executor: \"process\"` 與 `allowProcessExecution: true`，否則行程執行保持關閉；第一次成功的 caller 工具呼叫會把這條 stdio session 綁定到一個穩定且明確的 `callerId`，之後每次都要帶精確的 claim ID 與圍欄 token。會推進瀏覽器的呼叫需要 server 宿主注入 CueLine 內建的 Browser binding；沒有它的單純子行程會回傳 `IAB_BROWSER_MISSING`，但持久化的 start/status/doctor/list 與 caller 圍欄仍然可用。只有 JSON-safe 的 API 選項會跨越協定；Browser、環境、時鐘與中止 binding 一律由宿主注入。\n\n### 從原始碼安裝\n\n```bash\ngit clone https://github.com/Seraphim0916/cueline.git\ncd cueline\nnpm ci\nnpm run build\n./install.sh      # 為 Codex 與 Claude Code 建立五個符號連結\ncueline doctor\n```\n\n`install.sh` 只建立五個符號連結，不做別的：`~/.codex/skills/cueline`、`~/.claude/skills/cueline-host`（設定 `CLAUDE_CONFIG_DIR` 時改用該目錄下的 `skills/cueline-host`），以及 `~/.local/bin/cueline`、`~/.local/bin/cueline-claude-desktop-lane`、`~/.local/bin/cueline-claude-desktop-mailbox`。預設同時安裝兩個平台；使用 `--codex-only` 或 `--claude-only` 可限制範圍。它拒絕覆寫不屬於自己的路徑，而 `./install.sh --uninstall` 也只會在選定範圍移除自己建立的連結。\n\n接著，在 Codex 裡：\n\n1. 用 Codex 的內建瀏覽器開啟 `https://chatgpt.com` 並登入。\n2. 讓你要當主控的那個對話保持選取狀態——該頁面就是主控端。若沒有已選取的分頁、且同時有多個相符的 ChatGPT 分頁，CueLine 會回傳 `IAB_CHATGPT_TAB_AMBIGUOUS`，而不是擅自挑第一個。它的輸入框必須停在 `Pro` 模型；若不是，CueLine 會替你選成 `Pro`，否則就拒絕送出。\n3. 請 Codex 用 CueLine 處理這件事：*「用 CueLine，讓那個開著的 ChatGPT Pro 對話來指揮這項任務。」*\n4. 留著回傳的 `runId`。中斷的執行要續跑，就靠它。\n\n內建的 `cueline` skill 是從 Codex 自己的 Node runtime 驅動這個套件的——內建瀏覽器的物件就活在那裡。另外開一個單獨的 `node` 行程並不會繼承它。\n\nClaude Code Desktop 可透過套件內附的檔案信箱指令驅動同一套主控核心。操作方式見[用 Claude Code Desktop 驅動 CueLine](docs/claude-desktop-host.md)。\n\n### Claude Code Desktop host\n\nnpm 套件內含 `cueline-host` skill 與兩個指令：\n\n```bash\nexport CUELINE_HOST_BRIDGE=\"/absolute/path/to/host-bridge\"\ncueline-claude-desktop-lane status\ncueline-claude-desktop-lane daemon \"<task>\"\n```\n\n先依上方範例設定 CueLine MCP server，再用 Claude Code Desktop shell 工具的\n**Run in background** 模式啟動 daemon。不要自行加 `&`、`nohup` 或 `disown`；\n背景工作由 Desktop harness 管理。host skill 每次只認領一個信箱請求、執行一個\n瀏覽器動作，再用 `cueline-claude-desktop-mailbox` 原樣發布結果。若狀態顯示動作\n結果不明，先查持久化 lane 證據，不要直接重試動作。\n\n完整安裝、請求方法、階段協定與復原規則：\n[用 Claude Code Desktop 驅動 CueLine](docs/claude-desktop-host.md)。\n\n## 從程式碼驅動\n\n```js\nimport {\n  claimCueLineCallerJob,\n  continueCueLineRun,\n  createCodexIabAdapter,\n  runCueLine,\n  startCueLineCallerWorkLease,\n  submitCueLineCallerJobResult,\n} from \"cueline\";\n\nlet result = await runCueLine({\n  request: \"Inspect the repository, delegate an implementation plan, and report the evidence.\",\n  browser: createCodexIabAdapter({ browser: globalThis.browser }),\n  // 選填並明確啟用：archiveControllerConversationOnComplete: true,\n  // 選填：conversationUrl、routingConfig / routingConfigPath、home、cwd、\n  // runTimeoutMs、signal，以及各工作／預設期限。\n}); // 預設 executor: \"caller\"\n\nwhile ([\"awaiting_controller\", \"awaiting_caller\", \"awaiting_caller_work\"].includes(result.status)) {\n  if (result.status === \"awaiting_controller\") {\n    await waitBeforeNextObservation(); // 有界退避；絕不重送\n  } else if (result.status === \"awaiting_caller\") {\n    for (const job of result.pendingJobs ?? []) {\n      const stdout = await executeExactLocalAdvice(job.spec.task);\n      await submitCueLineCallerJobResult(result.runId, job.jobId, {\n        status: \"succeeded\",\n        stdout,\n      });\n    }\n  } else {\n    for (const job of result.pendingJobs ?? []) {\n      if (job.spec.mode !== \"work\") continue;\n      const claim = await claimCueLineCallerJob(result.runId, job.jobId, {\n        callerId: \"stable-codex-task-identity\",\n      });\n      const proof = {\n        claimId: claim.claimId,\n        callerId: claim.callerId,\n        fencingToken: claim.fencingToken,\n      };\n      const lease = await startCueLineCallerWorkLease(claim);\n      let stdout;\n      try {\n        stdout = await executeExactLocalWork(job.spec.task, claim.resolvedWorkdir, {\n          signal: lease.signal,\n          // 只能在 executor 觀察到工具、checkpoint 或驗證確實完成後呼叫。\n          onCompletedProgress: (progress) => lease.recordProgress(progress),\n        });\n        lease.assertHealthy();\n        await submitCueLineCallerJobResult(\n          result.runId,\n          job.jobId,\n          { status: \"succeeded\", stdout },\n          { claim: proof },\n        );\n      } finally {\n        await lease.stop();\n      }\n    }\n  }\n  result = await continueCueLineRun({ runId: result.runId });\n}\n\nif (result.status === \"complete\") {\n  console.log(result.finalDeliveryText);\n}\n```\n\n直接呼叫程式庫 API 時，`startCueLineCallerWorkLease` 的續租 timer 位於 executor client（呼叫它的那個行程），不在 MCP server，也不由 LLM 逐次決定；透過 MCP 工具時，這個 executor 就是常駐的 MCP server。預設每 60 秒 heartbeat，預設 claim TTL 是五分鐘；heartbeat 只表示「executor 還持有這份工作」。另一個一小時進度期限，只會在 `recordProgress` 持久接受一個新的小寫 SHA-256 證據雜湊，而且種類是 `tool_completed`、`checkpoint_persisted` 或 `verification_completed` 時重算；同一 claim 以前用過的雜湊不能反覆延命。首次持久 start、最新持久進度時間與完整已接受雜湊紀錄都會跨 executor 重啟保留，因此重建 lease 不能把一小時或 24 小時重新歸零。若一小時沒有新進度，lease 會先嘗試寫入 `caller_work_review_required`、把舊 job 標成 `ambiguous`，再中止 `lease.signal`；若連這筆持久寫入也失敗，heartbeat 仍會停止，之後由原本的 claim 逾期機制安全收斂成 `ambiguous`。舊 claim 不會復活：請續跑同一個 CueLine run，讓 Pro 看證據後明確派出新 job。無論有沒有進度，24 小時都是絕對上限，也走同一條重新審查路徑。\n\n長時間工作可在 `cueline_claim_caller_job` 傳入較大的 `ttlMs`（預設 300,000 毫秒，整數範圍 1,000–86,400,000 毫秒）；MCP 伺服器重啟後若出現 `MCP_CALLER_WORK_CLAIM_NOT_IN_SESSION`，須在認領到期前用相同 `callerId` 重新認領，再呼叫 `cueline_start_caller_work_lease`，換身分會得到 `CALLER_WORK_ALREADY_CLAIMED`，已開始但逾期的工作則變成 `ambiguous`，不能恢復或自動重做。\n\n`archiveControllerConversationOnComplete` 預設為 `false`，並在建立 run 時固定。啟用後，CueLine 會先把 `complete` 寫進持久紀錄，再於 Pro 未回答時封存那一個精確對話。點擊 fence 前能證明尚未點擊的失敗可以重試；fence 後只要逾時、重開、換頁或缺少完成證據，就標成 `ambiguous` 且永不再點。`blocked` 與 `cancelled` 一律保留原對話。\n\n若回傳 `awaiting_controller`，代表同一個精確 request 已送出、但 Pro 回覆尚未被觀測；稍後續跑只會唯讀觀測，不會重送。`awaiting_caller` 交接 `advise`；`awaiting_caller_work` 則必須依序 claim、start、執行、heartbeat 與帶 claim proof 提交結果。Pro 網頁從未直接使用本機工具。\n\n`listCueLineRuns()` 是唯讀且已去敏感資訊的 run 清單，可用來找回持久化的 run ID；它不包含主控文字、對話網址、工作內容或 worker 輸出。\n\n`verifyCueLineRun(runId)` 是唯讀完整性檢查，會核對建立 marker、event replay 與 authority fence、選用 snapshot、runtime lease 和 job status 證據；只回傳穩定 finding，不回傳持久 run 內容。\n\n`confirmManualControllerSubmission(runId, …)` 與 `confirmControllerTurnNotSent(runId, …)` 是兩種 reconcile 確認的程式介面。兩者都只追加事件、可重複執行（冪等），也都不驅動瀏覽器、不重送任何東西。\n\nChatGPT 顯示精確的 `Message delivery timed out. Please try again.` assistant 狀態時，屬於另一種恢復情境：user turn 已存在，所以 CueLine 保留同一個 round 與 request，永久記錄去敏感 DOM 證據，而且絕不自動重試。`run status --json` 會回報 `controller_delivery_failed` 與證據雜湊。只有 `run authorize-delivery-retry ... --evidence-hash SHA256` 能授權一次重試；下一次續跑會先重新核對相同身分與空 composer，在點擊前消耗授權，接著在同一個同步頁面任務內重新核對完整 DOM 防護與先前辨識的 scoped target，最後才可能只觸發原 assistant turn 的 `Retry`。它不會填寫 composer，也不會重複附件。若回覆已出現、開始產生或 target 已改變，CueLine 會永久記錄跳過 Retry，優先唯讀接回，完全不點擊。\n\n在 Codex 的 runtime 裡，import `cueline api path` 印出的那個絕對路徑模組——那就是你安裝的那份套件建置出來的 API。\n\n`startCueLineRun` 只建立持久 run 並回傳 `ready`；`runCueLine` 會建立並推進到持久 controller 觀測暫停、caller 交接或終態。續跑前先執行 `cueline run status <run-id> --json`。單一正常送出、非人工、具精確 URL、無 job／pending command／取消的 stale caller observer 可被 fencing 後唯讀恢復；其他 stale 狀態仍須正式接管。`caller_work_pending`、`caller_work_claimed`、`caller_work_running` 分別只允許 `claim_caller_work`、`start_caller_work`、`continue_caller_work`，主控的 `dispatch` 本身不代表本機工作已開始。CLI 的 `run status` 只輸出交接所需 metadata，不包含 task 內文、caller 身分、task hash、workdir 或 runtime owner ID；完成正式 claim 後，API 才會把精確 task 與 workdir 交給獲授權的 caller。\n\n### 釘選的 ChatGPT 主控對話\n\n當某場 run 的 ChatGPT Pro 主控對話以 `/c/<conversation-id>` URL 持久綁定後，CueLine 會自動確保該對話出現在網頁側邊欄的 Pinned 區。這個操作是冪等的：側邊欄選單已有 `Unpin chat` 項目即證明對話已釘選，新的 Pin 點擊也必須產生同樣的證明。釘選狀態以 run 為單位，平行的 run 會各自獨立釘選自己的對話。CueLine 不會自動解除已完成對話的釘選，也不會動到手動釘選的聊天。\n\n### 對話脈絡耗盡時輪替\n\nCueLine 不會猜 90K／400K 軟門檻，也不會把 API context window 當成 ChatGPT 網頁版證據。只有精確綁定的網頁對話已停止回答，而且操作端確認看見脈絡耗盡專屬提示時，才用 `rotateControllerConversation: { trigger: \"operator_confirmed_context_exhausted\", evidence: \"...\" }` 繼續同一個 run。CueLine 會要求恰好一個已持久提交、仍待回覆的 controller turn，先記錄輪替意圖，再開專用新對話、封鎖舊 turn，並在同一個 run 與 round 只提交一次新的觀察。新對話有自己的精確 URL 與 Pin；舊對話和其他並行 run 的 Pin 都保留。一般 timeout、用量／速率限制、政策拒絕、驗證失敗、服務／模型錯誤、selector 遺失或 `Something went wrong` 都不是輪替觸發條件。給 LLM 看的完整呼叫契約在 `skills/cueline/SKILL.md`。\n\n## CLI\n\n核心指令包括 `cueline run status`、`run doctor`、`run timeline`、`run verify`、`run export`、`run reconcile`、`run takeover` 與 `run cancel`。使用 `cueline runs sweep` 清理孤兒 run、`cueline protocol lint` 離線驗證主控信封，或用 `cueline mcp serve` 透過 stdio 提供有界工具。\n\nCLI 不驅動瀏覽器。執行寫入狀態的命令前，先用 `cueline help` 核對完整參數。\n\n| 分組 | 命令 | 效果 |\n| --- | --- | --- |\n| 檢視 | `doctor` · `routing` · `routing explain` · `jobs` · `runs` · `run status` · `run status-at` · `run diff` · `run doctor` · `run watch` · `run timeline` · `run graph` · `run verify` · `run handoff` · `protocol lint` · `api path` · `config path` | 唯讀 |\n| 安裝 | `install` · `uninstall` | 只建立或移除套件擁有的 skill 連結 |\n| 恢復 | `run reconcile` · `run takeover` · `run reconcile-runtime` · `run cancel` / `run stop` · `job cancel` | 追加稽核證據或修改持久 run/job 狀態 |\n\n```console\n$ cueline doctor\nCueLine 0.7.8\nstatus\tok\nnode\t22.14.0\tok\nconfig\t/usr/local/lib/node_modules/cueline/config/routing.default.json\tvalid\nhome\t/Users/you/.cueline\ncaller_ready\tyes\ncaller_lanes\t1\nprocess_available_lanes\t1\n\n$ cueline routing\ndefault\tcodex-default\tavailable\n\n$ cueline run status run_... --json\n{\"status\":\"running\",\"executor\":\"caller\",\"phase\":\"caller_jobs_pending\",\"runtime\":{\"ownership\":\"missing\"},...}\n\n$ cueline run doctor run_... --json\n{\"outcome\":\"action_required\",\"phase\":\"caller_jobs_pending\",\"nextAction\":\"execute_caller_jobs\",...}\n\n$ cueline run reconcile run_... --request-id msg_... --manual-send-confirmed --conversation-url https://chatgpt.com/c/...\nrun_...\\tmsg_...\\tconfirmed\n\n$ cueline run cancel run_...\nrun_...\trequested\taffected_jobs=0\n```\n\nNode 版本太舊、或沒有任何已啟用的 caller 通道時，`cueline doctor` 會以非零狀態結束。`process_available_lanes` 可以是 0 而不影響 caller 模式；只有明確選用 process executor 前才需要用 `cueline routing` 檢查 process 可用性。`cueline api path` 印出的就是 skill 會 import 的模組，所以用打包安裝時完全不需要 clone 原始碼。`cueline help` 會列出每個命令的精確語法，包括 `--json` 與人工 reconcile 的必要確認參數。\n\n0.2.0 新增的四個可觀測性命令全部嚴格唯讀：`run status-at` 依單一精確事件序號重建去敏感的 run 狀態——「那個當下 CueLine 知道什麼」；`run diff` 逐欄比較兩份去敏感的 run 摘要，絕不含原始 prompt 或輸出；`run graph` 把去敏感的 timeline 條目畫成有界的 Mermaid 控制流程圖；`routing explain` 則在任何行程啟動前解釋通道選擇、可用性與淘汰原因，不洩漏 runner 參數（見 [multi-model routing](docs/multi-model-routing.md)）。\n\n實驗性的診斷命令各有專屬文件：\n\n| 命令 | 用途 | 文件 |\n| --- | --- | --- |\n| `run doctor` | 把 run 快照轉成穩定 finding 代碼、有界證據與一個安全下一步，不寫入任何狀態 | [run-doctor](docs/experiments/run-doctor.md) |\n| `run watch` | 以持久事件序號為游標，做有界、不佔 lease 的觀察 | [run-watch](docs/experiments/run-watch.md) |\n| `protocol lint` | 離線驗證 Pro 封包，一次回報所有已知的契約修正 | [protocol-lint](docs/experiments/protocol-lint.md) |\n| `run handoff` | 產出帶精確身分與絕對路徑的安全重啟包 | [run-handoff](docs/experiments/run-handoff.md) |\n| `run timeline` | 去敏感、游標分頁的稽核視圖，不含原始事件內容 | [run-timeline](docs/experiments/run-timeline.md) |\n\n只有 `run status` 明確顯示 stale owner 時才能用 `run takeover`。新鮮的 active heartbeat 會被拒絕；命令回傳 `next: continue` 或 `next: reconcile_runtime`，請照該值行動，不要自行猜測。\n\n## 設定\n\nClaude Code 宿主車道可用 `CUELINE_COMPOSER_READY_TIMEOUT_MS` 與 `CUELINE_BROWSER_OPERATION_TIMEOUT_MS` 覆寫 120000 與 180000 毫秒的預設值。兩者都必須是 1000–3600000 的整數；非法值會擲出具名錯誤，不會靜默採用預設值。\n\n`CUELINE_CONFIG` 用來指定路由設定檔；`CUELINE_HOME` 用來搬動本機狀態（預設 `~/.cueline`）。\n\nCaller 模式不會啟動路由行程。只有同時選擇 `executor: \"process\"` 與 `allowProcessExecution: true` 時，內建的 `default` 通道才會以 `codex-default` 執行隔離的 `codex exec --ignore-user-config`；`advise` 用 `read-only`、`work` 用 `workspace-write`。要註冊不同的 process worker，複製 [`config/routing.default.json`](config/routing.default.json)、加入你的候選項，再把 `CUELINE_CONFIG` 指過去。\n\n要註冊多個對應不同模型的候選項，以及 advise 專用 wrapper 的範例，見 [multi-model routing](docs/multi-model-routing.md)。\n\n狀態放在 `CUELINE_HOME` 底下：\n\n```text\nruns/<run-id>/events.jsonl + events.jsonl.segments/   只追加、具權威性\nruns/<run-id>/runtime.json.fence + runtime.json.epochs/   有世代隔離的活 owner heartbeat 證據\nruns/<run-id>/runtime.json.retired-owners/   不可變的舊 owner 事件截止點\nruns/<run-id>/runtime.json.takeover-intents/   不可變的精確 takeover 嘗試紀錄\nruns/<run-id>/cancel.json    存在時代表持久取消要求\nruns/<run-id>/snapshot.json   重播的最佳化產物，可丟棄\njobs/<job-id>.json            每個工作的執行證據\n```\n\n事件日誌才是紀錄本身：主控端的這一輪在送出之前就先寫下、工作在行程啟動之前就先註冊，所以「意圖」與「副作用」之間若被中斷，會留下痕跡。壞掉的快照會被忽略、從第 1 號事件重建，而不是硬信它。\n\n續跑只會接回完全相同的對話網址。ChatGPT 把長文字自動轉成附件時，CueLine 會辨識 `attachment_ready`，且最多只點一次；模糊點擊一律記為 `possibly_sent`，絕不補點或重送。只有實際可見、啟用且可操作的 Stop 按鈕才表示 Pro 仍在回答；隱藏殘留按鈕不會擋住完成回覆。若操作者手動送出附件，用 `cueline run reconcile RUN_ID --request-id REQUEST_ID --manual-send-confirmed` 寫入正式確認；之後仍須通過完全相同的 conversation、Pro 證據與 protocol/run/round/request identity 才能唯讀接回。\n\n相反方向的確認則處理「點擊確定沒送達」的情境：操作者親自檢視那個精確對話、確認訊息不存在後，用 `cueline run reconcile ... --not-sent-confirmed --conversation-url URL` 以只追加的方式放棄舊的 request 身分，並授權恰好一次同 prompt 重試（使用新的確定性 request ID）。兩個旗標互斥；若被放棄的訊息或其回應事後仍然出現，CueLine 會凍結該 run 交人工裁決，絕不接受或重送。\n\nPro 回答時絕不要打斷它，也不要用 `Answer now`、`Respond now`、`Stop` 或任何等效的加速控制。Pro 沒有本機工具，也不預設知道 repository 佈局或本機路徑。Caller 證據必須包含精確的代碼／錯誤識別字、相關程式碼摘錄與絕對本機路徑，並明確詢問 Pro 是否還需要更多本機證據。\n\n送給主控的工作證據優先採用成功且非空的 stdout，全體共用 12,000 字元上限；完整 stdout/stderr 仍保留在本機 job status。若 Pro 接受 `inspect(job_ids)`，下一輪會先替指定 job 保留證據預算，再處理無關工作。\n\n## 驗證\n\n```bash\nnpm ci\nnpm run typecheck\nnpm test\nnpm run smoke:fake\nbash test/shell/install.test.sh\nnpm pack --dry-run\n```\n\n`npm run smoke:fake` 會用假的瀏覽器與假的 runner，離線跑完整個主控迴圈。它證明的是迴圈，不是線上頁面——只有真正透過內建瀏覽器完成一輪，才能證明後者。\n\n## 0.7.8 的已知限制\n\n只支援文字控制命令。一次執行只對應一個對話。選成 `Pro` 是 CueLine 唯一會做的模型切換。支援 ChatGPT 自動把長文字轉成附件，但不支援主動上傳檔案、圖片、Deep Research、Projects 或 Apps。Caller `work` 必須經過明確 claim/start；長工作需要 executor heartbeat 與 executor 回報的已完成進度 checkpoint，CueLine 不會把 LLM 文字當成進度。process 執行則要雙重明確授權。任何模糊送出或已啟動工作都不會被自動重試。macOS 是主要桌面目標、Linux 是 CI 目標；Windows 未驗證。adapter 依賴目前的 ChatGPT 網頁 UI，UI 改版會被明確浮現，絕不變成捏造的答案。\n\n完整矩陣見 [compatibility](docs/compatibility.md)。\n\n## 文件\n\n| 文件 | 內容 |\n| --- | --- |\n| [architecture](docs/architecture.md) | 各元件如何組合、信任邊界在哪裡 |\n| [controller protocol](docs/controller-protocol.md) | `<CueLineControl>` 封包、五個動作與修正規則 |\n| [runner contract](docs/runner-contract.md) | 已註冊的 process worker 必須做與不得做的事 |\n| [state and recovery](docs/state-and-recovery.md) | 持久狀態佈局、ownership 與每一條恢復路徑 |\n| [multi-model routing](docs/multi-model-routing.md) | 如何註冊額外的 process worker，以及主控端實際看得到什麼 |\n| [compatibility](docs/compatibility.md) | 支援的平台、runtime 與 UI 假設 |\n| [provenance](docs/provenance.md) | 設計從哪裡來、它不是什麼 |\n\n（以上皆為英文）\n\n## 開發\n\nTypeScript、ESM，只用 Node 內建模組。`npm run build` 會編譯到 `dist/`；測試以 `node --test` 跑編譯後的產物。CI 涵蓋 Ubuntu 與 macOS 上的 Node 22、24、26。\n\nCueLine 是獨立專案，與 OpenAI 或任何其他公司皆無隸屬關係，亦未獲其背書或贊助。見 [provenance](docs/provenance.md) 與 [third-party notices](THIRD_PARTY_NOTICES.md)。\n\n## 授權\n\nMIT。見 [LICENSE](LICENSE)。\n","readmeFilename":"README.zh-TW.md"}