@pentoshi/clai 3.0.0 → 3.6.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.
Files changed (176) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/classic-renderer.js +9 -1
  3. package/dist/agent/classic-renderer.js.map +1 -1
  4. package/dist/agent/context-manager.js +8 -2
  5. package/dist/agent/context-manager.js.map +1 -1
  6. package/dist/agent/events.d.ts +5 -0
  7. package/dist/agent/loop-guard.d.ts +2 -0
  8. package/dist/agent/loop-guard.js +39 -2
  9. package/dist/agent/loop-guard.js.map +1 -1
  10. package/dist/agent/plan-tool.d.ts +22 -0
  11. package/dist/agent/plan-tool.js +434 -49
  12. package/dist/agent/plan-tool.js.map +1 -1
  13. package/dist/agent/project-root.d.ts +33 -0
  14. package/dist/agent/project-root.js +158 -0
  15. package/dist/agent/project-root.js.map +1 -0
  16. package/dist/agent/runner.js +1204 -253
  17. package/dist/agent/runner.js.map +1 -1
  18. package/dist/agent/task-evidence.d.ts +103 -0
  19. package/dist/agent/task-evidence.js +413 -0
  20. package/dist/agent/task-evidence.js.map +1 -0
  21. package/dist/agent/tool-call-parser.d.ts +21 -0
  22. package/dist/agent/tool-call-parser.js +101 -28
  23. package/dist/agent/tool-call-parser.js.map +1 -1
  24. package/dist/agent/tool-history.d.ts +27 -0
  25. package/dist/agent/tool-history.js +150 -0
  26. package/dist/agent/tool-history.js.map +1 -0
  27. package/dist/agent/workspace-orient.d.ts +64 -0
  28. package/dist/agent/workspace-orient.js +418 -0
  29. package/dist/agent/workspace-orient.js.map +1 -0
  30. package/dist/app/adapters/agent-event-adapter.js +5 -0
  31. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  32. package/dist/app/controllers/session-controller.js +4 -0
  33. package/dist/app/controllers/session-controller.js.map +1 -1
  34. package/dist/app/events/app-event.d.ts +4 -0
  35. package/dist/app/events/app-event.js.map +1 -1
  36. package/dist/commands/doctor.js +14 -1
  37. package/dist/commands/doctor.js.map +1 -1
  38. package/dist/commands/update.js +1 -1
  39. package/dist/index.js +40 -8
  40. package/dist/index.js.map +1 -1
  41. package/dist/llm/adapters/anthropic-tools.d.ts +99 -0
  42. package/dist/llm/adapters/anthropic-tools.js +225 -0
  43. package/dist/llm/adapters/anthropic-tools.js.map +1 -0
  44. package/dist/llm/adapters/gemini-tools.d.ts +54 -0
  45. package/dist/llm/adapters/gemini-tools.js +139 -0
  46. package/dist/llm/adapters/gemini-tools.js.map +1 -0
  47. package/dist/llm/adapters/ollama-tools.d.ts +22 -0
  48. package/dist/llm/adapters/ollama-tools.js +62 -0
  49. package/dist/llm/adapters/ollama-tools.js.map +1 -0
  50. package/dist/llm/adapters/openai-tools.d.ts +39 -0
  51. package/dist/llm/adapters/openai-tools.js +71 -0
  52. package/dist/llm/adapters/openai-tools.js.map +1 -0
  53. package/dist/llm/agentrouter.js +23 -4
  54. package/dist/llm/agentrouter.js.map +1 -1
  55. package/dist/llm/anthropic.js +93 -92
  56. package/dist/llm/anthropic.js.map +1 -1
  57. package/dist/llm/aws-mantle.js +93 -56
  58. package/dist/llm/aws-mantle.js.map +1 -1
  59. package/dist/llm/bynara.js +23 -4
  60. package/dist/llm/bynara.js.map +1 -1
  61. package/dist/llm/capabilities.d.ts +7 -0
  62. package/dist/llm/capabilities.js +74 -0
  63. package/dist/llm/capabilities.js.map +1 -1
  64. package/dist/llm/gemini.js +63 -48
  65. package/dist/llm/gemini.js.map +1 -1
  66. package/dist/llm/groq.js +23 -4
  67. package/dist/llm/groq.js.map +1 -1
  68. package/dist/llm/http.d.ts +22 -17
  69. package/dist/llm/http.js +99 -26
  70. package/dist/llm/http.js.map +1 -1
  71. package/dist/llm/kimchi.js +23 -4
  72. package/dist/llm/kimchi.js.map +1 -1
  73. package/dist/llm/nvidia.js +23 -4
  74. package/dist/llm/nvidia.js.map +1 -1
  75. package/dist/llm/ollama.js +49 -31
  76. package/dist/llm/ollama.js.map +1 -1
  77. package/dist/llm/openai.js +23 -4
  78. package/dist/llm/openai.js.map +1 -1
  79. package/dist/llm/openrouter.js +23 -4
  80. package/dist/llm/openrouter.js.map +1 -1
  81. package/dist/llm/qwen-cloud.js +23 -4
  82. package/dist/llm/qwen-cloud.js.map +1 -1
  83. package/dist/llm/router.js +48 -6
  84. package/dist/llm/router.js.map +1 -1
  85. package/dist/llm/tool-protocol.d.ts +73 -0
  86. package/dist/llm/tool-protocol.js +282 -0
  87. package/dist/llm/tool-protocol.js.map +1 -0
  88. package/dist/modes/ask.js +74 -20
  89. package/dist/modes/ask.js.map +1 -1
  90. package/dist/prompts/index.d.ts +13 -5
  91. package/dist/prompts/index.js +122 -23
  92. package/dist/prompts/index.js.map +1 -1
  93. package/dist/repl.js +7 -0
  94. package/dist/repl.js.map +1 -1
  95. package/dist/store/config.d.ts +7 -0
  96. package/dist/store/config.js +1 -0
  97. package/dist/store/config.js.map +1 -1
  98. package/dist/store/plan.d.ts +2 -0
  99. package/dist/store/plan.js.map +1 -1
  100. package/dist/tools/capabilities.d.ts +2 -0
  101. package/dist/tools/capabilities.js +101 -6
  102. package/dist/tools/capabilities.js.map +1 -1
  103. package/dist/tools/command-intent.d.ts +1 -0
  104. package/dist/tools/command-intent.js +31 -0
  105. package/dist/tools/command-intent.js.map +1 -1
  106. package/dist/tools/definitions.d.ts +20 -0
  107. package/dist/tools/definitions.js +509 -0
  108. package/dist/tools/definitions.js.map +1 -0
  109. package/dist/tools/fs.d.ts +6 -0
  110. package/dist/tools/fs.js +68 -9
  111. package/dist/tools/fs.js.map +1 -1
  112. package/dist/tools/net-ping-sweep.js +69 -16
  113. package/dist/tools/net-ping-sweep.js.map +1 -1
  114. package/dist/tools/nmap-runner.d.ts +8 -7
  115. package/dist/tools/nmap-runner.js +126 -65
  116. package/dist/tools/nmap-runner.js.map +1 -1
  117. package/dist/tools/registry.js +122 -33
  118. package/dist/tools/registry.js.map +1 -1
  119. package/dist/tools/validate.d.ts +11 -0
  120. package/dist/tools/validate.js +53 -0
  121. package/dist/tools/validate.js.map +1 -1
  122. package/dist/tools/web/search.js +48 -4
  123. package/dist/tools/web/search.js.map +1 -1
  124. package/dist/tui/runtime.d.ts +19 -0
  125. package/dist/tui/runtime.js +92 -0
  126. package/dist/tui/runtime.js.map +1 -0
  127. package/dist/tui/state.js +2 -0
  128. package/dist/tui/state.js.map +1 -1
  129. package/dist/tui-v2/app/App.d.ts +3 -3
  130. package/dist/tui-v2/app/App.js +22 -10
  131. package/dist/tui-v2/app/App.js.map +1 -1
  132. package/dist/tui-v2/app/plan-lifecycle.d.ts +6 -0
  133. package/dist/tui-v2/app/plan-lifecycle.js +43 -7
  134. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  135. package/dist/tui-v2/components/modal/confirm-modal.d.ts +5 -6
  136. package/dist/tui-v2/components/modal/confirm-modal.js +60 -21
  137. package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
  138. package/dist/tui-v2/components/modal/secret-modal.d.ts +3 -9
  139. package/dist/tui-v2/components/modal/secret-modal.js +17 -17
  140. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  141. package/dist/tui-v2/components/overlay/overlay-host.d.ts +12 -3
  142. package/dist/tui-v2/components/overlay/overlay-host.js +19 -4
  143. package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
  144. package/dist/tui-v2/components/plan/plan-view.d.ts +1 -1
  145. package/dist/tui-v2/components/plan/plan-view.js +8 -4
  146. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  147. package/dist/tui-v2/components/status/status-line.js +10 -1
  148. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  149. package/dist/tui-v2/components/transcript/assistant-message.js +6 -0
  150. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  151. package/dist/tui-v2/components/transcript/compacted-row.d.ts +5 -5
  152. package/dist/tui-v2/components/transcript/compacted-row.js +15 -40
  153. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  154. package/dist/tui-v2/components/transcript/tool-card.js +43 -13
  155. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  156. package/dist/tui-v2/components/transcript/transcript-row.js +8 -1
  157. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  158. package/dist/tui-v2/rendering/batch-sections.d.ts +12 -0
  159. package/dist/tui-v2/rendering/batch-sections.js +68 -0
  160. package/dist/tui-v2/rendering/batch-sections.js.map +1 -1
  161. package/dist/tui-v2/rendering/strip-tool-surfaces.d.ts +10 -0
  162. package/dist/tui-v2/rendering/strip-tool-surfaces.js +32 -0
  163. package/dist/tui-v2/rendering/strip-tool-surfaces.js.map +1 -0
  164. package/dist/tui-v2/rendering/tool-presenter.d.ts +6 -1
  165. package/dist/tui-v2/rendering/tool-presenter.js +68 -2
  166. package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
  167. package/dist/tui-v2/state/transcript-hydrate.js +6 -2
  168. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  169. package/dist/tui-v2/state/transcript-reducer.js +74 -16
  170. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  171. package/dist/tui-v2/state/transcript-types.d.ts +1 -1
  172. package/dist/types.d.ts +58 -0
  173. package/dist/ui/ansi-box.d.ts +2 -0
  174. package/dist/ui/ansi-box.js +8 -1
  175. package/dist/ui/ansi-box.js.map +1 -1
  176. package/package.json +13 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-history.js","sourceRoot":"","sources":["../../src/agent/tool-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Stack-agnostic workspace orientation for build turns.
