chivgent 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +125 -1
  2. package/README.zh-CN.md +113 -1
  3. package/dist/cli-options.d.ts +6 -0
  4. package/dist/cli-options.d.ts.map +1 -1
  5. package/dist/cli-options.js +25 -0
  6. package/dist/cli-options.js.map +1 -1
  7. package/dist/cli.js +162 -25
  8. package/dist/cli.js.map +1 -1
  9. package/dist/evals/cli.d.ts +3 -0
  10. package/dist/evals/cli.d.ts.map +1 -0
  11. package/dist/evals/cli.js +137 -0
  12. package/dist/evals/cli.js.map +1 -0
  13. package/dist/evals/fixture.d.ts +13 -0
  14. package/dist/evals/fixture.d.ts.map +1 -0
  15. package/dist/evals/fixture.js +18 -0
  16. package/dist/evals/fixture.js.map +1 -0
  17. package/dist/evals/graders.d.ts +21 -0
  18. package/dist/evals/graders.d.ts.map +1 -0
  19. package/dist/evals/graders.js +175 -0
  20. package/dist/evals/graders.js.map +1 -0
  21. package/dist/evals/parse-args.d.ts +18 -0
  22. package/dist/evals/parse-args.d.ts.map +1 -0
  23. package/dist/evals/parse-args.js +67 -0
  24. package/dist/evals/parse-args.js.map +1 -0
  25. package/dist/evals/report.d.ts +18 -0
  26. package/dist/evals/report.d.ts.map +1 -0
  27. package/dist/evals/report.js +103 -0
  28. package/dist/evals/report.js.map +1 -0
  29. package/dist/evals/runner.d.ts +43 -0
  30. package/dist/evals/runner.d.ts.map +1 -0
  31. package/dist/evals/runner.js +144 -0
  32. package/dist/evals/runner.js.map +1 -0
  33. package/dist/evals/task.d.ts +27 -0
  34. package/dist/evals/task.d.ts.map +1 -0
  35. package/dist/evals/task.js +116 -0
  36. package/dist/evals/task.js.map +1 -0
  37. package/dist/prompts.d.ts +12 -0
  38. package/dist/prompts.d.ts.map +1 -0
  39. package/dist/prompts.js +31 -0
  40. package/dist/prompts.js.map +1 -0
  41. package/dist/remote/client.d.ts +42 -0
  42. package/dist/remote/client.d.ts.map +1 -0
  43. package/dist/remote/client.js +173 -0
  44. package/dist/remote/client.js.map +1 -0
  45. package/dist/remote/framing.d.ts +33 -0
  46. package/dist/remote/framing.d.ts.map +1 -0
  47. package/dist/remote/framing.js +68 -0
  48. package/dist/remote/framing.js.map +1 -0
  49. package/dist/remote/protocol.d.ts +81 -0
  50. package/dist/remote/protocol.d.ts.map +1 -0
  51. package/dist/remote/protocol.js +79 -0
  52. package/dist/remote/protocol.js.map +1 -0
  53. package/dist/remote/repl.d.ts +18 -0
  54. package/dist/remote/repl.d.ts.map +1 -0
  55. package/dist/remote/repl.js +100 -0
  56. package/dist/remote/repl.js.map +1 -0
  57. package/dist/remote/server.d.ts +41 -0
  58. package/dist/remote/server.d.ts.map +1 -0
  59. package/dist/remote/server.js +214 -0
  60. package/dist/remote/server.js.map +1 -0
  61. package/dist/remote/socket-path.d.ts +33 -0
  62. package/dist/remote/socket-path.d.ts.map +1 -0
  63. package/dist/remote/socket-path.js +108 -0
  64. package/dist/remote/socket-path.js.map +1 -0
  65. package/dist/render.d.ts.map +1 -1
  66. package/dist/render.js +11 -1
  67. package/dist/render.js.map +1 -1
  68. package/package.json +3 -2
package/README.md CHANGED
@@ -40,6 +40,9 @@ to study before adding production-harness complexity.
40
40
  - Ranged `read_file` output with continuation hints and bounded tool results.
