sporades 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.
Files changed (112) hide show
  1. package/Dockerfile.base +19 -0
  2. package/LICENSE +21 -0
  3. package/README.md +289 -0
  4. package/bin/sporades-host-helper.js +4001 -0
  5. package/bin/sporades.js +14198 -0
  6. package/dist/base-image.d.ts +43 -0
  7. package/dist/base-image.d.ts.map +1 -0
  8. package/dist/base-image.js +53 -0
  9. package/dist/base-image.js.map +1 -0
  10. package/dist/bundle-pipeline.d.ts +110 -0
  11. package/dist/bundle-pipeline.d.ts.map +1 -0
  12. package/dist/bundle-pipeline.js +369 -0
  13. package/dist/bundle-pipeline.js.map +1 -0
  14. package/dist/capsule-services.d.ts +94 -0
  15. package/dist/capsule-services.d.ts.map +1 -0
  16. package/dist/capsule-services.js +310 -0
  17. package/dist/capsule-services.js.map +1 -0
  18. package/dist/cli/cli-help.d.ts +16 -0
  19. package/dist/cli/cli-help.d.ts.map +1 -0
  20. package/dist/cli/cli-help.js +202 -0
  21. package/dist/cli/cli-help.js.map +1 -0
  22. package/dist/cli/cli-support.d.ts +17 -0
  23. package/dist/cli/cli-support.d.ts.map +1 -0
  24. package/dist/cli/cli-support.js +46 -0
  25. package/dist/cli/cli-support.js.map +1 -0
  26. package/dist/cli/github-autodeploy-workflow.d.ts +7 -0
  27. package/dist/cli/github-autodeploy-workflow.d.ts.map +1 -0
  28. package/dist/cli/github-autodeploy-workflow.js +185 -0
  29. package/dist/cli/github-autodeploy-workflow.js.map +1 -0
  30. package/dist/cli/host-helper-archive.d.ts +9 -0
  31. package/dist/cli/host-helper-archive.d.ts.map +1 -0
  32. package/dist/cli/host-helper-archive.js +74 -0
  33. package/dist/cli/host-helper-archive.js.map +1 -0
  34. package/dist/cli/host-helper-config.d.ts +15 -0
  35. package/dist/cli/host-helper-config.d.ts.map +1 -0
  36. package/dist/cli/host-helper-config.js +111 -0
  37. package/dist/cli/host-helper-config.js.map +1 -0
  38. package/dist/cli/host-helper-contract.d.ts +5 -0
  39. package/dist/cli/host-helper-contract.d.ts.map +1 -0
  40. package/dist/cli/host-helper-contract.js +5 -0
  41. package/dist/cli/host-helper-contract.js.map +1 -0
  42. package/dist/cli/host-helper-docker-types.d.ts +27 -0
  43. package/dist/cli/host-helper-docker-types.d.ts.map +1 -0
  44. package/dist/cli/host-helper-docker-types.js +2 -0
  45. package/dist/cli/host-helper-docker-types.js.map +1 -0
  46. package/dist/cli/host-helper-json.d.ts +6 -0
  47. package/dist/cli/host-helper-json.d.ts.map +1 -0
  48. package/dist/cli/host-helper-json.js +2 -0
  49. package/dist/cli/host-helper-json.js.map +1 -0
  50. package/dist/cli/host-helper-release-files.d.ts +4 -0
  51. package/dist/cli/host-helper-release-files.d.ts.map +1 -0
  52. package/dist/cli/host-helper-release-files.js +21 -0
  53. package/dist/cli/host-helper-release-files.js.map +1 -0
  54. package/dist/cli/host-helper-requests.d.ts +163 -0
  55. package/dist/cli/host-helper-requests.d.ts.map +1 -0
  56. package/dist/cli/host-helper-requests.js +2 -0
  57. package/dist/cli/host-helper-requests.js.map +1 -0
  58. package/dist/cli/host-helper-validation.d.ts +27 -0
  59. package/dist/cli/host-helper-validation.d.ts.map +1 -0
  60. package/dist/cli/host-helper-validation.js +256 -0
  61. package/dist/cli/host-helper-validation.js.map +1 -0
  62. package/dist/cli/host-request-builders.d.ts +143 -0
  63. package/dist/cli/host-request-builders.d.ts.map +1 -0
  64. package/dist/cli/host-request-builders.js +266 -0
  65. package/dist/cli/host-request-builders.js.map +1 -0
  66. package/dist/cli/hosted-capsule-contract.d.ts +128 -0
  67. package/dist/cli/hosted-capsule-contract.d.ts.map +1 -0
  68. package/dist/cli/hosted-capsule-contract.js +2 -0
  69. package/dist/cli/hosted-capsule-contract.js.map +1 -0
  70. package/dist/cli/sporades-host-helper.d.ts +3 -0
  71. package/dist/cli/sporades-host-helper.d.ts.map +1 -0
  72. package/dist/cli/sporades-host-helper.js +3120 -0
  73. package/dist/cli/sporades-host-helper.js.map +1 -0
  74. package/dist/cli/sporades.d.ts +3 -0
  75. package/dist/cli/sporades.d.ts.map +1 -0
  76. package/dist/cli/sporades.js +4066 -0
  77. package/dist/cli/sporades.js.map +1 -0
  78. package/dist/client.d.ts +7 -0
  79. package/dist/client.d.ts.map +1 -0
  80. package/dist/client.js +9 -0
  81. package/dist/client.js.map +1 -0
  82. package/dist/runtime-restart-policy.d.ts +29 -0
  83. package/dist/runtime-restart-policy.d.ts.map +1 -0
  84. package/dist/runtime-restart-policy.js +53 -0
  85. package/dist/runtime-restart-policy.js.map +1 -0
  86. package/dist/sealed-server-env.d.ts +56 -0
  87. package/dist/sealed-server-env.d.ts.map +1 -0
  88. package/dist/sealed-server-env.js +170 -0
  89. package/dist/sealed-server-env.js.map +1 -0
  90. package/dist/server-runtime-source.d.ts +1262 -0
  91. package/dist/server-runtime-source.d.ts.map +1 -0
  92. package/dist/server-runtime-source.js +6397 -0
  93. package/dist/server-runtime-source.js.map +1 -0
  94. package/dist/server.d.ts +58 -0
  95. package/dist/server.d.ts.map +1 -0
  96. package/dist/server.js +183 -0
  97. package/dist/server.js.map +1 -0
  98. package/dist/templates/client-runtime-template.d.ts +2 -0
  99. package/dist/templates/client-runtime-template.d.ts.map +1 -0
  100. package/dist/templates/client-runtime-template.js +438 -0
  101. package/dist/templates/client-runtime-template.js.map +1 -0
  102. package/dist/templates/scaffold-template.d.ts +19 -0
  103. package/dist/templates/scaffold-template.d.ts.map +1 -0
  104. package/dist/templates/scaffold-template.js +1201 -0
  105. package/dist/templates/scaffold-template.js.map +1 -0
  106. package/dist/templates/server-bundle-template.d.ts +8 -0
  107. package/dist/templates/server-bundle-template.d.ts.map +1 -0
  108. package/dist/templates/server-bundle-template.js +162 -0
  109. package/dist/templates/server-bundle-template.js.map +1 -0
  110. package/package.json +44 -0
  111. package/src/types/client.d.ts +161 -0
  112. package/src/types/server.d.ts +300 -0
