itermbot 1.0.2 → 1.0.4

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 (128) hide show
  1. package/.github/workflows/ci.yml +15 -20
  2. package/.github/workflows/release.yml +32 -20
  3. package/README.md +11 -20
  4. package/cleanup-unused.patch +108 -0
  5. package/config/app.yaml +32 -13
  6. package/config/memory.yaml +38 -31
  7. package/config/model.yaml +33 -0
  8. package/config/skill.yaml +8 -0
  9. package/config/tool.yaml +50 -17
  10. package/config/tsconfig.json +4 -1
  11. package/dist/chat/builtin-commands.d.ts +8 -0
  12. package/dist/chat/builtin-commands.d.ts.map +1 -0
  13. package/dist/chat/builtin-commands.js +53 -0
  14. package/dist/chat/builtin-commands.js.map +1 -0
  15. package/dist/chat/progress.d.ts +3 -0
  16. package/dist/chat/progress.d.ts.map +1 -0
  17. package/dist/chat/progress.js +23 -0
  18. package/dist/chat/progress.js.map +1 -0
  19. package/dist/chat/response-safety.d.ts +8 -0
  20. package/dist/chat/response-safety.d.ts.map +1 -0
  21. package/dist/chat/response-safety.js +126 -0
  22. package/dist/chat/response-safety.js.map +1 -0
  23. package/dist/chat/step-display.d.ts +2 -0
  24. package/dist/chat/step-display.d.ts.map +1 -0
  25. package/dist/chat/step-display.js +50 -0
  26. package/dist/chat/step-display.js.map +1 -0
  27. package/dist/chat/tool-result.d.ts +4 -0
  28. package/dist/chat/tool-result.d.ts.map +1 -0
  29. package/dist/chat/tool-result.js +24 -0
  30. package/dist/chat/tool-result.js.map +1 -0
  31. package/dist/config.d.ts +11 -6
  32. package/dist/config.d.ts.map +1 -1
  33. package/dist/config.js +26 -12
  34. package/dist/config.js.map +1 -1
  35. package/dist/index.js +308 -151
  36. package/dist/index.js.map +1 -1
  37. package/dist/iterm/direct-command-router.d.ts +24 -0
  38. package/dist/iterm/direct-command-router.d.ts.map +1 -0
  39. package/dist/iterm/direct-command-router.js +213 -0
  40. package/dist/iterm/direct-command-router.js.map +1 -0
  41. package/dist/iterm/session-hint.d.ts +10 -0
  42. package/dist/iterm/session-hint.d.ts.map +1 -0
  43. package/dist/iterm/session-hint.js +43 -0
  44. package/dist/iterm/session-hint.js.map +1 -0
  45. package/dist/iterm/target-panel-policy.d.ts +12 -0
  46. package/dist/iterm/target-panel-policy.d.ts.map +1 -0
  47. package/dist/iterm/target-panel-policy.js +287 -0
  48. package/dist/iterm/target-panel-policy.js.map +1 -0
  49. package/dist/runtime/text-tool-call-recovery.d.ts +23 -0
  50. package/dist/runtime/text-tool-call-recovery.d.ts.map +1 -0
  51. package/dist/runtime/text-tool-call-recovery.js +211 -0
  52. package/dist/runtime/text-tool-call-recovery.js.map +1 -0
  53. package/dist/startup/colors.d.ts +37 -0
  54. package/dist/startup/colors.d.ts.map +1 -0
  55. package/dist/{startup-colors.js → startup/colors.js} +30 -15
  56. package/dist/startup/colors.js.map +1 -0
  57. package/dist/startup/diagnostics.d.ts +8 -0
  58. package/dist/startup/diagnostics.d.ts.map +1 -0
  59. package/dist/startup/diagnostics.js +18 -0
  60. package/dist/startup/diagnostics.js.map +1 -0
  61. package/dist/startup/os.d.ts +10 -0
  62. package/dist/startup/os.d.ts.map +1 -0
  63. package/dist/startup/os.js +67 -0
  64. package/dist/startup/os.js.map +1 -0
  65. package/dist/startup/ui.d.ts +11 -0
  66. package/dist/startup/ui.d.ts.map +1 -0
  67. package/dist/startup/ui.js +49 -0
  68. package/dist/startup/ui.js.map +1 -0
  69. package/package.json +23 -13
  70. package/scripts/internal-package-refs.mjs +158 -0
  71. package/scripts/patch-buildin-cache.sh +1 -4
  72. package/scripts/resolve-deps.js +5 -0
  73. package/scripts/test-llm.mjs +11 -5
  74. package/skills/gpu-ssh-monitor/SKILL.md +22 -3
  75. package/src/chat/builtin-commands.ts +70 -0
  76. package/src/chat/progress.ts +26 -0
  77. package/src/chat/response-safety.ts +134 -0
  78. package/src/chat/step-display.ts +54 -0
  79. package/src/chat/tool-result.ts +22 -0
  80. package/src/config.ts +48 -21
  81. package/src/index.ts +377 -167
  82. package/src/iterm/direct-command-router.ts +274 -0
  83. package/src/iterm/session-hint.ts +49 -0
  84. package/src/iterm/target-panel-policy.ts +341 -0
  85. package/src/runtime/text-tool-call-recovery.ts +257 -0
  86. package/src/{startup-colors.ts → startup/colors.ts} +42 -27
  87. package/src/startup/diagnostics.ts +25 -0
  88. package/src/startup/os.ts +63 -0
  89. package/src/startup/ui.ts +56 -0
  90. package/src/types/marked-terminal.d.ts +3 -0
  91. package/test/builtin-commands.test.mjs +50 -0
  92. package/test/chat-flow.integration.test.mjs +235 -0
  93. package/test/chat-progress.test.mjs +83 -0
  94. package/test/config.test.mjs +22 -0
  95. package/test/diagnostics.test.mjs +45 -0
  96. package/test/direct-command-router.test.mjs +149 -0
  97. package/test/live-iterm-llm.integration.test.mjs +153 -0
  98. package/test/response-safety.test.mjs +44 -0
  99. package/test/session-hint.test.mjs +78 -0
  100. package/test/startup-colors.test.mjs +145 -0
  101. package/test/target-panel-policy.test.mjs +180 -0
  102. package/test/tool-call-recovery.test.mjs +199 -0
  103. package/config/agent.yaml +0 -121
  104. package/config/models.yaml +0 -36
  105. package/config/skills.yaml +0 -4
  106. package/dist/agent.d.ts +0 -14
  107. package/dist/agent.d.ts.map +0 -1
  108. package/dist/agent.js +0 -16
  109. package/dist/agent.js.map +0 -1
  110. package/dist/context.d.ts +0 -12
  111. package/dist/context.d.ts.map +0 -1
  112. package/dist/context.js +0 -20
  113. package/dist/context.js.map +0 -1
  114. package/dist/session-hint.d.ts +0 -4
  115. package/dist/session-hint.d.ts.map +0 -1
  116. package/dist/session-hint.js +0 -25
  117. package/dist/session-hint.js.map +0 -1
  118. package/dist/startup-colors.d.ts +0 -26
  119. package/dist/startup-colors.d.ts.map +0 -1
  120. package/dist/startup-colors.js.map +0 -1
  121. package/dist/target-routing.d.ts +0 -15
  122. package/dist/target-routing.d.ts.map +0 -1
  123. package/dist/target-routing.js +0 -355
  124. package/dist/target-routing.js.map +0 -1
  125. package/src/agent.ts +0 -35
  126. package/src/context.ts +0 -35
  127. package/src/session-hint.ts +0 -28
  128. package/src/target-routing.ts +0 -419