3
+ *
4
+ * Weak models often skip fs.list/fs.read and plan against an imaginary empty
5
+ * destination — then re-scaffold into a non-empty folder ("Operation cancelled")
6
+ * or write into the agent package. This module snapshots the real cwd /
7
+ * destination / candidate project paths so the model always sees ground truth
8
+ * before plan.create or implement.
9
+ */
10
+ /** Filenames that strongly suggest "this directory is already a software project". */
11
+ export declare const PROJECT_MARKERS: readonly ["package.json", "package-lock.json", "pnpm-lock.yaml", "yarn.lock", "bun.lockb", "Cargo.toml", "go.mod", "pyproject.toml", "requirements.txt", "Pipfile", "composer.json", "Gemfile", "pom.xml", "build.gradle", "build.gradle.kts", "CMakeLists.txt", "Makefile", "mix.exs", "pubspec.yaml", "Package.swift", "deno.json", "deno.jsonc", "tsconfig.json", "index.html", "setup.py", "manage.py", "Cargo.lock", ".git"];
12
+ export declare function isBareParentDirectory(path: string): boolean;
13
+ export declare function detectProjectMarkers(dir: string): string[];
14
+ export declare function isExistingProjectDir(dir: string): boolean;
15
+ export interface DirSnapshot {
16
+ path: string;
17
+ exists: boolean;
18
+ isDir: boolean;
19
+ entryCount: number;
20
+ /** Up to maxNames entry basenames. */
21
+ entries: string[];
22
+ markers: string[];
23
+ isProject: boolean;
24
+ emptyOrMissing: boolean;
25
+ }
26
+ export declare function snapshotDir(path: string, maxNames?: number): DirSnapshot;
27
+ export interface WorkspaceOrientationInput {
28
+ cwd?: string;
29
+ /** User-named parent destination (e.g. Desktop). */
30
+ destinationHint?: string;
31
+ /** Candidate project path from plan/prompt (may not exist yet). */
32
+ candidateProject?: string;
33
+ /** Extra absolute paths to snapshot (e.g. Desktop/todo-app guessed from prompt). */
34
+ extraPaths?: string[];
35
+ }
36
+ /**
37
+ * Guess a likely project subfolder name from free text (todo-app, my-api, …).
38
+ * Stack-agnostic: any reasonable folder token after create/scaffold/in/on.
39
+ */
40
+ export declare function guessProjectFolderName(text: string): string | undefined;
41
+ /**
42
+ * Human + model-facing block injected into the system prompt for build turns.
43
+ */
44
+ export declare function buildWorkspaceOrientation(input: WorkspaceOrientationInput): string;
45
+ /**
46
+ * Extract the directory name a scaffolder would create (stack-agnostic).
47
+ * Returns undefined when the command is not a one-shot create into a named path.
48
+ */
49
+ export declare function extractScaffoldTargetName(command: string): string | undefined;
50
+ /**
51
+ * Resolve absolute path a scaffolder would write into.
52
+ */
53
+ export declare function resolveScaffoldTargetPath(command: string, shellCwd?: string): string | undefined;
54
+ /** Scaffold cancelled / refused without creating a usable tree. */
55
+ export declare function isScaffoldCancelledOutput(output: string): boolean;
56
+ /**
57
+ * True when the target path looks like a materialized project after scaffold.
58
+ */
59
+ export declare function scaffoldLooksMaterialized(targetPath: string | undefined): boolean;
60
+ /**
61
+ * Soft preflight: block scaffold into an existing non-empty project path.
62
+ * Returns an error message for the model, or undefined if OK to proceed.
63
+ */
64
+ export declare function scaffoldTargetConflictMessage(command: string, shellCwd?: string): string | undefined;
@@ -0,0 +1,418 @@
1
+ /**
2
+ * Stack-agnostic workspace orientation for build turns.
3
+ *
4
+ * Weak models often skip fs.list/fs.read and plan against an imaginary empty
5
+ * destination — then re-scaffold into a non-empty folder ("Operation cancelled")
6
+ * or write into the agent package. This module snapshots the real cwd /
7
+ * destination / candidate project paths so the model always sees ground truth
8
+ * before plan.create or implement.
9
+ */
10
+ import { existsSync, readdirSync, statSync } from "node:fs";
11
+ import { isAbsolute, join, resolve } from "node:path";
12
+ import { homedir } from "node:os";
13
+ import { safeCwd } from "../os/cwd.js";
14
+ /** Filenames that strongly suggest "this directory is already a software project". */
15
+ export const PROJECT_MARKERS = [
16
+ "package.json",
17
+ "package-lock.json",
18
+ "pnpm-lock.yaml",
19
+ "yarn.lock",
20
+ "bun.lockb",
21
+ "Cargo.toml",
22
+ "go.mod",
23
+ "pyproject.toml",
24
+ "requirements.txt",
25
+ "Pipfile",
26
+ "composer.json",
27
+ "Gemfile",
28
+ "pom.xml",
29
+ "build.gradle",
30
+ "build.gradle.kts",
31
+ "CMakeLists.txt",
32
+ "Makefile",
33
+ "mix.exs",
34
+ "pubspec.yaml",
35
+ "Package.swift",
36
+ "deno.json",
37
+ "deno.jsonc",
38
+ "tsconfig.json",
39
+ "index.html",
40
+ "setup.py",
41
+ "manage.py",
42
+ "Cargo.lock",
43
+ ".git",
44
+ ];
45
+ /** Parent folders that are destinations, not project roots (never pin sticky root here). */
46
+ const BARE_PARENT_DIR_RE = /(?:^|[/\\])(?:Desktop|Documents|Downloads|Projects|dev|code|work|repos?|tmp|temp)$/i;
47
+ export function isBareParentDirectory(path) {
48
+ const p = resolve(path.trim()).replace(/[/\\]+$/, "");
49
+ if (/^\/(?:Users|home)\/[^/\\]+$/i.test(p))
50
+ return true; // ~ only
51
+ if (p === homedir() || p === resolve(homedir()))
52
+ return true;
53
+ return BARE_PARENT_DIR_RE.test(p);
54
+ }
55
+ export function detectProjectMarkers(dir) {
56
+ if (!dir || !existsSync(dir))
57
+ return [];
58
+ const found = [];
59
+ for (const name of PROJECT_MARKERS) {
60
+ try {
61
+ if (existsSync(join(dir, name)))
62
+ found.push(name);
63
+ }
64
+ catch {
65
+ /* ignore */
66
+ }
67
+ }
68
+ return found;
69
+ }
70
+ export function isExistingProjectDir(dir) {
71
+ if (!dir || !existsSync(dir))
72
+ return false;
73
+ try {
74
+ if (!statSync(dir).isDirectory())
75
+ return false;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ return detectProjectMarkers(dir).length > 0;
81
+ }
82
+ export function snapshotDir(path, maxNames = 36) {
83
+ const resolved = resolve(path);
84
+ if (!existsSync(resolved)) {
85
+ return {
86
+ path: resolved,
87
+ exists: false,
88
+ isDir: false,
89
+ entryCount: 0,
90
+ entries: [],
91
+ markers: [],
92
+ isProject: false,
93
+ emptyOrMissing: true,
94
+ };
95
+ }
96
+ let isDir = false;
97
+ try {
98
+ isDir = statSync(resolved).isDirectory();
99
+ }
100
+ catch {
101
+ return {
102
+ path: resolved,
103
+ exists: true,
104
+ isDir: false,
105
+ entryCount: 0,
106
+ entries: [],
107
+ markers: [],
108
+ isProject: false,
109
+ emptyOrMissing: false,
110
+ };
111
+ }
112
+ if (!isDir) {
113
+ return {
114
+ path: resolved,
115
+ exists: true,
116
+ isDir: false,
117
+ entryCount: 0,
118
+ entries: [],
119
+ markers: [],
120
+ isProject: false,
121
+ emptyOrMissing: false,
122
+ };
123
+ }
124
+ let names = [];
125
+ try {
126
+ names = readdirSync(resolved);
127
+ }
128
+ catch {
129
+ names = [];
130
+ }
131
+ // Ignore pure noise when judging emptiness for scaffolders
132
+ const meaningful = names.filter((n) => n !== ".DS_Store" && n !== "Thumbs.db");
133
+ const markers = detectProjectMarkers(resolved);
134
+ return {
135
+ path: resolved,
136
+ exists: true,
137
+ isDir: true,
138
+ entryCount: names.length,
139
+ entries: names.slice(0, maxNames),
140
+ markers,
141
+ isProject: markers.length > 0,
142
+ emptyOrMissing: meaningful.length === 0,
143
+ };
144
+ }
145
+ function formatSnapshot(label, snap) {
146
+ if (!snap.exists) {
147
+ return `- ${label}: ${snap.path}\n status: DOES NOT EXIST (safe to create as new project path)`;
148
+ }
149
+ if (!snap.isDir) {
150
+ return `- ${label}: ${snap.path}\n status: exists but is a FILE, not a directory`;
151
+ }
152
+ const markerLine = snap.markers.length > 0
153
+ ? `project markers: ${snap.markers.join(", ")}`
154
+ : "project markers: (none detected)";
155
+ const entries = snap.entries.length > 0
156
+ ? snap.entries.join(", ") +
157
+ (snap.entryCount > snap.entries.length
158
+ ? `, … (+${snap.entryCount - snap.entries.length} more)`
159
+ : "")
160
+ : "(empty)";
161
+ const kind = snap.isProject
162
+ ? "EXISTING PROJECT — do NOT re-scaffold into this directory; continue / implement inside it"
163
+ : snap.emptyOrMissing
164
+ ? "empty or only junk files — OK for a new scaffold into a subfolder here"
165
+ : "non-empty directory (not a clear project root) — list carefully; scaffolders often refuse non-empty targets";
166
+ return (`- ${label}: ${snap.path}\n` +
167
+ ` status: ${kind}\n` +
168
+ ` entries (${snap.entryCount}): ${entries}\n` +
169
+ ` ${markerLine}`);
170
+ }
171
+ /**
172
+ * Guess a likely project subfolder name from free text (todo-app, my-api, …).
173
+ * Stack-agnostic: any reasonable folder token after create/scaffold/in/on.
174
+ */
175
+ export function guessProjectFolderName(text) {
176
+ const blob = text.trim();
177
+ if (!blob)
178
+ return undefined;
179
+ // …/Desktop/todo-app or Desktop/todo-app
180
+ const pathish = blob.match(/(?:Desktop|Documents|Projects|dev|code|work)[/\\]([A-Za-z0-9._-]+)/i);
181
+ if (pathish?.[1] && !/^(directory|folder|dir)$/i.test(pathish[1])) {
182
+ return pathish[1];
183
+ }
184
+ // create a <name> app / project called <name>
185
+ const named = blob.match(/\b(?:project|app|service|cli|package|crate|module)\s+(?:called|named)\s+["']?([A-Za-z][A-Za-z0-9._-]{1,40})/i);
186
+ if (named?.[1])
187
+ return named[1];
188
+ // create <name> in/on desktop — prefer hyphenated or *app* tokens
189
+ const createName = blob.match(/\b(?:create|scaffold|init|bootstrap)\s+(?:a\s+|an\s+)?(?:new\s+)?([A-Za-z][A-Za-z0-9._-]{1,40})(?:\s+(?:app|project|service))?\s+(?:in|on|under|into)\b/i);
190
+ if (createName?.[1] &&
191
+ !/^(a|an|the|new|simple|react|vue|next|python|rust|go|node|web|todo)$/i.test(createName[1])) {
192
+ return createName[1];
193
+ }
194
+ // "todo app" / "blog app" → todo-app style
195
+ const kindApp = blob.match(/\b([a-z][a-z0-9]{1,20})[\s-]+(?:app|application|project|service|cli)\b/i);
196
+ if (kindApp?.[1] &&
197
+ !/^(react|vue|next|simple|new|web|full|small|demo|sample|node|python|rust)$/i.test(kindApp[1])) {
198
+ return `${kindApp[1].toLowerCase()}-app`;
199
+ }
200
+ return undefined;
201
+ }
202
+ /**
203
+ * Human + model-facing block injected into the system prompt for build turns.
204
+ */
205
+ export function buildWorkspaceOrientation(input) {
206
+ const cwd = resolve(input.cwd?.trim() || safeCwd());
207
+ const paths = new Map(); // path → label
208
+ paths.set(cwd, "agent process cwd (NOT necessarily the user project)");
209
+ if (input.destinationHint?.trim()) {
210
+ const d = resolve(input.destinationHint.trim());
211
+ if (!paths.has(d))
212
+ paths.set(d, "user destination (from prompt)");
213
+ }
214
+ if (input.candidateProject?.trim()) {
215
+ const c = resolve(input.candidateProject.trim());
216
+ if (!paths.has(c))
217
+ paths.set(c, "candidate project path (from plan/prompt)");
218
+ }
219
+ for (const extra of input.extraPaths ?? []) {
220
+ if (!extra?.trim())
221
+ continue;
222
+ const p = resolve(extra.trim());
223
+ if (!paths.has(p))
224
+ paths.set(p, "related path");
225
+ }
226
+ // If destination is a bare parent, also check guessed subfolder names under it
227
+ const dest = input.destinationHint?.trim()
228
+ ? resolve(input.destinationHint.trim())
229
+ : undefined;
230
+ if (dest && isBareParentDirectory(dest)) {
231
+ // Common default names models invent without checking
232
+ for (const guess of ["todo-app", "app", "my-app", "project"]) {
233
+ const p = join(dest, guess);
234
+ if (!paths.has(p) && existsSync(p)) {
235
+ paths.set(p, `existing subfolder under destination ("${guess}")`);
236
+ }
237
+ }
238
+ }
239
+ const lines = [
240
+ "WORKSPACE STATUS (runtime pre-check — treat as EXPLORE step 1; still fs.list deeper as needed):",
241
+ "Rules derived from this snapshot:",
242
+ "1. Process cwd may be the agent package tree — never write user app source there unless the user asked to modify this agent.",
243
+ "2. If a target project path ALREADY EXISTS with project markers, CONTINUE that project (edit feature files). Do NOT re-run a scaffolder into it (scaffolders cancel on non-empty dirs).",
244
+ "3. If creating new, scaffold into a NEW empty subfolder under the destination (not into a non-empty dir).",
245
+ "4. Prefer absolute paths under the real project root for all fs/shell work.",
246
+ "5. plan.create detail MUST mention what exists vs what you will create, based on this status.",
247
+ "",
248
+ ];
249
+ for (const [path, label] of paths) {
250
+ lines.push(formatSnapshot(label, snapshotDir(path)));
251
+ lines.push("");
252
+ }
253
+ return lines.join("\n").trimEnd();
254
+ }
255
+ /**
256
+ * Extract the directory name a scaffolder would create (stack-agnostic).
257
+ * Returns undefined when the command is not a one-shot create into a named path.
258
+ */
259
+ export function extractScaffoldTargetName(command) {
260
+ const cmd = command.trim();
261
+ if (!cmd)
262
+ return undefined;
263
+ // Absolute / home path as target
264
+ const abs = cmd.match(/(?:^|\s)((?:\/(?:Users|home)\/\S+|~\/\S+))(?:\s|$)/);
265
+ if (abs?.[1] && !abs[1].includes("node_modules")) {
266
+ const base = abs[1].replace(/\/+$/, "").split(/[/\\]/).pop();
267
+ if (base && !base.startsWith("-"))
268
+ return base;
269
+ }
270
+ // Generic: create-* / npm create X / yarn create / cargo new / rails new / etc.
271
+ const patterns = [
272
+ /(?:npm\s+create\s+\S+|npx\s+(?:--yes\s+)?create-[\w@./-]+|yarn\s+create\s+\S+|pnpm\s+create\s+\S+|bun\s+create\s+\S+)\s+([A-Za-z0-9._@/-]+)/i,
273
+ /(?:npm\s+init\s+\S+)\s+([A-Za-z0-9._-]+)/i,
274
+ /\bcargo\s+new\s+([A-Za-z0-9._-]+)/i,
275
+ /\bgo\s+mod\s+init\s+(\S+)/i,
276
+ /\bpoetry\s+new\s+([A-Za-z0-9._-]+)/i,
277
+ /\bdjango-admin\s+startproject\s+([A-Za-z0-9._-]+)/i,
278
+ /\brails\s+new\s+([A-Za-z0-9._-]+)/i,
279
+ /\bcomposer\s+create-project\s+\S+\s+([A-Za-z0-9._-]+)/i,
280
+ /\bmix\s+new\s+([A-Za-z0-9._-]+)/i,
281
+ /\bflutter\s+create\s+([A-Za-z0-9._-]+)/i,
282
+ /\bcargo\s+init\b/i, // init in place — no name
283
+ /\bdotnet\s+new\s+\S+\s+-n\s+([A-Za-z0-9._-]+)/i,
284
+ /\bdotnet\s+new\s+\S+\s+--name\s+([A-Za-z0-9._-]+)/i,
285
+ ];
286
+ for (const re of patterns) {
287
+ const m = cmd.match(re);
288
+ if (m?.[1] && m[1] !== "." && m[1] !== ".." && !m[1].startsWith("-")) {
289
+ // Strip version tags from package names mistaken as target
290
+ if (/^@/.test(m[1]) && !m[1].includes("/"))
291
+ continue;
292
+ const name = m[1].replace(/\/+$/, "").split(/[/\\]/).pop();
293
+ if (name && name !== "." && !name.startsWith("-"))
294
+ return name;
295
+ }
296
+ }
297
+ // Trailing bare name before flags: `create-vite@latest todo-app -- --template react`
298
+ const beforeFlags = cmd
299
+ .replace(/\s+--\s+.*$/, "")
300
+ .replace(/\s+--\S+=\S+/g, "")
301
+ .replace(/\s+--\S+/g, "")
302
+ .trim();
303
+ const tokens = beforeFlags.split(/\s+/);
304
+ const last = tokens[tokens.length - 1];
305
+ if (last &&
306
+ /^[A-Za-z0-9._-]+$/.test(last) &&
307
+ !/^(latest|react|vue|svelte|vanilla|typescript|ts|js|app|yes)$/i.test(last) &&
308
+ tokens.some((t) => /create|new|init|startproject/i.test(t))) {
309
+ return last;
310
+ }
311
+ return undefined;
312
+ }
313
+ /**
314
+ * Resolve absolute path a scaffolder would write into.
315
+ */
316
+ export function resolveScaffoldTargetPath(command, shellCwd) {
317
+ const cmd = command.trim();
318
+ if (!cmd)
319
+ return undefined;
320
+ // Honour leading `cd /path && …` / `mkdir -p /path && cd /path && …`
321
+ // so preflight sees the real target when models chain shell in one call.
322
+ let base = resolve(shellCwd?.trim() || safeCwd());
323
+ const cdMatch = cmd.match(/(?:^|[;&|]\s*)cd\s+([^\s;&|]+)\s*(?:&&|;)/i);
324
+ if (cdMatch?.[1]) {
325
+ const cdTarget = cdMatch[1].replace(/^~(?=\/)/, homedir());
326
+ base = isAbsolute(cdTarget) ? resolve(cdTarget) : resolve(base, cdTarget);
327
+ }
328
+ // `mkdir -p /abs/path && … create .` without explicit cd
329
+ const mkdirMatch = cmd.match(/mkdir\s+(?:-p\s+)?([^\s;&|]+)\s*(?:&&|;)/i);
330
+ if (mkdirMatch?.[1] && !cdMatch) {
331
+ const m = mkdirMatch[1].replace(/^~(?=\/)/, homedir());
332
+ if (isAbsolute(m) || m.startsWith("~/")) {
333
+ base = resolve(m.replace(/^~(?=\/)/, homedir()));
334
+ }
335
+ }
336
+ // In-place initializers (no new subfolder)
337
+ if (/\bgo\s+mod\s+init\b/i.test(cmd) ||
338
+ /\bcargo\s+init\b/i.test(cmd) ||
339
+ /\bnpm\s+init\s+-y\b/i.test(cmd) ||
340
+ /\bnpm\s+init\s+--yes\b/i.test(cmd)) {
341
+ return base;
342
+ }
343
+ const createAbs = cmd.match(/(?:create-[\w@./-]+|vite@\S+|cargo\s+new|rails\s+new|poetry\s+new)\s+(\/(?:Users|home)\/[^\s]+|~\/[^\s]+)/i);
344
+ if (createAbs?.[1]) {
345
+ return resolve(createAbs[1].replace(/^~(?=\/)/, homedir()));
346
+ }
347
+ // `create-vite .` / `npm init vite@latest .` → current (post-cd) base
348
+ if (/(?:create-\S+|vite@\S+|init\s+\S+)\s+\.(?:\s|$)/i.test(cmd) ||
349
+ /\s\.(?:\s+--|\s*$)/.test(cmd)) {
350
+ return base;
351
+ }
352
+ const name = extractScaffoldTargetName(cmd);
353
+ if (!name)
354
+ return undefined;
355
+ // go.mod style module paths are not directory names
356
+ if (name.includes("/") || name.includes("@")) {
357
+ return base;
358
+ }
359
+ if (isAbsolute(name) || name.startsWith("~/")) {
360
+ return resolve(name.replace(/^~(?=\/)/, homedir()));
361
+ }
362
+ if (base.endsWith(name) || base.endsWith("/" + name) || base.endsWith("\\" + name)) {
363
+ return base;
364
+ }
365
+ return resolve(base, name);
366
+ }
367
+ /** Scaffold cancelled / refused without creating a usable tree. */
368
+ export function isScaffoldCancelledOutput(output) {
369
+ const o = output.toLowerCase();
370
+ return (/\boperation cancelled\b/.test(o) ||
371
+ /\bcanceled\b/.test(o) ||
372
+ /\buser aborted\b/.test(o) ||
373
+ /\balready exists\b/.test(o) ||
374
+ /\bdirectory is not empty\b/.test(o) ||
375
+ /\bnon-empty\b/.test(o) ||
376
+ /\brefusing to\b/.test(o) ||
377
+ /\bcould not create\b/.test(o));
378
+ }
379
+ /**
380
+ * True when the target path looks like a materialized project after scaffold.
381
+ */
382
+ export function scaffoldLooksMaterialized(targetPath) {
383
+ if (!targetPath || !existsSync(targetPath))
384
+ return false;
385
+ const snap = snapshotDir(targetPath);
386
+ if (!snap.isDir)
387
+ return false;
388
+ // At least one marker OR several source-ish entries
389
+ if (snap.isProject)
390
+ return true;
391
+ if (snap.entryCount >= 3 && !snap.emptyOrMissing)
392
+ return true;
393
+ return false;
394
+ }
395
+ /**
396
+ * Soft preflight: block scaffold into an existing non-empty project path.
397
+ * Returns an error message for the model, or undefined if OK to proceed.
398
+ */
399
+ export function scaffoldTargetConflictMessage(command, shellCwd) {
400
+ const target = resolveScaffoldTargetPath(command, shellCwd);
401
+ if (!target)
402
+ return undefined;
403
+ const snap = snapshotDir(target);
404
+ if (!snap.exists || snap.emptyOrMissing)
405
+ return undefined;
406
+ // Existing non-empty (or project) — refuse re-scaffold
407
+ if (snap.isProject || snap.entryCount > 0) {
408
+ return (`Scaffold blocked: target already exists at ${target} ` +
409
+ `(${snap.entryCount} entries` +
410
+ (snap.markers.length ? `; markers: ${snap.markers.join(", ")}` : "") +
411
+ `). Scaffolders refuse non-empty directories and print "Operation cancelled". ` +
412
+ `Choose one: (A) CONTINUE the existing project — set work there with absolute paths, implement the requested feature, do NOT re-scaffold; ` +
413
+ `(B) use a NEW empty subfolder name; or (C) only if the user asked to recreate from scratch, remove the directory first then scaffold. ` +
414
+ `fs.list the target before deciding.`);
415
+ }
416
+ return undefined;
417
+ }
418
+ //# sourceMappingURL=workspace-orient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-orient.js","sourceRoot":"","sources":["../../src/agent/workspace-orient.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,11 @@ export class AgentEventAdapter {
62
62
  argsDisplay: event.argsDisplay,
63
63
  });
64
64
  return;
65
+ case "tool-start":
66
+ this.push("tool-started", {
67
+ toolCallId: this.toolCallId(event.id),
68
+ });
69
+ return;
65
70
  case "tool-output": {
66
71
  const id = this.toolCallId(event.id);
67
72
  const ref = event.replace
@@ -1 +1 @@
1
- {"version":3,"file":"agent-event-adapter.js","sourceRoot":"","sources":["../../../src/app/adapters/agent-event-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-event-adapter.js","sourceRoot":"","sources":["../../../src/app/adapters/agent-event-adapter.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { compactMessagesWithSummary, estimateMessagesTokens, } from "../../agent
2
2
  import { createSessionPolicy } from "../../agent/session-policy.js";
3
3
  import { generateSessionTitle } from "../../agent/session-title.js";
4
4
  import { completeWithProvider } from "../../llm/router.js";
5
+ import { clearTextOnlyModels } from "../../llm/tool-protocol.js";
5
6
  import { getConfig, getProviderModel } from "../../store/config.js";
6
7
  import { asSessionId, } from "../events/app-event.js";
7
8
  import { EventSequencer, } from "../events/sequencer.js";
@@ -81,10 +82,13 @@ export class SessionController {
81
82
  }
82
83
  setProvider(provider) {
83
84
  this.provider = provider;
85
+ clearTextOnlyModels();
84
86
  this.notifyState();
85
87
  }
86
88
  setModel(model) {
87
89
  this.model = model;
90
+ // Allow native tools again after /model switch (sticky text-only is process-global).
91
+ clearTextOnlyModels();
88
92
  this.notifyState();
89
93
  }
90
94
  setMode(mode) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,GAEvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAsB,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EACL,WAAW,GAIZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,GAGf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAKxD,OAAO,EAAE,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAmB,MAAM,iBAAiB,CAAC;AAmDvE,SAAS,aAAa;IACpB,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,OAAO,iBAAiB;IA8BC;IA7BpB,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;IAE3B,cAAc,CAAY;IACjB,SAAS,CAAiB;IAC1B,IAAI,CAAiB;IAC9B,MAAM,CAAgB;IACb,WAAW,GAAG,IAAI,mBAAmB,EAAE,CAAC;IACxC,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,cAAc,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE1D,OAAO,GAAkB,EAAE,CAAC;IACnB,KAAK,GAAa,EAAE,CAAC;IACtC;;;OAGG;IACK,cAAc,CAAqB;IAC3C,mDAAmD;IAC3C,eAAe,GAAG,KAAK,CAAC;IACxB,QAAQ,CAAyB;IACjC,KAAK,CAAqB;IAC1B,IAAI,CAAO;IACX,cAAc,GAAG,KAAK,CAAC;IAC/B,8EAA8E;IACtE,YAAY,CAAqB;IACzC,gFAAgF;IACxE,iBAAiB,GAAG,CAAC,CAAC;IACtB,aAAa,GAAG,KAAK,CAAC;IAE9B,YAA6B,IAA2B;QAA3B,SAAI,GAAJ,IAAI,CAAuB;QACtD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CACjC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAC9B,IAAI,cAAc,CAAC;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAClC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACvB,KAAK,EAAE,IAAI,CAAC,YAAY;SACzB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,oEAAoE;IACpE,SAAS,CAAC,QAA8B;QACtC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,QAAgC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAyB;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,IAAU;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,WAAW,CACT,QAAgC,EAChC,UAA8D,EAAE;QAEhE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAC1E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,KAAkB,EAAE,IAAY;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAmC,EAAE;QACzC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,iBAA0B,EAC1B,UAAU,GAAG,CAAC,EACd,MAAoB;QAEpB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,cAAc;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAE3E,yEAAyE;QACzE,4EAA4E;QAC5E,4DAA4D;QAC5D,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAK,GAAG,CAAC,eAA0C,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC;QAE7C,uEAAuE;QACvE,2EAA2E;QAC3E,+DAA+D;QAC/D,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,KAAK,EAAE,MAAc,EAAmB,EAAE;gBAChE,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;oBAC1C,QAAQ;oBACR,KAAK;oBACL,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,sEAAsE;yBAChF;wBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;qBAClC;oBACD,WAAW,EAAE,GAAG;oBAChB,SAAS,EAAE,KAAK;oBAChB,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAC7C,eAAe,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;gBACf,MAAM,SAAS,GAAG,MAAM,CAAC;gBACzB,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS;oBAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,EAChD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CACvE,CAAC;gBACF,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBACtD,MAAM,EAAE,cAAc,EAAE,CAAC;oBACzB,QAAQ,CAAC,IAAI,CACX,MAAM,eAAe,CACnB,kBAAkB,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,sHAAsH,MAAM,CAAC,KAAK,CAAC,EAAE,CACrL,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,EAAE,cAAc,EAAE,CAAC;gBACzB,OAAO,eAAe,CACpB,+QAA+Q;oBAC7Q,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC5E,CAAC;YACJ,CAAC,EACD,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,EAC/B,iBAAiB,CAClB,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBACxD,MAAM,IAAI,GACR,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CACrE,EAAE,OAAO,IAAI,mBAAmB,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAClB,WAAW,EACX;oBACE,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,EACD,SAAS,CACV,CACF,CAAC;gBACF,gEAAgE;gBAChE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,UAAU,CAAC,IAAa;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,WAAW;YAAE,OAAO;QAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACtC,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,OAAO;QACzD,IAAI,IAAI;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE;YACpD,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY;YAC/B,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,WAAW;YAAE,OAAO;QAC3D,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAC7D,CAAC;QACF,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC7C,MAAM,cAAc,GAClB,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAO;QAEhC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,MAAM,WAAW,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE;gBACrD,QAAQ;gBACR,KAAK;aACN,CAAC,CAAC;YACH,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,uEAAuE;YACvE,IAAI,IAAI,CAAC,cAAc,KAAK,gBAAgB;gBAAE,OAAO;YACrD,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;YACrC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,eAAe;QACb,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC7B,MAAM,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;SAC7C,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,UAAU,CAAC,KAAa,EAAE,IAAY;QACpC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,aAAa,CAAC,SAAiB,EAAE,OAAe;QAC9C,IACE,SAAS,GAAG,CAAC;YACb,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAC9B,OAAO,GAAG,CAAC;YACX,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;YAC5B,SAAS,KAAK,OAAO,EACrB,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAa;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,IAAwB,CAAC;gBAC7B,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACtC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAClC,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;gBACD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBACjD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,eAAe,CAAC,KAAc;QAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;IACxC,CAAC;IAED,iFAAiF;IACjF,SAAS,CAAC,QAAyB;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;gBAAE,MAAM;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc;QAClC,MAAM,OAAO,GAAmB;YAC9B,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACrC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAC1B,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;YACtC,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACvB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,0EAA0E;QAC1E,uEAAuE;QACvE,gCAAgC;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,uEAAuE;YACvE,uEAAuE;YACvE,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB;YAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc;YAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"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"}