@tocca-systems/twp-cli 0.44.0 → 0.46.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 (76) hide show
  1. package/CHANGELOG.public.md +16 -0
  2. package/README.md +60 -5
  3. package/dist/{agent-loop-MMWJHN3D.js → agent-loop-RMJXHBNG.js} +1 -1
  4. package/dist/{ai-dispatch-FEDOAV2E.js → ai-dispatch-L6XZCCU4.js} +2 -2
  5. package/dist/{api-command-OIXWF72C.js → api-command-67456PBS.js} +8 -7
  6. package/dist/{app-6VL7WWT3.js → app-7227DY7N.js} +5 -5
  7. package/dist/{backlog-R3M54DPM.js → backlog-XZB35X7I.js} +1 -1
  8. package/dist/budget-FOFE3YUJ.js +97 -0
  9. package/dist/chunk-3AD2T6L2.js +64 -0
  10. package/dist/{chunk-4MTEXWYQ.js → chunk-3WHD2YVF.js} +16 -13
  11. package/dist/{chunk-AJIHNSXI.js → chunk-4OSCQLZT.js} +1 -1
  12. package/dist/{chunk-R4MOGEGN.js → chunk-AKPVALTZ.js} +1 -1
  13. package/dist/{chunk-O5AUX7AQ.js → chunk-AUAZP2G7.js} +5 -4
  14. package/dist/chunk-B4APKONL.js +9 -0
  15. package/dist/{chunk-FCISZHMZ.js → chunk-EZMXGIGX.js} +1 -1
  16. package/dist/{chunk-OKIENL5P.js → chunk-HS7EKE7M.js} +1 -1
  17. package/dist/{chunk-FUH3J5VB.js → chunk-JYNZEZYL.js} +1 -1
  18. package/dist/{chunk-EZ3RJBN6.js → chunk-L7IGGC7H.js} +1 -1
  19. package/dist/{chunk-UTIZTCAP.js → chunk-LKS7GANP.js} +1 -1
  20. package/dist/{chunk-OUP3JLVH.js → chunk-MXKAEPXA.js} +1 -1
  21. package/dist/{chunk-ERQT4AMC.js → chunk-OLBRIPOS.js} +1 -1
  22. package/dist/{chunk-2ZTJP74M.js → chunk-OVBKORPC.js} +1 -1
  23. package/dist/chunk-Q3B65OFC.js +3 -0
  24. package/dist/{chunk-3UW33UZI.js → chunk-QVZGNHRE.js} +1 -1
  25. package/dist/{chunk-SSYA2LNP.js → chunk-RMAW7KOR.js} +19 -17
  26. package/dist/{chunk-JC5HZGPD.js → chunk-SBWCQAHT.js} +1 -1
  27. package/dist/{chunk-R5KWKK5Z.js → chunk-V24LKF3V.js} +1 -1
  28. package/dist/{chunk-G2TBGGER.js → chunk-VMULCEHY.js} +1 -1
  29. package/dist/chunk-Y5EN7RYN.js +4 -0
  30. package/dist/{chunk-NIZXUROF.js → chunk-ZE75ZDLD.js} +1 -1
  31. package/dist/{chunk-QEWI75KI.js → chunk-ZM3MTWNT.js} +1 -1
  32. package/dist/cli.js +48 -9
  33. package/dist/{commands-DUFVGY5V.js → commands-5GP3REIU.js} +12 -12
  34. package/dist/{commands-255HOMWQ.js → commands-SWR442MR.js} +1 -1
  35. package/dist/{company-46SIKR43.js → company-FEXAHUPT.js} +3 -3
  36. package/dist/{completion-4EIFB6JN.js → completion-YSP6UE25.js} +1 -1
  37. package/dist/{contract-NDED7WTP.js → contract-4RALZBO5.js} +2 -2
  38. package/dist/{department-GLIMOUQM.js → department-VEXXWBZ4.js} +1 -1
  39. package/dist/{deposit-U6O52S6F.js → deposit-2AAST2DE.js} +2 -2
  40. package/dist/{estimate-DALQK4M5.js → estimate-JQURFOCH.js} +4 -4
  41. package/dist/{inquiry-QFW33SDT.js → inquiry-YTYZYUTY.js} +1 -1
  42. package/dist/{invoice-OO6EPZAZ.js → invoice-PHYBVU6Q.js} +3 -3
  43. package/dist/{job-title-WA6FRUL6.js → job-title-ORNY7A7L.js} +1 -1
  44. package/dist/{knowledge-3IT2MBRG.js → knowledge-FQ32UNDW.js} +2 -2
  45. package/dist/{leave-YYKSAXHD.js → leave-5V6EPGA3.js} +2 -2
  46. package/dist/{media-JMVFUWIM.js → media-BU23L547.js} +1 -1
  47. package/dist/{notification-5KPTSLO6.js → notification-XARS6JH2.js} +1 -1
  48. package/dist/onedrive-N4T6D2OW.js +47 -0
  49. package/dist/{oneshot-GXXMSQ4Y.js → oneshot-7BFL2VON.js} +1 -1
  50. package/dist/outlook-LY6WBXIJ.js +94 -0
  51. package/dist/{position-PCVPUJZQ.js → position-NNJZAT3A.js} +1 -1
  52. package/dist/{project-3WW2PW3O.js → project-FDY6LETQ.js} +2 -2
  53. package/dist/{prospect-6RF45LPK.js → prospect-CUWP3E5S.js} +3 -3
  54. package/dist/{purchase-TTKRSNCF.js → purchase-2CZTB5H7.js} +3 -3
  55. package/dist/{receivable-H6GMZ6JQ.js → receivable-KV5PPNLA.js} +2 -2
  56. package/dist/{registry-7OIXAAIO.js → registry-NZ2HNT52.js} +1 -1
  57. package/dist/{render-ASQBZ75M.js → render-R5QZ46GF.js} +1 -1
  58. package/dist/{report-OEETO2S5.js → report-PCQPTRUV.js} +1 -1
  59. package/dist/run-7BS34D2P.js +4 -0
  60. package/dist/{sales-ai-review-MXMECYDW.js → sales-ai-review-SVZHVH5P.js} +2 -2
  61. package/dist/{sales-master-PFGXXJFP.js → sales-master-VD6JE2P3.js} +3 -3
  62. package/dist/sales-numbering-P7W6N3OM.js +4 -0
  63. package/dist/{server-settings-326MD7T4.js → server-settings-3E7G56G7.js} +1 -1
  64. package/dist/{supplier-payment-FRHPIV4D.js → supplier-payment-2KPCVEPH.js} +3 -3
  65. package/dist/{task-XTTCYGDC.js → task-MFWWP5Q7.js} +3 -3
  66. package/dist/teams-DRHXPLWN.js +93 -0
  67. package/dist/{user-3J4CZ4LO.js → user-QG3KMK3T.js} +3 -3
  68. package/dist/{workflow-3M2KCVYI.js → workflow-CSYU4J4U.js} +1 -1
  69. package/package.json +2 -2
  70. package/dist/chunk-34X4JXND.js +0 -4
  71. package/dist/chunk-YPNMQCVG.js +0 -9
  72. package/dist/onedrive-XAFONTRT.js +0 -16
  73. package/dist/outlook-KVMKMFUE.js +0 -37
  74. package/dist/run-KVDDYJ6W.js +0 -4
  75. package/dist/sales-numbering-KR2L3FQA.js +0 -4
  76. package/dist/teams-RDBKQJMM.js +0 -50
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-IXFMXUNT.js";import{MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,manhourNotes,manhourQuery,manhourRows,workloadDistributionNotes,workloadDistributionRows}from"./chunk-E7MUDY4P.js";import{boundedText,isoDate}from"./chunk-XDHLO54T.js";import{readBody}from"./chunk-ORUDW52G.js";import{PROJECT_MEMBERS_LIMIT,resolveNamed}from"./chunk-4MTEXWYQ.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";
3
+ import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-IXFMXUNT.js";import{MANHOUR_DESCRIPTION,MANHOUR_FROM_FLAG,MANHOUR_TO_FLAG,manhourNotes,manhourQuery,manhourRows,workloadDistributionNotes,workloadDistributionRows}from"./chunk-E7MUDY4P.js";import{boundedText,isoDate}from"./chunk-XDHLO54T.js";import{readBody}from"./chunk-ORUDW52G.js";import{PROJECT_MEMBERS_LIMIT,resolveNamed}from"./chunk-3WHD2YVF.js";import{collapsesInUrlPath,safeProjectIdPolicy}from"./chunk-GMBJTG6A.js";
4
4
  import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF08\u7701\u7565\u6642\u306F TWP_PROJECT / .twp/config.json / ~/.twp/config.json\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"};var ROLE_FLAG={name:"--role",summary:"\u5F79\u5272\uFF08member / manager \u306A\u3069\u30FB\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3059\u308B\uFF09",takesValue:true,placeholder:"<\u5F79\u5272>"};var START_DATE_FLAG={name:"\
