@namzu/sandbox 14.0.0 → 16.0.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 (100) hide show
  1. package/CHANGELOG.md +924 -0
  2. package/README.md +369 -14
  3. package/dist/backends/aci-standby-pool/index.d.ts.map +1 -1
  4. package/dist/backends/aci-standby-pool/index.js +13 -1
  5. package/dist/backends/aci-standby-pool/index.js.map +1 -1
  6. package/dist/backends/docker/index.d.ts +169 -6
  7. package/dist/backends/docker/index.d.ts.map +1 -1
  8. package/dist/backends/docker/index.js +499 -85
  9. package/dist/backends/docker/index.js.map +1 -1
  10. package/dist/backends/firecracker/index.d.ts.map +1 -1
  11. package/dist/backends/firecracker/index.js +12 -2
  12. package/dist/backends/firecracker/index.js.map +1 -1
  13. package/dist/backends/firecracker/protocol.d.ts +459 -8
  14. package/dist/backends/firecracker/protocol.d.ts.map +1 -1
  15. package/dist/backends/firecracker/protocol.js +136 -0
  16. package/dist/backends/firecracker/protocol.js.map +1 -1
  17. package/dist/backends/firecracker/transport.d.ts +539 -6
  18. package/dist/backends/firecracker/transport.d.ts.map +1 -1
  19. package/dist/backends/firecracker/transport.js +1171 -24
  20. package/dist/backends/firecracker/transport.js.map +1 -1
  21. package/dist/backends/kubernetes/egress-policy.d.ts +1181 -13
  22. package/dist/backends/kubernetes/egress-policy.d.ts.map +1 -1
  23. package/dist/backends/kubernetes/egress-policy.js +2350 -31
  24. package/dist/backends/kubernetes/egress-policy.js.map +1 -1
  25. package/dist/backends/kubernetes/identity.d.ts +193 -0
  26. package/dist/backends/kubernetes/identity.d.ts.map +1 -0
  27. package/dist/backends/kubernetes/identity.js +147 -0
  28. package/dist/backends/kubernetes/identity.js.map +1 -0
  29. package/dist/backends/kubernetes/index.d.ts +678 -33
  30. package/dist/backends/kubernetes/index.d.ts.map +1 -1
  31. package/dist/backends/kubernetes/index.js +1180 -95
  32. package/dist/backends/kubernetes/index.js.map +1 -1
  33. package/dist/backends/kubernetes/ingress-policy.d.ts +375 -0
  34. package/dist/backends/kubernetes/ingress-policy.d.ts.map +1 -0
  35. package/dist/backends/kubernetes/ingress-policy.js +1050 -0
  36. package/dist/backends/kubernetes/ingress-policy.js.map +1 -0
  37. package/dist/backends/kubernetes/k8s-client.d.ts +213 -4
  38. package/dist/backends/kubernetes/k8s-client.d.ts.map +1 -1
  39. package/dist/backends/kubernetes/k8s-client.js +359 -52
  40. package/dist/backends/kubernetes/k8s-client.js.map +1 -1
  41. package/dist/backends/kubernetes/lease.d.ts +40 -14
  42. package/dist/backends/kubernetes/lease.d.ts.map +1 -1
  43. package/dist/backends/kubernetes/lease.js +68 -18
  44. package/dist/backends/kubernetes/lease.js.map +1 -1
  45. package/dist/backends/kubernetes/objects.d.ts +423 -3
  46. package/dist/backends/kubernetes/objects.d.ts.map +1 -1
  47. package/dist/backends/kubernetes/objects.js +364 -2
  48. package/dist/backends/kubernetes/objects.js.map +1 -1
  49. package/dist/backends/kubernetes/per-sandbox-policy.d.ts +219 -0
  50. package/dist/backends/kubernetes/per-sandbox-policy.d.ts.map +1 -0
  51. package/dist/backends/kubernetes/per-sandbox-policy.js +375 -0
  52. package/dist/backends/kubernetes/per-sandbox-policy.js.map +1 -0
  53. package/dist/backends/kubernetes/rbac.d.ts +153 -0
  54. package/dist/backends/kubernetes/rbac.d.ts.map +1 -0
  55. package/dist/backends/kubernetes/rbac.js +177 -0
  56. package/dist/backends/kubernetes/rbac.js.map +1 -0
  57. package/dist/backends/kubernetes/sandbox.d.ts +81 -14
  58. package/dist/backends/kubernetes/sandbox.d.ts.map +1 -1
  59. package/dist/backends/kubernetes/sandbox.js +149 -15
  60. package/dist/backends/kubernetes/sandbox.js.map +1 -1
  61. package/dist/backends/kubernetes/transport.d.ts +935 -9
  62. package/dist/backends/kubernetes/transport.d.ts.map +1 -1
  63. package/dist/backends/kubernetes/transport.js +1958 -62
  64. package/dist/backends/kubernetes/transport.js.map +1 -1
  65. package/dist/backends/kubernetes/workspace.d.ts +1149 -18
  66. package/dist/backends/kubernetes/workspace.d.ts.map +1 -1
  67. package/dist/backends/kubernetes/workspace.js +2825 -186
  68. package/dist/backends/kubernetes/workspace.js.map +1 -1
  69. package/dist/backends/remote-execution-controller.d.ts +14 -0
  70. package/dist/backends/remote-execution-controller.d.ts.map +1 -1
  71. package/dist/backends/remote-execution-controller.js.map +1 -1
  72. package/dist/index.d.ts +294 -18
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +280 -10
  75. package/dist/index.js.map +1 -1
  76. package/dist/testing/sandbox-conformance.d.ts +39 -5
  77. package/dist/testing/sandbox-conformance.d.ts.map +1 -1
  78. package/dist/testing/sandbox-conformance.js +436 -5
  79. package/dist/testing/sandbox-conformance.js.map +1 -1
  80. package/package.json +3 -3
  81. package/src/backends/aci-standby-pool/index.ts +16 -1
  82. package/src/backends/docker/index.ts +617 -100
  83. package/src/backends/firecracker/index.ts +14 -2
  84. package/src/backends/firecracker/protocol.ts +514 -6
  85. package/src/backends/firecracker/transport.ts +1492 -40
  86. package/src/backends/kubernetes/egress-policy.ts +3334 -55
  87. package/src/backends/kubernetes/identity.ts +261 -0
  88. package/src/backends/kubernetes/index.ts +1785 -127
  89. package/src/backends/kubernetes/ingress-policy.ts +1344 -0
  90. package/src/backends/kubernetes/k8s-client.ts +444 -54
  91. package/src/backends/kubernetes/lease.ts +75 -19
  92. package/src/backends/kubernetes/objects.ts +626 -6
  93. package/src/backends/kubernetes/per-sandbox-policy.ts +497 -0
  94. package/src/backends/kubernetes/rbac.ts +192 -0
  95. package/src/backends/kubernetes/sandbox.ts +218 -20
  96. package/src/backends/kubernetes/transport.ts +2733 -124
  97. package/src/backends/kubernetes/workspace.ts +4476 -222
  98. package/src/backends/remote-execution-controller.ts +14 -0
  99. package/src/index.ts +668 -19
  100. package/src/testing/sandbox-conformance.ts +540 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingress-policy.js","sourceRoot":"","sources":["../../../src/backends/kubernetes/ingress-policy.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,32 @@