41
41
  - Read-only by default; `--allow-writes` adds `write_file` and `edit_file`.
42
42
  - An opt-in `bash` tool behind `--allow-shell`, with streamed output.
43
+ - An eval suite that measures whether the agent completes tasks, not just runs.
44
+ - Remote sessions: one process holds a session, others attach over a local socket.
45
+ - Several clients can watch one session; any of them can interrupt the run.
43
46
  - Extensions that add tools, slash commands, event handlers and prompt text.
44
47
  - Project extensions gated by a per-directory trust decision, taken before any
45
48
  module is imported and refused outright when there is no terminal to ask.
@@ -147,6 +150,9 @@ Options:
147
150
  --allow-writes Let the agent create and change files (default: read-only)
148
151
  --allow-shell Let the agent run shell commands. This implies write access:
149
152
  a shell is not bound by the workspace. Unix only.
153
+ --serve Expose this session on a local socket and keep running
154
+ --connect TARGET Attach to a served session, by id or socket path
155
+ --servers List the servers still answering, then exit
150
156
  --no-extensions Do not load any extension, and do not ask about trust
151
157
  --extensions List loaded extensions and what they register, then exit
152
158
  --forget-trust Forget the trust decision covering this workspace, then exit
@@ -385,6 +391,22 @@ src/
385
391
  write-file.ts Whole-file create and replace
386
392
  edit-file.ts Exact unique-match edit
387
393
  bash.ts Shell command execution
394
+ prompts.ts The instructions the agent runs under
395
+ evals/
396
+ task.ts Task definitions and their validation
397
+ fixture.ts A fresh workspace copy per attempt
398
+ graders.ts Deterministic graders
399
+ runner.ts Runs a task N times and aggregates
400
+ report.ts Table and JSON output
401
+ parse-args.ts Eval CLI arguments
402
+ cli.ts npm run eval
403
+ remote/
404
+ protocol.ts Message shapes and version negotiation
405
+ framing.ts JSON Lines framing with a bounded buffer
406
+ server.ts Serves one session on a Unix socket
407
+ client.ts Attaches to a served session
408
+ repl.ts The interactive loop for an attached client
409
+ socket-path.ts Socket paths, staleness, and discovery
388
410
  extensions/
389
411
  trust.ts Per-directory trust store
390
412
  decide-trust.ts The prompt, and the refusal when nobody can answer
@@ -401,6 +423,7 @@ src/
401
423
  truncate.ts Tail truncation for command output
402
424
  sanitize.ts Control-character filtering
403
425
  tests/ Provider, loop, and workspace tests
426
+ evals/ Eval tasks and their fixtures
404
427
  docs/ Architecture and learning notes