5
5
  --start-date",summary:"\u53C2\u753B\u958B\u59CB\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var END_DATE_FLAG={name:"--end-date",summary:"\u53C2\u753B\u7D42\u4E86\u65E5\uFF08YYYY-MM-DD\uFF09",takesValue:true,placeholder:"<YYYY-MM-DD>"};var PERIOD_FILE_FLAG={name:"--period-file",summary:"\u7A3C\u50CD\u671F\u9593\uFF08assignment_periods\uFF09\u306E JSON \u914D\u5217\u30D5\u30A1\u30A4\u30EB\uFF08- \u3067\u6A19\u6E96\u5165\u529B\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};
6
6
  var MEMO_FLAG={name:"--memo",summary:"\u30E1\u30E2\uFF0810,000 \u6587\u5B57\u307E\u3067\uFF09",takesValue:true,placeholder:"<\u6587\u5B57\u5217>"};var CLEAR_FLAG={name:"--clear",summary:"\u5225\u540D\u3092\u6D88\u3059",takesValue:false};var MEMO_MAX_CHARS=1e4;var PERIOD_FILE_MAX_CHARS=2e5;var ALIAS_MAX_CHARS=255;var PERIOD_KEYS=["id","start_date","end_date","daily_hours","total_hours","input_mode"];var PERIOD_REQUIRED=["start_date","end_date","daily_hours"];var ROLE_HELP="--role \u306E\u5024\u306F\u30B5\u30FC\u30D0\u304C\u691C\u67FB\u3057\u307E\u3059\uFF08CLI\
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var DOMAIN_NAMES=["agent-loop","ai-review-reason","analysis","attendance","backlog","budget","business-place","company","contract","customer","department","deposit","estimate","inquiry","invoice","job-title","leave","media","meeting","note","notification","onedrive","outlook","payee","position","project","prospect","purchase","receivable","report","rounding-setting","seal-impression","shift","storage","supplier-payment","task","teams","user","wiki","workchange","workflow"];function isDomainName(value){
4
+ return value!==void 0&&DOMAIN_NAMES.includes(value)}var HELP_TOKEN="help";var API_TOKEN="api";export{DOMAIN_NAMES,isDomainName,HELP_TOKEN,API_TOKEN};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{salesAdminForbidden}from"./chunk-3UW33UZI.js";import{nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var PATH="/api/v2/sales/receivables";var FORBIDDEN=salesAdminForbidden("\u58F2\u639B\u91D1\u6B8B\u9AD8\u3068\u7DE0\u3081");var CLOSING_LIST_MAX=36;var SUMMARY_LABELS=[["previous_balance","\u524D\u6708\u6B8B\u9AD8"],["current_debit","\u5F53\u6708\u501F\u65B9\uFF08\u5F53\u6708\u8ACB\u6C42\u984D\uFF09"],["current_credit","\u5F53\u6708\u8CB8\u65B9\uFF08\u5F53\u6708\u5165\u91D1\u5F15\u5F53\u984D\uFF09"],["current_balance","\u5F53\u6708\u6B8B\u9AD8"],["current_month_uncollected","\u2460 \u5F53\u6708\u8ACB\u6C42 \u672A\u56DE\u53CE"],
3
+ import{salesAdminForbidden}from"./chunk-QVZGNHRE.js";import{nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";var PATH="/api/v2/sales/receivables";var FORBIDDEN=salesAdminForbidden("\u58F2\u639B\u91D1\u6B8B\u9AD8\u3068\u7DE0\u3081");var CLOSING_LIST_MAX=36;var SUMMARY_LABELS=[["previous_balance","\u524D\u6708\u6B8B\u9AD8"],["current_debit","\u5F53\u6708\u501F\u65B9\uFF08\u5F53\u6708\u8ACB\u6C42\u984D\uFF09"],["current_credit","\u5F53\u6708\u8CB8\u65B9\uFF08\u5F53\u6708\u5165\u91D1\u5F15\u5F53\u984D\uFF09"],["current_balance","\u5F53\u6708\u6B8B\u9AD8"],["current_month_uncollected","\u2460 \u5F53\u6708\u8ACB\u6C42 \u672A\u56DE\u53CE"],
4
4
  ["previous_uncollected","\u2461 \u524D\u6708\u4EE5\u524D \u672A\u5165\u91D1\u58F2\u639B\u91D1"],["advance_received","\u524D\u53D7\u91D1\uFF08\u7FCC\u6708\u4EE5\u964D\u8ACB\u6C42\u3078\u306E\u5165\u91D1\uFF09"],["future_invoice_total","\u2462 \u7FCC\u6708\u4EE5\u964D \u58F2\u639B\u91D1\uFF08\u8ACB\u6C42\u7DCF\u984D\u30FB\u53C2\u8003\uFF09"]];var ITEM_COLUMNS=["invoice_id","invoice_no","company_name","title","invoice_date","due_date","total","collected","uncollected"];var CLOSING_COLUMNS=["year_mo\
5
5
  nth","basis_date","closed_at","closed_by_name","has_variance"];function usageOf(op){return`twp receivable ${op} help`}function yen(value){return typeof value==="number"?`${value.toLocaleString("ja-JP")} \u5186`:"\uFF08\u4E0D\u660E\uFF09"}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function yearMonthValue(raw,label){const value=raw.trim();if(!/^\d{4}-(0[1-9]|1[0-2])$/.test(value))throw new UsageError(`${label} \u306F YYYY-MM \u306E\u5F62\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,
6
6
  "\u4F8B: 2026-09");return value}function previousYearMonth(yearMonth){const[y,m]=yearMonth.split("-").map(Number);return m===1?`${y-1}-12`:`${y}-${String(m-1).padStart(2,"0")}`}function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function withoutResult(body){return Object.
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{describeError}from"./chunk-G2THOTBW.js";import{CHAIN_KEYS,reloadAiConfig}from"./chunk-AEJHDFXB.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var PROMPT_KEYS=["charter","charter_prefix","charter_suffix","plan_preamble","step_budget","non_interactive_note","safe_mode_note"];function parseServerSettings(res){const json=res.json;if(json===null||typeof json!=="object"||Array.isArray(json))return null;const top=json;const data=top["data"];const b=data!==null&&typeof data==="object"&&!Array.isArray(data)&&"revision"in data?data:top;const revision=b["revision"];if(typeof revision!=="number"||!Number.isInteger(revision)||revision<0)return null;
3
+ import{CHAIN_KEYS,reloadAiConfig}from"./chunk-AEJHDFXB.js";import{describeError}from"./chunk-G2THOTBW.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var PROMPT_KEYS=["charter","charter_prefix","charter_suffix","plan_preamble","step_budget","non_interactive_note","safe_mode_note"];function parseServerSettings(res){const json=res.json;if(json===null||typeof json!=="object"||Array.isArray(json))return null;const top=json;const data=top["data"];const b=data!==null&&typeof data==="object"&&!Array.isArray(data)&&"revision"in data?data:top;const revision=b["revision"];if(typeof revision!=="number"||!Number.isInteger(revision)||revision<0)return null;
4
4
  const rawAi=b["ai"];const ai=rawAi!==null&&typeof rawAi==="object"&&!Array.isArray(rawAi)?Object.fromEntries(Object.entries(rawAi).filter(([,v])=>v!==null&&v!==void 0)):{};const prompts={};const rawPrompts=b["prompts"];if(rawPrompts!==null&&typeof rawPrompts==="object"&&!Array.isArray(rawPrompts)){for(const key of PROMPT_KEYS){const v=rawPrompts[key];if(typeof v==="string")prompts[key]=v}}return{revision,ai,prompts}}function formatConfigHash(aiHash,revision,ai,charter){return`${aiHash};r=${revision}\
5
5
  ;ai=${ai};charter=${charter}`}function renderStepBudget(template,vars){return template.replaceAll("{timeout_min}",String(vars.timeoutMin)).replaceAll("{soft_min}",String(vars.softMin)).replaceAll("{wrap_up_min}",String(vars.wrapUpMin))}var LoopSettingsApplier=class{constructor(deps){this.deps=deps}deps;last=null;lastWarning="";lastAiWarning="";lastSummary="";serverAiApplied=false;lastSafeWarning="";async apply(){const{config,log}=this.deps;const outcome=await this.fetch();const warning=outcome.warning??
6
6
  "";if(warning!==""&&warning!==this.lastWarning)log(` \u26A0\uFE0F ${warning}`);else if(warning===""&&this.lastWarning!=="")log("\u30EB\u30FC\u30D7\u8A2D\u5B9A\u3092\u30B5\u30FC\u30D0\u304B\u3089\u518D\u3073\u53D6\u5F97\u3067\u304D\u308B\u3088\u3046\u306B\u306A\u308A\u307E\u3057\u305F");this.lastWarning=warning;const settings=outcome.settings;config.serverPrompts=settings?.prompts??{};const safeNote=config.serverPrompts.safe_mode_note;const safeWarning=config.safeMode&&safeNote!==void 0?safeNote===
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-YLM54X35.js";import{parseArgv}from"./chunk-AJIHNSXI.js";import"./chunk-NAUH75MM.js";import"./chunk-34X4JXND.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.44.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chunk-4OSCQLZT.js";import"./chunk-NAUH75MM.js";import"./chunk-Y5EN7RYN.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.46.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
@@ -195,6 +195,23 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
195
195
  1\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B9\u30B3\u30A2\u306E\u63A8\u79FB\uFF08--project\uFF09
196
196
  twp analysis project-health insights
197
197
  AI \u306E\u6240\u898B\u3092\u751F\u6210\u3059\u308B\uFF08AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u30FB--yes \u304C\u8981\u308B\uFF09
198
+ twp budget dashboard \u5E74\u5EA6\u306E\u4E88\u5B9F\uFF08\u5168\u793E\u3068\u90E8\u7F72\u3054\u3068\u306E\u76EE\u6A19\u30FB\u898B\u8FBC\u30FB\u5B9F\u7E3E\u30FB\u5DEE\u7570\u30FB--year\uFF09
199
+ twp budget summary \u58F2\u4E0A\u30FB\u5229\u76CA\u306E\u76EE\u6A19\u3068\u5B9F\u7E3E\u306E\u5408\u8A08\uFF08--department \u3067\u90E8\u7F72\u3068\u914D\u4E0B\uFF09
200
+ twp budget breakdown \u90E8\u7F72\u884C\u306E\u5185\u8A33\uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30FB\u62C5\u5F53\u8005\u30FB\u78BA\u5EA6\u30FB\u6848\u4EF6\u3054\u3068\u3002\u7701\u304F\u3068\u672A\u5272\u5F53\uFF09
201
+ twp budget unassigned \u300C\u672A\u5272\u5F53\u300D\uFF08\u90E8\u7F72\u304C\u672A\u8A2D\u5B9A\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\uFF09\u306E\u5185\u8A33
202
+ twp budget export \u5E74\u5EA6\u306E\u4E88\u5B9F\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08--out \u5FC5\u9808\uFF09
203
+ twp budget target list \u5E74\u5EA6\u306E\u76EE\u6A19\uFF08\u90E8\u7F72\u30FB\u6708\u3054\u3068\uFF09\u3092\u4E00\u89A7\u3059\u308B
204
+ twp budget target set \u76EE\u6A19\u3092 JSON \u3067\u307E\u3068\u3081\u3066\u767B\u9332\u30FB\u4E0A\u66F8\u304D\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
205
+ twp budget target copy-previous-year
206
+ \u524D\u5E74\u5EA6\u306E\u76EE\u6A19\u3092\u5199\u3059\uFF08\u4E0A\u66F8\u304D\u3057\u3046\u308B\u30FB--yes \u304C\u8981\u308B\uFF09
207
+ twp budget target import
208
+ \u76EE\u6A19\u3092 CSV \u3067\u53D6\u308A\u8FBC\u3080\uFF08\u5168\u884C\u691C\u67FB\u30FB--yes \u304C\u8981\u308B\uFF09
209
+ twp budget target import-template
210
+ \u53D6\u308A\u8FBC\u307F\u7528 CSV \u306E\u96DB\u5F62\u3092\u66F8\u304D\u51FA\u3059\uFF08--out \u5FC5\u9808\uFF09
211
+ twp budget allocation list
212
+ \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u90E8\u7F72\u6309\u5206\u3092\u8868\u793A\u3059\u308B
213
+ twp budget allocation set
214
+ \u90E8\u7F72\u6309\u5206\u3092\u5168\u4EF6\u7F6E\u304D\u63DB\u3048\u308B\uFF08--clear \u3067\u5168\u90E8\u6D88\u3059\u30FB--yes \u304C\u8981\u308B\uFF09
198
215
  twp leave list \u81EA\u5206\u306E\u6709\u7D66\u306E\u53D6\u5F97\u5C65\u6B74\u3068\u6B8B\u65E5\u6570
199
216
  twp leave grants [<\u30E6\u30FC\u30B6\u30FC>]
200
217
  \u6709\u7D66\u306E\u4ED8\u4E0E\u5C65\u6B74\uFF08\u7701\u7565\u3067\u81EA\u5206\u30FB\u4ED6\u306E\u4EBA\u306F\u6709\u7D66\u7BA1\u7406\u306E\u6A29\u9650\u304B\u4E0A\u9577\uFF09
@@ -250,6 +267,14 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
250
267
  twp outlook mail list Outlook \u306E\u30E1\u30FC\u30EB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u53D7\u4FE1\u30C8\u30EC\u30A4\u30FB--unread / --search\uFF09
251
268
  twp outlook mail get <\u30E1\u30FC\u30EBID>
252
269
  \u30E1\u30FC\u30EB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u672C\u6587\u3064\u304D\uFF09
270
+ twp outlook mail send --to <\u30A2\u30C9\u30EC\u30B9> --subject <\u4EF6\u540D> --body-file <\u30D1\u30B9> --yes
271
+ \u30E1\u30FC\u30EB\u3092\u9001\u308B\uFF08--cc / --attach / --html\u3002--yes \u304C\u5FC5\u8981\uFF09
272
+ twp outlook mail reply <\u30E1\u30FC\u30EBID> --body-file <\u30D1\u30B9> --yes
273
+ \u5DEE\u51FA\u4EBA\u306B\u8FD4\u4FE1\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09
274
+ twp outlook mail reply-all <\u30E1\u30FC\u30EBID> --body-file <\u30D1\u30B9> --yes
275
+ \u5DEE\u51FA\u4EBA\u3068 To\u30FBCc \u306E\u5168\u54E1\u306B\u8FD4\u4FE1\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09
276
+ twp outlook mail forward <\u30E1\u30FC\u30EBID> --to <\u30A2\u30C9\u30EC\u30B9> --yes
277
+ \u30E1\u30FC\u30EB\u3092\u8EE2\u9001\u3059\u308B\uFF08--yes \u304C\u5FC5\u8981\uFF09
253
278
  twp outlook attachment list <\u30E1\u30FC\u30EBID>
254
279
  \u30E1\u30FC\u30EB\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u4E00\u89A7\u3059\u308B
255
280
  twp outlook attachment download <\u30E1\u30FC\u30EBID> <\u6DFB\u4ED8ID> --out <\u30D1\u30B9>
@@ -257,6 +282,12 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
257
282
  twp outlook event list \u4E88\u5B9A\u8868\u306E\u4E88\u5B9A\u3092\u4E00\u89A7\u3059\u308B\uFF08--from / --to \u306F\u65E5\u672C\u6642\u9593\u306E\u65E5\u4ED8\uFF09
258
283
  twp outlook event get <\u4E88\u5B9AID>
259
284
  \u4E88\u5B9A1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u51FA\u5E2D\u8005\u30FB\u672C\u6587\u3064\u304D\uFF09
285
+ twp outlook event create --subject <\u4EF6\u540D> --start <\u65E5\u6642> --end <\u65E5\u6642> --yes
286
+ \u4E88\u5B9A\u3092\u4F5C\u308B\uFF08--all-day / --attendee\u3002\u51FA\u5E2D\u8005\u304C\u3044\u308C\u3070\u62DB\u5F85\u304C\u5C4A\u304F\u30FB--yes \u304C\u5FC5\u8981\uFF09
287
+ twp outlook event update <\u4E88\u5B9AID> --yes
288
+ \u4E88\u5B9A\u3092\u5909\u3048\u308B\uFF08\u51FA\u5E2D\u8005\u304C\u3044\u308C\u3070\u66F4\u65B0\u304C\u5C4A\u304F\u30FB--yes \u304C\u5FC5\u8981\uFF09
289
+ twp outlook event delete <\u4E88\u5B9AID> --yes
290
+ \u4E88\u5B9A\u3092\u6D88\u3059\uFF08\u51FA\u5E2D\u8005\u304C\u3044\u308C\u3070\u30AD\u30E3\u30F3\u30BB\u30EB\u304C\u5C4A\u304F\u30FB--yes \u304C\u5FC5\u8981\uFF09
260
291
  twp teams team list \u53C2\u52A0\u3057\u3066\u3044\u308B Teams \u306E\u30C1\u30FC\u30E0\u3092\u4E00\u89A7\u3059\u308B
261
292
  twp teams member list --team <\u540D\u524D|ID>
262
293
  \u30C1\u30FC\u30E0\u306E\u30E1\u30F3\u30D0\u30FC\u3092\u4E00\u89A7\u3059\u308B
@@ -266,8 +297,12 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
266
297
  \u30C1\u30E3\u30CD\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u7F6E\u304D\u5834\u6240\uFF08\u30C9\u30E9\u30A4\u30D6ID\uFF09\u3092\u8868\u793A\u3059\u308B
267
298
  twp teams chat list \u81EA\u5206\u304C\u53C2\u52A0\u3057\u3066\u3044\u308B\u30C1\u30E3\u30C3\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08\u53C2\u52A0\u8005\u306E\u540D\u524D\u3064\u304D\uFF09
268
299
  twp teams message list \u30C1\u30E3\u30C3\u30C8\uFF08--chat\uFF09\u304B\u30C1\u30E3\u30CD\u30EB\uFF08--team \u3068 --channel\uFF09\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u4E00\u89A7\u3059\u308B
300
+ twp teams message send (--chat <ID> | --team <\u540D\u524D|ID> --channel <\u540D\u524D|ID>) --body-file <\u30D1\u30B9> --yes
301
+ \u30C1\u30E3\u30C3\u30C8\u3078\u9001\u308B\uFF0F\u30C1\u30E3\u30CD\u30EB\u3078\u6295\u7A3F\u3059\u308B\uFF08--mention / --html\u3002--yes \u304C\u5FC5\u8981\uFF09
269
302
  twp teams reply list <\u6295\u7A3FID> --team <\u540D\u524D|ID> --channel <\u540D\u524D|ID>
270
303
  \u30C1\u30E3\u30CD\u30EB\u6295\u7A3F\u306E\u30B9\u30EC\u30C3\u30C9\u8FD4\u4FE1\u3092\u4E00\u89A7\u3059\u308B
304
+ twp teams reply send <\u6295\u7A3FID> --team <\u540D\u524D|ID> --channel <\u540D\u524D|ID> --body-file <\u30D1\u30B9> --yes
305
+ \u30C1\u30E3\u30CD\u30EB\u6295\u7A3F\u306E\u30B9\u30EC\u30C3\u30C9\u3078\u8FD4\u4FE1\u3059\u308B\uFF08--mention / --html\u3002--yes \u304C\u5FC5\u8981\uFF09
271
306
  twp teams mention list \u81EA\u5206\u5B9B\u3066\u306E\u30E1\u30F3\u30B7\u30E7\u30F3\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u76F4\u8FD17\u65E5\u30FB--unread\uFF09
272
307
  twp onedrive item list [<\u30D5\u30A9\u30EB\u30C0ID>]
273
308
  OneDrive \u306E\u30D5\u30A9\u30EB\u30C0\u306E\u4E2D\u8EAB\u3092\u4E00\u89A7\u3059\u308B\uFF08\u65E2\u5B9A\u306F\u81EA\u5206\u306E OneDrive\uFF09
@@ -275,6 +310,10 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-YLM54X35.js";import{parseArgv}from"./chu
275
310
  \u30D5\u30A1\u30A4\u30EB\u30FB\u30D5\u30A9\u30EB\u30C01\u4EF6\u306E\u60C5\u5831\u3092\u8868\u793A\u3059\u308B
276
311
  twp onedrive item download <\u9805\u76EEID> --out <\u30D1\u30B9>
277
312
  OneDrive \u306E\u30D5\u30A1\u30A4\u30EB\u3092 --out \u3078\u66F8\u304D\u51FA\u3059
313
+ twp onedrive item upload <\u30ED\u30FC\u30AB\u30EB\u306E\u30D1\u30B9>
314
+ \u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\uFF08250MB \u307E\u3067\u30FB\u540C\u540D\u306F\u4E0A\u66F8\u304D\u305B\u305A\u540D\u524D\u3092\u5909\u3048\u308B\uFF09
315
+ twp onedrive link create <\u9805\u76EEID> --scope <organization|anonymous> --yes
316
+ \u5171\u6709\u30EA\u30F3\u30AF\u3092\u4F5C\u308B\uFF08\u7BC4\u56F2\u306F\u5FC5\u9808\u30FB--yes \u304C\u5FC5\u8981\uFF09
278
317
  twp user list \u30E6\u30FC\u30B6\u30FC\u3092\u4E00\u89A7\u3059\u308B\uFF08--department / --position \u306F\u540D\u524D\u3067\u6307\u5B9A\u3067\u304D\u308B\uFF09
279
318
  twp user get <\u30E6\u30FC\u30B6\u30FC> \u30E6\u30FC\u30B6\u30FC1\u4EBA\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u7D44\u7E54\u7BA1\u7406\u8005\u306E\u307F\uFF09
280
319
  twp user projects <\u30E6\u30FC\u30B6\u30FC>
@@ -775,15 +814,15 @@ TUI \u5185:
775
814
  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
776
815
  \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
777
816
  `;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
778
- `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-ZKODJ45K.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-4EIFB6JN.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
779
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-7OIXAAIO.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-PS5HUWVH.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-XH33RB27.js");process.exitCode=
817
+ `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-ZKODJ45K.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-YSP6UE25.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
818
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-NZ2HNT52.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-PS5HUWVH.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-XH33RB27.js");process.exitCode=
780
819
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
781
820
  `);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(" ")}
782
821
 
783
- ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-PS5HUWVH.js");autoUpdate.registerRunning();if(args.command==="task-loop"){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-KVDDYJ6W.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
784
- 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-OIXWF72C.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
785
- 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-EYFT7STE.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-255HOMWQ.js");
786
- 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-DUFVGY5V.js");process.exitCode=await runTaskLoop(
822
+ ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-PS5HUWVH.js");autoUpdate.registerRunning();if(args.command==="task-loop"){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-7BS34D2P.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
823
+ 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-67456PBS.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
824
+ 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-EYFT7STE.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-SWR442MR.js");
825
+ 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-5GP3REIU.js");process.exitCode=await runTaskLoop(
787
826
  {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,
788
- skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,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-GXXMSQ4Y.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
789
- 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-6VL7WWT3.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();
827
+ skillOp:args.skillOp,skillName:args.skillName,skillAll:args.skillAll,skillDir:args.skillDir,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-7BFL2VON.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
828
+ 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-7227DY7N.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();
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,promptSection}from"./chunk-N6AXAGS2.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-QEWI75KI.js";import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-ZOOEH7ZE.js";import{ServerSkillCatalog,
4
- formatSkillOrigins}from"./chunk-AITUMFCH.js";import"./chunk-H3WYVFTS.js";import"./chunk-AJO4O5ZF.js";import"./chunk-VRBI2NPI.js";import{claudeConfigDir,resolveDetectDeps}from"./chunk-T4QZO6RQ.js";import{resolveProjectRef,uuidProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";
5
- import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-L25UV7DE.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-G2THOTBW.js";import{CapacityReporter,buildLoopConfig,describeOperations,evaluateOwnership,formatHookIds,formatHookWiring,localDate,loopStateDir,runHook,runPrefetch,runPreflight}from"./chunk-QVPU4HHG.js";
6
- import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{exclusiveInflightEntries,formatExclusiveEntry,normalizeSkillName,skillOfItem,spawnSyncResolved}from"./chunk-AEJHDFXB.js";import{PRIVATE_PROJECT_REF,isPrivateProjectId,isPrivateProjectRef,privateProjectId,projectFileKey}from"./chunk-GY7KI5E5.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import"./chunk-UFND7FBC.js";import{joinFor}from"./chunk-PMOUHEJQ.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import"./chunk-5WGOHFAS.js";
3
+ import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,promptSection}from"./chunk-N6AXAGS2.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-ZM3MTWNT.js";import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-ZOOEH7ZE.js";import{claudeConfigDir,
4
+ resolveDetectDeps}from"./chunk-T4QZO6RQ.js";import{ServerSkillCatalog,formatSkillOrigins}from"./chunk-AITUMFCH.js";import"./chunk-H3WYVFTS.js";import"./chunk-AJO4O5ZF.js";import"./chunk-VRBI2NPI.js";import{resolveProjectRef,uuidProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";
5
+ import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-L25UV7DE.js";import{CapacityReporter,buildLoopConfig,describeOperations,evaluateOwnership,formatHookIds,formatHookWiring,localDate,loopStateDir,runHook,runPrefetch,runPreflight}from"./chunk-QVPU4HHG.js";import{killProcessTree}from"./chunk-N2UVRM3Z.js";import{exclusiveInflightEntries,formatExclusiveEntry,
6
+ normalizeSkillName,skillOfItem,spawnSyncResolved}from"./chunk-AEJHDFXB.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-G2THOTBW.js";import{PRIVATE_PROJECT_REF,isPrivateProjectId,isPrivateProjectRef,privateProjectId,projectFileKey}from"./chunk-GY7KI5E5.js";import{isTaskKey}from"./chunk-II5RVJQN.js";import"./chunk-UFND7FBC.js";import{joinFor}from"./chunk-PMOUHEJQ.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import"./chunk-5WGOHFAS.js";
7
7
  import{twpHomeDir}from"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import fs10 from"fs";import path8 from"path";import fs from"fs";import path from"path";var LoopLogger=class{constructor(runnerId,logFile,out=process.stdout,now=()=>new Date){this.runnerId=runnerId;this.out=out;this.now=now;if(logFile){fs.mkdirSync(path.dirname(logFile),{recursive:true});this.stream=fs.createWriteStream(logFile,{flags:"a"})}}runnerId;out;now;stream=null;log(message){const d=this.now();const ts=`${d.getFullYear()}-${pad(d.getMonth()+1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;const line=`[${ts}] [${this.runnerId}] ${stripTerminalControls(
