@paperclipai/plugin-kubernetes 2026.724.0-canary.2 → 2026.724.0-canary.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/cilium-network-policy.d.ts +4 -0
- package/dist/cilium-network-policy.d.ts.map +1 -1
- package/dist/cilium-network-policy.js +29 -26
- package/dist/cilium-network-policy.js.map +1 -1
- package/dist/network-policy.d.ts +4 -0
- package/dist/network-policy.d.ts.map +1 -1
- package/dist/network-policy.js +26 -23
- package/dist/network-policy.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +36 -3
- package/dist/plugin.js.map +1 -1
- package/dist/scoped-network-egress.d.ts +19 -0
- package/dist/scoped-network-egress.d.ts.map +1 -0
- package/dist/scoped-network-egress.js +86 -0
- package/dist/scoped-network-egress.js.map +1 -0
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -77,6 +77,23 @@ Common optional fields:
|
|
|
77
77
|
|
|
78
78
|
Full JSON Schema in `src/manifest.ts`.
|
|
79
79
|
|
|
80
|
+
### Task-scoped egress grants
|
|
81
|
+
|
|
82
|
+
Keep provider-level egress defaults narrow, then grant only the destinations a task needs through its execution workspace settings:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"executionWorkspaceSettings": {
|
|
87
|
+
"networkEgress": {
|
|
88
|
+
"allowFqdns": ["github.com", "pypi.org"],
|
|
89
|
+
"allowCidrs": []
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The provider creates a workload-owned policy selected by the task run label, so the additional destinations do not become reachable from other concurrent agent pods. Cilium mode enforces FQDNs directly. Standard NetworkPolicy mode cannot express FQDNs, so an FQDN grant permits public IPv4 TCP 80/443 for that run while excluding private, loopback, link-local, CGNAT, and multicast ranges. Network failures that look policy-related include the grant path in stderr, and the sandbox exposes the effective policy through `PAPERCLIP_NETWORK_EGRESS_*` environment variables.
|
|
96
|
+
|
|
80
97
|
## What gets created in your cluster
|
|
81
98
|
|
|
82
99
|
For each company that runs agents (created lazily on first dispatch):
|
|
@@ -3,6 +3,10 @@ export interface BuildCiliumNetworkPolicyInput {
|
|
|
3
3
|
paperclipServerNamespace: string;
|
|
4
4
|
egressAllowFqdns: string[];
|
|
5
5
|
egressAllowCidrs: string[];
|
|
6
|
+
name?: string;
|
|
7
|
+
endpointSelector?: Record<string, string>;
|
|
8
|
+
includeBaseRules?: boolean;
|
|
9
|
+
ownerReferences?: Record<string, unknown>[];
|
|
6
10
|
}
|
|
7
11
|
export declare function buildCiliumNetworkPolicyManifest(input: BuildCiliumNetworkPolicyInput): Record<string, unknown>;
|
|
8
12
|
//# sourceMappingURL=cilium-network-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cilium-network-policy.d.ts","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cilium-network-policy.d.ts","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAC7C;AAMD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyD9G"}
|
|
@@ -4,37 +4,39 @@
|
|
|
4
4
|
// targeted ingress rule scoped to the paperclip-server endpoint selector.
|
|
5
5
|
export function buildCiliumNetworkPolicyManifest(input) {
|
|
6
6
|
const egress = [];
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
if (input.includeBaseRules !== false)
|
|
8
|
+
egress.push({
|
|
9
|
+
toEndpoints: [
|
|
10
|
+
{ matchLabels: { "k8s:io.kubernetes.pod.namespace": "kube-system", "k8s-app": "kube-dns" } },
|
|
11
|
+
],
|
|
12
|
+
toPorts: [
|
|
13
|
+
{
|
|
14
|
+
ports: [
|
|
15
|
+
{ port: "53", protocol: "UDP" },
|
|
16
|
+
{ port: "53", protocol: "TCP" },
|
|
17
|
+
],
|
|
18
|
+
rules: { dns: [{ matchPattern: "*" }] },
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
});
|
|
21
22
|
if (input.egressAllowFqdns.length > 0) {
|
|
22
23
|
egress.push({
|
|
23
24
|
toFQDNs: input.egressAllowFqdns.map((fqdn) => ({ matchName: fqdn })),
|
|
24
25
|
toPorts: [{ ports: [{ port: "443", protocol: "TCP" }] }],
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
if (input.includeBaseRules !== false)
|
|
29
|
+
egress.push({
|
|
30
|
+
toEndpoints: [
|
|
31
|
+
{
|
|
32
|
+
matchLabels: {
|
|
33
|
+
"k8s:io.kubernetes.pod.namespace": input.paperclipServerNamespace,
|
|
34
|
+
app: "paperclip-server",
|
|
35
|
+
},
|
|
33
36
|
},
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
37
|
+
],
|
|
38
|
+
toPorts: [{ ports: [{ port: "3100", protocol: "TCP" }] }],
|
|
39
|
+
});
|
|
38
40
|
if (input.egressAllowCidrs.length > 0) {
|
|
39
41
|
egress.push({
|
|
40
42
|
toCIDRSet: input.egressAllowCidrs.map((cidr) => ({ cidr })),
|
|
@@ -44,12 +46,13 @@ export function buildCiliumNetworkPolicyManifest(input) {
|
|
|
44
46
|
apiVersion: "cilium.io/v2",
|
|
45
47
|
kind: "CiliumNetworkPolicy",
|
|
46
48
|
metadata: {
|
|
47
|
-
name: "paperclip-egress-fqdn",
|
|
49
|
+
name: input.name ?? "paperclip-egress-fqdn",
|
|
48
50
|
namespace: input.namespace,
|
|
49
51
|
labels: { "paperclip.io/managed-by": "paperclip-k8s-plugin" },
|
|
52
|
+
...(input.ownerReferences ? { ownerReferences: input.ownerReferences } : {}),
|
|
50
53
|
},
|
|
51
54
|
spec: {
|
|
52
|
-
endpointSelector: { matchLabels: { "paperclip.io/role": "agent" } },
|
|
55
|
+
endpointSelector: { matchLabels: input.endpointSelector ?? { "paperclip.io/role": "agent" } },
|
|
53
56
|
egress,
|
|
54
57
|
},
|
|
55
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cilium-network-policy.js","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cilium-network-policy.js","sourceRoot":"","sources":["../src/cilium-network-policy.ts"],"names":[],"mappings":"AAWA,4EAA4E;AAC5E,kEAAkE;AAClE,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,UAAU,gCAAgC,CAAC,KAAoC;IACnF,MAAM,MAAM,GAA8B,EAAE,CAAC;IAE7C,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC;YAChD,WAAW,EAAE;gBACX,EAAE,WAAW,EAAE,EAAE,iCAAiC,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;aAC7F;YACD,OAAO,EAAE;gBACP;oBACE,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;wBAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;qBAChC;oBACD,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;iBACxC;aACF;SACF,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,gBAAgB,KAAK,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC;YAChD,WAAW,EAAE;gBACX;oBACE,WAAW,EAAE;wBACX,iCAAiC,EAAE,KAAK,CAAC,wBAAwB;wBACjE,GAAG,EAAE,kBAAkB;qBACxB;iBACF;aACF;YACD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,qBAAqB;QAC3B,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,uBAAuB;YAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,EAAE,yBAAyB,EAAE,sBAAsB,EAAE;YAC7D,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE;YAC7F,MAAM;SACP;KACF,CAAC;AACJ,CAAC"}
|
package/dist/network-policy.d.ts
CHANGED
|
@@ -13,6 +13,10 @@ export interface BuildNetworkPolicyInput {
|
|
|
13
13
|
* "cilium"` for exact FQDN allow-listing in production.
|
|
14
14
|
*/
|
|
15
15
|
egressAllowFqdns?: string[];
|
|
16
|
+
name?: string;
|
|
17
|
+
podSelector?: Record<string, string>;
|
|
18
|
+
includeBaseRules?: boolean;
|
|
19
|
+
ownerReferences?: Record<string, unknown>[];
|
|
16
20
|
}
|
|
17
21
|
export declare function buildNetworkPolicyManifests(input: BuildNetworkPolicyInput): Record<string, unknown>[];
|
|
18
22
|
//# sourceMappingURL=network-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-policy.d.ts","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"network-policy.d.ts","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAC7C;AA2BD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CA6FrG"}
|
package/dist/network-policy.js
CHANGED
|
@@ -40,35 +40,34 @@ export function buildNetworkPolicyManifests(input) {
|
|
|
40
40
|
apiVersion: "networking.k8s.io/v1",
|
|
41
41
|
kind: "NetworkPolicy",
|
|
42
42
|
metadata: {
|
|
43
|
-
name: "paperclip-egress-allow",
|
|
44
43
|
namespace: input.namespace,
|
|
45
44
|
labels: { "paperclip.io/managed-by": "paperclip-k8s-plugin" },
|
|
46
45
|
},
|
|
47
46
|
spec: {
|
|
48
|
-
podSelector: { matchLabels: { "paperclip.io/role": "agent" } },
|
|
47
|
+
podSelector: { matchLabels: input.podSelector ?? { "paperclip.io/role": "agent" } },
|
|
49
48
|
policyTypes: ["Egress"],
|
|
50
49
|
egress: [
|
|
51
|
-
{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
{
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
50
|
+
...(input.includeBaseRules === false ? [] : [{
|
|
51
|
+
to: [
|
|
52
|
+
{
|
|
53
|
+
namespaceSelector: { matchLabels: { "kubernetes.io/metadata.name": "kube-system" } },
|
|
54
|
+
podSelector: { matchLabels: { "k8s-app": "kube-dns" } },
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
ports: [
|
|
58
|
+
{ protocol: "UDP", port: 53 },
|
|
59
|
+
{ protocol: "TCP", port: 53 },
|
|
60
|
+
],
|
|
61
|
+
}]),
|
|
62
|
+
...(input.includeBaseRules === false ? [] : [{
|
|
63
|
+
to: [
|
|
64
|
+
{
|
|
65
|
+
namespaceSelector: { matchLabels: { "kubernetes.io/metadata.name": input.paperclipServerNamespace } },
|
|
66
|
+
podSelector: { matchLabels: { app: "paperclip-server" } },
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
ports: [{ protocol: "TCP", port: 3100 }],
|
|
70
|
+
}]),
|
|
72
71
|
// NOTE: operator-supplied CIDRs are intentionally NOT port-scoped —
|
|
73
72
|
// operators may need them for non-HTTP services (e.g. private VCS
|
|
74
73
|
// mirrors, S3 endpoints, internal artifact registries). Operators
|
|
@@ -108,6 +107,10 @@ export function buildNetworkPolicyManifests(input) {
|
|
|
108
107
|
],
|
|
109
108
|
},
|
|
110
109
|
};
|
|
110
|
+
egressAllow.metadata.name = input.name ?? "paperclip-egress-allow";
|
|
111
|
+
if (input.ownerReferences) {
|
|
112
|
+
egressAllow.metadata.ownerReferences = input.ownerReferences;
|
|
113
|
+
}
|
|
111
114
|
return [denyAll, egressAllow];
|
|
112
115
|
}
|
|
113
116
|
//# sourceMappingURL=network-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-policy.js","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network-policy.js","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AA2MA,QAAA,MAAM,MAAM,mDA8zBV,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
package/dist/plugin.js
CHANGED
|
@@ -14,6 +14,7 @@ import { sandboxCrOrchestrator, SandboxCrTimeoutError, } from "./sandbox-cr-orch
|
|
|
14
14
|
import { execInPod, execInPodStreaming, wrapCommandWithEnv } from "./pod-exec.js";
|
|
15
15
|
import { performSyncIn, performSyncOut } from "./file-sync.js";
|
|
16
16
|
import { checkLeaseResumable, destroyLeaseResources } from "./lease-lifecycle.js";
|
|
17
|
+
import { appendNetworkEgressDenyHint, createScopedNetworkEgressPolicyOrReleaseWorkload, NETWORK_EGRESS_GRANT_PATH, parseScopedNetworkEgressGrant, } from "./scoped-network-egress.js";
|
|
17
18
|
import { deriveCompanySlug, deriveNamespaceName, newRunUlidDns, paperclipLabels, } from "./utils.js";
|
|
18
19
|
// The namespace paperclip-server itself runs in. Used when building
|
|
19
20
|
// NetworkPolicy manifests so the tenant namespace allows inbound traffic
|
|
@@ -303,9 +304,30 @@ const plugin = definePlugin({
|
|
|
303
304
|
imagePullSecrets: config.imagePullSecrets,
|
|
304
305
|
});
|
|
305
306
|
const { uid: ownerUid } = await orchestrator.claim(clients, namespace, manifest);
|
|
307
|
+
const scopedNetworkEgress = parseScopedNetworkEgressGrant(params.executionWorkspaceSettings);
|
|
308
|
+
const scopedNetworkPolicyName = await createScopedNetworkEgressPolicyOrReleaseWorkload({
|
|
309
|
+
clients,
|
|
310
|
+
namespace,
|
|
311
|
+
mode: config.egressMode,
|
|
312
|
+
runId: params.runId,
|
|
313
|
+
workloadName: jobName,
|
|
314
|
+
ownerReference: {
|
|
315
|
+
apiVersion: isSandboxCrBackend ? "agents.x-k8s.io/v1alpha1" : "batch/v1",
|
|
316
|
+
kind: isSandboxCrBackend ? "Sandbox" : "Job",
|
|
317
|
+
name: jobName,
|
|
318
|
+
uid: ownerUid,
|
|
319
|
+
controller: false,
|
|
320
|
+
blockOwnerDeletion: false,
|
|
321
|
+
},
|
|
322
|
+
grant: scopedNetworkEgress,
|
|
323
|
+
}, () => orchestrator.release(clients, namespace, jobName));
|
|
306
324
|
// defaultEnv (non-secret base, e.g. the inference base URL) is layered first;
|
|
307
325
|
// the process-env secrets named by envKeys override it.
|
|
308
326
|
const adapterEnv = buildAdapterEnv(adapterDefaults);
|
|
327
|
+
adapterEnv.PAPERCLIP_NETWORK_EGRESS_POLICY = "kubernetes-default-deny";
|
|
328
|
+
adapterEnv.PAPERCLIP_NETWORK_EGRESS_GRANT_PATH = NETWORK_EGRESS_GRANT_PATH;
|
|
329
|
+
adapterEnv.PAPERCLIP_NETWORK_EGRESS_ALLOW_FQDNS = scopedNetworkEgress.allowFqdns.join(",");
|
|
330
|
+
adapterEnv.PAPERCLIP_NETWORK_EGRESS_ALLOW_CIDRS = scopedNetworkEgress.allowCidrs.join(",");
|
|
309
331
|
const bootstrapToken = generateBootstrapToken();
|
|
310
332
|
// Secret ownerRef: for job backend, the Job owns the Secret (cascade delete).
|
|
311
333
|
// For sandbox-cr backend, the Sandbox CR owns the Secret.
|
|
@@ -331,6 +353,8 @@ const plugin = definePlugin({
|
|
|
331
353
|
secretName,
|
|
332
354
|
phase: "Pending",
|
|
333
355
|
backend: config.backend,
|
|
356
|
+
scopedNetworkPolicyName,
|
|
357
|
+
scopedNetworkEgress,
|
|
334
358
|
// Native file sync streams over a pod exec; only the sandbox-cr backend
|
|
335
359
|
// exposes one. Flag the job backend so the server keeps the base64 fallback
|
|
336
360
|
// rather than routing its sync to a hook that would reject immediately.
|
|
@@ -392,6 +416,12 @@ const plugin = definePlugin({
|
|
|
392
416
|
secretName,
|
|
393
417
|
phase: check.phase,
|
|
394
418
|
backend: leaseBackend,
|
|
419
|
+
scopedNetworkPolicyName: typeof params.leaseMetadata?.scopedNetworkPolicyName === "string"
|
|
420
|
+
? params.leaseMetadata.scopedNetworkPolicyName
|
|
421
|
+
: null,
|
|
422
|
+
scopedNetworkEgress: parseScopedNetworkEgressGrant({
|
|
423
|
+
networkEgress: params.leaseMetadata?.scopedNetworkEgress,
|
|
424
|
+
}),
|
|
395
425
|
// See acquireLease: only the sandbox-cr backend has a pod-exec channel for
|
|
396
426
|
// native sync, so a resumed job lease must keep the base64 fallback.
|
|
397
427
|
nativeFileSyncUnsupported: leaseBackend !== "sandbox-cr",
|
|
@@ -498,6 +528,9 @@ const plugin = definePlugin({
|
|
|
498
528
|
};
|
|
499
529
|
}
|
|
500
530
|
const config = kubernetesProviderConfigSchema.parse(params.config);
|
|
531
|
+
const scopedNetworkEgress = parseScopedNetworkEgressGrant({
|
|
532
|
+
networkEgress: lease.metadata?.scopedNetworkEgress,
|
|
533
|
+
});
|
|
501
534
|
const namespace = typeof lease.metadata?.namespace === "string"
|
|
502
535
|
? lease.metadata.namespace
|
|
503
536
|
: deriveTenantNamespace(config, params.companyId);
|
|
@@ -679,7 +712,7 @@ const plugin = definePlugin({
|
|
|
679
712
|
exitCode: null,
|
|
680
713
|
timedOut: true,
|
|
681
714
|
stdout: "",
|
|
682
|
-
stderr: err instanceof Error ? err.message : String(err),
|
|
715
|
+
stderr: appendNetworkEgressDenyHint(err instanceof Error ? err.message : String(err), scopedNetworkEgress),
|
|
683
716
|
metadata: {
|
|
684
717
|
provider: "kubernetes",
|
|
685
718
|
backend: "sandbox-cr",
|
|
@@ -693,7 +726,7 @@ const plugin = definePlugin({
|
|
|
693
726
|
exitCode: execResult.exitCode,
|
|
694
727
|
timedOut: false,
|
|
695
728
|
stdout: execResult.stdout,
|
|
696
|
-
stderr: execResult.stderr,
|
|
729
|
+
stderr: appendNetworkEgressDenyHint(execResult.stderr, scopedNetworkEgress),
|
|
697
730
|
metadata: {
|
|
698
731
|
provider: "kubernetes",
|
|
699
732
|
backend: "sandbox-cr",
|
|
@@ -742,7 +775,7 @@ const plugin = definePlugin({
|
|
|
742
775
|
exitCode: timedOut ? null : status?.phase === "Succeeded" ? 0 : 1,
|
|
743
776
|
timedOut,
|
|
744
777
|
stdout: stdoutChunks.join(""),
|
|
745
|
-
stderr: stderrChunks.join(""),
|
|
778
|
+
stderr: appendNetworkEgressDenyHint(stderrChunks.join(""), scopedNetworkEgress),
|
|
746
779
|
metadata: {
|
|
747
780
|
provider: "kubernetes",
|
|
748
781
|
backend: "job",
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmBvD,OAAO,EACL,8BAA8B,GAG/B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAsB,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EACL,2BAA2B,EAC3B,gDAAgD,EAChD,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,oEAAoE;AACpE,yEAAyE;AACzE,uBAAuB;AACvB,MAAM,0BAA0B,GAAG,WAAW,CAAC;AAE/C,mFAAmF;AACnF,MAAM,sBAAsB,GAAG,qBAAqB,CAAC;AAErD,yEAAyE;AACzE,iCAAiC;AACjC,MAAM,sBAAsB,GAAG;IAC7B,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,MAAM;CACrB,CAAC;AAEF,SAAS,qBAAqB,CAAC,MAAgC,EAAE,SAAiB;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChE,OAAO,mBAAmB,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,sBAAsB;IAC7B,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,gFAAgF;AAChF,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAiC,CAAC;AAE3E,SAAS,4BAA4B,CAAC,OAAe;IACnD,IAAI,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC1C,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,0EAA0E;AAC1E,qEAAqE;AACrE,uEAAuE;AACvE,8DAA8D;AAC9D,wEAAwE;AACxE,iEAAiE;AACjE,uEAAuE;AACvE,iDAAiD;AACjD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;AAEhD,yEAAyE;AACzE,6EAA6E;AAC7E,sEAAsE;AACtE,4EAA4E;AAC5E,yCAAyC;AACzC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAC9E,gBAAgB;AAChB,SAAS,oBAAoB,CAAC,KAA6B;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC5C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAEkC;IAElC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,SAAS,GACb,OAAO,KAAK,CAAC,QAAQ,EAAE,SAAS,KAAK,QAAQ;QAC3C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS;QAC1B,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,QAAQ;QACzC,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAC,OAAgC;QAClD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACrB,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,oFAAoF,YAAY,IAAI,CACrG,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,gBAAgB,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAEvD,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QACtD,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,eAAe,EAAE;YACvF,SAAS;YACT,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO;QACnE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO;QACxB,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,gFAAgF;IAChF,6EAA6E;IAC7E,4EAA4E;IAC5E,gDAAgD;IAChD,MAAM,IAAI,GAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAC1C,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;QAC3D,GAAG,EAAE;QACL,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,SAAS;KACrC,CAAC,CAAC;IACL,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,KAAK,CAAC,KAAK,CAAC,GAAG;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,MAA6C;QAE7C,MAAM,MAAM,GAAG,8BAA8B,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aAClD,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5E,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CACX,+IAA+I,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,+UAA+U,CACpf,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CACX,kJAAkJ,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,qFAAqF,CAC7P,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAA8B,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC9H,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAoC;QAEpC,MAAM,MAAM,GAAG,8BAA8B,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,4CAA4C;gBACrD,QAAQ,EAAE;oBACR,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBAClD;aACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,gBAAgB,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;YACpC,0EAA0E;YAC1E,uEAAuE;YACvE,6DAA6D;YAC7D,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAI,GAA8C,CAAC,IAAI;uBAC3D,GAA8C,CAAC,UAAU,CAAC;gBAChE,IAAI,IAAI,KAAK,GAAG;oBAAE,MAAM,GAAG,CAAC;gBAC5B,gEAAgE;YAClE,CAAC;YACD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,mDAAmD,SAAS,GAAG;gBACxE,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,kCAAkC;gBAC3C,QAAQ,EAAE;oBACR,SAAS;oBACT,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,yBAAyB;IAC7B,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,iEAAiE;IACjE,MAGC;QAED,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAElE,4EAA4E;QAC5E,8EAA8E;QAC9E,gFAAgF;QAChF,gFAAgF;QAChF,uBAAuB;QACvB,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAE3F,yEAAyE;QACzE,2EAA2E;QAC3E,uEAAuE;QACvE,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzF,MAAM,iBAAiB,GAAG,CAAC,GAAG,sBAAsB,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CACV,6LAA6L,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,iFAAiF,CAC3S,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,kKAAkK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,+DAA+D,CAC9P,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,gBAAgB,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpC,0EAA0E;QAC1E,yCAAyC;QACzC,MAAM,eAAe,GAAG,kBAAkB,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElF,MAAM,YAAY,CAAC,OAAO,EAAE;YAC1B,SAAS;YACT,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,wBAAwB,EAAE,0BAA0B;YACpD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;YAC3D,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,gBAAgB,EAAE,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC7E,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,GAAG,OAAO,MAAM,CAAC;QAEpC,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,MAAM,GAAG,eAAe,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,oBAAoB;SAClC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,YAAY,CACxB,EAAE,aAAa,EAAE,IAAI,EAAE,EACvB,eAAe,EACf,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAC/E,CAAC;QAEF,6EAA6E;QAC7E,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,KAAK,YAAY,CAAC;QAC3D,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC;QAElF,MAAM,QAAQ,GAAG,kBAAkB;YACjC,CAAC,CAAC,sBAAsB,CAAC;gBACrB,SAAS;gBACT,WAAW,EAAE,OAAO;gBACpB,WAAW,EAAE,oBAAoB;gBACjC,KAAK;gBACL,aAAa,EAAE,UAAU;gBACzB,kBAAkB,EAAE,sBAAsB;gBAC1C,MAAM;gBACN,SAAS,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;gBACxC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aAC1C,CAAC;YACJ,CAAC,CAAC,gBAAgB,CAAC;gBACf,SAAS;gBACT,OAAO;gBACP,WAAW,EAAE,oBAAoB;gBACjC,KAAK;gBACL,aAAa,EAAE,UAAU;gBACzB,kBAAkB,EAAE,sBAAsB;gBAC1C,MAAM;gBACN,SAAS,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;gBACxC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,iBAAiB,EAAE,MAAM,CAAC,sBAAsB;gBAChD,uBAAuB,EAAE,MAAM,CAAC,0BAA0B;gBAC1D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;aAC1C,CAAC,CAAC;QAEP,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjF,MAAM,mBAAmB,GAAG,6BAA6B,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC7F,MAAM,uBAAuB,GAAG,MAAM,gDAAgD,CACpF;YACE,OAAO;YACP,SAAS;YACT,IAAI,EAAE,MAAM,CAAC,UAAU;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,OAAO;YACrB,cAAc,EAAE;gBACd,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU;gBACxE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;gBAC5C,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,QAAQ;gBACb,UAAU,EAAE,KAAK;gBACjB,kBAAkB,EAAE,KAAK;aAC1B;YACD,KAAK,EAAE,mBAAmB;SAC3B,EACD,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CACxD,CAAC;QAEF,8EAA8E;QAC9E,wDAAwD;QACxD,MAAM,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QACpD,UAAU,CAAC,+BAA+B,GAAG,yBAAyB,CAAC;QACvE,UAAU,CAAC,mCAAmC,GAAG,yBAAyB,CAAC;QAC3E,UAAU,CAAC,oCAAoC,GAAG,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3F,UAAU,CAAC,oCAAoC,GAAG,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3F,MAAM,cAAc,GAAG,sBAAsB,EAAE,CAAC;QAEhD,8EAA8E;QAC9E,0DAA0D;QAC1D,4EAA4E;QAC5E,uEAAuE;QACvE,yCAAyC;QACzC,MAAM,kBAAkB,CAAC,OAAO,EAAE;YAChC,SAAS;YACT,UAAU;YACV,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YACjD,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,UAAU;YAC7E,SAAS,EAAE,OAAO;YAClB,QAAQ;YACR,cAAc;YACd,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAExE,MAAM,aAAa,GAA4B;YAC7C,SAAS;YACT,OAAO;YACP,OAAO;YACP,UAAU;YACV,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,uBAAuB;YACvB,mBAAmB;YACnB,wEAAwE;YACxE,4EAA4E;YAC5E,wEAAwE;YACxE,yBAAyB,EAAE,MAAM,CAAC,OAAO,KAAK,YAAY;SAC3D,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,OAAO;YACxB,QAAQ,EAAE,aAAmD;SAC9D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,MAA0C;QAE1C,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,aAAa,EAAE,SAAS,KAAK,QAAQ;YACjD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS;YAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,aAAa,EAAE,OAAO,KAAK,QAAQ;YAC/C,CAAC,CAAE,MAAM,CAAC,aAAa,CAAC,OAAgC;YACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,aAAa,EAAE,UAAU,KAAK,QAAQ;YAClD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU;YACjC,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,MAAM,CAAC;QAEtC,MAAM,EAAE,GAAG,gBAAgB,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE;YAC/C,SAAS;YACT,IAAI,EAAE,MAAM,CAAC,eAAe;YAC5B,OAAO,EAAE,YAAY;YACrB,cAAc,EAAE,uBAAuB;YACvC,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,8DAA8D;YAC9D,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;aAClD,CAAC;QACJ,CAAC;QAED,2EAA2E;QAC3E,yEAAyE;QACzE,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YAClC,mEAAmE;YACnE,6CAA6C;YAC7C,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,aAAa,GAA4B;YAC7C,SAAS;YACT,OAAO,EAAE,MAAM,CAAC,eAAe;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,YAAY;YACrB,uBAAuB,EACrB,OAAO,MAAM,CAAC,aAAa,EAAE,uBAAuB,KAAK,QAAQ;gBAC/D,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB;gBAC9C,CAAC,CAAC,IAAI;YACV,mBAAmB,EAAE,6BAA6B,CAAC;gBACjD,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,mBAAmB;aACzD,CAAC;YACF,2EAA2E;YAC3E,qEAAqE;YACrE,yBAAyB,EAAE,YAAY,KAAK,YAAY;SACzD,CAAC;QAEF,OAAO;YACL,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,QAAQ,EAAE;gBACR,GAAG,aAAa;gBAChB,YAAY,EAAE,IAAI;aACmB;SACxC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,MAA+C;QAE/C,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,MAAM,GAAG,GACP,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC1E,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE;YACpC,CAAC,CAAC,YAAY,CAAC;QACnB,OAAO;YACL,GAAG;YACH,QAAQ,EAAE;gBACR,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,GAAG;aACf;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,MAA2C;QAE3C,IAAI,CAAC,MAAM,CAAC,eAAe;YAAE,OAAO;QACpC,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,aAAa,EAAE,SAAS,KAAK,QAAQ;YACjD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS;YAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtD,MAAM,EAAE,GAAG,gBAAgB,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,aAAa,EAAE,OAAO,KAAK,QAAQ;YAC/C,CAAC,CAAE,MAAM,CAAC,aAAa,CAAC,OAAgC;YACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,MAAM,mBAAmB,GACvB,YAAY,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC;QAE1E,oEAAoE;QACpE,6EAA6E;QAC7E,sEAAsE;QACtE,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sDAAsD;YACtD,MAAM,IAAI,GAAI,GAA8C,CAAC,IAAI;mBAC3D,GAA8C,CAAC,UAAU,CAAC;YAChE,IAAI,IAAI,KAAK,GAAG;gBAAE,MAAM,GAAG,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,MAA2C;QAE3C,IAAI,CAAC,MAAM,CAAC,eAAe;YAAE,OAAO;QACpC,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,SAAS,GACb,OAAO,MAAM,CAAC,aAAa,EAAE,SAAS,KAAK,QAAQ;YACjD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS;YAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,aAAa,EAAE,OAAO,KAAK,QAAQ;YAC/C,CAAC,CAAE,MAAM,CAAC,aAAa,CAAC,OAAgC;YACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,MAAM,UAAU,GACd,OAAO,MAAM,CAAC,aAAa,EAAE,UAAU,KAAK,QAAQ;YAClD,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU;YACjC,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,MAAM,CAAC;QACtC,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,aAAa,EAAE,OAAO,KAAK,QAAQ;YACjD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO;YAC9B,CAAC,CAAC,IAAI,CAAC;QAEX,mEAAmE;QACnE,+CAA+C;QAC/C,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAErD,MAAM,EAAE,GAAG,gBAAgB,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpC,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,qBAAqB,CAAC,OAAO,EAAE;YACnC,SAAS;YACT,IAAI,EAAE,MAAM,CAAC,eAAe;YAC5B,OAAO,EAAE,YAAY;YACrB,OAAO;YACP,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAsC;QAEtC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,+CAA+C;aACxD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,8BAA8B,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;YACxD,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,mBAAmB;SACnD,CAAC,CAAC;QACH,MAAM,SAAS,GACb,OAAO,KAAK,CAAC,QAAQ,EAAE,SAAS,KAAK,QAAQ;YAC3C,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS;YAC1B,CAAC,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtD,uDAAuD;QACvD,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,QAAQ;YACzC,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAC,OAAgC;YAClD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAErB,MAAM,EAAE,GAAG,gBAAgB,CAAC;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,kBAAkB,GACtB,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;YAC5C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAE3C,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;YAClC,2EAA2E;YAC3E,+EAA+E;YAC/E,4CAA4C;YAC5C,2DAA2D;YAE3D,IAAI,OAAO,GACT,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO;gBACnE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO;gBACxB,CAAC,CAAC,IAAI,CAAC;YAEX,oEAAoE;YACpE,0EAA0E;YAC1E,6BAA6B;YAC7B,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAE9E,yEAAyE;YACzE,sEAAsE;YACtE,+CAA+C;YAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,qBAAqB,CAAC,iBAAiB,CAC3C,OAAO,EACP,SAAS,EACT,KAAK,CAAC,eAAe,EACrB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAChD,CAAC;oBACF,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;wBACzC,OAAO;4BACL,QAAQ,EAAE,IAAI;4BACd,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE,EAAE;4BACV,MAAM,EAAE,2CAA2C,kBAAkB,IAAI;4BACzE,QAAQ,EAAE;gCACR,QAAQ,EAAE,YAAY;gCACtB,OAAO,EAAE,YAAY;gCACrB,SAAS;gCACT,WAAW,EAAE,KAAK,CAAC,eAAe;6BACnC;yBACF,CAAC;oBACJ,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAC3C,OAAO,EACP,SAAS,EACT,KAAK,CAAC,eAAe,CACtB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,yDAAyD;oBACjE,QAAQ,EAAE;wBACR,QAAQ,EAAE,YAAY;wBACtB,OAAO,EAAE,YAAY;wBACrB,SAAS;wBACT,WAAW,EAAE,KAAK,CAAC,eAAe;qBACnC;iBACF,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,qEAAqE;YACrE,0EAA0E;YAC1E,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3D,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,6BAA6B;YAC7B,MAAM,WAAW,GACf,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;gBACjE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACT,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACzF,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC9B,OAAO;wBACL,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,QAAQ,EAAE,YAAY;4BACtB,OAAO,EAAE,YAAY;4BACrB,SAAS;4BACT,WAAW,EAAE,KAAK,CAAC,eAAe;4BAClC,OAAO;4BACP,UAAU,EAAE,KAAK;yBAClB;qBACF,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAChC,mEAAmE;oBACnE,iEAAiE;oBACjE,oEAAoE;oBACpE,sEAAsE;oBACtE,6DAA6D;oBAC7D,wDAAwD;oBACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC7D,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAC7C,CAAC,EACD,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAC3C,CAAC;oBACF,MAAM,MAAM,GACV,aAAa,GAAG,OAAO;wBACvB,WAAW,UAAU,CAAC,MAAM,mBAAmB,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC;oBAC9E,qEAAqE;oBACrE,iEAAiE;oBACjE,+DAA+D;oBAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,KAAK,EACL,kBAAkB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CACrD,CAAC;oBACF,IAAI,WAAiE,CAAC;oBACtE,IAAI,CAAC;wBACH,WAAW,GAAG,MAAM,SAAS,CAC3B,EAAE,EACF,SAAS,EACT,OAAO,EACP,OAAO,EACP,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,EACzB,UAAU,EACV,cAAc,CACf,CAAC;oBACJ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO;4BACL,QAAQ,EAAE,IAAI;4BACd,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE,EAAE;4BACV,MAAM,EAAE,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;4BACvF,QAAQ,EAAE;gCACR,QAAQ,EAAE,YAAY;gCACtB,OAAO,EAAE,YAAY;gCACrB,SAAS;gCACT,WAAW,EAAE,KAAK,CAAC,eAAe;gCAClC,OAAO;gCACP,UAAU,EAAE,OAAO;6BACpB;yBACF,CAAC;oBACJ,CAAC;oBACD,OAAO;wBACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;wBAC9B,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,WAAW,CAAC,MAAM;wBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;wBAC1B,QAAQ,EAAE;4BACR,QAAQ,EAAE,YAAY;4BACtB,OAAO,EAAE,YAAY;4BACrB,SAAS;4BACT,WAAW,EAAE,KAAK,CAAC,eAAe;4BAClC,OAAO;4BACP,UAAU,EAAE,OAAO;4BACnB,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;yBAC7C;qBACF,CAAC;gBACJ,CAAC;gBACD,kEAAkE;YACpE,CAAC;YAED,MAAM,eAAe,GACnB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBACnC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;gBACpB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBAClB,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;oBAC7B,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAE1B,gFAAgF;YAChF,+EAA+E;YAC/E,iFAAiF;YACjF,gFAAgF;YAChF,qBAAqB;YACrB,MAAM,WAAW,GAAG,kBAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAEpE,yEAAyE;YACzE,yEAAyE;YACzE,4CAA4C;YAC5C,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACjC,KAAK,EACL,kBAAkB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CACrD,CAAC;YAEF,IAAI,UAAgE,CAAC;YACrE,IAAI,CAAC;gBACH,UAAU,GAAG,MAAM,SAAS,CAC1B,EAAE,EACF,SAAS,EACT,OAAO,EACP,OAAO,EACP,WAAW,EACX,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC3D,kBAAkB,CACnB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mEAAmE;gBACnE,mDAAmD;gBACnD,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,2BAA2B,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC;oBAC1G,QAAQ,EAAE;wBACR,QAAQ,EAAE,YAAY;wBACtB,OAAO,EAAE,YAAY;wBACrB,SAAS;wBACT,WAAW,EAAE,KAAK,CAAC,eAAe;wBAClC,OAAO;qBACR;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC;gBAC3E,QAAQ,EAAE;oBACR,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,YAAY;oBACrB,SAAS;oBACT,WAAW,EAAE,KAAK,CAAC,eAAe;oBAClC,OAAO;iBACR;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,2EAA2E;YAC3E,qFAAqF;YACrF,yEAAyE;YACzE,wBAAwB;YACxB,EAAE;YACF,yEAAyE;YAEzE,IAAI,MAAM,CAAC;YACX,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAC9C,OAAO,EACP,SAAS,EACT,KAAK,CAAC,eAAe,EACrB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,CAChD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;oBACnC,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,QAAQ,EAAE,OAAO,KAAK,QAAQ;gBACzC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO;gBACxB,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAC3B,OAAO,EACP,SAAS,EACT,KAAK,CAAC,eAAe,CACtB,CAAC;YAER,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,eAAe,CAAC,UAAU,CAC9B,OAAO,EACP,SAAS,EACT,OAAO,EACP,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;oBACrB,IAAI,MAAM,KAAK,QAAQ;wBAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;wBAC5C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC,CACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,QAAQ;gBACR,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,EAAE,2BAA2B,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC;gBAC/E,QAAQ,EAAE;oBACR,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,KAAK;oBACd,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,eAAe;oBAC9B,OAAO,EAAE,OAAO,IAAI,IAAI;oBACxB,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI;iBAC7B;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,+EAA+E;IAC/E,4EAA4E;IAC5E,6EAA6E;IAC7E,KAAK,CAAC,mBAAmB,CACvB,MAAqC;QAErC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,MAAM,aAAa,CAAC;YACzB,IAAI;YACJ,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS;YACT,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,oBAAoB,CACxB,MAAsC;QAEtC,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,MAAM,cAAc,CAAC;YAC1B,IAAI;YACJ,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS;YACT,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { KubeClients } from "./kube-client.js";
|
|
2
|
+
export declare const NETWORK_EGRESS_GRANT_PATH = "executionWorkspaceSettings.networkEgress";
|
|
3
|
+
export interface ScopedNetworkEgressGrant {
|
|
4
|
+
allowFqdns: string[];
|
|
5
|
+
allowCidrs: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function parseScopedNetworkEgressGrant(settings: unknown): ScopedNetworkEgressGrant;
|
|
8
|
+
export declare function createScopedNetworkEgressPolicy(input: {
|
|
9
|
+
clients: KubeClients;
|
|
10
|
+
namespace: string;
|
|
11
|
+
mode: "standard" | "cilium";
|
|
12
|
+
runId: string;
|
|
13
|
+
workloadName: string;
|
|
14
|
+
ownerReference: Record<string, unknown>;
|
|
15
|
+
grant: ScopedNetworkEgressGrant;
|
|
16
|
+
}): Promise<string | null>;
|
|
17
|
+
export declare function createScopedNetworkEgressPolicyOrReleaseWorkload(input: Parameters<typeof createScopedNetworkEgressPolicy>[0], releaseWorkload: () => Promise<void>): Promise<string | null>;
|
|
18
|
+
export declare function appendNetworkEgressDenyHint(stderr: string, grant: ScopedNetworkEgressGrant): string;
|
|
19
|
+
//# sourceMappingURL=scoped-network-egress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoped-network-egress.d.ts","sourceRoot":"","sources":["../src/scoped-network-egress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,eAAO,MAAM,yBAAyB,6CAA6C,CAAC;AAEpF,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,wBAAwB,CAgBzF;AAED,wBAAsB,+BAA+B,CAAC,KAAK,EAAE;IAC3D,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,KAAK,EAAE,wBAAwB,CAAC;CACjC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwCzB;AAED,wBAAsB,gDAAgD,CACpE,KAAK,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAC5D,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcxB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAOnG"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { buildNetworkPolicyManifests } from "./network-policy.js";
|
|
2
|
+
import { buildCiliumNetworkPolicyManifest } from "./cilium-network-policy.js";
|
|
3
|
+
export const NETWORK_EGRESS_GRANT_PATH = "executionWorkspaceSettings.networkEgress";
|
|
4
|
+
export function parseScopedNetworkEgressGrant(settings) {
|
|
5
|
+
if (!settings || typeof settings !== "object" || Array.isArray(settings)) {
|
|
6
|
+
return { allowFqdns: [], allowCidrs: [] };
|
|
7
|
+
}
|
|
8
|
+
const networkEgress = settings.networkEgress;
|
|
9
|
+
if (!networkEgress || typeof networkEgress !== "object" || Array.isArray(networkEgress)) {
|
|
10
|
+
return { allowFqdns: [], allowCidrs: [] };
|
|
11
|
+
}
|
|
12
|
+
const record = networkEgress;
|
|
13
|
+
const strings = (value) => Array.isArray(value)
|
|
14
|
+
? [...new Set(value.filter((item) => typeof item === "string").map((item) => item.trim()).filter(Boolean))]
|
|
15
|
+
: [];
|
|
16
|
+
return {
|
|
17
|
+
allowFqdns: strings(record.allowFqdns).map((fqdn) => fqdn.toLowerCase()),
|
|
18
|
+
allowCidrs: strings(record.allowCidrs),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export async function createScopedNetworkEgressPolicy(input) {
|
|
22
|
+
if (input.grant.allowFqdns.length === 0 && input.grant.allowCidrs.length === 0)
|
|
23
|
+
return null;
|
|
24
|
+
const suffix = "-egress";
|
|
25
|
+
const maxWorkloadLength = 253 - suffix.length;
|
|
26
|
+
const workloadName = input.workloadName.length <= maxWorkloadLength
|
|
27
|
+
? input.workloadName
|
|
28
|
+
: `${input.workloadName.slice(0, maxWorkloadLength - 26)}-${input.workloadName.slice(-25)}`;
|
|
29
|
+
const name = `${workloadName}${suffix}`;
|
|
30
|
+
if (input.mode === "cilium") {
|
|
31
|
+
const manifest = buildCiliumNetworkPolicyManifest({
|
|
32
|
+
namespace: input.namespace,
|
|
33
|
+
paperclipServerNamespace: "",
|
|
34
|
+
egressAllowFqdns: input.grant.allowFqdns,
|
|
35
|
+
egressAllowCidrs: input.grant.allowCidrs,
|
|
36
|
+
name,
|
|
37
|
+
endpointSelector: { "paperclip.io/run-id": input.runId },
|
|
38
|
+
includeBaseRules: false,
|
|
39
|
+
ownerReferences: [input.ownerReference],
|
|
40
|
+
});
|
|
41
|
+
await input.clients.custom.createNamespacedCustomObject({
|
|
42
|
+
group: "cilium.io",
|
|
43
|
+
version: "v2",
|
|
44
|
+
namespace: input.namespace,
|
|
45
|
+
plural: "ciliumnetworkpolicies",
|
|
46
|
+
body: manifest,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const [, manifest] = buildNetworkPolicyManifests({
|
|
51
|
+
namespace: input.namespace,
|
|
52
|
+
paperclipServerNamespace: "",
|
|
53
|
+
egressAllowFqdns: input.grant.allowFqdns,
|
|
54
|
+
egressAllowCidrs: input.grant.allowCidrs,
|
|
55
|
+
name,
|
|
56
|
+
podSelector: { "paperclip.io/run-id": input.runId },
|
|
57
|
+
includeBaseRules: false,
|
|
58
|
+
ownerReferences: [input.ownerReference],
|
|
59
|
+
});
|
|
60
|
+
await input.clients.networking.createNamespacedNetworkPolicy({ namespace: input.namespace, body: manifest });
|
|
61
|
+
}
|
|
62
|
+
return name;
|
|
63
|
+
}
|
|
64
|
+
export async function createScopedNetworkEgressPolicyOrReleaseWorkload(input, releaseWorkload) {
|
|
65
|
+
try {
|
|
66
|
+
return await createScopedNetworkEgressPolicy(input);
|
|
67
|
+
}
|
|
68
|
+
catch (policyError) {
|
|
69
|
+
try {
|
|
70
|
+
await releaseWorkload();
|
|
71
|
+
}
|
|
72
|
+
catch (releaseError) {
|
|
73
|
+
throw new AggregateError([policyError, releaseError], "Failed to create scoped network egress policy and release its workload");
|
|
74
|
+
}
|
|
75
|
+
throw policyError;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export function appendNetworkEgressDenyHint(stderr, grant) {
|
|
79
|
+
if (!/(could not resolve host|network is unreachable|connection timed out|failed to connect|temporary failure in name resolution)/i.test(stderr)) {
|
|
80
|
+
return stderr;
|
|
81
|
+
}
|
|
82
|
+
const allowed = [...grant.allowFqdns, ...grant.allowCidrs];
|
|
83
|
+
const detail = allowed.length > 0 ? ` Current task grant: ${allowed.join(", ")}.` : " No task-scoped destinations are granted.";
|
|
84
|
+
return `${stderr.trimEnd()}\nPaperclip network policy denied or could not route this request.${detail} Request access through ${NETWORK_EGRESS_GRANT_PATH}.\n`;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=scoped-network-egress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoped-network-egress.js","sourceRoot":"","sources":["../src/scoped-network-egress.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -260,6 +260,11 @@ export interface KubernetesLeaseMetadata {
|
|
|
260
260
|
phase: "Pending" | "Running" | "Succeeded" | "Failed";
|
|
261
261
|
/** Which backend provisioned this lease. */
|
|
262
262
|
backend: "sandbox-cr" | "job";
|
|
263
|
+
scopedNetworkPolicyName: string | null;
|
|
264
|
+
scopedNetworkEgress: {
|
|
265
|
+
allowFqdns: string[];
|
|
266
|
+
allowCidrs: string[];
|
|
267
|
+
};
|
|
263
268
|
/**
|
|
264
269
|
* True when this lease's backend has NO data channel for the native file-sync
|
|
265
270
|
* transport. Native sync streams over a pod exec, which only the `sandbox-cr`
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BvC;;;;;OAKG;;IAQH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASJ,CAAC;AAEJ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAEtF;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtD,4CAA4C;IAC5C,OAAO,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6BvC;;;;;OAKG;;IAQH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;;;;OAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASJ,CAAC;AAEJ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,wBAAwB,CAEtF;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,wGAAwG;IACxG,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtD,4CAA4C;IAC5C,OAAO,EAAE,YAAY,GAAG,KAAK,CAAC;IAC9B,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,mBAAmB,EAAE;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paperclipai/plugin-kubernetes",
|
|
3
|
-
"version": "2026.724.0-canary.
|
|
3
|
+
"version": "2026.724.0-canary.4",
|
|
4
4
|
"description": "Kubernetes sandbox provider plugin for Paperclip environments",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/paperclipai/paperclip",
|
|
@@ -42,6 +42,6 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@kubernetes/client-node": "^1.0.0",
|
|
44
44
|
"zod": "^3.24.2",
|
|
45
|
-
"@paperclipai/plugin-sdk": "2026.724.0-canary.
|
|
45
|
+
"@paperclipai/plugin-sdk": "2026.724.0-canary.4"
|
|
46
46
|
}
|
|
47
47
|
}
|