@@ -0,0 +1,111 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { SPORADES_BASE_IMAGE } from "../base-image.js";
4
+ import { errorDetails, helperError } from "./cli-support.js";
5
+ const HOST_HELPER_CONFIG_FILE = "sporades-host-helper.json";
6
+ const DEFAULT_HOSTED_CAPSULE_DOCKER_IMAGE = SPORADES_BASE_IMAGE.image;
7
+ const DEFAULT_HOSTED_CAPSULE_DOCKER_NETWORK = "sporades-hosted-capsules";
8
+ const DEFAULT_HOSTED_CAPSULE_GRACE_CHECK_MS = 500;
9
+ const DEFAULT_HOST_LOG_LINES = 200;
10
+ const DEFAULT_MAX_HOST_LOG_LINES = 10000;
11
+ export function defaultHostHelperConfig() {
12
+ return {
13
+ hostedCapsule: {
14
+ dockerImage: DEFAULT_HOSTED_CAPSULE_DOCKER_IMAGE,
15
+ dockerNetwork: DEFAULT_HOSTED_CAPSULE_DOCKER_NETWORK,
16
+ graceCheckMs: DEFAULT_HOSTED_CAPSULE_GRACE_CHECK_MS,
17
+ },
18
+ logs: {
19
+ defaultLines: DEFAULT_HOST_LOG_LINES,
20
+ maxLines: DEFAULT_MAX_HOST_LOG_LINES,
21
+ },
22
+ };
23
+ }
24
+ export async function loadHostHelperConfig(request) {
25
+ const loaded = defaultHostHelperConfig();
26
+ const configPath = hostHelperConfigPath(request);
27
+ if (!configPath) {
28
+ return loaded;
29
+ }
30
+ let contents;
31
+ try {
32
+ contents = await readFile(configPath, "utf8");
33
+ }
34
+ catch (error) {
35
+ if (errorDetails(error).code === "ENOENT" && !process.env.SPORADES_HOST_HELPER_CONFIG) {
36
+ return loaded;
37
+ }
38
+ throw helperError("Failed to read Host helper config.", `Check that ${configPath} exists and is readable by the Host helper.`);
39
+ }
40
+ let config;
41
+ try {
42
+ config = JSON.parse(contents);
43
+ }
44
+ catch {
45
+ throw helperError("Host helper config is invalid JSON.", `Fix ${configPath}, then retry the Host helper command.`);
46
+ }
47
+ return applyHostHelperConfig(loaded, config, configPath);
48
+ }
49
+ function hostHelperConfigPath(request) {
50
+ if (process.env.SPORADES_HOST_HELPER_CONFIG) {
51
+ return process.env.SPORADES_HOST_HELPER_CONFIG;
52
+ }
53
+ if (typeof request.host?.remoteRoot !== "string" || request.host.remoteRoot.length === 0) {
54
+ return null;
55
+ }
56
+ return path.join(request.host.remoteRoot, HOST_HELPER_CONFIG_FILE);
57
+ }
58
+ function applyHostHelperConfig(loaded, config, configPath) {
59
+ assertPlainObject(config, "Host helper config", configPath);
60
+ assertKnownKeys(config, ["hostedCapsule", "logs"], "Host helper config", configPath);
61
+ const hostedCapsule = config.hostedCapsule ?? {};
62
+ assertPlainObject(hostedCapsule, "Host helper hostedCapsule config", configPath);
63
+ assertKnownKeys(hostedCapsule, ["dockerImage", "dockerNetwork", "graceCheckMs"], "Host helper hostedCapsule config", configPath);
64
+ const logs = config.logs ?? {};
65
+ assertPlainObject(logs, "Host helper logs config", configPath);
66
+ assertKnownKeys(logs, ["defaultLines", "maxLines"], "Host helper logs config", configPath);
67
+ if (Object.hasOwn(hostedCapsule, "dockerImage")) {
68
+ loaded.hostedCapsule.dockerImage = readConfigString(hostedCapsule.dockerImage, "hostedCapsule.dockerImage", configPath);
69
+ }
70
+ if (Object.hasOwn(hostedCapsule, "dockerNetwork")) {
71
+ loaded.hostedCapsule.dockerNetwork = readConfigString(hostedCapsule.dockerNetwork, "hostedCapsule.dockerNetwork", configPath);
72
+ }
73
+ if (Object.hasOwn(hostedCapsule, "graceCheckMs")) {
74
+ loaded.hostedCapsule.graceCheckMs = readConfigPositiveInteger(hostedCapsule.graceCheckMs, "hostedCapsule.graceCheckMs", configPath);
75
+ }
76
+ if (Object.hasOwn(logs, "defaultLines")) {
77
+ loaded.logs.defaultLines = readConfigPositiveInteger(logs.defaultLines, "logs.defaultLines", configPath);
78
+ }
79
+ if (Object.hasOwn(logs, "maxLines")) {
80
+ loaded.logs.maxLines = readConfigPositiveInteger(logs.maxLines, "logs.maxLines", configPath);
81
+ }
82
+ if (loaded.logs.defaultLines > loaded.logs.maxLines) {
83
+ throw helperError("Host helper config is invalid.", `Set logs.defaultLines less than or equal to logs.maxLines in ${configPath}.`);
84
+ }
85
+ return loaded;
86
+ }
87
+ function assertPlainObject(value, label, configPath) {
88
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
89
+ throw helperError("Host helper config is invalid.", `${label} must be a JSON object in ${configPath}.`);
90
+ }
91
+ }
92
+ function assertKnownKeys(value, knownKeys, label, configPath) {
93
+ for (const key of Object.keys(value)) {
94
+ if (!knownKeys.includes(key)) {
95
+ throw helperError("Host helper config is invalid.", `${label} contains unsupported key "${key}" in ${configPath}.`);
96
+ }
97
+ }
98
+ }
99
+ function readConfigString(value, key, configPath) {
100
+ if (typeof value !== "string" || value.trim().length === 0) {
101
+ throw helperError("Host helper config is invalid.", `Set ${key} to a non-empty string in ${configPath}.`);
102
+ }
103
+ return value;
104
+ }
105
+ function readConfigPositiveInteger(value, key, configPath) {
106
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 1) {
107
+ throw helperError("Host helper config is invalid.", `Set ${key} to a positive whole number in ${configPath}.`);
108
+ }
109
+ return value;
110
+ }
111
+ //# sourceMappingURL=host-helper-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-config.js","sourceRoot":"","sources":["../../src/cli/host-helper-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./host-helper-json.js";
2
+ export * from "./host-helper-requests.js";
3
+ export * from "./hosted-capsule-contract.js";
4
+ export * from "./host-helper-docker-types.js";
5
+ //# sourceMappingURL=host-helper-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-contract.d.ts","sourceRoot":"","sources":["../../src/cli/host-helper-contract.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./host-helper-json.js";
2
+ export * from "./host-helper-requests.js";
3
+ export * from "./hosted-capsule-contract.js";
4
+ export * from "./host-helper-docker-types.js";
5
+ //# sourceMappingURL=host-helper-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-contract.js","sourceRoot":"","sources":["../../src/cli/host-helper-contract.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { JsonObject } from "./host-helper-json.js";
2
+ export type CommandResult = {
3
+ ok: boolean;
4
+ stdout: string;
5
+ stderr: string;
6
+ status: number | null;
7
+ error?: Error;
8
+ };
9
+ export type DockerCommandResult = CommandResult;
10
+ export type DockerPsContainerRaw = JsonObject & {
11
+ ID?: string;
12
+ Names?: string;
13
+ Image?: string;
14
+ State?: string;
15
+ Status?: string;
16
+ Labels?: string;
17
+ };
18
+ export type DockerStatsRaw = JsonObject & {
19
+ Name?: string;
20
+ CPUPerc?: string;
21
+ MemUsage?: string;
22
+ MemPerc?: string;
23
+ NetIO?: string;
24
+ BlockIO?: string;
25
+ PIDs?: string;
26
+ };
27
+ //# sourceMappingURL=host-helper-docker-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-docker-types.d.ts","sourceRoot":"","sources":["../../src/cli/host-helper-docker-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=host-helper-docker-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-docker-types.js","sourceRoot":"","sources":["../../src/cli/host-helper-docker-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export type JsonPrimitive = string | number | boolean | null;
2
+ export type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
3
+ export type JsonObject = {
4
+ [key: string]: unknown;
5
+ };
6
+ //# sourceMappingURL=host-helper-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-json.d.ts","sourceRoot":"","sources":["../../src/cli/host-helper-json.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,EAAE,GAAG,UAAU,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=host-helper-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-json.js","sourceRoot":"","sources":["../../src/cli/host-helper-json.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { HostHelperRelease } from "./host-helper-contract.js";
2
+ export declare function expectedReleaseFiles(release: HostHelperRelease): string[];
3
+ export declare function isExpectedClaimedReleaseFile(file: unknown): boolean;
4
+ //# sourceMappingURL=host-helper-release-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-release-files.d.ts","sourceRoot":"","sources":["../../src/cli/host-helper-release-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,YAS9D;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,WASzD"}
@@ -0,0 +1,21 @@
1
+ export function expectedReleaseFiles(release) {
2
+ const files = ["server.mjs", "client.js", "index.html", "sporades.json"];
3
+ if (release.serverEnvIncluded) {
4
+ files.push(".env.sporades.server");
5
+ }
6
+ if (release.sealedServerEnvIncluded) {
7
+ files.push(".sporades/sealed-server-env/server-env.sealed.json");
8
+ }
9
+ return files;
10
+ }
11
+ export function isExpectedClaimedReleaseFile(file) {
12
+ return [
13
+ "server.mjs",
14
+ "client.js",
15
+ "index.html",
16
+ "sporades.json",
17
+ ".env.sporades.server",
18
+ ".sporades/sealed-server-env/server-env.sealed.json",
19
+ ].includes(file);
20
+ }
21
+ //# sourceMappingURL=host-helper-release-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-release-files.js","sourceRoot":"","sources":["../../src/cli/host-helper-release-files.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC7D,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,OAAO;QACL,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,eAAe;QACf,sBAAsB;QACtB,oDAAoD;KACrD,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,163 @@
1
+ import type { JsonObject, JsonValue } from "./host-helper-json.js";
2
+ import type { HostHelperCapsuleTarget, HostHelperHost, HostHelperSealedServerEnv, HostLifecycleOptions, HostedCapsuleBaseImage, HostTlsMode } from "./hosted-capsule-contract.js";
3
+ export type HostHelperAction = "capsule.register" | "capsule.sealed-env.rotate-key" | "capsule.unregister" | "capsule.delete" | "capsule.release.install" | "capsule.release.list" | "capsule.release.rollback" | "capsule.start" | "capsule.stop" | "capsule.restart" | "capsule.stats" | "capsule.health" | "capsule.list" | "host.stats" | "host.logs" | "host.bootstrap";
4
+ export type HostHelperVerification = JsonObject & {
5
+ enabled?: boolean;
6
+ fallbackToPreviousRelease?: boolean;
7
+ healthTimeoutMs?: number;
8
+ };
9
+ export type HostHelperRelease = JsonObject & {
10
+ id: string;
11
+ remoteArchive: string;
12
+ files: string[];
13
+ hostedUrl?: string;
14
+ currentLink?: string;
15
+ directories?: {
16
+ releases?: string;
17
+ release?: string;
18
+ data?: string;
19
+ logs?: string;
20
+ [key: string]: unknown;
21
+ };
22
+ baseImage?: HostedCapsuleBaseImage | null;
23
+ restart?: boolean;
24
+ serverEnvIncluded?: boolean;
25
+ sealedServerEnvIncluded?: boolean;
26
+ sealedServerEnv?: HostHelperSealedServerEnv | null;
27
+ };
28
+ export type HostHelperRequestBase = JsonObject & {
29
+ action: HostHelperAction;
30
+ host: HostHelperHost;
31
+ capsule?: HostHelperCapsuleTarget | null;
32
+ release?: HostHelperRelease;
33
+ rollback?: {
34
+ releaseId: string;
35
+ };
36
+ lifecycle?: HostLifecycleOptions;
37
+ registration?: HostRegistrationOptions;
38
+ unregister?: HostRegistrationOptions;
39
+ delete?: HostRegistrationOptions;
40
+ logs?: HostLogsOptions;
41
+ bootstrap?: HostBootstrapOptions;
42
+ source?: "http" | "stdout" | "stderr";
43
+ lines?: number;
44
+ verification?: HostHelperVerification;
45
+ };
46
+ export type HostRegistrationOptions = JsonObject & {
47
+ subname?: string;
48
+ domain?: string;
49
+ remoteCapsuleId?: string;
50
+ route?: {
51
+ log?: {
52
+ file?: string;
53
+ };
54
+ [key: string]: unknown;
55
+ };
56
+ baseImage?: HostedCapsuleBaseImage;
57
+ bootstrap?: HostBootstrapOptions;
58
+ };
59
+ export type HostLogsOptions = JsonObject & {
60
+ source?: "http" | "caddy-combined" | "stdout" | "stderr";
61
+ lines?: number;
62
+ file?: string;
63
+ path?: string;
64
+ accessLog?: {
65
+ file?: string;
66
+ };
67
+ container?: {
68
+ name?: string;
69
+ };
70
+ };
71
+ export type HostBootstrapOptions = JsonObject & {
72
+ domainDirectory?: string;
73
+ network?: string;
74
+ tls?: {
75
+ mode?: HostTlsMode | string;
76
+ directory?: string;
77
+ certificate?: string;
78
+ key?: string;
79
+ };
80
+ directories?: Record<string, string>;
81
+ substrate?: {
82
+ packages?: string[];
83
+ services?: string[];
84
+ };
85
+ caddy?: {
86
+ managedInclude?: string;
87
+ domainInclude?: string;
88
+ accessLog?: string;
89
+ };
90
+ };
91
+ export type HostBootstrapRequest = HostHelperRequestBase & {
92
+ action: "host.bootstrap";
93
+ };
94
+ export type HostRegistrationRequest = HostHelperRequestBase & {
95
+ action: "capsule.register";
96
+ capsule: HostHelperCapsuleTarget;
97
+ };
98
+ export type HostSealedEnvRotationRequest = HostHelperRequestBase & {
99
+ action: "capsule.sealed-env.rotate-key";
100
+ capsule: HostHelperCapsuleTarget;
101
+ };
102
+ export type HostUnregisterRequest = HostHelperRequestBase & {
103
+ action: "capsule.unregister";
104
+ capsule: HostHelperCapsuleTarget;
105
+ };
106
+ export type HostDeleteRequest = HostHelperRequestBase & {
107
+ action: "capsule.delete";
108
+ capsule: HostHelperCapsuleTarget;
109
+ };
110
+ export type HostReleaseInstallRequest = HostHelperRequestBase & {
111
+ action: "capsule.release.install";
112
+ capsule: HostHelperCapsuleTarget;
113
+ release: HostHelperRelease;
114
+ };
115
+ export type HostReleaseListRequest = HostHelperRequestBase & {
116
+ action: "capsule.release.list";
117
+ capsule: HostHelperCapsuleTarget;
118
+ };
119
+ export type HostReleaseRollbackRequest = HostHelperRequestBase & {
120
+ action: "capsule.release.rollback";
121
+ capsule: HostHelperCapsuleTarget;
122
+ rollback: {
123
+ releaseId: string;
124
+ };
125
+ };
126
+ export type HostLifecycleRequest = HostHelperRequestBase & {
127
+ action: "capsule.start" | "capsule.stop" | "capsule.restart";
128
+ capsule: HostHelperCapsuleTarget;
129
+ };
130
+ export type HostStatsRequest = (HostHelperRequestBase & {
131
+ action: "host.stats";
132
+ }) | (HostHelperRequestBase & {
133
+ action: "capsule.stats";
134
+ capsule: HostHelperCapsuleTarget;
135
+ });
136
+ export type HostHealthRequest = HostHelperRequestBase & {
137
+ action: "capsule.health";
138
+ capsule: HostHelperCapsuleTarget;
139
+ };
140
+ export type HostLogsRequest = HostHelperRequestBase & {
141
+ action: "host.logs";
142
+ source: "http" | "stdout" | "stderr";
143
+ lines: number;
144
+ };
145
+ export type HostCapsuleListRequest = HostHelperRequestBase & {
146
+ action: "capsule.list";
147
+ };
148
+ export type HostHelperRequest = HostBootstrapRequest | HostRegistrationRequest | HostSealedEnvRotationRequest | HostUnregisterRequest | HostDeleteRequest | HostReleaseInstallRequest | HostReleaseListRequest | HostReleaseRollbackRequest | HostLifecycleRequest | HostStatsRequest | HostHealthRequest | HostLogsRequest | HostCapsuleListRequest;
149
+ export type HostHelperErrorBody = JsonObject & {
150
+ message: string;
151
+ hint: string;
152
+ diagnostics?: JsonValue;
153
+ };
154
+ export type HostHelperEnvelope<Data = JsonValue> = {
155
+ ok: true;
156
+ data: Data;
157
+ error: null;
158
+ } | {
159
+ ok: false;
160
+ data: Data | null;
161
+ error: HostHelperErrorBody;
162
+ };
163
+ //# sourceMappingURL=host-helper-requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-requests.d.ts","sourceRoot":"","sources":["../../src/cli/host-helper-requests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=host-helper-requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-requests.js","sourceRoot":"","sources":["../../src/cli/host-helper-requests.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import type { HostHelperRelease, HostHelperRequest as HostHelperContractRequest, HostHelperCapsuleTarget } from "./host-helper-contract.js";
2
+ export type HostHelperRequest = HostHelperContractRequest & {
3
+ capsule: HostHelperCapsuleTarget;
4
+ release: HostHelperRelease;
5
+ };
6
+ export type HostLogLineLimits = {
7
+ defaultLines: number;
8
+ maxLines: number;
9
+ };
10
+ export declare function missingCapsuleHint(request: HostHelperRequest, purpose: string): string;
11
+ export declare function hostRegistryRetryCommand(request: HostHelperRequest): string;
12
+ export declare function validateLifecycleRequest(request: HostHelperRequest): void;
13
+ export declare function validateSealedEnvRotationRequest(request: HostHelperRequest): void;
14
+ export declare function validateStatsRequest(request: HostHelperRequest): void;
15
+ export declare function validateReleaseListRequest(request: HostHelperRequest): void;
16
+ export declare function validateHealthRequest(request: HostHelperRequest): void;
17
+ export declare function validateHostStatsRequest(request: HostHelperRequest): void;
18
+ export declare function validateRollbackRequest(request: HostHelperRequest): void;
19
+ export declare function validateHostLogsRequest(request: HostHelperRequest, limits: HostLogLineLimits): void;
20
+ export declare function validateListRequest(request: HostHelperRequest): void;
21
+ export declare function validateListRegistryRecord(request: HostHelperRequest, record: unknown, recordPath: string): void;
22
+ export declare function validateBootstrapRequest(request: HostHelperRequest): void;
23
+ export declare function validateRegisterRequest(request: HostHelperRequest): void;
24
+ export declare function validateUnregisterRequest(request: HostHelperRequest): void;
25
+ export declare function validateDeleteRequest(request: HostHelperRequest): void;
26
+ export declare function validateInstallRequest(request: HostHelperRequest): void;
27
+ //# sourceMappingURL=host-helper-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-helper-validation.d.ts","sourceRoot":"","sources":["../../src/cli/host-helper-validation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAG5I,MAAM,MAAM,iBAAiB,GAAG,yBAAyB,GAAG;IAC1D,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,UAW7E;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,UAElE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,QAUlE;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iBAAiB,QAU1E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,QAU9D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,QAUpE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,QAU/D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,QASlE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,QAkBjE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,QA6B5F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,QAS7D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAiBzG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,QAgBlE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,QA4BjE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,QAqBnE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,QAqB/D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,QAsChE"}