longer-agent 0.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.
- package/LICENSE +21 -0
- package/README.md +227 -0
- package/README.zh-CN.md +227 -0
- package/agent_templates/executor/agent.yaml +22 -0
- package/agent_templates/executor/system_prompt.md +17 -0
- package/agent_templates/explorer/agent.yaml +13 -0
- package/agent_templates/explorer/system_prompt.md +19 -0
- package/agent_templates/main/agent.yaml +7 -0
- package/agent_templates/main/system_prompt.md +45 -0
- package/configExample.yaml +83 -0
- package/dist/agents/agent.d.ts +79 -0
- package/dist/agents/agent.d.ts.map +1 -0
- package/dist/agents/agent.js +156 -0
- package/dist/agents/agent.js.map +1 -0
- package/dist/agents/tool-loop.d.ts +140 -0
- package/dist/agents/tool-loop.d.ts.map +1 -0
- package/dist/agents/tool-loop.js +465 -0
- package/dist/agents/tool-loop.js.map +1 -0
- package/dist/ask.d.ts +81 -0
- package/dist/ask.d.ts.map +1 -0
- package/dist/ask.js +34 -0
- package/dist/ask.js.map +1 -0
- package/dist/auth/openai-oauth.d.ts +66 -0
- package/dist/auth/openai-oauth.d.ts.map +1 -0
- package/dist/auth/openai-oauth.js +640 -0
- package/dist/auth/openai-oauth.js.map +1 -0
- package/dist/cli.d.ts +14 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +254 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +118 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +862 -0
- package/dist/commands.js.map +1 -0
- package/dist/config.d.ts +130 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +648 -0
- package/dist/config.js.map +1 -0
- package/dist/context-rendering.d.ts +69 -0
- package/dist/context-rendering.d.ts.map +1 -0
- package/dist/context-rendering.js +250 -0
- package/dist/context-rendering.js.map +1 -0
- package/dist/document-projection.d.ts +12 -0
- package/dist/document-projection.d.ts.map +1 -0
- package/dist/document-projection.js +75 -0
- package/dist/document-projection.js.map +1 -0
- package/dist/ephemeral-log.d.ts +15 -0
- package/dist/ephemeral-log.d.ts.map +1 -0
- package/dist/ephemeral-log.js +173 -0
- package/dist/ephemeral-log.js.map +1 -0
- package/dist/file-attach.d.ts +89 -0
- package/dist/file-attach.d.ts.map +1 -0
- package/dist/file-attach.js +571 -0
- package/dist/file-attach.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -0
- package/dist/init-wizard.d.ts +13 -0
- package/dist/init-wizard.d.ts.map +1 -0
- package/dist/init-wizard.js +328 -0
- package/dist/init-wizard.js.map +1 -0
- package/dist/log-entry.d.ts +104 -0
- package/dist/log-entry.d.ts.map +1 -0
- package/dist/log-entry.js +292 -0
- package/dist/log-entry.js.map +1 -0
- package/dist/log-projection.d.ts +73 -0
- package/dist/log-projection.d.ts.map +1 -0
- package/dist/log-projection.js +651 -0
- package/dist/log-projection.js.map +1 -0
- package/dist/mcp-client.d.ts +55 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +402 -0
- package/dist/mcp-client.js.map +1 -0
- package/dist/model-selection.d.ts +16 -0
- package/dist/model-selection.d.ts.map +1 -0
- package/dist/model-selection.js +181 -0
- package/dist/model-selection.js.map +1 -0
- package/dist/network-retry.d.ts +38 -0
- package/dist/network-retry.d.ts.map +1 -0
- package/dist/network-retry.js +140 -0
- package/dist/network-retry.js.map +1 -0
- package/dist/persistence.d.ts +104 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +644 -0
- package/dist/persistence.js.map +1 -0
- package/dist/primitives/context.d.ts +29 -0
- package/dist/primitives/context.d.ts.map +1 -0
- package/dist/primitives/context.js +85 -0
- package/dist/primitives/context.js.map +1 -0
- package/dist/progress.d.ts +51 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +229 -0
- package/dist/progress.js.map +1 -0
- package/dist/provider-presets.d.ts +34 -0
- package/dist/provider-presets.d.ts.map +1 -0
- package/dist/provider-presets.js +181 -0
- package/dist/provider-presets.js.map +1 -0
- package/dist/providers/anthropic.d.ts +32 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +450 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +135 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +104 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/glm.d.ts +18 -0
- package/dist/providers/glm.d.ts.map +1 -0
- package/dist/providers/glm.js +59 -0
- package/dist/providers/glm.js.map +1 -0
- package/dist/providers/kimi.d.ts +23 -0
- package/dist/providers/kimi.d.ts.map +1 -0
- package/dist/providers/kimi.js +89 -0
- package/dist/providers/kimi.js.map +1 -0
- package/dist/providers/minimax.d.ts +20 -0
- package/dist/providers/minimax.d.ts.map +1 -0
- package/dist/providers/minimax.js +192 -0
- package/dist/providers/minimax.js.map +1 -0
- package/dist/providers/openai-chat.d.ts +33 -0
- package/dist/providers/openai-chat.d.ts.map +1 -0
- package/dist/providers/openai-chat.js +543 -0
- package/dist/providers/openai-chat.js.map +1 -0
- package/dist/providers/openai-responses.d.ts +26 -0
- package/dist/providers/openai-responses.d.ts.map +1 -0
- package/dist/providers/openai-responses.js +443 -0
- package/dist/providers/openai-responses.js.map +1 -0
- package/dist/providers/openrouter.d.ts +24 -0
- package/dist/providers/openrouter.d.ts.map +1 -0
- package/dist/providers/openrouter.js +177 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/registry.d.ts +7 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +38 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/security/path.d.ts +51 -0
- package/dist/security/path.d.ts.map +1 -0
- package/dist/security/path.js +187 -0
- package/dist/security/path.js.map +1 -0
- package/dist/security/sensitive-files.d.ts +3 -0
- package/dist/security/sensitive-files.d.ts.map +1 -0
- package/dist/security/sensitive-files.js +41 -0
- package/dist/security/sensitive-files.js.map +1 -0
- package/dist/session.d.ts +446 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +4595 -0
- package/dist/session.js.map +1 -0
- package/dist/settings.d.ts +46 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +134 -0
- package/dist/settings.js.map +1 -0
- package/dist/show-context.d.ts +35 -0
- package/dist/show-context.d.ts.map +1 -0
- package/dist/show-context.js +320 -0
- package/dist/show-context.js.map +1 -0
- package/dist/skills/loader.d.ts +49 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +166 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/summarize-context.d.ts +29 -0
- package/dist/summarize-context.d.ts.map +1 -0
- package/dist/summarize-context.js +247 -0
- package/dist/summarize-context.js.map +1 -0
- package/dist/templates/loader.d.ts +104 -0
- package/dist/templates/loader.d.ts.map +1 -0
- package/dist/templates/loader.js +514 -0
- package/dist/templates/loader.js.map +1 -0
- package/dist/tools/basic.d.ts +29 -0
- package/dist/tools/basic.d.ts.map +1 -0
- package/dist/tools/basic.js +2079 -0
- package/dist/tools/basic.js.map +1 -0
- package/dist/tools/comm.d.ts +17 -0
- package/dist/tools/comm.d.ts.map +1 -0
- package/dist/tools/comm.js +192 -0
- package/dist/tools/comm.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +11 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +237 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +24 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +51 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tui/app.d.ts +35 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +1042 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/checkbox-picker.d.ts +35 -0
- package/dist/tui/checkbox-picker.d.ts.map +1 -0
- package/dist/tui/checkbox-picker.js +85 -0
- package/dist/tui/checkbox-picker.js.map +1 -0
- package/dist/tui/command-picker.d.ts +31 -0
- package/dist/tui/command-picker.d.ts.map +1 -0
- package/dist/tui/command-picker.js +113 -0
- package/dist/tui/command-picker.js.map +1 -0
- package/dist/tui/components/ask-panel.d.ts +21 -0
- package/dist/tui/components/ask-panel.d.ts.map +1 -0
- package/dist/tui/components/ask-panel.js +81 -0
- package/dist/tui/components/ask-panel.js.map +1 -0
- package/dist/tui/components/conversation-panel.d.ts +68 -0
- package/dist/tui/components/conversation-panel.d.ts.map +1 -0
- package/dist/tui/components/conversation-panel.js +611 -0
- package/dist/tui/components/conversation-panel.js.map +1 -0
- package/dist/tui/components/input-panel.d.ts +27 -0
- package/dist/tui/components/input-panel.d.ts.map +1 -0
- package/dist/tui/components/input-panel.js +725 -0
- package/dist/tui/components/input-panel.js.map +1 -0
- package/dist/tui/components/logo-panel.d.ts +14 -0
- package/dist/tui/components/logo-panel.d.ts.map +1 -0
- package/dist/tui/components/logo-panel.js +37 -0
- package/dist/tui/components/logo-panel.js.map +1 -0
- package/dist/tui/components/plan-panel.d.ts +10 -0
- package/dist/tui/components/plan-panel.d.ts.map +1 -0
- package/dist/tui/components/plan-panel.js +8 -0
- package/dist/tui/components/plan-panel.js.map +1 -0
- package/dist/tui/components/status-bar.d.ts +24 -0
- package/dist/tui/components/status-bar.d.ts.map +1 -0
- package/dist/tui/components/status-bar.js +80 -0
- package/dist/tui/components/status-bar.js.map +1 -0
- package/dist/tui/input/editor-state.d.ts +22 -0
- package/dist/tui/input/editor-state.d.ts.map +1 -0
- package/dist/tui/input/editor-state.js +157 -0
- package/dist/tui/input/editor-state.js.map +1 -0
- package/dist/tui/input/keymap.d.ts +3 -0
- package/dist/tui/input/keymap.d.ts.map +1 -0
- package/dist/tui/input/keymap.js +72 -0
- package/dist/tui/input/keymap.js.map +1 -0
- package/dist/tui/input/paste-slots.d.ts +17 -0
- package/dist/tui/input/paste-slots.d.ts.map +1 -0
- package/dist/tui/input/paste-slots.js +46 -0
- package/dist/tui/input/paste-slots.js.map +1 -0
- package/dist/tui/input/paste.d.ts +15 -0
- package/dist/tui/input/paste.d.ts.map +1 -0
- package/dist/tui/input/paste.js +35 -0
- package/dist/tui/input/paste.js.map +1 -0
- package/dist/tui/input/protocol.d.ts +9 -0
- package/dist/tui/input/protocol.d.ts.map +1 -0
- package/dist/tui/input/protocol.js +387 -0
- package/dist/tui/input/protocol.js.map +1 -0
- package/dist/tui/input/sanitize.d.ts +6 -0
- package/dist/tui/input/sanitize.d.ts.map +1 -0
- package/dist/tui/input/sanitize.js +20 -0
- package/dist/tui/input/sanitize.js.map +1 -0
- package/dist/tui/input/types.d.ts +18 -0
- package/dist/tui/input/types.d.ts.map +1 -0
- package/dist/tui/input/types.js +2 -0
- package/dist/tui/input/types.js.map +1 -0
- package/dist/tui/launch.d.ts +23 -0
- package/dist/tui/launch.d.ts.map +1 -0
- package/dist/tui/launch.js +104 -0
- package/dist/tui/launch.js.map +1 -0
- package/dist/tui/theme.d.ts +20 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +29 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/tui/types.d.ts +136 -0
- package/dist/tui/types.d.ts.map +1 -0
- package/dist/tui/types.js +9 -0
- package/dist/tui/types.js.map +1 -0
- package/package.json +76 -0
- package/prompts/sections/agents_md.md +23 -0
- package/prompts/sections/important_log.md +16 -0
- package/prompts/sections/system_mechanisms.md +18 -0
- package/prompts/tools/apply_patch.md +31 -0
- package/prompts/tools/ask.md +18 -0
- package/prompts/tools/bash.md +13 -0
- package/prompts/tools/bash_background.md +9 -0
- package/prompts/tools/bash_output.md +9 -0
- package/prompts/tools/check_status.md +3 -0
- package/prompts/tools/diff.md +5 -0
- package/prompts/tools/edit_file.md +11 -0
- package/prompts/tools/glob.md +7 -0
- package/prompts/tools/grep.md +20 -0
- package/prompts/tools/kill_agent.md +3 -0
- package/prompts/tools/kill_shell.md +5 -0
- package/prompts/tools/list_dir.md +5 -0
- package/prompts/tools/plan.md +252 -0
- package/prompts/tools/read_file.md +9 -0
- package/prompts/tools/show_context.md +12 -0
- package/prompts/tools/skill.md +7 -0
- package/prompts/tools/spawn_agent.md +195 -0
- package/prompts/tools/summarize_context.md +122 -0
- package/prompts/tools/test.md +5 -0
- package/prompts/tools/wait.md +17 -0
- package/prompts/tools/web_fetch.md +9 -0
- package/prompts/tools/web_search.md +5 -0
- package/prompts/tools/write_file.md +11 -0
- package/skills/.staging/.gitkeep +0 -0
- package/skills/explain-code/SKILL.md +15 -0
- package/skills/skill-manager/SKILL.md +83 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LongerAgent -- Public barrel re-exports.
|
|
3
|
+
*
|
|
4
|
+
* Provides a single import point for all public APIs:
|
|
5
|
+
*
|
|
6
|
+
* import { Session, Agent, Config, SessionStore } from "longer-agent";
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
// -- Config ---------------------------------------------------------------
|
|
11
|
+
export { Config, getContextLength, getMultimodalSupport, getThinkingSupport, getWebSearchSupport, resolveConfigPaths, LONGERAGENT_HOME_DIR, } from "./config.js";
|
|
12
|
+
// -- Session --------------------------------------------------------------
|
|
13
|
+
export { Session } from "./session.js";
|
|
14
|
+
// -- Context rendering ----------------------------------------------------
|
|
15
|
+
export { COMPACT_MARKER_ROLE, CONTEXT_ID_KEY, isCompactMarker, injectContextIdTag, mergeConsecutiveSameRole, } from "./context-rendering.js";
|
|
16
|
+
// -- Agents ---------------------------------------------------------------
|
|
17
|
+
export { Agent, isNoReply, NO_REPLY_MARKER } from "./agents/agent.js";
|
|
18
|
+
// -- Providers (base types) -----------------------------------------------
|
|
19
|
+
export { ToolResult, Usage, ProviderResponse, BaseProvider, } from "./providers/base.js";
|
|
20
|
+
// -- Primitives -----------------------------------------------------------
|
|
21
|
+
export { prompt, context, combine } from "./primitives/context.js";
|
|
22
|
+
// -- Network retry --------------------------------------------------------
|
|
23
|
+
export { isRetryableNetworkError, computeRetryDelay, retrySleep, MAX_NETWORK_RETRIES, } from "./network-retry.js";
|
|
24
|
+
// -- Progress -------------------------------------------------------------
|
|
25
|
+
export { ProgressReporter, ConsoleProgress, } from "./progress.js";
|
|
26
|
+
// -- Persistence ----------------------------------------------------------
|
|
27
|
+
export { SessionStore, } from "./persistence.js";
|
|
28
|
+
// -- Commands -------------------------------------------------------------
|
|
29
|
+
export { CommandRegistry, buildDefaultRegistry, registerSkillCommands, } from "./commands.js";
|
|
30
|
+
// -- Skills ---------------------------------------------------------------
|
|
31
|
+
export { loadSkills, resolveSkillContent, } from "./skills/loader.js";
|
|
32
|
+
// -- Templates ------------------------------------------------------------
|
|
33
|
+
export { loadTemplate, loadTemplates, } from "./templates/loader.js";
|
|
34
|
+
// -- Tools ----------------------------------------------------------------
|
|
35
|
+
export { BASIC_TOOLS, BASIC_TOOLS_MAP, executeTool } from "./tools/basic.js";
|
|
36
|
+
export { SPAWN_AGENT_TOOL, KILL_AGENT_TOOL, CHECK_STATUS_TOOL, WAIT_TOOL, SUMMARIZE_CONTEXT_TOOL, ASK_TOOL, } from "./tools/comm.js";
|
|
37
|
+
// -- File attach ----------------------------------------------------------
|
|
38
|
+
export { processFileAttachments, scanCandidates, } from "./file-attach.js";
|
|
39
|
+
// -- TUI ------------------------------------------------------------------
|
|
40
|
+
export { launchTui } from "./tui/launch.js";
|
|
41
|
+
// -- Version --------------------------------------------------------------
|
|
42
|
+
export const VERSION = "0.1.0";
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,4EAA4E;AAC5E,OAAO,EACL,MAAM,EAIN,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,4EAA4E;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4EAA4E;AAC5E,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,wBAAwB,GAEzB,MAAM,wBAAwB,CAAC;AAEhC,4EAA4E;AAC5E,OAAO,EAAE,KAAK,EAAoB,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAExF,4EAA4E;AAC5E,OAAO,EAKL,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,YAAY,GAIb,MAAM,qBAAqB,CAAC;AAE7B,4EAA4E;AAC5E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAqB,MAAM,yBAAyB,CAAC;AAEtF,4EAA4E;AAC5E,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,4EAA4E;AAC5E,OAAO,EAIL,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,4EAA4E;AAC5E,OAAO,EACL,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,4EAA4E;AAC5E,OAAO,EACL,eAAe,EAIf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,4EAA4E;AAC5E,OAAO,EACL,UAAU,EACV,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAE5B,4EAA4E;AAC5E,OAAO,EACL,YAAY,EACZ,aAAa,GACd,MAAM,uBAAuB,CAAC;AAE/B,4EAA4E;AAC5E,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAUzB,4EAA4E;AAC5E,OAAO,EACL,sBAAsB,EACtB,cAAc,GAGf,MAAM,kBAAkB,CAAC;AAE1B,4EAA4E;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialization wizard for LongerAgent.
|
|
3
|
+
*
|
|
4
|
+
* Provides an interactive first-run setup experience using @inquirer/prompts.
|
|
5
|
+
* Supports Ctrl+C / ESC to go back to the previous step.
|
|
6
|
+
*/
|
|
7
|
+
export interface WizardResult {
|
|
8
|
+
configPath: string;
|
|
9
|
+
templatesPath: string;
|
|
10
|
+
skillsPath: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function runInitWizard(): Promise<WizardResult>;
|
|
13
|
+
//# sourceMappingURL=init-wizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-wizard.d.ts","sourceRoot":"","sources":["../src/init-wizard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AA4MD,wBAAsB,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,CAkK3D"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Initialization wizard for LongerAgent.
|
|
3
|
+
*
|
|
4
|
+
* Provides an interactive first-run setup experience using @inquirer/prompts.
|
|
5
|
+
* Supports Ctrl+C / ESC to go back to the previous step.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
8
|
+
import { join } from "node:path";
|
|
9
|
+
import { homedir } from "node:os";
|
|
10
|
+
import { checkbox, select, input, confirm } from "@inquirer/prompts";
|
|
11
|
+
import * as yaml from "js-yaml";
|
|
12
|
+
import { LONGERAGENT_HOME_DIR } from "./config.js";
|
|
13
|
+
import { PROVIDER_PRESETS, buildProviderPresetRawConfig, } from "./provider-presets.js";
|
|
14
|
+
// ------------------------------------------------------------------
|
|
15
|
+
// Helpers
|
|
16
|
+
// ------------------------------------------------------------------
|
|
17
|
+
function isUserCancel(err) {
|
|
18
|
+
if (!err || typeof err !== "object")
|
|
19
|
+
return false;
|
|
20
|
+
// @inquirer/prompts throws ExitPromptError on Ctrl+C
|
|
21
|
+
return err.name === "ExitPromptError" ||
|
|
22
|
+
err.code === "ERR_USE_AFTER_CLOSE";
|
|
23
|
+
}
|
|
24
|
+
function generateConfigYaml(defaultModelName, models) {
|
|
25
|
+
const payload = {
|
|
26
|
+
default_model: defaultModelName,
|
|
27
|
+
models: Object.fromEntries(models.map((model) => [model.configName, model.rawConfig])),
|
|
28
|
+
};
|
|
29
|
+
const lines = [
|
|
30
|
+
"# LongerAgent configuration",
|
|
31
|
+
"# Generated by 'longeragent init'",
|
|
32
|
+
"",
|
|
33
|
+
yaml.dump(payload, { lineWidth: -1 }).trimEnd(),
|
|
34
|
+
"",
|
|
35
|
+
];
|
|
36
|
+
return lines.join("\n");
|
|
37
|
+
}
|
|
38
|
+
// ------------------------------------------------------------------
|
|
39
|
+
// Step functions (each returns result or throws on cancel)
|
|
40
|
+
// ------------------------------------------------------------------
|
|
41
|
+
async function stepSelectProviders() {
|
|
42
|
+
return await checkbox({
|
|
43
|
+
message: "Select providers (space to toggle, enter to confirm)",
|
|
44
|
+
choices: PROVIDER_PRESETS.map((p) => {
|
|
45
|
+
const envSet = process.env[p.envVar] ? " ✓ key detected" : "";
|
|
46
|
+
return {
|
|
47
|
+
name: `${p.name}${envSet}`,
|
|
48
|
+
value: p.id,
|
|
49
|
+
};
|
|
50
|
+
}),
|
|
51
|
+
required: true,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Derive a config name from a model ID.
|
|
56
|
+
* e.g. "anthropic/claude-sonnet-4.6" → "or-claude-sonnet-4.6"
|
|
57
|
+
* "openai/gpt-5.4" → "or-gpt-5.4"
|
|
58
|
+
*/
|
|
59
|
+
function openRouterConfigName(model) {
|
|
60
|
+
const base = model.key.includes("/") ? model.key.split("/").pop() : model.key;
|
|
61
|
+
return `or-${base.replace(/[^a-z0-9.-]/gi, "-").toLowerCase()}`;
|
|
62
|
+
}
|
|
63
|
+
async function stepConfigureProvider(provider) {
|
|
64
|
+
let apiKey;
|
|
65
|
+
// ── OpenAI Codex (OAuth) — browser or device code login ──
|
|
66
|
+
if (provider.id === "openai-codex") {
|
|
67
|
+
console.log(` ${provider.name}: Logging in with your ChatGPT account...\n`);
|
|
68
|
+
const { browserLogin, deviceCodeLogin, saveOAuthTokens, hasOAuthTokens } = await import("./auth/openai-oauth.js");
|
|
69
|
+
if (hasOAuthTokens()) {
|
|
70
|
+
const reuse = await confirm({
|
|
71
|
+
message: "Existing OAuth login found. Use it?",
|
|
72
|
+
default: true,
|
|
73
|
+
});
|
|
74
|
+
if (!reuse) {
|
|
75
|
+
const method = await select({
|
|
76
|
+
message: "Login method",
|
|
77
|
+
choices: [
|
|
78
|
+
{ name: "Browser login (recommended)", value: "browser" },
|
|
79
|
+
{ name: "Device code (SSH / headless)", value: "device" },
|
|
80
|
+
],
|
|
81
|
+
});
|
|
82
|
+
const tokens = method === "browser" ? await browserLogin() : await deviceCodeLogin();
|
|
83
|
+
saveOAuthTokens(tokens);
|
|
84
|
+
console.log("\n Login successful!\n");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const method = await select({
|
|
89
|
+
message: "Login method",
|
|
90
|
+
choices: [
|
|
91
|
+
{ name: "Browser login (recommended)", value: "browser" },
|
|
92
|
+
{ name: "Device code (SSH / headless)", value: "device" },
|
|
93
|
+
],
|
|
94
|
+
});
|
|
95
|
+
const tokens = method === "browser" ? await browserLogin() : await deviceCodeLogin();
|
|
96
|
+
saveOAuthTokens(tokens);
|
|
97
|
+
console.log("\n Login successful!\n");
|
|
98
|
+
}
|
|
99
|
+
apiKey = "oauth:openai-codex";
|
|
100
|
+
// Model selection for Codex
|
|
101
|
+
const selectedModelId = await select({
|
|
102
|
+
message: `${provider.name}: Select model`,
|
|
103
|
+
choices: provider.models.map((m) => ({
|
|
104
|
+
name: m.label,
|
|
105
|
+
value: m.key,
|
|
106
|
+
})),
|
|
107
|
+
});
|
|
108
|
+
const selectedModel = provider.models.find((model) => model.key === selectedModelId);
|
|
109
|
+
const configName = "my-openai-codex";
|
|
110
|
+
return [{
|
|
111
|
+
configName,
|
|
112
|
+
rawConfig: buildProviderPresetRawConfig(provider.id, selectedModel, apiKey),
|
|
113
|
+
}];
|
|
114
|
+
}
|
|
115
|
+
// ── Standard API key providers ──
|
|
116
|
+
const envValue = process.env[provider.envVar];
|
|
117
|
+
if (envValue) {
|
|
118
|
+
const choice = await select({
|
|
119
|
+
message: `${provider.name}: ${provider.envVar} detected in environment`,
|
|
120
|
+
choices: [
|
|
121
|
+
{ name: "Use it", value: "use" },
|
|
122
|
+
{ name: "Enter a different key for LongerAgent", value: "new" },
|
|
123
|
+
],
|
|
124
|
+
});
|
|
125
|
+
if (choice === "use") {
|
|
126
|
+
apiKey = `\${${provider.envVar}}`;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
apiKey = await input({ message: `${provider.name}: Paste API key` });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
apiKey = await input({
|
|
134
|
+
message: `${provider.name}: Paste API key (or Enter to set ${provider.envVar} later)`,
|
|
135
|
+
});
|
|
136
|
+
if (!apiKey) {
|
|
137
|
+
apiKey = `\${${provider.envVar}}`;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Model selection — OpenRouter supports multi-select (multi-model gateway)
|
|
141
|
+
if (provider.id === "openrouter") {
|
|
142
|
+
const selectedModelIds = await checkbox({
|
|
143
|
+
message: `${provider.name}: Select models (space to toggle, enter to confirm)`,
|
|
144
|
+
choices: provider.models.map((m) => ({
|
|
145
|
+
name: m.label,
|
|
146
|
+
value: m.key,
|
|
147
|
+
})),
|
|
148
|
+
required: true,
|
|
149
|
+
});
|
|
150
|
+
return selectedModelIds.map((modelId) => ({
|
|
151
|
+
configName: openRouterConfigName(provider.models.find((model) => model.key === modelId)),
|
|
152
|
+
rawConfig: buildProviderPresetRawConfig(provider.id, provider.models.find((model) => model.key === modelId), apiKey),
|
|
153
|
+
}));
|
|
154
|
+
}
|
|
155
|
+
// Other providers — single model selection
|
|
156
|
+
const selectedModelId = await select({
|
|
157
|
+
message: `${provider.name}: Select model`,
|
|
158
|
+
choices: provider.models.map((m) => ({
|
|
159
|
+
name: m.label,
|
|
160
|
+
value: m.key,
|
|
161
|
+
})),
|
|
162
|
+
});
|
|
163
|
+
const selectedModel = provider.models.find((model) => model.key === selectedModelId);
|
|
164
|
+
const configName = `my-${provider.id.replace(/[^a-z0-9]/g, "")}`;
|
|
165
|
+
return [{
|
|
166
|
+
configName,
|
|
167
|
+
rawConfig: buildProviderPresetRawConfig(provider.id, selectedModel, apiKey),
|
|
168
|
+
}];
|
|
169
|
+
}
|
|
170
|
+
async function stepSelectDefault(models) {
|
|
171
|
+
if (models.length <= 1)
|
|
172
|
+
return models[0]?.configName ?? "";
|
|
173
|
+
return await select({
|
|
174
|
+
message: "Select default model",
|
|
175
|
+
choices: models.map((m) => ({
|
|
176
|
+
name: `${m.configName} (${m.rawConfig["provider"]}/${m.rawConfig["model"]})`,
|
|
177
|
+
value: m.configName,
|
|
178
|
+
})),
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
export async function runInitWizard() {
|
|
182
|
+
const homeDir = join(homedir(), LONGERAGENT_HOME_DIR);
|
|
183
|
+
const configPath = join(homeDir, "config.yaml");
|
|
184
|
+
console.log();
|
|
185
|
+
console.log(" ╔══════════════════════════════════════╗");
|
|
186
|
+
console.log(" ║ Welcome to LongerAgent Setup! ║");
|
|
187
|
+
console.log(" ╚══════════════════════════════════════╝");
|
|
188
|
+
console.log(" (Ctrl+C to go back, double Ctrl+C to quit)\n");
|
|
189
|
+
let step = existsSync(configPath) ? 0 /* Step.CHECK_EXISTING */ : 1 /* Step.SELECT_PROVIDERS */;
|
|
190
|
+
let selectedProviderIds = [];
|
|
191
|
+
let models = [];
|
|
192
|
+
let providerIdx = 0;
|
|
193
|
+
let defaultModelName = "";
|
|
194
|
+
// Track how many models each provider step added (for correct Ctrl+C rollback)
|
|
195
|
+
const modelsPerStep = [];
|
|
196
|
+
while (step !== 4 /* Step.WRITE */) {
|
|
197
|
+
try {
|
|
198
|
+
switch (step) {
|
|
199
|
+
case 0 /* Step.CHECK_EXISTING */: {
|
|
200
|
+
console.log(` Existing config found: ${configPath}`);
|
|
201
|
+
const useExisting = await confirm({
|
|
202
|
+
message: "Use existing configuration?",
|
|
203
|
+
default: true,
|
|
204
|
+
});
|
|
205
|
+
if (useExisting) {
|
|
206
|
+
console.log("\n ✓ Using existing configuration.\n");
|
|
207
|
+
return {
|
|
208
|
+
configPath,
|
|
209
|
+
templatesPath: join(homeDir, "agent_templates"),
|
|
210
|
+
skillsPath: join(homeDir, "skills"),
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
step = 1 /* Step.SELECT_PROVIDERS */;
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
case 1 /* Step.SELECT_PROVIDERS */: {
|
|
217
|
+
selectedProviderIds = await stepSelectProviders();
|
|
218
|
+
models = [];
|
|
219
|
+
providerIdx = 0;
|
|
220
|
+
step = 2 /* Step.CONFIGURE_PROVIDERS */;
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
case 2 /* Step.CONFIGURE_PROVIDERS */: {
|
|
224
|
+
const selectedProviders = PROVIDER_PRESETS.filter((p) => selectedProviderIds.includes(p.id));
|
|
225
|
+
if (providerIdx >= selectedProviders.length) {
|
|
226
|
+
step = 3 /* Step.SELECT_DEFAULT */;
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
console.log();
|
|
230
|
+
const results = await stepConfigureProvider(selectedProviders[providerIdx]);
|
|
231
|
+
models.push(...results);
|
|
232
|
+
modelsPerStep.push(results.length);
|
|
233
|
+
providerIdx++;
|
|
234
|
+
// Stay in CONFIGURE_PROVIDERS until all done
|
|
235
|
+
if (providerIdx >= selectedProviders.length) {
|
|
236
|
+
step = 3 /* Step.SELECT_DEFAULT */;
|
|
237
|
+
}
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
case 3 /* Step.SELECT_DEFAULT */: {
|
|
241
|
+
defaultModelName = await stepSelectDefault(models);
|
|
242
|
+
step = 4 /* Step.WRITE */;
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
catch (err) {
|
|
248
|
+
if (!isUserCancel(err))
|
|
249
|
+
throw err;
|
|
250
|
+
// Go back one step
|
|
251
|
+
switch (step) {
|
|
252
|
+
case 0 /* Step.CHECK_EXISTING */:
|
|
253
|
+
// Can't go further back — quit
|
|
254
|
+
console.log("\n Setup cancelled.\n");
|
|
255
|
+
throw err;
|
|
256
|
+
case 1 /* Step.SELECT_PROVIDERS */:
|
|
257
|
+
if (existsSync(configPath)) {
|
|
258
|
+
step = 0 /* Step.CHECK_EXISTING */;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
console.log("\n Setup cancelled.\n");
|
|
262
|
+
throw err;
|
|
263
|
+
}
|
|
264
|
+
break;
|
|
265
|
+
case 2 /* Step.CONFIGURE_PROVIDERS */:
|
|
266
|
+
if (providerIdx > 0) {
|
|
267
|
+
// Go back to previous provider — pop all models it added
|
|
268
|
+
const popCount = modelsPerStep.pop() ?? 1;
|
|
269
|
+
models.splice(models.length - popCount, popCount);
|
|
270
|
+
providerIdx--;
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
// Go back to provider selection
|
|
274
|
+
step = 1 /* Step.SELECT_PROVIDERS */;
|
|
275
|
+
}
|
|
276
|
+
break;
|
|
277
|
+
case 3 /* Step.SELECT_DEFAULT */: {
|
|
278
|
+
// Go back to re-configure the last provider — pop all models it added
|
|
279
|
+
const popCount = modelsPerStep.pop() ?? 1;
|
|
280
|
+
models.splice(models.length - popCount, popCount);
|
|
281
|
+
providerIdx = Math.max(0, providerIdx - 1);
|
|
282
|
+
step = 2 /* Step.CONFIGURE_PROVIDERS */;
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
console.log();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// Write config
|
|
290
|
+
mkdirSync(homeDir, { recursive: true });
|
|
291
|
+
const configContent = generateConfigYaml(defaultModelName, models);
|
|
292
|
+
writeFileSync(configPath, configContent, "utf-8");
|
|
293
|
+
const templatesPath = join(homeDir, "agent_templates");
|
|
294
|
+
const skillsPath = join(homeDir, "skills");
|
|
295
|
+
// Prepare user override directories so users can customize templates/skills directly.
|
|
296
|
+
mkdirSync(templatesPath, { recursive: true });
|
|
297
|
+
mkdirSync(skillsPath, { recursive: true });
|
|
298
|
+
// Summary
|
|
299
|
+
console.log();
|
|
300
|
+
console.log(" ✓ Configuration saved");
|
|
301
|
+
console.log(` Config: ${configPath}`);
|
|
302
|
+
console.log();
|
|
303
|
+
console.log(` Default model: ${defaultModelName}`);
|
|
304
|
+
// Show env var status
|
|
305
|
+
const selectedPresets = PROVIDER_PRESETS.filter((p) => models.some((m) => m.rawConfig["provider"] === p.id));
|
|
306
|
+
const missing = [];
|
|
307
|
+
for (const p of selectedPresets) {
|
|
308
|
+
if (process.env[p.envVar]) {
|
|
309
|
+
console.log(` ✓ ${p.envVar}`);
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
console.log(` ✗ ${p.envVar} (not set)`);
|
|
313
|
+
missing.push(p.envVar);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
if (missing.length > 0) {
|
|
317
|
+
console.log();
|
|
318
|
+
console.log(" Set the missing keys before starting:");
|
|
319
|
+
for (const v of missing) {
|
|
320
|
+
console.log(` export ${v}="your-key-here"`);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
console.log();
|
|
324
|
+
console.log(" Run 'longeragent' to start.");
|
|
325
|
+
console.log();
|
|
326
|
+
return { configPath, templatesPath, skillsPath };
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=init-wizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-wizard.js","sourceRoot":"","sources":["../src/init-wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured log entry types and factory functions.
|
|
3
|
+
*
|
|
4
|
+
* Core data structure for the Session Log Architecture v2.
|
|
5
|
+
* Every event in a session is recorded as a LogEntry.
|
|
6
|
+
* TUI and API views are projected from the log.
|
|
7
|
+
*/
|
|
8
|
+
export type LogEntryType = "system_prompt" | "turn_start" | "user_message" | "assistant_text" | "reasoning" | "tool_call" | "tool_result" | "ask_request" | "ask_resolution" | "no_reply" | "compact_marker" | "compact_context" | "summary" | "interruption_marker" | "sub_agent_start" | "sub_agent_tool_call" | "sub_agent_end" | "status" | "error" | "token_update";
|
|
9
|
+
export type TuiDisplayKind = "user" | "assistant" | "reasoning" | "progress" | "tool_call" | "status" | "error" | "compact_mark" | "tool_result";
|
|
10
|
+
export interface LogEntry {
|
|
11
|
+
/** Unique entry ID (type prefix + sequence number, e.g. "user-001", "tc-005"). */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Entry type — determines content structure and projection rules. */
|
|
14
|
+
type: LogEntryType;
|
|
15
|
+
/** Unix millisecond timestamp. */
|
|
16
|
+
timestamp: number;
|
|
17
|
+
/** Turn index (starts at 1, increments on each user input). */
|
|
18
|
+
turnIndex: number;
|
|
19
|
+
/**
|
|
20
|
+
* Provider call round within the same turn (0-based).
|
|
21
|
+
* Groups assistant_text + tool_call entries into one API message.
|
|
22
|
+
* Only present on provider-related entries (assistant_text, reasoning,
|
|
23
|
+
* tool_call, tool_result, no_reply).
|
|
24
|
+
*/
|
|
25
|
+
roundIndex?: number;
|
|
26
|
+
/** Whether this entry is visible in TUI. */
|
|
27
|
+
tuiVisible: boolean;
|
|
28
|
+
/** TUI rendering style. null when tuiVisible is false. */
|
|
29
|
+
displayKind: TuiDisplayKind | null;
|
|
30
|
+
/** TUI display text. Always retained in the active log. */
|
|
31
|
+
display: string;
|
|
32
|
+
/** The API role this entry maps to. null = not part of API projection. */
|
|
33
|
+
apiRole: "system" | "user" | "assistant" | "tool_result" | null;
|
|
34
|
+
/** Full content for API projection. null after archiving. */
|
|
35
|
+
content: unknown;
|
|
36
|
+
/** Whether content has been archived to a separate file. */
|
|
37
|
+
archived: boolean;
|
|
38
|
+
/** Replaced by summarize_context (skip in projections). */
|
|
39
|
+
summarized?: boolean;
|
|
40
|
+
/** The summary entry ID that replaced this entry. */
|
|
41
|
+
summarizedBy?: string;
|
|
42
|
+
/** Discarded entry (skip in projections). Used for compact rollback etc. */
|
|
43
|
+
discarded?: boolean;
|
|
44
|
+
/** Structured metadata varying by entry type. */
|
|
45
|
+
meta: Record<string, unknown>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Generates sequential IDs like "user-001", "tc-005".
|
|
49
|
+
* Maintains per-prefix counters.
|
|
50
|
+
*/
|
|
51
|
+
export declare class LogIdAllocator {
|
|
52
|
+
private _counters;
|
|
53
|
+
/** Allocate the next ID for a given entry type. */
|
|
54
|
+
next(type: LogEntryType): string;
|
|
55
|
+
/**
|
|
56
|
+
* Restore counters from an existing log (e.g. after loadLog).
|
|
57
|
+
* Scans all entries and sets each prefix counter to the max seen.
|
|
58
|
+
*/
|
|
59
|
+
restoreFrom(entries: LogEntry[]): void;
|
|
60
|
+
/** Get the current counter value for a prefix (for testing). */
|
|
61
|
+
getCounter(type: LogEntryType): number;
|
|
62
|
+
}
|
|
63
|
+
export declare function createSystemPrompt(id: string, content: string): LogEntry;
|
|
64
|
+
export declare function createTurnStart(id: string, turnIndex: number): LogEntry;
|
|
65
|
+
export declare function createUserMessage(id: string, turnIndex: number, display: string, content: unknown, contextId: string): LogEntry;
|
|
66
|
+
export declare function createAssistantText(id: string, turnIndex: number, roundIndex: number, display: string, content: string, contextId?: string): LogEntry;
|
|
67
|
+
export declare function createReasoning(id: string, turnIndex: number, roundIndex: number, display: string, content: unknown, reasoningState?: unknown, contextId?: string): LogEntry;
|
|
68
|
+
export declare function createToolCall(id: string, turnIndex: number, roundIndex: number, display: string, toolCallContent: {
|
|
69
|
+
id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
arguments: Record<string, unknown>;
|
|
72
|
+
}, opts: {
|
|
73
|
+
toolCallId: string;
|
|
74
|
+
toolName: string;
|
|
75
|
+
agentName: string;
|
|
76
|
+
contextId?: string;
|
|
77
|
+
}): LogEntry;
|
|
78
|
+
export declare function createToolResult(id: string, turnIndex: number, roundIndex: number, resultContent: {
|
|
79
|
+
toolCallId: string;
|
|
80
|
+
toolName: string;
|
|
81
|
+
content: string;
|
|
82
|
+
toolSummary: string;
|
|
83
|
+
}, opts: {
|
|
84
|
+
isError: boolean;
|
|
85
|
+
contextId?: string;
|
|
86
|
+
toolMetadata?: Record<string, unknown>;
|
|
87
|
+
previewText?: string;
|
|
88
|
+
/** When true, TUI renders the preview in dim/gray style. */
|
|
89
|
+
previewDim?: boolean;
|
|
90
|
+
}): LogEntry;
|
|
91
|
+
export declare function createNoReply(id: string, turnIndex: number, roundIndex: number, content: string, contextId?: string): LogEntry;
|
|
92
|
+
export declare function createCompactMarker(id: string, turnIndex: number, compactIndex: number, originalTokens: number, compactedTokens: number): LogEntry;
|
|
93
|
+
export declare function createCompactContext(id: string, turnIndex: number, content: string, contextId: string, compactIndex: number): LogEntry;
|
|
94
|
+
export declare function createSummary(id: string, turnIndex: number, display: string, content: string, contextId: string, summarizedEntryIds: string[], summaryDepth: number): LogEntry;
|
|
95
|
+
export declare function createInterruptionMarker(id: string, turnIndex: number, content: string, terminatedSubAgents?: string[]): LogEntry;
|
|
96
|
+
export declare function createSubAgentStart(id: string, turnIndex: number, display: string, subAgentId: number, subAgentName: string, task: string): LogEntry;
|
|
97
|
+
export declare function createSubAgentToolCall(id: string, turnIndex: number, display: string, subAgentId: number, subAgentName: string, toolName: string, toolCallCount: number): LogEntry;
|
|
98
|
+
export declare function createSubAgentEnd(id: string, turnIndex: number, display: string, subAgentId: number, subAgentName: string, elapsed: number, toolCallCount: number): LogEntry;
|
|
99
|
+
export declare function createStatus(id: string, turnIndex: number, display: string, statusType: string): LogEntry;
|
|
100
|
+
export declare function createError(id: string, turnIndex: number, display: string, errorType?: string): LogEntry;
|
|
101
|
+
export declare function createTokenUpdate(id: string, turnIndex: number, inputTokens: number, cacheReadTokens?: number, cacheCreationTokens?: number, totalTokens?: number): LogEntry;
|
|
102
|
+
export declare function createAskRequest(id: string, turnIndex: number, content: unknown, askId: string, askKind: string, toolCallId: string, roundIndex: number, contextId?: string): LogEntry;
|
|
103
|
+
export declare function createAskResolution(id: string, turnIndex: number, content: unknown, askId: string, askKind: string): LogEntry;
|
|
104
|
+
//# sourceMappingURL=log-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-entry.d.ts","sourceRoot":"","sources":["../src/log-entry.ts"],"names":[],"mappings":"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"}
|