@shivaedev/agent-codex 0.4.0 → 0.5.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 (66) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +5 -3
  3. package/dist/adapters/backend.d.ts +1 -2
  4. package/dist/adapters/backend.d.ts.map +1 -1
  5. package/dist/adapters/backend.js +1 -2
  6. package/dist/adapters/backend.js.map +1 -1
  7. package/dist/adapters/census.js +1 -1
  8. package/dist/adapters/census.js.map +1 -1
  9. package/dist/adapters/configuredBackend.d.ts +1 -4
  10. package/dist/adapters/configuredBackend.d.ts.map +1 -1
  11. package/dist/adapters/configuredBackend.js +5 -1
  12. package/dist/adapters/configuredBackend.js.map +1 -1
  13. package/dist/adapters/engine.d.ts +8 -6
  14. package/dist/adapters/engine.d.ts.map +1 -1
  15. package/dist/adapters/engine.js +5 -8
  16. package/dist/adapters/engine.js.map +1 -1
  17. package/dist/adapters/initializeCodex.d.ts +2 -765
  18. package/dist/adapters/initializeCodex.d.ts.map +1 -1
  19. package/dist/adapters/initializeCodex.js +4 -1
  20. package/dist/adapters/initializeCodex.js.map +1 -1
  21. package/dist/adapters/initializeEngine.d.ts +1 -2
  22. package/dist/adapters/initializeEngine.d.ts.map +1 -1
  23. package/dist/adapters/initializeEngine.js +2 -2
  24. package/dist/adapters/initializeEngine.js.map +1 -1
  25. package/dist/adapters/process.d.ts +4 -0
  26. package/dist/adapters/process.d.ts.map +1 -1
  27. package/dist/adapters/process.js +4 -0
  28. package/dist/adapters/process.js.map +1 -1
  29. package/dist/adapters/server.d.ts +1 -2
  30. package/dist/adapters/server.d.ts.map +1 -1
  31. package/dist/adapters/server.js +4 -3
  32. package/dist/adapters/server.js.map +1 -1
  33. package/dist/codex/backend.d.ts +4 -0
  34. package/dist/codex/backend.d.ts.map +1 -0
  35. package/dist/codex/backend.js +7 -0
  36. package/dist/codex/backend.js.map +1 -0
  37. package/dist/codex/census.d.ts +4 -0
  38. package/dist/codex/census.d.ts.map +1 -0
  39. package/dist/codex/census.js +7 -0
  40. package/dist/codex/census.js.map +1 -0
  41. package/dist/codex/service.d.ts +9 -0
  42. package/dist/codex/service.d.ts.map +1 -0
  43. package/dist/codex/service.js +12 -0
  44. package/dist/codex/service.js.map +1 -0
  45. package/dist/codexLayer.d.ts +4 -0
  46. package/dist/codexLayer.d.ts.map +1 -0
  47. package/dist/codexLayer.js +7 -0
  48. package/dist/codexLayer.js.map +1 -0
  49. package/package.json +3 -3
  50. package/src/adapters/backend.ts +2 -3
  51. package/src/adapters/census.ts +1 -1
  52. package/src/adapters/configuredBackend.ts +5 -4
  53. package/src/adapters/engine.ts +5 -10
  54. package/src/adapters/initializeCodex.ts +4 -1
  55. package/src/adapters/initializeEngine.ts +2 -3
  56. package/src/adapters/process.ts +5 -0
  57. package/src/adapters/server.ts +4 -4
  58. package/src/codex/backend.ts +7 -0
  59. package/src/codex/census.ts +7 -0
  60. package/src/codex/service.ts +12 -0
  61. package/src/codexLayer.ts +7 -0
  62. package/dist/codex.d.ts +0 -11
  63. package/dist/codex.d.ts.map +0 -1
  64. package/dist/codex.js +0 -16
  65. package/dist/codex.js.map +0 -1
  66. package/src/codex.ts +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"initializeCodex.d.ts","sourceRoot":"","sources":["../../src/adapters/initializeCodex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+QAG1B,CAAC"}
