@tocca-systems/twp-cli 0.69.0 → 0.71.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.
Files changed (37) hide show
  1. package/CHANGELOG.public.md +20 -0
  2. package/README.md +51 -4
  3. package/dist/{agent-loop-6JO4PJRG.js → agent-loop-OW6ZMQKN.js} +30 -16
  4. package/dist/{ai-dispatch-IW5TJK5Y.js → ai-dispatch-YABGNMHQ.js} +1 -1
  5. package/dist/{api-command-WIMCS3VI.js → api-command-4HXHTIQT.js} +1 -1
  6. package/dist/{app-SAHITYJK.js → app-JCUJJQGB.js} +4 -4
  7. package/dist/{capacity-report-command-PBE73I43.js → capacity-report-command-ACWK2MR5.js} +1 -1
  8. package/dist/chunk-5KAWCLYN.js +16 -0
  9. package/dist/{chunk-X6L5LUC4.js → chunk-BRE7D5AY.js} +1 -1
  10. package/dist/chunk-D5EYI7S3.js +48 -0
  11. package/dist/chunk-DLY2IN3G.js +16 -0
  12. package/dist/{chunk-P6M2MCZJ.js → chunk-JA7HEJOU.js} +2 -2
  13. package/dist/{chunk-3EATJTPN.js → chunk-LUBON4AA.js} +8 -7
  14. package/dist/{chunk-6PAZUW73.js → chunk-MAAICW7T.js} +1 -1
  15. package/dist/{chunk-W2AIT5FJ.js → chunk-OREF2S43.js} +1 -1
  16. package/dist/{chunk-53D2WQQO.js → chunk-YUS4VPNA.js} +4 -4
  17. package/dist/cli.js +45 -10
  18. package/dist/{commands-TR3J5HXT.js → commands-HH2DW2QJ.js} +107 -97
  19. package/dist/{completion-UVQHRBDJ.js → completion-JDD3SNUO.js} +4 -4
  20. package/dist/{knowledge-4QPIGJEE.js → knowledge-6A3MCIRY.js} +78 -22
  21. package/dist/{media-TWRO65NT.js → media-FGEV2OI2.js} +1 -1
  22. package/dist/{plan-submit-T5KHXNGH.js → plan-submit-SRQJHV2X.js} +1 -1
  23. package/dist/{registry-WBDRVEUW.js → registry-DC75DVLY.js} +1 -1
  24. package/dist/{run-XZUJWTTZ.js → run-R5CU36O3.js} +1 -1
  25. package/dist/{schedule-command-2HCOGYJW.js → schedule-command-4UBCTNRI.js} +1 -1
  26. package/dist/schedule-def-command-OFCA5VH3.js +86 -0
  27. package/dist/search-OSV6TA6Q.js +29 -0
  28. package/dist/{server-settings-LJBDUOTV.js → server-settings-BGVJNHAV.js} +1 -1
  29. package/dist/server-skills-JEFNP63E.js +3 -0
  30. package/dist/settings-command-TEVH2MNY.js +43 -0
  31. package/dist/{task-O7K6725Y.js → task-AQSKV7VL.js} +1 -1
  32. package/package.json +1 -1
  33. package/dist/chunk-PVP3REVW.js +0 -15
  34. package/dist/chunk-SPZ3GBYC.js +0 -16
  35. package/dist/chunk-ZKS2F7C6.js +0 -42
  36. package/dist/search-GRAWP2LX.js +0 -26
  37. package/dist/server-skills-WC45Y62Y.js +0 -3
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{loadDomain}from"./chunk-53D2WQQO.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-YXVN6OCH.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UFGJSWKU.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{parseOperationArgs}from"./chunk-RX5HWI4L.js";import{Resolver,requireDefaultProject}from"./chunk-HNG6MF26.js";
3
+ import{loadDomain}from"./chunk-YUS4VPNA.js";import{JsonBodyWithView}from"./chunk-Q3B65OFC.js";import{evaluateQuery}from"./chunk-GFLGXGWE.js";import{renderDocument,renderOutput}from"./chunk-YXVN6OCH.js";import{redactSecretValues,redactSecrets,withDebug}from"./chunk-UFGJSWKU.js";import{DEFAULT_MAX_ITEMS,DEFAULT_MAX_PAGES,nextPageNotes,positiveInteger,shellQuote}from"./chunk-MI6HVYR2.js";import{parseOperationArgs}from"./chunk-RX5HWI4L.js";import{Resolver,requireDefaultProject}from"./chunk-HNG6MF26.js";
4
4
  import{ResolveError}from"./chunk-HVZUXLQ4.js";import{ApiError,MultipartBody,TwpApiClient,appendQuery}from"./chunk-JA5A6UJ2.js";import{isRecord}from"./chunk-3ZRMMBP5.js";import{ApiRejectedError,ApiResponseError,EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_AUTH,EXIT_FAILURE,EXIT_OK,EXIT_USAGE,EXIT_WAIT_TIMEOUT,NetworkError,UsageError,WaitTimeoutError}from"./chunk-VFPY2A23.js";import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{AuthSession,NotLoggedInError,SessionExpiredError,
5
5
  loadCredentials}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{effectiveApiUrl,loadUserConfig,resolveConfiguredOutput,resolveProfile}from"./chunk-4VZKNEVN.js";import{HELP_TOKEN}from"./chunk-KDH3KWPO.js";import{OUTPUT_FORMATS,resolveOutputFormat}from"./chunk-74BPZOKU.js";import{stringWidth}from"./chunk-UREA4ZIG.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var NO_REDACT_FLAG={name:"--no-redact",summary:"\u5FDC\u7B54\u306E\u4F0F\u5B57\u5316\u3092\u89E3\u9664\u3057\u3066\u751F\u306E\u5024\u3092\u51FA\u3059\uFF08\u9375\u306E\u53D7\u3051\u53D6\u308A\u7B49\uFF09",takesValue:false};var NO_REDACT_NOTICE="\u6CE8\u8A18: --no-redact \u306E\u305F\u3081\u51FA\u529B\u3092\u4F0F\u5B57\u5316\u3057\u307E\u305B\u3093\uFF08\u7AEF\u672B\u3068\u30ED\u30B0\u306B\u5E73\u6587\u3067\u6B8B\u308A\u307E\u3059\uFF09\u3002";function withCommonFlags(flags){return flags.some(flag=>flag.
