itermbot 1.0.5 → 1.0.7

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 (55) hide show
  1. package/README.md +10 -2
  2. package/config/app.yaml +20 -4
  3. package/config/skill-workflows.yaml +42 -0
  4. package/config/skill.yaml +1 -0
  5. package/config/tool.yaml +10 -17
  6. package/dist/chat/step-display.d.ts.map +1 -1
  7. package/dist/chat/step-display.js +3 -0
  8. package/dist/chat/step-display.js.map +1 -1
  9. package/dist/config.d.ts +17 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +61 -0
  12. package/dist/config.js.map +1 -1
  13. package/dist/index.js +82 -6
  14. package/dist/index.js.map +1 -1
  15. package/dist/iterm/direct-command-fast-path.d.ts +2 -0
  16. package/dist/iterm/direct-command-fast-path.d.ts.map +1 -0
  17. package/dist/iterm/direct-command-fast-path.js +6 -0
  18. package/dist/iterm/direct-command-fast-path.js.map +1 -0
  19. package/dist/iterm/direct-command-router.d.ts.map +1 -1
  20. package/dist/iterm/direct-command-router.js +28 -7
  21. package/dist/iterm/direct-command-router.js.map +1 -1
  22. package/dist/iterm/target-panel-policy.d.ts.map +1 -1
  23. package/dist/iterm/target-panel-policy.js +28 -5
  24. package/dist/iterm/target-panel-policy.js.map +1 -1
  25. package/dist/runtime/deterministic-skill-executor.d.ts +27 -0
  26. package/dist/runtime/deterministic-skill-executor.d.ts.map +1 -0
  27. package/dist/runtime/deterministic-skill-executor.js +180 -0
  28. package/dist/runtime/deterministic-skill-executor.js.map +1 -0
  29. package/dist/runtime/text-tool-call-recovery.d.ts.map +1 -1
  30. package/dist/runtime/text-tool-call-recovery.js +431 -29
  31. package/dist/runtime/text-tool-call-recovery.js.map +1 -1
  32. package/package.json +1 -1
  33. package/skills/command-explain-and-guard/SKILL.md +0 -4
  34. package/skills/disk-usage-investigate/SKILL.md +4 -5
  35. package/skills/gpu-ssh-monitor/SKILL.md +0 -4
  36. package/skills/k8s-cluster-investigate/SKILL.md +5 -4
  37. package/skills/repo-triage/SKILL.md +0 -4
  38. package/skills/source-code-review/SKILL.md +75 -0
  39. package/skills/test-failure-diagnose/SKILL.md +0 -4
  40. package/src/chat/step-display.ts +3 -0
  41. package/src/config.ts +98 -0
  42. package/src/index.ts +94 -6
  43. package/src/iterm/direct-command-fast-path.ts +6 -0
  44. package/src/iterm/direct-command-router.ts +29 -8
  45. package/src/iterm/target-panel-policy.ts +28 -4
  46. package/src/runtime/deterministic-skill-executor.ts +270 -0
  47. package/src/runtime/text-tool-call-recovery.ts +480 -31
  48. package/test/chat-flow.integration.test.mjs +35 -16
  49. package/test/chat-progress.test.mjs +9 -0
  50. package/test/config.test.mjs +31 -1
  51. package/test/deterministic-skill-executor.test.mjs +225 -0
  52. package/test/direct-command-fast-path.test.mjs +14 -0
  53. package/test/direct-command-router.test.mjs +44 -0
  54. package/test/target-panel-policy.test.mjs +70 -0
  55. package/test/tool-call-recovery.test.mjs +599 -10
package/README.md CHANGED
@@ -10,7 +10,7 @@ Both agents share:
10
10
  - **@easynet/agent-common** — YAML config (app, paths).
11
11
  - **@easynet/agent-model** — LLM and embedding models (falls back to module default config).
12
12
  - **@easynet/agent-memory** — Agent memory (recall/inject for ReAct; store adapter for Deep).
13
- - **@easynet/agent-tool** + **@easynet/agent-tool-buildin** — Tools (FS, HTTP, util, exec, etc.).
13
+ - **@easynet/agent-tool** + **@easynet/agent-tool-buildin** — Tools (FS, HTTP, util, exec, git, analyze, iTerm, etc.).
14
14
 
15
15
  ## Prerequisites
16
16
 
