@tocca-systems/twp-cli 0.39.0 → 0.41.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 (87) hide show
  1. package/CHANGELOG.public.md +16 -0
  2. package/README.md +96 -1
  3. package/dist/{agent-loop-4U5RLC4L.js → agent-loop-RCMZ7IGV.js} +2 -2
  4. package/dist/{ai-dispatch-KRMDHQEF.js → ai-dispatch-2ZV4XL5D.js} +2 -2
  5. package/dist/{api-command-IO572BZ4.js → api-command-6FEY6MHV.js} +4 -4
  6. package/dist/{app-Y2RIXLS4.js → app-G6Y2XVST.js} +5 -5
  7. package/dist/{auto-update-JNSBIQM6.js → auto-update-PS5HUWVH.js} +1 -1
  8. package/dist/{auto-update-worker-Y44TD6FD.js → auto-update-worker-ZKODJ45K.js} +2 -2
  9. package/dist/{backlog-67JSQYOH.js → backlog-JVHWVL6N.js} +2 -2
  10. package/dist/{charter-command-ULFOEZWE.js → charter-command-OQQHBAPS.js} +1 -1
  11. package/dist/{chunk-4ZT5LTRX.js → chunk-43OMEGNH.js} +1 -1
  12. package/dist/{chunk-PWXXCLVZ.js → chunk-6QOT7CHX.js} +1 -1
  13. package/dist/{chunk-QDTYD5PY.js → chunk-7ACENLLZ.js} +4 -4
  14. package/dist/{chunk-HAIZHSNZ.js → chunk-7HVVKEOA.js} +2 -3
  15. package/dist/{chunk-C7UDUHQZ.js → chunk-ANK43U5E.js} +22 -20
  16. package/dist/{chunk-BJLXXRSY.js → chunk-B7YCG2T7.js} +1 -1
  17. package/dist/{chunk-MHRGKUMK.js → chunk-BPCK5RAB.js} +1 -1
  18. package/dist/{chunk-RZ54TCQU.js → chunk-BZ7ULFR3.js} +1 -1
  19. package/dist/{chunk-ELXDRPDV.js → chunk-BZAXQOLB.js} +24 -19
  20. package/dist/chunk-EOSSFTNG.js +4 -0
  21. package/dist/chunk-FKS2Z34P.js +70 -0
  22. package/dist/chunk-G2THOTBW.js +15 -0
  23. package/dist/{chunk-QQLWMHGR.js → chunk-H54MGGHB.js} +1 -1
  24. package/dist/{chunk-L52XJFJR.js → chunk-HBH5V2CP.js} +1 -1
  25. package/dist/chunk-L25UV7DE.js +13 -0
  26. package/dist/{chunk-REPGG75N.js → chunk-LNZTJI64.js} +1 -1
  27. package/dist/{chunk-RFBFR567.js → chunk-N6AXAGS2.js} +5 -5
  28. package/dist/chunk-O44ZKSD2.js +8 -0
  29. package/dist/chunk-PEM3HR7L.js +58 -0
  30. package/dist/{chunk-VECUCVIY.js → chunk-PKWMJIBM.js} +1 -1
  31. package/dist/{chunk-VBX44RKP.js → chunk-QEWI75KI.js} +1 -1
  32. package/dist/{chunk-BUZKNZ45.js → chunk-UT4FACHN.js} +5 -3
  33. package/dist/chunk-V3GQEUYI.js +16 -0
  34. package/dist/{chunk-FEOST3GF.js → chunk-VK5T7ULK.js} +1 -1
  35. package/dist/{chunk-VK2Z4QGC.js → chunk-VUHKLW66.js} +1 -1
  36. package/dist/{chunk-Y5YDL3MC.js → chunk-X5IVIOGL.js} +1 -1
  37. package/dist/{receivable-AE44YIJO.js → chunk-XN5TUZOT.js} +2 -3
  38. package/dist/{chunk-2NKVGAAE.js → chunk-YM7TKMNO.js} +1 -1
  39. package/dist/cli.js +148 -9
  40. package/dist/{commands-MLYGGSUE.js → commands-QIBFWWIT.js} +13 -13
  41. package/dist/{commands-K6DQ3O35.js → commands-VT7AVSSL.js} +4 -4
  42. package/dist/{company-3KUWW7QA.js → company-KHZVPKHH.js} +3 -3
  43. package/dist/{completion-6R5D5TQQ.js → completion-EFGQJDIU.js} +1 -1
  44. package/dist/{configure-PIOFJFL5.js → configure-XH33RB27.js} +1 -1
  45. package/dist/{contract-FGRHTOGI.js → contract-O3FIBHDY.js} +2 -2
  46. package/dist/{department-PN5DCCRL.js → department-I25NAPWU.js} +2 -2
  47. package/dist/deposit-U4AVQH5O.js +4 -0
  48. package/dist/estimate-SW43VOLO.js +173 -0
  49. package/dist/{inquiry-3VOJASJH.js → inquiry-5HSK4FPD.js} +2 -2
  50. package/dist/{invoice-KY3BYTHQ.js → invoice-RGOI2H4L.js} +50 -49
  51. package/dist/{job-title-EM6RKGQ6.js → job-title-G7MIYWVA.js} +1 -1
  52. package/dist/{knowledge-F4FZ4MLH.js → knowledge-ZPMPS6WK.js} +2 -2
  53. package/dist/{leave-D2S7NMJC.js → leave-6QI2RNO2.js} +2 -2
  54. package/dist/{logout-guard-XYVKR47G.js → logout-guard-BIF2B7JE.js} +1 -1
  55. package/dist/{media-SQVQVX2E.js → media-OV26FYD2.js} +2 -2
  56. package/dist/{notification-NTFUPUMY.js → notification-FL5GTW5S.js} +2 -2
  57. package/dist/{oneshot-TMGTEN3S.js → oneshot-XW6YVNOY.js} +2 -2
  58. package/dist/{position-D52LXRDT.js → position-UY33ETLX.js} +2 -2
  59. package/dist/{prospect-AQ7EUU4N.js → prospect-VN42J236.js} +3 -3
  60. package/dist/purchase-VQZOO3QL.js +214 -0
  61. package/dist/receivable-TNH4KCUO.js +4 -0
  62. package/dist/{registry-3WV46K26.js → registry-3236ULYR.js} +1 -1
  63. package/dist/{render-MTSSHDAZ.js → render-F4MRN2FQ.js} +1 -1
  64. package/dist/{report-TI2DOJGX.js → report-BTF5Q4F3.js} +2 -2
  65. package/dist/run-33WHOIOO.js +4 -0
  66. package/dist/sales-master-RYZKGURE.js +71 -0
  67. package/dist/sales-numbering-MBFKVR2C.js +4 -0
  68. package/dist/{schedule-command-IGTMCOA7.js → schedule-command-7JGQMTQY.js} +1 -1
  69. package/dist/{server-settings-MVZEW2QI.js → server-settings-326MD7T4.js} +1 -1
  70. package/dist/{server-skills-NXSUDHBD.js → server-skills-NJG7JP77.js} +1 -1
  71. package/dist/{setup-CVXGKBTY.js → setup-JGGFVRUW.js} +1 -1
  72. package/dist/{skill-command-4U7HB7XU.js → skill-command-DFRORWO6.js} +1 -1
  73. package/dist/supplier-payment-ZBN2QZRW.js +110 -0
  74. package/dist/{task-VKVZSF7J.js → task-CXHPLZHT.js} +3 -3
  75. package/dist/update-EYFT7STE.js +3 -0
  76. package/dist/{user-KEFI7XZI.js → user-MCDORJTG.js} +3 -3
  77. package/dist/workflow-2YL2OF2Y.js +4 -0
  78. package/package.json +1 -1
  79. package/dist/chunk-QWSXHHFT.js +0 -15
  80. package/dist/chunk-TLN3JSEC.js +0 -7
  81. package/dist/chunk-UVUVEL3B.js +0 -3
  82. package/dist/chunk-VCZVITWG.js +0 -13
  83. package/dist/deposit-XQER6PMG.js +0 -4
  84. package/dist/estimate-IXBEQVGI.js +0 -164
  85. package/dist/run-KNZ43HFF.js +0 -4
  86. package/dist/update-MAQJ6VWV.js +0 -3
  87. package/dist/workflow-4FHTOQZZ.js +0 -4
