borgmcp-server 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +57 -43
  2. package/SECURITY.md +12 -1
  3. package/dist/bootstrap.d.ts +8 -1
  4. package/dist/bootstrap.js +39 -6
  5. package/dist/bootstrap.js.map +1 -1
  6. package/dist/cli.d.ts +1 -0
  7. package/dist/cli.js +176 -1
  8. package/dist/cli.js.map +1 -1
  9. package/dist/credentials.d.ts +1 -0
  10. package/dist/credentials.js +7 -0
  11. package/dist/credentials.js.map +1 -1
  12. package/dist/debug-log.d.ts +1 -1
  13. package/dist/debug-log.js +1 -1
  14. package/dist/debug-log.js.map +1 -1
  15. package/dist/https-server.d.ts +3 -0
  16. package/dist/https-server.js +25 -7
  17. package/dist/https-server.js.map +1 -1
  18. package/dist/index.d.ts +14 -1
  19. package/dist/index.js +8 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/main.js +1 -0
  22. package/dist/main.js.map +1 -1
  23. package/dist/managed-service.d.ts +20 -0
  24. package/dist/managed-service.js +80 -0
  25. package/dist/managed-service.js.map +1 -0
  26. package/dist/portable-credential-store.d.ts +16 -0
  27. package/dist/portable-credential-store.js +305 -0
  28. package/dist/portable-credential-store.js.map +1 -0
  29. package/dist/registry-artifact.d.ts +11 -0
  30. package/dist/registry-artifact.js +99 -0
  31. package/dist/registry-artifact.js.map +1 -0
  32. package/dist/runtime-identity.d.ts +19 -0
  33. package/dist/runtime-identity.js +61 -0
  34. package/dist/runtime-identity.js.map +1 -0
  35. package/dist/runtime-lifecycle.d.ts +56 -0
  36. package/dist/runtime-lifecycle.js +486 -0
  37. package/dist/runtime-lifecycle.js.map +1 -0
  38. package/dist/runtime-operator.d.ts +24 -0
  39. package/dist/runtime-operator.js +95 -0
  40. package/dist/runtime-operator.js.map +1 -0
  41. package/dist/service.d.ts +53 -5
  42. package/dist/service.js +326 -15
  43. package/dist/service.js.map +1 -1
  44. package/dist/store.d.ts +1 -0
  45. package/dist/store.js +8 -0
  46. package/dist/store.js.map +1 -1
  47. package/npm-shrinkwrap.json +2 -2
  48. package/package.json +1 -1
  49. package/src/bootstrap.ts +46 -5
  50. package/src/cli.ts +171 -1
  51. package/src/credentials.ts +7 -0
  52. package/src/debug-log.ts +2 -1
  53. package/src/https-server.ts +27 -7
  54. package/src/index.ts +46 -1
  55. package/src/main.ts +1 -0
  56. package/src/managed-service.ts +107 -0
  57. package/src/portable-credential-store.ts +306 -0
  58. package/src/registry-artifact.ts +111 -0
  59. package/src/runtime-identity.ts +82 -0
  60. package/src/runtime-lifecycle.ts +567 -0
  61. package/src/runtime-operator.ts +124 -0
  62. package/src/service.ts +401 -20
  63. package/src/store.ts +10 -0
package/README.md CHANGED
@@ -6,7 +6,7 @@ HTTPS.
6
6
 
7
7
  ## Release status
8
8
 
9
- The current public preview is `borgmcp-server@0.1.7`, published on npm.
9
+ The current public preview is `borgmcp-server@0.1.8`, published on npm.
10
10
  Versions `0.1.2` and `0.1.3` were not published; their immutable tags are
11
11
  preserved failed-release evidence and are not installation or dogfood targets.
12
12
  Version `0.1.5` includes the reviewed owner-enrollment, idempotent multi-cube
@@ -16,18 +16,20 @@ redacted debug logging, and cube-scoped invitation baseline. Relative to
16
16
  taxonomy routing, durable SSE replay and heartbeat delivery, fleet liveness
17
17
  signals, typed terminal drone eviction, and explicit manage-access denials for
18
18
  visible non-managing principals. Immutable `v0.1.6` failed safely before artifact
19
- upload or npm publication and is not an install target. The published `0.1.7`
20
- package is the reviewed recovery release and consumes the audited exact
21
- `borgmcp-shared@0.4.2` registry release. Current source is the unpublished
22
- `borgmcp-server@0.1.8` release candidate and consumes the verified exact
23
- `borgmcp-shared@0.4.3` registry release. Version `0.1.7` remains the current
19
+ upload or npm publication and is not an install target. The published `0.1.8`
20
+ package is the reviewed session-continuity release and consumes the audited exact
21
+ `borgmcp-shared@0.4.3` registry release. Current source is the unpublished
22
+ `borgmcp-server@0.1.9` release candidate, adding the verified immutable runtime
23
+ lifecycle, portable managed-service adapters, and direct local owner setup.
24
+ Version `0.1.8` remains the current
24
25
  install target until the candidate passes exact-SHA review, immutable tag
