@cotal-ai/cli 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/commands/down-manifest.d.ts +6 -0
  2. package/dist/commands/down-manifest.d.ts.map +1 -0
  3. package/dist/commands/down-manifest.js +282 -0
  4. package/dist/commands/down-manifest.js.map +1 -0
  5. package/dist/commands/down.d.ts +5 -3
  6. package/dist/commands/down.d.ts.map +1 -1
  7. package/dist/commands/down.js +24 -4
  8. package/dist/commands/down.js.map +1 -1
  9. package/dist/commands/meshes.js +1 -1
  10. package/dist/commands/meshes.js.map +1 -1
  11. package/dist/commands/mint.d.ts.map +1 -1
  12. package/dist/commands/mint.js +2 -1
  13. package/dist/commands/mint.js.map +1 -1
  14. package/dist/commands/setup.d.ts.map +1 -1
  15. package/dist/commands/setup.js +66 -16
  16. package/dist/commands/setup.js.map +1 -1
  17. package/dist/commands/spawn-manifest.d.ts +10 -0
  18. package/dist/commands/spawn-manifest.d.ts.map +1 -0
  19. package/dist/commands/spawn-manifest.js +197 -0
  20. package/dist/commands/spawn-manifest.js.map +1 -0
  21. package/dist/commands/spawn.d.ts.map +1 -1
  22. package/dist/commands/spawn.js +31 -4
  23. package/dist/commands/spawn.js.map +1 -1
  24. package/dist/commands/topology.d.ts +10 -0
  25. package/dist/commands/topology.d.ts.map +1 -0
  26. package/dist/commands/topology.js +46 -0
  27. package/dist/commands/topology.js.map +1 -0
  28. package/dist/commands/up.d.ts +4 -0
  29. package/dist/commands/up.d.ts.map +1 -1
  30. package/dist/commands/up.js +112 -2
  31. package/dist/commands/up.js.map +1 -1
  32. package/dist/commands/use.d.ts +1 -1
  33. package/dist/commands/use.d.ts.map +1 -1
  34. package/dist/commands/use.js +1 -1
  35. package/dist/commands/use.js.map +1 -1
  36. package/dist/commands/web.d.ts.map +1 -1
  37. package/dist/commands/web.js +3 -1
  38. package/dist/commands/web.js.map +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +10 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/lib/connect.d.ts +18 -16
  43. package/dist/lib/connect.d.ts.map +1 -1
  44. package/dist/lib/connect.js +27 -51
  45. package/dist/lib/connect.js.map +1 -1
  46. package/dist/lib/delivery-proc.d.ts.map +1 -1
  47. package/dist/lib/delivery-proc.js +2 -1
  48. package/dist/lib/delivery-proc.js.map +1 -1
  49. package/dist/lib/manager-proc.d.ts +4 -0
  50. package/dist/lib/manager-proc.d.ts.map +1 -1
  51. package/dist/lib/manager-proc.js +17 -0
  52. package/dist/lib/manager-proc.js.map +1 -1
  53. package/dist/lib/manifest/apply.d.ts +29 -0
  54. package/dist/lib/manifest/apply.d.ts.map +1 -0
  55. package/dist/lib/manifest/apply.js +138 -0
  56. package/dist/lib/manifest/apply.js.map +1 -0
  57. package/dist/lib/manifest/errors.d.ts +21 -0
  58. package/dist/lib/manifest/errors.d.ts.map +1 -0
  59. package/dist/lib/manifest/errors.js +19 -0
  60. package/dist/lib/manifest/errors.js.map +1 -0
  61. package/dist/lib/manifest/index.d.ts +13 -0
  62. package/dist/lib/manifest/index.d.ts.map +1 -0
  63. package/dist/lib/manifest/index.js +21 -0
  64. package/dist/lib/manifest/index.js.map +1 -0
  65. package/dist/lib/manifest/ledger.d.ts +81 -0
  66. package/dist/lib/manifest/ledger.d.ts.map +1 -0
  67. package/dist/lib/manifest/ledger.js +213 -0
  68. package/dist/lib/manifest/ledger.js.map +1 -0
  69. package/dist/lib/manifest/live.d.ts +25 -0
  70. package/dist/lib/manifest/live.d.ts.map +1 -0
  71. package/dist/lib/manifest/live.js +61 -0
  72. package/dist/lib/manifest/live.js.map +1 -0
  73. package/dist/lib/manifest/model.d.ts +71 -0
  74. package/dist/lib/manifest/model.d.ts.map +1 -0
  75. package/dist/lib/manifest/model.js +2 -0
  76. package/dist/lib/manifest/model.js.map +1 -0
  77. package/dist/lib/manifest/preflight.d.ts +12 -0
  78. package/dist/lib/manifest/preflight.d.ts.map +1 -0
  79. package/dist/lib/manifest/preflight.js +43 -0
  80. package/dist/lib/manifest/preflight.js.map +1 -0
  81. package/dist/lib/manifest/prepare.d.ts +57 -0
  82. package/dist/lib/manifest/prepare.d.ts.map +1 -0
  83. package/dist/lib/manifest/prepare.js +95 -0
  84. package/dist/lib/manifest/prepare.js.map +1 -0
  85. package/dist/lib/manifest/render.d.ts +41 -0
  86. package/dist/lib/manifest/render.d.ts.map +1 -0
  87. package/dist/lib/manifest/render.js +177 -0
  88. package/dist/lib/manifest/render.js.map +1 -0
  89. package/dist/lib/manifest/resolve.d.ts +5 -0
  90. package/dist/lib/manifest/resolve.d.ts.map +1 -0
  91. package/dist/lib/manifest/resolve.js +185 -0
  92. package/dist/lib/manifest/resolve.js.map +1 -0
  93. package/dist/lib/manifest/schema.d.ts +103 -0
  94. package/dist/lib/manifest/schema.d.ts.map +1 -0
  95. package/dist/lib/manifest/schema.js +77 -0
  96. package/dist/lib/manifest/schema.js.map +1 -0
  97. package/dist/lib/manifest/spawn-plan.d.ts +87 -0
  98. package/dist/lib/manifest/spawn-plan.d.ts.map +1 -0
  99. package/dist/lib/manifest/spawn-plan.js +75 -0
  100. package/dist/lib/manifest/spawn-plan.js.map +1 -0
  101. package/dist/lib/meshes.d.ts +1 -7
  102. package/dist/lib/meshes.d.ts.map +1 -1
  103. package/dist/lib/meshes.js +5 -14
  104. package/dist/lib/meshes.js.map +1 -1
  105. package/dist/lib/onboard.js +1 -1
  106. package/dist/lib/onboard.js.map +1 -1
  107. package/dist/lib/paths.js +1 -1
  108. package/dist/lib/paths.js.map +1 -1
  109. package/dist/lib/status.d.ts.map +1 -1
  110. package/dist/lib/status.js +2 -1
  111. package/dist/lib/status.js.map +1 -1
  112. package/dist/web/graph.html +3 -0
  113. package/dist/web/graph.js +76 -21
  114. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-proc.d.ts","sourceRoot":"","sources":["../../src/lib/delivery-proc.ts"],"names":[],"mappings":"AAmBA,KAAK,IAAI,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAWlE,qGAAqG;AACrG,wBAAgB,UAAU,IAAI,OAAO,CAKpC;AAeD;;0GAE0G;AAC1G,wBAAgB,8BAA8B,IAAI,IAAI,CAKrD;AAED;;8FAE8F;AAC9F,wBAAgB,qBAAqB,CAAC,CAAC,GAAE,IAAS,GAAG,MAAM,CAgB1D;AAED;;;;sFAIsF;AACtF,wBAAsB,cAAc,CAAC,CAAC,GAAE,IAAS,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA6BhF;AAED,oFAAoF;AACpF,wBAAgB,YAAY,IAAI,IAAI,CAanC;AAED;;;;+FAI+F;AAC/F,wBAAsB,kBAAkB,CAAC,CAAC,GAAE,IAAS,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAIpF"}
