@evermore.work/adapter-acpx-local 2026.509.0-canary.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 (65) hide show
  1. package/dist/cli/format-event.d.ts +2 -0
  2. package/dist/cli/format-event.d.ts.map +1 -0
  3. package/dist/cli/format-event.js +128 -0
  4. package/dist/cli/format-event.js.map +1 -0
  5. package/dist/cli/format-event.test.d.ts +2 -0
  6. package/dist/cli/format-event.test.d.ts.map +1 -0
  7. package/dist/cli/format-event.test.js +88 -0
  8. package/dist/cli/format-event.test.js.map +1 -0
  9. package/dist/cli/index.d.ts +2 -0
  10. package/dist/cli/index.d.ts.map +1 -0
  11. package/dist/cli/index.js +2 -0
  12. package/dist/cli/index.js.map +1 -0
  13. package/dist/index.d.ts +22 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +51 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/server/config-schema.d.ts +3 -0
  18. package/dist/server/config-schema.d.ts.map +1 -0
  19. package/dist/server/config-schema.js +73 -0
  20. package/dist/server/config-schema.js.map +1 -0
  21. package/dist/server/execute.d.ts +19 -0
  22. package/dist/server/execute.d.ts.map +1 -0
  23. package/dist/server/execute.js +1205 -0
  24. package/dist/server/execute.js.map +1 -0
  25. package/dist/server/execute.test.d.ts +2 -0
  26. package/dist/server/execute.test.d.ts.map +1 -0
  27. package/dist/server/execute.test.js +371 -0
  28. package/dist/server/execute.test.js.map +1 -0
  29. package/dist/server/index.d.ts +6 -0
  30. package/dist/server/index.d.ts.map +1 -0
  31. package/dist/server/index.js +6 -0
  32. package/dist/server/index.js.map +1 -0
  33. package/dist/server/session-codec.d.ts +3 -0
  34. package/dist/server/session-codec.d.ts.map +1 -0
  35. package/dist/server/session-codec.js +48 -0
  36. package/dist/server/session-codec.js.map +1 -0
  37. package/dist/server/skills.d.ts +4 -0
  38. package/dist/server/skills.d.ts.map +1 -0
  39. package/dist/server/skills.js +86 -0
  40. package/dist/server/skills.js.map +1 -0
  41. package/dist/server/test.d.ts +3 -0
  42. package/dist/server/test.d.ts.map +1 -0
  43. package/dist/server/test.js +267 -0
  44. package/dist/server/test.js.map +1 -0
  45. package/dist/server/test.test.d.ts +2 -0
  46. package/dist/server/test.test.d.ts.map +1 -0
  47. package/dist/server/test.test.js +38 -0
  48. package/dist/server/test.test.js.map +1 -0
  49. package/dist/ui/build-config.d.ts +3 -0
  50. package/dist/ui/build-config.d.ts.map +1 -0
  51. package/dist/ui/build-config.js +152 -0
  52. package/dist/ui/build-config.js.map +1 -0
  53. package/dist/ui/index.d.ts +3 -0
  54. package/dist/ui/index.d.ts.map +1 -0
  55. package/dist/ui/index.js +3 -0
  56. package/dist/ui/index.js.map +1 -0
  57. package/dist/ui/parse-stdout.d.ts +3 -0
  58. package/dist/ui/parse-stdout.d.ts.map +1 -0
  59. package/dist/ui/parse-stdout.js +148 -0
  60. package/dist/ui/parse-stdout.js.map +1 -0
  61. package/dist/ui/parse-stdout.test.d.ts +2 -0
  62. package/dist/ui/parse-stdout.test.d.ts.map +1 -0
  63. package/dist/ui/parse-stdout.test.js +106 -0
  64. package/dist/ui/parse-stdout.test.js.map +1 -0
  65. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execute.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.test.d.ts","sourceRoot":"","sources":["../../src/server/execute.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,371 @@