40
40
  * `CredentialError` naming the attempted verb and resource — never the
41
41
  * token, which this module never logs or embeds in any thrown message.
42
42
  *
43
+ * ## What a failure carries, and what it deliberately does not
44
+ * Everything else — a connect failure, and every non-2xx status the mapping
45
+ * above does not name — rejects with {@link KubernetesApiError}, which
46
+ * carries the verb, the path, the status where there was one, and the
47
+ * `Retry-After` the server sent with a 429 or a 503. That is METADATA and
48
+ * nothing more: there is no retry loop and no retry policy in this module.
49
+ * A retry is a decision about the OPERATION — a GET during a readiness poll
50
+ * may be repeated, a POST that may already have committed may not — and this
51
+ * client cannot tell those apart. `backends/kubernetes/index.ts` owns the
52
+ * policy, beside the acquire it serves and inside that acquire's existing
53
+ * deadline.
54
+ *
55
+ * ## Deadlines
56
+ * Every request carries its own bound
57
+ * ({@link KubernetesClientOptions.requestTimeoutMs}, default
58
+ * {@link DEFAULT_API_REQUEST_TIMEOUT_MS}) on top of whatever signal the
59
+ * caller passed, because the caller's signal is optional everywhere and
60
+ * several call sites are SHARED flights that run under whichever caller
61
+ * arrived first — one signal-less `destroy()` against an API server that
62
+ * accepted a request and never answered would otherwise pin every later
63
+ * caller joined to it. The bound covers `getToken()`, the connection and
64
+ * reading the body, on both transports, and expiry rejects with
65
+ * {@link KubernetesApiTimeoutError} rather than the generic `failed:` error
66
+ * so a caller can tell a timeout from a refusal. A caller's own abort still
67
+ * behaves exactly as it did.
68
+ *
43
69
  * ## Not in v1