8
8
  message)}
9
9
  `;this.out.write(line);this.stream?.write(line)}separator(){this.log("=".repeat(60))}close(){this.stream?.end();this.stream=null}};function pad(n){return String(n).padStart(2,"0")}function rotateLogs(dir,retentionDays,now=Date.now()){if(retentionDays<=0)return;const cutoff=now-retentionDays*864e5;let entries;try{entries=fs.readdirSync(dir)}catch{return}for(const name of entries){if(!/^(agent-loop|task-loop|step|plan|schedule-enqueued)-.*\.(log|txt)$/.test(name))continue;const file=path.join(dir,
@@ -168,11 +168,11 @@ continue}const{run_id:runId,...rest}=payload;const res=await this.api.update(ite
168
168
  \u2192 \u7D50\u679C\u306F\u7834\u68C4\u3057\u307E\u3059`)}else if(res.status!==null&&res.status>=400&&res.status<500&&res.status!==408&&res.status!==429){fs6.rmSync(file,{force:true});this.log.log(` \u26D4 \u30B5\u30FC\u30D0\u306B\u6052\u4E45\u7684\u306B\u62D2\u5426\u3055\u308C\u305F\u305F\u3081\u7834\u68C4\u3057\u307E\u3059\uFF08http=${res.status}\uFF09: item=${itemId}`)}else{this.log.log(` \u26A0\uFE0F \u518D\u9001\u306B\u5931\u6557\uFF08${describeError(res)}\uFF09: item=${itemId}\u3002\u6B21\u30B5\u30A4\u30AF\u30EB\u3067\u518D\u8A66\
169
169
  \u884C\u3057\u307E\u3059`)}}return recorded}};function exitReasonFor(outcome){if(outcome==="ok")return"ok";if(outcome==="timeout")return"timeout";if(outcome==="rate-limited")return"rate_limited";if(outcome==="aborted")return"interrupted";if(outcome==="max-turns")return"max_turns";return"error"}function withFailureHint(base,output){const hint=failureHint(output);return hint===""?base:`${base} | ${hint}`}var STOP_WAIT_MAX_SEC=3600;var AI_RECOVERY_HINT="\u78BA\u8A8D: claude-auto-switch status \uFF0F \u5404AI CLI\u306E\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\uFF08twp task-loop setup \u3067\u691C\u51FA\u7D50\u679C\u304C\u51FA\u307E\u3059\uFF09";
