coding-agent-forge 0.2.0 → 1.1.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 (81) hide show
  1. package/README.md +130 -11
  2. package/agent-forge.yaml +19 -0
  3. package/dist/agent/agent.d.ts +11 -0
  4. package/dist/agent/agent.d.ts.map +1 -0
  5. package/dist/agent/agent.js +13 -0
  6. package/dist/agent/agent.js.map +1 -0
  7. package/dist/agent/config.d.ts +15 -0
  8. package/dist/agent/config.d.ts.map +1 -0
  9. package/dist/agent/config.js +49 -0
  10. package/dist/agent/config.js.map +1 -0
  11. package/dist/agent/factories.d.ts +5 -0
  12. package/dist/agent/factories.d.ts.map +1 -0
  13. package/dist/agent/factories.js +5 -0
  14. package/dist/agent/factories.js.map +1 -0
  15. package/dist/agent/index.d.ts +11 -0
  16. package/dist/agent/index.d.ts.map +1 -0
  17. package/dist/agent/index.js +6 -0
  18. package/dist/agent/index.js.map +1 -0
  19. package/dist/agent/pipeline.d.ts +3 -0
  20. package/dist/agent/pipeline.d.ts.map +1 -0
  21. package/dist/agent/pipeline.js +2 -0
  22. package/dist/agent/pipeline.js.map +1 -0
  23. package/dist/agent/team.d.ts +19 -0
  24. package/dist/agent/team.d.ts.map +1 -0
  25. package/dist/agent/team.js +81 -0
  26. package/dist/agent/team.js.map +1 -0
  27. package/dist/agent/template.d.ts +12 -0
  28. package/dist/agent/template.d.ts.map +1 -0
  29. package/dist/agent/template.js +37 -0
  30. package/dist/agent/template.js.map +1 -0
  31. package/dist/cli.js +40 -23
  32. package/dist/cli.js.map +1 -1
  33. package/dist/config.d.ts +4 -17
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +6 -56
  36. package/dist/config.js.map +1 -1
  37. package/dist/index.d.ts +3 -7
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +3 -5
  40. package/dist/index.js.map +1 -1
  41. package/dist/runtime/claude.d.ts +3 -1
  42. package/dist/runtime/claude.d.ts.map +1 -1
  43. package/dist/runtime/claude.js +9 -8
  44. package/dist/runtime/claude.js.map +1 -1
  45. package/dist/runtime/codex.d.ts +1 -1
  46. package/dist/runtime/codex.d.ts.map +1 -1
  47. package/dist/runtime/codex.js +4 -15
  48. package/dist/runtime/codex.js.map +1 -1
  49. package/dist/runtime/config.d.ts +26 -0
  50. package/dist/runtime/config.d.ts.map +1 -0
  51. package/dist/runtime/config.js +75 -0
  52. package/dist/runtime/config.js.map +1 -0
  53. package/dist/runtime/format.d.ts +4 -0
  54. package/dist/runtime/format.d.ts.map +1 -0
  55. package/dist/runtime/format.js +16 -0
  56. package/dist/runtime/format.js.map +1 -0
  57. package/dist/runtime/index.d.ts +4 -3
  58. package/dist/runtime/index.d.ts.map +1 -1
  59. package/dist/runtime/index.js +2 -1
  60. package/dist/runtime/index.js.map +1 -1
  61. package/dist/runtime/opencode.d.ts +1 -1
  62. package/dist/runtime/opencode.d.ts.map +1 -1
  63. package/dist/runtime/opencode.js +4 -8
  64. package/dist/runtime/opencode.js.map +1 -1
  65. package/dist/runtime/qwen.d.ts +4 -3
  66. package/dist/runtime/qwen.d.ts.map +1 -1
  67. package/dist/runtime/qwen.js +11 -8
  68. package/dist/runtime/qwen.js.map +1 -1
  69. package/dist/runtime/types.d.ts +46 -36
  70. package/dist/runtime/types.d.ts.map +1 -1
  71. package/dist/runtime/types.js +10 -0
  72. package/dist/runtime/types.js.map +1 -1
  73. package/dist/utils/object.d.ts +4 -0
  74. package/dist/utils/object.d.ts.map +1 -0
  75. package/dist/utils/object.js +17 -0
  76. package/dist/utils/object.js.map +1 -0
  77. package/package.json +6 -2
  78. package/dist/runtime/factories.d.ts +0 -7
  79. package/dist/runtime/factories.d.ts.map +0 -1
  80. package/dist/runtime/factories.js +0 -14
  81. package/dist/runtime/factories.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EACV,MAAM,IAAI,aAAa,EACvB,cAAc,EACd,cAAc,EACd,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAIpB,qBAAa,eAAgB,SAAQ,WAAW,CAAC,UAAU,CAAC;;gBAG9C,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;IAK1C,WAAW,CAAC,OAAO,GAAE,aAAa,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAUjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B;AAED,qBAAa,cAAe,YAAW,MAAM,CAAC,UAAU,CAAC;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM;IAG9B,WAAW,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,cAAc,CAAC,UAAU,CAElC,GACA,OAAO,CAAC,MAAM,CAAC;IAuDlB,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,MAAM;CA6ChE"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAIpB,qBAAa,eAAgB,SAAQ,WAAW,CAAC,UAAU,CAAC;;gBAG9C,OAAO,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC;IAK1C,WAAW,CAAC,OAAO,GAAE,aAAa,CAAC,UAAU,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAUjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B;AAED,qBAAa,cAAe,YAAW,MAAM,CAAC,UAAU,CAAC;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM;IAG9B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAuDzF,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,MAAM;CA0ChE"}
