@kenkaiiii/ggcoder 5.60.8 → 5.61.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.
@@ -0,0 +1,51 @@
1
+ import { payloadHash } from "./ui-registry.js";
2
+ export const MOUSE_CARD_SOURCE_HASH = "3a1a1c3308214e69a6a1129e2d1191cae87b6d071b70a8a1ded0253b263d7483";
3
+ /** Reviewed cleanup recipe: retain the repeating animation's own cancellation handle. */
4
+ export function patchMouseCard(source) {
5
+ if (payloadHash(source) !== MOUSE_CARD_SOURCE_HASH)
6
+ throw new Error("Mouse Effect Card source differs from reviewed snapshot; review before patching");
7
+ const replace = (from, to) => {
8
+ if (source.split(from).length !== 2)
9
+ throw new Error("Ambiguous Mouse Effect Card cleanup patch");
10
+ source = source.replace(from, to);
11
+ };
12
+ replace('import { motion, useMotionValue, useSpring, useTransform } from "motion/react";', 'import { animate, motion, useMotionValue, useSpring, useTransform } from "motion/react";');
13
+ replace(" const delay = (index * OPACITY_DELAY_STEP) % OPACITY_DELAY_CYCLE;", ` const delay = (index * OPACITY_DELAY_STEP) % OPACITY_DELAY_CYCLE;
14
+ const opacity = useSpring(minOpacityWithBoost, {
15
+ stiffness: 150,
16
+ damping: 25,
17
+ });
18
+
19
+ useEffect(() => {
20
+ // A following spring can replace MotionValue.animation. Keep a separate
21
+ // handle for the repeating pulse so unmount always stops its frame driver.
22
+ const pulse = animate(opacity, [baseMinOpacity, baseMaxOpacity, baseMinOpacity], {
23
+ duration: OPACITY_DURATION_BASE + (index % 4) * OPACITY_DURATION_VARIATION,
24
+ repeat: Number.POSITIVE_INFINITY,
25
+ ease: OPACITY_EASE,
26
+ delay,
27
+ times: [0, 0.5, 1],
28
+ });
29
+ return () => pulse.stop();
30
+ }, [opacity, baseMinOpacity, baseMaxOpacity, index, delay]);`);
31
+ replace(" animate={{\n opacity: [baseMinOpacity, baseMaxOpacity, baseMinOpacity],\n }}\n", "");
32
+ replace(" opacity: useSpring(minOpacityWithBoost, {\n stiffness: 150,\n damping: 25,\n }),", " opacity,");
33
+ replace(" transition={{\n opacity: {\n duration:\n OPACITY_DURATION_BASE + (index % 4) * OPACITY_DURATION_VARIATION,\n repeat: Number.POSITIVE_INFINITY,\n ease: OPACITY_EASE,\n delay,\n times: [0, 0.5, 1],\n },\n }}\n", "");
34
+ return source;
35
+ }
36
+ export function compatibilityPatch(id, sourcePath, content) {
37
+ if (id !== "kokonut:mouse-effect-card" || !sourcePath.endsWith("/mouse-effect-card.tsx"))
38
+ return { content };
39
+ const originalHash = payloadHash(content);
40
+ if (originalHash !== MOUSE_CARD_SOURCE_HASH)
41
+ return {
42
+ content,
43
+ notice: "Mouse Effect Card cleanup recipe not applied: unreviewed source hash. Verify animation teardown independently.",
44
+ };
45
+ const patched = patchMouseCard(content);
46
+ return {
47
+ content: patched,
48
+ notice: `Mouse Effect Card owned-animation cleanup: original SHA256 ${originalHash}; patched SHA256 ${payloadHash(patched)}. Import relocation is a separate subsequent transformation.`,
49
+ };
50
+ }
51
+ //# sourceMappingURL=ui-compatibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-compatibility.js","sourceRoot":"","sources":["../../src/core/ui-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GACjC,kEAAkE,CAAC;AAErE,yFAAyF;AACzF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,sBAAsB;QAChD,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;IACJ,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAU,EAAQ,EAAE;QACjD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,OAAO,CACL,iFAAiF,EACjF,0FAA0F,CAC3F,CAAC;IACF,OAAO,CACL,qEAAqE,EACrE;;;;;;;;;;;;;;;;;+DAiB2D,CAC5D,CAAC;IACF,OAAO,CACL,kGAAkG,EAClG,EAAE,CACH,CAAC;IACF,OAAO,CACL,mHAAmH,EACnH,kBAAkB,CACnB,CAAC;IACF,OAAO,CACL,kSAAkS,EAClS,EAAE,CACH,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU,EAAE,UAAkB,EAAE,OAAe;IAChF,IAAI,EAAE,KAAK,2BAA2B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACtF,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,YAAY,KAAK,sBAAsB;QACzC,OAAO;YACL,OAAO;YACP,MAAM,EACJ,gHAAgH;SACnH,CAAC;IACJ,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,8DAA8D,YAAY,oBAAoB,WAAW,CAAC,OAAO,CAAC,8DAA8D;KACzL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { z } from "zod";
2
+ import { type GetNetworkPolicy } from "./network-guard.js";
3
+ export declare const UI_PROVIDERS: {
4
+ readonly bklit: {
5
+ readonly repo: "bklit/bklit-ui";
6
+ readonly revision: "0dfdfc57ca068470ccfb93c4501cebc555c9054d";
7
+ readonly manifest: "packages/ui/registry.json";
8
+ readonly root: "https://ui.bklit.com/r/";
9
+ };
10
+ readonly kokonut: {
11
+ readonly repo: "kokonut-labs/kokonutui";
12
+ readonly revision: "83eec6d982d400a18438001a8efdbac1f159dd43";
13
+ readonly manifest: "registry.json";
14
+ readonly root: "https://kokonutui.com/r/";
15
+ };
16
+ };
17
+ declare const itemSchema: z.ZodObject<{
18
+ name: z.ZodString;
19
+ type: z.ZodEnum<{
20
+ "registry:component": "registry:component";
21
+ "registry:block": "registry:block";
22
+ "registry:example": "registry:example";
23
+ "registry:hook": "registry:hook";
24
+ "registry:lib": "registry:lib";
25
+ "registry:ui": "registry:ui";
26
+ "registry:style": "registry:style";
27
+ "registry:theme": "registry:theme";
28
+ "registry:file": "registry:file";
29
+ }>;
30
+ title: z.ZodOptional<z.ZodString>;
31
+ description: z.ZodOptional<z.ZodString>;
32
+ files: z.ZodArray<z.ZodObject<{
33
+ path: z.ZodString;
34
+ type: z.ZodOptional<z.ZodString>;
35
+ target: z.ZodOptional<z.ZodString>;
36
+ content: z.ZodOptional<z.ZodString>;
37
+ }, z.core.$strict>>;
38
+ dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ devDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
+ registryDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ css: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
42
+ cssVars: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
43
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
44
+ categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
45
+ docs: z.ZodOptional<z.ZodString>;
46
+ author: z.ZodOptional<z.ZodString>;
47
+ $schema: z.ZodOptional<z.ZodString>;
48
+ tailwind: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
49
+ }, z.core.$strict>;
50
+ export type RegistryItem = z.infer<typeof itemSchema>;
51
+ export interface RegistrySource {
52
+ id: string;
53
+ item: RegistryItem;
54
+ url: string;
55
+ payloadHash: string;
56
+ inventoryRevision?: string;
57
+ hostedMatchesRevision: "not-verified";
58
+ dependencies: string[];
59
+ attribution: string;
60
+ }
61
+ export declare const payloadHash: (text: string) => string;
62
+ export declare function registryPath(value: string): string;
63
+ export declare function registryUrl(value: string): URL;
64
+ export declare function registryKey(value: string): string;
65
+ export declare function validateRegistryItem(input: unknown, source?: boolean): RegistryItem;
66
+ export declare function resolveRegistryFile(source: RegistrySource, selector: string): {
67
+ path: string;
68
+ type?: string | undefined;
69
+ target?: string | undefined;
70
+ content?: string | undefined;
71
+ };
72
+ export declare const MOTION_GUIDANCE: {
73
+ kind: string;
74
+ package: string;
75
+ import: string;
76
+ documentation: string;
77
+ guidance: string;
78
+ families: string[];
79
+ };
80
+ /** Lazy, bounded per-session cache; every fetch and redirect respects current network policy. */
81
+ export declare class UiRegistry {
82
+ private getNetworkPolicy?;
83
+ private fetcher;
84
+ private cache;
85
+ private cacheBytes;
86
+ constructor(getNetworkPolicy?: GetNetworkPolicy | undefined, fetcher?: typeof fetch);
87
+ fetchText(value: string, signal?: AbortSignal): Promise<{
88
+ text: string;
89
+ url: string;
90
+ hash: string;
91
+ }>;
92
+ search(query?: string, signal?: AbortSignal): Promise<{
93
+ id: string;
94
+ name: string;
95
+ description?: string;
96
+ type: string;
97
+ }[]>;
98
+ inspect(value: string, signal?: AbortSignal): Promise<RegistrySource>;
99
+ closure(value: string, signal?: AbortSignal): Promise<RegistrySource[]>;
100
+ }
101
+ export {};
@@ -0,0 +1,291 @@
1
+ import { createHash } from "node:crypto";
2
+ import { z } from "zod";
3
+ import { checkUrlPolicy } from "./network-guard.js";
4
+ export const UI_PROVIDERS = {
5
+ bklit: {
6
+ repo: "bklit/bklit-ui",
7
+ revision: "0dfdfc57ca068470ccfb93c4501cebc555c9054d",
8
+ manifest: "packages/ui/registry.json",
9
+ root: "https://ui.bklit.com/r/",
10
+ },
11
+ kokonut: {
12
+ repo: "kokonut-labs/kokonutui",
13
+ revision: "83eec6d982d400a18438001a8efdbac1f159dd43",
14
+ manifest: "registry.json",
15
+ root: "https://kokonutui.com/r/",
16
+ },
17
+ };
18
+ const slug = z.string().regex(/^[a-z0-9][a-z0-9-]{0,99}$/);
19
+ const fileSchema = z
20
+ .object({
21
+ path: z.string().max(240),
22
+ type: z.string().optional(),
23
+ target: z.string().max(240).optional(),
24
+ content: z.string().max(500000).optional(),
25
+ })
26
+ .strict();
27
+ const itemSchema = z
28
+ .object({
29
+ name: slug,
30
+ type: z.enum([
31
+ "registry:component",
32
+ "registry:block",
33
+ "registry:example",
34
+ "registry:hook",
35
+ "registry:lib",
36
+ "registry:ui",
37
+ "registry:style",
38
+ "registry:theme",
39
+ "registry:file",
40
+ ]),
41
+ title: z.string().optional(),
42
+ description: z.string().optional(),
43
+ files: z.array(fileSchema).max(150),
44
+ dependencies: z.array(z.string().max(300)).max(100).optional(),
45
+ devDependencies: z.array(z.string().max(300)).max(100).optional(),
46
+ registryDependencies: z.array(z.string().max(300)).max(100).optional(),
47
+ css: z.record(z.string(), z.unknown()).optional(),
48
+ cssVars: z.record(z.string(), z.unknown()).optional(),
49
+ meta: z.record(z.string(), z.unknown()).optional(),
50
+ categories: z.array(z.string()).optional(),
51
+ docs: z.string().optional(),
52
+ author: z.string().optional(),
53
+ $schema: z.string().optional(),
54
+ tailwind: z.record(z.string(), z.unknown()).optional(),
55
+ })
56
+ .strict();
57
+ export const payloadHash = (text) => createHash("sha256").update(text).digest("hex");
58
+ export function registryPath(value) {
59
+ // A leading slash in hosted source paths is a registry convention, not an absolute target.
60
+ const normalized = value.replace(/^\//, "");
61
+ if (!normalized ||
62
+ !/^(?:[a-zA-Z0-9_@().-]+\/)*[a-zA-Z0-9_@().-]+$/.test(normalized) ||
63
+ normalized.split("/").some((p) => p === "." || p === ".."))
64
+ throw new Error("Invalid registry path");
65
+ return normalized;
66
+ }
67
+ export function registryUrl(value) {
68
+ const url = new URL(value);
69
+ if (url.protocol !== "https:" ||
70
+ url.port ||
71
+ url.username ||
72
+ url.password ||
73
+ url.search ||
74
+ url.hash ||
75
+ /%|\\/.test(value))
76
+ throw new Error("Blocked registry URL");
77
+ const allowed = Object.values(UI_PROVIDERS).some((p) => url.href === `https://raw.githubusercontent.com/${p.repo}/${p.revision}/${p.manifest}` ||
78
+ url.href === `https://raw.githubusercontent.com/${p.repo}/${p.revision}/LICENSE` ||
79
+ (url.href.startsWith(p.root) && /^[a-z0-9-]+\.json$/.test(url.href.slice(p.root.length))));
80
+ if (!allowed &&
81
+ !(url.hostname === "ui.shadcn.com" &&
82
+ /^\/r\/styles\/new-york\/[a-z0-9-]+\.json$/.test(url.pathname)))
83
+ throw new Error("Blocked registry host/path");
84
+ return url;
85
+ }
86
+ export function registryKey(value) {
87
+ if (/^(bklit|kokonut|shadcn):/.test(value)) {
88
+ const [provider, name, extra] = value.split(":");
89
+ if (extra !== undefined)
90
+ throw new Error("Invalid item ID");
91
+ return `${provider}:${slug.parse(name)}`;
92
+ }
93
+ if (value.startsWith("@bklit/"))
94
+ return `bklit:${slug.parse(value.slice(7))}`;
95
+ if (value.startsWith("@kokonutui/"))
96
+ return `kokonut:${slug.parse(value.slice(11))}`;
97
+ if (value.startsWith("https://")) {
98
+ const url = registryUrl(value);
99
+ for (const [provider, p] of Object.entries(UI_PROVIDERS)) {
100
+ if (url.href.startsWith(p.root))
101
+ return `${provider}:${slug.parse(url.pathname.slice(3, -5))}`;
102
+ }
103
+ if (url.hostname === "ui.shadcn.com")
104
+ return `shadcn:${slug.parse(url.pathname.split("/").at(-1).slice(0, -5))}`;
105
+ throw new Error("Not an item URL");
106
+ }
107
+ return `shadcn:${slug.parse(value)}`;
108
+ }
109
+ export function validateRegistryItem(input, source = false) {
110
+ const item = itemSchema.parse(input);
111
+ const seen = new Set();
112
+ for (const file of item.files) {
113
+ const key = registryPath(file.path);
114
+ if (seen.has(key))
115
+ throw new Error("Duplicate registry source path");
116
+ seen.add(key);
117
+ if (file.target)
118
+ registryPath(file.target);
119
+ if (source && (file.content === undefined || Buffer.byteLength(file.content) > 500000))
120
+ throw new Error("Missing or oversized registry source");
121
+ }
122
+ return item;
123
+ }
124
+ export function resolveRegistryFile(source, selector) {
125
+ const matches = source.item.files.filter((file, index) => selector === `${source.id}#${index}` ||
126
+ registryPath(file.path) === selector.replace(/^\//, "") ||
127
+ (file.target && registryPath(file.target) === selector.replace(/^\//, "")));
128
+ if (matches.length !== 1)
129
+ throw new Error(`File selector matched ${matches.length} files; use a stable item#file-index ID`);
130
+ return matches[0];
131
+ }
132
+ export const MOTION_GUIDANCE = {
133
+ kind: "animation-api",
134
+ package: "motion",
135
+ import: "motion/react",
136
+ documentation: "https://motion.dev/docs/react",
137
+ guidance: "Use motion elements for declarative animation, AnimatePresence for exit transitions, useReducedMotion for user preferences, and useAnimate for scoped imperative animation. Hooks need real consumers. Preserve callbacks, keyboard semantics and teardown; do not mix competing animation owners. Check installed version before selecting APIs. Motion+ paid assets are excluded.",
138
+ families: [
139
+ "animate",
140
+ "exit",
141
+ "layout",
142
+ "gestures",
143
+ "scroll",
144
+ "drag",
145
+ "variants",
146
+ "spring",
147
+ "motion-values",
148
+ "transforms",
149
+ "reduced-motion",
150
+ "imperative",
151
+ "presence",
152
+ ],
153
+ };
154
+ /** Lazy, bounded per-session cache; every fetch and redirect respects current network policy. */
155
+ export class UiRegistry {
156
+ getNetworkPolicy;
157
+ fetcher;
158
+ cache = new Map();
159
+ cacheBytes = 0;
160
+ constructor(getNetworkPolicy, fetcher = fetch) {
161
+ this.getNetworkPolicy = getNetworkPolicy;
162
+ this.fetcher = fetcher;
163
+ }
164
+ async fetchText(value, signal) {
165
+ let url = registryUrl(value);
166
+ const combined = AbortSignal.any([AbortSignal.timeout(20000), ...(signal ? [signal] : [])]);
167
+ for (let redirects = 0; redirects < 4; redirects++) {
168
+ combined.throwIfAborted();
169
+ const blocked = checkUrlPolicy(url.href, this.getNetworkPolicy);
170
+ if (blocked)
171
+ throw new Error(blocked);
172
+ const cached = this.cache.get(url.href);
173
+ if (cached)
174
+ return cached;
175
+ const response = await this.fetcher(url, { redirect: "manual", signal: combined });
176
+ if ([301, 302, 303, 307, 308].includes(response.status)) {
177
+ await response.body?.cancel();
178
+ const location = response.headers.get("location");
179
+ if (!location)
180
+ throw new Error("Registry redirect missing location");
181
+ url = registryUrl(new URL(location, url).href);
182
+ continue;
183
+ }
184
+ if (!response.ok || !response.body) {
185
+ await response.body?.cancel();
186
+ throw new Error(`Registry HTTP ${response.status}`);
187
+ }
188
+ const reader = response.body.getReader();
189
+ const chunks = [];
190
+ let size = 0;
191
+ try {
192
+ for (;;) {
193
+ combined.throwIfAborted();
194
+ const { value: chunk, done } = await reader.read();
195
+ if (done)
196
+ break;
197
+ size += chunk.byteLength;
198
+ if (size > 3000000)
199
+ throw new Error("Registry payload exceeds 3 MB");
200
+ chunks.push(chunk);
201
+ }
202
+ }
203
+ finally {
204
+ await reader.cancel();
205
+ reader.releaseLock();
206
+ }
207
+ const text = Buffer.concat(chunks).toString("utf8");
208
+ const result = { text, url: url.href, hash: payloadHash(text) };
209
+ while (this.cache.size >= 32 || this.cacheBytes + size > 12000000) {
210
+ const oldest = this.cache.keys().next().value;
211
+ if (!oldest)
212
+ break;
213
+ this.cacheBytes -= Buffer.byteLength(this.cache.get(oldest).text);
214
+ this.cache.delete(oldest);
215
+ }
216
+ this.cache.set(url.href, result);
217
+ this.cacheBytes += Buffer.byteLength(text);
218
+ return result;
219
+ }
220
+ throw new Error("Registry redirect limit");
221
+ }
222
+ async search(query = "", signal) {
223
+ const results = [];
224
+ for (const [provider, p] of Object.entries(UI_PROVIDERS)) {
225
+ const raw = await this.fetchText(`https://raw.githubusercontent.com/${p.repo}/${p.revision}/${p.manifest}`, signal);
226
+ const manifest = JSON.parse(raw.text);
227
+ const parsed = z.object({ items: z.array(z.unknown()).max(220) }).parse(manifest);
228
+ for (const value of parsed.items) {
229
+ const item = validateRegistryItem(value);
230
+ if (`${item.name} ${item.title ?? ""} ${item.description ?? ""}`
231
+ .toLowerCase()
232
+ .includes(query.toLowerCase())) {
233
+ results.push({
234
+ id: `${provider}:${item.name}`,
235
+ name: item.name,
236
+ description: item.description,
237
+ type: item.type,
238
+ });
239
+ }
240
+ }
241
+ }
242
+ return results;
243
+ }
244
+ async inspect(value, signal) {
245
+ const id = registryKey(value);
246
+ const [provider, name] = id.split(":");
247
+ const p = UI_PROVIDERS[provider];
248
+ const url = p
249
+ ? `${p.root}${name}.json`
250
+ : `https://ui.shadcn.com/r/styles/new-york/${name}.json`;
251
+ const raw = await this.fetchText(url, signal);
252
+ const item = validateRegistryItem(JSON.parse(raw.text), true);
253
+ if (item.name !== name)
254
+ throw new Error("Registry name mismatch");
255
+ return {
256
+ id,
257
+ item,
258
+ url: raw.url,
259
+ payloadHash: raw.hash,
260
+ inventoryRevision: p?.revision,
261
+ hostedMatchesRevision: "not-verified",
262
+ dependencies: (item.registryDependencies ?? []).map(registryKey),
263
+ attribution: p
264
+ ? `Public ${provider} source: https://github.com/${p.repo}; preserve notices. License: https://raw.githubusercontent.com/${p.repo}/${p.revision}/LICENSE. Review dependency licenses separately (including Iconists); public availability is not a license grant. Paid assets excluded.`
265
+ : "shadcn/ui supporting registry source; preserve notices and verify dependency licenses.",
266
+ };
267
+ }
268
+ async closure(value, signal) {
269
+ const result = [];
270
+ const active = new Set();
271
+ const seen = new Set();
272
+ const visit = async (id, depth) => {
273
+ if (active.has(id))
274
+ throw new Error("Registry dependency cycle");
275
+ if (seen.has(id))
276
+ return;
277
+ if (depth > 16 || seen.size >= 180)
278
+ throw new Error("Registry graph limit");
279
+ seen.add(id);
280
+ active.add(id);
281
+ const source = await this.inspect(id, signal);
282
+ for (const dependency of source.dependencies)
283
+ await visit(dependency, depth + 1);
284
+ active.delete(id);
285
+ result.push(source);
286
+ };
287
+ await visit(registryKey(value), 0);
288
+ return result;
289
+ }
290
+ }
291
+ //# sourceMappingURL=ui-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-registry.js","sourceRoot":"","sources":["../../src/core/ui-registry.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ import { LspManager } from "../core/lsp/manager.js";
4
4
  import { createReadTool } from "./read.js";
5
5
  import { getVideoByteLimit } from "../core/model-registry.js";
6
6
  import { createWriteTool } from "./write.js";
7
+ import { UiRegistry } from "../core/ui-registry.js";
8
+ import { adoptionOperations } from "../core/ui-adoption.js";
9
+ import { createUiRegistryTool } from "./ui-registry.js";
10
+ import { createUiAdoptTool } from "./ui-adopt.js";
7
11
  import { createEditTool } from "./edit.js";
8
12
  import { createBashTool } from "./bash.js";
9
13
  import { createFindTool } from "./find.js";
@@ -121,6 +125,13 @@ export async function createTools(cwd, opts) {
121
125
  // Auth not loaded yet or check failed — skip the tool silently.
122
126
  }
123
127
  }
128
+ const uiRegistry = new UiRegistry(opts?.getNetworkPolicy);
129
+ tools.push(createUiRegistryTool(uiRegistry));
130
+ // Adoption currently supports the local filesystem only. Never silently write
131
+ // locally when a host supplied remote operations.
132
+ if (ops === localOperations) {
133
+ tools.push(createUiAdoptTool(cwd, uiRegistry, createWriteTool(cwd, readFiles, adoptionOperations(cwd), planModeRef, opts?.onFileMutated, opts?.onPreFileMutation, getDiagnostics, opts?.getWriteGuardSettings), planModeRef));
134
+ }
124
135
  const rebuildReadTool = (model) => createReadTool(cwd, readFiles, ops, opts?.onFileRead, getVideoByteLimit(model));
125
136
  return { tools, processManager, rebuildReadTool, lspManager, subAgentManager };
126
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAyB,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAA0B,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;AASvE,6EAA6E;AAC7E,wEAAwE;AACxE,4CAA4C;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAmHvD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAW,EACX,IAAyB;IAEzB,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,IAAI,EAAE,UAAU,IAAI,eAAe,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,CAAC;IAEtC,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,IAAI,GAAG,KAAK,eAAe,CAAC;IAC7E,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,MAAM,cAAc,GAAG,UAAU;QAC/B,CAAC,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAe,EAAE,MAAmB,EAAmB,EAAE,CAChF,IAAI,EAAE,mBAAmB;YACvB,CAAC,CAAC,UAAU,CAAC,0BAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;YAClE,CAAC,CAAC,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;QACnE,CAAC,CAAC,SAAS,CAAC;IAEd,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,cAAc,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,KAAK,GAAgB;QACzB,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC;QACrE,eAAe,CACb,GAAG,EACH,SAAS,EACT,GAAG,EACH,WAAW,EACX,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,iBAAiB,EACvB,cAAc,EACd,IAAI,EAAE,qBAAqB,CAC5B;QACD,cAAc,CACZ,GAAG,EACH,SAAS,EACT,GAAG,EACH,WAAW,EACX,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,iBAAiB,EACvB,cAAc,EACd,IAAI,EAAE,qBAAqB,CAC5B;QACD,cAAc,CACZ,GAAG,EACH,cAAc,EACd,GAAG,EACH,WAAW,EACX,SAAS,EACT,IAAI,EAAE,gBAAgB,EACtB,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAC7D;QACD,cAAc,CAAC,GAAG,CAAC;QACnB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAC1E,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC;QAC9B,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC;QACvC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;QACtB,oBAAoB,CAAC,GAAG,CAAC;QACzB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAC1C,oBAAoB,CAAC,cAAc,CAAC;QACpC,kBAAkB,CAAC,cAAc,CAAC;QAClC,kBAAkB,CAAC,cAAc,CAAC;QAClC,eAAe,CAAC,GAAG,CAAC;QACpB,oBAAoB,CAAC,GAAG,CAAC;KAC1B,CAAC;IAEF,6EAA6E;IAC7E,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC9F,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;IAE7D,uEAAuE;IACvE,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,eAA4C,CAAC;IACjD,IACE,CAAC,IAAI,EAAE,gBAAgB;QACvB,IAAI,EAAE,MAAM;QACZ,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACtB,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,KAAK,EACV,CAAC;QACD,KAAK,CAAC,IAAI,CACR,kBAAkB,CAChB,GAAG,EACH,IAAI,CAAC,MAAM,EACX,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI,CAAC,QAAS,EAC5C,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,KAAM,EACtC,IAAI,CAAC,WAAW,EAChB,WAAW,CACZ,CACF,CAAC;QACF,eAAe,GAAG,IAAI,eAAe,CAAC;YACpC,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,IAAI,CAAC,QAAS;YACzD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,KAAM;YAChD,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC7C,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,IAAI,IAAI,EAAE,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,KAAa,EAAa,EAAE,CACnD,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAElF,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AACjF,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAA0B,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,19 @@
11
11
  * Cross-tool preferences for those tools live in TOOL_STEERING instead.
12
12
  */
13
13
  export const TOOL_PROMPT_HINTS = {
14
+ ui_registry: "Inspect public Bklit/Kokonut components, shadcn source and Motion APIs.",
15
+ ui_adopt: "Plan/adopt Bklit/Kokonut source without overwrites or installs.",
14
16
  code_nav: "Language-server navigation: `definition`, `references`, `symbols` (file outline), `hover` " +
15
17
  "(type/signature). Exact and cross-file, unlike text search.",
16
18
  code_search: "Find the most relevant functions/classes/types for a query via AST chunking + BM25 " +
17
19
  "ranking. Returns whole ranked symbol chunks with `file:line → symbol` headers — far fewer " +
18
20
  "tokens than reading whole files. TS/JS, Python, Go, Rust, Java, C#.",
19
- source_path: "Resolve installed package/repo source via opensrc. Inspect the returned path with read/grep/find/ls before assuming a dependency API.",
21
+ source_path: "Resolve dependency source via opensrc; inspect it before assuming APIs.",
20
22
  web_search: "Search the web. Use before web_fetch to find pages; supports include/exclude_domains and a time_range recency filter.",
21
23
  web_fetch: "Fetch page content as Markdown (or text/html). Pass `urls` to fetch many at once; reads PDFs, follows safe redirects, and prefers a site's /llms.txt for docs.",
22
24
  task_output: "Read new output from a background process by id; wait_ms blocks until it exits.",
23
25
  task_stop: "Stop a background process by id.",
24
- screenshot: "Capture a headless-browser PNG of a URL or dev server to visually verify rendered UI; supports waits, click/type actions and viewport size.",
26
+ screenshot: "Verify rendered UI with browser screenshots, click/type actions and viewport controls.",
25
27
  send_message: "Queue steering into a running child agent without starting another turn.",
26
28
  followup_task: "Start another turn in an idle child agent, preserving its context.",
27
29
  wait_agent: "Block until named child agents finish and return their snapshots; child agents " +
@@ -40,7 +42,7 @@ export const TOOL_PROMPT_HINTS = {
40
42
  "integrations (MCP servers) — e.g. 'take a screenshot', 'search public GitHub code'. " +
41
43
  "Matches become callable on your next step. Check the catalog BEFORE concluding you " +
42
44
  "lack a capability.",
43
- generate_image: "Generate or edit images via OpenAI's GPT Image 2.5 (Flare/Sunburst). Only when the user explicitly asks — never proactively. Pass `image` to edit an existing file.",
45
+ generate_image: "OpenAI image generation/editing: only on explicit user request, never proactively. Pass `image` to edit.",
44
46
  steroids: "Local corpus of real, current open-source repos. `search` (regex, NOT semantic) for how projects do X, `define` for where a symbol lives, `show` to read the file. Topic not covered = corpus gap: run `discover`, don't retry variants.",
45
47
  };
46
48
  /**
@@ -115,6 +117,8 @@ export const BUILTIN_TOOL_NAMES = [
115
117
  "task_stop",
116
118
  "tasks",
117
119
  "tool_search",
120
+ "ui_registry",
121
+ "ui_adopt",
118
122
  "wait_agent",
119
123
  "web_fetch",
120
124
  "web_search",
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-hints.js","sourceRoot":"","sources":["../../src/tools/prompt-hints.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ declare const SteroidsParams: z.ZodObject<{
4
4
  action: z.ZodEnum<{
5
5
  search: "search";
6
6
  files: "files";
7
- show: "show";
8
7
  add: "add";
8
+ show: "show";
9
9
  repos: "repos";
10
10
  define: "define";
11
11
  discover: "discover";
@@ -51,6 +51,8 @@ export const CORE_TOOL_NAMES = [
51
51
  * (the child-agent control cluster follows `spawn_agent`).
52
52
  */
53
53
  export const DEFERRED_TOOL_NAMES = [
54
+ "ui_registry",
55
+ "ui_adopt",
54
56
  "source_path",
55
57
  "screenshot",
56
58
  "generate_image",
@@ -1 +1 @@
1
- {"version":3,"file":"tool-tiers.js","sourceRoot":"","sources":["../../src/tools/tool-tiers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,0EAA0E;IAC1E,sEAAsE;IACtE,4EAA4E;IAC5E,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;IACX,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;IACb,OAAO;IACP,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,OAAO;IACP,cAAc;IACd,eAAe;IACf,YAAY;IACZ,aAAa;IACb,iBAAiB;CAClB,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AASvE;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"tool-tiers.js","sourceRoot":"","sources":["../../src/tools/tool-tiers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,0EAA0E;IAC1E,sEAAsE;IACtE,4EAA4E;IAC5E,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,IAAI;IACJ,aAAa;IACb,UAAU;IACV,YAAY;IACZ,WAAW;IACX,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;IACb,OAAO;IACP,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,aAAa;IACb,UAAU;IACV,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,OAAO;IACP,cAAc;IACd,eAAe;IACf,YAAY;IACZ,aAAa;IACb,iBAAiB;CAClB,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AASvE;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { z } from "zod";
2
+ import type { AgentTool } from "@kenkaiiii/gg-agent";
3
+ import type { UiRegistry } from "../core/ui-registry.js";
4
+ import type { createWriteTool } from "./write.js";
5
+ declare const params: z.ZodObject<{
6
+ action: z.ZodEnum<{
7
+ plan: "plan";
8
+ apply: "apply";
9
+ }>;
10
+ id: z.ZodString;
11
+ planHash: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>;
13
+ export declare function createUiAdoptTool(cwd: string, registry: UiRegistry, writer: ReturnType<typeof createWriteTool>, planModeRef?: {
14
+ current: boolean;
15
+ }): AgentTool<typeof params>;
16
+ export {};