170
170
  var ABORT_DRAIN_TIMEOUT_MS=15e3;var TaskLoop=class{constructor(deps){this.deps=deps;this.writeback=new Writeback(deps.api,deps.config,deps.log);this.schedule=new ScheduleBridge({config:deps.config,log:deps.log,api:new ScheduleApi(deps.api),fetchCount:async key=>{const statusId=Object.prototype.hasOwnProperty.call(REQUIRE_ZERO_STATUS,key)?REQUIRE_ZERO_STATUS[key]:void 0;if(!statusId)return null;const{total}=await deps.projectApi.countByStatus(deps.config.projectId,statusId);const refined=await refineCount(
171
- key,total,deps.config.operations.countHooks,deps.config.workspace);if(refined.note)deps.log.log(` ${refined.note}`);return refined.total}});this.engine=deps.engine;this.releaseLog=new ReleaseOutcomeLog(deps.config.releaseOutcomeLogPath,deps.log);this.postDeps={api:deps.api,config:deps.config,log:deps.log,releaseLog:this.releaseLog};this.planLock=new PlanLock({api:deps.api,config:deps.config,log:deps.log,runner:deps.runner,hasPendingItems:()=>this.hasPendingItems(),reregister:async()=>{deps.runner.
172
- registered=false;await deps.runner.registerOrThrow()},...deps.sleepFn?{sleepFn:deps.sleepFn}:{}});this.trustGate=deps.trustGate??new TrustGate({enabled:()=>deps.config.ai.usesAi("claude"),check:()=>checkWorkspaceTrust(deps.config.workspace,{launcherBin:deps.config.claudeLauncher.bin})});this.timestamp=new Date().toISOString().replace(/[-:]/g,"").replace(/\..*$/,"");this.settings=deps.settings??new LoopSettingsApplier({api:deps.api,config:deps.config,log:m=>deps.log.log(m)});this.skills=deps.skills??
173
- new ServerSkillCatalog({api:deps.api,config:deps.config,log:m=>deps.log.log(m)})}deps;writeback;schedule;planLock;engine;releaseLog;postDeps;timestamp;deferredIds=new Set;midcycleEnqueued=0;aborting=false;draining=false;onlyBlockedBacklog=false;drainExitCode=0;drainWaiters=new Set;itemInFlight=null;ownershipLostItemId=null;abortDrained=null;cyclePreflightSection="";trustGate;settings;skills;sleep(ms){return(this.deps.sleepFn??sleep)(ms)}sleepUnlessDraining(ms){if(this.draining)return Promise.resolve();
174
- return new Promise(resolve=>{let timer=null;let settled=false;const wake=()=>{if(settled)return;settled=true;if(timer!==null)clearTimeout(timer);this.drainWaiters.delete(wake);resolve()};this.drainWaiters.add(wake);const injected=this.deps.sleepFn;if(injected)void injected(ms).then(wake);else timer=setTimeout(wake,ms)})}requestDrain(reason,exitCode=0){if(this.draining)return;this.draining=true;this.drainExitCode=exitCode;const running=this.itemInFlight;const why=reason.trim()===""?"\u7406\u7531\u4E0D\u660E":
175
- reason;this.deps.log.log(running===null?`\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${why}\uFF09\u3002\u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u65B0\u3057\u3044\u30A2\u30A4\u30C6\u30E0\u3092\u53D6\u3089\u305A\u306B\u7D42\u4E86\u3057\u307E\u3059\u3002`:`\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${why}\uFF09\u3002\u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\uFF08${running}\
171
+ key,total,deps.config.operations.countHooks,deps.config.workspace);if(refined.note)deps.log.log(` ${refined.note}`);return refined.total}});this.engine=deps.engine;this.releaseLog=new ReleaseOutcomeLog(deps.config.releaseOutcomeLogPath,deps.log);this.postDeps={api:deps.api,config:deps.config,log:deps.log,releaseLog:this.releaseLog};this.planLock=new PlanLock({api:deps.api,config:deps.config,log:deps.log,runner:deps.runner,hasPendingItems:async()=>await this.hasPendingItems()&&!this.onlyBlockedBacklog,
172
+ reregister:async()=>{deps.runner.registered=false;await deps.runner.registerOrThrow()},...deps.sleepFn?{sleepFn:deps.sleepFn}:{}});this.trustGate=deps.trustGate??new TrustGate({enabled:()=>deps.config.ai.usesAi("claude"),check:()=>checkWorkspaceTrust(deps.config.workspace,{launcherBin:deps.config.claudeLauncher.bin})});this.timestamp=new Date().toISOString().replace(/[-:]/g,"").replace(/\..*$/,"");this.settings=deps.settings??new LoopSettingsApplier({api:deps.api,config:deps.config,log:m=>deps.log.
173
+ log(m)});this.skills=deps.skills??new ServerSkillCatalog({api:deps.api,config:deps.config,log:m=>deps.log.log(m)})}deps;writeback;schedule;planLock;engine;releaseLog;postDeps;timestamp;deferredIds=new Set;midcycleEnqueued=0;aborting=false;draining=false;onlyBlockedBacklog=false;drainExitCode=0;drainWaiters=new Set;itemInFlight=null;ownershipLostItemId=null;abortDrained=null;cyclePreflightSection="";trustGate;settings;skills;sleep(ms){return(this.deps.sleepFn??sleep)(ms)}sleepUnlessDraining(ms){if(this.
174
+ draining)return Promise.resolve();return new Promise(resolve=>{let timer=null;let settled=false;const wake=()=>{if(settled)return;settled=true;if(timer!==null)clearTimeout(timer);this.drainWaiters.delete(wake);resolve()};this.drainWaiters.add(wake);const injected=this.deps.sleepFn;if(injected)void injected(ms).then(wake);else timer=setTimeout(wake,ms)})}requestDrain(reason,exitCode=0){if(this.draining)return;this.draining=true;this.drainExitCode=exitCode;const running=this.itemInFlight;const why=reason.
175
+ trim()===""?"\u7406\u7531\u4E0D\u660E":reason;this.deps.log.log(running===null?`\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${why}\uFF09\u3002\u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u65B0\u3057\u3044\u30A2\u30A4\u30C6\u30E0\u3092\u53D6\u3089\u305A\u306B\u7D42\u4E86\u3057\u307E\u3059\u3002`:`\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${why}\uFF09\u3002\u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\uFF08${running}\
176
176
  \uFF09\u3092\u5B8C\u8D70\u3055\u305B\u3066\u304B\u3089\u7D42\u4E86\u3057\u307E\u3059\u3002`);const waiters=[...this.drainWaiters];this.drainWaiters.clear();for(const w of waiters)w()}cooldownNote(outcome){if(outcome!=="rate-limited")return"";const remaining=this.deps.config.ai.minCooldownRemainingSec();return remaining===null?"":`\uFF08\u6700\u77ED\u306E\u89E3\u9664\u307E\u3067\u7D04${remaining}\u79D2\uFF09`}startOwnershipWatch(itemId){const{config,log,api}=this.deps;const intervalSec=config.ownershipCheckIntervalSec;
177
177
  if(intervalSec<=0)return{stop:()=>{}};let stopped=false;let checking=false;let unknownLogged=false;const timer=setInterval(()=>{if(stopped||checking)return;checking=true;void(async()=>{try{const res=await api.getItem(itemId);const check=evaluateOwnership(res.json?.item??null,config.runnerId,config.runId);if(stopped)return;if(check.verdict==="unknown"){if(!unknownLogged){unknownLogged=true;log.log(` \u26A0\uFE0F \u6240\u6709\u6A29\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${check.
178
178
  reason}\uFF09\u3002\u76E3\u8996\u306F\u7D9A\u3051\u307E\u3059\u304C\u5B9F\u884C\u306F\u6B62\u3081\u307E\u305B\u3093`)}return}if(check.verdict!=="lost")return;stopped=true;clearInterval(timer);this.ownershipLostItemId=itemId;log.log(` \u26D4 \u5B9F\u884C\u4E2D\u306B\u3053\u306E\u30A2\u30A4\u30C6\u30E0\u306E\u6240\u6709\u6A29\u3092\u5931\u3044\u307E\u3057\u305F: ${check.reason}`);log.log(" **AI \u3092\u3053\u3053\u3067\u505C\u6B62\u3057\u307E\u3059**\uFF08\u7D9A\u3051\u3066\u3082\u7D50\u679C\u306F\u66F8\u304D\u623B\u305B\u305A\u3001PR\u30FB\u30B3\u30E1\u30F3\u30C8\u3060\u3051\u304C\u91CD\u8907\u3057\u307E\u3059\uFF09");
@@ -246,7 +246,7 @@ skill} \u2014 ${excludedKey} \u306F\u672A\u56DE\u7B54\u306E\u8CEA\u554F\u3092\u6
246
246
  log.log(` \u26D4 \u30A8\u30F3\u30AD\u30E5\u30FC\u4E2D\u306B\u8A08\u753B\u30ED\u30C3\u30AF\u3092\u5931\u3044\u307E\u3057\u305F\uFF08reason=${this.planLock.lostReasonText()}\uFF09\u2192 \u3053\u3053\u3067\u4E2D\u6B62\u3057\u307E\u3059\uFF08\u6295\u5165\u6E08\u307F: ${enqueued}\u4EF6\uFF09`);break}const exclusiveSkill=config.ai.isExclusiveSkill(step.skill)?normalizeSkillName(step.skill):null;if(exclusiveSkill!==null){if(exclusiveEnqueued.has(exclusiveSkill)){log.log(` \u30A8\u30F3\u30AD\u30E5\u30FC\u6291\u6B62\uFF08\u5916\u90E8\u6295\u7A3F\u30B9\u30AD\u30EB\u306E\u540C\u6642\u5B9F\u884C\uFF09: ${step.
247
247
  skill} \u2014 \u540C\u3058\u8A08\u753B\u306B\u65E2\u306B1\u4EF6\u3042\u308A\u307E\u3059 | ${item.label}`);continue}const queuedSkills=await exclusiveInflight();if(queuedSkills?.has(exclusiveSkill)){log.log(` \u30A8\u30F3\u30AD\u30E5\u30FC\u6291\u6B62\uFF08\u5916\u90E8\u6295\u7A3F\u30B9\u30AD\u30EB\u306E\u540C\u6642\u5B9F\u884C\uFF09: ${step.skill} \u2014 \u65E2\u306B\u30AD\u30E5\u30FC/\u5B9F\u884C\u4E2D\u306E\u305F\u3081\u7A4D\u307F\u307E\u305B\u3093 | ${item.label}`);continue}}const{itemId,detail}=await createItem(
248
248
  this.deps.api,item);if(itemId){enqueued+=1;if(exclusiveSkill!==null)exclusiveEnqueued.add(exclusiveSkill);if(item.task_key)enqueuedTaskKeys.add(item.task_key)}else{log.log(` \u8B66\u544A: \u30A8\u30F3\u30AD\u30E5\u30FC\u5931\u6557: ${item.label} \u2014 ${detail}`)}}log.log(`\u8A08\u753B\u5B8C\u4E86: ${enqueued} \u30A2\u30A4\u30C6\u30E0\u3092\u30AD\u30E5\u30FC\u306B\u8FFD\u52A0\u3057\u307E\u3057\u305F`);return"ok"}async runDequeueLoop(cycle){const{config,log,api,runner}=this.deps;log.separator();
249
- log.log("Phase 2: \u30AD\u30E5\u30FC\u304B\u3089\u30C7\u30AD\u30E5\u30FC\u3057\u3066\u9806\u6B21\u5B9F\u884C...");log.separator();let completed=0;let failed=0;let unexecuted=0;let unexecutedNeedsHuman=false;let stepNum=0;let contendedRetry=0;let undetermined=false;let stop=false;dequeue:for(;;){if(this.draining){log.log("\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u3066\u3044\u308B\u305F\u3081\u3001\u65B0\u3057\u3044\u30A2\u30A4\u30C6\u30E0\u306F\u53D6\u5F97\u3057\u307E\u305B\u3093\u3002Phase 2 \u3092\u7D42\u4E86\u3057\u307E\u3059\u3002");
249
+ log.log("Phase 2: \u30AD\u30E5\u30FC\u304B\u3089\u30C7\u30AD\u30E5\u30FC\u3057\u3066\u9806\u6B21\u5B9F\u884C...");log.separator();let completed=0;let failed=0;let unexecuted=0;let unexecutedNeedsHuman=false;let stepNum=0;let contendedRetry=0;let undetermined=false;let stop=false;this.onlyBlockedBacklog=false;dequeue:for(;;){if(this.draining){log.log("\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u3066\u3044\u308B\u305F\u3081\u3001\u65B0\u3057\u3044\u30A2\u30A4\u30C6\u30E0\u306F\u53D6\u5F97\u3057\u307E\u305B\u3093\u3002Phase 2 \u3092\u7D42\u4E86\u3057\u307E\u3059\u3002");
250
250
  stop=true;break}const claimed=await this.claimOne();if(claimed.kind==="undetermined"){undetermined=true;break}if(claimed.kind==="contended"){contendedRetry+=1;if(contendedRetry>=config.contendedMax){log.log(` \u26A0\uFE0F contended \u304C ${contendedRetry} \u56DE\u7D9A\u304D\u307E\u3057\u305F\u3002\u3053\u306E\u30B5\u30A4\u30AF\u30EB\u3067\u306E\u53D6\u5F97\u3092\u8AE6\u3081\u307E\u3059\uFF08\u4ED6\u6A5F\u304C\u51E6\u7406\u3092\u7D9A\u3051\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u9AD8\u3044\uFF09`);
251
251
  undetermined=true;break}log.log(` \u2139\uFE0F \u4ED6\u306E\u30E9\u30F3\u30CA\u30FC\u304C\u5148\u306B\u53D6\u5F97\u3057\u307E\u3057\u305F\uFF08contended\u30FB${contendedRetry}\u56DE\u76EE\uFF09\u30023\u79D2\u5F8C\u306B\u518D\u8A66\u884C\u3057\u307E\u3059`);await this.sleep(3e3);continue}contendedRetry=0;this.onlyBlockedBacklog=claimed.kind==="filtered"&&claimed.by.length>0&&claimed.by.every(b=>b==="prerequisite");if(claimed.kind==="empty"){log.log("\u30AD\u30E5\u30FC\u306Bpending\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002Phase 2 \u5B8C\u4E86\u3002");
252
252
  break}if(claimed.kind==="filtered"){log.log(this.onlyBlockedBacklog?"\u53D6\u308C\u308B pending \u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u524D\u63D0\u672A\u5145\u8DB3\u306E\u307F\uFF09\u3002Phase 2 \u5B8C\u4E86\u3002":"\u3053\u306E\u6A5F\u4F53\u306E\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u53D6\u308C\u308B pending \u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u5225\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u5C02\u7528\u306E\u307F\uFF09\u3002Phase 2 \u5B8C\u4E86\u3002");
@@ -313,7 +313,7 @@ const startedAtMs=now();let warned="";let done=false;const check=()=>{if(done)re
313
313
  decision.key)return;warned=decision.key;handlers.onWarn(decision.reason);return}done=true;const recorded=writeRestartAttempt(opts.stateDir,opts.projectKey,{from:decision.from,to:decision.to,at:new Date(now()).toISOString()},opts.store);if(!recorded){handlers.onWarn(`\u518D\u8D77\u52D5\u8A18\u9332\u3092\u66F8\u3051\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${restartAttemptPath(opts.stateDir,opts.projectKey)}\uFF09\u3002\u540C\u3058\u7248\u30C9\u30EA\u30D5\u30C8\u304C\u89E3\u6D88\u3057\u306A\u3044\u5834\u5408\u3001\u518D\u8D77\u52D5\u3092\u7E70\u308A\u8FD4\u3059\u9632\u6CE2\u5824\u304C\u52B9\u304D\u307E\u305B\u3093`)}
314
314
  handlers.onRestart({from:decision.from,to:decision.to})};const timer=setInterval(check,opts.intervalMs??DRIFT_POLL_MS);timer.unref?.();return{stop:()=>{done=true;clearInterval(timer)},check}}import fs9 from"fs";import path7 from"path";var POLL_MS=1e3;var MAX_STOP_BYTES=4096;var MAX_AT_LENGTH=64;function markerPath(lockDir2,kind){return path7.join(lockDir2,kind)}function requestMarker(lockDir2,kind,pid,deps={}){const target=markerPath(lockDir2,kind);const write=deps.writeFileSync??((p,d)=>fs9.writeFileSync(p,d,{flag:"wx",mode:384}));const now=deps.now??(()=>new Date);clearMarker(lockDir2,kind,deps);try{write(target,`${JSON.stringify({pid,at:now().toISOString()})}
315
315
  `);return{ok:true}}catch(err){const e=err;return{ok:false,reason:e.code??"UNKNOWN"}}}function readMarker(lockDir2,kind,deps={}){const target=markerPath(lockDir2,kind);const read=deps.readFileSync??(p=>fs9.readFileSync(p,"utf8"));const size=deps.statSize??(p=>fs9.statSync(p).size);let raw;try{if(size(target)>MAX_STOP_BYTES)return null;raw=read(target)}catch{return null}if(raw.length>MAX_STOP_BYTES)return null;try{const parsed=JSON.parse(raw);if(typeof parsed!=="object"||parsed===null)return null;const pid=parsed.pid;const at=parsed.at;if(typeof pid!=="number"||!Number.isInteger(pid)||
316
- pid<=0)return null;return{pid,at:sanitizeAt(at)}}catch{return null}}function sanitizeAt(at){if(typeof at!=="string")return"";return at.replace(/[\u0000-\u001f\u007f]/g," ").slice(0,MAX_AT_LENGTH)}function clearMarker(lockDir2,kind,deps={}){const rm=deps.rmSync??(p=>fs9.rmSync(p,{recursive:true,force:true}));try{rm(markerPath(lockDir2,kind))}catch{}}function watchMarker(lockDir2,kind,selfPid,onStop,deps={}){let fired=false;const timer=setInterval(()=>{if(fired)return;const req=readMarker(lockDir2,kind,deps);if(req===null||req.pid!==selfPid)return;fired=true;onStop(req)},deps.intervalMs??POLL_MS);timer.unref?.();return()=>{fired=true;clearInterval(timer)}}function safe(s){return stripTerminalControls(s)}function compactTimestamp(at=new Date){const p2=n=>String(n).padStart(2,"0");return`${at.getFullYear()}${p2(at.getMonth()+1)}${p2(at.getDate())}-${p2(at.getHours())}${p2(at.getMinutes())}${p2(at.getSeconds())}`}async function buildEngine(config,log){if(config.engine==="noop")return new NoopEngine;const{DispatchEngine}=await import("./ai-dispatch-FEDOAV2E.js");const{DEFAULT_PREFLIGHT_HOSTS}=await import("./ai-dispatch-FEDOAV2E.js");const extraHosts=config.
316
+ pid<=0)return null;return{pid,at:sanitizeAt(at)}}catch{return null}}function sanitizeAt(at){if(typeof at!=="string")return"";return at.replace(/[\u0000-\u001f\u007f]/g," ").slice(0,MAX_AT_LENGTH)}function clearMarker(lockDir2,kind,deps={}){const rm=deps.rmSync??(p=>fs9.rmSync(p,{recursive:true,force:true}));try{rm(markerPath(lockDir2,kind))}catch{}}function watchMarker(lockDir2,kind,selfPid,onStop,deps={}){let fired=false;const timer=setInterval(()=>{if(fired)return;const req=readMarker(lockDir2,kind,deps);if(req===null||req.pid!==selfPid)return;fired=true;onStop(req)},deps.intervalMs??POLL_MS);timer.unref?.();return()=>{fired=true;clearInterval(timer)}}function safe(s){return stripTerminalControls(s)}function compactTimestamp(at=new Date){const p2=n=>String(n).padStart(2,"0");return`${at.getFullYear()}${p2(at.getMonth()+1)}${p2(at.getDate())}-${p2(at.getHours())}${p2(at.getMinutes())}${p2(at.getSeconds())}`}async function buildEngine(config,log){if(config.engine==="noop")return new NoopEngine;const{DispatchEngine}=await import("./ai-dispatch-L6XZCCU4.js");const{DEFAULT_PREFLIGHT_HOSTS}=await import("./ai-dispatch-L6XZCCU4.js");const extraHosts=config.
317
317
  operations.preflightHosts;return new DispatchEngine(config.ai,log,{workspace:config.workspace,charterFile:config.charterFile??void 0,charterEnabled:config.charterEnabled,...config.charterPrefix===null?{}:{charterPrefix:config.charterPrefix},...config.charterSuffix===null?{}:{charterSuffix:config.charterSuffix},serverPrompts:()=>config.serverPrompts??{},compileCommand:config.compileCommand??void 0,skillOverlayDir:path8.join(config.stateDir,"skill-overlay",projectFileKey(config.projectId)),launcherBin:config.
318
318
  claudeLauncher.bin,...extraHosts.length>0?{preflightHosts:[...DEFAULT_PREFLIGHT_HOSTS,...extraHosts]}:{}})}function lockDir(config){return path8.join(config.stateDir,`task-loop-${projectFileKey(config.projectId)}.lock.d`)}async function runTaskLoop(opts){if(opts.action==="stop")return await stopLoop(opts);const profile=resolveProfile(opts.profile);let creds;try{creds=new AuthSession(profile.name,profile.apiUrl).loadOrThrow()}catch(err){process.stderr.write(`${err.message}
319
319
  `);return 1}const apiUrl=effectiveApiUrl(profile,creds.api_url);const session=new AuthSession(profile.name,apiUrl);const projectRef=opts.project??process.env.TWP_PROJECT??"";if(projectRef===""){process.stderr.write("--project <\u30AD\u30FC|UUID> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08TWP_PROJECT \u3067\u3082\u53EF\uFF09\n");return 2}const projectApi=new ProjectApi(apiUrl,session);let project;try{project=await projectApi.resolve(projectRef)}catch(err){process.stderr.write(`${err.
@@ -339,7 +339,7 @@ value:null};const shutdown=async()=>{if(shuttingDown)return;shuttingDown=true;st
339
339
  once("SIGINT",onSignal);process.once("SIGTERM",onSignal);process.once("SIGHUP",onSignal);stopWatcher=watchMarker(lockDir(config),"stop",process.pid,req=>{log.log(`\u505C\u6B62\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${req.at||"\u6642\u523B\u4E0D\u660E"}\uFF09\u3002\u7D42\u4E86\u3057\u307E\u3059...`);stopWatcher?.();drainWatcher?.();driftWatcher?.();void shutdown().catch(()=>void 0).then(()=>process.exit(130))});drainWatcher=watchMarker(lockDir(config),"drain",process.pid,
340
340
  req=>{drainWatcher?.();if(loop===null){pendingDrain.value={reason:`stop --drain\u30FB${req.at||"\u6642\u523B\u4E0D\u660E"}`,exitCode:0};log.log(`\u30C9\u30EC\u30A4\u30F3\u8981\u6C42\u3092\u53D7\u3051\u53D6\u308A\u307E\u3057\u305F\uFF08${req.at||"\u6642\u523B\u4E0D\u660E"}\uFF09\u3002\u8D77\u52D5\u51E6\u7406\u306E\u5B8C\u4E86\u5F8C\u306B\u53CD\u6620\u3057\u307E\u3059\u3002`);return}loop.requestDrain(`stop --drain\u30FB${req.at||"\u6642\u523B\u4E0D\u660E"}`)});if(installed!==null){const watch=watchVersionDrift(
341
341
  {runningVersion:opts.version,stateDir:config.stateDir,projectKey:projectFileKey(config.projectId),supervised:autoRestart.supervised,disabled:autoRestart.disabled},{onWarn:reason=>log.log(`\u26A0\uFE0F ${reason}`),onRestart:({from,to})=>{driftWatcher?.();log.log(`\u7248\u30C9\u30EA\u30D5\u30C8\u3092\u691C\u51FA\u3057\u307E\u3057\u305F\uFF08${from} \u2192 ${to}\uFF09\u3002`);log.log(` \u5B9F\u884C\u4E2D\u306E\u30A2\u30A4\u30C6\u30E0\u3092\u5B8C\u8D70\u3055\u305B\u3066\u304B\u3089\u7D42\u4E86\u3057\u307E\u3059\uFF08\u7D42\u4E86\u30B3\u30FC\u30C9 ${EXIT_VERSION_DRIFT}\
342
- \uFF09\u3002\u518D\u8D77\u52D5\u306F systemd\uFF08Restart=always\uFF09\u304C\u884C\u3044\u307E\u3059`);const reason=`\u7248\u30C9\u30EA\u30D5\u30C8 ${from} \u2192 ${to} \u306B\u3088\u308B\u81EA\u52D5\u518D\u8D77\u52D5`;if(loop===null)pendingDrain.value={reason,exitCode:EXIT_VERSION_DRIFT};else loop.requestDrain(reason,EXIT_VERSION_DRIFT)}});driftWatcher=watch.stop}try{const{LoopSettingsApplier:LoopSettingsApplier2}=await import("./server-settings-326MD7T4.js");const settings=new LoopSettingsApplier2(
342
+ \uFF09\u3002\u518D\u8D77\u52D5\u306F systemd\uFF08Restart=always\uFF09\u304C\u884C\u3044\u307E\u3059`);const reason=`\u7248\u30C9\u30EA\u30D5\u30C8 ${from} \u2192 ${to} \u306B\u3088\u308B\u81EA\u52D5\u518D\u8D77\u52D5`;if(loop===null)pendingDrain.value={reason,exitCode:EXIT_VERSION_DRIFT};else loop.requestDrain(reason,EXIT_VERSION_DRIFT)}});driftWatcher=watch.stop}try{const{LoopSettingsApplier:LoopSettingsApplier2}=await import("./server-settings-3E7G56G7.js");const settings=new LoopSettingsApplier2(
343
343
  {api,config,log:m=>log.log(m)});await settings.apply();const{ServerSkillCatalog:ServerSkillCatalog2}=await import("./server-skills-OF7USNRM.js");const skills=new ServerSkillCatalog2({api,config,log:m=>log.log(m)});await skills.refresh();await runner.checkHeartbeatInterval();await runner.registerOrThrow();runner.startHeartbeatWorker();log.log(` heartbeat: ${config.heartbeatIntervalSec}\u79D2\u3054\u3068\u306B\u9001\u4FE1${runner.heartbeatTimeoutServer?`\uFF08\u30B5\u30FC\u30D0\u306E\u6B7B\u6D3B\u3057\u304D\u3044\u5024 ${runner.
344
344
  heartbeatTimeoutServer}\u79D2\uFF09`:""}`);loop=new TaskLoop({api,projectApi,config,log,runner,engine:await buildEngine(config,m=>log.log(m)),settings,skills});if(pendingDrain.value!==null){loop.requestDrain(pendingDrain.value.reason,pendingDrain.value.exitCode)}exitCode=await loop.run()}catch(err){if(err instanceof RunnerRegistrationError){exitCode=1}else{log.log(`\u26D4 \u4E88\u671F\u3057\u306A\u3044\u30A8\u30E9\u30FC\u3067\u7D42\u4E86\u3057\u307E\u3059: ${err.message}`);exitCode=1}}finally{await shutdown()}
345
345
  return exitCode}async function showStatus(api,config){const out={write:text=>process.stdout.write(stripTerminalControls(text))};out.write(`\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8: ${config.projectRef}\uFF08${config.projectId}\uFF09
@@ -55,7 +55,7 @@ ation/json",Authorization:`Bearer ${creds.token}`}}).then(res=>res.ok,()=>false)
55
55
  `);if(!revoked){writeOut("\u26A0 \u30B5\u30FC\u30D0\u5074\u306E\u30C8\u30FC\u30AF\u30F3\u5931\u52B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF08\u30AA\u30D5\u30E9\u30A4\u30F3\u7B49\uFF09\u3002TWP \u306E\u300C\u8A2D\u5B9A > CLI\u7AEF\u672B\u300D\u304B\u3089\u3082\u5931\u52B9\u3067\u304D\u307E\u3059\u3002\n")}})}async function runWhoami(options){return run(async()=>{const profile=resolveProfile(options.profile);const structured=options.output!==void 0||options.query!==void 0;let format=null;if(structured){
56
56
  const{resolveOutputFormat,OUTPUT_FORMATS}=await import("./format-NMW6Y2E5.js");format=resolveOutputFormat({...options.output!==void 0?{flag:options.output}:{},isTty:process.stdout.isTTY===true});if(format===null){throw new UsageError(`--output \u306B\u300C${options.output??""}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F ${OUTPUT_FORMATS.join(" / ")} \u3067\u3059`)}}const stored=loadCredentials(profile.name);const apiUrl=effectiveApiUrl(
57
57
  profile,stored?.api_url);const session=new AuthSession(profile.name,apiUrl);const client=new TwpApiClient(apiUrl,session,httpFetch,options.cliVersion);const me=await client.get("/api/v2/user");const user=me.user;const creds=loadCredentials(profile.name);if(format!==null){const value={id:user?.id??null,name:user?.name??null,email:user?.email??null,tenant_code:user?.tenant_code??null,role:user?.role??null,is_admin:user?.is_admin??null,profile:profile.name,api_url:apiUrl,expires_at:creds?.token_expires_at??
58
- null};const{evaluateQuery}=await import("./query-3ZQP4DCN.js");const{renderOutput}=await import("./render-ASQBZ75M.js");const selected=options.query===void 0?value:await evaluateQuery(options.query,value);const text=renderOutput(selected,format);process.stdout.write(text.endsWith("\n")?text:`${text}
58
+ null};const{evaluateQuery}=await import("./query-3ZQP4DCN.js");const{renderOutput}=await import("./render-R5QZ46GF.js");const selected=options.query===void 0?value:await evaluateQuery(options.query,value);const text=renderOutput(selected,format);process.stdout.write(text.endsWith("\n")?text:`${text}
59
59
  `);return}writeOut(`\u30E6\u30FC\u30B6\u30FC: ${user?.name??"?"}\uFF08${user?.email??"?"}\uFF09
60
60
  `);writeOut(`ID: ${user?.id??"?"}
61
61
  `);writeOut(`\u30C6\u30CA\u30F3\u30C8: ${user?.tenant_code??"?"}
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{customerDocumentSubresources}from"./chunk-FUH3J5VB.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-OKIENL5P.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-JC5HZGPD.js";import"./chunk-HNUBM24L.js";import"./chunk-2YNZ4MRT.js";import"./chunk-OHXZO5WK.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-R5KWKK5Z.js";import"./chunk-XDHLO54T.js";
4
- import{repeatedValues}from"./chunk-F7K37QG6.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-4MTEXWYQ.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-GY7KI5E5.js";import{LIST_FLAGS,LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,
5
- STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var CUSTOMER_FLAG_FIELD={kind:"boolean",flag:"--customer",key:"customer_flg",summary:"\u9867\u5BA2\u3068\u3057\u3066\u6271\u3046\u304B\uFF08true / false\uFF09"};var FIELDS=[...COMPANY_FIELDS,CUSTOMER_FLAG_FIELD];var COLUMNS=["id","company_name","company_name_kana","company_short_name","customer_flg","supplier_flg","tel","address1"];var WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
3
+ import{customerDocumentSubresources}from"./chunk-JYNZEZYL.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-HS7EKE7M.js";import"./chunk-HNUBM24L.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-SBWCQAHT.js";import"./chunk-2YNZ4MRT.js";import"./chunk-OHXZO5WK.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-V24LKF3V.js";import"./chunk-XDHLO54T.js";
4
+ import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-3WHD2YVF.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-GY7KI5E5.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,
5
+ PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,envelopePaging,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes,positiveInteger}from"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var CUSTOMER_FLAG_FIELD={kind:"boolean",flag:"--customer",key:"customer_flg",summary:"\u9867\u5BA2\u3068\u3057\u3066\u6271\u3046\u304B\uFF08true / false\uFF09"};var FIELDS=[...COMPANY_FIELDS,CUSTOMER_FLAG_FIELD];var COLUMNS=["id","company_name","company_name_kana","company_short_name","customer_flg","supplier_flg","tel","address1"];var WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
6
6
  var DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u53D6\u5F15\u5148\u306E\u524A\u9664\u306B\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u304B\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");var REF_HELP="<\u53D6\u5F15\u5148> \u306F\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u5B8C\u5168\u4E00\u81F4\u304B\
7
7
  ID\uFF08twp company list \u306E id \u5217\u306E\u6570\u5B57\uFF09\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u3069\u3061\u3089\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002";function companyPath(input){const id=requireResolved(input,"companyId");if(!isExactNumericId(id))throw new UsageError(`\u53D6\u5F15\u5148 ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${id}`);return`${SALES_COMPANIES_PATH}/${id}`}async function resolveCompany(input,ctx,usage){
8
8
  const raw=singleRef(input,{flag:"<\u53D6\u5F15\u5148>",label:"\u53D6\u5F15\u5148",usage});return withResolved(input,{companyId:(await ctx.resolver.company(raw,{flag:"<\u53D6\u5F15\u5148>",source:"sales",mustExist:true})).id})}var createOperation={name:"create",summary:"\u53D6\u5F15\u5148\u4F01\u696D\u3092\u767B\u9332\u3059\u308B\uFF08\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u4EE5\u4E0A\uFF09",usage:"twp company create --name <\u4F01\u696D\u540D> (--customer true | --suppli\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{BUILTIN_COMMANDS,GLOBAL_FLAGS,TASK_LOOP_ACTIONS,VALUE_FLAGS}from"./chunk-AJIHNSXI.js";import"./chunk-NAUH75MM.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-34X4JXND.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var EXTRA_TOP_LEVEL=[API_TOKEN,HELP_TOKEN,"completion","configure"];var COMPLETION_SHELLS=["bash","zsh","fish","powershell"];var TOP_LEVEL_FLAGS=["--help","--version","-p","--print","--profile","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--no-tui","--doctor"];var DOMAIN_GLOBAL_FLAGS=[...GLOBAL_FLAGS].filter(flag=>flag.startsWith("--"));function staticValues(flag,ctx){if(flag==="--output")return OUTPUT_FORMATS;if(flag==="--profile")return ctx.profileNames();return void 0}
3
+ import{BUILTIN_COMMANDS,GLOBAL_FLAGS,TASK_LOOP_ACTIONS,VALUE_FLAGS}from"./chunk-4OSCQLZT.js";import"./chunk-NAUH75MM.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-Y5EN7RYN.js";import"./chunk-QQRJLH6B.js";import{OUTPUT_FORMATS}from"./chunk-K2ONOH3L.js";import"./chunk-WVS4W5FY.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var EXTRA_TOP_LEVEL=[API_TOKEN,HELP_TOKEN,"completion","configure"];var COMPLETION_SHELLS=["bash","zsh","fish","powershell"];var TOP_LEVEL_FLAGS=["--help","--version","-p","--print","--profile","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--no-tui","--doctor"];var DOMAIN_GLOBAL_FLAGS=[...GLOBAL_FLAGS].filter(flag=>flag.startsWith("--"));function staticValues(flag,ctx){if(flag==="--output")return OUTPUT_FORMATS;if(flag==="--profile")return ctx.profileNames();return void 0}
4
4
  function positionals(words,takesValue){const out=[];for(let i=0;i<words.length;i++){const word=words[i]??"";if(word==="--"){out.push(...words.slice(i+1));break}if(word.startsWith("-")){if(!word.includes("=")&&takesValue(word))i++;continue}out.push(word)}return out}function byPrefix(candidates,current){const seen=new Set;for(const candidate of candidates){if(candidate.startsWith(current))seen.add(candidate)}return[...seen]}function remainingFlags(flags,words){const used=new Set(words.filter(w=>w.
5
5
  startsWith("--")).map(w=>w.split("=")[0]));return[...flags.filter(f=>f.repeatable===true||!used.has(f.name)).map(f=>f.name),...DOMAIN_GLOBAL_FLAGS.filter(f=>!used.has(f))]}async function complete(words,current,ctx){const previous=words[words.length-1];if(previous!==void 0&&previous.startsWith("--")&&!previous.includes("=")){const values=staticValues(previous,ctx);if(values!==void 0)return byPrefix(values,current)}const eq=current.indexOf("=");if(current.startsWith("--")&&eq>0){const flag=current.
6
6
  slice(0,eq);const values=staticValues(flag,ctx);return values===void 0?[]:byPrefix(values.map(v=>`${flag}=${v}`),current)}const pos=positionals(words,flag=>VALUE_FLAGS.has(flag));const[first,second]=pos;if(first===void 0){if(current.startsWith("-"))return byPrefix([...TOP_LEVEL_FLAGS,...DOMAIN_GLOBAL_FLAGS],current);return byPrefix([...BUILTIN_COMMANDS,...DOMAIN_NAMES,...EXTRA_TOP_LEVEL],current)}if(first==="completion")return pos.length===1?byPrefix(COMPLETION_SHELLS,current):[];if(first==="con\
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contractAiReviewResources}from"./chunk-2ZTJP74M.js";import"./chunk-EZ3RJBN6.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-R5KWKK5Z.js";import{isoDate}from"./chunk-XDHLO54T.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{readBody}from"./chunk-ORUDW52G.js";import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-4MTEXWYQ.js";import"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";
4
- import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";
3
+ import{contractAiReviewResources}from"./chunk-OVBKORPC.js";import"./chunk-L7IGGC7H.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-V24LKF3V.js";import{isoDate}from"./chunk-XDHLO54T.js";import{readBody}from"./chunk-ORUDW52G.js";import{SALES_CONTRACTS_PATH,isExactNumericId,resolveNamed}from"./chunk-3WHD2YVF.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";
4
+ import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";
5
5
  import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_CONTRACTS_PATH;var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));var DISAMBIGUATION="\u53D6\u5F15\u5951\u7D04\u306F\u898B\u7A4D\u304B\u3089\u4F5C\u308B\u8CA9\u58F2\u7BA1\u7406\u306E\u66F8\u985E\u3067\u3059\uFF08\u660E\u7D30\u30FB\u91D1\u984D\u3092\u6301\u3061\u3001\u627F\u8A8D\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u4E57\u308A\u307E\u3059\uFF09\u3002\n\u9867\u5BA2\u306B\u7D10\u3065\u3051\u3066\u4FDD\u7BA1\u3059\u308B\u5951\u7D04\u66F8\u306E PDF \u306F\u5225\u7269\u3067\u3001twp customer contract \u3067\u6271\u3044\u307E\u3059\u3002\n\n";
6
6
  var CONTRACT_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",submitted:"\u63D0\u793A\u6E08",contracted:"\u5951\u7D04\u7DE0\u7D50\u6E08",deleted:"\u524A\u9664\u6E08"};var RENEWAL_TYPES={auto_renewal:"\u81EA\u52D5\u66F4\u65B0",application_renewal:"\u7533\u8FBC\u306B\u3088\u308B\u66F4\u65B0"};function statusName(code){return CONTRACT_STATUSES[code]??code}function tableHelp(table){
7
7
  return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}var STORE_KEYS=["estimate_id","contract_no","title","status","contract_date","start_date","end_date","renewal_type","cancellation_notice_days","next_renewal_date","memo","manage_form_data","contract_document_file_ids","details","recipients"];var CREATE_ONLY_KEYS=["estimate_id"];var UPDATE_KEYS=STORE_KEYS.filter(key=>!CREATE_ONLY_KEYS.includes(key));var DETAIL_KEYS=["item_name","description","quantity","unit",
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-JC5HZGPD.js";import"./chunk-XDHLO54T.js";import{DEPARTMENTS_PATH}from"./chunk-4MTEXWYQ.js";import"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-4VZKNEVN.js";import"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";
3
+ import{cacheNote,createFlags,fieldBody,hasAnyField,idSegment,masterFields,masterItem,masterListOperation,masterRows,referencedDeleteGuidance,resolveRefFields,targetId,updateFlags}from"./chunk-SBWCQAHT.js";import"./chunk-XDHLO54T.js";import{DEPARTMENTS_PATH}from"./chunk-3WHD2YVF.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";
4
4
  import{withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u90E8\u7F72";var LIST_COLUMNS=["id","code","name","parent_id","level","effective_status","valid_from","valid_to","member_count"];var GET_COLUMNS=["id","code","name","name_short","parent_id","level","sort","effective_status","valid_from","valid_to","description"];var TREE_COLUMNS=["depth","name","code","id","effective_status","valid_to"];var MEMBER_COLUMNS=["id","user_id","position_id","job_title_id","start_date","end_date","is_primary","is_current","effective_status"];var REF_FLAG={name:"\
5
5
  --department",summary:"\u5BFE\u8C61\u306E\u90E8\u7F72\uFF08\u4F4D\u7F6E\u5F15\u6570\u306E\u4EE3\u308F\u308A\u306B\u4F7F\u3048\u308B\uFF09",takesValue:true,placeholder:"<\u90E8\u7F72>"};var REF_HELP="<\u90E8\u7F72> \u306F\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u90E8\u7F72\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
6
6
  var FIELDS=masterFields(LABEL,[{kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"ref",flag:"--parent",key:"parent_id",summary:"\u89AA\u90E8\u7F72\uFF08\u540D\u524D\u30FB\u30B3\u30FC\u30C9\u30FBID\uFF09",placeholder:"<\u90E8\u7F72>",clearFlag:"--no-parent",clearSummary:"\u89AA\u90E8\u7F72\u3092\u5916\u3057\u3066\u6700\u4E0A\u4F4D\u306B\u3059\u308B",resolve:(ctx,ref,flag)=>ctx.resolver.department(ref,flag)},{kind:"integer",flag:"--sor\
@@ -1,4 +1,4 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic}from"./chunk-3UW33UZI.js";import"./chunk-OHXZO5WK.js";import"./chunk-R5KWKK5Z.js";import"./chunk-XDHLO54T.js";import"./chunk-F7K37QG6.js";import"./chunk-ORUDW52G.js";import"./chunk-4MTEXWYQ.js";import"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-4VZKNEVN.js";
4
- import"./chunk-QQRJLH6B.js";import"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import"./chunk-LXIAOCUW.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic};
3
+ import{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic}from"./chunk-QVZGNHRE.js";import"./chunk-OHXZO5WK.js";import"./chunk-V24LKF3V.js";import"./chunk-XDHLO54T.js";import"./chunk-ORUDW52G.js";import"./chunk-3WHD2YVF.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";
4
+ import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";import"./chunk-LXIAOCUW.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";export{depositDomain,depositIdArg,describeDeposit,excerpt,parseAllocationRows,parsePlanBody,planSkeleton,salesAdminForbidden,sendAtomic};
@@ -1,9 +1,9 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{estimateCaseDocumentResource}from"./chunk-R4MOGEGN.js";import"./chunk-FUH3J5VB.js";import"./chunk-OKIENL5P.js";import{estimateNoRuleResource}from"./chunk-FCISZHMZ.js";import"./chunk-JC5HZGPD.js";import{estimateAiReviewResources}from"./chunk-2ZTJP74M.js";import{estimatePdfOperation}from"./chunk-EZ3RJBN6.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-HNUBM24L.js";import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import{salesAdminForbidden}from"./chunk-3UW33UZI.js";
4
- import"./chunk-OHXZO5WK.js";import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-R5KWKK5Z.js";import"./chunk-XDHLO54T.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{charCount,readBody}from"./chunk-ORUDW52G.js";import{SALES_ESTIMATES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-4MTEXWYQ.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";
5
- import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-GY7KI5E5.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";
6
- import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_ESTIMATE_FORMATS_PATH;var LABEL="\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8";var CONTENT_KEYS=["format_name","start_date","end_date","default_unit","default_tax_rate","default_business_place_id","default_seal_impression_id","default_estimate_no_id","default_invoice_no_id","default_payee_id","default_terms","default_invoice_memo","default_purchase_terms","default_purchase_acceptance_terms","estimate_workflow_id","contract_workflow_id","invoice_workflow_id","purchase_workflow_\
3
+ import{estimateCaseDocumentResource}from"./chunk-AKPVALTZ.js";import"./chunk-JYNZEZYL.js";import"./chunk-HS7EKE7M.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-HNUBM24L.js";import"./chunk-SBWCQAHT.js";import{estimateNoRuleResource}from"./chunk-EZMXGIGX.js";import{estimateAiReviewResources}from"./chunk-OVBKORPC.js";import{estimatePdfOperation}from"./chunk-L7IGGC7H.js";import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import{salesAdminForbidden}from"./chunk-QVZGNHRE.js";
4
+ import"./chunk-OHXZO5WK.js";import{estimateReadOperations,featureLicenseGuidance,licenseForbidden}from"./chunk-V24LKF3V.js";import"./chunk-XDHLO54T.js";import{charCount,readBody}from"./chunk-ORUDW52G.js";import{SALES_ESTIMATES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,isExactNumericId}from"./chunk-3WHD2YVF.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";
5
+ import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-GY7KI5E5.js";import"./chunk-II5RVJQN.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,
6
+ UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_ESTIMATE_FORMATS_PATH;var LABEL="\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8";var CONTENT_KEYS=["format_name","start_date","end_date","default_unit","default_tax_rate","default_business_place_id","default_seal_impression_id","default_estimate_no_id","default_invoice_no_id","default_payee_id","default_terms","default_invoice_memo","default_purchase_terms","default_purchase_acceptance_terms","estimate_workflow_id","contract_workflow_id","invoice_workflow_id","purchase_workflow_\
7
7
  id","description","estimate_manage_content","contract_manage_content","invoice_manage_content","sort_order"];var FIELD_NOTES=[["format_name","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u540D\uFF08255 \u6587\u5B57\u307E\u3067\uFF09"],["default_unit","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u660E\u7D30\u306E\u65E2\u5B9A\u306E\u5358\u4F4D\uFF08set / item / unit / hour / day / month / person / person_month / person_day\uFF09"],["default_tax_rate",'\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u65E2\u5B9A\u306E\u7A0E\u7387\uFF08"10" / "8" / \
8
8
  "0"\uFF09'],["default_estimate_no_id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB\u306E ID\uFF08\u6574\u6570\u3002twp estimate no-rule list \u306E id\uFF09"],["default_invoice_no_id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB\u306E ID\uFF08\u6574\u6570\u3002twp invoice no-rule list \u306E id\uFF09"],["start_date / end_date","\u6709\u52B9\u671F\u9593\uFF08YYYY-MM-DD\u3002\u7D42\u4E86\u306F\u958B\u59CB\u4EE5\u964D\u3002null \u3067\u671F\u9650\u306A\u3057\uFF09"],
9
9
  ["default_business_place_id / default_seal_impression_id / default_payee_id","\u65E2\u5B9A\u306E\u4E8B\u696D\u6240\u30FB\u5370\u5F71\u30FB\u632F\u8FBC\u5148\u306E ID\uFF08\u6574\u6570\u3002twp business-place / seal-impression / payee list \u306E id\u3002null \u3067\u672A\u8A2D\u5B9A\uFF09"],["default_terms / default_invoice_memo","\u898B\u7A4D\u306E\u53D6\u5F15\u6761\u4EF6\u30FB\u8ACB\u6C42\u306E\u5099\u8003\u306E\u65E2\u5B9A\u306E\u6587\u9762"],["default_purchase_terms / default_purchase_accept\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{booleanText,boundedText}from"./chunk-XDHLO54T.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-4MTEXWYQ.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{
3
+ import{booleanText,boundedText}from"./chunk-XDHLO54T.js";import{INQUIRY_CATEGORIES_PATH}from"./chunk-3WHD2YVF.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{
4
4
  isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u554F\u3044\u5408\u308F\u305B\u30AB\u30C6\u30B4\u30EA";var LIST_COLUMNS=["id","category_code","title","sort","is_active","notification_user_count"];var GET_COLUMNS=["id","category_code","title","description","sort","is_active","notification_users"];var FORBIDDEN=`\u7BA1\u7406\u8005\u306E\u6A29\u9650\u304C\u5FC5\u8981\u3067\u3059\u3002${LABEL}\u306E\u8A73\u7D30\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u306F\u554F\u3044\u5408\u308F\u305B\u6A5F\u80FD\u306E\u7BA1\u7406\u8005\u3060\u3051\u304C\u884C\u3048\u307E\u3059`;
5
5
  var SORT_LAST="last";var CODE_RE=/^[a-zA-Z0-9_-]+$/;var REF_HELP="<\u30AB\u30C6\u30B4\u30EA> \u306F\u30AB\u30C6\u30B4\u30EA\u30B3\u30FC\u30C9\u30FB\u540D\u524D\uFF08title\uFF09\u30FBID \u306E\u3069\u308C\u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\uFF08\u540D\u524D\u304C\u8907\u6570\u306B\u4E00\u81F4\u3059\u308C\u3070\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002\nID \u4EE5\u5916\u306F\u30AB\u30C6\u30B4\u30EA\u4E00\u89A7\uFF08\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3068\u7167\u5408\u3057\u307E\u3059\u3002";
6
6
  var NOTIFY_HELP="--notify \u306F\u901A\u77E5\u5148\u306E\u30E6\u30FC\u30B6\u30FC\u3067\u3001\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u30E6\u30FC\u30B6\u30FC\u306F ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\n\uFF08ID \u4EE5\u5916\u306F\u30C6\u30CA\u30F3\u30C8\u306E\u30E6\u30FC\u30B6\u30FC\u4E00\u89A7\u3068\u7167\u5408\u3057\u307E\u3059\u3002\u7D44\u7E54\u7BA1\u7406\u8005\u3067\u306A\u3044\u5834\u5408\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002";
@@ -1,8 +1,8 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{invoiceNoRuleResource}from"./chunk-FCISZHMZ.js";import{invoiceAiReviewResources}from"./chunk-2ZTJP74M.js";import{invoicePdfOperation}from"./chunk-EZ3RJBN6.js";import"./chunk-3UW33UZI.js";import"./chunk-OHXZO5WK.js";import{featureLicenseGuidance,invoiceFilters,invoiceReadOperations,licenseForbidden}from"./chunk-R5KWKK5Z.js";import{booleanText,isoDate}from"./chunk-XDHLO54T.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{readBody}from"./chunk-ORUDW52G.js";
4
- import{SALES_INVOICES_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,isExactNumericId,resolveNamed}from"./chunk-4MTEXWYQ.js";import"./chunk-GMBJTG6A.js";import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";
5
- import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_INVOICE_AUTO_TEMPLATES_PATH;var HISTORY_SEARCH_PATH="/api/v2/sales/invoice-auto-issue-histories";var FORMATS_PATH="/api/v2/sales/estimate-formats";function adminForbidden(body){return body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):"\u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068\u767A\u884C\u5C65\u6B74\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u6271\u3048\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
3
+ import{invoiceNoRuleResource}from"./chunk-EZMXGIGX.js";import{invoiceAiReviewResources}from"./chunk-OVBKORPC.js";import{invoicePdfOperation}from"./chunk-L7IGGC7H.js";import"./chunk-QVZGNHRE.js";import"./chunk-OHXZO5WK.js";import{featureLicenseGuidance,invoiceFilters,invoiceReadOperations,licenseForbidden}from"./chunk-V24LKF3V.js";import{booleanText,isoDate}from"./chunk-XDHLO54T.js";import{readBody}from"./chunk-ORUDW52G.js";import{SALES_INVOICES_PATH,
4
+ SALES_INVOICE_AUTO_TEMPLATES_PATH,isExactNumericId,resolveNamed}from"./chunk-3WHD2YVF.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,
5
+ pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{acknowledgement,isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var PATH=SALES_INVOICE_AUTO_TEMPLATES_PATH;var HISTORY_SEARCH_PATH="/api/v2/sales/invoice-auto-issue-histories";var FORMATS_PATH="/api/v2/sales/estimate-formats";function adminForbidden(body){return body?.error==="permission_denied"?featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"):"\u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3068\u767A\u884C\u5C65\u6B74\u306F\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u306E\u4EBA\u3060\u3051\u304C\u6271\u3048\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}
6
6
  var CONTENT_KEYS=["template_name","estimate_format_id","interval_months","next_issue_date","period_start_date","period_end_date","payment_term_months","payment_term_day","estimate_expiration_months","estimate_expiration_day","order_acceptance_months","order_acceptance_day","invoice_date_months","invoice_date_day","estimate_business_place_id","estimate_seal_impression_id","invoice_business_place_id","invoice_seal_impression_id","company_id","project_id","payee_id","estimate_user_id","invoice_user\
7
7
  _id","detail","memo","template_memo","notification_user_ids","estimate_manage_content","invoice_manage_content","is_active"];var DETAIL_KEYS=["list"];var DETAIL_ROW_KEYS=["title","price","quantity","unit","tax","delivery_date"];var NOT_SAVED_KEYS=["period_start_months","period_start_day","period_end_months","period_end_day"];var FIELD_NOTES=[["template_name","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u540D\uFF08255 \u6587\u5B57\u307E\u3067\uFF09"],["estimate_format\
8
8
  _id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E ID\uFF08\u6574\u6570\u3002twp estimate format list \u306E id\uFF09"],["company_id","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u53D6\u5F15\u5148\u306E ID\uFF08\u6574\u6570\u3002twp company list \u306E id\uFF09"],["interval_months","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u767A\u884C\u5468\u671F\uFF081\u301C12 \u304B\u6708\uFF09"],["next_issue_date","\u4F5C\u6210\u3067\u5FC5\u9808\u3002\u6B21\u56DE\u767A\u884C\u65E5\uFF08YYYY-MM-DD\uFF09\u3002\u767A\u884C\u306E\u305F\u3073\u306B\u300C\u767A\u884C\u65E5\uFF0B\u5468\u671F\u300D\u3078\u9032\u307F\u307E\u3059"],
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{STATUS_VALUES,flatMasterDomain}from"./chunk-JC5HZGPD.js";import"./chunk-XDHLO54T.js";import{JOB_TITLES_PATH}from"./chunk-4MTEXWYQ.js";import"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-4VZKNEVN.js";import"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import"./chunk-LXIAOCUW.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";
3
+ import{STATUS_VALUES,flatMasterDomain}from"./chunk-SBWCQAHT.js";import"./chunk-XDHLO54T.js";import{JOB_TITLES_PATH}from"./chunk-3WHD2YVF.js";import"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";import"./chunk-LXIAOCUW.js";import"./chunk-VTQAI52S.js";import"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";
4
4
  import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var jobTitleDomain=flatMasterDomain({name:"job-title",label:"\u8077\u4F4D",path:JOB_TITLES_PATH,itemKey:"job_title",summary:"\u8077\u4F4D\u30DE\u30B9\u30BF\uFF08\u4E00\u89A7\u30FB\u53D6\u5F97\u30FB\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",listColumns:["id","code","name","sort_order","status","position_id","base_selling_price","base_cost_price"],getColumns:["id","code","name","name_short","sort_order","status","position_id","base_selling_price","base_cost_price","description"],fields:[
5
5
  {kind:"text",flag:"--name-short",key:"name_short",label:"\u7565\u79F0",maxChars:50,summary:"\u7565\u79F0"},{kind:"integer",flag:"--sort-order",key:"sort_order",label:"\u8868\u793A\u9806",min:0,max:9999,summary:"\u8868\u793A\u9806\uFF080\u301C9999\uFF09"},{kind:"enum",flag:"--status",key:"status",values:STATUS_VALUES,summary:"\u72B6\u614B\uFF08active: \u6709\u52B9 / inactive: \u7121\u52B9\uFF09"},{kind:"text",flag:"--description",key:"description",label:"\u8AAC\u660E",maxChars:1e3,summary:"\u8AAC\u660E"},
6
6
  {kind:"integer",flag:"--base-selling-price",key:"base_selling_price",label:"\u57FA\u6E96\u58F2\u4FA1",min:0,summary:"\u57FA\u6E96\u58F2\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"integer",flag:"--base-cost-price",key:"base_cost_price",label:"\u57FA\u6E96\u539F\u4FA1",min:0,summary:"\u57FA\u6E96\u539F\u4FA1\uFF080\u4EE5\u4E0A\u306E\u6574\u6570\uFF09"},{kind:"text",flag:"--skill-requirements",key:"skill_requirements",label:"\u30B9\u30AD\u30EB\u8981\u4EF6",maxChars:5e3,summary:"\u30B9\u30AD\u30EB\u8981\u4EF6"},
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{dateFlag}from"./chunk-4B3T4UE7.js";import{boundedText}from"./chunk-XDHLO54T.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-4MTEXWYQ.js";import{ResolveError,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";
4
- import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var MAX_BLOCK_DEPTH=10;var NAMED_ENTITIES={nbsp:" ",lt:"<",gt:">",quot:'"',apos:"'",amp:"&"};function decodeEntities(text2){return text2.replace(/&(#x[0-9a-f]{1,8}|#\d{1,8}|[a-z]{1,8});/gi,(whole,ref)=>{if(ref.startsWith("#")){const code=ref[1]==="x"||ref[1]==="X"?Number.parseInt(ref.slice(2),16):Number.parseInt(ref.slice(1),10);return Number.isInteger(code)&&code>0&&code<=1114111?String.fromCodePoint(code):whole}return NAMED_ENTITIES[ref.toLowerCase()]??whole})}var HTML_TAG_NAMES=new Set(["a","\
3
+ import{dateFlag}from"./chunk-4B3T4UE7.js";import{boundedText}from"./chunk-XDHLO54T.js";import"./chunk-3WHD2YVF.js";import{ResolveError,isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{repeatedValues}from"./chunk-F7K37QG6.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";
4
+ import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var MAX_BLOCK_DEPTH=10;var NAMED_ENTITIES={nbsp:" ",lt:"<",gt:">",quot:'"',apos:"'",amp:"&"};function decodeEntities(text2){return text2.replace(/&(#x[0-9a-f]{1,8}|#\d{1,8}|[a-z]{1,8});/gi,(whole,ref)=>{if(ref.startsWith("#")){const code=ref[1]==="x"||ref[1]==="X"?Number.parseInt(ref.slice(2),16):Number.parseInt(ref.slice(1),10);return Number.isInteger(code)&&code>0&&code<=1114111?String.fromCodePoint(code):whole}return NAMED_ENTITIES[ref.toLowerCase()]??whole})}var HTML_TAG_NAMES=new Set(["a","\
5
5
  abbr","article","aside","audio","b","blockquote","body","br","caption","cite","code","col","colgroup","dd","del","details","div","dl","dt","em","figcaption","figure","font","footer","h1","h2","h3","h4","h5","h6","head","header","hr","html","i","iframe","img","input","ins","kbd","label","li","main","mark","meta","nav","ol","p","pre","q","s","samp","script","section","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","tfoot","th","thead","title","tr","u","\
6
6
  ul","var","video"]);var ATTRIBUTES=/^(?:\s+[a-z_:][-\w:.]*(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s"'=<>`]+))?)*\s*\/?$/i;function tokenizeHtml(html){const tokens=[];let text2="";let i=0;let nextLt=html.indexOf("<");let nextGt=-2;while(nextLt!==-1){text2+=html.slice(i,nextLt);if(nextGt===-2||nextGt!==-1&&nextGt<nextLt)nextGt=html.indexOf(">",nextLt);const following=html.indexOf("<",nextLt+1);if(nextGt===-1||following!==-1&&following<nextGt){text2+="<";i=nextLt+1;nextLt=following;continue}const inner=html.
7
7
  slice(nextLt+1,nextGt);const match=/^(\/?)([a-z][a-z0-9]*)(?=[\s/]|$)/i.exec(inner);if(match!==null&&HTML_TAG_NAMES.has((match[2]??"").toLowerCase())&&ATTRIBUTES.test(inner.slice(match[0].length))){if(text2!=="")tokens.push({kind:"text",text:text2});text2="";const[head,slash,name]=match;tokens.push({kind:"tag",name:name.toLowerCase(),closing:slash==="/",attrs:inner.slice(head.length)})}else if(!inner.startsWith("!")){text2+=`<${inner}>`}i=nextGt+1;nextLt=html.indexOf("<",i)}text2+=html.slice(i);
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-IXFMXUNT.js";import{applyInstancePlan,createInstancePlan,formColumns,writtenInstance}from"./chunk-ERQT4AMC.js";import{assertMonthsOpen}from"./chunk-YLXW7TIU.js";import{dateFlag}from"./chunk-4B3T4UE7.js";import"./chunk-ORUDW52G.js";import"./chunk-4MTEXWYQ.js";import{UUID_RE}from"./chunk-GMBJTG6A.js";import{ApiError}from"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import{NotLoggedInError,
4
- SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LIST_USAGE="twp leave list";var GRANTS_USAGE="twp leave grants [<\u30E6\u30FC\u30B6\u30FC> | --user <\u30E6\u30FC\u30B6\u30FC>]";var USAGE_COLUMNS=["used_date","type_label","days","hours","status_label","reason","is_post_application","id"];var GRANT_COLUMNS=["grant_date","type_label","days","remaining_days","remaining_hours","expiry_date","status_label","reason","id"];function noArgs(input,operation){if(input.args.length>0){throw new UsageError(`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.
3
+ import{USER_REF_FLAG,USER_REF_HELP,userPath}from"./chunk-IXFMXUNT.js";import{applyInstancePlan,createInstancePlan,formColumns,writtenInstance}from"./chunk-OLBRIPOS.js";import{assertMonthsOpen}from"./chunk-YLXW7TIU.js";import{dateFlag}from"./chunk-4B3T4UE7.js";import"./chunk-ORUDW52G.js";import"./chunk-3WHD2YVF.js";import{UUID_RE}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{NotLoggedInError,
4
+ SessionExpiredError}from"./chunk-XNLIEUAW.js";import"./chunk-4VZKNEVN.js";import"./chunk-II5RVJQN.js";import"./chunk-IOGMOXYF.js";import{requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LIST_USAGE="twp leave list";var GRANTS_USAGE="twp leave grants [<\u30E6\u30FC\u30B6\u30FC> | --user <\u30E6\u30FC\u30B6\u30FC>]";var USAGE_COLUMNS=["used_date","type_label","days","hours","status_label","reason","is_post_application","id"];var GRANT_COLUMNS=["grant_date","type_label","days","remaining_days","remaining_hours","expiry_date","status_label","reason","id"];function noArgs(input,operation){if(input.args.length>0){throw new UsageError(`${operation} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D7\u3051\u53D6\u308A\u307E\u305B\u3093: ${input.
5
5
  args.join(" ")}`,`twp leave ${operation} help`)}}function summaryBody(body){if(!isRecord(body)||!isRecord(body["summary"])){throw new ApiResponseError("\u6709\u7D66\u30B5\u30DE\u30EA\u306E\u5FDC\u7B54\u306B summary \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function usagesBody(body){if(!isRecord(body)||!Array.isArray(body["usages"])){throw new ApiResponseError("\u6709\u7D66\u306E\u53D6\u5F97\u5C65\u6B74\u306E\u5FDC\u7B54\u306B usages \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}
6
6
  return body}function grantsBody(body){if(!isRecord(body)||!Array.isArray(body["grants"])){throw new ApiResponseError("\u6709\u7D66\u306E\u4ED8\u4E0E\u5C65\u6B74\u306E\u5FDC\u7B54\u306B grants \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return body}function listBody(body){const combined=isRecord(body)?body:{};return{summary:summaryBody(combined["summary"]),usages:usagesBody(combined["usages"])}}async function list(input,ctx){
7
7
  const summary=summaryBody(await ctx.send(listPlan(input)));const usages=await ctx.send({method:"GET",path:"/api/v1/paid-leave/me/usages"});return{summary,usages}}function listPlan(input){noArgs(input,"list");return{method:"GET",path:"/api/v1/paid-leave/me"}}function listNotes(body){const{summary:sheet}=listBody(body);const summary=sheet["summary"];const hours=typeof summary["total_remaining_hours"]==="number"&&summary["total_remaining_hours"]>0?` ${String(summary["total_remaining_hours"])} \u6642\u9593`:
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contentTypeFor,inspectLocalFile}from"./chunk-HNUBM24L.js";import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import"./chunk-4MTEXWYQ.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-4VZKNEVN.js";import"./chunk-GY7KI5E5.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import{
3
+ import{contentTypeFor,inspectLocalFile}from"./chunk-HNUBM24L.js";import{checkUploadQuota}from"./chunk-2YNZ4MRT.js";import"./chunk-3WHD2YVF.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-GY7KI5E5.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{
4
4
  requireResolved,singleRef,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";import{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";import crypto from"crypto";import fs from"fs";import path from"path";var SCOPE_PERSONAL="personal";var SCOPE_PROJECT="project";var LIST_COLUMNS=["id","file_name","content_type","file_size","folder_id","public_status","updated_at"];var UPLOAD_COLUMNS=["id","file_name","content_type","file_size","folder_id","scope","content_hash"];var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30ED\u30FC\u30AB\u30EB\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9>"};var NAME_FLAG={
5
5
  name:"--name",summary:"\u4FDD\u5B58\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u540D\uFF08\u7701\u7565\u6642\u306F\u30ED\u30FC\u30AB\u30EB\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3002\u540C\u540D\u304C\u3042\u308B\u3068\u30B5\u30FC\u30D0\u304C\u5225\u540D\u306B\u3057\u307E\u3059\uFF09",takesValue:true,placeholder:"<\u30D5\u30A1\u30A4\u30EB\u540D>"};var CONTENT_TYPE_FLAG={name:"--content-type",summary:"Content-Type\uFF08\u7701\u7565\u6642\u306F\u62E1\u5F35\u5B50\u304B\u3089\u63A8\u5B9A\u3002\u4E0D\u660E\u306A\u3089 application/octet-stream\uFF09",
6
6
  takesValue:true,placeholder:"<\u578B>"};var FOLDER_FLAG={name:"--folder",summary:"\u30D5\u30A9\u30EB\u30C0ID\uFF08\u7701\u7565\u6642\u306F\u30B9\u30B3\u30FC\u30D7\u306E\u6700\u4E0A\u4F4D\uFF09",takesValue:true,placeholder:"<\u30D5\u30A9\u30EB\u30C0ID>"};var MEDIA_PROJECT_FLAG={name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5BFE\u8C61\u306B\u3059\u308B\uFF08\u30B3\u30FC\u30C9\u307E\u305F\u306F ID\uFF09\u3002\u7701\u7565\u6642\u306F\u81EA\u5206\u306E\u500B\u4EBA\u30D5\u30A1\u30A4\u30EB",
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{boundedText}from"./chunk-XDHLO54T.js";import{NOTIFICATIONS_PATH}from"./chunk-4MTEXWYQ.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-IF2K4PM5.js";import"./chunk-3HH5IYNO.js";import"./chunk-4VZKNEVN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import"./chunk-II5RVJQN.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";
3
+ import{boundedText}from"./chunk-XDHLO54T.js";import{NOTIFICATIONS_PATH}from"./chunk-3WHD2YVF.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-3HH5IYNO.js";import"./chunk-IF2K4PM5.js";import"./chunk-4VZKNEVN.js";import"./chunk-II5RVJQN.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-IOGMOXYF.js";import{requireResolved,withResolved}from"./chunk-LXIAOCUW.js";import{isRecord,pick}from"./chunk-VTQAI52S.js";
4
4
  import{ApiResponseError,UsageError}from"./chunk-UFND7FBC.js";import"./chunk-J7QYPKVK.js";import"./chunk-RZVI6PMW.js";import"./chunk-NHYMHCAT.js";import"./chunk-VSJBJXZO.js";var LABEL="\u901A\u77E5";var LIST_COLUMNS=["id","datetime","category_name","status_name","title"];var GET_COLUMNS=["id","datetime","category","category_name","status_name","read_time","title","content","url"];var CATEGORY_FLAG={name:"--category",summary:"\u901A\u77E5\u30AB\u30C6\u30B4\u30EA\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u30AD\u30FC\u304B\u540D\u524D\u3002twp notification categories \u3067\u4E00\u89A7\u3067\u304D\u308B\uFF09",takesValue:true,placeholder:"<\u30AB\u30C6\u30B4\u30EA>"};var CATEGORY_HELP="\
5
5
  --category \u306F\u30AB\u30C6\u30B4\u30EA\u306E\u30AD\u30FC\uFF08workflow_approval\uFF09\u304B\u540D\u524D\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u627F\u8A8D\u4F9D\u983C\uFF09\u3067\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\u30AB\u30C6\u30B4\u30EA\u4E00\u89A7\u3068\u7167\u5408\u3059\u308B\u306E\u3067\u3001\u6253\u3061\u9593\u9055\u3048\u305F\u30AB\u30C6\u30B4\u30EA\u3092\u300C0\u4EF6\u300D\u3068\u3057\u3066\u8FD4\u3059\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u4E00\u89A7\u306F\u65E2\u5B9A10\u5206\u30AD\u30E3\u30C3\u30B7\u30E5\u30FB--refresh \u3067\u53D6\u308A\u76F4\u3057\uFF09\u3002";
6
6
  async function resolveCategory(input,ctx){const raw=nonEmpty(input.flags,CATEGORY_FLAG.name);if(raw===void 0)return input;return withResolved(input,{category:(await ctx.resolver.notificationCategory(raw.trim())).id})}function noArgs(input,op){if(input.args.length>0){throw new UsageError(`${op} \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp notification ${op} help`)}}function notificationId(input,op){const[raw,...rest]=input.args;const id=raw?.trim()??