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
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import type { Lang } from './lang.ts';
|
|
2
|
+
export type { Lang };
|
|
3
|
+
export declare const en: {
|
|
4
|
+
readonly 'cli.usage': `modelroom {version} — a full-scale model room for UI
|
|
5
|
+
|
|
6
|
+
usage
|
|
7
|
+
modelroom [serve] [--port 4321] [--host 127.0.0.1] [--open] [--lang en|ja]
|
|
8
|
+
modelroom init [<room>] [--dir rooms] [--lang en|ja] [--force]
|
|
9
|
+
modelroom check [--json] [--strict]
|
|
10
|
+
modelroom doctor
|
|
11
|
+
modelroom --version | --help
|
|
12
|
+
|
|
13
|
+
A room is one screen: modelroom/rooms/<name>/ with BRIEF.md, SPEC.md,
|
|
14
|
+
BEHAVIOUR.md and an artifact.
|
|
15
|
+
Config lives in modelroom/modelroom.json; local state in .modelroom/state.json
|
|
16
|
+
(git-ignore it).`;
|
|
17
|
+
readonly 'cli.error.unknownCommand': 'unknown command: {cmd}';
|
|
18
|
+
readonly 'cli.error.invalidLang': 'unsupported language: {lang} (use en or ja)';
|
|
19
|
+
readonly 'cli.serve.rooms': ' rooms {rooms}';
|
|
20
|
+
readonly 'cli.serve.roomsNone': '(none yet — try: npx modelroom init hello)';
|
|
21
|
+
readonly 'cli.serve.agent': ' agent {line}';
|
|
22
|
+
readonly 'cli.serve.artifacts': ' Artifacts are served unmodified. Writable files: {docs}';
|
|
23
|
+
readonly 'cli.serve.ctrlC': ' Ctrl+C to stop';
|
|
24
|
+
readonly 'cli.serve.portInUse': 'port {port} is in use — pass --port <n>';
|
|
25
|
+
readonly 'cli.init.skip': 'skip {label} (exists)';
|
|
26
|
+
readonly 'cli.init.created': 'created in {dir}:';
|
|
27
|
+
readonly 'cli.init.next': 'next';
|
|
28
|
+
readonly 'cli.init.nextServe': ' npx modelroom';
|
|
29
|
+
readonly 'cli.init.nextOpen': ' open http://127.0.0.1:{port}/rooms/{room}';
|
|
30
|
+
readonly 'cli.init.gitignore': '.gitignore (+ {path})';
|
|
31
|
+
readonly 'cli.init.language': 'language {lang} ({source})';
|
|
32
|
+
readonly 'cli.init.languageSource.flag': '--lang';
|
|
33
|
+
readonly 'cli.init.languageSource.config': 'modelroom.json';
|
|
34
|
+
readonly 'cli.init.languageSource.env': 'environment';
|
|
35
|
+
readonly 'cli.init.languageSource.default': 'default';
|
|
36
|
+
readonly 'cli.init.languageAuto': 'detected automatically — pass --lang en|ja to pin it';
|
|
37
|
+
readonly 'cli.init.legacy': 'existing config at {path}; keeping the old layout';
|
|
38
|
+
readonly 'cli.check.issue': '{level} {where} {code} {message}';
|
|
39
|
+
readonly 'cli.check.summary': '{rooms} room(s), {errors} error(s), {warnings} warning(s)';
|
|
40
|
+
readonly 'cli.check.level.error': 'FAIL';
|
|
41
|
+
readonly 'cli.check.level.warn': 'warn';
|
|
42
|
+
readonly 'cli.doctor.node': 'node {version} (needs >= 22.18)';
|
|
43
|
+
readonly 'cli.doctor.root': 'root exists: {path}';
|
|
44
|
+
readonly 'cli.doctor.roomsDir': 'rooms dir exists: {path}';
|
|
45
|
+
readonly 'cli.doctor.rooms': 'rooms found: {rooms}';
|
|
46
|
+
readonly 'cli.doctor.roomsNone': 'rooms found: none';
|
|
47
|
+
readonly 'cli.doctor.config': 'config: {path}';
|
|
48
|
+
readonly 'cli.doctor.configDefaults': 'config: modelroom.json (defaults in use)';
|
|
49
|
+
readonly 'cli.doctor.state': 'state: {path}';
|
|
50
|
+
readonly 'cli.doctor.lang': 'language: {lang}';
|
|
51
|
+
readonly 'cli.doctor.agents': 'agent instructions: {path}';
|
|
52
|
+
readonly 'cli.doctor.agentsMissing': 'agent instructions: missing ({path})';
|
|
53
|
+
readonly 'cli.doctor.agentPath': 'agent command on PATH: {command}';
|
|
54
|
+
readonly 'cli.doctor.agentMissing': 'agent command on PATH: {command} (not found — the chat will fail)';
|
|
55
|
+
readonly 'cli.doctor.playwright': 'png rendering (playwright): available';
|
|
56
|
+
readonly 'cli.doctor.playwrightMissing': 'png rendering (playwright): not installed (optional)';
|
|
57
|
+
readonly 'cli.doctor.room': 'room {room}: {detail}';
|
|
58
|
+
readonly 'cli.doctor.roomDocsOk': 'docs ok';
|
|
59
|
+
readonly 'cli.doctor.roomMissing': 'missing {docs}';
|
|
60
|
+
readonly 'cli.doctor.noArtifact': ', no {artifact}';
|
|
61
|
+
readonly 'cli.doctor.bothConfigs': 'both modelroom.json and modelroom/modelroom.json exist; the root one wins';
|
|
62
|
+
readonly 'cli.doctor.allGood': 'all good';
|
|
63
|
+
readonly 'cli.doctor.problems': '{count} problem(s)';
|
|
64
|
+
readonly 'cli.doctor.optional': ' (optional)';
|
|
65
|
+
readonly 'lint.reserved-type': '{key} must be {allowed}, got {got}';
|
|
66
|
+
readonly 'lint.or': 'or';
|
|
67
|
+
readonly 'lint.tags-shape': 'tags must be a flat list of strings';
|
|
68
|
+
readonly 'lint.synonym': '{key} duplicates {canonical} — keep one';
|
|
69
|
+
readonly 'lint.no-frontmatter': 'no frontmatter — add title, summary and tags';
|
|
70
|
+
readonly 'lint.h1-title': 'H1 "{h1}" differs from title "{title}"';
|
|
71
|
+
readonly 'lint.variant': '{key}: {values} — same value, different spelling';
|
|
72
|
+
readonly 'lint.superseded-missing': 'superseded_by points to a room that does not exist: {target}';
|
|
73
|
+
readonly 'lint.nested': 'nested values are not supported — keep frontmatter flat';
|
|
74
|
+
readonly 'lint.syntax': 'not a key: value line — {line}';
|
|
75
|
+
readonly 'lint.duplicate-key': 'duplicate key: {key}';
|
|
76
|
+
readonly 'lint.unterminated': 'unterminated frontmatter';
|
|
77
|
+
readonly 'server.noRooms': 'no rooms';
|
|
78
|
+
readonly 'server.docName': 'name must be one of {docs}';
|
|
79
|
+
readonly 'server.notEditable': 'this file is not editable';
|
|
80
|
+
readonly 'server.changedElsewhere': 'changed elsewhere';
|
|
81
|
+
readonly 'server.methodDoc': 'GET or PUT';
|
|
82
|
+
readonly 'server.emptyPrompt': 'empty prompt';
|
|
83
|
+
readonly 'server.roomRunningChat': 'this room is already running';
|
|
84
|
+
readonly 'server.roomRunning': 'room is running';
|
|
85
|
+
readonly 'server.alreadyRendering': 'already rendering';
|
|
86
|
+
readonly 'server.badBodyRead': 'request body could not be read';
|
|
87
|
+
readonly 'server.bodyObject': 'body must be a JSON object';
|
|
88
|
+
readonly 'server.bodyJson': 'body must be valid JSON';
|
|
89
|
+
readonly 'server.badRequest': 'bad request';
|
|
90
|
+
readonly 'server.internal': 'internal error';
|
|
91
|
+
readonly 'server.agentExited': '{room}: agent exited ({code})';
|
|
92
|
+
readonly 'server.cannotStart': 'cannot start {command}: {message}';
|
|
93
|
+
readonly 'server.artifactNotFound': 'artifact not found: {path}';
|
|
94
|
+
readonly 'server.changed': 'changed: {file}';
|
|
95
|
+
readonly 'server.agentWorking': '{room}: agent is working…';
|
|
96
|
+
readonly 'server.rendering': '{room}: rendering {file}…';
|
|
97
|
+
readonly 'server.rendered': '{room}: {file} updated';
|
|
98
|
+
readonly 'server.installHint': 'PNG rendering needs Playwright:\n npm install --include=dev playwright && npx playwright install chromium\n(modelroom works without it — the room just has no thumbnail.)';
|
|
99
|
+
readonly 'common.rooms': 'Rooms';
|
|
100
|
+
readonly 'common.settings': 'Settings';
|
|
101
|
+
readonly 'common.refresh': 'refresh';
|
|
102
|
+
readonly 'common.retry': 'retry';
|
|
103
|
+
readonly 'common.copy': 'Copy reply';
|
|
104
|
+
readonly 'common.copied': 'copied';
|
|
105
|
+
readonly 'common.cancel': 'cancel';
|
|
106
|
+
readonly 'common.save': 'save';
|
|
107
|
+
readonly 'common.saving': 'saving…';
|
|
108
|
+
readonly 'common.saved': 'saved';
|
|
109
|
+
readonly 'common.failed': 'failed';
|
|
110
|
+
readonly 'common.loading': 'loading…';
|
|
111
|
+
readonly 'common.ready': 'ready';
|
|
112
|
+
readonly 'common.reconnecting': 'reconnecting…';
|
|
113
|
+
readonly 'common.running': 'running';
|
|
114
|
+
readonly 'common.any': 'any';
|
|
115
|
+
readonly 'common.none': 'none';
|
|
116
|
+
readonly 'common.close': 'close';
|
|
117
|
+
readonly 'common.open': 'open';
|
|
118
|
+
readonly 'common.delete': 'delete';
|
|
119
|
+
readonly 'common.edit': 'Edit';
|
|
120
|
+
readonly 'common.preview': 'Preview';
|
|
121
|
+
readonly 'common.split': 'Edit and preview';
|
|
122
|
+
readonly 'common.sideBySide': 'Side by side';
|
|
123
|
+
readonly 'common.stacked': 'Stacked';
|
|
124
|
+
readonly 'common.tabs': 'Tabs';
|
|
125
|
+
readonly 'common.tiles': 'Tiles';
|
|
126
|
+
readonly 'common.filter': '{name} filter';
|
|
127
|
+
readonly 'common.noValueMatches': 'No value matches';
|
|
128
|
+
readonly 'common.theme': 'Theme';
|
|
129
|
+
readonly 'common.themeLight': 'Light theme';
|
|
130
|
+
readonly 'common.themeDark': 'Dark theme';
|
|
131
|
+
readonly 'common.room': 'Room';
|
|
132
|
+
readonly 'dashboard.search': 'Search rooms, docs, tags… ( / )';
|
|
133
|
+
readonly 'dashboard.searchLabel': 'Search rooms';
|
|
134
|
+
readonly 'dashboard.reload': 'Reload the room list';
|
|
135
|
+
readonly 'dashboard.archived': 'archived ({count})';
|
|
136
|
+
readonly 'dashboard.nothingMatches': 'Nothing matches';
|
|
137
|
+
readonly 'dashboard.noRooms': 'No rooms yet';
|
|
138
|
+
readonly 'dashboard.noRoomsHint': 'A room is one screen: rooms/<name>/ with BRIEF.md, SPEC.md, BEHAVIOUR.md and an artifact.';
|
|
139
|
+
readonly 'dashboard.noThumb': 'no thumbnail yet';
|
|
140
|
+
readonly 'dashboard.noArtifact': 'no artifact yet';
|
|
141
|
+
readonly 'dashboard.roomsCount': 'rooms {total}';
|
|
142
|
+
readonly 'dashboard.roomsFiltered': '{visible} / {total}';
|
|
143
|
+
readonly 'dashboard.archivedBadge': 'archived';
|
|
144
|
+
readonly 'dashboard.behavioursOne': '{count} behaviour';
|
|
145
|
+
readonly 'dashboard.behavioursOther': '{count} behaviours';
|
|
146
|
+
readonly 'dashboard.searchBadge': 'search: {query}';
|
|
147
|
+
readonly 'dashboard.clearAll': 'clear all';
|
|
148
|
+
readonly 'dashboard.clearSearch': 'Clear search and filters';
|
|
149
|
+
readonly 'dashboard.loosen': 'Loosen a filter, or search for something else.';
|
|
150
|
+
readonly 'room.chat': 'Chat';
|
|
151
|
+
readonly 'room.docs': 'Docs';
|
|
152
|
+
readonly 'room.artifact': 'Artifact';
|
|
153
|
+
readonly 'room.session': 'Session';
|
|
154
|
+
readonly 'room.showSession': 'Show session panel';
|
|
155
|
+
readonly 'room.hideSession': 'Hide session panel';
|
|
156
|
+
readonly 'room.sessionPanel': 'Room panel';
|
|
157
|
+
readonly 'room.loading': 'loading room…';
|
|
158
|
+
readonly 'room.cannotOpen': 'Cannot open this room';
|
|
159
|
+
readonly 'room.cannotLoad': 'cannot load this room';
|
|
160
|
+
readonly 'room.newSession': 'new session';
|
|
161
|
+
readonly 'room.newSessionConfirm': 'Start a new session for this room? The conversation context resets.';
|
|
162
|
+
readonly 'room.newSessionStarted': 'new session started';
|
|
163
|
+
readonly 'room.sessionLabel': 'session {id}…';
|
|
164
|
+
readonly 'room.agentLabel': '{adapter} · {command}';
|
|
165
|
+
readonly 'chat.title': 'Chat';
|
|
166
|
+
readonly 'chat.agentLog': 'agent log';
|
|
167
|
+
readonly 'chat.resumed': '— resumed this session ({turns} turns)';
|
|
168
|
+
readonly 'chat.resumedOne': '— resumed this session (1 turn)';
|
|
169
|
+
readonly 'chat.couldNotSend': 'could not send: {reason}';
|
|
170
|
+
readonly 'chat.couldNotReach': 'could not reach the server';
|
|
171
|
+
readonly 'chat.agentBusy': 'the agent is busy';
|
|
172
|
+
readonly 'chat.empty': 'A room is one screen. Ask for the change; watch the artifact move.';
|
|
173
|
+
readonly 'composer.placeholder': "Ask the agent to change this room. It edits the room's files; the artifact updates here.";
|
|
174
|
+
readonly 'composer.messageLabel': 'Message the agent';
|
|
175
|
+
readonly 'composer.send': 'Send';
|
|
176
|
+
readonly 'composer.stop': 'Stop';
|
|
177
|
+
readonly 'composer.queue': 'Queue';
|
|
178
|
+
readonly 'composer.removeQueued': 'Remove queued prompt: {text}';
|
|
179
|
+
readonly 'composer.hint': 'Enter to send · Shift+Enter for a new line';
|
|
180
|
+
readonly 'composer.working': 'agent is working…';
|
|
181
|
+
readonly 'chat.suggestion.tighten': 'Tighten the spacing and the type scale.';
|
|
182
|
+
readonly 'chat.suggestion.states': 'Add a loading state and an error state.';
|
|
183
|
+
readonly 'chat.suggestion.primary': 'Make the primary action the obvious one.';
|
|
184
|
+
readonly 'chat.suggestion.spec': 'Rewrite SPEC.md so it only holds what the screen cannot show.';
|
|
185
|
+
readonly 'docs.failed': 'failed: {error}';
|
|
186
|
+
readonly 'docs.changedElsewhere': 'changed elsewhere';
|
|
187
|
+
readonly 'docs.saving': 'saving…';
|
|
188
|
+
readonly 'docs.unsaved': 'unsaved…';
|
|
189
|
+
readonly 'docs.savedAt': 'saved {time}';
|
|
190
|
+
readonly 'docs.onDiskAt': 'on disk {time}';
|
|
191
|
+
readonly 'docs.empty': 'No docs yet.';
|
|
192
|
+
readonly 'docs.docView': 'Doc view mode';
|
|
193
|
+
readonly 'docs.splitOrientation': 'Split orientation';
|
|
194
|
+
readonly 'docs.layout': 'Doc layout';
|
|
195
|
+
readonly 'docs.conflictTitle': 'This file changed elsewhere';
|
|
196
|
+
readonly 'docs.conflictBody': 'Your version is still here. Reload the file from disk, or keep your version and overwrite it.';
|
|
197
|
+
readonly 'docs.conflictText': '{name} changed on disk while you were typing.';
|
|
198
|
+
readonly 'docs.reload': 'Reload from disk';
|
|
199
|
+
readonly 'docs.keepMine': 'Keep mine';
|
|
200
|
+
readonly 'docs.takeTheirs': 'Take theirs';
|
|
201
|
+
readonly 'docs.frontmatter': 'Frontmatter';
|
|
202
|
+
readonly 'docs.notConfigured': 'No docs configured.';
|
|
203
|
+
readonly 'docs.sourceLabel': '{name} — markdown source';
|
|
204
|
+
readonly 'artifact.title': 'Artifact';
|
|
205
|
+
readonly 'artifact.fit': 'fit';
|
|
206
|
+
readonly 'artifact.deviceWidth': 'Device width';
|
|
207
|
+
readonly 'artifact.view': 'Artifact view';
|
|
208
|
+
readonly 'artifact.makePng': 'make png';
|
|
209
|
+
readonly 'artifact.openRaw': 'open raw';
|
|
210
|
+
readonly 'artifact.png': 'png';
|
|
211
|
+
readonly 'artifact.noArtifact': 'No artifact yet — {artifact}. Ask the agent to create it.';
|
|
212
|
+
readonly 'artifact.thumbnail': 'artifact thumbnail';
|
|
213
|
+
readonly 'artifact.noPng': 'No PNG yet. Use “make png” — it needs Playwright.';
|
|
214
|
+
readonly 'artifact.reload': 'Reload the artifact';
|
|
215
|
+
readonly 'artifact.empty': 'No artifact yet.';
|
|
216
|
+
readonly 'artifact.error': 'Could not render the artifact.';
|
|
217
|
+
readonly 'artifact.device.sp': 'phone';
|
|
218
|
+
readonly 'artifact.device.tablet': 'tablet';
|
|
219
|
+
readonly 'artifact.device.pc': 'desktop';
|
|
220
|
+
readonly 'session.title': 'Session';
|
|
221
|
+
readonly 'session.unavailable': 'Session information is only available with the opencode adapter.';
|
|
222
|
+
readonly 'session.context': 'Context';
|
|
223
|
+
readonly 'session.contextUsed': 'Context window used';
|
|
224
|
+
readonly 'session.contextHigh': '{pct}% — consider compact (limit {limit})';
|
|
225
|
+
readonly 'session.contextUnknown': 'Context: not measurable yet (no run, or unknown limit)';
|
|
226
|
+
readonly 'session.cost': 'Cost';
|
|
227
|
+
readonly 'session.tokensIn': 'Tokens ↑';
|
|
228
|
+
readonly 'session.tokensOut': 'Tokens ↓';
|
|
229
|
+
readonly 'session.reasoning': 'reasoning';
|
|
230
|
+
readonly 'session.cache': 'Cache';
|
|
231
|
+
readonly 'session.state': 'State';
|
|
232
|
+
readonly 'session.model': 'model';
|
|
233
|
+
readonly 'session.workspace': 'workspace';
|
|
234
|
+
readonly 'session.skills': 'Skills';
|
|
235
|
+
readonly 'session.mcp': 'MCP';
|
|
236
|
+
readonly 'parts.changes': 'changes';
|
|
237
|
+
readonly 'parts.output': 'output';
|
|
238
|
+
readonly 'parts.reasoning': 'reasoning';
|
|
239
|
+
readonly 'parts.filesOne': '{count} file';
|
|
240
|
+
readonly 'parts.filesOther': '{count} files';
|
|
241
|
+
readonly 'parts.truncated': 'output was truncated';
|
|
242
|
+
readonly 'parts.exit': 'exit {code}';
|
|
243
|
+
readonly 'status.running': 'running';
|
|
244
|
+
readonly 'status.done': 'done';
|
|
245
|
+
readonly 'status.error': 'error';
|
|
246
|
+
readonly 'settings.title': 'Settings';
|
|
247
|
+
readonly 'settings.agent': 'Agent';
|
|
248
|
+
readonly 'settings.agentHint': 'modelroom drives the agent you already use. Nothing here is sent anywhere by modelroom itself.';
|
|
249
|
+
readonly 'settings.adapter': 'Adapter';
|
|
250
|
+
readonly 'settings.adapter.opencode': 'opencode — OpenCode CLI (sessions, model, agent)';
|
|
251
|
+
readonly 'settings.adapter.command': 'command — any CLI, with args containing {prompt} and {session}';
|
|
252
|
+
readonly 'settings.command': 'Command';
|
|
253
|
+
readonly 'settings.agentName': 'Agent name';
|
|
254
|
+
readonly 'settings.model': 'Model';
|
|
255
|
+
readonly 'settings.modelDescription': 'optional — many agents fail on an unset default';
|
|
256
|
+
readonly 'settings.standalone': "Run the agent against its own server, using this process's environment (opencode)";
|
|
257
|
+
readonly 'settings.config': 'Config';
|
|
258
|
+
readonly 'settings.configHint': 'Committed defaults live in {path}; anything saved here is kept locally in {state} (git-ignored). Editable room files are: {docs}.';
|
|
259
|
+
readonly 'settings.root': 'root {root}';
|
|
260
|
+
readonly 'settings.rooms': 'rooms {rooms}/';
|
|
261
|
+
readonly 'settings.artifact': 'artifact {artifact}';
|
|
262
|
+
readonly 'settings.language': 'language {lang}';
|
|
263
|
+
readonly 'settings.adapterLine': 'agent {adapter}';
|
|
264
|
+
readonly 'settings.commandLine': 'command {command}';
|
|
265
|
+
readonly 'settings.agentLine': 'agent name {agent}';
|
|
266
|
+
readonly 'settings.modelLine': 'model {model}';
|
|
267
|
+
readonly 'settings.default': 'default';
|
|
268
|
+
readonly 'settings.thumbnails': 'Thumbnails';
|
|
269
|
+
readonly 'settings.thumbnailsHint': 'Rendering a room to PNG is optional and needs Playwright. modelroom works without it — rooms simply show no thumbnail.';
|
|
270
|
+
readonly 'settings.thumbnailsAlert': 'Rendering an artifact to PNG needs Playwright and a browser: {command}. modelroom works without it — rooms simply show no thumbnail.';
|
|
271
|
+
readonly 'settings.saved': 'saved {time}';
|
|
272
|
+
readonly 'settings.failed': 'failed: {error}';
|
|
273
|
+
readonly 'settings.couldNotReach': 'failed: could not reach the server';
|
|
274
|
+
readonly 'settings.invalidLanguage': 'invalid language';
|
|
275
|
+
readonly 'facet.any': 'any';
|
|
276
|
+
readonly 'facet.noMatch': 'No value matches';
|
|
277
|
+
readonly 'facet.clear': 'Clear';
|
|
278
|
+
readonly 'facet.more': '+{count} more';
|
|
279
|
+
readonly 'facet.searchValues': 'search {count} values';
|
|
280
|
+
readonly 'facet.searchOrPick': 'search or pick';
|
|
281
|
+
readonly 'kit.filter': 'Filter — the facet control';
|
|
282
|
+
readonly 'kit.icons': 'Icons';
|
|
283
|
+
readonly 'kit.segmented': 'SegmentedControl';
|
|
284
|
+
readonly 'kit.buttons': 'Button · Badge · ActionIcon · CopyButton · Loader';
|
|
285
|
+
readonly 'kit.panels': 'Panels';
|
|
286
|
+
readonly 'kit.markdown': 'Markdown';
|
|
287
|
+
readonly 'kit.markdownChat': 'Markdown — chat';
|
|
288
|
+
readonly 'kit.markdownDoc': 'Markdown — doc preview';
|
|
289
|
+
readonly 'kit.formControls': 'Form controls';
|
|
290
|
+
readonly 'kit.card': 'Card / surfaces';
|
|
291
|
+
readonly 'kit.split': 'Split (react-resizable-panels)';
|
|
292
|
+
readonly 'kit.divider': 'Divider';
|
|
293
|
+
readonly 'kit.tags': 'Tags';
|
|
294
|
+
readonly 'kit.noRooms': 'No rooms yet';
|
|
295
|
+
readonly 'kit.noRoomsHint': 'A room is one screen: rooms/<name>/.';
|
|
296
|
+
readonly 'kit.filterHint': "Mantine's provided parts: MultiSelect / Select under 500 candidates, Combobox + useVirtualizedCombobox above.";
|
|
297
|
+
readonly 'kit.iconsHint': "lucide-react behind a name — the tool's own set, drawn at the size the caller asks for.";
|
|
298
|
+
readonly 'kit.segmentedHint': 'The edit / split / preview, orientation and layout switches.';
|
|
299
|
+
readonly 'kit.markdownHint': "markdown-it with raw HTML disabled; code fences get a copy button; the rhythm is Mantine's Typography.";
|
|
300
|
+
readonly 'kit.docHint': 'Frontmatter is split out by the panel, not here.';
|
|
301
|
+
readonly 'kit.formHint': 'TextInput, Checkbox, Select, MultiSelect — the settings form and the facets.';
|
|
302
|
+
readonly 'kit.cardHint': "The dashboard's room cards and the settings sections.";
|
|
303
|
+
readonly 'kit.splitHint': "Mantine has no split pane; the room's columns and the docs split use this one library.";
|
|
304
|
+
};
|
|
305
|
+
export type MessageKey = keyof typeof en;
|
|
306
|
+
export type Messages = {
|
|
307
|
+
readonly [K in MessageKey]: string;
|
|
308
|
+
};
|
|
309
|
+
export declare const ja: Messages;
|
|
310
|
+
export declare const CATALOGS: Record<Lang, Messages>;
|
|
311
|
+
/** The text for one key. Unknown keys fall back to English, then to the key. */
|
|
312
|
+
export declare function t(lang: Lang, key: MessageKey, params?: Record<string, string | number>): string;
|
|
313
|
+
/** The same, for values that may be a language string from the outside. */
|
|
314
|
+
export declare function text(lang: string | null | undefined, key: MessageKey, params?: Record<string, string | number>): string;
|
|
315
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../lib/i18n.ts"],"names":[],"mappings":"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"}
|