405
428
  ```
406
429
 
@@ -429,6 +452,98 @@ npm install -g ./chivgent-0.6.0.tgz
429
452
  Tests use scripted or mocked LLM clients. A real API smoke test is deliberately
430
453
  manual so the default test suite never consumes credits.
431
454
 
455
+ ## Evals
456
+
457
+ The 300-odd unit tests check that the code runs the way it was written. They say
458
+ nothing about whether this is a good agent. `npm run eval` answers that:
459
+
460
+ ```bash
461
+ npm run eval # every task in evals/
462
+ npm run eval -- --task rename-symbol --attempts 10
463
+ npm run eval -- --allow-writes --allow-shell --json report.json
464
+ ```
465
+
466
+ ```text
467
+ task pass turns tools p50
468
+ find-auth-logic 4/5 2.0 list_files,search_text,... 6.1s
469
+ rename-symbol 3/5 5.4 read_file,edit_file 9.8s
470
+
471
+ overall 7/10 (70%)
472
+
473
+ rename-symbol attempt 2,5: not-used-tool name="write_file" — called write_file 1 time(s)
474
+ ```
475
+
476
+ **An eval is not a test.** A model is nondeterministic, so one run of a task is a
477
+ coin flip: passing and failing are properties of the model-and-harness
478
+ combination, not of that run. The unit is therefore a pass rate over N attempts,
479
+ and evals never gate CI — a merge gate that costs money and goes red six times in
480
+ ten trains everyone to ignore CI. `npm test` stays free, offline and
481
+ deterministic.
482
+
483
+ A task is a directory under `evals/`: a `task.json` and a `fixture/` tree copied
484
+ into a fresh temporary workspace for every attempt.
485
+
486
+ ```jsonc
487
+ {
488
+ "prompt": "Rename the function sayHi to greet everywhere, including callers.",
489
+ "capabilities": ["writes"],
490
+ "attempts": 5,
491
+ "graders": [
492
+ { "type": "file-contains", "path": "src/greet.ts", "text": "export function greet(" },
493
+ { "type": "file-excludes", "path": "src/greet.ts", "text": "sayHi" },
494
+ { "type": "used-tool", "name": "edit_file" },
495
+ { "type": "not-used-tool", "name": "write_file" }
496
+ ]
497
+ }
498
+ ```
499
+
500
+ Graders are deterministic — file contents, tool calls, answer patterns, turn
501
+ counts. There is no LLM judge: a judge is itself a nondeterministic instrument,
502
+ and measuring a nondeterministic subject with one compounds the error until "the
503
+ agent got worse" cannot be told apart from "the judge felt different today".
504
+
505
+ Those last two graders are the point. Rewriting the whole file also produces the
506
+ right contents, and an eval that scores results alone would give it full marks.
507
+ For a coding agent, tool misuse is the more common and the more interesting
508
+ failure, so tasks assert on how the work was done.
509
+
510
+ ## Remote sessions
511
+
512
+ A session normally lives and dies with the terminal that started it. `--serve`
513
+ keeps it in one process and lets others attach:
514
+
515
+ ```bash
516
+ # One terminal
517
+ chivgent --serve --allow-writes
518
+ # chivgent 0.12.0 serving session 2026-09-06T...
519
+ # socket: ~/.chivgent/sockets/2026-09-06T....sock
520
+ # capabilities: --allow-writes
521
+
522
+ # Another terminal
523
+ chivgent --servers # list what is running
524
+ chivgent --connect <id> # attach interactively
525
+ chivgent --connect <id> "question" # ask once and leave
526
+ ```
527
+
528
+ A client holds no state: it sends prompts and renders the event stream the
529
+ server broadcasts. Several clients can attach at once — the extra ones watch the
530
+ same run as it happens, and any of them can interrupt it, because the run
531
+ belongs to the session rather than to whoever started it. A prompt sent while
532
+ another is running is refused rather than queued, and a client that disconnects
533
+ mid-run does not cancel it.
534
+
535
+ Attaching does not replay history; the session log already holds that. The
536
+ protocol is JSON Lines over a Unix socket, one object per line, the same shape
537
+ `--json` writes.
538
+
539
+ **Whoever can reach the socket has everything the server was started with.** If
540
+ it was started with `--allow-shell`, anyone who can connect can make the model
541
+ run commands, which is why the server prints its capabilities on startup: the
542
+ person attaching cannot see the flags you typed. The boundary is filesystem
543
+ permissions — sockets live in an owner-only directory under `CHIVGENT_HOME` —
544
+ and there is no TCP listener. For another machine, forward the socket over SSH
545
+ so that authentication is SSH's job.
546
+
432
547
  ## Extensions
433
548
 
434
549
  An extension is an ES module that default-exports a function. It is called once
@@ -527,6 +642,11 @@ a piped run never loads a checkout's extensions on its own.
527
642
  directory is your own configuration.
528
643
  - Extensions cannot take the name of a built-in tool or command.
529
644
  - `trust.json`, like the session log and the auth file, is written owner-only.
645
+ - A served session is reachable by anyone who can open its socket, and they get
646
+ every capability the server was started with. Sockets live in an owner-only
647
+ directory; the directory is the real gate, because a socket file exists
648
+ briefly with default permissions before it can be restricted.
649
+ - chivgent never listens on TCP. Use SSH forwarding to reach another machine.
530
650
  - Writes resolve the deepest existing ancestor and reject a symlink at any
531
651
  segment, so a planted link cannot redirect a write out of the workspace.
532
652
  - Writes are staged in a sibling temp file and renamed into place, so an
@@ -573,7 +693,9 @@ project.
573
693
  - [x] Provider registry and credential resolution chain
574
694
  - [x] `bash` tool with streaming output, behind `--allow-shell`
575
695
  - [x] Extensions and project trust
576
- - [ ] TUI, remote sessions, telemetry, and evals
696
+ - [x] Remote sessions over a local socket
697
+ - [x] An eval suite with deterministic graders and pass rates
698
+ - [ ] TUI and telemetry
577
699
 
578
700
  Per-command confirmation prompts and command allowlists are deliberately not
579
701
  planned. Once a shell tool exists, `bash` can do anything `write_file` can and
@@ -593,6 +715,8 @@ session-level switches; the real boundary is a container.
593
715
  - [Stage 7: Context budget and compaction](docs/stage-7-context-management.md)
594
716
  - [Stage 8: Shell tool and streaming subprocesses](docs/stage-8-shell-tool.md)
595
717
  - [Stage 9: Extensions and project trust](docs/stage-9-extensions.md)
718
+ - [Stage 10: Remote sessions](docs/stage-10-remote-sessions.md)
719
+ - [Stage 11: Evals](docs/stage-11-evals.md)
596
720
  - [Release process](docs/releasing.md)
597
721
 
598
722
  ## Contributing
package/README.zh-CN.md CHANGED
@@ -37,6 +37,9 @@
37
37
  - 支持带续读提示的分段 `read_file`,所有工具结果都有容量上限。
38
38
  - 默认只读;`--allow-writes` 才会启用 `write_file` 和 `edit_file`。
39
39
  - 通过 `--allow-shell` 选择性开启的 `bash` 工具,输出边跑边显示。
40
+ - Eval 套件:衡量 Agent 能不能把活干成,而不只是能不能跑起来。
41
+ - 远程会话:一个进程持有会话,其他进程通过本地 socket 接上来。
42
+ - 多个客户端可以同时观察同一个会话,其中任何一个都能中断当前运行。
40
43
  - 扩展系统:可以添加工具、斜杠命令、事件订阅和 system prompt 片段。
41
44
  - 项目扩展受按目录记录的信任决定门控;判定发生在任何模块被 import 之前,
42
45
  没有终端可问时一律拒绝。
@@ -143,6 +146,9 @@ chivgent [选项] 进入交互式会话
143
146
  --allow-writes 允许 Agent 创建和修改文件(默认只读)
144
147
  --allow-shell 允许 Agent 执行 Shell 命令。它蕴含写权限:Shell 不受工作区
145
148
  边界约束。仅支持 Unix。
149
+ --serve 把当前会话暴露在本地 socket 上并常驻
150
+ --connect TARGET 接上一个已服务的会话,可用 id 或 socket 路径
151
+ --servers 列出仍在响应的服务端后退出
146
152
  --no-extensions 不加载任何扩展,也不询问信任
147
153
  --extensions 列出已加载的扩展及其注册内容后退出
148
154
  --forget-trust 忘记覆盖当前工作区的信任决定后退出
@@ -368,6 +374,22 @@ src/
368
374
  write-file.ts 整文件创建与替换
369
375
  edit-file.ts 精确唯一匹配编辑
370
376
  bash.ts Shell 命令执行
377
+ prompts.ts Agent 运行时使用的提示词
378
+ evals/
379
+ task.ts 任务定义与校验
380
+ fixture.ts 每次尝试一份全新的工作区副本
381
+ graders.ts 确定性判定器
382
+ runner.ts 跑 N 次并聚合
383
+ report.ts 表格与 JSON 输出
384
+ parse-args.ts Eval CLI 参数
385
+ cli.ts npm run eval
386
+ remote/
387
+ protocol.ts 消息形状与版本协商
388
+ framing.ts 有界缓冲的 JSON Lines 分帧
389
+ server.ts 在 Unix socket 上服务一个会话
390
+ client.ts 接入一个已服务的会话
391
+ repl.ts 接入端的交互循环
392
+ socket-path.ts socket 路径、陈旧检测与发现
371
393
  extensions/
372
394
  trust.ts 按目录记录的信任存储
373
395
  decide-trust.ts 询问流程,以及无人可问时的拒绝
@@ -384,6 +406,7 @@ src/
384
406
  truncate.ts 命令输出的尾部截断
385
407
  sanitize.ts 控制字符过滤
386
408
  tests/ Provider、Agent Loop 和 Workspace 测试
409
+ evals/ Eval 任务与其 fixture
387
410
  docs/ 架构与学习文档
388
411
  ```
389
412
 
@@ -412,6 +435,87 @@ npm install -g ./chivgent-0.6.0.tgz
412
435
  测试使用脚本化或 Mock LLM Client。真实 API Smoke Test 需要手工执行,因此默认
413
436
  测试不会消耗 API 额度。
414
437
 
438
+ ## Evals
439
+
440
+ 三百多个单元测试验证的是"代码是否按我写的那样运行",它们对"这是不是一个好用的 Agent"
441
+ 一无所知。`npm run eval` 回答后一个问题:
442
+
443
+ ```bash
444
+ npm run eval # 跑 evals/ 下全部任务
445
+ npm run eval -- --task rename-symbol --attempts 10
446
+ npm run eval -- --allow-writes --allow-shell --json report.json
447
+ ```
448
+
449
+ ```text
450
+ task pass turns tools p50
451
+ find-auth-logic 4/5 2.0 list_files,search_text,... 6.1s
452
+ rename-symbol 3/5 5.4 read_file,edit_file 9.8s
453
+
454
+ overall 7/10 (70%)
455
+
456
+ rename-symbol attempt 2,5: not-used-tool name="write_file" — called write_file 1 time(s)
457
+ ```
458
+
459
+ **Eval 不是测试。** 模型是不确定的,所以一个任务跑一次就是抛硬币:通过与失败不是这次
460
+ 运行的属性,而是"模型 + harness"这个组合的属性。因此 eval 的基本单位是 **N 次尝试的
461
+ 通过率**;也因此 **evals 绝不进 CI 门禁**——让 CI 花钱、并且以六成概率变红,两周内就会
462
+ 训练所有人忽略 CI。`npm test` 依然免费、离线、确定。
463
+
464
+ 一个任务就是 `evals/` 下的一个目录:一份 `task.json` 加一棵 `fixture/` 文件树,
465
+ 每次尝试都复制到一个全新的临时工作区。
466
+
467
+ ```jsonc
468
+ {
469
+ "prompt": "把 sayHi 重命名成 greet,包括所有调用处。",
470
+ "capabilities": ["writes"],
471
+ "attempts": 5,
472
+ "graders": [
473
+ { "type": "file-contains", "path": "src/greet.ts", "text": "export function greet(" },
474
+ { "type": "file-excludes", "path": "src/greet.ts", "text": "sayHi" },
475
+ { "type": "used-tool", "name": "edit_file" },
476
+ { "type": "not-used-tool", "name": "write_file" }
477
+ ]
478
+ }
479
+ ```
480
+
481
+ 判定器全部是确定性的——文件内容、工具调用、回答匹配、轮数。**没有 LLM judge**:
482
+ 判官本身就是一个不确定的测量仪器,用它去测量不确定的对象,两个误差会叠加,
483
+ 最后你无法分辨"Agent 变差了"和"判官今天心情不同"。
484
+
485
+ 最后两条判定才是重点。整文件重写同样能得到正确的内容,一个只看结果的 eval 会给它满分。
486
+ 对编码 Agent 来说,**工具误用是比答错更常见、也更值得测的失败**,所以任务不仅判定
487
+ "做对了没有",还判定"是怎么做的"。
488
+
489
+ ## 远程会话
490
+
491
+ 会话通常和启动它的那个终端同生共死。`--serve` 让它留在一个进程里,其他进程可以接上来:
492
+
493
+ ```bash
494
+ # 终端 A
495
+ chivgent --serve --allow-writes
496
+ # chivgent 0.12.0 serving session 2026-09-06T...
497
+ # socket: ~/.chivgent/sockets/2026-09-06T....sock
498
+ # capabilities: --allow-writes
499
+
500
+ # 终端 B
501
+ chivgent --servers # 列出正在运行的服务端
502
+ chivgent --connect <id> # 交互式接入
503
+ chivgent --connect <id> "问题" # 问一次就走
504
+ ```
505
+
506
+ 客户端不持有任何状态:它只负责发 prompt、渲染服务端广播的事件流。可以同时接入多个
507
+ 客户端——多出来的那些实时观察同一次运行,并且**任何一个都能中断它**,因为运行属于会话,
508
+ 不属于"谁发起的"。运行期间再来一个 prompt 会被拒绝而不是排队;客户端中途断开也不会
509
+ 取消正在跑的运行。
510
+
511
+ 接入时**不重放历史**——那是会话日志的职责。协议是 Unix socket 上的 JSON Lines,
512
+ 一行一个对象,和 `--json` 输出同一种形状。
513
+
514
+ **能连上这个 socket 的人,拥有服务端启动时的全部能力。** 如果它是带 `--allow-shell`
515
+ 起来的,那么任何能连上的人都能让模型执行命令——这正是服务端启动时会打印本次能力的原因:
516
+ 接入的人看不到你敲了什么参数。边界是文件系统权限(socket 位于 `CHIVGENT_HOME` 下仅
517
+ 所有者可访问的目录),并且**不监听 TCP**。要跨机器访问请用 SSH 转发,让认证由 SSH 负责。
518
+
415
519
  ## 扩展系统
