@scarn/sdk 0.0.0-stage → 0.8.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/dist/chunk-0y2fy5en.js +166 -0
- package/dist/chunk-3ctaaseb.js +1456 -0
- package/dist/chunk-4ggr8af6.js +30 -0
- package/dist/chunk-5zsavw98.js +91 -0
- package/dist/chunk-63f90zky.js +39 -0
- package/dist/chunk-700xe701.js +100 -0
- package/dist/chunk-ar6hcj1r.js +35 -0
- package/dist/chunk-cdanncng.js +74 -0
- package/dist/chunk-dp86pa6m.js +68 -0
- package/dist/chunk-e1h021kq.js +86 -0
- package/dist/chunk-gds7w7zh.js +330 -0
- package/dist/chunk-k4y5qt4y.js +14 -0
- package/dist/chunk-mz53r914.js +300 -0
- package/dist/chunk-ngy1fdcx.js +57 -0
- package/dist/chunk-p7yrcmqm.js +322 -0
- package/dist/chunk-rt9tq4j6.js +116 -0
- package/dist/chunk-skzxcba3.js +14282 -0
- package/dist/chunk-vfeytkqx.js +1687 -0
- package/dist/chunk-y2pv8d6a.js +162 -0
- package/dist/chunk-y64skrwp.js +17 -0
- package/dist/chunk-yjtaq94c.js +1094 -0
- package/dist/chunk-zm72ksz0.js +256 -0
- package/dist/client.d.ts +4 -0
- package/dist/client.js +58 -0
- package/dist/contracts/artifact-markers.d.ts +42 -0
- package/dist/contracts/artifact-markers.js +16 -0
- package/dist/contracts/artifacts.d.ts +67 -0
- package/dist/contracts/artifacts.js +27 -0
- package/dist/contracts/pipeline-document/built-ins.d.ts +23 -0
- package/dist/contracts/pipeline-document/conditions/operators.d.ts +8 -0
- package/dist/contracts/pipeline-document/index.d.ts +11 -0
- package/dist/contracts/pipeline-document/index.js +99 -0
- package/dist/contracts/pipeline-document/json.d.ts +35 -0
- package/dist/contracts/pipeline-document/routes.d.ts +16 -0
- package/dist/contracts/pipeline-document/schema.d.ts +780 -0
- package/dist/contracts/pipeline-document/step-contract.d.ts +11 -0
- package/dist/contracts/step-artifact-submissions.d.ts +71 -0
- package/dist/contracts/step-artifact-submissions.js +171 -0
- package/dist/defaults/atomic-json-file.d.ts +10 -0
- package/dist/defaults/auth-file.d.ts +14 -0
- package/dist/defaults/base-url.d.ts +1 -0
- package/dist/defaults/config-file.d.ts +46 -0
- package/dist/defaults/home-dir.d.ts +3 -0
- package/dist/defaults/index.d.ts +12 -0
- package/dist/defaults/index.js +1240 -0
- package/dist/defaults/legacy-config-migration.d.ts +27 -0
- package/dist/defaults/load-push-defaults.d.ts +25 -0
- package/dist/defaults/project-config.d.ts +32 -0
- package/dist/defaults/project-ref.d.ts +34 -0
- package/dist/definitions/artifacts/artifact.d.ts +62 -0
- package/dist/definitions/artifacts/index.d.ts +1 -0
- package/dist/definitions/pipelines/define-default-pipeline-assignment.d.ts +263 -0
- package/dist/definitions/pipelines/index.d.ts +3 -0
- package/dist/definitions/pipelines/index.js +26 -0
- package/dist/definitions/pipelines/pipeline-definitions-client.d.ts +208 -0
- package/dist/definitions/pipelines/work-item-fields.d.ts +93 -0
- package/dist/definitions/steps/compile-mcps.d.ts +34 -0
- package/dist/definitions/steps/define-code-step.d.ts +84 -0
- package/dist/definitions/steps/define-mcp.d.ts +79 -0
- package/dist/definitions/steps/define-step.d.ts +137 -0
- package/dist/definitions/steps/env.d.ts +136 -0
- package/dist/definitions/steps/index.d.ts +14 -0
- package/dist/definitions/steps/index.js +76 -0
- package/dist/definitions/steps/mcp-server-config.d.ts +102 -0
- package/dist/definitions/steps/prompt-template.d.ts +24 -0
- package/dist/definitions/steps/repo.d.ts +67 -0
- package/dist/definitions/steps/runtime.d.ts +115 -0
- package/dist/definitions/steps/step-definitions-client.d.ts +400 -0
- package/dist/definitions/steps/step-features.d.ts +109 -0
- package/dist/definitions/steps/step-handle.d.ts +25 -0
- package/dist/definitions/steps/step-ref.d.ts +19 -0
- package/dist/definitions/validation/index.d.ts +2 -0
- package/dist/definitions/validation/index.js +19 -0
- package/dist/definitions/validation/validate-artifact-markers.d.ts +3 -0
- package/dist/definitions/validation/validate-artifacts.d.ts +7 -0
- package/dist/definitions/validation/validate-definition-specs.d.ts +16 -0
- package/dist/definitions/validation/validate-env.d.ts +15 -0
- package/dist/definitions/validation/validate-repo.d.ts +13 -0
- package/dist/definitions/validation/validate-runtime.d.ts +12 -0
- package/dist/definitions/validation/validation-issue.d.ts +11 -0
- package/dist/devcontainer-config-path.d.ts +21 -0
- package/dist/devcontainer-config-path.js +15 -0
- package/dist/env-vars.d.ts +136 -0
- package/dist/env-vars.js +37 -0
- package/dist/eslint.d.ts +42 -0
- package/dist/eslint.js +127 -0
- package/dist/generated/client/client.gen.d.ts +2 -0
- package/dist/generated/client/index.d.ts +8 -0
- package/dist/generated/client/types.gen.d.ts +117 -0
- package/dist/generated/client/utils.gen.d.ts +33 -0
- package/dist/generated/client.gen.d.ts +12 -0
- package/dist/generated/core/auth.gen.d.ts +18 -0
- package/dist/generated/core/bodySerializer.gen.d.ts +25 -0
- package/dist/generated/core/params.gen.d.ts +43 -0
- package/dist/generated/core/pathSerializer.gen.d.ts +33 -0
- package/dist/generated/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist/generated/core/serverSentEvents.gen.d.ts +71 -0
- package/dist/generated/core/types.gen.d.ts +78 -0
- package/dist/generated/core/utils.gen.d.ts +19 -0
- package/dist/generated/index.d.ts +2 -0
- package/dist/generated/sdk.gen.d.ts +302 -0
- package/dist/generated/types.gen.d.ts +18375 -0
- package/dist/git-url/git-remote.d.ts +30 -0
- package/dist/git-url/git-repo-identity.d.ts +44 -0
- package/dist/git-url/git-repo-identity.js +161 -0
- package/dist/git-url/parse-git-host.d.ts +23 -0
- package/dist/health-checks.d.ts +169 -0
- package/dist/health-checks.js +21 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +296 -0
- package/dist/jsonc.d.ts +3 -0
- package/dist/jsonc.js +12 -0
- package/dist/managed-runtimes.d.ts +20 -0
- package/dist/managed-runtimes.js +15 -0
- package/dist/opencode-mcp.d.ts +313 -0
- package/dist/opencode-mcp.js +31 -0
- package/dist/pipelines/chain.d.ts +7 -0
- package/dist/pipelines/compile-args.d.ts +12 -0
- package/dist/pipelines/compile-chain.d.ts +9 -0
- package/dist/pipelines/compile-checks.d.ts +16 -0
- package/dist/pipelines/compile-state.d.ts +30 -0
- package/dist/pipelines/condition-data.d.ts +78 -0
- package/dist/pipelines/conditions.d.ts +47 -0
- package/dist/pipelines/context.d.ts +16 -0
- package/dist/pipelines/define-pipeline.d.ts +32 -0
- package/dist/pipelines/each.d.ts +5 -0
- package/dist/pipelines/errors.d.ts +26 -0
- package/dist/pipelines/handles.d.ts +29 -0
- package/dist/pipelines/index.d.ts +18 -0
- package/dist/pipelines/index.js +83 -0
- package/dist/pipelines/model.d.ts +103 -0
- package/dist/pipelines/nodes.d.ts +54 -0
- package/dist/pipelines/ref-types.d.ts +54 -0
- package/dist/pipelines/refs.d.ts +80 -0
- package/dist/pipelines/registry.d.ts +12 -0
- package/dist/pipelines/source.d.ts +17 -0
- package/dist/pipelines/types.d.ts +160 -0
- package/dist/push/code-step-lookup.d.ts +32 -0
- package/dist/push/code-step-lookup.js +12 -0
- package/dist/push/collect-definitions.d.ts +70 -0
- package/dist/push/collect-pipeline-documents.d.ts +14 -0
- package/dist/push/index.d.ts +6 -0
- package/dist/push/index.js +327 -0
- package/dist/push/push-from-directory.d.ts +37 -0
- package/dist/repo-config.d.ts +80 -0
- package/dist/repo-config.js +25 -0
- package/dist/scarn-config-parser.d.ts +29 -0
- package/dist/scarn-config-parser.js +10 -0
- package/dist/task-plane-client.d.ts +489 -0
- package/dist/z.d.ts +7 -0
- package/package.json +132 -4
- package/README.md +0 -3
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/scarn-config-parser.ts
|
|
3
|
+
import { access, readFile } from "fs/promises";
|
|
4
|
+
import path from "path";
|
|
5
|
+
var SCARN_CONFIG_RELATIVE_PATH = ".scarn/scarn.jsonc";
|
|
6
|
+
var stripJsoncComments = (content) => {
|
|
7
|
+
let result = "";
|
|
8
|
+
let inString = false;
|
|
9
|
+
let escapeNextCharacter = false;
|
|
10
|
+
let lineComment = false;
|
|
11
|
+
let blockComment = false;
|
|
12
|
+
for (let index = 0;index < content.length; index += 1) {
|
|
13
|
+
const character = content.charAt(index);
|
|
14
|
+
const nextCharacter = content.charAt(index + 1);
|
|
15
|
+
if (lineComment) {
|
|
16
|
+
if (character === `
|
|
17
|
+
`) {
|
|
18
|
+
lineComment = false;
|
|
19
|
+
result += character;
|
|
20
|
+
}
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
if (blockComment) {
|
|
24
|
+
if (character === "*" && nextCharacter === "/") {
|
|
25
|
+
blockComment = false;
|
|
26
|
+
index += 1;
|
|
27
|
+
}
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (inString) {
|
|
31
|
+
result += character;
|
|
32
|
+
if (escapeNextCharacter) {
|
|
33
|
+
escapeNextCharacter = false;
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (character === "\\") {
|
|
37
|
+
escapeNextCharacter = true;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (character === '"') {
|
|
41
|
+
inString = false;
|
|
42
|
+
}
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (character === '"') {
|
|
46
|
+
inString = true;
|
|
47
|
+
result += character;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (character === "/" && nextCharacter === "/") {
|
|
51
|
+
lineComment = true;
|
|
52
|
+
index += 1;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (character === "/" && nextCharacter === "*") {
|
|
56
|
+
blockComment = true;
|
|
57
|
+
index += 1;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
result += character;
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
};
|
|
64
|
+
var stripTrailingCommas = (content) => {
|
|
65
|
+
let result = "";
|
|
66
|
+
let inString = false;
|
|
67
|
+
let escapeNextCharacter = false;
|
|
68
|
+
for (let index = 0;index < content.length; index += 1) {
|
|
69
|
+
const character = content.charAt(index);
|
|
70
|
+
if (inString) {
|
|
71
|
+
result += character;
|
|
72
|
+
if (escapeNextCharacter) {
|
|
73
|
+
escapeNextCharacter = false;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (character === "\\") {
|
|
77
|
+
escapeNextCharacter = true;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (character === '"') {
|
|
81
|
+
inString = false;
|
|
82
|
+
}
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (character === '"') {
|
|
86
|
+
inString = true;
|
|
87
|
+
result += character;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (character === ",") {
|
|
91
|
+
let lookaheadIndex = index + 1;
|
|
92
|
+
while (lookaheadIndex < content.length) {
|
|
93
|
+
const lookaheadCharacter2 = content.charAt(lookaheadIndex);
|
|
94
|
+
if (/\s/u.test(lookaheadCharacter2)) {
|
|
95
|
+
lookaheadIndex += 1;
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (lookaheadCharacter2 === "}" || lookaheadCharacter2 === "]") {
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
result += character;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
if (lookaheadIndex >= content.length) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
const lookaheadCharacter = content.charAt(lookaheadIndex);
|
|
108
|
+
if (lookaheadCharacter === "}" || lookaheadCharacter === "]") {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
result += character;
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
};
|
|
117
|
+
var parseJsonc = (content) => JSON.parse(stripTrailingCommas(stripJsoncComments(content)));
|
|
118
|
+
var asString = (value) => typeof value === "string" ? value : null;
|
|
119
|
+
var asNumber = (value) => typeof value === "number" ? value : null;
|
|
120
|
+
var parseCommands = (raw) => {
|
|
121
|
+
if (!raw)
|
|
122
|
+
return [];
|
|
123
|
+
return Object.entries(raw).map(([name, entry]) => ({
|
|
124
|
+
name,
|
|
125
|
+
description: asString(entry.description) ?? "",
|
|
126
|
+
run: asString(entry.run) ?? "",
|
|
127
|
+
cwd: asString(entry.cwd) ?? null
|
|
128
|
+
}));
|
|
129
|
+
};
|
|
130
|
+
var parseServices = (raw) => {
|
|
131
|
+
if (!raw)
|
|
132
|
+
return [];
|
|
133
|
+
return Object.entries(raw).map(([name, entry]) => {
|
|
134
|
+
const expose = entry.expose ?? {};
|
|
135
|
+
const dependsOn = Array.isArray(entry.dependsOn) ? entry.dependsOn.filter((d) => typeof d === "string") : [];
|
|
136
|
+
return {
|
|
137
|
+
name,
|
|
138
|
+
description: asString(entry.description) ?? "",
|
|
139
|
+
run: asString(entry.run) ?? "",
|
|
140
|
+
cwd: asString(entry.cwd) ?? null,
|
|
141
|
+
dependsOn,
|
|
142
|
+
expose: {
|
|
143
|
+
targetPort: asNumber(expose.targetPort) ?? 0,
|
|
144
|
+
protocol: asString(expose.protocol) ?? "http"
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
async function parseScarnConfig(workspacePath) {
|
|
150
|
+
const filePath = path.join(workspacePath, SCARN_CONFIG_RELATIVE_PATH);
|
|
151
|
+
const exists = await access(filePath).then(() => true).catch(() => false);
|
|
152
|
+
if (!exists) {
|
|
153
|
+
return { found: false };
|
|
154
|
+
}
|
|
155
|
+
const content = await readFile(filePath, "utf8");
|
|
156
|
+
const raw = parseJsonc(content);
|
|
157
|
+
return {
|
|
158
|
+
found: true,
|
|
159
|
+
config: {
|
|
160
|
+
commands: parseCommands(raw.commands),
|
|
161
|
+
services: parseServices(raw.services)
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export { SCARN_CONFIG_RELATIVE_PATH, parseScarnConfig };
|