@intentic/cli 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,85 +1,34 @@
1
- # @intentic/cli
2
-
3
- The `intentic` command: tunnels, deployment and scaffolding, in one toolbox.
1
+ # cli
2
+
3
+ `@intentic/cli`, the `intentic` command that resolves a `deploy.config.ts` into a desired-state artifact and reconciles real infrastructure against it.
4
+
5
+ ```mermaid
6
+ flowchart LR
7
+ daemon["Sandbox daemon<br/>Infra check · apply"] --> cli(["intentic"])
8
+ ci["Forgejo Actions<br/>resolve · apply pipelines"] --> cli
9
+ ic["ic<br/>connect a machine"] -- "sandbox · tunnel" --> cli
10
+ cli -- "deploy resolve" --> artifact["desired-state/<br/>desired-state.json"]
11
+ artifact -- "deploy plan · apply" --> engine["engine + providers"]
12
+ engine --> infra["Hosts · Cloudflare<br/>Forgejo · Komodo"]
13
+ ```
4
14
 
5
- Three command groups: **`tunnel`** (the sandbox's own
6
- Cloudflare tunnels, used by connect.sh), **`deploy`** (the bundled deployment engine: turn a local intent
7
- file into a desired-state artifact and reconcile it, no remote control plane required), and **`scaffold`**
8
- (seed app repos). The `deploy` group depends on `@intentic/engine`, `@intentic/providers`,
9
- `@intentic/need-resolver`, `@intentic/state-resolver`, `@intentic/graph`.
15
+ - Four route groups in `src/app.ts`: `deploy` (the tool itself), `sandbox` (prints the canonical `docker run` for a sandbox), `tunnel host` (a host's own Cloudflare SSH tunnel) and `scaffold` (a pnpm + turbo monorepo and its apps).
16
+ - A workspace has separate git repos: `intent/` holds `deploy.config.ts`, `desired-state/` holds the resolved `desired-state.json`, `.env` and generated secrets. `deploy init` scaffolds them; every other command reads these default paths from cwd.
17
+ - `deploy resolve` reaches the network only to discover the Cloudflare zone from the API token. `plan` and `apply` never re-resolve; they work from the baked artifact.
18
+ - `deploy apply` takes a lock on every host, generates missing secrets, applies authored renames, runs the reconcile loop, then prunes what the previous artifact declared and this one does not. Deletions wait for `--yes`.
19
+ - `deploy adopt` pushes both repos to the provisioned Forgejo and installs pipelines, so later pushes resolve and apply in CI with this CLI's own version.
10
20
 
11
- ## Local control plane
21
+ ## Key files
12
22
 
13
- The "control plane" is two local git repos: an **intent** repo holding `deploy.config.ts`, and a
14
- **desired-state** repo holding the generated artifact (`desired-state.json`) and the
15
- execution record (`status.json`). `intentic deploy init` scaffolds both.
23
+ - [src/app.ts](src/app.ts) — the command tree and the one-line error format.
24
+ - [src/resolve/resolve.ts](src/resolve/resolve.ts) — imports the config in place and discovers the Cloudflare zone.
25
+ - [src/apply/apply.command.ts](src/apply/apply.command.ts) — lock, secrets, moves, reconcile loop, prune.
26
+ - [src/lib/artifact.ts](src/lib/artifact.ts) — default paths, artifact read/write and `.env` loading.
27
+ - [src/pipelines/adopt-pipelines.ts](src/pipelines/adopt-pipelines.ts) — the CI workflows and repo secrets `adopt` installs.
16
28
 
17
29
  ## Commands
18
30
 
19
- Built on [stricli](https://github.com/bloomberg/stricli) with generated `--help` / `--version`.
20
-
21
- - `intentic deploy init [--dir .]`: scaffold the `intent` and `desired-state` git repos (intent seeded
22
- with a starter `deploy.config.ts`).
23
- - `intentic deploy resolve [--config deploy.config.ts] [--out desired-state.json]`:
24
- load the intent, resolve it to a `DesiredStateGraph`, and write it, along with `.env.example` (the
25
- user-supplied secrets) and `.secrets.json` (the intentic-generated ones). No infra access.
26
- - `intentic deploy plan [--artifact desired-state.json]`: read-only preview of what `apply` would
27
- create/update.
28
- - `intentic deploy apply [--artifact desired-state.json] [--max-iterations 5]`: reconcile the artifact
29
- until state reads true, writing `status.json` beside it. Reads user-supplied secrets from `.env`
30
- beside the artifact (or the environment) and generates the platform admin secrets it owns (see
31
- below). On success it prints an **Access** summary and writes `access.md` beside the artifact: the
32
- URL, the `intentic` username, and the password (the generated value on stdout; a pointer to
33
- `.secrets.json` in the committed `access.md`) for Forgejo and Komodo, plus each app-environment URL.
34
-
35
- ## Secrets
36
-
37
- Secrets split by who provides them:
38
-
39
- - **User-supplied** (`source: env`), credentials to systems intentic does **not** create:
40
- `HOST_SSH_KEY`, `CLOUDFLARE_API_TOKEN`, and each environment's `*_DATABASE_URL`. A host's key var is
41
- derived from its name (`<NAME>_SSH_KEY`), so the templates' `host` reads `HOST_SSH_KEY` and a host you
42
- call `prod` reads `PROD_SSH_KEY`; there is no name spelled differently from the rest. You set these in
43
- `.env` beside the artifact (or the ambient environment). The required set is more than what your
44
- `deploy.config.ts` names, so `resolve` derives it from the graph and writes `desired-state/.env.example`.
45
- - **intentic-generated** (`source: generated`), admin credentials for the services intentic itself
46
- provisions: `FORGEJO_ADMIN_PASSWORD`, `KOMODO_ADMIN_PASSWORD`, `KOMODO_WEBHOOK_SECRET`. `resolve`
47
- generates each one (shell-safe hex) the first time and persists it to gitignored
48
- `desired-state/.secrets.json`, reusing it forever after (`plan`/`apply` reuse it too; Forgejo/Komodo
49
- bake the password in on first init and won't re-key, so it must be stable). intentic **owns** this
50
- file: it's authoritative, so put platform keys here, not in `.env`; to pin your own value, edit
51
- `.secrets.json`. The Forgejo/Komodo password is what you log in with, as user `intentic`.
52
-
53
- Both `.env` and `.secrets.json` are gitignored, so no secret lands in the PR-managed repo.
54
-
55
- ## Workflow
56
-
57
31
  ```sh
58
- intentic deploy init
59
- cd intent && intentic deploy resolve --out ../desired-state/desired-state.json
60
- cp ../desired-state/.env.example ../desired-state/.env # fill in the user-supplied values resolve listed
61
- cd .. && intentic deploy apply # generates the platform secrets, prints the logins
32
+ pnpm --filter @intentic/cli test
33
+ pnpm --filter @intentic/cli e2e:hermetic # full flow against a Docker-in-Docker host, no external services
62
34
  ```
63
-
64
- > A `deploy.config.ts` imports `@intentic/sdk` + `@intentic/graph`, so the project it lives in must have
65
- > them installed. `apply` reconciles the per-host platform (Forgejo/Komodo/runner, Cloudflare tunnel + DNS)
66
- > as ordinary nodes in the artifact: a future "PR-managed" phase (a remote Forgejo watching the intent
67
- > repo) would layer on top of this same flow.
68
-
69
- ## Key files
70
-
71
- - [src/cli.ts](src/cli.ts) / [src/app.ts](src/app.ts): the stricli app and command wiring.
72
- - [src/init/init.ts](src/init/init.ts) / [src/resolve/resolve.ts](src/resolve/resolve.ts) / [src/apply/apply.command.ts](src/apply/apply.command.ts): the `init`/`resolve`/`apply` commands (plan lives alongside resolve/apply).
73
- - [src/lib/artifact.ts](src/lib/artifact.ts): `readArtifact`/`writeArtifact`/`writeStatus` (the desired-state files).
74
- - [src/lib/output.ts](src/lib/output.ts): honors `INTENTIC_OUTPUT` (`text`/`json`/`ndjson`); maps `EngineEvent`s to the chosen format.
75
- - [src/adopt/adopt.ts](src/adopt/adopt.ts): push the intent/desired-state repos into Forgejo + wire Actions.
76
- - [src/apply/access.ts](src/apply/access.ts): the post-apply Access summary + `access.md`; [src/lib/known-hosts.ts](src/lib/known-hosts.ts), TOFU host-key pinning.
77
-
78
- ## Conventions
79
-
80
- - Runs the engine as the **only** place providers are constructed (via `createProviders`); it owns reading `.env` and generating `.secrets.json`.
81
- - Subprocess-friendly: a backend can drive it and parse `INTENTIC_OUTPUT=ndjson`/`json` instead of scraping prose (the platform's `provision.ts` does exactly this).
82
- - Co-located unit tests + a gated [src/cli.e2e.test.ts](src/cli.e2e.test.ts) (real infra, opt-in).
83
-
84
- **Key exports:** `loadIntent`; `readArtifact` / `writeArtifact` / `writeStatus`; `scaffold`; the
85
- `CONFIG_FILE` / `ARTIFACT_FILE` / `STATUS_FILE` constants. See [ARCHITECTURE.md](../../ARCHITECTURE.md).
package/dist/demo.js CHANGED
@@ -5,6 +5,7 @@ import { createRequire } from "node:module";
5
5
  import { join } from "node:path";
6
6
  import { pathToFileURL } from "node:url";
7
7
  import { promisify } from "node:util";
8
+ import { errorMessage, undefinedIfMissing } from "@intentic/base/errors";
8
9
  import { packageRoot, repoRoot } from "@intentic/constants/node";
9
10
  import { cloudflareApi, forgejoApi, sshExecutor } from "@intentic/providers";
10
11
  import { deploymentId, deploymentPort } from "@intentic/state-resolver";
@@ -91,12 +92,18 @@ const ssh = async (command) => {
91
92
  }
92
93
  };
93
94
  let privateKey = "";
95
+ const adminPassword = (secrets, key) => {
96
+ const fromEnv = process.env[key];
97
+ const value = fromEnv !== undefined && fromEnv !== "" ? fromEnv : secrets[key];
98
+ if (value === undefined) {
99
+ throw new Error(`${key} is neither set in the environment nor in desired-state/.secrets.json after apply`);
100
+ }
101
+ return value;
102
+ };
94
103
  const up = async () => {
95
104
  const apiToken = await readToken();
96
105
  const keys = utils.generateKeyPairSync("ed25519");
97
106
  privateKey = keys.private;
98
- let forgejoPassword = "";
99
- let komodoPassword = "";
100
107
  log(`▶ building the demo host image (${CONTAINER}) from @intentic/dind-host …`);
101
108
  await run("docker", ["build", "-t", CONTAINER, hostContext]);
102
109
  log("▶ starting the persistent Docker-in-Docker host …");
@@ -165,8 +172,8 @@ const up = async () => {
165
172
  await runCli("deploy", "resolve", "--config", configPath, "--out", artifactPath);
166
173
  await runCli("deploy", "apply", "--yes", "--artifact", artifactPath, "--maxIterations", "8");
167
174
  const secrets = await readGeneratedSecrets(join(workspace, "desired-state"));
168
- forgejoPassword = secrets["FORGEJO_ADMIN_PASSWORD"] ?? "";
169
- komodoPassword = secrets["KOMODO_ADMIN_PASSWORD"] ?? "";
175
+ const forgejoPassword = adminPassword(secrets, "FORGEJO_ADMIN_PASSWORD");
176
+ const komodoPassword = adminPassword(secrets, "KOMODO_ADMIN_PASSWORD");
170
177
  const running = await ssh("docker ps --format '{{.Names}}'");
171
178
  for (const name of ["intentic-forgejo", "intentic-forgejo-runner", "komodo-core"]) {
172
179
  if (!running.includes(name)) {
@@ -236,36 +243,40 @@ const down = async () => {
236
243
  log("✅ demo stopped. `pnpm demo:up` reconnects in seconds (tunnel + DNS reused); `pnpm demo:clear` tears down Cloudflare too.");
237
244
  };
238
245
  const clear = async () => {
239
- const state = await readFile(stateFile, "utf8")
240
- .then((text) => JSON.parse(text))
241
- .catch(() => ({}));
246
+ const text = await readFile(stateFile, "utf8").catch(undefinedIfMissing);
247
+ const state = text === undefined ? {} : JSON.parse(text);
242
248
  const zoneName = state.zone ?? zone;
243
249
  const apiToken = state.apiToken ?? (await readToken());
244
250
  log(`▶ removing the demo host container (${CONTAINER}) …`);
245
251
  await quiet("docker", ["rm", "-f", CONTAINER]);
246
252
  log("▶ deleting the Cloudflare tunnel + DNS records …");
247
- const cfZone = await cloudflareApi.getZone({ apiToken, zone: zoneName }).catch(() => undefined);
248
- if (cfZone !== undefined) {
249
- const tunnel = await cloudflareApi.findTunnel({ accountId: cfZone.accountId, apiToken, name: TUNNEL }).catch(() => undefined);
250
- if (tunnel !== undefined) {
251
- await fetch(`https://api.cloudflare.com/client/v4/accounts/${cfZone.accountId}/cfd_tunnel/${tunnel.id}/connections`, {
252
- method: "DELETE",
253
- headers: { Authorization: `Bearer ${apiToken}` },
254
- }).catch(() => { });
255
- await cloudflareApi
256
- .deleteTunnel({ accountId: cfZone.accountId, apiToken, tunnelId: tunnel.id })
257
- .catch((error) => log(` tunnel: ${String(error)}`));
258
- }
259
- for (const name of [`git.${zoneName}`, `deploy.${zoneName}`, `app.${zoneName}`]) {
260
- const record = await cloudflareApi.findDnsRecord({ apiToken, zoneId: cfZone.id, name }).catch(() => undefined);
261
- if (record !== undefined) {
262
- await cloudflareApi
263
- .deleteDnsRecord({ apiToken, zoneId: cfZone.id, recordId: record.id })
264
- .catch((error) => log(` dns ${name}: ${String(error)}`));
265
- }
253
+ const cfZone = await cloudflareApi.getZone({ apiToken, zone: zoneName });
254
+ if (cfZone === undefined) {
255
+ throw new Error(`Cloudflare zone "${zoneName}" is not visible to this API token: its tunnel and DNS records were not purged`);
256
+ }
257
+ const leftovers = [];
258
+ const tunnel = await cloudflareApi.findTunnel({ accountId: cfZone.accountId, apiToken, name: TUNNEL });
259
+ if (tunnel !== undefined) {
260
+ await fetch(`https://api.cloudflare.com/client/v4/accounts/${cfZone.accountId}/cfd_tunnel/${tunnel.id}/connections`, {
261
+ method: "DELETE",
262
+ headers: { Authorization: `Bearer ${apiToken}` },
263
+ }).catch(() => { });
264
+ await cloudflareApi.deleteTunnel({ accountId: cfZone.accountId, apiToken, tunnelId: tunnel.id }).catch((error) => {
265
+ leftovers.push(`tunnel ${TUNNEL}: ${errorMessage(error)}`);
266
+ });
267
+ }
268
+ for (const name of [`git.${zoneName}`, `deploy.${zoneName}`, `app.${zoneName}`]) {
269
+ const record = await cloudflareApi.findDnsRecord({ apiToken, zoneId: cfZone.id, name });
270
+ if (record !== undefined) {
271
+ await cloudflareApi.deleteDnsRecord({ apiToken, zoneId: cfZone.id, recordId: record.id }).catch((error) => {
272
+ leftovers.push(`dns ${name}: ${errorMessage(error)}`);
273
+ });
266
274
  }
267
275
  }
268
- await rm(stateDir, { recursive: true, force: true }).catch(() => { });
276
+ if (leftovers.length > 0) {
277
+ throw new Error(`demo clear left Cloudflare resources behind (.demo/ kept for a re-run):\n ${leftovers.join("\n ")}`);
278
+ }
279
+ await rm(stateDir, { recursive: true, force: true });
269
280
  log("✅ demo cleared: host container, tunnel, and DNS records removed (intent/ + desired-state/ kept).");
270
281
  };
271
282
  const mode = process.argv[2];
package/dist/demo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../../src/secrets/secret-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKnF,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAID,eAAO,MAAM,sBAAsB,QAAS,MAAM,KAAG,WAYpD,CAAC;AAMF,eAAO,MAAM,qBAAqB,WAAY,SAAS,YAAY,WAAW,KAAG,WAmChF,CAAC;AAKF,eAAO,MAAM,wBAAwB,WACzB,SAAS,WAAW,EAAE,WACrB;IAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KAClF,WA2CF,CAAC;AAMF,eAAO,MAAM,oBAAoB,UACtB,iBAAiB,OACnB,MAAM,OACN,WAAW,YACN,OAAO,OACZ,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAC/B,WAYF,CAAC"}
1
+ {"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../../src/secrets/secret-store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKnF,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAID,eAAO,MAAM,sBAAsB,QAAS,MAAM,KAAG,WAYpD,CAAC;AAMF,eAAO,MAAM,qBAAqB,WAAY,SAAS,YAAY,WAAW,KAAG,WAmDhF,CAAC;AAMF,eAAO,MAAM,wBAAwB,WACzB,SAAS,WAAW,EAAE,WACrB;IAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,KAClF,WAkDF,CAAC;AAMF,eAAO,MAAM,oBAAoB,UACtB,iBAAiB,OACnB,MAAM,OACN,WAAW,YACN,OAAO,OACZ,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAC/B,WAYF,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { readFile, writeFile } from "node:fs/promises";
3
3
  import { join } from "node:path";
4
+ import { errorMessage } from "@intentic/base/errors";
4
5
  import { HOST_STATE_ROOT } from "@intentic/constants";
5
6
  import { createStore, resolveInputs } from "@intentic/engine";
6
7
  import { hostTarget } from "@intentic/providers";
@@ -24,8 +25,20 @@ export const createHostSecretStore = (target, executor) => {
24
25
  loading ??= (async () => {
25
26
  const session = await executor.connect(target);
26
27
  try {
27
- const result = await session.exec(`cat ${HOST_SECRETS_PATH} 2>/dev/null || echo '{}'`);
28
- return JSON.parse(result.stdout.trim() || "{}");
28
+ const result = await session.exec(`if [ -e ${HOST_SECRETS_PATH} ]; then cat ${HOST_SECRETS_PATH}; fi`);
29
+ if (result.code !== 0) {
30
+ throw new Error(`cannot read ${HOST_SECRETS_PATH} on ${target.address}: exited ${result.code}: ${result.stderr.trim()}`);
31
+ }
32
+ const text = result.stdout.trim();
33
+ if (text === "") {
34
+ return {};
35
+ }
36
+ try {
37
+ return JSON.parse(text);
38
+ }
39
+ catch (error) {
40
+ throw new Error(`${HOST_SECRETS_PATH} on ${target.address} is not valid JSON: ${errorMessage(error)}`, { cause: error });
41
+ }
29
42
  }
30
43
  finally {
31
44
  await session.dispose();
@@ -41,7 +54,11 @@ export const createHostSecretStore = (target, executor) => {
41
54
  const json = JSON.stringify(store, undefined, 4);
42
55
  const session = await executor.connect(target);
43
56
  try {
44
- await session.exec(`mkdir -p /opt/intentic && cat > ${HOST_SECRETS_PATH}.tmp <<'INTENTIC_SECRETS_EOF'\n${json}\nINTENTIC_SECRETS_EOF\nchmod 600 ${HOST_SECRETS_PATH}.tmp && mv ${HOST_SECRETS_PATH}.tmp ${HOST_SECRETS_PATH}`);
57
+ const tmp = `${HOST_SECRETS_PATH}.tmp`;
58
+ const written = await session.exec(`mkdir -p /opt/intentic && cat > ${tmp} <<'INTENTIC_SECRETS_EOF' && chmod 600 ${tmp} && mv ${tmp} ${HOST_SECRETS_PATH}\n${json}\nINTENTIC_SECRETS_EOF`);
59
+ if (written.code !== 0) {
60
+ throw new Error(`cannot write ${HOST_SECRETS_PATH} on ${target.address}: exited ${written.code}: ${written.stderr.trim()}`);
61
+ }
45
62
  }
46
63
  finally {
47
64
  await session.dispose();
@@ -54,19 +71,25 @@ export const createLayeredSecretStore = (layers, options) => {
54
71
  return {
55
72
  get: async (key) => {
56
73
  const values = [];
57
- for (const layer of layers) {
74
+ const failures = new Map();
75
+ for (const [i, layer] of layers.entries()) {
58
76
  try {
59
77
  values.push(await layer.get(key));
60
78
  }
61
79
  catch (error) {
62
- log(`secret-store: a layer's read of "${key}" failed, skipping it: ${String(error)}`);
80
+ log(`secret-store: a layer's read of "${key}" failed, skipping it: ${errorMessage(error)}`);
81
+ failures.set(i, error);
63
82
  values.push(undefined);
64
83
  }
65
84
  }
66
85
  const result = values.find((value) => value !== undefined);
86
+ if (result === undefined && failures.size > 0) {
87
+ const reasons = [...failures.values()].map(errorMessage).join("; ");
88
+ throw new Error(`cannot tell whether generated secret "${key}" exists: ${reasons}`, { cause: failures.values().next().value });
89
+ }
67
90
  if (result !== undefined && options.backfill) {
68
91
  for (const [i, layer] of layers.entries()) {
69
- if (values[i] === result) {
92
+ if (values[i] === result || failures.has(i)) {
70
93
  continue;
71
94
  }
72
95
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"secret-store.js","sourceRoot":"","sources":["../../src/secrets/secret-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secret-store.js","sourceRoot":"","sources":["../../src/secrets/secret-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/cli",
3
- "version": "1.310.0",
3
+ "version": "1.311.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,16 +34,16 @@
34
34
  }
35
35
  },
36
36
  "dependencies": {
37
- "@intentic/base": "1.310.0",
38
- "@intentic/constants": "1.310.0",
39
- "@intentic/engine": "1.310.0",
40
- "@intentic/graph": "1.310.0",
41
- "@intentic/need-resolver": "1.310.0",
42
- "@intentic/providers": "1.310.0",
43
- "@intentic/sandbox-contract": "1.310.0",
44
- "@intentic/sandbox-run": "1.310.0",
45
- "@intentic/scaffold": "1.310.0",
46
- "@intentic/state-resolver": "1.310.0",
37
+ "@intentic/base": "1.311.0",
38
+ "@intentic/constants": "1.311.0",
39
+ "@intentic/engine": "1.311.0",
40
+ "@intentic/graph": "1.311.0",
41
+ "@intentic/need-resolver": "1.311.0",
42
+ "@intentic/providers": "1.311.0",
43
+ "@intentic/sandbox-contract": "1.311.0",
44
+ "@intentic/sandbox-run": "1.311.0",
45
+ "@intentic/scaffold": "1.311.0",
46
+ "@intentic/state-resolver": "1.311.0",
47
47
  "@puristic/env": "1.6.1",
48
48
  "@stricli/core": "1.3.0",
49
49
  "eta": "4.6.0",
@@ -52,7 +52,7 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@intentic/dind-host": "0.0.0",
55
- "@intentic/sdk": "1.310.0",
55
+ "@intentic/sdk": "1.311.0",
56
56
  "@intentic/testing": "0.0.0",
57
57
  "@intentic/tsconfig": "0.0.0",
58
58
  "@types/bun": "1.4.0",