ikarmic-forge 0.0.0-stage → 4.4.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 (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -2
  3. package/dist/acp/server.d.ts +53 -0
  4. package/dist/acp/server.d.ts.map +1 -0
  5. package/dist/acp/server.js +235 -0
  6. package/dist/acp/server.js.map +1 -0
  7. package/dist/app.d.ts +22 -0
  8. package/dist/app.d.ts.map +1 -0
  9. package/dist/app.js +159 -0
  10. package/dist/app.js.map +1 -0
  11. package/dist/bin/forge.d.ts +3 -0
  12. package/dist/bin/forge.d.ts.map +1 -0
  13. package/dist/bin/forge.js +747 -0
  14. package/dist/bin/forge.js.map +1 -0
  15. package/dist/chat-files.d.ts +37 -0
  16. package/dist/chat-files.d.ts.map +1 -0
  17. package/dist/chat-files.js +152 -0
  18. package/dist/chat-files.js.map +1 -0
  19. package/dist/commands/acp.d.ts +4 -0
  20. package/dist/commands/acp.d.ts.map +1 -0
  21. package/dist/commands/acp.js +36 -0
  22. package/dist/commands/acp.js.map +1 -0
  23. package/dist/commands/ai-comments.d.ts +9 -0
  24. package/dist/commands/ai-comments.d.ts.map +1 -0
  25. package/dist/commands/ai-comments.js +43 -0
  26. package/dist/commands/ai-comments.js.map +1 -0
  27. package/dist/commands/architect.d.ts +9 -0
  28. package/dist/commands/architect.d.ts.map +1 -0
  29. package/dist/commands/architect.js +27 -0
  30. package/dist/commands/architect.js.map +1 -0
  31. package/dist/commands/checkpoint.d.ts +10 -0
  32. package/dist/commands/checkpoint.d.ts.map +1 -0
  33. package/dist/commands/checkpoint.js +168 -0
  34. package/dist/commands/checkpoint.js.map +1 -0
  35. package/dist/commands/config.d.ts +15 -0
  36. package/dist/commands/config.d.ts.map +1 -0
  37. package/dist/commands/config.js +180 -0
  38. package/dist/commands/config.js.map +1 -0
  39. package/dist/commands/diff.d.ts +29 -0
  40. package/dist/commands/diff.d.ts.map +1 -0
  41. package/dist/commands/diff.js +90 -0
  42. package/dist/commands/diff.js.map +1 -0
  43. package/dist/commands/hook.d.ts +10 -0
  44. package/dist/commands/hook.d.ts.map +1 -0
  45. package/dist/commands/hook.js +121 -0
  46. package/dist/commands/hook.js.map +1 -0
  47. package/dist/commands/mcp.d.ts +10 -0
  48. package/dist/commands/mcp.d.ts.map +1 -0
  49. package/dist/commands/mcp.js +110 -0
  50. package/dist/commands/mcp.js.map +1 -0
  51. package/dist/commands/orchestrator.d.ts +22 -0
  52. package/dist/commands/orchestrator.d.ts.map +1 -0
  53. package/dist/commands/orchestrator.js +113 -0
  54. package/dist/commands/orchestrator.js.map +1 -0
  55. package/dist/commands/plugin.d.ts +3 -0
  56. package/dist/commands/plugin.d.ts.map +1 -0
  57. package/dist/commands/plugin.js +62 -0
  58. package/dist/commands/plugin.js.map +1 -0
  59. package/dist/commands/policy.d.ts +2 -0
  60. package/dist/commands/policy.d.ts.map +1 -0
  61. package/dist/commands/policy.js +21 -0
  62. package/dist/commands/policy.js.map +1 -0
  63. package/dist/commands/skill.d.ts +13 -0
  64. package/dist/commands/skill.d.ts.map +1 -0
  65. package/dist/commands/skill.js +194 -0
  66. package/dist/commands/skill.js.map +1 -0
  67. package/dist/commands/spec.d.ts +13 -0
  68. package/dist/commands/spec.d.ts.map +1 -0
  69. package/dist/commands/spec.js +76 -0
  70. package/dist/commands/spec.js.map +1 -0
  71. package/dist/commands/watch.d.ts +15 -0
  72. package/dist/commands/watch.d.ts.map +1 -0
  73. package/dist/commands/watch.js +83 -0
  74. package/dist/commands/watch.js.map +1 -0
  75. package/dist/commands/worktree.d.ts +22 -0
  76. package/dist/commands/worktree.d.ts.map +1 -0
  77. package/dist/commands/worktree.js +187 -0
  78. package/dist/commands/worktree.js.map +1 -0
  79. package/dist/components/Approval.d.ts +9 -0
  80. package/dist/components/Approval.d.ts.map +1 -0
  81. package/dist/components/Approval.js +37 -0
  82. package/dist/components/Approval.js.map +1 -0
  83. package/dist/components/Footer.d.ts +22 -0
  84. package/dist/components/Footer.d.ts.map +1 -0
  85. package/dist/components/Footer.js +59 -0
  86. package/dist/components/Footer.js.map +1 -0
  87. package/dist/components/Header.d.ts +11 -0
  88. package/dist/components/Header.d.ts.map +1 -0
  89. package/dist/components/Header.js +23 -0
  90. package/dist/components/Header.js.map +1 -0
  91. package/dist/components/Spinner.d.ts +3 -0
  92. package/dist/components/Spinner.d.ts.map +1 -0
  93. package/dist/components/Spinner.js +8 -0
  94. package/dist/components/Spinner.js.map +1 -0
  95. package/dist/components/Stream.d.ts +10 -0
  96. package/dist/components/Stream.d.ts.map +1 -0
  97. package/dist/components/Stream.js +13 -0
  98. package/dist/components/Stream.js.map +1 -0
  99. package/dist/components/ToolEvent.d.ts +13 -0
  100. package/dist/components/ToolEvent.d.ts.map +1 -0
  101. package/dist/components/ToolEvent.js +54 -0
  102. package/dist/components/ToolEvent.js.map +1 -0
  103. package/dist/credential-store.d.ts +8 -0
  104. package/dist/credential-store.d.ts.map +1 -0
  105. package/dist/credential-store.js +37 -0
  106. package/dist/credential-store.js.map +1 -0
  107. package/dist/git-workflow.d.ts +16 -0
  108. package/dist/git-workflow.d.ts.map +1 -0
  109. package/dist/git-workflow.js +38 -0
  110. package/dist/git-workflow.js.map +1 -0
  111. package/dist/mcp-loader.d.ts +25 -0
  112. package/dist/mcp-loader.d.ts.map +1 -0
  113. package/dist/mcp-loader.js +99 -0
  114. package/dist/mcp-loader.js.map +1 -0
  115. package/dist/notify.d.ts +12 -0
  116. package/dist/notify.d.ts.map +1 -0
  117. package/dist/notify.js +47 -0
  118. package/dist/notify.js.map +1 -0
  119. package/dist/options.d.ts +407 -0
  120. package/dist/options.d.ts.map +1 -0
  121. package/dist/options.js +792 -0
  122. package/dist/options.js.map +1 -0
  123. package/dist/repl-commands.d.ts +53 -0
  124. package/dist/repl-commands.d.ts.map +1 -0
  125. package/dist/repl-commands.js +141 -0
  126. package/dist/repl-commands.js.map +1 -0
  127. package/dist/repl.d.ts +52 -0
  128. package/dist/repl.d.ts.map +1 -0
  129. package/dist/repl.js +1174 -0
  130. package/dist/repl.js.map +1 -0
  131. package/dist/runner.d.ts +64 -0
  132. package/dist/runner.d.ts.map +1 -0
  133. package/dist/runner.js +61 -0
  134. package/dist/runner.js.map +1 -0
  135. package/dist/session-checkpoints.d.ts +6 -0
  136. package/dist/session-checkpoints.d.ts.map +1 -0
  137. package/dist/session-checkpoints.js +25 -0
  138. package/dist/session-checkpoints.js.map +1 -0
  139. package/dist/specialists-loader.d.ts +22 -0
  140. package/dist/specialists-loader.d.ts.map +1 -0
  141. package/dist/specialists-loader.js +38 -0
  142. package/dist/specialists-loader.js.map +1 -0
  143. package/dist/tool-display.d.ts +19 -0
  144. package/dist/tool-display.d.ts.map +1 -0
  145. package/dist/tool-display.js +57 -0
  146. package/dist/tool-display.js.map +1 -0
  147. package/package.json +70 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { StructuredOutputError, isStructuredOutputError, type StructuredRunResult } from '@ikarmic/forge-core';
2
+ import type { AgentConfig, AgentEvent, AgentRunOptions, AgentRunResult, ApprovalRequest, ZodTypeAny } from '@ikarmic/forge-core';
3
+ /**
4
+ * Plain callbacks the UI implements. The runner is UI-agnostic: it just
5
+ * forwards events and resolves approval promises from whatever the UI
6
+ * decides.
7
+ */
8
+ export interface RunnerHooks {
9
+ onEvent: (event: AgentEvent) => void;
10
+ /** Called when the agent needs approval for a tool call. */
11
+ requestApproval: (request: ApprovalRequest) => Promise<boolean>;
12
+ }
13
+ export interface RunRequest {
14
+ /** Base agent config (model, cwd, etc.). The runner attaches hooks for you. */
15
+ baseConfig: AgentConfig;
16
+ /** The user task string. */
17
+ task: string;
18
+ hooks: RunnerHooks;
19
+ abortSignal?: AbortSignal;
20
+ }
21
+ export interface RunHandle {
22
+ promise: Promise<AgentRunResult>;
23
+ abort: () => void;
24
+ }
25
+ /**
26
+ * Start an agent run and return a handle so the UI can abort it (e.g. on
27
+ * Ctrl+C). The hooks are wired into the agent config so the agent can ask
28
+ * for approval and stream events back to the UI.
29
+ */
30
+ export declare function startAgent(req: RunRequest): RunHandle;
31
+ /**
32
+ * Same shape as {@link RunRequest} plus the schema the final response must
33
+ * match. Returns a handle wrapping a {@link StructuredRunResult} so the
34
+ * caller can distinguish between the agent's final text and the
35
+ * schema-validated payload.
36
+ */
37
+ export interface StructuredRunRequest {
38
+ baseConfig: AgentConfig;
39
+ task: string;
40
+ /** Zod schema the final response must validate against. */
41
+ schema: ZodTypeAny;
42
+ /** Max validation-retry rounds. */
43
+ maxRetries: number;
44
+ hooks: RunnerHooks;
45
+ abortSignal?: AbortSignal;
46
+ }
47
+ export interface StructuredRunHandle {
48
+ promise: Promise<StructuredRunResult>;
49
+ abort: () => void;
50
+ }
51
+ /**
52
+ * Start a structured-output agent run. The agent runs normally (with all
53
+ * tools, hooks, sub-agents); on every completed attempt we validate the
54
+ * final text against `req.schema` and retry with feedback if it doesn't
55
+ * match. After `maxRetries` failed attempts we throw a
56
+ * {@link StructuredOutputError} so the caller can distinguish the failure
57
+ * from generic agent errors.
58
+ */
59
+ export declare function startStructuredAgent(req: StructuredRunRequest): StructuredRunHandle;
60
+ export { isStructuredOutputError, StructuredOutputError };
61
+ export type { StructuredRunResult };
62
+ export type { AgentRunOptions };
63
+ export type { ZodTypeAny };
64
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACX,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,4DAA4D;IAC5D,eAAe,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,UAAU,EAAE,WAAW,CAAC;IACxB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAqBrD;AAID;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,WAAW,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,MAAM,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,oBAAoB,GAAG,mBAAmB,CAwBnF;AAID,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,CAAC;AACpC,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,CAAC"}
package/dist/runner.js ADDED
@@ -0,0 +1,61 @@
1
+ import { Agent, runStructuredAgent, StructuredOutputError, isStructuredOutputError, } from '@ikarmic/forge-core';
2
+ /**
3
+ * Start an agent run and return a handle so the UI can abort it (e.g. on
4
+ * Ctrl+C). The hooks are wired into the agent config so the agent can ask
5
+ * for approval and stream events back to the UI.
6
+ */
7
+ export function startAgent(req) {
8
+ const controller = new AbortController();
9
+ if (req.abortSignal) {
10
+ req.abortSignal.addEventListener('abort', () => controller.abort(), { once: true });
11
+ }
12
+ const config = {
13
+ ...req.baseConfig,
14
+ abortSignal: controller.signal,
15
+ approve: req.hooks.requestApproval,
16
+ };
17
+ const promise = new Agent(config).run({
18
+ task: req.task,
19
+ abortSignal: controller.signal,
20
+ onEvent: req.hooks.onEvent,
21
+ });
22
+ return {
23
+ promise,
24
+ abort: () => controller.abort(),
25
+ };
26
+ }
27
+ /**
28
+ * Start a structured-output agent run. The agent runs normally (with all
29
+ * tools, hooks, sub-agents); on every completed attempt we validate the
30
+ * final text against `req.schema` and retry with feedback if it doesn't
31
+ * match. After `maxRetries` failed attempts we throw a
32
+ * {@link StructuredOutputError} so the caller can distinguish the failure
33
+ * from generic agent errors.
34
+ */
35
+ export function startStructuredAgent(req) {
36
+ const controller = new AbortController();
37
+ if (req.abortSignal) {
38
+ req.abortSignal.addEventListener('abort', () => controller.abort(), { once: true });
39
+ }
40
+ const config = {
41
+ ...req.baseConfig,
42
+ abortSignal: controller.signal,
43
+ approve: req.hooks.requestApproval,
44
+ };
45
+ const promise = runStructuredAgent({
46
+ baseConfig: config,
47
+ task: req.task,
48
+ schema: req.schema,
49
+ maxRetries: req.maxRetries,
50
+ abortSignal: controller.signal,
51
+ onEvent: req.hooks.onEvent,
52
+ });
53
+ return {
54
+ promise,
55
+ abort: () => controller.abort(),
56
+ };
57
+ }
58
+ // Re-exports so callers don't have to dig into `@ikarmic/forge-core` for
59
+ // the error type.
60
+ export { isStructuredOutputError, StructuredOutputError };
61
+ //# sourceMappingURL=runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAmC7B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAe;IACxC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAgB;QAC1B,GAAG,GAAG,CAAC,UAAU;QACjB,WAAW,EAAE,UAAU,CAAC,MAAM;QAC9B,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe;KACnC,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC;QACpC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,UAAU,CAAC,MAAM;QAC9B,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO;KAC3B,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;KAChC,CAAC;AACJ,CAAC;AA0BD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAyB;IAC5D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAgB;QAC1B,GAAG,GAAG,CAAC,UAAU;QACjB,WAAW,EAAE,UAAU,CAAC,MAAM;QAC9B,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe;KACnC,CAAC;IAEF,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,WAAW,EAAE,UAAU,CAAC,MAAM;QAC9B,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO;KAC3B,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,kBAAkB;AAClB,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CheckpointStore, type AgentConfig } from '@ikarmic/forge-core';
2
+ export declare function sessionCheckpointDir(sessionsDir: string, sessionId: string): string;
3
+ export declare function sessionCheckpointStore(sessionsDir: string, sessionId: string, cwd: string): CheckpointStore;
4
+ /** AgentConfig.checkpoints for a CLI session. Skips the whole-workspace start snapshot. */
5
+ export declare function sessionCheckpointsConfig(sessionsDir: string, sessionId: string, cwd: string): NonNullable<AgentConfig['checkpoints']>;
6
+ //# sourceMappingURL=session-checkpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-checkpoints.d.ts","sourceRoot":"","sources":["../src/session-checkpoints.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAKxE,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAE3G;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAOzC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Per-session checkpoint wiring for the CLI. Checkpoints live at
3
+ * `<sessionsDir>/<sessionId>/checkpoints/` so `Checkpoint.sessionId` is the
4
+ * real session id and one session's `/rewind` never lists another's.
5
+ */
6
+ import path from 'node:path';
7
+ import { CheckpointStore } from '@ikarmic/forge-core';
8
+ /** Tools whose pre-call state is snapshotted (file-scoped, or capped full walk for shell). */
9
+ const CAPTURE_BEFORE_TOOLS = ['write_file', 'edit_file', 'run_command'];
10
+ export function sessionCheckpointDir(sessionsDir, sessionId) {
11
+ return path.join(sessionsDir, sessionId);
12
+ }
13
+ export function sessionCheckpointStore(sessionsDir, sessionId, cwd) {
14
+ return new CheckpointStore(sessionCheckpointDir(sessionsDir, sessionId), cwd);
15
+ }
16
+ /** AgentConfig.checkpoints for a CLI session. Skips the whole-workspace start snapshot. */
17
+ export function sessionCheckpointsConfig(sessionsDir, sessionId, cwd) {
18
+ return {
19
+ store: sessionCheckpointStore(sessionsDir, sessionId, cwd),
20
+ captureInitial: false,
21
+ captureWorktreeContext: true,
22
+ captureBeforeTools: CAPTURE_BEFORE_TOOLS,
23
+ };
24
+ }
25
+ //# sourceMappingURL=session-checkpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-checkpoints.js","sourceRoot":"","sources":["../src/session-checkpoints.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AAExE,8FAA8F;AAC9F,MAAM,oBAAoB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAExE,MAAM,UAAU,oBAAoB,CAAC,WAAmB,EAAE,SAAiB;IACzE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB,EAAE,SAAiB,EAAE,GAAW;IACxF,OAAO,IAAI,eAAe,CAAC,oBAAoB,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,wBAAwB,CACtC,WAAmB,EACnB,SAAiB,EACjB,GAAW;IAEX,OAAO;QACL,KAAK,EAAE,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC;QAC1D,cAAc,EAAE,KAAK;QACrB,sBAAsB,EAAE,IAAI;QAC5B,kBAAkB,EAAE,oBAAoB;KACzC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Bootstrap loader for `~/.forge/specialists.json`: runs once at CLI
3
+ * startup so custom specialists are available to every orchestrator
4
+ * command without each command having to know about the file.
5
+ *
6
+ * Designed to be silent on the happy path (file missing → no-op),
7
+ * verbose on failure: malformed JSON or unreadable file → stderr
8
+ * warning so the user knows why their custom profile isn't picked
9
+ * up. We never exit non-zero just because the user has a bad
10
+ * config: the built-ins still work.
11
+ */
12
+ /**
13
+ * Load custom specialists from the user's config file. Logs warnings
14
+ * to stderr but never throws: returns the load result so callers
15
+ * can introspect or display counts.
16
+ */
17
+ export declare function loadCustomSpecialists(): {
18
+ registered: number;
19
+ warnings: number;
20
+ errors: number;
21
+ };
22
+ //# sourceMappingURL=specialists-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialists-loader.d.ts","sourceRoot":"","sources":["../src/specialists-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAkBA"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Bootstrap loader for `~/.forge/specialists.json`: runs once at CLI
3
+ * startup so custom specialists are available to every orchestrator
4
+ * command without each command having to know about the file.
5
+ *
6
+ * Designed to be silent on the happy path (file missing → no-op),
7
+ * verbose on failure: malformed JSON or unreadable file → stderr
8
+ * warning so the user knows why their custom profile isn't picked
9
+ * up. We never exit non-zero just because the user has a bad
10
+ * config: the built-ins still work.
11
+ */
12
+ import process from 'node:process';
13
+ import { loadSpecialistsFromConfig } from '@ikarmic/forge-core';
14
+ /**
15
+ * Load custom specialists from the user's config file. Logs warnings
16
+ * to stderr but never throws: returns the load result so callers
17
+ * can introspect or display counts.
18
+ */
19
+ export function loadCustomSpecialists() {
20
+ const result = loadSpecialistsFromConfig();
21
+ if (result.errors.length > 0) {
22
+ for (const err of result.errors) {
23
+ process.stderr.write(`forge specialists: ${err}\n`);
24
+ }
25
+ }
26
+ if (result.warnings.length > 0) {
27
+ for (const w of result.warnings) {
28
+ const prefix = w.id ? `specialist[${w.id}]` : 'specialist';
29
+ process.stderr.write(`forge specialists: ${prefix}: ${w.message}\n`);
30
+ }
31
+ }
32
+ return {
33
+ registered: result.registered.length,
34
+ warnings: result.warnings.length,
35
+ errors: result.errors.length,
36
+ };
37
+ }
38
+ //# sourceMappingURL=specialists-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specialists-loader.js","sourceRoot":"","sources":["../src/specialists-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IAKnC,MAAM,MAAM,GAAG,yBAAyB,EAAE,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;QACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;KAC7B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ export type DetailLevel = 'compact' | 'full';
2
+ /**
3
+ * Summarize a tool result for display. `detail: 'compact'` (default)
4
+ * caps at 10 lines, matching today's behavior; `'full'` shows everything.
5
+ */
6
+ export declare function summarizeResult(result: unknown, isError: boolean | undefined, detail?: DetailLevel): string;
7
+ /**
8
+ * Return a unified-diff string for `edit_file`/`write_file` calls, or null
9
+ * for any other tool (or when the needed data isn't available yet).
10
+ *
11
+ * `edit_file`'s call args always carry old_text/new_text, so its diff is
12
+ * available immediately. `write_file`'s args only carry the NEW content:
13
+ * there is no "before" text to diff against for an overwrite: so a diff
14
+ * is only produced when the tool's result confirms `created: true` (a
15
+ * brand-new file, diffed against an empty string); an overwrite of an
16
+ * existing file falls back to the generic renderer.
17
+ */
18
+ export declare function getUnifiedDiffText(name: string, args: unknown, result: unknown): string | null;
19
+ //# sourceMappingURL=tool-display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-display.d.ts","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,GAAE,WAAuB,GAAG,MAAM,CAkBtH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAiB9F"}
@@ -0,0 +1,57 @@
1
+ import { computeUnifiedDiff } from '@ikarmic/forge-core';
2
+ /**
3
+ * Summarize a tool result for display. `detail: 'compact'` (default)
4
+ * caps at 10 lines, matching today's behavior; `'full'` shows everything.
5
+ */
6
+ export function summarizeResult(result, isError, detail = 'compact') {
7
+ if (result === undefined)
8
+ return '';
9
+ let text;
10
+ if (typeof result === 'string') {
11
+ text = result;
12
+ }
13
+ else {
14
+ try {
15
+ text = JSON.stringify(result, null, 2);
16
+ }
17
+ catch {
18
+ text = String(result);
19
+ }
20
+ }
21
+ const allLines = text.split('\n');
22
+ const cap = detail === 'full' ? allLines.length : 10;
23
+ const lines = allLines.slice(0, cap);
24
+ const truncated = allLines.length > cap;
25
+ const header = isError ? '↳ error:' : '↳';
26
+ return [header, ...lines.map((l) => ' ' + l)].join('\n') + (truncated ? '\n ... (truncated)' : '');
27
+ }
28
+ /**
29
+ * Return a unified-diff string for `edit_file`/`write_file` calls, or null
30
+ * for any other tool (or when the needed data isn't available yet).
31
+ *
32
+ * `edit_file`'s call args always carry old_text/new_text, so its diff is
33
+ * available immediately. `write_file`'s args only carry the NEW content:
34
+ * there is no "before" text to diff against for an overwrite: so a diff
35
+ * is only produced when the tool's result confirms `created: true` (a
36
+ * brand-new file, diffed against an empty string); an overwrite of an
37
+ * existing file falls back to the generic renderer.
38
+ */
39
+ export function getUnifiedDiffText(name, args, result) {
40
+ if (name === 'edit_file') {
41
+ const a = args;
42
+ if (a && typeof a.old_text === 'string' && typeof a.new_text === 'string') {
43
+ return computeUnifiedDiff(a.old_text, a.new_text).text;
44
+ }
45
+ return null;
46
+ }
47
+ if (name === 'write_file') {
48
+ const a = args;
49
+ const r = result;
50
+ if (a && typeof a.content === 'string' && r && r.created === true) {
51
+ return computeUnifiedDiff('', a.content).text;
52
+ }
53
+ return null;
54
+ }
55
+ return null;
56
+ }
57
+ //# sourceMappingURL=tool-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-display.js","sourceRoot":"","sources":["../src/tool-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,OAA4B,EAAE,SAAsB,SAAS;IAC5G,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACvG,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,IAAa,EAAE,MAAe;IAC7E,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAyD,CAAC;QACpE,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1E,OAAO,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAoC,CAAC;QAC/C,MAAM,CAAC,GAAG,MAAsC,CAAC;QACjD,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAClE,OAAO,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,73 @@
1
1
  {
2
2
  "name": "ikarmic-forge",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "4.4.0",
4
+ "description": "IKarmic AI Forge CLI: run AI coding agents from your terminal. Multi-model (OpenAI, Anthropic, Google, Ollama, OpenRouter), MCP, sandbox, project memory, plan mode, context compaction.",
5
+ "type": "module",
6
+ "bin": {
7
+ "forge": "./dist/bin/forge.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md"
20
+ ],
21
+ "keywords": [
22
+ "ai",
23
+ "cli",
24
+ "agent",
25
+ "llm",
26
+ "claude",
27
+ "gpt",
28
+ "gemini",
29
+ "ollama",
30
+ "openrouter",
31
+ "mcp",
32
+ "code-assistant",
33
+ "repl"
34
+ ],
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/ikarmicai/ikarmic-forge"
39
+ },
40
+ "bugs": {
41
+ "url": "https://github.com/ikarmicai/ikarmic-forge/issues"
42
+ },
43
+ "homepage": "https://github.com/ikarmicai/ikarmic-forge#readme",
44
+ "engines": {
45
+ "node": ">=22"
46
+ },
47
+ "dependencies": {
48
+ "@napi-rs/keyring": "^1.0.0",
49
+ "ai": "^7.0.0",
50
+ "commander": "^12.1.0",
51
+ "ink": "^5.0.1",
52
+ "ink-select-input": "^6.0.0",
53
+ "ink-spinner": "^5.0.0",
54
+ "ink-text-input": "^6.0.0",
55
+ "react": "^18.3.1",
56
+ "@ikarmic/forge-core": "4.4.0"
57
+ },
58
+ "devDependencies": {
59
+ "@types/node": "^22.7.0",
60
+ "@types/react": "^18.3.12",
61
+ "ink-testing-library": "^4.0.0",
62
+ "tsx": "^4.19.2",
63
+ "typescript": "^5.6.3",
64
+ "vitest": "^5.0.2"
65
+ },
66
+ "scripts": {
67
+ "build": "tsc -p tsconfig.json",
68
+ "dev": "tsx src/bin/forge.ts",
69
+ "test": "vitest run --passWithNoTests",
70
+ "typecheck": "tsc -p tsconfig.json --noEmit",
71
+ "clean": "rm -rf dist *.tsbuildinfo"
72
+ }
6
73
  }