1
+ {"version":3,"file":"initializeCodex.d.ts","sourceRoot":"","sources":["../../src/adapters/initializeCodex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,eAAO,MAAM,eAAe;;;+QAI1B,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { Effect } from "effect";
2
+ import { backend } from "#adapters/backend.ts";
3
+ import { census } from "#adapters/census.ts";
2
4
  import { initializeEngine } from "#adapters/initializeEngine.ts";
3
5
  import { CodexConfig } from "#config.ts";
4
6
  export const initializeCodex = Effect.gen(function* () {
5
7
  const config = yield* CodexConfig;
6
- return yield* initializeEngine(config);
8
+ const state = yield* initializeEngine(config);
9
+ return { backend: backend(state), census: census(state) };
7
10
  });
8
11
  //# sourceMappingURL=initializeCodex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initializeCodex.js","sourceRoot":"","sources":["../../src/adapters/initializeCodex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"initializeCodex.js","sourceRoot":"","sources":["../../src/adapters/initializeCodex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3D,CAAC,CAAC,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { Effect } from "effect";
2
2
  import { Rejected, UnknownAcceptance } from "@shivaedev/agent/failures.ts";
3
3
  import type { ImageInput, Receipt, StartRequest } from "@shivaedev/agent/run.ts";
4
- import type { LineProcess } from "#adapters/process.ts";
5
4
  import type { CodexConfiguration } from "#config.ts";
6
- export declare const initializeEngine: (config: CodexConfiguration, spawn?: (() => LineProcess) | undefined) => Effect.Effect<{
5
+ export declare const initializeEngine: (config: CodexConfiguration) => Effect.Effect<{
7
6
  claims: import("./threadClaims.ts").ThreadClaims;
8
7
  exited: Effect.Effect<void, never, never>;
9
8
  features: {
@@ -1 +1 @@
1
- {"version":3,"file":"initializeEngine.d.ts","sourceRoot":"","sources":["../../src/adapters/initializeEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,eAAO,MAAM,gBAAgB,8CAA4F,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAyD/G,OAAO;;;;;;;mBACX,MAAM,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAhBf,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;KAAE,YAAY;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;mLAqBjI,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"initializeEngine.d.ts","sourceRoot":"","sources":["../../src/adapters/initializeEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAyDR,OAAO;;;;;;;mBACX,MAAM,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAhBf,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;KAAE,YAAY;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;mLAqBjI,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC"}
@@ -5,8 +5,8 @@ import { observe, readRequest } from "#adapters/reads.ts";
5
5
  import { receiptOf, recovery } from "#adapters/recovery.ts";
6
6
  import { AppServer, openServer } from "#adapters/server.ts";
7
7
  import { openSession } from "#adapters/session.ts";
8
- export const initializeEngine = Effect.fn("Codex.initializeEngine")(function* (config, spawn) {
9
- const server = yield* openServer(config, spawn);
8
+ export const initializeEngine = Effect.fn("Codex.initializeEngine")(function* (config) {
9
+ const server = yield* openServer(config);
10
10
  const sessions = new Map();
11
11
  const { operations, refusals, reconcile } = yield* recovery(sessions).pipe(Effect.provideService(AppServer, server));
12
12
  const submissionGate = yield* Semaphore.make(1);
@@ -1 +1 @@
1
- {"version":3,"file":"initializeEngine.js","sourceRoot":"","sources":["../../src/adapters/initializeEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initializeEngine.js","sourceRoot":"","sources":["../../src/adapters/initializeEngine.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { Context } from "effect";
1
2
  export interface LineProcess {
2
3
  readonly kill: () => void;
3
4
  readonly onExit: (listener: (code: number | null) => void) => void;
@@ -10,6 +11,9 @@ interface SpawnLineProcessOptions {
10
11
  readonly command: string;
11
12
  readonly cwd: string;
12
13
  }
14
+ export declare const ProcessSpawner: Context.Reference<{
15
+ spawn: typeof spawnLineProcess;
16
+ }>;
13
17
  export declare function spawnLineProcess(options: SpawnLineProcessOptions): LineProcess;
14
18
  export {};
15
19
  //# sourceMappingURL=process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/adapters/process.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,UAAU,uBAAuB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACrB;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,WAAW,CAmD9E"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/adapters/process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC;IACnE,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,UAAU,uBAAuB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,cAAc;;EAEzB,CAAC;AAGH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,WAAW,CAmD9E"}
@@ -1,4 +1,8 @@
1
1
  import { spawn } from "node:child_process";
2
+ import { Context } from "effect";
3
+ export const ProcessSpawner = Context.Reference("@shivaedev/agent-codex/ProcessSpawner", {
4
+ defaultValue: () => ({ spawn: spawnLineProcess }),
5
+ });
2
6
  // Codex app-server uses newline-delimited JSON over stdio.
3
7
  export function spawnLineProcess(options) {
4
8
  const child = spawn(options.command, [...options.args], {
@@ -1 +1 @@
1
- {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/adapters/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAgB3C,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;QACvD,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC;IACH,IAAI,YAAY,GAAoC,IAAI,CAAC;IACzD,IAAI,cAAc,GAAoC,IAAI,CAAC;IAC3D,MAAM,aAAa,GAAsC,EAAE,CAAC;IAC5D,SAAS,QAAQ,CAAC,IAAmB;QACpC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACF,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC;QAChB,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,OAAO,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACF,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,OAAO;QACN,0FAA0F;QAC1F,IAAI,EAAE,GAAG,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpB,YAAY,GAAG,QAAQ,CAAC;QACzB,CAAC;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACtB,cAAc,GAAG,QAAQ,CAAC;QAC3B,CAAC;QACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;YACf,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;QAChC,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/adapters/process.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { Context, Effect, PubSub, type Scope } from "effect";
2
2
  import { BackendUnavailable } from "@shivaedev/agent/failures.ts";
3
- import { type LineProcess } from "#adapters/process.ts";
4
3
  import type { RpcNotification } from "#adapters/rpc.ts";
5
4
  import type { CodexConfiguration } from "#config.ts";
6
- export declare const openServer: (config: CodexConfiguration, spawn?: (() => LineProcess) | undefined) => Effect.Effect<{
5
+ export declare const openServer: (config: CodexConfiguration) => Effect.Effect<{
7
6
  deny: (id: number | string) => void;
8
7
  notify: (method: string, params: unknown) => void;
9
8
  request: (method: string, params: unknown, operationId?: string) => Effect.Effect<unknown, BackendUnavailable | import("@shivaedev/agent/failures.ts").ProtocolFailure | import("@shivaedev/agent/failures.ts").Rejected | import("@shivaedev/agent/failures.ts").UnknownAcceptance, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/adapters/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAY,MAAM,EAAuB,MAAM,EAAiB,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAE,KAAK,WAAW,EAAoB,MAAM,sBAAsB,CAAC;AAG1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,eAAO,MAAM,UAAU,8CAAsF,WAAW;;;;;;;;;yMAgFtH,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;;;;;;;;;;;AAExE,qBAAa,SAAU,SAAQ,cAA6E;CAAG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/adapters/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAY,MAAM,EAAuB,MAAM,EAAiB,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAMlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,eAAO,MAAM,UAAU;;;;;;;;;yMAgFrB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;;;;;;;;;;;AAExE,qBAAa,SAAU,SAAQ,cAA6E;CAAG"}
@@ -3,19 +3,20 @@ import { Clock, Context, Deferred, Effect, Exit, Fiber, Option, PubSub, Queue, S
3
3
  import { BackendUnavailable } from "@shivaedev/agent/failures.ts";
4
4
  import { connect } from "#adapters/connect.ts";
5
5
  import { handshake } from "#adapters/handshake.ts";
6
- import { spawnLineProcess } from "#adapters/process.ts";
6
+ import { ProcessSpawner } from "#adapters/process.ts";
7
7
  import { DynamicToolCallParams } from "#adapters/protocol.ts";
8
8
  import { residualApproval } from "#adapters/residualApproval.ts";
9
9
  import { tellCliVersionOnce } from "#adapters/tellCliVersionOnce.ts";
10
10
  import { openThreadClaims } from "#adapters/threadClaims.ts";
11
- export const openServer = Effect.fn("Codex.openServer")(function* (config, spawn) {
11
+ export const openServer = Effect.fn("Codex.openServer")(function* (config) {
12
+ const spawner = yield* ProcessSpawner;
12
13
  const notifications = yield* PubSub.unbounded();
13
14
  const requests = yield* Queue.unbounded();
14
15
  const exited = yield* Deferred.make();
15
16
  const stderr = yield* Queue.unbounded();
16
17
  const child = yield* Effect.acquireRelease(Effect.try({
17
18
  catch: () => new BackendUnavailable({ backend: "codex", message: "Could not start Codex app-server" }),
18
- try: () => spawn?.() ?? spawnLineProcess({ args: config.args ?? ["app-server"], command: config.command ?? "codex", cwd: config.cwd ?? process.cwd() }),
19
+ try: () => spawner.spawn({ args: config.args ?? ["app-server"], command: config.command ?? "codex", cwd: config.cwd ?? process.cwd() }),
19
20
  }), (processHandle) => Effect.sync(() => processHandle.kill()));
20
21
  const rpc = connect(child, config.requestTimeoutMs ?? 30_000, (n) => {
21
22
  PubSub.publishUnsafe(notifications, n);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/adapters/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/adapters/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Effect } from "effect";
2
+ import { CodexEngine } from "#adapters/engine.ts";
3
+ export declare const backend: () => Effect.Effect<import("@shivaedev/agent/backend.ts").ConfiguredBackend, never, CodexEngine>;
4
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/codex/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,eAAO,MAAM,OAAO,kGAGlB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Effect } from "effect";
2
+ import { CodexEngine } from "#adapters/engine.ts";
3
+ export const backend = Effect.fn("Codex.backend")(function* () {
4
+ const engine = yield* CodexEngine;
5
+ return engine.backend;
6
+ });
7
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/codex/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Effect } from "effect";
2
+ import { CodexEngine } from "#adapters/engine.ts";
3
+ export declare const census: (rootThreadId: string) => Effect.Effect<import("../adapters/threadSweep.ts").CensusSweep, import("@shivaedev/agent/failures.ts").ReadFailure, CodexEngine>;
4
+ //# sourceMappingURL=census.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"census.d.ts","sourceRoot":"","sources":["../../src/codex/census.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,eAAO,MAAM,MAAM,4JAGjB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Effect } from "effect";
2
+ import { CodexEngine } from "#adapters/engine.ts";
3
+ export const census = Effect.fn("Codex.census")(function* (rootThreadId) {
4
+ const engine = yield* CodexEngine;
5
+ return yield* engine.census(rootThreadId);
6
+ });
7
+ //# sourceMappingURL=census.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"census.js","sourceRoot":"","sources":["../../src/codex/census.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAoB;IAC9E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Effect } from "effect";
2
+ import { CodexEngine } from "#adapters/engine.ts";
3
+ export declare const Codex: import("effect/Context").Service<"@shivaedev/agent-codex/Codex", Readonly<{
4
+ readonly backend: () => Effect.Effect<import("@shivaedev/agent/backend.ts").ConfiguredBackend, never, never>;
5
+ readonly census: (rootThreadId: string) => Effect.Effect<import("../adapters/threadSweep.ts").CensusSweep, import("@shivaedev/agent/failures.ts").ReadFailure, never>;
6
+ }>> & {
7
+ readonly layer: import("effect/Layer").Layer<"@shivaedev/agent-codex/Codex", never, CodexEngine>;
8
+ };
9
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/codex/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,eAAO,MAAM,KAAK;;;;;CAKhB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Effect } from "effect";
2
+ import { defineService } from "@shivaedev/service/defineService.ts";
3
+ import { CodexEngine } from "#adapters/engine.ts";
4
+ import { backend } from "./backend.js";
5
+ import { census } from "./census.js";
6
+ export const Codex = defineService({
7
+ id: "@shivaedev/agent-codex/Codex",
8
+ initialize: Effect.void,
9
+ methods: () => ({ backend, census }),
10
+ requires: [CodexEngine],
11
+ });
12
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/codex/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC;IAClC,EAAE,EAAE,8BAA8B;IAClC,UAAU,EAAE,MAAM,CAAC,IAAI;IACvB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,WAAW,CAAC;CACvB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Layer } from "effect";
2
+ import { Backend } from "@shivaedev/agent/backend.ts";
3
+ export declare const codexLayer: Layer.Layer<"@shivaedev/agent-codex/Codex" | Backend, import("@shivaedev/agent/failures.ts").BackendUnavailable | import("@shivaedev/agent/failures.ts").ProtocolFailure | import("@shivaedev/agent/failures.ts").Rejected | import("@shivaedev/agent/failures.ts").UnknownAcceptance, import("./config.ts").CodexConfig>;
4
+ //# sourceMappingURL=codexLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexLayer.d.ts","sourceRoot":"","sources":["../src/codexLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,eAAO,MAAM,UAAU,2TAAoH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Layer } from "effect";
2
+ import { Backend } from "@shivaedev/agent/backend.ts";
3
+ import { configuredBackend } from "#adapters/configuredBackend.ts";
4
+ import { codexEngineLayer } from "#adapters/engine.ts";
5
+ import { Codex } from "#codex/service.ts";
6
+ export const codexLayer = Layer.effect(Backend)(configuredBackend()).pipe(Layer.provideMerge(Codex.layer), Layer.provide(codexEngineLayer));
7
+ //# sourceMappingURL=codexLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codexLayer.js","sourceRoot":"","sources":["../src/codexLayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shivaedev/agent-codex",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Codex integration for Effect applications",
5
5
  "homepage": "https://github.com/ShivaeDev/platform/tree/main/packages/agent-codex#readme",
6
6
  "bugs": {
@@ -45,8 +45,8 @@
45
45
  },
46
46
  "devDependencies": {
47
47
  "@effect/vitest": "4.1.0",
48
- "@shivaedev/quality": "0.65.0",
49
- "@shivaedev/test-story": "0.42.0",
48
+ "@shivaedev/quality": "0.66.0",
49
+ "@shivaedev/test-story": "0.42.1",
50
50
  "@types/node": "24.19.2",
51
51
  "effect": "4.1.0",
52
52
  "typescript": "7.0.2",
@@ -3,8 +3,8 @@ import type { ConfiguredBackend } from "@shivaedev/agent/backend.ts";
3
3
  import type { RunEvent } from "@shivaedev/agent/events.ts";
4
4
  import type { EngineState } from "#adapters/initializeEngine.ts";
5
5
 
6
- export function backend(state: EngineState) {
7
- const configured: ConfiguredBackend = {
6
+ export function backend(state: EngineState): ConfiguredBackend {
7
+ return {
8
8
  backend: "codex",
9
9
  events: (receipt) =>
10
10
  Stream.unwrap(
@@ -25,5 +25,4 @@ export function backend(state: EngineState) {
25
25
  reconcile: state.reconcile,
26
26
  start: state.start,
27
27
  };
28
- return Effect.fn("Codex.backend")(() => Effect.succeed(configured));
29
28
  }
@@ -3,7 +3,7 @@ import type { EngineState } from "#adapters/initializeEngine.ts";
3
3
  import { sweepSpawnedDescendants } from "#adapters/threadSweep.ts";
4
4
 
5
5
  export function census(state: Pick<EngineState, "claims" | "read">) {
6
- return Effect.fn("Codex.census")((rootThreadId: string) =>
6
+ return Effect.fn("CodexEngine.census")((rootThreadId: string) =>
7
7
  sweepSpawnedDescendants(state.read, rootThreadId).pipe(
8
8
  Effect.tap((children) =>
9
9
  Effect.sync(() => {
@@ -1,6 +1,7 @@
1
1
  import { Effect } from "effect";
2
- import type { ConfiguredBackend } from "@shivaedev/agent/backend.ts";
2
+ import { Codex } from "#codex/service.ts";
3
3
 
4
- export const configuredBackend = Effect.fn("Codex.configuredBackend")((codex: { readonly backend: () => Effect.Effect<ConfiguredBackend> }) =>
5
- codex.backend(),
6
- );
4
+ export const configuredBackend = Effect.fn("Codex.configuredBackend")(function* () {
5
+ const codex = yield* Codex;
6
+ return yield* codex.backend();
7
+ });
@@ -1,11 +1,6 @@
1
- import { Effect } from "effect";
2
- import { backend } from "#adapters/backend.ts";
3
- import { census } from "#adapters/census.ts";
4
- import { initializeEngine } from "#adapters/initializeEngine.ts";
5
- import type { LineProcess } from "#adapters/process.ts";
6
- import type { CodexConfiguration } from "#config.ts";
1
+ import { Context, type Effect, Layer } from "effect";
2
+ import { initializeCodex } from "#adapters/initializeCodex.ts";
7
3
 
8
- export const engine = Effect.fn("Codex.engine")(function* (config: CodexConfiguration, spawn?: () => LineProcess) {
9
- const state = yield* initializeEngine(config, spawn);
10
- return { backend: backend(state), census: census(state) };
11
- });
4
+ export class CodexEngine extends Context.Service<CodexEngine, Effect.Success<typeof initializeCodex>>()("@shivaedev/agent-codex/CodexEngine") {}
5
+
6
+ export const codexEngineLayer = Layer.effect(CodexEngine)(initializeCodex);
@@ -1,8 +1,11 @@
1
1
  import { Effect } from "effect";
2
+ import { backend } from "#adapters/backend.ts";
3
+ import { census } from "#adapters/census.ts";
2
4
  import { initializeEngine } from "#adapters/initializeEngine.ts";
3
5
  import { CodexConfig } from "#config.ts";
4
6
 
5
7
  export const initializeCodex = Effect.gen(function* () {
6
8
  const config = yield* CodexConfig;
7
- return yield* initializeEngine(config);
9
+ const state = yield* initializeEngine(config);
10
+ return { backend: backend(state), census: census(state) };
8
11
  });
@@ -2,14 +2,13 @@ import { Effect, Semaphore } from "effect";
2
2
  import { Rejected, UnknownAcceptance } from "@shivaedev/agent/failures.ts";
3
3
  import type { ImageInput, Receipt, StartRequest } from "@shivaedev/agent/run.ts";
4
4
  import { features } from "#adapters/features.ts";
5
- import type { LineProcess } from "#adapters/process.ts";
6
5
  import { observe, readRequest } from "#adapters/reads.ts";
7
6
  import { receiptOf, recovery } from "#adapters/recovery.ts";
8
7
  import { AppServer, openServer } from "#adapters/server.ts";
9
8
  import { openSession, type Session } from "#adapters/session.ts";
10
9
  import type { CodexConfiguration } from "#config.ts";
11
- export const initializeEngine = Effect.fn("Codex.initializeEngine")(function* (config: CodexConfiguration, spawn?: () => LineProcess) {
12
- const server = yield* openServer(config, spawn);
10
+ export const initializeEngine = Effect.fn("Codex.initializeEngine")(function* (config: CodexConfiguration) {
11
+ const server = yield* openServer(config);
13
12
  const sessions = new Map<string, Session>();
14
13
  const { operations, refusals, reconcile } = yield* recovery(sessions).pipe(Effect.provideService(AppServer, server));
15
14
  const submissionGate = yield* Semaphore.make(1);
@@ -1,4 +1,5 @@
1
1
  import { spawn } from "node:child_process";
2
+ import { Context } from "effect";
2
3
 
3
4
  export interface LineProcess {
4
5
  readonly kill: () => void;
@@ -14,6 +15,10 @@ interface SpawnLineProcessOptions {
14
15
  readonly cwd: string;
15
16
  }
16
17
 
18
+ export const ProcessSpawner = Context.Reference("@shivaedev/agent-codex/ProcessSpawner", {
19
+ defaultValue: () => ({ spawn: spawnLineProcess }),
20
+ });
21
+
17
22
  // Codex app-server uses newline-delimited JSON over stdio.
18
23
  export function spawnLineProcess(options: SpawnLineProcessOptions): LineProcess {
19
24
  const child = spawn(options.command, [...options.args], {
@@ -3,14 +3,15 @@ import { Clock, Context, Deferred, Effect, Exit, Fiber, Option, PubSub, Queue, S
3
3
  import { BackendUnavailable } from "@shivaedev/agent/failures.ts";
4
4
  import { connect } from "#adapters/connect.ts";
5
5
  import { handshake } from "#adapters/handshake.ts";
6
- import { type LineProcess, spawnLineProcess } from "#adapters/process.ts";
6
+ import { ProcessSpawner } from "#adapters/process.ts";
7
7
  import { DynamicToolCallParams } from "#adapters/protocol.ts";
8
8
  import { residualApproval } from "#adapters/residualApproval.ts";
9
9
  import type { RpcNotification } from "#adapters/rpc.ts";
10
10
  import { tellCliVersionOnce } from "#adapters/tellCliVersionOnce.ts";
11
11
  import { openThreadClaims } from "#adapters/threadClaims.ts";
12
12
  import type { CodexConfiguration } from "#config.ts";
13
- export const openServer = Effect.fn("Codex.openServer")(function* (config: CodexConfiguration, spawn?: () => LineProcess) {
13
+ export const openServer = Effect.fn("Codex.openServer")(function* (config: CodexConfiguration) {
14
+ const spawner = yield* ProcessSpawner;
14
15
  const notifications = yield* PubSub.unbounded<RpcNotification>();
15
16
  const requests = yield* Queue.unbounded<{ id: number | string; method: string; params: unknown }>();
16
17
  const exited = yield* Deferred.make<void>();
@@ -18,8 +19,7 @@ export const openServer = Effect.fn("Codex.openServer")(function* (config: Codex
18
19
  const child = yield* Effect.acquireRelease(
19
20
  Effect.try({
20
21
  catch: () => new BackendUnavailable({ backend: "codex", message: "Could not start Codex app-server" }),
21
- try: () =>
22
- spawn?.() ?? spawnLineProcess({ args: config.args ?? ["app-server"], command: config.command ?? "codex", cwd: config.cwd ?? process.cwd() }),
22
+ try: () => spawner.spawn({ args: config.args ?? ["app-server"], command: config.command ?? "codex", cwd: config.cwd ?? process.cwd() }),
23
23
  }),
24
24
  (processHandle) => Effect.sync(() => processHandle.kill()),
25
25
  );
@@ -0,0 +1,7 @@
1
+ import { Effect } from "effect";
2
+ import { CodexEngine } from "#adapters/engine.ts";
3
+
4
+ export const backend = Effect.fn("Codex.backend")(function* () {
5
+ const engine = yield* CodexEngine;
6
+ return engine.backend;
7
+ });
@@ -0,0 +1,7 @@
1
+ import { Effect } from "effect";
2
+ import { CodexEngine } from "#adapters/engine.ts";
3
+
4
+ export const census = Effect.fn("Codex.census")(function* (rootThreadId: string) {
5
+ const engine = yield* CodexEngine;
6
+ return yield* engine.census(rootThreadId);
7
+ });
@@ -0,0 +1,12 @@
1
+ import { Effect } from "effect";
2
+ import { defineService } from "@shivaedev/service/defineService.ts";
3
+ import { CodexEngine } from "#adapters/engine.ts";
4
+ import { backend } from "./backend.ts";
5
+ import { census } from "./census.ts";
6
+
7
+ export const Codex = defineService({
8
+ id: "@shivaedev/agent-codex/Codex",
9
+ initialize: Effect.void,
10
+ methods: () => ({ backend, census }),
11
+ requires: [CodexEngine],
12
+ });
@@ -0,0 +1,7 @@
1
+ import { Layer } from "effect";
2
+ import { Backend } from "@shivaedev/agent/backend.ts";
3
+ import { configuredBackend } from "#adapters/configuredBackend.ts";
4
+ import { codexEngineLayer } from "#adapters/engine.ts";
5
+ import { Codex } from "#codex/service.ts";
6
+
7
+ export const codexLayer = Layer.effect(Backend)(configuredBackend()).pipe(Layer.provideMerge(Codex.layer), Layer.provide(codexEngineLayer));
package/dist/codex.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import { Effect, Layer } from "effect";
2
- import { Backend } from "@shivaedev/agent/backend.ts";
3
- import { CodexConfig } from "#config.ts";
4
- export declare const Codex: import("effect/Context").Service<"@shivaedev/agent-codex/Codex", Readonly<{
5
- readonly backend: () => Effect.Effect<import("@shivaedev/agent/backend.ts").ConfiguredBackend, never, never>;
6
- readonly census: (rootThreadId: string) => Effect.Effect<import("./adapters/threadSweep.ts").CensusSweep, import("@shivaedev/agent/failures.ts").ReadFailure, never>;
7
- }>> & {
8
- readonly layer: Layer.Layer<"@shivaedev/agent-codex/Codex", import("@shivaedev/agent/failures.ts").BackendUnavailable | import("@shivaedev/agent/failures.ts").ProtocolFailure | import("@shivaedev/agent/failures.ts").Rejected | import("@shivaedev/agent/failures.ts").UnknownAcceptance, CodexConfig>;
9
- };
10
- export declare const codexLayer: Layer.Layer<"@shivaedev/agent-codex/Codex" | Backend, import("@shivaedev/agent/failures.ts").BackendUnavailable | import("@shivaedev/agent/failures.ts").ProtocolFailure | import("@shivaedev/agent/failures.ts").Rejected | import("@shivaedev/agent/failures.ts").UnknownAcceptance, CodexConfig>;
11
- //# sourceMappingURL=codex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAMtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,eAAO,MAAM,KAAK;;;;;CAKhB,CAAC;AACH,eAAO,MAAM,UAAU,qSAAwG,CAAC"}
package/dist/codex.js DELETED
@@ -1,16 +0,0 @@
1
- import { Effect, Layer } from "effect";
2
- import { Backend } from "@shivaedev/agent/backend.ts";
3
- import { defineService } from "@shivaedev/service/defineService.ts";
4
- import { backend } from "#adapters/backend.ts";
5
- import { census } from "#adapters/census.ts";
6
- import { configuredBackend } from "#adapters/configuredBackend.ts";
7
- import { initializeCodex } from "#adapters/initializeCodex.ts";
8
- import { CodexConfig } from "#config.ts";
9
- export const Codex = defineService({
10
- id: "@shivaedev/agent-codex/Codex",
11
- initialize: initializeCodex,
12
- methods: (state) => ({ backend: backend(state), census: census(state) }),
13
- requires: [CodexConfig],
14
- });
15
- export const codexLayer = Layer.effect(Backend)(Effect.flatMap(Codex, configuredBackend)).pipe(Layer.provideMerge(Codex.layer));
16
- //# sourceMappingURL=codex.js.map
package/dist/codex.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC;IAClC,EAAE,EAAE,8BAA8B;IAClC,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACxE,QAAQ,EAAE,CAAC,WAAW,CAAC;CACvB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC"}
package/src/codex.ts DELETED
@@ -1,15 +0,0 @@
1
- import { Effect, Layer } from "effect";
2
- import { Backend } from "@shivaedev/agent/backend.ts";
3
- import { defineService } from "@shivaedev/service/defineService.ts";
4
- import { backend } from "#adapters/backend.ts";
5
- import { census } from "#adapters/census.ts";
6
- import { configuredBackend } from "#adapters/configuredBackend.ts";
7
- import { initializeCodex } from "#adapters/initializeCodex.ts";
8
- import { CodexConfig } from "#config.ts";
9
- export const Codex = defineService({
10
- id: "@shivaedev/agent-codex/Codex",
11
- initialize: initializeCodex,
12
- methods: (state) => ({ backend: backend(state), census: census(state) }),
13
- requires: [CodexConfig],
14
- });
15
- export const codexLayer = Layer.effect(Backend)(Effect.flatMap(Codex, configuredBackend)).pipe(Layer.provideMerge(Codex.layer));