@run402/runtime-kernel 0.1.5 → 0.1.6
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 +4 -2
- package/dist/archive.d.ts +210 -0
- package/dist/archive.d.ts.map +1 -0
- package/dist/archive.js +1137 -0
- package/dist/archive.js.map +1 -0
- package/dist/capabilities.d.ts +30 -2
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +43 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ports.d.ts +2 -0
- package/dist/ports.d.ts.map +1 -1
- package/package.json +6 -4
- package/schemas/project-archive-auth-stubs.v1.schema.json +21 -0
- package/schemas/project-archive-database-tables.v1.schema.json +50 -0
- package/schemas/project-archive-descriptor.v1.schema.json +50 -0
- package/schemas/project-archive-export-report.v1.schema.json +44 -0
- package/schemas/project-archive-import-result.v1.schema.json +45 -0
- package/schemas/project-archive-index.v1.schema.json +132 -0
- package/schemas/project-archive-layout.v1.schema.json +44 -0
- package/schemas/project-archive-portability-report.v1.schema.json +61 -0
- package/schemas/project-archive-runtime-index.v1.schema.json +42 -0
- package/schemas/project-archive-secret-requirements.v1.schema.json +30 -0
- package/schemas/project-archive-storage-index.v1.schema.json +35 -0
package/README.md
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Public Run402 Core runtime-kernel contracts and application services.
|
|
4
4
|
|
|
5
|
-
This package is the first self-hostable Core runtime slice. It currently exposes the runtime capability document, typed runtime errors,
|
|
5
|
+
This package is the first self-hostable Core runtime slice. It currently exposes the runtime capability document, typed runtime errors, port contracts used by the public Core gateway composition root, and the `run402-project-archive.v1` local inspect/verify/import contract.
|
|
6
6
|
|
|
7
7
|
It is a Developer Preview / single-node reference runtime component. Core functions are also Developer Preview trusted-local-code semantics: pre-bundled Node 22 artifacts, no external npm dependency install, explicit resource limits, and no hostile-code isolation claim.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Portable archive schemas ship under `@run402/runtime-kernel/schemas/*`. Archive verification is offline and treats archives as untrusted input; it checks integrity and compatibility but does not make the archive trusted. Core import verifies before mutation and supports new local projects only in v1.
|
|
10
|
+
|
|
11
|
+
It does not include Cloud archive export creation, Cloud import, existing-project archive merge, hosted OAuth, managed backups, TLS automation, observability, Cloud-grade sandboxing, or production hardening.
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { RuntimeKernelTypedError, type RuntimeKernelTypedErrorDetails } from "./errors.js";
|
|
2
|
+
export declare const PROJECT_ARCHIVE_VERSION: "run402-project-archive.v1";
|
|
3
|
+
export declare const PROJECT_ARCHIVE_LAYOUT_SCHEMA_VERSION: "run402.project_archive.layout.v1";
|
|
4
|
+
export declare const PROJECT_ARCHIVE_INDEX_SCHEMA_VERSION: "run402.project_archive.index.v1";
|
|
5
|
+
export declare const PROJECT_ARCHIVE_DIGEST_IDENTITY: "run402-project-archive-logical-v1";
|
|
6
|
+
export declare const PROJECT_ARCHIVE_DEFAULT_EXTENSION: ".r402ar";
|
|
7
|
+
export declare const PROJECT_ARCHIVE_TRANSPORTS: readonly ["directory", "tar"];
|
|
8
|
+
export type PortableArchiveTransport = (typeof PROJECT_ARCHIVE_TRANSPORTS)[number];
|
|
9
|
+
export declare const PROJECT_ARCHIVE_MEDIA_TYPES: {
|
|
10
|
+
readonly layout: "application/vnd.run402.project-archive.layout.v1+json";
|
|
11
|
+
readonly index: "application/vnd.run402.project-archive.index.v1+json";
|
|
12
|
+
readonly descriptor: "application/vnd.run402.project-archive.descriptor.v1+json";
|
|
13
|
+
readonly exportReport: "application/vnd.run402.project-archive.export-report.v1+json";
|
|
14
|
+
readonly portabilityReport: "application/vnd.run402.project-archive.portability-report.v1+json";
|
|
15
|
+
readonly consistency: "application/vnd.run402.project-archive.consistency.v1+json";
|
|
16
|
+
readonly databaseTables: "application/vnd.run402.project-archive.database-tables.v1+json";
|
|
17
|
+
readonly databaseSequences: "application/vnd.run402.project-archive.database-sequences.v1+json";
|
|
18
|
+
readonly databaseSql: "application/sql; dialect=postgresql";
|
|
19
|
+
readonly databaseCopy: "application/vnd.postgresql.copy.text";
|
|
20
|
+
readonly authConfig: "application/vnd.run402.project-archive.auth-config.v1+json";
|
|
21
|
+
readonly authSubjects: "application/x-ndjson; profile=run402-auth-subject-stubs-v1";
|
|
22
|
+
readonly storageIndex: "application/vnd.run402.project-archive.storage-index.v1+json";
|
|
23
|
+
readonly runtimeIndex: "application/vnd.run402.project-archive.runtime-index.v1+json";
|
|
24
|
+
readonly secretRequirements: "application/vnd.run402.project-archive.secret-requirements.v1+json";
|
|
25
|
+
readonly envTemplate: "text/plain; profile=run402-required-env-template-v1";
|
|
26
|
+
readonly releaseSpec: "application/vnd.run402.release-spec.v1+json";
|
|
27
|
+
readonly portableReleaseState: "application/vnd.run402.portable-release-state.v1+json";
|
|
28
|
+
readonly releaseFactSet: "application/vnd.run402.release-fact-set.v1+json";
|
|
29
|
+
readonly blob: "application/octet-stream";
|
|
30
|
+
};
|
|
31
|
+
export declare const SUPPORTED_ARCHIVE_CAPABILITIES: readonly ["run402.core.release-state.v1", "run402.core.database.phased-postgres-copy.v1", "run402.core.storage.cas.v1", "run402.core.functions.node22.v1", "run402.core.astro-ssr.v1", "run402.core.auth-stubs.v1", "run402.core.secret-requirements.v1"];
|
|
32
|
+
export declare const ARCHIVE_ERROR_CODES: readonly ["EXPORT_CONSISTENCY_UNAVAILABLE", "EXPORT_SCOPE_UNSUPPORTED", "ARCHIVE_EXPIRED", "ARCHIVE_DIGEST_MISMATCH", "ARCHIVE_SIZE_MISMATCH", "ARCHIVE_UNSUPPORTED_VERSION", "ARCHIVE_UNSUPPORTED_REQUIRED_CAPABILITY", "ARCHIVE_MEDIA_TYPE_UNSUPPORTED", "ARCHIVE_PATH_UNSAFE", "ARCHIVE_SIZE_LIMIT_EXCEEDED", "ARCHIVE_FILE_COUNT_LIMIT_EXCEEDED", "ARCHIVE_DESCRIPTOR_TOO_DEEP", "ARCHIVE_DESCRIPTOR_MISSING", "ARCHIVE_BLOB_MISSING", "ARCHIVE_DUPLICATE_PATH", "ARCHIVE_DUPLICATE_JSON_KEY", "ARCHIVE_MALFORMED_JSON", "ARCHIVE_MALFORMED_TAR", "ARCHIVE_ENTRY_TYPE_UNSUPPORTED", "DATABASE_EXTENSION_UNSUPPORTED", "DATABASE_RLS_IMPORT_UNSUPPORTED", "DATABASE_SCHEMA_UNSAFE", "DATABASE_SEQUENCE_RESTORE_FAILED", "NON_DETERMINISTIC_TABLE_ORDER", "STORAGE_OBJECT_CHANGED_DURING_EXPORT", "STORAGE_OBJECT_DIGEST_MISMATCH", "AUTH_CREDENTIALS_NOT_EXPORTED", "AUTH_SUBJECT_STUBS_IMPORTED", "SECRET_VALUES_REQUIRED", "CLOUD_ONLY_FEATURE_EXCLUDED", "PROJECT_ALREADY_EXISTS", "IMPORT_VERIFY_FAILED", "IMPORT_CONFORMANCE_FAILED"];
|
|
33
|
+
export type ArchiveErrorCode = (typeof ARCHIVE_ERROR_CODES)[number];
|
|
34
|
+
export declare const PORTABILITY_REPORT_SEVERITIES: readonly ["info", "warning", "blocking"];
|
|
35
|
+
export type PortabilityReportSeverity = (typeof PORTABILITY_REPORT_SEVERITIES)[number];
|
|
36
|
+
export declare const ARCHIVE_NEXT_ACTION_TYPES: readonly ["run_command", "set_secret", "change_export_scope", "remove_unsupported_feature", "retry_later", "contact_support", "read_docs", "none"];
|
|
37
|
+
export type ArchiveNextActionType = (typeof ARCHIVE_NEXT_ACTION_TYPES)[number];
|
|
38
|
+
export interface ArchiveNextAction {
|
|
39
|
+
type: ArchiveNextActionType;
|
|
40
|
+
command?: string;
|
|
41
|
+
env_var?: string;
|
|
42
|
+
docs_url?: string;
|
|
43
|
+
message?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ArchiveDiagnostic {
|
|
46
|
+
code: ArchiveErrorCode;
|
|
47
|
+
severity: PortabilityReportSeverity;
|
|
48
|
+
resource_type: string;
|
|
49
|
+
resource_id?: string;
|
|
50
|
+
path?: string;
|
|
51
|
+
message: string;
|
|
52
|
+
next_action: ArchiveNextAction;
|
|
53
|
+
retryable: boolean;
|
|
54
|
+
context?: Record<string, unknown>;
|
|
55
|
+
}
|
|
56
|
+
export interface PortableArchiveDescriptor {
|
|
57
|
+
mediaType: string;
|
|
58
|
+
digest: `sha256:${string}`;
|
|
59
|
+
size: number;
|
|
60
|
+
path?: string;
|
|
61
|
+
annotations?: Record<string, string>;
|
|
62
|
+
}
|
|
63
|
+
export interface PortableArchiveConsistencyDescriptor {
|
|
64
|
+
mode: "cloud_write_pause_v1" | "core_fixture_v1";
|
|
65
|
+
pinned_release_id?: string | null;
|
|
66
|
+
started_at?: string;
|
|
67
|
+
completed_at?: string;
|
|
68
|
+
database?: {
|
|
69
|
+
postgres_version?: string;
|
|
70
|
+
snapshot?: string | null;
|
|
71
|
+
wal_lsn?: string | null;
|
|
72
|
+
};
|
|
73
|
+
storage?: {
|
|
74
|
+
mutation_pause: "not_applicable" | "paused" | "unavailable";
|
|
75
|
+
};
|
|
76
|
+
runtime?: {
|
|
77
|
+
artifact_capture: "captured" | "not_applicable" | "unavailable";
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export interface PortableArchiveIndex {
|
|
81
|
+
schema_version: typeof PROJECT_ARCHIVE_INDEX_SCHEMA_VERSION;
|
|
82
|
+
archive_version: typeof PROJECT_ARCHIVE_VERSION;
|
|
83
|
+
mediaType: typeof PROJECT_ARCHIVE_MEDIA_TYPES.index;
|
|
84
|
+
archive_digest?: `sha256:${string}`;
|
|
85
|
+
core_compatibility: {
|
|
86
|
+
runtime_kernel: string;
|
|
87
|
+
release_spec: string;
|
|
88
|
+
};
|
|
89
|
+
source: {
|
|
90
|
+
platform: "run402-cloud" | "run402-core" | "run402-core-fixture";
|
|
91
|
+
label?: string;
|
|
92
|
+
};
|
|
93
|
+
required_capabilities: string[];
|
|
94
|
+
identity_descriptors: string[];
|
|
95
|
+
descriptors: Record<string, PortableArchiveDescriptor>;
|
|
96
|
+
consistency?: PortableArchiveConsistencyDescriptor;
|
|
97
|
+
annotations?: Record<string, string>;
|
|
98
|
+
}
|
|
99
|
+
export interface PortableArchiveLayout {
|
|
100
|
+
schema_version: typeof PROJECT_ARCHIVE_LAYOUT_SCHEMA_VERSION;
|
|
101
|
+
archive_version: typeof PROJECT_ARCHIVE_VERSION;
|
|
102
|
+
mediaType: typeof PROJECT_ARCHIVE_MEDIA_TYPES.layout;
|
|
103
|
+
index: "index.json";
|
|
104
|
+
blobs: "blobs/sha256";
|
|
105
|
+
transports: PortableArchiveTransport[];
|
|
106
|
+
checksum_lists_authoritative: false;
|
|
107
|
+
}
|
|
108
|
+
export interface ArchiveSecretRequirement {
|
|
109
|
+
name: string;
|
|
110
|
+
required: boolean;
|
|
111
|
+
targets?: string[];
|
|
112
|
+
description?: string;
|
|
113
|
+
}
|
|
114
|
+
export interface ArchivePortabilityReportEntry extends ArchiveDiagnostic {
|
|
115
|
+
resource_id?: string;
|
|
116
|
+
}
|
|
117
|
+
export interface ArchivePortabilityReport {
|
|
118
|
+
schema_version: "run402.project_archive.portability_report.v1";
|
|
119
|
+
entries: ArchivePortabilityReportEntry[];
|
|
120
|
+
}
|
|
121
|
+
export interface ArchiveExportReport {
|
|
122
|
+
schema_version: "run402.project_archive.export_report.v1";
|
|
123
|
+
export_scope: "portable-runtime-v1";
|
|
124
|
+
auth_export: "none" | "stubs";
|
|
125
|
+
consistency: "cloud_write_pause_v1" | "core_fixture_v1";
|
|
126
|
+
omitted_sensitive_resource_count?: number;
|
|
127
|
+
unsupported_resource_count?: number;
|
|
128
|
+
}
|
|
129
|
+
export interface PortableArchiveLimits {
|
|
130
|
+
maxFiles: number;
|
|
131
|
+
maxExpandedBytes: number;
|
|
132
|
+
maxFileBytes: number;
|
|
133
|
+
maxDescriptorBytes: number;
|
|
134
|
+
maxDescriptorDepth: number;
|
|
135
|
+
}
|
|
136
|
+
export interface PortableArchiveVerifyInput {
|
|
137
|
+
archivePath: string;
|
|
138
|
+
limits?: Partial<PortableArchiveLimits>;
|
|
139
|
+
}
|
|
140
|
+
export interface PortableArchiveVerifyResult {
|
|
141
|
+
ok: boolean;
|
|
142
|
+
archive_version: typeof PROJECT_ARCHIVE_VERSION | null;
|
|
143
|
+
archive_digest: `sha256:${string}` | null;
|
|
144
|
+
transport: PortableArchiveTransport | null;
|
|
145
|
+
file_count: number;
|
|
146
|
+
total_bytes: number;
|
|
147
|
+
descriptor_count: number;
|
|
148
|
+
required_capabilities: string[];
|
|
149
|
+
required_secrets: ArchiveSecretRequirement[];
|
|
150
|
+
auth_subject_stub_count: number;
|
|
151
|
+
export_report: ArchiveExportReport | null;
|
|
152
|
+
portability_report: ArchivePortabilityReport | null;
|
|
153
|
+
diagnostics: ArchiveDiagnostic[];
|
|
154
|
+
}
|
|
155
|
+
export type PortableArchiveImportTarget = {
|
|
156
|
+
kind: "new_project";
|
|
157
|
+
name?: string | null;
|
|
158
|
+
} | {
|
|
159
|
+
kind: "existing_project";
|
|
160
|
+
project_id: string;
|
|
161
|
+
};
|
|
162
|
+
export interface PortableArchiveImportInput {
|
|
163
|
+
archivePath: string;
|
|
164
|
+
target: PortableArchiveImportTarget;
|
|
165
|
+
dryRun?: boolean;
|
|
166
|
+
requireRunnable?: boolean;
|
|
167
|
+
secretValues?: Record<string, string>;
|
|
168
|
+
limits?: Partial<PortableArchiveLimits>;
|
|
169
|
+
}
|
|
170
|
+
export interface PortableArchiveImportedProject {
|
|
171
|
+
project_id: string;
|
|
172
|
+
project_name: string;
|
|
173
|
+
release_id: string | null;
|
|
174
|
+
endpoints?: Record<string, string>;
|
|
175
|
+
}
|
|
176
|
+
export interface PortableArchiveVerifiedImportInput {
|
|
177
|
+
archive_path: string;
|
|
178
|
+
project_name: string;
|
|
179
|
+
verification: PortableArchiveVerifyResult;
|
|
180
|
+
secret_values: Record<string, string>;
|
|
181
|
+
require_runnable: boolean;
|
|
182
|
+
}
|
|
183
|
+
export interface PortableArchiveImporterPort {
|
|
184
|
+
importVerifiedArchive(input: PortableArchiveVerifiedImportInput): Promise<PortableArchiveImportedProject>;
|
|
185
|
+
}
|
|
186
|
+
export interface PortableArchiveImportPorts {
|
|
187
|
+
importer: PortableArchiveImporterPort;
|
|
188
|
+
}
|
|
189
|
+
export interface PortableArchiveImportResult {
|
|
190
|
+
schema_version: "run402.project_archive.import_result.v1";
|
|
191
|
+
status: "dry_run" | "imported" | "blocked" | "failed";
|
|
192
|
+
archive_digest: `sha256:${string}` | null;
|
|
193
|
+
project_id?: string;
|
|
194
|
+
project_name?: string;
|
|
195
|
+
release_id?: string | null;
|
|
196
|
+
required_secrets: ArchiveSecretRequirement[];
|
|
197
|
+
diagnostics: ArchiveDiagnostic[];
|
|
198
|
+
next_action: ArchiveNextAction;
|
|
199
|
+
}
|
|
200
|
+
export declare class PortableArchiveError extends RuntimeKernelTypedError {
|
|
201
|
+
constructor(code: ArchiveErrorCode, message: string, details?: RuntimeKernelTypedErrorDetails);
|
|
202
|
+
}
|
|
203
|
+
export declare function canonicalizePortableArchiveJson(value: unknown): string;
|
|
204
|
+
export declare function computePortableArchiveBytesDigest(bytes: Uint8Array): `sha256:${string}`;
|
|
205
|
+
export declare function computePortableArchiveJsonDigest(value: unknown): `sha256:${string}`;
|
|
206
|
+
export declare function computePortableArchiveLogicalDigest(index: PortableArchiveIndex): `sha256:${string}`;
|
|
207
|
+
export declare function inspectPortableArchive(input: PortableArchiveVerifyInput): Promise<PortableArchiveVerifyResult>;
|
|
208
|
+
export declare function importPortableArchive(ports: PortableArchiveImportPorts, input: PortableArchiveImportInput): Promise<PortableArchiveImportResult>;
|
|
209
|
+
export declare function verifyPortableArchive(input: PortableArchiveVerifyInput): Promise<PortableArchiveVerifyResult>;
|
|
210
|
+
//# sourceMappingURL=archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"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"}
|