25
26
  publication, and bounded registry verification.
26
27
 
27
- Setup prepares local identity and storage and prints one-time recovery and
28
- owner-enrollment secrets; it creates no cube. Version `0.1.1` completed the
28
+ Setup prepares local identity and storage, writes owner access to the private
29
+ portable credential file, and prints no credential or invitation; it creates no cube.
30
+ Version `0.1.1` completed the
29
31
  documented exact-source, tagged-artifact, and protected-publication gates.
30
- Version `0.1.7` completed a fresh exact-source, tagged-artifact, tokenless OIDC
32
+ Version `0.1.8` completed a fresh exact-source, tagged-artifact, tokenless OIDC
31
33
  publication, provenance, signature, and attestation gate chain.
32
34
 
33
35
  ## Repository topology
@@ -63,19 +65,49 @@ npm install --global borgmcp-server
63
65
 
64
66
  The default data directory is `~/.borg/server`. Setup creates the local
65
67
  database, credential-digest key, local certificate authority, server
66
- certificate, one recovery credential, and one owner enrollment invitation. It
67
- creates no cube. Run it in a private terminal because both secrets are shown
68
- once; the owner enrollment invitation is single-use and enrolls the owner client.
68
+ certificate, and one same-machine owner binding. The matching client credential
69
+ is written atomically to the portable owner-only file at
70
+ `~/.borg/credentials` (mode `0600`). Its `~/.borg` parent must be owner-controlled
71
+ and not group/world-writable. Setup prints no credential, invitation, or credential path,
72
+ and creates no cube.
73
+
74
+ Credential updates share the client-compatible `~/.borg/credentials.lock` protocol.
75
+ A live holder is waited on for a bounded interval. A corrupt or dead-holder lock
76
+ fails closed and is never reclaimed automatically; remove it only after confirming
77
+ that no Borg process is running.
69
78
 
70
79
  ```sh
71
80
  borg-mcp-server setup
72
81
  borg-mcp-server start
82
+ borg assimilate
83
+ ```
84
+
85
+ Setup verifies and prepares the latest immutable npm artifact, but starts no
86
+ listener or managed service. Running `setup` again is idempotent: it preserves
87
+ the existing data and identity and never repeats credentials. After stopping the
88
+ server, `borg-mcp-server setup --reinitialize` explicitly destroys and recreates
89
+ the server identity and database; use it only when prior state may be discarded.
90
+
91
+ `borg-mcp-server start` remains a foreground command. Ctrl-C stops it, and it
92
+ does not install or enable persistence. Inspect exact running evidence or stage
93
+ and activate a verified update with:
94
+
95
+ ```sh
96
+ borg-mcp-server status
97
+ borg-mcp-server update
73
98
  ```
74
99
 
75
- Running `setup` again refuses to change an existing installation. After stopping
76
- the server, `borg-mcp-server setup --reinitialize` explicitly destroys and
77
- recreates the server identity and database; use it only when prior state may be
78
- discarded.
100
+ When stdout is not a terminal, `status` and `update` emit one bounded JSON
101
+ record. Status never derives a build identity from a source checkout. If an
102
+ older package does not provide embedded source identity, the field is reported
103
+ as unavailable.
104
+
105
+ The server library provides matching launchd and systemd adapter definitions
106
+ that point at the atomically selected `current` artifact and preserve
107
+ `BORG_SERVER_DATA_DIR`. Managed persistence is an explicit, separately reviewed
108
+ handoff; foreground start never installs it. The lifecycle contract and terminal
109
+ copy are documented in
110
+ [`docs/design/sprint-6-server-lifecycle.md`](docs/design/sprint-6-server-lifecycle.md).
79
111
 
80
112
  The server listens on `https://127.0.0.1:7091` by default. Use
81
113
  `BORG_SERVER_DATA_DIR` to select another data directory.
@@ -123,37 +155,19 @@ before running those commands.
123
155
  ```sh
124
156
  borg-mcp-server client-rotate <client-id>
125
157
  borg-mcp-server client-revoke <client-id>
126
- borg-mcp-server client-invite
127
- borg-mcp-server client-invite <cube-name-or-id> [--access <read|write|manage>]
128
- borg-mcp-server owner-invite
158
+ borg-mcp-server invite
129
159
  borg-mcp-server client-grant <client-id> <cube-id> <read|write|manage>
130
160
  borg-mcp-server client-ungrant <client-id> <cube-id>
131
161
  ```
