@substrat-run/contracts 0.165.0 → 0.166.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.
@@ -0,0 +1,105 @@
1
+ import { z } from 'zod';
2
+ export declare const SOURCE_BYTES_MAX: number;
3
+ export declare const SOURCE_FILES_MAX = 20000;
4
+ /** Canonical relative paths only. Also used before writing a submitted tree to disk. */
5
+ export declare const sourcePath: z.ZodString;
6
+ export declare function excludedSourcePath(path: string): boolean;
7
+ export declare const sourceFile: z.ZodObject<{
8
+ path: z.ZodString;
9
+ base64: z.ZodString;
10
+ executable: z.ZodDefault<z.ZodBoolean>;
11
+ }, z.core.$strict>;
12
+ export declare const sourceSnapshot: z.ZodObject<{
13
+ files: z.ZodArray<z.ZodObject<{
14
+ path: z.ZodString;
15
+ base64: z.ZodString;
16
+ executable: z.ZodDefault<z.ZodBoolean>;
17
+ }, z.core.$strict>>;
18
+ directory: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodLiteral<".">]>>;
19
+ }, z.core.$strict>;
20
+ export type SourceSnapshot = z.infer<typeof sourceSnapshot>;
21
+ export declare const projectRepository: z.ZodDiscriminatedUnion<[z.ZodObject<{
22
+ kind: z.ZodLiteral<"artifacts">;
23
+ name: z.ZodString;
24
+ remote: z.ZodString;
25
+ branch: z.ZodDefault<z.ZodString>;
26
+ }, z.core.$strict>, z.ZodObject<{
27
+ kind: z.ZodLiteral<"github">;
28
+ owner: z.ZodString;
29
+ repo: z.ZodString;
30
+ branch: z.ZodDefault<z.ZodString>;
31
+ directory: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodLiteral<".">]>>;
32
+ }, z.core.$strict>], "kind">;
33
+ export type ProjectRepository = z.infer<typeof projectRepository>;
34
+ export declare const sourceBuildRequest: z.ZodObject<{
35
+ version: z.ZodString;
36
+ name: z.ZodOptional<z.ZodString>;
37
+ origin: z.ZodOptional<z.ZodObject<{
38
+ source: z.ZodEnum<{
39
+ cli: "cli";
40
+ git: "git";
41
+ }>;
42
+ gitRepo: z.ZodOptional<z.ZodString>;
43
+ gitCommit: z.ZodOptional<z.ZodString>;
44
+ gitRef: z.ZodOptional<z.ZodString>;
45
+ gate: z.ZodOptional<z.ZodEnum<{
46
+ none: "none";
47
+ passed: "passed";
48
+ skipped: "skipped";
49
+ }>>;
50
+ }, z.core.$strip>>;
51
+ snapshot: z.ZodOptional<z.ZodObject<{
52
+ files: z.ZodArray<z.ZodObject<{
53
+ path: z.ZodString;
54
+ base64: z.ZodString;
55
+ executable: z.ZodDefault<z.ZodBoolean>;
56
+ }, z.core.$strict>>;
57
+ directory: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodLiteral<".">]>>;
58
+ }, z.core.$strict>>;
59
+ revision: z.ZodOptional<z.ZodString>;
60
+ tenant: z.ZodOptional<z.ZodString>;
61
+ allowFork: z.ZodDefault<z.ZodBoolean>;
62
+ allowUnservedUi: z.ZodDefault<z.ZodBoolean>;
63
+ allowUnsweptSchedules: z.ZodDefault<z.ZodBoolean>;
64
+ requireDataLossCheck: z.ZodDefault<z.ZodBoolean>;
65
+ }, z.core.$strict>;
66
+ export type SourceBuildRequest = z.infer<typeof sourceBuildRequest>;
67
+ export declare const sourceBuildResult: z.ZodObject<{
68
+ projectId: z.ZodString;
69
+ revision: z.ZodString;
70
+ dataLoss: z.ZodDiscriminatedUnion<[z.ZodObject<{
71
+ status: z.ZodLiteral<"passed">;
72
+ authored: z.ZodNumber;
73
+ }, z.core.$strip>, z.ZodObject<{
74
+ status: z.ZodLiteral<"skipped">;
75
+ why: z.ZodString;
76
+ }, z.core.$strip>, z.ZodObject<{
77
+ status: z.ZodLiteral<"incomplete">;
78
+ authored: z.ZodNumber;
79
+ notReplayed: z.ZodNumber;
80
+ key: z.ZodString;
81
+ message: z.ZodString;
82
+ }, z.core.$strip>], "status">;
83
+ }, z.core.$strip>;
84
+ export interface ProjectRecord {
85
+ id: string;
86
+ slug: string;
87
+ name: string;
88
+ repository: ProjectRepository;
89
+ directory: string;
90
+ revision?: string;
91
+ createdAt: string;
92
+ updatedAt: string;
93
+ }
94
+ /** Private service result: these parts never come from a public release upload. */
95
+ export interface BuiltSource {
96
+ form: FormData;
97
+ projectId: string;
98
+ revision: string;
99
+ dataLoss: z.infer<typeof sourceBuildResult>['dataLoss'];
100
+ }
101
+ export interface SourceBuildService {
102
+ build(tenantId: string, slug: string, request: SourceBuildRequest): Promise<BuiltSource>;
103
+ projects(tenantId: string, request: Request): Promise<Response>;
104
+ }
105
+ //# sourceMappingURL=source-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-build.d.ts","sourceRoot":"","sources":["../src/source-build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AACjD,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,wFAAwF;AACxF,eAAO,MAAM,UAAU,aAItB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,eAAO,MAAM,UAAU;;;;kBAIZ,CAAC;AAEZ,eAAO,MAAM,cAAc;;;;;;;kBAwBzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;4BAG5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWqF,CAAC;AACrH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjE"}
@@ -0,0 +1,70 @@
1
+ import { z } from 'zod';
2
+ import { versionOrigin } from './registry.js';
3
+ export const SOURCE_BYTES_MAX = 48 * 1024 * 1024;
4
+ export const SOURCE_FILES_MAX = 20_000;
5
+ /** Canonical relative paths only. Also used before writing a submitted tree to disk. */
6
+ export const sourcePath = z.string().min(1).max(1024).refine((p) => !/[\\\x00-\x1f\x7f]/.test(p) && !p.startsWith('/') &&
7
+ p.split('/').every((s) => s !== '' && s !== '.' && s !== '..' && s.toLowerCase() !== '.git'), 'expected a repository-relative path without traversal or .git');
8
+ export function excludedSourcePath(path) {
9
+ return path.split('/').some((s) => /^(?:\.git|\.aws|\.ssh|\.codex|\.agents|\.builder|node_modules|dist|dist-worker|coverage|\.wrangler|secrets)$/i.test(s) ||
10
+ /^(?:\.env|\.dev\.vars)(?:\.|$)/i.test(s) || /^(?:\.npmrc|\.netrc|credentials)$/i.test(s) || /\.(?:pem|key|p12|pfx)$/i.test(s));
11
+ }
12
+ export const sourceFile = z.object({
13
+ path: sourcePath.refine((p) => !excludedSourcePath(p), 'credential or generated path is excluded'),
14
+ base64: z.string().max(SOURCE_BYTES_MAX).refine((s) => s.length % 4 === 0 && /^[A-Za-z0-9+/]*={0,2}$/.test(s), 'invalid base64'),
15
+ executable: z.boolean().default(false),
16
+ }).strict();
17
+ export const sourceSnapshot = z.object({
18
+ files: z.array(sourceFile).min(1).max(SOURCE_FILES_MAX),
19
+ directory: sourcePath.or(z.literal('.')).default('.'),
20
+ }).strict().superRefine((tree, ctx) => {
21
+ const allPaths = new Set(tree.files.map((f) => f.path.toLowerCase()));
22
+ const paths = new Set();
23
+ let bytes = 0;
24
+ for (const file of tree.files) {
25
+ const folded = file.path.toLowerCase();
26
+ if (paths.has(folded))
27
+ ctx.addIssue({ code: 'custom', message: 'duplicate source path' });
28
+ paths.add(folded);
29
+ bytes += file.base64.length;
30
+ const parent = file.path.split('/');
31
+ while (parent.length > 1) {
32
+ parent.pop();
33
+ if (allPaths.has(parent.join('/').toLowerCase())) {
34
+ ctx.addIssue({ code: 'custom', message: 'source file conflicts with a directory' });
35
+ break;
36
+ }
37
+ }
38
+ }
39
+ if (bytes > SOURCE_BYTES_MAX)
40
+ ctx.addIssue({ code: 'custom', message: 'source snapshot exceeds upload limit' });
41
+ const pkg = tree.directory === '.' ? 'package.json' : `${tree.directory}/package.json`;
42
+ if (!paths.has(pkg.toLowerCase()))
43
+ ctx.addIssue({ code: 'custom', message: 'build directory has no package.json' });
44
+ });
45
+ export const projectRepository = z.discriminatedUnion('kind', [
46
+ z.object({ kind: z.literal('artifacts'), name: z.string().regex(/^[a-zA-Z0-9_-]+$/), remote: z.string().url(), branch: z.string().default('main') }).strict(),
47
+ z.object({ kind: z.literal('github'), owner: z.string().regex(/^[\w-]+$/), repo: z.string().regex(/^[\w.-]+$/), branch: z.string().min(1).max(200).default('main'), directory: sourcePath.or(z.literal('.')).default('.') }).strict(),
48
+ ]);
49
+ export const sourceBuildRequest = z.object({
50
+ version: z.string().min(1).max(100),
51
+ name: z.string().min(1).max(200).optional(),
52
+ origin: versionOrigin.optional(),
53
+ snapshot: sourceSnapshot.optional(),
54
+ revision: z.string().regex(/^[0-9a-f]{40}$/).optional(),
55
+ tenant: z.string().min(1).optional(),
56
+ allowFork: z.boolean().default(false),
57
+ allowUnservedUi: z.boolean().default(false),
58
+ allowUnsweptSchedules: z.boolean().default(false),
59
+ requireDataLossCheck: z.boolean().default(false),
60
+ }).strict().refine((v) => Boolean(v.snapshot) !== Boolean(v.revision), 'supply exactly one of snapshot or revision');
61
+ export const sourceBuildResult = z.object({
62
+ projectId: z.string().min(1),
63
+ revision: z.string().regex(/^[0-9a-f]{40}$/),
64
+ dataLoss: z.discriminatedUnion('status', [
65
+ z.object({ status: z.literal('passed'), authored: z.number().int().nonnegative() }),
66
+ z.object({ status: z.literal('skipped'), why: z.string() }),
67
+ z.object({ status: z.literal('incomplete'), authored: z.number().int().nonnegative(), notReplayed: z.number().int().nonnegative(), key: z.string(), message: z.string() }),
68
+ ]),
69
+ });
70
+ //# sourceMappingURL=source-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-build.js","sourceRoot":"","sources":["../src/source-build.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/contracts",
3
- "version": "0.165.0",
3
+ "version": "0.166.0",
4
4
  "description": "Substrat kernel contract schemas — Zod is the source of truth (master plan D-22); OAS/JSON Schema are emitted artifacts",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {