modelroom 0.0.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +40 -8
- package/dist/bin/modelroom.js +241 -75
- package/dist/bin/modelroom.js.map +1 -1
- package/dist/lib/agents/index.d.ts.map +1 -1
- package/dist/lib/agents/index.js +19 -4
- package/dist/lib/agents/index.js.map +1 -1
- package/dist/lib/artifact.d.ts +1 -1
- package/dist/lib/artifact.d.ts.map +1 -1
- package/dist/lib/artifact.js +9 -5
- package/dist/lib/artifact.js.map +1 -1
- package/dist/lib/config.d.ts +17 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +40 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/frontmatter.d.ts +2 -0
- package/dist/lib/frontmatter.d.ts.map +1 -1
- package/dist/lib/frontmatter.js +11 -2
- package/dist/lib/frontmatter.js.map +1 -1
- package/dist/lib/i18n.d.ts +315 -0
- package/dist/lib/i18n.d.ts.map +1 -0
- package/dist/lib/i18n.js +651 -0
- package/dist/lib/i18n.js.map +1 -0
- package/dist/lib/lang.d.ts +4 -0
- package/dist/lib/lang.d.ts.map +1 -0
- package/dist/lib/lang.js +5 -0
- package/dist/lib/lang.js.map +1 -0
- package/dist/lib/lint.d.ts +3 -0
- package/dist/lib/lint.d.ts.map +1 -1
- package/dist/lib/lint.js +22 -12
- package/dist/lib/lint.js.map +1 -1
- package/dist/lib/locale.d.ts +9 -0
- package/dist/lib/locale.d.ts.map +1 -0
- package/dist/lib/locale.js +32 -0
- package/dist/lib/locale.js.map +1 -0
- package/dist/lib/server.d.ts +3 -0
- package/dist/lib/server.d.ts.map +1 -1
- package/dist/lib/server.js +44 -27
- package/dist/lib/server.js.map +1 -1
- package/dist/lib/templates.d.ts +7 -0
- package/dist/lib/templates.d.ts.map +1 -0
- package/dist/lib/templates.js +30 -0
- package/dist/lib/templates.js.map +1 -0
- package/docs/02-convention.md +10 -5
- package/docs/03-cli.md +59 -14
- package/docs/04-agents.md +10 -2
- package/package.json +9 -19
- package/templates/{AGENTS.md → en/AGENTS.md} +8 -3
- package/templates/ja/AGENTS.md +38 -0
- package/templates/ja/room/BEHAVIOUR.md +18 -0
- package/templates/ja/room/BRIEF.md +16 -0
- package/templates/ja/room/SPEC.md +9 -0
- package/templates/ja/room/index.html +53 -0
- package/templates/modelroom.json +3 -1
- package/ui/assets/app.js +120 -47
- package/ui/dashboard.html +11 -7
- package/ui/kit.html +13 -9
- package/ui/modelroom.css +1 -2
- package/ui/room.html +11 -7
- package/ui/settings.html +11 -7
- /package/templates/{room → en/room}/BEHAVIOUR.md +0 -0
- /package/templates/{room → en/room}/BRIEF.md +0 -0
- /package/templates/{room → en/room}/SPEC.md +0 -0
- /package/templates/{room → en/room}/index.html +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.1.0](https://github.com/modelroom/modelroom/compare/modelroom-v0.0.6...modelroom-v0.1.0) (2026-10-19)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* install into modelroom/ and localize the tool in en/ja ([#14](https://github.com/modelroom/modelroom/issues/14)) ([074205c](https://github.com/modelroom/modelroom/commit/074205c91509d8d4b951450c7a71759f799d25e4))
|
|
9
|
+
* **ui:** rebuild the tool UI on Mantine v9 ([#12](https://github.com/modelroom/modelroom/issues/12)) ([d7b5844](https://github.com/modelroom/modelroom/commit/d7b5844c47932353cabfe98e63dfaf1926f65135))
|
|
10
|
+
|
|
3
11
|
## [0.0.6](https://github.com/modelroom/modelroom/compare/modelroom-v0.0.5...modelroom-v0.0.6) (2026-10-18)
|
|
4
12
|
|
|
5
13
|
|
package/README.md
CHANGED
|
@@ -20,6 +20,33 @@ npx modelroom init checkout # a room, with its docs and a starter artifact
|
|
|
20
20
|
npx modelroom # → http://127.0.0.1:4321
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
+
`init` keeps the design layer in one place — `modelroom/` for what you commit and
|
|
24
|
+
`.modelroom/` for local state — and picks the language from your environment (pass
|
|
25
|
+
`--lang en` / `--lang ja` to pin it):
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
your-repo/
|
|
29
|
+
├── modelroom/ # committed
|
|
30
|
+
│ ├── modelroom.json
|
|
31
|
+
│ ├── AGENTS.md
|
|
32
|
+
│ └── rooms/checkout/
|
|
33
|
+
│ ├── BRIEF.md
|
|
34
|
+
│ ├── SPEC.md
|
|
35
|
+
│ ├── BEHAVIOUR.md
|
|
36
|
+
│ └── index.html
|
|
37
|
+
└── .modelroom/ # git-ignored state
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
| Path | Committed? | What it is |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `modelroom/modelroom.json` | yes | the config: agent, rooms, language |
|
|
43
|
+
| `modelroom/AGENTS.md` | yes | what the agent may write, and in which language |
|
|
44
|
+
| `modelroom/rooms/<room>/` | yes | one screen: `BRIEF`, `SPEC`, `BEHAVIOUR`, the artifact |
|
|
45
|
+
| `.modelroom/state.json` | no | local session ids and settings changed from `/settings` |
|
|
46
|
+
|
|
47
|
+
`.modelroom/` is disposable: delete it to reset sessions and local settings. The committed
|
|
48
|
+
design layer is untouched.
|
|
49
|
+
|
|
23
50
|
## Why "model room"
|
|
24
51
|
|
|
25
52
|
A model room in real estate is furnished, full scale, and convincing enough to decide in — but it
|
|
@@ -35,9 +62,9 @@ application code.
|
|
|
35
62
|
| Where | What |
|
|
36
63
|
|---|---|
|
|
37
64
|
| `/` | every room, side by side, with thumbnails — full-text search and filters built from the records |
|
|
38
|
-
| `/
|
|
65
|
+
| `/rooms/<name>` | chat, the room's docs (editable), and the artifact — updating as the agent works |
|
|
39
66
|
| `/settings` | which agent to run, and with which model |
|
|
40
|
-
| `/files/<path>` |
|
|
67
|
+
| `/files/<path>` | the design layer (`modelroom/`), served read-only and **unmodified** (no injected scripts) |
|
|
41
68
|
|
|
42
69
|
The room's docs are the only files the UI can write. Changing `index.html` (from the agent or by
|
|
43
70
|
hand) reloads the preview with no manual refresh; changes elsewhere in the room stream in the same way.
|
|
@@ -78,9 +105,12 @@ must never set it.
|
|
|
78
105
|
## Agents
|
|
79
106
|
|
|
80
107
|
```jsonc
|
|
81
|
-
// modelroom.json
|
|
108
|
+
// modelroom/modelroom.json
|
|
82
109
|
{
|
|
110
|
+
"root": ".",
|
|
83
111
|
"rooms": "rooms",
|
|
112
|
+
"state": "../.modelroom",
|
|
113
|
+
"lang": "ja", // optional; omit it and the OS decides
|
|
84
114
|
"agent": {
|
|
85
115
|
"adapter": "opencode", // or "command" for any CLI
|
|
86
116
|
"command": "opencode",
|
|
@@ -99,15 +129,17 @@ Full detail, including how to scope an agent so it can only write room files, is
|
|
|
99
129
|
|
|
100
130
|
```bash
|
|
101
131
|
git clone https://github.com/modelroom/modelroom && cd modelroom
|
|
102
|
-
npm install # dev only:
|
|
132
|
+
npm install # dev only: Mantine + React (both bundled, committed) + playwright (optional)
|
|
103
133
|
npm test # smoke checks
|
|
104
134
|
npm run modelroom # serves examples/rooms
|
|
105
|
-
npm run build:css # after changing ui/*.html
|
|
135
|
+
npm run build:css # after changing ui/*.html or src/modelroom.css
|
|
136
|
+
npm run build:web # after changing web/**
|
|
106
137
|
```
|
|
107
138
|
|
|
108
|
-
The stylesheet in `ui/`
|
|
109
|
-
|
|
110
|
-
|
|
139
|
+
The stylesheet and the JS bundle in `ui/` are built and committed, so users never run a build
|
|
140
|
+
step. The tool's UI is React + [Mantine](https://mantine.dev); artifacts (in `templates/` and
|
|
141
|
+
`examples/`) are deliberately framework-free: plain HTML and CSS, no CDN, no web fonts — they
|
|
142
|
+
are handed to implementation and must render with no network.
|
|
111
143
|
|
|
112
144
|
PNG thumbnails are optional and need Playwright:
|
|
113
145
|
|
package/dist/bin/modelroom.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// modelroom — CLI
|
|
3
3
|
//
|
|
4
|
-
// modelroom [serve] [--port 4321] [--host 127.0.0.1] [--open]
|
|
5
|
-
// modelroom init [<room>] [--dir rooms] [--force]
|
|
4
|
+
// modelroom [serve] [--port 4321] [--host 127.0.0.1] [--open] [--lang en|ja]
|
|
5
|
+
// modelroom init [<room>] [--dir rooms] [--lang en|ja] [--force]
|
|
6
6
|
// modelroom check [--json] [--strict]
|
|
7
7
|
// modelroom doctor
|
|
8
8
|
//
|
|
@@ -10,9 +10,12 @@
|
|
|
10
10
|
import { readFile, writeFile, mkdir, access } from 'node:fs/promises';
|
|
11
11
|
import { constants } from 'node:fs';
|
|
12
12
|
import { spawn } from 'node:child_process';
|
|
13
|
-
import { dirname, join, resolve } from 'node:path';
|
|
13
|
+
import { dirname, join, relative, resolve, basename } from 'node:path';
|
|
14
14
|
import { fileURLToPath } from 'node:url';
|
|
15
|
-
import { loadConfig } from '../lib/config.js';
|
|
15
|
+
import { findConfigPath, isLang, loadConfig } from '../lib/config.js';
|
|
16
|
+
import { detectLang } from '../lib/locale.js';
|
|
17
|
+
import { t } from '../lib/i18n.js';
|
|
18
|
+
import { readTemplate, ROOM_FILES } from '../lib/templates.js';
|
|
16
19
|
import { createModelroom } from '../lib/server.js';
|
|
17
20
|
import { listRoomNames } from '../lib/rooms.js';
|
|
18
21
|
import { lintRooms } from '../lib/lint.js';
|
|
@@ -42,32 +45,41 @@ for (let i = 0; i < args.length; i++) {
|
|
|
42
45
|
const positional = args.filter((a, i) => !a.startsWith('-') && !flagValues.has(i));
|
|
43
46
|
const cmd = positional[0] ?? 'serve';
|
|
44
47
|
const pkg = JSON.parse(await readFile(join(pkgDir, 'package.json'), 'utf8'));
|
|
48
|
+
const str = (v) => typeof v === 'string' ? v : undefined;
|
|
49
|
+
if (str(opts.lang) && !isLang(opts.lang)) {
|
|
50
|
+
console.error(t(detectLang().lang, 'cli.error.invalidLang', { lang: String(opts.lang) }));
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
/** The language for the CLI itself: flag, then config, then the environment. */
|
|
54
|
+
async function resolveCliLang(cwd, explicit) {
|
|
55
|
+
if (explicit && isLang(explicit))
|
|
56
|
+
return explicit;
|
|
57
|
+
const cfg = await loadConfig(cwd);
|
|
58
|
+
if (await exists(cfg.configPath))
|
|
59
|
+
return cfg.lang;
|
|
60
|
+
return detectLang().lang;
|
|
61
|
+
}
|
|
62
|
+
const earlyLang = await resolveCliLang(process.cwd(), str(opts.lang));
|
|
45
63
|
if (opts.version || cmd === 'version') {
|
|
46
64
|
console.log(pkg.version);
|
|
47
65
|
process.exit(0);
|
|
48
66
|
}
|
|
49
67
|
if (cmd === 'help' || opts.help)
|
|
50
|
-
usage();
|
|
51
|
-
function usage() {
|
|
52
|
-
console.log(
|
|
53
|
-
|
|
54
|
-
usage
|
|
55
|
-
modelroom [serve] [--port 4321] [--host 127.0.0.1] [--open]
|
|
56
|
-
modelroom init [<room>] [--dir rooms] [--force]
|
|
57
|
-
modelroom check [--json] [--strict]
|
|
58
|
-
modelroom doctor
|
|
59
|
-
modelroom --version | --help
|
|
60
|
-
|
|
61
|
-
A room is one screen: rooms/<name>/ with BRIEF.md, SPEC.md, BEHAVIOUR.md and an artifact.
|
|
62
|
-
Config lives in modelroom.json; local state in .modelroom/state.json (git-ignore it).
|
|
63
|
-
`);
|
|
68
|
+
usage(earlyLang);
|
|
69
|
+
function usage(lang) {
|
|
70
|
+
console.log(t(lang, 'cli.usage', { version: pkg.version }));
|
|
64
71
|
process.exit(0);
|
|
65
72
|
}
|
|
66
73
|
const cwd = resolve(typeof opts.cwd === 'string' ? opts.cwd : process.cwd());
|
|
67
|
-
const str = (v) => typeof v === 'string' ? v : undefined;
|
|
68
74
|
// ── serve ───────────────────────────────────────────────────────────────────
|
|
69
75
|
if (cmd === 'serve') {
|
|
70
|
-
const app = await createModelroom({
|
|
76
|
+
const app = await createModelroom({
|
|
77
|
+
cwd,
|
|
78
|
+
port: str(opts.port),
|
|
79
|
+
host: str(opts.host),
|
|
80
|
+
lang: str(opts.lang),
|
|
81
|
+
});
|
|
82
|
+
const lang = app.cfg.lang;
|
|
71
83
|
app.startWatching();
|
|
72
84
|
try {
|
|
73
85
|
const { url } = await app.listen();
|
|
@@ -76,11 +88,15 @@ if (cmd === 'serve') {
|
|
|
76
88
|
`modelroom ${pkg.version}`,
|
|
77
89
|
` ${url}`,
|
|
78
90
|
` root ${app.cfg.rootDir}`,
|
|
79
|
-
|
|
80
|
-
|
|
91
|
+
t(lang, 'cli.serve.rooms', {
|
|
92
|
+
rooms: rooms.length ? rooms.join(', ') : t(lang, 'cli.serve.roomsNone'),
|
|
93
|
+
}),
|
|
94
|
+
t(lang, 'cli.serve.agent', {
|
|
95
|
+
line: `${app.cfg.agent.adapter} · ${app.cfg.agent.command} · agent=${app.cfg.agent.agent || '-'} · model=${app.cfg.agent.model || 'default'}`,
|
|
96
|
+
}),
|
|
81
97
|
'',
|
|
82
|
-
'
|
|
83
|
-
|
|
98
|
+
t(lang, 'cli.serve.artifacts', { docs: app.cfg.docs.join(', ') }),
|
|
99
|
+
t(lang, 'cli.serve.ctrlC'),
|
|
84
100
|
].join('\n'));
|
|
85
101
|
if (opts.open)
|
|
86
102
|
openBrowser(url);
|
|
@@ -88,7 +104,7 @@ if (cmd === 'serve') {
|
|
|
88
104
|
catch (err) {
|
|
89
105
|
const code = err.code;
|
|
90
106
|
console.error(code === 'EADDRINUSE'
|
|
91
|
-
?
|
|
107
|
+
? t(lang, 'cli.serve.portInUse', { port: app.cfg.port })
|
|
92
108
|
: err instanceof Error
|
|
93
109
|
? err.message
|
|
94
110
|
: String(err));
|
|
@@ -97,9 +113,56 @@ if (cmd === 'serve') {
|
|
|
97
113
|
}
|
|
98
114
|
// ── init ────────────────────────────────────────────────────────────────────
|
|
99
115
|
else if (cmd === 'init') {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
116
|
+
const existingPath = await findConfigPath(cwd);
|
|
117
|
+
const legacy = existingPath === resolve(cwd, 'modelroom.json');
|
|
118
|
+
let cfg;
|
|
119
|
+
let lang;
|
|
120
|
+
let langSource;
|
|
121
|
+
let designDir;
|
|
122
|
+
let configPath;
|
|
123
|
+
const detected = detectLang();
|
|
124
|
+
const pinned = isLang(opts.lang);
|
|
125
|
+
if (existingPath) {
|
|
126
|
+
cfg = await loadConfig(cwd);
|
|
127
|
+
configPath = cfg.configPath;
|
|
128
|
+
lang = isLang(opts.lang) ? opts.lang : cfg.lang;
|
|
129
|
+
const raw = await readFile(configPath, 'utf8').catch(() => '');
|
|
130
|
+
langSource = pinned ? 'flag' : /"lang"\s*:/.test(raw) ? 'config' : detected.source;
|
|
131
|
+
if (legacy)
|
|
132
|
+
console.log(t(lang, 'cli.init.legacy', { path: relative(cwd, existingPath) }));
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
designDir = join(cwd, 'modelroom');
|
|
136
|
+
configPath = join(designDir, 'modelroom.json');
|
|
137
|
+
lang = isLang(opts.lang) ? opts.lang : detected.lang;
|
|
138
|
+
langSource = pinned ? 'flag' : detected.source;
|
|
139
|
+
cfg = {
|
|
140
|
+
root: '.',
|
|
141
|
+
rooms: str(opts.dir) ?? 'rooms',
|
|
142
|
+
state: '../.modelroom',
|
|
143
|
+
artifact: 'index.html',
|
|
144
|
+
docs: ['BRIEF.md', 'SPEC.md', 'BEHAVIOUR.md'],
|
|
145
|
+
port: 4321,
|
|
146
|
+
host: '127.0.0.1',
|
|
147
|
+
lang,
|
|
148
|
+
agent: {
|
|
149
|
+
adapter: 'opencode',
|
|
150
|
+
command: 'opencode',
|
|
151
|
+
model: null,
|
|
152
|
+
agent: 'build',
|
|
153
|
+
standalone: true,
|
|
154
|
+
args: [],
|
|
155
|
+
},
|
|
156
|
+
rootDir: designDir,
|
|
157
|
+
roomsDir: join(designDir, str(opts.dir) ?? 'rooms'),
|
|
158
|
+
configPath,
|
|
159
|
+
configDir: designDir,
|
|
160
|
+
stateDir: join(cwd, '.modelroom'),
|
|
161
|
+
statePath: join(cwd, '.modelroom', 'state.json'),
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
if (str(opts.dir)) {
|
|
165
|
+
cfg.rooms = str(opts.dir);
|
|
103
166
|
cfg.roomsDir = resolve(cfg.rootDir, cfg.rooms);
|
|
104
167
|
}
|
|
105
168
|
const room = typeof opts.room === 'string' && !opts.room.startsWith('-')
|
|
@@ -110,37 +173,77 @@ else if (cmd === 'init') {
|
|
|
110
173
|
const roomDir = join(cfg.roomsDir, room);
|
|
111
174
|
await mkdir(roomDir, { recursive: true });
|
|
112
175
|
const written = [];
|
|
113
|
-
|
|
176
|
+
const newConfig = !(await exists(configPath));
|
|
177
|
+
if (newConfig) {
|
|
178
|
+
const stateRel = relative(dirname(configPath), cfg.stateDir) || '.modelroom';
|
|
179
|
+
await mkdir(dirname(configPath), { recursive: true });
|
|
180
|
+
const template = await readFile(join(templatesDir, 'modelroom.json'), 'utf8');
|
|
181
|
+
let text = template.replaceAll('{{rooms}}', cfg.rooms).replaceAll('{{state}}', stateRel);
|
|
182
|
+
// Auto is the default: no `lang` line unless the caller pinned one.
|
|
183
|
+
text = pinned
|
|
184
|
+
? text.replaceAll('{{lang}}', lang)
|
|
185
|
+
: text.replace(/^[ \t]*"lang": "\{\{lang\}\}",\r?\n/m, '');
|
|
186
|
+
await writeFile(configPath, text);
|
|
187
|
+
written.push(rel(configPath, cwd));
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
// An existing project keeps its config; explicit flags update only what they name.
|
|
191
|
+
const raw = JSON.parse(await readFile(configPath, 'utf8'));
|
|
192
|
+
let changed = false;
|
|
193
|
+
if (isLang(opts.lang) && raw.lang !== lang) {
|
|
194
|
+
raw.lang = lang;
|
|
195
|
+
changed = true;
|
|
196
|
+
}
|
|
197
|
+
if (str(opts.dir) && raw.rooms !== cfg.rooms) {
|
|
198
|
+
raw.rooms = cfg.rooms;
|
|
199
|
+
changed = true;
|
|
200
|
+
}
|
|
201
|
+
if (changed) {
|
|
202
|
+
await writeFile(configPath, JSON.stringify(raw, null, 2) + '\n');
|
|
203
|
+
written.push(rel(configPath, cwd));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
for (const f of ROOM_FILES) {
|
|
114
207
|
const dest = join(roomDir, f);
|
|
115
208
|
if (!force && (await exists(dest))) {
|
|
116
|
-
console.log(
|
|
209
|
+
console.log(t(lang, 'cli.init.skip', { label: rel(dest, cwd) }));
|
|
117
210
|
continue;
|
|
118
211
|
}
|
|
119
|
-
const src = await
|
|
212
|
+
const src = await readTemplate(templatesDir, lang, join('room', f));
|
|
120
213
|
await writeFile(dest, src.replaceAll('{{room}}', room));
|
|
121
214
|
written.push(rel(dest, cwd));
|
|
122
215
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
await writeFile(dest, await readFile(join(templatesDir, tpl), 'utf8'));
|
|
132
|
-
written.push(label);
|
|
216
|
+
const agentsDest = join(cfg.rootDir, 'AGENTS.md');
|
|
217
|
+
if (!force && (await exists(agentsDest))) {
|
|
218
|
+
console.log(t(lang, 'cli.init.skip', { label: rel(agentsDest, cwd) }));
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
await writeFile(agentsDest, await readTemplate(templatesDir, lang, 'AGENTS.md'));
|
|
222
|
+
written.push(rel(agentsDest, cwd));
|
|
133
223
|
}
|
|
134
|
-
const
|
|
224
|
+
const giDir = dirname(cfg.stateDir);
|
|
225
|
+
const gi = join(giDir, '.gitignore');
|
|
226
|
+
const stateName = relative(giDir, cfg.stateDir) || basename(cfg.stateDir);
|
|
227
|
+
const entry = `/${stateName.replaceAll('\\', '/')}/`;
|
|
135
228
|
const lines = await readFile(gi, 'utf8').catch(() => '');
|
|
136
|
-
if (!lines.includes(
|
|
137
|
-
await
|
|
138
|
-
|
|
229
|
+
if (!lines.includes(entry)) {
|
|
230
|
+
await mkdir(giDir, { recursive: true });
|
|
231
|
+
await writeFile(gi, (lines ? lines.replace(/\n?$/, '\n') : '') + entry + '\n');
|
|
232
|
+
written.push(t(lang, 'cli.init.gitignore', { path: entry }));
|
|
139
233
|
}
|
|
140
|
-
console.log(
|
|
234
|
+
console.log(t(lang, 'cli.init.created', { dir: cwd }));
|
|
141
235
|
for (const w of written)
|
|
142
236
|
console.log(` ${w}`);
|
|
143
|
-
console.log(
|
|
237
|
+
console.log(t(lang, 'cli.init.language', {
|
|
238
|
+
lang,
|
|
239
|
+
source: t(lang, `cli.init.languageSource.${langSource}`),
|
|
240
|
+
}));
|
|
241
|
+
if (langSource === 'env' || langSource === 'default') {
|
|
242
|
+
console.log(` ${t(lang, 'cli.init.languageAuto')}`);
|
|
243
|
+
}
|
|
244
|
+
console.log(`\n${t(lang, 'cli.init.next')}`);
|
|
245
|
+
console.log(t(lang, 'cli.init.nextServe'));
|
|
246
|
+
console.log(t(lang, 'cli.init.nextOpen', { port: cfg.port, room }));
|
|
144
247
|
}
|
|
145
248
|
// ── check ───────────────────────────────────────────────────────────────────
|
|
146
249
|
// The record is derived from the docs; the check looks for what would stop the
|
|
@@ -148,65 +251,127 @@ else if (cmd === 'init') {
|
|
|
148
251
|
// the same value spelled two ways. It never deletes or rewrites.
|
|
149
252
|
else if (cmd === 'check') {
|
|
150
253
|
const cfg = await loadConfig(cwd);
|
|
151
|
-
const
|
|
254
|
+
const lang = isLang(opts.lang) ? opts.lang : cfg.lang;
|
|
255
|
+
const { issues, stats } = await lintRooms({ ...cfg, lang });
|
|
152
256
|
if (opts.json) {
|
|
153
257
|
console.log(JSON.stringify({ stats, issues }, null, 2));
|
|
154
258
|
}
|
|
155
259
|
else {
|
|
156
260
|
for (const i of issues) {
|
|
157
261
|
const where = `${i.room}${i.file ? '/' + i.file : ''}`;
|
|
158
|
-
console.log(
|
|
262
|
+
console.log(t(lang, 'cli.check.issue', {
|
|
263
|
+
level: t(lang, i.level === 'error' ? 'cli.check.level.error' : 'cli.check.level.warn'),
|
|
264
|
+
where,
|
|
265
|
+
code: i.code,
|
|
266
|
+
message: i.message,
|
|
267
|
+
}));
|
|
159
268
|
}
|
|
160
|
-
console.log(`\n${
|
|
269
|
+
console.log(`\n${t(lang, 'cli.check.summary', {
|
|
270
|
+
rooms: stats.rooms,
|
|
271
|
+
errors: stats.errors,
|
|
272
|
+
warnings: stats.warnings,
|
|
273
|
+
})}`);
|
|
161
274
|
}
|
|
162
275
|
process.exit(stats.errors || (opts.strict && stats.warnings) ? 1 : 0);
|
|
163
276
|
}
|
|
164
277
|
// ── doctor ──────────────────────────────────────────────────────────────────
|
|
165
278
|
else if (cmd === 'doctor') {
|
|
166
279
|
const cfg = await loadConfig(cwd);
|
|
280
|
+
const lang = isLang(opts.lang) ? opts.lang : cfg.lang;
|
|
167
281
|
const checks = [];
|
|
168
282
|
const nodeMajor = Number(process.versions.node.split('.')[0]);
|
|
169
|
-
checks.push(
|
|
170
|
-
|
|
171
|
-
|
|
283
|
+
checks.push({
|
|
284
|
+
ok: nodeMajor >= 22,
|
|
285
|
+
label: t(lang, 'cli.doctor.node', { version: process.versions.node }),
|
|
286
|
+
});
|
|
287
|
+
checks.push({
|
|
288
|
+
ok: await exists(cfg.rootDir),
|
|
289
|
+
label: t(lang, 'cli.doctor.root', { path: cfg.rootDir }),
|
|
290
|
+
});
|
|
291
|
+
checks.push({
|
|
292
|
+
ok: await exists(cfg.roomsDir),
|
|
293
|
+
label: t(lang, 'cli.doctor.roomsDir', { path: rel(cfg.roomsDir, cwd) }),
|
|
294
|
+
});
|
|
172
295
|
const rooms = await listRoomNames(cfg);
|
|
173
|
-
checks.push(
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
296
|
+
checks.push({
|
|
297
|
+
ok: rooms.length > 0,
|
|
298
|
+
label: t(lang, rooms.length ? 'cli.doctor.rooms' : 'cli.doctor.roomsNone', {
|
|
299
|
+
rooms: rooms.join(', '),
|
|
300
|
+
}),
|
|
301
|
+
});
|
|
302
|
+
const configFound = await exists(cfg.configPath);
|
|
303
|
+
checks.push({
|
|
304
|
+
ok: configFound,
|
|
305
|
+
label: t(lang, configFound ? 'cli.doctor.config' : 'cli.doctor.configDefaults', {
|
|
306
|
+
path: rel(cfg.configPath, cwd),
|
|
307
|
+
}),
|
|
308
|
+
});
|
|
309
|
+
checks.push({
|
|
310
|
+
ok: true,
|
|
311
|
+
label: t(lang, 'cli.doctor.state', { path: rel(cfg.stateDir, cwd) }),
|
|
312
|
+
});
|
|
313
|
+
checks.push({ ok: true, label: t(lang, 'cli.doctor.lang', { lang }) });
|
|
314
|
+
const agentsPath = join(cfg.rootDir, 'AGENTS.md');
|
|
315
|
+
checks.push({
|
|
316
|
+
ok: await exists(agentsPath),
|
|
317
|
+
label: t(lang, (await exists(agentsPath)) ? 'cli.doctor.agents' : 'cli.doctor.agentsMissing', {
|
|
318
|
+
path: rel(agentsPath, cwd),
|
|
319
|
+
}),
|
|
320
|
+
optional: true,
|
|
321
|
+
});
|
|
322
|
+
if ((await exists(join(cwd, 'modelroom.json'))) &&
|
|
323
|
+
(await exists(join(cwd, 'modelroom', 'modelroom.json')))) {
|
|
324
|
+
checks.push({
|
|
325
|
+
ok: false,
|
|
326
|
+
label: t(lang, 'cli.doctor.bothConfigs'),
|
|
327
|
+
optional: true,
|
|
328
|
+
});
|
|
329
|
+
}
|
|
178
330
|
const onPath = await which(cfg.agent.command);
|
|
179
|
-
checks.push(
|
|
180
|
-
Boolean(onPath),
|
|
181
|
-
|
|
182
|
-
|
|
331
|
+
checks.push({
|
|
332
|
+
ok: Boolean(onPath),
|
|
333
|
+
label: t(lang, onPath ? 'cli.doctor.agentPath' : 'cli.doctor.agentMissing', {
|
|
334
|
+
command: cfg.agent.command,
|
|
335
|
+
}),
|
|
336
|
+
});
|
|
183
337
|
const { playwrightAvailable } = await import('../lib/artifact.js');
|
|
184
338
|
const pw = await playwrightAvailable();
|
|
185
|
-
checks.push(
|
|
339
|
+
checks.push({
|
|
340
|
+
ok: pw,
|
|
341
|
+
label: t(lang, pw ? 'cli.doctor.playwright' : 'cli.doctor.playwrightMissing'),
|
|
342
|
+
optional: !pw,
|
|
343
|
+
});
|
|
186
344
|
for (const room of rooms) {
|
|
187
345
|
const missing = [];
|
|
188
346
|
for (const d of cfg.docs)
|
|
189
347
|
if (!(await exists(join(cfg.roomsDir, room, d))))
|
|
190
348
|
missing.push(d);
|
|
191
349
|
const hasArtifact = await exists(join(cfg.roomsDir, room, cfg.artifact));
|
|
192
|
-
checks.push(
|
|
193
|
-
missing.length === 0 && hasArtifact,
|
|
194
|
-
|
|
195
|
-
|
|
350
|
+
checks.push({
|
|
351
|
+
ok: missing.length === 0 && hasArtifact,
|
|
352
|
+
label: t(lang, 'cli.doctor.room', {
|
|
353
|
+
room,
|
|
354
|
+
detail: t(lang, missing.length ? 'cli.doctor.roomMissing' : 'cli.doctor.roomDocsOk', {
|
|
355
|
+
docs: missing.join(', '),
|
|
356
|
+
}) + (hasArtifact ? '' : t(lang, 'cli.doctor.noArtifact', { artifact: cfg.artifact })),
|
|
357
|
+
}),
|
|
358
|
+
});
|
|
196
359
|
}
|
|
197
360
|
let bad = 0;
|
|
198
|
-
for (const
|
|
199
|
-
if (!ok)
|
|
361
|
+
for (const check of checks) {
|
|
362
|
+
if (!check.ok)
|
|
200
363
|
bad++;
|
|
201
|
-
console.log(`${ok ? 'ok ' : 'FAIL'} ${label}`);
|
|
364
|
+
console.log(`${check.ok ? 'ok ' : 'FAIL'} ${check.label}`);
|
|
202
365
|
}
|
|
203
|
-
const onlyOptional = checks.every((
|
|
204
|
-
console.log(bad
|
|
366
|
+
const onlyOptional = checks.every((check) => check.ok || check.optional);
|
|
367
|
+
console.log(bad
|
|
368
|
+
? `\n${t(lang, 'cli.doctor.problems', { count: bad })}${onlyOptional ? t(lang, 'cli.doctor.optional') : ''}`
|
|
369
|
+
: `\n${t(lang, 'cli.doctor.allGood')}`);
|
|
205
370
|
process.exit(bad && !onlyOptional ? 1 : 0);
|
|
206
371
|
}
|
|
207
372
|
else {
|
|
208
|
-
console.error(
|
|
209
|
-
usage();
|
|
373
|
+
console.error(t(earlyLang, 'cli.error.unknownCommand', { cmd }) + '\n');
|
|
374
|
+
usage(earlyLang);
|
|
210
375
|
}
|
|
211
376
|
// ── helpers ─────────────────────────────────────────────────────────────────
|
|
212
377
|
async function exists(p) {
|
|
@@ -219,7 +384,8 @@ async function exists(p) {
|
|
|
219
384
|
}
|
|
220
385
|
}
|
|
221
386
|
function rel(p, base) {
|
|
222
|
-
|
|
387
|
+
const value = relative(base, p);
|
|
388
|
+
return value || '.';
|
|
223
389
|
}
|
|
224
390
|
async function which(bin) {
|
|
225
391
|
if (!bin)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelroom.js","sourceRoot":"","sources":["../../bin/modelroom.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modelroom.js","sourceRoot":"","sources":["../../bin/modelroom.ts"],"names":[],"mappings":";AACA,kBAAkB;AAClB,EAAE;AACF,+EAA+E;AAC/E,mEAAmE;AACnE,wCAAwC;AACxC,qBAAqB;AACrB,EAAE;AACF,0DAA0D;AAE1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAmB,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,GAAkC,EAAE,CAAC;AAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;AACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,SAAS;IACpC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACjB,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtB,CAAC,EAAE,CAAC;IACN,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACnB,CAAC;AACH,CAAC;AACD,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;AACrC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;AACpG,MAAM,GAAG,GAAG,CAAC,CAA4B,EAAsB,EAAE,CAC/D,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,QAAiB;IAC1D,IAAI,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAClD,OAAO,UAAU,EAAE,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtE,IAAI,IAAI,CAAC,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,IAAI,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI;IAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAElD,SAAS,KAAK,CAAC,IAAU;IACvB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7E,+EAA+E;AAC/E,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC;QAChC,GAAG;QACH,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;KACrB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1B,GAAG,CAAC,aAAa,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CACT;YACE,aAAa,GAAG,CAAC,OAAO,EAAE;YAC1B,KAAK,GAAG,EAAE;YACV,cAAc,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE;YAC/B,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE;gBACzB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC;aACxE,CAAC;YACF,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE;gBACzB,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,YAAY,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,YAAY,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE;aAC9I,CAAC;YACF,EAAE;YACF,CAAC,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC;SAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,IAAI,IAAI,CAAC,IAAI;YAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,OAAO,CAAC,KAAK,CACX,IAAI,KAAK,YAAY;YACnB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACxD,CAAC,CAAC,GAAG,YAAY,KAAK;gBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAClB,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,+EAA+E;KAC1E,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;IACxB,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,YAAY,KAAK,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,GAAW,CAAC;IAChB,IAAI,IAAU,CAAC;IACf,IAAI,UAAkB,CAAC;IACvB,IAAI,SAAiB,CAAC;IACtB,IAAI,UAAkB,CAAC;IAEvB,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,YAAY,EAAE,CAAC;QACjB,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/D,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnF,IAAI,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACnC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC/C,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrD,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/C,GAAG,GAAG;YACJ,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO;YAC/B,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;YAC7C,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,WAAW;YACjB,IAAI;YACJ,KAAK,EAAE;gBACL,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,UAAU;gBACnB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,EAAE;aACT;YACD,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC;YACnD,UAAU;YACV,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAW,CAAC;QACpC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,IAAI,GACR,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,IAAI;QACX,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;QAC7E,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;QAC9E,IAAI,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACzF,oEAAoE;QACpE,IAAI,GAAG,MAAM;YACX,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,mFAAmF;QACnF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAA4B,CAAC;QACtF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,UAAU,EAAE,MAAM,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,SAAS,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,IAAI,EAAE,mBAAmB,EAAE;QAC3B,IAAI;QACJ,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,2BAA2B,UAAU,EAAgB,CAAC;KACvE,CAAC,CACH,CAAC;IACF,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,iEAAiE;KAC5D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACtD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACvD,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE;gBACzB,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,CAAC;gBACtF,KAAK;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,IAAI,EAAE,mBAAmB,EAAE;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,EAAE,CACL,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,+EAA+E;KAC1E,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAEtD,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,SAAS,IAAI,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;KACzD,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;QACpB,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,sBAAsB,EAAE;YACzE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;KACH,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,2BAA2B,EAAE;YAC9E,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC;SAC/B,CAAC;KACH,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC;QAC5B,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,0BAA0B,EAAE;YAC5F,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC;SAC3B,CAAC;QACF,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,IACE,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC3C,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACxD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,wBAAwB,CAAC;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,yBAAyB,EAAE;YAC1E,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO;SAC3B,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACnE,MAAM,EAAE,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,8BAA8B,CAAC;QAC7E,QAAQ,EAAE,CAAC,EAAE;KACd,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI;YAAE,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW;YACvC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE;gBAChC,IAAI;gBACJ,MAAM,EACJ,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,uBAAuB,EAAE;oBAC3E,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;iBACzB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;aACzF,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CACT,GAAG;QACD,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5G,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CACzC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACxE,KAAK,CAAC,SAAS,CAAC,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,KAAK,UAAU,MAAM,CAAC,CAAS;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,CAAS,EAAE,IAAY;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAChC,OAAO,KAAK,IAAI,GAAG,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,GAAW;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,MAAM,GACV,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/F,IAAI,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/agents/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/agents/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,YAAY,CAAC;CAC5C;AAID,eAAO,MAAM,SAAS,MAAO,MAAM,KAAG,MAAoC,CAAC;AA6C3E,eAAO,MAAM,QAAQ,EAAE,OAoBtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,OAmBrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAyB,CAAC;AACvE,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,OAAqC,CAAC"}
|