@markusylisiurunen/tau 0.3.35 → 0.3.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -3
- package/dist/core/cli.js +7 -0
- package/dist/core/cli.js.map +1 -1
- package/dist/core/debug.js +16 -30
- package/dist/core/debug.js.map +1 -1
- package/dist/core/runtime/runtime_bootstrap.js +68 -25
- package/dist/core/runtime/runtime_bootstrap.js.map +1 -1
- package/dist/core/telegram/adapter.js +319 -67
- package/dist/core/telegram/adapter.js.map +1 -1
- package/dist/core/telegram/config.js +1 -1
- package/dist/core/telegram/runtime.js +20 -1
- package/dist/core/telegram/runtime.js.map +1 -1
- package/dist/core/telegram/session_manager.js +12 -0
- package/dist/core/telegram/session_manager.js.map +1 -1
- package/dist/core/tools/tool_names.js +1 -0
- package/dist/core/tools/tool_names.js.map +1 -1
- package/dist/core/tools/view_image.js +8 -5
- package/dist/core/tools/view_image.js.map +1 -1
- package/dist/core/utils/context.js +0 -1
- package/dist/core/utils/context.js.map +1 -1
- package/dist/core/utils/context_builder.js +2 -3
- package/dist/core/utils/context_builder.js.map +1 -1
- package/dist/core/version.js +1 -1
- package/dist/main.js +86 -31
- package/dist/main.js.map +1 -1
- package/dist/sdk/client.js +7 -108
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/local_client.d.ts +3 -0
- package/dist/sdk/local_client.js +106 -0
- package/dist/sdk/local_client.js.map +1 -0
- package/dist/tui/session_chat_app.js +53 -3
- package/dist/tui/session_chat_app.js.map +1 -1
- package/dist/tui/session_chat_controller.js +7 -0
- package/dist/tui/session_chat_controller.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/utils/agents_files.js +0 -282
- package/dist/core/utils/agents_files.js.map +0 -1
package/README.md
CHANGED
|
@@ -138,6 +138,8 @@ tau attach --session 0195d6e4-4cf9-7f44-a2d8-f8f7f49ee9d3 -- ssh vps 'cd /path/t
|
|
|
138
138
|
|
|
139
139
|
Session attach renders the authoritative session snapshot, streams recoverable `session.delta` updates and independently revisioned, non-persisted `session.pendingUserMessages` replacements, submits normal user input through `session.submit`, `session.queue`, and `session.steer`, supports steering/interruption, runs `!`/`!!` Bash commands in the session execution environment, records `/listen` from the local microphone, speaks `/speak` locally, reloads session content with `/reload`, switches session personas with `/persona:<id>` or `Ctrl+P`, inserts session prompt templates with `/prompt:<id>`, manages persistent autonomous goals with `/goal`, compacts the session with `/compact:*`, creates a new session with `/new`, and exits with `/exit` or `Ctrl+C` twice.
|
|
140
140
|
|
|
141
|
+
The TUI advertises client tools for diff review and input prefill. `prefill_input` fills only an empty editor and leaves existing draft text unchanged. Pass `--no-client-tools` to `tau` or `tau attach` to advertise neither tool, for example when another TUI attached to the same session already owns the client tools.
|
|
142
|
+
|
|
141
143
|
Model `bash` tool calls, `!`/`!!`, `session.exec`, and Tau-controlled command helpers each run in a fresh, non-interactive login Bash belonging to the session execution environment. Tau sets `HOME` to the execution environment home, so Bash reads `/etc/profile` and then the first available user login file (`~/.bash_profile`, `~/.bash_login`, or `~/.profile`). Bash also reads inherited `BASH_ENV` when set; otherwise `.bashrc` is loaded only when the login configuration sources it. Login startup files must be automation-safe: they must not write to stdout or stderr, read stdin, require a TTY, or terminate the shell unexpectedly. Tau does not filter or frame startup output. Commands start from the backend's target-side environment and apply explicit execution-environment overrides; the local backend filters sensitive variables inherited from the Tau host. Node, Git, and other helper executables resolve from the same login-configured `PATH` as model commands. Shell state such as `cd`, exports, aliases, functions, and `nvm use` does not persist between calls.
|
|
142
144
|
|
|
143
145
|
## Telegram runner
|
|
@@ -152,11 +154,14 @@ The Telegram command surface is intentionally small:
|
|
|
152
154
|
|
|
153
155
|
- `/use_<projectId>` selects the configured project used by future `/new` sessions without changing the active session.
|
|
154
156
|
- `/new` creates a session from the selected project, replacing the previous active session if one exists.
|
|
155
|
-
- `/status` reports the active project and session details, plus a different next-session project preference when selected.
|
|
157
|
+
- `/status` reports the active project and session details, including active or blocked goal state without the goal objective, plus a different next-session project preference when selected.
|
|
158
|
+
- `/effort_low`, `/effort_medium`, `/effort_high`, and `/effort_xhigh` set the active session's reasoning effort.
|
|
156
159
|
- `/compact` summarizes older conversation context to reduce context usage.
|
|
157
160
|
- `/interrupt` interrupts the active run.
|
|
158
161
|
|
|
159
|
-
|
|
162
|
+
Programmatic Telegram replies and notifications use natural-language sentences, with project and session identifiers included in the prose rather than shown as metadata-style fields.
|
|
163
|
+
|
|
164
|
+
The runner keeps tool and lifecycle progress quiet: Telegram receives command acknowledgements/errors and assistant messages, including multiple assistant progress updates from a single active run. While work is active, it shows Telegram's typing indicator in DMs and groups. Assistant messages are sent as Telegram rich markdown. Outbound reply chunks use a 30-second attempt deadline and retry transient network and retryable Telegram API failures twice, after 1 second and 5 seconds, and session notifications remain ordered per chat while retrying. Exhausted deliveries are logged with recoverable session, chat, and assistant message identity; retries do not survive a runner restart.
|
|
160
165
|
|
|
161
166
|
Telegram DM input supports plain text, voice/audio transcription with the transcript echoed back for verification, and attachment queueing (`image/*`, PDF, `.txt`, `.md`, `.json`, `.csv`, `.yaml`, `.yml`). allowed groups are opt-in via `allowedChatIds`; non-triggering group text/captions, attachments, audio transcripts, and processing errors are buffered as sender-attributed context and the most recent 50 messages since the previous bot-triggering turn are included when a bot mention triggers a turn. group commands accept explicit bot mentions on or around the command, such as `/status@botusername`, `/status @botusername`, or `@botusername /status`.
|
|
162
167
|
|
|
@@ -422,7 +427,7 @@ you can also pipe content directly:
|
|
|
422
427
|
cat src/tui/session_chat_app.ts | tau --persona opus-4.8-chat
|
|
423
428
|
```
|
|
424
429
|
|
|
425
|
-
by default, tau injects your AGENTS.md into the system prompt. use `--no-agent-context-files` to disable this behavior. tau searches for AGENTS.md in the current directory and parent directories up to your home folder (or filesystem root if cwd is outside home). tau also includes a paths-only listing of `AGENTS.md` files in child directories under the current working directory, excluding any file already injected in full.
|
|
430
|
+
by default, tau injects your AGENTS.md into the system prompt. use `--no-agent-context-files` to disable this behavior. tau searches for AGENTS.md in the current directory and parent directories up to your home folder (or filesystem root if cwd is outside home). tau also includes a paths-only listing of `AGENTS.md` files in child directories under the current working directory, excluding any file already injected in full. this nested scan is breadth-first and stops after 8,192 directories or 16 levels. it skips standard VCS, dependency, build, virtual-environment, and cache directories at every level. when scanning directly from the execution home, it also skips direct tool-managed children such as `.cargo`, `.config`, `.local`, `.npm`, and platform data directories (`Library` on macOS and `snap` on Linux). project-local directories with the same tool-managed names remain visible. use `agentContextFiles` for important files that must be included independently of the nested scan.
|
|
426
431
|
|
|
427
432
|
you can also include additional `AGENTS.md` files via config (when that config is in scope for the current working directory):
|
|
428
433
|
|
package/dist/core/cli.js
CHANGED
|
@@ -62,6 +62,7 @@ export function parseCliArgs(argv) {
|
|
|
62
62
|
let reasoningOverride;
|
|
63
63
|
let caffeinated = false;
|
|
64
64
|
let noAgentContextFiles = false;
|
|
65
|
+
let noClientTools = false;
|
|
65
66
|
for (let i = 0; i < argv.length; i++) {
|
|
66
67
|
const arg = argv[i];
|
|
67
68
|
if (arg === "--help" || arg === "-h") {
|
|
@@ -76,6 +77,10 @@ export function parseCliArgs(argv) {
|
|
|
76
77
|
noAgentContextFiles = true;
|
|
77
78
|
continue;
|
|
78
79
|
}
|
|
80
|
+
if (arg === "--no-client-tools") {
|
|
81
|
+
noClientTools = true;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
79
84
|
if (arg === "--caffeinated") {
|
|
80
85
|
caffeinated = true;
|
|
81
86
|
continue;
|
|
@@ -103,6 +108,7 @@ export function parseCliArgs(argv) {
|
|
|
103
108
|
reasoningOverride,
|
|
104
109
|
caffeinated,
|
|
105
110
|
noAgentContextFiles,
|
|
111
|
+
noClientTools,
|
|
106
112
|
};
|
|
107
113
|
}
|
|
108
114
|
export function printHelp(personas) {
|
|
@@ -133,6 +139,7 @@ export function printHelp(personas) {
|
|
|
133
139
|
` if not specified, uses resolved config defaultPersona.`,
|
|
134
140
|
" --caffeinated keep macOS awake during active assistant turns in TUI mode (no-op on Linux).",
|
|
135
141
|
" --no-agent-context-files disable AGENTS.md injection into the system prompt.",
|
|
142
|
+
" --no-client-tools disable TUI client tools such as diff review and input prefill.",
|
|
136
143
|
"",
|
|
137
144
|
"subcommands:",
|
|
138
145
|
" rpc run headless stdio RPC mode (no TUI).",
|
package/dist/core/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAgB,gBAAgB,EAAwB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/core/debug.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { buildBaseSystemPrompt, buildEnvironmentTag, buildProjectContextBlock, buildSkillsIndexBlock, } from "./utils/context.js";
|
|
4
|
-
import { resolvePromptGitRoot } from "./utils/git.js";
|
|
1
|
+
import { composeSessionPrompts } from "./runtime/session_prompt_composer.js";
|
|
2
|
+
import { resolveSubagentEffectiveSettings } from "./subagents/registry.js";
|
|
5
3
|
function section(title) {
|
|
6
4
|
console.log(`\n${"=".repeat(60)}`);
|
|
7
5
|
console.log(` ${title}`);
|
|
@@ -61,10 +59,9 @@ function getActiveSkills(persona, skills) {
|
|
|
61
59
|
return skills.filter((s) => enabledNames.has(s.name.toLowerCase()));
|
|
62
60
|
}
|
|
63
61
|
export function printDebugInfo(args) {
|
|
64
|
-
const { personas, prompts, skills,
|
|
65
|
-
const
|
|
66
|
-
const
|
|
67
|
-
const home = deps.env.home();
|
|
62
|
+
const { personas, prompts, skills, selection, cwd, datetime, toolRegistry, virtualBundle } = args;
|
|
63
|
+
const selectedPersona = selection?.persona;
|
|
64
|
+
const promptContext = selection?.promptContext;
|
|
68
65
|
console.log("tau debug info");
|
|
69
66
|
console.log(`cwd: ${cwd}`);
|
|
70
67
|
section("virtual bundle");
|
|
@@ -126,32 +123,21 @@ export function printDebugInfo(args) {
|
|
|
126
123
|
}
|
|
127
124
|
// Build and print full system prompt
|
|
128
125
|
section("full system prompt");
|
|
129
|
-
if (!selectedPersona) {
|
|
126
|
+
if (!selectedPersona || !promptContext) {
|
|
130
127
|
console.log("\n (skipped: no persona loaded)");
|
|
131
128
|
return;
|
|
132
129
|
}
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
datetime: new Date(deps.clock.now()).toISOString(),
|
|
143
|
-
platform: deps.env.platform(),
|
|
144
|
-
nodeVersion: deps.env.nodeVersion(),
|
|
130
|
+
const promptComposition = composeSessionPrompts({
|
|
131
|
+
persona: selectedPersona,
|
|
132
|
+
cwd: promptContext.cwd,
|
|
133
|
+
repoRoot: promptContext.repoRoot,
|
|
134
|
+
datetime,
|
|
135
|
+
platform: promptContext.platform,
|
|
136
|
+
nodeVersion: promptContext.nodeVersion,
|
|
137
|
+
skillsBlock: promptContext.skillsBlock,
|
|
138
|
+
projectContextBlock: promptContext.projectContextBlock,
|
|
145
139
|
});
|
|
146
|
-
|
|
147
|
-
const fullSystemPrompt = buildBaseSystemPrompt({
|
|
148
|
-
personaSystemPrompt: selectedPersona.systemPrompt,
|
|
149
|
-
skillsBlock,
|
|
150
|
-
projectContextBlock,
|
|
151
|
-
environmentTag,
|
|
152
|
-
subagentsBlock,
|
|
153
|
-
});
|
|
154
|
-
console.log(`\n${fullSystemPrompt}`);
|
|
140
|
+
console.log(`\n${promptComposition.baseSystemPrompt}`);
|
|
155
141
|
// Sub-agents
|
|
156
142
|
const activeSubagents = selectedPersona.subagents
|
|
157
143
|
? Object.entries(selectedPersona.subagents)
|
package/dist/core/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,12 @@ const home = path.resolve(process.argv[2]);
|
|
|
47
47
|
const includeAgentContext = process.argv[3] === "true";
|
|
48
48
|
const additionalFiles = JSON.parse(process.argv[4]);
|
|
49
49
|
const ignoredChildDirs = new Set(JSON.parse(process.argv[5]));
|
|
50
|
-
const
|
|
50
|
+
const ignoredHomeChildDirs = new Set(JSON.parse(process.argv[6]));
|
|
51
|
+
const ignoredPlatformHomeChildDirs = new Set(
|
|
52
|
+
process.platform === "darwin" ? ["Library"] : process.platform === "linux" ? ["snap"] : [],
|
|
53
|
+
);
|
|
54
|
+
const maxDirs = Number(process.argv[7]);
|
|
55
|
+
const maxDepth = Number(process.argv[8]);
|
|
51
56
|
|
|
52
57
|
function realpath(pathname) {
|
|
53
58
|
try {
|
|
@@ -115,40 +120,62 @@ if (includeAgentContext) {
|
|
|
115
120
|
addAgentsFile(candidate);
|
|
116
121
|
}
|
|
117
122
|
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const canonicalDir = realpath(dir);
|
|
123
|
-
if (!canonicalDir || seenDirs.has(canonicalDir) || !isSameOrParent(cwdReal, canonicalDir)) return;
|
|
124
|
-
seenDirs.add(canonicalDir);
|
|
125
|
-
visitedDirs += 1;
|
|
126
|
-
|
|
123
|
+
const queuedDirs = new Set([cwdReal]);
|
|
124
|
+
const pendingDirs = [{ dir: cwd, canonicalDir: cwdReal, depth: 0 }];
|
|
125
|
+
for (let index = 0; index < pendingDirs.length; index += 1) {
|
|
126
|
+
const current = pendingDirs[index];
|
|
127
127
|
let entries;
|
|
128
128
|
try {
|
|
129
|
-
entries = fs.readdirSync(canonicalDir, { withFileTypes: true });
|
|
129
|
+
entries = fs.readdirSync(current.canonicalDir, { withFileTypes: true });
|
|
130
130
|
} catch {
|
|
131
|
-
|
|
131
|
+
continue;
|
|
132
132
|
}
|
|
133
133
|
entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
134
|
+
const agentsEntry = entries.find((entry) => entry.name === "AGENTS.md");
|
|
135
|
+
if (
|
|
136
|
+
current.depth > 0 &&
|
|
137
|
+
agentsEntry &&
|
|
138
|
+
(agentsEntry.isFile() || agentsEntry.isSymbolicLink())
|
|
139
|
+
) {
|
|
140
|
+
const candidate = resolveAgentsFile(path.join(current.dir, agentsEntry.name));
|
|
141
|
+
if (candidate && !seenFiles.has(candidate.canonical)) {
|
|
142
|
+
childAgentsFiles.push(candidate.path);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
if (current.depth >= maxDepth) {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
134
149
|
for (const entry of entries) {
|
|
135
|
-
if (
|
|
136
|
-
if (
|
|
150
|
+
if (pendingDirs.length >= maxDirs) break;
|
|
151
|
+
if (
|
|
152
|
+
(!entry.isDirectory() && !entry.isSymbolicLink()) ||
|
|
153
|
+
ignoredChildDirs.has(entry.name) ||
|
|
154
|
+
(current.canonicalDir === homeReal &&
|
|
155
|
+
(ignoredHomeChildDirs.has(entry.name) ||
|
|
156
|
+
ignoredPlatformHomeChildDirs.has(entry.name)))
|
|
157
|
+
) {
|
|
137
158
|
continue;
|
|
138
159
|
}
|
|
139
|
-
const childDir = path.join(
|
|
140
|
-
const
|
|
160
|
+
const childDir = path.join(current.dir, entry.name);
|
|
161
|
+
const canonicalChildDir = entry.isDirectory()
|
|
162
|
+
? path.join(current.canonicalDir, entry.name)
|
|
163
|
+
: realpath(childDir);
|
|
141
164
|
if (
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
165
|
+
!canonicalChildDir ||
|
|
166
|
+
queuedDirs.has(canonicalChildDir) ||
|
|
167
|
+
!isSameOrParent(cwdReal, canonicalChildDir)
|
|
145
168
|
) {
|
|
146
|
-
|
|
169
|
+
continue;
|
|
147
170
|
}
|
|
148
|
-
|
|
171
|
+
queuedDirs.add(canonicalChildDir);
|
|
172
|
+
pendingDirs.push({
|
|
173
|
+
dir: childDir,
|
|
174
|
+
canonicalDir: canonicalChildDir,
|
|
175
|
+
depth: current.depth + 1,
|
|
176
|
+
});
|
|
149
177
|
}
|
|
150
178
|
}
|
|
151
|
-
walk(cwd);
|
|
152
179
|
}
|
|
153
180
|
|
|
154
181
|
let repoRoot;
|
|
@@ -192,15 +219,29 @@ const DEFAULT_IGNORED_CHILD_DIRS = [
|
|
|
192
219
|
"vendor",
|
|
193
220
|
"venv",
|
|
194
221
|
];
|
|
195
|
-
const
|
|
222
|
+
const HOME_IGNORED_CHILD_DIRS = [
|
|
223
|
+
".bun",
|
|
224
|
+
".cargo",
|
|
225
|
+
".config",
|
|
226
|
+
".deno",
|
|
227
|
+
".gradle",
|
|
228
|
+
".local",
|
|
229
|
+
".m2",
|
|
230
|
+
".npm",
|
|
231
|
+
".nvm",
|
|
232
|
+
".pnpm-store",
|
|
233
|
+
".rustup",
|
|
234
|
+
".sdkman",
|
|
235
|
+
".yarn",
|
|
236
|
+
];
|
|
237
|
+
const CHILD_AGENTS_WALK_MAX_DIRS = 8_192;
|
|
238
|
+
const CHILD_AGENTS_WALK_MAX_DEPTH = 16;
|
|
196
239
|
const RUNTIME_PROMPT_CONTEXT_TIMEOUT_MS = 15_000;
|
|
197
240
|
export async function resolveRuntimePromptBootstrap(args) {
|
|
198
241
|
const inspection = await inspectRuntimePromptContext(args);
|
|
199
242
|
const contentByPath = new Map(inspection.agentsFiles.map((file) => [file.path, file.content]));
|
|
200
243
|
const projectContextBlock = args.includeAgentContext
|
|
201
244
|
? buildProjectContextBlock({
|
|
202
|
-
cwd: args.cwd,
|
|
203
|
-
home: args.home,
|
|
204
245
|
agentsFiles: inspection.agentsFiles.map((file) => file.path),
|
|
205
246
|
childAgentsFiles: inspection.childAgentsFiles,
|
|
206
247
|
readFile: (path) => {
|
|
@@ -238,7 +279,9 @@ async function inspectRuntimePromptContext(args) {
|
|
|
238
279
|
String(args.includeAgentContext),
|
|
239
280
|
JSON.stringify(args.agentContextFiles),
|
|
240
281
|
JSON.stringify(DEFAULT_IGNORED_CHILD_DIRS),
|
|
282
|
+
JSON.stringify(HOME_IGNORED_CHILD_DIRS),
|
|
241
283
|
String(CHILD_AGENTS_WALK_MAX_DIRS),
|
|
284
|
+
String(CHILD_AGENTS_WALK_MAX_DEPTH),
|
|
242
285
|
], {
|
|
243
286
|
cwd: args.cwd,
|
|
244
287
|
timeoutMs: RUNTIME_PROMPT_CONTEXT_TIMEOUT_MS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime_bootstrap.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime_bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAE1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAS9F,MAAM,UAAU,oCAAoC,CAAC,IAGpD;IACC,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAE1C,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,OAAO;YACL,MAAM;YACN,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,qBAAqB,CAAC,MAAM,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACL,MAAM;QACN,OAAO;QACP,WAAW,EAAE,qBAAqB,CAAC,MAAM,CAAC;KAC3C,CAAC;AACJ,CAAC;AAkBD,MAAM,qCAAqC,GAAG
|
|
1
|
+
{"version":3,"file":"runtime_bootstrap.js","sourceRoot":"","sources":["../../../src/core/runtime/runtime_bootstrap.ts"],"names":[],"mappings":"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"}
|