@@ -1,5 +1,6 @@
1
1
  import { createOpencode } from "@opencode-ai/sdk";
2
2
  import { BaseRuntime } from "./types.js";
3
+ import { formatValue } from "./format.js";
3
4
  export class OpencodeRuntime extends BaseRuntime {
4
5
  #opencode;
5
6
  constructor(options) {
@@ -26,16 +27,14 @@ export class OpencodeThread {
26
27
  this.client = client;
27
28
  this.sessionId = sessionId;
28
29
  }
29
- async runStreamed(prompt, onRecord = (record) => {
30
- process.stdout.write(`${this.recordToPrettyString(record)}\n`);
31
- }) {
30
+ async runStreamed(prompt, onRecord) {
32
31
  const request = {
33
32
  path: { id: this.sessionId },
34
33
  body: {
35
34
  parts: [{ type: "text", text: prompt }],
36
35
  },
37
36
  };
38
- await onRecord({ runtime: "opencode", request: prompt });
37
+ await onRecord?.(this, { runtime: "opencode", request: prompt });
39
38
  const { stream } = await this.client.event.subscribe({
40
39
  throwOnError: true,
41
40
  });
@@ -45,7 +44,7 @@ export class OpencodeThread {
45
44
  });
46
45
  for await (const event of stream) {
47
46
  if ("sessionID" in event.properties && event.properties.sessionID === this.sessionId) {
48
- await onRecord({ runtime: "opencode", event });
47
+ await onRecord?.(this, { runtime: "opencode", event });
49
48
  if (event.type === "session.error") {
50
49
  throw new Error(event.properties.error?.name ?? "Opencode session error");
51
50
  }
@@ -73,9 +72,6 @@ export class OpencodeThread {
73
72
  .join("");
74
73
  }
75
74
  recordToPrettyString(record) {
76
- const formatValue = (value) => {
77
- return typeof value === "string" ? value : JSON.stringify(value, null, 2);
78
- };
79
75
  if ("request" in record) {
80
76
  return `[opencode] request\n${record.request}`;
81
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/runtime/opencode.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
- import { type QueryOptions } from "@qwen-code/sdk";
2
1
  import { BaseRuntime } from "./types.js";
3
- import type { Record as RuntimeRecord, RecordCallback, Thread, ThreadOptions } from "./types.js";
2
+ import type { RecordCallback, RuntimeOptions, RuntimeRecord, Thread, ThreadOptions } from "./types.js";
4
3
  export declare class QwenRuntime extends BaseRuntime<"qwen"> {
4
+ private readonly options;
5
+ constructor(options?: RuntimeOptions<"qwen">);
5
6
  startThread(options?: ThreadOptions<"qwen">): Promise<Thread<"qwen">>;
6
7
  }
7
8
  export declare class QwenThread implements Thread<"qwen"> {
8
9
  #private;
9
10
  private readonly options;
10
- constructor(options: QueryOptions);
11
+ constructor(options: ThreadOptions<"qwen">);
11
12
  runStreamed(prompt: string, onRecord?: RecordCallback<"qwen">): Promise<string>;
12
13
  recordToPrettyString(record: RuntimeRecord<"qwen">): string;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../../src/runtime/qwen.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EACV,MAAM,IAAI,aAAa,EACvB,cAAc,EACd,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAY,SAAQ,WAAW,CAAC,MAAM,CAAC;IAClD,WAAW,CAAC,OAAO,GAAE,aAAa,CAAC,MAAM,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAG1E;AAED,qBAAa,UAAW,YAAW,MAAM,CAAC,MAAM,CAAC;;IAGnC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAE5C,WAAW,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,cAAc,CAAC,MAAM,CAE9B,GACA,OAAO,CAAC,MAAM,CAAC;IAgClB,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM;CAwC5D"}
1
+ {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../../src/runtime/qwen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAY,SAAQ,WAAW,CAAC,MAAM,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,cAAc,CAAC,MAAM,CAAM;IAIjE,WAAW,CAAC,OAAO,GAAE,aAAa,CAAC,MAAM,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAG1E;AAED,qBAAa,UAAW,YAAW,MAAM,CAAC,MAAM,CAAC;;IAGnC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC;IAErD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCrF,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM;CAuC5D"}
@@ -1,8 +1,14 @@
1
1
  import { query } from "@qwen-code/sdk";
2
2
  import { BaseRuntime } from "./types.js";
3
+ import { formatValue, mergePlainObjectOptions } from "./format.js";
3
4
  export class QwenRuntime extends BaseRuntime {
5
+ options;
6
+ constructor(options = {}) {
7
+ super();
8
+ this.options = options;
9
+ }
4
10
  startThread(options = {}) {
5
- return Promise.resolve(new QwenThread(options));
11
+ return Promise.resolve(new QwenThread(mergePlainObjectOptions(this.options, options)));
6
12
  }
7
13
  }
8
14
  export class QwenThread {
@@ -11,9 +17,7 @@ export class QwenThread {
11
17
  constructor(options) {
12
18
  this.options = options;
13
19
  }
14
- async runStreamed(prompt, onRecord = (record) => {
15
- process.stdout.write(`${this.recordToPrettyString(record)}\n`);
16
- }) {
20
+ async runStreamed(prompt, onRecord) {
17
21
  const options = { ...this.options };
18
22
  if (this.#sessionId) {
19
23
  delete options.sessionId;
@@ -28,7 +32,7 @@ export class QwenThread {
28
32
  if ("session_id" in message && typeof message.session_id === "string") {
29
33
  this.#sessionId = message.session_id;
30
34
  }
31
- await onRecord({ runtime: "qwen", message });
35
+ await onRecord?.(this, { runtime: "qwen", message });
32
36
  if (message.type === "result") {
33
37
  if (!message.is_error) {
34
38
  finalResponse = message.result;
@@ -41,9 +45,6 @@ export class QwenThread {
41
45
  return finalResponse;
42
46
  }
43
47
  recordToPrettyString(record) {
44
- const formatValue = (value) => {
45
- return typeof value === "string" ? value : JSON.stringify(value, null, 2);
46
- };
47
48
  const formatContentBlock = (block) => {
48
49
  switch (block.type) {
49
50
  case "text":
@@ -74,6 +75,8 @@ export class QwenThread {
74
75
  return `[qwen] result error (${message.subtype})\n${message.error?.message ?? ""}`;
75
76
  case "stream_event":
76
77
  return `[qwen] stream event ${message.event.type}`;
78
+ default:
79
+ return `[qwen] ${formatValue(message)}`;
77
80
  }
78
81
  }
79
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"qwen.js","sourceRoot":"","sources":["../../src/runtime/qwen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qwen.js","sourceRoot":"","sources":["../../src/runtime/qwen.ts"],"names":[],"mappings":"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"}
@@ -2,57 +2,67 @@ import type { CodexOptions as CodexSdkRuntimeOptions, Input, ThreadEvent, Thread
2
2
  import type { Options as ClaudeSdkThreadOptions, SDKMessage as ClaudeSDKMessage } from "@anthropic-ai/claude-agent-sdk";
3
3
  import type { QueryOptions as QwenSdkThreadOptions, SDKMessage as QwenSdkMessage } from "@qwen-code/sdk";
4
4
  import type { Event as OpencodeEvent, OpencodeClient, ServerOptions as OpencodeSdkRuntimeOptions } from "@opencode-ai/sdk";
5
- type ClaudeSdkRuntimeOptions = never;
6
- type QwenSdkRuntimeOptions = never;
7
- type OpencodeSdkThreadOptions = Parameters<OpencodeClient["session"]["create"]>[0];
8
- export type RuntimeKind = "codex" | "claude" | "qwen" | "opencode";
9
- export type RuntimeOptions<K extends RuntimeKind = RuntimeKind> = {
10
- codex: CodexSdkRuntimeOptions;
11
- claude: ClaudeSdkRuntimeOptions;
12
- qwen: QwenSdkRuntimeOptions;
13
- opencode: OpencodeSdkRuntimeOptions;
14
- }[K];
15
- export type ThreadOptions<K extends RuntimeKind = RuntimeKind> = {
16
- codex: CodexSdkThreadOptions;
17
- claude: ClaudeSdkThreadOptions;
18
- qwen: QwenSdkThreadOptions;
19
- opencode: OpencodeSdkThreadOptions;
20
- }[K];
21
- export type Record<K extends RuntimeKind = RuntimeKind> = {
5
+ type ClaudeSdkRuntimeOptions = ClaudeSdkThreadOptions;
6
+ type QwenSdkRuntimeOptions = QwenSdkThreadOptions;
7
+ type OpencodeCreateOptions = NonNullable<Parameters<OpencodeClient["session"]["create"]>[0]>;
8
+ type OpencodeSdkThreadOptions = Omit<OpencodeCreateOptions, "throwOnError">;
9
+ export type RuntimeSpec = {
22
10
  codex: {
23
- runtime: "codex";
24
- input: Input;
25
- } | {
26
- runtime: "codex";
27
- event: ThreadEvent;
11
+ runtimeOptions: CodexSdkRuntimeOptions;
12
+ threadOptions: CodexSdkThreadOptions;
13
+ record: {
14
+ runtime: "codex";
15
+ input: Input;
16
+ } | {
17
+ runtime: "codex";
18
+ event: ThreadEvent;
19
+ };
28
20
  };
29
21
  claude: {
30
- runtime: "claude";
31
- message: ClaudeSDKMessage;
22
+ runtimeOptions: ClaudeSdkRuntimeOptions;
23
+ threadOptions: ClaudeSdkThreadOptions;
24
+ record: {
25
+ runtime: "claude";
26
+ message: ClaudeSDKMessage;
27
+ };
32
28
  };
33
29
  qwen: {
34
- runtime: "qwen";
35
- message: QwenSdkMessage;
30
+ runtimeOptions: QwenSdkRuntimeOptions;
31
+ threadOptions: QwenSdkThreadOptions;
32
+ record: {
33
+ runtime: "qwen";
34
+ message: QwenSdkMessage;
35
+ };
36
36
  };
37
37
  opencode: {
38
- runtime: "opencode";
39
- request: string;
40
- } | {
41
- runtime: "opencode";
42
- event: OpencodeEvent;
38
+ runtimeOptions: OpencodeSdkRuntimeOptions;
39
+ threadOptions: OpencodeSdkThreadOptions;
40
+ record: {
41
+ runtime: "opencode";
42
+ request: string;
43
+ } | {
44
+ runtime: "opencode";
45
+ event: OpencodeEvent;
46
+ };
43
47
  };
44
- }[K];
48
+ };
49
+ export type RuntimeKind = keyof RuntimeSpec;
50
+ export declare const runtimeKinds: RuntimeKind[];
51
+ export declare function isRuntimeKind(value: unknown): value is RuntimeKind;
52
+ export type RuntimeOptions<K extends RuntimeKind = RuntimeKind> = RuntimeSpec[K]["runtimeOptions"];
53
+ export type ThreadOptions<K extends RuntimeKind = RuntimeKind> = RuntimeSpec[K]["threadOptions"];
54
+ export type RuntimeRecord<K extends RuntimeKind = RuntimeKind> = RuntimeSpec[K]["record"];
45
55
  export interface Runtime<K extends RuntimeKind = RuntimeKind> {
46
- startThread(options: ThreadOptions<K>): Promise<Thread<K>>;
56
+ startThread(options?: ThreadOptions<K>): Promise<Thread<K>>;
47
57
  close(): Promise<void>;
48
58
  }
49
59
  export declare abstract class BaseRuntime<K extends RuntimeKind = RuntimeKind> implements Runtime<K> {
50
- abstract startThread(options: ThreadOptions<K>): Promise<Thread<K>>;
60
+ abstract startThread(options?: ThreadOptions<K>): Promise<Thread<K>>;
51
61
  close(): Promise<void>;
52
62
  }
53
- export type RecordCallback<K extends RuntimeKind = RuntimeKind> = (record: Record<K>) => void | Promise<void>;
63
+ export type RecordCallback<K extends RuntimeKind = RuntimeKind> = (thread: Thread<K>, record: RuntimeRecord<K>) => void | Promise<void>;
54
64
  export interface Thread<K extends RuntimeKind = RuntimeKind> {
55
- recordToPrettyString(record: Record<K>): string;
65
+ recordToPrettyString(record: RuntimeRecord<K>): string;
56
66
  runStreamed(prompt: string, onRecord?: RecordCallback<K>): Promise<string>;
57
67
  }
58
68
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,13 @@
1
+ const runtimeKindMap = {
2
+ codex: true,
3
+ claude: true,
4
+ qwen: true,
5
+ opencode: true,
6
+ };
7
+ export const runtimeKinds = Object.keys(runtimeKindMap);
8
+ export function isRuntimeKind(value) {
9
+ return typeof value === "string" && Object.hasOwn(runtimeKindMap, value);
10
+ }
1
11
  export class BaseRuntime {
2
12
  close() {
3
13
  return Promise.resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAsDA,MAAM,OAAgB,WAAW;IAG/B,KAAK;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAmDA,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;CACqB,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAkB,CAAC;AAEzE,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC3E,CAAC;AAWD,MAAM,OAAgB,WAAW;IAG/B,KAAK;QACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type PlainObject = Record<string, unknown>;
2
+ export declare function isPlainObject(value: unknown): value is PlainObject;
3
+ export declare function mergePlainObjects(base: PlainObject, override: PlainObject): PlainObject;
4
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAElD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAOlE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,CAUvF"}
@@ -0,0 +1,17 @@
1
+ export function isPlainObject(value) {
2
+ if (typeof value !== "object" || value === null) {
3
+ return false;
4
+ }
5
+ const prototype = Object.getPrototypeOf(value);
6
+ return prototype === Object.prototype || prototype === null;
7
+ }
8
+ export function mergePlainObjects(base, override) {
9
+ const merged = { ...base };
10
+ for (const [key, value] of Object.entries(override)) {
11
+ const existing = merged[key];
12
+ merged[key] =
13
+ isPlainObject(existing) && isPlainObject(value) ? mergePlainObjects(existing, value) : value;
14
+ }
15
+ return merged;
16
+ }
17
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/utils/object.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAY,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAiB,EAAE,QAAqB;IACxE,MAAM,MAAM,GAAgB,EAAE,GAAG,IAAI,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC;YACT,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjG,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coding-agent-forge",
3
- "version": "0.2.0",
3
+ "version": "1.1.0",
4
4
  "description": "A small runtime wrapper for Codex, Claude, Qwen Code, and opencode.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,10 +18,14 @@
18
18
  "./runtime": {
19
19
  "types": "./dist/runtime/index.d.ts",
20
20
  "import": "./dist/runtime/index.js"
21
+ },
22
+ "./agent": {
23
+ "types": "./dist/agent/index.d.ts",
24
+ "import": "./dist/agent/index.js"
21
25
  }
22
26
  },
23
27
  "bin": {
24
- "agent-forge": "dist/cli.js"
28
+ "coding-agent-forge": "dist/cli.js"
25
29
  },
26
30
  "files": [
27
31
  "dist",
@@ -1,7 +0,0 @@
1
- import type { Runtime, RuntimeKind, RuntimeOptions } from "./types.js";
2
- export type RuntimeFactory<K extends RuntimeKind> = (options?: RuntimeOptions<K>) => Runtime<K>;
3
- export type RuntimeFactoryMap = {
4
- [K in RuntimeKind]: RuntimeFactory<K>;
5
- };
6
- export declare function getRuntimeFactory<K extends RuntimeKind>(kind: K): RuntimeFactory<K>;
7
- //# sourceMappingURL=factories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/runtime/factories.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhG,MAAM,MAAM,iBAAiB,GAAG;KAC7B,CAAC,IAAI,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC;CACtC,CAAC;AASF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAEnF"}
@@ -1,14 +0,0 @@
1
- import { ClaudeRuntime } from "./claude.js";
2
- import { CodexRuntime } from "./codex.js";
3
- import { OpencodeRuntime } from "./opencode.js";
4
- import { QwenRuntime } from "./qwen.js";
5
- const runtimeFactories = {
6
- codex: (options) => new CodexRuntime(options),
7
- claude: () => new ClaudeRuntime(),
8
- qwen: () => new QwenRuntime(),
9
- opencode: (options) => new OpencodeRuntime(options),
10
- };
11
- export function getRuntimeFactory(kind) {
12
- return runtimeFactories[kind];
13
- }
14
- //# sourceMappingURL=factories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.js","sourceRoot":"","sources":["../../src/runtime/factories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,MAAM,gBAAgB,GAAsB;IAC1C,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC;IAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;IACjC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,WAAW,EAAE;IAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC;CACpD,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAwB,IAAO;IAC9D,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC"}