package/config/agent.yaml DELETED
@@ -1,121 +0,0 @@
1
- shared:
2
- models:
3
- path: ./config/models.yaml
4
- memory:
5
- path: ./config/memory.yaml
6
- namespace_mode: fixed
7
- namespace: user:itermbot
8
- top_k: 8
9
- budget_tokens: 1200
10
- auto_write: true
11
- auto_write_scope: thread
12
- auto_write_max_chars: 2400
13
- auto_write_user: true
14
- auto_write_assistant: true
15
- tools:
16
- path: ./config/tool.yaml
17
-
18
- profiles:
19
- react:
20
- skills:
21
- path: ./config/skills.yaml
22
- mode: prompt
23
- embedding_threshold: 0.85
24
- keyword_threshold: 0.55
25
- system_prompt: |
26
- You are iTermBot in iTerm (chat panel + target panel, same tab).
27
-
28
- ## 1) Hard Rules
29
- - ALL shell commands must run in target panel via `itermRunCommandInSession`.
30
- - Never bypass terminal execution with local filesystem/meta shortcuts (e.g. listDir/readFile; reading iTermBot config/skills under project paths).
31
- - User must SEE command execution in target panel.
32
- - Do not open new window/tab unless explicitly requested.
33
- - Do NOT call `itermSplitPane` unless explicitly requested (assume chat + target already exist).
34
- - If target `sessionId` is provided, always pass it.
35
- - Treat tool `output` as evidence. If empty, do NOT retry same command with larger `waitMs`; choose a faster alternative.
36
- - Prefer fast commands (`df -h`, `du -sh ~ 2>/dev/null`, `ls -la`); avoid slow recursion. For disk usage, use `du -sh <specific-dir>` over `du -sh /*`.
37
- - Use fastest viable path: low-cost first, then expand only for user need/evidence gap.
38
- - Avoid expensive defaults (full scan/test/build/reinstall) unless necessary.
39
- - Never use `sudo`.
40
- - After each command: analyze output and report concise conclusion + next step.
41
- - Never fabricate values not present in output; never repeat identical bullets.
42
- - For "current screen"/"当前屏幕"/"当前panel输出": do NOT ask user to paste; capture with no-op `:` and analyze returned `output`.
43
- - Current-screen defaults: `maxOutputLines` 400-800 (not 200); for "详细分析" start 800-1000; prioritize buffer tail.
44
- - For full analysis (完整/全部/全量): paginate with `outputOffsetLines + maxOutputLines`; continue until coverage is enough or oldest-needed chunk has `isOutputTruncated=false`; keep chunk notes and merge into one evidence-based conclusion.
45
-
46
- ## 2) Output Format
47
- - Always valid Markdown with stable structure (headings, bullets, fenced code).
48
- - Raw JSON only when explicitly requested.
49
-
50
- ## 3) Output Quality
51
- - Evidence-first:
52
- 1) key terminal output in fenced block (truncate if needed),
53
- 2) short summary (3-8 bullets).
54
- - File-list requests ("list files"/"show files"/"ls"): use `ls -1A`, return names directly from output.
55
- - Do not infer stats from `ls -la`.
56
- - If long output: state truncation and ask whether to drill into a directory.
57
- - File-list default: one fenced `text` block, no inferred summary/statistics unless requested.
58
- - Do not use estimate markers ("~", "about", "(?)") unless they appear in output.
59
- - If output exceeds one pass/context window: chunk (~120-200 lines), summarize each chunk with facts only, then merge.
60
- - Prefer deterministic slicing (`head`/`tail`/`sed -n start,endp`) over resending huge raw blocks.
61
-
62
- ## 4) ReAct Tool-Call Syntax
63
- - If next step is tool call, output exactly one line: `toolName({ ... })`.
64
- - Parentheses must contain one valid JSON object only:
65
- - double-quoted keys/strings,
66
- - no comments/trailing commas,
67
- - no extra text outside JSON.
68
- - No natural-language wrapper around tool JSON.
69
- Bad: `The user asked ... {"command":"df -h"}`.
70
- - Keep chain-of-thought private; expose only tool call + observation.
71
-
72
- ## 5) Skills
73
- - Use runtime-injected skills directly.
74
- - Never run skill discovery/read commands in target panel (`cat/find/grep ...SKILL.md`).
75
- - Before multi-step investigations, check skills via runtime context, not terminal scans.
76
-
77
- ## 6) Progress Updates
78
- - For multi-step tasks, do not wait until the end.
79
- - Every 1-3 `itermRunCommandInSession` calls, send 1-3 sentence update with:
80
- - commands run,
81
- - key findings,
82
- - next planned commands.
83
-
84
- ## 7) Memory Rules
85
- - `thread`: session-scoped facts/logs/outputs/stack traces/intermediate state/noisy large output.
86
- - `cross_thread`: durable preferences and stable profile facts (style/tool preferences, long-term constraints), reusable cross-session conclusions.
87
- - Never store secrets (password/token/key).
88
- - If unsure: `thread` for operations, `cross_thread` only for stable preferences/facts.
89
- max_steps: 40
90
- print_steps: false
91
- fallback_text: Command sent to iTerm panel.
92
- command_window_label: iTerm window
93
-
94
- deep:
95
- system_prompt: |
96
- You are iTermBot (Deep agent) for multi-step terminal workflows in iTerm (chat panel + target panel, same tab).
97
-
98
- ## Core
99
- - ALL shell commands must run via `itermRunCommandInSession` in target panel.
100
- - Never bypass terminal with filesystem shortcuts (listDir/readFile/etc.).
101
- - User must SEE command execution in target panel.
102
-
103
- ## Behavior
104
- - Do not open new windows/tabs unless explicitly requested.
105
- - For any shell task (files, scripts, git, package managers, etc.), always use `itermRunCommandInSession`.
106
- - If target `sessionId` is provided, always pass it.
107
- - Treat returned `output` as evidence. If empty, do NOT rerun same command; continue or choose faster alternative.
108
- - For current screen/panel analysis, do NOT ask user to paste; capture with no-op `:` and analyze returned `output`.
109
- - Current-screen defaults: `maxOutputLines` 400-800; for detailed analysis start 800-1000; prioritize buffer tail.
110
- - For complete/all relevant screen analysis, paginate with `outputOffsetLines + maxOutputLines` until enough coverage (or oldest needed chunk no longer truncated), then merge.
111
- - If output is too long for one pass/context window: chunk (~120-200 lines), summarize per chunk, then merge to one evidence-based conclusion.
112
- - Prefer deterministic slicing (`head`/`tail`/`sed -n start,endp`) over resending huge output.
113
- - Prefer fast commands; avoid slow recursive scans of large directories.
114
- - Prefer fastest viable path: low-cost first, escalate only when needed.
115
- - Avoid expensive defaults (full repo scan/test/build/reinstall) unless required.
116
- - Never use `sudo`.
117
- - Write long-term preferences and key project facts to memory.
118
- - For complex tasks, think step-by-step and briefly mark current step.
119
- - Keep replies concise and structured.
120
- recursion_limit: 8
121
- memories_path: /memories/
@@ -1,36 +0,0 @@
1
- # Unified model config for itermbot
2
- # Sections: llm (chat models), embed (embedding models), runtime
3
- # Env overrides:
4
- # - LLM_BASE_URL_STRONG: strong model HTTP endpoint
5
- # - LLM_MODEL_STRONG: strong model name
6
- # - LLM_API_KEY_STRONG: strong model API key
7
- # - LLM_BASE_URL: small default endpoint
8
- # - LLM_MODEL: small default model name
9
- llm:
10
- default: small
11
- small:
12
- provider: openai
13
- base_url: http://localhost:11434/v1
14
- model: qwen3:0.6b
15
- easynet:
16
- provider: openai
17
- base_url: https://ollama-rtx-4070.easynet.world/v1
18
- model: gpt-oss-80k:latest
19
- strong:
20
- provider: openai
21
- base_url: https://api.groq.com/openai/v1
22
- model: openai/gpt-oss-120b
23
- # agent-model expects camelCase apiKey; use env var, do not commit real keys:
24
- # export GROQ_API_KEY="your Groq API key"
25
- apiKey: ${GROQ_API_KEY}
26
-
27
- embed:
28
- default: gemma
29
- gemma:
30
- provider: openai
31
- base_url: https://ollama-nvidia-8g-2.easynet.world/v1
32
- model: embeddinggemma:latest
33
- apiKey: ollama
34
-
35
- runtime:
36
- check_connectivity: false
@@ -1,4 +0,0 @@
1
- # Skills configuration for itermbot
2
- # Embedding config is now in models.yaml (embed: section)
3
-
4
- path: ./skills
package/dist/agent.d.ts DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * iTermBot agent factories — thin wrappers over agent-runtime.
3
- */
4
- import { type ReactAgentRuntime, type DeepAgentRuntime, type ReactAgentOptions, type DeepAgentOptions, type CreateContextOptions } from "@easynet/agent-runtime";
5
- export type { ReactAgentRuntime, DeepAgentRuntime, CreateContextOptions };
6
- export interface CreateAppAgentOptions extends CreateContextOptions {
7
- react?: ReactAgentOptions;
8
- }
9
- export interface CreateAppDeepAgentOptions extends CreateContextOptions {
10
- deep?: DeepAgentOptions;
11
- }
12
- export declare function createAgent(options?: CreateAppAgentOptions): Promise<ReactAgentRuntime>;
13
- export declare function createDeepAgentFromContext(options?: CreateAppDeepAgentOptions): Promise<DeepAgentRuntime>;
14
- //# sourceMappingURL=agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AAE1E,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAIjG;AAED,wBAAsB,0BAA0B,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAInH"}
package/dist/agent.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * iTermBot agent factories — thin wrappers over agent-runtime.
3
- */
4
- import { createReactAgent, createDeepAgent, } from "@easynet/agent-runtime";
5
- import { createAgent as createAgentContext } from "./context.js";
6
- export async function createAgent(options = {}) {
7
- const { react, ...contextOptions } = options;
8
- const ctx = await createAgentContext({ agentName: "react", ...contextOptions });
9
- return createReactAgent(ctx, { agentName: "react", ...react });
10
- }
11
- export async function createDeepAgentFromContext(options = {}) {
12
- const { deep, ...contextOptions } = options;
13
- const ctx = await createAgentContext({ agentName: "deep", ...contextOptions });
14
- return createDeepAgent(ctx, { agentName: "deep", ...deep });
15
- }
16
- //# sourceMappingURL=agent.js.map
package/dist/agent.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,gBAAgB,EAChB,eAAe,GAMhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAYjE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAiC,EAAE;IACnE,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;IAChF,OAAO,gBAAgB,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,UAAqC,EAAE;IACtF,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;IAC/E,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC"}
package/dist/context.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * Shared runtime context: LLM, memory, tools.
3
- * Built once and passed to both ReAct and Deep agents.
4
- */
5
- import { type AppContextBuilders, type BotContext, type BotTool, type CreateContextOptions } from "@easynet/agent-runtime";
6
- export type { BotContext, BotTool, CreateContextOptions };
7
- export declare const createAgentLlm: AppContextBuilders["createAgentLlm"];
8
- export declare const createAgentMemory: AppContextBuilders["createAgentMemory"];
9
- export declare const createAgentTools: AppContextBuilders["createAgentTools"];
10
- export declare const createAgent: AppContextBuilders["createAgent"];
11
- export declare const createBotContext: AppContextBuilders["createBotContext"];
12
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAC1B,MAAM,wBAAwB,CAAC;AAShC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAW1D,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAAC,gBAAgB,CAA2B,CAAC;AAC5F,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,CAAC,mBAAmB,CAA8B,CAAC;AACrG,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,CAA6B,CAAC;AAClG,eAAO,MAAM,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAwB,CAAC;AACnF,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,CAA6B,CAAC"}
package/dist/context.js DELETED
@@ -1,20 +0,0 @@
1
- /**
2
- * Shared runtime context: LLM, memory, tools.
3
- * Built once and passed to both ReAct and Deep agents.
4
- */
5
- import { createContextBuilders, } from "@easynet/agent-runtime";
6
- import { loadAppConfig, getModelsConfigPath, getMemoryConfigPath, getToolConfigPath, } from "./config.js";
7
- const builders = createContextBuilders({
8
- configApi: {
9
- loadAgentConfig: loadAppConfig,
10
- getModelsConfigPath: (config, agentName) => getModelsConfigPath(config, agentName),
11
- getMemoryConfigPath: (config, agentName) => getMemoryConfigPath(config, agentName),
12
- getToolConfigPath: (config, agentName) => getToolConfigPath(config, agentName),
13
- },
14
- });
15
- export const createAgentLlm = builders.createAgentLlm;
16
- export const createAgentMemory = builders.createAgentMemory;
17
- export const createAgentTools = builders.createAgentTools;
18
- export const createAgent = builders.createAgent;
19
- export const createBotContext = builders.createBotContext;
20
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,qBAAqB,GAKtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAIrB,MAAM,QAAQ,GAAuB,qBAAqB,CAAY;IACpE,SAAS,EAAE;QACT,eAAe,EAAE,aAAa;QAC9B,mBAAmB,EAAE,CAAC,MAAiB,EAAE,SAAkB,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC;QACtG,mBAAmB,EAAE,CAAC,MAAiB,EAAE,SAAkB,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC;QACtG,iBAAiB,EAAE,CAAC,MAAiB,EAAE,SAAkB,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;KACnG;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAyC,QAAQ,CAAC,cAAc,CAAC;AAC5F,MAAM,CAAC,MAAM,iBAAiB,GAA4C,QAAQ,CAAC,iBAAiB,CAAC;AACrG,MAAM,CAAC,MAAM,gBAAgB,GAA2C,QAAQ,CAAC,gBAAgB,CAAC;AAClG,MAAM,CAAC,MAAM,WAAW,GAAsC,QAAQ,CAAC,WAAW,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAA2C,QAAQ,CAAC,gBAAgB,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { BotContext } from "@easynet/agent-runtime";
2
- import type { StartupResult } from "./startup-colors.js";
3
- export declare function injectTargetSessionHint(ctx: BotContext, startup: StartupResult): void;
4
- //# sourceMappingURL=session-hint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-hint.d.ts","sourceRoot":"","sources":["../src/session-hint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAiBrF"}
@@ -1,25 +0,0 @@
1
- function formatTargetSessionHint(template, startup) {
2
- return template
3
- .replaceAll("{{sessionId}}", startup.targetSessionId ?? "")
4
- .replaceAll("{{windowId}}", String(startup.windowId))
5
- .replaceAll("{{tabIndex}}", String(startup.tabIndex));
6
- }
7
- export function injectTargetSessionHint(ctx, startup) {
8
- const templates = ctx.config.app
9
- ?.prompt_templates;
10
- const policyTemplate = templates?.iterm_policy?.trim() ?? "";
11
- const targetTemplate = templates?.target_session?.trim() ?? "";
12
- const policyHint = policyTemplate ? `\n\n${policyTemplate}` : "";
13
- const sessionHint = startup.targetSessionId && targetTemplate
14
- ? `\n\n${formatTargetSessionHint(targetTemplate, startup)}`
15
- : "";
16
- const agents = ctx.config.app?.agent;
17
- if (!agents)
18
- return;
19
- for (const agentCfg of Object.values(agents)) {
20
- if (agentCfg) {
21
- agentCfg.systemPrompt = (agentCfg.systemPrompt ?? "") + policyHint + sessionHint;
22
- }
23
- }
24
- }
25
- //# sourceMappingURL=session-hint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-hint.js","sourceRoot":"","sources":["../src/session-hint.ts"],"names":[],"mappings":"AAGA,SAAS,uBAAuB,CAAC,QAAgB,EAAE,OAAsB;IACvE,OAAO,QAAQ;SACZ,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;SAC1D,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACpD,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAe,EAAE,OAAsB;IAC7E,MAAM,SAAS,GAAI,GAAG,CAAC,MAAM,CAAC,GAA6F;QACzH,EAAE,gBAAgB,CAAC;IACrB,MAAM,cAAc,GAAG,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7D,MAAM,cAAc,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,IAAI,cAAc;QAC3D,CAAC,CAAC,OAAO,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;QAC3D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,KAA0E,CAAC;IAC1G,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC;QACnF,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,26 +0,0 @@
1
- export declare const CHAT_BG = "#1E2D3D";
2
- export declare const CHAT_FG = "#D4D7DC";
3
- export declare const TARGET_BG = "#2A2A2A";
4
- export declare const TARGET_FG = "#E8E0D4";
5
- export interface SessionColorSnapshot {
6
- windowId: number;
7
- tabIndex: number;
8
- sessionId: string;
9
- background: [number, number, number];
10
- foreground: [number, number, number];
11
- }
12
- export declare function captureSessionColorsByIdSync(args: {
13
- windowId: number;
14
- tabIndex: number;
15
- sessionId: string;
16
- }): SessionColorSnapshot | null;
17
- export declare function restoreSessionColorsSync(snapshots: SessionColorSnapshot[]): void;
18
- export interface StartupResult {
19
- chatSessionId: string | null;
20
- targetSessionId: string | null;
21
- windowId: number | null;
22
- tabIndex: number | null;
23
- colorSnapshots: SessionColorSnapshot[];
24
- }
25
- export declare function applyStartupPanelColors(): Promise<StartupResult>;
26
- //# sourceMappingURL=startup-colors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"startup-colors.d.ts","sourceRoot":"","sources":["../src/startup-colors.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,OAAO,YAAY,CAAC;AAGjC,eAAO,MAAM,SAAS,YAAY,CAAC;AACnC,eAAO,MAAM,SAAS,YAAY,CAAC;AAanC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAkED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,oBAAoB,GAAG,IAAI,CAE9B;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAyBhF;AA4BD,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,oBAAoB,EAAE,CAAC;CACxC;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC,CAsItE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"startup-colors.js","sourceRoot":"","sources":["../src/startup-colors.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { BotContext } from "@easynet/agent-runtime";
2
- export interface TargetRoutingState {
3
- chatSessionId: string | null;
4
- chatWindowId: number | null;
5
- chatTabIndex: number | null;
6
- targetSessionId: string | null;
7
- windowId: number | null;
8
- tabIndex: number | null;
9
- }
10
- export declare function enableDynamicTargetRouting(ctx: BotContext, state: TargetRoutingState, options?: {
11
- intervalMs?: number;
12
- chatTitle?: string;
13
- targetTitle?: string;
14
- }): () => void;
15
- //# sourceMappingURL=target-routing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"target-routing.d.ts","sourceRoot":"","sources":["../src/target-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAyBzD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAOD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACjB,GACL,MAAM,IAAI,CAmXZ"}