6
6
  name===NO_REDACT_FLAG.name)?flags:[...flags,NO_REDACT_FLAG]}function alignedList(entries,indent=" "){const width=entries.reduce((max,[left])=>Math.max(max,stringWidth(left)),0);return entries.map(([left,right])=>`${indent}${left}${" ".repeat(Math.max(0,width-stringWidth(left)))} ${right}`).join("\n")}function subresourcesOf(resource){return resource.subresources??[]}function renderResourceHelp(resource,path2){const subresources=subresourcesOf(resource);const operationSection=resource.operations.length===0?"":`
@@ -20,9 +20,10 @@ ${GLOBAL_OPTIONS_HELP}
20
20
  "","\u30AA\u30D7\u30B7\u30E7\u30F3:",alignedList(flags.map(flag=>[flag.takesValue?`${flag.name} ${flag.placeholder??"<\u5024>"}`:flag.name,flag.summary])))}sections.push("",GLOBAL_OPTIONS_HELP,"");return sections.join("\n")}function renderUnknownOperation(resource,path2,attempted){const names=[...resource.operations.map(op=>op.name),...subresourcesOf(resource).map(sub=>`${sub.name} <\u64CD\u4F5C>`)].join(" / ");return attempted===void 0?`twp ${path2} \u306B\u306F\u64CD\u4F5C\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\uFF08${names}\
21
21
  \uFF09\u3002\u8A73\u3057\u304F\u306F twp ${path2} ${HELP_TOKEN}`:`twp ${path2} \u306B\u300C${attempted}\u300D\u3068\u3044\u3046\u64CD\u4F5C\u306F\u3042\u308A\u307E\u305B\u3093\uFF08${names}\uFF09\u3002\u8A73\u3057\u304F\u306F twp ${path2} ${HELP_TOKEN}`}var writeOut=text=>void process.stdout.write(text);var writeErr=text=>void process.stderr.write(text);function line(text){return text===""?"":text.endsWith("\n")?text:`${text}
22
22
  `}function outputValue(operation,format,body){return format==="json"?operation.raw(body):operation.summarize(body)}function requiresYes(operation,yes){return operation.destructive===true&&!yes}function exitCodeForStatus(status){if(status===401)return EXIT_AUTH;if(status===429)return EXIT_API_SERVER;if(status>=400&&status<500)return EXIT_API_CLIENT;return EXIT_API_SERVER}function exitCodeFor(err){if(err instanceof UsageError)return EXIT_USAGE;if(err instanceof WaitTimeoutError)return EXIT_WAIT_TIMEOUT;
23
- if(err instanceof NotLoggedInError||err instanceof SessionExpiredError)return EXIT_AUTH;if(err instanceof ApiError)return exitCodeForStatus(err.status);if(err instanceof ApiRejectedError)return EXIT_API_CLIENT;if(err instanceof ApiResponseError||err instanceof NetworkError)return EXIT_API_SERVER;if(err instanceof ResolveError){return err.status===null?EXIT_API_SERVER:exitCodeForStatus(err.status)}return EXIT_FAILURE}function safeText(text){return redactSecrets(stripTerminalControls(text))}function reportError(err,format,code,write=writeErr){
24
- const message=safeText(err instanceof Error?err.message:String(err));const rawHint=err instanceof UsageError?err.hint:void 0;const hint=rawHint!==void 0?safeText(rawHint):void 0;if(format==="json"){const body={code,message};if(err instanceof ApiError)body["status"]=err.status;if(err instanceof ResolveError&&err.status!==null)body["status"]=err.status;if(hint!==void 0)body["hint"]=hint;write(`${JSON.stringify({error:body},null,2)}
25
- `);return}write(`${message}
23
+ if(err instanceof NotLoggedInError||err instanceof SessionExpiredError)return EXIT_AUTH;if(err instanceof ApiError)return exitCodeForStatus(err.status);if(err instanceof ApiRejectedError)return EXIT_API_CLIENT;if(err instanceof ApiResponseError||err instanceof NetworkError)return EXIT_API_SERVER;if(err instanceof ResolveError){return err.status===null?EXIT_API_SERVER:exitCodeForStatus(err.status)}return EXIT_FAILURE}function safeText(text){return redactSecrets(stripTerminalControls(text))}function reportError(err,format,code,write=writeErr,target){
24
+ const message=safeText(err instanceof Error?err.message:String(err));const rawHint=err instanceof UsageError?err.hint:void 0;const hint=rawHint!==void 0?safeText(rawHint):void 0;if(format==="json"){const body={code,message};if(err instanceof ApiError)body["status"]=err.status;if(err instanceof ResolveError&&err.status!==null)body["status"]=err.status;if(hint!==void 0)body["hint"]=hint;if(target!==void 0)body["target"]=safeText(target);write(`${JSON.stringify({error:body},null,2)}
25
+ `);return}write(target!==void 0?`${safeText(target)}: ${message}
26
+ `:`${message}
26
27
  `);if(hint!==void 0)write(`${hint}
27
28
  `)}function dryRunValue(apiUrl,plan,sensitiveBody){const value={method:plan.method,url:`${apiUrl}${appendQuery(plan.path,plan.query)}`};if(plan.body!==void 0)value["body"]=plan.body instanceof MultipartBody?plan.body.toJSON():plan.body;if(plan.body instanceof JsonBodyWithView)value["body"]=plan.body.dryRunView();if(sensitiveBody!==void 0&&isRecord(value["body"])){const hidden=`\uFF08${sensitiveBody}\u305F\u3081\u8868\u793A\u3057\u306A\u3044\u30FB--no-redact \u3067\u8868\u793A\uFF09`;value["body"]=
28
29
  Object.fromEntries(Object.keys(value["body"]).map(key=>[key,hidden]))}return value}async function send(client,apiUrl,plan){try{return await client.request(plan.method,appendQuery(plan.path,plan.query),plan.body)}catch(err){if(err instanceof ApiError||err instanceof NotLoggedInError||err instanceof SessionExpiredError){throw err}throw new NetworkError(`${apiUrl} \u3078\u306E\u901A\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F: ${err.message}`,{cause:err})}}async function putSigned(fetchImpl,url,bytes,contentType){
@@ -66,7 +67,7 @@ sensitiveBody),format,noRedact)));return EXIT_OK}let body;let paged;try{if(opera
66
67
  ctx)}catch{}}if(operation.narrow!==void 0)body=operation.narrow(body,prepared);if(paged!==void 0&&operation.paging!==void 0){paged={...paged,count:operation.paging.items(body).length}}const visible=noRedact?body:redactSecretValues(body);const document=globals.query===void 0&&format==="text"&&operation.document!==void 0?operation.document(visible):void 0;const value=document!==void 0?void 0:globals.query!==void 0?await evaluateQuery(globals.query,operation.raw(visible)):outputValue(operation,format,
67
68
  visible);out(line(document!==void 0?renderDocument(document,noRedact):renderOutput(value,format,noRedact)));if(paged!==void 0){errOut(`--all: ${paged.pages} \u30DA\u30FC\u30B8\u3092\u8FBF\u3063\u3066 ${paged.count} \u4EF6\u3092\u53D6\u5F97\u3057\u307E\u3057\u305F\u3002
68
69
  `)}const pagingNotes=operation.paging===void 0?[]:nextPageNotes(body,prepared,{command:`twp ${path2} ${operation.name}`,flags:operation.flags,profile:globals.profile,readCursor:operation.paging.readCursor});for(const note of[...pagingNotes,...operation.notes?.(visible,prepared)??[]]){errOut(`${safeText(note)}
69
- `)}return EXIT_OK}catch(caught){const err=withRejectedGuidance(withForbiddenGuidance(caught,forbidden),rejected);const code=exitCodeFor(err);reportError(err,format,code,errOut);return code}}function withForbiddenGuidance(err,forbidden){if(forbidden===void 0||!(err instanceof ApiError)||err.status!==403)return err;const guidance=typeof forbidden==="function"?forbidden(err.body):forbidden;if(guidance===void 0)return err;const server=err.body?.error_description??err.body?.message;const wrapped=new ApiError(
70
- err.status,err.body,"","");wrapped.message=server!==void 0&&server!==""?`${guidance}\uFF08\u30B5\u30FC\u30D0\u306E\u5FDC\u7B54: ${server}\uFF09`:guidance;return wrapped}function withRejectedGuidance(err,guidance){if(guidance===void 0||!(err instanceof ApiError)||err.status!==422)return err;const description=err.body?.error_description;const fallback=err.body?.message;const server=(typeof description==="string"&&description!==""?description:void 0)??(typeof fallback==="string"?fallback:"");const extra=guidance(
71
- server);if(extra===void 0)return err;const wrapped=new ApiError(err.status,err.body,"","");wrapped.message=server!==""?`${server}
70
+ `)}const failed=operation.failures?.(body)??[];let partial=EXIT_OK;for(const{target,error}of failed){const err=withRejectedGuidance(withForbiddenGuidance(error,forbidden),rejected);const code=exitCodeFor(err);reportError(err,format,code,errOut,target);if(partial!==EXIT_API_SERVER)partial=code===EXIT_API_SERVER?EXIT_API_SERVER:EXIT_API_CLIENT}return partial}catch(caught){const err=withRejectedGuidance(withForbiddenGuidance(caught,forbidden),rejected);const code=exitCodeFor(err);reportError(err,format,
71
+ code,errOut);return code}}function withForbiddenGuidance(err,forbidden){if(forbidden===void 0||!(err instanceof ApiError)||err.status!==403)return err;const guidance=typeof forbidden==="function"?forbidden(err.body):forbidden;if(guidance===void 0)return err;const server=err.body?.error_description??err.body?.message;const wrapped=new ApiError(err.status,err.body,"","");wrapped.message=server!==void 0&&server!==""?`${guidance}\uFF08\u30B5\u30FC\u30D0\u306E\u5FDC\u7B54: ${server}\uFF09`:guidance;return wrapped}
72
+ function withRejectedGuidance(err,guidance){if(guidance===void 0||!(err instanceof ApiError)||err.status!==422)return err;const description=err.body?.error_description;const fallback=err.body?.message;const server=(typeof description==="string"&&description!==""?description:void 0)??(typeof fallback==="string"?fallback:"");const extra=guidance(server);if(extra===void 0)return err;const wrapped=new ApiError(err.status,err.body,"","");wrapped.message=server!==""?`${server}
72
73
  ${extra}`:extra;return wrapped}export{NO_REDACT_FLAG,NO_REDACT_NOTICE,outputValue,requiresYes,exitCodeFor,reportError,checkOutTarget,CURATED_PAGING_VOCABULARY,fetchAllPages,resolvePaging,buildPrepareContext,runDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{FINAL_REPORT_BEGIN,FINAL_REPORT_END}from"./chunk-DXUFECE7.js";import{normalizeRequiredPlatforms}from"./chunk-SPZ3GBYC.js";import{skillCommand,skillPrefix}from"./chunk-6CS5L24D.js";import{extractLeadingTaskKey}from"./chunk-II5RVJQN.js";var LEDGER_TASK_KEY_MAX=50;var CONTROL_CHAR_RE=/[\u0000-\u001f\u007f]/;var FLAG_TOKEN_RE=/(?:^|\s)-/;function loosen(source){let t=source.replace(/^[ \t]*\/\/[^\n]*$/gm,"");t=t.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/,(\s*[}\]])/g,"$1");return t===source?null:t}function tryParsePlan(source){for(const candidate of[source,loosen(source)]){if(candidate===null)continue;try{const obj=JSON.parse(candidate);if(obj!==null&&typeof obj==="object"&&Array.isArray(obj.steps)){return obj}}catch{}}return null}
