@cat-factory/integrations 0.32.0 → 0.34.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 +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/modules/documents/ConfluenceProvider.d.ts +1 -2
- package/dist/modules/documents/ConfluenceProvider.d.ts.map +1 -1
- package/dist/modules/documents/DocumentConnectionService.d.ts +11 -28
- package/dist/modules/documents/DocumentConnectionService.d.ts.map +1 -1
- package/dist/modules/documents/DocumentConnectionService.js +12 -71
- package/dist/modules/documents/DocumentConnectionService.js.map +1 -1
- package/dist/modules/documents/DocumentImportService.d.ts +4 -7
- package/dist/modules/documents/DocumentImportService.d.ts.map +1 -1
- package/dist/modules/documents/DocumentImportService.js +6 -9
- package/dist/modules/documents/DocumentImportService.js.map +1 -1
- package/dist/modules/documents/FigmaProvider.d.ts +4 -5
- package/dist/modules/documents/FigmaProvider.d.ts.map +1 -1
- package/dist/modules/documents/FigmaProvider.js +22 -21
- package/dist/modules/documents/FigmaProvider.js.map +1 -1
- package/dist/modules/documents/GitHubDocsProvider.d.ts +1 -2
- package/dist/modules/documents/GitHubDocsProvider.d.ts.map +1 -1
- package/dist/modules/documents/LinearDocumentProvider.d.ts +1 -2
- package/dist/modules/documents/LinearDocumentProvider.d.ts.map +1 -1
- package/dist/modules/documents/NotionProvider.d.ts +1 -2
- package/dist/modules/documents/NotionProvider.d.ts.map +1 -1
- package/dist/modules/documents/{ClaudeDesignProvider.d.ts → ZeplinProvider.d.ts} +12 -11
- package/dist/modules/documents/ZeplinProvider.d.ts.map +1 -0
- package/dist/modules/documents/ZeplinProvider.js +126 -0
- package/dist/modules/documents/ZeplinProvider.js.map +1 -0
- package/dist/modules/documents/design.logic.d.ts +60 -0
- package/dist/modules/documents/design.logic.d.ts.map +1 -0
- package/dist/modules/documents/design.logic.js +0 -0
- package/dist/modules/documents/design.logic.js.map +1 -0
- package/dist/modules/documents/figma.logic.d.ts +30 -9
- package/dist/modules/documents/figma.logic.d.ts.map +1 -1
- package/dist/modules/documents/figma.logic.js +51 -36
- package/dist/modules/documents/figma.logic.js.map +1 -1
- package/dist/modules/documents/zeplin.logic.d.ts +102 -0
- package/dist/modules/documents/zeplin.logic.d.ts.map +1 -0
- package/dist/modules/documents/zeplin.logic.js +193 -0
- package/dist/modules/documents/zeplin.logic.js.map +1 -0
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts +19 -0
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.js +82 -12
- package/dist/modules/environments/EnvironmentProvisioningService.js.map +1 -1
- package/dist/modules/kubernetes/KubernetesRunnerTransport.d.ts.map +1 -1
- package/dist/modules/kubernetes/KubernetesRunnerTransport.js +22 -4
- package/dist/modules/kubernetes/KubernetesRunnerTransport.js.map +1 -1
- package/dist/modules/kubernetes/kubernetes.logic.d.ts +29 -0
- package/dist/modules/kubernetes/kubernetes.logic.d.ts.map +1 -1
- package/dist/modules/kubernetes/kubernetes.logic.js +121 -0
- package/dist/modules/kubernetes/kubernetes.logic.js.map +1 -1
- package/package.json +3 -3
- package/dist/modules/documents/ClaudeDesignProvider.d.ts.map +0 -1
- package/dist/modules/documents/ClaudeDesignProvider.js +0 -163
- package/dist/modules/documents/ClaudeDesignProvider.js.map +0 -1
- package/dist/modules/documents/claudeDesign.logic.d.ts +0 -88
- package/dist/modules/documents/claudeDesign.logic.d.ts.map +0 -1
- package/dist/modules/documents/claudeDesign.logic.js +0 -317
- package/dist/modules/documents/claudeDesign.logic.js.map +0 -1
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { DocumentSourceDescriptor } from '@cat-factory/kernel';
|
|
2
|
+
import { type DesignBlock, type DesignComponent, type DesignContext, type DesignToken } from './design.logic.js';
|
|
3
|
+
/** Zeplin's REST API host. The PAT is sent to this host only — see {@link assertSafeZeplinUrl}. */
|
|
4
|
+
export declare const ZEPLIN_API_HOST = "api.zeplin.dev";
|
|
5
|
+
/** What the connect UI renders, and which credentials the provider needs. */
|
|
6
|
+
export declare const ZEPLIN_DESCRIPTOR: DocumentSourceDescriptor;
|
|
7
|
+
/**
|
|
8
|
+
* The Zeplin REST host is fixed, so any request/redirect must stay on `api.zeplin.dev`
|
|
9
|
+
* over https; a redirect off-host is treated as an SSRF attempt and rejected. Mirrors the
|
|
10
|
+
* per-hop guard the other host-pinned providers run. Kept pure so it is unit-testable
|
|
11
|
+
* without a network.
|
|
12
|
+
*/
|
|
13
|
+
export declare function assertSafeZeplinUrl(url: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve a Zeplin reference from raw user input into the stable composite external id
|
|
16
|
+
* this provider stores: `"<projectId>"` for a whole-project link, or
|
|
17
|
+
* `"<projectId>:<screenId>"` for a specific screen. Accepts an `app.zeplin.io`
|
|
18
|
+
* project/screen URL, a bare project id, or a `projectId:screenId` string. Returns null
|
|
19
|
+
* when no project id is found.
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseZeplinRef(input: string): string | null;
|
|
22
|
+
/** Split a composite external id back into its project id and optional screen id. */
|
|
23
|
+
export declare function splitZeplinExternalId(externalId: string): {
|
|
24
|
+
projectId: string;
|
|
25
|
+
screenId?: string;
|
|
26
|
+
};
|
|
27
|
+
/** Build the canonical web URL stored on the imported document. */
|
|
28
|
+
export declare function zeplinUrlFor(externalId: string): string;
|
|
29
|
+
/** Accept either a bare array or a `{ <key>: [...] }` envelope, else an empty array. */
|
|
30
|
+
export declare function unwrapArray<T>(value: unknown, key: string): T[];
|
|
31
|
+
/** Accept either a bare object or a `{ <key>: {...} }` envelope, else null. */
|
|
32
|
+
export declare function unwrapObject<T>(value: unknown, key: string): T | null;
|
|
33
|
+
export interface ZeplinScreen {
|
|
34
|
+
id?: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
description?: string;
|
|
37
|
+
image?: {
|
|
38
|
+
width?: number;
|
|
39
|
+
height?: number;
|
|
40
|
+
} | null;
|
|
41
|
+
}
|
|
42
|
+
export interface ZeplinComponent {
|
|
43
|
+
id?: string;
|
|
44
|
+
name?: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
section?: {
|
|
47
|
+
name?: string;
|
|
48
|
+
} | null;
|
|
49
|
+
}
|
|
50
|
+
/** A Zeplin colour token: 0–255 channels + 0–1 alpha (Zeplin's representation). */
|
|
51
|
+
interface ZeplinColor {
|
|
52
|
+
name?: string;
|
|
53
|
+
r?: number;
|
|
54
|
+
g?: number;
|
|
55
|
+
b?: number;
|
|
56
|
+
a?: number;
|
|
57
|
+
}
|
|
58
|
+
interface ZeplinTextStyle {
|
|
59
|
+
name?: string;
|
|
60
|
+
font_family?: string;
|
|
61
|
+
font_size?: number;
|
|
62
|
+
}
|
|
63
|
+
interface ZeplinSpacing {
|
|
64
|
+
name?: string;
|
|
65
|
+
value?: number;
|
|
66
|
+
}
|
|
67
|
+
/** The `/projects/:id/design_tokens` payload we read (lenient — verify-at-build). */
|
|
68
|
+
export interface ZeplinDesignTokens {
|
|
69
|
+
colors?: ZeplinColor[];
|
|
70
|
+
text_styles?: ZeplinTextStyle[];
|
|
71
|
+
spacing?: ZeplinSpacing[];
|
|
72
|
+
measurements?: ZeplinSpacing[];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The single source of truth for how many screens a whole-project import pulls and
|
|
76
|
+
* renders: {@link ZeplinProvider} builds its `?limit=` query from this, and
|
|
77
|
+
* {@link zeplinScreensToBlocks} bounds the rendered blocks by it, so the fetch and the
|
|
78
|
+
* render can't drift.
|
|
79
|
+
*/
|
|
80
|
+
export declare const MAX_SCREENS = 40;
|
|
81
|
+
/** Map Zeplin screens into source-neutral blocks (name + an optional description line). */
|
|
82
|
+
export declare function zeplinScreensToBlocks(screens: ZeplinScreen[]): DesignBlock[];
|
|
83
|
+
/** Map Zeplin components into source-neutral components (grouped by their section). */
|
|
84
|
+
export declare function zeplinComponentsToDesign(components: ZeplinComponent[]): DesignComponent[];
|
|
85
|
+
/** Map Zeplin design tokens (colours / typography / spacing) into source-neutral tokens. */
|
|
86
|
+
export declare function zeplinTokens(tokens: ZeplinDesignTokens | undefined | null): DesignToken[];
|
|
87
|
+
export interface ZeplinContextInput {
|
|
88
|
+
/** The composite external id (`<projectId>` or `<projectId>:<screenId>`). */
|
|
89
|
+
externalId: string;
|
|
90
|
+
/** The Zeplin project's name (from the API), used for the document title. */
|
|
91
|
+
projectName: string;
|
|
92
|
+
/** The fetched screens (the whole project, or just the one referenced). */
|
|
93
|
+
screens: ZeplinScreen[];
|
|
94
|
+
/** The project's design-system components. */
|
|
95
|
+
components: ZeplinComponent[];
|
|
96
|
+
/** The project's design tokens, or null when unavailable. */
|
|
97
|
+
designTokens?: ZeplinDesignTokens | null;
|
|
98
|
+
}
|
|
99
|
+
/** Assemble the fetched Zeplin pieces into the shared {@link DesignContext}. */
|
|
100
|
+
export declare function buildZeplinDesignContext(input: ZeplinContextInput): DesignContext;
|
|
101
|
+
export {};
|
|
102
|
+
//# sourceMappingURL=zeplin.logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zeplin.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/zeplin.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { dimensionMeta, } from './design.logic.js';
|
|
2
|
+
import { assertHostPinned } from './http.js';
|
|
3
|
+
// Zeplin-specific pure logic, kept out of the provider shell so it is unit-testable
|
|
4
|
+
// without a live workspace: parsing/canonicalising a project+screen ref out of user input,
|
|
5
|
+
// the fixed-host SSRF guard, and mapping Zeplin's screens / components / design-tokens JSON
|
|
6
|
+
// into the source-neutral `DesignContext` the shared `renderDesignContext` emits. The
|
|
7
|
+
// `fetch` itself (the `Authorization: Bearer` REST client) lives in `ZeplinProvider`.
|
|
8
|
+
//
|
|
9
|
+
// Zeplin is the design→dev *handoff* tool, so its content model is screens + a
|
|
10
|
+
// design-system (components + tokens), NOT Figma's node tree — which is exactly why it
|
|
11
|
+
// rides the shared `DesignContext` rather than a Figma-shaped renderer.
|
|
12
|
+
/** Zeplin's REST API host. The PAT is sent to this host only — see {@link assertSafeZeplinUrl}. */
|
|
13
|
+
export const ZEPLIN_API_HOST = 'api.zeplin.dev';
|
|
14
|
+
/** What the connect UI renders, and which credentials the provider needs. */
|
|
15
|
+
export const ZEPLIN_DESCRIPTOR = {
|
|
16
|
+
source: 'zeplin',
|
|
17
|
+
label: 'Zeplin',
|
|
18
|
+
icon: 'i-lucide-layout-template',
|
|
19
|
+
credentialFields: [
|
|
20
|
+
{
|
|
21
|
+
key: 'apiToken',
|
|
22
|
+
label: 'Personal access token',
|
|
23
|
+
secret: true,
|
|
24
|
+
placeholder: 'zeplin PAT',
|
|
25
|
+
help: 'Create a personal access token in Zeplin → Profile → Developer → Personal access tokens. It is stored sealed and shared by the workspace.',
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
refLabel: 'Zeplin project or screen URL',
|
|
29
|
+
refPlaceholder: 'https://app.zeplin.io/project/<projectId>/screen/<screenId>',
|
|
30
|
+
// No catalogue search exposed here — import a specific project/screen by URL.
|
|
31
|
+
searchable: false,
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The Zeplin REST host is fixed, so any request/redirect must stay on `api.zeplin.dev`
|
|
35
|
+
* over https; a redirect off-host is treated as an SSRF attempt and rejected. Mirrors the
|
|
36
|
+
* per-hop guard the other host-pinned providers run. Kept pure so it is unit-testable
|
|
37
|
+
* without a network.
|
|
38
|
+
*/
|
|
39
|
+
export function assertSafeZeplinUrl(url) {
|
|
40
|
+
assertHostPinned(url, ZEPLIN_API_HOST, 'Zeplin');
|
|
41
|
+
}
|
|
42
|
+
// ---- Ref parsing + canonical URL ------------------------------------------
|
|
43
|
+
const ID = /^[A-Za-z0-9]+$/;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve a Zeplin reference from raw user input into the stable composite external id
|
|
46
|
+
* this provider stores: `"<projectId>"` for a whole-project link, or
|
|
47
|
+
* `"<projectId>:<screenId>"` for a specific screen. Accepts an `app.zeplin.io`
|
|
48
|
+
* project/screen URL, a bare project id, or a `projectId:screenId` string. Returns null
|
|
49
|
+
* when no project id is found.
|
|
50
|
+
*/
|
|
51
|
+
export function parseZeplinRef(input) {
|
|
52
|
+
const trimmed = input.trim();
|
|
53
|
+
if (!trimmed)
|
|
54
|
+
return null;
|
|
55
|
+
// Bare ref: a project id, optionally `:`-suffixed with a screen id.
|
|
56
|
+
if (!trimmed.includes('/') && !/zeplin\.io/i.test(trimmed)) {
|
|
57
|
+
const [project, screen, ...rest] = trimmed.split(':');
|
|
58
|
+
if (!project || !ID.test(project) || rest.length)
|
|
59
|
+
return null;
|
|
60
|
+
if (!screen)
|
|
61
|
+
return project;
|
|
62
|
+
return ID.test(screen) ? `${project}:${screen}` : project;
|
|
63
|
+
}
|
|
64
|
+
let url;
|
|
65
|
+
try {
|
|
66
|
+
url = new URL(trimmed);
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
if (!/(^|\.)zeplin\.io$/i.test(url.hostname))
|
|
72
|
+
return null;
|
|
73
|
+
const project = url.pathname.match(/\/project\/([A-Za-z0-9]+)/)?.[1];
|
|
74
|
+
if (!project)
|
|
75
|
+
return null;
|
|
76
|
+
const screen = url.pathname.match(/\/screen\/([A-Za-z0-9]+)/)?.[1];
|
|
77
|
+
return screen ? `${project}:${screen}` : project;
|
|
78
|
+
}
|
|
79
|
+
/** Split a composite external id back into its project id and optional screen id. */
|
|
80
|
+
export function splitZeplinExternalId(externalId) {
|
|
81
|
+
const idx = externalId.indexOf(':');
|
|
82
|
+
if (idx === -1)
|
|
83
|
+
return { projectId: externalId };
|
|
84
|
+
return { projectId: externalId.slice(0, idx), screenId: externalId.slice(idx + 1) };
|
|
85
|
+
}
|
|
86
|
+
/** Build the canonical web URL stored on the imported document. */
|
|
87
|
+
export function zeplinUrlFor(externalId) {
|
|
88
|
+
const { projectId, screenId } = splitZeplinExternalId(externalId);
|
|
89
|
+
const base = `https://app.zeplin.io/project/${projectId}`;
|
|
90
|
+
return screenId ? `${base}/screen/${screenId}` : base;
|
|
91
|
+
}
|
|
92
|
+
// ---- Response envelope unwrapping -----------------------------------------
|
|
93
|
+
// Zeplin's REST responses are inconsistent about wrapping collections/objects in a named
|
|
94
|
+
// envelope (`{ screens: [...] }` / `{ screen: {...} }`) vs returning them bare, so every
|
|
95
|
+
// read normalises through these. Pure + exported so the provider shell stays a thin fetch
|
|
96
|
+
// layer and the unwrap is unit-testable without a network.
|
|
97
|
+
/** Accept either a bare array or a `{ <key>: [...] }` envelope, else an empty array. */
|
|
98
|
+
export function unwrapArray(value, key) {
|
|
99
|
+
if (Array.isArray(value))
|
|
100
|
+
return value;
|
|
101
|
+
if (value && typeof value === 'object') {
|
|
102
|
+
const inner = value[key];
|
|
103
|
+
if (Array.isArray(inner))
|
|
104
|
+
return inner;
|
|
105
|
+
}
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
/** Accept either a bare object or a `{ <key>: {...} }` envelope, else null. */
|
|
109
|
+
export function unwrapObject(value, key) {
|
|
110
|
+
if (!value || typeof value !== 'object')
|
|
111
|
+
return null;
|
|
112
|
+
const inner = value[key];
|
|
113
|
+
if (inner && typeof inner === 'object')
|
|
114
|
+
return inner;
|
|
115
|
+
return value;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* The single source of truth for how many screens a whole-project import pulls and
|
|
119
|
+
* renders: {@link ZeplinProvider} builds its `?limit=` query from this, and
|
|
120
|
+
* {@link zeplinScreensToBlocks} bounds the rendered blocks by it, so the fetch and the
|
|
121
|
+
* render can't drift.
|
|
122
|
+
*/
|
|
123
|
+
export const MAX_SCREENS = 40;
|
|
124
|
+
function screenMeta(screen) {
|
|
125
|
+
return dimensionMeta(screen.image?.width, screen.image?.height);
|
|
126
|
+
}
|
|
127
|
+
/** Map Zeplin screens into source-neutral blocks (name + an optional description line). */
|
|
128
|
+
export function zeplinScreensToBlocks(screens) {
|
|
129
|
+
return screens.slice(0, MAX_SCREENS).map((screen) => ({
|
|
130
|
+
title: screen.name?.trim() || '(unnamed screen)',
|
|
131
|
+
meta: screenMeta(screen),
|
|
132
|
+
sections: screen.description?.trim()
|
|
133
|
+
? [{ heading: 'Description', lines: [screen.description.trim()] }]
|
|
134
|
+
: [],
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
137
|
+
/** Map Zeplin components into source-neutral components (grouped by their section). */
|
|
138
|
+
export function zeplinComponentsToDesign(components) {
|
|
139
|
+
return components
|
|
140
|
+
.filter((c) => c.name?.trim())
|
|
141
|
+
.map((c) => ({
|
|
142
|
+
name: c.name.trim(),
|
|
143
|
+
group: c.section?.name?.trim() || undefined,
|
|
144
|
+
note: c.description?.trim() || undefined,
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
function colorHex(c) {
|
|
148
|
+
const to2 = (n) => Math.max(0, Math.min(255, Math.round(n ?? 0)))
|
|
149
|
+
.toString(16)
|
|
150
|
+
.padStart(2, '0');
|
|
151
|
+
const hex = `#${to2(c.r)}${to2(c.g)}${to2(c.b)}`;
|
|
152
|
+
return c.a != null && c.a < 1 ? `${hex} (a=${c.a.toFixed(2)})` : hex;
|
|
153
|
+
}
|
|
154
|
+
/** Map Zeplin design tokens (colours / typography / spacing) into source-neutral tokens. */
|
|
155
|
+
export function zeplinTokens(tokens) {
|
|
156
|
+
if (!tokens)
|
|
157
|
+
return [];
|
|
158
|
+
const out = [];
|
|
159
|
+
for (const c of tokens.colors ?? []) {
|
|
160
|
+
if (c.name?.trim())
|
|
161
|
+
out.push({ collection: 'Colors', name: c.name.trim(), value: colorHex(c) });
|
|
162
|
+
}
|
|
163
|
+
for (const t of tokens.text_styles ?? []) {
|
|
164
|
+
if (!t.name?.trim())
|
|
165
|
+
continue;
|
|
166
|
+
const value = [t.font_family, t.font_size != null ? `${t.font_size}px` : null]
|
|
167
|
+
.filter(Boolean)
|
|
168
|
+
.join(' ');
|
|
169
|
+
out.push({ collection: 'Typography', name: t.name.trim(), value: value || '—' });
|
|
170
|
+
}
|
|
171
|
+
for (const s of [...(tokens.spacing ?? []), ...(tokens.measurements ?? [])]) {
|
|
172
|
+
if (s.name?.trim()) {
|
|
173
|
+
out.push({ collection: 'Spacing', name: s.name.trim(), value: String(s.value ?? '') });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return out;
|
|
177
|
+
}
|
|
178
|
+
/** Assemble the fetched Zeplin pieces into the shared {@link DesignContext}. */
|
|
179
|
+
export function buildZeplinDesignContext(input) {
|
|
180
|
+
const { projectId, screenId } = splitZeplinExternalId(input.externalId);
|
|
181
|
+
const title = screenId && input.screens[0]?.name?.trim()
|
|
182
|
+
? `${input.projectName || projectId} — ${input.screens[0].name.trim()}`
|
|
183
|
+
: input.projectName || projectId;
|
|
184
|
+
return {
|
|
185
|
+
title,
|
|
186
|
+
url: zeplinUrlFor(input.externalId),
|
|
187
|
+
blocks: zeplinScreensToBlocks(input.screens),
|
|
188
|
+
components: zeplinComponentsToDesign(input.components),
|
|
189
|
+
tokens: zeplinTokens(input.designTokens),
|
|
190
|
+
references: [],
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=zeplin.logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zeplin.logic.js","sourceRoot":"","sources":["../../../src/modules/documents/zeplin.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,25 @@ export declare class EnvironmentProvisioningService {
|
|
|
75
75
|
getHandleForBlock(workspaceId: string, blockId: string): Promise<EnvironmentHandle | null>;
|
|
76
76
|
private resolveExpiry;
|
|
77
77
|
private encryptAccess;
|
|
78
|
+
/**
|
|
79
|
+
* Build an {@link EnvironmentRecord} from its discriminating fields, owning the shared
|
|
80
|
+
* scaffolding (a fresh id + `deletedAt: null`) ONCE so the success path and the
|
|
81
|
+
* failed-provision path can't drift when the record shape gains a column — a new field on
|
|
82
|
+
* `EnvironmentRecord` becomes a compile error at both call sites instead of a silent miss.
|
|
83
|
+
*/
|
|
84
|
+
private buildEnvironmentRecord;
|
|
85
|
+
/** A block holds at most one live environment: tombstone any prior one. No-op block-less. */
|
|
86
|
+
private supersedePriorEnvironment;
|
|
87
|
+
/**
|
|
88
|
+
* Persist a `failed` environment record (superseding any prior live one) so a broken
|
|
89
|
+
* provision is STORED and projectable onto the deployer step's details — even when the
|
|
90
|
+
* provider threw before returning anything. Best-effort: its own persistence failure must
|
|
91
|
+
* not mask the original provisioning error, so it swallows errors — but it records the
|
|
92
|
+
* swallow in the provisioning log so a broken registry (DB outage / schema drift) is
|
|
93
|
+
* OBSERVABLE rather than silently dropping the very root-cause projection it exists to
|
|
94
|
+
* provide.
|
|
95
|
+
*/
|
|
96
|
+
private persistFailedEnvironment;
|
|
78
97
|
private decryptAccess;
|
|
79
98
|
private decryptFields;
|
|
80
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentProvisioningService.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentProvisioningService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAqB,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAEhB,qBAAqB,EAErB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAErF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAMrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAA;AAO7F,MAAM,WAAW,0CAA0C;IACzD,iBAAiB,EAAE,4BAA4B,CAAA;IAC/C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,6BAA6B,EAAE,6BAA6B,CAAA;IAC5D,YAAY,EAAE,YAAY,CAAA;IAC1B,WAAW,EAAE,WAAW,CAAA;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,wFAAwF;IACxF,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,uBAAuB,CAAA;IACzC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;CAC9C;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,qFAAqF;IACrF,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAYD,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,0CAA0C,EAAI;IAEjF,OAAO,KAAK,SAAS,GAEpB;IAED,mFAAmF;IAC7E,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"EnvironmentProvisioningService.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentProvisioningService.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ export class EnvironmentProvisioningService {
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
catch (error) {
|
|
51
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
51
52
|
// The provider call threw (network/auth/4xx) — log the verbatim error before
|
|
52
53
|
// it bubbles to the caller, so the attempt shows in the env provider's logs.
|
|
53
54
|
await this.deps.provisioningLog?.record({
|
|
@@ -59,24 +60,23 @@ export class EnvironmentProvisioningService {
|
|
|
59
60
|
blockId: args.blockId ?? null,
|
|
60
61
|
executionId: args.executionId ?? null,
|
|
61
62
|
outcome: 'failure',
|
|
62
|
-
error:
|
|
63
|
+
error: message,
|
|
63
64
|
detail: null,
|
|
64
65
|
});
|
|
66
|
+
// Persist a `failed` record carrying the REAL provider error so the deployer step's
|
|
67
|
+
// details can project it (`step.environment.lastError`), even though the provider
|
|
68
|
+
// threw before returning anything. Best-effort — symmetric with the returned-`failed`
|
|
69
|
+
// branch below, which already leaves a record behind.
|
|
70
|
+
await this.persistFailedEnvironment(workspaceId, args, manifest, message);
|
|
65
71
|
throw error;
|
|
66
72
|
}
|
|
67
73
|
if (provisioned.url) {
|
|
68
74
|
assertSafeEnvironmentUrl(provisioned.url, 'environment URL', this.urlPolicy);
|
|
69
75
|
}
|
|
70
76
|
// A block holds at most one live environment: supersede any prior one.
|
|
71
|
-
|
|
72
|
-
const prior = await this.deps.environmentRegistryRepository.getByBlock(workspaceId, args.blockId);
|
|
73
|
-
if (prior) {
|
|
74
|
-
await this.deps.environmentRegistryRepository.softDelete(workspaceId, prior.id, this.deps.clock.now());
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
+
await this.supersedePriorEnvironment(workspaceId, args.blockId ?? null);
|
|
77
78
|
const now = this.deps.clock.now();
|
|
78
|
-
const record = {
|
|
79
|
-
id: this.deps.idGenerator.next('env'),
|
|
79
|
+
const record = this.buildEnvironmentRecord({
|
|
80
80
|
workspaceId,
|
|
81
81
|
blockId: args.blockId ?? null,
|
|
82
82
|
executionId: args.executionId ?? null,
|
|
@@ -88,9 +88,12 @@ export class EnvironmentProvisioningService {
|
|
|
88
88
|
provisionFieldsCipher: await this.deps.secretCipher.encrypt(JSON.stringify(provisioned.fields)),
|
|
89
89
|
createdAt: now,
|
|
90
90
|
expiresAt: this.resolveExpiry(provisioned, manifest.defaultTtlMs, now),
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
// A provider that reports `status:'failed'` without throwing still carries its real
|
|
92
|
+
// reason on `provisioned.error` — surface that verbatim (not a generic literal) so the
|
|
93
|
+
// deployer step's Environment panel shows the actual root cause; fall back only when the
|
|
94
|
+
// provider gave none.
|
|
95
|
+
lastError: provisioned.status === 'failed' ? provisioned.error?.trim() || 'Provisioning failed' : null,
|
|
96
|
+
});
|
|
94
97
|
await this.deps.environmentRegistryRepository.insert(record);
|
|
95
98
|
// A provider that returns `status:'failed'` (rather than throwing) is still a
|
|
96
99
|
// failed spin-up — log it as such with the captured `lastError`.
|
|
@@ -248,6 +251,73 @@ export class EnvironmentProvisioningService {
|
|
|
248
251
|
return null;
|
|
249
252
|
return this.deps.secretCipher.encrypt(JSON.stringify(access));
|
|
250
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Build an {@link EnvironmentRecord} from its discriminating fields, owning the shared
|
|
256
|
+
* scaffolding (a fresh id + `deletedAt: null`) ONCE so the success path and the
|
|
257
|
+
* failed-provision path can't drift when the record shape gains a column — a new field on
|
|
258
|
+
* `EnvironmentRecord` becomes a compile error at both call sites instead of a silent miss.
|
|
259
|
+
*/
|
|
260
|
+
buildEnvironmentRecord(fields) {
|
|
261
|
+
return { id: this.deps.idGenerator.next('env'), deletedAt: null, ...fields };
|
|
262
|
+
}
|
|
263
|
+
/** A block holds at most one live environment: tombstone any prior one. No-op block-less. */
|
|
264
|
+
async supersedePriorEnvironment(workspaceId, blockId) {
|
|
265
|
+
if (!blockId)
|
|
266
|
+
return;
|
|
267
|
+
const prior = await this.deps.environmentRegistryRepository.getByBlock(workspaceId, blockId);
|
|
268
|
+
if (prior) {
|
|
269
|
+
await this.deps.environmentRegistryRepository.softDelete(workspaceId, prior.id, this.deps.clock.now());
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Persist a `failed` environment record (superseding any prior live one) so a broken
|
|
274
|
+
* provision is STORED and projectable onto the deployer step's details — even when the
|
|
275
|
+
* provider threw before returning anything. Best-effort: its own persistence failure must
|
|
276
|
+
* not mask the original provisioning error, so it swallows errors — but it records the
|
|
277
|
+
* swallow in the provisioning log so a broken registry (DB outage / schema drift) is
|
|
278
|
+
* OBSERVABLE rather than silently dropping the very root-cause projection it exists to
|
|
279
|
+
* provide.
|
|
280
|
+
*/
|
|
281
|
+
async persistFailedEnvironment(workspaceId, args, manifest, lastError) {
|
|
282
|
+
try {
|
|
283
|
+
await this.supersedePriorEnvironment(workspaceId, args.blockId ?? null);
|
|
284
|
+
const record = this.buildEnvironmentRecord({
|
|
285
|
+
workspaceId,
|
|
286
|
+
blockId: args.blockId ?? null,
|
|
287
|
+
executionId: args.executionId ?? null,
|
|
288
|
+
providerId: manifest.providerId,
|
|
289
|
+
externalId: null,
|
|
290
|
+
url: null,
|
|
291
|
+
status: 'failed',
|
|
292
|
+
accessCipher: null,
|
|
293
|
+
provisionFieldsCipher: null,
|
|
294
|
+
createdAt: this.deps.clock.now(),
|
|
295
|
+
expiresAt: null,
|
|
296
|
+
lastError,
|
|
297
|
+
});
|
|
298
|
+
await this.deps.environmentRegistryRepository.insert(record);
|
|
299
|
+
}
|
|
300
|
+
catch (persistError) {
|
|
301
|
+
// best-effort — never mask the original provisioning error, but leave a breadcrumb so a
|
|
302
|
+
// broken registry doesn't silently swallow the failed-env record (which would render the
|
|
303
|
+
// deployer step's lastError empty with no signal). Doubly-guarded: the log is itself
|
|
304
|
+
// best-effort and must not throw out of the catch.
|
|
305
|
+
await this.deps.provisioningLog
|
|
306
|
+
?.record({
|
|
307
|
+
workspaceId,
|
|
308
|
+
subsystem: 'environment',
|
|
309
|
+
operation: 'provision',
|
|
310
|
+
targetId: null,
|
|
311
|
+
providerId: manifest.providerId,
|
|
312
|
+
blockId: args.blockId ?? null,
|
|
313
|
+
executionId: args.executionId ?? null,
|
|
314
|
+
outcome: 'failure',
|
|
315
|
+
error: `failed to persist the failed-environment record: ${persistError instanceof Error ? persistError.message : String(persistError)}`,
|
|
316
|
+
detail: null,
|
|
317
|
+
})
|
|
318
|
+
.catch(() => undefined);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
251
321
|
async decryptAccess(cipher) {
|
|
252
322
|
if (!cipher)
|
|
253
323
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentProvisioningService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentProvisioningService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnvironmentProvisioningService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentProvisioningService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KubernetesRunnerTransport.d.ts","sourceRoot":"","sources":["../../../src/modules/kubernetes/KubernetesRunnerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"KubernetesRunnerTransport.d.ts","sourceRoot":"","sources":["../../../src/modules/kubernetes/KubernetesRunnerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAA;AA2C5B,qBAAa,yBAA0B,YAAW,eAAe;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAFhC,YACmB,MAAM,EAAE,sBAAsB,EAC9B,aAAa,EAAE,cAAc,EAC5C;IAEE,QAAQ,CACZ,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,GAAE,kBAA4B,EAClC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAQf;IAEK,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBpD;IAED,qEAAqE;IAC/D,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB9C;IAED,mFAAmF;IAC7E,cAAc,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAqBpD;YAIa,SAAS;YAaT,eAAe;IA+C7B,OAAO,CAAC,UAAU;YAUJ,QAAQ;IA6BtB;;;;;;;;;;OAUG;YACW,aAAa;CAwB5B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { apiBase, buildPodManifest, classifyPodReadiness, KUBERNETES_TOKEN_KEY, podName, podUrl, podsUrl, proxyUrl, } from './kubernetes.logic.js';
|
|
1
|
+
import { analyzePodStatus, apiBase, buildPodManifest, classifyPodReadiness, KUBERNETES_TOKEN_KEY, podName, podUrl, podsUrl, proxyUrl, } from './kubernetes.logic.js';
|
|
2
2
|
// Native Kubernetes runner transport (target k8s 1.35+). One bare Pod per RUN,
|
|
3
3
|
// named deterministically from `ref.runId`; every step of the run re-attaches to
|
|
4
4
|
// that pod by `ref.jobId` — mirroring CloudflareContainerTransport's per-run model
|
|
@@ -106,21 +106,39 @@ export class KubernetesRunnerTransport {
|
|
|
106
106
|
// / image-cached) instead of hard-failing the run on a cold pull or a transient
|
|
107
107
|
// pod blip. See EVICTION_ERROR and job.logic `isContainerEvictionError`.
|
|
108
108
|
const recoverable = (reason) => new Error(`${reason} (container evicted or crashed)`);
|
|
109
|
+
// The latest pod-status detail seen (a waiting container's reason:message, a failed
|
|
110
|
+
// condition, …), folded into the recoverable timeout so even a stuck-but-not-yet-terminal
|
|
111
|
+
// pod surfaces SOMETHING actionable instead of a bare "not ready within 120000ms".
|
|
112
|
+
let lastDetail = '';
|
|
109
113
|
for (;;) {
|
|
110
114
|
const res = await this.apiFetch('GET', podUrl(this.config, name), undefined, POLL_TIMEOUT_MS);
|
|
111
115
|
if (res.status === 404) {
|
|
112
116
|
throw recoverable(`Runner pod '${name}' vanished before it became ready`);
|
|
113
117
|
}
|
|
114
118
|
if (res.ok) {
|
|
115
|
-
const
|
|
119
|
+
const pod = await res.json();
|
|
120
|
+
// One walk of the pod status yields both readings (fatal start-up reason + the
|
|
121
|
+
// enrichment detail), so the JSON isn't parsed twice per poll.
|
|
122
|
+
const { terminal: fatal, detail } = analyzePodStatus(pod);
|
|
123
|
+
// Fail fast + NON-recoverably on a deterministic start-up failure (bad/unpullable
|
|
124
|
+
// image, bad container config, crash loop): re-driving the same pod would just hang
|
|
125
|
+
// the whole window again, so surface the real reason as a `dispatch` failure (the
|
|
126
|
+
// message deliberately omits the "evicted or crashed" marker so the engine does NOT
|
|
127
|
+
// treat it as recoverable). This is the K8s analogue of the local Docker fail-fast.
|
|
128
|
+
if (fatal) {
|
|
129
|
+
throw new Error(`Runner pod '${name}' failed to start: ${fatal}`);
|
|
130
|
+
}
|
|
131
|
+
if (detail)
|
|
132
|
+
lastDetail = detail;
|
|
133
|
+
const readiness = classifyPodReadiness(pod);
|
|
116
134
|
if (readiness === 'ready')
|
|
117
135
|
return;
|
|
118
136
|
if (readiness === 'gone') {
|
|
119
|
-
throw recoverable(`Runner pod '${name}' terminated before serving`);
|
|
137
|
+
throw recoverable(`Runner pod '${name}' terminated before serving${lastDetail ? ` (${lastDetail})` : ''}`);
|
|
120
138
|
}
|
|
121
139
|
}
|
|
122
140
|
if (Date.now() >= deadline) {
|
|
123
|
-
throw recoverable(`Runner pod '${name}' not ready within ${READY_WAIT_MS}ms`);
|
|
141
|
+
throw recoverable(`Runner pod '${name}' not ready within ${READY_WAIT_MS}ms${lastDetail ? ` (last status: ${lastDetail})` : ''}`);
|
|
124
142
|
}
|
|
125
143
|
await sleep(READY_POLL_INTERVAL_MS);
|
|
126
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KubernetesRunnerTransport.js","sourceRoot":"","sources":["../../../src/modules/kubernetes/KubernetesRunnerTransport.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAE9B,+EAA+E;AAC/E,iFAAiF;AACjF,mFAAmF;AACnF,+EAA+E;AAC/E,4EAA4E;AAC5E,kFAAkF;AAClF,+EAA+E;AAC/E,uCAAuC;AACvC,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,2EAA2E;AAE3E,oFAAoF;AACpF,yEAAyE;AACzE,MAAM,cAAc,GAAG,8CAA8C,CAAA;AAErE,MAAM,mBAAmB,GAAG,MAAM,CAAA;AAClC,MAAM,eAAe,GAAG,MAAM,CAAA;AAC9B,mFAAmF;AACnF,sFAAsF;AACtF,mFAAmF;AACnF,sFAAsF;AACtF,gFAAgF;AAChF,qFAAqF;AACrF,8EAA8E;AAC9E,MAAM,aAAa,GAAG,OAAO,CAAA;AAC7B,MAAM,sBAAsB,GAAG,KAAK,CAAA;AAEpC,MAAM,OAAO,yBAAyB;IAEjB,MAAM;IACN,aAAa;IAFhC,YACmB,MAA8B,EAC9B,aAA6B;sBAD7B,MAAM;6BACN,aAAa;IAC7B,CAAC;IAEJ,KAAK,CAAC,QAAQ,CACZ,GAAiB,EACjB,IAA6B,EAC7B,IAAI,GAAuB,OAAO,EAClC,OAA+B;QAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,mBAAmB,CAAC,CAAA;QAChG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3F,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAiB;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAC/B,KAAK,EACL,IAAI,EACJ,SAAS,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EACxC,SAAS,EACT,eAAe,CAChB,CAAA;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,0EAA0E;YAC1E,4EAA4E;YAC5E,qEAAqE;YACrE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;QACnD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3F,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAkB,CAAA;IAC5C,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,OAAO,CAAC,GAAiB;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC7B,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EACzB,SAAS,EACT,mBAAmB,CACpB,CAAA;QACD,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,gFAAgF;QAChF,+EAA+E;QAC/E,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,WAAW,GAAG,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,CACtF,CAAA;QACH,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC7B,KAAK,EACL,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EACjC,SAAS,EACT,mBAAmB,CACpB,CAAA;YACD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI;iBACjF,CAAA;YACH,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,uBAAuB,GAAG,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE;aACrE,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QACjF,CAAC;IACH,CAAC;IAED,2EAA2E;IAEnE,KAAK,CAAC,SAAS,CACrB,IAAY,EACZ,KAAa,EACb,OAA+B;QAE/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACpE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAA;QAC5F,8EAA8E;QAC9E,mEAAmE;QACnE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAM;QACxC,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC7F,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAA;QAC3C,mFAAmF;QACnF,mFAAmF;QACnF,gFAAgF;QAChF,yEAAyE;QACzE,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,MAAM,iCAAiC,CAAC,CAAA;QAC7F,SAAS,CAAC;YACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;YAC7F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,WAAW,CAAC,eAAe,IAAI,mCAAmC,CAAC,CAAA;YAC3E,CAAC;YACD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,
|
|
1
|
+
{"version":3,"file":"KubernetesRunnerTransport.js","sourceRoot":"","sources":["../../../src/modules/kubernetes/KubernetesRunnerTransport.ts"],"names":[],"mappings":"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"}
|