416
520
 
417
521
  一个扩展就是默认导出一个函数的 ES 模块。启动时它会被调用一次,拿到的 API 可以注册
@@ -492,6 +596,10 @@ CI 任务或管道运行永远不会自作主张去执行一个 clone 里的代
492
596
  - `<CHIVGENT_HOME>/extensions/` 下的用户级扩展始终加载,那是你自己的配置。
493
597
  - 扩展无法占用内置工具或内置命令的名字。
494
598
  - `trust.json` 与会话日志、认证文件一样,以仅所有者可读的权限写入。
599
+ - 被服务的会话对任何能打开其 socket 的人可达,且他们获得服务端启动时的全部能力。
600
+ socket 位于仅所有者可访问的目录中;**真正起作用的是目录权限**,因为 socket 文件在
601
+ 能被收紧权限之前会短暂地以默认权限存在。
602
+ - chivgent 从不监听 TCP。跨机器访问请使用 SSH 转发。
495
603
  - 写入会解析到最深层已存在的祖先目录,路径上任何一段是符号链接都会被拒绝,
496
604
  因此预先植入的链接无法把写入重定向到工作区之外。
497
605
  - 写入先落到同目录的临时文件再 rename 就位,中断的写入不会截断已有文件。
@@ -531,7 +639,9 @@ CI 任务或管道运行永远不会自作主张去执行一个 clone 里的代
531
639
  - [x] Provider Registry 与凭据解析链