@@ -38,7 +38,15 @@ Tool support uses agent-tool’s `@easynet/agent-tool` and `@easynet/agent-tool-
38
38
  Agent profile defaults (model/memory/tool/skills) are resolved by `@easynet/agent-runtime`.
39
39
  Top-level app config only overrides runtime defaults.
40
40
 
41
- Tool config now falls back to `@easynet/agent-tool` module defaults when app-level tool config is not provided.
41
+ `apps/itermbot/config/tool.yaml` now loads the full built-in tool package and applies local policy overrides for higher-risk tools such as `itermRunCommandInSession`.
42
+ This gives iTermBot direct access to local repository analysis and review primitives including `fs.*`, `git.*`, `analyze.*`, `http.*`, and iTerm tools.
43
+
44
+ `apps/itermbot/skills/source-code-review` adds a dedicated workflow for:
45
+
46
+ - source code analysis
47
+ - repository understanding
48
+ - PR / diff review
49
+ - bug and regression finding
42
50
 
43
51
  ## Usage
44
52
 
package/config/app.yaml CHANGED
@@ -3,10 +3,11 @@ kind: AppConfig
3
3
  metadata:
4
4
  name: itermbot
5
5
  spec:
6
- agent: react
6
+ agent: deep
7
7
 
8
8
  printSteps: true
9
9
  maxSteps: 100
10
+ invokeTimeoutMs: 240000
10
11
  responseSafetyMode: balanced
11
12
 
12
13
  promptTemplates:
@@ -20,9 +21,12 @@ spec:
20
21
  ## iTerm Operating Policy
21
22
  - The chat panel receives user requests. Determine intent, use a matching skill when available, then plan, execute in the target panel, analyze results, and respond.
22
23
  - Prefer skill-based workflows over ad-hoc planning when a relevant skill exists.
23
- - Target panel output is the remote source of truth.
24
- - Never use local machine commands for system/project data collection.
25
- - For remote inspection or operations, use `itermRunCommandInSession` in the target panel.
24
+ - Do not use the deep-agent `task` tool or spawn subagents in iTermBot. Planning and execution must stay in the main agent thread so the user can see the chosen skill, the concrete tools, and the evidence flow.
25
+ - All operational evidence must come from the target panel. The chat panel is only for planning, reasoning, and presenting results.
26
+ - For source code analysis, git state, repository analysis, PR review, shell inspection, and terminal operations, use `itermRunCommandInSession` in the target panel and analyze the returned output.
27
+ - Shell commands such as `df`, `du`, `kubectl`, `git`, `gh`, `ps`, and `top` are commands, not tool names. Execute them through `execute(command="...")` or `itermRunCommandInSession`.
28
+ - In iTermBot, Kubernetes investigation is supported through `itermRunCommandInSession` with read-only `kubectl` commands that are allowed by policy.
29
+ - Treat target panel output as the source of truth.
26
30
  - Every `itermRunCommandInSession` call must be exactly one command. Do not use shell operators or composition such as `|`, `;`, `&&`, `||`, `>`, `<`, or command substitution.
27
31
  - For current screen or panel analysis, do not ask the user to paste terminal text; capture it via no-op `:`.
28
32
  - For long output, paginate with `outputOffsetLines + maxOutputLines`, summarize by chunk, then synthesize a final conclusion.
@@ -37,8 +41,20 @@ spec:
37
41
 
38
42
  {{targetOsSection}}
39
43
 
44
+ Engineering analysis policy:
45
+ - For source code analysis, first identify scope, then inspect repo structure, changed files, and adjacent call sites from target-panel command output before concluding.
46
+ - For PR review, findings are the primary output: prioritize bugs, regressions, and missing tests over summaries.
47
+ - When a PR number is available, inspect metadata, comments, diff, and changed files through target-panel git or gh commands.
48
+ - Ground conclusions in concrete command output, file content, and diff evidence captured from the target panel.
49
+ - If no findings are discovered, say so explicitly and mention residual risk or testing gaps.
50
+ - For system diagnostics such as disk, CPU, memory, network, Kubernetes, or process state, prefer the matching diagnostics skill instead of source-code-review.
51
+ - Treat disk-usage questions as operational diagnostics, not code-analysis: start from `df -h`, then use targeted `du` commands in the target panel.
52
+ - Treat Kubernetes cluster-health or cluster-issue questions as operational diagnostics, not source-code-review: use the Kubernetes investigation skill and start from `kubectl cluster-info`, then continue with node, pod, and event evidence.
53
+ - Do not claim that Kubernetes investigation is unavailable when `kubectl` inspection commands are allowed. In this app, those checks run through `itermRunCommandInSession` in the target panel.
54
+
40
55
  Response safety policy:
41
56
  - Base all conclusions strictly on tool-output evidence.
57
+ - Never invent absolute or relative paths. Any path you mention or inspect must come directly from target-panel evidence such as `pwd`, `ls`, `find`, `rg`, `git`, or `gh` output.
42
58
  - If tool output contains requestedPath, resolvedPath, or pathFallbackUsed, treat those fields as authoritative.
43
59
  - Never claim that a missing path exists when fallback was used.
44
60
  - If an inspection request omits path or scope, first run one non-destructive check against the current target-panel working directory and state that assumption explicitly.
@@ -0,0 +1,42 @@
1
+ apiVersion: easynet.world/v1
2
+ kind: SkillWorkflowConfig
3
+ metadata:
4
+ name: itermbot-skill-workflows
5
+ spec:
6
+ workflows:
7
+ k8s-cluster-investigate:
8
+ executor: target-panel-command-workflow
9
+ commands:
10
+ - kubectl cluster-info
11
+ - kubectl get nodes -o wide
12
+ - kubectl get pods -A -o wide
13
+ - kubectl get events -A --sort-by=.lastTimestamp
14
+ summaryPrompt: |
15
+ Summarize the Kubernetes investigation evidence below.
16
+ Requirements:
17
+ - Use only facts present in the evidence.
18
+ - Do not mention any node, namespace, pod, event, or error string that does not appear verbatim in the evidence.
19
+ - Return a short summary with:
20
+ - whether the control plane is reachable
21
+ - ready vs not-ready nodes
22
+ - concrete failing pods when present
23
+ - one recent warning/error event when present
24
+ - one next drill-down command grounded in the evidence
25
+ - If a concrete failing pod exists, prefer `kubectl describe pod <pod> -n <namespace>`.
26
+ - Else if a node is `NotReady`, prefer `kubectl describe node <node>`.
27
+ - Do not emit tool calls.
28
+ disk-usage-investigate:
29
+ executor: target-panel-command-workflow
30
+ commands:
31
+ - df -h
32
+ summaryPrompt: |
33
+ Summarize the disk-usage evidence below.
34
+ Requirements:
35
+ - Use only facts present in the evidence.
36
+ - Do not mention any filesystem, path, or size that does not appear verbatim in the evidence.
37
+ - Prioritize the root filesystem `/` when it is present.
38
+ - Return a short summary with:
39
+ - the most full filesystem
40
+ - the root filesystem usage when present
41
+ - one concise conclusion
42
+ - Do not emit tool calls.
package/config/skill.yaml CHANGED
@@ -6,3 +6,4 @@ spec:
6
6
  path: ../skills
7
7
  mode: prompt
8
8
  inject_metadata: true
9
+ embedding_threshold: 0.2
package/config/tool.yaml CHANGED
@@ -4,7 +4,7 @@ metadata:
4
4
  name: itermbot-local-tool-config
5
5
  spec:
6
6
  tools:
7
- defaults:
7
+ file:../../../agent-tool-buildin:
8
8
  itermRunCommandInSession:
9
9
  allowedCommandPrefixes:
10
10
  - cat
@@ -46,19 +46,12 @@ spec:
46
46
  - kubectl get
47
47
  - kubectl logs
48
48
  - kubectl describe
49
- # Add only explicit command prefixes here. Example:
50
- # - hdfs dfs -ls
51
- list:
52
- - file:../../../agent-tool-buildin#listDir
53
- - file:../../../agent-tool-buildin#itermCreateWindow
54
- - file:../../../agent-tool-buildin#itermCreateTab
55
- - file:../../../agent-tool-buildin#itermSplitPane
56
- - file:../../../agent-tool-buildin#itermResizeWindow
57
- - file:../../../agent-tool-buildin#itermRename
58
- - file:../../../agent-tool-buildin#itermSetBackgroundColor
59
- - file:../../../agent-tool-buildin#itermSetSessionColors
60
- - file:../../../agent-tool-buildin#itermSendText
61
- - file:../../../agent-tool-buildin#itermRunCommandInSession
62
- - file:../../../agent-tool-buildin#itermListCurrentWindowSessions
63
- - file:../../../agent-tool-buildin#itermGetSessionInfo
64
- - file:../../../agent-tool-buildin#itermListWindows
49
+ analyzeProjectRepo:
50
+ timeoutMs: 90000
51
+ askProjectRepo:
52
+ timeoutMs: 90000
53
+ gitPrView:
54
+ comments: true
55
+ gitPrReview:
56
+ comments: true
57
+ timeoutMs: 90000
@@ -1 +1 @@
1
- {"version":3,"file":"step-display.d.ts","sourceRoot":"","sources":["../../src/chat/step-display.ts"],"names":[],"mappings":"AAaA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwCnD"}
1
+ {"version":3,"file":"step-display.d.ts","sourceRoot":"","sources":["../../src/chat/step-display.ts"],"names":[],"mappings":"AAaA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2CnD"}
@@ -39,6 +39,9 @@ export function renderStepLine(line) {
39
39
  if (line.startsWith(" skill: ")) {
40
40
  return colorize(`│ ${trimStepPrefix(line)}`, "\x1b[35m");
41
41
  }
42
+ if (line.startsWith(" tool: ")) {
43
+ return colorize(`│ ${trimStepPrefix(line)}`, "\x1b[36m");
44
+ }
42
45
  if (line.startsWith(" memory: ")) {
43
46
  return colorize(`│ ${trimStepPrefix(line)}`, "\x1b[2m");
44
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"step-display.js","sourceRoot":"","sources":["../../src/chat/step-display.ts"],"names":[],"mappings":"AAAA,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,GAAG,IAAI,GAAG,IAAI,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAChF,OAAO,QAAQ,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"step-display.js","sourceRoot":"","sources":["../../src/chat/step-display.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -3,11 +3,28 @@ export type PromptTemplates = {
3
3
  directCommandTranslationPrompt?: string;
4
4
  };
5
5
  export type ResponseSafetyMode = "off" | "balanced" | "strict";
6
+ export type AgentMode = "react" | "deep";
6
7
  export type AppConfig = {
8
+ agent?: AgentMode;
7
9
  printSteps?: boolean;
8
10
  maxSteps?: number;
11
+ invokeTimeoutMs?: number;
9
12
  promptTemplates?: PromptTemplates;
10
13
  responseSafetyMode?: ResponseSafetyMode;
11
14
  };
15
+ export type SkillRuntimeConfig = {
16
+ mode?: "prompt" | "subagent";
17
+ injectMetadata?: boolean;
18
+ embeddingThreshold?: number;
19
+ };
20
+ export type SkillWorkflowConfig = {
21
+ workflows?: Record<string, {
22
+ executor?: string;
23
+ commands?: string[];
24
+ summaryPrompt?: string;
25
+ }>;
26
+ };
12
27
  export declare function loadAppConfig(configPath: string): Promise<AppConfig>;
28
+ export declare function loadSkillRuntimeConfig(configPath: string): Promise<SkillRuntimeConfig>;
29
+ export declare function loadSkillWorkflowConfig(configPath: string): Promise<SkillWorkflowConfig>;
13
30
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqC1E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B,CAAC,EAAE,MAAM,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAmD1E;AAED,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiC5F;AAED,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8B9F"}
package/dist/config.js CHANGED
@@ -7,6 +7,10 @@ export async function loadAppConfig(configPath) {
7
7
  expectedKind: "AppConfig",
8
8
  });
9
9
  const spec = asObject(resource.spec);
10
+ const agentRaw = typeof spec?.agent === "string" ? spec.agent.trim().toLowerCase() : "";
11
+ const agent = agentRaw === "react" || agentRaw === "deep"
12
+ ? agentRaw
13
+ : undefined;
10
14
  const modeRaw = typeof spec?.responseSafetyMode === "string" ? spec.responseSafetyMode.trim().toLowerCase() : "";
11
15
  const responseSafetyMode = modeRaw === "off" || modeRaw === "balanced" || modeRaw === "strict"
12
16
  ? modeRaw
@@ -15,9 +19,14 @@ export async function loadAppConfig(configPath) {
15
19
  const maxSteps = typeof spec?.maxSteps === "number" && Number.isFinite(spec.maxSteps)
16
20
  ? Math.max(1, Math.floor(spec.maxSteps))
17
21
  : undefined;
22
+ const invokeTimeoutMs = typeof spec?.invokeTimeoutMs === "number" && Number.isFinite(spec.invokeTimeoutMs)
23
+ ? Math.max(5000, Math.floor(spec.invokeTimeoutMs))
24
+ : undefined;
18
25
  return {
26
+ agent,
19
27
  printSteps,
20
28
  maxSteps,
29
+ invokeTimeoutMs,
21
30
  promptTemplates: spec?.promptTemplates,
22
31
  responseSafetyMode,
23
32
  };
@@ -26,4 +35,56 @@ export async function loadAppConfig(configPath) {
26
35
  return {};
27
36
  }
28
37
  }
38
+ export async function loadSkillRuntimeConfig(configPath) {
39
+ try {
40
+ const resource = await resolveKindResourceFile(configPath, {
41
+ baseDir: process.cwd(),
42
+ expectedApiVersion: "easynet.world/v1",
43
+ expectedKind: "SkillConfig",
44
+ });
45
+ const spec = asObject(resource.spec);
46
+ const modeRaw = typeof spec?.mode === "string" ? spec.mode.trim().toLowerCase() : "";
47
+ const mode = modeRaw === "prompt" || modeRaw === "subagent"
48
+ ? modeRaw
49
+ : undefined;
50
+ const injectMetadata = typeof spec?.inject_metadata === "boolean" ? spec.inject_metadata : undefined;
51
+ const embeddingThreshold = typeof spec?.embedding_threshold === "number" && Number.isFinite(spec.embedding_threshold)
52
+ ? spec.embedding_threshold
53
+ : undefined;
54
+ return {
55
+ ...(mode ? { mode } : {}),
56
+ ...(injectMetadata != null ? { injectMetadata } : {}),
57
+ ...(embeddingThreshold != null ? { embeddingThreshold } : {}),
58
+ };
59
+ }
60
+ catch {
61
+ return {};
62
+ }
63
+ }
64
+ export async function loadSkillWorkflowConfig(configPath) {
65
+ try {
66
+ const resource = await resolveKindResourceFile(configPath, {
67
+ baseDir: process.cwd(),
68
+ expectedApiVersion: "easynet.world/v1",
69
+ expectedKind: "SkillWorkflowConfig",
70
+ });
71
+ const spec = asObject(resource.spec);
72
+ const workflowsRoot = asObject(spec?.workflows);
73
+ const workflows = Object.fromEntries(Object.entries(workflowsRoot ?? {}).map(([skillName, raw]) => {
74
+ const obj = asObject(raw);
75
+ const commands = Array.isArray(obj?.commands)
76
+ ? obj.commands.map((item) => String(item).trim()).filter(Boolean)
77
+ : undefined;
78
+ return [skillName, {
79
+ executor: typeof obj?.executor === "string" ? obj.executor.trim() : undefined,
80
+ ...(commands ? { commands } : {}),
81
+ summaryPrompt: typeof obj?.summaryPrompt === "string" ? obj.summaryPrompt.trim() : undefined,
82
+ }];
83
+ }));
84
+ return { workflows };
85
+ }
86
+ catch {
87
+ return {};
88
+ }
89
+ }
29
90
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAgBjF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAK3C,UAAU,EAAE;YACb,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;YACtB,kBAAkB,EAAE,kBAAkB;YACtC,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAKtB,CAAC;QACd,MAAM,OAAO,GAAG,OAAO,IAAI,EAAE,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjH,MAAM,kBAAkB,GACtB,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ;YACjE,CAAC,CAAE,OAA8B;YACjC,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,UAAU,GAAG,OAAO,IAAI,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,MAAM,QAAQ,GACZ,OAAO,IAAI,EAAE,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACL,UAAU;YACV,QAAQ;YACR,eAAe,EAAE,IAAI,EAAE,eAAe;YACtC,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,15 +10,17 @@ import { marked } from "marked";
10
10
  import { markedTerminal } from "marked-terminal";
11
11
  import { createAgentEventBus, } from "@easynet/agent-common";
12
12
  import { resolveConfigPath } from "@easynet/agent-common/config";
13
- import { createAgentReactRuntime } from "@easynet/agent-runtime";
13
+ import { createAgentDeepRuntime, createAgentReactRuntime } from "@easynet/agent-runtime";
14
14
  import { createAgentModel } from "@easynet/agent-model";
15
15
  import { createAgentMemory } from "@easynet/agent-memory";
16
16
  import { createAgentTools } from "@easynet/agent-tool";
17
17
  import { createAgentSkills } from "@easynet/agent-skill";
18
18
  import { runWithTextToolCallRecovery } from "./runtime/text-tool-call-recovery.js";
19
+ import { tryExecuteDeterministicSkillWorkflow } from "./runtime/deterministic-skill-executor.js";
19
20
  import { applyStartupPanelColors, restoreSessionColorsSync } from "./startup/colors.js";
20
21
  import { buildSystemPrompt } from "./iterm/session-hint.js";
21
22
  import { detectDirectTargetPanelCommand, setDirectCommandTranslationPrompt, tryHandleDirectTargetPanelCommand, } from "./iterm/direct-command-router.js";
23
+ import { shouldUseDirectCommandFastPath } from "./iterm/direct-command-fast-path.js";
22
24
  import { enforceTargetPanelExecutionPolicy, setTargetPanelHint } from "./iterm/target-panel-policy.js";
23
25
  import { runLlmHealthCheck } from "./startup/diagnostics.js";
24
26
  import { detectStartupTargetOs } from "./startup/os.js";
@@ -27,7 +29,7 @@ import { renderStepLine } from "./chat/step-display.js";
27
29
  import { enforceResponseSafetyWithMode } from "./chat/response-safety.js";
28
30
  import { tryHandleBuiltinReadCommand } from "./chat/builtin-commands.js";
29
31
  import { clearStartupNoise, formatLogPath, getAppVersion, printStartupBanner, printStartupSummary, runStartupStep, StartupProgressRenderer, } from "./startup/ui.js";
30
- import { loadAppConfig } from "./config.js";
32
+ import { loadAppConfig, loadSkillRuntimeConfig, loadSkillWorkflowConfig, } from "./config.js";
31
33
  let startupColorSnapshots = [];
32
34
  let unpatchTargetPanelPolicy = null;
33
35
  marked.use(markedTerminal({
@@ -84,7 +86,7 @@ function ensureItermEnvironmentOrExit() {
84
86
  console.error("Please run iTermBot inside iTerm2 and try again.");
85
87
  process.exit(1);
86
88
  }
87
- async function buildRuntime(systemPrompt, namespace, startup, maxSteps) {
89
+ async function buildRuntime(systemPrompt, namespace, startup, agentMode, skillRuntimeConfig, maxSteps, invokeTimeoutMs) {
88
90
  createAgentEventBus();
89
91
  await createAgentModel({
90
92
  configPath: resolveConfigPath("config/model.yaml", process.cwd()),
@@ -104,10 +106,19 @@ async function buildRuntime(systemPrompt, namespace, startup, maxSteps) {
104
106
  unpatchTargetPanelPolicy();
105
107
  unpatchTargetPanelPolicy = enforceTargetPanelExecutionPolicy(tools);
106
108
  await createAgentSkills(resolveConfigPath("config/skill.yaml", process.cwd()));
107
- return createAgentReactRuntime({
109
+ const runtimeFactory = agentMode === "deep"
110
+ ? createAgentDeepRuntime
111
+ : createAgentReactRuntime;
112
+ return runtimeFactory({
108
113
  systemPrompt,
109
114
  namespace,
115
+ ...(skillRuntimeConfig.mode ? { skillMode: skillRuntimeConfig.mode } : {}),
116
+ ...(skillRuntimeConfig.injectMetadata != null ? { skillInjectMetadata: skillRuntimeConfig.injectMetadata } : {}),
117
+ ...(skillRuntimeConfig.embeddingThreshold != null
118
+ ? { skillEmbeddingThreshold: skillRuntimeConfig.embeddingThreshold }
119
+ : {}),
110
120
  ...(typeof maxSteps === "number" ? { maxSteps } : {}),
121
+ ...(typeof invokeTimeoutMs === "number" ? { invokeTimeoutMs } : {}),
111
122
  });
112
123
  }
113
124
  async function runInteractive(runtime) {
@@ -143,6 +154,28 @@ async function runInteractive(runtime) {
143
154
  ask();
144
155
  return;
145
156
  }
157
+ const deterministic = await tryExecuteDeterministicSkillWorkflow({
158
+ runtime,
159
+ input: trimmed,
160
+ writer: printSteps ? writeStepLine : () => { },
161
+ targetHint: {
162
+ windowId: startup.windowId ?? undefined,
163
+ tabIndex: startup.tabIndex ?? undefined,
164
+ sessionId: startup.targetSessionId ?? undefined,
165
+ },
166
+ embeddingThreshold: skillRuntimeConfig.embeddingThreshold,
167
+ workflowConfig: skillWorkflowConfig,
168
+ });
169
+ if (deterministic) {
170
+ const safeText = enforceResponseSafetyWithMode(deterministic.text, responseSafetyMode, {
171
+ evidenceText: deterministic.evidenceText,
172
+ targetOs: startupTargetOs,
173
+ });
174
+ if (safeText)
175
+ printBotMessage(safeText, turn);
176
+ ask();
177
+ return;
178
+ }
146
179
  const recoveryWriter = printSteps ? writeStepLine : () => { };
147
180
  const result = await runWithTextToolCallRecovery(runtime, trimmed, recoveryWriter, {
148
181
  windowId: startup.windowId ?? undefined,
@@ -188,9 +221,13 @@ let startup = {
188
221
  colorSnapshots: [],
189
222
  };
190
223
  let responseSafetyMode = "balanced";
224
+ let agentMode = "deep";
191
225
  let startupTargetOs = "";
192
226
  let printSteps = false;
193
227
  let maxSteps = 16;
228
+ let invokeTimeoutMs = 90_000;
229
+ let skillRuntimeConfig = {};
230
+ let skillWorkflowConfig = {};
194
231
  function formatStepNumber(stepNumber) {
195
232
  return String(Math.max(0, stepNumber)).padStart(2, "0");
196
233
  }
@@ -201,19 +238,30 @@ async function tryHandleDirectCommandWithProgress(input, runtime) {
201
238
  const verbose = process.env.ITB_VERBOSE_DIRECT_ROUTE?.trim() === "1" || printSteps;
202
239
  const startedAt = Date.now();
203
240
  const writeStep = (line) => console.log(renderStepLine(line));
241
+ const directIntent = detectDirectTargetPanelCommand(input);
242
+ const useFastPath = shouldUseDirectCommandFastPath(input);
204
243
  if (verbose) {
205
244
  writeStep("");
206
245
  writeStep("=== Steps: direct command routing ===");
207
246
  writeStep(`[${formatStepNumber(1)}] ▶ detect/translate direct command`);
208
247
  }
209
248
  try {
210
- const directIntent = detectDirectTargetPanelCommand(input);
211
249
  if (verbose && directIntent?.command) {
212
250
  const reason = directIntent.reason === "raw_shell_command"
213
251
  ? "Because your input is an executable shell command, execute it directly in the target panel."
214
252
  : "Because you explicitly requested direct terminal execution, execute it directly in the target panel.";
215
253
  writeStep(` reason: ${reason}`);
216
254
  }
255
+ if (!useFastPath) {
256
+ if (verbose) {
257
+ writeStep(`[${formatStepNumber(1)}] ✓ detect/translate direct command (fallback to agent)`);
258
+ writeStep(" reason: Natural-language requests should go through skill and tool planning before execution.");
259
+ writeStep(" progress 1/1");
260
+ writeStep("=== Steps complete: 1 step(s) ===");
261
+ writeStep("");
262
+ }
263
+ return null;
264
+ }
217
265
  const directOutput = await tryHandleDirectTargetPanelCommand(input, runtime, {
218
266
  windowId: startup.windowId ?? undefined,
219
267
  tabIndex: startup.tabIndex ?? undefined,
@@ -259,9 +307,15 @@ async function main() {
259
307
  const appConfigPath = resolveConfigPath("config/app.yaml", process.cwd());
260
308
  const appConfig = await runStartupStep(progress, "init app config", () => loadAppConfig(appConfigPath), () => formatLogPath(appConfigPath));
261
309
  printSteps = appConfig.printSteps === true;
310
+ agentMode = appConfig.agent ?? "deep";
262
311
  maxSteps = appConfig.maxSteps ?? 16;
312
+ invokeTimeoutMs = appConfig.invokeTimeoutMs ?? 90_000;
263
313
  responseSafetyMode = appConfig.responseSafetyMode ?? "balanced";
264
314
  setDirectCommandTranslationPrompt(appConfig.promptTemplates?.directCommandTranslationPrompt);
315
+ const skillConfigPath = resolveConfigPath("config/skill.yaml", process.cwd());
316
+ skillRuntimeConfig = await loadSkillRuntimeConfig(skillConfigPath);
317
+ const skillWorkflowConfigPath = resolveConfigPath("config/skill-workflows.yaml", process.cwd());
318
+ skillWorkflowConfig = await loadSkillWorkflowConfig(skillWorkflowConfigPath);
265
319
  // 2. Identify iTerm panels and apply colors
266
320
  startup = await runStartupStep(progress, "init iTerm panels", () => applyStartupPanelColors());
267
321
  startupColorSnapshots = startup.colorSnapshots;
@@ -280,7 +334,7 @@ async function main() {
280
334
  });
281
335
  // 5. Create agent runtime (model/memory/tools registered by application)
282
336
  let runtime;
283
- await runStartupStep(progress, "init agent runtime", async () => { runtime = await buildRuntime(systemPrompt, namespace, startup, maxSteps); }, () => `namespace=${namespace}`);
337
+ await runStartupStep(progress, "init agent runtime", async () => { runtime = await buildRuntime(systemPrompt, namespace, startup, agentMode, skillRuntimeConfig, maxSteps, invokeTimeoutMs); }, () => `agent=${agentMode} namespace=${namespace}`);
284
338
  // 6. Subscribe to agent events for UI output
285
339
  if (printSteps) {
286
340
  const listener = createChatProgressEventListener(console.log);
@@ -307,6 +361,28 @@ async function main() {
307
361
  printBotMessage(directOutput, turn);
308
362
  }
309
363
  else {
364
+ const deterministic = await tryExecuteDeterministicSkillWorkflow({
365
+ runtime,
366
+ input: question,
367
+ writer: printSteps ? writeStepLine : () => { },
368
+ targetHint: {
369
+ windowId: startup.windowId ?? undefined,
370
+ tabIndex: startup.tabIndex ?? undefined,
371
+ sessionId: startup.targetSessionId ?? undefined,
372
+ },
373
+ embeddingThreshold: skillRuntimeConfig.embeddingThreshold,
374
+ workflowConfig: skillWorkflowConfig,
375
+ });
376
+ if (deterministic) {
377
+ const safeText = enforceResponseSafetyWithMode(deterministic.text, responseSafetyMode, {
378
+ evidenceText: deterministic.evidenceText,
379
+ targetOs: startupTargetOs,
380
+ });
381
+ if (safeText)
382
+ printBotMessage(safeText, turn);
383
+ shutdown();
384
+ return;
385
+ }
310
386
  const recoveryWriter = printSteps ? writeStepLine : () => { };
311
387
  const result = await runWithTextToolCallRecovery(runtime, question, recoveryWriter, {
312
388
  windowId: startup.windowId ?? undefined,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function shouldUseDirectCommandFastPath(input: string): boolean;
2
+ //# sourceMappingURL=direct-command-fast-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-command-fast-path.d.ts","sourceRoot":"","sources":["../../src/iterm/direct-command-fast-path.ts"],"names":[],"mappings":"AAEA,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrE"}
@@ -0,0 +1,6 @@
1
+ import { detectDirectTargetPanelCommand } from "./direct-command-router.js";
2
+ export function shouldUseDirectCommandFastPath(input) {
3
+ const directIntent = detectDirectTargetPanelCommand(input);
4
+ return directIntent?.reason === "raw_shell_command";
5
+ }
6
+ //# sourceMappingURL=direct-command-fast-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"direct-command-fast-path.js","sourceRoot":"","sources":["../../src/iterm/direct-command-fast-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,MAAM,YAAY,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,YAAY,EAAE,MAAM,KAAK,mBAAmB,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"direct-command-router.d.ts","sourceRoot":"","sources":["../../src/iterm/direct-command-router.ts"],"names":[],"mappings":"AAOA,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE;QACP,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC;KAC3B,CAAC;CACH,CAAC;AAWF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAG;AAE1G,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEzF;AAqGD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAWxF;AA+KD,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBxB"}
1
+ {"version":3,"file":"direct-command-router.d.ts","sourceRoot":"","sources":["../../src/iterm/direct-command-router.ts"],"names":[],"mappings":"AAOA,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE;QACP,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC;KAC3B,CAAC;CACH,CAAC;AAWF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAG;AAE1G,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAEzF;AAoHD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAWxF;AA+KD,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,WAAW,EACpB,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB"}