@tocca-systems/twp-cli 0.81.0 → 0.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.public.md +8 -0
- package/README.md +1 -1
- package/dist/{agent-loop-ZGHJGHFQ.js → agent-loop-W2KS5JJV.js} +1 -1
- package/dist/{ai-dispatch-DJ5JT5BE.js → ai-dispatch-CE7RIQL6.js} +1 -1
- package/dist/{api-command-IKQCTKPH.js → api-command-KBH7ML2J.js} +1 -1
- package/dist/{app-JGYZPOH7.js → app-ORQBEJPS.js} +3 -3
- package/dist/{auto-update-worker-5J4XXQ6J.js → auto-update-worker-OIVQGG34.js} +1 -1
- package/dist/{chunk-YPULDSJ3.js → chunk-4DY3NU53.js} +2 -2
- package/dist/{chunk-5YJAT7HE.js → chunk-4FCPLEZN.js} +1 -1
- package/dist/{chunk-KRPJ4UFW.js → chunk-7KFX2TPV.js} +1 -1
- package/dist/{chunk-QGJYT4NH.js → chunk-7VMPEAAL.js} +1 -1
- package/dist/{chunk-XMPHGOW4.js → chunk-CVX2YWHC.js} +21 -17
- package/dist/{chunk-TH3NVRAU.js → chunk-DRERU42W.js} +1 -1
- package/dist/{chunk-ZOOEH7ZE.js → chunk-MBPJV745.js} +1 -1
- package/dist/{chunk-TVTJRNUC.js → chunk-VON6ODNL.js} +12 -3
- package/dist/{chunk-AK7CNRVB.js → chunk-WMIIFPXT.js} +1 -1
- package/dist/{chunk-RCUI6WWU.js → chunk-Y24FMUYU.js} +1 -1
- package/dist/{chunk-M6FZ62YR.js → chunk-ZPQZLUYY.js} +21 -21
- package/dist/cli.js +9 -9
- package/dist/{commands-D65LPET6.js → commands-X2FS3DN7.js} +75 -75
- package/dist/{commands-ZIRZVBH6.js → commands-XD25HOMA.js} +1 -1
- package/dist/{logout-guard-57LHDX6L.js → logout-guard-FCCJSF5V.js} +1 -1
- package/dist/{media-KWSFHGAQ.js → media-CTIY3IAB.js} +1 -1
- package/dist/{oneshot-TH4PFDWC.js → oneshot-R7BDYFEN.js} +2 -2
- package/dist/{plan-submit-4NT4OC7J.js → plan-submit-AZKVMJKV.js} +1 -1
- package/dist/{registry-QXXEYQZZ.js → registry-7ETH2NOG.js} +1 -1
- package/dist/{run-SUYWHFJS.js → run-OKRSGCIR.js} +1 -1
- package/dist/{server-settings-OB7JF757.js → server-settings-GFWQ5ERV.js} +1 -1
- package/dist/{setup-FMSAHRGZ.js → setup-DW2H7BDN.js} +1 -1
- package/dist/{skill-check-CKLMW2AJ.js → skill-check-JBRUAUID.js} +1 -1
- package/dist/{update-ZKZGDGMC.js → update-XUIOLVEL.js} +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
2
2
|
const require = __twpCreateRequire(import.meta.url);
|
|
3
|
-
import{placeholderTaskKey,stepToItem}from"./chunk-
|
|
3
|
+
import{placeholderTaskKey,stepToItem}from"./chunk-7VMPEAAL.js";import{redactLoopOutput}from"./chunk-JUJSF5ZG.js";import{localDate}from"./chunk-Y24FMUYU.js";import{normalizeSkillName,skillOfItem}from"./chunk-FABDZBDZ.js";import{DEFAULT_SKILL_PREFIX,SKILL_PREFIX_RE,setSkillPrefix,skillCommand,skillPrefix}from"./chunk-6CS5L24D.js";import{describeError,pick,pickString}from"./chunk-O52RKZCC.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import{createHash,randomBytes}from"crypto";import fs2 from"fs";import path2 from"path";var INFLIGHT_STALE_HOURS=3;function staleFloorHours(aiTimeoutSec){return Math.ceil(aiTimeoutSec*2/3600)}function inflightStaleHours(aiTimeoutSec,baseHours=INFLIGHT_STALE_HOURS){const base=Number.isFinite(baseHours)&&baseHours>0?baseHours:INFLIGHT_STALE_HOURS;return Math.max(base,staleFloorHours(aiTimeoutSec))}function ageMinutesOf(item,now){for(const raw of[item.started_at,item.updated_at,item.dequeued_at,item.created_at]){if(!raw)continue;const ts=Date.parse(raw);if(Number.isNaN(ts))continue;return Math.
|
|
4
4
|
floor((now.getTime()-ts)/6e4)}return null}function inflightEntries(items,now=new Date,staleHours=INFLIGHT_STALE_HOURS){const staleMinutes=staleHours*60;const byKey=new Map;for(const item of items){const key=(item.task_key??"").trim();if(!key)continue;const ageMinutes=ageMinutesOf(item,now);if(ageMinutes!==null&&ageMinutes>staleMinutes)continue;const entry={key,runner:item.runner_id??"-",ageMinutes,label:(item.label??"").slice(0,60)};const prev=byKey.get(key);if(!prev||(entry.ageMinutes??-1)>(prev.
|
|
5
5
|
ageMinutes??-1))byKey.set(key,entry)}return[...byKey.values()].sort((a,b)=>a.key.localeCompare(b.key))}function formatInflightEntry(entry){const age=entry.ageMinutes===null?"\u4E0D\u660E":`${entry.ageMinutes}\u5206`;return`${entry.key} runner=${entry.runner} \u7D4C\u904E=${age}`}import fs from"fs";import path from"path";async function createItem(api,body){const res=await api.create(redactItemBody(body));if(!res.ok)return{itemId:null,detail:describeError(res)};for(const p of["item_id","id","item.item_id","item.id","data.item_id","data.id"]){const v=pickString(res.json,p);if(v)return{itemId:v,detail:""}}return{itemId:null,detail:`item_id \u3092\u8AAD\u3081\u307E\u305B\u3093: ${res.raw.slice(0,200)}`}}function redactItemBody(body){const out={...body};for(const key of["prompt","label"]){if(typeof out[key]==="string")
|
|
6
6
|
out[key]=redactLoopOutput(out[key])}return out}function reorderSucceeded(targetId,json){if(pick(json,"result")===true)return true;const raw=Array.isArray(json)?json:pick(json,"items");if(!Array.isArray(raw)||raw.length===0)return false;const items=raw;const orderOf=it=>typeof it.sort_order==="number"?it.sort_order:Number.POSITIVE_INFINITY;const hit=items.find(it=>(it.item_id??"")===targetId);if(!hit)return false;return orderOf(hit)===Math.min(...items.map(orderOf))}function queueContainsKey(items,key){
|
|
@@ -8,18 +8,18 @@ const re=new RegExp(`${key.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![0-9])`);ret
|
|
|
8
8
|
${it.prompt??""}
|
|
9
9
|
${it.task_key??""}`))}function localTimestamp(at=new Date){const p2=n=>String(n).padStart(2,"0");const offsetMin=-at.getTimezoneOffset();const sign=offsetMin>=0?"+":"-";const abs=Math.abs(offsetMin);return`${at.getFullYear()}-${p2(at.getMonth()+1)}-${p2(at.getDate())}T${p2(at.getHours())}:${p2(at.getMinutes())}:${p2(at.getSeconds())}${sign}${p2(Math.trunc(abs/60))}${p2(abs%60)}`}var ReleaseOutcomeLog=class{constructor(file){this.file=file}file;record(result,phase,reason,ai){const clean=reason.replace(
|
|
10
10
|
/[\t\n]/g," ").slice(0,200);const line=`${localTimestamp()} ${result} ${phase||"unknown"} ${ai||"unknown"} ${clean}
|
|
11
|
-
`;try{fs.mkdirSync(path.dirname(this.file),{recursive:true});fs.appendFileSync(this.file,line)}catch{}}};function parseReleaseResult(logText){const matches=[...logText.matchAll(
|
|
12
|
-
const last=matches.at(-1);if(last===void 0)return null;const value=(last[2]??"").trim();return value===""?null:`${last[1]??""}: ${value}`}var RECOVER_KEY_RE=/RECOVER:[ \t]*([^\s|、,,]+-\d+)/;function parseRecoverKey(line){const raw=RECOVER_KEY_RE.exec(line)?.[1];if(raw===void 0)return null;if(!raw.includes("%"))return raw;try{const key=decodeURIComponent(raw);return isTaskKey(
|
|
13
|
-
exec(line);return m?.[1]??null}function parsePhase5Pending(line){const m=/PHASE5_PENDING:\s*(\d+)/.exec(line);return m?.[1]??null}function parseKeysLine(logText,keysLine){const prefix=keysLine.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");const matches=[...logText.matchAll(new RegExp(`${prefix}:[ \\t]*([A-Za-z0-9,_-]*)`,"g"))];const raw=matches.at(-1)?.[1];if(raw===void 0)
|
|
14
|
-
var PARTIAL_MERGE_ESCALATION_MAX=1;var TANI_USER_ID="2f391dda-f0e3-42f8-a9fd-8ffc271be765";var STATUS_HUMAN_DECISION="35e2d271-8a6e-4f3f-8bb6-1588a2d5a894";async function enqueueBlockerRecovery(deps,releaseLine){const{api,config,log}=deps;const key=parseRecoverKey(releaseLine);if(!key)return;const queued=await api.queuedSnapshot();if(queued===null){
|
|
15
|
-
log.log(" \uFF08\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u5C45\u308B\u304B\u5224\u5B9A\u3067\u304D\u306A\u3044\u72B6\u614B\u3067\u6295\u5165\u3059\u308B\u3068\u3001\u4E0A\u9650\u67A0\u3092\u6D88\u8CBB\u3057\u3066\u91CD\u8907\u30A2\u30A4\u30C6\u30E0\u3092\u4F5C\u308A\u307E\u3059\uFF09");
|
|
16
|
-
return}const today=localDate(config.counterTimezone);const res=await api.consumeCounter(`blocker_recovery.${key}`,today,config.blockerRecoveryMaxPerDay);if(!res.ok){if(res.status!==null&&res.status>=400&&res.status<500){log.log(` \u26D4 ${key}
|
|
17
|
-
\
|
|
18
|
-
return}const granted=pickString(res.json,"granted");const count=pickString(res.json,"counter.count");if(granted===""){log.log(` \u26D4 ${key} \u306E\u6295\u5165\u4E0A\u9650\u306E\u5FDC\u7B54\u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08granted \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u4ECA\u56DE\
|
|
19
|
-
"?"} \u56DE\u6295\u5165\u6E08\u307F\uFF08\u4E0A\u9650 ${config.blockerRecoveryMaxPerDay}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u4EBA\u9593\u5224\u65AD\u3078\u5BC4\u305B\u3066\u304F\u3060\u3055\u3044`);return}const{itemId,detail}=await createItem(
|
|
20
|
-
"task-investigate-and-fix",key),ai_type:"claude",task_key:key});if(!itemId){log.log(` \u26A0\uFE0F ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u672C\u65E5\u306E\u6295\u5165\u67A0\u306F1\u4EF6\u6D88\u8CBB\u6E08\u307F\uFF09: ${detail}`);
|
|
21
|
-
\u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u3092\u30AD\u30E5\u30FC\u5148\u982D\u306B\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u6B21\u306E\u30C7\u30AD\u30E5\u30FC\u3067\u7740\u624B\uFF09`)}else{log.log(` \u26A0\uFE0F ${key} \u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u306F\u6295\u5165\u3057\u307E\u3057\u305F\u304C\u5148\u982D\u3078\u306E\u4E26\u3073\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AD\u30E5\u30FC\u672B\u5C3E\u3067\u5B9F\u884C\u3055\u308C\u307E\u3059\uFF09`)}}
|
|
22
|
-
return items.some(it=>(it.prompt??"").includes(skillCommand2))}async function enqueueReleasePhase5Recovery(deps,releaseLine){const{api,config,log}=deps;const releaseId=parsePhase5Pending(releaseLine);if(!releaseId)return;const recoverySkill=config.operations.releaseRecoverySkill;if(!recoverySkill)return;const queued=await api.queuedSnapshot();if(queued===null){log.log(" \u26A0\uFE0F \u30AD\u30E5\u30FC\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2192 \u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u6295\u5165\u3092\u898B\u9001\u308A\u307E\u3059");
|
|
11
|
+
`;try{fs.mkdirSync(path.dirname(this.file),{recursive:true});fs.appendFileSync(this.file,line)}catch{}}};function parseReleaseResult(logText,contractLine){const prefix=contractLine.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");const matches=[...logText.matchAll(new RegExp(`${prefix}:[^|\\n]*\\|[^|\\n]*\\|[^\\n]*`,"g"))];const line=matches.at(-1)?.[0];if(!line)return null;const parts=line.split("|").map(s=>s.trim());return{executed:!/NOT_EXECUTED/.test(parts[0]??""),phase:parts[1]??"",reason:parts[2]??"",
|
|
12
|
+
line}}function parseOutcomeCode(logText){const matches=[...logText.matchAll(/\b([A-Z][A-Z0-9_]*_RESULT):[ \t]*([^|\n]*)/g)];const last=matches.at(-1);if(last===void 0)return null;const value=(last[2]??"").trim();return value===""?null:`${last[1]??""}: ${value}`}var RECOVER_KEY_RE=/RECOVER:[ \t]*([^\s|、,,]+-\d+)/;function parseRecoverKey(line){const raw=RECOVER_KEY_RE.exec(line)?.[1];if(raw===void 0)return null;if(!raw.includes("%"))return raw;try{const key=decodeURIComponent(raw);return isTaskKey(
|
|
13
|
+
key)&&key.trim()===key?key:null}catch{return null}}function parsePartialMergeCause(line){const m=/PARTIAL_MERGE:\s*([A-Za-z0-9_.:-]+)/.exec(line);return m?.[1]??null}function parsePhase5Pending(line){const m=/PHASE5_PENDING:\s*(\d+)/.exec(line);return m?.[1]??null}function parseKeysLine(logText,keysLine){const prefix=keysLine.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");const matches=[...logText.matchAll(new RegExp(`${prefix}:[ \\t]*([A-Za-z0-9,_-]*)`,"g"))];const raw=matches.at(-1)?.[1];if(raw===void 0)
|
|
14
|
+
return null;const trimmed=raw.trim();if(trimmed===""||trimmed==="none")return[];return trimmed.split(",").filter(k=>k!=="")}var PHASE5_RECOVERY_MAX=2;var PARTIAL_MERGE_ESCALATION_MAX=1;var TANI_USER_ID="2f391dda-f0e3-42f8-a9fd-8ffc271be765";var STATUS_HUMAN_DECISION="35e2d271-8a6e-4f3f-8bb6-1588a2d5a894";async function enqueueBlockerRecovery(deps,releaseLine){const{api,config,log}=deps;const key=parseRecoverKey(releaseLine);if(!key)return;const queued=await api.queuedSnapshot();if(queued===null){
|
|
15
|
+
log.log(" \u26A0\uFE0F \u30AD\u30E5\u30FC\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2192 \u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306E\u6295\u5165\u3092\u898B\u9001\u308A\u307E\u3059");log.log(" \uFF08\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u5C45\u308B\u304B\u5224\u5B9A\u3067\u304D\u306A\u3044\u72B6\u614B\u3067\u6295\u5165\u3059\u308B\u3068\u3001\u4E0A\u9650\u67A0\u3092\u6D88\u8CBB\u3057\u3066\u91CD\u8907\u30A2\u30A4\u30C6\u30E0\u3092\u4F5C\u308A\u307E\u3059\uFF09");
|
|
16
|
+
return}if(queueContainsKey(queued,key)){log.log(` \u23ED ${key} \u306E\u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u3042\u308A\u307E\u3059 \u2192 \u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306E\u6295\u5165\u3092\u30B9\u30AD\u30C3\u30D7`);return}const today=localDate(config.counterTimezone);const res=await api.consumeCounter(`blocker_recovery.${key}`,today,config.blockerRecoveryMaxPerDay);if(!res.ok){if(res.status!==null&&res.status>=400&&res.status<500){log.log(` \u26D4 ${key}\
|
|
17
|
+
\u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306E\u6295\u5165\u4E0A\u9650\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\uFF08${describeError(res)}\uFF09\u3002**\u518D\u8A66\u884C\u3067\u306F\u89E3\u6D88\u3057\u307E\u305B\u3093**`);log.log(` \u78BA\u8A8D: \u30BF\u30A4\u30E0\u30BE\u30FC\u30F3\uFF08\u73FE\u5728 ${config.counterTimezone}\u30FB\u9001\u4FE1\u3057\u305F\u65E5\u4ED8 ${today}\uFF09\uFF0F\u4E0A\u9650\uFF08\u73FE\u5728 ${config.blockerRecoveryMaxPerDay}\uFF09`)}else{log.log(` \
|
|
18
|
+
\u26D4 ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306E\u6295\u5165\u4E0A\u9650\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(res)}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\uFF08\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u518D\u5224\u5B9A\uFF09`)}return}const granted=pickString(res.json,"granted");const count=pickString(res.json,"counter.count");if(granted===""){log.log(` \u26D4 ${key} \u306E\u6295\u5165\u4E0A\u9650\u306E\u5FDC\u7B54\u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08granted \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u4ECA\u56DE\
|
|
19
|
+
\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u5FDC\u7B54\u306E\u5148\u982D: ${res.raw.slice(0,120)}`);return}if(granted!=="true"){log.log(` \u23ED ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u306F\u672C\u65E5 ${count||"?"} \u56DE\u6295\u5165\u6E08\u307F\uFF08\u4E0A\u9650 ${config.blockerRecoveryMaxPerDay}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u4EBA\u9593\u5224\u65AD\u3078\u5BC4\u305B\u3066\u304F\u3060\u3055\u3044`);return}const{itemId,detail}=await createItem(
|
|
20
|
+
api,{label:`[\u30EA\u30EA\u30FC\u30B9\u30D6\u30ED\u30C3\u30AB\u30FC] ${key} \u306E\u4FEE\u6B63\uFF08\u672C\u756A\u30EA\u30EA\u30FC\u30B9\u89E3\u9664\u306E\u305F\u3081\u6700\u512A\u5148\uFF09 #ai:complex`,prompt:skillCommand("task-investigate-and-fix",key),ai_type:"claude",task_key:key});if(!itemId){log.log(` \u26A0\uFE0F ${key} \u306E\u30D6\u30ED\u30C3\u30AB\u30FC\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u672C\u65E5\u306E\u6295\u5165\u67A0\u306F1\u4EF6\u6D88\u8CBB\u6E08\u307F\uFF09: ${detail}`);
|
|
21
|
+
return}const reorderRes=await api.reorder([itemId]);if(reorderRes.ok&&reorderSucceeded(itemId,reorderRes.json)){log.log(` \u23EB \u30EA\u30EA\u30FC\u30B9\u30D6\u30ED\u30C3\u30AB\u30FC ${key} \u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u3092\u30AD\u30E5\u30FC\u5148\u982D\u306B\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u6B21\u306E\u30C7\u30AD\u30E5\u30FC\u3067\u7740\u624B\uFF09`)}else{log.log(` \u26A0\uFE0F ${key} \u306E\u4FEE\u6B63\u30A2\u30A4\u30C6\u30E0\u306F\u6295\u5165\u3057\u307E\u3057\u305F\u304C\u5148\u982D\u3078\u306E\u4E26\u3073\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AD\u30E5\u30FC\u672B\u5C3E\u3067\u5B9F\u884C\u3055\u308C\u307E\u3059\uFF09`)}}
|
|
22
|
+
function queueContainsSkill(items,skillCommand2){return items.some(it=>(it.prompt??"").includes(skillCommand2))}async function enqueueReleasePhase5Recovery(deps,releaseLine){const{api,config,log}=deps;const releaseId=parsePhase5Pending(releaseLine);if(!releaseId)return;const recoverySkill=config.operations.releaseRecoverySkill;if(!recoverySkill)return;const queued=await api.queuedSnapshot();if(queued===null){log.log(" \u26A0\uFE0F \u30AD\u30E5\u30FC\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F \u2192 \u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u6295\u5165\u3092\u898B\u9001\u308A\u307E\u3059");
|
|
23
23
|
log.log(" \uFF08\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u5C45\u308B\u304B\u5224\u5B9A\u3067\u304D\u306A\u3044\u72B6\u614B\u3067\u6295\u5165\u3059\u308B\u3068\u3001\u672C\u756A\u30EA\u30EA\u30FC\u30B9\u304C\u4E8C\u91CD\u306B\u8D70\u308A\u307E\u3059\uFF09");return}if(queueContainsSkill(queued,recoverySkill)){log.log(" \u23ED \u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u65E2\u306B\u30AD\u30E5\u30FC\u306B\u3042\u308A\u307E\u3059 \u2192 \u6295\u5165\u3092\u30B9\u30AD\u30C3\u30D7");
|
|
24
24
|
return}const today=localDate(config.counterTimezone);const res=await api.consumeCounter(`release_phase5.${releaseId}`,today,PHASE5_RECOVERY_MAX);if(!res.ok){log.log(` \u26D4 release ${releaseId} \u306E\u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306E\u6295\u5165\u4E0A\u9650\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(res)}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\uFF08\u5B9A\u671F\u67A0\u304C\u62FE\u3044\u307E\u3059\uFF09`);return}const granted=pickString(
|
|
25
25
|
res.json,"granted");if(granted===""){log.log(` \u26D4 release ${releaseId} \u306E\u6295\u5165\u4E0A\u9650\u306E\u5FDC\u7B54\u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08granted \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u5FDC\u7B54\u306E\u5148\u982D: ${res.raw.slice(0,120)}`);return}if(granted!=="true"){log.log(` \u23ED release ${releaseId} \u306E\u30EA\u30EA\u30FC\u30B9\u56DE\u53CE\u306F\u4E0A\u9650\uFF08${PHASE5_RECOVERY_MAX}\
|
|
@@ -34,14 +34,14 @@ e_rerun.${slug}`,today,config.releaseRerunMaxPerCause);if(!res.ok){if(res.status
|
|
|
34
34
|
\uFF09\uFF0F\u4E0A\u9650\uFF08\u73FE\u5728 ${config.releaseRerunMaxPerCause}\uFF09`)}else{log.log(` \u26D4 \u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\u306E\u6295\u5165\u4E0A\u9650\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(res)}\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\uFF08\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u518D\u5224\u5B9A\uFF09`)}return}const granted=pickString(res.json,"granted");const count=pickString(res.json,"counte\
|
|
35
35
|
r.count");if(granted===""){log.log(` \u26D4 \u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\u306E\u6295\u5165\u4E0A\u9650\u306E\u5FDC\u7B54\u3092\u89E3\u91C8\u3067\u304D\u307E\u305B\u3093\uFF08granted \u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u4ECA\u56DE\u306F\u6295\u5165\u3057\u307E\u305B\u3093\u3002\u5FDC\u7B54\u306E\u5148\u982D: ${res.raw.slice(0,120)}`);return}if(granted!=="true"){log.log(` \u23ED \u539F\u56E0\u30AD\u30FC ${cause} \u306E\u81EA\u52D5\u518D\u5B9F\u884C\u306F\u4E0A\u9650\uFF08${config.
|
|
36
36
|
releaseRerunMaxPerCause}\u56DE\uFF09\u306B\u9054\u3057\u3066\u3044\u307E\u3059 \u2192 \u81EA\u52D5\u6295\u5165\u3092\u6B62\u3081\u3066\u4EBA\u9593\u3078\u5F15\u304D\u6E21\u3057\u307E\u3059`);await escalatePartialMerge(deps,cause,count||String(config.releaseRerunMaxPerCause),releaseLine,"limit");return}const attempt=count||"1";const{itemId,detail}=await createItem(api,{label:`[P0] \u672C\u756A\u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\uFF08\u90E8\u5206\u30DE\u30FC\u30B8\u89E3\u6D88\u30FB\u539F\u56E0\u30AD\u30FC ${cause}\
|
|
37
|
-
\u30FB${attempt}/${config.releaseRerunMaxPerCause}\u56DE\u76EE\uFF09 #ai:complex`,prompt:`${recoverySkill} ${rerunArgs(cause,attempt,config.releaseRerunMaxPerCause,releaseLine)}`,ai_type:"claude"});if(!itemId){log.log(` \u26A0\uFE0F \u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\u30A2\u30A4\u30C6\u30E0\u306E\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u672C\u65E5\u306E\u6295\u5165\u67A0\u306F1\u4EF6\u6D88\u8CBB\u6E08\u307F\uFF09: ${detail}`);
|
|
38
|
-
releaseLine,"create-failed",detail);return}const reorderRes=await api.reorder([itemId]);if(reorderRes.ok&&reorderSucceeded(itemId,reorderRes.json)){log.log(` \u23EB \u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\u3092\u30AD\u30E5\u30FC\u5148\u982D\u3078\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u539F\u56E0\u30AD\u30FC ${cause}\u30FB\u672C\u65E5 ${attempt}/${config.releaseRerunMaxPerCause} \u56DE\u76EE\u30FB\u6B21\u306E\u30C7\u30AD\u30E5\u30FC\u3067\u7740\u624B\uFF09`)}else{
|
|
39
|
-
\u30E0\u306F\u6295\u5165\u3057\u307E\u3057\u305F\u304C\u5148\u982D\u3078\u306E\u4E26\u3073\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AD\u30E5\u30FC\u672B\u5C3E\u3067\u5B9F\u884C\u3055\u308C\u307E\u3059\uFF09")}}function causeCounterSlug(cause){return cause.replace(/[^A-Za-z0-9_-]/g,"_")}function rerunArgs(cause,attempt,max,releaseLine){return`\u90E8\u5206\u30DE\u30FC\u30B8\u89E3\u6D88\u306E\u81EA\u52D5\u518D\u5B9F\u884C\uFF08\u539F\u56E0\u30AD\u30FC ${cause}\
|
|
40
|
-
/${max}\u56DE\u76EE\uFF09\u3002 \u76F4\u524D\u306E\u30EA\u30EA\u30FC\u30B9\u304C\u675F\u306E\u9014\u4E2D\u3067\u5931\u6557\u3057\u3001\u4E00\u90E8\u306E\u30EA\u30DD\u30B8\u30C8\u30EA\u3060\u3051\u304C main \u306B\u5165\u3063\u3066\u3044\u307E\u3059\uFF08\u672C\u756A\u304C\u300C\u4E00\u90E8\u3060\u3051\u65B0\u3057\u3044\u300D\u72B6\u614B\uFF09\u3002\u524D\u56DE\u306E\u7D50\u679C\u884C: ${releaseLine.slice(0,400)} \u307E\u305A mcp__twp-aiops__release_get \u306E partial_merge \u3067\u300Cmain \u306B\u5165\
|
|
41
|
-
\u3089\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u500B\u5225\u30DE\u30FC\u30B8\u30FBrevert \u306F\u3057\u306A\u3044\uFF09\u3002\u540C\u3058\u539F\u56E0\u3067\u518D\u3073\u5931\u6557\u3057\u305F\u5834\u5408\u306F\u3001\u305D\u306E\u65E8\u3092
|
|
42
|
-
counterTimezone);const slug=causeCounterSlug(cause);const counterKey=`release_rerun_escalation.${slug}`;const delivered=await escalationDeliveredToday(api,counterKey,today);if(delivered===true){log.log(` \u23ED \u539F\u56E0\u30AD\u30FC ${cause} \u306E\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3\u306F\u672C\u65E5\u6295\u5165\u6E08\u307F\u3067\u3059 \u2192 \u91CD\u306D\u307E\u305B\u3093\uFF08\u4EBA\u9593\u306E\u56DE\u7B54\u5F85\u3061\uFF09`);
|
|
43
|
-
\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u30AB\u30A6\u30F3\u30BF\u4E00\u89A7\u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u6C88\u9ED9\u3088\u308A\u91CD\u8907\u3092\u9078\u3073\u3001\u6295\u5165\u3092\u8A66\u307F\u307E\u3059")}const{itemId,detail}=await createItem(api,{label:`[P0] \u672C\u756A\u306E\u90E8\u5206\u30DE\u30FC\u30B8\u304C\u672A\u89E3\u6D88\u3067\u3059\uFF08\u539F\u56E0\u30AD\u30FC ${cause}\
|
|
44
|
-
prompt:escalationPrompt(cause,count,config.releaseRerunMaxPerCause,releaseLine,reason,createDetail),ai_type:"claude"});if(!itemId){log.log(` \u26A0\uFE0F \u90E8\u5206\u30DE\u30FC\u30B8\u306E\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08**\u672C\u65E5\u306E\u67A0\u306F\u6D88\u8CBB\u3057\u3066\u3044\u307E\u305B\u3093**\u30FB\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u518D\u8A66\u884C\u3057\u307E\u3059\uFF09: ${detail}`);
|
|
37
|
+
\u30FB${attempt}/${config.releaseRerunMaxPerCause}\u56DE\u76EE\uFF09 #ai:complex`,prompt:`${recoverySkill} ${rerunArgs(cause,attempt,config.releaseRerunMaxPerCause,releaseLine,config.operations.releaseHooks?.line??null)}`,ai_type:"claude"});if(!itemId){log.log(` \u26A0\uFE0F \u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\u30A2\u30A4\u30C6\u30E0\u306E\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u672C\u65E5\u306E\u6295\u5165\u67A0\u306F1\u4EF6\u6D88\u8CBB\u6E08\u307F\uFF09: ${detail}`);
|
|
38
|
+
await escalatePartialMerge(deps,cause,attempt,releaseLine,"create-failed",detail);return}const reorderRes=await api.reorder([itemId]);if(reorderRes.ok&&reorderSucceeded(itemId,reorderRes.json)){log.log(` \u23EB \u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\u3092\u30AD\u30E5\u30FC\u5148\u982D\u3078\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u539F\u56E0\u30AD\u30FC ${cause}\u30FB\u672C\u65E5 ${attempt}/${config.releaseRerunMaxPerCause} \u56DE\u76EE\u30FB\u6B21\u306E\u30C7\u30AD\u30E5\u30FC\u3067\u7740\u624B\uFF09`)}else{
|
|
39
|
+
log.log(" \u26A0\uFE0F \u30EA\u30EA\u30FC\u30B9\u518D\u5B9F\u884C\u30A2\u30A4\u30C6\u30E0\u306F\u6295\u5165\u3057\u307E\u3057\u305F\u304C\u5148\u982D\u3078\u306E\u4E26\u3073\u66FF\u3048\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AD\u30E5\u30FC\u672B\u5C3E\u3067\u5B9F\u884C\u3055\u308C\u307E\u3059\uFF09")}}function causeCounterSlug(cause){return cause.replace(/[^A-Za-z0-9_-]/g,"_")}function rerunArgs(cause,attempt,max,releaseLine,contractLine){return`\u90E8\u5206\u30DE\u30FC\u30B8\u89E3\u6D88\u306E\u81EA\u52D5\u518D\u5B9F\u884C\uFF08\u539F\u56E0\u30AD\u30FC ${cause}\
|
|
40
|
+
\u30FB\u672C\u65E5${attempt}/${max}\u56DE\u76EE\uFF09\u3002 \u76F4\u524D\u306E\u30EA\u30EA\u30FC\u30B9\u304C\u675F\u306E\u9014\u4E2D\u3067\u5931\u6557\u3057\u3001\u4E00\u90E8\u306E\u30EA\u30DD\u30B8\u30C8\u30EA\u3060\u3051\u304C main \u306B\u5165\u3063\u3066\u3044\u307E\u3059\uFF08\u672C\u756A\u304C\u300C\u4E00\u90E8\u3060\u3051\u65B0\u3057\u3044\u300D\u72B6\u614B\uFF09\u3002\u524D\u56DE\u306E\u7D50\u679C\u884C: ${releaseLine.slice(0,400)} \u307E\u305A mcp__twp-aiops__release_get \u306E partial_merge \u3067\u300Cmain \u306B\u5165\
|
|
41
|
+
\u3063\u305F/\u5165\u3063\u3066\u3044\u306A\u3044\u300D\u3092\u78BA\u8A8D\u3057\u3001\u901A\u5E38\u306E Phase 1 \u304B\u3089\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u500B\u5225\u30DE\u30FC\u30B8\u30FBrevert \u306F\u3057\u306A\u3044\uFF09\u3002\u540C\u3058\u539F\u56E0\u3067\u518D\u3073\u5931\u6557\u3057\u305F\u5834\u5408\u306F\u3001\u305D\u306E\u65E8\u3092 ${contractLine??"\u7D50\u679C\u884C"} \u306E\u7406\u7531\u6B04\u306B\u660E\u8A18\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}
|
|
42
|
+
async function escalatePartialMerge(deps,cause,count,releaseLine,reason,createDetail=""){const{api,config,log}=deps;const today=localDate(config.counterTimezone);const slug=causeCounterSlug(cause);const counterKey=`release_rerun_escalation.${slug}`;const delivered=await escalationDeliveredToday(api,counterKey,today);if(delivered===true){log.log(` \u23ED \u539F\u56E0\u30AD\u30FC ${cause} \u306E\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3\u306F\u672C\u65E5\u6295\u5165\u6E08\u307F\u3067\u3059 \u2192 \u91CD\u306D\u307E\u305B\u3093\uFF08\u4EBA\u9593\u306E\u56DE\u7B54\u5F85\u3061\uFF09`);
|
|
43
|
+
return}if(delivered===null){log.log(" \u26A0\uFE0F \u5F15\u304D\u6E21\u3057\u6E08\u307F\u304B\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u30AB\u30A6\u30F3\u30BF\u4E00\u89A7\u304C\u8AAD\u3081\u307E\u305B\u3093\uFF09\u2192 \u6C88\u9ED9\u3088\u308A\u91CD\u8907\u3092\u9078\u3073\u3001\u6295\u5165\u3092\u8A66\u307F\u307E\u3059")}const{itemId,detail}=await createItem(api,{label:`[P0] \u672C\u756A\u306E\u90E8\u5206\u30DE\u30FC\u30B8\u304C\u672A\u89E3\u6D88\u3067\u3059\uFF08\u539F\u56E0\u30AD\u30FC ${cause}\
|
|
44
|
+
\u30FB${ESCALATION_SUBJECT[reason]}\uFF09\u2014 \u4EBA\u9593\u3078\u5F15\u304D\u6E21\u3057 #ai:complex`,prompt:escalationPrompt(cause,count,config.releaseRerunMaxPerCause,releaseLine,reason,createDetail),ai_type:"claude"});if(!itemId){log.log(` \u26A0\uFE0F \u90E8\u5206\u30DE\u30FC\u30B8\u306E\u30A8\u30B9\u30AB\u30EC\u30FC\u30B7\u30E7\u30F3\u30A2\u30A4\u30C6\u30E0\u6295\u5165\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08**\u672C\u65E5\u306E\u67A0\u306F\u6D88\u8CBB\u3057\u3066\u3044\u307E\u305B\u3093**\u30FB\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u518D\u8A66\u884C\u3057\u307E\u3059\uFF09: ${detail}`);
|
|
45
45
|
return}const marked=await api.consumeCounter(counterKey,today,PARTIAL_MERGE_ESCALATION_MAX);if(!marked.ok||pickString(marked.json,"granted")!=="true"){log.log(` \u26A0\uFE0F \u5F15\u304D\u6E21\u3057\u306F\u6295\u5165\u3057\u307E\u3057\u305F\u304C\u300C\u672C\u65E5\u6295\u5165\u6E08\u307F\u300D\u3092\u8A18\u9332\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${describeError(marked)}\uFF09\u2192 \u540C\u3058\u539F\u56E0\u3067\u91CD\u306D\u3066\u6295\u5165\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059`)}
|
|
46
46
|
const reorderRes=await api.reorder([itemId]);if(reorderRes.ok&&reorderSucceeded(itemId,reorderRes.json)){log.log(` \u{1F64B} \u90E8\u5206\u30DE\u30FC\u30B8\u3092\u81EA\u52D5\u3067\u306F\u57CB\u3081\u306A\u3044\u305F\u3081\uFF08\u7406\u7531 ${reason}\uFF09\u3001\u4EBA\u9593\u3078\u306E\u5F15\u304D\u6E21\u3057\u30A2\u30A4\u30C6\u30E0\u3092\u30AD\u30E5\u30FC\u5148\u982D\u3078\u6295\u5165\u3057\u307E\u3057\u305F\uFF08\u539F\u56E0\u30AD\u30FC ${cause}\uFF09`)}else{log.log(` \u{1F64B} \u90E8\u5206\u30DE\u30FC\u30B8\u306E\u5F15\u304D\u6E21\u3057\u30A2\u30A4\u30C6\u30E0\u3092\u6295\u5165\u3057\u307E\u3057\u305F\
|
|
47
47
|
\uFF08\u5148\u982D\u3078\u306E\u4E26\u3073\u66FF\u3048\u306F\u5931\u6557\u30FB\u30AD\u30E5\u30FC\u672B\u5C3E\u3067\u5B9F\u884C\u3055\u308C\u307E\u3059\uFF0F\u539F\u56E0\u30AD\u30FC ${cause}\uFF09`)}}async function escalationDeliveredToday(api,key,today){const res=await api.listCounters(today);if(!res.ok)return null;const rows=pick(res.json,"counters")??pick(res.json,"data.counters");if(!Array.isArray(rows))return null;for(const row of rows){if(!row||typeof row!=="object")continue;const r=row;if(r.
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __twpCreateRequire } from 'node:module';
|
|
3
3
|
const require = __twpCreateRequire(import.meta.url);
|
|
4
|
-
import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-IVFSEXD3.js";import"./chunk-2LOT54OO.js";import"./chunk-MLRBDF44.js";import"./chunk-VERYHAWV.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.
|
|
4
|
+
import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-IVFSEXD3.js";import"./chunk-2LOT54OO.js";import"./chunk-MLRBDF44.js";import"./chunk-VERYHAWV.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.83.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
|
|
5
5
|
|
|
6
6
|
\u4F7F\u3044\u65B9:
|
|
7
7
|
twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
|
|
@@ -1391,16 +1391,16 @@ TUI \u5185:
|
|
|
1391
1391
|
TWP API \u3092\u547C\u3079\u307E\u3059\u3002TWP API \u306E\u30C4\u30FC\u30EB\u306F\u65E2\u5B9A\u3067\u78BA\u8A8D\u304C\u51FA\u307E\u3059\uFF08-p \u3067\u306F\u62D2\u5426\u3002--allowed-tools \u3067\u540D\u524D\u3092\u8A31\u53EF\uFF09\u3002
|
|
1392
1392
|
\u4F1A\u8A71\u30FB\u30ED\u30FC\u30AB\u30EB\u30C4\u30FC\u30EB\uFF08\u30D5\u30A1\u30A4\u30EB\u30FB\u30B3\u30DE\u30F3\u30C9\u30FBgit\uFF09\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30AF\u30EC\u30B8\u30C3\u30C8\u3067\u5B9F\u969B\u306B\u52D5\u304D\u307E\u3059\u3002
|
|
1393
1393
|
`;function ignoreEpipe(stream){stream.on("error",err=>{if(err.code==="EPIPE")process.exit(0);throw err})}async function main(){const nodeMajor=Number(process.versions.node.split(".")[0]);if(nodeMajor<22){process.stderr.write(`twp-cli \u306B\u306F Node.js 22 \u4EE5\u4E0A\u304C\u5FC5\u8981\u3067\u3059\uFF08\u73FE\u5728: ${process.versions.node}\uFF09
|
|
1394
|
-
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-
|
|
1395
|
-
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-
|
|
1394
|
+
`);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-OIVQGG34.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-C6ZQCDT2.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
|
|
1395
|
+
const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-7ETH2NOG.js"),import("./config-XYWRBIC6.js")]);process.exitCode=await completion.runComplete(rest,process.stdout,{loadDomain,profileNames:()=>Object.keys(loadUserConfig().profiles??{})});return}if(first==="configure"){const autoUpdate2=await import("./auto-update-FXXQHBV5.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-3JID6MQ5.js");process.exitCode=
|
|
1396
1396
|
await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
|
|
1397
1397
|
`);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.movedCommand!==void 0){const{MOVED_QUEUE_COMMAND_MESSAGE}=await import("./dispatch-HHWTJ3P4.js");process.stderr.write(MOVED_QUEUE_COMMAND_MESSAGE);process.exitCode=2;return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
|
|
1398
1398
|
|
|
1399
|
-
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-
|
|
1400
|
-
{},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-
|
|
1401
|
-
profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-
|
|
1402
|
-
const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-
|
|
1399
|
+
${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-FXXQHBV5.js");autoUpdate.registerRunning();if(args.command==="task-loop"&&args.taskLoopAction!=="capacity"){process.env[autoUpdate.DISABLE_ENV]="1"}else if(args.command!=="update"){autoUpdate.onStartup(VERSION)}if(args.command==="domain"&&args.domain!==void 0){const{runDomain}=await import("./run-OKRSGCIR.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
|
|
1400
|
+
{},argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes,refresh:args.refresh},version:VERSION});return}if(args.command==="api"){const{runApiCommand}=await import("./api-command-KBH7ML2J.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
|
|
1401
|
+
profile}:{},...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{},dryRun:args.dryRun,debug:args.debug,yes:args.yes},version:VERSION});return}if(args.command==="update"){const{runUpdate}=await import("./update-XUIOLVEL.js");process.exitCode=await runUpdate({...args.profile!==void 0?{profile:args.profile}:{},version:VERSION});return}if(args.command==="login"||args.command==="logout"||args.command==="whoami"){const{runLogin,runLogout,runWhoami}=await import("./commands-XD25HOMA.js");
|
|
1402
|
+
const options={profile:args.profile,method:args.loginMethod,tenant:args.tenant,noBrowser:args.loginNoBrowser,cliVersion:VERSION,force:args.logoutForce,...args.output!==void 0?{output:args.output}:{},...args.query!==void 0?{query:args.query}:{}};const runner=args.command==="login"?runLogin:args.command==="logout"?runLogout:runWhoami;process.exitCode=await runner(options);return}if(args.command==="task-loop"){const{runTaskLoop}=await import("./commands-X2FS3DN7.js");process.exitCode=await runTaskLoop(
|
|
1403
1403
|
{action:args.taskLoopAction??"run",project:args.project,profile:args.profile,safe:args.safe,daemon:args.daemon,interval:args.interval,maxCycles:args.maxCycles,forceRunner:args.forceRunner,force:args.stopForce,drain:args.stopDrain,engine:args.engine,version:VERSION,verbose:args.verbose,scheduleNow:args.scheduleNow,scheduleCounts:args.scheduleCounts,scheduleGate:args.scheduleGate,scheduleOp:args.scheduleOp,scheduleConfigOp:args.scheduleConfigOp,scheduleId:args.scheduleId,charterOp:args.charterOp,charterInput:args.
|
|
1404
1404
|
charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,settingsOp:args.settingsOp,skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,skillConfig:args.skillConfig,output:args.output,query:args.query,revisionFrom:args.revisionFrom,revisionTo:args.revisionTo,planOp:args.planOp,capacityOp:args.capacityOp,runnerOp:args.runnerOp,runnerId:args.runnerTargetId,planEmpty:args.planEmpty,planCheck:args.planCheck,yes:args.yes,ais:args.ais,workspace:args.
|
|
1405
|
-
workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-
|
|
1406
|
-
profile}:{},version:VERSION});return}const{startTui}=await import("./app-
|
|
1405
|
+
workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-R7BDYFEN.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,...args.model!==void 0?{model:args.model}:{},...args.profile!==void 0?{profile:args.
|
|
1406
|
+
profile}:{},version:VERSION});return}const{startTui}=await import("./app-ORQBEJPS.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
|