@moxt-ai/mobius 0.0.10 → 0.0.11

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 (112) hide show
  1. package/dist/acp/session-history.d.ts.map +1 -1
  2. package/dist/acp/session-history.js +1 -0
  3. package/dist/acp/session-history.js.map +1 -1
  4. package/dist/acp/session-manager.d.ts +4 -1
  5. package/dist/acp/session-manager.d.ts.map +1 -1
  6. package/dist/acp/session-manager.js +99 -24
  7. package/dist/acp/session-manager.js.map +1 -1
  8. package/dist/agent-catalog/acp-readiness-probe.d.ts +4 -0
  9. package/dist/agent-catalog/acp-readiness-probe.d.ts.map +1 -0
  10. package/dist/agent-catalog/acp-readiness-probe.js +153 -0
  11. package/dist/agent-catalog/acp-readiness-probe.js.map +1 -0
  12. package/dist/agent-catalog/agent-diagnostics.d.ts +1 -1
  13. package/dist/agent-catalog/agent-diagnostics.d.ts.map +1 -1
  14. package/dist/agent-catalog/agent-diagnostics.js +1 -1
  15. package/dist/agent-catalog/agent-diagnostics.js.map +1 -1
  16. package/dist/agent-catalog/agent-discovery-context.d.ts +8 -0
  17. package/dist/agent-catalog/agent-discovery-context.d.ts.map +1 -0
  18. package/dist/agent-catalog/agent-discovery-context.js +2 -0
  19. package/dist/agent-catalog/agent-discovery-context.js.map +1 -0
  20. package/dist/agent-catalog/agent-discovery.d.ts +55 -0
  21. package/dist/agent-catalog/agent-discovery.d.ts.map +1 -0
  22. package/dist/agent-catalog/agent-discovery.js +89 -0
  23. package/dist/agent-catalog/agent-discovery.js.map +1 -0
  24. package/dist/agent-catalog/agent-probe-error.d.ts +5 -0
  25. package/dist/agent-catalog/agent-probe-error.d.ts.map +1 -0
  26. package/dist/agent-catalog/agent-probe-error.js +9 -0
  27. package/dist/agent-catalog/agent-probe-error.js.map +1 -0
  28. package/dist/agent-catalog/agent-specification.d.ts +45 -0
  29. package/dist/agent-catalog/agent-specification.d.ts.map +1 -0
  30. package/dist/agent-catalog/agent-specification.js +59 -0
  31. package/dist/agent-catalog/agent-specification.js.map +1 -0
  32. package/dist/agent-catalog/agents/claude-code-agent.d.ts +14 -0
  33. package/dist/agent-catalog/agents/claude-code-agent.d.ts.map +1 -0
  34. package/dist/agent-catalog/agents/claude-code-agent.js +30 -0
  35. package/dist/agent-catalog/agents/claude-code-agent.js.map +1 -0
  36. package/dist/agent-catalog/agents/codex-agent.d.ts +14 -0
  37. package/dist/agent-catalog/agents/codex-agent.d.ts.map +1 -0
  38. package/dist/agent-catalog/agents/codex-agent.js +23 -0
  39. package/dist/agent-catalog/agents/codex-agent.js.map +1 -0
  40. package/dist/agent-catalog/agents/deepseek-harness-agent.d.ts +16 -0
  41. package/dist/agent-catalog/agents/deepseek-harness-agent.d.ts.map +1 -0
  42. package/dist/agent-catalog/agents/deepseek-harness-agent.js +94 -0
  43. package/dist/agent-catalog/agents/deepseek-harness-agent.js.map +1 -0
  44. package/dist/agent-catalog/agents/opencode-agent.d.ts +17 -0
  45. package/dist/agent-catalog/agents/opencode-agent.d.ts.map +1 -0
  46. package/dist/agent-catalog/agents/opencode-agent.js +36 -0
  47. package/dist/agent-catalog/agents/opencode-agent.js.map +1 -0
  48. package/dist/agent-catalog/agents/pi-agent.d.ts +21 -0
  49. package/dist/agent-catalog/agents/pi-agent.d.ts.map +1 -0
  50. package/dist/agent-catalog/agents/pi-agent.js +69 -0
  51. package/dist/agent-catalog/agents/pi-agent.js.map +1 -0
  52. package/dist/agent-catalog/agents/supported-agent-specifications.d.ts +3 -0
  53. package/dist/agent-catalog/agents/supported-agent-specifications.d.ts.map +1 -0
  54. package/dist/agent-catalog/agents/supported-agent-specifications.js +15 -0
  55. package/dist/agent-catalog/agents/supported-agent-specifications.js.map +1 -0
  56. package/dist/agent-catalog/discover-agent.d.ts +5 -0
  57. package/dist/agent-catalog/discover-agent.d.ts.map +1 -0
  58. package/dist/agent-catalog/discover-agent.js +100 -0
  59. package/dist/agent-catalog/discover-agent.js.map +1 -0
  60. package/dist/agent-catalog/discover-local-agents.d.ts +12 -101
  61. package/dist/agent-catalog/discover-local-agents.d.ts.map +1 -1
  62. package/dist/agent-catalog/discover-local-agents.js +11 -564
  63. package/dist/agent-catalog/discover-local-agents.js.map +1 -1
  64. package/dist/agent-catalog/executable-discovery.d.ts +16 -0
  65. package/dist/agent-catalog/executable-discovery.d.ts.map +1 -0
  66. package/dist/agent-catalog/executable-discovery.js +105 -0
  67. package/dist/agent-catalog/executable-discovery.js.map +1 -0
  68. package/dist/agent-installation/agent-installation-manager.d.ts +1 -1
  69. package/dist/agent-installation/agent-installation-manager.d.ts.map +1 -1
  70. package/dist/agent-installation/automatic-adapter-provisioner.d.ts +2 -1
  71. package/dist/agent-installation/automatic-adapter-provisioner.d.ts.map +1 -1
  72. package/dist/agent-installation/automatic-adapter-provisioner.js +11 -2
  73. package/dist/agent-installation/automatic-adapter-provisioner.js.map +1 -1
  74. package/dist/agent-installation/deepseek-managed-package.d.ts +9 -0
  75. package/dist/agent-installation/deepseek-managed-package.d.ts.map +1 -0
  76. package/dist/agent-installation/deepseek-managed-package.js +10 -0
  77. package/dist/agent-installation/deepseek-managed-package.js.map +1 -0
  78. package/dist/agent-installation/fixed-agent-install-recipes.d.ts +18 -0
  79. package/dist/agent-installation/fixed-agent-install-recipes.d.ts.map +1 -1
  80. package/dist/agent-installation/fixed-agent-install-recipes.js +97 -0
  81. package/dist/agent-installation/fixed-agent-install-recipes.js.map +1 -1
  82. package/dist/agent-installation/fixed-installation-executor.d.ts +1 -1
  83. package/dist/agent-installation/fixed-installation-executor.d.ts.map +1 -1
  84. package/dist/agent-installation/fixed-installation-executor.js +17 -3
  85. package/dist/agent-installation/fixed-installation-executor.js.map +1 -1
  86. package/dist/agent-installation/managed-adapter-installer.d.ts +4 -4
  87. package/dist/agent-installation/managed-adapter-installer.d.ts.map +1 -1
  88. package/dist/agent-installation/managed-adapter-installer.js.map +1 -1
  89. package/dist/agent-installation/managed-agent-archive.d.ts +40 -0
  90. package/dist/agent-installation/managed-agent-archive.d.ts.map +1 -0
  91. package/dist/agent-installation/managed-agent-archive.js +274 -0
  92. package/dist/agent-installation/managed-agent-archive.js.map +1 -0
  93. package/dist/agent-installation/managed-npm-package.d.ts +3 -0
  94. package/dist/agent-installation/managed-npm-package.d.ts.map +1 -1
  95. package/dist/agent-installation/managed-npm-package.js +55 -24
  96. package/dist/agent-installation/managed-npm-package.js.map +1 -1
  97. package/dist/agent-installation/opencode-managed-release.d.ts +4 -0
  98. package/dist/agent-installation/opencode-managed-release.d.ts.map +1 -0
  99. package/dist/agent-installation/opencode-managed-release.js +25 -0
  100. package/dist/agent-installation/opencode-managed-release.js.map +1 -0
  101. package/dist/cli.js +2316 -1298
  102. package/dist/cli.js.map +4 -4
  103. package/dist/index.js +1763 -743
  104. package/dist/index.js.map +4 -4
  105. package/dist/native-sessions/codex-history.d.ts.map +1 -1
  106. package/dist/native-sessions/codex-history.js +1 -0
  107. package/dist/native-sessions/codex-history.js.map +1 -1
  108. package/dist/process/executable.d.ts +6 -1
  109. package/dist/process/executable.d.ts.map +1 -1
  110. package/dist/process/executable.js +150 -7
  111. package/dist/process/executable.js.map +1 -1
  112. package/package.json +1 -1
