@tocca-systems/twp-cli 0.39.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.public.md +16 -0
  2. package/README.md +96 -1
  3. package/dist/{agent-loop-4U5RLC4L.js → agent-loop-RCMZ7IGV.js} +2 -2
  4. package/dist/{ai-dispatch-KRMDHQEF.js → ai-dispatch-2ZV4XL5D.js} +2 -2
  5. package/dist/{api-command-IO572BZ4.js → api-command-6FEY6MHV.js} +4 -4
  6. package/dist/{app-Y2RIXLS4.js → app-G6Y2XVST.js} +5 -5
  7. package/dist/{auto-update-JNSBIQM6.js → auto-update-PS5HUWVH.js} +1 -1
  8. package/dist/{auto-update-worker-Y44TD6FD.js → auto-update-worker-ZKODJ45K.js} +2 -2
  9. package/dist/{backlog-67JSQYOH.js → backlog-JVHWVL6N.js} +2 -2
  10. package/dist/{charter-command-ULFOEZWE.js → charter-command-OQQHBAPS.js} +1 -1
  11. package/dist/{chunk-4ZT5LTRX.js → chunk-43OMEGNH.js} +1 -1
  12. package/dist/{chunk-PWXXCLVZ.js → chunk-6QOT7CHX.js} +1 -1
  13. package/dist/{chunk-QDTYD5PY.js → chunk-7ACENLLZ.js} +4 -4
  14. package/dist/{chunk-HAIZHSNZ.js → chunk-7HVVKEOA.js} +2 -3
  15. package/dist/{chunk-C7UDUHQZ.js → chunk-ANK43U5E.js} +22 -20
  16. package/dist/{chunk-BJLXXRSY.js → chunk-B7YCG2T7.js} +1 -1
  17. package/dist/{chunk-MHRGKUMK.js → chunk-BPCK5RAB.js} +1 -1
  18. package/dist/{chunk-RZ54TCQU.js → chunk-BZ7ULFR3.js} +1 -1
  19. package/dist/{chunk-ELXDRPDV.js → chunk-BZAXQOLB.js} +24 -19
  20. package/dist/chunk-EOSSFTNG.js +4 -0
  21. package/dist/chunk-FKS2Z34P.js +70 -0
  22. package/dist/chunk-G2THOTBW.js +15 -0
  23. package/dist/{chunk-QQLWMHGR.js → chunk-H54MGGHB.js} +1 -1
  24. package/dist/{chunk-L52XJFJR.js → chunk-HBH5V2CP.js} +1 -1
  25. package/dist/chunk-L25UV7DE.js +13 -0
  26. package/dist/{chunk-REPGG75N.js → chunk-LNZTJI64.js} +1 -1
  27. package/dist/{chunk-RFBFR567.js → chunk-N6AXAGS2.js} +5 -5
  28. package/dist/chunk-O44ZKSD2.js +8 -0
  29. package/dist/chunk-PEM3HR7L.js +58 -0
  30. package/dist/{chunk-VECUCVIY.js → chunk-PKWMJIBM.js} +1 -1
  31. package/dist/{chunk-VBX44RKP.js → chunk-QEWI75KI.js} +1 -1
  32. package/dist/{chunk-BUZKNZ45.js → chunk-UT4FACHN.js} +5 -3
  33. package/dist/chunk-V3GQEUYI.js +16 -0
  34. package/dist/{chunk-FEOST3GF.js → chunk-VK5T7ULK.js} +1 -1
  35. package/dist/{chunk-VK2Z4QGC.js → chunk-VUHKLW66.js} +1 -1
  36. package/dist/{chunk-Y5YDL3MC.js → chunk-X5IVIOGL.js} +1 -1
  37. package/dist/{receivable-AE44YIJO.js → chunk-XN5TUZOT.js} +2 -3
  38. package/dist/{chunk-2NKVGAAE.js → chunk-YM7TKMNO.js} +1 -1
  39. package/dist/cli.js +148 -9
  40. package/dist/{commands-MLYGGSUE.js → commands-QIBFWWIT.js} +13 -13
  41. package/dist/{commands-K6DQ3O35.js → commands-VT7AVSSL.js} +4 -4
  42. package/dist/{company-3KUWW7QA.js → company-KHZVPKHH.js} +3 -3
  43. package/dist/{completion-6R5D5TQQ.js → completion-EFGQJDIU.js} +1 -1
  44. package/dist/{configure-PIOFJFL5.js → configure-XH33RB27.js} +1 -1
  45. package/dist/{contract-FGRHTOGI.js → contract-O3FIBHDY.js} +2 -2
  46. package/dist/{department-PN5DCCRL.js → department-I25NAPWU.js} +2 -2
  47. package/dist/deposit-U4AVQH5O.js +4 -0
  48. package/dist/estimate-SW43VOLO.js +173 -0
  49. package/dist/{inquiry-3VOJASJH.js → inquiry-5HSK4FPD.js} +2 -2
  50. package/dist/{invoice-KY3BYTHQ.js → invoice-RGOI2H4L.js} +50 -49
  51. package/dist/{job-title-EM6RKGQ6.js → job-title-G7MIYWVA.js} +1 -1
  52. package/dist/{knowledge-F4FZ4MLH.js → knowledge-ZPMPS6WK.js} +2 -2
  53. package/dist/{leave-D2S7NMJC.js → leave-6QI2RNO2.js} +2 -2
  54. package/dist/{logout-guard-XYVKR47G.js → logout-guard-BIF2B7JE.js} +1 -1
  55. package/dist/{media-SQVQVX2E.js → media-OV26FYD2.js} +2 -2
  56. package/dist/{notification-NTFUPUMY.js → notification-FL5GTW5S.js} +2 -2
  57. package/dist/{oneshot-TMGTEN3S.js → oneshot-XW6YVNOY.js} +2 -2
  58. package/dist/{position-D52LXRDT.js → position-UY33ETLX.js} +2 -2
  59. package/dist/{prospect-AQ7EUU4N.js → prospect-VN42J236.js} +3 -3
  60. package/dist/purchase-VQZOO3QL.js +214 -0
  61. package/dist/receivable-TNH4KCUO.js +4 -0
  62. package/dist/{registry-3WV46K26.js → registry-3236ULYR.js} +1 -1
  63. package/dist/{render-MTSSHDAZ.js → render-F4MRN2FQ.js} +1 -1
  64. package/dist/{report-TI2DOJGX.js → report-BTF5Q4F3.js} +2 -2
  65. package/dist/run-33WHOIOO.js +4 -0
  66. package/dist/sales-master-RYZKGURE.js +71 -0
  67. package/dist/sales-numbering-MBFKVR2C.js +4 -0
  68. package/dist/{schedule-command-IGTMCOA7.js → schedule-command-7JGQMTQY.js} +1 -1
  69. package/dist/{server-settings-MVZEW2QI.js → server-settings-326MD7T4.js} +1 -1
  70. package/dist/{server-skills-NXSUDHBD.js → server-skills-NJG7JP77.js} +1 -1
  71. package/dist/{setup-CVXGKBTY.js → setup-JGGFVRUW.js} +1 -1
  72. package/dist/{skill-command-4U7HB7XU.js → skill-command-DFRORWO6.js} +1 -1
  73. package/dist/supplier-payment-ZBN2QZRW.js +110 -0
  74. package/dist/{task-VKVZSF7J.js → task-CXHPLZHT.js} +3 -3
  75. package/dist/update-EYFT7STE.js +3 -0
  76. package/dist/{user-KEFI7XZI.js → user-MCDORJTG.js} +3 -3
  77. package/dist/workflow-2YL2OF2Y.js +4 -0
  78. package/package.json +1 -1
  79. package/dist/chunk-QWSXHHFT.js +0 -15
  80. package/dist/chunk-TLN3JSEC.js +0 -7
  81. package/dist/chunk-UVUVEL3B.js +0 -3
  82. package/dist/chunk-VCZVITWG.js +0 -13
  83. package/dist/deposit-XQER6PMG.js +0 -4
  84. package/dist/estimate-IXBEQVGI.js +0 -164
  85. package/dist/run-KNZ43HFF.js +0 -4
  86. package/dist/update-MAQJ6VWV.js +0 -3
  87. package/dist/workflow-4FHTOQZZ.js +0 -4
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{isModeId,isPermissionModeId}from"./chunk-NAUH75MM.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-UVUVEL3B.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";var BUILTIN_COMMANDS=["login","logout","whoami","update","task-loop"];var TASK_LOOP_ACTIONS=["run","status","stop","schedule","setup","charter","skill"];var VALUE_FLAGS=new Set(["-p","--print","--profile","--tenant","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--project","--engine","--interval","--max-cycles","--ai","--workspace","--ai-config-file","--now","--counts","--gate","--file","--out","--revision","--dir","--output","--query"]);var BOOLEAN_FLAGS=new Set(
3
+ import{isModeId,isPermissionModeId}from"./chunk-NAUH75MM.js";import{API_TOKEN,HELP_TOKEN,isDomainName}from"./chunk-EOSSFTNG.js";import{splitFlagToken}from"./chunk-QQRJLH6B.js";var BUILTIN_COMMANDS=["login","logout","whoami","update","task-loop"];var TASK_LOOP_ACTIONS=["run","status","stop","schedule","setup","charter","skill"];var VALUE_FLAGS=new Set(["-p","--print","--profile","--tenant","--mode","--permission-mode","--model","--allowed-tools","--disallowed-tools","--project","--engine","--interval","--max-cycles","--ai","--workspace","--ai-config-file","--now","--counts","--gate","--file","--out","--revision","--dir","--output","--query"]);var BOOLEAN_FLAGS=new Set(
4
4
  ["-h","--help","-v","--version","--no-tui","--doctor","--password","--token","--no-browser","--safe","--daemon","--force-runner","--force","--drain","--yes","-y","--no-ai-config-file","--verbose","--all","--dry-run","--debug","--refresh"]);function dispatch(argv,limit=2){const tokens=[];const indexes=[];let truncated=false;for(let i=0;i<argv.length;i++){const arg=argv[i];if(arg===void 0)continue;if(arg.startsWith("-")&&arg!=="-"){const{name,value:inline}=splitFlagToken(arg);if(BOOLEAN_FLAGS.has(
5
5
  name)){if(inline!==void 0){truncated=true;break}continue}if(VALUE_FLAGS.has(name)){if(inline!==void 0)continue;const next=argv[i+1];if(next!==void 0&&(!next.startsWith("-")||next==="-"))i++;continue}truncated=true;break}if(arg===""||arg==="-")continue;if(tokens.length>=limit)break;tokens.push(arg);indexes.push(i)}return{tokens,indexes,truncated}}function isBuiltin(token){return token!==void 0&&BUILTIN_COMMANDS.includes(token)}function isTaskLoopAction(token){return token!==void 0&&TASK_LOOP_ACTIONS.
6
6
  includes(token)}function resolveRoute(result){const{tokens,indexes}=result;const[first,second]=tokens;const firstIndex=indexes[0];if(first===void 0||firstIndex===void 0)return{kind:"none",consumed:[]};const consumed=[firstIndex];const secondIndex=indexes[1];if(isBuiltin(first)){if(first==="task-loop"&&isTaskLoopAction(second)){if(secondIndex!==void 0)consumed.push(secondIndex);return{kind:"builtin",command:first,action:second,consumed}}return{kind:"builtin",command:first,...first==="task-loop"?{
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{booleanText,boundedText,isoDate}from"./chunk-UDPJ2IGK.js";import{ORG_MASTER_LIMIT}from"./chunk-ELXDRPDV.js";import{ULID_RE,UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{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 CLEAR_DATE="none";function placeholderOf(field){switch(field.kind){case"text":return`<${field.label}>`;case"integer":return"<\u6574\u6570>";case"boolean":return"<true|false>";case"enum":return`<${field.values.join("|")}>`;case"date":return`<YYYY-MM-DD|${CLEAR_DATE}>`;case"ref":return field.placeholder}}function createFlags(fields){return fields.map(field=>({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)}))}function updateFlags(fields){const flags=[];for(const field of fields){
3
+ import{booleanText,boundedText,isoDate}from"./chunk-UDPJ2IGK.js";import{ORG_MASTER_LIMIT}from"./chunk-BZAXQOLB.js";import{ULID_RE,UUID_RE,isSafePathSegment}from"./chunk-GMBJTG6A.js";import{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 CLEAR_DATE="none";function placeholderOf(field){switch(field.kind){case"text":return`<${field.label}>`;case"integer":return"<\u6574\u6570>";case"boolean":return"<true|false>";case"enum":return`<${field.values.join("|")}>`;case"date":return`<YYYY-MM-DD|${CLEAR_DATE}>`;case"ref":return field.placeholder}}function createFlags(fields){return fields.map(field=>({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)}))}function updateFlags(fields){const flags=[];for(const field of fields){
4
4
  flags.push({name:field.flag,summary:field.summary,takesValue:true,placeholder:placeholderOf(field)});if(field.kind==="ref")flags.push({name:field.clearFlag,summary:field.clearSummary,takesValue:false})}return flags}function integerValue(field,raw){const trimmed=raw.trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;const tooLarge=field.max!==void 0&&value>field.max;if(!Number.isSafeInteger(value)||value<field.min||tooLarge){const range=field.max!==void 0?`${field.min} \u4EE5\u4E0A ${field.
5
5
  max} \u4EE5\u4E0B`:`${field.min} \u4EE5\u4E0A`;throw new UsageError(`${field.flag} \u306F ${range}\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`,`${field.label}\u3092\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return value}function fieldBody(input,fields){const body={};for(const field of fields){switch(field.kind){case"text":{const value=boundedText(input,field.flag,{maxChars:field.maxChars,label:field.label});if(value!==void 0)body[field.
6
6
  key]=value;break}case"integer":{const raw=input.flags.get(field.flag);if(raw!==void 0)body[field.key]=integerValue(field,raw);break}case"boolean":{const raw=input.flags.get(field.flag);if(raw!==void 0)body[field.key]=booleanText(field.flag,raw);break}case"enum":{const raw=input.flags.get(field.flag);if(raw===void 0)break;const value=raw.trim().toLowerCase();if(!field.values.includes(value)){throw new UsageError(`${field.flag} \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,
@@ -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-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{
3
+ import{repeatedValues}from"./chunk-IOGVQVGD.js";import{isoDate}from"./chunk-UDPJ2IGK.js";import{SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,isExactNumericId,resolveNamed}from"./chunk-BZAXQOLB.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`}
@@ -16,24 +16,28 @@ const ttl=options.ttlMs??DEFAULT_TTL_MS;const now=(options.now??Date.now)();if(M
16
16
  const tmp=`${file}.${process.pid}.tmp`;try{fs.mkdirSync(dir,{recursive:true,mode:448});fs.writeFileSync(tmp,`${JSON.stringify(body)}
17
17
  `,{mode:384});fs.renameSync(tmp,file)}catch{try{fs.rmSync(tmp,{force:true})}catch{}}}function removeCache(key,options={}){const env=options.env??process.env;if(!isCacheLocationTrusted(env))return;try{fs.rmSync(cacheFilePath(key,env),{force:true})}catch{}}var SELF_REF="me";var PRIVATE_TASKS_PATH="/api/v2/tasks/private";var PRIVATE_MASTERS_CACHE_KEY="__private__";var BACKLOG_SPACES_CACHE_KEY="__backlog__";var BACKLOG_SCOPE_LABEL="\u3053\u306E\u63A5\u7D9A\u5148";var BACKLOG_PROJECT_SCOPE_LABEL="\u3053\u306E Backlog \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8";var PRIVATE_SCOPE_LABEL="\u500B\u4EBA\u30BF\u30B9\u30AF";var TENANT_CACHE_KEY="__tenant__";var TENANT_SCOPE_LABEL="\u3053\u306E\u30C6\u30CA\u30F3\u30C8";var ADMIN_USERS_LIST_PATH="/api/v2/admin/users\
18
18
  /list";var DEPARTMENTS_PATH="/api/v2/organization/departments";var POSITIONS_PATH="/api/v2/organization/positions";var JOB_TITLES_PATH="/api/v2/organization/job-titles";var INQUIRY_CATEGORIES_PATH="/api/v2/inquiries/categories";var NOTIFICATIONS_PATH="/api/v2/notifications";var NOTIFICATION_COUNT_MAX_PAGES=20;var NOTIFICATION_COUNT_PAGE_LIMIT=100;var WORKFLOWS_PATH="/api/v2/workflows";var REPORTS_PATH="/api/v2/reports";var SALES_ESTIMATES_PATH="/api/v2/sales/estimates";var SALES_INVOICES_PATH="/\
19
- api/v2/sales/invoices";var SALES_CONTRACTS_PATH="/api/v2/sales/contracts";var SALES_INVOICE_AUTO_TEMPLATES_PATH="/api/v2/sales/invoice-auto-templates";var SALES_DEPOSITS_PATH="/api/v2/sales/deposits";var SALES_RECORD_KINDS={estimate:{path:SALES_ESTIMATES_PATH,label:"\u898B\u7A4D"},invoice:{path:SALES_INVOICES_PATH,label:"\u8ACB\u6C42"},contract:{path:SALES_CONTRACTS_PATH,label:"\u53D6\u5F15\u5951\u7D04"},"invoice-auto-template":{path:SALES_INVOICE_AUTO_TEMPLATES_PATH,label:"\u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8"},
20
- deposit:{path:SALES_DEPOSITS_PATH,label:"\u5165\u91D1"}};var SALES_COMPANIES_PATH="/api/v2/sales/companies";var CUSTOMERS_PATH="/api/v2/customers";var COMPANY_SEARCH_PAGE_LIMIT=100;var COMPANY_SEARCH_MAX_PAGES=10;var CUSTOMER_CHILDREN_PAGE_LIMIT=100;var PROSPECTS_PATH="/api/v2/prospects";var PROSPECT_SEARCH_PAGE_LIMIT=100;var PROSPECT_SEARCH_MAX_PAGES=10;function isExactNumericId(value){return/^[0-9]+$/.test(value)&&String(Number(value))===value}function exactCompanyId(ref,label){if(!isExactNumericId(
21
- ref.id)){throw new ResolveError(`${label}\u4E00\u89A7\u306E id \u304C\u6574\u6570\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08${ref.id}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}return ref}var ORG_MASTER_LIMIT=1e3;var USER_LIST_MAX_PAGES=100;function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function str(value){return typeof value==="string"&&value.trim()!==""?value:null}function truthyFlag(value){return value===
22
- true||value===1}function rawGetVia(client){return async path2=>{try{return{ok:true,status:200,json:await client.request("GET",path2),error:null}}catch(err){if(err instanceof ApiError){return{ok:false,status:err.status,json:err.body,error:err.message}}throw err}}}var TASK_MASTERS={status:{path:"task-statuses",envelope:"data",scope:"task-statuses",label:"\u30B9\u30C6\u30FC\u30BF\u30B9"},type:{path:"task-types",envelope:"data",scope:"task-types",label:"\u7A2E\u5225"},category:{path:"task-categories",
23
- envelope:"data",scope:"task-categories",label:"\u30AB\u30C6\u30B4\u30EA"},milestone:{path:"task-milestones",envelope:"data",scope:"task-milestones",label:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3"},label:{path:"task-labels",envelope:"items",scope:"task-labels",label:"\u30E9\u30D9\u30EB"}};var Resolver=class{constructor(client,options){this.client=client;this.options=options;this.get=rawGetVia(client)}client;options;get;privateMastersInFlight=null;async project(ref){const trimmed=ref.trim();if(trimmed===
24
- "")throw new UsageError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u304B ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");return resolveProjectRef(trimmed,this.get,safeProjectIdPolicy)}async taskByKey(key){const trimmed=key.trim();if(!isTaskKey(trimmed)){throw new UsageError(`\u30BF\u30B9\u30AF\u30AD\u30FC\u306E\u5F62\u5F0F\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ${key}`,"\u30AD\u30FC\u306F\u300C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9-\u756A\u53F7\u300D\u306E\u5F62\u3067\u3059\uFF08\u4F8B: ABC-123\uFF09\u3002")}
25
- const res=await this.get(`/api/v2/tasks/resolve-by-key/${encodeURIComponent(trimmed)}`);if(res.status===404){throw new ResolveError(`\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${trimmed}\uFF08\u5B58\u5728\u3057\u306A\u3044\u304B\u3001\u95B2\u89A7\u3067\u304D\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u3042\u308A\u307E\u305B\u3093\uFF09`,404)}if(!res.ok){throw new ResolveError(`\u30BF\u30B9\u30AF\u30AD\u30FC\u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: ${trimmed}\
26
- \uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const body=isRecord(res.json)?res.json:{};const projectId=str(body["project_id"]);const task=body["task"];if(projectId===null||!isRecord(task)){throw new ResolveError("\u30BF\u30B9\u30AF\u30AD\u30FC\u89E3\u6C7A\u306E\u5FDC\u7B54\u306B project_id / task \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
27
- res.status)}safeProjectIdPolicy.assertId(projectId);return{projectId,task}}async currentUser(){const res=await this.get("/api/v2/user");if(!res.ok){throw new ResolveError(`\u30ED\u30B0\u30A4\u30F3\u4E2D\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.status}\uFF09\u3002twp login \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const user=isRecord(res.json)?res.json["user"]:void 0;if(!isRecord(user)||str(user["\
28
- id"])===null){throw new ResolveError("\u30E6\u30FC\u30B6\u30FC\u53D6\u5F97\u306E\u5FDC\u7B54\u306B user.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return{id:user["id"],name:str(user["name"])??user["id"],email:str(user["email"])}}async status(projectId,input){return resolveNamed(this.applyAlias("status",input),await this.statuses(projectId),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9"})}async taskType(projectId,input){
29
- return resolveNamed(this.applyAlias("type",input),await this.taskTypes(projectId),{flag:"--type",label:"\u7A2E\u5225"})}async assignee(projectId,input,flag="--assignee"){if(input.trim().toLowerCase()===SELF_REF)return this.self();const value=this.applyAlias("assignee",input);if(value.trim().toLowerCase()===SELF_REF)return this.self();return resolveNamed(value,await this.members(projectId),{flag,label:"\u30E1\u30F3\u30D0\u30FC"})}async self(){const me=await this.currentUser();return{id:me.id,name:me.
30
- name,...me.email!==null?{aliases:[me.email]}:{}}}async defaultStatus(projectId){return requireDefault(await this.statuses(projectId),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9"})}async defaultTaskType(projectId){return requireDefault(await this.taskTypes(projectId),{flag:"--type",label:"\u7A2E\u5225"})}async statuses(projectId){return namedFromRows(await this.taskMasterRows("status",projectId),"\u30B9\u30C6\u30FC\u30BF\u30B9",codedMasterRow)}async taskTypes(projectId){return namedFromRows(
31
- await this.taskMasterRows("type",projectId),"\u7A2E\u5225",codedMasterRow)}async taskMaster(kind,projectId,input,flag){const spec=TASK_MASTERS[kind];return resolveNamed(input,await this.taskMasterRefs(kind,projectId),{flag,label:spec.label})}async taskMasterRefs(kind,projectId){const spec=TASK_MASTERS[kind];return namedFromRows(await this.taskMasterRows(kind,projectId),spec.label,codedMasterRow)}async privateTaskMaster(envelope,input,flag,label){return resolveNamed(input,await this.privateMasters(
32
- envelope,label),{flag,label,scope:PRIVATE_SCOPE_LABEL})}async taskMasterRows(kind,projectId){const spec=TASK_MASTERS[kind];return this.cached(spec.scope,projectId,async()=>rawListFrom(await this.get(`/api/v2/projects/${encodeURIComponent(projectId)}/${spec.path}`),spec.envelope,spec.label))}invalidateTaskMaster(kind,projectId){removeCache({profile:this.options.profile,scope:TASK_MASTERS[kind].scope,project:projectId},this.options.env!==void 0?{env:this.options.env}:{})}async privateStatuses(){return this.
33
- privateMasters("statuses","\u30B9\u30C6\u30FC\u30BF\u30B9")}async privateTaskTypes(){return this.privateMasters("types","\u7A2E\u5225")}async privateStatus(input){return resolveNamed(this.applyAlias("status",input),await this.privateStatuses(),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9",scope:PRIVATE_SCOPE_LABEL})}async privateTaskType(input){return resolveNamed(this.applyAlias("type",input),await this.privateTaskTypes(),{flag:"--type",label:"\u7A2E\u5225",scope:PRIVATE_SCOPE_LABEL})}async privateDefaultStatus(){
34
- return requireDefault(await this.privateStatuses(),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9",scope:PRIVATE_SCOPE_LABEL})}async privateDefaultTaskType(){return requireDefault(await this.privateTaskTypes(),{flag:"--type",label:"\u7A2E\u5225",scope:PRIVATE_SCOPE_LABEL})}async privateTask(ref){const trimmed=ref.trim();const res=await this.get(`${PRIVATE_TASKS_PATH}/${encodeURIComponent(trimmed)}`);if(res.status===404){throw new ResolveError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${trimmed}`,
35
- 404)}if(!res.ok){throw new ResolveError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: ${trimmed}\uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const task=isRecord(res.json)?res.json["task"]:void 0;if(!isRecord(task)){throw new ResolveError("\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u5FDC\u7B54\u306B task \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
36
- res.status)}return task}async primaryAssignment(userId){if(!isSafePathSegment(userId)){throw new ResolveError(`\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const res=await this.get(`/api/v2/organization/users/${encodeURIComponent(userId)}/assignments/primary`);if(res.status===404)return null;if(!res.ok){throw new ResolveError(`\u73FE\u5728\u306E\u4E3B\u6240\u5C5E\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.
19
+ api/v2/sales/invoices";var SALES_CONTRACTS_PATH="/api/v2/sales/contracts";var SALES_INVOICE_AUTO_TEMPLATES_PATH="/api/v2/sales/invoice-auto-templates";var SALES_DEPOSITS_PATH="/api/v2/sales/deposits";var SALES_PURCHASES_PATH="/api/v2/sales/purchases";var SALES_SUPPLIER_PAYMENTS_PATH="/api/v2/sales/supplier-payments";var SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH="/api/v2/sales/supplier-payment-schedules";var SALES_BUSINESS_PLACES_PATH="/api/v2/sales/business-places";var SALES_PAYEES_PATH="/api/v2/sal\
20
+ es/payees";var SALES_SEAL_IMPRESSIONS_PATH="/api/v2/sales/seal-impressions";var SALES_PURCHASE_AI_MAPPINGS_PATH="/api/v2/sales/purchase-ai-field-mappings";var SALES_ESTIMATE_NO_RULES_PATH="/api/v2/sales/estimate-no-rules";var SALES_INVOICE_NO_RULES_PATH="/api/v2/sales/invoice-no-rules";var SALES_PURCHASE_NO_RULES_PATH="/api/v2/sales/purchase-no-rules";var SALES_ESTIMATE_FORMATS_PATH="/api/v2/sales/estimate-formats";var SALES_ROUNDING_SETTING_PATH="/api/v2/sales/rounding-setting";var SALES_RECORD_KINDS={
21
+ estimate:{path:SALES_ESTIMATES_PATH,label:"\u898B\u7A4D"},invoice:{path:SALES_INVOICES_PATH,label:"\u8ACB\u6C42"},contract:{path:SALES_CONTRACTS_PATH,label:"\u53D6\u5F15\u5951\u7D04"},"invoice-auto-template":{path:SALES_INVOICE_AUTO_TEMPLATES_PATH,label:"\u81EA\u52D5\u8ACB\u6C42\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8"},deposit:{path:SALES_DEPOSITS_PATH,label:"\u5165\u91D1"},purchase:{path:SALES_PURCHASES_PATH,label:"\u4ED5\u5165"},"supplier-payment":{path:SALES_SUPPLIER_PAYMENTS_PATH,label:"\u652F\u6255"},
22
+ "supplier-payment-schedule":{path:SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH,label:"\u652F\u6255\u5148\u30DE\u30B9\u30BF"},"business-place":{path:SALES_BUSINESS_PLACES_PATH,label:"\u4E8B\u696D\u6240"},payee:{path:SALES_PAYEES_PATH,label:"\u632F\u8FBC\u5148"},"seal-impression":{path:SALES_SEAL_IMPRESSIONS_PATH,label:"\u5370\u5F71"},"purchase-ai-mapping":{path:SALES_PURCHASE_AI_MAPPINGS_PATH,label:"\u4ED5\u5165AI\u30DE\u30C3\u30D4\u30F3\u30B0"},"estimate-no-rule":{path:SALES_ESTIMATE_NO_RULES_PATH,label:"\
23
+ \u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB"},"invoice-no-rule":{path:SALES_INVOICE_NO_RULES_PATH,label:"\u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB"},"purchase-no-rule":{path:SALES_PURCHASE_NO_RULES_PATH,label:"\u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB"},"estimate-format":{path:SALES_ESTIMATE_FORMATS_PATH,label:"\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8"}};var SALES_COMPANIES_PATH="/api/v2/sales/companies";var CUSTOMERS_PATH="/api/v2/customers";var COMPANY_SEARCH_PAGE_LIMIT=100;var COMPANY_SEARCH_MAX_PAGES=10;
24
+ var CUSTOMER_CHILDREN_PAGE_LIMIT=100;var PROSPECTS_PATH="/api/v2/prospects";var PROSPECT_SEARCH_PAGE_LIMIT=100;var PROSPECT_SEARCH_MAX_PAGES=10;function isExactNumericId(value){return/^[0-9]+$/.test(value)&&String(Number(value))===value}function exactCompanyId(ref,label){if(!isExactNumericId(ref.id)){throw new ResolveError(`${label}\u4E00\u89A7\u306E id \u304C\u6574\u6570\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF08${ref.id}\uFF09\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}
25
+ return ref}var ORG_MASTER_LIMIT=1e3;var USER_LIST_MAX_PAGES=100;function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function str(value){return typeof value==="string"&&value.trim()!==""?value:null}function truthyFlag(value){return value===true||value===1}function rawGetVia(client){return async path2=>{try{return{ok:true,status:200,json:await client.request("GET",path2),error:null}}catch(err){if(err instanceof ApiError){return{ok:false,status:err.status,json:err.
26
+ body,error:err.message}}throw err}}}var TASK_MASTERS={status:{path:"task-statuses",envelope:"data",scope:"task-statuses",label:"\u30B9\u30C6\u30FC\u30BF\u30B9"},type:{path:"task-types",envelope:"data",scope:"task-types",label:"\u7A2E\u5225"},category:{path:"task-categories",envelope:"data",scope:"task-categories",label:"\u30AB\u30C6\u30B4\u30EA"},milestone:{path:"task-milestones",envelope:"data",scope:"task-milestones",label:"\u30DE\u30A4\u30EB\u30B9\u30C8\u30FC\u30F3"},label:{path:"task-labels",
27
+ envelope:"items",scope:"task-labels",label:"\u30E9\u30D9\u30EB"}};var Resolver=class{constructor(client,options){this.client=client;this.options=options;this.get=rawGetVia(client)}client;options;get;privateMastersInFlight=null;async project(ref){const trimmed=ref.trim();if(trimmed==="")throw new UsageError("\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30B3\u30FC\u30C9\u304B ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044");return resolveProjectRef(trimmed,this.get,safeProjectIdPolicy)}async taskByKey(key){
28
+ const trimmed=key.trim();if(!isTaskKey(trimmed)){throw new UsageError(`\u30BF\u30B9\u30AF\u30AD\u30FC\u306E\u5F62\u5F0F\u3067\u306F\u3042\u308A\u307E\u305B\u3093: ${key}`,"\u30AD\u30FC\u306F\u300C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B3\u30FC\u30C9-\u756A\u53F7\u300D\u306E\u5F62\u3067\u3059\uFF08\u4F8B: ABC-123\uFF09\u3002")}const res=await this.get(`/api/v2/tasks/resolve-by-key/${encodeURIComponent(trimmed)}`);if(res.status===404){throw new ResolveError(`\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${trimmed}\
29
+ \uFF08\u5B58\u5728\u3057\u306A\u3044\u304B\u3001\u95B2\u89A7\u3067\u304D\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u3042\u308A\u307E\u305B\u3093\uFF09`,404)}if(!res.ok){throw new ResolveError(`\u30BF\u30B9\u30AF\u30AD\u30FC\u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: ${trimmed}\uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const body=isRecord(res.
30
+ json)?res.json:{};const projectId=str(body["project_id"]);const task=body["task"];if(projectId===null||!isRecord(task)){throw new ResolveError("\u30BF\u30B9\u30AF\u30AD\u30FC\u89E3\u6C7A\u306E\u5FDC\u7B54\u306B project_id / task \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}safeProjectIdPolicy.assertId(projectId);return{projectId,task}}async currentUser(){const res=await this.get("/api/v2/user");if(!res.ok){throw new ResolveError(
31
+ `\u30ED\u30B0\u30A4\u30F3\u4E2D\u306E\u30E6\u30FC\u30B6\u30FC\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.status}\uFF09\u3002twp login \u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const user=isRecord(res.json)?res.json["user"]:void 0;if(!isRecord(user)||str(user["id"])===null){throw new ResolveError("\u30E6\u30FC\u30B6\u30FC\u53D6\u5F97\u306E\u5FDC\u7B54\u306B user.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
32
+ res.status)}return{id:user["id"],name:str(user["name"])??user["id"],email:str(user["email"])}}async status(projectId,input){return resolveNamed(this.applyAlias("status",input),await this.statuses(projectId),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9"})}async taskType(projectId,input){return resolveNamed(this.applyAlias("type",input),await this.taskTypes(projectId),{flag:"--type",label:"\u7A2E\u5225"})}async assignee(projectId,input,flag="--assignee"){if(input.trim().toLowerCase()===SELF_REF)
33
+ return this.self();const value=this.applyAlias("assignee",input);if(value.trim().toLowerCase()===SELF_REF)return this.self();return resolveNamed(value,await this.members(projectId),{flag,label:"\u30E1\u30F3\u30D0\u30FC"})}async self(){const me=await this.currentUser();return{id:me.id,name:me.name,...me.email!==null?{aliases:[me.email]}:{}}}async defaultStatus(projectId){return requireDefault(await this.statuses(projectId),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9"})}async defaultTaskType(projectId){
34
+ return requireDefault(await this.taskTypes(projectId),{flag:"--type",label:"\u7A2E\u5225"})}async statuses(projectId){return namedFromRows(await this.taskMasterRows("status",projectId),"\u30B9\u30C6\u30FC\u30BF\u30B9",codedMasterRow)}async taskTypes(projectId){return namedFromRows(await this.taskMasterRows("type",projectId),"\u7A2E\u5225",codedMasterRow)}async taskMaster(kind,projectId,input,flag){const spec=TASK_MASTERS[kind];return resolveNamed(input,await this.taskMasterRefs(kind,projectId),{
35
+ flag,label:spec.label})}async taskMasterRefs(kind,projectId){const spec=TASK_MASTERS[kind];return namedFromRows(await this.taskMasterRows(kind,projectId),spec.label,codedMasterRow)}async privateTaskMaster(envelope,input,flag,label){return resolveNamed(input,await this.privateMasters(envelope,label),{flag,label,scope:PRIVATE_SCOPE_LABEL})}async taskMasterRows(kind,projectId){const spec=TASK_MASTERS[kind];return this.cached(spec.scope,projectId,async()=>rawListFrom(await this.get(`/api/v2/projects\
36
+ /${encodeURIComponent(projectId)}/${spec.path}`),spec.envelope,spec.label))}invalidateTaskMaster(kind,projectId){removeCache({profile:this.options.profile,scope:TASK_MASTERS[kind].scope,project:projectId},this.options.env!==void 0?{env:this.options.env}:{})}async privateStatuses(){return this.privateMasters("statuses","\u30B9\u30C6\u30FC\u30BF\u30B9")}async privateTaskTypes(){return this.privateMasters("types","\u7A2E\u5225")}async privateStatus(input){return resolveNamed(this.applyAlias("status",
37
+ input),await this.privateStatuses(),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9",scope:PRIVATE_SCOPE_LABEL})}async privateTaskType(input){return resolveNamed(this.applyAlias("type",input),await this.privateTaskTypes(),{flag:"--type",label:"\u7A2E\u5225",scope:PRIVATE_SCOPE_LABEL})}async privateDefaultStatus(){return requireDefault(await this.privateStatuses(),{flag:"--status",label:"\u30B9\u30C6\u30FC\u30BF\u30B9",scope:PRIVATE_SCOPE_LABEL})}async privateDefaultTaskType(){return requireDefault(
38
+ await this.privateTaskTypes(),{flag:"--type",label:"\u7A2E\u5225",scope:PRIVATE_SCOPE_LABEL})}async privateTask(ref){const trimmed=ref.trim();const res=await this.get(`${PRIVATE_TASKS_PATH}/${encodeURIComponent(trimmed)}`);if(res.status===404){throw new ResolveError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: ${trimmed}`,404)}if(!res.ok){throw new ResolveError(`\u500B\u4EBA\u30BF\u30B9\u30AF\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: ${trimmed}\
39
+ \uFF08HTTP ${res.status}\uFF09\u3002\u63A5\u7D9A\u5148\u3068\u30ED\u30B0\u30A4\u30F3\u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,res.status)}const task=isRecord(res.json)?res.json["task"]:void 0;if(!isRecord(task)){throw new ResolveError("\u500B\u4EBA\u30BF\u30B9\u30AF\u306E\u5FDC\u7B54\u306B task \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return task}async primaryAssignment(userId){
40
+ if(!isSafePathSegment(userId)){throw new ResolveError(`\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const res=await this.get(`/api/v2/organization/users/${encodeURIComponent(userId)}/assignments/primary`);if(res.status===404)return null;if(!res.ok){throw new ResolveError(`\u73FE\u5728\u306E\u4E3B\u6240\u5C5E\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.
37
41
  status}${res.error?`: ${res.error}`:""}\uFF09\u3002`,res.status)}const assignment=isRecord(res.json)?res.json["assignment"]:void 0;if(!isRecord(assignment)||typeof assignment["id"]!=="string"){throw new ResolveError("\u4E3B\u6240\u5C5E\u306E\u5FDC\u7B54\u306B assignment.id \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return assignment}async assignments(userId){if(!isSafePathSegment(userId)){throw new ResolveError(
38
42
  `\u30E6\u30FC\u30B6\u30FC ID \u3092\u30D1\u30B9\u306B\u4F7F\u3048\u307E\u305B\u3093: ${userId}\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`)}const res=await this.get(`/api/v2/organization/users/${encodeURIComponent(userId)}/assignments`);if(!res.ok){throw new ResolveError(`\u6240\u5C5E\u306E\u4E00\u89A7\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF08HTTP ${res.status}${res.error?`: ${res.error}`:""}\uFF09\u3002`,res.status)}const list=isRecord(
39
43
  res.json)?res.json["list"]:void 0;if(!Array.isArray(list)||!list.every(isRecord)){throw new ResolveError("\u6240\u5C5E\u4E00\u89A7\u306E\u5FDC\u7B54\u306B list \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",res.status)}return list}async privateMasters(envelope,label){return namedFromRows(await this.privateMasterRows(envelope,label),label,codedMasterRow)}async privateMasterRows(envelope,label){return this.cached(
@@ -99,4 +103,5 @@ row)){throw new ResolveError(`${label}\u4E00\u89A7\u306E ${index+1} \u4EF6\u76EE
99
103
  return{id:str(row["key"]),name:str(row["name"]),code:str(row["key"])}}function inquiryCategoryRow(row){return{id:str(row["id"]),name:str(row["title"]),code:str(row["category_code"])}}function masterList(res,label){const rows=rawListFrom(res,"list",label);const count=isRecord(res.json)?res.json["count"]:void 0;if(typeof count==="number"&&count>rows.length){throw new ResolveError(`${label}\u4E00\u89A7\u304C ${count} \u4EF6\u4E2D ${rows.length} \u4EF6\u3067\u5207\u308A\u8A70\u3081\u3089\u308C\u305F\u305F\u3081\u3001\u540D\u524D\u3067\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3002ID \u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,
100
104
  res.status)}return rows}function codedMasterRow(row){return{id:str(row["id"]),name:str(row["name"]),code:str(row["code"]),isDefault:truthyFlag(row["is_default"])}}function namedListFrom(res,envelope,label,map){return namedFromRows(rawListFrom(res,envelope,label),label,map,res.status??void 0)}function namedFromRows(rows,label,map,status=200){return rows.map((row,index)=>{const mapped=map(row);if(mapped.id===null||mapped.name===null){throw new ResolveError(`${label}\u4E00\u89A7\u306E ${index+1} \u4EF6\u76EE\
101
105
  \u306B id / \u540D\u524D\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,status)}return{id:mapped.id,name:mapped.name,...mapped.code!==void 0?{code:mapped.code}:{},...mapped.aliases!==void 0&&mapped.aliases.length>0?{aliases:mapped.aliases}:{},...mapped.isDefault!==void 0?{isDefault:mapped.isDefault}:{}}})}function requireDefault(candidates,ctx){const hit=candidates.find(ref=>ref.isDefault===true);if(hit!==void 0)return hit;
102
- throw new UsageError(`${ctx.flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${ctx.scope??DEFAULT_LOOKUP_SCOPE}\u306B\u306F\u65E2\u5B9A\u306E${ctx.label}\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF09`,`\u6307\u5B9A\u3067\u304D\u308B${ctx.label}: ${candidates.map(ref=>ref.name).join(" / ")}\uFF08\u53E4\u3044\u30AD\u30E3\u30C3\u30B7\u30E5\u304C\u6B8B\u3063\u3066\u3044\u308B\u5834\u5408\u306F --refresh \u3067\u53D6\u308A\u76F4\u305B\u307E\u3059\uFF09`)}export{BACKLOG_BASE_PATH,backlogSpacePath,resolveNamed,requireDefaultProject,PRIVATE_TASKS_PATH,BACKLOG_SCOPE_LABEL,BACKLOG_PROJECT_SCOPE_LABEL,DEPARTMENTS_PATH,POSITIONS_PATH,JOB_TITLES_PATH,INQUIRY_CATEGORIES_PATH,NOTIFICATIONS_PATH,WORKFLOWS_PATH,REPORTS_PATH,SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,SALES_CONTRACTS_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,SALES_DEPOSITS_PATH,SALES_COMPANIES_PATH,CUSTOMERS_PATH,PROSPECTS_PATH,isExactNumericId,ORG_MASTER_LIMIT,TASK_MASTERS,Resolver};
106
+ throw new UsageError(`${ctx.flag} \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\uFF08${ctx.scope??DEFAULT_LOOKUP_SCOPE}\u306B\u306F\u65E2\u5B9A\u306E${ctx.label}\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF09`,`\u6307\u5B9A\u3067\u304D\u308B${ctx.label}: ${candidates.map(ref=>ref.name).join(" / ")}\uFF08\u53E4\u3044\u30AD\u30E3\u30C3\u30B7\u30E5\u304C\u6B8B\u3063\u3066\u3044\u308B\u5834\u5408\u306F --refresh \u3067\u53D6\u308A\u76F4\u305B\u307E\u3059\uFF09`)}export{BACKLOG_BASE_PATH,backlogSpacePath,resolveNamed,requireDefaultProject,PRIVATE_TASKS_PATH,BACKLOG_SCOPE_LABEL,BACKLOG_PROJECT_SCOPE_LABEL,DEPARTMENTS_PATH,POSITIONS_PATH,JOB_TITLES_PATH,INQUIRY_CATEGORIES_PATH,NOTIFICATIONS_PATH,WORKFLOWS_PATH,REPORTS_PATH,SALES_ESTIMATES_PATH,SALES_INVOICES_PATH,SALES_CONTRACTS_PATH,SALES_INVOICE_AUTO_TEMPLATES_PATH,SALES_DEPOSITS_PATH,SALES_PURCHASES_PATH,SALES_SUPPLIER_PAYMENTS_PATH,SALES_SUPPLIER_PAYMENT_SCHEDULES_PATH,SALES_BUSINESS_PLACES_PATH,SALES_PAYEES_PATH,
107
+ SALES_SEAL_IMPRESSIONS_PATH,SALES_PURCHASE_AI_MAPPINGS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,SALES_ESTIMATE_FORMATS_PATH,SALES_ROUNDING_SETTING_PATH,SALES_COMPANIES_PATH,CUSTOMERS_PATH,PROSPECTS_PATH,isExactNumericId,ORG_MASTER_LIMIT,TASK_MASTERS,Resolver};
@@ -0,0 +1,4 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ var DOMAIN_NAMES=["agent-loop","attendance","backlog","business-place","company","contract","customer","department","deposit","estimate","inquiry","invoice","job-title","leave","media","meeting","note","notification","payee","position","project","prospect","purchase","receivable","report","rounding-setting","seal-impression","shift","storage","supplier-payment","task","user","wiki","workchange","workflow"];function isDomainName(value){return value!==void 0&&DOMAIN_NAMES.includes(value)}var HELP_TOKEN="\
4
+ help";var API_TOKEN="api";export{DOMAIN_NAMES,isDomainName,HELP_TOKEN,API_TOKEN};
@@ -0,0 +1,70 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{salesAdminForbidden}from"./chunk-7ACENLLZ.js";import{featureLicenseGuidance,licenseForbidden}from"./chunk-BZ7ULFR3.js";import{repeatedValues}from"./chunk-IOGVQVGD.js";import{booleanText,boundedText}from"./chunk-UDPJ2IGK.js";import{SALES_ESTIMATE_FORMATS_PATH,SALES_ESTIMATE_NO_RULES_PATH,SALES_INVOICE_NO_RULES_PATH,SALES_PURCHASE_NO_RULES_PATH,SALES_ROUNDING_SETTING_PATH,isExactNumericId}from"./chunk-BZAXQOLB.js";import{LIST_PAGING_HELP,PAGE_NUMBER_LIST_FLAGS,
4
+ nonEmpty,pageNumberPaging,pageNumberQuery,pageRangeNotes}from"./chunk-5R4SEO3I.js";import{requireResolved,withResolved}from"./chunk-ZN5EFDH7.js";import{acknowledgement,isRecord,pick}from"./chunk-ZWVYVS2A.js";import{ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";var INT_MAX=2147483647;var MEMBER_FORBIDDEN=licenseForbidden(featureLicenseGuidance("\u8CA9\u58F2\u7BA1\u7406"));function envelope(body,what){if(!isRecord(body)||body["result"]!==true)throw new ApiResponseError(`${what}\u306E\u5FDC\u7B54\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);return body}function recordOf(body,what){const data=envelope(body,what)["data"];if(!isRecord(data)||typeof data["id"]!==
5
+ "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`);return data}function serverMessage(body){const message=isRecord(body)?body["message"]:void 0;return typeof message==="string"&&message!==""?[message]:[]}function text(value){return typeof value==="string"||typeof value==="number"?String(value):""}function integerValue(flag,raw,min,max=INT_MAX){const trimmed=raw.
6
+ trim();const value=/^\d+$/.test(trimmed)?Number(trimmed):Number.NaN;if(!Number.isSafeInteger(value)||value<min||value>max)throw new UsageError(`${flag} \u306F ${min} \u4EE5\u4E0A ${max} \u4EE5\u4E0B\u306E\u6574\u6570\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${raw}`);return value}var RULE_COLUMNS=["id","rule_name","prefix","digit_count","current_number","count_up_num","next_number","sort_order"];function nextNumber(rule,purchaseFormat){const current=rule["current_number"];const step=rule["\
7
+ count_up_num"]??1;const digits=rule["digit_count"];if(typeof current!=="number"||typeof step!=="number"||typeof digits!=="number")return void 0;const width=purchaseFormat&&digits===0?4:digits;const padded=String(current+step).padStart(width,"0");const prefix=rule["prefix"];if(purchaseFormat)return`${prefix===null||prefix===void 0?"2000":text(prefix)}${padded}`;return typeof prefix==="string"&&prefix!==""&&prefix!=="0"?`${prefix}${padded}`:padded}function withNext(spec,row){const next=nextNumber(
8
+ row,spec.purchaseFormat);return next===void 0?row:{...row,next_number:next}}function ruleUsage(spec,op){return`twp ${spec.parent} no-rule ${op} help`}function ruleIdArg(spec,input,op){const[raw,...rest]=input.args;const id=raw?.trim()??"";if(id==="")throw new UsageError(`${spec.label}\u306E ID \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044`,ruleUsage(spec,op));if(rest.length>0)throw new UsageError(`\u4F59\u5206\u306A\u5F15\u6570\u304C\u3042\u308A\u307E\u3059: ${rest.join(" ")}`,ruleUsage(
9
+ spec,op));if(!isExactNumericId(id))throw new UsageError(`${spec.label}\u306E ID \u306F\u5148\u982D\u306B 0 \u3092\u4ED8\u3051\u306A\u3044\u6570\u5B57\u3067\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044: ${id}`,`ID \u306F twp ${spec.parent} no-rule list \u306E id \u5217\u3067\u3059\u3002`);return id}function ruleFlags(spec){return[{name:"--name",summary:"\u30EB\u30FC\u30EB\u540D\uFF08100 \u6587\u5B57\u307E\u3067\u30FB\u4F5C\u6210\u3067\u306F\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u30EB\u30FC\u30EB\u540D\
10
+ >"},{name:"--prefix",summary:`\u756A\u53F7\u306E\u524D\u306B\u4ED8\u3051\u308B\u6587\u5B57\uFF0820 \u6587\u5B57\u307E\u3067${spec.prefixDefault===null?"":`\u30FB\u4F5C\u6210\u3067\u7701\u304F\u3068 ${spec.prefixDefault}`}\uFF09`,takesValue:true,placeholder:"<\u6587\u5B57>"},{name:"--digit-count",summary:"\u9023\u756A\u306E\u6841\u6570\uFF081\u301C10\u30FB\u30BC\u30ED\u57CB\u3081\u3002\u4F5C\u6210\u3067\u306F\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u6841\u6570>"},{name:"--current-number",
11
+ summary:"\u4ECA\u306E\u9023\u756A\uFF080 \u4EE5\u4E0A\u3002\u6B21\u306E\u756A\u53F7\u306F\u3053\u308C\uFF0B\u5897\u5206\u3002\u4F5C\u6210\u3067\u7701\u304F\u3068 0\uFF09",takesValue:true,placeholder:"<\u6574\u6570>"},{name:"--count-up-num",summary:"1\u56DE\u306E\u63A1\u756A\u3067\u9032\u3081\u308B\u6570\uFF081 \u4EE5\u4E0A\u3002\u4F5C\u6210\u3067\u7701\u304F\u3068 1\uFF09",takesValue:true,placeholder:"<\u6574\u6570>"},{name:"--sort",summary:"\u8868\u793A\u9806\uFF080 \u4EE5\u4E0A\u306E\u6574\u6570\u30FB\u5C0F\u3055\u3044\u307B\u3069\u4E0A\uFF09",
12
+ takesValue:true,placeholder:"<\u6574\u6570>"},...spec.hasActive?[{name:"--active",summary:"\u6709\u52B9\u304B\uFF08true / false\uFF09",takesValue:true,placeholder:"<true|false>"}]:[]]}function ruleClearFlag(spec){const effect=spec.purchaseFormat?"\u4ED5\u5165\u306F\u7A7A\u306B\u3059\u308B\u3068\u65E2\u5B9A\u306E 2000 \u304C\u4ED8\u304D\u307E\u3059":"\u756A\u53F7\u306E\u524D\u306B\u4F55\u3082\u4ED8\u3051\u306A\u3044";return{name:"--clear",summary:`\u9805\u76EE\u3092\u7A7A\u306B\u3059\u308B\uFF08prefix \u3060\u3051\u30FB${effect}\
13
+ \uFF09`,takesValue:true,placeholder:"<\u9805\u76EE>",repeatable:true}}function ruleBody(spec,input,op){const body={};const name=boundedText(input,"--name",{maxChars:100,label:"\u30EB\u30FC\u30EB\u540D"});if(name!==void 0)body["rule_name"]=name;const rawPrefix=input.flags.get("--prefix");if(rawPrefix!==void 0){const prefix=rawPrefix.trim();if([...prefix].length>20)throw new UsageError(`--prefix \u304C\u9577\u3059\u304E\u307E\u3059\uFF08${[...prefix].length} \u6587\u5B57\u30FB\u4E0A\u9650 20 \u6587\u5B57\uFF09`);
14
+ body["prefix"]=prefix===""?null:prefix}const digits=input.flags.get("--digit-count");if(digits!==void 0)body["digit_count"]=integerValue("--digit-count",digits,1,10);const current=input.flags.get("--current-number");if(current!==void 0)body["current_number"]=integerValue("--current-number",current,0);const step=input.flags.get("--count-up-num");if(step!==void 0)body["count_up_num"]=integerValue("--count-up-num",step,1);const sort=input.flags.get("--sort");if(sort!==void 0)body["sort_order"]=integerValue(
15
+ "--sort",sort,0);const active=spec.hasActive?input.flags.get("--active"):void 0;if(active!==void 0)body["is_active"]=booleanText("--active",active);if(op==="update"){for(const raw of repeatedValues(input,"--clear")){if(raw.trim()!=="prefix")throw new UsageError(`--clear \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,"\u7A7A\u306B\u3067\u304D\u308B\u9805\u76EE: prefix\uFF08\u6841\u6570\u30FB\u9023\u756A\u30FB\u5897\u5206\u30FB\u8868\u793A\u9806\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093\uFF09");
16
+ if(rawPrefix!==void 0)throw new UsageError("prefix \u306B\u5024\u3068 --clear \u306E\u4E21\u65B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059","\u3069\u3061\u3089\u304B\u4E00\u65B9\u3060\u3051\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");body["prefix"]=null}}return body}function parsedOf(input,key){return JSON.parse(requireResolved(input,key))}function describeRule(spec,rule){const next=nextNumber(rule,spec.purchaseFormat);return`ID ${text(rule["id"])}\u30FB${text(rule["\
17
+ rule_name"])}${next===void 0?"":`\uFF08\u6B21\u306E\u756A\u53F7 ${next}\uFF09`}`}async function formatsUsing(spec,ctx,id){if(spec.formatKey===void 0)return{names:[],partial:false};const body=await ctx.resolver.salesJson(`${SALES_ESTIMATE_FORMATS_PATH}?page_limit=100&page_no=1`,"\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u4E00\u89A7");const list=Array.isArray(body["list"])?body["list"].filter(isRecord):[];const names=list.filter(row=>row[spec.formatKey]===id).map(row=>`ID ${text(row["id"])}\
18
+ \u300C${text(row["format_name"])}\u300D`);const pageSum=body["page_sum"];return{names,partial:typeof pageSum==="number"&&pageSum>1}}var RULE_LIST_ORDER_HELP=" \u26A0 \u3053\u306E\u4E00\u89A7\u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u4F4D\u7F6E\u3092\u6307\u5B9A\u3057\u307E\u3059\uFF08--cursor \u306F\u30DA\u30FC\u30B8\u756A\u53F7\u3067\u3059\uFF09\u3002\n \u4E26\u3073\u306F\u8868\u793A\u9806\uFF08--sort \u306E\u5024\uFF09\u306E\u5C0F\u3055\u3044\u9806\u30FB\u540C\u3058\u306A\u3089 ID \u306E\u9806\u306B\u30B5\u30FC\u30D0\u304C\u56FA\u5B9A\u3057\u3066\u3044\u307E\u3059\u3002\u8FBF\u3063\u3066\u3044\u308B\u6700\u4E2D\u306B\u30C7\u30FC\u30BF\u304C\u5897\u6E1B\u3059\u308B\u3068\u3001\u53D6\u308A\u3053\u307C\u3057\u30FB\u91CD\u8907\u304C\u8D77\u3053\u308A\u5F97\u307E\u3059\u3002";
19
+ function ruleAbout(spec){return`${spec.label}\u306F\u3001${spec.document}\u3092\u4F5C\u308B\u3068\u304D\u306B\u632F\u308B\u756A\u53F7\u306E\u6C7A\u307E\u308A\u3067\u3059\u3002\u6B21\u306E\u756A\u53F7\u306F\u300C\u4ECA\u306E\u9023\u756A\uFF08current_number\uFF09\uFF0B\u5897\u5206\uFF08count_up_num\uFF09\u300D\u3092
20
+ \u6841\u6570\uFF08digit_count\uFF09\u3067\u30BC\u30ED\u57CB\u3081\u3057\u3001\u524D\u306B prefix \u3092\u4ED8\u3051\u305F\u3082\u306E\u3067\u3059\uFF08next_number \u5217\uFF09\u3002`+(spec.formatKey===void 0?"":`
21
+ \u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\uFF08twp estimate format\uFF09\u304C\u65E2\u5B9A\u306E\u30EB\u30FC\u30EB\u3092 ${spec.formatKey} \u3067\u9078\u3073\u307E\u3059\u3002`)}function ruleListOperation(spec){const paging=pageNumberPaging({label:`${spec.label}\u4E00\u89A7`});const rows=body=>{envelope(body,`${spec.label}\u4E00\u89A7`);return paging.items(body).map(row=>{if(!isRecord(row))throw new ApiResponseError(`${spec.label}\u4E00\u89A7\u306E\u884C\u306E\u5F62\u304C\u60F3\u5B9A\u3068\u9055\u3044\u307E\u3059\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002`);
22
+ return withNext(spec,row)})};return{name:"list",summary:`${spec.label}\u3092\u4E00\u89A7\u3059\u308B\uFF08\u8868\u793A\u9806\u30FB\u6B21\u306B\u767A\u884C\u3055\u308C\u308B\u756A\u53F7\u3064\u304D\uFF09`,usage:`twp ${spec.parent} no-rule list [--keyword <\u8A9E>] [--all] [--limit <\u4EF6\u6570>]`,description:`${ruleAbout(spec)}
23
+
24
+ --keyword \u306F\u30EB\u30FC\u30EB\u540D\u3068 prefix \u306E\u90E8\u5206\u4E00\u81F4\u3067\u3059\u3002
25
+ next_number \u306F CLI \u304C\u30B5\u30FC\u30D0\u306E\u63A1\u756A\u306E\u5F0F\u3067\u8A08\u7B97\u3057\u305F\u5024\u3067\u3059\uFF08--output json \u306B\u3082\u8DB3\u3057\u307E\u3059\uFF09\u3002
26
+ --output table / text / tsv \u306F\u8981\u7D04\u5217\uFF08${[...RULE_COLUMNS,...spec.hasActive?["is_active"]:[]].join(" / ")}\uFF09\u3067\u3059\u3002
27
+
28
+ `+LIST_PAGING_HELP+"\n"+RULE_LIST_ORDER_HELP,flags:[...PAGE_NUMBER_LIST_FLAGS,{name:"--keyword",summary:"\u30EB\u30FC\u30EB\u540D\u30FBprefix \u306E\u90E8\u5206\u4E00\u81F4\u3067\u7D5E\u308A\u8FBC\u3080",takesValue:true,placeholder:"<\u8A9E>"}],paging,forbidden:MEMBER_FORBIDDEN,prepare:async input=>{if(input.args.length>0)throw new UsageError(`list \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,ruleUsage(spec,"list"));pageNumberQuery(input);return input},
29
+ plan:input=>{const{page_no,page_limit}=pageNumberQuery(input);return{method:"GET",path:spec.path,query:{keyword:nonEmpty(input.flags,"--keyword"),page_limit,page_no}}},summarize:body=>rows(body).map(row=>pick(row,[...RULE_COLUMNS,...spec.hasActive?["is_active"]:[]])),raw:rows,notes:body=>{const sum=isRecord(body)?body["sum"]:void 0;return[...pageRangeNotes(body),...typeof sum==="number"?[`\u8A72\u5F53 ${sum} \u4EF6`]:[]]}}}function ruleRecord(spec,body){return withNext(spec,recordOf(body,spec.label))}
30
+ function ruleGetColumns(spec){return[...RULE_COLUMNS,...spec.hasActive?["is_active"]:[],"updated_at"]}function noRuleResource(spec){const writeForbidden=spec.writeLevel==="admin"?salesAdminForbidden(`${spec.label}\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u30FB\u524A\u9664`):MEMBER_FORBIDDEN;const deleteForbidden=salesAdminForbidden(`${spec.label}\u306E\u524A\u9664`);const flags=ruleFlags(spec);const confirmation=`\u4EE5\u5F8C\u306B\u767A\u884C\u3055\u308C\u308B${spec.document}\u306E\u756A\u53F7\u3092\u5909\u3048\u308B\u64CD\u4F5C`;
31
+ const getOperation={name:"get",summary:`${spec.label}1\u4EF6\u306E\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\uFF08\u6B21\u306B\u767A\u884C\u3055\u308C\u308B\u756A\u53F7\u3064\u304D\uFF09`,usage:`twp ${spec.parent} no-rule get <\u30EB\u30FC\u30EBID>`,description:`ID \u306F twp ${spec.parent} no-rule list \u306E id \u5217\u306E\u6570\u5B57\u3067\u3059\u3002next_number \u306F CLI \u304C\u8A08\u7B97\u3057\u305F\u6B21\u306E\u756A\u53F7\u3067\u3059\u3002`,flags:[],forbidden:MEMBER_FORBIDDEN,plan:input=>({
32
+ method:"GET",path:`${spec.path}/${ruleIdArg(spec,input,"get")}`}),summarize:body=>pick(ruleRecord(spec,body),ruleGetColumns(spec)),raw:body=>ruleRecord(spec,body)};const createOperation={name:"create",summary:`${spec.label}\u3092\u767B\u9332\u3059\u308B\uFF08--name \u3068 --digit-count \u304C\u5FC5\u9808${spec.writeLevel==="admin"?"\u30FB\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005":""}\uFF09`,usage:`twp ${spec.parent} no-rule create --name <\u30EB\u30FC\u30EB\u540D> --digit-count <\u6841\u6570> [--prefix <\u6587\u5B57>] [--curren\
33
+ t-number <\u6574\u6570>] [--count-up-num <\u6574\u6570>] [--sort <\u6574\u6570>]${spec.hasActive?" [--active true|false]":""}`,description:`POST ${spec.path.replace("/api","")}\u3002
34
+
35
+ ${ruleAbout(spec)}
36
+
37
+ \u9001\u308B\u524D\u306B\u3001\u3053\u306E\u30EB\u30FC\u30EB\u3067\u6700\u521D\u306B\u767A\u884C\u3055\u308C\u308B\u756A\u53F7\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002`,flags,forbidden:writeForbidden,prepare:async input=>{if(input.args.length>0)throw new UsageError(`create \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,ruleUsage(spec,"create"));const missing=["--name","--digit-count"].filter(
38
+ flag=>!input.flags.has(flag));if(missing.length>0)throw new UsageError(`${spec.label}\u306E\u767B\u9332\u306B\u306F ${missing.join(" / ")} \u304C\u8981\u308A\u307E\u3059`,ruleUsage(spec,"create"));return withResolved(input,{body:JSON.stringify(ruleBody(spec,input,"create"))})},plan:input=>({method:"POST",path:spec.path,body:parsedOf(input,"body")}),execute:async(input,ctx)=>{const created=await ctx.send({method:"POST",path:spec.path,body:parsedOf(input,"body")});const id=text(recordOf(created,spec.
39
+ label)["id"]);const fresh=await ctx.send({method:"GET",path:`${spec.path}/${id}`});return{...isRecord(fresh)?fresh:{},message:isRecord(created)?created["message"]:void 0}},plannedNotes:input=>{const body=parsedOf(input,"body");const first=nextNumber({current_number:0,count_up_num:1,prefix:spec.prefixDefault,...body},spec.purchaseFormat);return first===void 0?[]:[`\u3053\u306E\u30EB\u30FC\u30EB\u3067\u6700\u521D\u306B\u767A\u884C\u3055\u308C\u308B\u756A\u53F7: ${first}`]},summarize:body=>pick(ruleRecord(
40
+ spec,body),ruleGetColumns(spec)),raw:body=>ruleRecord(spec,body),notes:serverMessage};const updateOperation={name:"update",summary:`${spec.label}\u3092\u66F8\u304D\u63DB\u3048\u308B\uFF08\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u30FB--yes \u304C\u8981\u308B\uFF09`,usage:`twp ${spec.parent} no-rule update <\u30EB\u30FC\u30EBID> [\u9805\u76EE\u2026] [--clear prefix] --yes`,description:`PUT ${spec.path.replace("/api","")}/{id}\u3002\u6307\u5B9A\u3057\u305F\u9805\u76EE\u3060\u3051\u3092\u9001\u308A\u307E\u3059\uFF08\u6307\u5B9A\u3057\u306A\u304B\u3063\u305F\u9805\u76EE\u306F\u5909\u308F\u308A\u307E\u305B\u3093\uFF09\u3002
41
+ \u26A0\uFE0F \u4EE5\u5F8C\u306B\u767A\u884C\u3055\u308C\u308B${spec.document}\u306E\u756A\u53F7\u304C\u5909\u308F\u308A\u307E\u3059\u3002--current-number \u3092\u4ECA\u3088\u308A\u5C0F\u3055\u304F\u3059\u308B\u3068\u3001\u767A\u884C\u6E08\u307F\u3068\u540C\u3058\u756A\u53F7\u304C\u518D\u3073\u632F\u3089\u308C\u307E\u3059\u3002
42
+ \u9001\u308B\u524D\u306B\u4ECA\u306E\u5024\u3092\u8AAD\u307F\u3001\u6B21\u306B\u767A\u884C\u3055\u308C\u308B\u756A\u53F7\u3092\u5909\u66F4\u524D\u30FB\u5909\u66F4\u5F8C\u3067 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\u3002--dry-run \u306F --yes \u7121\u3057\u3067\u4F7F\u3048\u307E\u3059\uFF09\u3002
43
+ \u7A7A\u306B\u3067\u304D\u308B\u306E\u306F prefix \u3060\u3051\u3067\u3059\uFF08--clear prefix${spec.purchaseFormat?"\u3002\u4ED5\u5165\u306F\u7A7A\u306B\u3059\u308B\u3068\u65E2\u5B9A\u306E 2000 \u304C\u4ED8\u304D\u3001prefix \u306A\u3057\u306B\u306F\u3067\u304D\u307E\u305B\u3093":""}\uFF09\u3002\u6841\u6570\u30FB\u9023\u756A\u30FB\u5897\u5206\u30FB\u8868\u793A\u9806\u306F\u30B5\u30FC\u30D0\u306E\u5217\u304C\u7A7A\u3092\u53D7\u3051\u307E\u305B\u3093\u3002--prefix \u306E\u524D\u5F8C\u306E\u7A7A\u767D\u306F\u30B5\u30FC\u30D0\u3068\u540C\u3058\u304F\u843D\u3068\u3057\u307E\u3059\u3002`,
44
+ destructive:true,confirmation,flags:[...flags,ruleClearFlag(spec)],forbidden:writeForbidden,prepare:async(input,ctx)=>{const id=ruleIdArg(spec,input,"update");const body=ruleBody(spec,input,"update");if(Object.keys(body).length===0)throw new UsageError("\u66F8\u304D\u63DB\u3048\u308B\u9805\u76EE\u304C\u3042\u308A\u307E\u305B\u3093",ruleUsage(spec,"update"));const current=await ctx.resolver.salesRecord(spec.kind,id,"<\u30EB\u30FC\u30EBID>");return withResolved(input,{body:JSON.stringify(body),current:JSON.
45
+ stringify(current)})},plan:input=>({method:"PUT",path:`${spec.path}/${ruleIdArg(spec,input,"update")}`,body:parsedOf(input,"body")}),plannedNotes:input=>{const current=parsedOf(input,"current");const before=nextNumber(current,spec.purchaseFormat);const after=nextNumber({...current,...parsedOf(input,"body")},spec.purchaseFormat);const lines=[`\u66F8\u304D\u63DB\u3048\u308B${spec.label}: ID ${text(current["id"])}\u30FB${text(current["rule_name"])}`];if(before!==void 0&&after!==void 0){lines.push(before===
46
+ after?`\u6B21\u306B\u767A\u884C\u3055\u308C\u308B\u756A\u53F7: ${before}\uFF08\u5909\u308F\u308A\u307E\u305B\u3093\uFF09`:`\u6B21\u306B\u767A\u884C\u3055\u308C\u308B\u756A\u53F7: ${before} \u2192 ${after}`)}return lines},summarize:body=>pick(ruleRecord(spec,body),ruleGetColumns(spec)),raw:body=>ruleRecord(spec,body),notes:serverMessage};const deleteOperation={name:"delete",summary:`${spec.label}\u3092\u524A\u9664\u3059\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--yes \u304C\u8981\u308B\uFF09`,
47
+ usage:`twp ${spec.parent} no-rule delete <\u30EB\u30FC\u30EBID> --yes`,description:`DELETE ${spec.path.replace("/api","")}/{id}\uFF08\u8AD6\u7406\u524A\u9664\uFF09\u3002\u767A\u884C\u6E08\u307F\u306E${spec.document}\u306F\u756A\u53F7\u3092\u81EA\u5206\u3067\u6301\u3063\u3066\u3044\u308B\u306E\u3067\u3001\u756A\u53F7\u306F\u6D88\u3048\u307E\u305B\u3093\u3002
48
+ `+(spec.formatKey===void 0?"\u4F7F\u7528\u4E2D\u3067\u3082\u30B5\u30FC\u30D0\u306F\u524A\u9664\u3092\u65AD\u308A\u307E\u305B\u3093\u3002\n":`\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u304C\u65E2\u5B9A\uFF08${spec.formatKey}\uFF09\u306B\u9078\u3093\u3067\u3044\u3066\u3082\u30B5\u30FC\u30D0\u306F\u524A\u9664\u3092\u65AD\u308A\u307E\u305B\u3093\u3002\u9001\u308B\u524D\u306B\u3001\u9078\u3093\u3067\u3044\u308B\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\u3002
49
+ `)+"\u9001\u308B\u524D\u306B\u5BFE\u8C61\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\uFF09\u3002",destructive:true,flags:[],forbidden:deleteForbidden,prepare:async(input,ctx)=>{const id=ruleIdArg(spec,input,"delete");const current=await ctx.resolver.salesRecord(spec.kind,id,"<\u30EB\u30FC\u30EBID>");const using=await formatsUsing(spec,ctx,id);return withResolved(input,{current:JSON.stringify(current),using:JSON.stringify(using)})},plan:input=>({method:"\
50
+ DELETE",path:`${spec.path}/${ruleIdArg(spec,input,"delete")}`}),plannedNotes:input=>{const using=parsedOf(input,"using");const lines=[`\u524A\u9664\u3059\u308B${spec.label}: ${describeRule(spec,parsedOf(input,"current"))}`];if(using.names.length>0){lines.push(`\u26A0\uFE0F \u6B21\u306E\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u304C\u3053\u306E\u30EB\u30FC\u30EB\u3092\u65E2\u5B9A\u306B\u9078\u3093\u3067\u3044\u307E\u3059: ${using.names.join(" / ")}\u3002\u9078\u3073\u76F4\u3059\u307E\u3067\u3001\u3053\u308C\u3089\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3067\u4F5C\u308B${spec.
51
+ document}\uFF08\u81EA\u52D5\u8ACB\u6C42\u3092\u542B\u3080\uFF09\u306B\u306F\u756A\u53F7\u304C\u632F\u3089\u308C\u307E\u305B\u3093\u3002twp estimate format update \u3067\u9078\u3073\u76F4\u3057\u3066\u304F\u3060\u3055\u3044`)}if(using.partial)lines.push("\uFF08\u898B\u7A4D\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306F\u5148\u982D 100 \u4EF6\u3060\u3051\u3092\u78BA\u304B\u3081\u307E\u3057\u305F\uFF09");return lines},summarize:body=>acknowledgement(body,`${spec.label}\u524A\u9664`),raw:body=>acknowledgement(
52
+ body,`${spec.label}\u524A\u9664`)};return{name:"no-rule",summary:`${spec.label}\uFF08${spec.document}\u306E\u756A\u53F7\u306E\u632F\u308A\u65B9\u3002\u4E00\u89A7\u30FB\u8A73\u7D30\u30FB\u767B\u9332\u30FB\u66F4\u65B0\u30FB\u524A\u9664\uFF09`,operations:[ruleListOperation(spec),getOperation,createOperation,updateOperation,deleteOperation]}}var estimateNoRuleResource=noRuleResource({parent:"estimate",label:"\u898B\u7A4D\u756A\u53F7\u30EB\u30FC\u30EB",document:"\u898B\u7A4D",path:SALES_ESTIMATE_NO_RULES_PATH,
53
+ kind:"estimate-no-rule",writeLevel:"admin",hasActive:false,formatKey:"default_estimate_no_id",prefixDefault:null,purchaseFormat:false});var invoiceNoRuleResource=noRuleResource({parent:"invoice",label:"\u8ACB\u6C42\u756A\u53F7\u30EB\u30FC\u30EB",document:"\u8ACB\u6C42",path:SALES_INVOICE_NO_RULES_PATH,kind:"invoice-no-rule",writeLevel:"admin",hasActive:false,formatKey:"default_invoice_no_id",prefixDefault:null,purchaseFormat:false});var purchaseNoRuleResource=noRuleResource({parent:"purchase",label:"\
54
+ \u4ED5\u5165\u756A\u53F7\u30EB\u30FC\u30EB",document:"\u4ED5\u5165\uFF08\u6CE8\u6587\u66F8\uFF09",path:SALES_PURCHASE_NO_RULES_PATH,kind:"purchase-no-rule",writeLevel:"member",hasActive:true,prefixDefault:"2000",purchaseFormat:true});var ROUNDING_METHODS={round:"\u56DB\u6368\u4E94\u5165",ceil:"\u5207\u308A\u4E0A\u3052",floor:"\u5207\u308A\u6368\u3066"};function roundingMethod(raw){const value=raw.trim();const key=Object.hasOwn(ROUNDING_METHODS,value.toLowerCase())?value.toLowerCase():Object.keys(
55
+ ROUNDING_METHODS).find(k=>ROUNDING_METHODS[k]===value);if(key===void 0){throw new UsageError(`--method \u306B\u300C${raw}\u300D\u306F\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093`,`\u6307\u5B9A\u3067\u304D\u308B\u5024: ${Object.entries(ROUNDING_METHODS).map(([k,label])=>`${k}\uFF08${label}\uFF09`).join(" / ")}`)}return key}function roundingOf(body){const data=envelope(body,"\u7AEF\u6570\u51E6\u7406\u8A2D\u5B9A")["data"];if(!isRecord(data)||typeof data["rounding_method"]!=="string")throw new ApiResponseError(
56
+ "\u7AEF\u6570\u51E6\u7406\u8A2D\u5B9A\u306E\u5FDC\u7B54\u306B data.rounding_method \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u63A5\u7D9A\u5148\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");const method=data["rounding_method"];return{...data,rounding_method_label:Object.hasOwn(ROUNDING_METHODS,method)?ROUNDING_METHODS[method]:method}}var ROUNDING_COLUMNS=["rounding_method","rounding_method_label","updated_at","updated_by"];function roundingNotes(record){return record["updated_at"]===
57
+ null?["\u307E\u3060\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u65E2\u5B9A\u306E\u56DB\u6368\u4E94\u5165\u3067\u8A08\u7B97\u3057\u3066\u3044\u307E\u3059"]:[]}var ROUNDING_ABOUT="\u7AEF\u6570\u51E6\u7406\u306F\u3001\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u5951\u7D04\u30FB\u4ED5\u5165\u30FB\u652F\u6255\u306E\u91D1\u984D\uFF08\u7A0E\u984D\u306A\u3069\uFF09\u306E1\u5186\u672A\u6E80\u3092\u3069\u3046\u4E38\u3081\u308B\u304B\u306E\u30C6\u30CA\u30F3\u30C8\u306E\u8A2D\u5B9A\u3067\u3059\uFF08round\uFF1D\u56DB\u6368\u4E94\u5165 / ceil\uFF1D\u5207\u308A\u4E0A\u3052 / floor\uFF1D\u5207\u308A\u6368\u3066\uFF09\u3002\n\u5909\u3048\u308B\u3068\u3001\u3053\u308C\u4EE5\u964D\u306B\u4F5C\u308B\u5E33\u7968\u304B\u3089\u52B9\u304D\u307E\u3059\u3002\u4F5C\u6210\u6E08\u307F\u306E\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u5951\u7D04\u30FB\u4ED5\u5165\u306F\u4F5C\u3063\u305F\u6642\u70B9\u306E\u65B9\u5F0F\u3092\u6301\u3063\u3066\u3044\u308B\u306E\u3067\u3001\u91D1\u984D\u306F\u5909\u308F\u308A\u307E\u305B\u3093\u3002\n\u305F\u3060\u3057\u652F\u6255\u306F\u65B9\u5F0F\u3092\u6301\u305F\u305A\u3001\u91D1\u984D\u30FB\u7A0E\u7387\u3092\u66F8\u304D\u63DB\u3048\u308B\u305F\u3073\u306B\u305D\u306E\u6642\u70B9\u306E\u65B9\u5F0F\u3067\u7A0E\u629C\u984D\u3092\u8A08\u7B97\u3057\u76F4\u3057\u307E\u3059\u3002";
58
+ var roundingGet={name:"get",summary:"\u7AEF\u6570\u51E6\u7406\u306E\u8A2D\u5B9A\u3092\u8868\u793A\u3059\u308B",usage:"twp rounding-setting get",description:`GET /api/v2/sales/rounding-setting\u3002\u8CA9\u58F2\u7BA1\u7406\u306E\u30E1\u30F3\u30D0\u30FC\u4EE5\u4E0A\u304C\u4F7F\u3048\u307E\u3059\u3002
59
+
60
+ ${ROUNDING_ABOUT}`,flags:[],forbidden:MEMBER_FORBIDDEN,plan:input=>{if(input.args.length>0)throw new UsageError(`get \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp rounding-setting get help");return{method:"GET",path:SALES_ROUNDING_SETTING_PATH}},summarize:body=>pick(roundingOf(body),ROUNDING_COLUMNS),raw:roundingOf,notes:body=>roundingNotes(roundingOf(body))};var roundingUpdate={name:"update",summary:"\u7AEF\u6570\u51E6\u7406\u306E\u65B9\u5F0F\u3092\u5909\u3048\u308B\uFF08\u8CA9\u58F2\u7BA1\u7406\u306E\u7BA1\u7406\u8005\u30FB--yes \u304C\u8981\u308B\uFF09",
61
+ usage:"twp rounding-setting update --method <round|ceil|floor> --yes",description:`PUT /api/v2/sales/rounding-setting\uFF08\u307E\u3060\u8A2D\u5B9A\u304C\u7121\u3051\u308C\u3070\u4F5C\u3089\u308C\u307E\u3059\uFF09\u3002\u8CA9\u58F2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u3060\u3051\u304C\u4F7F\u3048\u307E\u3059\u3002
62
+
63
+ ${ROUNDING_ABOUT}
64
+
65
+ --method \u306F round / ceil / floor \u306E\u307B\u304B\u3001\u56DB\u6368\u4E94\u5165 / \u5207\u308A\u4E0A\u3052 / \u5207\u308A\u6368\u3066 \u3067\u3082\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002
66
+ \u9001\u308B\u524D\u306B\u4ECA\u306E\u65B9\u5F0F\u3092\u8AAD\u307F\u3001\u5909\u66F4\u524D\u30FB\u5909\u66F4\u5F8C\u3092 stderr \u306B\u51FA\u3057\u307E\u3059\uFF08--dry-run \u3067\u3082\u51FA\u307E\u3059\u3002--dry-run \u306F --yes \u7121\u3057\u3067\u4F7F\u3048\u307E\u3059\uFF09\u3002`,destructive:true,confirmation:"\u4EE5\u5F8C\u306B\u4F5C\u308B\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u5951\u7D04\u30FB\u4ED5\u5165\u30FB\u652F\u6255\u306E\u91D1\u984D\u306E\u4E38\u3081\u3092\u5909\u3048\u308B\u64CD\u4F5C",
67
+ flags:[{name:"--method",summary:"\u7AEF\u6570\u51E6\u7406\u306E\u65B9\u5F0F\uFF08round / ceil / floor\u30FB\u5FC5\u9808\uFF09",takesValue:true,placeholder:"<\u65B9\u5F0F>"}],forbidden:salesAdminForbidden("\u7AEF\u6570\u51E6\u7406\u306E\u5909\u66F4"),prepare:async(input,ctx)=>{if(input.args.length>0)throw new UsageError(`update \u306F\u4F4D\u7F6E\u5F15\u6570\u3092\u53D6\u308A\u307E\u305B\u3093: ${input.args.join(" ")}`,"twp rounding-setting update help");const raw=input.flags.get("--method");if(raw===
68
+ void 0)throw new UsageError("--method \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044","twp rounding-setting update help");const method=roundingMethod(raw);const current=roundingOf(await ctx.resolver.salesJson(SALES_ROUNDING_SETTING_PATH,"\u7AEF\u6570\u51E6\u7406\u8A2D\u5B9A"));return withResolved(input,{method,current:JSON.stringify(current)})},plan:input=>({method:"PUT",path:SALES_ROUNDING_SETTING_PATH,body:{rounding_method:requireResolved(input,"method")}}),plannedNotes:input=>{const current=parsedOf(
69
+ input,"current");const before=text(current["rounding_method"]);const after=requireResolved(input,"method");const label=key=>`${key}\uFF08${Object.hasOwn(ROUNDING_METHODS,key)?ROUNDING_METHODS[key]:key}\uFF09`;return[before===after?`\u7AEF\u6570\u51E6\u7406: ${label(before)}\uFF08\u5909\u308F\u308A\u307E\u305B\u3093\uFF09`:`\u7AEF\u6570\u51E6\u7406: ${label(before)} \u2192 ${label(after)}`,...current["updated_at"]===null?["\u4ECA\u306F\u307E\u3060\u8A2D\u5B9A\u304C\u7121\u304F\u65E2\u5B9A\u306E\u56DB\u6368\u4E94\u5165\u3067\u3059\u3002\u9001\u308B\u3068\u8A2D\u5B9A\u304C\u4F5C\u3089\u308C\u307E\u3059"]:
70
+ []]},summarize:body=>pick(roundingOf(body),ROUNDING_COLUMNS),raw:roundingOf,notes:serverMessage};var roundingSettingDomain={name:"rounding-setting",summary:"\u8CA9\u58F2\u7BA1\u7406\u306E\u7AEF\u6570\u51E6\u7406\uFF08\u898B\u7A4D\u30FB\u8ACB\u6C42\u30FB\u5951\u7D04\u30FB\u4ED5\u5165\u30FB\u652F\u6255\u306E\u91D1\u984D\u306E\u4E38\u3081\u65B9\u3002\u8868\u793A\u3068\u5909\u66F4\uFF09",operations:[roundingGet,roundingUpdate]};export{nextNumber,estimateNoRuleResource,invoiceNoRuleResource,purchaseNoRuleResource,roundingSettingDomain};
@@ -0,0 +1,15 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import{httpFetch}from"./chunk-J7QYPKVK.js";function describeError(res){if(res.status===null)return`transport_error=${res.transportError??"\u4E0D\u660E"}`;const body=res.json;const parts=[`http=${res.status}`];const reason=typeof body?.["reason"]==="string"?body["reason"]:"";if(reason)parts.push(`reason=${reason}`);const error=body?.["error"];const code=typeof error?.["code"]==="string"?error["code"]:"";if(code)parts.push(`code=${code}`);const message=(typeof body?.["message"]==="string"?body["message"]:"")||(typeof error?.["message"]==="\
4
+ string"?error["message"]:"");if(message)parts.push(message.slice(0,160));if(!reason&&!code&&!message)parts.push(`\u5FDC\u7B54\u306E\u5148\u982D: ${res.raw.slice(0,160)}`);return parts.join(" ")}function isPermanent(res){return res.status!==null&&res.status>=400&&res.status<500}var RUNNER_PLATFORMS=["mac","windows","linux"];function normalizeRequiredPlatforms(value){if(!Array.isArray(value))return[];const given=new Set(value.filter(v=>typeof v==="string").map(v=>v.trim().toLowerCase()));return RUNNER_PLATFORMS.
5
+ filter(p=>given.has(p))}function filterByStatus(items,status){return items.filter(item=>item.status===void 0||item.status===status)}var AgentLoopApi=class{constructor(opts){this.opts=opts;const root=opts.apiUrl.replace(/\/+$/,"");this.base=isPrivateProjectId(opts.projectId)?`${root}/api/v2/tasks/private/agent-loop`:`${root}/api/v2/projects/${opts.projectId}/agent-loop`}opts;base;get baseUrl(){return this.base}list(query){const qs=new URLSearchParams;for(const[k,v]of Object.entries(query)){if(v!==
6
+ void 0&&v!=="")qs.set(k,String(v))}const suffix=qs.toString()?`?${qs.toString()}`:"";return this.request("GET",suffix)}create(body){return this.request("POST","",body)}getItem(itemId){return this.request("GET",`/${encodeURIComponent(itemId)}`)}update(itemId,body,runId){return this.request("PUT",`/${encodeURIComponent(itemId)}`,{...body,run_id:runId})}updateUnowned(itemId,body){return this.request("PUT",`/${encodeURIComponent(itemId)}`,body)}logUploadUrl(itemId,runId){return this.request("POST",`\
7
+ /${encodeURIComponent(itemId)}/log-upload-url`,{run_id:runId})}async putPresigned(url,body,contentType){const fetchImpl=this.opts.fetchImpl??httpFetch;const controller=new AbortController;const timer=setTimeout(()=>controller.abort(),this.opts.timeoutMs??6e4);try{const res=await fetchImpl(url,{method:"PUT",headers:{"Content-Type":contentType},signal:controller.signal,body});await res.text().catch(()=>"");return{ok:res.ok,status:res.status,json:null,raw:"",transportError:null}}catch(err){const reason=err.
8
+ name==="AbortError"?"timeout":err.message;return{ok:false,status:null,json:null,raw:"",transportError:reason}}finally{clearTimeout(timer)}}reorder(itemIds){return this.request("PUT","/reorder",{item_ids:itemIds})}claim(runnerId,runId){return this.request("POST","/claim",{runner_id:runnerId,run_id:runId})}reclaim(){return this.request("POST","/reclaim",{})}runners(){return this.request("GET","/runners")}registerRunner(payload){return this.request("POST","/runners/register",payload)}heartbeatRunner(payload){
9
+ return this.request("POST","/runners/heartbeat",payload)}deregisterRunner(payload){return this.request("POST","/runners/deregister",payload)}planStart(runnerId,runId){return this.request("POST","/plan/start",{runner_id:runnerId,run_id:runId})}planFinish(runnerId,runId,planStartedAt,result){return this.request("POST","/plan/finish",{runner_id:runnerId,run_id:runId,plan_started_at:planStartedAt,result})}consumeCounter(key,date,limit){return this.request("POST","/counters/consume",{key,date,limit})}listCounters(date){
10
+ return this.request("GET",`/counters?date=${encodeURIComponent(date)}`)}async queuedSnapshot(){return this.snapshotOf(["pending","processing"])}async processingSnapshot(){return this.snapshotOf(["processing"])}async pendingSnapshot(){return this.snapshotOf(["pending"])}async completedSince(sinceMicros,maxPages=10){const all=[];let cursor=String(Math.trunc(sinceMicros));for(let page=0;page<maxPages;page++){const res=await this.list({status:"completed",limit:100,cursor});if(!res.ok)return null;const body=res.
11
+ json;const items=body?.["items"];if(!Array.isArray(items))return null;all.push(...filterByStatus(items,"completed"));const pagination=body?.["pagination"];const hasMore=(pagination?.["has_more"]??body?.["has_more"])===true;const next=pagination?.["next_cursor"]??body?.["next_cursor"];if(!hasMore||!next)return all;cursor=next}return null}async snapshotOf(statuses){const all=[];for(const status of statuses){let cursor;for(let page=0;page<20;page++){const res=await this.list({status,limit:100,cursor});
12
+ if(!res.ok)return null;const body=res.json;const items=body?.["items"];if(!Array.isArray(items))return null;all.push(...filterByStatus(items,status));const pagination=body?.["pagination"];const hasMore=(pagination?.["has_more"]??body?.["has_more"])===true;const next=pagination?.["next_cursor"]??body?.["next_cursor"];if(!hasMore||!next)break;cursor=next;if(page===19)return null}}return all}async request(method,suffix,body){let token;try{token=await this.opts.session.getAccessToken()}catch(err){return{
13
+ ok:false,status:null,json:null,raw:"",transportError:err.message}}let res=await this.send(method,suffix,token,body);if(res.status===401){try{token=await this.opts.session.refresh(token);res=await this.send(method,suffix,token,body)}catch(err){return{ok:false,status:401,json:null,raw:res.raw,transportError:err.message}}}return res}async send(method,suffix,token,body){const fetchImpl=this.opts.fetchImpl??httpFetch;const controller=new AbortController;const timer=setTimeout(()=>controller.abort(),this.
14
+ opts.timeoutMs??6e4);try{const res=await fetchImpl(`${this.base}${suffix}`,{method,headers:{Authorization:`Bearer ${token}`,"Content-Type":"application/json",Accept:"application/json"},signal:controller.signal,...body===void 0?{}:{body:JSON.stringify(body)}});const raw=await res.text();let json=null;if(raw.trim()!==""){try{json=JSON.parse(raw)}catch{json=null}}return{ok:res.ok,status:res.status,json,raw,transportError:null}}catch(err){const reason=err.name==="AbortError"?"timeout":err.message;return{
15
+ ok:false,status:null,json:null,raw:"",transportError:reason}}finally{clearTimeout(timer)}}};function pick(json,path){let cur=json;for(const part of path.split(".")){if(cur===null||typeof cur!=="object")return void 0;cur=cur[part]}return cur===null?void 0:cur}function pickString(json,path){const v=pick(json,path);if(typeof v==="string")return v;if(typeof v==="number")return String(v);if(typeof v==="boolean")return v?"true":"false";return""}export{describeError,isPermanent,normalizeRequiredPlatforms,filterByStatus,AgentLoopApi,pick,pickString};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{contentTypeFor,inspectLocalFile,issued}from"./chunk-VECUCVIY.js";import{checkUploadQuota}from"./chunk-DDKZ5IPT.js";import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-MHRGKUMK.js";import{readCsvFileText}from"./chunk-I6DWJXPC.js";import{featureLicenseGuidance}from"./chunk-RZ54TCQU.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-ELXDRPDV.js";import{ApiError,errorListMessages}from"./chunk-IF2K4PM5.js";import{
3
+ import{createFlags,fieldBody,hasAnyField,updateFlags}from"./chunk-BPCK5RAB.js";import{contentTypeFor,inspectLocalFile,issued}from"./chunk-PKWMJIBM.js";import{checkUploadQuota}from"./chunk-DDKZ5IPT.js";import{readCsvFileText}from"./chunk-I6DWJXPC.js";import{featureLicenseGuidance}from"./chunk-BZ7ULFR3.js";import{CUSTOMERS_PATH,SALES_COMPANIES_PATH,isExactNumericId}from"./chunk-BZAXQOLB.js";import{ApiError,errorListMessages}from"./chunk-IF2K4PM5.js";import{
4
4
  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{ApiRejectedError,ApiResponseError,UsageError}from"./chunk-7WSNIXTQ.js";import fs from"fs";import path from"path";function levelForbidden(licenseGuidance,levelGuidance){return body=>body?.error==="permission_denied"?licenseGuidance:levelGuidance}var COMPANY_LICENSE="\u53D6\u5F15\u5148\u3092\u6271\u3046\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\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";
5
5
  var CUSTOMER_LICENSE=featureLicenseGuidance("\u9867\u5BA2\u7BA1\u7406");var COMPANY_WRITE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u4F5C\u6210\u30FB\u66F4\u65B0\u306B\u306F\u3001\u9867\u5BA2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u7DE8\u96C6\u8005\u300D\u4EE5\u4E0A\u304B\u3001\u8CA9\u58F2\u7BA1\u7406\u306E\u6A29\u9650\u304C\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u306E\u3069\u3061\u3089\u304B\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\u306B\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002");
6
6
  var LEVEL_LABELS={admin:"\u7BA1\u7406\u8005",editor:"\u7DE8\u96C6\u8005",viewer:"\u95B2\u89A7\u8005",none:"\u306A\u3057"};var CHILD_DELETE_NEEDS="\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\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";var CUSTOMER_DELETE_FORBIDDEN=levelForbidden(COMPANY_LICENSE,"\u9867\u5BA2\u306E\u524A\u9664\u306B\u306F\u3001\u4F01\u696D\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304B\u8CA9\u58F2\u7BA1\u7406\u306E\u300C\u30E1\u30F3\u30D0\u30FC\u300D\u4EE5\u4E0A\u3001\u62C5\u5F53\u8005\u30FB\u5BFE\u5FDC\u5C65\u6B74\u306E\u524A\u9664\u306B\u9867\u5BA2\u7BA1\u7406\u306E\u300C\u7BA1\u7406\u8005\u300D\u304C\u8981\u308A\u307E\u3059\u3002\u30C6\u30CA\u30F3\u30C8\u7BA1\u7406\u8005\
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{describeError}from"./chunk-QWSXHHFT.js";import{isValidSkillName,skillDigest}from"./chunk-VK2Z4QGC.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import fs from"fs";import path from"path";var SKILL_REF=/^([ \t]*)\/([a-z][a-z0-9-]*)(?=[ \t\n]|$)([ \t]+[^\n]*)?/gm;function stripFrontmatter(content){if(!content.startsWith("---"))return content;const m=/^---[ \t]*\r?\n[\s\S]*?\r?\n---[ \t]*(?:\r?\n)?/.exec(content);return m===null?content:content.slice(m[0].length)}function referencedSkills(prompt){const out=[];for(const m of prompt.matchAll(SKILL_REF)){const name=m[2]??"";if(!out.includes(name))out.push(name)}return out}function expandServerSkills(prompt,bodies){if(bodies.size===0)return prompt;
3
+ import{isValidSkillName,skillDigest}from"./chunk-VUHKLW66.js";import{describeError}from"./chunk-G2THOTBW.js";import{isPrivateProjectId}from"./chunk-GY7KI5E5.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import fs from"fs";import path from"path";var SKILL_REF=/^([ \t]*)\/([a-z][a-z0-9-]*)(?=[ \t\n]|$)([ \t]+[^\n]*)?/gm;function stripFrontmatter(content){if(!content.startsWith("---"))return content;const m=/^---[ \t]*\r?\n[\s\S]*?\r?\n---[ \t]*(?:\r?\n)?/.exec(content);return m===null?content:content.slice(m[0].length)}function referencedSkills(prompt){const out=[];for(const m of prompt.matchAll(SKILL_REF)){const name=m[2]??"";if(!out.includes(name))out.push(name)}return out}function expandServerSkills(prompt,bodies){if(bodies.size===0)return prompt;
4
4
  return prompt.replace(SKILL_REF,(whole,_indent,name,args)=>{const body=bodies.get(name);if(body===void 0)return whole;return stripFrontmatter(body).replaceAll("$ARGUMENTS",()=>(args??"").trim())})}function prepareSkillOverlay(root,workspace,bodies,provider){const commands=path.join(root,".claude","commands");fs.rmSync(root,{recursive:true,force:true});fs.mkdirSync(commands,{recursive:true});const src=path.join(workspace,".claude","commands");let names=[];try{names=fs.readdirSync(src).filter(f=>f.
5
5
  endsWith(".md"))}catch{}for(const f of names){const from=path.join(src,f);try{if(fs.statSync(from).isFile())fs.copyFileSync(from,path.join(commands,f))}catch{}}for(const[name,body]of bodies){if(!isValidSkillName(name))continue;fs.writeFileSync(path.join(commands,`${name}.md`),body,"utf8")}if(/^[a-z0-9-]+$/.test(provider)){const rel=path.join("scripts","agent-adapters","providers",`${provider}.md`);const from=path.join(workspace,rel);if(fs.existsSync(from)){fs.mkdirSync(path.dirname(path.join(root,
6
6
  rel)),{recursive:true});fs.copyFileSync(from,path.join(root,rel))}}}function unwrap(json,key){if(json===null||typeof json!=="object"||Array.isArray(json))return null;const top=json;const data=top["data"];if(data!==null&&typeof data==="object"&&!Array.isArray(data)&&key in data){return data}return top}function isRevision(v){return typeof v==="number"&&Number.isInteger(v)&&v>=0}function parseSkillList(res){const b=unwrap(res.json,"skills");const raw=b?.["skills"];if(!Array.isArray(raw))return null;
@@ -0,0 +1,13 @@
1
+ import { createRequire as __twpCreateRequire } from 'node:module';
2
+ const require = __twpCreateRequire(import.meta.url);
3
+ import{normalizeRequiredPlatforms}from"./chunk-G2THOTBW.js";import{extractLeadingTaskKey}from"./chunk-II5RVJQN.js";var LEDGER_TASK_KEY_MAX=50;var CONTROL_CHAR_RE=/[\u0000-\u001f\u007f]/;var FLAG_TOKEN_RE=/(?:^|\s)-/;function loosen(source){let t=source.replace(/^[ \t]*\/\/[^\n]*$/gm,"");t=t.replace(/\/\*[\s\S]*?\*\//g,"");t=t.replace(/,(\s*[}\]])/g,"$1");return t===source?null:t}function tryParsePlan(source){for(const candidate of[source,loosen(source)]){if(candidate===null)continue;try{const obj=JSON.parse(candidate);if(obj!==null&&typeof obj==="object"&&Array.isArray(obj.steps)){return obj}}catch{}}return null}
4
+ function fencedBlocks(text,tag){const re=new RegExp("```"+tag+"\\s*\\n([\\s\\S]*?)\\n```","g");const out=[];for(const m of text.matchAll(re)){if(m[1]!==void 0)out.push(m[1])}return out}function extractGeminiEnvelope(text){const anchor=/\{[^{}]*"session_id"[^{}]*"response"\s*:\s*"/g;for(const m of text.matchAll(anchor)){const start=m.index;if(start===void 0)continue;let depth=0;let inStr=false;let escape=false;for(let i=start;i<text.length;i++){const c=text[i];if(escape){escape=false;continue}if(c===
5
+ "\\"){escape=true;continue}if(c==='"'){inStr=!inStr;continue}if(inStr)continue;if(c==="{")depth++;else if(c==="}"){depth--;if(depth===0){try{const obj=JSON.parse(text.slice(start,i+1));if(obj!==null&&typeof obj==="object"&&typeof obj.response==="string"){return obj.response}}catch{}break}}}}return null}function extractPlanJson(rawText){const text=rawText.replace(/^\s*\[\d{2}:\d{2}:\d{2}\]\s*/gm,"");for(const tag of["json:execution-plan","json"]){for(const block of fencedBlocks(text,tag).reverse()){
6
+ const plan=tryParsePlan(block);if(plan)return plan}}const resp=extractGeminiEnvelope(text);if(resp!==null){for(const block of[...fencedBlocks(resp,"json:execution-plan"),...fencedBlocks(resp,"json")].reverse()){const plan2=tryParsePlan(block);if(plan2)return plan2}const plan=tryParsePlan(resp);if(plan)return plan}const whole=tryParsePlan(text.trim());if(whole)return whole;for(const m of[...text.matchAll(/\{[^{}]*"steps"[^{}]*\[[\s\S]*?\][\s\S]*?\}/g)].reverse()){const plan=tryParsePlan(m[0]);if(plan)
7
+ return plan}return null}function ledgerTaskKey(args){const key=extractLeadingTaskKey(args);if(key.length>LEDGER_TASK_KEY_MAX)return"";if(CONTROL_CHAR_RE.test(key))return"";if(FLAG_TOKEN_RE.test(key))return"";return key}function placeholderTaskKey(args){for(const token of args.split(/\s+/)){if(token==="")continue;if(token.startsWith("-"))continue;const m=/^[A-Z]{2,}[A-Z0-9]*-([A-Za-z0-9_<>{}]*)$/.exec(token);if(!m)return null;if(/^\d+$/.test(m[1]??""))return null;return token}return null}function stepToItem(step,assign){
8
+ const skill=typeof step.skill==="string"?step.skill.trim():"";if(!skill)return null;const args=(step.args??"").trim();const priority=step.priority??"P2";const prompt=`/twp-${skill}${args?` ${args}`:""}`;let label=(step.label??"").trim();if(!label||label.startsWith("/twp-")||label.startsWith("[P"))label=prompt;const taskKey=ledgerTaskKey(args);const category=assign?.categoryForSkill(skill)??step.ai_category??"complex";const display=taskKey&&!label.includes(taskKey)?`[${priority}] ${taskKey} ${label}\
9
+ #ai:${category}`:`[${priority}] ${label} #ai:${category}`;const item={label:display.slice(0,200),prompt,task_key:taskKey};const platforms=normalizeRequiredPlatforms(step.required_platforms);if(platforms.length>0)item.required_platforms=platforms;if(assign!==void 0){const ai=assign.selectPrimary(category,skill,priority,display);if(ai!=="")item.ai_type=ai}return item}function parsePlanExcludeKeys(prefetchSection){const m=/OPS_PLAN_EXCLUDE_KEYS\s+([^\s]*)\s+-->/.exec(prefetchSection);const keys=new Set;
10
+ if(!m||!m[1])return keys;for(const raw of m[1].split(",")){const key=raw.trim();if(key!=="")keys.add(key)}return keys}function excludedKeyInArgs(args,excluded){if(excluded.size===0)return null;for(const key of[...excluded].sort()){const re=new RegExp(`(?<![A-Za-z0-9-])${key.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![0-9])`);if(re.test(args))return key}return null}function parseOpsCount(prefetchSection,field){const marker=/OPS_COUNTS\s+([^>]*?)-->/.exec(prefetchSection);if(!marker||!marker[1])return null;
11
+ const escaped=field.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");const hit=new RegExp(`(?:^|\\s)${escaped}=(-?\\d+)(?:\\s|$)`).exec(marker[1]);if(!hit||hit[1]===void 0)return null;const n=Number.parseInt(hit[1],10);if(!Number.isFinite(n)||n<0)return null;return n}function releaseDeployDropReason(verifyBacklog,devVerifyPlanned){if(verifyBacklog===null){return"\u52D5\u4F5C\u78BA\u8A8D\u306E\u4EF6\u6570\u3092\u53D6\u5F97\u3067\u304D\u306A\u304B\u3063\u305F\uFF08\u5224\u5B9A\u4E0D\u80FD\u306E\u305F\u3081\u30EA\u30EA\u30FC\u30B9\u306F\u898B\u9001\u308B\uFF09"}
12
+ if(verifyBacklog>devVerifyPlanned){return`\u52D5\u4F5C\u78BA\u8A8D${verifyBacklog}\u4EF6 > \u8A08\u753B\u5185dev-verify${devVerifyPlanned}\u4EF6\uFF08Phase 1\u306E0\u4EF6\u898B\u8FBC\u307F\u304C\u7ACB\u305F\u306A\u3044\uFF09`}return null}function duplicateTaskKeyDropReason(enqueuedKeys,taskKey){if(!taskKey)return null;if(!enqueuedKeys.has(taskKey))return null;return`${taskKey} \u306F\u672C\u8A08\u753B\u3067\u65E2\u306B\u6295\u5165\u6E08\u307F\uFF08\u540C\u4E00\u30AD\u30FC\u306F1\u8A08\u753B1\u4EF6\uFF09`}
13
+ var NO_ZERO_TARGET_GATES={};function zeroTargetDropReasons(prefetchSection,gates=NO_ZERO_TARGET_GATES){const reasons=new Map;for(const[skill,gate]of Object.entries(gates)){const n=parseOpsCount(prefetchSection,gate.field);if(n===null)reasons.set(skill,`${gate.label}\u4EF6\u6570\u304C\u5224\u5B9A\u4E0D\u80FD\u306E\u305F\u3081\u898B\u9001\u308A`);else if(n===0)reasons.set(skill,`${gate.label}0\u4EF6\u306E\u305F\u3081\u5BFE\u8C61\u306A\u3057`)}return reasons}export{extractPlanJson,placeholderTaskKey,stepToItem,parsePlanExcludeKeys,excludedKeyInArgs,parseOpsCount,releaseDeployDropReason,duplicateTaskKeyDropReason,zeroTargetDropReasons};
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{createRuntime}from"./chunk-PWXXCLVZ.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{describeAutoUpdate}from"./chunk-2NKVGAAE.js";import{PACKAGE_NAME,UPDATE_COMMAND,compareVersionCores,isBelowMinSupported,parseVersionCore}from"./chunk-DXXFUNYN.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{findExecutable}from"./chunk-PMOUHEJQ.js";import{execFile}from"child_process";import fs from"fs";import path from"path";function resolveNpmCommand(deps={}){const platform=deps.platform??process.platform;const env=deps.env??process.env;const npmPath=(deps.find??(name=>findExecutable(name,{env,platform})))("npm");if(npmPath===null)return null;if(platform!=="win32")return{file:npmPath,prefix:[]};if(/\.exe$/i.test(npmPath))return{file:npmPath,prefix:[]};const cliJs=path.win32.join(path.win32.dirname(npmPath),"node_modules","npm","bin","npm-cli.js");return(deps.exists??fs.existsSync)(cliJs)?{file:deps.nodePath??process.
3
+ import{createRuntime}from"./chunk-6QOT7CHX.js";import{describeAutoUpdate}from"./chunk-YM7TKMNO.js";import{PACKAGE_NAME,UPDATE_COMMAND,compareVersionCores,isBelowMinSupported,parseVersionCore}from"./chunk-DXXFUNYN.js";import{findExecutable}from"./chunk-PMOUHEJQ.js";import{httpFetch}from"./chunk-J7QYPKVK.js";import{stripTerminalControls}from"./chunk-NHYMHCAT.js";import{execFile}from"child_process";import fs from"fs";import path from"path";function resolveNpmCommand(deps={}){const platform=deps.platform??process.platform;const env=deps.env??process.env;const npmPath=(deps.find??(name=>findExecutable(name,{env,platform})))("npm");if(npmPath===null)return null;if(platform!=="win32")return{file:npmPath,prefix:[]};if(/\.exe$/i.test(npmPath))return{file:npmPath,prefix:[]};const cliJs=path.win32.join(path.win32.dirname(npmPath),"node_modules","npm","bin","npm-cli.js");return(deps.exists??fs.existsSync)(cliJs)?{file:deps.nodePath??process.
4
4
  execPath,prefix:[cliJs]}:null}var DEFAULT_REGISTRY="https://registry.npmjs.org";function registryBase(env=process.env){const configured=env["npm_config_registry"]?.trim();if(configured===void 0||configured==="")return DEFAULT_REGISTRY;try{const url=new URL(configured);if(url.protocol!=="https:"&&url.protocol!=="http:")return DEFAULT_REGISTRY}catch{return DEFAULT_REGISTRY}return configured.replace(/\/+$/,"")}async function fetchFromRegistry(fetchImpl=httpFetch,env=process.env){const url=`${registryBase(env)}/${PACKAGE_NAME.replace(
5
5
  "/","%2f")}`;const res=await fetchImpl(url,{headers:{Accept:"application/vnd.npm.install-v1+json"},signal:AbortSignal.timeout(5e3)});if(!res.ok){throw new Error(`registry \u304C ${res.status} \u3092\u8FD4\u3057\u307E\u3057\u305F`)}const body=await res.json();const latest=body["dist-tags"]?.latest;if(typeof latest!=="string"||parseVersionCore(latest)===null){throw new Error("registry \u306E\u5FDC\u7B54\u306B dist-tags.latest \u304C\u3042\u308A\u307E\u305B\u3093")}return{version:latest.trim(),source:"\
6
6
  registry"}}async function fetchFromNpmCli(){const npm=resolveNpmCommand();if(npm===null){throw new Error("npm \u304C PATH \u306B\u898B\u3064\u304B\u308A\u307E\u305B\u3093")}const stdout=await new Promise((resolve,reject)=>{execFile(npm.file,[...npm.prefix,"view",PACKAGE_NAME,"version","--json"],{timeout:15e3,windowsHide:true},(error,out)=>error?reject(error):resolve(out))});const parsed=JSON.parse(stdout.trim());const latest=typeof parsed==="string"?parsed:null;if(latest===null||parseVersionCore(
@@ -1,6 +1,6 @@
1
1
  import { createRequire as __twpCreateRequire } from 'node:module';
2
2
  const require = __twpCreateRequire(import.meta.url);
3
- import{describeError}from"./chunk-QWSXHHFT.js";import{httpFetch}from"./chunk-J7QYPKVK.js";var ScheduleApi=class{constructor(api){this.api=api}api;async definitions(){const res=await this.api.request("GET","/schedules/definitions");if(!res.ok)return fetchError("\u5B9A\u671F\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u306E\u5B9A\u7FA9\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093",res);const body=res.json??{};const schedules=body["schedules"];if(!Array.isArray(schedules)){return{kind:"error",message:`\u5B9A\u7FA9\u306E\u5FDC\u7B54\u306B schedules \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u5FDC\u7B54\u306E\u5148\u982D: ${res.
3
+ import{describeError,normalizeRequiredPlatforms}from"./chunk-G2THOTBW.js";import{httpFetch}from"./chunk-J7QYPKVK.js";var ScheduleApi=class{constructor(api){this.api=api}api;async definitions(){const res=await this.api.request("GET","/schedules/definitions");if(!res.ok)return fetchError("\u5B9A\u671F\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u306E\u5B9A\u7FA9\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093",res);const body=res.json??{};const schedules=body["schedules"];if(!Array.isArray(schedules)){return{kind:"error",message:`\u5B9A\u7FA9\u306E\u5FDC\u7B54\u306B schedules \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u5FDC\u7B54\u306E\u5148\u982D: ${res.
4
4
  raw.slice(0,120)}\uFF09`,status:res.status}}const gates=Array.isArray(body["gates"])?body["gates"]:[];return{kind:"ok",config:{schedules,gates,max_per_cycle:body["max_per_cycle"],warnings:Array.isArray(body["warnings"])?body["warnings"]:[]}}}async history(since){const suffix=since?`/schedules/history?since=${encodeURIComponent(since)}`:"/schedules/history";const res=await this.api.request("GET",suffix);if(!res.ok)return fetchError("\u5B9A\u671F\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\u306E\u5C65\u6B74\u3092\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093",
5
5
  res);const body=res.json??{};const rows=body["rows"];if(!Array.isArray(rows)){return{kind:"error",message:`\u5C65\u6B74\u306E\u5FDC\u7B54\u306B rows \u914D\u5217\u304C\u3042\u308A\u307E\u305B\u3093\uFF08\u5FDC\u7B54\u306E\u5148\u982D: ${res.raw.slice(0,120)}\uFF09`,status:res.status}}if(body["truncated"]===true||body["reason"]==="history_truncated"){return{kind:"error",message:"\u5C65\u6B74\u306E\u8D70\u67FB\u304C\u6253\u3061\u5207\u3089\u308C\u307E\u3057\u305F\uFF08\u5224\u5B9A\u306B\u4F7F\u3048\u307E\u305B\u3093\uFF09",
6
6
  status:res.status}}const windowCounts={};const counts=body["window_counts"];if(counts&&typeof counts==="object"){for(const[k,v]of Object.entries(counts)){if(typeof v==="number"){if(Number.isInteger(v))windowCounts[k]=v}else if(/^-?\d+$/.test(String(v))){windowCounts[k]=Number(String(v))}}}const normalized=rows.map(r=>{const row=r??{};return{ts:str(row["ts"]),schedule_id:str(row["schedule_id"]),window_key:str(row["window_key"]),status:str(row["status"]),item_id:str(row["item_id"]),args:str(row["a\
@@ -39,10 +39,10 @@ if("items"in obj)rows=obj["items"];else if("data"in obj)rows=obj["data"]}if(!Arr
39
39
  exec(raw);if(!m)return null;const[,y,mo,d,h,mi,sec]=m;return Date.UTC(Number(y),Number(mo)-1,Number(d),Number(h),Number(mi),Number(sec))}function releaseRunningBlocked(skill,running,exclusiveSkills){if(!exclusiveSkills.has(skill))return null;if(running.unavailable)return"\u30EA\u30EA\u30FC\u30B9\u72B6\u6CC1\u3092\u5224\u5B9A\u3067\u304D\u306A\u3044\u305F\u3081\u67A0\u3092\u6368\u3066\u308B";if(running.ids.length>0)return`${running.ids.join(",")} \u304C\u5B9F\u884C\u4E2D\u306E\u305F\u3081\u67A0\u3092\u6368\u3066\u308B`;
40
40
  return null}async function collectDue(input){const{config,now,history,windowCounts,safeMode,warn,verbose}=input;const gates=config.gates??[];const counts=input.counts??{};const exclusiveSkills=input.exclusiveSkills??new Set;const statusEndpoint=input.statusEndpoint??null;let running=null;const items=[];for(const sch of config.schedules??[]){const{due,reason,windowKey}=isDue(sch,now,history,safeMode,warn);const sid="id"in sch?pyStr(sch.id):"?";if(!due){verbose?.(` skip ${pad28(sid)} ${reason}`);
41
41
  continue}const skill=String(sch.skill);const gate=gateStatus(skill,now,gates);if(!gate.allowed){verbose?.(` hold ${pad28(sid)} \u6642\u9593\u5E2F\u30B2\u30FC\u30C8: ${gate.reason}`);continue}const blocked=await requireZeroBlocked(sch,counts,input.fetchCount);if(blocked){verbose?.(` hold ${pad28(sid)} \u4EF6\u6570\u30B2\u30FC\u30C8: ${blocked}`);continue}if(exclusiveSkills.has(skill)){running??=await(input.fetchRunning??(()=>fetchRunningReleases(statusEndpoint)))();const held=releaseRunningBlocked(
42
- skill,running,exclusiveSkills);if(held){verbose?.(` hold ${pad28(sid)} \u30EA\u30EA\u30FC\u30B9\u6392\u4ED6: ${held}`);continue}}items.push({scheduleId:sid,skill,args:rotationArgs(sch,history,windowCounts,windowKey),priority:truthyStr("priority"in sch?sch.priority:"P3")||"P3",label:sch.label||`\u5B9A\u671F: /twp-${skill}`,windowKey,reason,order:num(sch.order,50,"float")})}items.sort((a,b)=>{const pa=priorityRank(a.priority);const pb=priorityRank(b.priority);if(pa!==pb)return pa-pb;return a.order-
43
- b.order});let limit=num(config.max_per_cycle,2);if(limit===0&&config.max_per_cycle!==void 0&&config.max_per_cycle!==null){warn?.("# max_per_cycle=0 \u306F\u7121\u5236\u9650\u3067\u306F\u306A\u304F\u8A2D\u5B9A\u30DF\u30B9\u3068\u307F\u306A\u3057\u65E2\u5B9A(2)\u3092\u4F7F\u3044\u307E\u3059\u3002\u7121\u5236\u9650\u306B\u3057\u305F\u3044\u5834\u5408\u306F -1 \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");limit=2}let out=items;if(limit>0&&items.length>limit){for(const held of items.
44
- slice(limit)){verbose?.(` hold ${pad28(held.scheduleId)} max_per_cycle=${limit} \u306E\u305F\u3081\u6B21\u30B5\u30A4\u30AF\u30EB\u3078`)}out=items.slice(0,limit)}return out.map(({order:_order,...row})=>row)}function truthyStr(v){if(v===null||v===void 0||v===false||v===0||v==="")return"";return String(v)}function pad28(s){return s.padEnd(28)}function promptSection(config,now,history,enqueuedLines,includeUpcoming=true){const blocked=gatedSkills(config,now);const upcoming=[];for(const sch of config.
45
- schedules??[]){if(!flag(sch,"enabled",true))continue;const nxt=nextWindowStart(sch,now,history);if(!nxt)continue;upcoming.push([nxt,sch])}upcoming.sort((a,b)=>a[0].getTime()-b[0].getTime());const out=["\u3010\u5B9A\u671F\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\uFF08scripts/ops-schedule.json\uFF09\u3011"];if(enqueuedLines.length>0){out.push("\u4ECA\u30B5\u30A4\u30AF\u30EB\u306E\u5B9A\u671F\u5B9F\u884C\u5206\u3068\u3057\u3066\u3001\u4EE5\u4E0B\u306F**\u30B9\u30AF\u30EA\u30D7\u30C8\u304C\u65E2\u306B\u30AD\u30E5\u30FC\u3078\u6295\u5165\u6E08\u307F**\u3067\u3059\u3002steps \u306B\u91CD\u8907\u3057\u3066\u542B\u3081\u306A\u3044\u3067\u304F\u3060\u3055\u3044\uFF08\u91CD\u8907\u3059\u308B\u3068\u30AD\u30E5\u30FC\u306B\u4E8C\u91CD\u767B\u9332\u3055\u308C\u307E\u3059\uFF09:");
42
+ skill,running,exclusiveSkills);if(held){verbose?.(` hold ${pad28(sid)} \u30EA\u30EA\u30FC\u30B9\u6392\u4ED6: ${held}`);continue}}items.push({scheduleId:sid,skill,args:rotationArgs(sch,history,windowCounts,windowKey),priority:truthyStr("priority"in sch?sch.priority:"P3")||"P3",label:sch.label||`\u5B9A\u671F: /twp-${skill}`,windowKey,reason,requiredPlatforms:normalizeRequiredPlatforms(sch.required_platforms),order:num(sch.order,50,"float")})}items.sort((a,b)=>{const pa=priorityRank(a.priority);const pb=priorityRank(
43
+ b.priority);if(pa!==pb)return pa-pb;return a.order-b.order});let limit=num(config.max_per_cycle,2);if(limit===0&&config.max_per_cycle!==void 0&&config.max_per_cycle!==null){warn?.("# max_per_cycle=0 \u306F\u7121\u5236\u9650\u3067\u306F\u306A\u304F\u8A2D\u5B9A\u30DF\u30B9\u3068\u307F\u306A\u3057\u65E2\u5B9A(2)\u3092\u4F7F\u3044\u307E\u3059\u3002\u7121\u5236\u9650\u306B\u3057\u305F\u3044\u5834\u5408\u306F -1 \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002");limit=2}let out=items;if(limit>
44
+ 0&&items.length>limit){for(const held of items.slice(limit)){verbose?.(` hold ${pad28(held.scheduleId)} max_per_cycle=${limit} \u306E\u305F\u3081\u6B21\u30B5\u30A4\u30AF\u30EB\u3078`)}out=items.slice(0,limit)}return out.map(({order:_order,...row})=>row)}function truthyStr(v){if(v===null||v===void 0||v===false||v===0||v==="")return"";return String(v)}function pad28(s){return s.padEnd(28)}function promptSection(config,now,history,enqueuedLines,includeUpcoming=true){const blocked=gatedSkills(config,
45
+ now);const upcoming=[];for(const sch of config.schedules??[]){if(!flag(sch,"enabled",true))continue;const nxt=nextWindowStart(sch,now,history);if(!nxt)continue;upcoming.push([nxt,sch])}upcoming.sort((a,b)=>a[0].getTime()-b[0].getTime());const out=["\u3010\u5B9A\u671F\u30B9\u30B1\u30B8\u30E5\u30FC\u30EB\uFF08scripts/ops-schedule.json\uFF09\u3011"];if(enqueuedLines.length>0){out.push("\u4ECA\u30B5\u30A4\u30AF\u30EB\u306E\u5B9A\u671F\u5B9F\u884C\u5206\u3068\u3057\u3066\u3001\u4EE5\u4E0B\u306F**\u30B9\u30AF\u30EA\u30D7\u30C8\u304C\u65E2\u306B\u30AD\u30E5\u30FC\u3078\u6295\u5165\u6E08\u307F**\u3067\u3059\u3002steps \u306B\u91CD\u8907\u3057\u3066\u542B\u3081\u306A\u3044\u3067\u304F\u3060\u3055\u3044\uFF08\u91CD\u8907\u3059\u308B\u3068\u30AD\u30E5\u30FC\u306B\u4E8C\u91CD\u767B\u9332\u3055\u308C\u307E\u3059\uFF09:");
46
46
  out.push(...enqueuedLines)}else{out.push("\u4ECA\u30B5\u30A4\u30AF\u30EB\u3067\u767A\u706B\u3057\u305F\u5B9A\u671F\u30BF\u30B9\u30AF\u306F\u3042\u308A\u307E\u305B\u3093\u3002")}if(blocked.length>0){out.push("");out.push("\u73FE\u5728\u6642\u523B\u306F\u4EE5\u4E0B\u306E\u30B9\u30AD\u30EB\u306E\u5B9F\u884C\u6642\u9593\u5E2F\u5916\u3067\u3059\u3002**steps \u306B\u542B\u3081\u306A\u3044\u3067\u304F\u3060\u3055\u3044**:");for(const[skill,reason]of blocked)out.push(`- ${skill} \u2014 ${reason}`)}if(includeUpcoming&&
47
47
  upcoming.length>0){out.push("");out.push("\u5B9A\u671F\u30BF\u30B9\u30AF\u306E\u6B21\u56DE\u767A\u706B\u4E88\u5B9A\uFF08\u53C2\u8003\u3002\u8A08\u753B\u306B\u542B\u3081\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\uFF09:");for(const[nxt,sch]of upcoming.slice(0,8)){const whenTxt=nxt.getTime()<=now.getTime()?"\u767A\u706B\u5F85\u3061\uFF08\u6B21\u30B5\u30A4\u30AF\u30EB\u4EE5\u964D\u306B\u81EA\u52D5\u6295\u5165\uFF09":fmtMonthDayTime(nxt);out.push(`- ${whenTxt} ${sch.label||`/twp-${String(
48
48
  sch.skill)}`}\uFF08${describeWhen(sch)}\uFF09`)}}out.push("");out.push("\u5B9A\u671F\u30BF\u30B9\u30AF\u306F\u6642\u9593\u30D9\u30FC\u30B9\u3067\u30B9\u30AF\u30EA\u30D7\u30C8\u304C\u7BA1\u7406\u3057\u3066\u3044\u307E\u3059\u3002\u300C\u524D\u56DE\u5B9F\u884C\u304B\u3089\u6642\u9593\u304C\u7D4C\u3063\u305F\u304B\u300D\u3092\u63A8\u6E2C\u3057\u3066\u8A08\u753B\u306B\u5165\u308C\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\u3002");return out.join("\n")}export{ScheduleApi,nowInZone,parseTs,gateStatus,REQUIRE_ZERO_STATUS,parseCounts,collectDue,promptSection};
@@ -0,0 +1,8 @@
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-RCMZ7IGV.js")).agentLoopDomain,attendance:async()=>(await import("./attendance-5KE2JPK4.js")).attendanceDomain,backlog:async()=>(await import("./backlog-JVHWVL6N.js")).backlogDomain,"business-place":async()=>(await import("./sales-master-RYZKGURE.js")).businessPlaceDomain,company:async()=>(await import("./company-KHZVPKHH.js")).companyDomain,contract:async()=>(await import("./contract-O3FIBHDY.js")).contractDomain,customer:async()=>(await import("./company-KHZVPKHH.js")).
4
+ customerDomain,department:async()=>(await import("./department-I25NAPWU.js")).departmentDomain,deposit:async()=>(await import("./deposit-U4AVQH5O.js")).depositDomain,estimate:async()=>(await import("./estimate-SW43VOLO.js")).estimateDomain,inquiry:async()=>(await import("./inquiry-5HSK4FPD.js")).inquiryDomain,invoice:async()=>(await import("./invoice-RGOI2H4L.js")).invoiceDomain,"job-title":async()=>(await import("./job-title-G7MIYWVA.js")).jobTitleDomain,leave:async()=>(await import("./leave-6QI2RNO2.js")).
5
+ leaveDomain,media:async()=>(await import("./media-OV26FYD2.js")).mediaDomain,meeting:async()=>(await import("./knowledge-ZPMPS6WK.js")).meetingDomain,note:async()=>(await import("./knowledge-ZPMPS6WK.js")).noteDomain,notification:async()=>(await import("./notification-FL5GTW5S.js")).notificationDomain,payee:async()=>(await import("./sales-master-RYZKGURE.js")).payeeDomain,position:async()=>(await import("./position-UY33ETLX.js")).positionDomain,project:async()=>(await import("./project-ZGOB5W25.js")).
6
+ projectDomain,prospect:async()=>(await import("./prospect-VN42J236.js")).prospectDomain,purchase:async()=>(await import("./purchase-VQZOO3QL.js")).purchaseDomain,receivable:async()=>(await import("./receivable-TNH4KCUO.js")).receivableDomain,report:async()=>(await import("./report-BTF5Q4F3.js")).reportDomain,"rounding-setting":async()=>(await import("./sales-numbering-MBFKVR2C.js")).roundingSettingDomain,"seal-impression":async()=>(await import("./sales-master-RYZKGURE.js")).sealImpressionDomain,
7
+ shift:async()=>(await import("./attendance-lists-MXQNWUIH.js")).shiftDomain,storage:async()=>(await import("./storage-ANKKJJJO.js")).storageDomain,"supplier-payment":async()=>(await import("./supplier-payment-ZBN2QZRW.js")).supplierPaymentDomain,task:async()=>(await import("./task-CXHPLZHT.js")).taskDomain,user:async()=>(await import("./user-MCDORJTG.js")).userDomain,wiki:async()=>(await import("./knowledge-ZPMPS6WK.js")).wikiDomain,workchange:async()=>(await import("./attendance-lists-MXQNWUIH.js")).
8
+ workchangeDomain,workflow:async()=>(await import("./workflow-2YL2OF2Y.js")).workflowDomain};async function loadDomain(name){return LOADERS[name]()}export{loadDomain};