@aws/ml-container-creator 0.13.5 → 0.15.1
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/config/parameter-schema-v2.json +33 -5
- package/infra/ci-harness/lib/ci-harness-stack.ts +13 -5
- package/infra/ci-harness/package-lock.json +121 -111
- package/infra/ci-harness/package.json +1 -1
- package/package.json +2 -2
- package/servers/endpoint-picker/index.js +23 -14
- package/servers/instance-sizer/index.js +72 -4
- package/servers/instance-sizer/lib/model-resolver.js +28 -2
- package/src/app.js +15 -0
- package/src/lib/config-loader.js +18 -0
- package/src/lib/config-manager.js +6 -1
- package/src/lib/dataset-slug.js +152 -0
- package/src/lib/generated/cli-options.js +9 -3
- package/src/lib/generated/parameter-matrix.js +15 -4
- package/src/lib/generated/validation-rules.js +1 -1
- package/src/lib/mcp-client.js +15 -1
- package/src/lib/mcp-query-runner.js +11 -1
- package/src/lib/prompt-runner.js +40 -20
- package/src/lib/prompts/feature-prompts.js +1 -1
- package/src/lib/template-manager.js +0 -7
- package/src/lib/template-variable-resolver.js +51 -1
- package/src/lib/tune-config-state.js +14 -1
- package/templates/do/.benchmark_writer.py +43 -0
- package/templates/do/.register_helper.py +1185 -0
- package/templates/do/.tune_helper.py +168 -2
- package/templates/do/__pycache__/.adapter_helper.cpython-312.pyc +0 -0
- package/templates/do/__pycache__/.benchmark_writer.cpython-312.pyc +0 -0
- package/templates/do/__pycache__/.register_helper.cpython-312.pyc +0 -0
- package/templates/do/__pycache__/.tune_helper.cpython-312.pyc +0 -0
- package/templates/do/adapter +319 -27
- package/templates/do/add-ic +85 -3
- package/templates/do/benchmark +28 -8
- package/templates/do/config +20 -0
- package/templates/do/lib/inference-component.sh +56 -3
- package/templates/do/register +557 -6
- package/templates/do/test +12 -2
- package/templates/do/tune +219 -6
|
@@ -315,7 +315,7 @@
|
|
|
315
315
|
"envVar": "ML_ENABLE_LORA",
|
|
316
316
|
"templateVar": "enableLora",
|
|
317
317
|
"configKey": "enableLora",
|
|
318
|
-
"default":
|
|
318
|
+
"default": true,
|
|
319
319
|
"validation": {},
|
|
320
320
|
"phase": "features",
|
|
321
321
|
"group": "lora",
|
|
@@ -429,7 +429,7 @@
|
|
|
429
429
|
"envVar": "ML_INCLUDE_BENCHMARK",
|
|
430
430
|
"templateVar": "includeBenchmark",
|
|
431
431
|
"configKey": "includeBenchmark",
|
|
432
|
-
"default":
|
|
432
|
+
"default": true,
|
|
433
433
|
"validation": {},
|
|
434
434
|
"phase": "features",
|
|
435
435
|
"group": "benchmark",
|
|
@@ -438,8 +438,7 @@
|
|
|
438
438
|
"managed-inference"
|
|
439
439
|
],
|
|
440
440
|
"architectures": [
|
|
441
|
-
"
|
|
442
|
-
"diffusors"
|
|
441
|
+
"*"
|
|
443
442
|
]
|
|
444
443
|
},
|
|
445
444
|
"widget": {
|
|
@@ -894,7 +893,7 @@
|
|
|
894
893
|
]
|
|
895
894
|
},
|
|
896
895
|
"widget": null,
|
|
897
|
-
"prompt":
|
|
896
|
+
"prompt": "external",
|
|
898
897
|
"deprecated": false,
|
|
899
898
|
"since": "0.3.0"
|
|
900
899
|
},
|
|
@@ -1834,6 +1833,35 @@
|
|
|
1834
1833
|
"deprecated": false,
|
|
1835
1834
|
"since": "0.5.0"
|
|
1836
1835
|
},
|
|
1836
|
+
"icEnv": {
|
|
1837
|
+
"type": "string",
|
|
1838
|
+
"description": "Deploy-time environment variable for inference components (IC_ENV_* prefix), repeatable (e.g. VLLM_MAX_MODEL_LEN=8192)",
|
|
1839
|
+
"cliFlag": "--ic-env",
|
|
1840
|
+
"cliArgName": "KEY=VALUE",
|
|
1841
|
+
"envVar": null,
|
|
1842
|
+
"templateVar": null,
|
|
1843
|
+
"configKey": "icEnv",
|
|
1844
|
+
"default": [],
|
|
1845
|
+
"validation": {},
|
|
1846
|
+
"phase": "infrastructure",
|
|
1847
|
+
"group": "inference-component",
|
|
1848
|
+
"appliesTo": {
|
|
1849
|
+
"deploymentTargets": [
|
|
1850
|
+
"managed-inference"
|
|
1851
|
+
],
|
|
1852
|
+
"architectures": [
|
|
1853
|
+
"*"
|
|
1854
|
+
]
|
|
1855
|
+
},
|
|
1856
|
+
"widget": {
|
|
1857
|
+
"section": "env-vars",
|
|
1858
|
+
"inputType": "repeatable-kv"
|
|
1859
|
+
},
|
|
1860
|
+
"prompt": null,
|
|
1861
|
+
"repeatable": true,
|
|
1862
|
+
"deprecated": false,
|
|
1863
|
+
"since": "0.12.0"
|
|
1864
|
+
},
|
|
1837
1865
|
"includeSample": {
|
|
1838
1866
|
"type": "boolean",
|
|
1839
1867
|
"description": "Include sample model code",
|
|
@@ -1034,6 +1034,7 @@ export class MlccCiHarnessStack extends cdk.Stack {
|
|
|
1034
1034
|
{ name: 'mcc_version', type: 'string', comment: 'MCC version' },
|
|
1035
1035
|
{ name: 'run_timestamp', type: 'string', comment: 'ISO 8601 UTC timestamp' },
|
|
1036
1036
|
{ name: 'region', type: 'string', comment: 'AWS region' },
|
|
1037
|
+
{ name: 'adapter_name', type: 'string', comment: 'LoRA adapter name (empty for base model)' },
|
|
1037
1038
|
],
|
|
1038
1039
|
location: `s3://mlcc-benchmark-results-${this.account}-${this.region}/results/`,
|
|
1039
1040
|
inputFormat: 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat',
|
|
@@ -1074,8 +1075,13 @@ export class MlccCiHarnessStack extends cdk.Stack {
|
|
|
1074
1075
|
});
|
|
1075
1076
|
|
|
1076
1077
|
// S3 bucket for benchmark results (Parquet files partitioned by region/year/month)
|
|
1077
|
-
const
|
|
1078
|
-
|
|
1078
|
+
const importExistingBucket = this.node.tryGetContext('importExistingBenchmarkBucket') === 'true'
|
|
1079
|
+
|| this.node.tryGetContext('importExistingBenchmarkBucket') === true;
|
|
1080
|
+
const benchmarkResultsBucketName = `mlcc-benchmark-results-${this.account}-${this.region}`;
|
|
1081
|
+
const benchmarkResultsBucket = importExistingBucket
|
|
1082
|
+
? s3.Bucket.fromBucketName(this, 'BenchmarkResultsBucket', benchmarkResultsBucketName)
|
|
1083
|
+
: new s3.Bucket(this, 'BenchmarkResultsBucket', {
|
|
1084
|
+
bucketName: benchmarkResultsBucketName,
|
|
1079
1085
|
removalPolicy: cdk.RemovalPolicy.RETAIN,
|
|
1080
1086
|
lifecycleRules: [
|
|
1081
1087
|
{
|
|
@@ -1090,9 +1096,11 @@ export class MlccCiHarnessStack extends cdk.Stack {
|
|
|
1090
1096
|
],
|
|
1091
1097
|
});
|
|
1092
1098
|
|
|
1093
|
-
// Apply the benchmark condition to the S3 bucket
|
|
1094
|
-
|
|
1095
|
-
|
|
1099
|
+
// Apply the benchmark condition to the S3 bucket (only for new buckets, not imported ones)
|
|
1100
|
+
if (!importExistingBucket) {
|
|
1101
|
+
const cfnBenchmarkBucket = benchmarkResultsBucket.node.defaultChild as cdk.CfnResource;
|
|
1102
|
+
cfnBenchmarkBucket.cfnOptions.condition = benchmarkInfraCondition;
|
|
1103
|
+
}
|
|
1096
1104
|
|
|
1097
1105
|
// Output the benchmark results bucket ARN (conditional)
|
|
1098
1106
|
new cdk.CfnOutput(this, 'BenchmarkResultsBucketArn', {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@aws-sdk/client-sqs": "^3.1041.0",
|
|
19
19
|
"@types/mocha": "^10.0.10",
|
|
20
20
|
"@types/node": "^22.15.0",
|
|
21
|
-
"esbuild": "^0.28.
|
|
21
|
+
"esbuild": "^0.28.1",
|
|
22
22
|
"mocha": "^11.7.5",
|
|
23
23
|
"ts-node": "^10.9.2",
|
|
24
24
|
"typescript": "^5.8.3"
|
|
@@ -962,9 +962,9 @@
|
|
|
962
962
|
}
|
|
963
963
|
},
|
|
964
964
|
"node_modules/@esbuild/aix-ppc64": {
|
|
965
|
-
"version": "0.28.
|
|
966
|
-
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.
|
|
967
|
-
"integrity": "sha512-
|
|
965
|
+
"version": "0.28.1",
|
|
966
|
+
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz",
|
|
967
|
+
"integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==",
|
|
968
968
|
"cpu": [
|
|
969
969
|
"ppc64"
|
|
970
970
|
],
|
|
@@ -979,9 +979,9 @@
|
|
|
979
979
|
}
|
|
980
980
|
},
|
|
981
981
|
"node_modules/@esbuild/android-arm": {
|
|
982
|
-
"version": "0.28.
|
|
983
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.
|
|
984
|
-
"integrity": "sha512-
|
|
982
|
+
"version": "0.28.1",
|
|
983
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz",
|
|
984
|
+
"integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==",
|
|
985
985
|
"cpu": [
|
|
986
986
|
"arm"
|
|
987
987
|
],
|
|
@@ -996,9 +996,9 @@
|
|
|
996
996
|
}
|
|
997
997
|
},
|
|
998
998
|
"node_modules/@esbuild/android-arm64": {
|
|
999
|
-
"version": "0.28.
|
|
1000
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.
|
|
1001
|
-
"integrity": "sha512
|
|
999
|
+
"version": "0.28.1",
|
|
1000
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz",
|
|
1001
|
+
"integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==",
|
|
1002
1002
|
"cpu": [
|
|
1003
1003
|
"arm64"
|
|
1004
1004
|
],
|
|
@@ -1013,9 +1013,9 @@
|
|
|
1013
1013
|
}
|
|
1014
1014
|
},
|
|
1015
1015
|
"node_modules/@esbuild/android-x64": {
|
|
1016
|
-
"version": "0.28.
|
|
1017
|
-
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.
|
|
1018
|
-
"integrity": "sha512
|
|
1016
|
+
"version": "0.28.1",
|
|
1017
|
+
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz",
|
|
1018
|
+
"integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==",
|
|
1019
1019
|
"cpu": [
|
|
1020
1020
|
"x64"
|
|
1021
1021
|
],
|
|
@@ -1030,9 +1030,9 @@
|
|
|
1030
1030
|
}
|
|
1031
1031
|
},
|
|
1032
1032
|
"node_modules/@esbuild/darwin-arm64": {
|
|
1033
|
-
"version": "0.28.
|
|
1034
|
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.
|
|
1035
|
-
"integrity": "sha512-
|
|
1033
|
+
"version": "0.28.1",
|
|
1034
|
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz",
|
|
1035
|
+
"integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==",
|
|
1036
1036
|
"cpu": [
|
|
1037
1037
|
"arm64"
|
|
1038
1038
|
],
|
|
@@ -1047,9 +1047,9 @@
|
|
|
1047
1047
|
}
|
|
1048
1048
|
},
|
|
1049
1049
|
"node_modules/@esbuild/darwin-x64": {
|
|
1050
|
-
"version": "0.28.
|
|
1051
|
-
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.
|
|
1052
|
-
"integrity": "sha512-
|
|
1050
|
+
"version": "0.28.1",
|
|
1051
|
+
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz",
|
|
1052
|
+
"integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==",
|
|
1053
1053
|
"cpu": [
|
|
1054
1054
|
"x64"
|
|
1055
1055
|
],
|
|
@@ -1064,9 +1064,9 @@
|
|
|
1064
1064
|
}
|
|
1065
1065
|
},
|
|
1066
1066
|
"node_modules/@esbuild/freebsd-arm64": {
|
|
1067
|
-
"version": "0.28.
|
|
1068
|
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.
|
|
1069
|
-
"integrity": "sha512-
|
|
1067
|
+
"version": "0.28.1",
|
|
1068
|
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz",
|
|
1069
|
+
"integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==",
|
|
1070
1070
|
"cpu": [
|
|
1071
1071
|
"arm64"
|
|
1072
1072
|
],
|
|
@@ -1081,9 +1081,9 @@
|
|
|
1081
1081
|
}
|
|
1082
1082
|
},
|
|
1083
1083
|
"node_modules/@esbuild/freebsd-x64": {
|
|
1084
|
-
"version": "0.28.
|
|
1085
|
-
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.
|
|
1086
|
-
"integrity": "sha512-
|
|
1084
|
+
"version": "0.28.1",
|
|
1085
|
+
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz",
|
|
1086
|
+
"integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==",
|
|
1087
1087
|
"cpu": [
|
|
1088
1088
|
"x64"
|
|
1089
1089
|
],
|
|
@@ -1098,9 +1098,9 @@
|
|
|
1098
1098
|
}
|
|
1099
1099
|
},
|
|
1100
1100
|
"node_modules/@esbuild/linux-arm": {
|
|
1101
|
-
"version": "0.28.
|
|
1102
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.
|
|
1103
|
-
"integrity": "sha512-
|
|
1101
|
+
"version": "0.28.1",
|
|
1102
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz",
|
|
1103
|
+
"integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==",
|
|
1104
1104
|
"cpu": [
|
|
1105
1105
|
"arm"
|
|
1106
1106
|
],
|
|
@@ -1115,9 +1115,9 @@
|
|
|
1115
1115
|
}
|
|
1116
1116
|
},
|
|
1117
1117
|
"node_modules/@esbuild/linux-arm64": {
|
|
1118
|
-
"version": "0.28.
|
|
1119
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.
|
|
1120
|
-
"integrity": "sha512-
|
|
1118
|
+
"version": "0.28.1",
|
|
1119
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz",
|
|
1120
|
+
"integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==",
|
|
1121
1121
|
"cpu": [
|
|
1122
1122
|
"arm64"
|
|
1123
1123
|
],
|
|
@@ -1132,9 +1132,9 @@
|
|
|
1132
1132
|
}
|
|
1133
1133
|
},
|
|
1134
1134
|
"node_modules/@esbuild/linux-ia32": {
|
|
1135
|
-
"version": "0.28.
|
|
1136
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.
|
|
1137
|
-
"integrity": "sha512-
|
|
1135
|
+
"version": "0.28.1",
|
|
1136
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz",
|
|
1137
|
+
"integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==",
|
|
1138
1138
|
"cpu": [
|
|
1139
1139
|
"ia32"
|
|
1140
1140
|
],
|
|
@@ -1149,9 +1149,9 @@
|
|
|
1149
1149
|
}
|
|
1150
1150
|
},
|
|
1151
1151
|
"node_modules/@esbuild/linux-loong64": {
|
|
1152
|
-
"version": "0.28.
|
|
1153
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.
|
|
1154
|
-
"integrity": "sha512-
|
|
1152
|
+
"version": "0.28.1",
|
|
1153
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz",
|
|
1154
|
+
"integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==",
|
|
1155
1155
|
"cpu": [
|
|
1156
1156
|
"loong64"
|
|
1157
1157
|
],
|
|
@@ -1166,9 +1166,9 @@
|
|
|
1166
1166
|
}
|
|
1167
1167
|
},
|
|
1168
1168
|
"node_modules/@esbuild/linux-mips64el": {
|
|
1169
|
-
"version": "0.28.
|
|
1170
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.
|
|
1171
|
-
"integrity": "sha512-
|
|
1169
|
+
"version": "0.28.1",
|
|
1170
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz",
|
|
1171
|
+
"integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==",
|
|
1172
1172
|
"cpu": [
|
|
1173
1173
|
"mips64el"
|
|
1174
1174
|
],
|
|
@@ -1183,9 +1183,9 @@
|
|
|
1183
1183
|
}
|
|
1184
1184
|
},
|
|
1185
1185
|
"node_modules/@esbuild/linux-ppc64": {
|
|
1186
|
-
"version": "0.28.
|
|
1187
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.
|
|
1188
|
-
"integrity": "sha512-
|
|
1186
|
+
"version": "0.28.1",
|
|
1187
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz",
|
|
1188
|
+
"integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==",
|
|
1189
1189
|
"cpu": [
|
|
1190
1190
|
"ppc64"
|
|
1191
1191
|
],
|
|
@@ -1200,9 +1200,9 @@
|
|
|
1200
1200
|
}
|
|
1201
1201
|
},
|
|
1202
1202
|
"node_modules/@esbuild/linux-riscv64": {
|
|
1203
|
-
"version": "0.28.
|
|
1204
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.
|
|
1205
|
-
"integrity": "sha512-
|
|
1203
|
+
"version": "0.28.1",
|
|
1204
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz",
|
|
1205
|
+
"integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==",
|
|
1206
1206
|
"cpu": [
|
|
1207
1207
|
"riscv64"
|
|
1208
1208
|
],
|
|
@@ -1217,9 +1217,9 @@
|
|
|
1217
1217
|
}
|
|
1218
1218
|
},
|
|
1219
1219
|
"node_modules/@esbuild/linux-s390x": {
|
|
1220
|
-
"version": "0.28.
|
|
1221
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.
|
|
1222
|
-
"integrity": "sha512
|
|
1220
|
+
"version": "0.28.1",
|
|
1221
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz",
|
|
1222
|
+
"integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==",
|
|
1223
1223
|
"cpu": [
|
|
1224
1224
|
"s390x"
|
|
1225
1225
|
],
|
|
@@ -1234,9 +1234,9 @@
|
|
|
1234
1234
|
}
|
|
1235
1235
|
},
|
|
1236
1236
|
"node_modules/@esbuild/linux-x64": {
|
|
1237
|
-
"version": "0.28.
|
|
1238
|
-
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.
|
|
1239
|
-
"integrity": "sha512-
|
|
1237
|
+
"version": "0.28.1",
|
|
1238
|
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz",
|
|
1239
|
+
"integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==",
|
|
1240
1240
|
"cpu": [
|
|
1241
1241
|
"x64"
|
|
1242
1242
|
],
|
|
@@ -1251,9 +1251,9 @@
|
|
|
1251
1251
|
}
|
|
1252
1252
|
},
|
|
1253
1253
|
"node_modules/@esbuild/netbsd-arm64": {
|
|
1254
|
-
"version": "0.28.
|
|
1255
|
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.
|
|
1256
|
-
"integrity": "sha512-
|
|
1254
|
+
"version": "0.28.1",
|
|
1255
|
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz",
|
|
1256
|
+
"integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==",
|
|
1257
1257
|
"cpu": [
|
|
1258
1258
|
"arm64"
|
|
1259
1259
|
],
|
|
@@ -1268,9 +1268,9 @@
|
|
|
1268
1268
|
}
|
|
1269
1269
|
},
|
|
1270
1270
|
"node_modules/@esbuild/netbsd-x64": {
|
|
1271
|
-
"version": "0.28.
|
|
1272
|
-
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.
|
|
1273
|
-
"integrity": "sha512-
|
|
1271
|
+
"version": "0.28.1",
|
|
1272
|
+
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz",
|
|
1273
|
+
"integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==",
|
|
1274
1274
|
"cpu": [
|
|
1275
1275
|
"x64"
|
|
1276
1276
|
],
|
|
@@ -1285,9 +1285,9 @@
|
|
|
1285
1285
|
}
|
|
1286
1286
|
},
|
|
1287
1287
|
"node_modules/@esbuild/openbsd-arm64": {
|
|
1288
|
-
"version": "0.28.
|
|
1289
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.
|
|
1290
|
-
"integrity": "sha512-
|
|
1288
|
+
"version": "0.28.1",
|
|
1289
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz",
|
|
1290
|
+
"integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==",
|
|
1291
1291
|
"cpu": [
|
|
1292
1292
|
"arm64"
|
|
1293
1293
|
],
|
|
@@ -1302,9 +1302,9 @@
|
|
|
1302
1302
|
}
|
|
1303
1303
|
},
|
|
1304
1304
|
"node_modules/@esbuild/openbsd-x64": {
|
|
1305
|
-
"version": "0.28.
|
|
1306
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.
|
|
1307
|
-
"integrity": "sha512-
|
|
1305
|
+
"version": "0.28.1",
|
|
1306
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz",
|
|
1307
|
+
"integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==",
|
|
1308
1308
|
"cpu": [
|
|
1309
1309
|
"x64"
|
|
1310
1310
|
],
|
|
@@ -1319,9 +1319,9 @@
|
|
|
1319
1319
|
}
|
|
1320
1320
|
},
|
|
1321
1321
|
"node_modules/@esbuild/openharmony-arm64": {
|
|
1322
|
-
"version": "0.28.
|
|
1323
|
-
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.
|
|
1324
|
-
"integrity": "sha512-
|
|
1322
|
+
"version": "0.28.1",
|
|
1323
|
+
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz",
|
|
1324
|
+
"integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==",
|
|
1325
1325
|
"cpu": [
|
|
1326
1326
|
"arm64"
|
|
1327
1327
|
],
|
|
@@ -1336,9 +1336,9 @@
|
|
|
1336
1336
|
}
|
|
1337
1337
|
},
|
|
1338
1338
|
"node_modules/@esbuild/sunos-x64": {
|
|
1339
|
-
"version": "0.28.
|
|
1340
|
-
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.
|
|
1341
|
-
"integrity": "sha512-
|
|
1339
|
+
"version": "0.28.1",
|
|
1340
|
+
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz",
|
|
1341
|
+
"integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==",
|
|
1342
1342
|
"cpu": [
|
|
1343
1343
|
"x64"
|
|
1344
1344
|
],
|
|
@@ -1353,9 +1353,9 @@
|
|
|
1353
1353
|
}
|
|
1354
1354
|
},
|
|
1355
1355
|
"node_modules/@esbuild/win32-arm64": {
|
|
1356
|
-
"version": "0.28.
|
|
1357
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.
|
|
1358
|
-
"integrity": "sha512-
|
|
1356
|
+
"version": "0.28.1",
|
|
1357
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz",
|
|
1358
|
+
"integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==",
|
|
1359
1359
|
"cpu": [
|
|
1360
1360
|
"arm64"
|
|
1361
1361
|
],
|
|
@@ -1370,9 +1370,9 @@
|
|
|
1370
1370
|
}
|
|
1371
1371
|
},
|
|
1372
1372
|
"node_modules/@esbuild/win32-ia32": {
|
|
1373
|
-
"version": "0.28.
|
|
1374
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.
|
|
1375
|
-
"integrity": "sha512-
|
|
1373
|
+
"version": "0.28.1",
|
|
1374
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz",
|
|
1375
|
+
"integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==",
|
|
1376
1376
|
"cpu": [
|
|
1377
1377
|
"ia32"
|
|
1378
1378
|
],
|
|
@@ -1387,9 +1387,9 @@
|
|
|
1387
1387
|
}
|
|
1388
1388
|
},
|
|
1389
1389
|
"node_modules/@esbuild/win32-x64": {
|
|
1390
|
-
"version": "0.28.
|
|
1391
|
-
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.
|
|
1392
|
-
"integrity": "sha512-
|
|
1390
|
+
"version": "0.28.1",
|
|
1391
|
+
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz",
|
|
1392
|
+
"integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==",
|
|
1393
1393
|
"cpu": [
|
|
1394
1394
|
"x64"
|
|
1395
1395
|
],
|
|
@@ -2869,9 +2869,9 @@
|
|
|
2869
2869
|
"license": "MIT"
|
|
2870
2870
|
},
|
|
2871
2871
|
"node_modules/esbuild": {
|
|
2872
|
-
"version": "0.28.
|
|
2873
|
-
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.
|
|
2874
|
-
"integrity": "sha512-
|
|
2872
|
+
"version": "0.28.1",
|
|
2873
|
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz",
|
|
2874
|
+
"integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==",
|
|
2875
2875
|
"dev": true,
|
|
2876
2876
|
"hasInstallScript": true,
|
|
2877
2877
|
"license": "MIT",
|
|
@@ -2882,32 +2882,32 @@
|
|
|
2882
2882
|
"node": ">=18"
|
|
2883
2883
|
},
|
|
2884
2884
|
"optionalDependencies": {
|
|
2885
|
-
"@esbuild/aix-ppc64": "0.28.
|
|
2886
|
-
"@esbuild/android-arm": "0.28.
|
|
2887
|
-
"@esbuild/android-arm64": "0.28.
|
|
2888
|
-
"@esbuild/android-x64": "0.28.
|
|
2889
|
-
"@esbuild/darwin-arm64": "0.28.
|
|
2890
|
-
"@esbuild/darwin-x64": "0.28.
|
|
2891
|
-
"@esbuild/freebsd-arm64": "0.28.
|
|
2892
|
-
"@esbuild/freebsd-x64": "0.28.
|
|
2893
|
-
"@esbuild/linux-arm": "0.28.
|
|
2894
|
-
"@esbuild/linux-arm64": "0.28.
|
|
2895
|
-
"@esbuild/linux-ia32": "0.28.
|
|
2896
|
-
"@esbuild/linux-loong64": "0.28.
|
|
2897
|
-
"@esbuild/linux-mips64el": "0.28.
|
|
2898
|
-
"@esbuild/linux-ppc64": "0.28.
|
|
2899
|
-
"@esbuild/linux-riscv64": "0.28.
|
|
2900
|
-
"@esbuild/linux-s390x": "0.28.
|
|
2901
|
-
"@esbuild/linux-x64": "0.28.
|
|
2902
|
-
"@esbuild/netbsd-arm64": "0.28.
|
|
2903
|
-
"@esbuild/netbsd-x64": "0.28.
|
|
2904
|
-
"@esbuild/openbsd-arm64": "0.28.
|
|
2905
|
-
"@esbuild/openbsd-x64": "0.28.
|
|
2906
|
-
"@esbuild/openharmony-arm64": "0.28.
|
|
2907
|
-
"@esbuild/sunos-x64": "0.28.
|
|
2908
|
-
"@esbuild/win32-arm64": "0.28.
|
|
2909
|
-
"@esbuild/win32-ia32": "0.28.
|
|
2910
|
-
"@esbuild/win32-x64": "0.28.
|
|
2885
|
+
"@esbuild/aix-ppc64": "0.28.1",
|
|
2886
|
+
"@esbuild/android-arm": "0.28.1",
|
|
2887
|
+
"@esbuild/android-arm64": "0.28.1",
|
|
2888
|
+
"@esbuild/android-x64": "0.28.1",
|
|
2889
|
+
"@esbuild/darwin-arm64": "0.28.1",
|
|
2890
|
+
"@esbuild/darwin-x64": "0.28.1",
|
|
2891
|
+
"@esbuild/freebsd-arm64": "0.28.1",
|
|
2892
|
+
"@esbuild/freebsd-x64": "0.28.1",
|
|
2893
|
+
"@esbuild/linux-arm": "0.28.1",
|
|
2894
|
+
"@esbuild/linux-arm64": "0.28.1",
|
|
2895
|
+
"@esbuild/linux-ia32": "0.28.1",
|
|
2896
|
+
"@esbuild/linux-loong64": "0.28.1",
|
|
2897
|
+
"@esbuild/linux-mips64el": "0.28.1",
|
|
2898
|
+
"@esbuild/linux-ppc64": "0.28.1",
|
|
2899
|
+
"@esbuild/linux-riscv64": "0.28.1",
|
|
2900
|
+
"@esbuild/linux-s390x": "0.28.1",
|
|
2901
|
+
"@esbuild/linux-x64": "0.28.1",
|
|
2902
|
+
"@esbuild/netbsd-arm64": "0.28.1",
|
|
2903
|
+
"@esbuild/netbsd-x64": "0.28.1",
|
|
2904
|
+
"@esbuild/openbsd-arm64": "0.28.1",
|
|
2905
|
+
"@esbuild/openbsd-x64": "0.28.1",
|
|
2906
|
+
"@esbuild/openharmony-arm64": "0.28.1",
|
|
2907
|
+
"@esbuild/sunos-x64": "0.28.1",
|
|
2908
|
+
"@esbuild/win32-arm64": "0.28.1",
|
|
2909
|
+
"@esbuild/win32-ia32": "0.28.1",
|
|
2910
|
+
"@esbuild/win32-x64": "0.28.1"
|
|
2911
2911
|
}
|
|
2912
2912
|
},
|
|
2913
2913
|
"node_modules/escalade": {
|
|
@@ -3135,10 +3135,20 @@
|
|
|
3135
3135
|
}
|
|
3136
3136
|
},
|
|
3137
3137
|
"node_modules/js-yaml": {
|
|
3138
|
-
"version": "4.
|
|
3139
|
-
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.
|
|
3140
|
-
"integrity": "sha512-
|
|
3138
|
+
"version": "4.2.0",
|
|
3139
|
+
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
|
|
3140
|
+
"integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
|
|
3141
3141
|
"dev": true,
|
|
3142
|
+
"funding": [
|
|
3143
|
+
{
|
|
3144
|
+
"type": "github",
|
|
3145
|
+
"url": "https://github.com/sponsors/puzrin"
|
|
3146
|
+
},
|
|
3147
|
+
{
|
|
3148
|
+
"type": "github",
|
|
3149
|
+
"url": "https://github.com/sponsors/nodeca"
|
|
3150
|
+
}
|
|
3151
|
+
],
|
|
3142
3152
|
"license": "MIT",
|
|
3143
3153
|
"dependencies": {
|
|
3144
3154
|
"argparse": "^2.0.1"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/ml-container-creator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"description": "Build and deploy custom ML containers on AWS SageMaker with minimal configuration.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
"lint-staged": "^17.0.7",
|
|
130
130
|
"mocha": "^10.2.0",
|
|
131
131
|
"npm-force-resolutions": "^0.0.10",
|
|
132
|
-
"nyc": "^
|
|
132
|
+
"nyc": "^18.0.0",
|
|
133
133
|
"sbom": "^0.0.0"
|
|
134
134
|
},
|
|
135
135
|
"lint-staged": {
|
|
@@ -78,6 +78,7 @@ function getGpusForInstance(instanceType) {
|
|
|
78
78
|
let _SageMakerClient = null;
|
|
79
79
|
let _ListEndpointsCommand = null;
|
|
80
80
|
let _DescribeEndpointCommand = null;
|
|
81
|
+
let _DescribeEndpointConfigCommand = null;
|
|
81
82
|
let _ListInferenceComponentsCommand = null;
|
|
82
83
|
let _fromIni = null;
|
|
83
84
|
|
|
@@ -90,6 +91,7 @@ async function _ensureSdkLoaded() {
|
|
|
90
91
|
_SageMakerClient = sdk.SageMakerClient;
|
|
91
92
|
_ListEndpointsCommand = sdk.ListEndpointsCommand;
|
|
92
93
|
_DescribeEndpointCommand = sdk.DescribeEndpointCommand;
|
|
94
|
+
_DescribeEndpointConfigCommand = sdk.DescribeEndpointConfigCommand;
|
|
93
95
|
_ListInferenceComponentsCommand = sdk.ListInferenceComponentsCommand;
|
|
94
96
|
try {
|
|
95
97
|
const credentialProviders = await import('@aws-sdk/credential-providers');
|
|
@@ -197,9 +199,24 @@ async function fetchEndpoints(client, { limit = 10, showFull = false } = {}) {
|
|
|
197
199
|
const primaryVariant = variants[0] || {};
|
|
198
200
|
|
|
199
201
|
const variantName = primaryVariant.VariantName || 'AllTraffic';
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
202
|
+
let instanceType = primaryVariant.InstanceType || null;
|
|
203
|
+
|
|
204
|
+
// For IC-based endpoints, InstanceType may not be in the variant runtime response.
|
|
205
|
+
// Fall back to DescribeEndpointConfig which always has it.
|
|
206
|
+
if (!instanceType && detail.EndpointConfigName) {
|
|
207
|
+
try {
|
|
208
|
+
const ecCmd = new _DescribeEndpointConfigCommand({ EndpointConfigName: detail.EndpointConfigName });
|
|
209
|
+
const ecDetail = await client.send(ecCmd);
|
|
210
|
+
const ecVariant = (ecDetail.ProductionVariants || [])[0];
|
|
211
|
+
if (ecVariant?.InstanceType) {
|
|
212
|
+
instanceType = ecVariant.InstanceType;
|
|
213
|
+
}
|
|
214
|
+
} catch (ecErr) {
|
|
215
|
+
log(`Warning: could not describe endpoint config for "${endpointName}": ${ecErr.message}`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
instanceType = instanceType || 'unknown';
|
|
219
|
+
|
|
203
220
|
const instanceCount = primaryVariant.CurrentInstanceCount ?? primaryVariant.DesiredInstanceCount ?? 1;
|
|
204
221
|
const hasInstancePools = !!(primaryVariant.InstancePools && primaryVariant.InstancePools.length > 0);
|
|
205
222
|
|
|
@@ -387,17 +404,9 @@ server.tool(
|
|
|
387
404
|
limit: z.number().int().positive().default(10).describe('Maximum number of endpoints to return'),
|
|
388
405
|
context: z.record(z.string(), z.any()).optional().describe('Current configuration context (awsRegion, awsProfile, deploymentTarget)')
|
|
389
406
|
},
|
|
390
|
-
async ({ parameters, limit, context }) => {
|
|
391
|
-
// Only respond if
|
|
392
|
-
|
|
393
|
-
return {
|
|
394
|
-
content: [{
|
|
395
|
-
type: 'text',
|
|
396
|
-
text: JSON.stringify({ values: {}, choices: {} })
|
|
397
|
-
}]
|
|
398
|
-
};
|
|
399
|
-
}
|
|
400
|
-
|
|
407
|
+
async ({ parameters: _parameters, limit, context }) => {
|
|
408
|
+
// Only respond if context.deploymentTarget is realtime-inference
|
|
409
|
+
// Note: parameters may be empty when called on-demand via queryMcpServer()
|
|
401
410
|
if (context?.deploymentTarget && context.deploymentTarget !== 'realtime-inference') {
|
|
402
411
|
return {
|
|
403
412
|
content: [{
|