@@ -0,0 +1,40 @@
1
+ import { type ResolvedExecutable } from "../process/executable.ts";
2
+ import { type VerifiedDownload, type VerifiedDownloadOptions } from "./verified-download.ts";
3
+ export declare abstract class ManagedAgentArchiveDefinition {
4
+ readonly archiveName: string;
5
+ readonly archiveSha256: string;
6
+ readonly archiveUrl: URL;
7
+ readonly executableName: string;
8
+ readonly version: string;
9
+ abstract readonly extractArguments: (archivePath: string, destination: string) => readonly string[];
10
+ abstract readonly extractor: string;
11
+ abstract readonly listArguments: (archivePath: string) => readonly string[];
12
+ constructor(version: string, archiveName: string, archiveUrl: URL, archiveSha256: string, executableName: string);
13
+ }
14
+ export declare class ZipManagedAgentArchiveDefinition extends ManagedAgentArchiveDefinition {
15
+ readonly extractor = "/usr/bin/unzip";
16
+ readonly extractArguments: (archivePath: string, destination: string) => readonly string[];
17
+ readonly listArguments: (archivePath: string) => readonly string[];
18
+ }
19
+ export declare class TarGzipManagedAgentArchiveDefinition extends ManagedAgentArchiveDefinition {
20
+ readonly extractor = "/usr/bin/tar";
21
+ readonly extractArguments: (archivePath: string, destination: string) => readonly string[];
22
+ readonly listArguments: (archivePath: string) => readonly string[];
23
+ }
24
+ export declare class ManagedAgentArchiveError extends Error {
25
+ readonly code: string;
26
+ constructor(code: string, message: string, options?: ErrorOptions);
27
+ }
28
+ export interface ManagedAgentArchiveDownloadPort {
29
+ readonly download: (options: VerifiedDownloadOptions) => Promise<VerifiedDownload>;
30
+ }
31
+ export interface ManagedAgentArchiveInstallationPort {
32
+ readonly install: (root: string, definition: ManagedAgentArchiveDefinition, signal: AbortSignal) => Promise<ResolvedExecutable>;
33
+ }
34
+ export declare function validateManagedAgentArchive(root: string, definition: ManagedAgentArchiveDefinition, signal: AbortSignal): Promise<ResolvedExecutable>;
35
+ export declare class ManagedAgentArchiveInstaller implements ManagedAgentArchiveInstallationPort {
36
+ #private;
37
+ constructor(downloader?: ManagedAgentArchiveDownloadPort);
38
+ readonly install: (root: string, definition: ManagedAgentArchiveDefinition, signal: AbortSignal) => Promise<ResolvedExecutable>;
39
+ }
40
+ //# sourceMappingURL=managed-agent-archive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-agent-archive.d.ts","sourceRoot":"","sources":["../../src/agent-installation/managed-agent-archive.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC7B,MAAM,wBAAwB,CAAC;AAQhC,8BAAsB,6BAA6B;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAClC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,KAChB,SAAS,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;IAE5E,YACE,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,GAAG,EACf,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EAOvB;CACF;AAED,qBAAa,gCAAiC,SAAQ,6BAA6B;IACjF,QAAQ,CAAC,SAAS,oBAAoB;IACtC,QAAQ,CAAC,gBAAgB,gBACV,MAAM,eACN,MAAM,KAClB,SAAS,MAAM,EAAE,CAA2C;IAC/D,QAAQ,CAAC,aAAa,gBAAiB,MAAM,KAAG,SAAS,MAAM,EAAE,CAG/D;CACH;AAED,qBAAa,oCAAqC,SAAQ,6BAA6B;IACrF,QAAQ,CAAC,SAAS,kBAAkB;IACpC,QAAQ,CAAC,gBAAgB,gBACV,MAAM,eACN,MAAM,KAClB,SAAS,MAAM,EAAE,CAA6C;IACjE,QAAQ,CAAC,aAAa,gBAAiB,MAAM,KAAG,SAAS,MAAM,EAAE,CAG/D;CACH;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,EAIpE;CACF;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,CACjB,OAAO,EAAE,uBAAuB,KAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC;AAQD,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,6BAA6B,EACzC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClC;AA4FD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,6BAA6B,EACzC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,kBAAkB,CAAC,CA4C7B;AAsBD,qBAAa,4BACX,YAAW,mCAAmC;;IAI9C,YACE,UAAU,GAAE,+BAAqE,EAGlF;IAED,QAAQ,CAAC,OAAO,SACR,MAAM,cACA,6BAA6B,UACjC,WAAW,KAClB,OAAO,CAAC,kBAAkB,CAAC,CAkI5B;CACH"}
@@ -0,0 +1,274 @@
1
+ import { createHash } from "node:crypto";
2
+ import { createReadStream } from "node:fs";
3
+ import { chmod, copyFile, mkdir, mkdtemp, open, realpath, rename, rm, stat, writeFile, } from "node:fs/promises";
4
+ import { dirname, isAbsolute, join, relative, sep } from "node:path";
5
+ import { resolveExecutablePath, runBoundedProcess, } from "../process/executable.js";
6
+ import { downloadVerifiedFile, } from "./verified-download.js";
7
+ const ARCHIVE_DOWNLOAD_LIMIT_BYTES = 128 * 1024 * 1024;
8
+ const ARCHIVE_DOWNLOAD_TIMEOUT_MILLISECONDS = 2 * 60 * 1_000;
9
+ const ARCHIVE_EXTRACTION_TIMEOUT_MILLISECONDS = 60_000;
10
+ const MANIFEST_LIMIT_BYTES = 16 * 1024;
11
+ const MINIMAL_PATH = "/usr/bin:/bin";
12
+ export class ManagedAgentArchiveDefinition {
13
+ archiveName;
14
+ archiveSha256;
15
+ archiveUrl;
16
+ executableName;
17
+ version;
18
+ constructor(version, archiveName, archiveUrl, archiveSha256, executableName) {
19
+ this.archiveName = archiveName;
20
+ this.archiveSha256 = archiveSha256;
21
+ this.archiveUrl = new URL(archiveUrl);
22
+ this.executableName = executableName;
23
+ this.version = version;
24
+ }
25
+ }
26
+ export class ZipManagedAgentArchiveDefinition extends ManagedAgentArchiveDefinition {
27
+ extractor = "/usr/bin/unzip";
28
+ extractArguments = (archivePath, destination) => ["-q", archivePath, "-d", destination];
29
+ listArguments = (archivePath) => [
30
+ "-Z1",
31
+ archivePath,
32
+ ];
33
+ }
34
+ export class TarGzipManagedAgentArchiveDefinition extends ManagedAgentArchiveDefinition {
35
+ extractor = "/usr/bin/tar";
36
+ extractArguments = (archivePath, destination) => ["-xzf", archivePath, "-C", destination];
37
+ listArguments = (archivePath) => [
38
+ "-tzf",
39
+ archivePath,
40
+ ];
41
+ }
42
+ export class ManagedAgentArchiveError extends Error {
43
+ code;
44
+ constructor(code, message, options = {}) {
45
+ super(message, options);
46
+ this.code = code;
47
+ this.name = "ManagedAgentArchiveError";
48
+ }
49
+ }
50
+ class ManagedAgentArchiveDownloader {
51
+ download = async (options) => await downloadVerifiedFile(options);
52
+ }
53
+ function isRecord(value) {
54
+ return typeof value === "object" && value !== null && !Array.isArray(value);
55
+ }
56
+ function isContainedPath(root, candidate) {
57
+ const difference = relative(root, candidate);
58
+ return (difference.length > 0 &&
59
+ difference !== ".." &&
60
+ !difference.startsWith(`..${sep}`) &&
61
+ !isAbsolute(difference));
62
+ }
63
+ async function hashFile(path, signal) {
64
+ signal.throwIfAborted();
65
+ const digest = createHash("sha256");
66
+ const stream = createReadStream(path, { signal });
67
+ try {
68
+ for await (const chunk of stream) {
69
+ signal.throwIfAborted();
70
+ if (!(chunk instanceof Uint8Array)) {
71
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive produced invalid bytes");
72
+ }
73
+ digest.update(chunk);
74
+ }
75
+ return digest.digest("hex");
76
+ }
77
+ catch (error) {
78
+ if (signal.aborted) {
79
+ signal.throwIfAborted();
80
+ }
81
+ if (error instanceof ManagedAgentArchiveError) {
82
+ throw error;
83
+ }
84
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent artifact could not be verified", { cause: error });
85
+ }
86
+ }
87
+ async function readManifest(path) {
88
+ let handle;
89
+ try {
90
+ handle = await open(path, "r");
91
+ }
92
+ catch (error) {
93
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive manifest is invalid", { cause: error });
94
+ }
95
+ try {
96
+ const metadata = await handle.stat();
97
+ if (!metadata.isFile() || metadata.size > MANIFEST_LIMIT_BYTES) {
98
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive manifest is invalid");
99
+ }
100
+ const parsed = JSON.parse(await handle.readFile({ encoding: "utf8" }));
101
+ if (!isRecord(parsed)) {
102
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive manifest is invalid");
103
+ }
104
+ return parsed;
105
+ }
106
+ catch (error) {
107
+ if (error instanceof ManagedAgentArchiveError) {
108
+ throw error;
109
+ }
110
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive manifest is invalid", { cause: error });
111
+ }
112
+ finally {
113
+ await handle.close();
114
+ }
115
+ }
116
+ export async function validateManagedAgentArchive(root, definition, signal) {
117
+ try {
118
+ const rootPath = await realpath(root);
119
+ const rootMetadata = await stat(rootPath);
120
+ if (!rootMetadata.isDirectory() ||
121
+ (typeof process.getuid === "function" &&
122
+ rootMetadata.uid !== process.getuid())) {
123
+ throw new Error("Managed Agent root is not user-owned");
124
+ }
125
+ const manifest = await readManifest(join(rootPath, "archive.json"));
126
+ if (manifest["archiveSha256"] !== definition.archiveSha256 ||
127
+ manifest["archiveUrl"] !== definition.archiveUrl.toString() ||
128
+ manifest["version"] !== definition.version ||
129
+ typeof manifest["executableSha256"] !== "string") {
130
+ throw new Error("Managed Agent archive identity is invalid");
131
+ }
132
+ const executable = await resolveExecutablePath(join(rootPath, "bin", definition.executableName));
133
+ if (executable === null ||
134
+ !isContainedPath(rootPath, executable.path) ||
135
+ (await hashFile(executable.path, signal)) !== manifest["executableSha256"]) {
136
+ throw new Error("Managed Agent executable is invalid");
137
+ }
138
+ return executable;
139
+ }
140
+ catch (error) {
141
+ if (signal.aborted) {
142
+ signal.throwIfAborted();
143
+ }
144
+ if (error instanceof ManagedAgentArchiveError) {
145
+ throw error;
146
+ }
147
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive did not match its pinned artifact", { cause: error });
148
+ }
149
+ }
150
+ function validateArchiveEntries(output, definition) {
151
+ const entries = output
152
+ .split(/\r?\n/)
153
+ .map((entry) => entry.trim())
154
+ .filter((entry) => entry.length > 0);
155
+ if (entries.length !== 1 ||
156
+ (entries[0] !== definition.executableName &&
157
+ entries[0] !== `./${definition.executableName}`)) {
158
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive contains unexpected entries");
159
+ }
160
+ }
161
+ export class ManagedAgentArchiveInstaller {
162
+ #downloader;
163
+ constructor(downloader = new ManagedAgentArchiveDownloader()) {
164
+ this.#downloader = downloader;
165
+ }
166
+ install = async (root, definition, signal) => {
167
+ signal.throwIfAborted();
168
+ try {
169
+ const metadata = await stat(root);
170
+ if (metadata.isDirectory()) {
171
+ return await validateManagedAgentArchive(root, definition, signal);
172
+ }
173
+ }
174
+ catch (error) {
175
+ if (error instanceof ManagedAgentArchiveError ||
176
+ !(error instanceof Error) ||
177
+ !("code" in error) ||
178
+ error.code !== "ENOENT") {
179
+ throw error;
180
+ }
181
+ }
182
+ const parent = dirname(root);
183
+ await mkdir(parent, { mode: 0o700, recursive: true });
184
+ const working = await mkdtemp(join(parent, `.${definition.version}.archive-`));
185
+ const staging = await mkdtemp(join(parent, `.${definition.version}.staging-`));
186
+ try {
187
+ const archivePath = join(working, definition.archiveName);
188
+ const extractionRoot = join(working, "extracted");
189
+ await mkdir(extractionRoot, { mode: 0o700 });
190
+ const canonicalExtractionRoot = await realpath(extractionRoot);
191
+ const download = await this.#downloader.download({
192
+ allowedHosts: new Set([
193
+ "github.com",
194
+ "objects.githubusercontent.com",
195
+ "release-assets.githubusercontent.com",
196
+ ]),
197
+ destination: archivePath,
198
+ maximumBytes: ARCHIVE_DOWNLOAD_LIMIT_BYTES,
199
+ signal,
200
+ timeoutMilliseconds: ARCHIVE_DOWNLOAD_TIMEOUT_MILLISECONDS,
201
+ url: definition.archiveUrl,
202
+ });
203
+ if (download.sha256 !== definition.archiveSha256) {
204
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive checksum is invalid");
205
+ }
206
+ const list = await runBoundedProcess({
207
+ arguments: definition.listArguments(archivePath),
208
+ command: definition.extractor,
209
+ cwd: working,
210
+ environment: { PATH: MINIMAL_PATH },
211
+ outputLimitBytes: 64 * 1024,
212
+ signal,
213
+ timeoutMilliseconds: ARCHIVE_EXTRACTION_TIMEOUT_MILLISECONDS,
214
+ });
215
+ validateArchiveEntries(list.stdout, definition);
216
+ await runBoundedProcess({
217
+ arguments: definition.extractArguments(archivePath, extractionRoot),
218
+ command: definition.extractor,
219
+ cwd: working,
220
+ environment: { PATH: MINIMAL_PATH },
221
+ outputLimitBytes: 64 * 1024,
222
+ signal,
223
+ timeoutMilliseconds: ARCHIVE_EXTRACTION_TIMEOUT_MILLISECONDS,
224
+ });
225
+ const extracted = await realpath(join(canonicalExtractionRoot, definition.executableName));
226
+ const extractedMetadata = await stat(extracted);
227
+ if (!isContainedPath(canonicalExtractionRoot, extracted) ||
228
+ !extractedMetadata.isFile()) {
229
+ throw new ManagedAgentArchiveError("managed_archive_verification_failed", "The managed Agent archive executable is invalid");
230
+ }
231
+ const binDirectory = join(staging, "bin");
232
+ const executablePath = join(binDirectory, definition.executableName);
233
+ await mkdir(binDirectory, { mode: 0o700 });
234
+ await copyFile(extracted, executablePath);
235
+ await chmod(executablePath, 0o700);
236
+ const executableSha256 = await hashFile(executablePath, signal);
237
+ await writeFile(join(staging, "archive.json"), `${JSON.stringify({
238
+ archiveSha256: definition.archiveSha256,
239
+ archiveUrl: definition.archiveUrl.toString(),
240
+ executableSha256,
241
+ version: definition.version,
242
+ })}\n`, { mode: 0o600 });
243
+ await validateManagedAgentArchive(staging, definition, signal);
244
+ try {
245
+ await rename(staging, root);
246
+ }
247
+ catch (error) {
248
+ try {
249
+ return await validateManagedAgentArchive(root, definition, signal);
250
+ }
251
+ catch {
252
+ throw new ManagedAgentArchiveError("managed_archive_publish_failed", "The managed Agent archive could not be published", { cause: error });
253
+ }
254
+ }
255
+ return await validateManagedAgentArchive(root, definition, signal);
256
+ }
257
+ catch (error) {
258
+ if (signal.aborted) {
259
+ signal.throwIfAborted();
260
+ }
261
+ if (error instanceof ManagedAgentArchiveError) {
262
+ throw error;
263
+ }
264
+ throw new ManagedAgentArchiveError("managed_archive_install_failed", "The pinned Agent archive could not be installed", { cause: error });
265
+ }
266
+ finally {
267
+ await Promise.all([
268
+ rm(working, { force: true, recursive: true }),
269
+ rm(staging, { force: true, recursive: true }),
270
+ ]);
271
+ }
272
+ };
273
+ }
274
+ //# sourceMappingURL=managed-agent-archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-agent-archive.js","sourceRoot":"","sources":["../../src/agent-installation/managed-agent-archive.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { type ResolvedExecutable } from "../process/executable.ts";
2
2
  export declare class ManagedNpmPackageDefinition {
3
+ readonly dependencyResolutionArguments: readonly string[];
3
4
  readonly executableName: string;
5
+ readonly includeOptionalDependencies: boolean;
4
6
  readonly packageName: string;
5
7
  readonly version: string;
8
+ readonly verifyDependencyClosure: boolean;
6
9
  constructor(packageName: string, version: string, executableName: string);
7
10
  }
