unity-agentic-tools 0.5.0 → 0.6.1
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 +49 -103
- package/dist/animator-utils.d.ts +46 -0
- package/dist/animator-utils.d.ts.map +1 -0
- package/dist/animator-utils.js +161 -0
- package/dist/animator-utils.js.map +1 -0
- package/dist/bridge-install.d.ts +11 -0
- package/dist/bridge-install.d.ts.map +1 -0
- package/dist/bridge-install.js +23 -0
- package/dist/bridge-install.js.map +1 -0
- package/dist/build-settings.d.ts +43 -0
- package/dist/build-settings.d.ts.map +1 -0
- package/dist/build-settings.js +196 -0
- package/dist/build-settings.js.map +1 -0
- package/dist/build-version.d.ts +40 -0
- package/dist/build-version.d.ts.map +1 -0
- package/dist/build-version.js +114 -0
- package/dist/build-version.js.map +1 -0
- package/dist/class-ids.d.ts +30 -0
- package/dist/class-ids.d.ts.map +1 -0
- package/dist/class-ids.js +322 -0
- package/dist/class-ids.js.map +1 -0
- package/dist/cleanup.d.ts +21 -0
- package/dist/cleanup.d.ts.map +1 -0
- package/dist/cleanup.js +161 -0
- package/dist/cleanup.js.map +1 -0
- package/dist/cli-output.d.ts +7 -0
- package/dist/cli-output.d.ts.map +1 -0
- package/dist/cli-output.js +24 -0
- package/dist/cli-output.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +795 -8143
- package/dist/cli.js.map +1 -0
- package/dist/doc-indexer-cli.js +1 -1
- package/dist/editor-client.d.ts +18 -0
- package/dist/editor-client.d.ts.map +1 -0
- package/dist/editor-client.js +256 -0
- package/dist/editor-client.js.map +1 -0
- package/dist/editor-discovery.d.ts +17 -0
- package/dist/editor-discovery.d.ts.map +1 -0
- package/dist/editor-discovery.js +248 -0
- package/dist/editor-discovery.js.map +1 -0
- package/dist/editor-transport.d.ts +30 -0
- package/dist/editor-transport.d.ts.map +1 -0
- package/dist/editor-transport.js +175 -0
- package/dist/editor-transport.js.map +1 -0
- package/dist/gitignore.d.ts +3 -0
- package/dist/gitignore.d.ts.map +1 -0
- package/dist/gitignore.js +40 -0
- package/dist/gitignore.js.map +1 -0
- package/dist/guid-cache.d.ts +45 -0
- package/dist/guid-cache.d.ts.map +1 -0
- package/dist/guid-cache.js +111 -0
- package/dist/guid-cache.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +743 -8040
- package/dist/index.js.map +1 -0
- package/dist/loaded-protection.d.ts +6 -0
- package/dist/loaded-protection.d.ts.map +1 -0
- package/dist/loaded-protection.js +95 -0
- package/dist/loaded-protection.js.map +1 -0
- package/dist/packages.d.ts +55 -0
- package/dist/packages.d.ts.map +1 -0
- package/dist/packages.js +102 -0
- package/dist/packages.js.map +1 -0
- package/dist/params.d.ts +54 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +106 -0
- package/dist/params.js.map +1 -0
- package/dist/project-search.d.ts +16 -0
- package/dist/project-search.d.ts.map +1 -0
- package/dist/project-search.js +538 -0
- package/dist/project-search.js.map +1 -0
- package/dist/scanner.d.ts +150 -0
- package/dist/scanner.d.ts.map +1 -0
- package/dist/scanner.js +223 -0
- package/dist/scanner.js.map +1 -0
- package/dist/setup.d.ts +25 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +185 -0
- package/dist/setup.js.map +1 -0
- package/dist/types.d.ts +390 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/util.d.ts +2 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +7 -0
- package/dist/util.js.map +1 -0
- package/dist/utils.d.ts +82 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +291 -0
- package/dist/utils.js.map +1 -0
- package/native/unity-file-tools.darwin-arm64.node +0 -0
- package/native/unity-file-tools.darwin-x64.node +0 -0
- package/native/unity-file-tools.linux-x64-gnu.node +0 -0
- package/native/unity-file-tools.win32-x64-msvc.node +0 -0
- package/package.json +4 -3
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
export interface GameObject {
|
|
2
|
+
name: string;
|
|
3
|
+
file_id: string;
|
|
4
|
+
active: boolean;
|
|
5
|
+
tag?: string;
|
|
6
|
+
layer?: number;
|
|
7
|
+
component_count?: number;
|
|
8
|
+
components?: Component[];
|
|
9
|
+
match_score?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface GameObjectWithComponents {
|
|
12
|
+
name: string;
|
|
13
|
+
file_id: string;
|
|
14
|
+
active: boolean;
|
|
15
|
+
tag?: string;
|
|
16
|
+
layer?: number;
|
|
17
|
+
component_count?: number;
|
|
18
|
+
components: Component[];
|
|
19
|
+
match_score?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface Component {
|
|
22
|
+
type: string;
|
|
23
|
+
class_id: number;
|
|
24
|
+
file_id: string;
|
|
25
|
+
script_path?: string;
|
|
26
|
+
script_guid?: string;
|
|
27
|
+
script_name?: string;
|
|
28
|
+
properties?: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
export interface GameObjectDetail {
|
|
31
|
+
name: string;
|
|
32
|
+
file_id: string;
|
|
33
|
+
active: boolean;
|
|
34
|
+
tag: string;
|
|
35
|
+
layer: number;
|
|
36
|
+
depth?: number;
|
|
37
|
+
components: Component[];
|
|
38
|
+
children?: string[];
|
|
39
|
+
parent_transform_id?: string | null;
|
|
40
|
+
is_error?: boolean;
|
|
41
|
+
error?: string;
|
|
42
|
+
isPrefabInstance?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface PrefabInstanceInfo {
|
|
45
|
+
name: string;
|
|
46
|
+
fileId: string;
|
|
47
|
+
sourceGuid: string;
|
|
48
|
+
sourcePrefab?: string;
|
|
49
|
+
modificationsCount: number;
|
|
50
|
+
}
|
|
51
|
+
export interface PrefabModification {
|
|
52
|
+
targetFileId: string;
|
|
53
|
+
targetGuid?: string;
|
|
54
|
+
propertyPath: string;
|
|
55
|
+
value: string;
|
|
56
|
+
}
|
|
57
|
+
export interface FindResult {
|
|
58
|
+
name: string;
|
|
59
|
+
fileId: string;
|
|
60
|
+
resultType: string;
|
|
61
|
+
active?: boolean;
|
|
62
|
+
matchScore?: number;
|
|
63
|
+
sourceGuid?: string;
|
|
64
|
+
sourcePrefab?: string;
|
|
65
|
+
modificationsCount?: number;
|
|
66
|
+
}
|
|
67
|
+
export interface SceneInspection {
|
|
68
|
+
file: string;
|
|
69
|
+
count: number;
|
|
70
|
+
gameobjects: GameObjectDetail[];
|
|
71
|
+
prefabInstances?: PrefabInstanceInfo[];
|
|
72
|
+
}
|
|
73
|
+
export interface InspectOptions {
|
|
74
|
+
file: string;
|
|
75
|
+
identifier?: string;
|
|
76
|
+
include_properties?: boolean;
|
|
77
|
+
verbose?: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface ScanOptions {
|
|
80
|
+
verbose?: boolean;
|
|
81
|
+
}
|
|
82
|
+
export interface PaginationOptions {
|
|
83
|
+
file: string;
|
|
84
|
+
include_properties?: boolean;
|
|
85
|
+
verbose?: boolean;
|
|
86
|
+
page_size?: number;
|
|
87
|
+
cursor?: number;
|
|
88
|
+
max_depth?: number;
|
|
89
|
+
filter_component?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface PaginatedInspection {
|
|
92
|
+
file: string;
|
|
93
|
+
total: number;
|
|
94
|
+
totalInScene: number;
|
|
95
|
+
cursor: number;
|
|
96
|
+
next_cursor?: number;
|
|
97
|
+
truncated: boolean;
|
|
98
|
+
page_size: number;
|
|
99
|
+
gameobjects: GameObjectDetail[];
|
|
100
|
+
prefabInstances?: PrefabInstanceInfo[];
|
|
101
|
+
error?: string;
|
|
102
|
+
warning?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface NativeScanner {
|
|
105
|
+
new (): NativeScannerInstance;
|
|
106
|
+
}
|
|
107
|
+
export interface NativeScannerInstance {
|
|
108
|
+
setProjectRoot(path: string): void;
|
|
109
|
+
scanSceneMinimal(file: string): GameObject[];
|
|
110
|
+
scanSceneWithComponents(file: string, options?: ScanOptions): GameObjectWithComponents[];
|
|
111
|
+
scanSceneMetadata(file: string): GameObjectWithComponents[];
|
|
112
|
+
findByName(file: string, pattern: string, fuzzy: boolean): FindResult[];
|
|
113
|
+
inspect(options: {
|
|
114
|
+
file: string;
|
|
115
|
+
identifier?: string;
|
|
116
|
+
includeProperties?: boolean;
|
|
117
|
+
verbose?: boolean;
|
|
118
|
+
}): GameObjectDetail | null;
|
|
119
|
+
inspectAll(file: string, includeProperties: boolean, verbose: boolean): SceneInspection;
|
|
120
|
+
inspectAllPaginated(options: {
|
|
121
|
+
file: string;
|
|
122
|
+
includeProperties?: boolean;
|
|
123
|
+
verbose?: boolean;
|
|
124
|
+
pageSize?: number;
|
|
125
|
+
cursor?: number;
|
|
126
|
+
maxDepth?: number;
|
|
127
|
+
filterComponent?: string;
|
|
128
|
+
}): PaginatedInspection;
|
|
129
|
+
readAsset(file: string, decodeMesh?: boolean): AssetObject[];
|
|
130
|
+
}
|
|
131
|
+
export interface AssetObject {
|
|
132
|
+
class_id: number;
|
|
133
|
+
file_id: string;
|
|
134
|
+
type_name: string;
|
|
135
|
+
name: string;
|
|
136
|
+
properties: Record<string, unknown>;
|
|
137
|
+
script_guid?: string;
|
|
138
|
+
script_path?: string;
|
|
139
|
+
}
|
|
140
|
+
export interface ProjectSearchOptions {
|
|
141
|
+
project_path: string;
|
|
142
|
+
name?: string;
|
|
143
|
+
exact?: boolean;
|
|
144
|
+
component?: string;
|
|
145
|
+
tag?: string;
|
|
146
|
+
layer?: number;
|
|
147
|
+
file_type?: 'scene' | 'prefab' | 'mat' | 'anim' | 'controller' | 'asset' | 'all';
|
|
148
|
+
max_matches?: number;
|
|
149
|
+
}
|
|
150
|
+
export interface ProjectSearchMatch {
|
|
151
|
+
file: string;
|
|
152
|
+
game_object: string;
|
|
153
|
+
file_id: string;
|
|
154
|
+
tag?: string;
|
|
155
|
+
layer?: number;
|
|
156
|
+
components?: string[];
|
|
157
|
+
}
|
|
158
|
+
export interface ProjectSearchResult {
|
|
159
|
+
success: boolean;
|
|
160
|
+
project_path: string;
|
|
161
|
+
total_files_scanned: number;
|
|
162
|
+
total_matches: number;
|
|
163
|
+
files_with_errors?: number;
|
|
164
|
+
cursor?: number;
|
|
165
|
+
truncated: boolean;
|
|
166
|
+
matches: ProjectSearchMatch[];
|
|
167
|
+
error?: string;
|
|
168
|
+
}
|
|
169
|
+
export type ProjectGrepFileType = 'cs' | 'yaml' | 'unity' | 'prefab' | 'asset' | 'mat' | 'anim' | 'controller' | 'all';
|
|
170
|
+
export interface ProjectGrepOptions {
|
|
171
|
+
project_path: string;
|
|
172
|
+
pattern: string;
|
|
173
|
+
file_type?: ProjectGrepFileType;
|
|
174
|
+
max_results?: number;
|
|
175
|
+
context_lines?: number;
|
|
176
|
+
}
|
|
177
|
+
export interface GrepMatch {
|
|
178
|
+
file: string;
|
|
179
|
+
line_number: number;
|
|
180
|
+
line: string;
|
|
181
|
+
context_before?: string[];
|
|
182
|
+
context_after?: string[];
|
|
183
|
+
}
|
|
184
|
+
export interface ProjectGrepResult {
|
|
185
|
+
success: boolean;
|
|
186
|
+
project_path: string;
|
|
187
|
+
pattern: string;
|
|
188
|
+
total_files_scanned: number;
|
|
189
|
+
total_matches: number;
|
|
190
|
+
truncated: boolean;
|
|
191
|
+
matches: GrepMatch[];
|
|
192
|
+
error?: string;
|
|
193
|
+
}
|
|
194
|
+
export interface CSharpTypeRef {
|
|
195
|
+
/** Type name (e.g., "PlayerController") */
|
|
196
|
+
name: string;
|
|
197
|
+
/** Kind: "class", "struct", "enum", or "interface" */
|
|
198
|
+
kind: string;
|
|
199
|
+
/** Namespace (e.g., "UnityEngine.UI") */
|
|
200
|
+
namespace: string | null;
|
|
201
|
+
/** Source file or DLL path relative to project root */
|
|
202
|
+
filePath: string;
|
|
203
|
+
/** GUID from adjacent .meta file (null for DLL types) */
|
|
204
|
+
guid: string | null;
|
|
205
|
+
}
|
|
206
|
+
/** A serializable field extracted from a C# type. */
|
|
207
|
+
export interface CSharpFieldRef {
|
|
208
|
+
/** Field name (e.g., "health", "moveSpeed") */
|
|
209
|
+
name: string;
|
|
210
|
+
/** C# type name (e.g., "int", "Vector3", "List<string>", "GameObject") */
|
|
211
|
+
typeName: string;
|
|
212
|
+
/** Whether [SerializeField] attribute is present */
|
|
213
|
+
hasSerializeField: boolean;
|
|
214
|
+
/** Whether [SerializeReference] attribute is present */
|
|
215
|
+
hasSerializeReference: boolean;
|
|
216
|
+
/** Whether the field is public */
|
|
217
|
+
isPublic: boolean;
|
|
218
|
+
/** Which type this field belongs to */
|
|
219
|
+
ownerType: string;
|
|
220
|
+
}
|
|
221
|
+
/** Extended type info with fields and base class, extracted on demand. */
|
|
222
|
+
export interface CSharpTypeInfo {
|
|
223
|
+
/** Type name (e.g., "PlayerController") */
|
|
224
|
+
name: string;
|
|
225
|
+
/** Kind: "class", "struct", "enum", or "interface" */
|
|
226
|
+
kind: string;
|
|
227
|
+
/** Namespace (e.g., "UnityEngine.UI") */
|
|
228
|
+
namespace: string | null;
|
|
229
|
+
/** Base class (e.g., "MonoBehaviour", "ScriptableObject") */
|
|
230
|
+
baseClass: string | null;
|
|
231
|
+
/** Serializable fields */
|
|
232
|
+
fields: CSharpFieldRef[];
|
|
233
|
+
}
|
|
234
|
+
export interface EditorConfig {
|
|
235
|
+
port: number;
|
|
236
|
+
pid: number;
|
|
237
|
+
version: string;
|
|
238
|
+
project_path?: string;
|
|
239
|
+
source?: 'lockfile' | 'discovered' | 'cached' | 'manual';
|
|
240
|
+
}
|
|
241
|
+
export interface EditorBridgeInfo {
|
|
242
|
+
port: number;
|
|
243
|
+
pid: number;
|
|
244
|
+
version: string;
|
|
245
|
+
project_path: string;
|
|
246
|
+
project_name?: string;
|
|
247
|
+
unity_version?: string;
|
|
248
|
+
}
|
|
249
|
+
export interface CallEditorOptions {
|
|
250
|
+
project_path: string;
|
|
251
|
+
method: string;
|
|
252
|
+
params?: Record<string, unknown>;
|
|
253
|
+
timeout?: number;
|
|
254
|
+
port?: number;
|
|
255
|
+
/** Number of retry attempts for transient connection errors (default: 2) */
|
|
256
|
+
retries?: number;
|
|
257
|
+
/** Fire-and-forget: send request and return immediately without waiting for response */
|
|
258
|
+
no_wait?: boolean;
|
|
259
|
+
}
|
|
260
|
+
export interface StreamEditorOptions extends CallEditorOptions {
|
|
261
|
+
on_event: (event: RpcEvent) => void;
|
|
262
|
+
}
|
|
263
|
+
export interface RpcRequest {
|
|
264
|
+
jsonrpc: "2.0";
|
|
265
|
+
id: string;
|
|
266
|
+
method: string;
|
|
267
|
+
params?: Record<string, unknown>;
|
|
268
|
+
}
|
|
269
|
+
export interface RpcResponse {
|
|
270
|
+
jsonrpc: "2.0";
|
|
271
|
+
id: string;
|
|
272
|
+
result?: unknown;
|
|
273
|
+
error?: {
|
|
274
|
+
code: number;
|
|
275
|
+
message: string;
|
|
276
|
+
data?: unknown;
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
export interface RpcEvent {
|
|
280
|
+
jsonrpc: "2.0";
|
|
281
|
+
method: string;
|
|
282
|
+
params?: Record<string, unknown>;
|
|
283
|
+
}
|
|
284
|
+
export interface EditorStatusResult {
|
|
285
|
+
port: number;
|
|
286
|
+
pid: number;
|
|
287
|
+
version: string;
|
|
288
|
+
connected: boolean;
|
|
289
|
+
}
|
|
290
|
+
export interface PlayModeResult {
|
|
291
|
+
state: string;
|
|
292
|
+
isPlaying?: boolean;
|
|
293
|
+
isPaused?: boolean;
|
|
294
|
+
}
|
|
295
|
+
export interface ConsoleLogEntry {
|
|
296
|
+
message: string;
|
|
297
|
+
stackTrace: string;
|
|
298
|
+
type: string;
|
|
299
|
+
timestamp: string;
|
|
300
|
+
}
|
|
301
|
+
export interface ScreenshotResult {
|
|
302
|
+
success: boolean;
|
|
303
|
+
path: string;
|
|
304
|
+
superSize?: number;
|
|
305
|
+
}
|
|
306
|
+
export interface TestRunResult {
|
|
307
|
+
passed: number;
|
|
308
|
+
failed: number;
|
|
309
|
+
skipped: number;
|
|
310
|
+
duration: number;
|
|
311
|
+
results: TestResult[];
|
|
312
|
+
}
|
|
313
|
+
export interface TestResult {
|
|
314
|
+
name: string;
|
|
315
|
+
fullName: string;
|
|
316
|
+
status: string;
|
|
317
|
+
duration: number;
|
|
318
|
+
message: string;
|
|
319
|
+
}
|
|
320
|
+
export interface UIElementRef {
|
|
321
|
+
ref: string;
|
|
322
|
+
type: string;
|
|
323
|
+
name: string;
|
|
324
|
+
label?: string;
|
|
325
|
+
interactable: boolean;
|
|
326
|
+
source: 'uGUI' | 'UIToolkit';
|
|
327
|
+
parentRef?: string;
|
|
328
|
+
rect?: {
|
|
329
|
+
x: number;
|
|
330
|
+
y: number;
|
|
331
|
+
w: number;
|
|
332
|
+
h: number;
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
export interface UISnapshotResult {
|
|
336
|
+
refCount: number;
|
|
337
|
+
elements: UIElementRef[];
|
|
338
|
+
}
|
|
339
|
+
export interface HierarchyNodeRef {
|
|
340
|
+
ref: string;
|
|
341
|
+
name: string;
|
|
342
|
+
active: boolean;
|
|
343
|
+
tag?: string;
|
|
344
|
+
layer?: string;
|
|
345
|
+
components?: string[];
|
|
346
|
+
children?: HierarchyNodeRef[];
|
|
347
|
+
childCount?: number;
|
|
348
|
+
}
|
|
349
|
+
export interface HierarchySnapshotResult {
|
|
350
|
+
scene: string;
|
|
351
|
+
scenePath: string;
|
|
352
|
+
refCount: number;
|
|
353
|
+
tree: HierarchyNodeRef[];
|
|
354
|
+
}
|
|
355
|
+
export interface InputAction {
|
|
356
|
+
map: string;
|
|
357
|
+
name: string;
|
|
358
|
+
type: string;
|
|
359
|
+
controlType: string;
|
|
360
|
+
bindings: string[];
|
|
361
|
+
}
|
|
362
|
+
export interface LegacyAxis {
|
|
363
|
+
name: string;
|
|
364
|
+
positiveButton?: string;
|
|
365
|
+
negativeButton?: string;
|
|
366
|
+
altPositiveButton?: string;
|
|
367
|
+
altNegativeButton?: string;
|
|
368
|
+
type: string;
|
|
369
|
+
axis?: number;
|
|
370
|
+
}
|
|
371
|
+
export interface InputMapResult {
|
|
372
|
+
inputSystemAvailable: boolean;
|
|
373
|
+
actions: InputAction[];
|
|
374
|
+
legacyAxes: LegacyAxis[];
|
|
375
|
+
}
|
|
376
|
+
export interface WaitResult {
|
|
377
|
+
success: boolean;
|
|
378
|
+
condition: string;
|
|
379
|
+
elapsed?: number;
|
|
380
|
+
error?: string;
|
|
381
|
+
}
|
|
382
|
+
export interface AnnotatedScreenshotResult {
|
|
383
|
+
success: boolean;
|
|
384
|
+
path: string;
|
|
385
|
+
annotated: boolean;
|
|
386
|
+
width?: number;
|
|
387
|
+
height?: number;
|
|
388
|
+
elements: UIElementRef[];
|
|
389
|
+
}
|
|
390
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE1E"}
|
package/dist/util.js
ADDED
package/dist/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAAA,8BAEC;AAFD,SAAgB,SAAS,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Walk up from startDir looking for a Unity project root.
|
|
3
|
+
* Checks for `.unity-agentic/` first, then `Assets/`.
|
|
4
|
+
*/
|
|
5
|
+
export declare function find_unity_project_root(startDir?: string): string | null;
|
|
6
|
+
/**
|
|
7
|
+
* Resolve an explicit project path or default to the current working directory.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolve_project_path(project_path?: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Ensure the parent directory of a file path exists, creating it recursively if needed.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ensure_parent_dir(file_path: string): void;
|
|
14
|
+
export interface AtomicWriteResult {
|
|
15
|
+
success: boolean;
|
|
16
|
+
file_path: string;
|
|
17
|
+
bytes_written?: number;
|
|
18
|
+
error?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Atomic write: write to temp file, then rename to prevent partial writes.
|
|
22
|
+
* Uses randomized temp file names to prevent collisions from concurrent writes.
|
|
23
|
+
* Handles ENOENT gracefully for TOCTOU races (e.g., Unity AssetDatabase deleting files).
|
|
24
|
+
*/
|
|
25
|
+
export declare function atomicWrite(filePath: string, content: string): AtomicWriteResult;
|
|
26
|
+
/**
|
|
27
|
+
* Normalize property path: convert dot-notation array indices to bracket notation.
|
|
28
|
+
* e.g. "m_Materials.Array.data.0" -> "m_Materials.Array.data[0]"
|
|
29
|
+
* This provides a shell-safe alternative to bracket syntax which triggers glob expansion in zsh.
|
|
30
|
+
*/
|
|
31
|
+
export declare function normalize_property_path(path: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a pattern matches everything (wildcard-all).
|
|
34
|
+
* Patterns like "*", ".", "**" mean "all objects" — not a real filter.
|
|
35
|
+
*/
|
|
36
|
+
export declare function is_match_all(pattern: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Match a string against a glob pattern (* and ? wildcards) or exact equality.
|
|
39
|
+
* Case-insensitive. If the pattern has no glob chars, does exact equality.
|
|
40
|
+
*/
|
|
41
|
+
export declare function glob_match(pattern: string, text: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Convert a glob pattern to a RegExp for matching against file paths.
|
|
44
|
+
* Handles ** (match across directories), * (match within one segment), ? (single char).
|
|
45
|
+
* Without wildcards, performs case-insensitive substring match.
|
|
46
|
+
* Unlike glob_match, this is designed for path filtering (no anchoring, path-aware).
|
|
47
|
+
*/
|
|
48
|
+
export declare function path_glob_to_regex(pattern: string): RegExp;
|
|
49
|
+
/**
|
|
50
|
+
* Validate a name (GameObject, tag, etc.) for characters that are illegal in Unity.
|
|
51
|
+
* Returns an error string if invalid, or null if the name is acceptable.
|
|
52
|
+
*/
|
|
53
|
+
export declare function validate_name(name: string, label: string): string | null;
|
|
54
|
+
/**
|
|
55
|
+
* Generate a new GUID (32 hex characters).
|
|
56
|
+
*/
|
|
57
|
+
export declare function generateGuid(): string;
|
|
58
|
+
/**
|
|
59
|
+
* Validate that a file path is safe for Unity operations.
|
|
60
|
+
* Rejects file:// URIs, path traversal, and Packages/ writes.
|
|
61
|
+
* Note: Absolute paths ARE allowed (this is a CLI tool, not a web API).
|
|
62
|
+
*
|
|
63
|
+
* @param file_path - The file path to validate
|
|
64
|
+
* @param operation - Whether this is a 'read' or 'write' operation
|
|
65
|
+
* @returns Error message if invalid, null if valid
|
|
66
|
+
*/
|
|
67
|
+
export declare function validate_file_path(file_path: string, operation: 'read' | 'write'): string | null;
|
|
68
|
+
/**
|
|
69
|
+
* Validate Vector3 structure for Unity YAML.
|
|
70
|
+
*
|
|
71
|
+
* @param value - The value to validate as Vector3
|
|
72
|
+
* @returns Error message if invalid, null if valid
|
|
73
|
+
*/
|
|
74
|
+
export declare function validate_vector3(value: unknown): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* Validate GUID format (32-character hex string).
|
|
77
|
+
*
|
|
78
|
+
* @param guid - The GUID to validate
|
|
79
|
+
* @returns Error message if invalid, null if valid
|
|
80
|
+
*/
|
|
81
|
+
export declare function validate_guid(guid: string): string | null;
|
|
82
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcxE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAoEhF;AAMD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAe1D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBxE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAOrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAwChG;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAe9D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzD"}
|