adde-acp 0.1.3
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/LICENSE +21 -0
- package/README.ko.md +88 -0
- package/README.md +88 -0
- package/dist/backend/acp/client.d.ts +149 -0
- package/dist/backend/acp/client.js +538 -0
- package/dist/backend/acp/client.js.map +1 -0
- package/dist/backend/acp/index.d.ts +8 -0
- package/dist/backend/acp/index.js +7 -0
- package/dist/backend/acp/index.js.map +1 -0
- package/dist/backend/acp/lifecycle.d.ts +15 -0
- package/dist/backend/acp/lifecycle.js +56 -0
- package/dist/backend/acp/lifecycle.js.map +1 -0
- package/dist/backend/acp/perm-diff.d.ts +37 -0
- package/dist/backend/acp/perm-diff.js +58 -0
- package/dist/backend/acp/perm-diff.js.map +1 -0
- package/dist/backend/acp/spawn.d.ts +20 -0
- package/dist/backend/acp/spawn.js +70 -0
- package/dist/backend/acp/spawn.js.map +1 -0
- package/dist/cli/adde.d.ts +2 -0
- package/dist/cli/adde.js +11 -0
- package/dist/cli/adde.js.map +1 -0
- package/dist/cli/alias.d.ts +45 -0
- package/dist/cli/alias.js +94 -0
- package/dist/cli/alias.js.map +1 -0
- package/dist/cli/completion.d.ts +4 -0
- package/dist/cli/completion.js +209 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/init.d.ts +3 -0
- package/dist/cli/init.js +114 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/lane.d.ts +20 -0
- package/dist/cli/lane.js +350 -0
- package/dist/cli/lane.js.map +1 -0
- package/dist/cli/ops.d.ts +5 -0
- package/dist/cli/ops.js +230 -0
- package/dist/cli/ops.js.map +1 -0
- package/dist/cli/prompt.d.ts +15 -0
- package/dist/cli/prompt.js +41 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/run.d.ts +5 -0
- package/dist/cli/run.js +216 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/spec.d.ts +48 -0
- package/dist/cli/spec.js +98 -0
- package/dist/cli/spec.js.map +1 -0
- package/dist/core/diagnostics.d.ts +73 -0
- package/dist/core/diagnostics.js +333 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.js +9 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/injector.d.ts +27 -0
- package/dist/core/injector.js +297 -0
- package/dist/core/injector.js.map +1 -0
- package/dist/core/lane-config.d.ts +80 -0
- package/dist/core/lane-config.js +303 -0
- package/dist/core/lane-config.js.map +1 -0
- package/dist/core/launchd.d.ts +81 -0
- package/dist/core/launchd.js +216 -0
- package/dist/core/launchd.js.map +1 -0
- package/dist/core/messages.d.ts +31 -0
- package/dist/core/messages.js +71 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/queue.d.ts +74 -0
- package/dist/core/queue.js +227 -0
- package/dist/core/queue.js.map +1 -0
- package/dist/core/runtime-state.d.ts +52 -0
- package/dist/core/runtime-state.js +90 -0
- package/dist/core/runtime-state.js.map +1 -0
- package/dist/core/session-ledger.d.ts +25 -0
- package/dist/core/session-ledger.js +89 -0
- package/dist/core/session-ledger.js.map +1 -0
- package/dist/core/supervisor.d.ts +41 -0
- package/dist/core/supervisor.js +315 -0
- package/dist/core/supervisor.js.map +1 -0
- package/dist/core/transcript.d.ts +22 -0
- package/dist/core/transcript.js +93 -0
- package/dist/core/transcript.js.map +1 -0
- package/dist/core/update-check.d.ts +25 -0
- package/dist/core/update-check.js +142 -0
- package/dist/core/update-check.js.map +1 -0
- package/dist/core/version.d.ts +7 -0
- package/dist/core/version.js +32 -0
- package/dist/core/version.js.map +1 -0
- package/dist/gate/gate.d.ts +41 -0
- package/dist/gate/gate.js +28 -0
- package/dist/gate/gate.js.map +1 -0
- package/dist/gate/index.d.ts +6 -0
- package/dist/gate/index.js +6 -0
- package/dist/gate/index.js.map +1 -0
- package/dist/shared/conf.d.ts +54 -0
- package/dist/shared/conf.js +85 -0
- package/dist/shared/conf.js.map +1 -0
- package/dist/shared/deny-match.d.ts +19 -0
- package/dist/shared/deny-match.js +122 -0
- package/dist/shared/deny-match.js.map +1 -0
- package/dist/shared/envelope.d.ts +37 -0
- package/dist/shared/envelope.js +91 -0
- package/dist/shared/envelope.js.map +1 -0
- package/dist/shared/errors.d.ts +8 -0
- package/dist/shared/errors.js +23 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/fs-atomic.d.ts +17 -0
- package/dist/shared/fs-atomic.js +31 -0
- package/dist/shared/fs-atomic.js.map +1 -0
- package/dist/shared/i18n.d.ts +23 -0
- package/dist/shared/i18n.js +53 -0
- package/dist/shared/i18n.js.map +1 -0
- package/dist/shared/locales/en.d.ts +393 -0
- package/dist/shared/locales/en.js +447 -0
- package/dist/shared/locales/en.js.map +1 -0
- package/dist/shared/locales/ko.d.ts +389 -0
- package/dist/shared/locales/ko.js +443 -0
- package/dist/shared/locales/ko.js.map +1 -0
- package/dist/shared/mask.d.ts +6 -0
- package/dist/shared/mask.js +28 -0
- package/dist/shared/mask.js.map +1 -0
- package/dist/shared/notify.d.ts +15 -0
- package/dist/shared/notify.js +20 -0
- package/dist/shared/notify.js.map +1 -0
- package/dist/shared/paths.d.ts +42 -0
- package/dist/shared/paths.js +83 -0
- package/dist/shared/paths.js.map +1 -0
- package/dist/src-adapters/index.d.ts +8 -0
- package/dist/src-adapters/index.js +6 -0
- package/dist/src-adapters/index.js.map +1 -0
- package/dist/src-adapters/markdown.d.ts +80 -0
- package/dist/src-adapters/markdown.js +794 -0
- package/dist/src-adapters/markdown.js.map +1 -0
- package/dist/src-adapters/source.d.ts +33 -0
- package/dist/src-adapters/source.js +3 -0
- package/dist/src-adapters/source.js.map +1 -0
- package/dist/src-adapters/telegram.d.ts +48 -0
- package/dist/src-adapters/telegram.js +412 -0
- package/dist/src-adapters/telegram.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,447 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* English message catalog. ํค ๊ตฌ์กฐ์ SoT โ ํ ๋ก์ผ์ผ์ `satisfies typeof en` ์ผ๋ก
|
|
3
|
+
* ํค ํจ๋ฆฌํฐ๋ฅผ ์ปดํ์ผ ํ์ ๊ฐ์ ํ๋ค. ๋ณด๊ฐ์ i18next `{{var}}` ๋ฌธ๋ฒ.
|
|
4
|
+
*/
|
|
5
|
+
export const en = {
|
|
6
|
+
usage: {
|
|
7
|
+
main: `{{primary}} โ AI Driven Development Engine
|
|
8
|
+
|
|
9
|
+
Usage:
|
|
10
|
+
{{primary}} [command] main entry point ({{short}} available after 'adde alias')
|
|
11
|
+
|
|
12
|
+
Commands:
|
|
13
|
+
init [<proj>] guided setup (doctor + short alias + create a lane)
|
|
14
|
+
up <proj> start all lanes of the project as a background daemon
|
|
15
|
+
down <proj> stop the daemon (works from any terminal)
|
|
16
|
+
restart <proj> restart the daemon (down + up)
|
|
17
|
+
status [<proj>] [--all] lane status (all running projects if <proj> omitted, --all includes stopped)
|
|
18
|
+
doctor [<proj>] static environment/config checks (state-independent)
|
|
19
|
+
logs <proj> <lane> [N] last N lines of the lane transcript (default 50, engine stderr with --engine)
|
|
20
|
+
sessions <proj> <lane> list recorded engine sessions (resume via channel: /resume or resume checkbox)
|
|
21
|
+
lane add <proj> <lane> create a lane conf
|
|
22
|
+
lane ls <proj> list lanes
|
|
23
|
+
lane show <proj> <lane> print a lane conf
|
|
24
|
+
lane rm <proj> <lane> delete a lane conf
|
|
25
|
+
completion <bash|zsh> print a shell completion script
|
|
26
|
+
alias [names...] install short aliases (default ad, add) next to the adde binary
|
|
27
|
+
|
|
28
|
+
Options:
|
|
29
|
+
-v, --version print version
|
|
30
|
+
-h, --help print help
|
|
31
|
+
|
|
32
|
+
Run \`{{primary}} <command> --help\` for command-specific help; \`adde lane help\` for lane options.`,
|
|
33
|
+
up: "Usage: adde up <proj>",
|
|
34
|
+
down: "Usage: adde down <proj>",
|
|
35
|
+
restart: "Usage: adde restart <proj>",
|
|
36
|
+
status: "Usage: adde status [<proj>] [--all] [--json]",
|
|
37
|
+
doctor: "Usage: adde doctor [<proj>]",
|
|
38
|
+
logs: "Usage: adde logs <proj> <lane> [N] [--engine]",
|
|
39
|
+
sessions: "Usage: adde sessions <proj> <lane>",
|
|
40
|
+
completion: "Usage: adde completion <bash|zsh> (print a shell completion script)",
|
|
41
|
+
init: "Usage: adde init [<proj>] (guided setup: doctor + short alias + create a lane; TTY only)",
|
|
42
|
+
alias: "Usage: adde alias [names...] (install short aliases next to the adde binary; default: ad add)",
|
|
43
|
+
laneAdd: "Usage: adde lane add <proj> <lane> [options]",
|
|
44
|
+
laneLs: "Usage: adde lane ls <proj>",
|
|
45
|
+
laneShow: "Usage: adde lane show <proj> <lane>",
|
|
46
|
+
laneRm: "Usage: adde lane rm <proj> <lane>",
|
|
47
|
+
daemon: "Usage: adde __daemon <proj> (internal command)",
|
|
48
|
+
lane: `Usage:
|
|
49
|
+
adde lane add <proj> <lane> [options] create a lane conf
|
|
50
|
+
adde lane ls <proj> list lanes
|
|
51
|
+
adde lane show <proj> <lane> print a lane conf
|
|
52
|
+
adde lane rm <proj> <lane> delete a lane conf
|
|
53
|
+
|
|
54
|
+
lane add options:
|
|
55
|
+
--source <telegram|markdown> (default telegram)
|
|
56
|
+
--engine <name> (default claude-code-acp)
|
|
57
|
+
--backend <name> (default acp)
|
|
58
|
+
--channel <name> (default: value of source)
|
|
59
|
+
--perm-tier <acp|autopass> (default acp โ channel approval for every tool / autopass โ auto-allow except denylist)
|
|
60
|
+
--acp-version <v> (default v1)
|
|
61
|
+
--cwd <abs-path> lane working directory (project mapping)
|
|
62
|
+
--allowlist <a,b,c> auto-allowed tools (gate kept, for perm_tier=acp)
|
|
63
|
+
--denylist <entries,...> tools/patterns that fall back to channel approval under autopass
|
|
64
|
+
(e.g. "Bash,Write(/etc/*)" ยท built-in default list if omitted: blocks sudo, rm -rf, forced git changes, credential reads)
|
|
65
|
+
--hard-deny <entries,...> defense-in-depth: tools/patterns refused outright (no prompt) for any tier
|
|
66
|
+
--safe-defaults fill hard-deny with the built-in danger list (sudo, rm -rf, forced git, credential reads)
|
|
67
|
+
--lang <en|ko> channel message locale for this lane (default: global locale)
|
|
68
|
+
--chat-id <id> telegram reply target (also authorizes that chat for inbound)
|
|
69
|
+
--allow-from <ids> extra authorized inbound sender ids (comma-separated user/chat ids)
|
|
70
|
+
--file-mode <private|shared> state/out/queue dir permissions (default private=0700 owner-only; shared=leave default umask, typically world-readable)
|
|
71
|
+
--token-stdin read the telegram bot token from stdin and write it to .env (0600)
|
|
72
|
+
--root <abs-path> markdown root (e.g. Obsidian vault)
|
|
73
|
+
--inbox <rel> --approvals <rel> --outbox <rel> markdown note paths
|
|
74
|
+
--force overwrite an existing conf
|
|
75
|
+
--interactive force the interactive wizard (default on a TTY; the bot token is entered hidden)
|
|
76
|
+
--no-interactive disable the interactive default and use flags/defaults (for scripts)`,
|
|
77
|
+
},
|
|
78
|
+
cli: {
|
|
79
|
+
cmdError: "[adde {{cmd}}] error: {{detail}}",
|
|
80
|
+
laneError: "[adde lane] {{detail}}",
|
|
81
|
+
unknownSub: "Unknown lane subcommand: {{sub}}",
|
|
82
|
+
unknownCmd: "Unknown command: {{cmd}}",
|
|
83
|
+
didYouMean: "Did you mean: {{cmds}}?",
|
|
84
|
+
},
|
|
85
|
+
completion: {
|
|
86
|
+
unknownShell: 'unsupported shell "{{shell}}" โ one of {{supported}}',
|
|
87
|
+
},
|
|
88
|
+
run: {
|
|
89
|
+
laneStartFailed: {
|
|
90
|
+
situation: 'lane "{{lane}}" failed to start: {{error}}',
|
|
91
|
+
action: "Check the environment/config with adde doctor {{proj}}, and inspect engine output with adde logs {{proj}} {{lane}} --engine.",
|
|
92
|
+
},
|
|
93
|
+
unknownCause: "unknown cause",
|
|
94
|
+
noLanes: {
|
|
95
|
+
situation: "no lanes to start โ {{proj}} has no lane conf",
|
|
96
|
+
action: "Create a lane first: adde lane add {{proj}} <lane> --source telegram (or markdown). See adde lane help for options.",
|
|
97
|
+
},
|
|
98
|
+
signalShutdown: "[adde] received {{sig}} โ shutting down lanes...",
|
|
99
|
+
shutdownError: {
|
|
100
|
+
situation: "error during shutdown: {{error}}",
|
|
101
|
+
action: "Manually check/stop leftover engine processes (ps | grep claude-code-acp).",
|
|
102
|
+
},
|
|
103
|
+
upDone: "[adde] {{proj}} daemon registered. Lanes are starting in the background.",
|
|
104
|
+
statusHint: " Check status: adde status {{proj}}",
|
|
105
|
+
downDone: "[adde] {{proj}} daemon stopped.",
|
|
106
|
+
restartDone: "[adde] {{proj}} restarted. Lanes are starting in the background.",
|
|
107
|
+
},
|
|
108
|
+
ops: {
|
|
109
|
+
status: {
|
|
110
|
+
noLanesConf: "no lanes โ no conf in lanes.d (adde lane add <proj> <lane>).",
|
|
111
|
+
noLanesRegistered: "no lanes โ none registered (adde lane add <proj> <lane>).",
|
|
112
|
+
noRunning: "no running lanes โ use `adde status --all` to include stopped, or `adde status <proj>` for a project.",
|
|
113
|
+
deadWarnAggregate: "warning: lane(s) {{lanes}} terminated abnormally (dead).\n โณ action: clean up with adde down <proj>, then restart with adde up <proj>.",
|
|
114
|
+
staleWarnAggregate: "warning: lane(s) {{lanes}} not responding (stale โ heartbeat lost).\n โณ action: diagnose with adde logs <proj> <lane> --engine, then restart with adde down/up <proj>.",
|
|
115
|
+
deadWarnSingle: "warning: lane(s) {{lanes}} terminated abnormally (dead).\n โณ action: clean up state with adde down {{proj}}, then restart with adde up {{proj}}.",
|
|
116
|
+
staleWarnSingle: "warning: lane(s) {{lanes}} not responding (stale โ process alive but heartbeat lost).\n โณ action: possible hang. Diagnose with adde logs {{proj}} <lane> --engine, then restart with adde down/up {{proj}}.",
|
|
117
|
+
},
|
|
118
|
+
doctor: {
|
|
119
|
+
hint: " โณ action: {{hint}}",
|
|
120
|
+
summary: "Summary: {{pass}} PASS / {{warn}} WARN / {{fail}} FAIL",
|
|
121
|
+
},
|
|
122
|
+
logs: {
|
|
123
|
+
whatEngine: "engine log",
|
|
124
|
+
whatTranscript: "transcript",
|
|
125
|
+
notFound: "{{what}} not found: {{path}}\n โณ action: the lane has not been active or started yet. Check with adde status {{proj}}.",
|
|
126
|
+
empty: "({{path}} is empty)",
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
lane: {
|
|
130
|
+
valueRequired: "--{{key}} requires a value",
|
|
131
|
+
sourceRetry: " enter one of telegram or markdown",
|
|
132
|
+
retry: {
|
|
133
|
+
permTier: " perm_tier โ enter acp or autopass",
|
|
134
|
+
fileMode: " file_mode โ enter private or shared",
|
|
135
|
+
lang: " lang โ enter en or ko (or leave empty for global)",
|
|
136
|
+
chatId: " chat_id โ enter a numeric id (or leave empty)",
|
|
137
|
+
allowFrom: " allow_from โ enter comma-separated numeric ids (or leave empty)",
|
|
138
|
+
},
|
|
139
|
+
prompt: {
|
|
140
|
+
source: "source (telegram or markdown)",
|
|
141
|
+
permTier: "perm_tier (acp or autopass)",
|
|
142
|
+
allowlist: "allowlist (comma-separated, empty for none)",
|
|
143
|
+
denylist: "denylist (tools/patterns that fall back to channel approval, comma-separated)",
|
|
144
|
+
safeDefaults: "enable safe-defaults hard-deny? blocks sudo / rm -rf / git force / credential reads outright (y/N)",
|
|
145
|
+
lang: "lang (channel message locale: en/ko, empty for global)",
|
|
146
|
+
token: "telegram bot token (hidden input, empty to set later)",
|
|
147
|
+
cwd: "cwd (absolute lane working directory, empty to skip)",
|
|
148
|
+
chatId: "chat_id (reply target + authorizes that chat for inbound, empty to skip)",
|
|
149
|
+
allowFrom: "allow_from (extra authorized sender ids, comma-separated, empty to skip)",
|
|
150
|
+
fileMode: "file_mode (private=owner-only 0700 / shared=leave default umask, typically world-readable)",
|
|
151
|
+
root: "root (absolute markdown root path)",
|
|
152
|
+
inbox: "inbox (relative to root)",
|
|
153
|
+
approvals: "approvals (relative to root, default if empty)",
|
|
154
|
+
outbox: "outbox (relative to root, default if empty)",
|
|
155
|
+
},
|
|
156
|
+
ttyOnly: {
|
|
157
|
+
situation: "--interactive only works in an interactive terminal (TTY)",
|
|
158
|
+
action: "Specify flags instead (e.g. adde lane add <proj> <lane> --source telegram). See adde lane help for the option list.",
|
|
159
|
+
},
|
|
160
|
+
created: 'lane "{{lane}}" created: {{confPath}}',
|
|
161
|
+
noLanes: "{{proj}}: no lanes",
|
|
162
|
+
removed: 'lane "{{lane}}" removed: {{confPath}}',
|
|
163
|
+
tokenWritten: "token written: {{envPath}} (0600)",
|
|
164
|
+
tokenNext: "Next: put the bot token in {{envPath}} as TELEGRAM_BOT_TOKEN=...",
|
|
165
|
+
startHint: "Start: adde up {{proj}}",
|
|
166
|
+
},
|
|
167
|
+
doctor: {
|
|
168
|
+
node: {
|
|
169
|
+
name: "Node version",
|
|
170
|
+
hint: "Upgrade to Node 22 or later (e.g. nvm install 22).",
|
|
171
|
+
},
|
|
172
|
+
adapter: {
|
|
173
|
+
name: "ACP adapter binary",
|
|
174
|
+
missing: "no file at resolved path: {{path}}",
|
|
175
|
+
hint: "Install dependencies (pnpm install) โ @zed-industries/claude-code-acp missing.",
|
|
176
|
+
},
|
|
177
|
+
daemonEntry: {
|
|
178
|
+
name: "daemon entry",
|
|
179
|
+
missing: "daemon entry not found: {{path}}",
|
|
180
|
+
hint: "Daemon mode needs a build. Run `pnpm build` and start from dist (`node dist/cli/adde.js up <proj>`), or install globally (`npm i -g .`). `pnpm run dev up` cannot start the daemon.",
|
|
181
|
+
},
|
|
182
|
+
base: {
|
|
183
|
+
name: "config base directory",
|
|
184
|
+
hint: "Created when you add a lane (adde lane add <proj> <lane>).",
|
|
185
|
+
},
|
|
186
|
+
missingPath: "missing: {{path}}",
|
|
187
|
+
daemon: {
|
|
188
|
+
name: "daemon registration ({{proj}})",
|
|
189
|
+
registered: "plist exists + launchctl registered",
|
|
190
|
+
notRunning: "daemon not running (start with adde up {{proj}})",
|
|
191
|
+
plistOnly: "plist exists but not registered in launchctl",
|
|
192
|
+
launchctlOnly: "registered in launchctl but plist missing",
|
|
193
|
+
mismatchHint: "Registration mismatch. Re-register with adde down {{proj}} then adde up {{proj}}.",
|
|
194
|
+
queryFailed: "failed to query registration state",
|
|
195
|
+
queryFailedHint: "Re-register with adde down {{proj}} then adde up {{proj}}, or check manually with launchctl list | grep com.qwertygeon.adde.{{proj}}.",
|
|
196
|
+
},
|
|
197
|
+
lanes: {
|
|
198
|
+
name: "lanes ({{proj}})",
|
|
199
|
+
none: "no conf in lanes.d",
|
|
200
|
+
addHint: "Add a lane: adde lane add {{proj}} <lane>",
|
|
201
|
+
},
|
|
202
|
+
conf: {
|
|
203
|
+
readFailed: "read failed: {{path}}",
|
|
204
|
+
readFailedHint: "Check the conf file permissions/existence.",
|
|
205
|
+
},
|
|
206
|
+
source: {
|
|
207
|
+
unsupported: 'unsupported source: "{{source}}"',
|
|
208
|
+
hint: "Set source in the conf to telegram or markdown.",
|
|
209
|
+
},
|
|
210
|
+
cwd: {
|
|
211
|
+
hint: "Fix cwd in the conf to an existing working directory.",
|
|
212
|
+
},
|
|
213
|
+
token: {
|
|
214
|
+
name: "{{lane}}: token",
|
|
215
|
+
present: "TELEGRAM_BOT_TOKEN present in .env",
|
|
216
|
+
missing: "token missing: {{path}}",
|
|
217
|
+
hint: "Write the bot token: TELEGRAM_BOT_TOKEN=... in {{path}} (or lane add --token-stdin).",
|
|
218
|
+
},
|
|
219
|
+
perms: {
|
|
220
|
+
name: "{{lane}}: file permissions",
|
|
221
|
+
ok: "state dir/.env permissions look restrictive",
|
|
222
|
+
envLoose: "state/.env is group/other-accessible (mode {{mode}}) โ bot token exposure risk",
|
|
223
|
+
envHint: "Restrict it: chmod 600 {{path}}",
|
|
224
|
+
stateLoose: "state dir is group/other-accessible (mode {{mode}}) but file_mode=private is expected to be 0700",
|
|
225
|
+
stateHint: "Restrict it: chmod 700 {{path}} โ or restart the lane (adde restart {{proj}}) to re-secure it.",
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
update: {
|
|
229
|
+
available: "A new version of adde is available: {{current}} โ {{latest}}. Update with `npm i -g adde-acp@latest` (then `adde restart <proj>`).",
|
|
230
|
+
},
|
|
231
|
+
gate: {
|
|
232
|
+
hardDeny: "โ blocked by hard-deny: {{tool}} โ this tool is on the lane's hard-deny list and was refused without a prompt.",
|
|
233
|
+
},
|
|
234
|
+
init: {
|
|
235
|
+
ttyOnly: {
|
|
236
|
+
situation: "adde init needs an interactive terminal (TTY)",
|
|
237
|
+
action: "Run it in a terminal, or set up manually: adde doctor / adde lane add <proj> <lane> --interactive / adde alias.",
|
|
238
|
+
},
|
|
239
|
+
intro: "adde setup โ environment check, short aliases, and your first lane.",
|
|
240
|
+
doctorWarn: "Some checks FAILed above. You can continue, but fix them before starting the daemon (adde up).",
|
|
241
|
+
aliasPrompt: "install short aliases ({{names}}) next to the adde command? (Y/n)",
|
|
242
|
+
aliasNoBin: "could not locate the adde command in PATH โ skipping aliases (only available on a global install).",
|
|
243
|
+
aliasCreated: " โ alias created: {{name}} โ {{dir}}",
|
|
244
|
+
aliasAlready: " = alias already points to adde: {{name}}",
|
|
245
|
+
aliasSkipped: " โ skipped {{name}} โ a command with that name already exists in PATH",
|
|
246
|
+
aliasFailed: " โ could not create alias {{name}} โ {{detail}}",
|
|
247
|
+
projPrompt: "project name",
|
|
248
|
+
projRetry: "project name (letters/digits/_/- only)",
|
|
249
|
+
lanePrompt: "lane name",
|
|
250
|
+
laneRetry: "lane name (letters/digits/_/- only)",
|
|
251
|
+
done: "Setup complete for project '{{proj}}'.",
|
|
252
|
+
},
|
|
253
|
+
laneConfig: {
|
|
254
|
+
warn: {
|
|
255
|
+
cwdMissing: "[warning] cwd path does not exist: {{path}}\n โณ action: create the folder before starting, or fix cwd in the conf.",
|
|
256
|
+
mdRootMissingConf: "[warning] markdown lane has no root.\n โณ action: specify --root <absolute vault path> (inbound watching is impossible without it).",
|
|
257
|
+
mdRootNotFound: "[warning] markdown root path does not exist: {{path}}\n โณ action: check or create the path.",
|
|
258
|
+
mdPathOverlap: "[warning] markdown paths overlap (inbox={{inbox}} / approvals={{approvals}} / outbox={{outbox}}) โ startup will be refused.\n โณ action: separate the approval/output/input paths.",
|
|
259
|
+
tokenFormat: "[warning] bot token format looks unexpected (not <digits>:<alphanumerics>).\n โณ action: re-check the token issued by BotFather.",
|
|
260
|
+
permTierUnknown: '[warning] perm_tier "{{tier}}" is not a known value ({{known}}) โ behaves like acp.\n โณ action: fix perm_tier in the conf if it is a typo.',
|
|
261
|
+
autopassBanner: "[warning] perm_tier=autopass โ every tool except the denylist (including file writes and Bash) is auto-allowed without channel confirmation.\n โณ put tools that need confirmation on the denylist (e.g. denylist=Bash). Auto-allowed calls are recorded in the transcript.",
|
|
262
|
+
autopassEmptyDeny: "[warning] autopass lane has an empty denylist โ every permission request passes without confirmation.",
|
|
263
|
+
allowDenyOverlap: "[warning] allowlist and denylist share tool(s): {{tools}} โ the denylist wins and channel approval is required.\n โณ action: remove from one side if unintended.",
|
|
264
|
+
badLang: '[warning] lang "{{lang}}" is not a supported locale ({{supported}}) โ the global locale applies.\n โณ action: fix lang in the conf if it is a typo.',
|
|
265
|
+
telegramNoAuth: "[warning] telegram lane has no authorized inbound sender โ all inbound will be rejected (fail-closed). A private chat_id self-authorizes, but a group chat_id (negative) is only a reply target and does NOT authorize its members.\n โณ action: set --chat-id <your private chat id>, and/or list member ids with --allow-from <ids>.",
|
|
266
|
+
},
|
|
267
|
+
err: {
|
|
268
|
+
emptyIdent: "{{kind}} is empty",
|
|
269
|
+
badIdent: '{{kind}} "{{value}}" is invalid โ only letters/digits/_/- allowed',
|
|
270
|
+
badSource: 'source "{{source}}" unsupported โ one of {{supported}}',
|
|
271
|
+
badChatId: 'chat_id "{{chatId}}" is not a number',
|
|
272
|
+
tokenOnlyTelegram: "token is only used for source=telegram lanes",
|
|
273
|
+
allowFromOnlyTelegram: "allow_from is only used for source=telegram lanes",
|
|
274
|
+
badAllowFrom: 'allow_from entry "{{id}}" is not a number (telegram user/chat id)',
|
|
275
|
+
badFileMode: 'file_mode "{{mode}}" is invalid โ one of {{known}}',
|
|
276
|
+
badAllowTool: 'allowlist tool name "{{tool}}" is invalid โ only alphanumerics/_/./- allowed',
|
|
277
|
+
badDenyEntry: 'denylist entry "{{entry}}" is invalid โ expected "Bash" or "Bash(git push*)" form (no commas)',
|
|
278
|
+
laneExists: 'lane "{{lane}}" already exists ({{confFile}}) โ use --force to overwrite',
|
|
279
|
+
tokenEmpty: "token is empty",
|
|
280
|
+
envHasToken: "{{envFile}} already contains a token โ use --force to overwrite",
|
|
281
|
+
laneNotFound: 'lane "{{lane}}" not found ({{confFile}})',
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
telegram: {
|
|
285
|
+
permPrompt: "Permission request: {{tool}}\n{{detail}}",
|
|
286
|
+
enqueueFail: {
|
|
287
|
+
situation: "enqueueing inbound messages has failed {{count}} times in a row",
|
|
288
|
+
action: "Check server disk space and state directory permissions. Inbound messages may not be processed until this is resolved.",
|
|
289
|
+
},
|
|
290
|
+
},
|
|
291
|
+
markdown: {
|
|
292
|
+
enqueueFail: {
|
|
293
|
+
situation: "enqueueing inbound messages has failed {{count}} times in a row",
|
|
294
|
+
action: "Check server disk space and state directory permissions. Inbox instructions may not be processed until this is resolved.",
|
|
295
|
+
},
|
|
296
|
+
confRootMissing: "[markdown] conf.root missing โ absolute markdown root path required",
|
|
297
|
+
confInboxMissing: "[markdown] conf.inbox missing โ input note (relative to root) required",
|
|
298
|
+
rootNotFound: "[markdown] root path not found: {{path}}",
|
|
299
|
+
pathNotRelative: "[markdown] {{name}} path must be relative to root โ '..' and absolute paths forbidden: {{rel}}",
|
|
300
|
+
controlNoteInCwd: "[markdown] control note ({{name}}) is inside the AI working directory: {{path}} (cwd={{cwd}}) โ self-approval risk, move it outside cwd",
|
|
301
|
+
pathsOverlap: "[markdown] {{nameA}}({{a}}) and {{nameB}}({{b}}) are identical or nested โ output/alert/quarantine notes would be picked up by approval/input watching. Separate the paths.",
|
|
302
|
+
inboxInsideDir: "[markdown] input note ({{inbox}}) is inside the {{name}} directory ({{dir}}) โ input/control paths overlap. Separate the paths.",
|
|
303
|
+
badApprovalId: 'invalid approval request id "{{reqId}}" โ path escape blocked (fail-closed deny).',
|
|
304
|
+
outMeta: "๐ sent {{sent}} ยท done {{done}}",
|
|
305
|
+
approvalMeta: "๐ requested {{requested}} ยท auto-deny at {{deadline}} if no response",
|
|
306
|
+
},
|
|
307
|
+
supervisor: {
|
|
308
|
+
noLanesMsg: "{{proj}}: 0 lanes โ no conf in lanes.d",
|
|
309
|
+
alreadyRunning: '[adde] lane "{{lane}}" already running (pid {{pid}})\n โณ action: adde down {{proj}} then restart, or check adde status {{proj}}',
|
|
310
|
+
autopassDenySome: "only denylist({{tools}}) tools go through channel approval",
|
|
311
|
+
autopassDenyEmpty: "the denylist is empty, so every permission request passes without confirmation",
|
|
312
|
+
autopassBanner: {
|
|
313
|
+
situation: "this lane started in auto-allow mode (perm_tier=autopass) โ {{denyDesc}}. All other tools (including file writes and Bash) are auto-allowed",
|
|
314
|
+
action: "Add tools that need confirmation to the denylist in lanes.d/{{lane}}.conf. Auto-allowed calls can be reviewed with adde logs {{proj}} {{lane}}.",
|
|
315
|
+
},
|
|
316
|
+
upStarted: "{{proj}}: {{count}} lane(s) started",
|
|
317
|
+
upSkipped: "{{count}} already running (skipped)",
|
|
318
|
+
downStopped: "{{proj}}: {{count}} lane(s) stopped",
|
|
319
|
+
},
|
|
320
|
+
launchd: {
|
|
321
|
+
macOnly: {
|
|
322
|
+
situation: "launchd features only work on macOS (current platform: {{platform}})",
|
|
323
|
+
action: "Run on macOS. Linux/WSL support is a future spec scope.",
|
|
324
|
+
},
|
|
325
|
+
loadFail: {
|
|
326
|
+
situation: "launchctl load failed (exit {{code}}): {{output}}",
|
|
327
|
+
action: "Check registration state with adde doctor {{proj}}, or unload the existing registration first (adde down {{proj}}).",
|
|
328
|
+
},
|
|
329
|
+
binMissing: {
|
|
330
|
+
situation: "daemon entry not found: {{path}}",
|
|
331
|
+
action: "Daemon mode needs a build โ run `pnpm build` and start from dist (`node dist/cli/adde.js up <proj>`), or install globally (`npm i -g .`) and run `adde up <proj>`. `pnpm run dev up` cannot start the daemon (launchd spawns a detached process that tsx cannot transpile).",
|
|
332
|
+
},
|
|
333
|
+
},
|
|
334
|
+
queue: {
|
|
335
|
+
claimFail: {
|
|
336
|
+
situation: "queue message claim failed ({{code}}): {{path}}",
|
|
337
|
+
action: "Check disk space, file permissions, and mounts (NFS/EBUSY). The message stays in the queue and is retried on the next signal.",
|
|
338
|
+
},
|
|
339
|
+
quarantined: "corrupt message quarantined @ {{ts}}: {{detail}}",
|
|
340
|
+
},
|
|
341
|
+
injector: {
|
|
342
|
+
injectFailed: "inject failed @ {{ts}}: {{detail}}",
|
|
343
|
+
control: {
|
|
344
|
+
cleared: "๐งน Started a fresh session โ previous conversation context was cleared.",
|
|
345
|
+
compacted: "โ๏ธ Conversation context compacted (/compact).",
|
|
346
|
+
resumed: "โช Resumed session {{id}}.",
|
|
347
|
+
resumeFallback: "โ ๏ธ Could not resume session {{id}} โ started a fresh session instead.",
|
|
348
|
+
resumeMissing: "โ ๏ธ No session id to resume โ list sessions and pick one.",
|
|
349
|
+
unsupported: "โ ๏ธ This backend does not support session control.",
|
|
350
|
+
relaunchFailed: "๐ Session control failed โ engine relaunch error: {{error}}. The lane may be down; recover with `adde restart <proj>`.",
|
|
351
|
+
sessionsHeader: "๐ Recent sessions (current marked โ):",
|
|
352
|
+
sessionsItem: "{{n}}. {{label}} โ last activity {{last}} ({{id}})",
|
|
353
|
+
sessionsNoLabel: "(no prompt yet)",
|
|
354
|
+
sessionsEmpty: "๐ No recorded sessions yet.",
|
|
355
|
+
sessionsHint: "Resume with: resume <n> (checkbox label) or /resume <n>.",
|
|
356
|
+
},
|
|
357
|
+
failNote: {
|
|
358
|
+
situation: "message processing failed โ id {{id}}: {{detail}}",
|
|
359
|
+
action: "The message is preserved and will be reprocessed on restart. If it recurs, check the transcript and logs.",
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
transcript: {
|
|
363
|
+
commandsUpdated: "[{{ts}}] commands_update: (updated)",
|
|
364
|
+
},
|
|
365
|
+
acp: {
|
|
366
|
+
spawnFail: {
|
|
367
|
+
situation: "engine process spawn failed ({{bin}}): {{error}}",
|
|
368
|
+
action: "Check the adapter binary installation (pnpm install), then retry adde up.",
|
|
369
|
+
},
|
|
370
|
+
handshakeTimeout: {
|
|
371
|
+
situation: "engine handshake ({{phase}}) got no response within {{seconds}}s",
|
|
372
|
+
action: "Check the engine binary/health, then retry adde up.",
|
|
373
|
+
},
|
|
374
|
+
subscriberError: "subscriber processing error: {{error}}",
|
|
375
|
+
bypassAction: "The gate may be neutralized โ disable bypassPermissions in the engine permission settings or align them with the ADDE policy (perm_tier). Startup continues.",
|
|
376
|
+
},
|
|
377
|
+
permDiff: {
|
|
378
|
+
queryFailedMsg: "failed to query effective engine settings โ unverifiable (conservatively treated as a difference)",
|
|
379
|
+
warnLine: "[ADDE WARN] permission settings differ: {{reason}} | adde.perm_tier={{tier}} | engine={{engine}}",
|
|
380
|
+
looseEngine: "engine settings looser than the ADDE policy (acp) detected",
|
|
381
|
+
bypassMsg: "engine bypass โ permission requests never fire, neutralizing the autopass denylist and auto-allow audit trail",
|
|
382
|
+
engineUnknown: "(query failed)",
|
|
383
|
+
},
|
|
384
|
+
log: {
|
|
385
|
+
supervisor: {
|
|
386
|
+
noConf: "[supervisor] {{proj}}: no conf in lanes.d",
|
|
387
|
+
heartbeatFail: "[supervisor] lane={{lane}} heartbeat touch failed (auxiliary): {{error}}",
|
|
388
|
+
ledgerFail: "[supervisor] lane={{lane}} session ledger update failed (auxiliary): {{error}}",
|
|
389
|
+
deadCleanupFail: "[supervisor] lane={{lane}} dead runtime.json cleanup failed (auxiliary): {{error}}",
|
|
390
|
+
channelWarnFail: "[supervisor] lane={{lane}} channel warning delivery failed (auxiliary): {{error}}",
|
|
391
|
+
injectorStartFail: "[supervisor] lane={{lane}} injector start error: {{error}}",
|
|
392
|
+
runtimeWriteFail: "[supervisor] lane={{lane}} runtime.json write failed (auxiliary): {{error}}",
|
|
393
|
+
runtimeRemoveFail: "[supervisor] lane={{lane}} runtime.json removal failed (auxiliary): {{error}}",
|
|
394
|
+
securePermsFail: "[supervisor] lane={{lane}} state directory permission lock failed (auxiliary โ files may be world-readable): {{error}}",
|
|
395
|
+
laneStartFail: "[supervisor] lane={{lane}} start failed: {{reason}}",
|
|
396
|
+
},
|
|
397
|
+
queue: {
|
|
398
|
+
quarantineFail: "[queue] corrupt message quarantine failed id={{id}}: {{code}}",
|
|
399
|
+
failedWriteFail: "[queue] .failed write failed id={{id}}: {{error}}",
|
|
400
|
+
},
|
|
401
|
+
injector: {
|
|
402
|
+
injectError: "[injector] inject error lane={{lane}} id={{id}}: {{detail}}",
|
|
403
|
+
failedWriteFail: "[injector] .failed write failed lane={{lane}} id={{id}}: {{error}}",
|
|
404
|
+
renderError: "[injector] render error lane={{lane}} id={{id}} โ awaiting redelivery: {{error}}",
|
|
405
|
+
advanceError: "[injector] advance error lane={{lane}}: {{error}}",
|
|
406
|
+
failNotifyError: "[injector] failure notice delivery error lane={{lane}} id={{id}}: {{error}}",
|
|
407
|
+
relaunchError: "[injector] session-control engine relaunch failed lane={{lane}} โ the lane may be down until restart: {{error}}",
|
|
408
|
+
},
|
|
409
|
+
telegram: {
|
|
410
|
+
rateLimit: "[telegram] {{method}} 429 rate limited โ retrying in {{waitMs}}ms ({{attempt}})",
|
|
411
|
+
enqueueError: "[telegram] enqueue error ({{count}} in a row): {{error}}",
|
|
412
|
+
answerCallbackError: "[telegram] answerCallbackQuery error: {{error}}",
|
|
413
|
+
unknownCallback: "[telegram] ignoring unknown callback decision: {{decision}}",
|
|
414
|
+
unauthorizedMessage: "[telegram] ignoring inbound from unauthorized sender (from={{from}} chat={{chat}}) โ add to chat_id/allow_from to authorize",
|
|
415
|
+
unauthorizedCallback: "[telegram] ignoring permission callback from unauthorized sender (from={{from}})",
|
|
416
|
+
noAuthConfigured: "[telegram] no authorized senders configured (chat_id/allow_from empty) โ all inbound is rejected (fail-closed)",
|
|
417
|
+
pollError: "[telegram] poll error ({{count}} in a row, retrying in {{backoff}}ms): {{error}}",
|
|
418
|
+
alertSendError: "[telegram] enqueue failure alert delivery error: {{error}}",
|
|
419
|
+
pollLoopEnd: "[telegram] poll loop ended: {{error}}",
|
|
420
|
+
},
|
|
421
|
+
markdown: {
|
|
422
|
+
quarantineFail: "[markdown] conflict file quarantine failed {{filename}}: {{error}}",
|
|
423
|
+
enqueueError: "[markdown] enqueue error ({{count}} in a row) lane={{lane}} id={{id}}: {{error}}",
|
|
424
|
+
alertWriteError: "[markdown] enqueue failure alert write error: {{error}}",
|
|
425
|
+
inboxError: "[markdown] inbox processing error: {{error}}",
|
|
426
|
+
approvalsError: "[markdown] approvals processing error: {{error}}",
|
|
427
|
+
pollError: "[markdown] polling error: {{error}}",
|
|
428
|
+
},
|
|
429
|
+
transcript: {
|
|
430
|
+
auditAppendFail: "[transcript] audit event ({{kind}}) append failed โ audit trail incomplete: {{detail}}",
|
|
431
|
+
appendFail: "[transcript] append failed (auxiliary โ absorbed): {{detail}}",
|
|
432
|
+
},
|
|
433
|
+
acp: {
|
|
434
|
+
engineProcessError: "[acp] lane={{lane}} engine process error: {{error}}",
|
|
435
|
+
loadSessionFail: "[acp] lane={{lane}} session resume (session/load) failed โ falling back to a new session: {{error}}",
|
|
436
|
+
subscriberError: "[acp] lane={{lane}} subscriber error: {{error}}",
|
|
437
|
+
transcriptWriteFail: "[acp] lane={{lane}} transcript write failed: {{error}}",
|
|
438
|
+
permDiff: "[acp] launch perm-diff: {{note}}",
|
|
439
|
+
},
|
|
440
|
+
},
|
|
441
|
+
notify: {
|
|
442
|
+
block: "[ADDE blocked] {{situation}}\n โณ action: {{action}}",
|
|
443
|
+
exception: "[ADDE error] {{situation}}\n โณ action: {{action}}",
|
|
444
|
+
warn: "[ADDE warning] {{situation}}\n โณ action: {{action}}",
|
|
445
|
+
},
|
|
446
|
+
};
|
|
447
|
+
//# sourceMappingURL=en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/shared/locales/en.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,KAAK,EAAE;QACL,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;qGAyB2F;QACjG,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,4BAA4B;QACrC,MAAM,EAAE,8CAA8C;QACtD,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,+CAA+C;QACrD,QAAQ,EAAE,oCAAoC;QAC9C,UAAU,EAAE,sEAAsE;QAClF,IAAI,EAAE,2FAA2F;QACjG,KAAK,EACH,gGAAgG;QAClG,OAAO,EAAE,8CAA8C;QACvD,MAAM,EAAE,4BAA4B;QACpC,QAAQ,EAAE,qCAAqC;QAC/C,MAAM,EAAE,mCAAmC;QAC3C,MAAM,EAAE,gDAAgD;QACxD,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;qGA4B2F;KAClG;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,kCAAkC;QAC5C,SAAS,EAAE,wBAAwB;QACnC,UAAU,EAAE,kCAAkC;QAC9C,UAAU,EAAE,0BAA0B;QACtC,UAAU,EAAE,yBAAyB;KACtC;IACD,UAAU,EAAE;QACV,YAAY,EAAE,sDAAsD;KACrE;IACD,GAAG,EAAE;QACH,eAAe,EAAE;YACf,SAAS,EAAE,4CAA4C;YACvD,MAAM,EACJ,8HAA8H;SACjI;QACD,YAAY,EAAE,eAAe;QAC7B,OAAO,EAAE;YACP,SAAS,EAAE,+CAA+C;YAC1D,MAAM,EACJ,qHAAqH;SACxH;QACD,cAAc,EAAE,kDAAkD;QAClE,aAAa,EAAE;YACb,SAAS,EAAE,kCAAkC;YAC7C,MAAM,EAAE,4EAA4E;SACrF;QACD,MAAM,EAAE,0EAA0E;QAClF,UAAU,EAAE,sCAAsC;QAClD,QAAQ,EAAE,iCAAiC;QAC3C,WAAW,EAAE,kEAAkE;KAChF;IACD,GAAG,EAAE;QACH,MAAM,EAAE;YACN,WAAW,EAAE,8DAA8D;YAC3E,iBAAiB,EAAE,2DAA2D;YAC9E,SAAS,EACP,uGAAuG;YACzG,iBAAiB,EACf,yIAAyI;YAC3I,kBAAkB,EAChB,yKAAyK;YAC3K,cAAc,EACZ,mJAAmJ;YACrJ,eAAe,EACb,8MAA8M;SACjN;QACD,MAAM,EAAE;YACN,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,wDAAwD;SAClE;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,YAAY;YACxB,cAAc,EAAE,YAAY;YAC5B,QAAQ,EACN,yHAAyH;YAC3H,KAAK,EAAE,qBAAqB;SAC7B;KACF;IACD,IAAI,EAAE;QACJ,aAAa,EAAE,4BAA4B;QAC3C,WAAW,EAAE,qCAAqC;QAClD,KAAK,EAAE;YACL,QAAQ,EAAE,qCAAqC;YAC/C,QAAQ,EAAE,uCAAuC;YACjD,IAAI,EAAE,qDAAqD;YAC3D,MAAM,EAAE,iDAAiD;YACzD,SAAS,EAAE,mEAAmE;SAC/E;QACD,MAAM,EAAE;YACN,MAAM,EAAE,+BAA+B;YACvC,QAAQ,EAAE,6BAA6B;YACvC,SAAS,EAAE,6CAA6C;YACxD,QAAQ,EAAE,+EAA+E;YACzF,YAAY,EACV,oGAAoG;YACtG,IAAI,EAAE,wDAAwD;YAC9D,KAAK,EAAE,uDAAuD;YAC9D,GAAG,EAAE,sDAAsD;YAC3D,MAAM,EAAE,0EAA0E;YAClF,SAAS,EAAE,0EAA0E;YACrF,QAAQ,EACN,4FAA4F;YAC9F,IAAI,EAAE,oCAAoC;YAC1C,KAAK,EAAE,0BAA0B;YACjC,SAAS,EAAE,gDAAgD;YAC3D,MAAM,EAAE,6CAA6C;SACtD;QACD,OAAO,EAAE;YACP,SAAS,EAAE,2DAA2D;YACtE,MAAM,EACJ,qHAAqH;SACxH;QACD,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE,uCAAuC;QAChD,YAAY,EAAE,mCAAmC;QACjD,SAAS,EAAE,kEAAkE;QAC7E,SAAS,EAAE,yBAAyB;KACrC;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,oDAAoD;SAC3D;QACD,OAAO,EAAE;YACP,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,oCAAoC;YAC7C,IAAI,EAAE,gFAAgF;SACvF;QACD,WAAW,EAAE;YACX,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,kCAAkC;YAC3C,IAAI,EAAE,qLAAqL;SAC5L;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,4DAA4D;SACnE;QACD,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE;YACN,IAAI,EAAE,gCAAgC;YACtC,UAAU,EAAE,qCAAqC;YACjD,UAAU,EAAE,kDAAkD;YAC9D,SAAS,EAAE,8CAA8C;YACzD,aAAa,EAAE,2CAA2C;YAC1D,YAAY,EACV,mFAAmF;YACrF,WAAW,EAAE,oCAAoC;YACjD,eAAe,EACb,uIAAuI;SAC1I;QACD,KAAK,EAAE;YACL,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,2CAA2C;SACrD;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,uBAAuB;YACnC,cAAc,EAAE,4CAA4C;SAC7D;QACD,MAAM,EAAE;YACN,WAAW,EAAE,kCAAkC;YAC/C,IAAI,EAAE,iDAAiD;SACxD;QACD,GAAG,EAAE;YACH,IAAI,EAAE,uDAAuD;SAC9D;QACD,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,oCAAoC;YAC7C,OAAO,EAAE,yBAAyB;YAClC,IAAI,EAAE,sFAAsF;SAC7F;QACD,KAAK,EAAE;YACL,IAAI,EAAE,4BAA4B;YAClC,EAAE,EAAE,6CAA6C;YACjD,QAAQ,EAAE,gFAAgF;YAC1F,OAAO,EAAE,iCAAiC;YAC1C,UAAU,EACR,kGAAkG;YACpG,SAAS,EACP,gGAAgG;SACnG;KACF;IACD,MAAM,EAAE;QACN,SAAS,EACP,oIAAoI;KACvI;IACD,IAAI,EAAE;QACJ,QAAQ,EACN,gHAAgH;KACnH;IACD,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,SAAS,EAAE,+CAA+C;YAC1D,MAAM,EACJ,iHAAiH;SACpH;QACD,KAAK,EAAE,qEAAqE;QAC5E,UAAU,EACR,gGAAgG;QAClG,WAAW,EAAE,mEAAmE;QAChF,UAAU,EACR,oGAAoG;QACtG,YAAY,EAAE,uCAAuC;QACrD,YAAY,EAAE,4CAA4C;QAC1D,YAAY,EAAE,wEAAwE;QACtF,WAAW,EAAE,kDAAkD;QAC/D,UAAU,EAAE,cAAc;QAC1B,SAAS,EAAE,wCAAwC;QACnD,UAAU,EAAE,WAAW;QACvB,SAAS,EAAE,qCAAqC;QAChD,IAAI,EAAE,wCAAwC;KAC/C;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,UAAU,EACR,qHAAqH;YACvH,iBAAiB,EACf,qIAAqI;YACvI,cAAc,EACZ,8FAA8F;YAChG,aAAa,EACX,oLAAoL;YACtL,WAAW,EACT,kIAAkI;YACpI,eAAe,EACb,6IAA6I;YAC/I,cAAc,EACZ,6QAA6Q;YAC/Q,iBAAiB,EACf,uGAAuG;YACzG,gBAAgB,EACd,kKAAkK;YACpK,OAAO,EACL,qJAAqJ;YACvJ,cAAc,EACZ,wUAAwU;SAC3U;QACD,GAAG,EAAE;YACH,UAAU,EAAE,mBAAmB;YAC/B,QAAQ,EAAE,mEAAmE;YAC7E,SAAS,EAAE,wDAAwD;YACnE,SAAS,EAAE,sCAAsC;YACjD,iBAAiB,EAAE,8CAA8C;YACjE,qBAAqB,EAAE,mDAAmD;YAC1E,YAAY,EAAE,mEAAmE;YACjF,WAAW,EAAE,oDAAoD;YACjE,YAAY,EAAE,8EAA8E;YAC5F,YAAY,EACV,+FAA+F;YACjG,UAAU,EAAE,0EAA0E;YACtF,UAAU,EAAE,gBAAgB;YAC5B,WAAW,EAAE,iEAAiE;YAC9E,YAAY,EAAE,0CAA0C;SACzD;KACF;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,0CAA0C;QACtD,WAAW,EAAE;YACX,SAAS,EAAE,iEAAiE;YAC5E,MAAM,EACJ,wHAAwH;SAC3H;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE;YACX,SAAS,EAAE,iEAAiE;YAC5E,MAAM,EACJ,0HAA0H;SAC7H;QACD,eAAe,EAAE,qEAAqE;QACtF,gBAAgB,EAAE,wEAAwE;QAC1F,YAAY,EAAE,0CAA0C;QACxD,eAAe,EACb,gGAAgG;QAClG,gBAAgB,EACd,yIAAyI;QAC3I,YAAY,EACV,6KAA6K;QAC/K,cAAc,EACZ,iIAAiI;QACnI,aAAa,EACX,mFAAmF;QACrF,OAAO,EAAE,kCAAkC;QAC3C,YAAY,EAAE,uEAAuE;KACtF;IACD,UAAU,EAAE;QACV,UAAU,EAAE,wCAAwC;QACpD,cAAc,EACZ,kIAAkI;QACpI,gBAAgB,EAAE,4DAA4D;QAC9E,iBAAiB,EACf,gFAAgF;QAClF,cAAc,EAAE;YACd,SAAS,EACP,6IAA6I;YAC/I,MAAM,EACJ,iJAAiJ;SACpJ;QACD,SAAS,EAAE,qCAAqC;QAChD,SAAS,EAAE,qCAAqC;QAChD,WAAW,EAAE,qCAAqC;KACnD;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,SAAS,EAAE,sEAAsE;YACjF,MAAM,EAAE,yDAAyD;SAClE;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,mDAAmD;YAC9D,MAAM,EACJ,qHAAqH;SACxH;QACD,UAAU,EAAE;YACV,SAAS,EAAE,kCAAkC;YAC7C,MAAM,EACJ,6QAA6Q;SAChR;KACF;IACD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,SAAS,EAAE,iDAAiD;YAC5D,MAAM,EACJ,+HAA+H;SAClI;QACD,WAAW,EAAE,kDAAkD;KAChE;IACD,QAAQ,EAAE;QACR,YAAY,EAAE,oCAAoC;QAClD,OAAO,EAAE;YACP,OAAO,EAAE,yEAAyE;YAClF,SAAS,EAAE,+CAA+C;YAC1D,OAAO,EAAE,2BAA2B;YACpC,cAAc,EAAE,uEAAuE;YACvF,aAAa,EAAE,0DAA0D;YACzE,WAAW,EAAE,mDAAmD;YAChE,cAAc,EACZ,yHAAyH;YAC3H,cAAc,EAAE,wCAAwC;YACxD,YAAY,EAAE,oDAAoD;YAClE,eAAe,EAAE,iBAAiB;YAClC,aAAa,EAAE,8BAA8B;YAC7C,YAAY,EAAE,0DAA0D;SACzE;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,mDAAmD;YAC9D,MAAM,EACJ,2GAA2G;SAC9G;KACF;IACD,UAAU,EAAE;QACV,eAAe,EAAE,qCAAqC;KACvD;IACD,GAAG,EAAE;QACH,SAAS,EAAE;YACT,SAAS,EAAE,kDAAkD;YAC7D,MAAM,EAAE,2EAA2E;SACpF;QACD,gBAAgB,EAAE;YAChB,SAAS,EAAE,kEAAkE;YAC7E,MAAM,EAAE,qDAAqD;SAC9D;QACD,eAAe,EAAE,wCAAwC;QACzD,YAAY,EACV,8JAA8J;KACjK;IACD,QAAQ,EAAE;QACR,cAAc,EACZ,mGAAmG;QACrG,QAAQ,EACN,kGAAkG;QACpG,WAAW,EAAE,4DAA4D;QACzE,SAAS,EACP,+GAA+G;QACjH,aAAa,EAAE,gBAAgB;KAChC;IACD,GAAG,EAAE;QACH,UAAU,EAAE;YACV,MAAM,EAAE,2CAA2C;YACnD,aAAa,EAAE,0EAA0E;YACzF,UAAU,EAAE,gFAAgF;YAC5F,eAAe,EACb,oFAAoF;YACtF,eAAe,EACb,mFAAmF;YACrF,iBAAiB,EAAE,4DAA4D;YAC/E,gBAAgB,EACd,6EAA6E;YAC/E,iBAAiB,EACf,+EAA+E;YACjF,eAAe,EACb,wHAAwH;YAC1H,aAAa,EAAE,qDAAqD;SACrE;QACD,KAAK,EAAE;YACL,cAAc,EAAE,+DAA+D;YAC/E,eAAe,EAAE,mDAAmD;SACrE;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,6DAA6D;YAC1E,eAAe,EAAE,oEAAoE;YACrF,WAAW,EACT,kFAAkF;YACpF,YAAY,EAAE,mDAAmD;YACjE,eAAe,EACb,6EAA6E;YAC/E,aAAa,EACX,iHAAiH;SACpH;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,iFAAiF;YAC5F,YAAY,EAAE,0DAA0D;YACxE,mBAAmB,EAAE,iDAAiD;YACtE,eAAe,EAAE,6DAA6D;YAC9E,mBAAmB,EACjB,6HAA6H;YAC/H,oBAAoB,EAClB,kFAAkF;YACpF,gBAAgB,EACd,gHAAgH;YAClH,SAAS,EAAE,kFAAkF;YAC7F,cAAc,EAAE,4DAA4D;YAC5E,WAAW,EAAE,uCAAuC;SACrD;QACD,QAAQ,EAAE;YACR,cAAc,EAAE,oEAAoE;YACpF,YAAY,EACV,kFAAkF;YACpF,eAAe,EAAE,yDAAyD;YAC1E,UAAU,EAAE,8CAA8C;YAC1D,cAAc,EAAE,kDAAkD;YAClE,SAAS,EAAE,qCAAqC;SACjD;QACD,UAAU,EAAE;YACV,eAAe,EACb,wFAAwF;YAC1F,UAAU,EAAE,+DAA+D;SAC5E;QACD,GAAG,EAAE;YACH,kBAAkB,EAAE,qDAAqD;YACzE,eAAe,EACb,qGAAqG;YACvG,eAAe,EAAE,iDAAiD;YAClE,mBAAmB,EAAE,wDAAwD;YAC7E,QAAQ,EAAE,kCAAkC;SAC7C;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,sDAAsD;QAC7D,SAAS,EAAE,oDAAoD;QAC/D,IAAI,EAAE,sDAAsD;KAC7D;CACF,CAAC"}
|