44
70
  * No watch, no informers, no resourceVersion/bookmark tracking. Readiness is
45
71
  * polled by the caller with `../readiness.js`'s `OperationDeadline`, exactly
@@ -47,6 +73,22 @@
47
73
  */
48
74
  /** The only verbs anything in this backend needs to send. */
49
75
  export type KubernetesHttpMethod = 'GET' | 'POST' | 'PATCH' | 'DELETE';
76
+ /**
77
+ * Which patch dialect a `PATCH` body is.
78
+ *
79
+ * - `merge` (the default, and what every caller sent before conditional
80
+ * writes existed) is RFC 7386 `application/merge-patch+json`: a partial
81
+ * object that recurses into maps, so a patch touching one annotation
82
+ * leaves the others standing. It has no way to express a condition.
83
+ * - `json` is RFC 6902 `application/json-patch+json`: an ordered list of
84
+ * operations, one of which is `test`. That is the whole reason it exists
85
+ * here — a `test` and the mutation it guards travel in ONE request, so
86
+ * there is no window between checking and writing. See
87
+ * `objects.ts`'s `buildHolderEpochPatch`.
88
+ *
89
+ * Omitted means `merge`, so no existing call site changes a byte.
90
+ */
91
+ export type KubernetesPatchType = 'merge' | 'json';
50
92
  /**
51
93
  * Authentication callback. Caller returns a fresh bearer token. Invoked on
52
94
  * every request so a long-running host survives token rotation — the same
@@ -82,6 +124,32 @@ export interface ExplicitKubernetesAccess {
82
124
  readonly getToken: KubernetesTokenProvider;
83
125
  }
84
126
  export type KubernetesAccess = InClusterKubernetesAccess | ExplicitKubernetesAccess;
127
+ /**
128
+ * Bound every request this client sends is measured against, on top of the
129
+ * caller's own signal. Orthogonal to {@link KubernetesAccess}, which says
130
+ * WHO the client is, so it is a second argument rather than another arm of
131
+ * that union.
132
+ */
133
+ export interface KubernetesClientOptions {
134
+ /**
135
+ * Milliseconds a single request may take, end to end: resolving the
136
+ * token, connecting, sending, and reading the reply. Default
137
+ * {@link DEFAULT_API_REQUEST_TIMEOUT_MS}; minimum
138
+ * {@link MIN_API_REQUEST_TIMEOUT_MS}. There is deliberately NO value
139
+ * that turns the bound off — see {@link resolveRequestTimeoutMs}.
140
+ */
141
+ readonly requestTimeoutMs?: number;
142
+ }
143
+ /**
144
+ * Default {@link KubernetesClientOptions.requestTimeoutMs} — 30 s.
145
+ *
146
+ * The same cap `lease.ts` already puts on a renewal PATCH, and below the
147
+ * 60 s `readyTimeoutMs` default, so a request that times out still leaves
148
+ * the readiness budget something to report with.
149
+ */
150
+ export declare const DEFAULT_API_REQUEST_TIMEOUT_MS = 30000;
151
+ /** Floor for {@link KubernetesClientOptions.requestTimeoutMs} — 1 s. */
152
+ export declare const MIN_API_REQUEST_TIMEOUT_MS = 1000;
85
153
  export interface KubernetesClient {
86
154
  /**
87
155
  * `path` is the API-server path (e.g.
@@ -89,10 +157,17 @@ export interface KubernetesClient {
89
157
  * URL. Returns the parsed JSON body, or `undefined` for a 204 or an empty
90
158
  * body. Rejects with {@link KubernetesAlreadyGoneError},
91
159
  * {@link KubernetesConflictError} or {@link KubernetesCredentialError} for
92
- * the status codes each names; any other non-2xx status rejects with a
93
- * plain `Error`.
160
+ * the status codes each names, and with {@link KubernetesApiTimeoutError}
161
+ * when the request outlives
162
+ * {@link KubernetesClientOptions.requestTimeoutMs}; a connect failure and
163
+ * any other non-2xx status reject with {@link KubernetesApiError}.
164
+ *
165
+ * `patchType` picks the dialect a `PATCH` body is sent as, and is ignored
166
+ * for every other verb. `json` additionally maps a 422 to
167
+ * {@link KubernetesPatchNotAppliedError} — see that class for why the
168
+ * status alone is all the API server gives anyone to go on.
94
169
  */
95
- request<T>(method: KubernetesHttpMethod, path: string, body?: unknown, signal?: AbortSignal): Promise<T | undefined>;
170
+ request<T>(method: KubernetesHttpMethod, path: string, body?: unknown, signal?: AbortSignal, patchType?: KubernetesPatchType): Promise<T | undefined>;
96
171
  /** From the ServiceAccount file in-cluster, from config otherwise. */
97
172
  namespace(): string;
98
173
  }