132
162
 
133
- Invitation commands visibly prompt with `Recovery credential (hidden input):`
134
- before reading the recovery credential from a private hidden terminal, never argv
135
- or environment. `owner-invite` prints an owner enrollment invitation. A plain
136
- `client-invite` remains an enroll-only invitation with no cube grant. Supplying a
137
- cube selector atomically binds one grant to the invitation. `read` attaches an
138
- observer that can discover the cube and read shared activity, but cannot post,
139
- acknowledge, claim, administer, be selected as a direct recipient, or receive
140
- directed stream events. `write` attaches a participant that can coordinate and is
141
- the default; explicit `manage` adds cube administration. Attach responses and
142
- drone listings identify the effective `observer` or `participant` posture. The
143
- command prints the resolved display name, full cube ID,
144
- effective access, and capability summary before the single-use invitation.
145
-
146
- For automation and duplicate-name environments, use the full lowercase canonical
147
- cube UUID. A display name must match exactly and case-sensitively. Unknown names,
148
- UUID-like malformed selectors, and duplicate names fail without creating or
149
- printing an invitation; duplicate-name errors list the candidate IDs so the
150
- operator can rerun unambiguously. Claiming a scoped invitation atomically creates
151
- the client credential binding and exactly that cube grant. It grants no server
152
- capability and no access to any other cube.
153
-
154
- Both invitation forms are single-use and shown once. Treat setup, enrollment,
155
- invitation, and rotation output as secrets; do not paste it into issues, logs, or
156
- chat.
163
+ `invite` uses the locally stored owner credential to authorize one existing
164
+ single-use client invitation and prints it only in an interactive terminal. It
165
+ never places a credential or invitation in argv or environment, and refuses
166
+ non-interactive output. The invitation can then be exchanged through the existing
167
+ enrollment protocol. It grants no server capability or cube access.
168
+
169
+ Invitations and rotation output are secrets; do not paste them into issues, logs,
170
+ or chat.
157
171
 
158
172
  ## Capacity controls
159
173
 
package/SECURITY.md CHANGED
@@ -31,8 +31,19 @@ has been coordinated.
31
31
  private LAN.
32
32
  - Restrict the data directory and all generated credentials to the service
33
33
  account.
34
- - Capture one-time setup and rotation credentials only in a private terminal.
34
+ - Keep `~/.borg` owner-controlled and not group/world-writable, and keep the
35
+ `~/.borg/credentials` file owner-only (`0600`); setup never prints the local owner credential.
36
+ - Never automatically replace or reclaim `~/.borg/credentials.lock`; confirm no
37
+ Borg process is running before manually removing a reported stale lock.
38
+ - Create single-use invitations only in a private interactive terminal.
35
39
  - Stop the server before offline credential rotation or revocation.
36
40
  - Back up sensitive state using encrypted storage and test restoration in a
37
41
  separate environment.
38
42
  - Review dependency and release provenance before upgrading.
