jazz-ai 0.9.16 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/README.proposed.md +286 -0
- package/dist/cli/auto-update.d.ts.map +1 -1
- package/dist/cli/commands/agent-management.d.ts.map +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/edit-agent.d.ts.map +1 -1
- package/dist/cli/helpers/web-search.d.ts.map +1 -1
- package/dist/cli/presentation/activity-reducer.d.ts +3 -5
- package/dist/cli/presentation/activity-reducer.d.ts.map +1 -1
- package/dist/cli/presentation/ink-presentation-service.d.ts +4 -22
- package/dist/cli/presentation/ink-presentation-service.d.ts.map +1 -1
- package/dist/cli/presentation/markdown-formatter.d.ts +2 -0
- package/dist/cli/presentation/markdown-formatter.d.ts.map +1 -1
- package/dist/cli/presentation/markdown-split.d.ts +4 -0
- package/dist/cli/presentation/markdown-split.d.ts.map +1 -0
- package/dist/cli/ui/ActivityView.d.ts.map +1 -1
- package/dist/cli/ui/App.d.ts.map +1 -1
- package/dist/cli/ui/OutputEntryView.d.ts.map +1 -1
- package/dist/cli/ui/Prompt.d.ts.map +1 -1
- package/dist/cli/ui/StatusFooter.d.ts +3 -1
- package/dist/cli/ui/StatusFooter.d.ts.map +1 -1
- package/dist/cli/ui/activity-state.d.ts +7 -1
- package/dist/cli/ui/activity-state.d.ts.map +1 -1
- package/dist/cli/ui/adapters/terminal-output-adapter.d.ts +33 -8
- package/dist/cli/ui/adapters/terminal-output-adapter.d.ts.map +1 -1
- package/dist/cli/ui/components/TextInput.d.ts +1 -0
- package/dist/cli/ui/components/TextInput.d.ts.map +1 -1
- package/dist/cli/ui/glyphs.d.ts +39 -0
- package/dist/cli/ui/glyphs.d.ts.map +1 -0
- package/dist/cli/ui/store.d.ts +25 -2
- package/dist/cli/ui/store.d.ts.map +1 -1
- package/dist/core/agent/agent-prompt.d.ts +3 -0
- package/dist/core/agent/agent-prompt.d.ts.map +1 -1
- package/dist/core/agent/agent-runner.d.ts.map +1 -1
- package/dist/core/agent/context/context-window-manager.d.ts +5 -3
- package/dist/core/agent/context/context-window-manager.d.ts.map +1 -1
- package/dist/core/agent/context/summarizer.d.ts +2 -1
- package/dist/core/agent/context/summarizer.d.ts.map +1 -1
- package/dist/core/agent/context/token-counter.d.ts +21 -0
- package/dist/core/agent/context/token-counter.d.ts.map +1 -0
- package/dist/core/agent/execution/agent-loop.d.ts.map +1 -1
- package/dist/core/agent/metrics/agent-run-metrics.d.ts +7 -0
- package/dist/core/agent/metrics/agent-run-metrics.d.ts.map +1 -1
- package/dist/core/agent/tools/shell-tools.d.ts +2 -0
- package/dist/core/agent/tools/shell-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/skill-tools.d.ts.map +1 -1
- package/dist/core/agent/types.d.ts +3 -0
- package/dist/core/agent/types.d.ts.map +1 -1
- package/dist/core/constants/models.d.ts +1 -0
- package/dist/core/constants/models.d.ts.map +1 -1
- package/dist/core/interfaces/terminal.d.ts +1 -0
- package/dist/core/interfaces/terminal.d.ts.map +1 -1
- package/dist/core/skills/skill-service.d.ts +5 -0
- package/dist/core/skills/skill-service.d.ts.map +1 -1
- package/dist/core/types/chat.d.ts +1 -0
- package/dist/core/types/chat.d.ts.map +1 -1
- package/dist/core/types/config.d.ts +6 -0
- package/dist/core/types/config.d.ts.map +1 -1
- package/dist/core/types/llm.d.ts +2 -0
- package/dist/core/types/llm.d.ts.map +1 -1
- package/dist/core/types/persona.d.ts +5 -0
- package/dist/core/types/persona.d.ts.map +1 -1
- package/dist/core/utils/string.d.ts.map +1 -1
- package/dist/main.js +7122 -589
- package/dist/services/llm/ai-sdk-service.d.ts.map +1 -1
- package/dist/services/llm/model-fetcher.d.ts.map +1 -1
- package/dist/services/llm/models.d.ts +3 -0
- package/dist/services/llm/models.d.ts.map +1 -1
- package/dist/services/llm/reasoning/index.d.ts +4 -0
- package/dist/services/llm/reasoning/index.d.ts.map +1 -0
- package/dist/services/llm/reasoning/registry.d.ts +4 -0
- package/dist/services/llm/reasoning/registry.d.ts.map +1 -0
- package/dist/services/llm/reasoning/tag-pair-parser.d.ts +13 -0
- package/dist/services/llm/reasoning/tag-pair-parser.d.ts.map +1 -0
- package/dist/services/llm/reasoning/types.d.ts +23 -0
- package/dist/services/llm/reasoning/types.d.ts.map +1 -0
- package/dist/services/llm/stream-processor.d.ts +4 -0
- package/dist/services/llm/stream-processor.d.ts.map +1 -1
- package/dist/services/persona-service.d.ts.map +1 -1
- package/dist/services/storage/file.d.ts.map +1 -1
- package/dist/services/terminal.d.ts +2 -0
- package/dist/services/terminal.d.ts.map +1 -1
- package/package.json +4 -1
- package/personas/researcher/persona.md +18 -0
- package/personas/summarizer/persona.md +2 -0
- package/dist/cli/presentation/stream-text-order.d.ts +0 -11
- package/dist/cli/presentation/stream-text-order.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -98,7 +98,7 @@ Jazz understands your filesystem, your git history, your shell, HTTP APIs, the w
|
|
|
98
98
|
|
|
99
99
|
Jazz doesn't lock you in. Use whichever model fits the task or switch mid-conversation. Run locally with Ollama, go through OpenRouter for access to hundreds of models, or plug in your own endpoint.
|
|
100
100
|
|
|
101
|
-
OpenAI, Anthropic, Google, Mistral, xAI, DeepSeek, Groq, Cerebras, Fireworks, TogetherAI, Ollama, OpenRouter, and more.
|
|
101
|
+
OpenAI, Anthropic, Google, Mistral, xAI, DeepSeek, Groq, Cerebras, Fireworks, TogetherAI, Ollama, llama.cpp, OpenRouter, and more.
|
|
102
102
|
|
|
103
103
|
### MCP: Connect to Everything
|
|
104
104
|
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# Jazz 🎷
|
|
4
|
+
|
|
5
|
+
[](https://www.typescriptlang.org/) [](https://opensource.org/licenses/MIT) [](https://www.npmjs.com/package/jazz-ai)
|
|
6
|
+
|
|
7
|
+
### The agent you leave running.
|
|
8
|
+
|
|
9
|
+

|
|
10
|
+
|
|
11
|
+
Jazz is a TypeScript CLI agent built for **scheduled, headless, CI-integrated automation**. Write a workflow as Markdown, schedule it with cron or `launchd`, and let it run while you do other things. It also does interactive chat — but that's the secondary mode.
|
|
12
|
+
|
|
13
|
+
[Quick Start](#quick-start) · [Scenarios](#what-only-jazz-does-well) · [Workflows](#workflows) · [CI/CD](#cicd) · [Docs](docs/README.md) · [Discord](https://discord.gg/yBDbS2NZju)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Why Jazz?
|
|
20
|
+
|
|
21
|
+
There are a lot of good agents to pair-program with — Claude Code, Aider, Cursor CLI, Gemini CLI. Jazz is built for the other half of the day: the work you'd rather not be at the keyboard for. Workflows are first-class — Markdown files with a cron schedule, an autonomy tier, and a prompt. They run headless via `launchd` (macOS) or `cron` (Linux), with **catch-up replay** when your machine was asleep, and a `--auto-approve` flag for hands-off execution. The same binary drops into GitHub Actions: comment `/jazz` on a PR and Jazz reviews it, or runs whatever you ask. It connects to anything that speaks **MCP** (stdio or Streamable HTTP), works across 14 LLM providers via the AI SDK, and yes — you can also just type `jazz` and chat.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## What only Jazz does well
|
|
26
|
+
|
|
27
|
+
Three concrete things that aren't easy to do with the other CLI agents:
|
|
28
|
+
|
|
29
|
+
### 1. Cron-scheduled inbox triage
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
---
|
|
33
|
+
name: inbox-triage
|
|
34
|
+
description: Archive newsletters, flag anything important
|
|
35
|
+
schedule: "0 8,13,18 * * *" # 3x a day
|
|
36
|
+
agent: my-assistant
|
|
37
|
+
autoApprove: low-risk # archive ok, send not ok
|
|
38
|
+
catchUpOnStartup: true # replay missed runs after laptop sleep
|
|
39
|
+
---
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
Read unread Gmail from the last 6 hours. Archive newsletters and promotions.
|
|
44
|
+
For anything that looks like a real human asking a real question, draft a reply
|
|
45
|
+
and leave it as a Gmail draft.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
jazz workflow schedule inbox-triage
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Jazz installs a `launchd` plist or crontab entry. If your laptop was closed at 8am, the next time you open it Jazz prompts to catch up the missed run.
|
|
53
|
+
|
|
54
|
+
### 2. PR review (and on-demand assistant) in CI
|
|
55
|
+
|
|
56
|
+
The repo's own [`.github/workflows/jazz.yml`](.github/workflows/jazz.yml) is wired up so:
|
|
57
|
+
|
|
58
|
+
- Every opened PR gets reviewed automatically.
|
|
59
|
+
- Commenting `/jazz` on a PR triggers a review pass.
|
|
60
|
+
- Commenting `/jazz <anything>` runs an assistant agent that can read the diff, the repo, and the conversation, and reply inline.
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
- run: npm install -g jazz-ai
|
|
64
|
+
- name: Run Jazz code review
|
|
65
|
+
run: jazz --output raw workflow run code-review --auto-approve --agent ci-reviewer
|
|
66
|
+
env:
|
|
67
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The agent configs and workflow templates live in [`.github/jazz/`](.github/jazz/). Copy them.
|
|
71
|
+
|
|
72
|
+
### 3. Multi-step MCP-driven workflows
|
|
73
|
+
|
|
74
|
+
Jazz speaks [MCP](https://modelcontextprotocol.io/) over **both** stdio and Streamable HTTP, with env sanitization on subprocess transports. So a single workflow can read your Notion roadmap, do real research, and leave a draft in Gmail:
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
1. Use the Notion MCP to find this week's roadmap items.
|
|
78
|
+
2. For each item, search the web and any relevant academic sources.
|
|
79
|
+
3. Summarize findings as a Notion comment on the corresponding page.
|
|
80
|
+
4. Draft an email to the team with the top three insights and leave it
|
|
81
|
+
as a Gmail draft. Do not send.
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Add an MCP server with `jazz mcp add`, then any agent or workflow can use it.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Quick Start
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Install
|
|
92
|
+
npm install -g jazz-ai
|
|
93
|
+
bun add -g jazz-ai
|
|
94
|
+
pnpm add -g jazz-ai
|
|
95
|
+
yarn global add jazz-ai
|
|
96
|
+
|
|
97
|
+
# Start chatting
|
|
98
|
+
jazz
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
That's it. Jazz walks you through provider setup on first run.
|
|
102
|
+
|
|
103
|
+
> **Try it free** — choose [OpenRouter](https://openrouter.ai) as your provider and pick the [`Free Models Router`](https://openrouter.ai/openrouter/free). No credit card.
|
|
104
|
+
|
|
105
|
+
Keep it updated:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
jazz update
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## What it is
|
|
114
|
+
|
|
115
|
+
- **Workflows.** Markdown files with frontmatter (`schedule`, `agent`, `autoApprove`, `catchUpOnStartup`). Run with `jazz workflow run <name>`, schedule with `jazz workflow schedule <name>`. Backed by `launchd` on macOS and `cron` on Linux. Catch-up replay if a scheduled run was missed. → [docs/concepts/workflows.md](docs/concepts/workflows.md)
|
|
116
|
+
- **Auto-approve tiers.** `false` (always ask), `read-only`, `low-risk` (+ archive email, calendar events), `high-risk` (+ file writes, shell, git push). Per-workflow, per-run.
|
|
117
|
+
- **CI surface.** `jazz --output raw workflow run <name> --auto-approve` is the CI-friendly invocation. `/jazz` comment trigger and `@jazz` mention trigger live in [`.github/workflows/jazz.yml`](.github/workflows/jazz.yml).
|
|
118
|
+
- **Personas with tool profiles.** Built-ins: `default`, `coder`, `researcher`. The `researcher` persona denies `write_file`, `edit_file`, `execute_command`, all `git_*` mutating tools — read-only at the schema level. Custom personas live in `~/.jazz/personas/`. → [docs/concepts/personas.md](docs/concepts/personas.md)
|
|
119
|
+
- **MCP.** Both stdio and Streamable HTTP transports. Subprocess env is sanitized. Tool schemas are normalized to Zod. → `jazz mcp add` / [docs/concepts/skills.md](docs/concepts/skills.md)
|
|
120
|
+
- **Skills.** 20+ built-in (code review, deep research, email, calendar, PR descriptions, Obsidian, browser, ...). Follows the [`.agents`](https://agentskills.io) convention so any community skill works. Drop into `~/.jazz/skills/` (global) or `./skills/` (project). → [docs/concepts/skills.md](docs/concepts/skills.md)
|
|
121
|
+
- **14 LLM providers** via the Vercel AI SDK: OpenAI, Anthropic, Google, Mistral, xAI, DeepSeek, Groq, Cerebras, Fireworks, TogetherAI, Moonshot AI, Alibaba, Ollama, OpenRouter. Switch mid-conversation with `/model`.
|
|
122
|
+
- **Effect-TS** under the hood. Typed errors, layered services, no silent failures.
|
|
123
|
+
- **You stay in control.** Reads/searches/web requests run freely. Writes, shell, git mutations, sends — all gated by approval (or by an explicit `autoApprove` tier you set). Every action is logged. OAuth2 for Gmail, API keys in config.
|
|
124
|
+
|
|
125
|
+
### Command reference
|
|
126
|
+
|
|
127
|
+
| Command | Description |
|
|
128
|
+
| --- | --- |
|
|
129
|
+
| `jazz` | Start chatting (interactive agent selection) |
|
|
130
|
+
| `jazz agent create` / `list` / `chat <name>` | Manage agents |
|
|
131
|
+
| `jazz workflow list` / `run <name>` / `schedule <name>` | Manage workflows |
|
|
132
|
+
| `jazz mcp add` / `list` | Manage MCP servers |
|
|
133
|
+
| `jazz persona ...` | Manage personas |
|
|
134
|
+
| `jazz auth gmail login` | OAuth Gmail |
|
|
135
|
+
| `jazz config show` | View configuration |
|
|
136
|
+
| `jazz update` | Update to latest |
|
|
137
|
+
|
|
138
|
+
In-chat slash commands: `/tools`, `/skills`, `/model`, `/mode`, `/cost`, `/context`, `/compact`, `/switch`, `/workflows`, `/help`.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Workflows
|
|
143
|
+
|
|
144
|
+
A workflow is a Markdown file. Frontmatter declares schedule and autonomy; the body is the prompt.
|
|
145
|
+
|
|
146
|
+
```yaml
|
|
147
|
+
---
|
|
148
|
+
name: daily-standup-prep
|
|
149
|
+
description: Prep my standup notes
|
|
150
|
+
schedule: "0 9 * * 1-5" # 9am, weekdays
|
|
151
|
+
agent: my-dev-agent
|
|
152
|
+
autoApprove: read-only
|
|
153
|
+
catchUpOnStartup: true
|
|
154
|
+
---
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
```markdown
|
|
158
|
+
Check my git activity from yesterday across ~/projects/.
|
|
159
|
+
Summarize what I worked on, PRs opened or reviewed,
|
|
160
|
+
and blockers I mentioned in commit messages.
|
|
161
|
+
Format as bullet points for Slack.
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
jazz workflow schedule daily-standup-prep
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Built-in workflows ship in the repo: `email-cleanup`, `tech-digest`, `weather-briefing`, `market-analysis`. Use them, fork them, or write your own. → [docs/concepts/workflows.md](docs/concepts/workflows.md) · [docs/concepts/scheduling.md](docs/concepts/scheduling.md)
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## CI/CD
|
|
173
|
+
|
|
174
|
+
Jazz is designed to run in your pipelines, not just on your laptop. The flags that matter:
|
|
175
|
+
|
|
176
|
+
- `--output raw` — plain text output, no Ink TUI.
|
|
177
|
+
- `--auto-approve` — combine with the workflow's `autoApprove` tier.
|
|
178
|
+
- `--agent <name>` — pin an agent so CI runs are reproducible.
|
|
179
|
+
|
|
180
|
+
This repo dogfoods it. Two automations live in [`.github/jazz/`](.github/jazz/):
|
|
181
|
+
|
|
182
|
+
- **Code review** on every PR — inline comments on specific lines.
|
|
183
|
+
- **PR assistant** — comment `/jazz <request>` to ask Jazz to do something on the PR. Bare `/jazz` defaults to a review pass.
|
|
184
|
+
- **Release notes** — generated from commits since the last tag and posted to the GitHub Release.
|
|
185
|
+
|
|
186
|
+
Drop the same pattern into your repo:
|
|
187
|
+
|
|
188
|
+
```yaml
|
|
189
|
+
name: AI Code Review
|
|
190
|
+
on: pull_request
|
|
191
|
+
jobs:
|
|
192
|
+
review:
|
|
193
|
+
runs-on: ubuntu-latest
|
|
194
|
+
steps:
|
|
195
|
+
- uses: actions/checkout@v4
|
|
196
|
+
with: { fetch-depth: 0 }
|
|
197
|
+
- run: npm install -g jazz-ai
|
|
198
|
+
- run: jazz --output raw workflow run my-review --auto-approve
|
|
199
|
+
env:
|
|
200
|
+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## How Jazz compares
|
|
206
|
+
|
|
207
|
+
Honest positioning. Pick the tool that fits the job.
|
|
208
|
+
|
|
209
|
+
| | Jazz | Claude Code / Cursor CLI / Aider |
|
|
210
|
+
| --- | --- | --- |
|
|
211
|
+
| Synchronous pair-programming, in-IDE diff editing | OK | **Better.** That's their core focus. |
|
|
212
|
+
| Composer-style multi-file edits with rich review UI | OK | **Better.** |
|
|
213
|
+
| Scheduled headless workflows (cron/launchd) with catch-up replay | **First-class.** | Not really a thing. |
|
|
214
|
+
| Auto-approve risk tiers (`read-only` / `low-risk` / `high-risk`) | Yes | No equivalent. |
|
|
215
|
+
| Drop-in CI runner with `/jazz` PR trigger and `--output raw` | Yes | Possible but not the design center. |
|
|
216
|
+
| MCP across stdio **and** Streamable HTTP | Yes | Varies. |
|
|
217
|
+
| LLM provider count | 14 (incl. local Ollama) | Usually 1–3. |
|
|
218
|
+
|
|
219
|
+
If you want an agent for **synchronous coding inside an editor**, Cursor or Claude Code will probably feel better. If you want an agent that runs on a schedule, reviews your PRs in CI, and chains MCP tools across services without hand-holding — that's where Jazz is built to live.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Status
|
|
224
|
+
|
|
225
|
+
- **Version:** see [npm](https://www.npmjs.com/package/jazz-ai). Pre-1.0; expect breaking changes.
|
|
226
|
+
- **Roadmap and known gaps:** [`TODO.md`](TODO.md).
|
|
227
|
+
- **Discord:** [join the community](https://discord.gg/yBDbS2NZju).
|
|
228
|
+
- **Discussions:** [GitHub Discussions](https://github.com/lvndry/jazz/discussions).
|
|
229
|
+
- **Issues:** [report a bug](https://github.com/lvndry/jazz/issues).
|
|
230
|
+
- **Docs:** [`docs/README.md`](docs/README.md) · [Tools](docs/reference/tools.md) · [Integrations](docs/integrations/index.md) · [Examples](examples/).
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Contributing
|
|
235
|
+
|
|
236
|
+
Bug fixes, docs, tests, features, ideas — all welcome. See [`CONTRIBUTING.md`](CONTRIBUTING.md).
|
|
237
|
+
|
|
238
|
+
## License
|
|
239
|
+
|
|
240
|
+
MIT — see [`LICENSE`](LICENSE).
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
<div align="center">
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
npm install -g jazz-ai && jazz
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
[Back to top](#jazz-)
|
|
251
|
+
|
|
252
|
+
</div>
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Reviewer notes
|
|
257
|
+
|
|
258
|
+
**Claims verified against code:**
|
|
259
|
+
|
|
260
|
+
- `/jazz` PR trigger and `@jazz` assistant — confirmed in [`.github/workflows/jazz.yml`](.github/workflows/jazz.yml). The slash-command regex `/^\/jazz(?!-review)(?:\s*[:,-])?\s*([\s\S]*)/i` lives at the top of the resolve job. Recent commits 3b9d4a5 and 3fe3735 add/polish it.
|
|
261
|
+
- Auto-approve tiers — confirmed in `src/core/workflows/workflow-service.ts` (`parseAutoApprove`, accepts `read-only` / `low-risk` / `high-risk` / boolean). Tested in `workflow-service.test.ts`.
|
|
262
|
+
- Catch-up replay — confirmed: `promptInteractiveCatchUp` in `src/cli/catch-up-prompt.ts`, called from `src/app-layer.ts`. Core logic in `src/core/workflows/catch-up.ts` (`getCatchUpCandidates`, `runCatchUpForWorkflows`, `decideCatchUp`). Frontmatter field `catchUpOnStartup`.
|
|
263
|
+
- MCP transports — confirmed `StdioClientTransport` and `StreamableHTTPClientTransport` both used in `src/services/mcp/mcp-server-manager.ts`. Env sanitization via `createSanitizedEnv` on the stdio path.
|
|
264
|
+
- Personas with tool profiles + researcher read-only — confirmed: `personas/researcher/persona.md` has `tools.deny` covering `write_file`, `edit_file`, `execute_command`, all `git_*` mutators. Built-ins listed in `src/services/persona-service.ts`: `default`, `coder`, `researcher` (and internal `summarizer`).
|
|
265
|
+
- launchd / cron — confirmed in `src/core/workflows/scheduler-service.ts` (`getSchedulerType: () => "launchd" | "cron" | "unsupported"`).
|
|
266
|
+
- Provider count — counted 13 `@ai-sdk/*` deps + `@openrouter/ai-sdk-provider` = 14 explicitly wired providers. (Original README also lists Ollama; Ollama is reachable via the OpenAI-compatible endpoint, so I counted it inside the 14 — flag if you want a different framing.)
|
|
267
|
+
|
|
268
|
+
**Removed from the original README and why:**
|
|
269
|
+
|
|
270
|
+
- "Your terminal. Your agent. Your rules." tagline and the "not a chatbot, not a wrapper" paragraph — generic positioning that competes head-on with every other CLI agent. Replaced with the scheduling/CI angle.
|
|
271
|
+
- "The sky is the limit. Start automating." closing line — vague.
|
|
272
|
+
- Long "Real examples" list (review commits / find TODOs / refactor / generate PR description) — these are table stakes for any coding agent and don't differentiate. Trimmed to the three scenarios where Jazz actually wins.
|
|
273
|
+
- "Built to be reliable" Effect-TS paragraph — kept the Effect mention as one bullet, dropped the standalone section. Implementation detail, not a user-facing differentiator.
|
|
274
|
+
- "You Stay in Control" section as a standalone block — folded into the bullet list under "What it is" to save lines.
|
|
275
|
+
- Long workflow table (`email-cleanup` / `tech-digest` / `weather-briefing` / `market-analysis`) — kept as a one-liner in the Workflows section. The visual table didn't earn its space.
|
|
276
|
+
- Full command reference table was preserved but condensed.
|
|
277
|
+
|
|
278
|
+
**Unsure / want maintainer input:**
|
|
279
|
+
|
|
280
|
+
1. **Provider count of 14.** I included Ollama inside the count via OpenRouter / OpenAI-compatible reachability, but there's no dedicated `@ai-sdk/ollama` dep in `package.json`. If Ollama is wired through a different path I missed, adjust. Original README's claim of 12+ providers is also fine to keep.
|
|
281
|
+
2. **`/jazz` vs `@jazz`.** The recent commit messages say "/jazz PR trigger" (3b9d4a5) and the workflow regex matches `/jazz`. The previous README copy said `@jazz <request>`. I went with `/jazz` everywhere since that's what the regex enforces. Confirm if `@jazz` is still supported as an alias.
|
|
282
|
+
3. **Comparison table tone.** I tried to be honest without trashing competitors. If "OK" vs "Better" feels too blunt or too soft, adjust. The principle: name where Jazz loses (in-IDE editing UX) before naming where it wins (scheduling, CI, MCP breadth).
|
|
283
|
+
4. **Pre-1.0 framing under Status.** Version is 0.9.16 in `package.json`. Saying "expect breaking changes" matches AGENTS.md's "don't fear breaking changes" stance, but you may want softer language for the README.
|
|
284
|
+
5. **Catch-up TTY caveat.** `promptInteractiveCatchUp` only runs in TTY mode. I described it as "prompts to catch up the missed run" without mentioning that scripted/CI invocations skip the prompt. If you want that nuance front-and-center, add it to the inbox-triage scenario.
|
|
285
|
+
6. **Demo GIF.** Kept `assets/jazz_demo_800.gif` as instructed. If the GIF still shows the old "your terminal, your agent, your rules" framing, the new positioning will feel inconsistent until the GIF is re-shot.
|
|
286
|
+
7. **Length.** Final file is ~245 lines (vs 331 in the current README), inside the 200–280 target.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/cli/auto-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-update.d.ts","sourceRoot":"","sources":["../../src/cli/auto-update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAatF,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,CACjD,IAAI,EACJ,KAAK,EACL,eAAe,GAAG,aAAa,GAAG,UAAU,CAAC,UAAU,CACxD,CA+FA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-management.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent-management.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-management.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agent-management.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAWhC,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAiJzE,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAChD,IAAI,EACJ,YAAY,EACZ,YAAY,GAAG,eAAe,GAAG,UAAU,GAAG,kBAAkB,CACjE,CAkCA;AAgBD,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,EAAE,YAAY,GAAG,eAAe,CAAC,CAe1F;AAeD,wBAAgB,eAAe,CAC7B,eAAe,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,EAAE,YAAY,GAAG,eAAe,CAAC,CAkC1F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAUnE,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAChD,IAAI,EACJ,KAAK,EACL,kBAAkB,GAAG,eAAe,CACrC,CAuBA;AAMD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAqBlE;AAKD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,EAAE,kBAAkB,GAAG,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAUnE,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAChD,IAAI,EACJ,KAAK,EACL,kBAAkB,GAAG,eAAe,CACrC,CAuBA;AAMD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAqBlE;AAKD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAwGzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/edit-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiBhC,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAErF,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAuB7B,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,CACd,IAAI,EACF,YAAY,GACZ,oBAAoB,GACpB,uBAAuB,GACvB,uBAAuB,GACvB,eAAe,GACf,qBAAqB,EACrB,YAAY,GACZ,cAAc,GACd,UAAU,GACV,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,CAChB,
|
|
1
|
+
{"version":3,"file":"edit-agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/edit-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiBhC,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC3F,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAErF,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAuB7B,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,CACd,IAAI,EACF,YAAY,GACZ,oBAAoB,GACpB,uBAAuB,GACvB,uBAAuB,GACvB,eAAe,GACf,qBAAqB,EACrB,YAAY,GACZ,cAAc,GACd,UAAU,GACV,YAAY,GACZ,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,CAChB,CA0aA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/web-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAYlE,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,kBAAkB,EACjC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,YAAY,GACxB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"web-search.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/web-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAYlE,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,kBAAkB,EACjC,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,YAAY,GACxB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAsE/B"}
|
|
@@ -6,11 +6,9 @@ interface TodoSnapshotItem {
|
|
|
6
6
|
content: string;
|
|
7
7
|
status: "pending" | "in_progress" | "completed" | "cancelled";
|
|
8
8
|
}
|
|
9
|
+
export declare const AWAITING_LABELS: readonly string[];
|
|
9
10
|
export interface ReducerAccumulator {
|
|
10
11
|
agentName: string;
|
|
11
|
-
liveText: string;
|
|
12
|
-
reasoningBuffer: string;
|
|
13
|
-
completedReasoning: string;
|
|
14
12
|
isThinking: boolean;
|
|
15
13
|
lastAgentHeaderWritten: boolean;
|
|
16
14
|
lastAppliedTextSequence: number;
|
|
@@ -21,8 +19,8 @@ export interface ReducerAccumulator {
|
|
|
21
19
|
}>;
|
|
22
20
|
currentProvider: string | null;
|
|
23
21
|
currentModel: string | null;
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
cumulativeCostUSD: number;
|
|
23
|
+
lastPromptTokens: number;
|
|
26
24
|
}
|
|
27
25
|
export declare function createAccumulator(agentName: string): ReducerAccumulator;
|
|
28
26
|
export interface ReducerResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-reducer.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/activity-reducer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"activity-reducer.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/activity-reducer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;CAC/D;AAUD,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAmB5C,CAAC;AAmBF,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,EAAE,OAAO,CAAC;IAEhC,uBAAuB,EAAE,MAAM,CAAC;IAChC,WAAW,EAAE,GAAG,CACd,MAAM,EACN;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAC3E,CAAC;IAEF,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAYvE;AAMD,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAE/B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAyGD,wBAAgB,WAAW,CACzB,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,WAAW,EAClB,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACzC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,cAAc,GAC3C,aAAa,CAyPf"}
|
|
@@ -11,15 +11,9 @@ export declare class InkStreamingRenderer implements StreamingRenderer {
|
|
|
11
11
|
private pendingActivity;
|
|
12
12
|
private updateTimeoutId;
|
|
13
13
|
private readonly updateThrottleMs;
|
|
14
|
-
private
|
|
15
|
-
private streamRaw;
|
|
16
|
-
private streamFormatted;
|
|
17
|
-
private lastPrintedLength;
|
|
14
|
+
private seenLength;
|
|
18
15
|
private hasStreamedText;
|
|
19
|
-
private
|
|
20
|
-
private reasoningRaw;
|
|
21
|
-
private reasoningFormatted;
|
|
22
|
-
private reasoningHeaderPrinted;
|
|
16
|
+
private reasoningHeaderWrittenForRound;
|
|
23
17
|
private toolTimeouts;
|
|
24
18
|
private static readonly TOOL_WARNING_MS;
|
|
25
19
|
constructor(agentName: string, showMetrics: boolean, displayConfig: DisplayConfig, _streamingConfig?: {
|
|
@@ -28,22 +22,11 @@ export declare class InkStreamingRenderer implements StreamingRenderer {
|
|
|
28
22
|
reset(): Effect.Effect<void, never>;
|
|
29
23
|
flush(): Effect.Effect<void, never>;
|
|
30
24
|
setInterruptHandler(handler: (() => void) | null): Effect.Effect<void, never>;
|
|
25
|
+
private static readonly SETTLE_BEFORE;
|
|
31
26
|
handleEvent(event: StreamEvent): Effect.Effect<void, never>;
|
|
32
27
|
private handleComplete;
|
|
28
|
+
private consumeTextDelta;
|
|
33
29
|
private printFinalResponse;
|
|
34
|
-
private resetStreamingState;
|
|
35
|
-
private resetReasoningState;
|
|
36
|
-
private getStreamingDelta;
|
|
37
|
-
private appendStreamingText;
|
|
38
|
-
private startReasoningStream;
|
|
39
|
-
private appendReasoningText;
|
|
40
|
-
private flushStreamingBuffer;
|
|
41
|
-
private flushReasoningBuffer;
|
|
42
|
-
private emitStreamText;
|
|
43
|
-
private emitReasoningText;
|
|
44
|
-
private getFormattedDelta;
|
|
45
|
-
private formatStreamingAccumulated;
|
|
46
|
-
private formatReasoningAccumulated;
|
|
47
30
|
private printMetrics;
|
|
48
31
|
private printCost;
|
|
49
32
|
private setupToolTimeout;
|
|
@@ -51,7 +34,6 @@ export declare class InkStreamingRenderer implements StreamingRenderer {
|
|
|
51
34
|
private clearAllToolTimeouts;
|
|
52
35
|
private storeExpandableDiff;
|
|
53
36
|
private throttledSetActivity;
|
|
54
|
-
private formatMarkdown;
|
|
55
37
|
private formatReasoningText;
|
|
56
38
|
private formatMarkdownContent;
|
|
57
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink-presentation-service.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/ink-presentation-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAO/C,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAGlB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ink-presentation-service.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/ink-presentation-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAO/C,OAAO,KAAK,EAEV,mBAAmB,EACnB,iBAAiB,EAGlB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAmD1D,qBAAa,oBAAqB,YAAW,iBAAiB;IAqB1D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAtBhC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAErB,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO,CAAC,eAAe,CAA8B;IAErD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAG1C,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,8BAA8B,CAAS;IAE/C,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAG9B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,aAAa,EAC7C,gBAAgB,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5C,UAAU,CAAC,EAAE,MAAM;IAMrB,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAsBnC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAcnC,mBAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAsB7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAOlC;IAEH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAyF3D,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,YAAY;IAuCpB,OAAO,CAAC,SAAS;IA0DjB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IAoC5B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;CAS9B;AA6hBD,eAAO,MAAM,2BAA2B,gDAgBvC,CAAC"}
|
|
@@ -7,10 +7,12 @@ export interface FormattingResult {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const INITIAL_STREAMING_STATE: StreamingState;
|
|
9
9
|
export declare function stripAnsiCodes(text: string): string;
|
|
10
|
+
export declare function convertHtmlLineBreaks(text: string): string;
|
|
10
11
|
export declare function normalizeBlankLines(text: string): string;
|
|
11
12
|
export declare function formatEscapedText(text: string): string;
|
|
12
13
|
export declare function formatStrikethrough(text: string): string;
|
|
13
14
|
export declare function formatBold(text: string): string;
|
|
15
|
+
export declare function formatTables(text: string): string;
|
|
14
16
|
export declare function formatItalic(text: string): string;
|
|
15
17
|
export declare function wrapToWidth(text: string, availableWidth: number): string;
|
|
16
18
|
export declare function getTerminalWidth(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-formatter.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/markdown-formatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdown-formatter.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/markdown-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-split.d.ts","sourceRoot":"","sources":["../../../src/cli/presentation/markdown-split.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAGrC,eAAO,MAAM,SAAS,MAAM,CAAC;AAW7B,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsD3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityView.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/ActivityView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ActivityView.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/ActivityView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA+GtD,eAAO,MAAM,YAAY;cAGb,aAAa;EA2HvB,CAAC"}
|
package/dist/cli/ui/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/App.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA8MxE,wBAAgB,GAAG,IAAI,KAAK,CAAC,YAAY,CAmJxC;AAED,eAAe,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputEntryView.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/OutputEntryView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OutputEntryView.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/OutputEntryView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAc,MAAM,SAAS,CAAC;AA6C7D,eAAO,MAAM,eAAe;WAInB,iBAAiB;gBACZ,OAAO;EAwGnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/Prompt.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/Prompt.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAajF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6C3C,iBAAS,eAAe,CAAC,EACvB,MAAM,EACN,gBAAuB,GACxB,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,GAAG,KAAK,CAAC,YAAY,CA4RrB;AAED,eAAO,MAAM,MAAM,mDAA8B,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import type { RunStats } from "./store";
|
|
3
|
+
declare function StatusFooter({ status, workingDirectory, runStats, }: {
|
|
3
4
|
status: string | null;
|
|
4
5
|
workingDirectory: string | null;
|
|
6
|
+
runStats: RunStats;
|
|
5
7
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
6
8
|
declare const _default: React.MemoExoticComponent<typeof StatusFooter>;
|
|
7
9
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusFooter.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/StatusFooter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusFooter.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/StatusFooter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA8DxC,iBAAS,YAAY,CAAC,EACpB,MAAM,EACN,gBAAgB,EAChB,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;CACpB,kDAqDA;;AAED,wBAAwC"}
|
|
@@ -8,9 +8,15 @@ export interface TodoSnapshotItem {
|
|
|
8
8
|
content: string;
|
|
9
9
|
status: "pending" | "in_progress" | "completed" | "cancelled";
|
|
10
10
|
}
|
|
11
|
-
export type ActivityPhase = "idle" | "thinking" | "streaming" | "tool-execution" | "complete" | "error";
|
|
11
|
+
export type ActivityPhase = "idle" | "awaiting" | "thinking" | "streaming" | "tool-execution" | "complete" | "error";
|
|
12
12
|
export type ActivityState = {
|
|
13
13
|
phase: "idle";
|
|
14
|
+
} | {
|
|
15
|
+
phase: "awaiting";
|
|
16
|
+
agentName: string;
|
|
17
|
+
provider: string;
|
|
18
|
+
model: string;
|
|
19
|
+
label: string;
|
|
14
20
|
} | {
|
|
15
21
|
phase: "thinking";
|
|
16
22
|
agentName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-state.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/activity-state.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;CAC/D;AAED,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,UAAU,GACV,WAAW,GACX,gBAAgB,GAChB,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,aAAa,GACrB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC,GACD;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GACrB;IACE,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAKN,wBAAgB,eAAe,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"activity-state.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/activity-state.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;CAC/D;AAED,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,UAAU,GACV,UAAU,GACV,WAAW,GACX,gBAAgB,GAChB,UAAU,GACV,OAAO,CAAC;AAEZ,MAAM,MAAM,aAAa,GACrB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAOE,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC,GACD;IAAE,KAAK,EAAE,UAAU,CAAA;CAAE,GACrB;IACE,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAKN,wBAAgB,eAAe,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CA+C3E"}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
import type { OutputEntry, OutputEntryWithId } from "../types";
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
2
|
+
export type { OutputEntry, OutputEntryWithId };
|
|
3
|
+
export type StreamKind = "response" | "reasoning";
|
|
4
|
+
export interface PendingStream {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly kind: StreamKind;
|
|
7
|
+
readonly rawTail: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ScrollbackState {
|
|
5
10
|
readonly staticEntries: OutputEntryWithId[];
|
|
6
|
-
readonly
|
|
11
|
+
readonly pending: PendingStream | null;
|
|
7
12
|
readonly staticGeneration: number;
|
|
8
13
|
}
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
export type ScrollbackAction = {
|
|
15
|
+
type: "appendStatic";
|
|
16
|
+
entries: readonly OutputEntryWithId[];
|
|
17
|
+
} | {
|
|
18
|
+
type: "appendStream";
|
|
19
|
+
kind: StreamKind;
|
|
20
|
+
delta: string;
|
|
21
|
+
nextId: string;
|
|
22
|
+
finalizeId?: string;
|
|
23
|
+
} | {
|
|
24
|
+
type: "finalizeStream";
|
|
25
|
+
finalizeId?: string;
|
|
26
|
+
} | {
|
|
27
|
+
type: "clear";
|
|
13
28
|
};
|
|
29
|
+
export declare function initialScrollbackState(): ScrollbackState;
|
|
30
|
+
export declare function reduceScrollback(state: ScrollbackState, action: ScrollbackAction): ScrollbackState;
|
|
31
|
+
export interface ScrollbackHandle {
|
|
32
|
+
state: ScrollbackState;
|
|
33
|
+
appendStatic: (entry: OutputEntry | readonly OutputEntry[]) => string;
|
|
34
|
+
appendStream: (kind: StreamKind, delta: string) => void;
|
|
35
|
+
finalizeStream: () => void;
|
|
36
|
+
clear: () => void;
|
|
37
|
+
}
|
|
38
|
+
export declare function useTerminalOutputAdapter(): ScrollbackHandle;
|
|
14
39
|
//# sourceMappingURL=terminal-output-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-output-adapter.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/adapters/terminal-output-adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal-output-adapter.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/adapters/terminal-output-adapter.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE/D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAEvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAAE,GAC/D;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,wBAAgB,sBAAsB,IAAI,eAAe,CAMxD;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,GACvB,eAAe,CA+DjB;AAqCD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,CAAC;IAEvB,YAAY,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,KAAK,MAAM,CAAC;IAEtE,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExD,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,wBAAwB,IAAI,gBAAgB,CAgE3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/components/TextInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/components/TextInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAsBjF,MAAM,WAAW,cAAc;IAE7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AASD,eAAO,MAAM,SAAS,4CAoHpB,CAAC"}
|