@intentic/providers 1.310.0 → 1.311.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/README.md CHANGED
@@ -1,31 +1,32 @@
1
- # @intentic/providers
1
+ # providers
2
2
 
3
- The real **Provider SPI implementations** the engine reconciles against: the only seam between a compiled graph and live infrastructure. Each provider does `read` (stateless introspection), `diff` (pure decision), and `apply` (create/update) over SSH/Docker and the Forgejo/Komodo/Cloudflare/Authentik HTTP APIs. Depends on [`@intentic/engine`](../engine) (SPI types) + [`@intentic/graph`](../graph).
3
+ The deploy tool's providers: one implementation of the engine's `Provider` contract per resource kind, reaching hosts over SSH and vendors over their HTTP APIs.
4
4
 
5
- ## Responsibilities
5
+ ```mermaid
6
+ flowchart LR
7
+ engine["engine<br/>read · diff · apply · delete"] --> providers(["providers<br/>createProviders"])
8
+ providers -- "SSH + Docker" --> host["Hosts<br/>Forgejo · Komodo · backings · services"]
9
+ providers -- "SSH port-forward" --> cp["Forgejo · Komodo APIs"]
10
+ providers -- "HTTPS" --> vendors["Cloudflare · GitHub · GitLab<br/>Discord · Stripe"]
11
+ ```
6
12
 
7
- - Implement one provider per `ResourceType` and assemble them into the `ResourceType → Provider` map (`createProviders`).
8
- - Wrap external systems behind injectable API adapters (Forgejo, Komodo, Cloudflare, Authentik, Discord, Garage) so providers stay testable.
9
- - Own the host/SSH transport, Docker operations, DNS/tunnel routes, repos/CI, deployments, backups/restore, and identity (users/orgs/teams).
10
- - Validate node inputs with zod (`parseInputs`) before any I/O.
13
+ - `createProviders` assembles the full kind-to-provider map over injectable dependencies: the SSH executor and each vendor API client. Tests pass fakes and drive the whole suite in memory.
14
+ - Every container intentic starts on a host carries `intentic.id` and `intentic.type` labels, so `list` finds orphans with one `docker ps` per host.
15
+ - Forgejo and Komodo APIs are reached through a loopback port-forward over SSH, because the Cloudflare tunnel behind their public routes may be the very thing an apply is changing.
16
+ - A NAT'd host is reached through its own Cloudflare tunnel (`via: "cloudflared"`). Host keys are trusted on first use and pinned.
17
+ - Stateful services on a host with the `guarded` update policy snapshot their volumes with restic before an image bump and roll back if the new image fails its health check.
11
18
 
12
19
  ## Key files
13
20
 
14
- - [src/index.ts](src/index.ts): `createProviders` + `ProviderDeps`; re-points to every `create*Provider` factory.
15
- - `src/<kind>.ts`, one provider per kind: e.g. [src/network/cloudflare.ts](src/network/cloudflare.ts), [src/forgejo/forgejo.ts](src/forgejo/forgejo.ts), [src/komodo/komodo.ts](src/komodo/komodo.ts), [src/komodo/deployment.ts](src/komodo/deployment.ts), [src/network/cf-route.ts](src/network/cf-route.ts), [src/forgejo/ci.ts](src/forgejo/ci.ts).
16
- - `src/<system>-api.ts`, HTTP adapters: [src/forgejo/forgejo-api.ts](src/forgejo/forgejo-api.ts), [src/komodo/komodo-api.ts](src/komodo/komodo-api.ts), [src/network/cloudflare-api.ts](src/network/cloudflare-api.ts), [src/auth/authentik-api.ts](src/auth/authentik-api.ts); fakes like [src/forgejo/forgejo-api.fake.ts](src/forgejo/forgejo-api.fake.ts).
17
- - [src/backings](src/backings): `sshExecutor` (+ `SshExecutor`/`SshSession`); [src/api-validation.test.ts](src/api-validation.test.ts), input-validation coverage.
18
- - The three **skeletons** every Docker-deploying provider is built from, so a new one is a spec rather than another copy of `read`/`diff`/`apply`/`delete`/`list`:
19
- - [src/core/backing-provider.ts](src/core/backing-provider.ts) — one container per node id (postgres, valkey, garage, authentik): a schema, a compose file, a readiness probe.
20
- - [src/core/instance-binding.ts](src/core/instance-binding.ts) — an app's slice INSIDE a backing (a database, an ACL user, a bucket), reached with `docker exec`.
21
- - [src/services/compose-service.ts](src/services/compose-service.ts) — one singleton stack per kind (the catalog services, signoz), diffed per compose service.
22
- - [src/core/host-files.ts](src/core/host-files.ts) is the writing the three share: rewritten config files, and the write-once `.env` whose two quoting layers are the part that used to be got wrong.
21
+ - [src/providers.ts](src/providers.ts) — `createProviders`, the map the engine reconciles against.
22
+ - [src/core/ssh.ts](src/core/ssh.ts) — the SSH executor, cloudflared forwarding and host-key pinning.
23
+ - [src/core/over-ssh.ts](src/core/over-ssh.ts) — why and how control-plane APIs go over SSH.
24
+ - [src/core/backing-provider.ts](src/core/backing-provider.ts) — the shared shape of Postgres, Valkey, Garage and Authentik.
25
+ - [src/komodo/deployment.ts](src/komodo/deployment.ts) — one Komodo deployment per app environment.
26
+ - [src/suite.engine.test.ts](src/suite.engine.test.ts) — the whole provider stack reconciling an app over fakes, then again as a noop.
23
27
 