1
+ {"version":3,"file":"delivery-proc.d.ts","sourceRoot":"","sources":["../../src/lib/delivery-proc.ts"],"names":[],"mappings":"AAiBA,KAAK,IAAI,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAWlE,qGAAqG;AACrG,wBAAgB,UAAU,IAAI,OAAO,CAKpC;AAeD;;0GAE0G;AAC1G,wBAAgB,8BAA8B,IAAI,IAAI,CAKrD;AAED;;8FAE8F;AAC9F,wBAAgB,qBAAqB,CAAC,CAAC,GAAE,IAAS,GAAG,MAAM,CAgB1D;AAED;;;;sFAIsF;AACtF,wBAAsB,cAAc,CAAC,CAAC,GAAE,IAAS,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA6BhF;AAED,oFAAoF;AACpF,wBAAgB,YAAY,IAAI,IAAI,CAanC;AAED;;;;+FAI+F;AAC/F,wBAAsB,kBAAkB,CAAC,CAAC,GAAE,IAAS,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAIpF"}
@@ -1,6 +1,7 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { existsSync, openSync, closeSync, writeFileSync, readFileSync, rmSync } from "node:fs";
3
- import { DEFAULT_SERVER, authDir, findCotalRoot, loadSpaceAuth, mintCreds, newIdentity, waitForDeliveryLease, } from "@cotal-ai/core";
3
+ import { DEFAULT_SERVER, mintCreds, newIdentity, waitForDeliveryLease, } from "@cotal-ai/core";
4
+ import { authDir, findCotalRoot, loadSpaceAuth } from "@cotal-ai/workspace";
4
5
  import { selfArgv } from "./self-exec.js";