43
+ - Use the verified runtime lifecycle rather than pointing a service at a mutable
44
+ source checkout. Activation verifies npm integrity and the staged artifact
45
+ tree, switches the `current` target atomically, and accepts a restarted process
46
+ only when its authenticated runtime identity matches the selected artifact.
47
+ - Review generated launchd or systemd definitions before enabling them. They
48
+ must retain the intended data directory and execute the immutable `current`
49
+ artifact target.
@@ -1,8 +1,15 @@
1
+ import type { PortableServerCredential } from "./portable-credential-store.js";
1
2
  export interface BootstrapResult {
2
3
  readonly serverId: string;
3
4
  readonly caFingerprint: string;
5
+ /** @deprecated Retained for offline administrative compatibility; never rendered by setup. */
4
6
  readonly recoveryCredential: string;
7
+ /** @deprecated The already-consumed bootstrap invitation; never rendered by setup. */
5
8
  readonly initialInvitation: string;
9
+ readonly ownerAccess: {
10
+ readonly clientId: string;
11
+ readonly serverCapabilities: readonly ["create_cube"];
12
+ };
6
13
  readonly paths: {
7
14
  readonly database: string;
8
15
  readonly digestKey: string;
@@ -13,6 +20,6 @@ export interface BootstrapResult {
13
20
  readonly config: string;
14
21
  };
15
22
  }
16
- export declare function bootstrapServer(dataDirectory: string, bindHost?: string, clock?: () => Date): Promise<BootstrapResult>;
23
+ export declare function bootstrapServer(dataDirectory: string, bindHost?: string, clock?: () => Date, persistOwnerCredential?: (record: PortableServerCredential) => Promise<void>): Promise<BootstrapResult>;
17
24
  export declare function loadDigestKey(path: string): Promise<Buffer>;
18
25
  export declare function loadTlsPrivateKey(path: string): Promise<Buffer>;
package/dist/bootstrap.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { createHash, randomBytes, randomUUID, X509Certificate } from "node:crypto";
2
- import { lstat, readFile, stat, writeFile } from "node:fs/promises";
2
+ import { lstat, readFile, stat, unlink, writeFile } from "node:fs/promises";
3
3
  import { join, resolve } from "node:path";
4
4
  import { generate } from "selfsigned";
5
- import { CredentialAuthority, CredentialDigester } from "./credentials.js";
5
+ import { CredentialAuthority, CredentialDigester, generateSecret } from "./credentials.js";
6
6
  import { openStore } from "./store.js";
7
- export async function bootstrapServer(dataDirectory, bindHost = "127.0.0.1", clock = () => new Date()) {
7
+ export async function bootstrapServer(dataDirectory, bindHost = "127.0.0.1", clock = () => new Date(), persistOwnerCredential = async () => undefined) {
8
8
  const directory = resolve(dataDirectory);
9
9
  const paths = {
10
10
  database: join(directory, "borg.db"),
@@ -41,6 +41,7 @@ export async function bootstrapServer(dataDirectory, bindHost = "127.0.0.1", clo
41
41
  .digest("hex");
42
42
  const digestKey = randomBytes(32);
43
43
  const runtime = await openStore({ path: paths.database, clock });
44
+ let completed = false;
44
45
  try {
45
46
  await Promise.all([
46
47
  writePrivate(paths.digestKey, digestKey),
@@ -59,14 +60,38 @@ export async function bootstrapServer(dataDirectory, bindHost = "127.0.0.1", clo
59
60
  try {
60
61
  const authority = new CredentialAuthority(runtime.credentials, digester, clock);
61
62
  const recoveryCredential = authority.createRecoveryCredential();
62
- const initialInvitation = authority.createBootstrapInvitation(15 * 60_000);
63
- return {
63
+ const invitation = authority.createBootstrapInvitation(15 * 60_000);
64
+ const credential = generateSecret();
65
+ const enrollment = authority.exchangeInvitation({
66
+ invitation,
67
+ retryKey: randomUUID(),
68
+ clientCredential: credential,
69
+ clientName: "Local owner",
70
+ });
71
+ if (enrollment?.purpose !== "owner" || enrollment.serverCapabilities[0] !== "create_cube") {
72
+ throw new Error("Local owner provisioning failed.");
73
+ }
74
+ await persistOwnerCredential(Object.freeze({
75
+ version: 2,
76
+ origin: `https://${bindHost === "::1" ? "[::1]" : bindHost}:7091`,
77
+ trustIdentity: `spki-sha256:${caFingerprint}`,
78
+ credential,
79
+ clientId: enrollment.clientId,
80
+ serverCapabilities: ["create_cube"],
81
+ }));
82
+ const result = {
64
83
  serverId,
65
84
  caFingerprint,
66
85
  recoveryCredential,
67
- initialInvitation,
86
+ initialInvitation: invitation,
87
+ ownerAccess: {
88
+ clientId: enrollment.clientId,
89
+ serverCapabilities: ["create_cube"],
90
+ },
68
91
  paths,
69
92
  };
93
+ completed = true;
94
+ return result;
70
95
  }
71
96
  finally {
72
97
  digester.destroy();
@@ -75,6 +100,14 @@ export async function bootstrapServer(dataDirectory, bindHost = "127.0.0.1", clo
75
100
  finally {
76
101
  digestKey.fill(0);
77
102
  runtime.close();
103
+ if (!completed) {
104
+ await Promise.all([
105
+ ...Object.values(paths),
106
+ `${paths.database}-wal`,
107
+ `${paths.database}-shm`,
108
+ `${paths.database}-journal`,
109
+ ].map((path) => unlink(path).catch(() => undefined)));
110
+ }
78
111
  }
79
112
  }
80
113
  async function writePrivate(path, value) {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -3,5 +3,6 @@ export interface CliIo {
3
3
  readonly stdout: (message: string) => void;
4
4
  readonly stderr: (message: string) => void;
5
5
  readonly readSecret?: (prompt: string) => Promise<string>;
6
+ readonly isTTY?: boolean;
6
7
  }
7
8
  export declare function runCli(args: readonly string[], service: ServerService, io: CliIo): Promise<number>;
package/dist/cli.js CHANGED
@@ -1,8 +1,12 @@
1
+ import { RuntimeUpdateFailure } from "./runtime-operator.js";
1
2
  const usage = `Usage: borg-mcp-server <command> [options]
2
3
 
3
4
  Commands:
4
5
  setup [--reinitialize] Prepare an offline server installation
5
6
  start Start the server process
7
+ status [--json] Report exact local runtime evidence
8
+ update [--json] Verify and activate the latest server artifact
9
+ invite Create a single-use invitation in an interactive terminal.
6
10
  client-rotate <client-id> Rotate one client credential offline
7
11
  client-revoke <client-id> Revoke one client and its credentials offline
8
12
  client-grant <client-id> <cube-id> <read|write|manage> Set one offline cube grant
@@ -44,11 +48,116 @@ export async function runCli(args, service, io) {
44
48
  return 1;
45
49
  }
46
50
  const result = await service.setup({ reinitialize: extraArgs[0] === "--reinitialize" });
47
- io.stdout(`Server setup complete.\nRecovery credential (shown once; keep offline): ${result.recoveryCredential}\nOwner enrollment invitation (single-use, shown once; enroll the owner client): ${result.initialInvitation}\nSetup created no cube.\nNext: start the server with \`borg-mcp-server start\`.`);
51
+ const artifactIdentity = result.artifact === undefined
52
+ ? "borgmcp-server@unavailable"
53
+ : `borgmcp-server@${result.artifact.version}`;
54
+ const artifact = result.artifact === undefined
55
+ ? "Artifact: unavailable"
56
+ : `Artifact: ${artifactIdentity} (${result.artifact.integrity})`;
57
+ if (io.isTTY === false) {
58
+ io.stdout(JSON.stringify({
59
+ status: "prepared",
60
+ artifact: artifactIdentity,
61
+ build_identity: result.artifact?.sourceSha ?? null,
62
+ owner_access: "prepared",
63
+ process: "stopped",
64
+ }));
65
+ return 0;
66
+ }
67
+ if ("existing" in result) {
68
+ io.stdout([
69
+ "Local server is already prepared.",
70
+ artifact,
71
+ `Build identity: ${result.artifact?.sourceSha ?? "unavailable"}`,
72
+ "Data and identity: unchanged",
73
+ "No server process started.",
74
+ "Next: borg-mcp-server start",
75
+ ].join("\n"));
76
+ return 0;
77
+ }
78
+ io.stdout([
79
+ "Local server setup completed.",
80
+ artifact,
81
+ "Local owner access: prepared.",
82
+ "No server process started.",
83
+ "Next: start the server, then run borg assimilate.",
84
+ ].join("\n"));
48
85
  return 0;
49
86
  case "start":
50
87
  await service.start(extraArgs);
51
88
  return 0;
89
+ case "status": {
90
+ if (extraArgs.length > 1 || (extraArgs.length === 1 && extraArgs[0] !== "--json") ||
91
+ service.status === undefined)
92
+ return invalidArguments(io);
93
+ const status = await service.status();
94
+ if (extraArgs[0] === "--json" || io.isTTY === false) {
95
+ io.stdout(JSON.stringify({
96
+ status: status.status,
97
+ artifact: status.artifact === null
98
+ ? null
99
+ : `borgmcp-server@${status.artifact.version}`,
100
+ artifact_integrity: status.artifact?.integrity ?? null,
101
+ build_identity: status.buildIdentity,
102
+ endpoint: status.endpoint,
103
+ mode: status.mode,
104
+ data_identity: status.dataIdentity,
105
+ }));
106
+ }
107
+ else {
108
+ io.stdout(renderRuntimeStatus(status));
109
+ }
110
+ return 0;
111
+ }
112
+ case "update": {
113
+ if (extraArgs.length > 1 || (extraArgs.length === 1 && extraArgs[0] !== "--json") ||
114
+ service.update === undefined)
115
+ return invalidArguments(io);
116
+ let result;
117
+ try {
118
+ result = await service.update();
119
+ }
120
+ catch (error) {
121
+ if (!(error instanceof RuntimeUpdateFailure))
122
+ throw error;
123
+ renderUpdateFailure(error, io, extraArgs[0] === "--json" || io.isTTY === false);
124
+ return 1;
125
+ }
126
+ if (extraArgs[0] === "--json" || io.isTTY === false) {
127
+ io.stdout(JSON.stringify({
128
+ status: result.outcome,
129
+ artifact: `borgmcp-server@${result.artifact.version}`,
130
+ artifact_integrity: result.artifact.integrity,
131
+ build_identity: result.runningIdentity?.source_sha ?? result.artifact.sourceSha,
132
+ mode: result.outcome === "updated" ? "managed" : "stopped",
133
+ data_identity: result.dataIdentity,
134
+ }));
135
+ }
136
+ else if (result.outcome === "updated") {
137
+ io.stdout([
138
+ `Verifying borgmcp-server@${result.artifact.version}...`,
139
+ "Artifact verified and activated.",
140
+ "Restarting the verified local server...",
141
+ `Local server is running.`,
142
+ `Artifact: borgmcp-server@${result.artifact.version} (${result.artifact.integrity})`,
143
+ `Build identity: ${result.runningIdentity?.source_sha ?? "unavailable"}`,
144
+ "Data and identity: preserved",
145
+ "Next: borg-mcp-server status",
146
+ ].join("\n"));
147
+ }
148
+ else {
149
+ io.stdout([
150
+ `Verifying borgmcp-server@${result.artifact.version}...`,
151
+ "Artifact verified and activated.",
152
+ "No server process started.",
153
+ `Artifact: borgmcp-server@${result.artifact.version} (${result.artifact.integrity})`,
154
+ `Build identity: ${result.artifact.sourceSha ?? "unavailable"}`,
155
+ "Data and identity: preserved",
156
+ "Next: borg-mcp-server start",
157
+ ].join("\n"));
158
+ }
159
+ return 0;
160
+ }
52
161
  case "client-rotate":
53
162
  if (extraArgs.length !== 1 || service.rotateClient === undefined)
54
163
  return invalidArguments(io);
@@ -107,6 +216,17 @@ export async function runCli(args, service, io) {
107
216
  }
108
217
  return 0;
109
218
  }
219
+ case "invite": {
220
+ if (extraArgs.length !== 0 || service.invite === undefined)
221
+ return invalidArguments(io);
222
+ if (io.isTTY !== true) {
223
+ io.stderr("Invitation creation requires an interactive terminal.");
224
+ return 1;
225
+ }
226
+ const invitation = await service.invite();
227
+ io.stdout(`Invitation (single-use; shown once): ${invitation}\nShare it only with the intended recipient.`);
228
+ return 0;
229
+ }
110
230
  case "help":
111
231
  case "--help":
112
232
  case "-h":
@@ -118,6 +238,61 @@ export async function runCli(args, service, io) {
118
238
  return 1;
119
239
  }
120
240
  }
241
+ function renderUpdateFailure(failure, io, machine) {
242
+ const state = failure.code === "ARTIFACT_VERIFICATION_FAILED"
243
+ ? "verification_failed"
244
+ : failure.recovery === "restored"
245
+ ? "restored"
246
+ : failure.recovery === "stopped"
247
+ ? "stopped"
248
+ : "recovery_failed";
249
+ if (machine) {
250
+ io.stdout(JSON.stringify({
251
+ status: "failed",
252
+ error_code: failure.code,
253
+ recovery: state,
254
+ data_identity: "preserved",
255
+ }));
256
+ return;
257
+ }
258
+ if (failure.code === "ARTIFACT_VERIFICATION_FAILED") {
259
+ io.stderr([
260
+ "Update stopped: artifact verification failed.",
261
+ "No activation occurred.",
262
+ "The last verified runtime remains available.",
263
+ "Next: borg-mcp-server status",
264
+ ].join("\n"));
265
+ return;
266
+ }
267
+ io.stderr([
268
+ "Update stopped: activation did not complete.",
269
+ failure.recovery === "restored"
270
+ ? "The last verified runtime was restored."
271
+ : failure.recovery === "stopped"
272
+ ? "The server stopped safely."
273
+ : "Recovery did not complete; inspect server status.",
274
+ "Data and identity: preserved",
275
+ "Next: borg-mcp-server status",
276
+ ].join("\n"));
277
+ }
278
+ function renderRuntimeStatus(status) {
279
+ const heading = status.status === "running"
280
+ ? status.buildIdentity === null
281
+ ? "Local server is reachable, but its running build identity is unavailable."
282
+ : "Local server is running."
283
+ : "Local server is stopped.";
284
+ const artifact = status.artifact === null
285
+ ? "Artifact: unavailable"
286
+ : `Artifact: borgmcp-server@${status.artifact.version} (${status.artifact.integrity})`;
287
+ return [
288
+ heading,
289
+ artifact,
290
+ `Build identity: ${status.buildIdentity ?? "unavailable"}`,
291
+ `Endpoint: ${status.endpoint ?? "unavailable"}`,
292
+ `Mode: ${status.mode}`,
293
+ `Data and identity: ${status.dataIdentity}`,
294
+ ].join("\n");
295
+ }
121
296
  function parseClientInviteArguments(args) {
122
297
  if (args.length === 0)
123
298
  return {};
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAQA,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAiC2D,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAuB,EACvB,OAAsB,EACtB,EAAS;IAET,MAAM,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IAErC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,EAAE,CAAC;gBAC1F,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC;gBAC1C,OAAO,CAAC,CAAC;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC,CAAC;YACxF,EAAE,CAAC,MAAM,CAAC,2EAA2E,MAAM,CAAC,kBAAkB,oFAAoF,MAAM,CAAC,iBAAiB,kFAAkF,CAAC,CAAC;YAC9S,OAAO,CAAC,CAAC;QACX,KAAK,OAAO;YACV,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/B,OAAO,CAAC,CAAC;QACX,KAAK,eAAe;YAClB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC9F,EAAE,CAAC,MAAM,CAAC,2CAA2C,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC;YAClG,OAAO,CAAC,CAAC;QACX,KAAK,eAAe;YAClB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC9F,MAAM,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;YAC1C,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAC7B,OAAO,CAAC,CAAC;QACX,KAAK,cAAc,EAAE,CAAC;YACpB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC7F,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ;gBAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAChG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,MAAM,CAAC,CAAC;YAChE,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,gBAAgB;YACnB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC/F,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;YAC1D,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,KAAK,eAAe,CAAC;QACrB,KAAK,cAAc,EAAE,CAAC;YACpB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1F,IAAI,CAAC,OAAO,KAAK,cAAc,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnF,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,KAAK,eAAe;gBAC3C,CAAC,CAAC,OAAO,CAAC,sBAAsB;gBAChC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACnC,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,OAAO,KAAK,eAAe;gBACxC,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,SAAS;oBAClC,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC;oBAC3B,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;gBACjE,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,eAAe;oBACnC,CAAC,CAAC,0DAA0D,MAAM,EAAE;oBACpE,CAAC,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,EAAE,CAAC,MAAM,CACP,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,MAAM,KAAK;oBAC/D,UAAU,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;oBACzC,0DAA0D,MAAM,CAAC,UAAU,EAAE,CAC9E,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO,CAAC,CAAC;QACX;YACE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAuB;IAEvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACrF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,YAAY,CAAC,MAAmC;IACvD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,yDAAyD,CAAC;IACxF,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,2DAA2D,CAAC;IAC5F,OAAO,kFAAkF,CAAC;AAC5F,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAS;IACjC,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export declare class CredentialAuthority {
42
42
  createRecoveryCredential(): string;
43
43
  createBootstrapInvitation(ttlMs: number): string;
44
44
  createInvitation(recoveryCredential: string, ttlMs: number): string | null;
45
+ createInvitationForOwnerCredential(clientCredential: string, ttlMs: number): string | null;
45
46
  createCubeInvitation(recoveryCredential: string, cubeSelector: {
46
47
  readonly kind: "id" | "name";
47
48
  readonly value: string;
@@ -151,6 +151,13 @@ export class CredentialAuthority {
151
151
  return null;
152
152
  return this.#createInvitation("client", ttlMs);
153
153
  }
154
+ createInvitationForOwnerCredential(clientCredential, ttlMs) {
155
+ const principal = this.authenticate(`Bearer ${clientCredential}`);
156
+ if (principal?.kind !== "client" ||
157
+ !this.#store.clientHasServerCapability(principal.id, "create_cube"))
158
+ return null;
159
+ return this.#createInvitation("client", ttlMs);
160
+ }
154
161
  createCubeInvitation(recoveryCredential, cubeSelector, access, ttlMs) {
155
162
  const digest = safeDigest(this.#digester, recoveryCredential, "recovery");
156
163
  const stored = this.#store.findRecoveryCredential(digest.lookup);
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,eAAe,EACf,qBAAqB,GAEtB,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAoB,MAAM,gBAAgB,CAAC;AAEvE,MAAM,YAAY,GAAG,2BAA2B,CAAC;AACjD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAsBvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAC/C,MAAM,CAAC,MAAM,+BAA+B,GAAG,oBAAoB,GAAG,CAAC,CAAC;AAExE,MAAM,OAAO,kBAAkB;IACpB,IAAI,CAAS;IAEtB,YAAY,GAAW;QACrB,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACvF,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,OAA0B;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;aAC3C,MAAM,CAAC,UAAU,OAAO,GAAG,CAAC;aAC5B,MAAM,CAAC,MAAM,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;aAC7C,MAAM,CAAC,UAAU,OAAO,GAAG,CAAC;aAC5B,MAAM,CAAC,MAAM,CAAC;aACd,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,OAA0B,EAAE,MAAe;QAChE,IAAI,SAAiB,CAAC;QACtB,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,GAAG,aAAa,CAAC;YAC1B,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;QAChE,OAAO,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IACxB,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;IACpD,KAAK,GAAG,IAAI,GAAG,EAAsC,CAAC;IACtD,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE9D,QAAQ,CAAC,UAAsC,EAAE,WAAoB;QAInE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;YACvE,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;gBACtE,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,QAAgB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO;QACnC,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAgB,EAAE,WAAmB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO;QACnC,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;YAC7E,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,UAA2B;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7B,IAAI,QAAQ,EAAE,IAAI,KAAK,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,UAA2B;QACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAED,MAAM,OAAO,mBAAmB;IACrB,MAAM,CAAkB;IACxB,SAAS,CAAqB;IAC9B,MAAM,CAAa;IACnB,SAAS,CAAyB;IAClC,YAAY,CAAc;IAEnC,YACE,KAAsB,EACtB,QAA4B,EAC5B,KAAK,GAAe,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EACpC,QAAQ,GAAG,IAAI,sBAAsB,EAAE,EACvC,WAAW,GAAgB,mBAAmB;QAE9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,wBAAwB;QACtB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAClC,UAAU,EAAE,EACZ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAC1C,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,yBAAyB,CAAC,KAAa;QACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB,CAAC,kBAA0B,EAAE,KAAa;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,oBAAoB,CAClB,kBAA0B,EAC1B,YAAsE,EACtE,MAAmC,EACnC,KAAa;QAEb,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,sBAAsB,CAAC,kBAA0B,EAAE,KAAa;QAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAWD,iBAAiB,CACf,OAA2B,EAC3B,KAAa,EACb,MAGC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACzC,EAAE,EAAE,UAAU,EAAE;YAChB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;YACnD,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE;YAClE,OAAO;YACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,oBAAoB;YAC5B,OAAO;YACP,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SACpD,CAAC,CAAC;QACH,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,kBAAkB,CAAC,OAA0B;QAC3C,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CACpC,OAAO,CAAC,UAAU,EAClB,YAAY,EACZ,MAAM,EAAE,QAAQ,CACjB,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YAC1C,YAAY,EAAE,MAAM,EAAE,EAAE,IAAI,sCAAsC;YAClE,QAAQ;YACR,mBAAmB,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI;YAC/C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,UAAU,EAAE;YAC1B,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;SACjF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,QAAQ,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI;YACpC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE;YACxD,CAAC,CAAC;gBACE,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,aAAiC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACtD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAED,kBAAkB,CAChB,aAAiC;QAEjC,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YAC3E,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC;YAChF,KAAK,KAAK,IAAI,CAAC;QACjB,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,MAAO,CAAC,SAAS,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAC;YAChD,OAAO,eAAe,CAAC,MAAO,CAAC,QAAS,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,KAAM,CAAC,SAAS,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC;YAChD,IAAI,KAAM,CAAC,SAAS,IAAI,IAAI;gBAAE,OAAO,SAAS,CAAC;YAC/C,IAAI,KAAM,CAAC,SAAS;gBAAE,OAAO,UAAU,CAAC;YACxC,IAAI,KAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;gBAAE,OAAO,SAAS,CAAC;YACtE,OAAO,qBAAqB,CAAC;gBAC3B,EAAE,EAAE,KAAM,CAAC,SAAS;gBACpB,QAAQ,EAAE,KAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,KAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,KAAM,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,UAAU,CACR,KAAkB,EAClB,OAKC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;YACrF,OAAO,EAAE,UAAU,EAAE;YACrB,SAAS,EAAE,UAAU,EAAE;YACvB,YAAY,EAAE,UAAU,EAAE;YAC1B,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;YACnF,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,oBAAoB,CAAC,CAAC,WAAW,EAAE;YACvE,wBAAwB,EAAE,IAAI,IAAI,CAChC,GAAG,CAAC,OAAO,EAAE,GAAG,+BAA+B,CAChD,CAAC,WAAW,EAAE;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACrB,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,iBAAiB;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;gBACtB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;aACzB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,MAAM,cAAc,CAAC,gBAAgB,CAAC;QACjF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;YACjD,QAAQ;YACR,YAAY,EAAE,UAAU,EAAE;YAC1B,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;SAC1D,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,MAAM,cAAc,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;YAAE,MAAM,cAAc,CAAC,gBAAgB,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,mBAAmB,CAAC,SAA6B;QAC/C,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,SAAS,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,SAAS,KAAK,IAAI;YACpC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;IAClF,CAAC;CACF;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,aAAiC;IACrD,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CACjB,QAA4B,EAC5B,MAAc,EACd,OAA0B;IAE1B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}