@@ -109,6 +184,45 @@ export declare class KubernetesConflictError extends Error {
109
184
  readonly resource: string;
110
185
  constructor(method: KubernetesHttpMethod, resource: string);
111
186
  }
187
+ /**
188
+ * A JSON Patch the API server would not apply: 422 Unprocessable Entity.
189
+ *
190
+ * ## What the API server actually says, measured
191
+ *
192
+ * Against a real API server (v1.37.0) and the agent-sandbox `Sandbox` CRD, a
193
+ * JSON Patch whose `test` clause does not hold answers **422** with this
194
+ * body, byte for byte:
195
+ *
196
+ * ```json
197
+ * {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure",
198
+ * "message":"the server rejected our request due to an error in our request",
199
+ * "reason":"Invalid","details":{},"code":422}
200
+ * ```
201
+ *
202
+ * A patch that is simply WRONG — a pointer into a member that does not
203
+ * exist, say — answers with exactly the same status, the same reason and the
204
+ * same message. The server does not name the operation that failed, so
205
+ * nothing this class could read off the response would tell a lost race from
206
+ * a malformed body, and a class that claimed to would be lying.
207
+ *
208
+ * So it says what it can honestly say: the patch did not apply and NOTHING
209
+ * was changed. Deciding which of the two it was belongs to the caller that
210
+ * knows what it tested — `workspace.ts` re-reads the object and compares the
211
+ * value it tested against what is stored now: changed ⇒ somebody raced it,
212
+ * unchanged ⇒ the body is wrong and the error is rethrown rather than
213
+ * retried forever.
214
+ *
215
+ * Not a {@link KubernetesConflictError}: that one is 409, which the same
216
+ * server returns for a DELETE whose `preconditions.resourceVersion` does not
217
+ * match (measured on the same cluster, with a message that DOES name the two
218
+ * versions). The two statuses mean different things and are kept apart.
219
+ */
220
+ export declare class KubernetesPatchNotAppliedError extends Error {
221
+ readonly method: KubernetesHttpMethod;
222
+ readonly resource: string;
223
+ readonly status: number;
224
+ constructor(method: KubernetesHttpMethod, resource: string, status: number);
225
+ }
112
226
  /**
113
227
  * 401/403 → this. Names the attempted verb and resource only — never the
114
228
  * token, and never the response body (the API server does not echo the
@@ -121,5 +235,100 @@ export declare class KubernetesCredentialError extends Error {
121
235
  readonly status: number;
122
236
  constructor(verb: KubernetesHttpMethod, resource: string, status: number);
123
237
  }
124
- export declare function createKubernetesClient(access: KubernetesAccess): KubernetesClient;
238
+ /**
239
+ * The request outlived {@link KubernetesClientOptions.requestTimeoutMs}.
240
+ *
241
+ * Deliberately NOT the generic `failed:` error: a caller that can tell a
242
+ * timeout from a refusal can retry an idempotent write, and one that cannot
243
+ * has to treat every failure alike. Carries the verb, the resource path and
244
+ * the bound that expired — and, like every other error in this module,
245
+ * never the bearer token.
246
+ *
247
+ * A timeout says nothing about whether the request was APPLIED, which is
248
+ * why nothing here tries to: a suspend restores the state it saw and sends
249
+ * its idempotent patch again, a create POST that landed is adopted through
250
+ * the 409 path, and a DELETE that already applied counts as done.
251
+ */
252
+ export declare class KubernetesApiTimeoutError extends Error {
253
+ readonly verb: KubernetesHttpMethod;
254
+ readonly resource: string;
255
+ readonly timeoutMs: number;
256
+ constructor(verb: KubernetesHttpMethod, resource: string, timeoutMs: number);
257
+ }
258
+ /**
259
+ * Which half of a request failed, and therefore what is known about it.
260
+ *
261
+ * - `'connect'` — the request never got an answer: DNS, TCP, TLS or a reset
262
+ * socket. Whether the API server saw it at all is unknown.
263
+ * - `'status'` — the API server answered, with a status this client's
264
+ * mapping does not name. `status` is then always present.
265
+ */
266
+ export type KubernetesApiFailureTransport = 'connect' | 'status';
267
+ /**
268
+ * Every API failure this client does not already name: a connect failure, and
269
+ * every non-2xx status outside 401/403/404/409/410 (and the 422 a JSON patch
270
+ * gets).
271
+ *
272
+ * It exists because "a burst past node capacity" and "the API server is down"
273
+ * used to be the same plain `Error`, separable only by matching the message
274
+ * text a release is free to reword. The fields are the smallest set that
275
+ * makes the difference decidable by a caller:
276
+ *
277
+ * - `status` — absent for a connect failure, present for every answered one.
278
+ * - `retryAfterMs` — the `Retry-After` header the API server sends with a
279
+ * 429 (its own priority-and-fairness queue shedding load) and sometimes
280
+ * with a 503, normalised to milliseconds from either spelling the header
281
+ * allows. Absent when the server sent none, which is not the same as zero.
282
+ * - `transport` — see {@link KubernetesApiFailureTransport}.
283
+ * - `cause` — the underlying error for a connect failure.
284
+ *
285
+ * **There is no retry here.** This class is metadata; `index.ts` decides what
286
+ * is worth repeating, because only the caller knows whether the operation is
287
+ * idempotent and only the caller owns a clock to repeat it inside.
288
+ *
289
+ * The message keeps the exact wording both throw sites used before, so a host
290
+ * that logs it sees no change and only a host that inspects the type gains
291
+ * anything.
292
+ */
293
+ export declare class KubernetesApiError extends Error {
294
+ readonly method: KubernetesHttpMethod;
295
+ readonly path: string;
296
+ readonly status?: number;
297
+ readonly retryAfterMs?: number;
298
+ readonly transport: KubernetesApiFailureTransport;
299
+ constructor(message: string, details: {
300
+ readonly method: KubernetesHttpMethod;
301
+ readonly path: string;
302
+ readonly status?: number;
303
+ readonly retryAfterMs?: number;
304
+ readonly transport: KubernetesApiFailureTransport;
305
+ readonly cause?: unknown;
306
+ });
307
+ }
308
+ /**
309
+ * `Retry-After`, in milliseconds, or `undefined` when the server sent none or
310
+ * sent one that cannot be read.
311
+ *
312
+ * RFC 9110 allows two spellings and the API server uses the first: a
313
+ * delta-seconds integer (`Retry-After: 1`), which is what
314
+ * priority-and-fairness sends with a 429. The HTTP-date spelling is accepted
315
+ * too, because a proxy in front of the API server may rewrite it. A date in
316
+ * the past, or a negative delta, reads as `0` — "now" — rather than being
317
+ * discarded, because the server still said to wait and the answer to "how
318
+ * long" is "no longer".
319
+ */
320
+ export declare function parseRetryAfterMs(header: string | undefined): number | undefined;
321
+ /**
322
+ * Validate the configured bound, or supply the default.
323
+ *
324
+ * There is no disabling value, and `0` is refused rather than read as
325
+ * "unbounded": an unanswered request is not a supported configuration.
326
+ * Several call sites are single-flight promises that run under the FIRST
327
+ * caller's signal and never consult a later one's, so one hung request
328
+ * does not block one caller — it blocks every caller that joined it, on a
329
+ * handle whose state already refuses data-plane calls. A cluster with a
330
+ * genuinely slow API server raises the number.
331
+ */
332
+ export declare function resolveRequestTimeoutMs(value: number | undefined): number;
333
+ export declare function createKubernetesClient(access: KubernetesAccess, options?: KubernetesClientOptions): KubernetesClient;
125
334
  //# sourceMappingURL=k8s-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"k8s-client.d.ts","sourceRoot":"","sources":["../../../src/backends/kubernetes/k8s-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAKH,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;AAE3D;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAA;CAC1C;AAED,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,wBAAwB,CAAA;AAEnF,MAAM,WAAW,gBAAgB;IAChC;;;;;;;;OAQG;IACH,OAAO,CAAC,CAAC,EACR,MAAM,EAAE,oBAAoB,EAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACzB,sEAAsE;IACtE,SAAS,IAAI,MAAM,CAAA;CACnB;AAID,uEAAuE;AACvE,qBAAa,0BAA2B,SAAQ,KAAK;IAEnD,QAAQ,CAAC,MAAM,EAAE,oBAAoB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFd,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM;CAKxB;AAED,2EAA2E;AAC3E,qBAAa,uBAAwB,SAAQ,KAAK;IAEhD,QAAQ,CAAC,MAAM,EAAE,oBAAoB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBADhB,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,MAAM;CAK1B;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAElD,QAAQ,CAAC,IAAI,EAAE,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFd,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM;CAKxB;AAoID,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAkEjF"}
1
+ {"version":3,"file":"k8s-client.d.ts","sourceRoot":"","sources":["../../../src/backends/kubernetes/k8s-client.ts"],"names":[],"mappings":"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"}