24
- ## How it fits
28
+ ## Commands
25
29
 
26
- The infra boundary. `engine` defines the SPI and consumes a `Providers` map; this package is the production implementation of that map (the `cli` builds it via `createProviders`). Tests inject the fakes instead.
27
-
28
- ## Conventions & gotchas
29
-
30
- - Providers are constructed from injected deps/adapters: never reach for ambient globals; pass a fake adapter in tests.
31
- - Keep `diff` pure: do all reads in `read`, all mutations in `apply`. Stamp created resources (`intentic.id=<id>`) for future orphan detection. See [ARCHITECTURE.md](../../ARCHITECTURE.md).
30
+ ```sh
31
+ pnpm --filter @intentic/providers test
32
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"authentik-api.d.ts","sourceRoot":"","sources":["../../src/auth/authentik-api.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAEzB,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAElI,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/H;AAyCD,eAAO,MAAM,YAAY,EAAE,YAuC1B,CAAC"}
1
+ {"version":3,"file":"authentik-api.d.ts","sourceRoot":"","sources":["../../src/auth/authentik-api.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAEzB,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAElI,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/H;AAqDD,eAAO,MAAM,YAAY,EAAE,YAuC1B,CAAC"}
@@ -2,17 +2,24 @@ import { z } from "zod";
2
2
  import { parseResponse } from "../core/inputs.js";
3
3
  const listSchema = z.object({ results: z.array(z.object({ pk: z.union([z.number(), z.string()]) })) });
4
4
  const scopeListSchema = z.object({ results: z.array(z.object({ pk: z.string(), scope_name: z.string() })) });
5
+ const send = async (method, baseUrl, token, path, body) => fetch(`${baseUrl}/api/v3${path}`, {
6
+ method,
7
+ headers: { Authorization: `Bearer ${token}`, ...(body !== undefined ? { "Content-Type": "application/json" } : {}) },
8
+ ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
9
+ signal: AbortSignal.timeout(30_000),
10
+ });
11
+ const fail = async (method, path, response) => {
12
+ throw new Error(`authentik ${method} ${path} failed (${response.status}): ${(await response.text()).slice(0, 500)}`);
13
+ };
5
14
  const call = async (method, baseUrl, token, path, body) => {
6
- const response = await fetch(`${baseUrl}/api/v3${path}`, {
7
- method,
8
- headers: { Authorization: `Bearer ${token}`, ...(body !== undefined ? { "Content-Type": "application/json" } : {}) },
9
- ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
10
- signal: AbortSignal.timeout(30_000),
11
- });
12
- if (!response.ok) {
13
- throw new Error(`authentik ${method} ${path} failed (${response.status}): ${(await response.text()).slice(0, 500)}`);
15
+ const response = await send(method, baseUrl, token, path, body);
16
+ return response.ok ? response : fail(method, path, response);
17
+ };
18
+ const remove = async (baseUrl, token, path) => {
19
+ const response = await send("DELETE", baseUrl, token, path);
20
+ if (!response.ok && response.status !== 404) {
21
+ await fail("DELETE", path, response);
14
22
  }
15
- return response;
16
23
  };
17
24
  const get = async (baseUrl, token, path) => (await call("GET", baseUrl, token, path)).json();
18
25
  const flowPk = async (baseUrl, token, slug) => {
@@ -58,10 +65,10 @@ export const authentikApi = {
58
65
  }
59
66
  },
60
67
  deleteClient: async ({ baseUrl, token, slug }) => {
61
- await call("DELETE", baseUrl, token, `/core/applications/${slug}/`).catch(() => undefined);
68
+ await remove(baseUrl, token, `/core/applications/${slug}/`);
62
69
  const providerPk = firstPk(await get(baseUrl, token, `/providers/oauth2/?name=${slug}`));
63
70
  if (providerPk !== undefined) {
64
- await call("DELETE", baseUrl, token, `/providers/oauth2/${providerPk}/`).catch(() => undefined);
71
+ await remove(baseUrl, token, `/providers/oauth2/${providerPk}/`);
65
72
  }
66
73
  },
67
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authentik-api.js","sourceRoot":"","sources":["../../src/auth/authentik-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentik-api.js","sourceRoot":"","sources":["../../src/auth/authentik-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"garage-bucket.d.ts","sourceRoot":"","sources":["../../src/backings/garage-bucket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAwC9D,eAAO,MAAM,0BAA0B,cAAc,WAAW,KAAiB,QAyB5E,CAAC"}
1
+ {"version":3,"file":"garage-bucket.d.ts","sourceRoot":"","sources":["../../src/backings/garage-bucket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAoC9D,eAAO,MAAM,0BAA0B,cAAc,WAAW,KAAiB,QA2B5E,CAAC"}
@@ -1,22 +1,21 @@
1
1
  import { z } from "zod";
2
2
  import { bindingSchema, createInstanceBindingProvider } from "../core/instance-binding.js";
3
3
  import { sshExecutor } from "../core/ssh.js";
4
- const BIN = "/garage";
4
+ import { GARAGE_BIN, runGarage } from "./garage.js";
5
5
  const bucketSchema = bindingSchema.extend({
6
6
  endpoint: z.string(),
7
7
  bucket: z.string(),
8
8
  keyName: z.string(),
9
9
  });
10
- const garage = async (session, cid, args) => {
11
- const result = await session.exec(`docker exec ${cid} ${BIN} ${args}`);
12
- if (result.code !== 0) {
13
- throw new Error(`garage ${args.split(" ")[0]} failed (${result.code}): ${result.stderr.trim()}`);
14
- }
15
- return result.stdout.trim();
16
- };
17
10
  const readKey = async (session, cid, keyName) => {
18
- const info = (await session.exec(`docker exec ${cid} ${BIN} key info --show-secret ${keyName}`)).stdout;
19
- const field = (label) => info.match(new RegExp(`${label}:\\s*(\\S+)`))?.[1] ?? "";
11
+ const info = await runGarage(session, cid, `key info --show-secret ${keyName}`);
12
+ const field = (label) => {
13
+ const value = info.match(new RegExp(`${label}:\\s*(\\S+)`))?.[1];
14
+ if (value === undefined) {
15
+ throw new Error(`garage key info ${keyName}: no "${label}:" line in its output`);
16
+ }
17
+ return value;
18
+ };
20
19
  return { accessKey: field("Key ID"), secretKey: field("Secret key") };
21
20
  };
22
21
  const outputsFor = (parsed, key) => ({
@@ -30,18 +29,19 @@ export const createGarageBucketProvider = (executor = sshExecutor) => createInst
30
29
  schema: bucketSchema,
31
30
  pendingRefs: ["endpoint"],
32
31
  present: async (session, cid, parsed) => {
33
- const info = await session.exec(`docker exec ${cid} ${BIN} bucket info ${parsed.bucket}`);
34
- return info.code === 0 ? outputsFor(parsed, await readKey(session, cid, parsed.keyName)) : undefined;
32
+ const bucket = await session.exec(`docker exec ${cid} ${GARAGE_BIN} bucket info ${parsed.bucket}`);
33
+ const key = bucket.code === 0 ? await session.exec(`docker exec ${cid} ${GARAGE_BIN} key info ${parsed.keyName}`) : undefined;
34
+ return key?.code === 0 ? outputsFor(parsed, await readKey(session, cid, parsed.keyName)) : undefined;
35
35
  },
36
36
  create: async (session, cid, parsed) => {
37
- await session.exec(`docker exec ${cid} ${BIN} bucket create ${parsed.bucket} 2>/dev/null || true`);
38
- await session.exec(`docker exec ${cid} ${BIN} key create ${parsed.keyName} 2>/dev/null || true`);
39
- await garage(session, cid, `bucket allow --read --write ${parsed.bucket} --key ${parsed.keyName}`);
37
+ await session.exec(`docker exec ${cid} ${GARAGE_BIN} bucket create ${parsed.bucket} 2>/dev/null || true`);
38
+ await session.exec(`docker exec ${cid} ${GARAGE_BIN} key create ${parsed.keyName} 2>/dev/null || true`);
39
+ await runGarage(session, cid, `bucket allow --read --write ${parsed.bucket} --key ${parsed.keyName}`);
40
40
  return outputsFor(parsed, await readKey(session, cid, parsed.keyName));
41
41
  },
42
42
  drop: async (session, cid, parsed) => {
43
- await session.exec(`docker exec ${cid} ${BIN} bucket delete --yes ${parsed.bucket} 2>/dev/null || true`);
44
- await session.exec(`docker exec ${cid} ${BIN} key delete --yes ${parsed.keyName} 2>/dev/null || true`);
43
+ await session.exec(`docker exec ${cid} ${GARAGE_BIN} bucket delete --yes ${parsed.bucket} 2>/dev/null || true`);
44
+ await session.exec(`docker exec ${cid} ${GARAGE_BIN} key delete --yes ${parsed.keyName} 2>/dev/null || true`);
45
45
  },
46
46
  }, executor);
47
47
  //# sourceMappingURL=garage-bucket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"garage-bucket.js","sourceRoot":"","sources":["../../src/backings/garage-bucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"garage-bucket.js","sourceRoot":"","sources":["../../src/backings/garage-bucket.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { Provider } from "@intentic/engine";
2
- import type { SshExecutor } from "../core/ssh.js";
2
+ import type { SshExecutor, SshSession } from "../core/ssh.js";
3
+ export declare const GARAGE_BIN = "/garage";
4
+ export declare const runGarage: (session: SshSession, cid: string, args: string) => Promise<string>;
3
5
  export declare const createGarageProvider: (executor?: SshExecutor) => Provider;
4
6
  //# sourceMappingURL=garage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"garage.d.ts","sourceRoot":"","sources":["../../src/backings/garage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AAmE9D,eAAO,MAAM,oBAAoB,cAAc,WAAW,KAAiB,QAqBtE,CAAC"}
1
+ {"version":3,"file":"garage.d.ts","sourceRoot":"","sources":["../../src/backings/garage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAK9D,eAAO,MAAM,UAAU,YAAY,CAAC;AA8CpC,eAAO,MAAM,SAAS,YAAmB,UAAU,OAAO,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,CAM9F,CAAC;AAmBF,eAAO,MAAM,oBAAoB,cAAc,WAAW,KAAiB,QAqBtE,CAAC"}
@@ -3,7 +3,7 @@ import { backingSchema, createBackingProvider } from "../core/backing-provider.j
3
3
  import { containerId, execProbe, stampLabels } from "../core/backing-ssh.js";
4
4
  import { sshExecutor } from "../core/ssh.js";
5
5
  const KIND = "garage";
6
- const BIN = "/garage";
6
+ export const GARAGE_BIN = "/garage";
7
7
  const garageSchema = backingSchema.extend({
8
8
  region: z.string(),
9
9
  domain: z.string().optional(),
@@ -36,18 +36,24 @@ const garageToml = (parsed) => [
36
36
  'api_bind_addr = "[::]:3900"',
37
37
  "",
38
38
  ].join("\n");
39
+ export const runGarage = async (session, cid, args) => {
40
+ const result = await session.exec(`docker exec ${cid} ${GARAGE_BIN} ${args}`);
41
+ if (result.code !== 0) {
42
+ throw new Error(`garage ${args.split(" ")[0]} failed (${result.code}): ${result.stderr.trim()}`);
43
+ }
44
+ return result.stdout.trim();
45
+ };
39
46
  const ensureLayout = async (session, id) => {
40
47
  const cid = await containerId(session, id);
41
- const nodeId = (await session.exec(`docker exec ${cid} ${BIN} node id -q`)).stdout.trim().split("@")[0] ?? "";
48
+ const nodeId = (await runGarage(session, cid, "node id -q")).split("@")[0] ?? "";
42
49
  if (nodeId === "") {
43
50
  throw new Error(`garage "${id}": could not read node id`);
44
51
  }
45
- const layout = await session.exec(`docker exec ${cid} ${BIN} layout show`);
46
- if (layout.stdout.includes(nodeId)) {
52
+ if ((await runGarage(session, cid, "layout show")).includes(nodeId.slice(0, 16))) {
47
53
  return;
48
54
  }
49
- await session.exec(`docker exec ${cid} ${BIN} layout assign -z dc1 -c 1G ${nodeId}`);
50
- await session.exec(`docker exec ${cid} ${BIN} layout apply --version 1`);
55
+ await runGarage(session, cid, `layout assign -z dc1 -c 1G ${nodeId}`);
56
+ await runGarage(session, cid, "layout apply --version 1");
51
57
  };
52
58
  export const createGarageProvider = (executor = sshExecutor) => createBackingProvider({
53
59
  kind: KIND,
@@ -61,7 +67,7 @@ export const createGarageProvider = (executor = sshExecutor) => createBackingPro
61
67
  prepare: async (session, _parsed, dir) => {
62
68
  await session.exec(`test -f ${dir}/rpc_secret || { openssl rand -hex 32 > ${dir}/rpc_secret && chmod 600 ${dir}/rpc_secret; }`);
63
69
  },
64
- probe: (_parsed, id) => execProbe(id, `${BIN} status`),
70
+ probe: (_parsed, id) => execProbe(id, `${GARAGE_BIN} status`),
65
71
  ready: (session, _parsed, id) => ensureLayout(session, id),
66
72
  }, executor);
67
73
  //# sourceMappingURL=garage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"garage.js","sourceRoot":"","sources":["../../src/backings/garage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"garage.js","sourceRoot":"","sources":["../../src/backings/garage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/backup/backup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAKjE,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AA6D9D,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,OAA+B,CAAC;AA4F3E,eAAO,MAAM,oBAAoB,cAAc,WAAW,KAAiB,QA+EzE,CAAC"}
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/backup/backup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAMjE,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AA6D9D,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,WAAW,SAAU,MAAM,KAAG,OAA+B,CAAC;AAmG3E,eAAO,MAAM,oBAAoB,cAAc,WAAW,KAAiB,QA+EzE,CAAC"}
@@ -1,6 +1,8 @@
1
+ import { basename } from "node:path";
1
2
  import { HOST_STATE_ROOT } from "@intentic/constants";
2
3
  import { dockerEnvLine, shellQuote } from "@intentic/sandbox-run/quote";
3
4
  import { z } from "zod";
5
+ import { execChecked, writeHostFiles } from "../core/host-files.js";
4
6
  import { parseInputs, sshSchema, sshTarget } from "../core/inputs.js";
5
7
  import { listStampedContainers } from "../core/list-stamped.js";
6
8
  import { sshExecutor } from "../core/ssh.js";
@@ -82,17 +84,18 @@ const observe = async (session) => {
82
84
  return { image, schedule, repo, timezone: timezone === "" ? "UTC" : timezone };
83
85
  };
84
86
  const ensureFiles = async (session, parsed) => {
85
- await session.exec(`mkdir -p ${STATE_DIR}`);
87
+ await writeHostFiles(session, "backup", STATE_DIR, {
88
+ [basename(SCRIPT_FILE)]: backupScript(parsed),
89
+ [basename(CRONTAB_FILE)]: `${parsed.schedule} /bin/sh ${SCRIPT_FILE}\n`,
90
+ });
91
+ await execChecked(session, "backup", `chmod +x ${SCRIPT_FILE}`, `chmod ${SCRIPT_FILE}`);
86
92
  const envLines = [
87
93
  dockerEnvLine("RESTIC_PASSWORD", parsed.password),
88
94
  ...Object.entries(parsed.credentials).map(([key, value]) => dockerEnvLine(key, value)),
89
95
  ]
90
96
  .map((line) => shellQuote(line))
91
97
  .join(" ");
92
- await session.exec(`test -f ${ENV_FILE} || { printf '%s' ${envLines} > ${ENV_FILE} && chmod 600 ${ENV_FILE}; }`);
93
- await session.exec(`cat > ${SCRIPT_FILE} <<'BACKUP_EOF'\n${backupScript(parsed)}BACKUP_EOF`);
94
- await session.exec(`chmod +x ${SCRIPT_FILE}`);
95
- await session.exec(`cat > ${CRONTAB_FILE} <<'CRON_EOF'\n${parsed.schedule} /bin/sh ${SCRIPT_FILE}\nCRON_EOF`);
98
+ await execChecked(session, "backup", `test -f ${ENV_FILE} || { printf '%s' ${envLines} > ${ENV_FILE} && chmod 600 ${ENV_FILE}; }`, `write ${ENV_FILE}`);
96
99
  };
97
100
  const mountArgs = (parsed, dockerBin) => {
98
101
  const volumes = Object.entries(volumeMounts(parsed.signoz))
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/backup/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/backup/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAEzD,QAAQ,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,0CAA0C,EAAE,kEAAkE,CAAC;SACrH,OAAO,CAAC,WAAW,CAAC;IAOzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,SAAS,EAAE,CAAC;SACP,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5H,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;CACpD,CAAC,CAAC;AAKH,MAAM,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE;IACzC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAgB,EAAE;IACnD,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAG3D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,QAAQ,qEAAqE,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,iBAAiB,CAAC;AACpC,MAAM,SAAS,GAAG,GAAG,eAAe,SAAS,CAAC;AAC9C,MAAM,QAAQ,GAAG,GAAG,SAAS,aAAa,CAAC;AAC3C,MAAM,WAAW,GAAG,GAAG,SAAS,YAAY,CAAC;AAC7C,MAAM,YAAY,GAAG,GAAG,SAAS,UAAU,CAAC;AAE5C,MAAM,GAAG,GAAG,GAAG,CAAC;AAGhB,MAAM,CAAC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAClD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAI3E,MAAM,YAAY,GAAG,CAAC,MAAe,EAA0B,EAAE,CAAC,CAAC;IAC/D,uBAAuB,EAAE,kBAAkB;IAC3C,sBAAsB,EAAE,0BAA0B;IAClD,WAAW,EAAE,sBAAsB;IACnC,uBAAuB,EAAE,0BAA0B;IACnD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAChI,CAAC,CAAC;AAKH,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAU,EAAE,CAClD;IACI,WAAW;IACX,SAAS;IACT,kBAAkB;IAClB,wCAAwC;IACxC,qFAAqF;IACrF,uHAAuH;IACvH,oFAAoF;IACpF,gEAAgE;IAChE,sCAAsC;IACtC,6FAA6F;IAC7F,4GAA4G;IAC5G,uIAAuI;IAGvI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAClH,CAAC,CAAC,EAAE,CAAC;IACT,aAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD;IACpF,aAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,SAAS,CAAC,KAAK,kBAAkB,MAAM,CAAC,SAAS,CAAC,MAAM,mBAAmB,MAAM,CAAC,SAAS,CAAC,OAAO,UAAU;IAChL,EAAE;CACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEjB,MAAM,OAAO,GAAG,KAAK,EAAE,OAAmB,EAAoB,EAAE;IAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,6BAA6B,SAAS,0BAA0B,CAAC,CAAC;IACpG,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC;AAC9C,CAAC,CAAC;AAGF,MAAM,OAAO,GAAG,KAAK,EAAE,OAAmB,EAAgF,EAAE;IACxH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAC7B,6CAA6C,GAAG,+CAA+C,GAAG,2CAA2C,GAAG,iDAAiD,SAAS,sBAAsB,CACnO,CAAC;IAGF,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9F,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnF,CAAC,CAAC;AAKF,MAAM,WAAW,GAAG,KAAK,EAAE,OAAmB,EAAE,MAAoB,EAAiB,EAAE;IACnF,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC/C,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;QAC7C,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,YAAY,WAAW,IAAI;KAC1E,CAAC,CAAC;IACH,MAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,WAAW,EAAE,EAAE,SAAS,WAAW,EAAE,CAAC,CAAC;IAExF,MAAM,QAAQ,GAAG;QACb,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC;QACjD,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KACzF;SACI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,MAAM,WAAW,CACb,OAAO,EACP,QAAQ,EACR,WAAW,QAAQ,qBAAqB,QAAQ,MAAM,QAAQ,iBAAiB,QAAQ,KAAK,EAC5F,SAAS,QAAQ,EAAE,CACtB,CAAC;AACN,CAAC,CAAC;AAGF,MAAM,SAAS,GAAG,CAAC,MAAoB,EAAE,SAAiB,EAAU,EAAE;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC;SAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,OAAO;QACH,8CAA8C;QAC9C,MAAM,SAAS,2BAA2B;QAC1C,OAAO;QAEP,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,wCAAwC;QACxC,MAAM,WAAW,gBAAgB;QACjC,MAAM,YAAY,wBAAwB;QAC1C,cAAc,QAAQ,EAAE;KAC3B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,GAAgB,WAAW,EAAY,EAAE,CAAC,CAAC;IACpF,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,OAAmB,CAAC;QACxB,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,gEAAgE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1G,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YAED,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iCAAiC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7H,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,oCAAoC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpI,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gCAAgC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACxH,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,oCAAoC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpI,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC;YAGD,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1E,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,kGAAkG,CAAC,CAAC;YACxH,CAAC;YACD,MAAM,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,SAAS,sBAAsB,CAAC,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAC1B,iDAAiD,SAAS,YAAY,UAAU,CAAC,eAAe,GAAG,CAAC,EAAE,EAAE,CAAC,gCAAgC;gBACrI,WAAW,UAAU,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,UAAU,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG;gBACtH,WAAW,UAAU,CAAC,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,UAAU,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG;gBAC1G,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,uBAAuB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAC/F,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1G,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;gBAAS,CAAC;YACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC;YAGD,MAAM,OAAO,CAAC,IAAI,CAAC,gBAAgB,SAAS,sBAAsB,CAAC,CAAC;YACpE,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;YAC1C,GAAG,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,iEAAiE,CAAC,CAAC;QAChG,CAAC;gBAAS,CAAC;YACP,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC;CACtF,CAAC,CAAC"}
@@ -7,6 +7,7 @@ export interface HostFile {
7
7
  readonly content: string;
8
8
  readonly secret?: boolean;
9
9
  }
10
+ export declare const execChecked: (session: SshSession, kind: string, command: string, what: string) => Promise<void>;
10
11
  export declare const writeHostFiles: (session: SshSession, kind: string, dir: string, files: Readonly<Record<string, string | HostFile>>) => Promise<void>;
11
12
  export declare const envArg: (key: string, value: string) => string;
12
13
  export declare const writeEnvOnce: (session: SshSession, kind: string, dir: string, entries: readonly EnvEntry[]) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"host-files.d.ts","sourceRoot":"","sources":["../../src/core/host-files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC7B;AAWD,eAAO,MAAM,cAAc,YACd,UAAU,QACb,MAAM,OACP,MAAM,SACJ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,KACnD,OAAO,CAAC,IAAI,CAYd,CAAC;AAIF,eAAO,MAAM,MAAM,QAAS,MAAM,SAAS,MAAM,KAAG,MAAsD,CAAC;AAI3G,eAAO,MAAM,YAAY,YAAmB,UAAU,QAAQ,MAAM,OAAO,MAAM,WAAW,SAAS,QAAQ,EAAE,KAAG,OAAO,CAAC,IAAI,CAc7H,CAAC"}
1
+ {"version":3,"file":"host-files.d.ts","sourceRoot":"","sources":["../../src/core/host-files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,WAAW,YAAmB,UAAU,QAAQ,MAAM,WAAW,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAKhH,CAAC;AAIF,eAAO,MAAM,cAAc,YACd,UAAU,QACb,MAAM,OACP,MAAM,SACJ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,KACnD,OAAO,CAAC,IAAI,CAYd,CAAC;AAIF,eAAO,MAAM,MAAM,QAAS,MAAM,SAAS,MAAM,KAAG,MAAsD,CAAC;AAI3G,eAAO,MAAM,YAAY,YAAmB,UAAU,QAAQ,MAAM,OAAO,MAAM,WAAW,SAAS,QAAQ,EAAE,KAAG,OAAO,CAAC,IAAI,CAc7H,CAAC"}
@@ -1,18 +1,18 @@
1
1
  import { envLine, shellQuote } from "@intentic/sandbox-run/quote";
2
- const exec = async (session, kind, command, what) => {
2
+ export const execChecked = async (session, kind, command, what) => {
3
3
  const result = await session.exec(command);
4
4
  if (result.code !== 0) {
5
5
  throw new Error(`${kind}: ${what} failed (exit ${result.code}): ${result.stderr.trim()}`);
6
6
  }
7
7
  };
8
8
  export const writeHostFiles = async (session, kind, dir, files) => {
9
- await exec(session, kind, `mkdir -p ${dir}`, `create ${dir}`);
9
+ await execChecked(session, kind, `mkdir -p ${dir}`, `create ${dir}`);
10
10
  const marker = `${kind.toUpperCase().replaceAll(/[^A-Z0-9]/gu, "_")}_FILE_EOF`;
11
11
  for (const [name, file] of Object.entries(files)) {
12
12
  const content = typeof file === "string" ? file : file.content;
13
- await exec(session, kind, `cat > ${dir}/${name} <<'${marker}'\n${content}${marker}`, `write ${dir}/${name}`);
13
+ await execChecked(session, kind, `cat > ${dir}/${name} <<'${marker}'\n${content}${marker}`, `write ${dir}/${name}`);
14
14
  if (typeof file !== "string" && file.secret === true) {
15
- await exec(session, kind, `chmod 600 ${dir}/${name}`, `chmod ${dir}/${name}`);
15
+ await execChecked(session, kind, `chmod 600 ${dir}/${name}`, `chmod ${dir}/${name}`);
16
16
  }
17
17
  }
18
18
  };
@@ -22,6 +22,6 @@ export const writeEnvOnce = async (session, kind, dir, entries) => {
22
22
  ?
23
23
  `"${entry.key}='$(openssl rand -hex 32)'"`
24
24
  : envArg(entry.key, entry.value));
25
- await exec(session, kind, `test -f ${dir}/.env || { printf '%s\\n' ${args.join(" ")} > ${dir}/.env && chmod 600 ${dir}/.env; }`, `write ${dir}/.env`);
25
+ await execChecked(session, kind, `test -f ${dir}/.env || { printf '%s\\n' ${args.join(" ")} > ${dir}/.env && chmod 600 ${dir}/.env; }`, `write ${dir}/.env`);
26
26
  };
27
27
  //# sourceMappingURL=host-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-files.js","sourceRoot":"","sources":["../../src/core/host-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAqBlE,MAAM,IAAI,GAAG,KAAK,EAAE,OAAmB,EAAE,IAAY,EAAE,OAAe,EAAE,IAAY,EAAiB,EAAE;IACnG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,IAAI,iBAAiB,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAC/B,OAAmB,EACnB,IAAY,EACZ,GAAW,EACX,KAAkD,EACrC,EAAE;IACf,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC;IAC/E,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAE/D,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,OAAO,MAAM,MAAM,OAAO,GAAG,MAAM,EAAE,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7G,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAEnD,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,EAAE,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,KAAa,EAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAI3G,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAmB,EAAE,IAAY,EAAE,GAAW,EAAE,OAA4B,EAAiB,EAAE;IAC9H,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1F,KAAK,CAAC,KAAK,KAAK,SAAS;QACrB,CAAC;YAEC,IAAI,KAAK,CAAC,GAAG,6BAA6B;QAC5C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CACvC,CAAC;IACF,MAAM,IAAI,CACN,OAAO,EACP,IAAI,EACJ,WAAW,GAAG,6BAA6B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,sBAAsB,GAAG,UAAU,EACrG,SAAS,GAAG,OAAO,CACtB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"host-files.js","sourceRoot":"","sources":["../../src/core/host-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAqBlE,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,OAAmB,EAAE,IAAY,EAAE,OAAe,EAAE,IAAY,EAAiB,EAAE;IACjH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,IAAI,iBAAiB,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAC/B,OAAmB,EACnB,IAAY,EACZ,GAAW,EACX,KAAkD,EACrC,EAAE;IACf,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC;IAC/E,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAE/D,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,OAAO,MAAM,MAAM,OAAO,GAAG,MAAM,EAAE,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QACpH,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAEnD,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,EAAE,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,KAAa,EAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAI3G,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAmB,EAAE,IAAY,EAAE,GAAW,EAAE,OAA4B,EAAiB,EAAE;IAC9H,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1F,KAAK,CAAC,KAAK,KAAK,SAAS;QACrB,CAAC;YAEC,IAAI,KAAK,CAAC,GAAG,6BAA6B;QAC5C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CACvC,CAAC;IACF,MAAM,WAAW,CACb,OAAO,EACP,IAAI,EACJ,WAAW,GAAG,6BAA6B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,sBAAsB,GAAG,UAAU,EACrG,SAAS,GAAG,OAAO,CACtB,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/integrations/discord.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,kBAAkB,CAAC;AAwDnF,eAAO,MAAM,qBAAqB,SAAS,UAAU,KAAgB,QA2HnE,CAAC"}
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/integrations/discord.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAkC,MAAM,kBAAkB,CAAC;AAwDnF,eAAO,MAAM,qBAAqB,SAAS,UAAU,KAAgB,QA4HnE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { errorMessage } from "@intentic/base/errors";
1
2
  import { z } from "zod";
2
3
  import { parseInputs } from "../core/inputs.js";
3
4
  import { CHANNEL_TYPE_CATEGORY, CHANNEL_TYPE_TEXT, discordApi } from "./discord-api.js";
@@ -107,9 +108,9 @@ export const createDiscordProvider = (api = discordApi) => ({
107
108
  ctx.log(`discord "${ctx.id}": creating guild "${name}"`);
108
109
  guild = await api.createGuild(parsed.botToken, name);
109
110
  }
110
- catch {
111
- throw new Error(`discord "${ctx.id}": the bot is not in any guild and cannot create one. ` +
112
- "Invite the bot to a Discord server first, then re-run apply.");
111
+ catch (error) {
112
+ throw new Error(`discord "${ctx.id}": the bot is not in any guild and cannot create one (${errorMessage(error)}). ` +
113
+ "Invite the bot to a Discord server first, then re-run apply.", { cause: error });
113
114
  }
114
115
  }
115
116
  let channels = await api.getGuildChannels(parsed.botToken, guild.id);
@@ -1 +1 @@
1
- {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/integrations/discord.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExF,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAiB,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAEvG,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC;AAEjE,MAAM,iBAAiB,GAAG,UAAU,CAAC;AACrC,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAEtC,MAAM,UAAU,GAAG,CAAC,OAAuB,EAAU,EAAE,CAAC,oCAAoC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;AAG1H,MAAM,aAAa,GAAG,KAAK,EACvB,GAAe,EACf,QAAgB,EAChB,OAAe,EACf,QAAmC,EACnC,IAAY,EACZ,IAAY,EACZ,QAAiB,EACM,EAAE;IACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;IAC1G,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC,CAAC;AAGF,MAAM,aAAa,GAAG,KAAK,EAAE,GAAe,EAAE,QAAgB,EAAE,SAAiB,EAA2B,EAAE;IAC1G,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IACjE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAWF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,GAAe,UAAU,EAAY,EAAE,CAAC,CAAC;IAC9E,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAEjG,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,EAAE,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,iBAAiB,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;YAC/G,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACpF,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBACzD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACnB,mBAAmB,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YAED,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;gBAC7F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC9E,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;oBACzD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;wBACnB,WAAW,CAAC,cAAc,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;oBACxD,CAAC;gBACL,CAAC;YACL,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,WAAW,EAAE;gBACrF,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAA0B;aACpF,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,8DAA8D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzG,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAmC,CAAC;QAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,iBAAiB,UAAU,EAAE,CAAC;QACjF,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC;YACrE,CAAC;QACL,CAAC;QACD,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC,CAAC;QACtG,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC;YACvE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGpC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,sBAAsB,IAAI,GAAG,CAAC,CAAC;gBACzD,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,IAAI,KAAK,CACX,YAAY,GAAG,CAAC,EAAE,wDAAwD;oBACtE,8DAA8D,CACrE,CAAC;YACN,CAAC;QACL,CAAC;QAGD,IAAI,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAErE,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;QAEjI,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC;QACzH,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAEjE,MAAM,gBAAgB,GAAG,MAAM,aAAa,CACxC,GAAG,EACH,MAAM,CAAC,QAAQ,EACf,KAAK,CAAC,EAAE,EACR,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CAAC,EAAE,CACtB,CAAC;QACF,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAEjE,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAEnF,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAC5H,QAAQ,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YACpE,WAAW,CAAC,cAAc,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC;IAC5F,CAAC;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/integrations/discord.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"komodo-periphery.d.ts","sourceRoot":"","sources":["../../src/komodo/komodo-periphery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AA4B9D,eAAO,MAAM,6BAA6B,cAAc,WAAW,KAAiB,QA4ElF,CAAC"}
1
+ {"version":3,"file":"komodo-periphery.d.ts","sourceRoot":"","sources":["../../src/komodo/komodo-periphery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AA4B9D,eAAO,MAAM,6BAA6B,cAAc,WAAW,KAAiB,QAwElF,CAAC"}
@@ -75,16 +75,9 @@ export const createKomodoPeripheryProvider = (executor = sshExecutor) => ({
75
75
  await session.dispose();
76
76
  }
77
77
  },
78
- delete: async (inputs, ctx) => {
78
+ delete: async (inputs) => {
79
79
  const parsed = parse(inputs);
80
- let session;
81
- try {
82
- session = await executor.connect(sshTarget(parsed));
83
- }
84
- catch (error) {
85
- ctx.log(`komodo-periphery "${ctx.id}": host not reachable for delete: ${String(error)}`);
86
- return;
87
- }
80
+ const session = await executor.connect(sshTarget(parsed));
88
81
  try {
89
82
  await session.exec(`docker rm -f ${containerName(parsed.serverName)} 2>/dev/null || true`);
90
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"komodo-periphery.js","sourceRoot":"","sources":["../../src/komodo/komodo-periphery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"komodo-periphery.js","sourceRoot":"","sources":["../../src/komodo/komodo-periphery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/providers",
3
- "version": "1.310.0",
3
+ "version": "1.311.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -30,18 +30,18 @@
30
30
  }
31
31
  },
32
32
  "dependencies": {
33
- "@intentic/base": "1.310.0",
34
- "@intentic/constants": "1.310.0",
35
- "@intentic/engine": "1.310.0",
36
- "@intentic/graph": "1.310.0",
37
- "@intentic/sandbox-run": "1.310.0",
33
+ "@intentic/base": "1.311.0",
34
+ "@intentic/constants": "1.311.0",
35
+ "@intentic/engine": "1.311.0",
36
+ "@intentic/graph": "1.311.0",
37
+ "@intentic/sandbox-run": "1.311.0",
38
38
  "bcryptjs": "3.0.3",
39
39
  "ssh2": "1.17.0",
40
40
  "tslib": "2.8.1",
41
41
  "zod": "4.5.4"
42
42
  },
43
43
  "devDependencies": {
44
- "@intentic/sdk": "1.310.0",
44
+ "@intentic/sdk": "1.311.0",
45
45
  "@intentic/testing": "0.0.0",
46
46
  "@intentic/tsconfig": "0.0.0",
47
47
  "@types/bun": "1.4.0",