intonear-erp-cli 0.2.1 → 0.2.4
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.
- package/dist/bin.js +327 -101
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -14520,7 +14520,7 @@ function date4(params) {
|
|
|
14520
14520
|
config(en_default());
|
|
14521
14521
|
|
|
14522
14522
|
// ../../packages/contracts/dist/agent-context.js
|
|
14523
|
-
var erpDomainModelVersion = "2026-09-
|
|
14523
|
+
var erpDomainModelVersion = "2026-09-03";
|
|
14524
14524
|
var erpCompletenessRulesVersion = "2026-09-01";
|
|
14525
14525
|
var erpDomainTopics = [
|
|
14526
14526
|
{
|
|
@@ -14536,12 +14536,12 @@ var erpDomainTopics = [
|
|
|
14536
14536
|
{
|
|
14537
14537
|
topic: "BUSINESS_CODE_SYSTEM",
|
|
14538
14538
|
title: "\u4E1A\u52A1\u7F16\u7801\u4F53\u7CFB",
|
|
14539
|
-
summary: "PR\u3001PS\u3001PK\
|
|
14539
|
+
summary: "PR\u3001PS\u3001PK\u3001MANUAL \u4E1A\u52A1\u7F16\u7801\u4E0E\u6570\u636E\u5E93\u5185\u90E8 ID \u7684\u533A\u522B\u3002"
|
|
14540
14540
|
},
|
|
14541
14541
|
{
|
|
14542
14542
|
topic: "FILES",
|
|
14543
14543
|
title: "\u6587\u4EF6\u4E0E\u4EA7\u54C1\u8D44\u6599",
|
|
14544
|
-
summary: "FileAsset\u3001\u4E0D\u53EF\u53D8 FileVersion\u3001\u4EA7\u54C1\u56FE\u7247\
|
|
14544
|
+
summary: "FileAsset\u3001\u4E0D\u53EF\u53D8 FileVersion\u3001\u4EA7\u54C1\u56FE\u7247\u4E0E\u7528\u6237\u8BF4\u660E\u4E66\u7684\u5F53\u524D\u4E0A\u4F20\u80FD\u529B\u3002"
|
|
14545
14545
|
},
|
|
14546
14546
|
{
|
|
14547
14547
|
topic: "DEVELOPMENT_WORK_LIST",
|
|
@@ -14587,16 +14587,18 @@ var overviewContent = {
|
|
|
14587
14587
|
readOnly: false,
|
|
14588
14588
|
available: [
|
|
14589
14589
|
"\u641C\u7D22 Product\u3001ProductSpec\u3001Pack \u4E3B\u6570\u636E\u5173\u7CFB",
|
|
14590
|
-
"\u6309\u5B8C\u6574 PR\u3001PS\u3001PK \u4E1A\u52A1\u7F16\u7801\u8BFB\u53D6\u4E3B\u6570\u636E
|
|
14590
|
+
"\u6309\u5B8C\u6574 PR\u3001PS\u3001PK\u3001MANUAL \u4E1A\u52A1\u7F16\u7801\u8BFB\u53D6\u4E3B\u6570\u636E",
|
|
14591
14591
|
"\u5206\u9875\u67E5\u8BE2\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355",
|
|
14592
14592
|
"\u8BFB\u53D6\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u53CA\u5B9E\u65F6\u8D44\u6599\u5B8C\u6574\u5EA6",
|
|
14593
14593
|
"\u5206\u9875\u8BFB\u53D6\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u64CD\u4F5C\u8BB0\u5F55",
|
|
14594
14594
|
"\u521B\u5EFA\u53CA\u66F4\u65B0 Product\u3001ProductSpec\u3001Pack",
|
|
14595
14595
|
"\u7EF4\u62A4 ProductSpec\u2014Pack \u6620\u5C04",
|
|
14596
14596
|
"\u521B\u5EFA\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u5E76\u6267\u884C\u539F\u5B50\u8BED\u4E49\u547D\u4EE4",
|
|
14597
|
-
"\u4E3A
|
|
14597
|
+
"\u4E3A Product \u4E0A\u4F20\u5E76\u5173\u8054\u4EA7\u54C1\u56FE\u7247",
|
|
14598
|
+
"\u4E3A UserManual \u4E0A\u4F20\u5E76\u8BBE\u7F6E\u5F53\u524D PDF",
|
|
14599
|
+
"CLI \u53EF\u8BFB\u53D6\u5E76\u7EF4\u62A4 ProductSpec\u2014UserManual \u9002\u7528\u5173\u7CFB"
|
|
14598
14600
|
],
|
|
14599
|
-
unavailable: ["\u91C7\u8D2D\u67E5\u8BE2", "\u7269\u6D41\u67E5\u8BE2", "\u8BA2\u5355\u67E5\u8BE2", "
|
|
14601
|
+
unavailable: ["\u91C7\u8D2D\u67E5\u8BE2", "\u7269\u6D41\u67E5\u8BE2", "\u8BA2\u5355\u67E5\u8BE2", "\u4F9B\u5E94\u5546\u3001\u5C01\u6837\u4E0E Pack \u8D44\u6599\u9644\u4EF6\u7EF4\u62A4"]
|
|
14600
14602
|
},
|
|
14601
14603
|
permissionSemantics: {
|
|
14602
14604
|
enforced: "\u8C03\u7528\u8EAB\u4EFD\u5FC5\u987B\u901A\u8FC7\u8BA4\u8BC1\u4E14 resource \u5339\u914D MCP\uFF1B\u6BCF\u4E2A\u5DE5\u5177\u5206\u522B\u6821\u9A8C erp:read \u6216 erp:write\u3002",
|
|
@@ -14604,7 +14606,7 @@ var overviewContent = {
|
|
|
14604
14606
|
failures: "\u8BA4\u8BC1\u3001scope \u6216 resource \u5931\u8D25\u5728 HTTP \u5C42\u62D2\u7EDD\uFF1B\u7CBE\u786E\u67E5\u8BE2\u65E0\u7ED3\u679C\u53EA\u8FD4\u56DE\u901A\u7528 NOT_FOUND\u3002"
|
|
14605
14607
|
},
|
|
14606
14608
|
routing: [
|
|
14607
|
-
"\u5DF2\u77E5\u5B8C\u6574 PR\u3001PS\u3001PK \u4E1A\u52A1\u7F16\u7801\u65F6\u4F7F\u7528\
|
|
14609
|
+
"\u5DF2\u77E5\u5B8C\u6574 PR\u3001PS\u3001PK \u4E1A\u52A1\u7F16\u7801\u65F6\u4F7F\u7528\u4EA7\u54C1\u4E3B\u6570\u636E\u7CBE\u786E\u67E5\u8BE2\uFF1B\u5DF2\u77E5\u5B8C\u6574 ManualCode \u65F6\u8BFB\u53D6 UserManual\u3002",
|
|
14608
14610
|
"\u53EA\u6709\u540D\u79F0\u6216 Supplier \u65F6\u4F7F\u7528\u4EA7\u54C1\u4E3B\u6570\u636E\u641C\u7D22\uFF1B\u5F53\u524D\u641C\u7D22\u4E0D\u652F\u6301\u90E8\u5206 PR\u3001PS\u3001PK \u7F16\u7801\u3002",
|
|
14609
14611
|
"\u8D44\u6599\u5B8C\u6574\u5EA6\u4EE5\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u8BE6\u60C5\u4E2D\u7684\u5B9E\u65F6\u8BA1\u7B97\u7ED3\u679C\u4E3A\u51C6\uFF0C\u4E0D\u6309\u5B57\u6BB5\u6570\u91CF\u81EA\u884C\u63A8\u7B97\u3002",
|
|
14610
14612
|
"\u53EA\u9009\u62E9 MCP tools/list \u6216 CLI list \u5B9E\u9645\u5217\u51FA\u7684\u80FD\u529B\u3002",
|
|
@@ -14618,13 +14620,13 @@ var productMasterDataContent = {
|
|
|
14618
14620
|
entityType: "PRODUCT",
|
|
14619
14621
|
name: "Product",
|
|
14620
14622
|
businessIdentity: "ProductCode\uFF08PR \u4E1A\u52A1\u7F16\u7801\uFF09",
|
|
14621
|
-
definition: "\u9762\u5411\u7528\u6237\u7684\
|
|
14623
|
+
definition: "\u9762\u5411\u7528\u6237\u7684\u9500\u552E SKU \u53D8\u4F53\uFF0C\u4FDD\u5B58\u540D\u79F0\u3001\u54C1\u724C\u3001\u989C\u8272\u3001\u76EE\u6807\u5E02\u573A\u548C\u987E\u5BA2\u53EF\u89C1\u5C3A\u5BF8\u3002"
|
|
14622
14624
|
},
|
|
14623
14625
|
{
|
|
14624
14626
|
entityType: "PRODUCT_SPEC",
|
|
14625
14627
|
name: "ProductSpec",
|
|
14626
14628
|
businessIdentity: "ProductSpecCode\uFF08PS \u4E1A\u52A1\u7F16\u7801\uFF09",
|
|
14627
|
-
definition: "
|
|
14629
|
+
definition: "\u987E\u5BA2\u4E0D\u611F\u77E5\u7684\u5185\u90E8\u5B9E\u73B0\u65B9\u6848\uFF1B\u540C\u4E00 Product \u4E0B\u53EA\u5141\u8BB8\u7EC6\u5FAE\u7ED3\u6784\u6216\u4F9B\u5E94\u5B9E\u73B0\u5DEE\u5F02\u3002"
|
|
14628
14630
|
},
|
|
14629
14631
|
{
|
|
14630
14632
|
entityType: "PACK",
|
|
@@ -14635,7 +14637,7 @@ var productMasterDataContent = {
|
|
|
14635
14637
|
{
|
|
14636
14638
|
entityType: "USER_MANUAL",
|
|
14637
14639
|
name: "UserManual",
|
|
14638
|
-
businessIdentity: "ManualCode\
|
|
14640
|
+
businessIdentity: "ManualCode\uFF08MANUAL \u4E1A\u52A1\u7F16\u7801\uFF09",
|
|
14639
14641
|
definition: "\u53EF\u88AB\u591A\u4E2A ProductSpec \u590D\u7528\u7684\u5BA2\u6237\u7EC4\u88C5\u3001\u4F7F\u7528\u6216\u5B89\u5168\u8BF4\u660E\u8D44\u6599\u3002"
|
|
14640
14642
|
},
|
|
14641
14643
|
{
|
|
@@ -14673,6 +14675,7 @@ var productMasterDataContent = {
|
|
|
14673
14675
|
],
|
|
14674
14676
|
rules: [
|
|
14675
14677
|
"Product\u3001ProductSpec\u3001Pack \u548C UserManual \u521B\u5EFA\u540E\u7ACB\u5373\u53EF\u7528\uFF0C\u4E0D\u8BBE\u751F\u547D\u5468\u671F\u72B6\u6001\u3002",
|
|
14678
|
+
"\u54C1\u724C\u3001\u989C\u8272\u6216\u987E\u5BA2\u53EF\u89C1\u5C3A\u5BF8\u53D8\u5316\u5C5E\u4E8E\u65B0\u7684 Product\uFF1BProductSpec \u4E0D\u62E5\u6709\u8FD9\u4E9B\u9500\u552E\u8EAB\u4EFD\u5B57\u6BB5\u3002",
|
|
14676
14679
|
"\u8D44\u6599\u5B8C\u6574\u5EA6\u53EA\u63D0\u793A\u5F85\u8865\u8D44\u6599\uFF0C\u4E0D\u963B\u65AD\u4EA7\u54C1\u4E3B\u6570\u636E\u67E5\u8BE2\u6216\u4F7F\u7528\u3002",
|
|
14677
14680
|
"\u4E1A\u52A1\u7F16\u7801\u53EA\u6807\u8BC6\u5BF9\u8C61\u7C7B\u578B\u548C\u8EAB\u4EFD\uFF0C\u4E0D\u627F\u8F7D\u54C1\u7C7B\u3001\u4F9B\u5E94\u5546\u3001\u6E20\u9053\u6216\u7248\u672C\u542B\u4E49\u3002"
|
|
14678
14681
|
]
|
|
@@ -14703,9 +14706,10 @@ var businessCodeSystemContent = {
|
|
|
14703
14706
|
{
|
|
14704
14707
|
entity: "UserManual",
|
|
14705
14708
|
field: "ManualCode",
|
|
14706
|
-
prefix: "
|
|
14707
|
-
pattern: "^
|
|
14708
|
-
example: "
|
|
14709
|
+
prefix: "MANUAL",
|
|
14710
|
+
pattern: "^MANUAL\\d{3,}$",
|
|
14711
|
+
example: "MANUAL001",
|
|
14712
|
+
acceptedLegacyPattern: "^UM\\d{5,}$"
|
|
14709
14713
|
}
|
|
14710
14714
|
],
|
|
14711
14715
|
rules: [
|
|
@@ -14732,7 +14736,7 @@ var developmentWorkListContent = {
|
|
|
14732
14736
|
"\u5DE5\u4F5C\u6E05\u5355\u4E0D\u62E5\u6709\u4EA7\u54C1\u4E3B\u6570\u636E\uFF0C\u4E0D\u6539\u53D8 Product\u3001ProductSpec \u6216 Pack \u7684\u53EF\u7528\u6027\u3002",
|
|
14733
14737
|
"\u5DE5\u4F5C\u6E05\u5355\u6CA1\u6709\u63D0\u4EA4\u3001\u64A4\u56DE\u3001\u8BC4\u5BA1\u3001\u8FDB\u5EA6\u6216\u9501\u5B9A\u72B6\u6001\u3002",
|
|
14734
14738
|
"\u5DE5\u4F5C\u6E05\u5355\u8BE6\u60C5\u8FD4\u56DE\u6210\u5458\u5BF9\u5E94\u4E3B\u6570\u636E\u7684\u5B9E\u65F6\u6295\u5F71\uFF0C\u800C\u4E0D\u662F\u5386\u53F2\u5FEB\u7167\u3002",
|
|
14735
|
-
"\u5B9E\u65F6\u5B8C\u6574\u5EA6\u53EA\u8BA1\u7B97\u5DE5\u4F5C\u6E05\u5355\u4E2D\u663E\u5F0F\u5305\u542B\u7684 ProductSpec\u3002"
|
|
14739
|
+
"\u5B9E\u65F6\u5B8C\u6574\u5EA6\u53EA\u8BA1\u7B97\u5DE5\u4F5C\u6E05\u5355\u4E2D\u663E\u5F0F\u5305\u542B\u7684 Product \u4E0E ProductSpec\u3002"
|
|
14736
14740
|
]
|
|
14737
14741
|
};
|
|
14738
14742
|
var filesContent = {
|
|
@@ -14747,22 +14751,32 @@ var filesContent = {
|
|
|
14747
14751
|
}
|
|
14748
14752
|
],
|
|
14749
14753
|
productImages: {
|
|
14750
|
-
owner: "
|
|
14751
|
-
relationship: "\u4E00\u4E2A
|
|
14754
|
+
owner: "Product",
|
|
14755
|
+
relationship: "\u4E00\u4E2A Product \u53EF\u5173\u8054\u591A\u5F20\u4EA7\u54C1\u56FE\u7247\uFF1B\u540C\u4E00 FileVersion \u4E0D\u91CD\u590D\u5173\u8054\u3002",
|
|
14752
14756
|
acceptedTypes: ["JPG", "JPEG", "PNG", "WEBP"],
|
|
14753
14757
|
maxSizeBytes: 50 * 1024 * 1024,
|
|
14754
|
-
effect: "\u65B0\u589E\u56FE\u7247\u4F1A\u5F71\u54CD\u5305\u542B\u8BE5
|
|
14758
|
+
effect: "\u65B0\u589E\u56FE\u7247\u4F1A\u5F71\u54CD\u663E\u5F0F\u5305\u542B\u8BE5 Product \u7684\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u5B9E\u65F6\u5B8C\u6574\u5EA6\u3002"
|
|
14755
14759
|
},
|
|
14756
|
-
|
|
14760
|
+
userManuals: {
|
|
14761
|
+
owner: "UserManual",
|
|
14762
|
+
relationship: "\u4E00\u4E2A UserManual \u7EF4\u62A4\u4E00\u4E2A\u5F53\u524D PDF FileVersion\uFF0C\u5E76\u53EF\u88AB\u591A\u4E2A ProductSpec \u590D\u7528\u3002",
|
|
14763
|
+
acceptedTypes: ["PDF"],
|
|
14764
|
+
maxSizeBytes: 50 * 1024 * 1024,
|
|
14765
|
+
effect: "\u66F4\u65B0\u5F53\u524D PDF \u4F1A\u5F71\u54CD\u5173\u8054\u8BE5 UserManual \u7684 ProductSpec \u5B9E\u65F6\u5B8C\u6574\u5EA6\u3002"
|
|
14766
|
+
},
|
|
14767
|
+
agentCapability: "\u5F53\u524D MCP \u4E0E CLI \u5F00\u653E Product \u4EA7\u54C1\u56FE\u7247\u53CA UserManual \u5F53\u524D PDF \u4E0A\u4F20\uFF1BCLI \u53E6\u5F00\u653E ProductSpec\u2014UserManual \u9002\u7528\u5173\u7CFB\u8BFB\u53D6\u4E0E\u7EF4\u62A4\u3002"
|
|
14757
14768
|
};
|
|
14758
14769
|
var completenessRulesContent = {
|
|
14759
14770
|
projectionType: "REALTIME_NON_BLOCKING",
|
|
14760
14771
|
rulesVersion: erpCompletenessRulesVersion,
|
|
14761
14772
|
completeMeaning: "complete=true \u4EC5\u8868\u793A\u5F53\u524D\u6CA1\u6709\u8D44\u6599\u5F85\u8865\u63D0\u793A\uFF0C\u4E0D\u8868\u793A\u5DF2\u6279\u51C6\u6216\u9501\u5B9A\u3002",
|
|
14762
|
-
evaluatedEntity: "\u5DE5\u4F5C\u6E05\u5355\u4E2D\u663E\u5F0F\u5305\u542B\u7684 ProductSpec",
|
|
14773
|
+
evaluatedEntity: "\u5DE5\u4F5C\u6E05\u5355\u4E2D\u663E\u5F0F\u5305\u542B\u7684 Product \u4E0E ProductSpec",
|
|
14763
14774
|
checks: [
|
|
14764
14775
|
{ code: "MISSING_PACK_MAPPING", condition: "\u672A\u5173\u8054\u4EFB\u4F55 Pack" },
|
|
14765
|
-
{
|
|
14776
|
+
{
|
|
14777
|
+
code: "MINIMUM_PRODUCT_IMAGES_NOT_MET",
|
|
14778
|
+
condition: "\u663E\u5F0F\u5305\u542B\u7684 Product \u6709\u6548\u4EA7\u54C1\u56FE\u7247\u5C11\u4E8E 3 \u5F20"
|
|
14779
|
+
},
|
|
14766
14780
|
{ code: "MISSING_PRODUCT_SPEC_USER_MANUAL", condition: "\u672A\u5173\u8054\u4EFB\u4F55 UserManual" },
|
|
14767
14781
|
{
|
|
14768
14782
|
code: "USER_MANUAL_FILE_MISSING",
|
|
@@ -14825,12 +14839,22 @@ var changelogContent = {
|
|
|
14825
14839
|
entries: [
|
|
14826
14840
|
{
|
|
14827
14841
|
version: erpDomainModelVersion,
|
|
14842
|
+
releasedAt: "2026-09-03",
|
|
14843
|
+
compatibility: "ADDITIVE",
|
|
14844
|
+
changes: [
|
|
14845
|
+
"MCP \u4E0E CLI \u589E\u52A0 UserManual \u7CBE\u786E\u8BFB\u53D6\u4E0E\u5F53\u524D PDF \u4E0A\u4F20\u80FD\u529B\u3002",
|
|
14846
|
+
"CLI \u589E\u52A0 ProductSpec\u2014UserManual \u9002\u7528\u5173\u7CFB\u8BFB\u53D6\u3001\u5173\u8054\u4E0E\u89E3\u7ED1\u80FD\u529B\u3002",
|
|
14847
|
+
"UserManual \u65B0\u7F16\u7801\u6539\u4E3A MANUAL \u52A0\u81F3\u5C11\u4E09\u4F4D\u6570\u5B57\uFF1B\u65E2\u6709 UM \u7F16\u7801\u7EE7\u7EED\u6709\u6548\u3002"
|
|
14848
|
+
]
|
|
14849
|
+
},
|
|
14850
|
+
{
|
|
14851
|
+
version: "2026-09-02",
|
|
14828
14852
|
releasedAt: "2026-09-02",
|
|
14829
14853
|
compatibility: "ADDITIVE",
|
|
14830
14854
|
changes: [
|
|
14831
14855
|
"CLI \u4E0E MCP \u5F00\u653E\u9996\u6279\u4EA7\u54C1\u4E3B\u6570\u636E\u548C\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u5199\u64CD\u4F5C\u3002",
|
|
14832
14856
|
"\u589E\u52A0 erp:write\u3001\u4E50\u89C2\u5E76\u53D1\u3001\u5E42\u7B49\u952E\u548C\u7834\u574F\u6027\u64CD\u4F5C\u8BED\u4E49\u3002",
|
|
14833
|
-
"MCP \u4E0E CLI \u589E\u52A0
|
|
14857
|
+
"MCP \u4E0E CLI \u589E\u52A0 Product \u4EA7\u54C1\u56FE\u7247\u4E0A\u4F20\u80FD\u529B\u548C\u6587\u4EF6\u9886\u57DF\u4E3B\u9898\u3002"
|
|
14834
14858
|
]
|
|
14835
14859
|
},
|
|
14836
14860
|
{
|
|
@@ -14894,6 +14918,7 @@ var codeSchema = (prefix, description) => external_exports.string().trim().toUpp
|
|
|
14894
14918
|
var productCodeSchema = codeSchema("PR", "\u5B8C\u6574 ProductCode\uFF08PR \u4E1A\u52A1\u7F16\u7801\uFF09\uFF1APR \u5F00\u5934\uFF0C\u7528\u4E8E\u6807\u8BC6 Product\uFF1B\u4E0D\u662F\u6570\u636E\u5E93\u5185\u90E8 ID \u6216\u6E20\u9053 SKU\u3002");
|
|
14895
14919
|
var productSpecCodeSchema = codeSchema("PS", "\u5B8C\u6574 ProductSpecCode\uFF08PS \u4E1A\u52A1\u7F16\u7801\uFF09\uFF1APS \u5F00\u5934\uFF0C\u7528\u4E8E\u6807\u8BC6 ProductSpec\uFF1B\u4E0D\u662F\u6570\u636E\u5E93\u5185\u90E8 ID \u6216\u6E20\u9053 SKU\u3002");
|
|
14896
14920
|
var packCodeSchema = codeSchema("PK", "\u5B8C\u6574 PackCode\uFF08PK \u4E1A\u52A1\u7F16\u7801\uFF09\uFF1APK \u5F00\u5934\uFF0C\u7528\u4E8E\u6807\u8BC6 Pack\uFF1B\u4E0D\u662F\u6570\u636E\u5E93\u5185\u90E8 ID \u6216\u6E20\u9053 SKU\u3002");
|
|
14921
|
+
var manualCodeSchema = external_exports.string().trim().toUpperCase().regex(/^(?:MANUAL\d{3,}|UM\d{5,})$/).max(32).describe("\u5B8C\u6574 ManualCode\uFF1A\u65B0\u7F16\u7801\u4EE5 MANUAL \u5F00\u5934\u5E76\u5E26\u81F3\u5C11 3 \u4F4D\u6570\u5B57\uFF1B\u65E2\u6709 UM \u7F16\u7801\u7EE7\u7EED\u6709\u6548\u3002\u7528\u4E8E\u6807\u8BC6 UserManual\u3002");
|
|
14897
14922
|
var internalIdSchema = external_exports.number().int().describe("\u6570\u636E\u5E93\u5185\u90E8\u6807\u8BC6\uFF0C\u4EC5\u7528\u4E8E\u5173\u8054\u5F53\u524D\u8FD4\u56DE\u7ED3\u6784\uFF1B\u4E0D\u662F PR\u3001PS\u3001PK \u7B49\u4E1A\u52A1\u7F16\u7801\u3002");
|
|
14898
14923
|
var timestampSchema = external_exports.iso.datetime().describe("ISO 8601 UTC \u65F6\u95F4\u6233\u3002");
|
|
14899
14924
|
var nullableCentimeterSchema = external_exports.number().finite().nullable().describe("\u5C3A\u5BF8\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u7CFB\u7EDF\u6CA1\u6709\u5DF2\u8BB0\u5F55\u503C\uFF0C\u5F53\u524D\u4E0D\u7EC6\u5206\u5177\u4F53\u7A7A\u503C\u539F\u56E0\u3002");
|
|
@@ -14902,6 +14927,14 @@ var productSummarySchema = external_exports.object({
|
|
|
14902
14927
|
id: internalIdSchema,
|
|
14903
14928
|
productCode: productCodeSchema,
|
|
14904
14929
|
name: external_exports.string(),
|
|
14930
|
+
brand: external_exports.string().nullable(),
|
|
14931
|
+
color: external_exports.string().nullable(),
|
|
14932
|
+
salesMarketCodes: external_exports.array(external_exports.string()),
|
|
14933
|
+
lengthCm: nullableCentimeterSchema,
|
|
14934
|
+
widthCm: nullableCentimeterSchema,
|
|
14935
|
+
fixedHeightCm: nullableCentimeterSchema,
|
|
14936
|
+
minHeightCm: nullableCentimeterSchema,
|
|
14937
|
+
maxHeightCm: nullableCentimeterSchema,
|
|
14905
14938
|
version: external_exports.number().int(),
|
|
14906
14939
|
createdAt: timestampSchema,
|
|
14907
14940
|
updatedAt: timestampSchema
|
|
@@ -14922,19 +14955,13 @@ var productSpecSummarySchema = external_exports.object({
|
|
|
14922
14955
|
productSpecCode: productSpecCodeSchema,
|
|
14923
14956
|
productId: internalIdSchema,
|
|
14924
14957
|
specName: external_exports.string(),
|
|
14925
|
-
brand: external_exports.string().nullable(),
|
|
14926
|
-
color: external_exports.string().nullable(),
|
|
14927
|
-
salesMarketCodes: external_exports.array(external_exports.string()),
|
|
14928
|
-
lengthCm: nullableCentimeterSchema,
|
|
14929
|
-
widthCm: nullableCentimeterSchema,
|
|
14930
|
-
fixedHeightCm: nullableCentimeterSchema,
|
|
14931
|
-
minHeightCm: nullableCentimeterSchema,
|
|
14932
|
-
maxHeightCm: nullableCentimeterSchema,
|
|
14933
14958
|
netWeightKg: nullableKilogramSchema,
|
|
14934
14959
|
categorySpec: external_exports.unknown().nullable(),
|
|
14935
14960
|
categorySpecSchema: external_exports.string().nullable(),
|
|
14936
14961
|
version: external_exports.number().int(),
|
|
14937
14962
|
createdAt: timestampSchema,
|
|
14963
|
+
accessUrl: external_exports.string().url().optional(),
|
|
14964
|
+
accessExpiresAt: timestampSchema.optional(),
|
|
14938
14965
|
updatedAt: timestampSchema,
|
|
14939
14966
|
sealedSampleConclusion: sealedSampleConclusionSchema,
|
|
14940
14967
|
packMappings: external_exports.array(external_exports.object({
|
|
@@ -14967,9 +14994,28 @@ var packSummarySchema = external_exports.object({
|
|
|
14967
14994
|
createdAt: timestampSchema,
|
|
14968
14995
|
updatedAt: timestampSchema
|
|
14969
14996
|
}).strict();
|
|
14997
|
+
var productImageSchema = external_exports.object({
|
|
14998
|
+
id: external_exports.number().int(),
|
|
14999
|
+
fileVersionId: external_exports.number().int(),
|
|
15000
|
+
fileName: external_exports.string(),
|
|
15001
|
+
mediaType: external_exports.string(),
|
|
15002
|
+
sizeBytes: external_exports.number().int().nullable(),
|
|
15003
|
+
version: external_exports.number().int(),
|
|
15004
|
+
createdAt: timestampSchema,
|
|
15005
|
+
accessUrl: external_exports.string().url().optional(),
|
|
15006
|
+
accessExpiresAt: timestampSchema.optional()
|
|
15007
|
+
}).strict();
|
|
15008
|
+
var productImagesResponseSchema = external_exports.object({
|
|
15009
|
+
productCode: productCodeSchema,
|
|
15010
|
+
productVersion: external_exports.number().int(),
|
|
15011
|
+
images: external_exports.array(productImageSchema)
|
|
15012
|
+
}).strict();
|
|
15013
|
+
var productSearchSummarySchema = productSummarySchema.extend({
|
|
15014
|
+
listImage: productImageSchema.nullable().describe("\u4EA7\u54C1\u5217\u8868\u5C55\u793A\u7684\u9996\u5F20\u5173\u8054\u56FE\u7247\uFF1Bnull \u8868\u793A\u5F53\u524D\u6CA1\u6709\u4EA7\u54C1\u56FE\u7247\u3002")
|
|
15015
|
+
}).strict();
|
|
14970
15016
|
var searchProductsResponseSchema = external_exports.object({
|
|
14971
15017
|
query: external_exports.string(),
|
|
14972
|
-
products: external_exports.array(
|
|
15018
|
+
products: external_exports.array(productSearchSummarySchema),
|
|
14973
15019
|
productSpecs: external_exports.array(productSpecSummarySchema),
|
|
14974
15020
|
packs: external_exports.array(packSummarySchema),
|
|
14975
15021
|
supplierGroups: external_exports.array(external_exports.object({
|
|
@@ -15080,18 +15126,20 @@ var getPackOperation = defineReadOperation({
|
|
|
15080
15126
|
});
|
|
15081
15127
|
var initialProductSpecInputSchema = external_exports.object({
|
|
15082
15128
|
specName: external_exports.string().trim().min(1).max(255).optional().describe("\u9996\u4E2A ProductSpec \u7684\u663E\u793A\u540D\u79F0\uFF1B\u7701\u7565\u65F6\u4F7F\u7528 Product \u540D\u79F0\u3002"),
|
|
15083
|
-
|
|
15084
|
-
|
|
15085
|
-
|
|
15086
|
-
lengthCm: external_exports.number().finite().positive().nullable().optional().describe("\u957F\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15087
|
-
widthCm: external_exports.number().finite().positive().nullable().optional().describe("\u5BBD\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15088
|
-
fixedHeightCm: external_exports.number().finite().positive().nullable().optional().describe("\u56FA\u5B9A\u9AD8\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15089
|
-
minHeightCm: external_exports.number().finite().positive().nullable().optional().describe("\u6700\u5C0F\u9AD8\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15090
|
-
maxHeightCm: external_exports.number().finite().positive().nullable().optional().describe("\u6700\u5927\u9AD8\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15091
|
-
netWeightKg: external_exports.number().finite().positive().nullable().optional().describe("\u51C0\u91CD\uFF0C\u5355\u4F4D kg\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002")
|
|
15129
|
+
netWeightKg: external_exports.number().finite().positive().nullable().optional().describe("\u51C0\u91CD\uFF0C\u5355\u4F4D kg\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15130
|
+
categorySpec: external_exports.unknown().nullable().optional().describe("\u987E\u5BA2\u4E0D\u611F\u77E5\u7684\u5185\u90E8\u54C1\u7C7B\u89C4\u683C\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15131
|
+
categorySpecSchema: external_exports.string().trim().min(1).max(120).nullable().optional().describe("categorySpec \u4F7F\u7528\u7684\u7ED3\u6784\u7248\u672C\u6807\u8BC6\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002")
|
|
15092
15132
|
}).strict();
|
|
15093
15133
|
var createProductInputSchema = external_exports.object({
|
|
15094
15134
|
name: external_exports.string().trim().min(1).max(255).describe("Product \u9762\u5411\u7528\u6237\u663E\u793A\u7684\u540D\u79F0\u3002"),
|
|
15135
|
+
brand: external_exports.enum(["intoNear", "intoNir"]).optional().describe("\u53D7\u63A7\u54C1\u724C\u679A\u4E3E\u3002"),
|
|
15136
|
+
color: external_exports.string().trim().min(1).max(120).optional().describe("\u989C\u8272\u63CF\u8FF0\u3002"),
|
|
15137
|
+
salesMarketCodes: external_exports.array(external_exports.enum(["\u7F8E\u56FD", "\u5370\u5EA6", "\u6B27\u76DF", "\u82F1\u56FD"])).min(1).max(4).optional().describe("Product \u7684\u76EE\u6807\u9500\u552E\u5E02\u573A\u4E2D\u6587\u679A\u4E3E\u96C6\u5408\u3002"),
|
|
15138
|
+
lengthCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15139
|
+
widthCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15140
|
+
fixedHeightCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15141
|
+
minHeightCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15142
|
+
maxHeightCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15095
15143
|
initialSpec: initialProductSpecInputSchema.optional().describe("\u53EF\u9009\u7684\u9996\u4E2A ProductSpec \u5B57\u6BB5\uFF1B\u7CFB\u7EDF\u59CB\u7EC8\u4F1A\u540C\u65F6\u521B\u5EFA\u9996\u4E2A ProductSpec\u3002")
|
|
15096
15144
|
}).strict();
|
|
15097
15145
|
var createProductResponseSchema = external_exports.object({ product: productSummarySchema, productSpec: productSpecRecordSchema }).strict();
|
|
@@ -15100,7 +15148,7 @@ var createProductOperation = defineWriteOperation({
|
|
|
15100
15148
|
method: "POST",
|
|
15101
15149
|
path: "/api/v1/products",
|
|
15102
15150
|
summary: "\u521B\u5EFA Product \u53CA\u9996\u4E2A ProductSpec",
|
|
15103
|
-
description: "\u521B\u5EFA\u4E00\u4E2A Product\uFF0C\u5E76\u7531\u7CFB\u7EDF\u751F\u6210\u4E0D\u53EF\u53D8 PR \u4E1A\u52A1\u7F16\u7801\uFF1B\u540C\u4E00\u4E8B\u52A1\u5185\
|
|
15151
|
+
description: "\u521B\u5EFA\u4E00\u4E2A\u9762\u5411\u7528\u6237\u7684\u9500\u552E SKU \u53D8\u4F53 Product\uFF0C\u5E76\u7531\u7CFB\u7EDF\u751F\u6210\u4E0D\u53EF\u53D8 PR \u4E1A\u52A1\u7F16\u7801\uFF1B\u540C\u4E00\u4E8B\u52A1\u5185\u521B\u5EFA\u9996\u4E2A\u5185\u90E8\u5B9E\u73B0 ProductSpec \u5E76\u751F\u6210 PS \u4E1A\u52A1\u7F16\u7801\u3002\u989C\u8272\u3001\u5C3A\u5BF8\u7B49\u7528\u6237\u53EF\u611F\u77E5\u5DEE\u5F02\u5E94\u521B\u5EFA\u65B0\u7684 Product\u3002\u5199\u64CD\u4F5C\uFF0C\u8981\u6C42\u5F53\u524D\u5458\u5DE5\u6388\u6743 erp:write\u3002",
|
|
15104
15152
|
scope: "erp:write",
|
|
15105
15153
|
agent: { exposed: true, readOnly: false, destructive: false, idempotent: false },
|
|
15106
15154
|
request: { body: createProductInputSchema },
|
|
@@ -15108,16 +15156,18 @@ var createProductOperation = defineWriteOperation({
|
|
|
15108
15156
|
cli: { path: ["products", "create"] }
|
|
15109
15157
|
});
|
|
15110
15158
|
var atLeastOneField = (value) => Object.values(value).some((item) => item !== void 0);
|
|
15111
|
-
var updateProductInputSchema = external_exports.object({
|
|
15159
|
+
var updateProductInputSchema = external_exports.object({
|
|
15160
|
+
name: external_exports.string().trim().min(1).max(255).optional(),
|
|
15161
|
+
brand: external_exports.enum(["intoNear", "intoNir"]).optional(),
|
|
15162
|
+
color: external_exports.string().trim().min(1).max(120).optional(),
|
|
15163
|
+
salesMarketCodes: external_exports.array(external_exports.enum(["\u7F8E\u56FD", "\u5370\u5EA6", "\u6B27\u76DF", "\u82F1\u56FD"])).min(1).max(4).optional(),
|
|
15164
|
+
lengthCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15165
|
+
widthCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15166
|
+
fixedHeightCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15167
|
+
minHeightCm: external_exports.number().finite().positive().nullable().optional(),
|
|
15168
|
+
maxHeightCm: external_exports.number().finite().positive().nullable().optional()
|
|
15169
|
+
}).strict().refine(atLeastOneField, "\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u53EF\u7F16\u8F91\u7684 Product \u5B57\u6BB5\u3002");
|
|
15112
15170
|
var updateProductSpecInputSchema = external_exports.object({
|
|
15113
|
-
brand: external_exports.enum(["intoNear", "intoNir"]).optional().describe("\u53D7\u63A7\u54C1\u724C\u679A\u4E3E\u3002"),
|
|
15114
|
-
color: external_exports.string().trim().min(1).max(120).optional().describe("\u989C\u8272\u63CF\u8FF0\u3002"),
|
|
15115
|
-
salesMarketCodes: external_exports.array(external_exports.enum(["\u7F8E\u56FD", "\u5370\u5EA6", "\u6B27\u76DF", "\u82F1\u56FD"])).min(1).max(4).optional().describe("\u9500\u552E\u5E02\u573A\u4E2D\u6587\u679A\u4E3E\u96C6\u5408\u3002"),
|
|
15116
|
-
lengthCm: external_exports.number().finite().positive().nullable().optional().describe("\u957F\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15117
|
-
widthCm: external_exports.number().finite().positive().nullable().optional().describe("\u5BBD\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15118
|
-
fixedHeightCm: external_exports.number().finite().positive().nullable().optional().describe("\u56FA\u5B9A\u9AD8\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15119
|
-
minHeightCm: external_exports.number().finite().positive().nullable().optional().describe("\u6700\u5C0F\u9AD8\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15120
|
-
maxHeightCm: external_exports.number().finite().positive().nullable().optional().describe("\u6700\u5927\u9AD8\u5EA6\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15121
15171
|
netWeightKg: external_exports.number().finite().positive().nullable().optional().describe("\u51C0\u91CD\uFF0C\u5355\u4F4D kg\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15122
15172
|
categorySpec: external_exports.unknown().nullable().optional().describe("\u7531 categorySpecSchema \u6807\u8BC6\u7ED3\u6784\u7684\u54C1\u7C7B\u89C4\u683C\u5BF9\u8C61\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002"),
|
|
15123
15173
|
categorySpecSchema: external_exports.string().trim().min(1).max(120).nullable().optional().describe("categorySpec \u4F7F\u7528\u7684\u7ED3\u6784\u7248\u672C\u6807\u8BC6\uFF1Bnull \u8868\u793A\u6E05\u7A7A\u3002")
|
|
@@ -15162,19 +15212,58 @@ var deleteMappingResponseSchema = external_exports.object({
|
|
|
15162
15212
|
productSpecCode: productSpecCodeSchema,
|
|
15163
15213
|
packCode: packCodeSchema
|
|
15164
15214
|
}).strict();
|
|
15165
|
-
var
|
|
15166
|
-
|
|
15167
|
-
|
|
15168
|
-
|
|
15169
|
-
|
|
15170
|
-
|
|
15215
|
+
var addProductImageResponseSchema = external_exports.object({
|
|
15216
|
+
productCode: productCodeSchema,
|
|
15217
|
+
productVersion: external_exports.number().int().positive(),
|
|
15218
|
+
image: productImageSchema,
|
|
15219
|
+
images: external_exports.array(productImageSchema).describe("\u5B8C\u6210\u672C\u6B21\u64CD\u4F5C\u540E\uFF0C\u8BE5 Product \u5F53\u524D\u5173\u8054\u7684\u5168\u90E8\u4EA7\u54C1\u56FE\u7247\u3002")
|
|
15220
|
+
}).strict();
|
|
15221
|
+
var userManualFileSchema = external_exports.object({
|
|
15222
|
+
id: external_exports.number().int().positive(),
|
|
15223
|
+
fileAssetId: external_exports.number().int().positive(),
|
|
15224
|
+
fileName: external_exports.string(),
|
|
15225
|
+
mediaType: external_exports.literal("application/pdf"),
|
|
15226
|
+
sizeBytes: external_exports.number().int().nullable(),
|
|
15227
|
+
version: external_exports.number().int().positive(),
|
|
15171
15228
|
createdAt: timestampSchema
|
|
15172
15229
|
}).strict();
|
|
15173
|
-
var
|
|
15230
|
+
var userManualSchema = external_exports.object({
|
|
15231
|
+
manualCode: manualCodeSchema,
|
|
15232
|
+
name: external_exports.string(),
|
|
15233
|
+
version: external_exports.number().int().positive(),
|
|
15234
|
+
currentFile: userManualFileSchema.nullable()
|
|
15235
|
+
}).strict();
|
|
15236
|
+
var productSpecUserManualsResponseSchema = external_exports.object({
|
|
15174
15237
|
productSpecCode: productSpecCodeSchema,
|
|
15175
|
-
|
|
15176
|
-
|
|
15238
|
+
productSpecVersion: external_exports.number().int().positive(),
|
|
15239
|
+
manuals: external_exports.array(userManualSchema)
|
|
15177
15240
|
}).strict();
|
|
15241
|
+
var getUserManualOperation = defineReadOperation({
|
|
15242
|
+
operationId: "getUserManual",
|
|
15243
|
+
method: "GET",
|
|
15244
|
+
path: "/api/v1/user-manuals/{manualCode}",
|
|
15245
|
+
summary: "\u6309 ManualCode \u8BFB\u53D6 UserManual",
|
|
15246
|
+
description: "\u6839\u636E\u5B8C\u6574 ManualCode \u8BFB\u53D6 UserManual \u540D\u79F0\u3001\u6700\u65B0 version \u4E0E\u5F53\u524D PDF \u5143\u6570\u636E\u3002\u4E0A\u4F20\u524D\u5FC5\u987B\u5148\u8BFB\u53D6\u6700\u65B0 version\uFF1B\u4E0D\u53EF\u7528\u4E8E\u540D\u79F0\u6216\u4E0D\u5B8C\u6574\u7F16\u7801\u641C\u7D22\u3002\u65E2\u6709 UM \u7F16\u7801\u7EE7\u7EED\u53EF\u8BFB\u3002\u53EA\u8BFB\u5E76\u8981\u6C42 erp:read\uFF1B\u4E0D\u5B58\u5728\u65F6\u8FD4\u56DE NOT_FOUND\u3002",
|
|
15247
|
+
scope: "erp:read",
|
|
15248
|
+
agentReadOnly: true,
|
|
15249
|
+
agent: { exposed: true, readOnly: true, destructive: false, idempotent: true },
|
|
15250
|
+
request: { path: external_exports.object({ manualCode: manualCodeSchema }).strict() },
|
|
15251
|
+
response: { data: userManualSchema },
|
|
15252
|
+
cli: { path: ["user-manuals", "get"] }
|
|
15253
|
+
});
|
|
15254
|
+
var listProductSpecUserManualsOperation = defineReadOperation({
|
|
15255
|
+
operationId: "listProductSpecUserManuals",
|
|
15256
|
+
method: "GET",
|
|
15257
|
+
path: "/api/v1/product-specs/{productSpecCode}/user-manuals",
|
|
15258
|
+
summary: "\u8BFB\u53D6 ProductSpec \u7684\u9002\u7528\u8BF4\u660E\u4E66",
|
|
15259
|
+
description: "\u6839\u636E\u5B8C\u6574 ProductSpecCode \u8BFB\u53D6\u5F53\u524D\u9002\u7528\u7684\u5168\u90E8 UserManual\uFF0C\u5E76\u8FD4\u56DE\u5173\u8054\u6216\u89E3\u7ED1\u6240\u9700\u7684\u6700\u65B0 ProductSpec version\u3002\u53EA\u8BFB\u5E76\u8981\u6C42 erp:read\uFF1BProductSpec \u4E0D\u5B58\u5728\u65F6\u8FD4\u56DE NOT_FOUND\u3002",
|
|
15260
|
+
scope: "erp:read",
|
|
15261
|
+
agentReadOnly: true,
|
|
15262
|
+
agent: { exposed: true, readOnly: true, destructive: false, idempotent: true },
|
|
15263
|
+
request: { path: productSpecPathSchema },
|
|
15264
|
+
response: { data: productSpecUserManualsResponseSchema },
|
|
15265
|
+
cli: { path: ["product-specs", "list-user-manuals"] }
|
|
15266
|
+
});
|
|
15178
15267
|
var writeAgent = {
|
|
15179
15268
|
exposed: true,
|
|
15180
15269
|
readOnly: false,
|
|
@@ -15287,17 +15376,17 @@ var deleteProductSpecPackMappingOperation = defineWriteOperation({
|
|
|
15287
15376
|
response: { data: deleteMappingResponseSchema },
|
|
15288
15377
|
cli: { path: ["product-specs", "remove-pack"] }
|
|
15289
15378
|
});
|
|
15290
|
-
var
|
|
15291
|
-
operationId: "
|
|
15379
|
+
var addProductImageOperation = defineWriteOperation({
|
|
15380
|
+
operationId: "addProductImage",
|
|
15292
15381
|
method: "POST",
|
|
15293
|
-
path: "/api/v1/
|
|
15294
|
-
summary: "\u4E3A
|
|
15295
|
-
description: "\u628A\u4E00\u5F20 JPG\u3001JPEG\u3001PNG \u6216 WEBP \u56FE\u7247\u4E0A\u4F20\u4E3A\u4E0D\u53EF\u53D8 FileVersion\uFF0C\u5E76\u5173\u8054\u5230\u5B8C\u6574
|
|
15382
|
+
path: "/api/v1/products/{productCode}/images/upload",
|
|
15383
|
+
summary: "\u4E3A Product \u4E0A\u4F20\u5E76\u5173\u8054\u4EA7\u54C1\u56FE\u7247",
|
|
15384
|
+
description: "\u628A\u4E00\u5F20 JPG\u3001JPEG\u3001PNG \u6216 WEBP \u56FE\u7247\u4E0A\u4F20\u4E3A\u4E0D\u53EF\u53D8 FileVersion\uFF0C\u5E76\u5173\u8054\u5230\u5B8C\u6574 PR \u4E1A\u52A1\u7F16\u7801\u6807\u8BC6\u7684 Product\u3002\u4F7F\u7528\u6700\u65B0 Product version\uFF1B\u540C\u4E00\u903B\u8F91\u8BF7\u6C42\u91CD\u8BD5\u5FC5\u987B\u590D\u7528 idempotencyKey\u3002\u5199\u64CD\u4F5C\uFF0C\u8981\u6C42\u5F53\u524D\u5458\u5DE5\u6388\u6743 erp:write\u3002",
|
|
15296
15385
|
scope: "erp:write",
|
|
15297
15386
|
agent: { exposed: true, readOnly: false, destructive: false, idempotent: true },
|
|
15298
15387
|
request: {
|
|
15299
|
-
path:
|
|
15300
|
-
headers:
|
|
15388
|
+
path: productPathSchema,
|
|
15389
|
+
headers: commandHeadersSchema,
|
|
15301
15390
|
file: {
|
|
15302
15391
|
parameterName: "file",
|
|
15303
15392
|
maxSizeBytes: 50 * 1024 * 1024,
|
|
@@ -15306,15 +15395,68 @@ var addProductSpecImageOperation = defineWriteOperation({
|
|
|
15306
15395
|
description: "\u8981\u65B0\u589E\u7684\u4EA7\u54C1\u56FE\u7247\u6587\u4EF6\u3002CLI \u4F7F\u7528\u672C\u5730\u6587\u4EF6\u8DEF\u5F84\uFF1BMCP \u4F7F\u7528\u5BA2\u6237\u7AEF\u63D0\u4F9B\u7684\u4E34\u65F6\u6587\u4EF6\u5F15\u7528\u3002"
|
|
15307
15396
|
}
|
|
15308
15397
|
},
|
|
15309
|
-
response: { data:
|
|
15310
|
-
cli: { path: ["
|
|
15398
|
+
response: { data: addProductImageResponseSchema, status: 201 },
|
|
15399
|
+
cli: { path: ["products", "add-image"] }
|
|
15400
|
+
});
|
|
15401
|
+
var uploadUserManualOperation = defineWriteOperation({
|
|
15402
|
+
operationId: "uploadUserManual",
|
|
15403
|
+
method: "POST",
|
|
15404
|
+
path: "/api/v1/user-manuals/{manualCode}/upload",
|
|
15405
|
+
summary: "\u4E3A UserManual \u4E0A\u4F20\u5F53\u524D PDF",
|
|
15406
|
+
description: "\u628A PDF \u4E0A\u4F20\u4E3A\u4E0D\u53EF\u53D8 FileVersion\uFF0C\u5E76\u8BBE\u4E3A\u5B8C\u6574 ManualCode \u6807\u8BC6\u7684 UserManual \u5F53\u524D\u6587\u4EF6\u3002\u4F7F\u7528\u6700\u65B0 UserManual version\uFF1B\u540C\u4E00\u903B\u8F91\u8BF7\u6C42\u91CD\u8BD5\u5FC5\u987B\u590D\u7528 idempotencyKey\u3002\u5199\u64CD\u4F5C\uFF0C\u8981\u6C42\u5F53\u524D\u5458\u5DE5\u6388\u6743 erp:write\u3002",
|
|
15407
|
+
scope: "erp:write",
|
|
15408
|
+
agent: { exposed: true, readOnly: false, destructive: false, idempotent: true },
|
|
15409
|
+
request: {
|
|
15410
|
+
path: external_exports.object({ manualCode: manualCodeSchema }).strict(),
|
|
15411
|
+
headers: commandHeadersSchema,
|
|
15412
|
+
file: {
|
|
15413
|
+
parameterName: "file",
|
|
15414
|
+
maxSizeBytes: 50 * 1024 * 1024,
|
|
15415
|
+
allowedMediaTypes: ["application/pdf"],
|
|
15416
|
+
allowedExtensions: ["pdf"],
|
|
15417
|
+
description: "\u8981\u8BBE\u4E3A UserManual \u5F53\u524D\u6587\u4EF6\u7684 PDF\u3002CLI \u4F7F\u7528\u672C\u5730\u6587\u4EF6\u8DEF\u5F84\uFF1BMCP \u4F7F\u7528\u5BA2\u6237\u7AEF\u63D0\u4F9B\u7684\u4E34\u65F6\u6587\u4EF6\u5F15\u7528\u3002"
|
|
15418
|
+
}
|
|
15419
|
+
},
|
|
15420
|
+
response: { data: userManualSchema, status: 201 },
|
|
15421
|
+
cli: { path: ["user-manuals", "upload"] }
|
|
15422
|
+
});
|
|
15423
|
+
var attachProductSpecUserManualOperation = defineWriteOperation({
|
|
15424
|
+
operationId: "attachProductSpecUserManual",
|
|
15425
|
+
method: "POST",
|
|
15426
|
+
path: "/api/v1/product-specs/{productSpecCode}/user-manuals",
|
|
15427
|
+
summary: "\u5173\u8054 ProductSpec \u4E0E UserManual",
|
|
15428
|
+
description: "\u628A\u5DF2\u5B58\u5728\u7684\u5B8C\u6574 ManualCode \u5173\u8054\u5230 ProductSpec\u3002expectedVersion \u5FC5\u987B\u662F ProductSpec \u7684\u6700\u65B0 version\uFF1B\u91CD\u590D\u5173\u8054\u8FD4\u56DE DUPLICATE_USER_MANUAL\u3002\u5199\u64CD\u4F5C\uFF0C\u8981\u6C42 erp:write\u3002",
|
|
15429
|
+
scope: "erp:write",
|
|
15430
|
+
agent: writeAgent,
|
|
15431
|
+
request: {
|
|
15432
|
+
path: productSpecPathSchema,
|
|
15433
|
+
headers: expectedVersionHeadersSchema,
|
|
15434
|
+
body: external_exports.object({ manualCode: manualCodeSchema }).strict()
|
|
15435
|
+
},
|
|
15436
|
+
response: { data: productSpecUserManualsResponseSchema, status: 201 },
|
|
15437
|
+
cli: { path: ["product-specs", "add-user-manual"] }
|
|
15438
|
+
});
|
|
15439
|
+
var productSpecUserManualPathSchema = productSpecPathSchema.extend({ manualCode: manualCodeSchema }).strict();
|
|
15440
|
+
var detachProductSpecUserManualOperation = defineWriteOperation({
|
|
15441
|
+
operationId: "detachProductSpecUserManual",
|
|
15442
|
+
method: "DELETE",
|
|
15443
|
+
path: "/api/v1/product-specs/{productSpecCode}/user-manuals/{manualCode}",
|
|
15444
|
+
summary: "\u89E3\u7ED1 ProductSpec \u4E0E UserManual",
|
|
15445
|
+
description: "\u5220\u9664 ProductSpec \u4E0E UserManual \u7684\u9002\u7528\u5173\u7CFB\uFF0C\u4E0D\u5220\u9664 UserManual \u6216\u5176 PDF\u3002expectedVersion \u5FC5\u987B\u662F ProductSpec \u7684\u6700\u65B0 version\uFF1B\u6267\u884C\u524D\u5E94\u53D6\u5F97\u7528\u6237\u660E\u786E\u610F\u56FE\u3002\u7834\u574F\u6027\u5199\u64CD\u4F5C\uFF0C\u8981\u6C42 erp:write\u3002",
|
|
15446
|
+
scope: "erp:write",
|
|
15447
|
+
agent: destructiveWriteAgent,
|
|
15448
|
+
request: {
|
|
15449
|
+
path: productSpecUserManualPathSchema,
|
|
15450
|
+
headers: expectedVersionHeadersSchema
|
|
15451
|
+
},
|
|
15452
|
+
response: { data: productSpecUserManualsResponseSchema },
|
|
15453
|
+
cli: { path: ["product-specs", "remove-user-manual"] }
|
|
15311
15454
|
});
|
|
15312
15455
|
|
|
15313
15456
|
// ../../packages/contracts/dist/work-lists/index.js
|
|
15314
15457
|
var timestampSchema2 = external_exports.iso.datetime().describe("ISO 8601 UTC \u65F6\u95F4\u6233\u3002");
|
|
15315
15458
|
var workListInternalIdSchema = external_exports.number().int().describe("DevelopmentWorkList \u5DE5\u4F5C\u6E05\u5355\u5185\u90E8\u6807\u8BC6\uFF1B\u4E0D\u662F PR\u3001PS\u3001PK \u4E1A\u52A1\u7F16\u7801\u3002");
|
|
15316
15459
|
var productInternalIdSchema = external_exports.number().int().describe("\u6570\u636E\u5E93\u5185\u90E8\u5173\u8054\u6807\u8BC6\uFF1B\u4E0D\u662F PR\u3001PS\u3001PK \u4E1A\u52A1\u7F16\u7801\u3002");
|
|
15317
|
-
var nullableCentimeterSchema2 = external_exports.number().nullable().describe("\u5C3A\u5BF8\uFF0C\u5355\u4F4D cm\uFF1Bnull \u8868\u793A\u7CFB\u7EDF\u6CA1\u6709\u5DF2\u8BB0\u5F55\u503C\uFF0C\u5F53\u524D\u4E0D\u7EC6\u5206\u5177\u4F53\u7A7A\u503C\u539F\u56E0\u3002");
|
|
15318
15460
|
var nullableKilogramSchema2 = external_exports.number().nullable().describe("\u91CD\u91CF\uFF0C\u5355\u4F4D kg\uFF1Bnull \u8868\u793A\u7CFB\u7EDF\u6CA1\u6709\u5DF2\u8BB0\u5F55\u503C\uFF0C\u5F53\u524D\u4E0D\u7EC6\u5206\u5177\u4F53\u7A7A\u503C\u539F\u56E0\u3002");
|
|
15319
15461
|
var workListIdSchema = external_exports.coerce.number().int().positive().describe("\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u7684\u5185\u90E8\u6B63\u6574\u6570\u6807\u8BC6\uFF0C\u7531\u5217\u8868\u67E5\u8BE2\u8FD4\u56DE\uFF1B\u4E0D\u662F PR\u3001PS\u3001PK \u4E1A\u52A1\u7F16\u7801\u3002");
|
|
15320
15462
|
var batchIdPathSchema = external_exports.object({ batchId: workListIdSchema }).strict();
|
|
@@ -15359,14 +15501,6 @@ var workListSpecContentSchema = external_exports.object({
|
|
|
15359
15501
|
productId: productInternalIdSchema,
|
|
15360
15502
|
productCode: productCodeSchema,
|
|
15361
15503
|
specName: external_exports.string(),
|
|
15362
|
-
brand: external_exports.string().nullable(),
|
|
15363
|
-
color: external_exports.string().nullable(),
|
|
15364
|
-
salesMarketCodes: external_exports.array(external_exports.string()),
|
|
15365
|
-
lengthCm: nullableCentimeterSchema2,
|
|
15366
|
-
widthCm: nullableCentimeterSchema2,
|
|
15367
|
-
fixedHeightCm: nullableCentimeterSchema2,
|
|
15368
|
-
minHeightCm: nullableCentimeterSchema2,
|
|
15369
|
-
maxHeightCm: nullableCentimeterSchema2,
|
|
15370
15504
|
netWeightKg: nullableKilogramSchema2,
|
|
15371
15505
|
categorySpec: external_exports.unknown().nullable(),
|
|
15372
15506
|
categorySpecSchema: external_exports.string().nullable(),
|
|
@@ -15441,7 +15575,7 @@ var getDevelopmentWorkListOperation = defineReadOperation({
|
|
|
15441
15575
|
method: "GET",
|
|
15442
15576
|
path: "/api/v1/dev-batches/{batchId}",
|
|
15443
15577
|
summary: "\u8BFB\u53D6\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u53CA\u5B9E\u65F6\u5B8C\u6574\u5EA6",
|
|
15444
|
-
description: "\u6839\u636E\u5217\u8868\u8FD4\u56DE\u7684\u5DE5\u4F5C\u6E05\u5355\u5185\u90E8 ID\uFF0C\u8BFB\u53D6\u6210\u5458\u4E3B\u6570\u636E\u5B9E\u65F6\u6295\u5F71\u53CA\u5B9E\u65F6\u3001\u975E\u963B\u65AD\u8D44\u6599\u5B8C\u6574\u5EA6\u3002\u5DE5\u4F5C\u6E05\u5355\u4E0D\u62E5\u6709\u4EA7\u54C1\u4E3B\u6570\u636E\uFF1B\u5B8C\u6574\u5EA6\u53EA\u8BA1\u7B97\u663E\u5F0F\u5305\u542B\u7684 ProductSpec\uFF0C\u6A21\u578B\u4E0D\u5F97\u81EA\u884C\u63A8\u7B97\u3002\u53EA\u8BFB\u5E76\u8981\u6C42 erp:read\u3002",
|
|
15578
|
+
description: "\u6839\u636E\u5217\u8868\u8FD4\u56DE\u7684\u5DE5\u4F5C\u6E05\u5355\u5185\u90E8 ID\uFF0C\u8BFB\u53D6\u6210\u5458\u4E3B\u6570\u636E\u5B9E\u65F6\u6295\u5F71\u53CA\u5B9E\u65F6\u3001\u975E\u963B\u65AD\u8D44\u6599\u5B8C\u6574\u5EA6\u3002\u5DE5\u4F5C\u6E05\u5355\u4E0D\u62E5\u6709\u4EA7\u54C1\u4E3B\u6570\u636E\uFF1B\u5B8C\u6574\u5EA6\u53EA\u8BA1\u7B97\u663E\u5F0F\u5305\u542B\u7684 Product \u548C ProductSpec\uFF0C\u6A21\u578B\u4E0D\u5F97\u81EA\u884C\u63A8\u7B97\u3002\u53EA\u8BFB\u5E76\u8981\u6C42 erp:read\u3002",
|
|
15445
15579
|
scope: "erp:read",
|
|
15446
15580
|
agentReadOnly: true,
|
|
15447
15581
|
agent: { exposed: true, readOnly: true, destructive: false, idempotent: true },
|
|
@@ -15467,15 +15601,12 @@ var scopeCommandBase = (type, payload) => external_exports.object({ type: extern
|
|
|
15467
15601
|
var editableSpecFields = initialProductSpecInputSchema.omit({ specName: true });
|
|
15468
15602
|
var developmentWorkListCommandSchema = external_exports.discriminatedUnion("type", [
|
|
15469
15603
|
scopeCommandBase("RENAME_TOPIC", external_exports.object({ title: external_exports.string().trim().min(1).max(160) }).strict()),
|
|
15470
|
-
scopeCommandBase("CREATE_PRODUCT",
|
|
15471
|
-
name: external_exports.string().trim().min(1).max(255),
|
|
15472
|
-
initialSpec: initialProductSpecInputSchema.optional()
|
|
15473
|
-
}).strict()),
|
|
15604
|
+
scopeCommandBase("CREATE_PRODUCT", createProductInputSchema),
|
|
15474
15605
|
scopeCommandBase("UPDATE_PRODUCT", external_exports.object({
|
|
15475
15606
|
productCode: productCodeSchema,
|
|
15476
15607
|
expectedVersion: external_exports.number().int().positive(),
|
|
15477
|
-
|
|
15478
|
-
}).strict()),
|
|
15608
|
+
...updateProductInputSchema.shape
|
|
15609
|
+
}).strict().refine((value) => Object.entries(value).some(([key, item]) => !["productCode", "expectedVersion"].includes(key) && item !== void 0), "\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u53EF\u7F16\u8F91\u7684 Product \u5B57\u6BB5\u3002")),
|
|
15479
15610
|
scopeCommandBase("ADD_PRODUCT_SPEC", initialProductSpecInputSchema.extend({ productCode: productCodeSchema, specName: external_exports.string().trim().min(1).max(255) }).strict()),
|
|
15480
15611
|
scopeCommandBase("UPDATE_PRODUCT_SPEC", editableSpecFields.extend({
|
|
15481
15612
|
productSpecCode: productSpecCodeSchema,
|
|
@@ -15558,12 +15689,17 @@ var erpReadOperations = [
|
|
|
15558
15689
|
getProductOperation,
|
|
15559
15690
|
getProductSpecOperation,
|
|
15560
15691
|
getPackOperation,
|
|
15692
|
+
getUserManualOperation,
|
|
15693
|
+
listProductSpecUserManualsOperation,
|
|
15561
15694
|
listDevelopmentWorkListsOperation,
|
|
15562
15695
|
getDevelopmentWorkListOperation,
|
|
15563
15696
|
listWorkListActivityOperation
|
|
15564
15697
|
];
|
|
15565
15698
|
var erpWriteOperations = [
|
|
15566
|
-
|
|
15699
|
+
addProductImageOperation,
|
|
15700
|
+
uploadUserManualOperation,
|
|
15701
|
+
attachProductSpecUserManualOperation,
|
|
15702
|
+
detachProductSpecUserManualOperation,
|
|
15567
15703
|
createProductOperation,
|
|
15568
15704
|
updateProductOperation,
|
|
15569
15705
|
updateProductSpecOperation,
|
|
@@ -15634,6 +15770,7 @@ var searchProductMasterDataTool = {
|
|
|
15634
15770
|
\u9002\u7528\uFF1A\u4E0D\u77E5\u9053\u5B8C\u6574\u4E1A\u52A1\u7F16\u7801\uFF0C\u53EA\u6709 Product \u540D\u79F0\u3001ProductSpec \u89C4\u683C\u540D\u3001Pack \u540D\u79F0\u3001Supplier \u7F16\u7801\u6216\u540D\u79F0\uFF1B\u9700\u8981\u4ECE\u591A\u4E2A\u5019\u9009\u4E2D\u786E\u8BA4\u76EE\u6807\u3002
|
|
15635
15771
|
\u4E0D\u9002\u7528\uFF1A\u5DF2\u7ECF\u63D0\u4F9B\u5B8C\u6574 PR\u3001PS\u3001PK \u4E1A\u52A1\u7F16\u7801\uFF0C\u6B64\u65F6\u4F7F\u7528 get_product_master_data\u3002\u5F53\u524D\u4E0D\u652F\u6301\u90E8\u5206\u4E1A\u52A1\u7F16\u7801\u5339\u914D\u3002
|
|
15636
15772
|
|
|
15773
|
+
Product\uFF08PR\uFF09\u662F\u9500\u552E SKU \u53D8\u4F53\uFF1BProductSpec\uFF08PS\uFF09\u662F\u987E\u5BA2\u4E0D\u611F\u77E5\u7684\u5185\u90E8\u5B9E\u73B0\u65B9\u6848\uFF1BPack\uFF08PK\uFF09\u662F\u4EA4\u4ED8\u5305\u88F9\u3002
|
|
15637
15774
|
\u8FD4\u56DE\u5019\u9009 matches\u3001\u76F8\u5173 Product/ProductSpec/Pack\u3001\u5E26 quantity \u7684 ProductSpec\u2014Pack \u6620\u5C04\u53CA\u5206\u9875\u6E38\u6807\u3002\u591A\u4E2A\u5019\u9009\u90FD\u53EF\u80FD\u6709\u6548\uFF0C\u4E0D\u8981\u9ED8\u8BA4\u7B2C\u4E00\u6761\u5C31\u662F\u76EE\u6807\uFF1B\u7A7A\u5019\u9009\u662F SUCCESS\uFF0C\u8868\u793A\u5F53\u524D\u8BFB\u53D6\u8303\u56F4\u5185\u6CA1\u6709\u5339\u914D\u7ED3\u679C\uFF1B\u975E\u6CD5\u53C2\u6570\u8FD4\u56DE INVALID_ARGUMENT\u3002
|
|
15638
15775
|
\u8BE5\u5DE5\u5177\u53EA\u8BFB\uFF0C\u4F7F\u7528\u5F53\u524D\u8C03\u7528\u8EAB\u4EFD\u5E76\u8981\u6C42 erp:read\u3002`,
|
|
15639
15776
|
scope: "erp:read",
|
|
@@ -15648,7 +15785,7 @@ var getProductMasterDataTool = {
|
|
|
15648
15785
|
PR \u662F ProductCode\uFF0CPS \u662F ProductSpecCode\uFF0CPK \u662F PackCode\uFF1B\u5B83\u4EEC\u662F\u4E1A\u52A1\u7F16\u7801\uFF0C\u4E0D\u662F\u6570\u636E\u5E93\u5185\u90E8 ID \u6216\u6E20\u9053 SKU\u3002
|
|
15649
15786
|
\u9002\u7528\uFF1A\u7528\u6237\u5DF2\u7ECF\u63D0\u4F9B\u5B8C\u6574\u4E1A\u52A1\u7F16\u7801\u3002\u4E0D\u53EF\u7528\u4E8E\u540D\u79F0\u3001Supplier \u6216\u4E0D\u5B8C\u6574\u7F16\u7801\u641C\u7D22\uFF0C\u6B64\u65F6\u4F7F\u7528 search_product_master_data\u3002
|
|
15650
15787
|
|
|
15651
|
-
PR \u8FD4\u56DE
|
|
15788
|
+
PR \u8FD4\u56DE\u54C1\u724C\u3001\u989C\u8272\u3001\u76EE\u6807\u9500\u552E\u5E02\u573A\u3001\u987E\u5BA2\u53EF\u89C1\u5C3A\u5BF8\u53CA\u5176 ProductSpec\u3001Pack \u5173\u7CFB\uFF1BPS \u8FD4\u56DE\u987E\u5BA2\u4E0D\u611F\u77E5\u7684\u5185\u90E8\u5B9E\u73B0\u8D44\u6599\u4E0E Pack \u6620\u5C04\uFF1BPK \u8FD4\u56DE\u76EE\u6807 Pack \u53CA\u5F15\u7528\u5B83\u7684 ProductSpec\u3001Product\u3002\u4EA7\u54C1\u56FE\u7247\u7531\u72EC\u7ACB Product \u56FE\u7247\u8D44\u6E90\u7EF4\u62A4\u3002\u975E\u6CD5\u7F16\u7801\u8FD4\u56DE INVALID_ARGUMENT\uFF1B\u5F53\u524D\u8BFB\u53D6\u8303\u56F4\u5185\u4E0D\u5B58\u5728\u65F6\u8FD4\u56DE\u4E0D\u6CC4\u9732\u989D\u5916\u5B58\u5728\u6027\u7684 NOT_FOUND\u3002
|
|
15652
15789
|
\u8BE5\u5DE5\u5177\u53EA\u8BFB\uFF0C\u4F7F\u7528\u5F53\u524D\u8C03\u7528\u8EAB\u4EFD\u5E76\u8981\u6C42 erp:read\u3002`,
|
|
15653
15790
|
scope: "erp:read",
|
|
15654
15791
|
annotations: readOnlyAnnotations,
|
|
@@ -15657,6 +15794,14 @@ PR \u8FD4\u56DE Product \u53CA\u5176 ProductSpec\u3001Pack \u5173\u7CFB\uFF1BPS
|
|
|
15657
15794
|
}).strict(),
|
|
15658
15795
|
output: output(external_exports.union([getProductResponseSchema, getProductSpecResponseSchema, getPackResponseSchema]), true)
|
|
15659
15796
|
};
|
|
15797
|
+
var getUserManualTool = {
|
|
15798
|
+
name: "get_user_manual",
|
|
15799
|
+
description: "\u6839\u636E\u5B8C\u6574 ManualCode \u8BFB\u53D6\u4E00\u4E2A UserManual \u7684\u540D\u79F0\u3001\u6700\u65B0 version \u4E0E\u5F53\u524D PDF \u5143\u6570\u636E\u3002\u65B0\u7F16\u7801\u4F7F\u7528 MANUAL \u524D\u7F00\uFF0C\u65E2\u6709 UM \u7F16\u7801\u7EE7\u7EED\u6709\u6548\u3002\u8BF4\u660E\u4E66\u4E0A\u4F20\u524D\u4F7F\u7528\u8BE5\u5DE5\u5177\u53D6\u5F97 expectedVersion\uFF1B\u4E0D\u53EF\u7528\u4E8E\u540D\u79F0\u6216\u4E0D\u5B8C\u6574\u7F16\u7801\u641C\u7D22\u3002\u53EA\u8BFB\uFF0C\u4F7F\u7528\u5F53\u524D\u8C03\u7528\u8EAB\u4EFD\u5E76\u8981\u6C42 erp:read\u3002",
|
|
15800
|
+
scope: "erp:read",
|
|
15801
|
+
annotations: readOnlyAnnotations,
|
|
15802
|
+
input: getUserManualOperation.request.path,
|
|
15803
|
+
output: output(userManualSchema, true)
|
|
15804
|
+
};
|
|
15660
15805
|
var listDevelopmentWorkListsTool = {
|
|
15661
15806
|
name: "list_development_work_lists",
|
|
15662
15807
|
description: `\u6309\u66F4\u65B0\u65F6\u95F4\u4ECE\u65B0\u5230\u65E7\u5206\u9875\u67E5\u8BE2 DevelopmentWorkList\uFF08\u5B9E\u73B0\u540D DevBatch\uFF09\u3002
|
|
@@ -15728,27 +15873,46 @@ var chatGptFileInputSchema = external_exports.object({
|
|
|
15728
15873
|
mime_type: external_exports.string().trim().min(1).max(255).optional().describe("\u5BA2\u6237\u7AEF\u58F0\u660E\u7684 MIME \u7C7B\u578B\u3002"),
|
|
15729
15874
|
file_name: external_exports.string().trim().min(1).max(255).optional().describe("\u7528\u6237\u4E0A\u4F20\u65F6\u7684\u539F\u59CB\u6587\u4EF6\u540D\u3002")
|
|
15730
15875
|
}).strict();
|
|
15731
|
-
var
|
|
15732
|
-
name: "
|
|
15733
|
-
description: `\u4E3A\u4E00\u4E2A
|
|
15876
|
+
var addProductImageTool = {
|
|
15877
|
+
name: "add_product_image",
|
|
15878
|
+
description: `\u4E3A\u4E00\u4E2A Product \u4E0A\u4F20\u5E76\u5173\u8054\u4E00\u5F20\u4EA7\u54C1\u56FE\u7247\u3002
|
|
15734
15879
|
|
|
15735
|
-
\u9002\u7528\uFF1A\u7528\u6237\u5DF2\u660E\u786E\u76EE\u6807
|
|
15736
|
-
\u4E0D\u9002\u7528\uFF1A\u7528\u6237\u8BF4\u660E\u4E66\u3001\u4F9B\u5E94\u5546\u89C4\u683C\u4E66\u6216\u56FE\u7EB8\u3001\u5C01\u6837\u8D44\u6599\u3001Pack \u6587\u4EF6\uFF1B\u8FD9\u4E9B\u8D44\u6599\u5FC5\u987B\u4F7F\u7528\u5404\u81EA\u7684\u9886\u57DF\u5DE5\u5177\u3002\u4E5F\u4E0D\u53EF\u53EA\u51ED\u540D\u79F0\u731C\u6D4B
|
|
15880
|
+
\u9002\u7528\uFF1A\u7528\u6237\u5DF2\u660E\u786E\u76EE\u6807 PR \u4E1A\u52A1\u7F16\u7801\uFF0C\u5E76\u5728\u5F53\u524D\u5BF9\u8BDD\u4E2D\u9644\u52A0\u4E86\u4E00\u5F20 JPG\u3001JPEG\u3001PNG \u6216 WEBP \u56FE\u7247\u3002
|
|
15881
|
+
\u4E0D\u9002\u7528\uFF1A\u7528\u6237\u8BF4\u660E\u4E66\u3001\u4F9B\u5E94\u5546\u89C4\u683C\u4E66\u6216\u56FE\u7EB8\u3001\u5C01\u6837\u8D44\u6599\u3001Pack \u6587\u4EF6\uFF1B\u8FD9\u4E9B\u8D44\u6599\u5FC5\u987B\u4F7F\u7528\u5404\u81EA\u7684\u9886\u57DF\u5DE5\u5177\u3002\u4E5F\u4E0D\u53EF\u53EA\u51ED\u540D\u79F0\u731C\u6D4B Product\uFF0C\u5E94\u5148\u641C\u7D22\u5E76\u786E\u8BA4\u5B8C\u6574 PR \u7F16\u7801\u3002
|
|
15737
15882
|
|
|
15738
|
-
\u8BE5\u5DE5\u5177\u628A\u6587\u4EF6\u4E0A\u4F20\u4E3A\u4E0D\u53EF\u53D8 FileVersion\uFF0C\u5E76\u5173\u8054\u5230
|
|
15883
|
+
\u8BE5\u5DE5\u5177\u628A\u6587\u4EF6\u4E0A\u4F20\u4E3A\u4E0D\u53EF\u53D8 FileVersion\uFF0C\u5E76\u5173\u8054\u5230 Product \u4EA7\u54C1\u56FE\u7247\u96C6\u5408\u3002\u5FC5\u987B\u63D0\u4F9B\u6700\u65B0 Product version\uFF1B\u5355\u6587\u4EF6\u6700\u5927 50 MiB\uFF1B\u540C\u4E00\u903B\u8F91\u8BF7\u6C42\u91CD\u8BD5\u5FC5\u987B\u590D\u7528 idempotencyKey\u3002\u5199\u64CD\u4F5C\uFF0C\u8981\u6C42\u5F53\u524D\u5458\u5DE5\u6388\u6743 erp:write\u3002`,
|
|
15739
15884
|
scope: "erp:write",
|
|
15740
15885
|
annotations: { ...writeAnnotations, idempotentHint: true },
|
|
15741
15886
|
meta: { "openai/fileParams": ["file"] },
|
|
15742
15887
|
input: external_exports.object({
|
|
15743
|
-
|
|
15888
|
+
productCode: productCodeSchema,
|
|
15889
|
+
expectedVersion: expectedVersionInputSchema,
|
|
15890
|
+
idempotencyKey: idempotencyKeyInputSchema,
|
|
15891
|
+
file: chatGptFileInputSchema
|
|
15892
|
+
}).strict(),
|
|
15893
|
+
output: output(addProductImageResponseSchema, false)
|
|
15894
|
+
};
|
|
15895
|
+
var uploadUserManualTool = {
|
|
15896
|
+
name: "upload_user_manual",
|
|
15897
|
+
description: `\u4E3A\u4E00\u4E2A UserManual \u4E0A\u4F20\u5E76\u8BBE\u7F6E\u5F53\u524D PDF \u6587\u4EF6\u3002
|
|
15898
|
+
|
|
15899
|
+
\u9002\u7528\uFF1A\u7528\u6237\u5DF2\u660E\u786E\u76EE\u6807 ManualCode\uFF0C\u5E76\u5728\u5F53\u524D\u5BF9\u8BDD\u4E2D\u9644\u52A0\u4E86\u4E00\u4EFD PDF \u8BF4\u660E\u4E66\u3002\u76EE\u6807 UserManual \u5FC5\u987B\u5DF2\u7ECF\u5B58\u5728\uFF1B\u6587\u4EF6\u4E0A\u4F20\u540E\u4FDD\u5B58\u4E3A\u4E0D\u53EF\u53D8 FileVersion\uFF0C\u5E76\u6210\u4E3A\u8BE5\u8BF4\u660E\u4E66\u7684\u5F53\u524D\u6587\u4EF6\u3002
|
|
15900
|
+
|
|
15901
|
+
\u5982\u6587\u4EF6\u5DF2\u5C5E\u4E8E\u67D0\u4EFD\u8BF4\u660E\u4E66\uFF0C\u5DE5\u5177\u4F1A\u8FD4\u56DE\u5DF2\u6709 ManualCode\uFF0C\u5E94\u76F4\u63A5\u590D\u7528\u8BE5\u8BF4\u660E\u4E66\u3002\u5FC5\u987B\u63D0\u4F9B\u6700\u65B0 UserManual version\uFF1B\u5355\u6587\u4EF6\u6700\u5927 50 MiB\uFF1B\u540C\u4E00\u903B\u8F91\u8BF7\u6C42\u91CD\u8BD5\u5FC5\u987B\u590D\u7528 idempotencyKey\u3002\u5199\u64CD\u4F5C\uFF0C\u8981\u6C42\u5F53\u524D\u5458\u5DE5\u6388\u6743 erp:write\u3002`,
|
|
15902
|
+
scope: "erp:write",
|
|
15903
|
+
annotations: { ...writeAnnotations, idempotentHint: true },
|
|
15904
|
+
meta: { "openai/fileParams": ["file"] },
|
|
15905
|
+
input: external_exports.object({
|
|
15906
|
+
manualCode: uploadUserManualOperation.request.path.shape.manualCode,
|
|
15907
|
+
expectedVersion: expectedVersionInputSchema,
|
|
15744
15908
|
idempotencyKey: idempotencyKeyInputSchema,
|
|
15745
15909
|
file: chatGptFileInputSchema
|
|
15746
15910
|
}).strict(),
|
|
15747
|
-
output: output(
|
|
15911
|
+
output: output(userManualSchema, false)
|
|
15748
15912
|
};
|
|
15749
15913
|
var createProductTool = {
|
|
15750
15914
|
name: "create_product",
|
|
15751
|
-
description: "\u521B\u5EFA Product \u53CA\u5176\u9996\u4E2A ProductSpec\uFF0C\u7CFB\u7EDF\u751F\u6210\u4E0D\u53EF\u53D8 PR\u3001PS \u4E1A\u52A1\u7F16\u7801\u3002\
|
|
15915
|
+
description: "\u521B\u5EFA\u9500\u552E SKU \u53D8\u4F53 Product \u53CA\u5176\u9996\u4E2A\u5185\u90E8\u5B9E\u73B0 ProductSpec\uFF0C\u7CFB\u7EDF\u751F\u6210\u4E0D\u53EF\u53D8 PR\u3001PS \u4E1A\u52A1\u7F16\u7801\u3002\u989C\u8272\u3001\u5C3A\u5BF8\u7B49\u7528\u6237\u53EF\u611F\u77E5\u5DEE\u5F02\u5E94\u521B\u5EFA\u65B0\u7684 Product\uFF1B\u7ED9\u73B0\u6709 Product \u589E\u52A0\u987E\u5BA2\u4E0D\u611F\u77E5\u7684\u5185\u90E8\u5B9E\u73B0\u5E94\u4F7F\u7528\u5F00\u53D1\u5DE5\u4F5C\u6E05\u5355\u8BED\u4E49\u547D\u4EE4\u3002\u5199\u64CD\u4F5C\u8981\u6C42\u5F53\u524D\u5458\u5DE5\u6388\u6743 erp:write\u3002",
|
|
15752
15916
|
scope: "erp:write",
|
|
15753
15917
|
annotations: writeAnnotations,
|
|
15754
15918
|
input: createProductInputSchema,
|
|
@@ -15888,6 +16052,15 @@ var CLIENT_ID = "erp-cli";
|
|
|
15888
16052
|
var SCOPE = "openid erp:read erp:write offline_access";
|
|
15889
16053
|
var DEFAULT_LOOPBACK_PORT = 53682;
|
|
15890
16054
|
var CALLBACK_TIMEOUT_MS = 18e4;
|
|
16055
|
+
var ErpAuthorizationError = class extends Error {
|
|
16056
|
+
constructor(oauthError, oauthMessage) {
|
|
16057
|
+
super(oauthMessage ?? oauthError);
|
|
16058
|
+
this.oauthError = oauthError;
|
|
16059
|
+
this.oauthMessage = oauthMessage;
|
|
16060
|
+
this.name = "ErpAuthorizationError";
|
|
16061
|
+
}
|
|
16062
|
+
code = "ERP_AUTHORIZATION_FAILED";
|
|
16063
|
+
};
|
|
15891
16064
|
function base64Url(value) {
|
|
15892
16065
|
return Buffer.from(value).toString("base64url");
|
|
15893
16066
|
}
|
|
@@ -16006,9 +16179,16 @@ async function loginWithBrowser(dependencies) {
|
|
|
16006
16179
|
throw error51;
|
|
16007
16180
|
}
|
|
16008
16181
|
const callback = await callbackPromise;
|
|
16182
|
+
if (callback.searchParams.get("state") !== state) throw new Error("ERP_AUTH_INVALID_CALLBACK");
|
|
16183
|
+
const oauthError = callback.searchParams.get("error");
|
|
16184
|
+
if (oauthError) {
|
|
16185
|
+
throw new ErpAuthorizationError(
|
|
16186
|
+
oauthError,
|
|
16187
|
+
callback.searchParams.get("error_description") ?? void 0
|
|
16188
|
+
);
|
|
16189
|
+
}
|
|
16009
16190
|
const code = callback.searchParams.get("code");
|
|
16010
|
-
if (!code
|
|
16011
|
-
throw new Error("ERP_AUTH_INVALID_CALLBACK");
|
|
16191
|
+
if (!code) throw new Error("ERP_AUTH_INVALID_CALLBACK");
|
|
16012
16192
|
const response = await dependencies.fetch(`${origin}/auth/token`, {
|
|
16013
16193
|
method: "POST",
|
|
16014
16194
|
headers: { accept: "application/json", "content-type": "application/x-www-form-urlencoded" },
|
|
@@ -16176,6 +16356,7 @@ async function createMultipartBody(values, file2) {
|
|
|
16176
16356
|
return body;
|
|
16177
16357
|
}
|
|
16178
16358
|
function mediaTypeForExtension(extension) {
|
|
16359
|
+
if (extension === "pdf") return "application/pdf";
|
|
16179
16360
|
if (extension === "jpg" || extension === "jpeg") return "image/jpeg";
|
|
16180
16361
|
if (extension === "png") return "image/png";
|
|
16181
16362
|
if (extension === "webp") return "image/webp";
|
|
@@ -16378,16 +16559,23 @@ async function runCli(args2, dependencies) {
|
|
|
16378
16559
|
return 0;
|
|
16379
16560
|
}
|
|
16380
16561
|
} catch (error51) {
|
|
16381
|
-
|
|
16382
|
-
|
|
16383
|
-
|
|
16384
|
-
|
|
16562
|
+
const payload = error51 instanceof ErpAuthorizationError ? {
|
|
16563
|
+
error: error51.code,
|
|
16564
|
+
oauthError: error51.oauthError,
|
|
16565
|
+
...error51.oauthMessage ? { message: error51.oauthMessage } : {}
|
|
16566
|
+
} : { error: error51 instanceof Error ? error51.message : "AUTH_FAILED" };
|
|
16567
|
+
dependencies.stderr(`${JSON.stringify(payload)}
|
|
16568
|
+
`);
|
|
16385
16569
|
return 1;
|
|
16386
16570
|
}
|
|
16387
16571
|
dependencies.stderr(`${JSON.stringify({ error: "UNKNOWN_AUTH_COMMAND" })}
|
|
16388
16572
|
`);
|
|
16389
16573
|
return 1;
|
|
16390
16574
|
}
|
|
16575
|
+
if (args2.length === 2 && args2[0] === "call" && args2[1] === "--help") {
|
|
16576
|
+
dependencies.stdout(callHelp());
|
|
16577
|
+
return 0;
|
|
16578
|
+
}
|
|
16391
16579
|
if (args2[0] === "list") {
|
|
16392
16580
|
const operations2 = Object.values(dependencies.operations).filter(isCallableAgentOperation).sort((left, right) => left.operationId.localeCompare(right.operationId)).map(
|
|
16393
16581
|
({
|
|
@@ -16443,6 +16631,13 @@ async function runCli(args2, dependencies) {
|
|
|
16443
16631
|
`);
|
|
16444
16632
|
return 0;
|
|
16445
16633
|
}
|
|
16634
|
+
if (args2.length === 2 && args2[1] === "--help") {
|
|
16635
|
+
const help2 = commandGroupHelp(args2[0] ?? "", dependencies.operations);
|
|
16636
|
+
if (help2) {
|
|
16637
|
+
dependencies.stdout(help2);
|
|
16638
|
+
return 0;
|
|
16639
|
+
}
|
|
16640
|
+
}
|
|
16446
16641
|
if (args2[0] === "call") {
|
|
16447
16642
|
const operation = args2[1] ? dependencies.operations[args2[1]] : void 0;
|
|
16448
16643
|
if (!operation || !isCallableAgentOperation(operation)) {
|
|
@@ -16511,6 +16706,37 @@ async function runCli(args2, dependencies) {
|
|
|
16511
16706
|
`);
|
|
16512
16707
|
return 1;
|
|
16513
16708
|
}
|
|
16709
|
+
function callHelp() {
|
|
16710
|
+
return `intoNear ERP CLI \xB7 call
|
|
16711
|
+
|
|
16712
|
+
\u7528\u6CD5\uFF1A
|
|
16713
|
+
intonear-erp-cli call <operationId> [--\u53C2\u6570 \u503C]
|
|
16714
|
+
|
|
16715
|
+
\u5148\u8FD0\u884C intonear-erp-cli list \u53D1\u73B0 operationId\uFF0C\u518D\u8FD0\u884C
|
|
16716
|
+
intonear-erp-cli describe <operationId> \u67E5\u770B\u5B8C\u6574\u53C2\u6570\u5951\u7EA6\u3002
|
|
16717
|
+
JSON \u8BF7\u6C42\u4F53\u4F7F\u7528 --body\uFF0C\u6587\u4EF6\u4F7F\u7528 --file\u3002
|
|
16718
|
+
`;
|
|
16719
|
+
}
|
|
16720
|
+
function commandGroupHelp(group, operations2) {
|
|
16721
|
+
const commands = Object.values(operations2).filter(isCallableAgentOperation).flatMap((operation) => {
|
|
16722
|
+
const [candidateGroup, subcommand] = operation.command?.split(" ") ?? [];
|
|
16723
|
+
return candidateGroup === group && subcommand ? [{ operation, subcommand }] : [];
|
|
16724
|
+
}).sort((left, right) => left.subcommand.localeCompare(right.subcommand));
|
|
16725
|
+
if (commands.length === 0) return void 0;
|
|
16726
|
+
const commandLines = commands.map(
|
|
16727
|
+
({ operation, subcommand }) => ` ${subcommand.padEnd(16)} ${operation.summary ?? operation.operationId}`
|
|
16728
|
+
).join("\n");
|
|
16729
|
+
return `intoNear ERP CLI \xB7 ${group}
|
|
16730
|
+
|
|
16731
|
+
\u7528\u6CD5\uFF1A
|
|
16732
|
+
intonear-erp-cli ${group} <\u5B50\u547D\u4EE4> [...]
|
|
16733
|
+
|
|
16734
|
+
\u5B50\u547D\u4EE4\uFF1A
|
|
16735
|
+
${commandLines}
|
|
16736
|
+
|
|
16737
|
+
\u8FD0\u884C intonear-erp-cli describe <operationId> \u67E5\u770B\u5B8C\u6574\u53C2\u6570\u5951\u7EA6\u3002
|
|
16738
|
+
`;
|
|
16739
|
+
}
|
|
16514
16740
|
function parseDomainArguments(operation, args2) {
|
|
16515
16741
|
const pathNames = operation.request.path ? Object.keys(operation.request.path.shape) : [];
|
|
16516
16742
|
const values = {};
|
|
@@ -16670,7 +16896,7 @@ function createCredentialStore(path = defaultCredentialPath(), options = {}) {
|
|
|
16670
16896
|
// package.json
|
|
16671
16897
|
var package_default = {
|
|
16672
16898
|
name: "intonear-erp-cli",
|
|
16673
|
-
version: "0.2.
|
|
16899
|
+
version: "0.2.4",
|
|
16674
16900
|
description: "intoNear ERP \u6E10\u8FDB\u5F0F\u8BFB\u5199\u547D\u4EE4\u884C\u5BA2\u6237\u7AEF",
|
|
16675
16901
|
type: "module",
|
|
16676
16902
|
bin: {
|