3
+ import{FINAL_REPORT_BEGIN,FINAL_REPORT_END}from"./chunk-DXUFECE7.js";import{normalizeRequiredPlatforms}from"./chunk-5KAWCLYN.js";import{skillCommand,skillPrefix}from"./chunk-6CS5L24D.js";import{extractLeadingTaskKey}from"./chunk-II5RVJQN.js";var LEDGER_TASK_KEY_MAX=50;var CONTROL_CHAR_RE=/[\u0000-\u001f\u007f]/;var FLAG_TOKEN_RE=/(?:^|\s)-/;function loosen(source){let t=source.replace(/^[ \t]*\/\/[^\n]*$/gm,"");t=t.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/,(\s*[}\]])/g,"$1");return t===source?null:t}function tryParsePlan(source){for(const candidate of[source,loosen(source)]){if(candidate===null)continue;try{const obj=JSON.parse(candidate);if(obj!==null&&typeof obj==="object"&&Array.isArray(obj.steps)){return obj}}catch{}}return null}
4
4
  function fencedBlocks(text,tag){const re=new RegExp("```"+tag+"\\s*\\n([\\s\\S]*?)\\n```","g");const out=[];for(const m of text.matchAll(re)){if(m[1]!==void 0)out.push(m[1])}return out}function extractGeminiEnvelope(text){const anchor=/\{[^{}]*"session_id"[^{}]*"response"\s*:\s*"/g;for(const m of text.matchAll(anchor)){const start=m.index;if(start===void 0)continue;let depth=0;let inStr=false;let escape=false;for(let i=start;i<text.length;i++){const c=text[i];if(escape){escape=false;continue}if(c===
5
5
  "\\"){escape=true;continue}if(c==='"'){inStr=!inStr;continue}if(inStr)continue;if(c==="{")depth++;else if(c==="}"){depth--;if(depth===0){try{const obj=JSON.parse(text.slice(start,i+1));if(obj!==null&&typeof obj==="object"&&typeof obj.response==="string"){return obj.response}}catch{}break}}}}return null}function matchingBrace(text,start){let depth=0;let inStr=false;let escape=false;for(let i=start;i<text.length;i++){const c=text[i];if(escape){escape=false;continue}if(inStr){if(c==="\\")escape=true;else if(c===
6
6
  '"')inStr=false;continue}if(c==='"')inStr=true;else if(c==="{")depth++;else if(c==="}"){depth--;if(depth===0)return i}}return-1}var MAX_STEPS_ANCHORS=20;var MAX_OPEN_CANDIDATES=8;function lastStepsObject(text){const anchors=[...text.matchAll(/"steps"\s*:/g)].map(m=>m.index).filter(i=>i!==void 0);for(const at of anchors.reverse().slice(0,MAX_STEPS_ANCHORS)){let tried=0;for(let open=text.lastIndexOf("{",at);open>=0&&tried<MAX_OPEN_CANDIDATES;open=text.lastIndexOf("{",open-1)){tried++;const close=matchingBrace(
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{describeError,normalizeRequiredPlatforms}from"./chunk-SPZ3GBYC.js";import{skillCommand}from"./chunk-6CS5L24D.js";import{httpFetch}from"./chunk-J7QYPKVK.js";var DAY_KEYS=["mon","tue","wed","thu","fri","sat","sun"];function wallClock(year,month1,day,hour=0,minute=0,second=0){return new Date(Date.UTC(year,month1-1,day,hour,minute,second,0))}function nowInZone(timezone,warn,at=new Date){try{const fmt=new Intl.DateTimeFormat("en-US",{timeZone:timezone,hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"});const parts={};for(const p of fmt.formatToParts(at)){if(p.type!=="literal")parts[p.type]=p.value}
3
+ import{describeError,normalizeRequiredPlatforms}from"./chunk-5KAWCLYN.js";import{skillCommand}from"./chunk-6CS5L24D.js";import{httpFetch}from"./chunk-J7QYPKVK.js";var DAY_KEYS=["mon","tue","wed","thu","fri","sat","sun"];function wallClock(year,month1,day,hour=0,minute=0,second=0){return new Date(Date.UTC(year,month1-1,day,hour,minute,second,0))}function nowInZone(timezone,warn,at=new Date){try{const fmt=new Intl.DateTimeFormat("en-US",{timeZone:timezone,hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"});const parts={};for(const p of fmt.formatToParts(at)){if(p.type!=="literal")parts[p.type]=p.value}
4
4
  const y=Number(parts["year"]);const mo=Number(parts["month"]);const d=Number(parts["day"]);const h=Number(parts["hour"]);const mi=Number(parts["minute"]);const s=Number(parts["second"]);if([y,mo,d,h,mi,s].some(v=>!Number.isFinite(v)))throw new Error("\u5F62\u5F0F\u4E0D\u660E");return wallClock(y,mo,d,h,mi,s)}catch(err){warn?.(`\u26A0\uFE0F \u30BF\u30A4\u30E0\u30BE\u30FC\u30F3 ${timezone} \u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\uFF08${err.message}\uFF09\u3002\u30DE\u30B7\u30F3\u306E\u30ED\u30FC\u30AB\u30EB\u6642\u523B\u3067\u5224\u5B9A\u3057\u307E\u3059\u2014\u2014\u30B5\u30FC\u30D0\u306E\u5C65\u6B74\u3068\u305A\u308C\u308B\u3068\u67A0\u306E\u5224\u5B9A\u304C\u58CA\u308C\u307E\u3059`);
5
5
  return wallClock(at.getFullYear(),at.getMonth()+1,at.getDate(),at.getHours(),at.getMinutes(),at.getSeconds())}}function parseTs(value){if(value===null||value===void 0||value==="")return null;const text=String(value).trim().replace(/ /g,"T");const attempts=[[19,/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2}):(\d{1,2})$/],[16,/^(\d{4})-(\d{1,2})-(\d{1,2})T(\d{1,2}):(\d{1,2})$/],[10,/^(\d{4})-(\d{1,2})-(\d{1,2})$/]];for(const[width,re]of attempts){const m=re.exec(text.slice(0,width));if(!m)continue;
6
6
  const[,y,mo,d,h,mi,s]=m;const hh=Number(h??0);const mm=Number(mi??0);const ss=Number(s??0);if(hh>23||mm>59||ss>59)continue;const date=wallClock(Number(y),Number(mo),Number(d),hh,mm,ss);if(date.getUTCFullYear()!==Number(y)||date.getUTCMonth()+1!==Number(mo)||date.getUTCDate()!==Number(d)){continue}return date}return null}function num(value,fallback,cast="int"){if(value===null||value===void 0||value==="")return fallback;if(typeof value==="boolean")return value?1:0;if(typeof value==="number"){if(!Number.
@@ -1,11 +1,11 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- var LOADERS={agent:async()=>(await import("./agent-SFX3ZVOB.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-6JO4PJRG.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-6TDJFHDL.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-HMOECNWG.js")).analysisDomain,announcement:async()=>(await import("./announcement-Q642UMYK.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-DWVFYL2Y.js")).attendanceDomainWithRecords,
3
+ var LOADERS={agent:async()=>(await import("./agent-SFX3ZVOB.js")).agentDomain,"agent-loop":async()=>(await import("./agent-loop-OW6ZMQKN.js")).agentLoopDomain,"ai-review-reason":async()=>(await import("./sales-ai-review-6TDJFHDL.js")).aiReviewReasonDomain,analysis:async()=>(await import("./analysis-HMOECNWG.js")).analysisDomain,announcement:async()=>(await import("./announcement-Q642UMYK.js")).announcementDomain,attendance:async()=>(await import("./attendance-correct-DWVFYL2Y.js")).attendanceDomainWithRecords,
4
4
  backlog:async()=>(await import("./backlog-FG3Y5JTE.js")).backlogDomain,budget:async()=>(await import("./budget-5RPOQZN7.js")).budgetDomain,"business-place":async()=>(await import("./sales-master-H5HMVBJV.js")).businessPlaceDomain,company:async()=>(await import("./company-4DHVAW25.js")).companyDomain,contract:async()=>(await import("./contract-PT7VW4IE.js")).contractDomain,customer:async()=>(await import("./company-4DHVAW25.js")).customerDomain,department:async()=>(await import("./department-C6WIZPBS.js")).
5
5
  departmentDomain,deposit:async()=>(await import("./deposit-OEYFPEZG.js")).depositDomain,estimate:async()=>(await import("./estimate-4BUJQ3TP.js")).estimateDomain,evaluation:async()=>(await import("./evaluation-GLXQ54F6.js")).evaluationDomain,expense:async()=>(await import("./expense-QE3WIJTN.js")).expenseDomain,"fiscal-year":async()=>(await import("./fiscal-year-YJWFQN4P.js")).fiscalYearDomain,"goal-sheet":async()=>(await import("./evaluation-GLXQ54F6.js")).goalSheetDomain,inquiry:async()=>(await import("./inquiry-ORB3ROAJ.js")).
6
- inquiryDomain,invoice:async()=>(await import("./invoice-XLX5KS2T.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-UDF6I3BP.js")).jobTitleDomain,leave:async()=>(await import("./leave-3BJMXI7Q.js")).leaveDomain,license:async()=>(await import("./license-OMIZUUTW.js")).licenseDomain,media:async()=>(await import("./media-TWRO65NT.js")).mediaDomain,meeting:async()=>(await import("./knowledge-4QPIGJEE.js")).meetingDomain,note:async()=>(await import("./knowledge-4QPIGJEE.js")).
6
+ inquiryDomain,invoice:async()=>(await import("./invoice-XLX5KS2T.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-UDF6I3BP.js")).jobTitleDomain,leave:async()=>(await import("./leave-3BJMXI7Q.js")).leaveDomain,license:async()=>(await import("./license-OMIZUUTW.js")).licenseDomain,media:async()=>(await import("./media-FGEV2OI2.js")).mediaDomain,meeting:async()=>(await import("./knowledge-6A3MCIRY.js")).meetingDomain,note:async()=>(await import("./knowledge-6A3MCIRY.js")).
7
7
  noteDomain,notification:async()=>(await import("./notification-2IESSY5E.js")).notificationDomain,onedrive:async()=>(await import("./onedrive-ZY3GTU26.js")).onedriveDomain,outlook:async()=>(await import("./outlook-KYTXHDAV.js")).outlookDomain,payee:async()=>(await import("./sales-master-H5HMVBJV.js")).payeeDomain,position:async()=>(await import("./position-CR6P4WC5.js")).positionDomain,project:async()=>(await import("./project-JJEMEO2W.js")).projectDomain,prospect:async()=>(await import("./prospect-QG6X7ALK.js")).
8
8
  prospectDomain,purchase:async()=>(await import("./purchase-Z6ENEOZM.js")).purchaseDomain,qualification:async()=>(await import("./skill-RH5MBRXZ.js")).qualificationDomain,receivable:async()=>(await import("./receivable-ZBDXXMHX.js")).receivableDomain,redmine:async()=>(await import("./redmine-EIFHMLNE.js")).redmineDomain,report:async()=>(await import("./report-TTXGXSR3.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-Q5KRM63Y.js")).roundingSettingDomain,
9
- "seal-impression":async()=>(await import("./sales-master-H5HMVBJV.js")).sealImpressionDomain,search:async()=>(await import("./search-GRAWP2LX.js")).searchDomain,segment:async()=>(await import("./segment-YOUY4PZC.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-772Y3ZWA.js")).shiftDomain,skill:async()=>(await import("./skill-RH5MBRXZ.js")).skillDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-EJTFKAKY.js")).
10
- supplierPaymentDomain,support:async()=>(await import("./support-FR3KY63E.js")).supportDomain,task:async()=>(await import("./task-O7K6725Y.js")).taskDomain,teams:async()=>(await import("./teams-QRVCFJS4.js")).teamsDomain,user:async()=>(await import("./user-PRGHG3HM.js")).userDomain,"user-contract-type":async()=>(await import("./user-contract-type-K7CLKCEE.js")).userContractTypeDomain,wiki:async()=>(await import("./knowledge-4QPIGJEE.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-772Y3ZWA.js")).
9
+ "seal-impression":async()=>(await import("./sales-master-H5HMVBJV.js")).sealImpressionDomain,search:async()=>(await import("./search-OSV6TA6Q.js")).searchDomain,segment:async()=>(await import("./segment-YOUY4PZC.js")).segmentDomain,shift:async()=>(await import("./attendance-lists-772Y3ZWA.js")).shiftDomain,skill:async()=>(await import("./skill-RH5MBRXZ.js")).skillDomain,storage:async()=>(await import("./storage-AQDCEBDJ.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-EJTFKAKY.js")).
10
+ supplierPaymentDomain,support:async()=>(await import("./support-FR3KY63E.js")).supportDomain,task:async()=>(await import("./task-AQSKV7VL.js")).taskDomain,teams:async()=>(await import("./teams-QRVCFJS4.js")).teamsDomain,user:async()=>(await import("./user-PRGHG3HM.js")).userDomain,"user-contract-type":async()=>(await import("./user-contract-type-K7CLKCEE.js")).userContractTypeDomain,wiki:async()=>(await import("./knowledge-6A3MCIRY.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-772Y3ZWA.js")).
11
11
  workchangeDomain,"worker-agent":async()=>(await import("./worker-agent-WDYZTQ5C.js")).workerAgentDomain,workflow:async()=>(await import("./workflow-S25JXGWN.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
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-ZKS2F7C6.js";import"./chunk-2LOT54OO.js";import"./chunk-KDH3KWPO.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.69.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chunk-D5EYI7S3.js";import"./chunk-2LOT54OO.js";import"./chunk-KDH3KWPO.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.71.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
@@ -45,6 +45,19 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
45
45
  / --counts verify=N / --gate <\u30B9\u30AD\u30EB> \u3067\u6642\u9593\u5E2F\u30B2\u30FC\u30C8\u3060\u3051\u5224\u5B9A\uFF09
46
46
  \u203B --project __private__ \u3067\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u30AD\u30E5\u30FC\u3092\u6307\u3059
47
47
  \uFF08\u5B9A\u671F\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u306F\u6301\u305F\u306A\u3044\u305F\u3081 schedule \u306F0\u4EF6\uFF09
48
+ twp task-loop schedule list --project <\u30AD\u30FC|UUID>
49
+ \u5B9A\u671F\u67A0\u306E\u5B9A\u7FA9\u3092\u5168\u4EF6\u8868\u793A\uFF08id\u30FB\u6709\u52B9/\u7121\u52B9\u30FB\u30B9\u30AD\u30EB\u30FB\u5F15\u6570\u30FB\u767A\u706B\u306E\u6761\u4EF6\u30FB\u4EF6\u6570\u30B2\u30FC\u30C8\uFF09
50
+ twp task-loop schedule push --project <\u30AD\u30FC|UUID> --file <\u30D1\u30B9>
51
+ \u5B9A\u7FA9\u3092\u30D5\u30A1\u30A4\u30EB\uFF08ops-schedule.json \u3068\u540C\u3058\u5F62\u30FB1\u4EF6\u30FB\u914D\u5217\u3082\u53EF\uFF09\u304B\u3089\u4F5C\u6210\u30FB\u66F4\u65B0\u3002
52
+ \u5DEE\u5206\u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001\u6848\u5185\u3055\u308C\u308B --yes --revision <ID>=<N>,... \u3067\u78BA\u5B9A
53
+ \uFF08\u66F8\u3044\u305F\u5F8C\u306B\u30B5\u30FC\u30D0\u3068\u5DEE\u52060\u3092\u78BA\u8A8D\uFF09\u3002\u30B5\u30FC\u30D0\u306B\u3060\u3051\u3042\u308B\u5B9A\u7FA9\u306F\u6D88\u3055\u306A\u3044
54
+ twp task-loop schedule delete --project <\u30AD\u30FC|UUID> <\u5B9A\u7FA9ID>
55
+ \u5B9A\u7FA9\u3092\u524A\u9664\uFF08\u6848\u5185\u3055\u308C\u308B --yes --revision <N> \u3067\u78BA\u5B9A\u3002\u6B62\u3081\u308B\u3060\u3051\u306A\u3089
56
+ enabled: false \u3092 push\uFF09
57
+ twp task-loop schedule config pull|push --project <\u30AD\u30FC|UUID>
58
+ \u30B0\u30ED\u30FC\u30D0\u30EB\u8A2D\u5B9A\uFF08max_per_cycle / gates / require_zero_statuses\uFF09\u3092
59
+ pull [--out <\u30D1\u30B9>]\uFF08\u65E2\u5B9A\u306F\u6A19\u6E96\u51FA\u529B\uFF09\u30FBpush --file <\u30D1\u30B9>\uFF08\u5DEE\u5206\u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001
60
+ \u6848\u5185\u3055\u308C\u308B --yes --revision <N> \u3067\u78BA\u5B9A\uFF09
48
61
  twp task-loop charter push --project <\u30AD\u30FC|UUID> --file <\u30D1\u30B9>
49
62
  \u61B2\u7AE0\u3092\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30B5\u30FC\u30D0\u3078\u767B\u9332\u3002\u5DEE\u5206\u3068 revision \u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001
50
63
  \u6848\u5185\u3055\u308C\u308B --yes --revision <N> \u3067\u78BA\u5B9A\uFF08\u305D\u306E\u5F8C\u30B5\u30FC\u30D0\u304C\u66F4\u65B0\u3055\u308C\u3066
@@ -75,6 +88,14 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
75
88
  \u672C\u6587\u3078\u623B\u3059\uFF08revert --to <\u7248>\u3002\u5DEE\u5206\u3068 revision \u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001
76
89
  \u6848\u5185\u3055\u308C\u308B --yes --revision <N> \u3067\u78BA\u5B9A\u3002\u623B\u3059\u64CD\u4F5C\u3082\u65B0\u3057\u3044\u7248\u306B\u306A\u308B\uFF09\u3002
77
90
  charter revert \u306F\u61B2\u7AE0\u3060\u3051\u3092\u623B\u3059
91
+ twp task-loop settings pull --project <\u30AD\u30FC|UUID> [--out <\u30D1\u30B9>]
92
+ \u61B2\u7AE0\u4EE5\u5916\u306E\u30EB\u30FC\u30D7\u8A2D\u5B9A\uFF08ai / prompts / loop / outcomes\uFF09\u3092 JSON \u3078\u5C55\u958B
93
+ \uFF08\u65E2\u5B9A loop-settings.json\u30FB\u672A\u8A2D\u5B9A\u306E\u30AD\u30FC\u306F null \u3067\u5168\u90E8\u51FA\u3059\uFF09\u3002
94
+ \u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u3068\u9055\u3046\u3068\u304D\u306F\u5DEE\u5206\u3092\u8868\u793A\u3057\u3001--yes \u3067\u4E0A\u66F8\u304D
95
+ twp task-loop settings push --project <\u30AD\u30FC|UUID> --file <\u30D1\u30B9>
96
+ \u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u3044\u305F\u30AD\u30FC\u3060\u3051\u3092\u30B5\u30FC\u30D0\u3078\u53CD\u6620\uFF08\u90E8\u5206\u66F4\u65B0\u3002\u66F8\u3044\u3066\u3044\u306A\u3044\u30AD\u30FC\u3068
97
+ \u61B2\u7AE0\u306F\u5909\u3048\u306A\u3044\u30FBnull \u306F\u672A\u8A2D\u5B9A\u306B\u623B\u3059\u30FBprompts.charter \u306F charter push\uFF09\u3002
98
+ \u30AD\u30FC\u3054\u3068\u306E\u5DEE\u5206\u3068 revision \u3092\u8868\u793A\u3057\u3066\u6B62\u307E\u308A\u3001--yes --revision <N> \u3067\u78BA\u5B9A
78
99
  twp task-loop plan submit --file <\u30D1\u30B9|-> | --empty [--check]
79
100
  \u8A08\u753BAI\u304C\u8A08\u753B\u3092\u30EB\u30FC\u30D7\u3078\u63D0\u51FA\u3059\u308B\uFF08\u8A08\u753B\u30D5\u30A7\u30FC\u30BA\u306E\u4E2D\u3067\u3060\u3051\u53D7\u3051\u4ED8\u3051\u308B\uFF09\u3002
80
101
  step \u3054\u3068\u306B\u53D7\u7406/\u68C4\u5374\u3068\u7406\u7531\u3092\u8868\u793A\u3057\u3001\u68C4\u5374\u304C\u3042\u308C\u3070\u975E0\u3067\u7D42\u308F\u308B\u3002
@@ -159,6 +180,8 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
159
180
  \u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u7BA1\u7406\u8005\u306E\u307F\uFF09
160
181
  twp agent-loop history list
161
182
  \u671F\u9593\u3092\u6307\u5B9A\u3057\u3066\u5B9F\u884C\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--since \u304C\u8981\u308B\uFF09
183
+ twp agent-loop plan-history list
184
+ \u671F\u9593\u3092\u6307\u5B9A\u3057\u3066\u8A08\u753B\u306E\u5B9F\u884C\u8A18\u9332\u3092\u4E00\u89A7\u3059\u308B\uFF08--since \u304C\u8981\u308B\uFF09
162
185
  twp project list \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4E00\u89A7\u3059\u308B
163
186
  twp project get <\u53C2\u7167> \u30D7\u30ED\u30B8\u30A7\u30AF\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
164
187
  twp project create \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08--name / --code \u304C\u5FC5\u9808\u30FB\u7BA1\u7406\u8005\uFF09
@@ -810,6 +833,18 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-PECIBNFD.js";import{parseArgv}from"./chu
810
833
  \u81EA\u5206\u306E\u30EC\u30DD\u30FC\u30C8\u306B AI \u306E\u30A2\u30C9\u30D0\u30A4\u30B9\u3092\u3082\u3089\u3046\uFF08AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u30FB--yes \u304C\u8981\u308B\uFF09
811
834
  twp wiki list \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E wiki \u30DA\u30FC\u30B8\u3092\u4E00\u89A7\u3059\u308B\uFF08--parent \u3067\u89AA\u30DA\u30FC\u30B8\u76F4\u4E0B\uFF09
812
835
  twp wiki get <\u30DA\u30FC\u30B8ID> wiki \u30DA\u30FC\u30B81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08--output text \u3067\u672C\u6587\u3092\u8AAD\u3080\uFF09
836
+ twp wiki tree wiki \u30DA\u30FC\u30B8\u306E\u89AA\u5B50\u69CB\u9020\u3092\u51FA\u3059\uFF08\u672C\u6587\u306F\u51FA\u3055\u306A\u3044\uFF09
837
+ twp wiki tags wiki \u30DA\u30FC\u30B8\u306B\u4ED8\u3044\u3066\u3044\u308B\u30BF\u30B0\u3092\u51FA\u3059
838
+ twp wiki versions <\u30DA\u30FC\u30B8ID>
839
+ wiki \u30DA\u30FC\u30B8\u306E\u7248\u306E\u5C65\u6B74\u3092\u65B0\u3057\u3044\u9806\u306B\u51FA\u3059
840
+ twp wiki version <\u30DA\u30FC\u30B8ID> <\u7248>
841
+ wiki \u30DA\u30FC\u30B8\u306E\u904E\u53BB\u306E\u72481\u3064\u3092\u8868\u793A\u3059\u308B\uFF08--output text \u3067\u672C\u6587\u3092\u8AAD\u3080\uFF09
842
+ twp wiki diff <\u30DA\u30FC\u30B8ID> <\u72481> [<\u72482>]
843
+ 2\u3064\u306E\u7248\u306E\u672C\u6587\u306E\u5DEE\u5206\u3092\u51FA\u3059\uFF08\u72482\u3092\u7701\u304F\u3068\u3044\u307E\u306E\u7248\u3068\u6BD4\u3079\u308B\uFF09
844
+ twp wiki backlinks <\u30DA\u30FC\u30B8ID>
845
+ wiki \u30DA\u30FC\u30B8\u3078\u30EA\u30F3\u30AF\u3057\u3066\u3044\u308B\u30DA\u30FC\u30B8\u3092\u51FA\u3059\uFF08\u30EA\u30F3\u30AF\u5468\u8FBA\u306E\u629C\u7C8B\u3064\u304D\uFF09
846
+ twp wiki linked-tasks <\u30DA\u30FC\u30B8ID>
847
+ wiki \u30DA\u30FC\u30B8\u306B\u7D10\u3065\u3044\u3066\u3044\u308B\u30BF\u30B9\u30AF\u3092\u51FA\u3059
813
848
  twp wiki create wiki \u30DA\u30FC\u30B8\u3092\u4F5C\u6210\u3059\u308B\uFF08\u672C\u6587\u306F --content-file \u306E\u30D5\u30A1\u30A4\u30EB\u304B\u3089\uFF09
814
849
  twp wiki update <\u30DA\u30FC\u30B8ID>
815
850
  wiki \u30DA\u30FC\u30B8\u3092\u66F4\u65B0\u3059\u308B\uFF08--if-version \u3067\u7248\u3092\u7167\u5408\uFF09
@@ -1233,16 +1268,16 @@ TUI \u5185:
1233
1268
  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
1234
1269
  \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
1235
1270
  `;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
1236
- `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-UVQHRBDJ.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1237
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-WBDRVEUW.js"),import("./config-3CNEQ7KN.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-YMI3F44R.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-3H3CGGBI.js");process.exitCode=
1271
+ `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-VG77U4UA.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-JDD3SNUO.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
1272
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-DC75DVLY.js"),import("./config-3CNEQ7KN.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-YMI3F44R.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-3H3CGGBI.js");process.exitCode=
1238
1273
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
1239
1274
  `);return}if(args.command==="help"){process.stdout.write(HELP);return}if(args.unknown.length>0){process.stderr.write(`\u4E0D\u660E\u306A\u5F15\u6570: ${args.unknown.join(" ")}
1240
1275
 
1241
- ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.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-XZUJWTTZ.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1242
- {},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-WIMCS3VI.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
1276
+ ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-YMI3F44R.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-R5CU36O3.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:
1277
+ {},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-4HXHTIQT.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.
1243
1278
  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-NCAVUXSX.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-4C6TJ4WG.js");
1244
- 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-TR3J5HXT.js");process.exitCode=await runTaskLoop(
1245
- {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,charterOp:args.charterOp,charterInput:args.charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,
1246
- skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,output:args.output,query:args.query,revisionFrom:args.revisionFrom,revisionTo:args.revisionTo,planOp:args.planOp,capacityOp:args.capacityOp,planEmpty:args.planEmpty,planCheck:args.planCheck,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-4XO5HIJR.js");process.
1247
- 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.profile}:{},version:VERSION});return}const{startTui}=await import("./app-SAHITYJK.js");await startTui({mode:args.mode,permissionMode:args.permissionMode,allowedTools:args.
1248
- allowedTools,disallowedTools:args.disallowedTools,model:args.model,profile:args.profile,noTui:args.noTui||!process.stdout.isTTY,doctor:args.doctor,version:VERSION})}await main();
1279
+ 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-HH2DW2QJ.js");process.exitCode=await runTaskLoop(
1280
+ {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.
1281
+ charterFile,charterOutput:args.charterOut,charterRevision:args.charterRevision,settingsOp:args.settingsOp,skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,output:args.output,query:args.query,revisionFrom:args.revisionFrom,revisionTo:args.revisionTo,planOp:args.planOp,capacityOp:args.capacityOp,planEmpty:args.planEmpty,planCheck:args.planCheck,yes:args.yes,ais:args.ais,workspace:args.workspace,aiConfigFile:args.aiConfigFile,noAiConfigFile:args.noAiConfigFile});
1282
+ return}if(args.command==="print"){const{runOneShot}=await import("./oneshot-4XO5HIJR.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.profile}:{},version:VERSION});return}const{startTui}=await import("./app-JCUJJQGB.js");
1283
+ 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();