5
6
  import { resolveSpace } from "./status.js";
6
7
  import { cotalPath } from "./paths.js";
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-proc.js","sourceRoot":"","sources":["../../src/lib/delivery-proc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-proc.js","sourceRoot":"","sources":["../../src/lib/delivery-proc.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export declare function pgrepMatches(pattern: string): boolean;
16
16
  * processes, then confirming the exact `--space <space>` token in each one's argv. Works for prod
17
17
  * `cotal.js` and dev `cotal.ts` alike. */
18
18
  export declare function cmuxManagerRunning(space: string): boolean;
19
+ /** True if a tmux-runtime manager is live for this space. Same matching logic as cmuxManagerRunning. */
20
+ export declare function tmuxManagerRunning(space: string): boolean;
19
21
  /** Start the control-plane manager detached (pid in `.cotal/manager.pid`, output to
20
22
  * `.cotal/manager.log`), stopped by `cotal down`. Re-execs this same CLI's `supervise` — the
21
23
  * composed `cotal` binary registers it; `process.execArgv` carries the tsx loader in dev and is
@@ -25,6 +27,8 @@ export declare function startManagerDetached(o?: {
25
27
  space?: string;
26
28
  server?: string;
27
29
  spawn?: string[];
30
+ launch?: string;
31
+ runtime?: string;
28
32
  }): number;
29
33
  /** Make the control plane available: reuse a manager already running for this folder, else start
30
34
  * one detached. Best-effort — callers treat it as non-fatal. */
