@tocca-systems/twp-cli 0.38.0 → 0.39.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 (49) hide show
  1. package/CHANGELOG.public.md +10 -0
  2. package/README.md +118 -3
  3. package/dist/{ai-dispatch-AHCYPQ5Y.js → ai-dispatch-KRMDHQEF.js} +1 -1
  4. package/dist/{api-command-BZVUZIOB.js → api-command-IO572BZ4.js} +3 -3
  5. package/dist/{app-SNRFIHTQ.js → app-Y2RIXLS4.js} +4 -4
  6. package/dist/{backlog-33ELMSV6.js → backlog-67JSQYOH.js} +1 -1
  7. package/dist/chunk-4ZT5LTRX.js +94 -0
  8. package/dist/{chunk-QBA6THJ5.js → chunk-BJLXXRSY.js} +1 -1
  9. package/dist/{chunk-LS7P3IWP.js → chunk-C7UDUHQZ.js} +7 -7
  10. package/dist/{chunk-ZST7XESB.js → chunk-ELXDRPDV.js} +39 -33
  11. package/dist/{chunk-TAN5I2DP.js → chunk-I4ARX6NM.js} +1 -1
  12. package/dist/{chunk-IRT7VFG4.js → chunk-MHRGKUMK.js} +1 -1
  13. package/dist/chunk-QDTYD5PY.js +147 -0
  14. package/dist/{chunk-57HDZYSN.js → chunk-QQLWMHGR.js} +1 -1
  15. package/dist/{chunk-ADQD5OPN.js → chunk-RZ54TCQU.js} +15 -14
  16. package/dist/chunk-TLN3JSEC.js +7 -0
  17. package/dist/chunk-UVUVEL3B.js +3 -0
  18. package/dist/{chunk-OHIERIBW.js → chunk-Y5YDL3MC.js} +1 -1
  19. package/dist/cli.js +109 -9
  20. package/dist/{commands-RCDYCU6L.js → commands-MLYGGSUE.js} +3 -3
  21. package/dist/company-3KUWW7QA.js +71 -0
  22. package/dist/{completion-3X7HPIPM.js → completion-6R5D5TQQ.js} +1 -1
  23. package/dist/contract-FGRHTOGI.js +86 -0
  24. package/dist/{department-PVUB3ZPI.js → department-PN5DCCRL.js} +1 -1
  25. package/dist/deposit-XQER6PMG.js +4 -0
  26. package/dist/estimate-IXBEQVGI.js +164 -0
  27. package/dist/{inquiry-CUK2LWQK.js → inquiry-3VOJASJH.js} +1 -1
  28. package/dist/invoice-KY3BYTHQ.js +209 -0
  29. package/dist/{job-title-CZRZFVUU.js → job-title-EM6RKGQ6.js} +1 -1
  30. package/dist/{knowledge-XYLG42MB.js → knowledge-F4FZ4MLH.js} +1 -1
  31. package/dist/{leave-DL3JPO5I.js → leave-D2S7NMJC.js} +1 -1
  32. package/dist/{media-CMNIZUPY.js → media-SQVQVX2E.js} +1 -1
  33. package/dist/{notification-ULATH7AC.js → notification-NTFUPUMY.js} +1 -1
  34. package/dist/{oneshot-RYWJ6ECA.js → oneshot-TMGTEN3S.js} +1 -1
  35. package/dist/{position-ICOGEMRG.js → position-D52LXRDT.js} +1 -1
  36. package/dist/{prospect-MB2OP7L2.js → prospect-AQ7EUU4N.js} +1 -1
  37. package/dist/receivable-AE44YIJO.js +49 -0
  38. package/dist/{registry-XBYUPKQQ.js → registry-3WV46K26.js} +1 -1
  39. package/dist/{report-JL7UJB4G.js → report-TI2DOJGX.js} +1 -1
  40. package/dist/{run-6JRHCC67.js → run-KNZ43HFF.js} +2 -2
  41. package/dist/{task-CMCHUX2D.js → task-VKVZSF7J.js} +2 -2
  42. package/dist/{user-5JXFO56G.js → user-KEFI7XZI.js} +1 -1
  43. package/dist/{workflow-XBUMFS2G.js → workflow-4FHTOQZZ.js} +1 -1
  44. package/package.json +1 -1
  45. package/dist/chunk-GLBQAXWC.js +0 -6
  46. package/dist/chunk-O4NSYHR4.js +0 -3
  47. package/dist/company-GMCHRVHF.js +0 -161
  48. package/dist/sales-GJKW7VVG.js +0 -4
  49. /package/dist/{commands-7PGS2PTH.js → commands-K6DQ3O35.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{repeatedValues}from"./chunk-IOGVQVGD.js";import{isoDate}from"./chunk-UDPJ2IGK.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-ZST7XESB.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-5R4SEO3I.js";import{withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{
3
+ import{repeatedValues}from"./chunk-IOGVQVGD.js";import{isoDate}from"./chunk-UDPJ2IGK.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-ELXDRPDV.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,PAGE_NUMBER_PAGING_HELP,STABLE_PAGE_ORDER,nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-5R4SEO3I.js";import{withResolved}from"./chunk-ZN5EFDH7.js";import{isRecord,pick}from"./chunk-ZWVYVS2A.js";import{
4
4
  ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var ESTIMATE_STATUSES={new:"\u4F5C\u6210\u4E2D",create_completed:"\u4F5C\u6210\u5B8C\u4E86",in_progress:"\u7533\u8ACB\u4E2D",approved:"\u627F\u8A8D\u6E08",submitted:"\u63D0\u793A\u6E08",rejected:"\u5DEE\u3057\u623B\u3057",deleted:"\u524A\u9664\u6E08"};var INVOICE_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",manager_confirmation:"\u6848\u4EF6\u62C5\u5F53\u8005\
5
5
  _\u6848\u4EF6\u5185\u5BB9\u30FB\u91D1\u984D\u78BA\u8A8D",invoice_issued:"\u8ACB\u6C42\u66F8\u767A\u884C\u6E08",sent_to_client:"\u5148\u65B9\u9001\u4ED8\u6E08",archived:"\u4FDD\u7BA1\u6E08",deleted:"\u524A\u9664\u6E08",cancelled:"\u53D6\u6D88\uFF08\u7121\u52B9\uFF09",lost:"\u5931\u6CE8"};var ALLOCATION_STATUSES={unallocated:"\u672A\u56DE\u53CE",allocated:"\u56DE\u53CE\u6E08"};function statusRefs(table){return Object.entries(table).map(([code,name])=>({id:code,name,code}))}function statusHelp(table){
6
6
  return Object.entries(table).map(([code,name])=>`${code}\uFF08${name}\uFF09`).join(" / ")}function licenseForbidden(guidance){return body=>body?.error==="permission_denied"?guidance:void 0}function featureLicenseGuidance(feature){return`${feature}\u3092\u4F7F\u3046\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C${feature}\u3092\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E${feature}\u306E\u6A29\u9650\u304C\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`}
@@ -8,19 +8,20 @@ var SALES_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\
8
8
  `${what}\u306E\u5FDC\u7B54\u306B data.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return data}function withStatusName(row,columns,table){const picked=pick(row,columns);const status=isRecord(row)?row["status"]:void 0;if(typeof status!=="string")return picked;return Object.fromEntries(Object.entries(picked).flatMap(([key,value])=>key==="status"?[[key,value],["status_name",table[status]??status]]:[[key,value]]))}function totalsNote(body){
9
9
  if(!isRecord(body))return[];const sum=body["sum"];const amount=body["total_amount"];if(typeof sum!=="number")return pageRangeNotes(body);return[...pageRangeNotes(body),typeof amount==="number"?`\u8A72\u5F53 ${sum} \u4EF6\u30FB\u5408\u8A08\u91D1\u984D\uFF08\u7A0E\u8FBC\uFF09${amount.toLocaleString("ja-JP")} \u5186`:`\u8A72\u5F53 ${sum} \u4EF6`]}var ESTIMATE={name:"estimate",label:"\u898B\u7A4D",path:SALES_ESTIMATES_PATH,statuses:ESTIMATE_STATUSES,userParam:"estimate_user_id",dateParam:"estimate_d\
10
10
  ate",dateLabel:"\u898B\u7A4D\u65E5",listColumns:["id","estimate_no","estimate_date","status","company_name","title","total","estimate_user_name"],getColumns:["id","estimate_no","title","status","estimate_date","estimate_expiration_date","company_name","project_name","estimate_user_name","subtotal","tax_amount","total"]};var INVOICE={name:"invoice",label:"\u8ACB\u6C42",path:SALES_INVOICES_PATH,statuses:INVOICE_STATUSES,userParam:"invoice_user_id",dateParam:"invoice_date",dateLabel:"\u8ACB\u6C42\u65E5",
11
- listColumns:["id","invoice_no","invoice_date","status","company_name","title","total","remaining_amount"],getColumns:["id","invoice_no","title","status","invoice_date","due_date","company_name","project_name","estimate_no","invoice_user_name","subtotal","tax_amount","total","deposit_amount","remaining_amount"]};function listFlags(resource){const flags=[...PAGE_NUMBER_LIST_FLAGS,{name:"--keyword",summary:`\u4EF6\u540D\u30FB${resource.label}\u756A\u53F7\u30FB\u5099\u8003\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u90E8\u5206\u4E00\u81F4\uFF09`,
11
+ listColumns:["id","invoice_no","invoice_date","status","company_name","title","total","remaining_amount"],getColumns:["id","invoice_no","title","status","invoice_date","due_date","company_name","project_name","estimate_no","invoice_user_name","subtotal","tax_amount","total","deposit_amount","remaining_amount"]};function filterFlags(resource){const flags=[{name:"--keyword",summary:`\u4EF6\u540D\u30FB${resource.label}\u756A\u53F7\u30FB\u5099\u8003\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u90E8\u5206\u4E00\u81F4\uFF09`,
12
12
  takesValue:true,placeholder:"<\u8A9E>"},{name:"--status",summary:"\u30B9\u30C6\u30FC\u30BF\u30B9\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u30B3\u30FC\u30C9\u304B\u8868\u793A\u540D\u30FB\u8907\u6570\u56DE\u6307\u5B9A\u3067\u304D\u308B\uFF09",takesValue:true,placeholder:"<\u30B9\u30C6\u30FC\u30BF\u30B9>",repeatable:true},{name:"--customer",summary:"\u53D6\u5F15\u5148\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u5B8C\u5168\u4E00\u81F4\u304B ID\uFF09",takesValue:true,
13
13
  placeholder:"<\u53D6\u5F15\u5148>"},{name:"--project",summary:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u30B3\u30FC\u30C9\u304B ID\uFF09",takesValue:true,placeholder:"<\u30B3\u30FC\u30C9|ID>"},{name:"--assignee",summary:`${resource.label}\u62C5\u5F53\u8005\u3067\u7D5E\u308A\u8FBC\u3080\uFF08me\u30FBID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u6C0F\u540D\uFF09`,takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"},{name:"--from",summary:`${resource.
14
14
  dateLabel}\u304C\u3053\u306E\u65E5\u4EE5\u964D\uFF08YYYY-MM-DD\uFF09`,takesValue:true,placeholder:"<\u65E5\u4ED8>"},{name:"--to",summary:`${resource.dateLabel}\u304C\u3053\u306E\u65E5\u4EE5\u524D\uFF08YYYY-MM-DD\uFF09`,takesValue:true,placeholder:"<\u65E5\u4ED8>"}];if(resource.name==="invoice"){flags.push({name:"--allocation",summary:"\u56DE\u53CE\u72B6\u6CC1\u3067\u7D5E\u308A\u8FBC\u3080\uFF08unallocated\uFF1D\u672A\u56DE\u53CE / allocated\uFF1D\u56DE\u53CE\u6E08\uFF09",takesValue:true,placeholder:"\
15
- <\u72B6\u6CC1>"})}return flags}async function statusCodes(input,resource){const refs=statusRefs(resource.statuses);const codes=[];for(const raw of repeatedValues(input,"--status")){const ref=await resolveNamed(raw,refs,{flag:"--status",label:`${resource.label}\u306E\u30B9\u30C6\u30FC\u30BF\u30B9`,scope:"\u3053\u306E CLI"});if(!codes.includes(ref.id))codes.push(ref.id)}return codes}async function allocationCode(input){const raw=nonEmpty(input.flags,"--allocation");if(raw===void 0)return void 0;return(await resolveNamed(
16
- raw,statusRefs(ALLOCATION_STATUSES),{flag:"--allocation",label:"\u56DE\u53CE\u72B6\u6CC1",scope:"\u3053\u306E CLI"})).id}function noArgs(input,resource,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 ${resource.name} ${op} help`)}}async function prepareList(input,ctx,resource){noArgs(input,resource,"list");listQuery(input,resource);const status=await statusCodes(input,resource);const allocation=resource.
17
- name==="invoice"?await allocationCode(input):void 0;const resolved={};if(status.length>0)resolved["status"]=status.join(",");if(allocation!==void 0)resolved["allocation"]=allocation;const customer=nonEmpty(input.flags,"--customer");if(customer!==void 0){resolved["customer"]=(await ctx.resolver.company(customer,{flag:"--customer",source:"sales",mustExist:true})).id}const project=nonEmpty(input.flags,"--project");if(project!==void 0)resolved["project"]=await ctx.projectId(project);const assignee=nonEmpty(
18
- input.flags,"--assignee");if(assignee!==void 0)resolved["assignee"]=(await ctx.resolver.user(assignee,"--assignee")).id;return withResolved(input,resolved)}function listQuery(input,resource){const{page_no,page_limit}=pageNumberQuery(input);const resolved=input.resolved??{};return{keyword:nonEmpty(input.flags,"--keyword"),status_list:resolved["status"],company_id:resolved["customer"],project_id:resolved["project"],[resource.userParam]:resolved["assignee"],[`${resource.dateParam}_from`]:isoDate(input,
19
- "--from"),[`${resource.dateParam}_to`]:isoDate(input,"--to"),...resource.name==="invoice"?{allocation_status:resolved["allocation"],consolidated_view:1}:{},...STABLE_PAGE_ORDER,page_limit,page_no}}function recordId(input,resource){const[raw,...rest]=input.args;const id=raw?.trim()??"";const usage=`twp ${resource.name} get help`;if(id==="")throw new UsageError(`${resource.label}\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(rest.length>0)throw new UsageError(`get \u304C\u53D7\u3051\u53D6\
20
- \u308C\u308B${resource.label} ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,usage);if(!isExactNumericId(id)){throw new UsageError(`${resource.label}\u306E ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`${resource.label}\u756A\u53F7\uFF08${resource.name==="estimate"?"EST0000063":"INV0000170"} \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`)}
21
- return id}function listOperation(resource){const paging=pageNumberPaging({label:`${resource.label}\u4E00\u89A7`});const rows=body=>{envelope(body,`${resource.label}\u4E00\u89A7`);return paging.items(body)};const consolidated=resource.name==="invoice"?"\u753B\u9762\u306E\u8ACB\u6C42\u4E00\u89A7\u3068\u540C\u3058\u304F\u3001\u7D71\u5408\u8ACB\u6C42\u66F8\u306F\u672C\u4F53\u30921\u884C\u3067\u51FA\u3057\u3001\u7D71\u5408\u5143\u306E\u8ACB\u6C42\u306F\u305D\u306E children \u306B\u5165\u308A\u307E\u3059\uFF08\u6700\u4E0A\u4F4D\u306B\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\n":
22
- "";return{name:"list",summary:`${resource.label}\u3092\u4E00\u89A7\u3059\u308B\uFF08\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\uFF09`,usage:`twp ${resource.name} list [--keyword <\u8A9E>] [--status <\u30B9\u30C6\u30FC\u30BF\u30B9>]... [--customer <\u53D6\u5F15\u5148>] [--project <\u30B3\u30FC\u30C9|ID>] [--assignee <\u30E6\u30FC\u30B6\u30FC>] [--from <\u65E5\u4ED8>] [--to <\u65E5\u4ED8>]${resource.name==="invoice"?" [--allocation <\u72B6\u6CC1>]":""} [--all] [--limit <\u4EF6\u6570>]`,description:`\
23
- \u8CA9\u58F2\u7BA1\u7406\u306E${resource.label}\u3092\u4E00\u89A7\u3057\u307E\u3059\u3002\u898B\u3048\u308B\u306E\u306F\u30B5\u30FC\u30D0\u304C\u3042\u306A\u305F\u306B\u898B\u305B\u308B${resource.label}\u3060\u3051\u3067\u3059
15
+ <\u72B6\u6CC1>"})}return flags}function listFlags(resource){return[...PAGE_NUMBER_LIST_FLAGS,...filterFlags(resource)]}async function statusCodes(input,resource){const refs=statusRefs(resource.statuses);const codes=[];for(const raw of repeatedValues(input,"--status")){const ref=await resolveNamed(raw,refs,{flag:"--status",label:`${resource.label}\u306E\u30B9\u30C6\u30FC\u30BF\u30B9`,scope:"\u3053\u306E CLI"});if(!codes.includes(ref.id))codes.push(ref.id)}return codes}async function allocationCode(input){
16
+ const raw=nonEmpty(input.flags,"--allocation");if(raw===void 0)return void 0;return(await resolveNamed(raw,statusRefs(ALLOCATION_STATUSES),{flag:"--allocation",label:"\u56DE\u53CE\u72B6\u6CC1",scope:"\u3053\u306E CLI"})).id}function noArgs(input,resource,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 ${resource.name} ${op} help`)}}async function prepareFilters(input,ctx,resource,op){noArgs(
17
+ input,resource,op);if(op==="list")listQuery(input,resource);else filterQuery(input,resource);const status=await statusCodes(input,resource);const allocation=resource.name==="invoice"?await allocationCode(input):void 0;const resolved={};if(status.length>0)resolved["status"]=status.join(",");if(allocation!==void 0)resolved["allocation"]=allocation;const customer=nonEmpty(input.flags,"--customer");if(customer!==void 0){resolved["customer"]=(await ctx.resolver.company(customer,{flag:"--customer",source:"\
18
+ sales",mustExist:true})).id}const project=nonEmpty(input.flags,"--project");if(project!==void 0)resolved["project"]=await ctx.projectId(project);const assignee=nonEmpty(input.flags,"--assignee");if(assignee!==void 0)resolved["assignee"]=(await ctx.resolver.user(assignee,"--assignee")).id;return withResolved(input,resolved)}function filterQuery(input,resource){const resolved=input.resolved??{};return{keyword:nonEmpty(input.flags,"--keyword"),status_list:resolved["status"],company_id:resolved["cus\
19
+ tomer"],project_id:resolved["project"],[resource.userParam]:resolved["assignee"],[`${resource.dateParam}_from`]:isoDate(input,"--from"),[`${resource.dateParam}_to`]:isoDate(input,"--to"),...resource.name==="invoice"?{allocation_status:resolved["allocation"],consolidated_view:1}:{},...STABLE_PAGE_ORDER}}function listQuery(input,resource){const{page_no,page_limit}=pageNumberQuery(input);return{...filterQuery(input,resource),page_limit,page_no}}function recordId(input,resource){const[raw,...rest]=input.
20
+ args;const id=raw?.trim()??"";const usage=`twp ${resource.name} get help`;if(id==="")throw new UsageError(`${resource.label}\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(rest.length>0)throw new UsageError(`get \u304C\u53D7\u3051\u53D6\u308C\u308B${resource.label} ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,usage);if(!isExactNumericId(id)){throw new UsageError(`${resource.label}\u306E ID \u306F\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,
21
+ `${resource.label}\u756A\u53F7\uFF08${resource.name==="estimate"?"EST0000063":"INV0000170"} \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 listOperation(resource){const paging=pageNumberPaging({label:`${resource.label}\u4E00\u89A7`});const rows=body=>{envelope(body,`${resource.label}\u4E00\u89A7`);return paging.items(body)};const consolidated=resource.
22
+ name==="invoice"?"\u753B\u9762\u306E\u8ACB\u6C42\u4E00\u89A7\u3068\u540C\u3058\u304F\u3001\u7D71\u5408\u8ACB\u6C42\u66F8\u306F\u672C\u4F53\u30921\u884C\u3067\u51FA\u3057\u3001\u7D71\u5408\u5143\u306E\u8ACB\u6C42\u306F\u305D\u306E children \u306B\u5165\u308A\u307E\u3059\uFF08\u6700\u4E0A\u4F4D\u306B\u306F\u51FA\u307E\u305B\u3093\uFF09\u3002\n":"";return{name:"list",summary:`${resource.label}\u3092\u4E00\u89A7\u3059\u308B\uFF08\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\uFF09`,usage:`twp ${resource.
23
+ name} list [--keyword <\u8A9E>] [--status <\u30B9\u30C6\u30FC\u30BF\u30B9>]... [--customer <\u53D6\u5F15\u5148>] [--project <\u30B3\u30FC\u30C9|ID>] [--assignee <\u30E6\u30FC\u30B6\u30FC>] [--from <\u65E5\u4ED8>] [--to <\u65E5\u4ED8>]${resource.name==="invoice"?" [--allocation <\u72B6\u6CC1>]":""} [--all] [--limit <\u4EF6\u6570>]`,description:`\u8CA9\u58F2\u7BA1\u7406\u306E${resource.label}\u3092\u4E00\u89A7\u3057\u307E\u3059\u3002\u898B\u3048\u308B\u306E\u306F\u30B5\u30FC\u30D0\u304C\u3042\u306A\u305F\u306B\u898B\u305B\u308B${resource.
24
+ label}\u3060\u3051\u3067\u3059
24
25
  \uFF08\u7BA1\u7406\u8005\u4EE5\u5916\u306F\u3001\u30E1\u30F3\u30D0\u30FC\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E${resource.label}\u3068\u3001\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u672A\u8A2D\u5B9A\u3067\u81EA\u5206\u304C\u4F5C\u6210\u8005\u30FB\u62C5\u5F53\u8005\u306E${resource.label}\uFF09\u3002
25
26
  `+consolidated+`
26
27
  --status \u306B\u6E21\u305B\u308B\u5024: ${statusHelp(resource.statuses)}
@@ -33,8 +34,8 @@ return id}function listOperation(resource){const paging=pageNumberPaging({label:
33
34
  --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
34
35
  --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${resource.listColumns.join(" / ")}\u3001status \u306E\u5F8C\u308D\u306B status_name\uFF09\u3067\u3059\u3002
35
36
 
36
- `+LIST_PAGING_HELP+"\n"+PAGE_NUMBER_PAGING_HELP,flags:listFlags(resource),paging,forbidden:SALES_FORBIDDEN,prepare:(input,ctx)=>prepareList(input,ctx,resource),plan:input=>({method:"GET",path:resource.path,query:listQuery(input,resource)}),summarize:body=>rows(body).map(row=>withStatusName(row,resource.listColumns,resource.statuses)),raw:rows,notes:totalsNote}}function getOperation(resource){const what=resource.label;return{name:"get",summary:`${what}1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B`,
37
+ `+LIST_PAGING_HELP+"\n"+PAGE_NUMBER_PAGING_HELP,flags:listFlags(resource),paging,forbidden:SALES_FORBIDDEN,prepare:(input,ctx)=>prepareFilters(input,ctx,resource,"list"),plan:input=>({method:"GET",path:resource.path,query:listQuery(input,resource)}),summarize:body=>rows(body).map(row=>withStatusName(row,resource.listColumns,resource.statuses)),raw:rows,notes:totalsNote}}function getOperation(resource){const what=resource.label;return{name:"get",summary:`${what}1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B`,
37
38
  usage:`twp ${resource.name} get <${what}ID>`,description:`ID \u306F twp ${resource.name} list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\uFF08${what}\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
38
39
 
39
- --output json \u306F${what}\u306E\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u660E\u7D30 details \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[],forbidden:SALES_FORBIDDEN,plan:input=>({method:"GET",path:`${resource.path}/${encodeURIComponent(recordId(input,resource))}`}),summarize:body=>withStatusName(detail(body,what),resource.getColumns,resource.statuses),raw:body=>detail(body,what)}}function salesDomain(resource,summary){return{name:resource.name,summary,operations:[listOperation(
40
- resource),getOperation(resource)]}}var estimateDomain=salesDomain(ESTIMATE,"\u8CA9\u58F2\u7BA1\u7406\u306E\u898B\u7A4D\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\uFF09");var invoiceDomain=salesDomain(INVOICE,"\u8CA9\u58F2\u7BA1\u7406\u306E\u8ACB\u6C42\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\uFF09");export{licenseForbidden,featureLicenseGuidance,estimateDomain,invoiceDomain};
40
+ --output json \u306F${what}\u306E\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u660E\u7D30 details \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002`,flags:[],forbidden:SALES_FORBIDDEN,plan:input=>({method:"GET",path:`${resource.path}/${encodeURIComponent(recordId(input,resource))}`}),summarize:body=>withStatusName(detail(body,what),resource.getColumns,resource.statuses),raw:body=>detail(body,what)}}var estimateReadOperations=[listOperation(ESTIMATE),getOperation(ESTIMATE)];var invoiceReadOperations=[
41
+ listOperation(INVOICE),getOperation(INVOICE)];var invoiceFilters={flags:()=>filterFlags(INVOICE),prepare:(input,ctx,op)=>prepareFilters(input,ctx,INVOICE,op),query:input=>filterQuery(input,INVOICE),statusName:code=>INVOICE_STATUSES[code]??code,statusCodes:input=>statusCodes(input,INVOICE),statusHelp:()=>statusHelp(INVOICE_STATUSES)};export{licenseForbidden,featureLicenseGuidance,estimateReadOperations,invoiceReadOperations,invoiceFilters};
@@ -0,0 +1,7 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var LOADERS={"agent-loop":async()=>(await import("./agent-loop-4U5RLC4L.js")).agentLoopDomain,attendance:async()=>(await import("./attendance-5KE2JPK4.js")).attendanceDomain,backlog:async()=>(await import("./backlog-67JSQYOH.js")).backlogDomain,company:async()=>(await import("./company-3KUWW7QA.js")).companyDomain,contract:async()=>(await import("./contract-FGRHTOGI.js")).contractDomain,customer:async()=>(await import("./company-3KUWW7QA.js")).customerDomain,department:async()=>(await import("./department-PN5DCCRL.js")).
4
+ departmentDomain,deposit:async()=>(await import("./deposit-XQER6PMG.js")).depositDomain,estimate:async()=>(await import("./estimate-IXBEQVGI.js")).estimateDomain,inquiry:async()=>(await import("./inquiry-3VOJASJH.js")).inquiryDomain,invoice:async()=>(await import("./invoice-KY3BYTHQ.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-EM6RKGQ6.js")).jobTitleDomain,leave:async()=>(await import("./leave-D2S7NMJC.js")).leaveDomain,media:async()=>(await import("./media-SQVQVX2E.js")).
5
+ mediaDomain,meeting:async()=>(await import("./knowledge-F4FZ4MLH.js")).meetingDomain,note:async()=>(await import("./knowledge-F4FZ4MLH.js")).noteDomain,notification:async()=>(await import("./notification-NTFUPUMY.js")).notificationDomain,position:async()=>(await import("./position-D52LXRDT.js")).positionDomain,project:async()=>(await import("./project-ZGOB5W25.js")).projectDomain,prospect:async()=>(await import("./prospect-AQ7EUU4N.js")).prospectDomain,receivable:async()=>(await import("./receivable-AE44YIJO.js")).
6
+ receivableDomain,report:async()=>(await import("./report-TI2DOJGX.js")).reportDomain,shift:async()=>(await import("./attendance-lists-MXQNWUIH.js")).shiftDomain,storage:async()=>(await import("./storage-ANKKJJJO.js")).storageDomain,task:async()=>(await import("./task-VKVZSF7J.js")).taskDomain,user:async()=>(await import("./user-KEFI7XZI.js")).userDomain,wiki:async()=>(await import("./knowledge-F4FZ4MLH.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-MXQNWUIH.js")).
7
+ workchangeDomain,workflow:async()=>(await import("./workflow-4FHTOQZZ.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};
@@ -0,0 +1,3 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var DOMAIN_NAMES=["agent-loop","attendance","backlog","company","contract","customer","department","deposit","estimate","inquiry","invoice","job-title","leave","media","meeting","note","notification","position","project","prospect","receivable","report","shift","storage","task","user","wiki","workchange","workflow"];function isDomainName(value){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{readBody}from"./chunk-HGTG5XQ7.js";import{WORKFLOWS_PATH}from"./chunk-ZST7XESB.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-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",
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_\
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-TAN5I2DP.js";import{parseArgv}from"./chunk-QBA6THJ5.js";import"./chunk-NAUH75MM.js";import"./chunk-O4NSYHR4.js";import"./chunk-QQRJLH6B.js";import"./chunk-VSJBJXZO.js";var VERSION=true?"0.38.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-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
5
5
 
6
6
  \u4F7F\u3044\u65B9:
7
7
  twp \u5BFE\u8A71 TUI \u3092\u8D77\u52D5
@@ -298,9 +298,109 @@ import{GLOBAL_OPTIONS_HELP}from"./chunk-TAN5I2DP.js";import{parseArgv}from"./chu
298
298
  twp estimate list \u898B\u7A4D\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--customer\u30FB--assignee\u30FB--from/--to\uFF09
299
299
  twp estimate get <\u898B\u7A4DID>
300
300
  \u898B\u7A4D1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
301
+ twp estimate create \u898B\u7A4D\u3092\u4F5C\u6210\u3059\u308B\uFF08--content-file\u30FB--generate-cli-skeleton \u3067\u3072\u306A\u5F62\uFF09
302
+ twp estimate update <\u898B\u7A4DID>
303
+ \u898B\u7A4D\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--content-file \u306B\u66F8\u3044\u305F\u9805\u76EE\u3060\u3051\uFF09
304
+ twp estimate delete <\u898B\u7A4DID>
305
+ \u898B\u7A4D\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
306
+ twp estimate memo <\u898B\u7A4DID>
307
+ \u898B\u7A4D\u306E\u793E\u5185\u5171\u6709\u30E1\u30E2\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--text\u30FB--clear\uFF09
308
+ twp estimate link-invoice <\u898B\u7A4DID>
309
+ \u65E2\u5B58\u306E\u8ACB\u6C42\u3092\u898B\u7A4D\u306B\u7D10\u3065\u3051\u308B\uFF08--invoice / --invoice-id\u30FB--yes\uFF09
310
+ twp estimate deposits <\u898B\u7A4DID>
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 scan-order-form
313
+ \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
+ twp estimate allocation list <\u898B\u7A4DID>
315
+ \u898B\u7A4D\u306E\u90E8\u7F72\u6309\u5206\u3092\u8868\u793A\u3059\u308B
316
+ twp estimate allocation set <\u898B\u7A4DID>
317
+ \u90E8\u7F72\u6309\u5206\u3092\u5168\u4EF6\u7F6E\u304D\u63DB\u3048\u308B\uFF08--split <\u90E8\u7F72>=<\u91D1\u984D>\u30FB--yes\uFF09
318
+ twp estimate allocation delete <\u898B\u7A4DID>
319
+ \u90E8\u7F72\u6309\u5206\u3092\u3059\u3079\u3066\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
320
+ twp estimate case-document list
321
+ \u898B\u7A4D\u306E\u6848\u4EF6\u66F8\u985E\u3092\u4E00\u89A7\u3059\u308B\uFF08--estimate <\u898B\u7A4DID>\uFF09
322
+ twp estimate case-document get <\u66F8\u985EID>
323
+ \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
324
+ twp estimate case-document create
325
+ \u30D5\u30A1\u30A4\u30EB\u3092\u6848\u4EF6\u66F8\u985E\u3068\u3057\u3066\u767B\u9332\u3059\u308B\uFF08--estimate\u30FB--file\u30FB--type\u30FB--name\uFF09
326
+ twp estimate case-document add-version <\u66F8\u985EID>
327
+ \u6848\u4EF6\u66F8\u985E\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u5DEE\u3057\u66FF\u3048\u308B\uFF08\u65B0\u3057\u3044\u7248\uFF09
328
+ twp estimate case-document update <\u66F8\u985EID>
329
+ \u6848\u4EF6\u66F8\u985E\u306E\u66F8\u985E\u540D\u30FB\u7A2E\u5225\u3092\u5909\u66F4\u3059\u308B
330
+ twp estimate case-document delete <\u66F8\u985EID>
331
+ \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
+ twp estimate case-document download <\u66F8\u985EID>
333
+ \u6848\u4EF6\u66F8\u985E\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--rev \u3067\u904E\u53BB\u7248\uFF09
301
334
  twp invoice list \u8ACB\u6C42\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--customer\u30FB--allocation unallocated \u3067\u672A\u56DE\u53CE\uFF09
302
335
  twp invoice get <\u8ACB\u6C42ID>
303
336
  \u8ACB\u6C421\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
337
+ twp invoice create \u8ACB\u6C42\u3092\u4F5C\u6210\u3059\u308B\uFF08--content-file\u30FB--generate-cli-skeleton \u3067\u3072\u306A\u5F62\uFF09
338
+ twp invoice update <\u8ACB\u6C42ID>
339
+ \u8ACB\u6C42\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--content-file \u306B\u66F8\u3044\u305F\u9805\u76EE\u3060\u3051\uFF09
340
+ twp invoice delete <\u8ACB\u6C42ID>
341
+ \u8ACB\u6C42\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
342
+ twp invoice cancel <\u8ACB\u6C42ID>
343
+ \u8ACB\u6C42\u3092\u53D6\u6D88\uFF08\u7121\u52B9\uFF09\u306B\u3059\u308B\uFF08--reason\u30FB\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--yes\uFF09
344
+ twp invoice uncancel <\u8ACB\u6C42ID>
345
+ \u8ACB\u6C42\u306E\u53D6\u6D88\u3092\u89E3\u9664\u3057\u3001\u53D6\u6D88\u524D\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3078\u623B\u3059\uFF08--yes\uFF09
346
+ twp invoice consolidate \u540C\u3058\u53D6\u5F15\u5148\u306E\u8ACB\u6C42\u3092\u7D71\u5408\u8ACB\u6C42\u66F8\u306B\u307E\u3068\u3081\u308B\uFF08--invoices\u30FB--yes\uFF09
347
+ twp invoice memo <\u8ACB\u6C42ID>
348
+ \u8ACB\u6C42\u306E\u793E\u5185\u5171\u6709\u30E1\u30E2\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--text\u30FB--clear\uFF09
349
+ twp invoice export \u8ACB\u6C42\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--format mf-journal \u3067 MF \u4ED5\u8A33\uFF09
350
+ twp invoice send <\u8ACB\u6C42ID>
351
+ \u8ACB\u6C42\u66F8 PDF \u3092\u30E1\u30FC\u30EB\u3067\u9001\u308B\uFF08--to \u306E\u5B9B\u5148\u3078\u5C4A\u304F\u30FB--yes\uFF09
352
+ twp invoice payment-link <\u8ACB\u6C42ID>
353
+ \u652F\u6255\u3044\u30EA\u30F3\u30AF\uFF08Stripe\uFF09\u3092\u4F5C\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
354
+ twp invoice auto-template list
355
+ \u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4E00\u89A7\u3059\u308B\uFF08--active\u30FB\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09
356
+ twp invoice auto-template get <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8ID>
357
+ \u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C81\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u6B21\u306E\u767A\u884C\u306E\u898B\u8FBC\u307F\u3064\u304D\uFF09
358
+ twp invoice auto-template create
359
+ \u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u4F5C\u6210\u3059\u308B\uFF08--content-file\u30FB\u6709\u52B9\u306A\u3089\u672C\u7269\u306E\u8ACB\u6C42\u3092\u767A\u884C\uFF09
360
+ twp invoice auto-template update <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8ID>
361
+ \u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--content-file \u306B\u66F8\u3044\u305F\u9805\u76EE\u3060\u3051\uFF09
362
+ twp invoice auto-template delete <\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8ID>
363
+ \u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
364
+ twp invoice auto-template history (<\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8ID> | --all-templates)
365
+ \u81EA\u52D5\u767A\u884C\u306E\u5C65\u6B74\u3092\u4E00\u89A7\u3059\u308B\uFF08--status\u30FB--from/--to\uFF09
366
+ 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
+ twp contract get <\u5951\u7D04ID>
368
+ \u53D6\u5F15\u5951\u7D041\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B
369
+ twp contract create \u53D6\u5F15\u5951\u7D04\u3092\u4F5C\u6210\u3059\u308B\uFF08--content-file\u30FB--generate-cli-skeleton --estimate \u3067\u3072\u306A\u5F62\uFF09
370
+ twp contract update <\u5951\u7D04ID>
371
+ \u53D6\u5F15\u5951\u7D04\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08--content-file \u306B\u66F8\u3044\u305F\u9805\u76EE\u3060\u3051\uFF09
372
+ twp contract delete <\u5951\u7D04ID>
373
+ \u53D6\u5F15\u5951\u7D04\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u8ACB\u6C42\u304C\u7D10\u3065\u3051\u3070\u65AD\u3089\u308C\u308B\uFF09
374
+ twp deposit list \u5165\u91D1\u3092\u4E00\u89A7\u3059\u308B\uFF08--customer\u30FB--allocation\u30FB--from/--to\u3002\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\uFF09
375
+ twp deposit get <\u5165\u91D1ID>
376
+ \u5165\u91D11\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u5F15\u5F53\u306E\u5185\u8A33\u3064\u304D\uFF09
377
+ twp deposit create \u5165\u91D1\u3092\u767B\u9332\u3059\u308B\uFF08--payee\u30FB--date\u30FB--amount\uFF09
378
+ twp deposit update <\u5165\u91D1ID>
379
+ \u5165\u91D1\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u30FB--clear \u3067\u7A7A\u306B\uFF09
380
+ twp deposit delete <\u5165\u91D1ID>
381
+ \u5165\u91D1\u3092\u524A\u9664\u3059\u308B\uFF08\u5F15\u5F53\u3082\u89E3\u9664\u3055\u308C\u308B\u30FB--yes \u304C\u8981\u308B\uFF09
382
+ twp deposit export \u5165\u91D1\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB\u5F15\u5F53\u660E\u7D301\u884C\uFF1D1\u30EC\u30B3\u30FC\u30C9\uFF09
383
+ twp deposit allocation list <\u5165\u91D1ID>
384
+ \u5165\u91D1\u306E\u5F15\u5F53\u3092\u4E00\u89A7\u3059\u308B
385
+ twp deposit allocation add <\u5165\u91D1ID>
386
+ \u8ACB\u6C42\u3078\u5F15\u304D\u5F53\u3066\u308B\uFF08--invoice-id / --invoice \u3068 --amount\u30FB--file \u3067\u4E00\u62EC\uFF09
387
+ twp deposit allocation remove <\u5165\u91D1ID> <\u5F15\u5F53ID>
388
+ \u5F15\u5F53\u3092\u89E3\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
389
+ twp deposit allocation fill <\u5165\u91D1ID>
390
+ \u65E2\u5B58\u306E\u5F15\u5F53\u3092\u8ACB\u6C42\u306E\u672A\u5165\u91D1\u6B8B\u307E\u3067\u5F15\u304D\u4E0A\u3052\u308B\uFF08--yes \u304C\u8981\u308B\uFF09
391
+ twp deposit plan list \u5165\u91D1\u4E88\u5B9A\uFF08\u652F\u6255\u671F\u65E5\u3067\u7D5E\u3063\u305F\u672A\u56DE\u53CE\u8ACB\u6C42\u306E\u53D6\u5F15\u5148\u3054\u3068\u306E\u5408\u8A08\uFF09\u3092\u4E00\u89A7\u3059\u308B
392
+ twp deposit plan register
393
+ \u5165\u91D1\u4E88\u5B9A\u304B\u3089\u5165\u91D1\u3068\u5F15\u5F53\u3092\u307E\u3068\u3081\u3066\u767B\u9332\u3059\u308B\uFF08--content-file\u30FB--generate-cli-skeleton\uFF09
394
+ twp receivable list \u57FA\u6E96\u5E74\u6708\u306E\u58F2\u639B\u91D1\u6B8B\u9AD8\uFF08\u30B5\u30DE\u30EA\u30FC\u3068\u660E\u7D30\uFF09\u3092\u8868\u793A\u3059\u308B\uFF08--month\uFF09
395
+ twp receivable export \u58F2\u639B\u91D1\u6B8B\u9AD8\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08--out\u30FB--type summary|detail\uFF09
396
+ twp receivable closing list
397
+ \u7DE0\u3081\u6E08\u307F\u306E\u6708\u3092\u4E00\u89A7\u3059\u308B\uFF08\u78BA\u5B9A\u5024\u3068\u306E\u5DEE\u7570\u306E\u6709\u7121\u3064\u304D\uFF09
398
+ twp receivable closing get <\u5E74\u6708>
399
+ 1\u304B\u6708\u306E\u7DE0\u3081\u306E\u72B6\u614B\uFF08\u78BA\u5B9A\u5024\u30FB\u73FE\u5728\u5024\u30FB\u5DEE\u7570\uFF09\u3092\u8868\u793A\u3059\u308B
400
+ twp receivable closing close <\u5E74\u6708>
401
+ \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
+ twp receivable closing reopen <\u5E74\u6708>
403
+ \u6708\u306E\u7DE0\u3081\u3092\u89E3\u9664\u3059\u308B\uFF08\u78BA\u5B9A\u5024\u3092\u6D88\u3059\u30FB--yes \u304C\u8981\u308B\uFF09
304
404
  twp company list \u53D6\u5F15\u5148\u4F01\u696D\u3092\u4E00\u89A7\u3059\u308B\uFF08--keyword\uFF09
305
405
  twp company get <\u53D6\u5F15\u5148>
306
406
  \u53D6\u5F15\u5148\u4F01\u696D1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u540D\u524D\u304B ID\uFF09
@@ -437,15 +537,15 @@ TUI \u5185:
437
537
  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
438
538
  \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
439
539
  `;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
440
- `);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-3X7HPIPM.js");if(first==="completion"){process.exitCode=completion.runCompletion(rest,process.stdout,process.stderr);return}
441
- const[{loadDomain},{loadUserConfig}]=await Promise.all([import("./registry-XBYUPKQQ.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=
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=
442
542
  await runConfigure(rest);return}const args=parseArgv(process.argv.slice(2));if(args.command==="version"){process.stdout.write(`${VERSION}
443
543
  `);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(" ")}
444
544
 
445
- ${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-6JRHCC67.js");process.exitCode=await runDomain({domain:args.domain,...args.operation!==void 0?{operation:args.operation}:{},argv:args.domainArgv,help:args.
446
- 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-BZVUZIOB.js");process.exitCode=await runApiCommand({argv:args.domainArgv,help:args.domainHelp,globals:{...args.profile!==void 0?{profile:args.profile}:{},...args.output!==
447
- 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-7PGS2PTH.js");
448
- 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-RCDYCU6L.js");process.exitCode=await runTaskLoop(
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(
449
549
  {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,
450
- 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-RYWJ6ECA.js");process.exitCode=await runOneShot({prompt:args.prompt??"",fromStdin:args.promptFromStdin,mode:args.mode??"dev",...args.permissionMode!==void 0?{permissionMode:args.permissionMode}:{},allowedTools:args.
451
- 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-SNRFIHTQ.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();
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();
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-ZOOEH7ZE.js";import{ServerSkillCatalog,formatSkillOrigins}from"./chunk-L52XJFJR.js";import{claudeConfigDir,resolveDetectDeps}from"./chunk-T4QZO6RQ.js";import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,promptSection}from"./chunk-RFBFR567.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,
4
- writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-VBX44RKP.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-QWSXHHFT.js";import"./chunk-VK2Z4QGC.js";import"./chunk-P4AEFKLM.js";import"./chunk-VRBI2NPI.js";import{resolveProjectRef,uuidProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";
3
+ import{REQUIRE_ZERO_STATUS,ScheduleApi,collectDue,gateStatus,nowInZone,parseCounts,promptSection}from"./chunk-RFBFR567.js";import{InstanceLock,buildLockOwner,defaultIsLoopProcess,writeLockOwner}from"./chunk-3WHC4FSG.js";import{LoopSettingsApplier,renderStepBudget}from"./chunk-VBX44RKP.js";import{EngineNotConfiguredError,NoopEngine,UnknownEngineError,aiUnavailableLabel,assertKnownEngine,failureHint,isAiUnavailable,needsHumanToRestoreAi}from"./chunk-ZOOEH7ZE.js";import{ServerSkillCatalog,
4
+ formatSkillOrigins}from"./chunk-L52XJFJR.js";import{AgentLoopApi,describeError,filterByStatus,isPermanent,pick,pickString}from"./chunk-QWSXHHFT.js";import"./chunk-VK2Z4QGC.js";import{claudeConfigDir,resolveDetectDeps}from"./chunk-T4QZO6RQ.js";import"./chunk-P4AEFKLM.js";import"./chunk-VRBI2NPI.js";import{resolveProjectRef,uuidProjectIdPolicy}from"./chunk-GMBJTG6A.js";import{AuthSession}from"./chunk-XNLIEUAW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";
5
5
  import{compareVersionCores,parseVersionCore}from"./chunk-DXXFUNYN.js";import{effectiveApiUrl,resolveProfile}from"./chunk-4VZKNEVN.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{duplicateTaskKeyDropReason,excludedKeyInArgs,extractPlanJson,parseOpsCount,parsePlanExcludeKeys,placeholderTaskKey,releaseDeployDropReason,stepToItem,zeroTargetDropReasons}from"./chunk-VCZVITWG.js";import{CapacityReporter,buildLoopConfig,describeOperations,evaluateOwnership,formatHookIds,
6
6
  formatHookWiring,localDate,loopStateDir,runHook,runPrefetch,runPreflight}from"./chunk-QVPU4HHG.js";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-7WSNIXTQ.js";
7
7
  import{joinFor}from"./chunk-PMOUHEJQ.js";import"./chunk-5WGOHFAS.js";import{twpHomeDir}from"./chunk-RZVI6PMW.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(
@@ -312,7 +312,7 @@ const startedAtMs=now();let warned="";let done=false;const check=()=>{if(done)re
312
312
  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`)}
313
313
  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()})}
314
314
  `);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)||
315
- 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-AHCYPQ5Y.js");const{DEFAULT_PREFLIGHT_HOSTS}=await import("./ai-dispatch-AHCYPQ5Y.js");const extraHosts=config.
315
+ 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-KRMDHQEF.js");const{DEFAULT_PREFLIGHT_HOSTS}=await import("./ai-dispatch-KRMDHQEF.js");const extraHosts=config.
316
316
  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.
317
317
  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}
318
318
  `);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.
@@ -0,0 +1,71 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{customerDocumentSubresources}from"./chunk-4ZT5LTRX.js";import{COMPANY_FIELDS,COMPANY_LICENSE,CUSTOMER_LICENSE,customerSubresources,customerWriteOperations,dataOf,levelForbidden}from"./chunk-QQLWMHGR.js";import"./chunk-VECUCVIY.js";import"./chunk-DDKZ5IPT.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MHRGKUMK.js";import"./chunk-I6DWJXPC.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-RZ54TCQU.js";import{repeatedValues}from"./chunk-IOGVQVGD.js";
4
+ import"./chunk-UDPJ2IGK.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-ELXDRPDV.js";import{ApiError}from"./chunk-IF2K4PM5.js";import{isSafePathSegment}from"./chunk-GMBJTG6A.js";import"./chunk-XNLIEUAW.js";import"./chunk-J7QYPKVK.js";import"./chunk-4VZKNEVN.js";import"./chunk-QQRJLH6B.js";import"./chunk-NHYMHCAT.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-5R4SEO3I.js";import"./chunk-II5RVJQN.js";import{requireResolved,singleRef,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import"./chunk-RZVI6PMW.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
+ 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
+ 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
+ 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\
9
+ er true) [\u9805\u76EE\u2026]",description:"--name \u304C\u5FC5\u9808\u3067\u3059\u3002\u9867\u5BA2\uFF08--customer true\uFF09\u304B\u4ED5\u5165\u5148\uFF08--supplier true\uFF09\u306E\u5C11\u306A\u304F\u3068\u3082\u4E00\u65B9\u304C\u8981\u308A\u307E\u3059\uFF08\u30B5\u30FC\u30D0\u3082\u540C\u3058\u6761\u4EF6\u3067\u65AD\u308A\u307E\u3059\uFF09\u3002\n\u9867\u5BA2\u3068\u3057\u3066\u767B\u9332\u3059\u308B\u3060\u3051\u306A\u3089 twp customer create \u3067\u3082\u540C\u3058\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u4F5C\u6210\u3057\u305F\u53D6\u5F15\u5148\u306E ID \u304C\u8FD4\u308A\u307E\u3059\u3002",
10
+ forbidden:WRITE_FORBIDDEN,flags:createFlags(FIELDS),plan(input){if(input.args.length>0)throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp company create help");const body=fieldBody(input,FIELDS);if(body["company_name"]===void 0)throw new UsageError("--name \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp company create help");if(body["customer_flg"]!==true&&body["supplier_flg"]!==true){throw new UsageError("-\
11
+ -customer true \u304B --supplier true \u306E\u5C11\u306A\u304F\u3068\u3082\u4E00\u65B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","\u30B5\u30FC\u30D0\u306F\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u3069\u3061\u3089\u3067\u3082\u306A\u3044\u53D6\u5F15\u5148\u3092\u767B\u9332\u3057\u307E\u305B\u3093\u3002")}return{method:"POST",path:SALES_COMPANIES_PATH,body}},summarize:body=>pick(dataOf(body,"\u53D6\u5F15\u5148\u306E\u767B\u9332"),COLUMNS),raw:body=>dataOf(body,"\u53D6\u5F15\u5148\u306E\u767B\u9332")};
12
+ var updateOperation={name:"update",summary:"\u53D6\u5F15\u5148\u4F01\u696D\u306E\u9805\u76EE\u3092\u66F4\u65B0\u3059\u308B",usage:"twp company update <\u53D6\u5F15\u5148> [\u9805\u76EE\u2026]",description:`\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u5909\u66F4\u3057\u307E\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\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
13
+ \u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u4E21\u65B9\u3092 false \u306B\u3059\u308B\u5909\u66F4\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\u3002
14
+
15
+ ${REF_HELP}`,forbidden:WRITE_FORBIDDEN,flags:updateFlags(FIELDS),async prepare(input,ctx){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","twp company update help");fieldBody(input,FIELDS);return resolveCompany(input,ctx,"twp company update help")},plan:input=>({method:"PUT",path:companyPath(input),body:fieldBody(input,FIELDS)}),summarize:body=>pick(dataOf(body,"\u53D6\u5F15\u5148\u306E\u66F4\u65B0"),
16
+ COLUMNS),raw:body=>dataOf(body,"\u53D6\u5F15\u5148\u306E\u66F4\u65B0")};function truthy(value){return value===true||value===1||value==="1"}var toCustomerDelete=id=>`twp customer delete ${id} --yes \u3067\u3001\u4F01\u696D \u2192 \u62C5\u5F53\u8005\u306E\u9806\u306B\u6D88\u3057\u3066\u304F\u3060\u3055\u3044\uFF08\u53D6\u5F15\u5148\u306E\u524A\u9664\u306F\u62C5\u5F53\u8005\u3092\u6D88\u3055\u306A\u3044\u305F\u3081\u3001\u3053\u3053\u3067\u6D88\u3059\u3068\u62C5\u5F53\u8005\u3060\u3051\u304C\u6B8B\u308A\u307E\u3059\uFF09\u3002\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u7121\u3051\u308C\u3070\u3001\u6A29\u9650\u3092\u6301\u3064\u4EBA\u306B\u4F9D\u983C\u3057\u3066\u304F\u3060\u3055\u3044\u3002`;
17
+ async function prepareDelete(input,ctx){const resolved=await resolveCompany(input,ctx,"twp company delete help");const id=requireResolved(resolved,"companyId");const record=await ctx.resolver.companyRecord(id);if(record===null)throw new UsageError(`\u53D6\u5F15\u5148 ${id} \u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u524A\u9664\u6E08\u307F\u304B\u3082\u3057\u308C\u307E\u305B\u3093\uFF09`,"twp company list \u3067\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002");const customer=truthy(record["\
18
+ customer_flg"]);let contacts;try{contacts=(await ctx.resolver.customerChildren(id,"contacts")).length}catch(err){if(!(err instanceof ApiError&&err.status===403))throw err;if(customer){throw new UsageError(`\u53D6\u5F15\u5148 ${id} \u306F\u9867\u5BA2\u3067\u3059\u304C\u3001\u62C5\u5F53\u8005\u304C\u6B8B\u3063\u3066\u3044\u306A\u3044\u304B\u3092\u78BA\u304B\u3081\u3089\u308C\u306A\u3044\u305F\u3081\u524A\u9664\u3057\u307E\u305B\u3093\uFF08\u62C5\u5F53\u8005\u3092\u898B\u308B\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\uFF09\u3002`,
19
+ toCustomerDelete(id))}return withResolved(resolved,{kind:"unchecked"})}if(contacts>0){throw new UsageError(`\u53D6\u5F15\u5148 ${id} \u306B\u306F\u62C5\u5F53\u8005\u304C ${contacts} \u4EF6\u6B8B\u3063\u3066\u3044\u307E\u3059${customer?"":"\uFF08\u9867\u5BA2\u306E\u533A\u5206\u306F\u5916\u308C\u3066\u3044\u307E\u3059\uFF09"}\u3002`,customer?toCustomerDelete(id):`twp company update ${id} --customer true \u3067\u9867\u5BA2\u306B\u623B\u3057\u3066\u304B\u3089\u3001${toCustomerDelete(id)}`)}return withResolved(
20
+ resolved,{kind:customer?"customer":"supplier"})}var deleteOperation={name:"delete",summary:"\u53D6\u5F15\u5148\u4F01\u696D\u3092\u524A\u9664\u3059\u308B\uFF08--yes \u304C\u8981\u308B\u30FB\u62C5\u5F53\u8005\u304C\u6B8B\u308C\u3070 twp customer delete \u3078\uFF09",usage:"twp company delete <\u53D6\u5F15\u5148> --yes",description:`${REF_HELP}
21
+
22
+ \u898B\u7A4D\u30FB\u8ACB\u6C42\u66F8\u30FB\u6848\u4EF6\u66F8\u985E\u30FB\u5951\u7D04\u66F8\u30FB\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7B49\u304B\u3089\u4F7F\u308F\u308C\u3066\u3044\u308B\u53D6\u5F15\u5148\u306F\u30B5\u30FC\u30D0\u304C\u65AD\u308A\u307E\u3059\uFF08\u7406\u7531\u3092\u305D\u306E\u307E\u307E\u51FA\u3057\u3066\u6B62\u307E\u308A\u307E\u3059\uFF09\u3002
23
+ \u5BFE\u5FDC\u5C65\u6B74\u306F\u30B5\u30FC\u30D0\u304C\u4F75\u305B\u3066\u524A\u9664\u3057\u307E\u3059\u3002**\u62C5\u5F53\u8005\u306F\u524A\u9664\u3055\u308C\u306A\u3044**\u306E\u3067\u3001\u62C5\u5F53\u8005\u304C\u6B8B\u308B\u53D6\u5F15\u5148\u306F\uFF08\u9867\u5BA2\u306E\u533A\u5206\u3092\u5916\u3057\u305F\u4F01\u696D\u3082\uFF09\u9001\u308B\u524D\u306B\u6B62\u3081\u3001twp customer delete \u3092\u6848\u5185\u3057\u307E\u3059\u3002`,destructive:true,forbidden:DELETE_FORBIDDEN,flags:[],prepare:prepareDelete,
24
+ plan:input=>({method:"DELETE",path:companyPath(input)}),plannedNotes:input=>[input.resolved?.["kind"]==="unchecked"?"\u4ED5\u5165\u5148\u3060\u3051\u306E\u53D6\u5F15\u5148\u3067\u3059\u3002\u62C5\u5F53\u8005\u306E\u6709\u7121\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u7121\u3044\u305F\u3081\u78BA\u304B\u3081\u3066\u3044\u307E\u305B\u3093\u3002":"\u62C5\u5F53\u8005\u304C\u6B8B\u3063\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u78BA\u304B\u3081\u307E\u3057\u305F\u3002\u5BFE\u5FDC\u5C65\u6B74\u306F\u30B5\u30FC\u30D0\u304C\u9023\u9396\u3057\u3066\u524A\u9664\u3057\u307E\u3059\u3002"],
25
+ summarize:body=>acknowledgement(body,"\u53D6\u5F15\u5148\u524A\u9664"),raw:body=>acknowledgement(body,"\u53D6\u5F15\u5148\u524A\u9664")};var companyWriteOperations=[createOperation,updateOperation,deleteOperation];var PEOPLE_COLUMNS=["id","company_id","company_name","name","department","position","email","phone","is_customer"];var PERSON_GET_COLUMNS=[...PEOPLE_COLUMNS,"name_kana","role_label","mobile","is_primary","notes","business_card_owner_name","updated_at"];var VIEW_FORBIDDEN=levelForbidden(CUSTOMER_LICENSE,"\u4EBA\u7269\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");
26
+ var EXPORT_FORBIDDEN=levelForbidden(CUSTOMER_LICENSE,"\u4EBA\u7269\u306E CSV \u51FA\u529B\u306B\u306F\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7BA1\u7406\u8005\u300D\u3067\u3042\u308B\u3053\u3068\u304C\u8981\u308A\u307E\u3059\uFF08\u300C\u7DE8\u96C6\u8005\u300D\u300C\u95B2\u89A7\u8005\u300D\u3067\u306F\u51FA\u529B\u3067\u304D\u307E\u305B\u3093\uFF09\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");var TRUNCATED_NOTE="\u26A0 \u30B5\u30FC\
27
+ \u30D0\u306E\u8D70\u67FB\u4E0A\u9650\uFF08\u30C6\u30CA\u30F3\u30C8\u306E\u62C5\u5F53\u8005 5,000 \u4EF6\uFF09\u3067\u6253\u3061\u5207\u3089\u308C\u305F\u305F\u3081\u3001\u3053\u306E\u7D50\u679C\u306F\u5168\u4EF6\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u4EF6\u6570\u3082\u78BA\u5B9A\u5024\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002--company \u3084 --keyword \u3067\u5BFE\u8C61\u3092\u7D5E\u3063\u3066\u304F\u3060\u3055\u3044\u3002";var CAMPAIGN_FLAG={name:"--campaign",summary:"\u65BD\u7B56\u306E \
28
+ ID \u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u7E70\u308A\u8FD4\u3057\u6307\u5B9A\u3067\u304D\u308B\uFF09",takesValue:true,placeholder:"<\u65BD\u7B56ID>",repeatable:true};var FILTER_FLAGS=[{name:"--keyword",summary:"\u6C0F\u540D\u30FB\u30D5\u30EA\u30AC\u30CA\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u306A\u3069\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"},{name:"--company",summary:"\u4F01\u696D\u540D\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u90E8\u5206\u4E00\u81F4\uFF09",
29
+ takesValue:true,placeholder:"<\u8A9E>"},{name:"--owner",summary:"\u540D\u523A\u306E\u62C5\u5F53\u8005\uFF08\u30E6\u30FC\u30B6\u30FC\u3002ID\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u793E\u54E1\u756A\u53F7\u30FB\u6C0F\u540D\uFF09\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u30E6\u30FC\u30B6\u30FC>"},CAMPAIGN_FLAG,{name:"--is-customer",summary:"\u9867\u5BA2\u5148\u306E\u4EBA\u7269\u3060\u3051\uFF08true\uFF09\u304B\u3001\u9867\u5BA2\u5148\u3067\u306A\u3044\u4EBA\u7269\u3060\u3051\uFF08false\uFF09",
30
+ takesValue:true,placeholder:"<true|false>"}];function isCustomerOf(input){const raw=input.flags.get("--is-customer");if(raw===void 0)return void 0;const value=raw.trim().toLowerCase();if(value!=="true"&&value!=="false")throw new UsageError(`--is-customer \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u6307\u5B9A\u3067\u304D\u308B\u306E\u306F true / false \u3067\u3059\u3002");return value}function filterQuery(input){const campaigns=repeatedValues(input,CAMPAIGN_FLAG.name);
31
+ const bad=campaigns.find(value=>value.includes(","));if(bad!==void 0)throw new UsageError(`--campaign \u306B\u30AB\u30F3\u30DE\u3092\u542B\u3080\u5024\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093: ${bad}`,"\u5024\u3054\u3068\u306B --campaign \u3092\u7E70\u308A\u8FD4\u3057\u3066\u304F\u3060\u3055\u3044\u3002");return{keyword:nonEmpty(input.flags,"--keyword"),company_keyword:nonEmpty(input.flags,"--company"),owner_user_ids:input.resolved?.["ownerUserId"],campaign_ids:campaigns.length>0?[...campaigns]:
32
+ void 0,is_customer:isCustomerOf(input)}}async function prepareFilters(input,ctx,usage){if(input.args.length>0)throw new UsageError(`\u4F4D\u7F6E\u5F15\u6570\u306F\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,usage);filterQuery(input);const owner=nonEmpty(input.flags,"--owner");return owner===void 0?input:withResolved(input,{ownerUserId:(await ctx.resolver.user(owner,"--owner")).id})}var listPaging=envelopePaging({label:"\u4EBA\u7269\u4E00\u89A7"});function truncated(body){return isRecord(
33
+ body)&&body["scan_truncated"]===true}var listOperation={name:"list",summary:"\u4F01\u696D\u3092\u307E\u305F\u3044\u3067\u4EBA\u7269\uFF08\u9867\u5BA2\u306E\u62C5\u5F53\u8005\uFF09\u3092\u4E00\u89A7\u3059\u308B\uFF08\u30D5\u30EA\u30AC\u30CA\u9806\uFF09",usage:"twp customer people list [--keyword <\u8A9E>] [--company <\u8A9E>] [--owner <\u30E6\u30FC\u30B6\u30FC>] [--campaign <\u65BD\u7B56ID>\u2026] [--is-customer true|false] [--all] [--limit <\u4EF6\u6570>]",description:`\u30C6\u30CA\u30F3\u30C8\u5185\u306E\u5168\u9867\u5BA2\u306E\u62C5\u5F53\u8005\u3092\u3001\u4F01\u696D\u3092\u307E\u305F\u3044\u3067\u30D5\u30EA\u30AC\u30CA\
34
+ \u9806\u306B\u4E00\u89A7\u3057\u307E\u3059\u3002\u4F01\u696D\u3054\u3068\u306E\u4E00\u89A7\u306F twp customer contact list \u3067\u3059\u3002
35
+ \u7D5E\u308A\u8FBC\u307F\u5168\u4F53\u306E\u4EF6\u6570\u306F stderr \u306B\u51FA\u307E\u3059\u3002\u30B5\u30FC\u30D0\u306E\u8D70\u67FB\u4E0A\u9650\u3067\u6253\u3061\u5207\u3089\u308C\u305F\u3068\u304D\u306F\u3001\u305D\u306E\u65E8\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08\u4EF6\u6570\u3082\u78BA\u5B9A\u5024\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3002
36
+
37
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
38
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${PEOPLE_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
39
+
40
+ ${LIST_PAGING_HELP}`,flags:[...LIST_FLAGS,...FILTER_FLAGS],paging:listPaging,forbidden:VIEW_FORBIDDEN,prepare:(input,ctx)=>prepareFilters(input,ctx,"twp customer people list help"),plan:input=>({method:"GET",path:`${CUSTOMERS_PATH}/contacts`,query:{...filterQuery(input),limit:positiveInteger(input.flags,"--limit"),cursor:nonEmpty(input.flags,"--cursor")}}),summarize:body=>listPaging.items(body).map(row=>pick(row,PEOPLE_COLUMNS)),raw:body=>listPaging.items(body),notes:body=>{if(truncated(body))return[
41
+ TRUNCATED_NOTE];return isRecord(body)&&typeof body["total"]==="number"?[`\u8A72\u5F53 ${body["total"]} \u4EF6`]:[]}};var getOperation={name:"get",summary:"\u4EBA\u72691\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u6240\u5C5E\u4F01\u696D\u540D\u3064\u304D\uFF09",usage:"twp customer people get <\u4EBA\u7269ID>",description:`\u4EBA\u7269\u306E ID \u306F twp customer people list \u306E id \u5217\uFF08\u62C5\u5F53\u8005\u306E ID \u3068\u540C\u3058\uFF09\u3067\u3059\u3002\u6240\u5C5E\u3059\u308B\u9867\u5BA2\u3092\u77E5\u3089\u306A\u304F\u3066\u3082\u5F15\u3051\u307E\u3059\u3002
42
+
43
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\uFF08\u540D\u523A business_cards \u3092\u542B\u3080\uFF09\u3092\u51FA\u3057\u307E\u3059\u3002
44
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${PERSON_GET_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002`,flags:[],forbidden:VIEW_FORBIDDEN,plan(input){const[raw,...rest]=input.args;const usage="twp customer people get help";if(raw===void 0||raw.trim()==="")throw new UsageError("\u4EBA\u7269\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044",usage);if(rest.length>0)throw new UsageError(`\u53D7\u3051\u53D6\u308C\u308B\u4EBA\u7269\u306E ID \u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.
45
+ join(" ")}`,usage);const id=raw.trim();if(!isSafePathSegment(id)||id==="export"){throw new UsageError(`\u4EBA\u7269\u306E ID \u3068\u3057\u3066\u4F7F\u3048\u306A\u3044\u5024\u3067\u3059: ${id}`,"twp customer people list \u306E id \u5217\u306E\u5024\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002")}return{method:"GET",path:`${CUSTOMERS_PATH}/contacts/${encodeURIComponent(id)}`}},summarize:body=>pick(dataOf(body,"\u4EBA\u7269"),PERSON_GET_COLUMNS),raw:body=>dataOf(body,"\u4EBA\u7269")};
46
+ var SCAN_TRUNCATED_HEADER="x-scan-truncated";var exportOperation={name:"export",summary:"\u4EBA\u7269\u3092 CSV \u306B\u66F8\u304D\u51FA\u3059\uFF08\u9867\u5BA2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u306E\u307F\u30FB--out\uFF09",usage:"twp customer people export --out <\u30D1\u30B9.csv> [--force] [\u7D5E\u308A\u8FBC\u307F\u2026]",description:"\u7D5E\u308A\u8FBC\u307F\uFF08twp customer people list \u3068\u540C\u3058\uFF09\u306B\u5F53\u305F\u308B\u4EBA\u7269\u3092 CSV\uFF08UTF-8\u30FBBOM \u4ED8\u304D\uFF09\u3067\u66F8\u304D\u51FA\u3057\u307E\u3059\u3002\u30DA\u30FC\u30B8\u30F3\u30B0\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\u5217\u306F \u6C0F\u540D\u30FB\u30D5\u30EA\u30AC\u30CA\u30FB\u4F01\u696D\u540D\u30FB\u90E8\u7F72\u30FB\u5F79\u8077\u30FB\u5F79\u5272\u30FB\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u30FB\u96FB\u8A71\u756A\u53F7\u30FB\u643A\u5E2F\u756A\u53F7\u30FB\u4E3B\u62C5\u5F53\u30FB\u9867\u5BA2\u5148\u30FB\u540D\u523A\u306E\u62C5\u5F53\u8005\u30FB\u6240\u5C5E\u65BD\u7B56\u30FB\u30E1\u30E2\u30FB\u88CF\u9762\u30E1\u30E2 \u3067\u3059\u3002\n\u30B5\u30FC\u30D0\
47
+ \u306E\u8D70\u67FB\u4E0A\u9650\u3067\u6253\u3061\u5207\u3089\u308C\u305F\u3068\u304D\u306F\u3001\u66F8\u304D\u51FA\u3057\u305F\u3046\u3048\u3067\u5168\u4EF6\u3067\u306F\u306A\u3044\u3053\u3068\u3092 stderr \u3068 --output json \u306E headers \u306B\u51FA\u3057\u307E\u3059\u3002\n\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",flags:[{name:"--out",summary:"\u66F8\u304D\u51FA\u3057\u5148\u306E\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9\uFF08\u5FC5\u9808\uFF09",
48
+ takesValue:true,placeholder:"<\u30D1\u30B9>"},{name:"--force",summary:"\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u4E0A\u66F8\u304D\u3059\u308B",takesValue:false},...FILTER_FLAGS],download:{outFlag:"--out",forceFlag:"--force",captureHeaders:[SCAN_TRUNCATED_HEADER]},forbidden:EXPORT_FORBIDDEN,prepare:(input,ctx)=>prepareFilters(input,ctx,"twp customer people export help"),plan:input=>({method:"GET",path:`${CUSTOMERS_PATH}/contacts/export`,query:filterQuery(input)}),summarize:body=>body,raw:body=>body,
49
+ notes:body=>body?.headers?.[SCAN_TRUNCATED_HEADER]==="1"?[TRUNCATED_NOTE]:[]};var peopleResource={name:"people",summary:"\u4F01\u696D\u3092\u307E\u305F\u3044\u3060\u4EBA\u7269\uFF08\u9867\u5BA2\u306E\u62C5\u5F53\u8005\uFF09\u306E\u4E00\u89A7\u30FB\u8A73\u7D30\u30FBCSV \u51FA\u529B",operations:[listOperation,getOperation,exportOperation]};var LIST_COLUMNS=["id","company_name","company_short_name","customer_flg","supplier_flg","tel"];var COMPANY_GET_COLUMNS=["id","company_name","company_name_kana","company_short_name","company_no","customer_flg","supplier_flg","post_code","address1","address2","address3","tel","website","start_date","end_date"];var COMPANY={name:"company",label:"\u53D6\u5F15\u5148",path:SALES_COMPANIES_PATH,source:"sales",forbidden:licenseForbidden("\u53D6\u5F15\u5148\u3092\u898B\u308B\u306B\u306F\u8CA9\u58F2\u7BA1\u7406\u304B\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u8981\u308A\u307E\u3059\u304C\u3001\u3069\u3061\u3089\u3082\u3042\u308A\u307E\u305B\u3093\u3002\u30C6\u30CA\u30F3\u30C8\u304C\u3069\u3061\u3089\u3082\u5951\u7D04\u3057\u3066\u3044\u306A\u3044\u304B\u3001\u3042\u306A\u305F\u306E\u6A29\u9650\u304C\u3069\u3061\u3089\
50
+ \u3082\u300C\u306A\u3057\u300D\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002"),getColumns:COMPANY_GET_COLUMNS};var CUSTOMER={name:"customer",label:"\u9867\u5BA2",path:CUSTOMERS_PATH,source:"customer",forbidden:licenseForbidden(featureLicenseGuidance("\u9867\u5BA2\u7BA1\u7406")),getColumns:[...COMPANY_GET_COLUMNS,"industry","contact_count"]};function envelope(body,what){if(!isRecord(body)||body["\
51
+ 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 detail(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!=="string"){throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306B data.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
52
+ return data}function listOperation2(resource){const paging=pageNumberPaging({label:`${resource.label}\u4E00\u89A7`});const rows=body=>{envelope(body,`${resource.label}\u4E00\u89A7`);return paging.items(body)};const scope=resource.name==="customer"?"\u9867\u5BA2\uFF08\u53D6\u5F15\u5148\u306E\u3046\u3061\u9867\u5BA2\u3068\u3057\u3066\u767B\u9332\u3055\u308C\u305F\u3082\u306E\uFF09\u3092\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\u306B\u4E00\u89A7\u3057\u307E\u3059\u3002\u4ED5\u5165\u5148\u3060\u3051\u306E\u53D6\u5F15\u5148\u306F\u51FA\u307E\u305B\u3093\uFF08twp company list\uFF09\u3002\n":
53
+ "\u53D6\u5F15\u5148\u4F01\u696D\uFF08\u9867\u5BA2\u30FB\u4ED5\u5165\u5148\u306E\u4E21\u65B9\uFF09\u3092\u65B0\u3057\u304F\u767B\u9332\u3057\u305F\u9806\u306B\u4E00\u89A7\u3057\u307E\u3059\u3002\n";return{name:"list",summary:resource.name==="customer"?"\u9867\u5BA2\u3092\u4E00\u89A7\u3059\u308B\uFF08\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\uFF09":"\u53D6\u5F15\u5148\u4F01\u696D\u3092\u4E00\u89A7\u3059\u308B\uFF08\u767B\u9332\u306E\u65B0\u3057\u3044\u9806\uFF09",usage:`twp ${resource.name} list \
54
+ [--keyword <\u8A9E>] [--all] [--limit <\u4EF6\u6570>]`,description:scope+`--keyword \u306F\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u90E8\u5206\u4E00\u81F4\u3067\u3059\u3002
55
+ \u7D5E\u308A\u8FBC\u307F\u5168\u4F53\u306E\u4EF6\u6570\u306F stderr \u306B\u51FA\u307E\u3059\u3002
56
+
57
+ --output json \u306F API \u304C\u8FD4\u3059\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002
58
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${LIST_COLUMNS.join(" / ")}\uFF09\u3067\u3059\u3002
59
+
60
+ `+LIST_PAGING_HELP+"\n"+PAGE_NUMBER_PAGING_HELP,flags:[...PAGE_NUMBER_LIST_FLAGS,{name:"--keyword",summary:"\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u8A9E\u3067\u7D5E\u308A\u8FBC\u3080\uFF08\u90E8\u5206\u4E00\u81F4\uFF09",takesValue:true,placeholder:"<\u8A9E>"}],paging,forbidden:resource.forbidden,plan(input){if(input.args.length>0){throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,`twp ${resource.name} lis\
61
+ t help`)}const{page_no,page_limit}=pageNumberQuery(input);return{method:"GET",path:resource.path,query:{keyword:nonEmpty(input.flags,"--keyword"),...STABLE_PAGE_ORDER,page_limit,page_no}}},summarize:body=>rows(body).map(row=>pick(row,LIST_COLUMNS)),raw:rows,notes:body=>[...pageRangeNotes(body),...isRecord(body)&&typeof body["sum"]==="number"?[`\u8A72\u5F53 ${body["sum"]} \u4EF6`]:[]]}}async function prepareGet(input,ctx,resource){const[raw,...rest]=input.args;const usage=`twp ${resource.name} ge\
62
+ t help`;if(raw===void 0||raw.trim()==="")throw new UsageError(`${resource.label}\u306E\u540D\u524D\u304B ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,usage);if(rest.length>0){throw new UsageError(`get \u304C\u53D7\u3051\u53D6\u308C\u308B${resource.label}\u306F1\u3064\u3060\u3051\u3067\u3059: ${rest.join(" ")}`,'\u7A7A\u767D\u3092\u542B\u3080\u540D\u524D\u306F\u5F15\u7528\u7B26\u3067\u56F2\u3093\u3067\u304F\u3060\u3055\u3044\uFF08\u4F8B: "\u682A\u5F0F\u4F1A\u793E \u30B5\u30F3\u30D7\u30EB"\uFF09\u3002')}
63
+ const ref=await ctx.resolver.company(raw,{flag:`<${resource.label}>`,source:resource.source});return withResolved(input,{companyId:ref.id})}function getOperation2(resource){const what=resource.label;return{name:"get",summary:`${what}1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B`,usage:`twp ${resource.name} get <${what}>`,description:`<${what}> \u306F\u4F01\u696D\u540D\u30FB\u7565\u79F0\u30FB\u30AB\u30CA\u306E\u5B8C\u5168\u4E00\u81F4\u304B ID\uFF08twp ${resource.name} list \u306E id \u5217\u306E\u6570\u5B57\uFF09\u3067\u6307\u5B9A\
64
+ \u3057\u307E\u3059\u3002
65
+ \u540D\u524D\u306F\u30B5\u30FC\u30D0\u306E\u691C\u7D22\u3067\u5019\u88DC\u3092\u5F15\u3044\u3066\u7167\u5408\u3057\u307E\u3059\u3002\u4E00\u81F4\u3057\u306A\u3051\u308C\u3070\u8FD1\u3044\u5019\u88DC\u3092\u51FA\u3057\u3066\u6B62\u307E\u308A\u3001\u540C\u540D\u304C\u8907\u6570\u3042\u308C\u3070 ID \u3067\u6307\u5B9A\u3059\u308B\u3088\u3046\u6C42\u3081\u307E\u3059\u3002
66
+ \u6570\u5B57\u3060\u3051\u306E\u5024\u306F ID \u3068\u3057\u3066\u6271\u3044\u307E\u3059\uFF08\u793E\u540D\u304C\u6570\u5B57\u3060\u3051\u306E\u4F01\u696D\u306F ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002
67
+
68
+ `+(resource.name==="customer"?"--output json \u306F\u9867\u5BA2\u306E\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u3001\u62C5\u5F53\u8005\u6570\uFF08contact_count\uFF09\u3068\u76F4\u8FD15\u4EF6\u306E\u5BFE\u5FDC\u5C65\u6B74\uFF08recent_interactions\uFF09\u3092\u8DB3\u3057\u3066\u51FA\u3057\u307E\u3059\u3002":"--output json \u306F\u53D6\u5F15\u5148\u306E\u5168\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u51FA\u3057\u307E\u3059\u3002"),flags:[],forbidden:resource.forbidden,prepare:(input,ctx)=>prepareGet(input,
69
+ ctx,resource),plan:input=>({method:"GET",path:`${resource.path}/${encodeURIComponent(requireResolved(input,"companyId"))}`}),summarize:body=>pick(detail(body,what),resource.getColumns),raw:body=>detail(body,what)}}function buildDomain(resource,summary){return{name:resource.name,summary,operations:[listOperation2(resource),getOperation2(resource)]}}var companyRead=buildDomain(COMPANY,"");var companyDomain={name:COMPANY.name,summary:"\u53D6\u5F15\u5148\u4F01\u696D\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09",
70
+ operations:[...companyRead.operations,...companyWriteOperations]};var customerRead=buildDomain(CUSTOMER,"");var customerDomain={name:CUSTOMER.name,summary:"\u9867\u5BA2\uFF08\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u524A\u9664\u3068\u4E00\u62EC\u524A\u9664\u30FB\u985E\u4F3C\u4F01\u696D\u691C\u7D22\u30FB\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u30FB\u540D\u523A\u30FB\u4EBA\u7269\u4E00\u89A7\u30FB\u5951\u7D04\u66F8\u30FB\u6848\u4EF6\u66F8\u985E\u30FB\u65BD\u7B56\uFF09",
71
+ operations:[...customerRead.operations,...customerWriteOperations],subresources:[...customerSubresources,peopleResource,...customerDocumentSubresources]};export{companyDomain,customerDomain};
@@ -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-QBA6THJ5.js";import"./chunk-NAUH75MM.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-O4NSYHR4.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-BJLXXRSY.js";import"./chunk-NAUH75MM.js";import{API_TOKEN,DOMAIN_NAMES,HELP_TOKEN,isDomainName}from"./chunk-UVUVEL3B.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\