@promptdriven/pds 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -0
- package/bin/pds +6 -0
- package/dist/args/parser.d.ts +19 -0
- package/dist/args/parser.js +114 -0
- package/dist/args/parser.js.map +1 -0
- package/dist/client/api-client.d.ts +53 -0
- package/dist/client/api-client.js +469 -0
- package/dist/client/api-client.js.map +1 -0
- package/dist/client/types.d.ts +137 -0
- package/dist/client/types.js +3 -0
- package/dist/client/types.js.map +1 -0
- package/dist/commands/registry.d.ts +13 -0
- package/dist/commands/registry.js +987 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/config/config.d.ts +45 -0
- package/dist/config/config.js +145 -0
- package/dist/config/config.js.map +1 -0
- package/dist/errors/errors.d.ts +44 -0
- package/dist/errors/errors.js +203 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/main.d.ts +19 -0
- package/dist/main.js +248 -0
- package/dist/main.js.map +1 -0
- package/dist/output/output.d.ts +17 -0
- package/dist/output/output.js +90 -0
- package/dist/output/output.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/package.json +42 -0
package/dist/main.js
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.runCli = runCli;
|
|
37
|
+
exports.runFromProcess = runFromProcess;
|
|
38
|
+
const parser_1 = require("./args/parser");
|
|
39
|
+
const api_client_1 = require("./client/api-client");
|
|
40
|
+
const config_1 = require("./config/config");
|
|
41
|
+
const registry_1 = require("./commands/registry");
|
|
42
|
+
const errors_1 = require("./errors/errors");
|
|
43
|
+
const output_1 = require("./output/output");
|
|
44
|
+
const version_1 = require("./version");
|
|
45
|
+
async function runCli(argv, options = {}) {
|
|
46
|
+
const stdoutChunks = [];
|
|
47
|
+
const stderrChunks = [];
|
|
48
|
+
const stdout = createWriter(stdoutChunks, options.stdout);
|
|
49
|
+
const stderr = createWriter(stderrChunks, options.stderr);
|
|
50
|
+
let output = new output_1.Output({ stdout, stderr });
|
|
51
|
+
try {
|
|
52
|
+
const invocation = (0, parser_1.parseInvocation)(argv);
|
|
53
|
+
output = new output_1.Output({
|
|
54
|
+
json: invocation.globalOptions.json,
|
|
55
|
+
jsonl: invocation.globalOptions.jsonl,
|
|
56
|
+
verbose: invocation.globalOptions.verbose,
|
|
57
|
+
stdout,
|
|
58
|
+
stderr
|
|
59
|
+
});
|
|
60
|
+
if (invocation.globalOptions.version) {
|
|
61
|
+
stdout(`${version_1.PDS_CLIENT_VERSION}\n`);
|
|
62
|
+
return { exitCode: 0, stdout: stdoutChunks.join(""), stderr: stderrChunks.join("") };
|
|
63
|
+
}
|
|
64
|
+
const env = options.env ?? process.env;
|
|
65
|
+
const config = await (0, config_1.loadConfig)({
|
|
66
|
+
configRoot: options.configRoot,
|
|
67
|
+
env,
|
|
68
|
+
flags: invocation.globalOptions
|
|
69
|
+
});
|
|
70
|
+
const client = options.clientFactory?.(config) ?? new api_client_1.PdsApiClient({
|
|
71
|
+
apiUrl: config.apiUrl,
|
|
72
|
+
token: config.token,
|
|
73
|
+
timeoutMs: config.timeoutMs
|
|
74
|
+
});
|
|
75
|
+
if (requiresVersionNegotiation(invocation.commandPath)) {
|
|
76
|
+
await negotiateAgentVersion(client, invocation.commandPath);
|
|
77
|
+
}
|
|
78
|
+
const result = await (0, registry_1.dispatchCommand)(invocation.commandPath, invocation.commandArgs, {
|
|
79
|
+
client,
|
|
80
|
+
config,
|
|
81
|
+
configRoot: options.configRoot,
|
|
82
|
+
env,
|
|
83
|
+
emitJsonlEvent: invocation.globalOptions.jsonl ? (event) => output.event(event) : undefined,
|
|
84
|
+
notice: !invocation.globalOptions.json && !invocation.globalOptions.jsonl
|
|
85
|
+
? (text) => stderr(`${text}\n`)
|
|
86
|
+
: undefined,
|
|
87
|
+
openUrl: !invocation.globalOptions.json && !invocation.globalOptions.jsonl
|
|
88
|
+
? options.openUrl ?? defaultOpenUrl(env)
|
|
89
|
+
: undefined,
|
|
90
|
+
sleep: options.sleep ?? delay
|
|
91
|
+
});
|
|
92
|
+
output.final(result);
|
|
93
|
+
return { exitCode: 0, stdout: stdoutChunks.join(""), stderr: stderrChunks.join("") };
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
const cliError = output.error(error);
|
|
97
|
+
return { exitCode: cliError.exitCode, stdout: stdoutChunks.join(""), stderr: stderrChunks.join("") };
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function defaultOpenUrl(env) {
|
|
101
|
+
if (parseEnvBoolean(env.PDS_NO_BROWSER) || parseEnvBoolean(env.CI)) {
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
return async (url) => {
|
|
105
|
+
try {
|
|
106
|
+
const { spawn } = await Promise.resolve().then(() => __importStar(require("node:child_process")));
|
|
107
|
+
const command = process.platform === "darwin"
|
|
108
|
+
? "open"
|
|
109
|
+
: process.platform === "win32"
|
|
110
|
+
? "cmd"
|
|
111
|
+
: "xdg-open";
|
|
112
|
+
const args = process.platform === "win32"
|
|
113
|
+
? ["/c", "start", "", url]
|
|
114
|
+
: [url];
|
|
115
|
+
const child = spawn(command, args, {
|
|
116
|
+
detached: true,
|
|
117
|
+
stdio: "ignore"
|
|
118
|
+
});
|
|
119
|
+
child.unref();
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// Printing the verification URL is sufficient when auto-open fails.
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
const VERSION_NEGOTIATED_COMMANDS = new Set([
|
|
127
|
+
"auth login",
|
|
128
|
+
"auth token create",
|
|
129
|
+
"auth token revoke",
|
|
130
|
+
"projects create",
|
|
131
|
+
"script set",
|
|
132
|
+
"pipeline run",
|
|
133
|
+
"project reset-pipeline",
|
|
134
|
+
"jobs cancel",
|
|
135
|
+
"distribution generate",
|
|
136
|
+
"distribution connections list",
|
|
137
|
+
"distribution connection select",
|
|
138
|
+
"distribution publish",
|
|
139
|
+
"release-video create",
|
|
140
|
+
"release-video status"
|
|
141
|
+
]);
|
|
142
|
+
function requiresVersionNegotiation(commandPath) {
|
|
143
|
+
return VERSION_NEGOTIATED_COMMANDS.has(commandPath.join(" "));
|
|
144
|
+
}
|
|
145
|
+
async function negotiateAgentVersion(client, commandPath) {
|
|
146
|
+
const response = await client.getVersion();
|
|
147
|
+
const record = isRecord(response) ? response : {};
|
|
148
|
+
const apiVersion = typeof record.apiVersion === "string" ? record.apiVersion : "";
|
|
149
|
+
if (apiVersion !== version_1.PDS_API_VERSION) {
|
|
150
|
+
throw new errors_1.ApiError("Unsupported PDS agent API version", {
|
|
151
|
+
code: "api_version_unsupported",
|
|
152
|
+
status: 409,
|
|
153
|
+
exitCode: errors_1.EXIT_CODES.apiVersionMismatch,
|
|
154
|
+
details: {
|
|
155
|
+
requestedApiVersion: version_1.PDS_API_VERSION,
|
|
156
|
+
supportedApiVersion: apiVersion || null
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
if (commandPath.join(" ") === "project reset-pipeline") {
|
|
161
|
+
const features = isRecord(record.features) ? record.features : {};
|
|
162
|
+
if (features.projectResetPipeline !== true) {
|
|
163
|
+
throw new errors_1.ApiError("PDS server does not support project reset-pipeline", {
|
|
164
|
+
code: "api_version_unsupported",
|
|
165
|
+
status: 409,
|
|
166
|
+
exitCode: errors_1.EXIT_CODES.apiVersionMismatch,
|
|
167
|
+
details: {
|
|
168
|
+
feature: "projectResetPipeline"
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (commandPath.join(" ") === "release-video create" || commandPath.join(" ") === "release-video status") {
|
|
174
|
+
const features = isRecord(record.features) ? record.features : {};
|
|
175
|
+
if (features.releaseVideo !== true) {
|
|
176
|
+
throw new errors_1.ApiError("PDS server does not support release-video", {
|
|
177
|
+
code: "api_version_unsupported",
|
|
178
|
+
status: 409,
|
|
179
|
+
exitCode: errors_1.EXIT_CODES.apiVersionMismatch,
|
|
180
|
+
details: {
|
|
181
|
+
feature: "releaseVideo"
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (commandPath.join(" ") === "distribution connections list" || commandPath.join(" ") === "distribution connection select") {
|
|
187
|
+
const features = isRecord(record.features) ? record.features : {};
|
|
188
|
+
if (features.distributionConnections !== true) {
|
|
189
|
+
throw new errors_1.ApiError("PDS server does not support distribution connection selection", {
|
|
190
|
+
code: "api_version_unsupported",
|
|
191
|
+
status: 409,
|
|
192
|
+
exitCode: errors_1.EXIT_CODES.apiVersionMismatch,
|
|
193
|
+
details: {
|
|
194
|
+
feature: "distributionConnections"
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
const minClientVersion = typeof record.minClientVersion === "string" ? record.minClientVersion : "";
|
|
200
|
+
if (minClientVersion && compareDottedVersions(version_1.PDS_CLIENT_VERSION, minClientVersion) < 0) {
|
|
201
|
+
throw new errors_1.ApiError("PDS CLI version is older than the server minimum", {
|
|
202
|
+
code: "api_version_unsupported",
|
|
203
|
+
status: 409,
|
|
204
|
+
exitCode: errors_1.EXIT_CODES.apiVersionMismatch,
|
|
205
|
+
details: {
|
|
206
|
+
clientVersion: version_1.PDS_CLIENT_VERSION,
|
|
207
|
+
minClientVersion
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
function compareDottedVersions(left, right) {
|
|
213
|
+
const leftParts = left.split(".").map((part) => Number.parseInt(part, 10));
|
|
214
|
+
const rightParts = right.split(".").map((part) => Number.parseInt(part, 10));
|
|
215
|
+
const length = Math.max(leftParts.length, rightParts.length);
|
|
216
|
+
for (let index = 0; index < length; index += 1) {
|
|
217
|
+
const leftPart = Number.isFinite(leftParts[index]) ? leftParts[index] : 0;
|
|
218
|
+
const rightPart = Number.isFinite(rightParts[index]) ? rightParts[index] : 0;
|
|
219
|
+
if (leftPart !== rightPart) {
|
|
220
|
+
return leftPart < rightPart ? -1 : 1;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return 0;
|
|
224
|
+
}
|
|
225
|
+
function isRecord(value) {
|
|
226
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
227
|
+
}
|
|
228
|
+
function parseEnvBoolean(value) {
|
|
229
|
+
return /^(1|true|yes|on)$/i.test(value ?? "");
|
|
230
|
+
}
|
|
231
|
+
function delay(ms) {
|
|
232
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
233
|
+
}
|
|
234
|
+
async function runFromProcess() {
|
|
235
|
+
const result = await runCli(process.argv.slice(2), {
|
|
236
|
+
env: process.env,
|
|
237
|
+
stdout: (text) => process.stdout.write(text),
|
|
238
|
+
stderr: (text) => process.stderr.write(text)
|
|
239
|
+
});
|
|
240
|
+
process.exitCode = result.exitCode;
|
|
241
|
+
}
|
|
242
|
+
function createWriter(chunks, writer) {
|
|
243
|
+
return (text) => {
|
|
244
|
+
chunks.push(text);
|
|
245
|
+
writer?.(text);
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CliError } from "../errors/errors";
|
|
2
|
+
export type WriteFn = (text: string) => void;
|
|
3
|
+
export type OutputOptions = {
|
|
4
|
+
json?: boolean;
|
|
5
|
+
jsonl?: boolean;
|
|
6
|
+
verbose?: boolean;
|
|
7
|
+
stdout: WriteFn;
|
|
8
|
+
stderr: WriteFn;
|
|
9
|
+
};
|
|
10
|
+
export declare class Output {
|
|
11
|
+
private readonly options;
|
|
12
|
+
constructor(options: OutputOptions);
|
|
13
|
+
progress(event: Record<string, unknown>, humanText?: string): void;
|
|
14
|
+
event(event: unknown): void;
|
|
15
|
+
final(value: unknown, humanText?: string): void;
|
|
16
|
+
error(error: unknown): CliError;
|
|
17
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Output = void 0;
|
|
4
|
+
const errors_1 = require("../errors/errors");
|
|
5
|
+
class Output {
|
|
6
|
+
options;
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.options = options;
|
|
9
|
+
}
|
|
10
|
+
progress(event, humanText) {
|
|
11
|
+
if (this.options.jsonl) {
|
|
12
|
+
this.options.stdout(`${JSON.stringify({ type: "progress", ...(0, errors_1.redactSecrets)(event) })}\n`);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (this.options.verbose && humanText) {
|
|
16
|
+
this.options.stderr(`${humanText}\n`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
event(event) {
|
|
20
|
+
if (this.options.jsonl) {
|
|
21
|
+
this.options.stdout(`${JSON.stringify((0, errors_1.redactSecrets)(event))}\n`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
final(value, humanText) {
|
|
25
|
+
if (this.options.json) {
|
|
26
|
+
this.options.stdout(`${JSON.stringify(redactForFinalOutput(value))}\n`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (this.options.jsonl) {
|
|
30
|
+
const events = readJsonlEvents(value);
|
|
31
|
+
if (events) {
|
|
32
|
+
for (const event of events) {
|
|
33
|
+
this.options.stdout(`${JSON.stringify((0, errors_1.redactSecrets)(event))}\n`);
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.options.stdout(`${JSON.stringify({ type: "result", result: (0, errors_1.redactSecrets)(value) })}\n`);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (humanText !== undefined) {
|
|
41
|
+
this.options.stdout(`${humanText}\n`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (typeof value === "string") {
|
|
45
|
+
this.options.stdout(`${value}\n`);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.options.stdout(`${JSON.stringify((0, errors_1.redactSecrets)(value), null, 2)}\n`);
|
|
49
|
+
}
|
|
50
|
+
error(error) {
|
|
51
|
+
const cliError = (0, errors_1.toCliError)(error);
|
|
52
|
+
const payload = {
|
|
53
|
+
ok: false,
|
|
54
|
+
error: {
|
|
55
|
+
code: cliError.code,
|
|
56
|
+
message: cliError.message,
|
|
57
|
+
details: (0, errors_1.redactSecrets)(cliError.details)
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
if (this.options.json) {
|
|
61
|
+
this.options.stdout(`${JSON.stringify(payload)}\n`);
|
|
62
|
+
}
|
|
63
|
+
else if (this.options.jsonl) {
|
|
64
|
+
this.options.stdout(`${JSON.stringify({ type: "error", ...payload })}\n`);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.options.stderr(`Error: ${cliError.message}\n`);
|
|
68
|
+
}
|
|
69
|
+
return cliError;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.Output = Output;
|
|
73
|
+
function readJsonlEvents(value) {
|
|
74
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
const events = value.events;
|
|
78
|
+
return Array.isArray(events) ? events : null;
|
|
79
|
+
}
|
|
80
|
+
function redactForFinalOutput(value) {
|
|
81
|
+
return (0, errors_1.redactSecrets)(value, {
|
|
82
|
+
allowCreatedTokenRawToken: true,
|
|
83
|
+
allowTopLevelRawToken: Boolean(value) &&
|
|
84
|
+
typeof value === "object" &&
|
|
85
|
+
!Array.isArray(value) &&
|
|
86
|
+
typeof value.rawToken === "string" &&
|
|
87
|
+
Boolean(value.token),
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/output/output.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,OAAO,CAAC;AAC7B,QAAA,eAAe,GAAG,YAAY,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@promptdriven/pds",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Prompt Driven Studio command-line interface for agent and CI automation.",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"homepage": "https://video.promptdriven.ai/agents/cli",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/promptdriven/Generative-Video-Studio/issues"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/promptdriven/Generative-Video-Studio.git",
|
|
13
|
+
"directory": "cli/pds"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"prompt-driven-studio",
|
|
17
|
+
"pds",
|
|
18
|
+
"cli",
|
|
19
|
+
"automation"
|
|
20
|
+
],
|
|
21
|
+
"type": "commonjs",
|
|
22
|
+
"bin": {
|
|
23
|
+
"pds": "bin/pds"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"README.md",
|
|
27
|
+
"bin/",
|
|
28
|
+
"dist/"
|
|
29
|
+
],
|
|
30
|
+
"engines": {
|
|
31
|
+
"node": ">=20"
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "tsc -p tsconfig.json",
|
|
38
|
+
"pack:check": "npm run build && npm pack --dry-run",
|
|
39
|
+
"smoke:pack": "npm run build && node scripts/smoke-pack.mjs",
|
|
40
|
+
"test": "tsc -p tsconfig.test.json && node --test \"dist-test/**/*.test.js\""
|
|
41
|
+
}
|
|
42
|
+
}
|