lastlight-shared 0.3.7 → 0.4.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/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * `lastlight-shared` — the light modules shared by the published `lastlight`
3
3
  * CLI and `lastlight-core`. Node built-ins + `yaml` / `@clack/prompts` /
4
4
  * `chalk` / `@earendil-works/pi-ai` (oauth subpath) / `lastlight-workflow-engine`
5
- * (workflow schema) only — no heavy runtime deps (better-sqlite3, slack,
5
+ * (workflow schema) only — no heavy runtime deps (drizzle/libsql, slack,
6
6
  * octokit, hono, otel, agentic-pi) are ever reachable from here (fence F4).
7
7
  *
8
8
  * Invariant: no edge from `shared` back to `lastlight-core`.
@@ -20,3 +20,4 @@ export * from "./core-pin.js";
20
20
  export * from "./workflow-loader.js";
21
21
  export * from "./config-types.js";
22
22
  export * from "./repo-config-schema.js";
23
+ export * from "./sandbox-services.js";
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * `lastlight-shared` — the light modules shared by the published `lastlight`
3
3
  * CLI and `lastlight-core`. Node built-ins + `yaml` / `@clack/prompts` /
4
4
  * `chalk` / `@earendil-works/pi-ai` (oauth subpath) / `lastlight-workflow-engine`
5
- * (workflow schema) only — no heavy runtime deps (better-sqlite3, slack,
5
+ * (workflow schema) only — no heavy runtime deps (drizzle/libsql, slack,
6
6
  * octokit, hono, otel, agentic-pi) are ever reachable from here (fence F4).
7
7
  *
8
8
  * Invariant: no edge from `shared` back to `lastlight-core`.
@@ -20,4 +20,5 @@ export * from "./core-pin.js";
20
20
  export * from "./workflow-loader.js";
21
21
  export * from "./config-types.js";
22
22
  export * from "./repo-config-schema.js";
23
+ export * from "./sandbox-services.js";
23
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
@@ -76,6 +76,20 @@ export interface RepoConfigPolicy {
76
76
  * `false` keeps `lastlight.yml` only.
77
77
  */
78
78
  allowAssets: boolean;
79
+ /**
80
+ * Container images a repo may declare as dependency services, registry-qualified
81
+ * (`docker.io/library/postgres:*`, `mcr.microsoft.com/mssql/server:*`).
82
+ *
83
+ * NOTE the polarity is the INVERSE of {@link allowedModels}: `null` (the default)
84
+ * denies EVERY image, where a null `allowedModels` is permissive. A model spec is a
85
+ * choice among providers the harness already knows how to talk to; a service image is
86
+ * arbitrary code pulled onto operator infrastructure, outside the sandbox's egress
87
+ * policy. Deny-all is the only safe default, so this stays inert until an operator
88
+ * opts in. See `docs/plans/sandbox-services/README.md` decision 7.
89
+ */
90
+ allowedImages: string[] | null;
91
+ /** Ceiling on dependency services per phase. */
92
+ maxServices: number;
79
93
  }
80
94
  /**
81
95
  * The allow-list a deployment gets when it says nothing. Kept as a constant so
@@ -114,6 +128,8 @@ export type RepoConfigWarningCode =
114
128
  | "model-not-allowed"
115
129
  /** A model spec whose `provider/` prefix isn't a provider we can wire. */
116
130
  | "unknown-provider"
131
+ /** A service image outside `repoConfig.allowedImages`. */
132
+ | "service-not-allowed"
117
133
  /** An `approval` entry that would clear a gate — the layer is add-only. */
118
134
  | "approval-downgrade"
119
135
  /**
@@ -227,6 +243,18 @@ export interface RepoMergedConfig {
227
243
  * clamp the three blocks above share does not apply here.
228
244
  */
229
245
  notifications: NotificationsConfig;
246
+ /**
247
+ * Dependency services this repo's phases run against, as RAW declarations keyed by
248
+ * service name (`docs/plans/sandbox-services`).
249
+ *
250
+ * Deliberately untyped plain data rather than parsed `ServiceSpec`s: this record is
251
+ * persisted as JSON on the run and rehydrated on resume, and a `PortMapping` is a
252
+ * class instance that would not survive the round trip. Consumers re-parse through
253
+ * `parseServiceSpec`. There is no operator-side value to merge onto — an operator
254
+ * bounds services via `repoConfig.allowedImages`, not by declaring any — so this is
255
+ * always either the repo's own block or empty.
256
+ */
257
+ services: Record<string, unknown>;
230
258
  }
231
259
  /** Provenance mirror of {@link RepoMergedConfig} — each leaf tagged with its winning layer. */
232
260
  export interface RepoConfigSources {
@@ -40,6 +40,7 @@ import { join, resolve, sep } from "node:path";
40
40
  import { parse as parseYaml } from "yaml";
41
41
  import { providerByPrefix, oauthProviderByModelPrefix } from "./providers.js";
42
42
  import { DIAGNOSIS_CLASSES, defaultDependenciesConfig, defaultFixConfig, defaultNotificationsConfig, defaultReviewConfig, dependencyImpactRank, isDependencyImpact, isDiagnosisClass, isReviewTrigger, reviewTriggerRank, } from "./config-types.js";
43
+ import { ImageAllowlist, parseServiceSpec } from "./sandbox-services.js";
43
44
  // ---------------------------------------------------------------------------
44
45
  // Bounds
45
46
  // ---------------------------------------------------------------------------
@@ -75,6 +76,7 @@ export const DEFAULT_REPO_CONFIG_ALLOW_KEYS = [
75
76
  "dependencies",
76
77
  "review",
77
78
  "notifications",
79
+ "services",
78
80
  ];
79
81
  /**
80
82
  * The bounds to assume when no deployment config is in reach — the shipped
@@ -88,6 +90,10 @@ export function defaultRepoConfigPolicy() {
88
90
  allowKeys: [...DEFAULT_REPO_CONFIG_ALLOW_KEYS],
89
91
  allowedModels: null,
90
92
  allowAssets: true,
93
+ // Deny-all: the KEY is settable by default, the CAPABILITY is not granted until an
94
+ // operator lists images. See RepoConfigPolicy.allowedImages for the polarity note.
95
+ allowedImages: null,
96
+ maxServices: 2,
91
97
  };
92
98
  }
93
99
  /**
@@ -346,6 +352,9 @@ export function sanitizeRepoConfigLayer(raw, policy, base, repo) {
346
352
  case "notifications":
347
353
  assignIfAny(layer, "notifications", sanitizeNotifications(value, policy, warn));
348
354
  break;
355
+ case "services":
356
+ assignIfAny(layer, "services", sanitizeServices(value, policy, warn));
357
+ break;
349
358
  default:
350
359
  // Allow-listed by the operator but not a key this module knows how to
351
360
  // bound. Refusing is the safe direction: an unbounded pass-through
@@ -801,6 +810,48 @@ function sanitizeReview(raw, policy, base, warn) {
801
810
  }
802
811
  return out;
803
812
  }
813
+ /**
814
+ * `services:` — a CAPABILITY GRANT, not a clamp.
815
+ *
816
+ * Every policy block above answers "is the repo asking to be looser than the operator?".
817
+ * A service declaration has no such ordering: it is a request measured against an
818
+ * allowlist. So this is modelled on {@link sanitizeNotifications} — shape validation plus
819
+ * one bound — rather than on the `policy-downgrade` clamps, where there is an operator
820
+ * value to fall back to. Dropping still fails in the safe direction: no service.
821
+ *
822
+ * SET-level rules (port collisions, the count ceiling) are deliberately NOT applied here.
823
+ * They belong to `ServiceSet` in `sandbox-services.ts`, which is the only place the whole
824
+ * phase's port space is visible. This function admits one entry at a time.
825
+ */
826
+ function sanitizeServices(raw, policy, warn) {
827
+ if (!isPlainObject(raw)) {
828
+ warn("invalid-value", "services", `Ignored "services" in .lastlight/${REPO_CONFIG_FILE}: it must be a mapping.`);
829
+ return undefined;
830
+ }
831
+ const allowlist = ImageAllowlist.of(policy.allowedImages);
832
+ const out = {};
833
+ for (const [name, value] of Object.entries(raw)) {
834
+ const path = `services.${name}`;
835
+ if (!isAllowedKey(path, policy.allowKeys)) {
836
+ warn("key-not-allowed", path, `Ignored "${path}": a repo may not set this key.`);
837
+ continue;
838
+ }
839
+ const spec = parseServiceSpec(name, value);
840
+ if (!spec) {
841
+ warn("invalid-value", path, `Ignored "${path}": the name must be lowercase alphanumeric with inner hyphens ` +
842
+ `(no underscores — kubernetes rejects them as container names), and the service ` +
843
+ `needs a literal "image" (no \${{ }} expressions), with optional string "env", ` +
844
+ `"ports" like "5433:5432", "healthCmd", "runAsUser".`);
845
+ continue;
846
+ }
847
+ if (!allowlist.permits(spec.image)) {
848
+ warn("service-not-allowed", path, `Ignored "${path}": "${spec.image}" is not in this deployment's repoConfig.allowedImages.`);
849
+ continue;
850
+ }
851
+ out[name] = value;
852
+ }
853
+ return out;
854
+ }
804
855
  /**
805
856
  * `notifications:` — the only repo-settable block with NO clamp direction.
806
857
  *
@@ -955,8 +1006,20 @@ function shapeMerged(value) {
955
1006
  dependencies: shapeDependencies(value.dependencies),
956
1007
  review: shapeReview(value.review),
957
1008
  notifications: shapeNotifications(value.notifications),
1009
+ services: shapeServices(value.services),
958
1010
  };
959
1011
  }
1012
+ /** Total over `services:` — keeps each well-formed declaration as opaque plain data. */
1013
+ function shapeServices(raw) {
1014
+ if (!isPlainObject(raw))
1015
+ return {};
1016
+ const out = {};
1017
+ for (const [name, value] of Object.entries(raw)) {
1018
+ if (isPlainObject(value))
1019
+ out[name] = value;
1020
+ }
1021
+ return out;
1022
+ }
960
1023
  /** Total over `notifications:`, same contract as {@link shapeFix} and friends. */
961
1024
  function shapeNotifications(raw) {
962
1025
  const d = defaultNotificationsConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"repo-config-schema.js","sourceRoot":"","sources":["../src/repo-config-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-config-schema.js","sourceRoot":"","sources":["../src/repo-config-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * The **dependency-service domain model** — what a target repo may declare it needs
3
+ * running alongside a workflow phase (a test postgres, a redis), and the bounds an
4
+ * operator puts on that.
5
+ *
6
+ * Design: `docs/plans/sandbox-services/README.md`.
7
+ *
8
+ * This module is PURE: no fs, no network, no framework types, no logger. It says what
9
+ * a phase wants; the sandbox adapters decide how to make it so. That split is the same
10
+ * one `EgressPolicy` already uses (`apps/server/src/sandbox/sandbox.ts`) — the port
11
+ * carries intent, each backend owns its mechanism, and nothing about
12
+ * `restartPolicy: Always` or `--network container:` leaks up here.
13
+ *
14
+ * It lives in `lastlight-shared` because both consumers need identical answers and only
15
+ * shared is reachable by both: core at runtime, and the CLI offline for
16
+ * `lastlight repo config validate`.
17
+ *
18
+ * The vocabulary is deliberately **adopted, not invented** — it is GitHub Actions'
19
+ * `services:` block (`image` / `env` / `ports`), which is what repo maintainers already
20
+ * write and what `skills/fixing/SKILL.md` already teaches the agent to read.
21
+ */
22
+ /**
23
+ * A port the phase's processes dial, paired with the port the service really binds.
24
+ *
25
+ * Actions' `ports: ["5433:5432"]` is a HOST mapping. There is no host boundary here —
26
+ * services share the sandbox's network namespace — so the left-hand port is instead
27
+ * served by a forwarder inside that namespace. `needsForwarder` is the whole reason
28
+ * this is a type rather than a number.
29
+ */
30
+ export declare class PortMapping {
31
+ readonly listen: number;
32
+ readonly target: number;
33
+ private constructor();
34
+ /** `"5433:5432"` or `"5432"`. Returns undefined for anything unusable. */
35
+ static parse(raw: string): PortMapping | undefined;
36
+ get needsForwarder(): boolean;
37
+ toString(): string;
38
+ }
39
+ /**
40
+ * The operator's bound on which images a repo may ask for.
41
+ *
42
+ * Polarity is deliberately the INVERSE of `RepoConfigPolicy.allowedModels`, where `null`
43
+ * means permissive ("any provider we can wire"). Here absent/null/empty denies
44
+ * everything, because an image is arbitrary code pulled onto the operator's
45
+ * infrastructure — in docker by the host daemon, in kubernetes by kubelet, in both cases
46
+ * outside the sandbox's egress policy. Inert out of the box is the required default, and
47
+ * getting this backwards would ship a remote-code-execution default.
48
+ *
49
+ * Patterns are REGISTRY-QUALIFIED. An unqualified image normalises to
50
+ * `docker.io/library/<name>`, matching docker's own resolution, so a pattern can never be
51
+ * satisfied by an attacker-chosen registry.
52
+ */
53
+ export declare class ImageAllowlist {
54
+ private readonly patterns;
55
+ private constructor();
56
+ static of(patterns: readonly string[] | null | undefined): ImageAllowlist;
57
+ get isEmpty(): boolean;
58
+ permits(image: string): boolean;
59
+ }
60
+ /** One validated dependency service. Immutable; equality is by attributes. */
61
+ export interface ServiceSpec {
62
+ readonly name: string;
63
+ readonly image: string;
64
+ readonly env: Readonly<Record<string, string>>;
65
+ readonly ports: readonly PortMapping[];
66
+ /** argv for the readiness check, run inside the service container. */
67
+ readonly healthCmd?: readonly string[];
68
+ /** uid the image expects — 70 on `postgres:*-alpine`, 999 on the debian variant. */
69
+ readonly runAsUser?: number;
70
+ /** Escape hatch for self-advertising services and deliberate port moves. */
71
+ readonly command?: readonly string[];
72
+ }
73
+ /** The operator bounds a {@link ServiceSet} is admitted against. */
74
+ export interface ServiceBounds {
75
+ allowlist: ImageAllowlist;
76
+ maxServices: number;
77
+ }
78
+ /** Why a declared service did not make it into the set. */
79
+ export interface ServiceViolation {
80
+ name: string;
81
+ reason: "image-not-allowed" | "too-many" | "port-collision";
82
+ }
83
+ /**
84
+ * A phase's services, and the invariants only the SET can enforce.
85
+ *
86
+ * Services share the sandbox's network namespace, so the whole phase has ONE flat port
87
+ * space. Two services binding the same port collide and no per-item validator can see
88
+ * it — which is why admission is an aggregate operation rather than a loop over
89
+ * independent items. `maxServices` is the other set-level rule.
90
+ *
91
+ * Admission is partial by design: a rejected service is dropped and reported, never
92
+ * thrown. A repo's config can never fail a run.
93
+ */
94
+ export declare class ServiceSet {
95
+ private readonly accepted;
96
+ private constructor();
97
+ static create(specs: readonly ServiceSpec[], bounds: ServiceBounds): {
98
+ set: ServiceSet;
99
+ violations: ServiceViolation[];
100
+ };
101
+ /** The no-services case, which is every run today. */
102
+ static empty(): ServiceSet;
103
+ get specs(): readonly ServiceSpec[];
104
+ get isEmpty(): boolean;
105
+ /** Every mapping needing a forwarder, paired with the service it fronts. */
106
+ forwarders(): readonly {
107
+ service: ServiceSpec;
108
+ mapping: PortMapping;
109
+ }[];
110
+ }
111
+ /** True iff `name` is safe as a container-name component on BOTH backends. */
112
+ export declare function isValidServiceName(name: string): boolean;
113
+ /**
114
+ * Parse one raw `services:` entry into a spec, or undefined when it cannot be
115
+ * represented. PURE — applies no policy; the caller decides how to report a rejection.
116
+ *
117
+ * `image` must be fully resolved. A quarter of the surveyed repos derive it from a CI
118
+ * matrix (one across ten postgres versions), and there is no defensible default for
119
+ * "which one", so the repo has to choose.
120
+ */
121
+ export declare function parseServiceSpec(name: string, raw: unknown): ServiceSpec | undefined;
@@ -0,0 +1,283 @@
1
+ /**
2
+ * The **dependency-service domain model** — what a target repo may declare it needs
3
+ * running alongside a workflow phase (a test postgres, a redis), and the bounds an
4
+ * operator puts on that.
5
+ *
6
+ * Design: `docs/plans/sandbox-services/README.md`.
7
+ *
8
+ * This module is PURE: no fs, no network, no framework types, no logger. It says what
9
+ * a phase wants; the sandbox adapters decide how to make it so. That split is the same
10
+ * one `EgressPolicy` already uses (`apps/server/src/sandbox/sandbox.ts`) — the port
11
+ * carries intent, each backend owns its mechanism, and nothing about
12
+ * `restartPolicy: Always` or `--network container:` leaks up here.
13
+ *
14
+ * It lives in `lastlight-shared` because both consumers need identical answers and only
15
+ * shared is reachable by both: core at runtime, and the CLI offline for
16
+ * `lastlight repo config validate`.
17
+ *
18
+ * The vocabulary is deliberately **adopted, not invented** — it is GitHub Actions'
19
+ * `services:` block (`image` / `env` / `ports`), which is what repo maintainers already
20
+ * write and what `skills/fixing/SKILL.md` already teaches the agent to read.
21
+ */
22
+ /**
23
+ * A port the phase's processes dial, paired with the port the service really binds.
24
+ *
25
+ * Actions' `ports: ["5433:5432"]` is a HOST mapping. There is no host boundary here —
26
+ * services share the sandbox's network namespace — so the left-hand port is instead
27
+ * served by a forwarder inside that namespace. `needsForwarder` is the whole reason
28
+ * this is a type rather than a number.
29
+ */
30
+ export class PortMapping {
31
+ listen;
32
+ target;
33
+ constructor(listen, target) {
34
+ this.listen = listen;
35
+ this.target = target;
36
+ }
37
+ /** `"5433:5432"` or `"5432"`. Returns undefined for anything unusable. */
38
+ static parse(raw) {
39
+ const parts = raw.trim().split(":");
40
+ if (parts.length > 2)
41
+ return undefined;
42
+ const listen = toPort(parts[0]);
43
+ const target = parts.length === 2 ? toPort(parts[1]) : listen;
44
+ if (listen === undefined || target === undefined)
45
+ return undefined;
46
+ // The forwarder is unprivileged (no NET_BIND_SERVICE, all capabilities dropped), so
47
+ // a listen port below 1024 could never be bound. Reject at parse time rather than
48
+ // failing opaquely at container start.
49
+ if (listen < 1024)
50
+ return undefined;
51
+ return new PortMapping(listen, target);
52
+ }
53
+ get needsForwarder() {
54
+ return this.listen !== this.target;
55
+ }
56
+ toString() {
57
+ return `${this.listen}:${this.target}`;
58
+ }
59
+ }
60
+ function toPort(raw) {
61
+ if (raw === undefined || !/^\d+$/.test(raw))
62
+ return undefined;
63
+ const n = Number(raw);
64
+ return n >= 1 && n <= 65535 ? n : undefined;
65
+ }
66
+ /**
67
+ * The operator's bound on which images a repo may ask for.
68
+ *
69
+ * Polarity is deliberately the INVERSE of `RepoConfigPolicy.allowedModels`, where `null`
70
+ * means permissive ("any provider we can wire"). Here absent/null/empty denies
71
+ * everything, because an image is arbitrary code pulled onto the operator's
72
+ * infrastructure — in docker by the host daemon, in kubernetes by kubelet, in both cases
73
+ * outside the sandbox's egress policy. Inert out of the box is the required default, and
74
+ * getting this backwards would ship a remote-code-execution default.
75
+ *
76
+ * Patterns are REGISTRY-QUALIFIED. An unqualified image normalises to
77
+ * `docker.io/library/<name>`, matching docker's own resolution, so a pattern can never be
78
+ * satisfied by an attacker-chosen registry.
79
+ */
80
+ export class ImageAllowlist {
81
+ patterns;
82
+ constructor(patterns) {
83
+ this.patterns = patterns;
84
+ }
85
+ static of(patterns) {
86
+ return new ImageAllowlist(patterns ? patterns.map(normaliseImage) : []);
87
+ }
88
+ get isEmpty() {
89
+ return this.patterns.length === 0;
90
+ }
91
+ permits(image) {
92
+ const candidate = normaliseImage(image);
93
+ return this.patterns.some((p) => matchesImage(candidate, p));
94
+ }
95
+ }
96
+ /** `postgres:16` → `docker.io/library/postgres:16`; registry-qualified refs pass through. */
97
+ function normaliseImage(ref) {
98
+ const trimmed = ref.trim();
99
+ const path = trimmed.split(":")[0] ?? "";
100
+ const firstSegment = path.split("/")[0] ?? "";
101
+ // The first segment is a registry only when it looks like a host: it contains a dot, a
102
+ // colon (port), or is exactly "localhost". Otherwise docker implies docker.io.
103
+ const hasRegistry = firstSegment.includes(".") || firstSegment.includes(":") || firstSegment === "localhost";
104
+ if (hasRegistry)
105
+ return trimmed;
106
+ return path.split("/").length === 1 ? `docker.io/library/${trimmed}` : `docker.io/${trimmed}`;
107
+ }
108
+ /**
109
+ * A phase's services, and the invariants only the SET can enforce.
110
+ *
111
+ * Services share the sandbox's network namespace, so the whole phase has ONE flat port
112
+ * space. Two services binding the same port collide and no per-item validator can see
113
+ * it — which is why admission is an aggregate operation rather than a loop over
114
+ * independent items. `maxServices` is the other set-level rule.
115
+ *
116
+ * Admission is partial by design: a rejected service is dropped and reported, never
117
+ * thrown. A repo's config can never fail a run.
118
+ */
119
+ export class ServiceSet {
120
+ accepted;
121
+ constructor(accepted) {
122
+ this.accepted = accepted;
123
+ }
124
+ static create(specs, bounds) {
125
+ const accepted = [];
126
+ const violations = [];
127
+ const claimed = new Set();
128
+ for (const spec of specs) {
129
+ if (!bounds.allowlist.permits(spec.image)) {
130
+ violations.push({ name: spec.name, reason: "image-not-allowed" });
131
+ continue;
132
+ }
133
+ if (accepted.length >= bounds.maxServices) {
134
+ violations.push({ name: spec.name, reason: "too-many" });
135
+ continue;
136
+ }
137
+ const wanted = portsClaimedBy(spec);
138
+ if (wanted.some((p) => claimed.has(p))) {
139
+ violations.push({ name: spec.name, reason: "port-collision" });
140
+ continue;
141
+ }
142
+ for (const p of wanted)
143
+ claimed.add(p);
144
+ accepted.push(spec);
145
+ }
146
+ return { set: new ServiceSet(accepted), violations };
147
+ }
148
+ /** The no-services case, which is every run today. */
149
+ static empty() {
150
+ return new ServiceSet([]);
151
+ }
152
+ get specs() {
153
+ return this.accepted;
154
+ }
155
+ get isEmpty() {
156
+ return this.accepted.length === 0;
157
+ }
158
+ /** Every mapping needing a forwarder, paired with the service it fronts. */
159
+ forwarders() {
160
+ const out = [];
161
+ for (const service of this.accepted) {
162
+ for (const mapping of service.ports) {
163
+ if (mapping.needsForwarder)
164
+ out.push({ service, mapping });
165
+ }
166
+ }
167
+ return out;
168
+ }
169
+ }
170
+ /** Actions expressions cannot be resolved here, so an image carrying one is rejected. */
171
+ const UNRESOLVED_EXPRESSION = /\$\{\{/;
172
+ /**
173
+ * An RFC 1123 label — the rule kubernetes validates CONTAINER NAMES against, quoted
174
+ * verbatim from the API server's own rejection message.
175
+ *
176
+ * This is stricter than the vocabulary it is adopted from, and deliberately so. GitHub
177
+ * Actions service IDs permit underscores and uppercase; kubernetes does not, and the
178
+ * backends disagree about it *silently*: the docker adapter names containers
179
+ * `lastlight-svc-<task>-<name>` (underscores fine), while the k8s adapter composes
180
+ * `svc-<name>` as a container name and the API server answers **422 at pod creation** —
181
+ * failing the whole run, not just the service.
182
+ *
183
+ * Rejecting here turns that into the documented behaviour instead: warn, drop the entry,
184
+ * run without it. A repo's config can never fail a run.
185
+ */
186
+ const RFC_1123_LABEL = /^[a-z0-9]([-a-z0-9]*[a-z0-9])?$/;
187
+ /**
188
+ * Longest service name that keeps every composed container name inside the 63-character
189
+ * label limit. The binding case is the forwarder — `fwd-<name>-<listen>`, so 4 + name + 1
190
+ * + up to 5 digits.
191
+ */
192
+ const MAX_SERVICE_NAME = 53;
193
+ /** True iff `name` is safe as a container-name component on BOTH backends. */
194
+ export function isValidServiceName(name) {
195
+ return name.length > 0 && name.length <= MAX_SERVICE_NAME && RFC_1123_LABEL.test(name);
196
+ }
197
+ /**
198
+ * Parse one raw `services:` entry into a spec, or undefined when it cannot be
199
+ * represented. PURE — applies no policy; the caller decides how to report a rejection.
200
+ *
201
+ * `image` must be fully resolved. A quarter of the surveyed repos derive it from a CI
202
+ * matrix (one across ten postgres versions), and there is no defensible default for
203
+ * "which one", so the repo has to choose.
204
+ */
205
+ export function parseServiceSpec(name, raw) {
206
+ if (!isValidServiceName(name))
207
+ return undefined;
208
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw))
209
+ return undefined;
210
+ const r = raw;
211
+ if (typeof r.image !== "string" || r.image.trim() === "")
212
+ return undefined;
213
+ if (UNRESOLVED_EXPRESSION.test(r.image))
214
+ return undefined;
215
+ const rawPorts = r.ports === undefined ? [] : r.ports;
216
+ if (!Array.isArray(rawPorts))
217
+ return undefined;
218
+ const ports = [];
219
+ for (const p of rawPorts) {
220
+ if (typeof p !== "string" && typeof p !== "number")
221
+ return undefined;
222
+ const mapping = PortMapping.parse(String(p));
223
+ if (!mapping)
224
+ return undefined;
225
+ ports.push(mapping);
226
+ }
227
+ const env = {};
228
+ if (r.env !== undefined) {
229
+ if (typeof r.env !== "object" || r.env === null || Array.isArray(r.env))
230
+ return undefined;
231
+ for (const [k, v] of Object.entries(r.env)) {
232
+ if (typeof v !== "string" && typeof v !== "number" && typeof v !== "boolean")
233
+ return undefined;
234
+ env[k] = String(v);
235
+ }
236
+ }
237
+ const healthCmd = toArgv(r.healthCmd);
238
+ if (r.healthCmd !== undefined && healthCmd === undefined)
239
+ return undefined;
240
+ const command = toArgv(r.command);
241
+ if (r.command !== undefined && command === undefined)
242
+ return undefined;
243
+ let runAsUser;
244
+ if (r.runAsUser !== undefined) {
245
+ if (typeof r.runAsUser !== "number" || !Number.isInteger(r.runAsUser) || r.runAsUser < 1) {
246
+ return undefined;
247
+ }
248
+ runAsUser = r.runAsUser;
249
+ }
250
+ return { name, image: r.image.trim(), env, ports, healthCmd, runAsUser, command };
251
+ }
252
+ /** `"pg_isready"` or `["pg_isready", "-U", "probe"]` → argv. */
253
+ function toArgv(raw) {
254
+ if (raw === undefined)
255
+ return undefined;
256
+ if (typeof raw === "string")
257
+ return raw.trim() === "" ? undefined : raw.trim().split(/\s+/);
258
+ if (Array.isArray(raw) && raw.every((x) => typeof x === "string"))
259
+ return raw;
260
+ return undefined;
261
+ }
262
+ /** Both sides of every mapping: the service binds `target`, a forwarder binds `listen`. */
263
+ function portsClaimedBy(spec) {
264
+ const ports = new Set();
265
+ for (const m of spec.ports) {
266
+ ports.add(m.target);
267
+ ports.add(m.listen);
268
+ }
269
+ return [...ports];
270
+ }
271
+ /** Exact match, or a trailing `:*` tag wildcard. No other globbing. */
272
+ function matchesImage(image, pattern) {
273
+ if (pattern.endsWith(":*")) {
274
+ const prefix = pattern.slice(0, -2);
275
+ return image === prefix || image.startsWith(`${prefix}:`);
276
+ }
277
+ // A pattern with no tag admits any tag of exactly that repository.
278
+ if (!pattern.includes(":") || pattern.lastIndexOf(":") < pattern.lastIndexOf("/")) {
279
+ return image === pattern || image.startsWith(`${pattern}:`);
280
+ }
281
+ return image === pattern;
282
+ }
283
+ //# sourceMappingURL=sandbox-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-services.js","sourceRoot":"","sources":["../src/sandbox-services.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lastlight-shared",
3
- "version": "0.3.7",
3
+ "version": "0.4.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/nearform/lastlight.git",
@@ -47,6 +47,10 @@
47
47
  "types": "./dist/repo-config-schema.d.ts",
48
48
  "import": "./dist/repo-config-schema.js"
49
49
  },
50
+ "./sandbox-services": {
51
+ "types": "./dist/sandbox-services.d.ts",
52
+ "import": "./dist/sandbox-services.js"
53
+ },
50
54
  "./package.json": "./package.json"
51
55
  },
52
56
  "files": [
@@ -61,7 +65,7 @@
61
65
  "@earendil-works/pi-ai": "^0.84.1",
62
66
  "chalk": "^6.0.0",
63
67
  "yaml": "^2.8.3",
64
- "lastlight-workflow-engine": "0.3.5"
68
+ "lastlight-workflow-engine": "0.4.0"
65
69
  },
66
70
  "devDependencies": {
67
71
  "@types/node": "^26.1.1",