@@ -1 +1 @@
1
- {"version":3,"file":"manager-proc.d.ts","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"AAwBA,6FAA6F;AAC7F,wBAAgB,SAAS,IAAI,OAAO,CAKnC;AAED;;;;2CAI2C;AAC3C,wBAAgB,wBAAwB,IAAI,OAAO,CAOlD;AAED;iGACiG;AACjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;2CAK2C;AAC3C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAczD;AAED;;;;0FAI0F;AAC1F,wBAAgB,oBAAoB,CAAC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG,MAAM,CAoB1G;AAED;iEACiE;AACjE,wBAAgB,aAAa,CAAC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAIjH;AAED;wGACwG;AACxG,wBAAgB,WAAW,IAAI,IAAI,CAalC"}
1
+ {"version":3,"file":"manager-proc.d.ts","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"AAwBA,6FAA6F;AAC7F,wBAAgB,SAAS,IAAI,OAAO,CAKnC;AAED;;;;2CAI2C;AAC3C,wBAAgB,wBAAwB,IAAI,OAAO,CAOlD;AAED;iGACiG;AACjG,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;2CAK2C;AAC3C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAczD;AAED,wGAAwG;AACxG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWzD;AAED;;;;0FAI0F;AAC1F,wBAAgB,oBAAoB,CAClC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/F,MAAM,CAuBR;AAED;iEACiE;AACjE,wBAAgB,aAAa,CAAC,CAAC,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAIjH;AAED;wGACwG;AACxG,wBAAgB,WAAW,IAAI,IAAI,CAalC"}
@@ -69,6 +69,20 @@ export function cmuxManagerRunning(space) {
69
69
  .filter(Boolean)
70
70
  .some((pid) => servesSpace(spawnSync("ps", ["-p", pid, "-o", "args="], { encoding: "utf8" }).stdout));
71
71
  }
72
+ /** True if a tmux-runtime manager is live for this space. Same matching logic as cmuxManagerRunning. */
73
+ export function tmuxManagerRunning(space) {
74
+ const r = spawnSync("pgrep", ["-f", "--", "--runtime tmux"], { encoding: "utf8" });
75
+ if (r.status !== 0)
76
+ return false;
77
+ const servesSpace = (args) => {
78
+ const tokens = args.split(/\s+/);
79
+ return tokens.some((t, i) => (t === "--space" && tokens[i + 1] === space) || t === `--space=${space}`);
80
+ };
81
+ return r.stdout
82
+ .split("\n")
83
+ .filter(Boolean)
84
+ .some((pid) => servesSpace(spawnSync("ps", ["-p", pid, "-o", "args="], { encoding: "utf8" }).stdout));
85
+ }
72
86
  /** Start the control-plane manager detached (pid in `.cotal/manager.pid`, output to
73
87
  * `.cotal/manager.log`), stopped by `cotal down`. Re-execs this same CLI's `supervise` — the
74
88
  * composed `cotal` binary registers it; `process.execArgv` carries the tsx loader in dev and is
@@ -84,7 +98,10 @@ export function startManagerDetached(o = {}) {
84
98
  o.space ?? resolveSpace(process.cwd()),
85
99
  "--server",
86
100
  o.server ?? DEFAULT_SERVER,
101
+ ...(o.runtime ? ["--runtime", o.runtime] : []),
87
102
  ...(o.spawn?.length ? ["--spawn", o.spawn.join(",")] : []),
103
+ // A resolved mesh-manifest launch spec (cotal up -f): the manager materializes + boots each agent.
104
+ ...(o.launch ? ["--launch", o.launch] : []),
88
105
  ];
89
106
  const child = spawn(node, args, { detached: true, stdio: ["ignore", fd, fd] });
90
107
  closeSync(fd);
@@ -1 +1 @@
1
- {"version":3,"file":"manager-proc.js","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager-proc.js","sourceRoot":"","sources":["../../src/lib/manager-proc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type ChannelRegistryFile, type MeshLaunchSpec } from "@cotal-ai/core";
2
+ import type { PreparedManifest } from "./preflight.js";
3
+ import type { PreparedAgent } from "./prepare.js";
4
+ import type { ResolvedChannel } from "./model.js";
5
+ /** A path-safe run id naming the transient `.cotal/run/<runId>/` dir and tying to the ledger. */
6
+ export declare function genRunId(): string;
7
+ /** Stable content hash of the resolved launch fields — connector + behavior + ACLs. A change here
8
+ * means a re-declared running agent is stale/restart-required (drift detection). */
9
+ export declare function hashAgent(a: PreparedAgent): string;
10
+ /** Build the launch spec the manager boots from. */
11
+ export declare function buildLaunchSpec(prepared: PreparedManifest, runId: string): MeshLaunchSpec;
12
+ /** Write the launch spec to `<root>/.cotal/run/<runId>.json` (0600 — it carries persona text +
13
+ * policy) and return its path. A fresh run is exclusive-create (`wx`); a `spawn -f` re-apply reuses
14
+ * the runId, so `update` rewrites it atomically (temp-then-rename, exclusive temp — never follows a
15
+ * pre-planted symlink). Both refuse a symlinked `.cotal`/`run` parent. */
16
+ export declare function writeLaunchSpec(root: string, spec: MeshLaunchSpec, opts?: {
17
+ update?: boolean;
18
+ }): string;
19
+ /** The channel-registry seed (defaults + every per-channel card) — used by `up -f`, which owns the
20
+ * whole space. */
21
+ export declare function manifestToChannels(prepared: PreparedManifest): ChannelRegistryFile;
22
+ /** A seed of ONLY the given channels and NO defaults — for `spawn -f`, which seeds the brand-new
23
+ * keys it creates onto a shared mesh and must never rewrite the mesh-wide defaults or a pre-existing
24
+ * (unmanaged) card. */
25
+ export declare function channelsSeed(channels: ResolvedChannel[]): ChannelRegistryFile;
26
+ /** Preflight the connectors: every distinct connector type must be registered and have its required
27
+ * binaries on PATH — fail before any mutation (no fallback). Returns an error sentence, or "". */
28
+ export declare function preflightConnectors(prepared: PreparedManifest): string;
29
+ //# sourceMappingURL=apply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/apply.ts"],"names":[],"mappings":"AASA,OAAO,EAAoD,KAAK,mBAAmB,EAAwC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvK,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,iGAAiG;AACjG,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;qFACqF;AACrF,wBAAgB,SAAS,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAYlD;AAoBD,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAOzF;AAED;;;2EAG2E;AAC3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAY3G;AAcD;mBACmB;AACnB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAIlF;AAED;;wBAEwB;AACxB,wBAAgB,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,mBAAmB,CAI7E;AAED;mGACmG;AACnG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAetE"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Apply helpers shared by `up -f` / `spawn -f`: turn a {@link PreparedManifest} into the artifacts
3
+ * the launch needs — the channel-registry seed, the resolved launch spec (written for the manager's
4
+ * `supervise --launch`), and the connector-availability preflight. No broker lifecycle here (that's
5
+ * the command), so this stays reusable across both verbs.
6
+ */
7
+ import { accessSync, constants, renameSync, writeFileSync } from "node:fs";
8
+ import { createHash, randomBytes } from "node:crypto";
9
+ import { join, delimiter } from "node:path";
10
+ import { ensureDirNoSymlink, registry } from "@cotal-ai/core";
11
+ /** A path-safe run id naming the transient `.cotal/run/<runId>/` dir and tying to the ledger. */
12
+ export function genRunId() {
13
+ return randomBytes(8).toString("hex");
14
+ }
15
+ /** Stable content hash of the resolved launch fields — connector + behavior + ACLs. A change here
16
+ * means a re-declared running agent is stale/restart-required (drift detection). */
17
+ export function hashAgent(a) {
18
+ const stable = JSON.stringify({
19
+ agent: a.agentType,
20
+ model: a.model ?? null,
21
+ role: a.role ?? null,
22
+ body: a.body ?? null,
23
+ capabilities: [...a.capabilities].sort(),
24
+ subscribe: [...a.policy.subscribe].sort(),
25
+ allowSubscribe: [...a.policy.allowSubscribe].sort(),
26
+ allowPublish: [...a.policy.allowPublish].sort(),
27
+ });
28
+ return createHash("sha256").update(stable).digest("hex").slice(0, 16);
29
+ }
30
+ /** Project a prepared agent into the resolved launch-spec form the manager consumes. */
31
+ function toLaunchAgent(a) {
32
+ return {
33
+ name: a.name,
34
+ agent: a.agentType,
35
+ role: a.role,
36
+ model: a.model,
37
+ description: a.description,
38
+ body: a.body,
39
+ capabilities: a.capabilities.length ? a.capabilities : undefined,
40
+ subscribe: a.policy.subscribe,
41
+ allowSubscribe: a.policy.allowSubscribe,
42
+ allowPublish: a.policy.allowPublish,
43
+ personaPath: a.persona,
44
+ hash: hashAgent(a),
45
+ };
46
+ }
47
+ /** Build the launch spec the manager boots from. */
48
+ export function buildLaunchSpec(prepared, runId) {
49
+ return {
50
+ apiVersion: "cotal-launch/v1",
51
+ space: prepared.manifest.space,
52
+ runId,
53
+ agents: prepared.agents.map(toLaunchAgent),
54
+ };
55
+ }
56
+ /** Write the launch spec to `<root>/.cotal/run/<runId>.json` (0600 — it carries persona text +
57
+ * policy) and return its path. A fresh run is exclusive-create (`wx`); a `spawn -f` re-apply reuses
58
+ * the runId, so `update` rewrites it atomically (temp-then-rename, exclusive temp — never follows a
59
+ * pre-planted symlink). Both refuse a symlinked `.cotal`/`run` parent. */
60
+ export function writeLaunchSpec(root, spec, opts = {}) {
61
+ const dir = ensureDirNoSymlink(root, ".cotal", "run");
62
+ const path = join(dir, `${spec.runId}.json`);
63
+ const body = JSON.stringify(spec, null, 2);
64
+ if (opts.update) {
65
+ const tmp = join(dir, `.${spec.runId}.${randomBytes(4).toString("hex")}.tmp`);
66
+ writeFileSync(tmp, body, { mode: 0o600, flag: "wx" });
67
+ renameSync(tmp, path);
68
+ }
69
+ else {
70
+ writeFileSync(path, body, { mode: 0o600, flag: "wx" });
71
+ }
72
+ return path;
73
+ }
74
+ /** A channel's registry card (description/instructions/replay…) in the shape `seedChannelRegistry`
75
+ * writes. Oversize description/instructions are rejected at the write path. */
76
+ function cardOf(ch) {
77
+ return {
78
+ ...(ch.description !== undefined ? { description: ch.description } : {}),
79
+ ...(ch.instructions !== undefined ? { instructions: ch.instructions } : {}),
80
+ ...(ch.replay !== undefined ? { replay: ch.replay } : {}),
81
+ ...(ch.replayWindow !== undefined ? { replayWindow: ch.replayWindow } : {}),
82
+ ...(ch.deliveryClass !== undefined ? { deliveryClass: ch.deliveryClass } : {}),
83
+ };
84
+ }
85
+ /** The channel-registry seed (defaults + every per-channel card) — used by `up -f`, which owns the
86
+ * whole space. */
87
+ export function manifestToChannels(prepared) {
88
+ const channels = {};
89
+ for (const ch of prepared.manifest.channels)
90
+ channels[ch.name] = cardOf(ch);
91
+ return { ...(prepared.manifest.defaults ? { defaults: prepared.manifest.defaults } : {}), channels };
92
+ }
93
+ /** A seed of ONLY the given channels and NO defaults — for `spawn -f`, which seeds the brand-new
94
+ * keys it creates onto a shared mesh and must never rewrite the mesh-wide defaults or a pre-existing
95
+ * (unmanaged) card. */
96
+ export function channelsSeed(channels) {
97
+ const out = {};
98
+ for (const ch of channels)
99
+ out[ch.name] = cardOf(ch);
100
+ return { channels: out };
101
+ }
102
+ /** Preflight the connectors: every distinct connector type must be registered and have its required
103
+ * binaries on PATH — fail before any mutation (no fallback). Returns an error sentence, or "". */
104
+ export function preflightConnectors(prepared) {
105
+ const types = [...new Set(prepared.agents.map((a) => a.agentType))];
106
+ const problems = [];
107
+ for (const type of types) {
108
+ let connector;
109
+ try {
110
+ connector = registry.resolve("connector", type);
111
+ }
112
+ catch {
113
+ problems.push(`unknown connector "${type}" (no such agent type registered)`);
114
+ continue;
115
+ }
116
+ const missing = (connector.requires ?? []).filter((bin) => !binOnPath(bin));
117
+ if (missing.length)
118
+ problems.push(`${type} needs ${missing.join(", ")} on PATH`);
119
+ }
120
+ return problems.join("; ");
121
+ }
122
+ /** Is `bin` an executable on PATH (or an executable absolute/relative path)? POSIX-only — mirrors
123
+ * the manager's own preflight so `up -f` fails the same way `cotal start` would. */
124
+ function binOnPath(bin) {
125
+ const check = (p) => {
126
+ try {
127
+ accessSync(p, constants.X_OK);
128
+ return true;
129
+ }
130
+ catch {
131
+ return false;
132
+ }
133
+ };
134
+ if (bin.includes("/"))
135
+ return check(bin);
136
+ return (process.env.PATH ?? "").split(delimiter).some((dir) => dir && check(join(dir, bin)));
137
+ }
138
+ //# sourceMappingURL=apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/lib/manifest/apply.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Located manifest errors. Every validation failure carries the offending file, the YAML path,
3
+ * and (where the node is locatable) a line/column — so the CLI prints `cotal.yaml:12:5: …` instead
4
+ * of a stack trace. All problems found in one pass are collected and thrown together.
5
+ */
6
+ export interface ManifestIssue {
7
+ message: string;
8
+ /** YAML path to the offending node, e.g. ["channels", "review", "allowPublish"]. */
9
+ path?: (string | number)[];
10
+ line?: number;
11
+ col?: number;
12
+ }
13
+ /** Render one issue as `file:line:col: message (at a.b.c)`. */
14
+ export declare function formatIssue(file: string, i: ManifestIssue): string;
15
+ /** One or more located problems in a manifest. The message lists each on its own line. */
16
+ export declare class ManifestError extends Error {
17
+ readonly file: string;
18
+ readonly issues: ManifestIssue[];
19
+ constructor(file: string, issues: ManifestIssue[]);
20
+ }
21
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,CAIlE;AAED,0FAA0F;AAC1F,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;gBACrB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE;CAOlD"}
@@ -0,0 +1,19 @@
1
+ /** Render one issue as `file:line:col: message (at a.b.c)`. */
2
+ export function formatIssue(file, i) {
3
+ const loc = i.line ? `${file}:${i.line}${i.col ? `:${i.col}` : ""}` : file;
4
+ const at = i.path?.length ? ` (at ${i.path.join(".")})` : "";
5
+ return `${loc}: ${i.message}${at}`;
6
+ }
7
+ /** One or more located problems in a manifest. The message lists each on its own line. */
8
+ export class ManifestError extends Error {
9
+ file;
10
+ issues;
11
+ constructor(file, issues) {
12
+ const body = issues.map((i) => ` • ${formatIssue(file, i)}`).join("\n");
13
+ super(`${issues.length} problem(s) in ${file}:\n${body}`);
14
+ this.name = "ManifestError";
15
+ this.file = file;
16
+ this.issues = issues;
17
+ }
18
+ }
19
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/manifest/errors.ts"],"names":[],"mappings":"AAaA,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,CAAgB;IACxD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC;AACrC,CAAC;AAED,0FAA0F;AAC1F,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAS;IACb,MAAM,CAAkB;IACjC,YAAY,IAAY,EAAE,MAAuB;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,kBAAkB,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { type PreparedManifest } from "./preflight.js";
2
+ export type { ResolvedManifest, ResolvedAgent, ResolvedChannel, AgentPolicy, PersonaPermissions } from "./model.js";
3
+ export type { PreparedManifest } from "./preflight.js";
4
+ export type { PreparedAgent, AgentWarning, InheritedScopes } from "./prepare.js";
5
+ export { resolveManifest } from "./resolve.js";
6
+ export { preparePersonas } from "./preflight.js";
7
+ export { prepareAgent } from "./prepare.js";
8
+ export { renderTopology, renderWarnings, renderInherited } from "./render.js";
9
+ export { ManifestError, formatIssue, type ManifestIssue } from "./errors.js";
10
+ /** Read + fully resolve a manifest file (absolute path recommended). Throws {@link ManifestError}
11
+ * with located problems, or a filesystem error if the file is missing. */
12
+ export declare function loadManifest(path: string): PreparedManifest;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAExE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpH,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7E;2EAC2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAG3D"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The mesh-manifest library: load a `cotal.yaml` (kind: Mesh) into a launch-ready, validated model.
3
+ * Pipeline: read → {@link resolveManifest} (parse/schema/normalize/invert/semantic) →
4
+ * {@link preparePersonas} (persona reads + merge). Consumed by `topology view`, `up -f`, `spawn -f`.
5
+ */
6
+ import { readFileSync } from "node:fs";
7
+ import { resolve } from "node:path";
8
+ import { resolveManifest } from "./resolve.js";
9
+ import { preparePersonas } from "./preflight.js";
10
+ export { resolveManifest } from "./resolve.js";
11
+ export { preparePersonas } from "./preflight.js";
12
+ export { prepareAgent } from "./prepare.js";
13
+ export { renderTopology, renderWarnings, renderInherited } from "./render.js";
14
+ export { ManifestError, formatIssue } from "./errors.js";
15
+ /** Read + fully resolve a manifest file (absolute path recommended). Throws {@link ManifestError}
16
+ * with located problems, or a filesystem error if the file is missing. */
17
+ export function loadManifest(path) {
18
+ const abs = resolve(path);
19
+ return preparePersonas(resolveManifest(readFileSync(abs, "utf8"), abs));
20
+ }
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAyB,MAAM,gBAAgB,CAAC;AAKxE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAC;AAE7E;2EAC2E;AAC3E,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { z } from "zod";
2
+ export declare const LEDGER_VERSION = "cotal-ledger/v1";
3
+ declare const LedgerAgentSchema: z.ZodObject<{
4
+ requested: z.ZodString;
5
+ name: z.ZodString;
6
+ id: z.ZodString;
7
+ hash: z.ZodString;
8
+ }, z.core.$strict>;
9
+ declare const LedgerSchema: z.ZodObject<{
10
+ apiVersion: z.ZodLiteral<"cotal-ledger/v1">;
11
+ kind: z.ZodLiteral<"MeshLedger">;
12
+ runId: z.ZodString;
13
+ space: z.ZodString;
14
+ server: z.ZodString;
15
+ manifestHash: z.ZodString;
16
+ manifestPath: z.ZodString;
17
+ teardownMode: z.ZodLiteral<"ledger-scoped">;
18
+ created: z.ZodObject<{
19
+ channels: z.ZodArray<z.ZodString>;
20
+ agents: z.ZodArray<z.ZodObject<{
21
+ requested: z.ZodString;
22
+ name: z.ZodString;
23
+ id: z.ZodString;
24
+ hash: z.ZodString;
25
+ }, z.core.$strict>>;
26
+ }, z.core.$strict>;
27
+ }, z.core.$strict>;
28
+ export type MeshLedger = z.infer<typeof LedgerSchema>;
29
+ export type LedgerAgent = z.infer<typeof LedgerAgentSchema>;
30
+ /** Assemble a ledger from a `spawn -f` apply result. `agents` carry the manager-reply SPAWNED name
31
+ * (cred-keying) + manifest `requested` key + nkey id + resolved hash; `channels` are the brand-new
32
+ * registry keys this run created. */
33
+ export declare function buildLedger(opts: {
34
+ runId: string;
35
+ space: string;
36
+ server: string;
37
+ manifestHash: string;
38
+ manifestPath: string;
39
+ channels: string[];
40
+ agents: LedgerAgent[];
41
+ }): MeshLedger;
42
+ /** Stable index hash of the manifest source text — ties a `down -f cotal.yaml` back to its ledger
43
+ * (an edited file no longer matches, so `down -f` fails rather than guessing; `--run` is the
44
+ * escape hatch). NOT an integrity check and NOT ownership authority — only a lookup key. */
45
+ export declare function hashManifestSource(src: string): string;
46
+ /** Write the ledger to `<root>/.cotal/manifests/<runId>.json`, `0600`, atomically and refusing a
47
+ * symlinked parent. A brand-new ledger is `wx` (exclusive create); an additive update (re-apply)
48
+ * goes temp-then-rename so `down -f` never reads a half-written file. */
49
+ export declare function writeLedger(root: string, ledger: MeshLedger, opts?: {
50
+ update?: boolean;
51
+ }): string;
52
+ /** Parse + strictly validate a ledger file as **untrusted input** — schema, unknown-key rejection,
53
+ * token-safe run id / agent names, concrete channel keys, and duplicate detection — so the WHOLE
54
+ * ledger is proven before the caller deletes anything (no partial "validated the class I'm about to
55
+ * delete" flow). Throws on any deviation. */
56
+ export declare function loadLedger(path: string): MeshLedger;
57
+ /** Every valid ledger under `<root>/.cotal/manifests/`. Unparseable/foreign files are skipped (a
58
+ * targeted `down -f --run <id>` names one directly); used to resolve a `down -f cotal.yaml` to its
59
+ * run by `manifestHash`. */
60
+ export declare function listLedgers(root: string): Array<{
61
+ path: string;
62
+ ledger: MeshLedger;
63
+ }>;
64
+ /** Resolve a `down -f cotal.yaml` to its ledger by the manifest's content hash. Fails (never
65
+ * guesses) when nothing matches (edited file) or more than one does — `--run <id>` is the escape. */
66
+ export declare function findLedgerByHash(root: string, manifestHash: string): {
67
+ path: string;
68
+ ledger: MeshLedger;
69
+ };
70
+ /** Resolve a ledger by explicit run id (the `--run <id>` path). Validates the id is a safe token
71
+ * before deriving the path. */
72
+ export declare function findLedgerByRun(root: string, runId: string): {
73
+ path: string;
74
+ ledger: MeshLedger;
75
+ };
76
+ /** Derive an owned agent's cred path under the known auth root — `<root>/.cotal/auth/creds/<name>.creds`
77
+ * — from the SPAWNED name, rejecting any name that escapes the creds dir. The ledger never stores a
78
+ * cred path; teardown derives it here and the caller deletes it no-follow ({@link unlinkFileNoFollow}). */
79
+ export declare function ownedCredPath(root: string, spawnedName: string): string;
80
+ export {};
81
+ //# sourceMappingURL=ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/ledger.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAOhD,QAAA,MAAM,iBAAiB;;;;;kBAWrB,CAAC;AAEH,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;kBAgBhB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;sCAEsC;AACtC,wBAAgB,WAAW,CAAC,IAAI,EAAE;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB,GAAG,UAAU,CAYb;AAED;;6FAE6F;AAC7F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;0EAE0E;AAC1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAcrG;AAED;;;8CAG8C;AAC9C,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAmCnD;AAED;;6BAE6B;AAC7B,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC,CAwBrF;AAED;sGACsG;AACtG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAOzG;AAED;gCACgC;AAChC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAUjG;AAED;;4GAE4G;AAC5G,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMvE"}