532
640
  - [x] 通过 `--allow-shell` 开启的 `bash` 工具,带流式输出
533
641
  - [x] 扩展系统与 Project Trust
534
- - [ ] TUI、远程会话、Telemetry Evals
642
+ - [x] 基于本地 socket 的远程会话
643
+ - [x] 带确定性判定器和通过率的 Eval 套件
644
+ - [ ] TUI 和 Telemetry
535
645
 
536
646
  逐条命令确认和命令白名单是**主动放弃**的方向。有了 Shell 工具之后,`bash` 能做的
537
647
  事是 `write_file` 的超集,任何白名单都能被一行 `sh -c` 绕开,而逐条弹确认只会训练
@@ -549,6 +659,8 @@ CI 任务或管道运行永远不会自作主张去执行一个 clone 里的代
549
659
  - [Stage 7:上下文预算与压缩](docs/stage-7-context-management.md)
550
660
  - [Stage 8:Shell 工具与流式子进程](docs/stage-8-shell-tool.md)
551
661
  - [Stage 9:扩展系统与 Project Trust](docs/stage-9-extensions.md)
662
+ - [Stage 10:远程会话](docs/stage-10-remote-sessions.md)
663
+ - [Stage 11:Evals](docs/stage-11-evals.md)
552
664
  - [发布流程](docs/releasing.md)
