@semiont/cli 0.2.43 → 0.2.46
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/cli.mjs +99 -83
- package/package.json +3 -3
package/dist/cli.mjs
CHANGED
|
@@ -341,10 +341,10 @@ function mergeDefs(...defs) {
|
|
|
341
341
|
function cloneDef(schema2) {
|
|
342
342
|
return mergeDefs(schema2._zod.def);
|
|
343
343
|
}
|
|
344
|
-
function getElementAtPath(obj,
|
|
345
|
-
if (!
|
|
344
|
+
function getElementAtPath(obj, path40) {
|
|
345
|
+
if (!path40)
|
|
346
346
|
return obj;
|
|
347
|
-
return
|
|
347
|
+
return path40.reduce((acc, key) => acc?.[key], obj);
|
|
348
348
|
}
|
|
349
349
|
function promiseAllObject(promisesObj) {
|
|
350
350
|
const keys = Object.keys(promisesObj);
|
|
@@ -634,11 +634,11 @@ function aborted(x, startIndex = 0) {
|
|
|
634
634
|
}
|
|
635
635
|
return false;
|
|
636
636
|
}
|
|
637
|
-
function prefixIssues(
|
|
637
|
+
function prefixIssues(path40, issues) {
|
|
638
638
|
return issues.map((iss) => {
|
|
639
639
|
var _a4;
|
|
640
640
|
(_a4 = iss).path ?? (_a4.path = []);
|
|
641
|
-
iss.path.unshift(
|
|
641
|
+
iss.path.unshift(path40);
|
|
642
642
|
return iss;
|
|
643
643
|
});
|
|
644
644
|
}
|
|
@@ -859,7 +859,7 @@ function formatError(error46, mapper = (issue2) => issue2.message) {
|
|
|
859
859
|
}
|
|
860
860
|
function treeifyError(error46, mapper = (issue2) => issue2.message) {
|
|
861
861
|
const result = { errors: [] };
|
|
862
|
-
const processError = (error47,
|
|
862
|
+
const processError = (error47, path40 = []) => {
|
|
863
863
|
var _a4, _b;
|
|
864
864
|
for (const issue2 of error47.issues) {
|
|
865
865
|
if (issue2.code === "invalid_union" && issue2.errors.length) {
|
|
@@ -869,7 +869,7 @@ function treeifyError(error46, mapper = (issue2) => issue2.message) {
|
|
|
869
869
|
} else if (issue2.code === "invalid_element") {
|
|
870
870
|
processError({ issues: issue2.issues }, issue2.path);
|
|
871
871
|
} else {
|
|
872
|
-
const fullpath = [...
|
|
872
|
+
const fullpath = [...path40, ...issue2.path];
|
|
873
873
|
if (fullpath.length === 0) {
|
|
874
874
|
result.errors.push(mapper(issue2));
|
|
875
875
|
continue;
|
|
@@ -901,8 +901,8 @@ function treeifyError(error46, mapper = (issue2) => issue2.message) {
|
|
|
901
901
|
}
|
|
902
902
|
function toDotPath(_path) {
|
|
903
903
|
const segs = [];
|
|
904
|
-
const
|
|
905
|
-
for (const seg of
|
|
904
|
+
const path40 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
|
|
905
|
+
for (const seg of path40) {
|
|
906
906
|
if (typeof seg === "number")
|
|
907
907
|
segs.push(`[${seg}]`);
|
|
908
908
|
else if (typeof seg === "symbol")
|
|
@@ -17027,9 +17027,9 @@ async function startJanusGraph(context) {
|
|
|
17027
17027
|
}
|
|
17028
17028
|
};
|
|
17029
17029
|
}
|
|
17030
|
-
async function fileExists(
|
|
17030
|
+
async function fileExists(path40) {
|
|
17031
17031
|
try {
|
|
17032
|
-
await fs17.access(
|
|
17032
|
+
await fs17.access(path40);
|
|
17033
17033
|
return true;
|
|
17034
17034
|
} catch {
|
|
17035
17035
|
return false;
|
|
@@ -17963,9 +17963,9 @@ Files placed here will persist across service restarts.
|
|
|
17963
17963
|
// src/platforms/posix/handlers/graph-provision.ts
|
|
17964
17964
|
import * as fs23 from "fs/promises";
|
|
17965
17965
|
import { execFileSync as execFileSync9 } from "child_process";
|
|
17966
|
-
async function fileExists2(
|
|
17966
|
+
async function fileExists2(path40) {
|
|
17967
17967
|
try {
|
|
17968
|
-
await fs23.access(
|
|
17968
|
+
await fs23.access(path40);
|
|
17969
17969
|
return true;
|
|
17970
17970
|
} catch {
|
|
17971
17971
|
return false;
|
|
@@ -18268,7 +18268,23 @@ var init_backend_provision = __esm({
|
|
|
18268
18268
|
}
|
|
18269
18269
|
if (paths.fromNpmPackage) {
|
|
18270
18270
|
if (!service.quiet) {
|
|
18271
|
-
printInfo("Using pre-built npm package \u2014 skipping install
|
|
18271
|
+
printInfo("Using pre-built npm package \u2014 skipping install and build");
|
|
18272
|
+
}
|
|
18273
|
+
if (fs24.existsSync(prismaSchemaPath)) {
|
|
18274
|
+
if (!service.quiet) {
|
|
18275
|
+
printInfo("Generating Prisma client...");
|
|
18276
|
+
}
|
|
18277
|
+
try {
|
|
18278
|
+
execFileSync10("npx", ["prisma", "generate"], {
|
|
18279
|
+
cwd: backendSourceDir,
|
|
18280
|
+
stdio: service.verbose ? "inherit" : "pipe"
|
|
18281
|
+
});
|
|
18282
|
+
if (!service.quiet) {
|
|
18283
|
+
printSuccess("Prisma client generated");
|
|
18284
|
+
}
|
|
18285
|
+
} catch (error46) {
|
|
18286
|
+
printWarning(`Failed to generate Prisma client: ${error46}`);
|
|
18287
|
+
}
|
|
18272
18288
|
}
|
|
18273
18289
|
} else {
|
|
18274
18290
|
if (!service.quiet) {
|
|
@@ -19198,9 +19214,9 @@ async function stopJanusGraph(context) {
|
|
|
19198
19214
|
};
|
|
19199
19215
|
}
|
|
19200
19216
|
}
|
|
19201
|
-
async function fileExists3(
|
|
19217
|
+
async function fileExists3(path40) {
|
|
19202
19218
|
try {
|
|
19203
|
-
await fs27.access(
|
|
19219
|
+
await fs27.access(path40);
|
|
19204
19220
|
return true;
|
|
19205
19221
|
} catch {
|
|
19206
19222
|
return false;
|
|
@@ -21283,9 +21299,9 @@ async function startJanusGraph2(context) {
|
|
|
21283
21299
|
};
|
|
21284
21300
|
}
|
|
21285
21301
|
}
|
|
21286
|
-
async function fileExists4(
|
|
21302
|
+
async function fileExists4(path40) {
|
|
21287
21303
|
try {
|
|
21288
|
-
await fs33.access(
|
|
21304
|
+
await fs33.access(path40);
|
|
21289
21305
|
return true;
|
|
21290
21306
|
} catch {
|
|
21291
21307
|
return false;
|
|
@@ -24438,9 +24454,9 @@ async function stopJanusGraph2(context) {
|
|
|
24438
24454
|
};
|
|
24439
24455
|
}
|
|
24440
24456
|
}
|
|
24441
|
-
async function fileExists5(
|
|
24457
|
+
async function fileExists5(path40) {
|
|
24442
24458
|
try {
|
|
24443
|
-
await fs36.access(
|
|
24459
|
+
await fs36.access(path40);
|
|
24444
24460
|
return true;
|
|
24445
24461
|
} catch {
|
|
24446
24462
|
return false;
|
|
@@ -30000,12 +30016,12 @@ var init_path = __esm({
|
|
|
30000
30016
|
"../../node_modules/@anthropic-ai/sdk/internal/utils/path.mjs"() {
|
|
30001
30017
|
init_error();
|
|
30002
30018
|
EMPTY = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));
|
|
30003
|
-
createPathTagFunction = (pathEncoder = encodeURIPath) => function
|
|
30019
|
+
createPathTagFunction = (pathEncoder = encodeURIPath) => function path40(statics, ...params) {
|
|
30004
30020
|
if (statics.length === 1)
|
|
30005
30021
|
return statics[0];
|
|
30006
30022
|
let postPath = false;
|
|
30007
30023
|
const invalidSegments = [];
|
|
30008
|
-
const
|
|
30024
|
+
const path41 = statics.reduce((previousValue, currentValue, index) => {
|
|
30009
30025
|
if (/[?#]/.test(currentValue)) {
|
|
30010
30026
|
postPath = true;
|
|
30011
30027
|
}
|
|
@@ -30022,7 +30038,7 @@ var init_path = __esm({
|
|
|
30022
30038
|
}
|
|
30023
30039
|
return previousValue + currentValue + (index === params.length ? "" : encoded);
|
|
30024
30040
|
}, "");
|
|
30025
|
-
const pathOnly =
|
|
30041
|
+
const pathOnly = path41.split(/[?#]/, 1)[0];
|
|
30026
30042
|
const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
|
|
30027
30043
|
let match;
|
|
30028
30044
|
while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
|
|
@@ -30043,10 +30059,10 @@ var init_path = __esm({
|
|
|
30043
30059
|
}, "");
|
|
30044
30060
|
throw new AnthropicError(`Path parameters result in path with invalid segments:
|
|
30045
30061
|
${invalidSegments.map((e) => e.error).join("\n")}
|
|
30046
|
-
${
|
|
30062
|
+
${path41}
|
|
30047
30063
|
${underline}`);
|
|
30048
30064
|
}
|
|
30049
|
-
return
|
|
30065
|
+
return path41;
|
|
30050
30066
|
};
|
|
30051
30067
|
path33 = /* @__PURE__ */ createPathTagFunction(encodeURIPath);
|
|
30052
30068
|
}
|
|
@@ -32729,9 +32745,9 @@ var init_client = __esm({
|
|
|
32729
32745
|
makeStatusError(status, error46, message, headers) {
|
|
32730
32746
|
return APIError.generate(status, error46, message, headers);
|
|
32731
32747
|
}
|
|
32732
|
-
buildURL(
|
|
32748
|
+
buildURL(path40, query, defaultBaseURL) {
|
|
32733
32749
|
const baseURL = !__classPrivateFieldGet(this, _BaseAnthropic_instances, "m", _BaseAnthropic_baseURLOverridden).call(this) && defaultBaseURL || this.baseURL;
|
|
32734
|
-
const url2 = isAbsoluteURL(
|
|
32750
|
+
const url2 = isAbsoluteURL(path40) ? new URL(path40) : new URL(baseURL + (baseURL.endsWith("/") && path40.startsWith("/") ? path40.slice(1) : path40));
|
|
32735
32751
|
const defaultQuery = this.defaultQuery();
|
|
32736
32752
|
if (!isEmptyObj(defaultQuery)) {
|
|
32737
32753
|
query = { ...defaultQuery, ...query };
|
|
@@ -32762,24 +32778,24 @@ var init_client = __esm({
|
|
|
32762
32778
|
*/
|
|
32763
32779
|
async prepareRequest(request, { url: url2, options }) {
|
|
32764
32780
|
}
|
|
32765
|
-
get(
|
|
32766
|
-
return this.methodRequest("get",
|
|
32781
|
+
get(path40, opts) {
|
|
32782
|
+
return this.methodRequest("get", path40, opts);
|
|
32767
32783
|
}
|
|
32768
|
-
post(
|
|
32769
|
-
return this.methodRequest("post",
|
|
32784
|
+
post(path40, opts) {
|
|
32785
|
+
return this.methodRequest("post", path40, opts);
|
|
32770
32786
|
}
|
|
32771
|
-
patch(
|
|
32772
|
-
return this.methodRequest("patch",
|
|
32787
|
+
patch(path40, opts) {
|
|
32788
|
+
return this.methodRequest("patch", path40, opts);
|
|
32773
32789
|
}
|
|
32774
|
-
put(
|
|
32775
|
-
return this.methodRequest("put",
|
|
32790
|
+
put(path40, opts) {
|
|
32791
|
+
return this.methodRequest("put", path40, opts);
|
|
32776
32792
|
}
|
|
32777
|
-
delete(
|
|
32778
|
-
return this.methodRequest("delete",
|
|
32793
|
+
delete(path40, opts) {
|
|
32794
|
+
return this.methodRequest("delete", path40, opts);
|
|
32779
32795
|
}
|
|
32780
|
-
methodRequest(method,
|
|
32796
|
+
methodRequest(method, path40, opts) {
|
|
32781
32797
|
return this.request(Promise.resolve(opts).then((opts2) => {
|
|
32782
|
-
return { method, path:
|
|
32798
|
+
return { method, path: path40, ...opts2 };
|
|
32783
32799
|
}));
|
|
32784
32800
|
}
|
|
32785
32801
|
request(options, remainingRetries = null) {
|
|
@@ -32883,8 +32899,8 @@ var init_client = __esm({
|
|
|
32883
32899
|
}));
|
|
32884
32900
|
return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
|
|
32885
32901
|
}
|
|
32886
|
-
getAPIList(
|
|
32887
|
-
return this.requestAPIList(Page3, { method: "get", path:
|
|
32902
|
+
getAPIList(path40, Page3, opts) {
|
|
32903
|
+
return this.requestAPIList(Page3, { method: "get", path: path40, ...opts });
|
|
32888
32904
|
}
|
|
32889
32905
|
requestAPIList(Page3, options) {
|
|
32890
32906
|
const request = this.makeRequest(options, null, void 0);
|
|
@@ -32971,8 +32987,8 @@ var init_client = __esm({
|
|
|
32971
32987
|
}
|
|
32972
32988
|
async buildRequest(inputOptions, { retryCount = 0 } = {}) {
|
|
32973
32989
|
const options = { ...inputOptions };
|
|
32974
|
-
const { method, path:
|
|
32975
|
-
const url2 = this.buildURL(
|
|
32990
|
+
const { method, path: path40, query, defaultBaseURL } = options;
|
|
32991
|
+
const url2 = this.buildURL(path40, query, defaultBaseURL);
|
|
32976
32992
|
if ("timeout" in options)
|
|
32977
32993
|
validatePositiveInteger("timeout", options.timeout);
|
|
32978
32994
|
options.timeout = options.timeout ?? this.timeout;
|
|
@@ -34850,12 +34866,12 @@ var init_path2 = __esm({
|
|
|
34850
34866
|
"../../node_modules/openai/internal/utils/path.mjs"() {
|
|
34851
34867
|
init_error3();
|
|
34852
34868
|
EMPTY2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.create(null));
|
|
34853
|
-
createPathTagFunction2 = (pathEncoder = encodeURIPath2) => function
|
|
34869
|
+
createPathTagFunction2 = (pathEncoder = encodeURIPath2) => function path40(statics, ...params) {
|
|
34854
34870
|
if (statics.length === 1)
|
|
34855
34871
|
return statics[0];
|
|
34856
34872
|
let postPath = false;
|
|
34857
34873
|
const invalidSegments = [];
|
|
34858
|
-
const
|
|
34874
|
+
const path41 = statics.reduce((previousValue, currentValue, index) => {
|
|
34859
34875
|
if (/[?#]/.test(currentValue)) {
|
|
34860
34876
|
postPath = true;
|
|
34861
34877
|
}
|
|
@@ -34872,7 +34888,7 @@ var init_path2 = __esm({
|
|
|
34872
34888
|
}
|
|
34873
34889
|
return previousValue + currentValue + (index === params.length ? "" : encoded);
|
|
34874
34890
|
}, "");
|
|
34875
|
-
const pathOnly =
|
|
34891
|
+
const pathOnly = path41.split(/[?#]/, 1)[0];
|
|
34876
34892
|
const invalidSegmentPattern = /(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;
|
|
34877
34893
|
let match;
|
|
34878
34894
|
while ((match = invalidSegmentPattern.exec(pathOnly)) !== null) {
|
|
@@ -34893,10 +34909,10 @@ var init_path2 = __esm({
|
|
|
34893
34909
|
}, "");
|
|
34894
34910
|
throw new OpenAIError(`Path parameters result in path with invalid segments:
|
|
34895
34911
|
${invalidSegments.map((e) => e.error).join("\n")}
|
|
34896
|
-
${
|
|
34912
|
+
${path41}
|
|
34897
34913
|
${underline}`);
|
|
34898
34914
|
}
|
|
34899
|
-
return
|
|
34915
|
+
return path41;
|
|
34900
34916
|
};
|
|
34901
34917
|
path34 = /* @__PURE__ */ createPathTagFunction2(encodeURIPath2);
|
|
34902
34918
|
}
|
|
@@ -40049,9 +40065,9 @@ var init_client2 = __esm({
|
|
|
40049
40065
|
this.apiKey = token;
|
|
40050
40066
|
return true;
|
|
40051
40067
|
}
|
|
40052
|
-
buildURL(
|
|
40068
|
+
buildURL(path40, query, defaultBaseURL) {
|
|
40053
40069
|
const baseURL = !__classPrivateFieldGet2(this, _OpenAI_instances, "m", _OpenAI_baseURLOverridden).call(this) && defaultBaseURL || this.baseURL;
|
|
40054
|
-
const url2 = isAbsoluteURL2(
|
|
40070
|
+
const url2 = isAbsoluteURL2(path40) ? new URL(path40) : new URL(baseURL + (baseURL.endsWith("/") && path40.startsWith("/") ? path40.slice(1) : path40));
|
|
40055
40071
|
const defaultQuery = this.defaultQuery();
|
|
40056
40072
|
if (!isEmptyObj2(defaultQuery)) {
|
|
40057
40073
|
query = { ...defaultQuery, ...query };
|
|
@@ -40075,24 +40091,24 @@ var init_client2 = __esm({
|
|
|
40075
40091
|
*/
|
|
40076
40092
|
async prepareRequest(request, { url: url2, options }) {
|
|
40077
40093
|
}
|
|
40078
|
-
get(
|
|
40079
|
-
return this.methodRequest("get",
|
|
40094
|
+
get(path40, opts) {
|
|
40095
|
+
return this.methodRequest("get", path40, opts);
|
|
40080
40096
|
}
|
|
40081
|
-
post(
|
|
40082
|
-
return this.methodRequest("post",
|
|
40097
|
+
post(path40, opts) {
|
|
40098
|
+
return this.methodRequest("post", path40, opts);
|
|
40083
40099
|
}
|
|
40084
|
-
patch(
|
|
40085
|
-
return this.methodRequest("patch",
|
|
40100
|
+
patch(path40, opts) {
|
|
40101
|
+
return this.methodRequest("patch", path40, opts);
|
|
40086
40102
|
}
|
|
40087
|
-
put(
|
|
40088
|
-
return this.methodRequest("put",
|
|
40103
|
+
put(path40, opts) {
|
|
40104
|
+
return this.methodRequest("put", path40, opts);
|
|
40089
40105
|
}
|
|
40090
|
-
delete(
|
|
40091
|
-
return this.methodRequest("delete",
|
|
40106
|
+
delete(path40, opts) {
|
|
40107
|
+
return this.methodRequest("delete", path40, opts);
|
|
40092
40108
|
}
|
|
40093
|
-
methodRequest(method,
|
|
40109
|
+
methodRequest(method, path40, opts) {
|
|
40094
40110
|
return this.request(Promise.resolve(opts).then((opts2) => {
|
|
40095
|
-
return { method, path:
|
|
40111
|
+
return { method, path: path40, ...opts2 };
|
|
40096
40112
|
}));
|
|
40097
40113
|
}
|
|
40098
40114
|
request(options, remainingRetries = null) {
|
|
@@ -40196,8 +40212,8 @@ var init_client2 = __esm({
|
|
|
40196
40212
|
}));
|
|
40197
40213
|
return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
|
|
40198
40214
|
}
|
|
40199
|
-
getAPIList(
|
|
40200
|
-
return this.requestAPIList(Page3, { method: "get", path:
|
|
40215
|
+
getAPIList(path40, Page3, opts) {
|
|
40216
|
+
return this.requestAPIList(Page3, { method: "get", path: path40, ...opts });
|
|
40201
40217
|
}
|
|
40202
40218
|
requestAPIList(Page3, options) {
|
|
40203
40219
|
const request = this.makeRequest(options, null, void 0);
|
|
@@ -40275,8 +40291,8 @@ var init_client2 = __esm({
|
|
|
40275
40291
|
}
|
|
40276
40292
|
async buildRequest(inputOptions, { retryCount = 0 } = {}) {
|
|
40277
40293
|
const options = { ...inputOptions };
|
|
40278
|
-
const { method, path:
|
|
40279
|
-
const url2 = this.buildURL(
|
|
40294
|
+
const { method, path: path40, query, defaultBaseURL } = options;
|
|
40295
|
+
const url2 = this.buildURL(path40, query, defaultBaseURL);
|
|
40280
40296
|
if ("timeout" in options)
|
|
40281
40297
|
validatePositiveInteger2("timeout", options.timeout);
|
|
40282
40298
|
options.timeout = options.timeout ?? this.timeout;
|
|
@@ -42753,7 +42769,7 @@ var require_package = __commonJS({
|
|
|
42753
42769
|
"package.json"(exports, module) {
|
|
42754
42770
|
module.exports = {
|
|
42755
42771
|
name: "@semiont/cli",
|
|
42756
|
-
version: "0.2.
|
|
42772
|
+
version: "0.2.46",
|
|
42757
42773
|
description: "Semiont CLI - Unified environment management tool",
|
|
42758
42774
|
_comment: "AWS SDK dependencies (@aws-sdk/*) are only used by platforms/aws",
|
|
42759
42775
|
type: "module",
|
|
@@ -42817,8 +42833,8 @@ var require_package = __commonJS({
|
|
|
42817
42833
|
"@aws-sdk/client-secrets-manager": "^3.600.0",
|
|
42818
42834
|
"@aws-sdk/client-sts": "^3.859.0",
|
|
42819
42835
|
"@aws-sdk/client-wafv2": "^3.859.0",
|
|
42820
|
-
"@semiont/api-client": "^0.2.
|
|
42821
|
-
"@semiont/core": "^0.2.
|
|
42836
|
+
"@semiont/api-client": "^0.2.46",
|
|
42837
|
+
"@semiont/core": "^0.2.46",
|
|
42822
42838
|
"@testcontainers/postgresql": "^11.5.1",
|
|
42823
42839
|
arg: "^5.0.2",
|
|
42824
42840
|
argon2: "^0.43.0",
|
|
@@ -43893,10 +43909,11 @@ init_cli_logger();
|
|
|
43893
43909
|
init_config_loader();
|
|
43894
43910
|
import * as crypto4 from "crypto";
|
|
43895
43911
|
import * as argon2 from "argon2";
|
|
43912
|
+
import * as path36 from "path";
|
|
43896
43913
|
import { createRequire as createRequire3 } from "module";
|
|
43897
|
-
function loadPrismaClient() {
|
|
43914
|
+
function loadPrismaClient(projectRoot) {
|
|
43915
|
+
const req = createRequire3(path36.join(projectRoot, "node_modules", ".package.json"));
|
|
43898
43916
|
try {
|
|
43899
|
-
const req = createRequire3(import.meta.url);
|
|
43900
43917
|
const backendPkgPath = req.resolve("@semiont/backend/package.json");
|
|
43901
43918
|
const backendReq = createRequire3(backendPkgPath);
|
|
43902
43919
|
const mod = backendReq("@prisma/client");
|
|
@@ -43904,7 +43921,6 @@ function loadPrismaClient() {
|
|
|
43904
43921
|
} catch {
|
|
43905
43922
|
}
|
|
43906
43923
|
try {
|
|
43907
|
-
const req = createRequire3(import.meta.url);
|
|
43908
43924
|
const mod = req("@prisma/client");
|
|
43909
43925
|
return mod.PrismaClient;
|
|
43910
43926
|
} catch {
|
|
@@ -43965,7 +43981,7 @@ async function useradd(options) {
|
|
|
43965
43981
|
throw new Error("Incomplete database configuration: need POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB, and port");
|
|
43966
43982
|
}
|
|
43967
43983
|
const databaseUrl = `postgresql://${dbUser}:${dbPassword}@${dbHost}:${dbPort}/${dbName}`;
|
|
43968
|
-
const PrismaClient = loadPrismaClient();
|
|
43984
|
+
const PrismaClient = loadPrismaClient(projectRoot);
|
|
43969
43985
|
const prisma = new PrismaClient({
|
|
43970
43986
|
datasources: { db: { url: databaseUrl } }
|
|
43971
43987
|
});
|
|
@@ -44189,7 +44205,7 @@ function isCommandDefinition(obj) {
|
|
|
44189
44205
|
|
|
44190
44206
|
// src/core/service-discovery.ts
|
|
44191
44207
|
init_config_loader();
|
|
44192
|
-
import * as
|
|
44208
|
+
import * as path37 from "path";
|
|
44193
44209
|
import * as fs44 from "fs";
|
|
44194
44210
|
var BUILT_IN_SERVICES = ["frontend", "backend", "database", "filesystem"];
|
|
44195
44211
|
var environmentServicesCache = /* @__PURE__ */ new Map();
|
|
@@ -44199,7 +44215,7 @@ async function loadEnvironmentServices(environment) {
|
|
|
44199
44215
|
}
|
|
44200
44216
|
try {
|
|
44201
44217
|
const PROJECT_ROOT = findProjectRoot();
|
|
44202
|
-
const configPath =
|
|
44218
|
+
const configPath = path37.join(PROJECT_ROOT, "environments", `${environment}.json`);
|
|
44203
44219
|
if (!fs44.existsSync(configPath)) {
|
|
44204
44220
|
return [...BUILT_IN_SERVICES];
|
|
44205
44221
|
}
|
|
@@ -44234,7 +44250,7 @@ async function isValidService(service, environment) {
|
|
|
44234
44250
|
import { parseEnvironment as parseEnvironment2 } from "@semiont/core";
|
|
44235
44251
|
|
|
44236
44252
|
// src/core/service-resolver.ts
|
|
44237
|
-
import * as
|
|
44253
|
+
import * as path38 from "path";
|
|
44238
44254
|
import { ConfigurationError as ConfigurationError2 } from "@semiont/core";
|
|
44239
44255
|
function getServicePlatform(serviceName, config2) {
|
|
44240
44256
|
const environment = config2._metadata?.environment;
|
|
@@ -44282,7 +44298,7 @@ function resolveServiceDeployments(serviceNames, config2) {
|
|
|
44282
44298
|
const serviceConfig = config2.services?.[serviceName];
|
|
44283
44299
|
if (!serviceConfig) {
|
|
44284
44300
|
const availableServices = Object.keys(config2.services || {});
|
|
44285
|
-
const configPath =
|
|
44301
|
+
const configPath = path38.join(projectRoot, "environments", `${environment}.json`);
|
|
44286
44302
|
console.warn(`\u274C Service '${serviceName}' not found in environment '${environment}'`);
|
|
44287
44303
|
if (availableServices.length > 0) {
|
|
44288
44304
|
console.warn(` Available services: ${availableServices.join(", ")}`);
|
|
@@ -44321,7 +44337,7 @@ function resolveServiceDeployments(serviceNames, config2) {
|
|
|
44321
44337
|
// src/core/command-service-matcher.ts
|
|
44322
44338
|
init_service_factory();
|
|
44323
44339
|
init_service_command_capabilities();
|
|
44324
|
-
import * as
|
|
44340
|
+
import * as path39 from "path";
|
|
44325
44341
|
async function checkServiceSupportsCommand(serviceName, command, envConfig) {
|
|
44326
44342
|
try {
|
|
44327
44343
|
const projectRoot = envConfig._metadata?.projectRoot;
|
|
@@ -44405,7 +44421,7 @@ async function resolveServiceSelector(selector, capability, envConfig) {
|
|
|
44405
44421
|
if (!projectRoot) {
|
|
44406
44422
|
throw new Error("Project root is required in envConfig._metadata");
|
|
44407
44423
|
}
|
|
44408
|
-
const configPath =
|
|
44424
|
+
const configPath = path39.join(projectRoot, "environments", `${environment}.json`);
|
|
44409
44425
|
const errorMessage = [
|
|
44410
44426
|
`Unknown service '${selector}' in environment '${environment}'`,
|
|
44411
44427
|
`Available services: ${availableServices.join(", ")}`,
|
|
@@ -44901,14 +44917,14 @@ var OutputFormatter = class {
|
|
|
44901
44917
|
/**
|
|
44902
44918
|
* Get nested value from object using dot notation
|
|
44903
44919
|
*/
|
|
44904
|
-
static getNestedValue(obj,
|
|
44905
|
-
return
|
|
44920
|
+
static getNestedValue(obj, path40) {
|
|
44921
|
+
return path40.split(".").reduce((current, key) => current?.[key], obj);
|
|
44906
44922
|
}
|
|
44907
44923
|
/**
|
|
44908
44924
|
* Set nested value in object using dot notation
|
|
44909
44925
|
*/
|
|
44910
|
-
static setNestedValue(obj,
|
|
44911
|
-
const keys =
|
|
44926
|
+
static setNestedValue(obj, path40, value) {
|
|
44927
|
+
const keys = path40.split(".");
|
|
44912
44928
|
const lastKey = keys.pop();
|
|
44913
44929
|
const target = keys.reduce((current, key) => {
|
|
44914
44930
|
if (!(key in current)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semiont/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.46",
|
|
4
4
|
"description": "Semiont CLI - Unified environment management tool",
|
|
5
5
|
"_comment": "AWS SDK dependencies (@aws-sdk/*) are only used by platforms/aws",
|
|
6
6
|
"type": "module",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"@aws-sdk/client-secrets-manager": "^3.600.0",
|
|
65
65
|
"@aws-sdk/client-sts": "^3.859.0",
|
|
66
66
|
"@aws-sdk/client-wafv2": "^3.859.0",
|
|
67
|
-
"@semiont/api-client": "0.2.
|
|
68
|
-
"@semiont/core": "0.2.
|
|
67
|
+
"@semiont/api-client": "0.2.46",
|
|
68
|
+
"@semiont/core": "0.2.46",
|
|
69
69
|
"@testcontainers/postgresql": "^11.5.1",
|
|
70
70
|
"arg": "^5.0.2",
|
|
71
71
|
"argon2": "^0.43.0",
|