@@ -0,0 +1,58 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{FORCE_FLAG,OUT_FLAG,REV_FLAG,revOf,singleId,uploadStaged}from"./chunk-43OMEGNH.js";import{CUSTOMER_LICENSE,childForbidden,levelForbidden}from"./chunk-H54MGGHB.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-BPCK5RAB.js";import{inspectLocalFile}from"./chunk-PKWMJIBM.js";import{SALES_ESTIMATES_PATH,isExactNumericId}from"./chunk-BZAXQOLB.js";import{nonEmpty}from"./chunk-5R4SEO3I.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";
4
+ import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import fs from"fs";import path from"path";var DOCUMENT_TYPES=["order_form","individual_contract","other"];var DOCUMENT_TYPE_HELP="order_form\uFF1D\u6CE8\u6587\u66F8 / individual_contract\uFF1D\u500B\u5225\u5951\u7D04\u66F8 / other\uFF1D\u305D\u306E\u4ED6\u6848\u4EF6\u66F8\u985E";var MAGIC_BYTES={pdf:["%PDF-"],jpg:["\xFF\xD8\xFF"],jpeg:["\xFF\xD8\xFF"],png:["\x89PNG\r\n\n"],xlsx:["PK","PK","PK\x07\b"],docx:["PK","PK","PK\x07\b"],xls:["\xD0\xCF\xE0\xA1\xB1\xE1"],doc:["\xD0\xCF\xE0\xA1\xB1\xE1"]};var FILE_NAME_MAX_CHARS=255;var FIELDS=[
5
+ {kind:"text",flag:"--name",key:"document_name",label:"\u66F8\u985E\u540D",maxChars:255,summary:"\u66F8\u985E\u540D\uFF08create \u3067\u306F\u5FC5\u9808\uFF09"},{kind:"enum",flag:"--type",key:"document_type",values:DOCUMENT_TYPES,summary:`\u66F8\u985E\u7A2E\u5225\uFF08${DOCUMENT_TYPE_HELP}\u30FBcreate \u3067\u306F\u5FC5\u9808\uFF09`}];var COLUMNS=["document_id","estimate_id","document_type","document_type_label","document_name","current_version","updated_by_name","updated_at"];var VERSION_COLUMNS=[
6
+ "version_number","file_name","file_size","is_current","created_by_name","created_at"];var ESTIMATE_FLAG={name:"--estimate",summary:"\u898B\u7A4D\u306E ID\uFF08twp estimate list \u306E id \u5217\u306E\u6570\u5B57\u30FB\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u898B\u7A4DID>"};var FILE_FLAG={name:"--file",summary:"\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B\u30D5\u30A1\u30A4\u30EB\uFF08PDF\u30FBJPEG\u30FBPNG\u30FBWord\u30FBExcel\u3002\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\
7
+ \u30D1\u30B9>"};var REF_HELP="--estimate\uFF08\u898B\u7A4D\u306E ID\uFF09\u304C\u5FC5\u9808\u3067\u3059\u3002<\u66F8\u985EID> \u306F twp estimate case-document list \u306E document_id \u5217\u306E\u5024\u3067\u3059\u3002\n\u9867\u5BA2\u3092\u307E\u305F\u3044\u3060\u4E00\u89A7\u306F twp customer case-document list --customer <\u9867\u5BA2> \u3067\u898B\u3089\u308C\u307E\u3059\u3002";var VIEW_FORBIDDEN=levelForbidden(CUSTOMER_LICENSE,"\u6848\u4EF6\u66F8\u985E\u3092\u898B\u308B\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
8
+ var EDIT_FORBIDDEN=childForbidden("\u6848\u4EF6\u66F8\u985E","edit");var usageOf=op=>`twp estimate case-document ${op} help`;function estimateBase(input,op){const raw=nonEmpty(input.flags,ESTIMATE_FLAG.name);if(raw===void 0)throw new UsageError(`${ESTIMATE_FLAG.name} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usageOf(op));const id=raw.trim();if(!isExactNumericId(id))throw new UsageError(`${ESTIMATE_FLAG.name} \u306F\u898B\u7A4D\u306E ID\uFF08\u6570\u5B57\uFF09\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,
9
+ usageOf(op));return`${SALES_ESTIMATES_PATH}/${id}/case-documents`}var docId=(input,op)=>singleId(input,"\u66F8\u985E",usageOf(op),"twp estimate case-document list --estimate <\u898B\u7A4DID> \u306E document_id \u5217\u306E\u5024\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");var docPath=(input,op)=>`${estimateBase(input,op)}/${encodeURIComponent(docId(input,op))}`;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.
10
+ args.join(" ")}`,usageOf(op))}function itemsOf(body){const items=isRecord(body)?body["items"]:void 0;if(!isRecord(body)||body["result"]!==true||!Array.isArray(items)||!items.every(isRecord)){throw new ApiResponseError("\u6848\u4EF6\u66F8\u985E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B items \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return items}function docOf(body,what){const doc=isRecord(body)?body["case_docu\
11
+ ment"]:void 0;if(!isRecord(body)||body["result"]!==true||!isRecord(doc)||typeof doc["document_id"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B case_document.document_id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return doc}function summaryOf(body,what){const doc=docOf(body,what);const versions=doc["versions"];return{...pick(doc,COLUMNS),versions:Array.isArray(versions)?versions.length:0}}function inspectCaseDocumentFile(raw,flag,usage,label){
12
+ const{file,size}=inspectLocalFile(raw,flag,usage);const name=path.basename(file);const extension=path.extname(name).slice(1).toLowerCase();const signatures=MAGIC_BYTES[extension];if(signatures===void 0){throw new UsageError(`${label}\u306F PDF\u30FB\u753B\u50CF\uFF08JPEG/PNG\uFF09\u30FBOffice\uFF08Word/Excel\uFF09\u3060\u3051\u3092\u767B\u9332\u3067\u304D\u307E\u3059: ${name}`)}if(Array.from(name).length>FILE_NAME_MAX_CHARS){throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u540D\u306F ${FILE_NAME_MAX_CHARS}\
13
+ \u6587\u5B57\u307E\u3067\u3067\u3059\uFF08${Array.from(name).length} \u6587\u5B57\uFF09: ${name}`)}const head=Buffer.alloc(Math.max(...signatures.map(s=>s.length)));let read;try{const fd=fs.openSync(file,"r");try{read=fs.readSync(fd,head,0,head.length,0)}finally{fs.closeSync(fd)}}catch(err){throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\uFF08${flag}\uFF09: ${file}\uFF08${err.code??err.message}\uFF09`)}const text=head.subarray(0,read).toString("lat\
14
+ in1");if(!signatures.some(signature=>text.startsWith(signature))){throw new UsageError(`\u30D5\u30A1\u30A4\u30EB\u306E\u5185\u5BB9\u304C\u62E1\u5F35\u5B50\uFF08.${extension}\uFF09\u3068\u5408\u3044\u307E\u305B\u3093\uFF08\u58CA\u308C\u3066\u3044\u308B\u304B\u5225\u306E\u5F62\u5F0F\u3067\u3059\uFF09: ${file}`)}return{file,name,size}}function localDocument(input,op){return inspectCaseDocumentFile(input.flags.get(FILE_FLAG.name),FILE_FLAG.name,usageOf(op),"\u6848\u4EF6\u66F8\u985E")}function uploadUrlPlan(input,op){
15
+ return{method:"POST",path:`${estimateBase(input,op)}/upload-url`,body:{file_name:requireResolved(input,"fileName"),file_size:Number(requireResolved(input,"fileSize"))}}}function prepareFile(input,op){estimateBase(input,op);const doc=localDocument(input,op);return Promise.resolve(withResolved(input,{file:doc.file,fileName:doc.name,fileSize:String(doc.size)}))}function estimateOf(input){return(input.flags.get(ESTIMATE_FLAG.name)??"").trim()}async function createDocument(input,ctx){const body=fieldBody(
16
+ input,FIELDS);return uploadStaged(input,ctx,{label:"\u6848\u4EF6\u66F8\u985E",issue:uploadUrlPlan(input,"create"),retry:`twp estimate case-document list --estimate ${estimateOf(input)}`,register:async uploadKey=>{const created=docOf(await ctx.send({method:"POST",path:estimateBase(input,"create"),body:{...body,upload_key:uploadKey,file_name:requireResolved(input,"fileName")}}),"\u6848\u4EF6\u66F8\u985E\u306E\u767B\u9332");return{result:true,case_document:created}}})}async function addVersion(input,ctx){
17
+ const target=docPath(input,"add-version");const before=docOf(await ctx.send({method:"GET",path:target}),"\u6848\u4EF6\u66F8\u985E");const previous=typeof before["current_version"]==="number"?before["current_version"]:0;return uploadStaged(input,ctx,{label:"\u6848\u4EF6\u66F8\u985E",issue:uploadUrlPlan(input,"add-version"),retry:`twp estimate case-document get ${docId(input,"add-version")} --estimate ${estimateOf(input)}`,register:async uploadKey=>{const after=docOf(await ctx.send({method:"POST",
18
+ path:`${target}/versions`,body:{upload_key:uploadKey,file_name:requireResolved(input,"fileName")}}),"\u7248\u306E\u5DEE\u66FF\u3048");const current=after["current_version"];if(typeof current!=="number"||current<=previous){throw new ApiResponseError(`\u7248\u306E\u5DEE\u66FF\u3048\u306E\u5FDC\u7B54\u3067\u73FE\u884C\u7248\u304C\u9032\u3093\u3067\u3044\u307E\u305B\u3093\uFF08\u5DEE\u66FF\u3048\u524D ${previous} \u2192 \u5FDC\u7B54 ${String(current)}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
19
+ return{result:true,case_document:after}}})}var estimateCaseDocumentResource={name:"case-document",summary:"\u898B\u7A4D\u306E\u6848\u4EF6\u66F8\u985E\uFF08\u6CE8\u6587\u66F8\u30FB\u500B\u5225\u5951\u7D04\u66F8\u306A\u3069\u3002\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u767B\u9332\u30FB\u7248\u306E\u5DEE\u66FF\u3048\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\uFF09",operations:[{name:"list",summary:"\u898B\u7A4D\u306E\u6848\u4EF6\u66F8\u985E\u3092\u4E00\u89A7\u3059\u308B",
20
+ usage:"twp estimate case-document list --estimate <\u898B\u7A4DID>",description:`\u898B\u7A4D\u306B\u767B\u9332\u3055\u308C\u305F\u6848\u4EF6\u66F8\u985E\uFF08\u524A\u9664\u3057\u305F\u3082\u306E\u3092\u9664\u304F\uFF09\u3092\u3059\u3079\u3066\u8FD4\u3057\u307E\u3059\uFF08\u3053\u306E API \u306F\u30DA\u30FC\u30B8\u30F3\u30B0\u3092\u6301\u3061\u307E\u305B\u3093\uFF09\u3002
21
+
22
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
23
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[ESTIMATE_FLAG],forbidden:VIEW_FORBIDDEN,plan(input){noArgs(input,"list");return{method:"GET",path:estimateBase(input,"list")}},summarize:body=>itemsOf(body).map(row=>pick(row,COLUMNS)),raw:itemsOf},{name:"get",summary:"\u6848\u4EF6\u66F8\u985E1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u73FE\u884C\u7248\u30FB\u904E\u53BB\u7248\u3092\u542B\u3080\uFF09",usage:"twp esti\
24
+ mate case-document get <\u66F8\u985EID> --estimate <\u898B\u7A4DID>",description:`${REF_HELP}
25
+
26
+ --output json \u306F\u73FE\u884C\u7248\u30FB\u904E\u53BB\u7248\uFF08versions\uFF09\u3092\u542B\u3080\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
27
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${COLUMNS.join(" / ")} / versions\uFF1D\u7248\u306E\u6570\uFF09\u3067\u3059\u3002
28
+ \u7248\u3054\u3068\u306E\u5217\u306F ${VERSION_COLUMNS.join(" / ")} \u3067\u3059\uFF08--output json\uFF09\u3002`,flags:[ESTIMATE_FLAG],forbidden:VIEW_FORBIDDEN,plan:input=>({method:"GET",path:docPath(input,"get")}),summarize:body=>summaryOf(body,"\u6848\u4EF6\u66F8\u985E"),raw:body=>docOf(body,"\u6848\u4EF6\u66F8\u985E")},{name:"create",summary:"\u30D5\u30A1\u30A4\u30EB\u3092\u898B\u7A4D\u306E\u6848\u4EF6\u66F8\u985E\u3068\u3057\u3066\u767B\u9332\u3059\u308B\uFF08\u5BB9\u91CF\u691C\u67FB\u30FB\u8EE2\u9001\u30FB\u767B\u9332\u30921\u30B3\u30DE\u30F3\u30C9\u3067\uFF09",
29
+ usage:"twp estimate case-document create --estimate <\u898B\u7A4DID> --file <\u30D1\u30B9> --type <\u7A2E\u5225> --name <\u66F8\u985E\u540D>",description:`--estimate\u30FB--file\u30FB--type\uFF08${DOCUMENT_TYPE_HELP}\uFF09\u30FB--name \u304C\u5FC5\u9808\u3067\u3059\u3002
30
+
31
+ \u6B21\u306E\u9806\u306B\u9001\u308A\u307E\u3059\u3002
32
+ 0. POST /api/v2/storage/check-upload\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u5BB9\u91CF\u691C\u67FB\u3002\u8D85\u904E\u306A\u3089\u4F55\u3082\u9001\u3089\u305A\u306B\u6B62\u307E\u308A\u307E\u3059\uFF09
33
+ 1. POST \u2026/case-documents/upload-url\uFF08\u7F72\u540DURL\u306E\u767A\u884C\uFF09
34
+ 2. \u7F72\u540DURL\u3078 PUT\uFF08\u30D5\u30A1\u30A4\u30EB\u672C\u4F53\u3002TWP \u306E\u8A8D\u8A3C\u60C5\u5831\u306F\u9001\u308A\u307E\u305B\u3093\uFF09
35
+ 3. POST \u2026/case-documents\uFF08\u66F8\u985E\u306E\u767B\u9332\u3002\u3053\u3053\u3067\u6848\u4EF6\u66F8\u985E\u304C\u6210\u7ACB\u3057\u307E\u3059\uFF09
36
+ \u5BFE\u5FDC\u5916\u306E\u5F62\u5F0F\uFF08\u62E1\u5F35\u5B50\u304C PDF\u30FBJPEG\u30FBPNG\u30FBWord\u30FBExcel \u3067\u306A\u3044\u30FB\u4E2D\u8EAB\u304C\u62E1\u5F35\u5B50\u3068\u5408\u308F\u306A\u3044\uFF09\u306F\u3001\u4F55\u3082\u9001\u3089\u305A\u306B\u6B62\u3081\u307E\u3059
37
+ \uFF08\u30B5\u30FC\u30D0\u3082\u540C\u3058\u6761\u4EF6\u3067\u65AD\u308A\u307E\u3059\uFF09\u3002--dry-run \u306F 1 \u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\u3002
38
+ \u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002`,flags:[ESTIMATE_FLAG,FILE_FLAG,...createFlags(FIELDS)],forbidden:EDIT_FORBIDDEN,prepare(input){noArgs(input,"create");fieldBody(input,FIELDS);for(const flag of["--type","--name"]){if(!input.flags.has(flag))throw new UsageError(`${flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,
39
+ usageOf("create"))}return prepareFile(input,"create")},plan:input=>uploadUrlPlan(input,"create"),plannedNotes:input=>[`\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u5BB9\u91CF\u691C\u67FB\uFF08POST /api/v2/storage/check-upload\uFF09\u3092\u9001\u308A\u3001\u3053\u306E\u3042\u3068\u7F72\u540DURL\u3078 ${requireResolved(input,"fileSize")} \u30D0\u30A4\u30C8\u3092 PUT \u3057\u3066\u304B\u3089\u3001POST ${estimateBase(input,"create")} \u3067\u6848\u4EF6\u66F8\u985E\u3092\u767B\u9332\u3057\u307E\u3059\u3002`],
40
+ execute:createDocument,summarize:body=>summaryOf(body,"\u6848\u4EF6\u66F8\u985E\u306E\u767B\u9332"),raw:body=>docOf(body,"\u6848\u4EF6\u66F8\u985E\u306E\u767B\u9332")},{name:"add-version",summary:"\u6848\u4EF6\u66F8\u985E\u306B\u65B0\u3057\u3044\u7248\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u767B\u9332\u3059\u308B\uFF08\u5DEE\u66FF\u3048\u3002\u904E\u53BB\u7248\u306F\u6B8B\u308A\u307E\u3059\uFF09",usage:"twp estimate case-document add-version <\u66F8\u985EID> --estimate <\u898B\u7A4DID> --file <\u30D1\u30B9>",
41
+ description:`${REF_HELP}
42
+
43
+ \u66F8\u985E\u304C\u3053\u306E\u898B\u7A4D\u306B\u3042\u308B\u3053\u3068\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\u3001\u5BB9\u91CF\u691C\u67FB \u2192 \u7F72\u540DURL\u306E\u767A\u884C \u2192 PUT \u2192 POST \u2026/{\u66F8\u985EID}/versions \u306E\u9806\u306B\u9001\u308A\u307E\u3059\u3002
44
+ \u767B\u9332\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u304C\u73FE\u884C\u7248\u306B\u306A\u308A\u3001\u305D\u308C\u307E\u3067\u306E\u7248\u306F\u904E\u53BB\u7248\u3068\u3057\u3066\u6B8B\u308A\u307E\u3059\uFF08get \u306E versions\uFF09\u3002
45
+ \u5FDC\u7B54\u3067\u73FE\u884C\u7248\u306E\u756A\u53F7\u304C\u9032\u3093\u3060\u3053\u3068\u3092\u78BA\u304B\u3081\u3066\u304B\u3089\u6210\u529F\u3092\u540D\u4E57\u308A\u307E\u3059\u3002--dry-run \u306F\u7F72\u540DURL\u306E\u767A\u884C\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\u3002
46
+ \u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\u3002`,flags:[ESTIMATE_FLAG,FILE_FLAG],forbidden:EDIT_FORBIDDEN,prepare(input){docId(input,"add-version");return prepareFile(input,"add-version")},plan:input=>uploadUrlPlan(input,"add-version"),plannedNotes:input=>[`\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B GET ${docPath(input,"add-version")}\uFF08\u66F8\u985E\u306E\u78BA\u8A8D\uFF09\u3068\u5BB9\u91CF\u691C\u67FB\u3092\u9001\u308A\u3001\u3053\u306E\u3042\u3068\u7F72\u540DURL\u3078 ${requireResolved(
47
+ input,"fileSize")} \u30D0\u30A4\u30C8\u3092 PUT \u3057\u3066\u304B\u3089\u3001POST ${docPath(input,"add-version")}/versions \u3067\u7248\u3092\u767B\u9332\u3057\u307E\u3059\u3002`],execute:addVersion,summarize:body=>summaryOf(body,"\u7248\u306E\u5DEE\u66FF\u3048"),raw:body=>docOf(body,"\u7248\u306E\u5DEE\u66FF\u3048")},{name:"update",summary:"\u6848\u4EF6\u66F8\u985E\u306E\u66F8\u985E\u540D\u30FB\u7A2E\u5225\u3092\u5909\u66F4\u3059\u308B\uFF08\u30D5\u30A1\u30A4\u30EB\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09",
48
+ usage:"twp estimate case-document update <\u66F8\u985EID> --estimate <\u898B\u7A4DID> [--name <\u66F8\u985E\u540D>] [--type <\u7A2E\u5225>]",description:`${REF_HELP}
49
+
50
+ \u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u66F4\u3057\u307E\u3059\u3002\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u3082\u6307\u5B9A\u3057\u306A\u3044\u3068\u30A8\u30E9\u30FC\u306B\u306A\u308A\u307E\u3059\u3002
51
+ \u30D5\u30A1\u30A4\u30EB\u3092\u5DEE\u3057\u66FF\u3048\u308B\u306A\u3089 twp estimate case-document add-version \u3092\u4F7F\u3044\u307E\u3059\u3002`,flags:[ESTIMATE_FLAG,...updateFlags(FIELDS)],forbidden:EDIT_FORBIDDEN,plan(input){if(!hasAnyField(input,FIELDS))throw new UsageError("\u5909\u66F4\u3059\u308B\u9805\u76EE\u30921\u3064\u4EE5\u4E0A\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usageOf("update"));return{method:"PATCH",path:docPath(input,"update"),body:fieldBody(input,FIELDS)}},summarize:body=>summaryOf(
52
+ body,"\u6848\u4EF6\u66F8\u985E\u306E\u66F4\u65B0"),raw:body=>docOf(body,"\u6848\u4EF6\u66F8\u985E\u306E\u66F4\u65B0")},{name:"delete",summary:"\u6848\u4EF6\u66F8\u985E\u3092\u524A\u9664\u3059\u308B\uFF08\u5168\u7248\u3002\u9867\u5BA2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306E\u307F\u30FB--yes \u304C\u8981\u308B\uFF09",usage:"twp estimate case-document delete <\u66F8\u985EID> --estimate <\u898B\u7A4DID> --yes",description:`${REF_HELP}
53
+
54
+ \u66F8\u985E\u3092\u904E\u53BB\u7248\u3054\u3068\u524A\u9664\u3057\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u306F\u8AD6\u7406\u524A\u9664\u3067\u3001\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304B\u3089\u6D88\u3048\u307E\u3059\uFF09\u3002`,destructive:true,flags:[ESTIMATE_FLAG],forbidden:childForbidden("\u6848\u4EF6\u66F8\u985E","delete"),plan:input=>({method:"DELETE",path:docPath(input,"delete")}),summarize:body=>acknowledgement(body,"\u6848\u4EF6\u66F8\u985E\u524A\u9664"),
55
+ raw:body=>acknowledgement(body,"\u6848\u4EF6\u66F8\u985E\u524A\u9664")},{name:"download",summary:"\u6848\u4EF6\u66F8\u985E\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u3078\u66F8\u304D\u51FA\u3059\uFF08\u65E2\u5B9A\u306F\u73FE\u884C\u7248\uFF09",usage:"twp estimate case-document download <\u66F8\u985EID> --estimate <\u898B\u7A4DID> --out <\u30D1\u30B9> [--rev <\u7248\u756A\u53F7>] [--force]",description:`${REF_HELP}
56
+
57
+ \u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002
58
+ \u904E\u53BB\u7248\u306F --rev \u3067\u7248\u756A\u53F7\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08get \u306E versions \u306E version_number\uFF09\u3002`,flags:[ESTIMATE_FLAG,OUT_FLAG,REV_FLAG,FORCE_FLAG],forbidden:VIEW_FORBIDDEN,download:{outFlag:OUT_FLAG.name,forceFlag:FORCE_FLAG.name},plan:input=>({method:"GET",path:`${docPath(input,"download")}/download`,query:{version:revOf(input,usageOf("download"))}}),summarize:body=>body,raw:body=>body}]};export{inspectCaseDocumentFile,estimateCaseDocumentResource};
@@ -54,4 +54,4 @@ execute:list,summarize:body=>attachmentRows(body).map(row=>pick(row,LIST_COLUMNS
54
54
  --dry-run \u306F 1 \u306E\u30EA\u30AF\u30A8\u30B9\u30C8\u3060\u3051\u3092\u8868\u793A\u3057\u307E\u3059\uFF082 \u4EE5\u964D\u306F 1 \u306E\u5FDC\u7B54\u306B\u4F9D\u5B58\u3059\u308B\u305F\u3081\uFF09\u3002`,flags:[FILE_FLAG,NAME_FLAG,CONTENT_TYPE_FLAG,TASK_REF_FLAG,PROJECT_FLAG],async prepare(input,ctx){const local=localFile(input);const resolved=await resolveTask(input,ctx,"twp task attachment upload help");return withResolved(resolved,{file:local.file,fileName:local.name,fileSize:String(local.size),
55
55
  contentType:local.contentType})},plan:uploadUrlPlan,plannedNotes:input=>[`\u5B9F\u884C\u6642\u306F\u3001\u3053\u306E\u524D\u306B\u5BB9\u91CF\u691C\u67FB\uFF08POST /api/v2/storage/check-upload\uFF09\u3092\u9001\u308A\u3001\u3053\u306E\u3042\u3068\u7F72\u540DURL\u3078 ${requireResolved(input,"fileSize")} \u30D0\u30A4\u30C8\u3092 PUT \u3057\u3001\u30BF\u30B9\u30AF\u306E attachment_ids \u306B\u8FFD\u52A0\u3057\u3066 PUT \u3057\u307E\u3059\u3002`],execute:upload,summarize:body=>pick(body,UPLOAD_COLUMNS),
56
56
  raw:body=>body},{name:"download",summary:"\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3057\u3066\u30D5\u30A1\u30A4\u30EB\u3078\u66F8\u304D\u51FA\u3059",usage:"twp task attachment download <\u6DFB\u4ED8ID> --out <\u30D1\u30B9> [--force]",description:"\u6DFB\u4ED8 ID \u306F twp task attachment list \u306E id \u3067\u3059\u3002\n\u66F8\u304D\u51FA\u3057\u5148\u306F --out \u3067\u5FC5\u305A\u6307\u5B9A\u3057\u307E\u3059\uFF08\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\uFF09\u3002\u65E2\u5B58\u30D5\u30A1\u30A4\u30EB\u306F --force \u304C\u7121\u3051\u308C\u3070\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\u3002",
57
- flags:[ATTACHMENT_REF_FLAG,OUT_FLAG,FORCE_FLAG],download:{outFlag:"--out",forceFlag:"--force"},plan(input){const id=singleRef(input,{flag:"--attachment",label:"\u6DFB\u4ED8ID",usage:"twp task attachment download help"});if(!isSafePathSegment(id))throw new UsageError(`\u6DFB\u4ED8ID \u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${id}`);return{method:"GET",path:`/api/v2/attachments/${encodeURIComponent(id)}/download`}},summarize:body=>body,raw:body=>body}]};export{classifyTaskRef,wantsPrivateSurface,taskSurface,rejectPrivateSurface,resolveTaskLocation,rejectRedundantProject,TASK_REF_FLAG,PROJECT_FLAG,TASK_REF_HELP,contentTypeFor,inspectLocalFile,issued,taskAttachmentResource};
57
+ flags:[ATTACHMENT_REF_FLAG,OUT_FLAG,FORCE_FLAG],download:{outFlag:"--out",forceFlag:"--force"},plan(input){const id=singleRef(input,{flag:"--attachment",label:"\u6DFB\u4ED8ID",usage:"twp task attachment download help"});if(!isSafePathSegment(id))throw new UsageError(`\u6DFB\u4ED8ID \u306E\u5F62\u5F0F\u304C\u9055\u3044\u307E\u3059: ${id}`);return{method:"GET",path:`/api/v2/attachments/${encodeURIComponent(id)}/download`}},summarize:body=>body,raw:body=>body}]};export{classifyTaskRef,wantsPrivateSurface,taskSurface,rejectPrivateSurface,resolveTaskLocation,rejectRedundantProject,TASK_REF_FLAG,PROJECT_FLAG,TASK_REF_HELP,contentTypeFor,attachmentRows,inspectLocalFile,issued,taskAttachmentResource};
@@ -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-QWSXHHFT.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{CHAIN_KEYS,reloadAiConfig}from"./chunk-AEJHDFXB.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.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{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;
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===
@@ -5,8 +5,10 @@ import{stripTerminalControls}from"./chunk-NHYMHCAT.js";var SENSITIVE_HEADERS=new
5
5
  item=>redactSecretValues(item));if(value!==null&&typeof value==="object"){const out={};for(const[key,item]of Object.entries(value)){out[key]=SECRET_KEY_NAME.test(key)?REDACTED:redactSecretValues(item)}return out}return value}function formatHeaders(headers){if(!headers)return[];const entries=headers instanceof Headers?[...headers.entries()]:Array.isArray(headers)?headers:Object.entries(headers);return entries.map(([name,value])=>{const shown=SENSITIVE_HEADERS.has(name.toLowerCase())?REDACTED:redactSecrets(
6
6
  String(value));return` ${name.toLowerCase()}: ${shown}`})}var BODY_LIMIT=4e3;function formatBody(raw){const safe=redactSecrets(stripTerminalControls(raw));return safe.length>BODY_LIMIT?`${safe.slice(0,BODY_LIMIT)}
7
7
  \u2026\uFF08\u4EE5\u964D ${safe.length-BODY_LIMIT} \u6587\u5B57\u3092\u7701\u7565\uFF09`:safe}function isTextualContentType(contentType){if(contentType===null)return false;return/^\s*(text\/|application\/(json|xml|javascript|x-www-form-urlencoded)|application\/[\w.+-]*\+(json|xml))/i.test(contentType)}function withDebug(inner,options={}){const write=options.write??(text=>void process.stderr.write(text));const now=options.now??(()=>Date.now());return async(input,init)=>{const method=init?.method??
8
- "GET";const lines=[`[debug] \u2192 ${method} ${redactSecrets(input)}`,...formatHeaders(init?.headers)];if(typeof init?.body==="string")lines.push(` ${formatBody(init.body)}`);else if(init?.body instanceof Uint8Array)lines.push(` \uFF08\u672C\u6587\u306F ${init.body.byteLength} \u30D0\u30A4\u30C8\u306E\u30D0\u30A4\u30C8\u5217\u3002\u51FA\u529B\u3057\u306A\u3044\uFF09`);write(`${lines.join("\n")}
8
+ "GET";const lines=[`[debug] \u2192 ${method} ${redactSecrets(input)}`,...formatHeaders(init?.headers)];if(options.omitBodies!==void 0&&init?.body!==void 0&&init.body!==null)lines.push(` \uFF08\u672C\u6587\u306F${options.omitBodies}\u305F\u3081\u51FA\u529B\u3057\u306A\u3044\uFF09`);else if(typeof init?.body==="string")lines.push(` ${formatBody(init.body)}`);else if(init?.body instanceof Uint8Array)lines.push(` \uFF08\u672C\u6587\u306F ${init.body.byteLength} \u30D0\u30A4\u30C8\u306E\u30D0\u30A4\u30C8\u5217\u3002\u51FA\u529B\u3057\u306A\u3044\uFF09`);
9
+ write(`${lines.join("\n")}
9
10
  `);const started=now();let res;try{res=await inner(input,init)}catch(err){write(`[debug] \u2717 \u901A\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F (${now()-started}ms): ${redactSecrets(err.message)}
10
- `);throw err}const out=[`[debug] \u2190 ${res.status} ${res.statusText} (${now()-started}ms)`,...formatHeaders(res.headers)];const contentType=res.headers.get("content-type");const attachment=/^\s*attachment\b/i.test(res.headers.get("content-disposition")??"");if(isTextualContentType(contentType)&&!attachment){const raw=await res.clone().text().catch(()=>"\uFF08\u672C\u6587\u3092\u8AAD\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF09");if(raw!=="")out.push(` ${formatBody(raw)}`)}else{const length=res.
11
- headers.get("content-length");out.push(` \uFF08\u672C\u6587\u306F ${contentType??"content-type \u4E0D\u660E"}\u30FB${length===null?"\u30B5\u30A4\u30BA\u4E0D\u660E":`${length} \u30D0\u30A4\u30C8`}\u3002${attachment?"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306E\u672C\u4F53\u306E\u305F\u3081":"\u30C6\u30AD\u30B9\u30C8\u3067\u306A\u3044\u305F\u3081"}\u51FA\u529B\u3057\u306A\u3044\uFF09`)}write(`${out.join("\n")}
11
+ `);throw err}const out=[`[debug] \u2190 ${res.status} ${res.statusText} (${now()-started}ms)`,...formatHeaders(res.headers)];const contentType=res.headers.get("content-type");const attachment=/^\s*attachment\b/i.test(res.headers.get("content-disposition")??"");if(options.omitBodies!==void 0){out.push(` \uFF08\u672C\u6587\u306F${options.omitBodies}\u305F\u3081\u51FA\u529B\u3057\u306A\u3044\uFF09`)}else if(isTextualContentType(contentType)&&!attachment){const raw=await res.clone().text().catch(()=>"\
12
+ \uFF08\u672C\u6587\u3092\u8AAD\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF09");if(raw!=="")out.push(` ${formatBody(raw)}`)}else{const length=res.headers.get("content-length");out.push(` \uFF08\u672C\u6587\u306F ${contentType??"content-type \u4E0D\u660E"}\u30FB${length===null?"\u30B5\u30A4\u30BA\u4E0D\u660E":`${length} \u30D0\u30A4\u30C8`}\u3002${attachment?"\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306E\u672C\u4F53\u306E\u305F\u3081":"\u30C6\u30AD\u30B9\u30C8\u3067\u306A\u3044\u305F\u3081"}\u51FA\u529B\u3057\u306A\u3044\
13
+ \uFF09`)}write(`${out.join("\n")}
12
14
  `);return res}}export{redactSecrets,redactSecretValues,withDebug};
@@ -0,0 +1,16 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{featureLicenseGuidance}from"./chunk-BZ7ULFR3.js";import{isExactNumericId}from"./chunk-BZAXQOLB.js";import{nonEmpty}from"./chunk-5R4SEO3I.js";import{UsageError}from"./chunk-7WSNIXTQ.js";var PDF_PATH="/api/v2/sales/pdf";var FEATURE_DENIED="\u3053\u306E\u6A5F\u80FD\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002";function pdfForbidden(body){if(body?.error==="permission_denied"||body?.error==="forbidden"&&body.error_description===FEATURE_DENIED){return featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406")}const reason=body?.error;if(typeof reason==="string"&&reason.endsWith("\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093")){return`${reason}\
4
+ \uFF08\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7D10\u3065\u304F\u66F8\u985E\u306F\u305D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30E1\u30F3\u30D0\u30FC\u3001\u7D10\u3065\u304B\u306A\u3044\u66F8\u985E\u306F\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u3068\u7BA1\u7406\u8005\u3060\u3051\u304C\u51FA\u529B\u3067\u304D\u307E\u3059\uFF09`}return void 0}var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",noExample:"EST0000063",defaultKind:"estimate",kinds:{estimate:{segment:"estimate",label:"\u898B\u7A4D\
5
+ \u66F8"},order:{segment:"order",label:"\u6CE8\u6587\u66F8"},"order-acceptance":{segment:"order-acceptance",label:"\u6CE8\u6587\u8ACB\u66F8"}}};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",noExample:"INV0000170",defaultKind:"invoice",kinds:{invoice:{segment:"invoice",label:"\u8ACB\u6C42\u66F8"},delivery:{segment:"delivery",label:"\u7D0D\u54C1\u66F8"},inspection:{segment:"inspection",label:"\u691C\u53CE\u66F8"}}};var PURCHASE={name:"purchase",label:"\u4ED5\u5165",defaultKind:"order",kinds:{order:{
6
+ segment:"purchase-order",label:"\u6CE8\u6587\u66F8"},"order-acceptance":{segment:"purchase-order-acceptance",label:"\u6CE8\u6587\u8ACB\u66F8"}}};var OUT_FLAG={name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30D1\u30B9.pdf>"};var FORCE_FLAG={name:"--force",summary:"\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",takesValue:false};function usageOf(resource){return`\
7
+ twp ${resource.name} download help`}function kindList(resource){return Object.entries(resource.kinds).map(([key,kind])=>`${key}\uFF08${kind.label}\uFF09`).join(" / ")}function kindOf(input,resource){const raw=nonEmpty(input.flags,"--kind")?.trim()??resource.defaultKind;if(!Object.hasOwn(resource.kinds,raw)){throw new UsageError(`--kind \u306F ${kindList(resource)} \u306E\u3069\u308C\u304B\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,usageOf(resource))}return resource.kinds[raw]}
8
+ function recordId(input,resource){const[raw,...rest]=input.args;const id=raw?.trim()??"";if(id==="")throw new UsageError(`${resource.label}\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usageOf(resource));if(rest.length>0)throw new UsageError(`\u53D7\u3051\u53D6\u308C\u308B${resource.label}\u306E ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,usageOf(resource));if(!isExactNumericId(id)){throw new UsageError(`${resource.label}\u306E ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,
9
+ `${resource.label}\u756A\u53F7${resource.noExample===void 0?"":`\uFF08${resource.noExample} \u306E\u3088\u3046\u306A\u5024\uFF09`}\u3067\u63A2\u3059\u306A\u3089 twp ${resource.name} list --keyword <\u756A\u53F7> \u306E id \u5217\u3092\u4F7F\u3063\u3066\u304F\u3060\u3055\u3044\u3002`)}return id}function pdfOperation(resource){const labels=Object.values(resource.kinds).map(kind=>kind.label);const defaultLabel=resource.kinds[resource.defaultKind]?.label??resource.defaultKind;return{name:"download",
10
+ summary:`${resource.label}\u306E\u5E33\u7968 PDF\uFF08${labels.join("\u30FB")}\uFF09\u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--kind\uFF09`,usage:`twp ${resource.name} download <${resource.label}ID> --out <\u30D1\u30B9.pdf> [--kind ${Object.keys(resource.kinds).join("|")}] [--force]`,description:`\u753B\u9762\u306E\u300CPDF\u51FA\u529B\u300D\u3068\u540C\u3058\u5E33\u7968\u3092\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002--kind \u3092\u7701\u304F\u3068${defaultLabel}\
11
+ \u3067\u3059\u3002
12
+ --kind: ${kindList(resource)}
13
+ ID \u306F twp ${resource.name} list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\uFF08${resource.label}\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
14
+ \u5370\u5F71\u30FB\u62BC\u5370\u306E\u6709\u7121\u306F\u30B5\u30FC\u30D0\u304C\u66F8\u985E\u3054\u3068\u306B\u6C7A\u3081\u307E\u3059\uFF08\u753B\u9762\u3067\u51FA\u529B\u3057\u305F\u3082\u306E\u3068\u540C\u3058\u306B\u306A\u308A\u307E\u3059\uFF09\u3002
15
+ \u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4E0A\u66F8\u304D\u3057\u307E\u305B\u3093\uFF08\u4E0A\u66F8\u304D\u3059\u308B\u306A\u3089 --force\uFF09\u3002\u6A19\u6E96\u51FA\u529B\u3078\u306F\u51FA\u3057\u307E\u305B\u3093\u3002`,flags:[OUT_FLAG,FORCE_FLAG,{name:"--kind",summary:`\u5E33\u7968\u306E\u7A2E\u5225\uFF08${kindList(resource)}\u3002\u65E2\u5B9A ${resource.defaultKind}\uFF09`,takesValue:true,placeholder:"<\u7A2E\u5225>"}],download:{outFlag:OUT_FLAG.name,forceFlag:FORCE_FLAG.name},forbidden:pdfForbidden,
16
+ plan:input=>({method:"GET",path:`${PDF_PATH}/${kindOf(input,resource).segment}/${encodeURIComponent(recordId(input,resource))}`}),summarize:body=>body,raw:body=>body}}var estimatePdfOperation=pdfOperation(ESTIMATE);var invoicePdfOperation=pdfOperation(INVOICE);var purchasePdfOperation=pdfOperation(PURCHASE);export{estimatePdfOperation,invoicePdfOperation,purchasePdfOperation};
@@ -1,3 +1,3 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{redactSecretValues,redactSecrets}from"./chunk-BUZKNZ45.js";import{formatOutput}from"./chunk-K2ONOH3L.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";function renderOutput(value,format,noRedact=false){if(noRedact)return formatOutput(value,format);return redactSecrets(formatOutput(redactSecretValues(value),format))}function renderDocument(text,noRedact=false){const visible=stripTerminalControls(text);return noRedact?visible:redactSecrets(visible)}export{renderOutput,renderDocument};
3
+ import{redactSecretValues,redactSecrets}from"./chunk-UT4FACHN.js";import{formatOutput}from"./chunk-K2ONOH3L.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";function renderOutput(value,format,noRedact=false){if(noRedact)return formatOutput(value,format);return redactSecrets(formatOutput(redactSecretValues(value),format))}function renderDocument(text,noRedact=false){const visible=stripTerminalControls(text);return noRedact?visible:redactSecrets(visible)}export{renderOutput,renderDocument};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{apiExit,currentRevisionOf,errorDetail,pickNumber,printDiff,readUtf8Strict,shellQuote,str,warnHiddenChars}from"./chunk-P4AEFKLM.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_FAILURE,EXIT_OK,EXIT_USAGE}from"./chunk-7WSNIXTQ.js";import{createHash}from"crypto";import*as fs from"fs";import*as path from"path";var DEFAULT_SKILL_DIR=".claude/commands";var NAME_PATTERN=/^[a-z][a-z0-9-]*$/;var NAME_MAX_LENGTH=64;var MAX_BODY_BYTES=35e4;var MAX_SKILLS_PER_PROJECT=200;function isValidSkillName(name){return name.length<=NAME_MAX_LENGTH&&NAME_PATTERN.test(name)}function skillDigest(body){return"sha256:"+createHash("sha256").update(Buffer.from(body,"utf8")).digest("hex")}function defaultFileKind(p){try{return fs.lstatSync(p).isFile()?"file":"other"}catch(e){return e.code==="ENOENT"?"missing":"other"}}function defaultWriteFile(p,c){
3
+ import{apiExit,currentRevisionOf,errorDetail,pickNumber,printDiff,readUtf8Strict,shellQuote,str,warnHiddenChars}from"./chunk-P4AEFKLM.js";import{EXIT_API_CLIENT,EXIT_API_SERVER,EXIT_FAILURE,EXIT_OK,EXIT_USAGE}from"./chunk-7WSNIXTQ.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{createHash}from"crypto";import*as fs from"fs";import*as path from"path";var DEFAULT_SKILL_DIR=".claude/commands";var NAME_PATTERN=/^[a-z][a-z0-9-]*$/;var NAME_MAX_LENGTH=64;var MAX_BODY_BYTES=35e4;var MAX_SKILLS_PER_PROJECT=200;function isValidSkillName(name){return name.length<=NAME_MAX_LENGTH&&NAME_PATTERN.test(name)}function skillDigest(body){return"sha256:"+createHash("sha256").update(Buffer.from(body,"utf8")).digest("hex")}function defaultFileKind(p){try{return fs.lstatSync(p).isFile()?"file":"other"}catch(e){return e.code==="ENOENT"?"missing":"other"}}function defaultWriteFile(p,c){
4
4
  const tmp=path.join(path.dirname(p),`.${path.basename(p)}.tmp-${process.pid}`);try{fs.writeFileSync(tmp,c,{encoding:"utf8",flag:"wx"});fs.renameSync(tmp,p)}catch(e){fs.rmSync(tmp,{force:true});throw e}}async function runSkillCommand(deps,opts){const io={out:deps.out??(t=>void process.stdout.write(stripTerminalControls(t))),err:deps.err??(t=>void process.stderr.write(stripTerminalControls(t))),readFile:deps.readFile??readUtf8Strict,writeFile:deps.writeFile??defaultWriteFile,fileKind:deps.fileKind??
5
5
  defaultFileKind,listDir:deps.listDir??(d=>{try{return fs.readdirSync(d)}catch{return null}}),mkdir:deps.mkdir??(d=>void fs.mkdirSync(d,{recursive:true}))};if(opts.name===void 0===!opts.all){io.err("\u30B9\u30AD\u30EB\u540D\u304B --all \u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\n");return EXIT_USAGE}if(opts.name!==void 0&&!isValidSkillName(opts.name)){io.err(`\u30B9\u30AD\u30EB\u540D\u304C\u4E0D\u6B63\u3067\u3059: ${opts.name}\uFF08\u82F1\u5C0F\u6587\u5B57\u3067\u59CB\u307E\u308A\u3001\u82F1\u5C0F\u6587\u5B57\u30FB\u6570\u5B57\
6
6
  \u30FB\u30CF\u30A4\u30D5\u30F3\u3060\u3051\u306E${NAME_MAX_LENGTH}\u6587\u5B57\u4EE5\u5185\uFF09
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{readBody}from"./chunk-HGTG5XQ7.js";import{WORKFLOWS_PATH}from"./chunk-ELXDRPDV.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-5R4SEO3I.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var WORKFLOW_FLAG={name:"--workflow",summary:"\u7533\u8ACB\u66F8\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF09\u306E\u540D\u524D\u304B ID \u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>"};var CATEGORIES={undefined:"\u6C4E\u7528",paid_holiday:"\u6709\u7D66\u4F11\u6687",substitute_holiday:"\u632F\u66FF\u4F11\u6687",comp_holiday:"\u4EE3\u4F11",absence:"\u6B20\u52E4",special_holiday:"\u7279\u5225\u4F11\u6687",other_leave:"\u305D\u306E\u4ED6\u4F11\u6687\u30FB\u6B20\u52E4",
3
+ import{readBody}from"./chunk-HGTG5XQ7.js";import{WORKFLOWS_PATH}from"./chunk-BZAXQOLB.js";import{UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{LIST_FLAGS,LIST_PAGING_HELP,envelopePaging,nonEmpty,positiveInteger}from"./chunk-5R4SEO3I.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var WORKFLOW_FLAG={name:"--workflow",summary:"\u7533\u8ACB\u66F8\uFF08\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\uFF09\u306E\u540D\u524D\u304B ID \u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC>"};var CATEGORIES={undefined:"\u6C4E\u7528",paid_holiday:"\u6709\u7D66\u4F11\u6687",substitute_holiday:"\u632F\u66FF\u4F11\u6687",comp_holiday:"\u4EE3\u4F11",absence:"\u6B20\u52E4",special_holiday:"\u7279\u5225\u4F11\u6687",other_leave:"\u305D\u306E\u4ED6\u4F11\u6687\u30FB\u6B20\u52E4",
4
4
  sales:"\u53D6\u5F15",commuting_expenses:"\u901A\u52E4\u4EA4\u901A\u8CBB",cms_publish:"\u30B3\u30F3\u30C6\u30F3\u30C4\u516C\u958B",equipment_lending:"\u5099\u54C1\u8CB8\u51FA",ai_tool_license:"AI\u30C4\u30FC\u30EB\u30E9\u30A4\u30BB\u30F3\u30B9",qualification_bonus:"\u5408\u683C\u304A\u795D\u3044\u91D1"};var CATEGORY_HELP=`\u30AB\u30C6\u30B4\u30EA: ${Object.entries(CATEGORIES).map(([key,label])=>`${key}\uFF08${label}\uFF09`).join(" / ")}`;var WORKFLOW_STATUSES=["active","inactive","draft"];var INSTANCE_STATUSES=[
5
5
  "new","in_progress","approved","rejected","canceled","sent_back"];var INSTANCE_STATUS_HELP="\u72B6\u614B: new\uFF08\u4E0B\u66F8\u304D\uFF09/ in_progress\uFF08\u627F\u8A8D\u5F85\u3061\uFF09/ approved\uFF08\u627F\u8A8D\u6E08\u307F\uFF09/ rejected\uFF08\u5374\u4E0B\uFF09/ canceled\uFF08\u53D6\u6D88\uFF09/ sent_back\uFF08\u5DEE\u3057\u623B\u3057\uFF09";var WORKFLOW_COLUMNS=["id","name","defined_category","status","is_hidden","valid_from","valid_to"];var WORKFLOW_ADMIN_COLUMNS=[...WORKFLOW_COLUMNS,"s\
6
6
  tep_count"];var WORKFLOW_GET_COLUMNS=["id","name","defined_category","status","is_hidden","valid_from","valid_to","description"];var INSTANCE_COLUMNS=["id","title","workflow_name","status","current_step_no","applicant_name","applied_at","completed_at"];var INSTANCE_GET_COLUMNS=["id","title","workflow_id","workflow_name","status","current_step_no","applicant_name","applied_at","completed_at","can_approve","is_editable","is_cancelable"];var PENDING_COLUMNS=["id","title","workflow_name","applicant_\
@@ -1,7 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{salesAdminForbidden}from"./chunk-QDTYD5PY.js";import"./chunk-I6DWJXPC.js";import"./chunk-HGTG5XQ7.js";import"./chunk-RZ54TCQU.js";import"./chunk-IOGVQVGD.js";import"./chunk-UDPJ2IGK.js";import"./chunk-ELXDRPDV.js";import"./chunk-IF2K4PM5.js";import"./chunk-GMBJTG6A.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.js";import{nonEmpty,positiveInteger}from"./chunk-5R4SEO3I.js";
4
- import"./chunk-II5RVJQN.js";import{withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.js";import"./chunk-VSJBJXZO.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-7ACENLLZ.js";import{nonEmpty,positiveInteger}from"./chunk-5R4SEO3I.js";import{withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.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"],
5
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\
6
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}`,
7
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.
@@ -46,4 +45,4 @@ en",summary:"\u6708\u306E\u7DE0\u3081\u3092\u89E3\u9664\u3059\u308B\uFF08\u78BA\
46
45
  \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002",destructive:true,flags:[],forbidden:FORBIDDEN,prepare:prepareReopen,plan:input=>({method:"DELETE",path:`${PATH}/closings/${yearMonthArg(input,"reopen")}`}),plannedNotes(input){const yearMonth=yearMonthArg(input,"reopen");const target=resolvedJson(input,"target");if(target["is_closed"]!==true)return[`${yearMonth} \u306F\u7DE0\u3081\u3066\u3044\u307E\u305B\u3093\uFF08\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF09`];
47
46
  const closing=isRecord(target["closing"])?target["closing"]:{};return[`${yearMonth} \u306E\u7DE0\u3081\uFF08${text(closing["closed_at"])}${text(closing["closed_by_name"])===""?"":` / ${text(closing["closed_by_name"])}`}\uFF09\u3092\u89E3\u9664\u3057\u307E\u3059\u3002\u6D88\u3048\u308B\u78BA\u5B9A\u5024:`,...summaryLines(closing["snapshot_summary"]),...hasVariance(target["variance"])?["\u7DE0\u3081\u305F\u5F8C\u306B\u5024\u304C\u52D5\u3044\u3066\u3044\u307E\u3059\uFF08\u78BA\u5B9A\u5024 \u2192 \u73FE\u5728\u5024\uFF09:",
48
47
  ...varianceLines(target["variance"])]:[]]},summarize:body=>({result:envelope(body,"\u7DE0\u3081\u306E\u89E3\u9664")["result"],message:body["message"]??null}),raw:body=>({result:envelope(body,"\u7DE0\u3081\u306E\u89E3\u9664")["result"],message:body["message"]??null})};var closingResource={name:"closing",summary:"\u58F2\u639B\u91D1\u306E\u6708\u6B21\u7DE0\u3081\uFF08\u4E00\u89A7\u30FB\u72B6\u614B\u30FB\u7DE0\u3081\u30FB\u7DE0\u3081\u306E\u89E3\u9664\uFF09",operations:[closingListOperation,closingGetOperation,
49
- closingCloseOperation,closingReopenOperation]};var receivableDomain={name:"receivable",summary:"\u8CA9\u58F2\u7BA1\u7406\u306E\u58F2\u639B\u91D1\u6B8B\u9AD8\uFF08\u57FA\u6E96\u5E74\u6708\u306E\u30B5\u30DE\u30EA\u30FC\u3068\u660E\u7D30\u30FBCSV\uFF09\u3068\u6708\u6B21\u7DE0\u3081\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09",operations:[listOperation,exportOperation],subresources:[closingResource]};export{balanceRows,previousYearMonth,receivableDomain,yearMonthValue};
48
+ closingCloseOperation,closingReopenOperation]};var receivableDomain={name:"receivable",summary:"\u8CA9\u58F2\u7BA1\u7406\u306E\u58F2\u639B\u91D1\u6B8B\u9AD8\uFF08\u57FA\u6E96\u5E74\u6708\u306E\u30B5\u30DE\u30EA\u30FC\u3068\u660E\u7D30\u30FBCSV\uFF09\u3068\u6708\u6B21\u7DE0\u3081\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09",operations:[listOperation,exportOperation],subresources:[closingResource]};export{yearMonthValue,previousYearMonth,balanceRows,receivableDomain};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{PACKAGE_NAME,UPDATE_COMMAND,compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import{loadUserConfig}from"./chunk-4VZKNEVN.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{isBoolishTrue}from"./chunk-5WGOHFAS.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";import{spawn}from"child_process";import fs from"fs";import path from"path";var CHECK_INTERVAL_MS=24*60*60*1e3;var DISABLE_ENV="TWP_NO_AUTO_UPDATE";var WORKER_ENV="TWP_AUTO_UPDATE_WORKER";var PARENT_PID_ENV="TWP_AUTO_UPDATE_PARENT_PID";function stateFilePath(env=process.env){return path.join(twpHomeDir(env),"update-state.json")}function lockFilePath(env=process.env){return path.join(twpHomeDir(env),"update.lock")}function runDirPath(env=process.env){return path.join(twpHomeDir(env),"run")}function registerRunning(env=process.env){try{const dir=runDirPath(env);fs.mkdirSync(
3
+ import{PACKAGE_NAME,UPDATE_COMMAND,compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import{loadUserConfig}from"./chunk-4VZKNEVN.js";import{isBoolishTrue}from"./chunk-5WGOHFAS.js";import{twpHomeDir}from"./chunk-RZVI6PMW.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{spawn}from"child_process";import fs from"fs";import path from"path";var CHECK_INTERVAL_MS=24*60*60*1e3;var DISABLE_ENV="TWP_NO_AUTO_UPDATE";var WORKER_ENV="TWP_AUTO_UPDATE_WORKER";var PARENT_PID_ENV="TWP_AUTO_UPDATE_PARENT_PID";function stateFilePath(env=process.env){return path.join(twpHomeDir(env),"update-state.json")}function lockFilePath(env=process.env){return path.join(twpHomeDir(env),"update.lock")}function runDirPath(env=process.env){return path.join(twpHomeDir(env),"run")}function registerRunning(env=process.env){try{const dir=runDirPath(env);fs.mkdirSync(
4
4
  dir,{recursive:true,mode:448});const file=path.join(dir,String(process.pid));fs.writeFileSync(file,"",{mode:384});process.once("exit",()=>{try{fs.rmSync(file,{force:true})}catch{}})}catch{}}function listRegisteredPids(env=process.env){try{return fs.readdirSync(runDirPath(env)).filter(name=>/^\d+$/.test(name)).map(Number)}catch{return[]}}function readUpdateState(env=process.env){try{const parsed=JSON.parse(fs.readFileSync(stateFilePath(env),"utf8"));return parsed!==null&&typeof parsed==="object"&&
5
5
  !Array.isArray(parsed)?parsed:{}}catch{return{}}}function writeUpdateState(state,env=process.env){const file=stateFilePath(env);const tmp=`${file}.${process.pid}.tmp`;try{fs.mkdirSync(path.dirname(file),{recursive:true,mode:448});fs.rmSync(tmp,{force:true});fs.writeFileSync(tmp,`${JSON.stringify(state,null,2)}
6
6
  `,{mode:384,flag:"wx"});fs.renameSync(tmp,file)}catch{try{fs.rmSync(tmp,{force:true})}catch{}}}function autoUpdateDisabledReason(env=process.env){if(isBoolishTrue(env[DISABLE_ENV]))return`${DISABLE_ENV} \u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059`;if(isBoolishTrue(env["CI"]))return"CI \u74B0\u5883\uFF08CI \u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\uFF09";if(process.getuid?.()===0&&(env["SUDO_UID"]??"")!=="")return"sudo \u3067\u5B9F\u884C\u3055\u308C\u3066\u3044\u307E\u3059";
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-I4ARX6NM.js";import{parseArgv}from"./chunk-BJLXXRSY.js";import"./chunk-NAUH75MM.js";import"./chunk-UVUVEL3B.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.39.0":"0.0.0-dev";var HELP=`twp ${VERSION} \u2014 TWP CLI
4
+ import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{parseArgv}from"./chunk-B7YCG2T7.js";import"./chunk-NAUH75MM.js";import"./chunk-EOSSFTNG.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.41.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
@@ -309,6 +309,8 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{parseArgv}from"./chu
309
309
  \u65E2\u5B58\u306E\u8ACB\u6C42\u3092\u898B\u7A4D\u306B\u7D10\u3065\u3051\u308B\uFF08--invoice / --invoice-id\u30FB--yes\uFF09
310
310
  twp estimate deposits <\u898B\u7A4DID>
311
311
  \u898B\u7A4D\u306B\u7D10\u3065\u304F\u8ACB\u6C42\u3078\u306E\u5165\u91D1\u3092\u4E00\u89A7\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09
312
+ twp estimate download <\u898B\u7A4DID>
313
+ \u898B\u7A4D\u66F8\u30FB\u6CE8\u6587\u66F8\u30FB\u6CE8\u6587\u8ACB\u66F8\u306E PDF \u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--kind\uFF09
312
314
  twp estimate scan-order-form
313
315
  \u6CE8\u6587\u66F8\u304B\u3089\u6CE8\u6587\u66F8\u756A\u53F7\u3092 AI \u3067\u8AAD\u3080\uFF08--file\u30FBAI \u30AF\u30EC\u30B8\u30C3\u30C8\u30FB--yes\uFF09
314
316
  twp estimate allocation list <\u898B\u7A4DID>
@@ -331,6 +333,26 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{parseArgv}from"./chu
331
333
  \u6848\u4EF6\u66F8\u985E\u3092\u524A\u9664\u3059\u308B\uFF08\u9867\u5BA2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--yes \u304C\u8981\u308B\uFF09
332
334
  twp estimate case-document download <\u66F8\u985EID>
333
335
  \u6848\u4EF6\u66F8\u985E\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--rev \u3067\u904E\u53BB\u7248\uFF09
336
+ twp estimate no-rule list
337
+ \u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB\uFF08\u898B\u7A4D\u306E\u756A\u53F7\u306E\u632F\u308A\u65B9\uFF09\u3092\u4E00\u89A7\u3059\u308B\uFF08\u6B21\u306E\u756A\u53F7\u3064\u304D\uFF09
338
+ twp estimate no-rule get <\u30EB\u30FC\u30EBID>
339
+ \u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
340
+ twp estimate no-rule create
341
+ \u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u767B\u9332\u3059\u308B\uFF08--name\u30FB--digit-count\uFF09
342
+ twp estimate no-rule update <\u30EB\u30FC\u30EBID>
343
+ \u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6B21\u306E\u756A\u53F7\u306E\u5909\u5316\u3092\u51FA\u3059\u30FB--yes \u304C\u8981\u308B\uFF09
344
+ twp estimate no-rule delete <\u30EB\u30FC\u30EBID>
345
+ \u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
346
+ twp estimate format list
347
+ \u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\uFF08\u66F8\u985E\u3092\u4F5C\u308B\u3068\u304D\u306E\u65E2\u5B9A\u5024\u306E\u7D44\uFF09\u3092\u4E00\u89A7\u3059\u308B
348
+ twp estimate format get <\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8ID>
349
+ \u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
350
+ twp estimate format create
351
+ \u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08--content-file\u30FB--generate-cli-skeleton \u3067\u3072\u306A\u5F62\uFF09
352
+ twp estimate format update <\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8ID>
353
+ \u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--content-file \u306B\u66F8\u3044\u305F\u9805\u76EE\u3060\u3051\uFF09
354
+ twp estimate format delete <\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8ID>
355
+ \u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
334
356
  twp invoice list \u8ACB\u6C42\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--customer\u30FB--allocation unallocated \u3067\u672A\u56DE\u53CE\uFF09
335
357
  twp invoice get <\u8ACB\u6C42ID>
336
358
  \u8ACB\u6C421\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
@@ -347,6 +369,8 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{parseArgv}from"./chu
347
369
  twp invoice memo <\u8ACB\u6C42ID>
348
370
  \u8ACB\u6C42\u306E\u793E\u5185\u5171\u6709\u30E1\u30E2\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--text\u30FB--clear\uFF09
349
371
  twp invoice export \u8ACB\u6C42\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--format mf-journal \u3067 MF \u4ED5\u8A33\uFF09
372
+ twp invoice download <\u8ACB\u6C42ID>
373
+ \u8ACB\u6C42\u66F8\u30FB\u7D0D\u54C1\u66F8\u30FB\u691C\u53CE\u66F8\u306E PDF \u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--kind\uFF09
350
374
  twp invoice send <\u8ACB\u6C42ID>
351
375
  \u8ACB\u6C42\u66F8 PDF \u3092\u30E1\u30FC\u30EB\u3067\u9001\u308B\uFF08--to \u306E\u5B9B\u5148\u3078\u5C4A\u304F\u30FB--yes\uFF09
352
376
  twp invoice payment-link <\u8ACB\u6C42ID>
@@ -363,6 +387,16 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{parseArgv}from"./chu
363
387
  \u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
364
388
  twp invoice auto-template history (<\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8ID> | --all-templates)
365
389
  \u81EA\u52D5\u767A\u884C\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--from/--to\uFF09
390
+ twp invoice no-rule list
391
+ \u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB\uFF08\u8ACB\u6C42\u306E\u756A\u53F7\u306E\u632F\u308A\u65B9\uFF09\u3092\u4E00\u89A7\u3059\u308B\uFF08\u6B21\u306E\u756A\u53F7\u3064\u304D\uFF09
392
+ twp invoice no-rule get <\u30EB\u30FC\u30EBID>
393
+ \u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
394
+ twp invoice no-rule create
395
+ \u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u767B\u9332\u3059\u308B\uFF08--name\u30FB--digit-count\uFF09
396
+ twp invoice no-rule update <\u30EB\u30FC\u30EBID>
397
+ \u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6B21\u306E\u756A\u53F7\u306E\u5909\u5316\u3092\u51FA\u3059\u30FB--yes \u304C\u8981\u308B\uFF09
398
+ twp invoice no-rule delete <\u30EB\u30FC\u30EBID>
399
+ \u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
366
400
  twp contract list \u53D6\u5F15\u5951\u7D04\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--customer\u30FB--estimate\u3002\u5951\u7D04\u66F8 PDF \u306F customer contract\uFF09
367
401
  twp contract get <\u5951\u7D04ID>
368
402
  \u53D6\u5F15\u5951\u7D041\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
@@ -401,6 +435,111 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-I4ARX6NM.js";import{parseArgv}from"./chu
401
435
  \u6708\u3092\u7DE0\u3081\u308B\uFF08\u305D\u306E\u6708\u306E\u5165\u91D1\u3092\u52D5\u304B\u305B\u306A\u304F\u3059\u308B\u30FB--yes \u304C\u8981\u308B\uFF09
402
436
  twp receivable closing reopen <\u5E74\u6708>
403
437
  \u6708\u306E\u7DE0\u3081\u3092\u89E3\u9664\u3059\u308B\uFF08\u78BA\u5B9A\u5024\u3092\u6D88\u3059\u30FB--yes \u304C\u8981\u308B\uFF09
438
+ twp purchase list \u4ED5\u5165\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--supplier\u30FB--from/--to\uFF09
439
+ twp purchase get <\u4ED5\u5165ID>
440
+ \u4ED5\u51651\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
441
+ twp purchase create \u4ED5\u5165\u3092\u4F5C\u6210\u3059\u308B\uFF08--content-file\u30FB--generate-cli-skeleton \u3067\u3072\u306A\u5F62\uFF09
442
+ twp purchase update <\u4ED5\u5165ID>
443
+ \u4ED5\u5165\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--content-file \u306B\u66F8\u3044\u305F\u9805\u76EE\u3060\u3051\uFF09
444
+ twp purchase delete <\u4ED5\u5165ID>
445
+ \u4ED5\u5165\u3092\u524A\u9664\u3059\u308B\uFF08\u6DFB\u4ED8\u66F8\u985E\u3082\u6D88\u3048\u308B\u30FB\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--yes \u304C\u8981\u308B\uFF09
446
+ twp purchase duplicate <\u4ED5\u5165ID>
447
+ \u4ED5\u5165\u3092\u30B3\u30D4\u30FC\u3057\u3066\u65B0\u3057\u3044\u4ED5\u5165\u3092\u4F5C\u308B\uFF08\u6DFB\u4ED8\u66F8\u985E\u306F\u5199\u3055\u306A\u3044\uFF09
448
+ twp purchase memo <\u4ED5\u5165ID>
449
+ \u4ED5\u5165\u306E\u4E00\u89A7\u306E\u30E1\u30E2\u6B04\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--text / --clear\uFF09
450
+ twp purchase download <\u4ED5\u5165ID>
451
+ \u4ED5\u5165\u306E\u6CE8\u6587\u66F8\u30FB\u6CE8\u6587\u8ACB\u66F8\u306E PDF \u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--kind\uFF09
452
+ twp purchase document list
453
+ \u4ED5\u5165\u306E\u6DFB\u4ED8\u66F8\u985E\u3092\u4E00\u89A7\u3059\u308B\uFF08--purchase\uFF09
454
+ twp purchase document get <\u66F8\u985EID>
455
+ \u6DFB\u4ED8\u66F8\u985E1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u73FE\u884C\u7248\u30FB\u904E\u53BB\u7248\uFF09
456
+ twp purchase document create
457
+ \u30D5\u30A1\u30A4\u30EB\u3092\u6DFB\u4ED8\u66F8\u985E\u3068\u3057\u3066\u767B\u9332\u3059\u308B\uFF08--file\u30FB--type quotation|order_form|order_acknowledgement\uFF09
458
+ twp purchase document add-version <\u66F8\u985EID>
459
+ \u6DFB\u4ED8\u66F8\u985E\u306B\u65B0\u3057\u3044\u7248\u3092\u767B\u9332\u3059\u308B\uFF08\u5DEE\u66FF\u3048\u30FB\u904E\u53BB\u7248\u306F\u6B8B\u308B\uFF09
460
+ twp purchase document update <\u66F8\u985EID>
461
+ \u6DFB\u4ED8\u66F8\u985E\u306E\u66F8\u985E\u540D\u30FB\u7A2E\u5225\u3092\u5909\u66F4\u3059\u308B
462
+ twp purchase document delete <\u66F8\u985EID>
463
+ \u6DFB\u4ED8\u66F8\u985E\u3092\u524A\u9664\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--yes \u304C\u8981\u308B\uFF09
464
+ twp purchase document download <\u66F8\u985EID>
465
+ \u6DFB\u4ED8\u66F8\u985E\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--rev\uFF09
466
+ twp purchase document scan <\u66F8\u985EID>
467
+ \u6DFB\u4ED8\u3057\u305F\u898B\u7A4D\u66F8\u3092 AI \u3067\u8AAD\u307F\u53D6\u308A\u5019\u88DC\u3092\u51FA\u3059\uFF08AI \u30AF\u30EC\u30B8\u30C3\u30C8\u3092\u6D88\u8CBB\u30FB--yes \u304C\u8981\u308B\uFF09
468
+ twp purchase ai-mapping list
469
+ \u898B\u7A4D\u66F8 AI \u8AAD\u307F\u53D6\u308A\u306E\u30DE\u30C3\u30D4\u30F3\u30B0\u8868\u3092\u4E00\u89A7\u3059\u308B\uFF08--target\u30FB--supplier\u30FB--common\uFF09
470
+ twp purchase ai-mapping get <\u30DE\u30C3\u30D4\u30F3\u30B0ID>
471
+ \u30DE\u30C3\u30D4\u30F3\u30B01\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
472
+ twp purchase ai-mapping create
473
+ \u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u767B\u9332\u3059\u308B\uFF08--source-label\u30FB--target\uFF09
474
+ twp purchase ai-mapping update <\u30DE\u30C3\u30D4\u30F3\u30B0ID>
475
+ \u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u30FB--common \u3067\u5168\u793E\u5171\u901A\u3078\uFF09
476
+ twp purchase ai-mapping delete <\u30DE\u30C3\u30D4\u30F3\u30B0ID>
477
+ \u30DE\u30C3\u30D4\u30F3\u30B0\u3092\u524A\u9664\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--yes \u304C\u8981\u308B\uFF09
478
+ twp purchase ai-mapping targets
479
+ \u53CD\u6620\u5148\u306E\u9805\u76EE\uFF08--target \u306B\u6E21\u305B\u308B\u5024\uFF09\u3092\u4E00\u89A7\u3059\u308B
480
+ twp purchase no-rule list
481
+ \u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB\uFF08\u4ED5\u5165\u306E\u756A\u53F7\u306E\u632F\u308A\u65B9\uFF09\u3092\u4E00\u89A7\u3059\u308B\uFF08\u6B21\u306E\u756A\u53F7\u3064\u304D\uFF09
482
+ twp purchase no-rule get <\u30EB\u30FC\u30EBID>
483
+ \u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
484
+ twp purchase no-rule create
485
+ \u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u767B\u9332\u3059\u308B\uFF08--name\u30FB--digit-count\uFF09
486
+ twp purchase no-rule update <\u30EB\u30FC\u30EBID>
487
+ \u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6B21\u306E\u756A\u53F7\u306E\u5909\u5316\u3092\u51FA\u3059\u30FB--yes \u304C\u8981\u308B\uFF09
488
+ twp purchase no-rule delete <\u30EB\u30FC\u30EBID>
489
+ \u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
490
+ twp supplier-payment list
491
+ \u652F\u6255\uFF08\u51FA\u91D1\u53F0\u5E33\uFF09\u3092\u4E00\u89A7\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--status\u30FB--supplier\u30FB--month\uFF09
492
+ twp supplier-payment get <\u652F\u6255ID>
493
+ \u652F\u62551\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
494
+ twp supplier-payment create
495
+ \u652F\u6255\u3092\u767B\u9332\u3059\u308B\uFF08--supplier-name \u304B --supplier\u30FB--month\uFF09
496
+ twp supplier-payment update <\u652F\u6255ID>
497
+ \u652F\u6255\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\uFF09
498
+ twp supplier-payment delete <\u652F\u6255ID>
499
+ \u652F\u6255\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
500
+ twp supplier-payment set-status
501
+ \u652F\u6255\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u4E00\u62EC\u3067\u5909\u3048\u308B\uFF08--file\u30FB--status\u30FB--yes \u304C\u8981\u308B\uFF09
502
+ twp supplier-payment schedule list
503
+ \u652F\u6255\u5148\u30DE\u30B9\u30BF\uFF08\u6BCE\u6708\u767A\u751F\u3059\u308B\u652F\u6255\u306E\u8A2D\u5B9A\uFF09\u3092\u4E00\u89A7\u3059\u308B
504
+ twp supplier-payment schedule get <\u30DE\u30B9\u30BFID>
505
+ \u652F\u6255\u5148\u30DE\u30B9\u30BF1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
506
+ twp supplier-payment schedule create
507
+ \u652F\u6255\u5148\u30DE\u30B9\u30BF\u3092\u767B\u9332\u3059\u308B\uFF08--supplier-name \u304B --supplier\u30FB--start-month\uFF09
508
+ twp supplier-payment schedule update <\u30DE\u30B9\u30BFID>
509
+ \u652F\u6255\u5148\u30DE\u30B9\u30BF\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u751F\u6210\u3092\u6B62\u3081\u308B\u306A\u3089 --end-month\uFF09
510
+ twp supplier-payment schedule delete <\u30DE\u30B9\u30BFID>
511
+ \u652F\u6255\u5148\u30DE\u30B9\u30BF\u3092\u524A\u9664\u3059\u308B\uFF08\u751F\u6210\u6E08\u307F\u306E\u652F\u6255\u306F\u6B8B\u308B\u30FB--yes \u304C\u8981\u308B\uFF09
512
+ twp business-place list \u4E8B\u696D\u6240\uFF08\u5E33\u7968\u306B\u8F09\u308B\u81EA\u793E\u306E\u4F4F\u6240\u30FB\u30A4\u30F3\u30DC\u30A4\u30B9\u756A\u53F7\uFF09\u3092\u4E00\u89A7\u3059\u308B
513
+ twp business-place get <\u4E8B\u696D\u6240ID>
514
+ \u4E8B\u696D\u62401\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
515
+ twp business-place create
516
+ \u4E8B\u696D\u6240\u3092\u767B\u9332\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--name\uFF09
517
+ twp business-place update <\u4E8B\u696D\u6240ID>
518
+ \u4E8B\u696D\u6240\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u30FB--clear \u3067\u7A7A\u306B\uFF09
519
+ twp business-place delete <\u4E8B\u696D\u6240ID>
520
+ \u4E8B\u696D\u6240\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
521
+ twp payee list \u632F\u8FBC\u5148\uFF08\u8ACB\u6C42\u66F8\u306B\u8F09\u308B\u53D7\u53D6\u53E3\u5EA7\uFF09\u3092\u4E00\u89A7\u3059\u308B\uFF08\u53E3\u5EA7\u756A\u53F7\u306F\u4F0F\u5B57\uFF09
522
+ twp payee get <\u632F\u8FBC\u5148ID>
523
+ \u632F\u8FBC\u51481\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u5168\u6587\uFF09
524
+ twp payee create \u632F\u8FBC\u5148\u3092\u767B\u9332\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--name\u30FB--content-file\uFF09
525
+ twp payee update <\u632F\u8FBC\u5148ID>
526
+ \u632F\u8FBC\u5148\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u30FB--clear \u3067\u7A7A\u306B\uFF09
527
+ twp payee delete <\u632F\u8FBC\u5148ID>
528
+ \u632F\u8FBC\u5148\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
529
+ twp seal-impression list
530
+ \u5370\u5F71\uFF08\u898B\u7A4D\u30FB\u8ACB\u6C42\u306B\u62BC\u3059\u5370\u306E\u753B\u50CF\uFF09\u3092\u4E00\u89A7\u3059\u308B
531
+ twp seal-impression get <\u5370\u5F71ID>
532
+ \u5370\u5F711\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u753B\u50CF\u306E\u8868\u793A\u5148\u3064\u304D\uFF09
533
+ twp seal-impression create
534
+ \u5370\u5F71\u3092\u767B\u9332\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--name\u30FB--file \u3067\u753B\u50CF\uFF09
535
+ twp seal-impression update <\u5370\u5F71ID>
536
+ \u5370\u5F71\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--file \u3067\u753B\u50CF\u306E\u5DEE\u3057\u66FF\u3048\uFF09
537
+ twp seal-impression delete <\u5370\u5F71ID>
538
+ \u5370\u5F71\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
539
+ twp rounding-setting get
540
+ \u7AEF\u6570\u51E6\u7406\uFF08\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u5951\u7D04\u30FB\u4ED5\u5165\u30FB\u652F\u6255\u306E\u91D1\u984D\u306E\u4E38\u3081\u65B9\uFF09\u3092\u8868\u793A\u3059\u308B
541
+ twp rounding-setting update
542
+ \u7AEF\u6570\u51E6\u7406\u3092\u5909\u3048\u308B\uFF08--method round|ceil|floor\u30FB--yes \u304C\u8981\u308B\uFF09
404
543
  twp company list \u53D6\u5F15\u5148\u4F01\u696D\u3092\u4E00\u89A7\u3059\u308B\uFF08--keyword\uFF09
405
544
  twp company get <\u53D6\u5F15\u5148>
406
545
  \u53D6\u5F15\u5148\u4F01\u696D1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u540D\u524D\u304B ID\uFF09
@@ -537,15 +676,15 @@ TUI \u5185:
537
676
  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
538
677
  \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
539
678
  `;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
540
- `);process.exit(1)}ignoreEpipe(process.stdout);ignoreEpipe(process.stderr);if(process.env["TWP_AUTO_UPDATE_WORKER"]==="1"){const{runAutoUpdateWorker}=await import("./auto-update-worker-Y44TD6FD.js");await runAutoUpdateWorker().catch(()=>void 0);return}const[first,...rest]=process.argv.slice(2);if(first==="__complete"||first==="completion"){const completion=await import("./completion-6R5D5TQQ.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
541
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-3WV46K26.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-JNSBIQM6.js");autoUpdate2.registerRunning();autoUpdate2.onStartup(VERSION);const{runConfigure}=await import("./configure-PIOFJFL5.js");process.exitCode=
679
+ `);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-EFGQJDIU.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
680
+ const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-3236ULYR.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=
542
681
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
543
682
  `);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(" ")}
544
683
 
545
- ${HELP}`);process.exitCode=2;return}const autoUpdate=await import("./auto-update-JNSBIQM6.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-KNZ43HFF.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
546
- 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-IO572BZ4.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
547
- 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-MAQJ6VWV.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-K6DQ3O35.js");
548
- 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-MLYGGSUE.js");process.exitCode=await runTaskLoop(
684
+ ${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-33WHOIOO.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
685
+ 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-6FEY6MHV.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
686
+ 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-VT7AVSSL.js");
687
+ 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-QIBFWWIT.js");process.exitCode=await runTaskLoop(
549
688
  {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,
550
- 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-TMGTEN3S.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
551
- 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-Y2RIXLS4.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();
689
+ 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-XW6YVNOY.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
690
+ 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-G6Y2XVST.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();