553
665
 
554
666
  ## 参与贡献
@@ -45,6 +45,12 @@ export interface CliOptions {
45
45
  readonly listExtensions: boolean;
46
46
  /** Forget the trust decision covering this workspace and exit. */
47
47
  readonly forgetTrust: boolean;
48
+ /** Expose this session on a local socket and stay running. */
49
+ readonly serve: boolean;
50
+ /** Attach to a session served elsewhere; a session id or a socket path. */
51
+ readonly connect?: string;
52
+ /** List the servers that are still answering, then exit. */
53
+ readonly listServers: boolean;
48
54
  /** API key supplied for this run only, overriding every other source. */
49
55
  readonly apiKey?: string;
50
56
  /** Token budget the context is kept inside. */
@@ -1 +1 @@
1
- {"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,QAC6D,CAAC;AAElF,OAAO,EAEL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAGjC,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,EAAE,cAAc,EAC3B,QAAQ,GAAE,gBAA0C,GACnD,UAAU,CAuHZ;AAED,wBAAgB,QAAQ,CACtB,QAAQ,GAAE,gBAA0C,GACnD,MAAM,CA8CR"}
1
+ {"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,OAAO,QAC6D,CAAC;AAElF,OAAO,EAEL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAGjC,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAI1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,WAAW,EAAE,cAAc,EAC3B,QAAQ,GAAE,gBAA0C,GACnD,UAAU,CAoIZ;AAED,wBAAgB,QAAQ,CACtB,QAAQ,GAAE,gBAA0C,GACnD,MAAM,CAuDR"}
@@ -30,6 +30,9 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
30
30
  let allowWrites = false;
31
31
  let allowShell = false;
32
32
  let extensions = true;
33
+ let serve = false;
34
+ let connect;
35
+ let listServers = false;
33
36
  let listExtensions = false;
34
37
  let forgetTrust = false;
35
38
  let maxTurnsExplicit = false;
@@ -90,6 +93,16 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
90
93
  else if (argument === "--allow-shell") {
91
94
  allowShell = true;
92
95
  }
96
+ else if (argument === "--serve") {
97
+ serve = true;
98
+ }
99
+ else if (argument === "--connect") {
100
+ connect = readOptionValue(argv, index, "--connect");
101
+ index += 1;
102
+ }
103
+ else if (argument === "--servers") {
104
+ listServers = true;
105
+ }
93
106
  else if (argument === "--no-extensions") {
94
107
  extensions = false;
95
108
  }
@@ -137,6 +150,9 @@ export function parseCliArgs(argv, environment, registry = defaultProviderRegist
137
150
  allowWrites,
138
151
  allowShell,
139
152
  extensions,
153
+ serve,
154
+ ...(connect === undefined ? {} : { connect }),
155
+ listServers,
140
156
  listExtensions,
141
157
  forgetTrust,
142
158
  ...(apiKey === undefined ? {} : { apiKey }),
@@ -167,6 +183,9 @@ Options:
167
183
  --allow-writes Let the agent create and change files (default: read-only)
168
184
  --allow-shell Let the agent run shell commands. This implies write access:
169
185
  a shell is not bound by the workspace. Unix only.
186
+ --serve Expose this session on a local socket and keep running
187
+ --connect TARGET Attach to a served session, by id or socket path
188
+ --servers List the servers still answering, then exit
170
189
  --no-extensions Do not load any extension, and do not ask about trust
171
190
  --extensions List loaded extensions and what they register, then exit
172
191
  --forget-trust Forget the trust decision covering this workspace, then exit
@@ -188,6 +207,12 @@ Extensions:
188
207
  as code inside chivgent, with your permissions, and is not
189
208
  limited by the workspace.
190
209
 
210
+ Remote sessions:
211
+ chivgent --serve Hold a session and expose it locally
212
+ chivgent --connect ID Attach from another terminal
213
+ Anyone who can reach the socket gets everything the server was started with.
214
+ Sockets live in <CHIVGENT_HOME>/sockets, an owner-only directory.
215
+
191
216
  Environment:
192
217
  OPENAI_BASE_URL Required when --provider openai-compatible
193
218
  CHIVGENT_HOME Session, auth, trust and extension directory (default: ~/.chivgent)
@@ -1 +1 @@
1
- {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAmC,CAAC;AAErF,MAAM,CAAC,MAAM,OAAO,GAClB,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElF,OAAO,EACL,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAKtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,aAAa,GAAG,GAAG,CAAC;AAuD1B,MAAM,UAAU,YAAY,CAC1B,IAAuB,EACvB,WAA2B,EAC3B,QAAQ,GAAqB,uBAAuB;IAEpD,IAAI,QAAQ,GAAa,QAAQ,CAAC;IAClC,IAAI,cAAkC,CAAC;IACvC,IAAI,MAA0B,CAAC;IAC/B,IAAI,aAAa,GAAG,sBAAsB,CAAC;IAC3C,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,QAAQ,GAAG,iBAAiB,CAAC;IACjC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,MAA0B,CAAC;IAC/B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,OAA2B,CAAC;IAChC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC/C,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YACzD,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC1C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,cAAc,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACzD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACnD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACtC,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;YACtE,gBAAgB,GAAG,IAAI,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YACtC,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvD,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YACvC,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1D,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACrC,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;YACxC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACpD,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YACpC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YAC1C,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YACvC,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;YAC3C,aAAa,GAAG,kBAAkB,CAChC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC,CACjD,CAAC;YACF,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YAC1C,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,SAAS,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,KAAK,GACT,cAAc;QACd,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC;QAC3D,UAAU,CAAC,YAAY,CAAC;IAC1B,MAAM,OAAO,GACX,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC;QAC7D,UAAU,CAAC,cAAc,CAAC;IAE5B,OAAO;QACL,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,QAAQ;QACR,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,QAAQ,EACN,CAAC,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB;YAC9C,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,QAAQ;QACd,MAAM;QACN,KAAK;QACL,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,eAAe;QACf,YAAY;QACZ,WAAW;QACX,UAAU;QACV,UAAU;QACV,KAAK;QACL,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,WAAW;QACX,cAAc;QACd,WAAW;QACX,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,aAAa;QACb,UAAU;QACV,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,QAAQ,GAAqB,uBAAuB;IAEpD,OAAO,YAAY,OAAO;;;;;;;qBAOP,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;;uDAGS,iBAAiB,KAAK,uBAAuB;;;;;;;;;;;;;;;;+DAgBrC,sBAAsB;;;;;;;;;;EAUnF,iBAAiB,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;CAiB5B,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA0B;IACnD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,OAAO,GAAG;SACP,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,GACT,UAAU,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,WAAW,UAAU,CAAC,YAAY,EAAE,CAAC;QAC3C,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC;IAC5E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,IAAuB,EACvB,KAAa,EACb,MAAc;IAEd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CAAC,GAAG,MAAM,oBAAoB,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACjE,MAAM,IAAI,SAAS,CACjB,mDAAmD,kBAAkB,GAAG,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,aAAa,EAAE,CAAC;QAC1E,MAAM,IAAI,SAAS,CACjB,4CAA4C,aAAa,GAAG,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,QAA0B;IAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,SAAS,CACjB,yBAAyB,KAAK,qBAAqB,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAA2B,EAC3B,IAAuB;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}