8
11
  export declare class SriManagedNpmPackageDefinition extends ManagedNpmPackageDefinition {
@@ -1 +1 @@
1
- {"version":3,"file":"managed-npm-package.d.ts","sourceRoot":"","sources":["../../src/agent-installation/managed-npm-package.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAMlC,qBAAa,2BAA2B;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAIvE;CACF;AAED,qBAAa,8BAA+B,SAAQ,2BAA2B;IAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YACE,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAKnB;CACF;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,EAIpE;CACF;AAqHD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,2BAA2B,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAa7B;AAmDD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,2BAA2B,EACvC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACxC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClC;AAED,qBAAa,0BACX,YAAW,iCAAiC;IAE5C,QAAQ,CAAC,OAAO,SACR,MAAM,cACA,2BAA2B,eAC1B,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,UAChC,WAAW,KAClB,OAAO,CAAC,kBAAkB,CAAC,CAkG5B;CACH"}
1
+ {"version":3,"file":"managed-npm-package.d.ts","sourceRoot":"","sources":["../../src/agent-installation/managed-npm-package.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,0BAA0B,CAAC;AAMlC,qBAAa,2BAA2B;IACtC,QAAQ,CAAC,6BAA6B,EAAE,SAAS,MAAM,EAAE,CAAqB;IAC9E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAS;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAS;IAElD,YAAY,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAIvE;CACF;AAED,qBAAa,8BAA+B,SAAQ,2BAA2B;IAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YACE,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAKnB;CACF;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,EAIpE;CACF;AAwJD,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,2BAA2B,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAa7B;AAmDD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,2BAA2B,EACvC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACxC,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClC;AAED,qBAAa,0BACX,YAAW,iCAAiC;IAE5C,QAAQ,CAAC,OAAO,SACR,MAAM,cACA,2BAA2B,eAC1B,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,UAChC,WAAW,KAClB,OAAO,CAAC,kBAAkB,CAAC,CA2G5B;CACH"}
@@ -5,9 +5,12 @@ const INSTALL_TIMEOUT_MILLISECONDS = 5 * 60 * 1_000;
5
5
  const PACKAGE_METADATA_LIMIT_BYTES = 64 * 1024;
6
6
  const PACKAGE_LOCK_LIMIT_BYTES = 8 * 1024 * 1024;
7
7
  export class ManagedNpmPackageDefinition {
8
+ dependencyResolutionArguments = Object.freeze([]);
8
9
  executableName;
10
+ includeOptionalDependencies = false;
9
11
  packageName;
10
12
  version;
13
+ verifyDependencyClosure = false;
11
14
  constructor(packageName, version, executableName) {
12
15
  this.executableName = executableName;
13
16
  this.packageName = packageName;
@@ -92,6 +95,31 @@ function verifyPackageLock(lock, definition) {
92
95
  let matches = 0;
93
96
  for (const [key, candidate] of Object.entries(packages)) {
94
97
  const normalizedKey = key.replaceAll("\\", "/");
98
+ if (definition.verifyDependencyClosure && normalizedKey.length > 0) {
99
+ let resolved;
100
+ try {
101
+ if (!normalizedKey.split("/").includes("node_modules") ||
102
+ !isRecord(candidate) ||
103
+ typeof candidate["version"] !== "string" ||
104
+ candidate["version"].length === 0 ||
105
+ typeof candidate["integrity"] !== "string" ||
106
+ !/^sha512-[A-Za-z0-9+/]{86}==$/.test(candidate["integrity"]) ||
107
+ typeof candidate["resolved"] !== "string") {
108
+ throw new Error("Invalid locked dependency");
109
+ }
110
+ resolved = new URL(candidate["resolved"]);
111
+ }
112
+ catch (error) {
113
+ throw new ManagedNpmPackageError("managed_package_verification_failed", "The managed npm dependency closure is invalid", { cause: error });
114
+ }
115
+ if (resolved.protocol !== "https:" ||
116
+ resolved.hostname !== "registry.npmjs.org" ||
117
+ resolved.port.length > 0 ||
118
+ resolved.username.length > 0 ||
119
+ resolved.password.length > 0) {
120
+ throw new ManagedNpmPackageError("managed_package_verification_failed", "The managed npm dependency closure is invalid");
121
+ }
122
+ }
95
123
  if (normalizedKey === suffix || normalizedKey.endsWith(`/${suffix}`)) {
96
124
  entry = candidate;
97
125
  matches += 1;
@@ -161,33 +189,36 @@ export class ManagedNpmPackageInstaller {
161
189
  if (npm === null) {
162
190
  throw new ManagedNpmPackageError("package_manager_not_found", "A supported npm executable is required to install the managed package");
163
191
  }
192
+ const installArguments = ["install", "--prefix", staging];
193
+ installArguments.push(...definition.dependencyResolutionArguments);
194
+ if (definition.includeOptionalDependencies) {
195
+ installArguments.push("--include=optional");
196
+ }
197
+ else {
198
+ installArguments.push("--omit=optional");
199
+ }
200
+ installArguments.push("--ignore-scripts", "--no-audit", "--no-fund", "--package-lock=true", "--save-exact", "--registry=https://registry.npmjs.org/", `${definition.packageName}@${definition.version}`);
201
+ const installEnvironment = {
202
+ HOME: join(staging, "home"),
203
+ NPM_CONFIG_AUDIT: "false",
204
+ NPM_CONFIG_CACHE: join(staging, ".npm-cache"),
205
+ NPM_CONFIG_FUND: "false",
206
+ NPM_CONFIG_IGNORE_SCRIPTS: "true",
207
+ NPM_CONFIG_PACKAGE_LOCK: "true",
208
+ NPM_CONFIG_REGISTRY: "https://registry.npmjs.org/",
209
+ PATH: `${dirname(process.execPath)}${delimiter}/usr/bin${delimiter}/bin`,
210
+ };
211
+ if (definition.includeOptionalDependencies) {
212
+ installEnvironment["NPM_CONFIG_INCLUDE"] = "optional";
213
+ }
214
+ else {
215
+ installEnvironment["NPM_CONFIG_OMIT"] = "optional";
216
+ }
164
217
  await runBoundedProcess({
165
- arguments: [
166
- "install",
167
- "--prefix",
168
- staging,
169
- "--omit=optional",
170
- "--ignore-scripts",
171
- "--no-audit",
172
- "--no-fund",
173
- "--package-lock=true",
174
- "--save-exact",
175
- "--registry=https://registry.npmjs.org/",
176
- `${definition.packageName}@${definition.version}`,
177
- ],
218
+ arguments: installArguments,
178
219
  command: npm.path,
179
220
  cwd: staging,
180
- environment: {
181
- HOME: join(staging, "home"),
182
- NPM_CONFIG_AUDIT: "false",
183
- NPM_CONFIG_CACHE: join(staging, ".npm-cache"),
184
- NPM_CONFIG_FUND: "false",
185
- NPM_CONFIG_IGNORE_SCRIPTS: "true",
186
- NPM_CONFIG_OMIT: "optional",
187
- NPM_CONFIG_PACKAGE_LOCK: "true",
188
- NPM_CONFIG_REGISTRY: "https://registry.npmjs.org/",
189
- PATH: `${dirname(process.execPath)}${delimiter}/usr/bin${delimiter}/bin`,
190
- },
221
+ environment: installEnvironment,
191
222
  outputLimitBytes: 64 * 1024,
192
223
  signal,
193
224
  timeoutMilliseconds: INSTALL_TIMEOUT_MILLISECONDS,
@@ -1 +1 @@
1
- {"version":3,"file":"managed-npm-package.js","sourceRoot":"","sources":["../../src/agent-installation/managed-npm-package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed-npm-package.js","sourceRoot":"","sources":["../../src/agent-installation/managed-npm-package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type ManagedAgentArchiveDefinition } from "./managed-agent-archive.ts";
2
+ export declare const OPENCODE_MANAGED_VERSION = "1.18.29";
3
+ export declare function openCodeManagedArchive(platform: NodeJS.Platform, architecture: NodeJS.Architecture): ManagedAgentArchiveDefinition;
4
+ //# sourceMappingURL=opencode-managed-release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-managed-release.d.ts","sourceRoot":"","sources":["../../src/agent-installation/opencode-managed-release.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAGnC,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAQlD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,YAAY,EAAE,MAAM,CAAC,YAAY,GAChC,6BAA6B,CA4C/B"}
@@ -0,0 +1,25 @@
1
+ import { TarGzipManagedAgentArchiveDefinition, ZipManagedAgentArchiveDefinition, } from "./managed-agent-archive.js";
2
+ export const OPENCODE_MANAGED_VERSION = "1.18.29";
3
+ function releaseUrl(asset) {
4
+ return new URL(`https://github.com/anomalyco/opencode/releases/download/v${OPENCODE_MANAGED_VERSION}/${asset}`);
5
+ }
6
+ export function openCodeManagedArchive(platform, architecture) {
7
+ if (platform === "darwin" && architecture === "arm64") {
8
+ const asset = "opencode-darwin-arm64.zip";
9
+ return new ZipManagedAgentArchiveDefinition(OPENCODE_MANAGED_VERSION, asset, releaseUrl(asset), "fe764f7f360c584a83e18dd5f23fb1a6b2725f5ee8854b0252fe558f7798e946", "opencode");
10
+ }
11
+ if (platform === "darwin" && architecture === "x64") {
12
+ const asset = "opencode-darwin-x64.zip";
13
+ return new ZipManagedAgentArchiveDefinition(OPENCODE_MANAGED_VERSION, asset, releaseUrl(asset), "9858853e7bacdbbd22c2d70c377e009dc4b354dd04f5588705411e7afb89fd2d", "opencode");
14
+ }
15
+ if (platform === "linux" && architecture === "arm64") {
16
+ const asset = "opencode-linux-arm64.tar.gz";
17
+ return new TarGzipManagedAgentArchiveDefinition(OPENCODE_MANAGED_VERSION, asset, releaseUrl(asset), "70baf769395ca4e7a68924026530c390eace194f3b7e4919d4efcb2aa2eed3c0", "opencode");
18
+ }
19
+ if (platform === "linux" && architecture === "x64") {
20
+ const asset = "opencode-linux-x64.tar.gz";
21
+ return new TarGzipManagedAgentArchiveDefinition(OPENCODE_MANAGED_VERSION, asset, releaseUrl(asset), "ea800b7ff56226b70952126c9fc1e2517ca4c4b5682fd9d3f9e87449697a1194", "opencode");
22
+ }
23
+ throw new Error("OpenCode does not publish an approved archive for this platform");
24
+ }
25
+ //# sourceMappingURL=opencode-managed-release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-managed-release.js","sourceRoot":"","sources":["../../src/agent-installation/opencode-managed-release.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oCAAoC,EACpC,gCAAgC,GACjC,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,GAAG,CACZ,4DAA4D,wBAAwB,IAAI,KAAK,EAAE,CAChG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAyB,EACzB,YAAiC;IAEjC,IAAI,QAAQ,KAAK,QAAQ,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,2BAA2B,CAAC;QAC1C,OAAO,IAAI,gCAAgC,CACzC,wBAAwB,EACxB,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,EACjB,kEAAkE,EAClE,UAAU,CACX,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,yBAAyB,CAAC;QACxC,OAAO,IAAI,gCAAgC,CACzC,wBAAwB,EACxB,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,EACjB,kEAAkE,EAClE,UAAU,CACX,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,6BAA6B,CAAC;QAC5C,OAAO,IAAI,oCAAoC,CAC7C,wBAAwB,EACxB,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,EACjB,kEAAkE,EAClE,UAAU,CACX,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,2BAA2B,CAAC;QAC1C,OAAO,IAAI,oCAAoC,CAC7C,wBAAwB,EACxB,KAAK,EACL,UAAU,CAAC,KAAK,CAAC,EACjB,kEAAkE,EAClE,UAAU,CACX,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;AACJ,CAAC"}