ikarmic-forge 0.0.0-stage → 4.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.
- package/LICENSE +21 -0
- package/README.md +62 -2
- package/dist/acp/server.d.ts +55 -0
- package/dist/acp/server.d.ts.map +1 -0
- package/dist/acp/server.js +276 -0
- package/dist/acp/server.js.map +1 -0
- package/dist/app.d.ts +22 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +159 -0
- package/dist/app.js.map +1 -0
- package/dist/bin/forge.d.ts +3 -0
- package/dist/bin/forge.d.ts.map +1 -0
- package/dist/bin/forge.js +786 -0
- package/dist/bin/forge.js.map +1 -0
- package/dist/chat-files.d.ts +45 -0
- package/dist/chat-files.d.ts.map +1 -0
- package/dist/chat-files.js +189 -0
- package/dist/chat-files.js.map +1 -0
- package/dist/clipboard.d.ts +38 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clipboard.js +63 -0
- package/dist/clipboard.js.map +1 -0
- package/dist/commands/acp.d.ts +4 -0
- package/dist/commands/acp.d.ts.map +1 -0
- package/dist/commands/acp.js +36 -0
- package/dist/commands/acp.js.map +1 -0
- package/dist/commands/ai-comments.d.ts +9 -0
- package/dist/commands/ai-comments.d.ts.map +1 -0
- package/dist/commands/ai-comments.js +43 -0
- package/dist/commands/ai-comments.js.map +1 -0
- package/dist/commands/architect.d.ts +9 -0
- package/dist/commands/architect.d.ts.map +1 -0
- package/dist/commands/architect.js +27 -0
- package/dist/commands/architect.js.map +1 -0
- package/dist/commands/checkpoint.d.ts +10 -0
- package/dist/commands/checkpoint.d.ts.map +1 -0
- package/dist/commands/checkpoint.js +168 -0
- package/dist/commands/checkpoint.js.map +1 -0
- package/dist/commands/config.d.ts +15 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +180 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/diff.d.ts +29 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +90 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/hook.d.ts +10 -0
- package/dist/commands/hook.d.ts.map +1 -0
- package/dist/commands/hook.js +121 -0
- package/dist/commands/hook.js.map +1 -0
- package/dist/commands/mcp.d.ts +10 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +110 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/memory.d.ts +10 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +77 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/orchestrator.d.ts +22 -0
- package/dist/commands/orchestrator.d.ts.map +1 -0
- package/dist/commands/orchestrator.js +113 -0
- package/dist/commands/orchestrator.js.map +1 -0
- package/dist/commands/plugin.d.ts +3 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +62 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/policy.d.ts +2 -0
- package/dist/commands/policy.d.ts.map +1 -0
- package/dist/commands/policy.js +21 -0
- package/dist/commands/policy.js.map +1 -0
- package/dist/commands/skill.d.ts +13 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +194 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/spec.d.ts +23 -0
- package/dist/commands/spec.d.ts.map +1 -0
- package/dist/commands/spec.js +147 -0
- package/dist/commands/spec.js.map +1 -0
- package/dist/commands/watch.d.ts +15 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +83 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/commands/worktree.d.ts +22 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +187 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/components/Approval.d.ts +9 -0
- package/dist/components/Approval.d.ts.map +1 -0
- package/dist/components/Approval.js +39 -0
- package/dist/components/Approval.js.map +1 -0
- package/dist/components/Footer.d.ts +22 -0
- package/dist/components/Footer.d.ts.map +1 -0
- package/dist/components/Footer.js +59 -0
- package/dist/components/Footer.js.map +1 -0
- package/dist/components/Header.d.ts +11 -0
- package/dist/components/Header.d.ts.map +1 -0
- package/dist/components/Header.js +23 -0
- package/dist/components/Header.js.map +1 -0
- package/dist/components/Spinner.d.ts +3 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +8 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/Stream.d.ts +10 -0
- package/dist/components/Stream.d.ts.map +1 -0
- package/dist/components/Stream.js +13 -0
- package/dist/components/Stream.js.map +1 -0
- package/dist/components/ToolEvent.d.ts +13 -0
- package/dist/components/ToolEvent.d.ts.map +1 -0
- package/dist/components/ToolEvent.js +54 -0
- package/dist/components/ToolEvent.js.map +1 -0
- package/dist/credential-store.d.ts +8 -0
- package/dist/credential-store.d.ts.map +1 -0
- package/dist/credential-store.js +37 -0
- package/dist/credential-store.js.map +1 -0
- package/dist/git-workflow.d.ts +16 -0
- package/dist/git-workflow.d.ts.map +1 -0
- package/dist/git-workflow.js +38 -0
- package/dist/git-workflow.js.map +1 -0
- package/dist/mcp-loader.d.ts +25 -0
- package/dist/mcp-loader.d.ts.map +1 -0
- package/dist/mcp-loader.js +99 -0
- package/dist/mcp-loader.js.map +1 -0
- package/dist/notify.d.ts +12 -0
- package/dist/notify.d.ts.map +1 -0
- package/dist/notify.js +47 -0
- package/dist/notify.js.map +1 -0
- package/dist/options.d.ts +449 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +871 -0
- package/dist/options.js.map +1 -0
- package/dist/repl-commands.d.ts +92 -0
- package/dist/repl-commands.d.ts.map +1 -0
- package/dist/repl-commands.js +228 -0
- package/dist/repl-commands.js.map +1 -0
- package/dist/repl-extras.d.ts +39 -0
- package/dist/repl-extras.d.ts.map +1 -0
- package/dist/repl-extras.js +120 -0
- package/dist/repl-extras.js.map +1 -0
- package/dist/repl.d.ts +76 -0
- package/dist/repl.d.ts.map +1 -0
- package/dist/repl.js +1507 -0
- package/dist/repl.js.map +1 -0
- package/dist/runner.d.ts +64 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +61 -0
- package/dist/runner.js.map +1 -0
- package/dist/session-checkpoints.d.ts +6 -0
- package/dist/session-checkpoints.d.ts.map +1 -0
- package/dist/session-checkpoints.js +25 -0
- package/dist/session-checkpoints.js.map +1 -0
- package/dist/specialists-loader.d.ts +22 -0
- package/dist/specialists-loader.d.ts.map +1 -0
- package/dist/specialists-loader.js +38 -0
- package/dist/specialists-loader.js.map +1 -0
- package/dist/tool-display.d.ts +19 -0
- package/dist/tool-display.d.ts.map +1 -0
- package/dist/tool-display.js +57 -0
- package/dist/tool-display.js.map +1 -0
- package/package.json +70 -3
package/dist/repl.d.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ModelMessage } from 'ai';
|
|
3
|
+
import { type AgentConfig, type ForgeConfigFile, type ModelConfig } from '@ikarmic/forge-core';
|
|
4
|
+
import type { Notifier } from './notify.js';
|
|
5
|
+
import { copyToClipboard, readClipboard } from './clipboard.js';
|
|
6
|
+
import { type EditorResult } from './repl-extras.js';
|
|
7
|
+
import type { GitWorkflow } from './git-workflow.js';
|
|
8
|
+
/**
|
|
9
|
+
* Persistent interactive REPL: multi-turn chat with the agent.
|
|
10
|
+
*
|
|
11
|
+
* Each turn:
|
|
12
|
+
* 1. User types a task, presses Enter.
|
|
13
|
+
* 2. We append a user message to history.
|
|
14
|
+
* 3. We run `new Agent(config).run({ task, history })`.
|
|
15
|
+
* 4. We stream events into the visible transcript.
|
|
16
|
+
* 5. After completion, we append the agent's new messages to history.
|
|
17
|
+
* 6. Repeat.
|
|
18
|
+
*
|
|
19
|
+
* The conversation history is what enables multi-turn context: every tool
|
|
20
|
+
* result the agent saw is preserved across turns.
|
|
21
|
+
*/
|
|
22
|
+
export interface PageFetch {
|
|
23
|
+
url: string;
|
|
24
|
+
title?: string;
|
|
25
|
+
status: number;
|
|
26
|
+
excerpt: string;
|
|
27
|
+
truncated: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface ReplServices {
|
|
30
|
+
copy?: typeof copyToClipboard;
|
|
31
|
+
read?: typeof readClipboard;
|
|
32
|
+
/** Open the user's editor on `initial` and return what they wrote. */
|
|
33
|
+
edit?: (initial: string) => Promise<EditorResult>;
|
|
34
|
+
fetchPage?: (url: string, cwd: string) => Promise<PageFetch>;
|
|
35
|
+
}
|
|
36
|
+
export interface ReplProps {
|
|
37
|
+
baseConfig: AgentConfig;
|
|
38
|
+
model: ModelConfig;
|
|
39
|
+
onExit: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* Either a fresh session id (start a new session) or an existing id
|
|
42
|
+
* (resume from `~/.forge/sessions/<id>.json`). Either way, the REPL
|
|
43
|
+
* auto-saves after every turn so the user can pick up where they left off.
|
|
44
|
+
*/
|
|
45
|
+
sessionId: string;
|
|
46
|
+
/** Pre-loaded history, if resuming. */
|
|
47
|
+
initialHistory?: ModelMessage[];
|
|
48
|
+
/** Initial label, if any. */
|
|
49
|
+
initialLabel?: string;
|
|
50
|
+
/** Where to persist sessions. */
|
|
51
|
+
sessionDir: string;
|
|
52
|
+
display?: ForgeConfigFile['display'];
|
|
53
|
+
/** `--auto-commit` workflow; null/absent when off. */
|
|
54
|
+
gitWorkflow?: GitWorkflow | null;
|
|
55
|
+
/** Commit options (attribution, hooks) used by `/commit`. */
|
|
56
|
+
gitOptions?: {
|
|
57
|
+
noAttribute: boolean;
|
|
58
|
+
gitCommitVerify: boolean;
|
|
59
|
+
};
|
|
60
|
+
/** Called when a turn finishes (`--notifications`). */
|
|
61
|
+
notify?: Notifier;
|
|
62
|
+
/** Model that drafts commit messages for `/commit`. */
|
|
63
|
+
commitModel?: ModelConfig;
|
|
64
|
+
/** `aliases` from ~/.forge/config.json, for `/model` and `/models`. */
|
|
65
|
+
aliases?: Record<string, string>;
|
|
66
|
+
/** Forge's version, for `/report`. */
|
|
67
|
+
version?: string;
|
|
68
|
+
/** Replaceable system access (clipboard, editor, web), for tests. */
|
|
69
|
+
services?: ReplServices;
|
|
70
|
+
/** `--lint-cmd` commands: what `/lint` runs with no argument. */
|
|
71
|
+
lintCmds?: string[];
|
|
72
|
+
/** `--test-cmd` commands: what `/test` runs with no argument. */
|
|
73
|
+
testCmds?: string[];
|
|
74
|
+
}
|
|
75
|
+
export declare function Repl({ baseConfig, model: initialModel, onExit, sessionId, initialHistory, initialLabel, sessionDir, display, gitWorkflow, gitOptions, commitModel, notify, aliases, version, services, lintCmds, testCmds, }: ReplProps): React.ReactElement;
|
|
76
|
+
//# sourceMappingURL=repl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC,OAAO,EAEL,KAAK,WAAW,EAKhB,KAAK,eAAe,EACpB,KAAK,WAAW,EAgBjB,MAAM,qBAAqB,CAAC;AAiB7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAkB1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,eAAe,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC;IAC5B,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;CAC9D;AA+BD,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,6BAA6B;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,sDAAsD;IACtD,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,6DAA6D;IAC7D,UAAU,CAAC,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;IAChE,uDAAuD;IACvD,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,uDAAuD;IACvD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAuBD,wBAAgB,IAAI,CAAC,EACnB,UAAU,EACV,KAAK,EAAE,YAAY,EACnB,MAAM,EACN,SAAS,EACT,cAAc,EACd,YAAY,EACZ,UAAU,EACV,OAAY,EACZ,WAAkB,EAClB,UAA2D,EAC3D,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAmB,EACnB,QAAQ,EACR,QAAa,EACb,QAAa,GACd,EAAE,SAAS,GAAG,KAAK,CAAC,YAAY,CA04ChC"}
|