spell-runtime 1.0.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/LICENSE +21 -0
- package/README.md +136 -0
- package/README.txt +126 -0
- package/dist/bundle/install.d.ts +7 -0
- package/dist/bundle/install.js +99 -0
- package/dist/bundle/install.js.map +1 -0
- package/dist/bundle/manifest.d.ts +5 -0
- package/dist/bundle/manifest.js +267 -0
- package/dist/bundle/manifest.js.map +1 -0
- package/dist/bundle/store.d.ts +16 -0
- package/dist/bundle/store.js +129 -0
- package/dist/bundle/store.js.map +1 -0
- package/dist/checks/evaluate.d.ts +2 -0
- package/dist/checks/evaluate.js +107 -0
- package/dist/checks/evaluate.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +144 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/logging/executionLog.d.ts +3 -0
- package/dist/logging/executionLog.js +31 -0
- package/dist/logging/executionLog.js.map +1 -0
- package/dist/runner/cast.d.ts +7 -0
- package/dist/runner/cast.js +117 -0
- package/dist/runner/cast.js.map +1 -0
- package/dist/runner/hostRunner.d.ts +5 -0
- package/dist/runner/hostRunner.js +41 -0
- package/dist/runner/hostRunner.js.map +1 -0
- package/dist/runner/input.d.ts +2 -0
- package/dist/runner/input.js +42 -0
- package/dist/runner/input.js.map +1 -0
- package/dist/runner/summary.d.ts +2 -0
- package/dist/runner/summary.js +31 -0
- package/dist/runner/summary.js.map +1 -0
- package/dist/steps/httpStep.d.ts +7 -0
- package/dist/steps/httpStep.js +100 -0
- package/dist/steps/httpStep.js.map +1 -0
- package/dist/steps/shellStep.d.ts +7 -0
- package/dist/steps/shellStep.js +48 -0
- package/dist/steps/shellStep.js.map +1 -0
- package/dist/types.d.ts +105 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/util/errors.d.ts +3 -0
- package/dist/util/errors.js +11 -0
- package/dist/util/errors.js.map +1 -0
- package/dist/util/http.d.ts +6 -0
- package/dist/util/http.js +11 -0
- package/dist/util/http.js.map +1 -0
- package/dist/util/idKey.d.ts +2 -0
- package/dist/util/idKey.js +11 -0
- package/dist/util/idKey.js.map +1 -0
- package/dist/util/object.d.ts +7 -0
- package/dist/util/object.js +62 -0
- package/dist/util/object.js.map +1 -0
- package/dist/util/outputs.d.ts +1 -0
- package/dist/util/outputs.js +28 -0
- package/dist/util/outputs.js.map +1 -0
- package/dist/util/paths.d.ts +4 -0
- package/dist/util/paths.js +26 -0
- package/dist/util/paths.js.map +1 -0
- package/dist/util/platform.d.ts +1 -0
- package/dist/util/platform.js +7 -0
- package/dist/util/platform.js.map +1 -0
- package/dist/util/template.d.ts +1 -0
- package/dist/util/template.js +61 -0
- package/dist/util/template.js.map +1 -0
- package/dist/util/version.d.ts +2 -0
- package/dist/util/version.js +35 -0
- package/dist/util/version.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/bundle/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LoadedBundle, SpellBundleManifest } from "../types";
|
|
2
|
+
export interface InstalledSpellInfo {
|
|
3
|
+
id: string;
|
|
4
|
+
version: string;
|
|
5
|
+
name: string;
|
|
6
|
+
risk: string;
|
|
7
|
+
billingEnabled: boolean;
|
|
8
|
+
runtimeExecution: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function resolveInstalledBundle(id: string, version?: string): Promise<LoadedBundle>;
|
|
11
|
+
export declare function listInstalledSpells(): Promise<InstalledSpellInfo[]>;
|
|
12
|
+
export declare function summarizeSchema(schema: unknown): {
|
|
13
|
+
required: string[];
|
|
14
|
+
keyTypes: string[];
|
|
15
|
+
};
|
|
16
|
+
export declare function readSchemaFromManifest(manifest: SpellBundleManifest, bundlePath: string): Promise<unknown>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveInstalledBundle = resolveInstalledBundle;
|
|
7
|
+
exports.listInstalledSpells = listInstalledSpells;
|
|
8
|
+
exports.summarizeSchema = summarizeSchema;
|
|
9
|
+
exports.readSchemaFromManifest = readSchemaFromManifest;
|
|
10
|
+
const promises_1 = require("node:fs/promises");
|
|
11
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
+
const errors_1 = require("../util/errors");
|
|
13
|
+
const idKey_1 = require("../util/idKey");
|
|
14
|
+
const paths_1 = require("../util/paths");
|
|
15
|
+
const version_1 = require("../util/version");
|
|
16
|
+
const manifest_1 = require("./manifest");
|
|
17
|
+
async function resolveInstalledBundle(id, version) {
|
|
18
|
+
const idKey = (0, idKey_1.toIdKey)(id);
|
|
19
|
+
const idRoot = node_path_1.default.join((0, paths_1.spellsRoot)(), idKey);
|
|
20
|
+
await (0, promises_1.access)(idRoot).catch(() => {
|
|
21
|
+
throw new errors_1.SpellError(`spell not installed: ${id}`);
|
|
22
|
+
});
|
|
23
|
+
const idFile = node_path_1.default.join(idRoot, "spell.id.txt");
|
|
24
|
+
await (0, promises_1.access)(idFile).catch(() => {
|
|
25
|
+
throw new errors_1.SpellError(`missing spell.id.txt for ${id}`);
|
|
26
|
+
});
|
|
27
|
+
const persistedId = (await (0, promises_1.readFile)(idFile, "utf8")).trim();
|
|
28
|
+
if (persistedId !== id) {
|
|
29
|
+
throw new errors_1.SpellError(`id mismatch in spell.id.txt: expected '${id}', found '${persistedId}'`);
|
|
30
|
+
}
|
|
31
|
+
const versions = await listVersionDirs(idRoot);
|
|
32
|
+
if (versions.length === 0) {
|
|
33
|
+
throw new errors_1.SpellError(`no versions installed for: ${id}`);
|
|
34
|
+
}
|
|
35
|
+
const chosenVersion = version ?? (0, version_1.selectLatestVersion)(versions);
|
|
36
|
+
if (!versions.includes(chosenVersion)) {
|
|
37
|
+
throw new errors_1.SpellError(`version not installed for ${id}: ${chosenVersion}`);
|
|
38
|
+
}
|
|
39
|
+
const bundlePath = node_path_1.default.join(idRoot, chosenVersion);
|
|
40
|
+
const loaded = await (0, manifest_1.loadManifestFromDir)(bundlePath);
|
|
41
|
+
if (loaded.manifest.id !== id) {
|
|
42
|
+
throw new errors_1.SpellError(`manifest id mismatch: expected '${id}', found '${loaded.manifest.id}'`);
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
manifest: loaded.manifest,
|
|
46
|
+
schemaPath: loaded.schemaPath,
|
|
47
|
+
bundlePath,
|
|
48
|
+
idKey
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async function listInstalledSpells() {
|
|
52
|
+
const root = (0, paths_1.spellsRoot)();
|
|
53
|
+
await (0, promises_1.access)(root).catch(() => {
|
|
54
|
+
return;
|
|
55
|
+
});
|
|
56
|
+
let idKeys;
|
|
57
|
+
try {
|
|
58
|
+
idKeys = await (0, promises_1.readdir)(root);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
const entries = [];
|
|
64
|
+
for (const idKey of idKeys) {
|
|
65
|
+
const idRoot = node_path_1.default.join(root, idKey);
|
|
66
|
+
const idFile = node_path_1.default.join(idRoot, "spell.id.txt");
|
|
67
|
+
const id = (await (0, promises_1.readFile)(idFile, "utf8")).trim();
|
|
68
|
+
const versions = await listVersionDirs(idRoot);
|
|
69
|
+
for (const version of versions) {
|
|
70
|
+
const bundlePath = node_path_1.default.join(idRoot, version);
|
|
71
|
+
const { manifest } = await (0, manifest_1.loadManifestFromDir)(bundlePath);
|
|
72
|
+
if (manifest.id !== id) {
|
|
73
|
+
throw new errors_1.SpellError(`id mismatch under ${idRoot}: spell.id.txt='${id}', spell.yaml.id='${manifest.id}'`);
|
|
74
|
+
}
|
|
75
|
+
entries.push({
|
|
76
|
+
id: manifest.id,
|
|
77
|
+
version: manifest.version,
|
|
78
|
+
name: manifest.name,
|
|
79
|
+
risk: manifest.risk,
|
|
80
|
+
billingEnabled: manifest.billing.enabled,
|
|
81
|
+
runtimeExecution: manifest.runtime.execution
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return entries.sort((a, b) => {
|
|
86
|
+
if (a.id === b.id) {
|
|
87
|
+
return b.version.localeCompare(a.version);
|
|
88
|
+
}
|
|
89
|
+
return a.id.localeCompare(b.id);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
function summarizeSchema(schema) {
|
|
93
|
+
if (!schema || typeof schema !== "object" || Array.isArray(schema)) {
|
|
94
|
+
return { required: [], keyTypes: [] };
|
|
95
|
+
}
|
|
96
|
+
const obj = schema;
|
|
97
|
+
const required = Array.isArray(obj.required) ? obj.required.filter((x) => typeof x === "string") : [];
|
|
98
|
+
const keyTypes = [];
|
|
99
|
+
const properties = obj.properties;
|
|
100
|
+
if (properties && typeof properties === "object" && !Array.isArray(properties)) {
|
|
101
|
+
for (const [k, v] of Object.entries(properties)) {
|
|
102
|
+
if (!v || typeof v !== "object" || Array.isArray(v)) {
|
|
103
|
+
keyTypes.push(`${k}: unknown`);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const typeVal = v.type;
|
|
107
|
+
const typeString = Array.isArray(typeVal)
|
|
108
|
+
? typeVal.filter((x) => typeof x === "string").join("|")
|
|
109
|
+
: typeof typeVal === "string"
|
|
110
|
+
? typeVal
|
|
111
|
+
: "unknown";
|
|
112
|
+
keyTypes.push(`${k}: ${typeString}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return { required, keyTypes };
|
|
116
|
+
}
|
|
117
|
+
async function listVersionDirs(idRoot) {
|
|
118
|
+
const entries = await (0, promises_1.readdir)(idRoot, { withFileTypes: true });
|
|
119
|
+
return entries
|
|
120
|
+
.filter((entry) => entry.isDirectory())
|
|
121
|
+
.map((entry) => entry.name)
|
|
122
|
+
.filter((name) => name !== "." && name !== "..");
|
|
123
|
+
}
|
|
124
|
+
async function readSchemaFromManifest(manifest, bundlePath) {
|
|
125
|
+
const schemaPath = node_path_1.default.resolve(bundlePath, manifest.inputs_schema);
|
|
126
|
+
const raw = await (0, promises_1.readFile)(schemaPath, "utf8");
|
|
127
|
+
return JSON.parse(raw);
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/bundle/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.evaluateChecks = evaluateChecks;
|
|
7
|
+
const promises_1 = require("node:fs/promises");
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const errors_1 = require("../util/errors");
|
|
10
|
+
const object_1 = require("../util/object");
|
|
11
|
+
const outputs_1 = require("../util/outputs");
|
|
12
|
+
const http_1 = require("../util/http");
|
|
13
|
+
async function evaluateChecks(checks, bundlePath, outputs, stepsSucceeded) {
|
|
14
|
+
const results = [];
|
|
15
|
+
for (const check of checks) {
|
|
16
|
+
if (check.type === "exit_code") {
|
|
17
|
+
results.push({
|
|
18
|
+
type: check.type,
|
|
19
|
+
success: stepsSucceeded,
|
|
20
|
+
message: stepsSucceeded ? "all steps succeeded" : "some step failed"
|
|
21
|
+
});
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (check.type === "file_exists") {
|
|
25
|
+
const p = readRequiredString(check.params, "path", "file_exists.params.path");
|
|
26
|
+
const target = node_path_1.default.isAbsolute(p) ? p : node_path_1.default.resolve(bundlePath, p);
|
|
27
|
+
const exists = await (0, promises_1.access)(target)
|
|
28
|
+
.then(() => true)
|
|
29
|
+
.catch(() => false);
|
|
30
|
+
results.push({
|
|
31
|
+
type: check.type,
|
|
32
|
+
success: exists,
|
|
33
|
+
message: exists ? `file exists: ${target}` : `file missing: ${target}`
|
|
34
|
+
});
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (check.type === "http_status") {
|
|
38
|
+
const expect = readRequiredNumber(check.params, "expect", "http_status.params.expect");
|
|
39
|
+
const explicitUrl = readOptionalString(check.params, "url");
|
|
40
|
+
const ref = readOptionalString(check.params, "url_from_output");
|
|
41
|
+
const resolvedUrl = explicitUrl ?? (ref ? resolveHttpUrlFromOutput(outputs, ref) : undefined);
|
|
42
|
+
if (!resolvedUrl) {
|
|
43
|
+
throw new errors_1.SpellError("http_status check needs params.url or params.url_from_output");
|
|
44
|
+
}
|
|
45
|
+
const response = await (0, http_1.fetchHttp)(resolvedUrl);
|
|
46
|
+
const ok = response.status === expect;
|
|
47
|
+
results.push({
|
|
48
|
+
type: check.type,
|
|
49
|
+
success: ok,
|
|
50
|
+
message: ok
|
|
51
|
+
? `http status matched: ${response.status}`
|
|
52
|
+
: `http status mismatch: got ${response.status}, expected ${expect}`
|
|
53
|
+
});
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (check.type === "jsonpath_equals") {
|
|
57
|
+
const fromOutput = readRequiredString(check.params, "from_output", "jsonpath_equals.params.from_output");
|
|
58
|
+
const pathValue = readRequiredString(check.params, "path", "jsonpath_equals.params.path");
|
|
59
|
+
const expected = check.params.expected;
|
|
60
|
+
const source = (0, outputs_1.resolveOutputReference)(outputs, fromOutput);
|
|
61
|
+
const actual = (0, object_1.getByDotPath)(source, pathValue);
|
|
62
|
+
const ok = actual === expected;
|
|
63
|
+
results.push({
|
|
64
|
+
type: check.type,
|
|
65
|
+
success: ok,
|
|
66
|
+
message: ok
|
|
67
|
+
? `jsonpath matched: ${pathValue}`
|
|
68
|
+
: `jsonpath mismatch at ${pathValue}: expected ${String(expected)}, got ${String(actual)}`
|
|
69
|
+
});
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
throw new errors_1.SpellError(`unsupported check type: ${check.type}`);
|
|
73
|
+
}
|
|
74
|
+
return results;
|
|
75
|
+
}
|
|
76
|
+
function resolveHttpUrlFromOutput(outputs, ref) {
|
|
77
|
+
const resolved = (0, outputs_1.resolveOutputReference)(outputs, ref);
|
|
78
|
+
if (typeof resolved !== "string") {
|
|
79
|
+
throw new errors_1.SpellError(`http_status url_from_output must resolve to string: ${ref}`);
|
|
80
|
+
}
|
|
81
|
+
return resolved;
|
|
82
|
+
}
|
|
83
|
+
function readRequiredString(source, key, label) {
|
|
84
|
+
const value = source[key];
|
|
85
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
86
|
+
throw new errors_1.SpellError(`missing required string: ${label}`);
|
|
87
|
+
}
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
90
|
+
function readOptionalString(source, key) {
|
|
91
|
+
const value = source[key];
|
|
92
|
+
if (value === undefined) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
96
|
+
throw new errors_1.SpellError(`invalid string for ${key}`);
|
|
97
|
+
}
|
|
98
|
+
return value;
|
|
99
|
+
}
|
|
100
|
+
function readRequiredNumber(source, key, label) {
|
|
101
|
+
const value = source[key];
|
|
102
|
+
if (typeof value !== "number" || Number.isNaN(value)) {
|
|
103
|
+
throw new errors_1.SpellError(`missing required number: ${label}`);
|
|
104
|
+
}
|
|
105
|
+
return value;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=evaluate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/checks/evaluate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.runCli = runCli;
|
|
8
|
+
const promises_1 = require("node:fs/promises");
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const commander_1 = require("commander");
|
|
11
|
+
const install_1 = require("../bundle/install");
|
|
12
|
+
const store_1 = require("../bundle/store");
|
|
13
|
+
const cast_1 = require("../runner/cast");
|
|
14
|
+
const errors_1 = require("../util/errors");
|
|
15
|
+
const paths_1 = require("../util/paths");
|
|
16
|
+
async function runCli(argv = process.argv) {
|
|
17
|
+
const program = new commander_1.Command();
|
|
18
|
+
program
|
|
19
|
+
.name("spell")
|
|
20
|
+
.description("Minimal runtime for SpellBundle v1")
|
|
21
|
+
.showHelpAfterError(true);
|
|
22
|
+
program
|
|
23
|
+
.command("install")
|
|
24
|
+
.description("Install a local spell bundle")
|
|
25
|
+
.argument("<local-path>", "Path to local spell bundle")
|
|
26
|
+
.action(async (localPath) => {
|
|
27
|
+
const result = await (0, install_1.installBundle)(localPath);
|
|
28
|
+
process.stdout.write(`${result.id}@${result.version}\n`);
|
|
29
|
+
});
|
|
30
|
+
program
|
|
31
|
+
.command("list")
|
|
32
|
+
.description("List installed spells")
|
|
33
|
+
.action(async () => {
|
|
34
|
+
const spells = await (0, store_1.listInstalledSpells)();
|
|
35
|
+
if (spells.length === 0) {
|
|
36
|
+
process.stdout.write("No spells installed\n");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
process.stdout.write("id@version\tname\trisk\tbilling.enabled\truntime.execution\n");
|
|
40
|
+
for (const spell of spells) {
|
|
41
|
+
process.stdout.write(`${spell.id}@${spell.version}\t${spell.name}\t${spell.risk}\t${spell.billingEnabled}\t${spell.runtimeExecution}\n`);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
program
|
|
45
|
+
.command("inspect")
|
|
46
|
+
.description("Inspect installed spell")
|
|
47
|
+
.argument("<id>", "Spell id")
|
|
48
|
+
.option("--version <version>", "Specific version")
|
|
49
|
+
.action(async (id, options) => {
|
|
50
|
+
const loaded = await (0, store_1.resolveInstalledBundle)(id, options.version);
|
|
51
|
+
const schema = await (0, store_1.readSchemaFromManifest)(loaded.manifest, loaded.bundlePath);
|
|
52
|
+
const schemaSummary = (0, store_1.summarizeSchema)(schema);
|
|
53
|
+
const manifest = loaded.manifest;
|
|
54
|
+
process.stdout.write(`識別\n`);
|
|
55
|
+
process.stdout.write(` id@version: ${manifest.id}@${manifest.version}\n`);
|
|
56
|
+
process.stdout.write(` name: ${manifest.name}\n`);
|
|
57
|
+
process.stdout.write(` summary: ${manifest.summary}\n`);
|
|
58
|
+
process.stdout.write("供物\n");
|
|
59
|
+
process.stdout.write(` required: ${schemaSummary.required.join(",") || "(none)"}\n`);
|
|
60
|
+
process.stdout.write(` key types: ${schemaSummary.keyTypes.join(",") || "(none)"}\n`);
|
|
61
|
+
process.stdout.write("鍵穴\n");
|
|
62
|
+
if (manifest.permissions.length === 0) {
|
|
63
|
+
process.stdout.write(" (none)\n");
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
for (const permission of manifest.permissions) {
|
|
67
|
+
process.stdout.write(` connector=${permission.connector} scopes=${permission.scopes.join(",")}\n`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
process.stdout.write("作用\n");
|
|
71
|
+
for (const effect of manifest.effects) {
|
|
72
|
+
process.stdout.write(` type=${effect.type} target=${effect.target} mutates=${effect.mutates}\n`);
|
|
73
|
+
}
|
|
74
|
+
process.stdout.write("代償\n");
|
|
75
|
+
process.stdout.write(` enabled=${manifest.billing.enabled} mode=${manifest.billing.mode} max_amount=${manifest.billing.max_amount} currency=${manifest.billing.currency}\n`);
|
|
76
|
+
process.stdout.write("実行\n");
|
|
77
|
+
process.stdout.write(` execution=${manifest.runtime.execution} docker_image=${manifest.runtime.docker_image ?? "-"} platforms=${manifest.runtime.platforms.join(",")}\n`);
|
|
78
|
+
process.stdout.write("封印\n");
|
|
79
|
+
for (const check of manifest.checks) {
|
|
80
|
+
process.stdout.write(` type=${check.type} params=${JSON.stringify(check.params)}\n`);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
program
|
|
84
|
+
.command("cast")
|
|
85
|
+
.description("Cast a spell")
|
|
86
|
+
.argument("<id>", "Spell id")
|
|
87
|
+
.option("--version <version>", "Specific version")
|
|
88
|
+
.option("-p, --param <key=value>", "Input override", collectParams, [])
|
|
89
|
+
.option("--input <file>", "Input JSON file")
|
|
90
|
+
.option("--dry-run", "Validate and summarize only", false)
|
|
91
|
+
.option("--yes", "Acknowledge high or critical risk", false)
|
|
92
|
+
.option("--allow-billing", "Allow billing-enabled spells", false)
|
|
93
|
+
.option("--verbose", "Verbose logs", false)
|
|
94
|
+
.option("--profile <name>", "Reserved for future use")
|
|
95
|
+
.action(async (id, options) => {
|
|
96
|
+
const result = await (0, cast_1.castSpell)({
|
|
97
|
+
id,
|
|
98
|
+
version: options.version,
|
|
99
|
+
paramPairs: options.param,
|
|
100
|
+
inputFile: options.input,
|
|
101
|
+
dryRun: options.dryRun,
|
|
102
|
+
yes: options.yes,
|
|
103
|
+
allowBilling: options.allowBilling,
|
|
104
|
+
verbose: options.verbose,
|
|
105
|
+
profile: options.profile
|
|
106
|
+
});
|
|
107
|
+
process.stdout.write(`execution_id: ${result.executionId}\n`);
|
|
108
|
+
process.stdout.write(`log: ${result.logPath}\n`);
|
|
109
|
+
});
|
|
110
|
+
program
|
|
111
|
+
.command("log")
|
|
112
|
+
.description("Show execution log")
|
|
113
|
+
.argument("<execution-id>", "Execution log file name")
|
|
114
|
+
.action(async (executionId) => {
|
|
115
|
+
const fileName = executionId.endsWith(".json") ? executionId : `${executionId}.json`;
|
|
116
|
+
const filePath = node_path_1.default.join((0, paths_1.logsRoot)(), fileName);
|
|
117
|
+
let raw;
|
|
118
|
+
try {
|
|
119
|
+
raw = await (0, promises_1.readFile)(filePath, "utf8");
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
throw new errors_1.SpellError(`log not found: ${executionId}`);
|
|
123
|
+
}
|
|
124
|
+
process.stdout.write(raw.endsWith("\n") ? raw : `${raw}\n`);
|
|
125
|
+
});
|
|
126
|
+
try {
|
|
127
|
+
await program.parseAsync(argv);
|
|
128
|
+
return 0;
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
132
|
+
process.stderr.write(`${message}\n`);
|
|
133
|
+
return 1;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function collectParams(value, previous) {
|
|
137
|
+
return [...previous, value];
|
|
138
|
+
}
|
|
139
|
+
if (require.main === module) {
|
|
140
|
+
runCli().then((code) => {
|
|
141
|
+
process.exitCode = code;
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.makeExecutionId = makeExecutionId;
|
|
7
|
+
exports.writeExecutionLog = writeExecutionLog;
|
|
8
|
+
const promises_1 = require("node:fs/promises");
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
const idKey_1 = require("../util/idKey");
|
|
11
|
+
const paths_1 = require("../util/paths");
|
|
12
|
+
function makeExecutionId(id, version, now = new Date()) {
|
|
13
|
+
const ts = toTimestamp(now);
|
|
14
|
+
return `${ts}_${(0, idKey_1.sanitizeIdForFilename)(id)}_${(0, idKey_1.sanitizeIdForFilename)(version)}.json`;
|
|
15
|
+
}
|
|
16
|
+
async function writeExecutionLog(log) {
|
|
17
|
+
await (0, paths_1.ensureSpellDirs)();
|
|
18
|
+
const filePath = node_path_1.default.join((0, paths_1.logsRoot)(), log.execution_id);
|
|
19
|
+
await (0, promises_1.writeFile)(filePath, `${JSON.stringify(log, null, 2)}\n`, "utf8");
|
|
20
|
+
return filePath;
|
|
21
|
+
}
|
|
22
|
+
function toTimestamp(date) {
|
|
23
|
+
const y = date.getUTCFullYear();
|
|
24
|
+
const m = String(date.getUTCMonth() + 1).padStart(2, "0");
|
|
25
|
+
const d = String(date.getUTCDate()).padStart(2, "0");
|
|
26
|
+
const hh = String(date.getUTCHours()).padStart(2, "0");
|
|
27
|
+
const mm = String(date.getUTCMinutes()).padStart(2, "0");
|
|
28
|
+
const ss = String(date.getUTCSeconds()).padStart(2, "0");
|
|
29
|
+
return `${y}${m}${d}T${hh}${mm}${ss}Z`;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=executionLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executionLog.js","sourceRoot":"","sources":["../../src/logging/executionLog.ts"],"names":[],"mappings":";;;;;AAMA,0CAGC;AAED,8CAKC;AAhBD,+CAA6C;AAC7C,0DAA6B;AAE7B,yCAAsD;AACtD,yCAA0D;AAE1D,SAAgB,eAAe,CAAC,EAAU,EAAE,OAAe,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IAC3E,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,GAAG,EAAE,IAAI,IAAA,6BAAqB,EAAC,EAAE,CAAC,IAAI,IAAA,6BAAqB,EAAC,OAAO,CAAC,OAAO,CAAC;AACrF,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,GAAiB;IACvD,MAAM,IAAA,uBAAe,GAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAA,gBAAQ,GAAE,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACzD,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,IAAU;IAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.castSpell = castSpell;
|
|
7
|
+
const pino_1 = __importDefault(require("pino"));
|
|
8
|
+
const evaluate_1 = require("../checks/evaluate");
|
|
9
|
+
const store_1 = require("../bundle/store");
|
|
10
|
+
const executionLog_1 = require("../logging/executionLog");
|
|
11
|
+
const errors_1 = require("../util/errors");
|
|
12
|
+
const platform_1 = require("../util/platform");
|
|
13
|
+
const input_1 = require("./input");
|
|
14
|
+
const hostRunner_1 = require("./hostRunner");
|
|
15
|
+
const summary_1 = require("./summary");
|
|
16
|
+
async function castSpell(options) {
|
|
17
|
+
const logger = (0, pino_1.default)({ level: options.verbose ? "debug" : "info" });
|
|
18
|
+
const startedAt = new Date().toISOString();
|
|
19
|
+
let executionId = (0, executionLog_1.makeExecutionId)(options.id, options.version ?? "latest");
|
|
20
|
+
const log = {
|
|
21
|
+
execution_id: executionId,
|
|
22
|
+
started_at: startedAt,
|
|
23
|
+
finished_at: startedAt,
|
|
24
|
+
id: options.id,
|
|
25
|
+
version: options.version ?? "latest",
|
|
26
|
+
input: {},
|
|
27
|
+
summary: {
|
|
28
|
+
risk: "low",
|
|
29
|
+
billing: {
|
|
30
|
+
enabled: false,
|
|
31
|
+
mode: "none",
|
|
32
|
+
currency: "USD",
|
|
33
|
+
max_amount: 0
|
|
34
|
+
},
|
|
35
|
+
runtime: {
|
|
36
|
+
execution: "host",
|
|
37
|
+
platforms: []
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
steps: [],
|
|
41
|
+
outputs: {},
|
|
42
|
+
checks: [],
|
|
43
|
+
success: false
|
|
44
|
+
};
|
|
45
|
+
try {
|
|
46
|
+
const loaded = await (0, store_1.resolveInstalledBundle)(options.id, options.version);
|
|
47
|
+
const { manifest, bundlePath } = loaded;
|
|
48
|
+
executionId = (0, executionLog_1.makeExecutionId)(manifest.id, manifest.version);
|
|
49
|
+
log.execution_id = executionId;
|
|
50
|
+
log.id = manifest.id;
|
|
51
|
+
log.version = manifest.version;
|
|
52
|
+
log.summary = {
|
|
53
|
+
risk: manifest.risk,
|
|
54
|
+
billing: manifest.billing,
|
|
55
|
+
runtime: manifest.runtime
|
|
56
|
+
};
|
|
57
|
+
const input = await (0, input_1.buildInput)(options.inputFile, options.paramPairs);
|
|
58
|
+
log.input = input;
|
|
59
|
+
const schema = await (0, store_1.readSchemaFromManifest)(manifest, bundlePath);
|
|
60
|
+
(0, input_1.validateInputAgainstSchema)(schema, input);
|
|
61
|
+
const hostPlatform = (0, platform_1.detectHostPlatform)();
|
|
62
|
+
if (!manifest.runtime.platforms.includes(hostPlatform)) {
|
|
63
|
+
throw new errors_1.SpellError(`platform mismatch: host=${hostPlatform}, spell supports=${manifest.runtime.platforms.join(",")}`);
|
|
64
|
+
}
|
|
65
|
+
if ((manifest.risk === "high" || manifest.risk === "critical") && !options.yes) {
|
|
66
|
+
throw new errors_1.SpellError(`risk ${manifest.risk} requires --yes`);
|
|
67
|
+
}
|
|
68
|
+
if (manifest.billing.enabled && !options.allowBilling) {
|
|
69
|
+
throw new errors_1.SpellError("billing enabled requires --allow-billing");
|
|
70
|
+
}
|
|
71
|
+
for (const permission of manifest.permissions) {
|
|
72
|
+
const tokenKey = `CONNECTOR_${permission.connector.toUpperCase().replace(/[^A-Z0-9]/g, "_")}_TOKEN`;
|
|
73
|
+
if (!process.env[tokenKey]) {
|
|
74
|
+
throw new errors_1.SpellError(`missing connector token ${tokenKey}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
process.stdout.write(`${(0, summary_1.renderExecutionSummary)(manifest)}\n`);
|
|
78
|
+
if (options.dryRun) {
|
|
79
|
+
log.success = true;
|
|
80
|
+
log.finished_at = new Date().toISOString();
|
|
81
|
+
const logPath = await (0, executionLog_1.writeExecutionLog)(log);
|
|
82
|
+
return {
|
|
83
|
+
executionId: executionId,
|
|
84
|
+
logPath,
|
|
85
|
+
outputs: {}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
if (manifest.runtime.execution === "docker") {
|
|
89
|
+
throw new errors_1.SpellError("docker execution is not supported in v1");
|
|
90
|
+
}
|
|
91
|
+
logger.debug({ id: manifest.id, version: manifest.version }, "starting host execution");
|
|
92
|
+
const runResult = await (0, hostRunner_1.runHost)(manifest, bundlePath, input);
|
|
93
|
+
log.steps = runResult.stepResults;
|
|
94
|
+
log.outputs = runResult.outputs;
|
|
95
|
+
const checkResults = await (0, evaluate_1.evaluateChecks)(manifest.checks, bundlePath, runResult.outputs, true);
|
|
96
|
+
log.checks = checkResults;
|
|
97
|
+
const failedChecks = checkResults.filter((entry) => !entry.success);
|
|
98
|
+
if (failedChecks.length > 0) {
|
|
99
|
+
throw new errors_1.SpellError(`check failed: ${failedChecks[0].message}`);
|
|
100
|
+
}
|
|
101
|
+
log.success = true;
|
|
102
|
+
log.finished_at = new Date().toISOString();
|
|
103
|
+
const logPath = await (0, executionLog_1.writeExecutionLog)(log);
|
|
104
|
+
return {
|
|
105
|
+
executionId,
|
|
106
|
+
logPath,
|
|
107
|
+
outputs: runResult.outputs
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
log.error = error.message;
|
|
112
|
+
log.finished_at = new Date().toISOString();
|
|
113
|
+
await (0, executionLog_1.writeExecutionLog)(log);
|
|
114
|
+
throw error;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=cast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cast.js","sourceRoot":"","sources":["../../src/runner/cast.ts"],"names":[],"mappings":";;;;;AAiBA,8BAwHC;AAzID,gDAAwB;AACxB,iDAAoD;AACpD,2CAAiF;AACjF,0DAA6E;AAE7E,2CAA4C;AAC5C,+CAAsD;AACtD,mCAAiE;AACjE,6CAAuC;AACvC,uCAAmD;AAQ5C,KAAK,UAAU,SAAS,CAAC,OAAoB;IAClD,MAAM,MAAM,GAAG,IAAA,cAAI,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,WAAW,GAAG,IAAA,8BAAe,EAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;IAE3E,MAAM,GAAG,GAAiB;QACxB,YAAY,EAAE,WAAW;QACzB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,SAAS;QACtB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,QAAQ;QACpC,KAAK,EAAE,EAAE;QACT,OAAO,EAAE;YACP,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,CAAC;aACd;YACD,OAAO,EAAE;gBACP,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,EAAE;aACd;SACF;QACD,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAsB,EAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;QAExC,WAAW,GAAG,IAAA,8BAAe,EAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,GAAG,CAAC,YAAY,GAAG,WAAW,CAAC;QAC/B,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,GAAG,CAAC,OAAO,GAAG;YACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAA,kBAAU,EAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACtE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAElB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAsB,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClE,IAAA,kCAA0B,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,IAAA,6BAAkB,GAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,mBAAU,CAClB,2BAA2B,YAAY,oBAAoB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAClG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC/E,MAAM,IAAI,mBAAU,CAAC,QAAQ,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACtD,MAAM,IAAI,mBAAU,CAAC,0CAA0C,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,aAAa,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC;YACpG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,mBAAU,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,gCAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE9D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,GAAG,CAAC,CAAC;YAC7C,OAAO;gBACL,WAAW,EAAE,WAAW;gBACxB,OAAO;gBACP,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,mBAAU,CAAC,yCAAyC,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAExF,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAO,EAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7D,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC;QAClC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAEhC,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAc,EAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChG,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC;QAE1B,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAU,CAAC,iBAAiB,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QACnB,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAiB,EAAC,GAAG,CAAC,CAAC;QAE7C,OAAO;YACL,WAAW;YACX,OAAO;YACP,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,GAAI,KAAe,CAAC,OAAO,CAAC;QACrC,GAAG,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAA,gCAAiB,EAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|