1
+ import fs from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { afterEach, describe, expect, it } from "vitest";
5
+ import { createAcpxLocalExecutor } from "./execute.js";
6
+ const tempRoots = [];
7
+ async function makeTempRoot() {
8
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), "evermore-acpx-skills-"));
9
+ tempRoots.push(root);
10
+ return root;
11
+ }
12
+ afterEach(async () => {
13
+ await Promise.all(tempRoots.splice(0).map((root) => fs.rm(root, { recursive: true, force: true })));
14
+ });
15
+ async function pathExists(candidate) {
16
+ return fs.access(candidate).then(() => true).catch(() => false);
17
+ }
18
+ async function onlyChildDir(parent) {
19
+ const entries = await fs.readdir(parent);
20
+ expect(entries).toHaveLength(1);
21
+ return path.join(parent, entries[0]);
22
+ }
23
+ async function createSkill(root, name, body = `---\nrequired: false\n---\n# ${name}\n`) {
24
+ const skillDir = path.join(root, name);
25
+ await fs.mkdir(skillDir, { recursive: true });
26
+ await fs.writeFile(path.join(skillDir, "SKILL.md"), body, "utf8");
27
+ return {
28
+ key: `evermore/test/${name}`,
29
+ runtimeName: name,
30
+ source: skillDir,
31
+ required: false,
32
+ };
33
+ }
34
+ function buildRuntime() {
35
+ return {
36
+ ensureSession: async () => ({
37
+ backendSessionId: "backend-session",
38
+ agentSessionId: "agent-session",
39
+ runtimeSessionName: "runtime-session",
40
+ }),
41
+ startTurn: () => ({
42
+ events: (async function* () {
43
+ yield { type: "done", stopReason: "end_turn" };
44
+ })(),
45
+ result: Promise.resolve({ status: "completed", stopReason: "end_turn" }),
46
+ cancel: async () => { },
47
+ }),
48
+ close: async () => { },
49
+ };
50
+ }
51
+ async function runExecutor(config, options = {}) {
52
+ const runtimeOptions = [];
53
+ const meta = [];
54
+ const logs = [];
55
+ const execute = createAcpxLocalExecutor({
56
+ createRuntime: (options) => {
57
+ runtimeOptions.push(options);
58
+ return buildRuntime();
59
+ },
60
+ });
61
+ const result = await execute({
62
+ runId: "run-1",
63
+ agent: {
64
+ id: "agent-1",
65
+ companyId: "company-1",
66
+ },
67
+ runtime: {},
68
+ config,
69
+ context: options.context ?? {},
70
+ executionTransport: options.executionTransport,
71
+ onLog: async (stream, text) => {
72
+ logs.push({ stream, text });
73
+ },
74
+ onMeta: async (payload) => {
75
+ meta.push(payload);
76
+ },
77
+ });
78
+ expect(result.exitCode).toBe(0);
79
+ return { logs, meta, runtimeOptions, result };
80
+ }
81
+ describe("acpx_local runtime skill isolation", () => {
82
+ it.skipIf(process.platform === "win32")("materializes ACPX Claude skills without symlinked descendants", async () => {
83
+ const root = await makeTempRoot();
84
+ const skillRoot = path.join(root, "skills");
85
+ const outsideRoot = path.join(root, "outside");
86
+ await fs.mkdir(outsideRoot, { recursive: true });
87
+ await fs.writeFile(path.join(outsideRoot, "secret.txt"), "do not expose", "utf8");
88
+ const skill = await createSkill(skillRoot, "danger");
89
+ await fs.symlink(path.join(outsideRoot, "secret.txt"), path.join(skill.source, "leak.txt"));
90
+ await fs.symlink(outsideRoot, path.join(skill.source, "leak-dir"));
91
+ const stateDir = path.join(root, "state");
92
+ const { meta } = await runExecutor({
93
+ agent: "claude",
94
+ stateDir,
95
+ evermoreRuntimeSkills: [skill],
96
+ evermoreSkillSync: { desiredSkills: [skill.key] },
97
+ });
98
+ const mountedRoot = await onlyChildDir(path.join(stateDir, "runtime-skills", "claude"));
99
+ const skillsHome = path.join(mountedRoot, ".claude", "skills");
100
+ const materializedSkill = path.join(skillsHome, skill.runtimeName);
101
+ expect(await fs.readFile(path.join(materializedSkill, "SKILL.md"), "utf8")).toContain("# danger");
102
+ expect(await pathExists(path.join(materializedSkill, "leak.txt"))).toBe(false);
103
+ expect(await pathExists(path.join(materializedSkill, "leak-dir"))).toBe(false);
104
+ expect(String(meta[0]?.prompt ?? "")).toContain(`Skill root: ${skillsHome}`);
105
+ });
106
+ it.skipIf(process.platform === "win32")("revokes removed ACPX Codex skills and skips symlinked descendants", async () => {
107
+ const root = await makeTempRoot();
108
+ const skillRoot = path.join(root, "skills");
109
+ const outsideRoot = path.join(root, "outside");
110
+ const codexHome = path.join(root, "codex-home");
111
+ await fs.mkdir(outsideRoot, { recursive: true });
112
+ await fs.writeFile(path.join(outsideRoot, "secret.txt"), "do not expose", "utf8");
113
+ const keep = await createSkill(skillRoot, "keep");
114
+ const remove = await createSkill(skillRoot, "remove");
115
+ await fs.symlink(path.join(outsideRoot, "secret.txt"), path.join(keep.source, "leak.txt"));
116
+ await fs.symlink(outsideRoot, path.join(keep.source, "leak-dir"));
117
+ const baseConfig = {
118
+ agent: "codex",
119
+ stateDir: path.join(root, "state"),
120
+ env: { CODEX_HOME: codexHome },
121
+ evermoreRuntimeSkills: [keep, remove],
122
+ };
123
+ await runExecutor({
124
+ ...baseConfig,
125
+ evermoreSkillSync: { desiredSkills: [keep.key, remove.key] },
126
+ });
127
+ expect(await pathExists(path.join(codexHome, "skills", remove.runtimeName, "SKILL.md"))).toBe(true);
128
+ await runExecutor({
129
+ ...baseConfig,
130
+ evermoreSkillSync: { desiredSkills: [keep.key] },
131
+ });
132
+ expect(await pathExists(path.join(codexHome, "skills", keep.runtimeName, "SKILL.md"))).toBe(true);
133
+ expect(await pathExists(path.join(codexHome, "skills", keep.runtimeName, "leak.txt"))).toBe(false);
134
+ expect(await pathExists(path.join(codexHome, "skills", keep.runtimeName, "leak-dir"))).toBe(false);
135
+ expect(await pathExists(path.join(codexHome, "skills", remove.runtimeName))).toBe(false);
136
+ });
137
+ it.skipIf(process.platform === "win32")("removes legacy ACPX Codex skill symlinks when a skill is no longer desired", async () => {
138
+ const root = await makeTempRoot();
139
+ const skillRoot = path.join(root, "skills");
140
+ const codexHome = path.join(root, "codex-home");
141
+ const legacy = await createSkill(skillRoot, "legacy");
142
+ const skillsHome = path.join(codexHome, "skills");
143
+ await fs.mkdir(skillsHome, { recursive: true });
144
+ await fs.symlink(legacy.source, path.join(skillsHome, legacy.runtimeName));
145
+ await runExecutor({
146
+ agent: "codex",
147
+ stateDir: path.join(root, "state"),
148
+ env: { CODEX_HOME: codexHome },
149
+ evermoreRuntimeSkills: [legacy],
150
+ evermoreSkillSync: { desiredSkills: [] },
151
+ });
152
+ expect(await pathExists(path.join(skillsHome, legacy.runtimeName))).toBe(false);
153
+ });
154
+ it.skipIf(process.platform === "win32")("replaces stale managed Codex auth files with source symlinks", async () => {
155
+ const root = await makeTempRoot();
156
+ const sourceCodexHome = path.join(root, "source-codex-home");
157
+ const evermoreHome = path.join(root, "evermore-home");
158
+ const evermoreInstanceId = "test-instance";
159
+ const managedCodexHome = path.join(evermoreHome, "instances", evermoreInstanceId, "companies", "company-1", "codex-home");
160
+ await fs.mkdir(sourceCodexHome, { recursive: true });
161
+ await fs.mkdir(managedCodexHome, { recursive: true });
162
+ const sourceAuth = path.join(sourceCodexHome, "auth.json");
163
+ const managedAuth = path.join(managedCodexHome, "auth.json");
164
+ await fs.writeFile(sourceAuth, "{\"source\":true}", "utf8");
165
+ await fs.writeFile(managedAuth, "{\"stale\":true}", "utf8");
166
+ const previousCodexHome = process.env.CODEX_HOME;
167
+ const previousEvermoreHome = process.env.EVERMORE_HOME;
168
+ const previousEvermoreInstanceId = process.env.EVERMORE_INSTANCE_ID;
169
+ try {
170
+ process.env.CODEX_HOME = sourceCodexHome;
171
+ process.env.EVERMORE_HOME = evermoreHome;
172
+ process.env.EVERMORE_INSTANCE_ID = evermoreInstanceId;
173
+ await runExecutor({
174
+ agent: "codex",
175
+ stateDir: path.join(root, "state"),
176
+ evermoreRuntimeSkills: [],
177
+ evermoreSkillSync: { desiredSkills: [] },
178
+ });
179
+ }
180
+ finally {
181
+ if (previousCodexHome === undefined)
182
+ delete process.env.CODEX_HOME;
183
+ else
184
+ process.env.CODEX_HOME = previousCodexHome;
185
+ if (previousEvermoreHome === undefined)
186
+ delete process.env.EVERMORE_HOME;
187
+ else
188
+ process.env.EVERMORE_HOME = previousEvermoreHome;
189
+ if (previousEvermoreInstanceId === undefined)
190
+ delete process.env.EVERMORE_INSTANCE_ID;
191
+ else
192
+ process.env.EVERMORE_INSTANCE_ID = previousEvermoreInstanceId;
193
+ }
194
+ const authStat = await fs.lstat(managedAuth);
195
+ expect(authStat.isSymbolicLink()).toBe(true);
196
+ expect(path.resolve(path.dirname(managedAuth), await fs.readlink(managedAuth))).toBe(sourceAuth);
197
+ });
198
+ it("keeps fresh credential wrapper scripts across ACPX agent changes", async () => {
199
+ const root = await makeTempRoot();
200
+ const stateDir = path.join(root, "state");
201
+ const baseConfig = {
202
+ agentCommand: "node ./fake-acp.js",
203
+ stateDir,
204
+ };
205
+ await runExecutor({
206
+ ...baseConfig,
207
+ agent: "custom-a",
208
+ env: { EVERMORE_API_KEY: "old-key" },
209
+ });
210
+ await runExecutor({
211
+ ...baseConfig,
212
+ agent: "custom-b",
213
+ env: { EVERMORE_API_KEY: "new-key" },
214
+ });
215
+ const wrappers = await fs.readdir(path.join(stateDir, "wrappers"));
216
+ expect(wrappers.filter((name) => name.endsWith(".sh"))).toHaveLength(2);
217
+ expect(wrappers.filter((name) => name.endsWith(".env"))).toHaveLength(2);
218
+ expect(wrappers.some((name) => name.startsWith("custom-a-"))).toBe(true);
219
+ expect(wrappers.some((name) => name.startsWith("custom-b-"))).toBe(true);
220
+ const wrapperPath = path.join(stateDir, "wrappers", wrappers.find((name) => name.startsWith("custom-b-") && name.endsWith(".sh")));
221
+ const envPath = path.join(stateDir, "wrappers", wrappers.find((name) => name.startsWith("custom-b-") && name.endsWith(".env")));
222
+ const wrapper = await fs.readFile(wrapperPath, "utf8");
223
+ const env = await fs.readFile(envPath, "utf8");
224
+ expect((await fs.stat(envPath)).mode & 0o777).toBe(0o600);
225
+ expect((await fs.stat(wrapperPath)).mode & 0o777).toBe(0o700);
226
+ expect(wrapper).toContain("node ./fake-acp.js");
227
+ expect(wrapper).not.toContain("EVERMORE_API_KEY");
228
+ expect(wrapper).not.toContain("new-key");
229
+ expect(wrapper).not.toContain("old-key");
230
+ expect(env).toContain("EVERMORE_API_KEY='new-key'");
231
+ expect(env).not.toContain("old-key");
232
+ });
233
+ it("shapes ACPX wrapper workspace env for remote execution identities", async () => {
234
+ const root = await makeTempRoot();
235
+ const stateDir = path.join(root, "state");
236
+ const workspaceDir = path.join(root, "workspace");
237
+ await fs.mkdir(workspaceDir, { recursive: true });
238
+ await runExecutor({
239
+ agentCommand: "node ./fake-acp.js",
240
+ stateDir,
241
+ }, {
242
+ context: {
243
+ evermoreWorkspace: {
244
+ cwd: workspaceDir,
245
+ source: "project_primary",
246
+ strategy: "git_worktree",
247
+ workspaceId: "workspace-1",
248
+ repoUrl: "https://github.com/phuctm97/evermore.git",
249
+ repoRef: "main",
250
+ branchName: "feature/remote-acpx",
251
+ worktreePath: workspaceDir,
252
+ },
253
+ },
254
+ executionTransport: {
255
+ remoteExecution: {
256
+ host: "127.0.0.1",
257
+ port: 2222,
258
+ username: "fixture",
259
+ remoteWorkspacePath: "/remote/workspace",
260
+ remoteCwd: "/remote/workspace",
261
+ privateKey: "PRIVATE KEY",
262
+ knownHosts: "[127.0.0.1]:2222 ssh-ed25519 AAAA",
263
+ strictHostKeyChecking: true,
264
+ },
265
+ },
266
+ });
267
+ const wrappers = await fs.readdir(path.join(stateDir, "wrappers"));
268
+ const envPath = path.join(stateDir, "wrappers", wrappers.find((name) => name.endsWith(".env")));
269
+ const env = await fs.readFile(envPath, "utf8");
270
+ expect(env).toContain("EVERMORE_WORKSPACE_CWD='/remote/workspace'");
271
+ expect(env).not.toContain("EVERMORE_WORKSPACE_WORKTREE_PATH=");
272
+ });
273
+ it("cleans aged credential wrapper scripts across ACPX agent changes", async () => {
274
+ const root = await makeTempRoot();
275
+ const stateDir = path.join(root, "state");
276
+ const wrappersDir = path.join(stateDir, "wrappers");
277
+ const baseConfig = {
278
+ agentCommand: "node ./fake-acp.js",
279
+ stateDir,
280
+ };
281
+ await runExecutor({
282
+ ...baseConfig,
283
+ agent: "custom-a",
284
+ env: { EVERMORE_API_KEY: "old-key" },
285
+ });
286
+ const oldDate = new Date(Date.now() - 16 * 60 * 1000);
287
+ await Promise.all((await fs.readdir(wrappersDir))
288
+ .filter((name) => name.startsWith("custom-a-"))
289
+ .map((name) => fs.utimes(path.join(wrappersDir, name), oldDate, oldDate)));
290
+ await runExecutor({
291
+ ...baseConfig,
292
+ agent: "custom-b",
293
+ env: { EVERMORE_API_KEY: "new-key" },
294
+ });
295
+ const wrappers = await fs.readdir(wrappersDir);
296
+ expect(wrappers.filter((name) => name.endsWith(".sh"))).toHaveLength(1);
297
+ expect(wrappers.filter((name) => name.endsWith(".env"))).toHaveLength(1);
298
+ expect(wrappers.some((name) => name.startsWith("custom-a-"))).toBe(false);
299
+ expect(wrappers.some((name) => name.startsWith("custom-b-"))).toBe(true);
300
+ });
301
+ it("keeps distinct wrapper env files for concurrent runs with different credentials", async () => {
302
+ const root = await makeTempRoot();
303
+ const stateDir = path.join(root, "state");
304
+ const baseConfig = {
305
+ agent: "custom-a",
306
+ agentCommand: "node ./fake-acp.js",
307
+ stateDir,
308
+ };
309
+ await runExecutor({
310
+ ...baseConfig,
311
+ env: { EVERMORE_API_KEY: "first-key" },
312
+ });
313
+ await runExecutor({
314
+ ...baseConfig,
315
+ env: { EVERMORE_API_KEY: "second-key" },
316
+ });
317
+ const envFileNames = (await fs.readdir(path.join(stateDir, "wrappers"))).filter((name) => name.endsWith(".env"));
318
+ expect(envFileNames).toHaveLength(2);
319
+ const envFiles = await Promise.all(envFileNames.map(async (name) => fs.readFile(path.join(stateDir, "wrappers", name), "utf8")));
320
+ expect(envFiles.filter((contents) => contents.includes("EVERMORE_API_KEY='first-key'"))).toHaveLength(1);
321
+ expect(envFiles.filter((contents) => contents.includes("EVERMORE_API_KEY='second-key'"))).toHaveLength(1);
322
+ });
323
+ it("passes Evermore env through the ACP agent wrapper instead of process.env", async () => {
324
+ let observedApiKeyDuringStream;
325
+ const execute = createAcpxLocalExecutor({
326
+ createRuntime: () => ({
327
+ ensureSession: async () => ({
328
+ backendSessionId: "backend-session",
329
+ agentSessionId: "agent-session",
330
+ runtimeSessionName: "runtime-session",
331
+ }),
332
+ startTurn: () => ({
333
+ events: (async function* () {
334
+ await Promise.resolve();
335
+ observedApiKeyDuringStream = process.env.EVERMORE_API_KEY;
336
+ yield { type: "done", stopReason: "end_turn" };
337
+ })(),
338
+ result: Promise.resolve({ status: "completed", stopReason: "end_turn" }),
339
+ cancel: async () => { },
340
+ }),
341
+ close: async () => { },
342
+ }),
343
+ });
344
+ const previousApiKey = process.env.EVERMORE_API_KEY;
345
+ try {
346
+ delete process.env.EVERMORE_API_KEY;
347
+ const result = await execute({
348
+ runId: "run-1",
349
+ agent: {
350
+ id: "agent-1",
351
+ companyId: "company-1",
352
+ },
353
+ runtime: {},
354
+ config: { agent: "custom", agentCommand: "node ./fake-acp.js" },
355
+ context: {},
356
+ authToken: "runtime-key",
357
+ onLog: async () => { },
358
+ onMeta: async () => { },
359
+ });
360
+ expect(result.exitCode).toBe(0);
361
+ expect(observedApiKeyDuringStream).toBeUndefined();
362
+ }
363
+ finally {
364
+ if (previousApiKey === undefined)
365
+ delete process.env.EVERMORE_API_KEY;
366
+ else
367
+ process.env.EVERMORE_API_KEY = previousApiKey;
368
+ }
369
+ });
370
+ });
371
+ //# sourceMappingURL=execute.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.test.js","sourceRoot":"","sources":["../../src/server/execute.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { execute, createAcpxLocalExecutor } from "./execute.js";
2
+ export { testEnvironment } from "./test.js";
3
+ export { getConfigSchema } from "./config-schema.js";
4
+ export { sessionCodec } from "./session-codec.js";
5
+ export { listAcpxSkills, syncAcpxSkills } from "./skills.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { execute, createAcpxLocalExecutor } from "./execute.js";
2
+ export { testEnvironment } from "./test.js";
3
+ export { getConfigSchema } from "./config-schema.js";
4
+ export { sessionCodec } from "./session-codec.js";
5
+ export { listAcpxSkills, syncAcpxSkills } from "./skills.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { AdapterSessionCodec } from "@evermore.work/adapter-utils";
2
+ export declare const sessionCodec: AdapterSessionCodec;
3
+ //# sourceMappingURL=session-codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-codec.d.ts","sourceRoot":"","sources":["../../src/server/session-codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAUxE,eAAO,MAAM,YAAY,EAAE,mBAuC1B,CAAC"}
@@ -0,0 +1,48 @@
1
+ function readString(value) {
2
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
3
+ }
4
+ function readRecord(value) {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? { ...value } : null;
6
+ }
7
+ export const sessionCodec = {
8
+ deserialize(raw) {
9
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw))
10
+ return null;
11
+ const record = raw;
12
+ const runtimeSessionName = readString(record.runtimeSessionName);
13
+ const acpSessionId = readString(record.acpSessionId);
14
+ const agentSessionId = readString(record.agentSessionId);
15
+ const remoteExecution = readRecord(record.remoteExecution);
16
+ if (!runtimeSessionName && !acpSessionId && !agentSessionId)
17
+ return null;
18
+ return {
19
+ ...(runtimeSessionName ? { runtimeSessionName } : {}),
20
+ ...(readString(record.sessionKey) ? { sessionKey: readString(record.sessionKey) } : {}),
21
+ ...(readString(record.acpxRecordId) ? { acpxRecordId: readString(record.acpxRecordId) } : {}),
22
+ ...(acpSessionId ? { acpSessionId } : {}),
23
+ ...(agentSessionId ? { agentSessionId } : {}),
24
+ ...(readString(record.agent) ? { agent: readString(record.agent) } : {}),
25
+ ...(readString(record.cwd) ? { cwd: readString(record.cwd) } : {}),
26
+ ...(readString(record.mode) ? { mode: readString(record.mode) } : {}),
27
+ ...(readString(record.stateDir) ? { stateDir: readString(record.stateDir) } : {}),
28
+ ...(readString(record.configFingerprint) ? { configFingerprint: readString(record.configFingerprint) } : {}),
29
+ ...(readString(record.workspaceId) ? { workspaceId: readString(record.workspaceId) } : {}),
30
+ ...(readString(record.repoUrl) ? { repoUrl: readString(record.repoUrl) } : {}),
31
+ ...(readString(record.repoRef) ? { repoRef: readString(record.repoRef) } : {}),
32
+ ...(remoteExecution ? { remoteExecution } : {}),
33
+ };
34
+ },
35
+ serialize(params) {
36
+ if (!params)
37
+ return null;
38
+ return this.deserialize(params);
39
+ },
40
+ getDisplayId(params) {
41
+ if (!params)
42
+ return null;
43
+ return (readString(params.runtimeSessionName) ??
44
+ readString(params.acpSessionId) ??
45
+ readString(params.agentSessionId));
46
+ },
47
+ };
48
+ //# sourceMappingURL=session-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-codec.js","sourceRoot":"","sources":["../../src/server/session-codec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AdapterSkillContext, AdapterSkillSnapshot } from "@evermore.work/adapter-utils";
2
+ export declare function listAcpxSkills(ctx: AdapterSkillContext): Promise<AdapterSkillSnapshot>;
3
+ export declare function syncAcpxSkills(ctx: AdapterSkillContext, _desiredSkills: string[]): Promise<AdapterSkillSnapshot>;
4
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EAEnB,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AA0FtC,wBAAsB,cAAc,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAE5F;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,mBAAmB,EACxB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAE/B"}