nap-sdk 0.2.4 → 0.3.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.
package/dist/index.d.ts CHANGED
@@ -1,17 +1,655 @@
1
- export declare function parseUri(uri: string): Record<string, unknown>;
2
- export declare function parseManifest(yamlStr: string): Record<string, unknown>;
3
- export declare function resolve(uri: string, repoPath?: string): Record<string, unknown>;
4
- export declare function version(): string;
1
+ /**
2
+ * NAP SDK TypeScript bindings for the Narrative Addressing Protocol.
3
+ *
4
+ * Powered by Rust via NAPI-RS native addon. All functions that return
5
+ * structured data return plain objects (JSON-deserialized from the native
6
+ * layer).
7
+ *
8
+ * @module nap-sdk
9
+ */
10
+ /** A parsed NAP URI. */
11
+ export interface NapUri {
12
+ universe: string;
13
+ entity_type: string;
14
+ entity_id: string;
15
+ fragment?: string;
16
+ }
17
+ /** A NAP manifest — the canonical representation of a narrative resource. */
18
+ export interface Manifest {
19
+ id: string;
20
+ name: string;
21
+ entity_type: string;
22
+ version: number;
23
+ properties: Record<string, unknown>;
24
+ representations: Record<string, Representation>;
25
+ references: Record<string, unknown>;
26
+ provenance?: Provenance;
27
+ head?: string;
28
+ metadata?: Record<string, unknown>;
29
+ }
30
+ /** A content-addressed representation (image, voice model, mesh, etc.). */
31
+ export interface Representation {
32
+ hash: string;
33
+ format: string;
34
+ uri?: string;
35
+ tier?: string;
36
+ }
37
+ /** AI generation provenance metadata. */
38
+ export interface Provenance {
39
+ model?: string;
40
+ prompt_hash?: string;
41
+ seed?: string;
42
+ parameters?: Record<string, string>;
43
+ derived_from?: string;
44
+ created_at?: string;
45
+ }
46
+ /** A NAP commit object. */
47
+ export interface Commit {
48
+ id: string;
49
+ parent?: string;
50
+ timestamp: string;
51
+ author: string;
52
+ signature?: string;
53
+ message: string;
54
+ manifest_hash: string;
55
+ changes: Change[];
56
+ }
57
+ /** A single change within a commit. */
58
+ export interface Change {
59
+ path: string;
60
+ operation: "set" | "delete" | "append" | "remove";
61
+ old_value?: string;
62
+ new_value?: string;
63
+ }
64
+ /** Commit info from VCS history. */
65
+ export interface CommitEntry {
66
+ id: string;
67
+ parent?: string;
68
+ author: string;
69
+ message: string;
70
+ timestamp: string;
71
+ }
72
+ /** Remote entry (name, URL) pair. */
73
+ export type RemoteEntry = [string, string];
74
+ /** Repo info result. */
75
+ export interface RepoInfo {
76
+ root: string;
77
+ universe: string;
78
+ }
79
+ /** Operation result with commit. */
80
+ export interface CommitResult {
81
+ commit: Commit;
82
+ version: number;
83
+ }
84
+ /** Entity creation result. */
85
+ export interface CreateEntityResult {
86
+ manifest: Manifest;
87
+ commit_hash: string;
88
+ }
89
+ /** Validation result. */
90
+ export interface ValidationResult {
91
+ valid: boolean;
92
+ errors?: string[];
93
+ }
94
+ /** Storage config. */
95
+ export interface StorageConfig {
96
+ backend: string;
97
+ base_dir: string;
98
+ assets_prefix: string;
99
+ bucket: string;
100
+ }
101
+ /** Generic success response. */
102
+ export interface SuccessResponse {
103
+ success: boolean;
104
+ [key: string]: unknown;
105
+ }
106
+ /** Merge result. */
107
+ export type MergeResult = {
108
+ Merged: Record<string, unknown>;
109
+ } | {
110
+ Conflicts: Array<{
111
+ path: string;
112
+ conflict_type: string;
113
+ base: unknown;
114
+ current: unknown;
115
+ proposed: unknown;
116
+ }>;
117
+ };
118
+ /** Merge diff entry. */
119
+ export interface DiffEntry {
120
+ path: string;
121
+ operation: string;
122
+ old_value?: unknown;
123
+ new_value?: unknown;
124
+ }
125
+ /**
126
+ * Parse a `nap://` URI into its component parts.
127
+ *
128
+ * @param uri - A NAP URI (e.g. `"nap://starwars/character/lukeskywalker"`)
129
+ * @returns Parsed URI components
130
+ */
131
+ export declare function parseUri(uri: string): NapUri;
132
+ /**
133
+ * Construct a new NAP URI from components.
134
+ *
135
+ * @param universe - Universe name (e.g. `"starwars"`)
136
+ * @param entityType - Entity type (e.g. `"character"`)
137
+ * @param entityId - Entity ID slug (e.g. `"lukeskywalker"`)
138
+ * @param fragment - Optional query fragment
139
+ * @returns Parsed URI components
140
+ */
141
+ export declare function uriNew(universe: string, entityType: string, entityId: string, fragment?: string): NapUri;
142
+ /**
143
+ * Return the canonical identity URI (without fragment).
144
+ *
145
+ * @param uri - A NAP URI, possibly with a fragment
146
+ * @returns Identity URI string
147
+ */
148
+ export declare function uriIdentity(uri: string): string;
149
+ /**
150
+ * Return the relative filesystem path for an entity's manifest.
151
+ *
152
+ * @param uri - A NAP URI
153
+ * @returns Relative path (e.g. `"characters/lukeskywalker.yaml"`)
154
+ */
155
+ export declare function uriManifestPath(uri: string): string;
156
+ /**
157
+ * Format URI components into a `nap://` URI string.
158
+ *
159
+ * @param universe - Universe name
160
+ * @param entityType - Entity type
161
+ * @param entityId - Entity ID
162
+ * @param fragment - Optional query fragment
163
+ * @returns Full NAP URI string
164
+ */
165
+ export declare function uriFormat(universe: string, entityType: string, entityId: string, fragment?: string): string;
166
+ /**
167
+ * Parse an entity type string.
168
+ *
169
+ * @param s - Type string (e.g. `"character"`, `"location"`, `"scene"`, `"prop"`, `"world"`)
170
+ * @returns The normalized entity type string
171
+ */
172
+ export declare function entityTypeParse(s: string): string;
173
+ /**
174
+ * Return the directory name used for this entity type in a repository.
175
+ *
176
+ * @param entityType - Type string
177
+ * @returns Directory name (e.g. `"characters"`)
178
+ */
179
+ export declare function entityTypeDirectoryName(entityType: string): string;
180
+ /**
181
+ * Return all subdirectory entity types (character, location, scene, prop).
182
+ *
183
+ * @returns Array of entity type strings
184
+ */
185
+ export declare function entityTypeList(): string[];
186
+ /**
187
+ * Parse a YAML manifest string into a JSON-serializable object.
188
+ *
189
+ * @param yamlStr - YAML string representing a NAP manifest
190
+ * @returns Parsed manifest
191
+ */
192
+ export declare function parseManifest(yamlStr: string): Manifest;
193
+ /**
194
+ * Create a new manifest with minimal required fields.
195
+ *
196
+ * @param universe - Universe name
197
+ * @param entityType - Entity type string
198
+ * @param entityId - Entity ID slug
199
+ * @param name - Human-readable name
200
+ * @returns New manifest
201
+ */
202
+ export declare function manifestNew(universe: string, entityType: string, entityId: string, name: string): Manifest;
203
+ /**
204
+ * Serialize a manifest object to YAML.
205
+ *
206
+ * @param manifest - Manifest object
207
+ * @returns YAML string representation
208
+ */
209
+ export declare function manifestToYaml(manifest: Manifest): string;
210
+ /**
211
+ * Read a manifest from a YAML string.
212
+ *
213
+ * @param yamlStr - YAML string
214
+ * @returns Parsed manifest
215
+ */
216
+ export declare function manifestFromYaml(yamlStr: string): Manifest;
217
+ /**
218
+ * Compute the SHA-256 content hash of a manifest.
219
+ *
220
+ * @param manifest - Manifest object
221
+ * @returns Content hash in `sha256:<hex>` format
222
+ */
223
+ export declare function manifestContentHash(manifest: Manifest): string;
224
+ /**
225
+ * Add or update a property on a manifest.
226
+ *
227
+ * @param manifest - Manifest object
228
+ * @param key - Property key
229
+ * @param value - Property value string (parsed as YAML)
230
+ * @returns Updated manifest
231
+ */
232
+ export declare function manifestSetProperty(manifest: Manifest, key: string, value: string): Manifest;
233
+ /**
234
+ * Add a cross-reference to a manifest.
235
+ *
236
+ * @param manifest - Manifest object
237
+ * @param key - Reference key
238
+ * @param value - Reference value string (parsed as YAML)
239
+ * @returns Updated manifest
240
+ */
241
+ export declare function manifestAddReference(manifest: Manifest, key: string, value: string): Manifest;
242
+ /**
243
+ * Add or update a representation on a manifest.
244
+ *
245
+ * @param manifest - Manifest object
246
+ * @param key - Representation key
247
+ * @param hash - Content hash string
248
+ * @param format - File format (e.g. `"png"`, `"glb"`)
249
+ * @param uri - Optional storage URI
250
+ * @param tier - Optional quality tier
251
+ * @returns Updated manifest
252
+ */
253
+ export declare function manifestSetRepresentation(manifest: Manifest, key: string, hash: string, format: string, uri?: string, tier?: string): Manifest;
254
+ /**
255
+ * Increment the version counter on a manifest.
256
+ *
257
+ * @param manifest - Manifest object
258
+ * @returns Updated manifest with version incremented
259
+ */
260
+ export declare function manifestBumpVersion(manifest: Manifest): Manifest;
261
+ /**
262
+ * Compute the SHA-256 content hash of raw bytes.
263
+ *
264
+ * @param data - Raw byte data
265
+ * @returns Content hash `sha256:<hex>`
266
+ */
267
+ export declare function contentHashFromBytes(data: Buffer): string;
268
+ /**
269
+ * Compute the SHA-256 content hash of a string.
270
+ *
271
+ * @param s - Input string
272
+ * @returns Content hash `sha256:<hex>`
273
+ */
274
+ export declare function contentHashFromString(s: string): string;
275
+ /**
276
+ * Parse and validate a `sha256:<hex>` content hash string.
277
+ *
278
+ * @param s - Content hash string
279
+ * @returns The validated content hash
280
+ * @throws If the string is not a valid content hash
281
+ */
282
+ export declare function contentHashParse(s: string): string;
283
+ /**
284
+ * Verify that bytes match a content hash.
285
+ *
286
+ * @param hash - Content hash string
287
+ * @param data - Raw byte data to verify
288
+ * @returns `true` if the data matches the hash
289
+ */
290
+ export declare function contentHashVerify(hash: string, data: Buffer): boolean;
291
+ /**
292
+ * Extract the hex digest from a content hash string.
293
+ *
294
+ * @param hash - Content hash string (`sha256:<hex>`)
295
+ * @returns The 64-character hex digest
296
+ */
297
+ export declare function contentHashHexDigest(hash: string): string;
298
+ /**
299
+ * Create a "Set" change record.
300
+ *
301
+ * @param path - Dot-notation path (e.g. `"properties.species"`)
302
+ * @param newValue - New value string
303
+ * @param oldValue - Optional previous value string
304
+ * @returns Change object
305
+ */
306
+ export declare function changeSet(path: string, newValue: string, oldValue?: string): Change;
307
+ /**
308
+ * Create a "Delete" change record.
309
+ *
310
+ * @param path - Dot-notation path
311
+ * @param oldValue - Previous value string
312
+ * @returns Change object
313
+ */
314
+ export declare function changeDelete(path: string, oldValue: string): Change;
315
+ /**
316
+ * Create an "Append" change record.
317
+ *
318
+ * @param path - Dot-notation path
319
+ * @param newValue - New value to append
320
+ * @returns Change object
321
+ */
322
+ export declare function changeAppend(path: string, newValue: string): Change;
323
+ /**
324
+ * Create a new NAP commit object.
325
+ *
326
+ * @param author - Author identifier
327
+ * @param message - Human-readable commit message
328
+ * @param manifestHash - SHA-256 hash of the resulting manifest
329
+ * @param changes - Array of change objects
330
+ * @param parent - Optional parent commit hash
331
+ * @returns Commit object with auto-computed `id`
332
+ */
333
+ export declare function commitNew(author: string, message: string, manifestHash: string, changes: Change[], parent?: string): Commit;
334
+ /**
335
+ * Verify a commit's ID by re-computing the hash.
336
+ *
337
+ * @param commit - Commit object
338
+ * @returns `true` if the ID is valid
339
+ */
340
+ export declare function commitVerifyId(commit: Commit): boolean;
341
+ /**
342
+ * Initialize a new NAP universe repository.
343
+ *
344
+ * @param universe - Universe name
345
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
346
+ * @returns Repo info with `root` and `universe`
347
+ */
348
+ export declare function repoInit(universe: string, basePath?: string): RepoInfo;
349
+ /**
350
+ * Open an existing NAP universe repository.
351
+ *
352
+ * @param universe - Universe name
353
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
354
+ * @returns Repo info
355
+ */
356
+ export declare function repoOpen(universe: string, basePath?: string): RepoInfo;
357
+ /**
358
+ * Create a new entity manifest and commit it.
359
+ *
360
+ * @param universe - Universe name
361
+ * @param entityType - Entity type string
362
+ * @param entityId - Entity ID slug
363
+ * @param name - Human-readable name
364
+ * @param author - Author identifier (default: `"nap-sdk"`)
365
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
366
+ * @returns Object with `manifest` and `commit_hash`
367
+ */
368
+ export declare function repoCreateEntity(universe: string, entityType: string, entityId: string, name: string, author?: string, basePath?: string): CreateEntityResult;
369
+ /**
370
+ * Read a manifest from the repository.
371
+ *
372
+ * @param universe - Universe name
373
+ * @param entityType - Entity type string
374
+ * @param entityId - Entity ID
375
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
376
+ * @returns Manifest object
377
+ */
378
+ export declare function repoReadManifest(universe: string, entityType: string, entityId: string, basePath?: string): Manifest;
379
+ /**
380
+ * Read a manifest at a specific VCS reference (commit, branch, tag).
381
+ *
382
+ * @param universe - Universe name
383
+ * @param entityType - Entity type string
384
+ * @param entityId - Entity ID
385
+ * @param reference - VCS ref (commit hash, branch name, or tag)
386
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
387
+ * @returns Manifest object
388
+ */
389
+ export declare function repoReadManifestAtRef(universe: string, entityType: string, entityId: string, reference: string, basePath?: string): Manifest;
390
+ /**
391
+ * Write a manifest to the repository (does NOT commit).
392
+ *
393
+ * @param universe - Universe name
394
+ * @param manifest - Manifest object
395
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
396
+ * @returns The filesystem path where the manifest was written
397
+ */
398
+ export declare function repoWriteManifest(universe: string, manifest: Manifest, basePath?: string): string;
399
+ /**
400
+ * Commit changes to a manifest.
401
+ *
402
+ * @param universe - Universe name
403
+ * @param entityType - Entity type string
404
+ * @param entityId - Entity ID
405
+ * @param message - Commit message
406
+ * @param author - Author identifier (default: `"nap-sdk"`)
407
+ * @param changes - Array of change objects
408
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
409
+ * @returns Object with `commit` and `version`
410
+ */
411
+ export declare function repoCommitManifest(universe: string, entityType: string, entityId: string, message: string, author?: string, changes?: Change[], basePath?: string): CommitResult;
412
+ /**
413
+ * Delete an entity manifest and commit the deletion.
414
+ *
415
+ * @param universe - Universe name
416
+ * @param entityType - Entity type string
417
+ * @param entityId - Entity ID
418
+ * @param author - Author identifier (default: `"nap-sdk"`)
419
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
420
+ * @returns The VCS commit hash of the deletion
421
+ */
422
+ export declare function repoDeleteEntity(universe: string, entityType: string, entityId: string, author?: string, basePath?: string): string;
423
+ /**
424
+ * Get commit history for an entity.
425
+ *
426
+ * @param universe - Universe name
427
+ * @param entityType - Entity type string
428
+ * @param entityId - Entity ID
429
+ * @param limit - Maximum number of commits (default: 20)
430
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
431
+ * @returns Array of commit entries
432
+ */
433
+ export declare function repoHistory(universe: string, entityType: string, entityId: string, limit?: number, basePath?: string): CommitEntry[];
434
+ /**
435
+ * List all entity IDs of a given type in a universe.
436
+ *
437
+ * @param universe - Universe name
438
+ * @param entityType - Entity type string
439
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
440
+ * @returns Array of entity ID strings
441
+ */
442
+ export declare function repoListEntities(universe: string, entityType: string, basePath?: string): string[];
443
+ /**
444
+ * Create a branch in a universe repository.
445
+ *
446
+ * @param universe - Universe name
447
+ * @param name - Branch name
448
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
449
+ * @returns Success response
450
+ */
451
+ export declare function repoCreateBranch(universe: string, name: string, basePath?: string): SuccessResponse;
452
+ /**
453
+ * Switch to a branch in a universe repository.
454
+ *
455
+ * @param universe - Universe name
456
+ * @param name - Branch name
457
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
458
+ * @returns Success response
459
+ */
460
+ export declare function repoSwitchBranch(universe: string, name: string, basePath?: string): SuccessResponse;
461
+ /**
462
+ * List all branches in a universe repository.
463
+ *
464
+ * @param universe - Universe name
465
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
466
+ * @returns Array of branch names
467
+ */
468
+ export declare function repoListBranches(universe: string, basePath?: string): string[];
469
+ /**
470
+ * Create a tag in a universe repository.
471
+ *
472
+ * @param universe - Universe name
473
+ * @param name - Tag name
474
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
475
+ * @returns Success response
476
+ */
477
+ export declare function repoCreateTag(universe: string, name: string, basePath?: string): SuccessResponse;
478
+ /**
479
+ * List all tags in a universe repository.
480
+ *
481
+ * @param universe - Universe name
482
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
483
+ * @returns Array of tag names
484
+ */
485
+ export declare function repoListTags(universe: string, basePath?: string): string[];
486
+ /**
487
+ * Get the current HEAD hash of a universe repository.
488
+ *
489
+ * @param universe - Universe name
490
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
491
+ * @returns The HEAD commit hash
492
+ */
493
+ export declare function repoHeadHash(universe: string, basePath?: string): string;
494
+ /**
495
+ * Revert a commit across an entire universe.
496
+ *
497
+ * @param universe - Universe name
498
+ * @param commitHash - Hash of the commit to revert
499
+ * @param author - Author identifier (default: `"nap-sdk"`)
500
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
501
+ * @returns The new revert commit hash
502
+ */
503
+ export declare function repoRevertCommit(universe: string, commitHash: string, author?: string, basePath?: string): string;
504
+ /**
505
+ * Add a remote to a universe repository.
506
+ *
507
+ * @param universe - Universe name
508
+ * @param name - Remote name (e.g. `"origin"`)
509
+ * @param url - Remote URL
510
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
511
+ * @returns Success response
512
+ */
513
+ export declare function repoAddRemote(universe: string, name: string, url: string, basePath?: string): SuccessResponse;
514
+ /**
515
+ * Remove a remote from a universe repository.
516
+ *
517
+ * @param universe - Universe name
518
+ * @param name - Remote name to remove
519
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
520
+ * @returns Success response
521
+ */
522
+ export declare function repoRemoveRemote(universe: string, name: string, basePath?: string): SuccessResponse;
523
+ /**
524
+ * List remotes on a universe repository.
525
+ *
526
+ * @param universe - Universe name
527
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
528
+ * @returns Array of `[name, url]` tuples
529
+ */
530
+ export declare function repoListRemotes(universe: string, basePath?: string): RemoteEntry[];
531
+ /**
532
+ * Push the current branch to a remote.
533
+ *
534
+ * @param universe - Universe name
535
+ * @param remote - Remote name (optional)
536
+ * @param branch - Branch to push (optional)
537
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
538
+ * @returns Success response
539
+ */
540
+ export declare function repoPush(universe: string, remote?: string, branch?: string, basePath?: string): SuccessResponse;
541
+ /**
542
+ * Pull the current branch from a remote.
543
+ *
544
+ * @param universe - Universe name
545
+ * @param remote - Remote name (optional)
546
+ * @param branch - Branch to pull (optional)
547
+ * @param basePath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
548
+ * @returns Success response
549
+ */
550
+ export declare function repoPull(universe: string, remote?: string, branch?: string, basePath?: string): SuccessResponse;
551
+ /**
552
+ * Resolve a NAP URI to a manifest or subtree.
553
+ *
554
+ * @param uri - NAP URI (e.g. `"nap://starwars/character/lukeskywalker"`)
555
+ * @param repoPath - Base directory for universes (defaults to `$NAP_DIR` / `~/.nap`)
556
+ * @param branch - Optional branch selector
557
+ * @param commit - Optional commit hash selector
558
+ * @param tag - Optional tag selector
559
+ * @param path - Optional subtree query path
560
+ * @returns Resolved manifest or subtree value
561
+ */
562
+ export declare function resolve(uri: string, repoPath?: string, branch?: string, commit?: string, tag?: string, path?: string): Record<string, unknown>;
563
+ /**
564
+ * Query a specific subtree path from a manifest.
565
+ *
566
+ * This is the most efficient way to read a single property from an entity.
567
+ *
568
+ * @param uri - NAP URI
569
+ * @param path - Dot-notation query path (e.g. `"properties.species"`)
570
+ * @param repoPath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
571
+ * @returns The value at the given path
572
+ */
573
+ export declare function resolveQuery(uri: string, path: string, repoPath?: string): unknown;
574
+ /**
575
+ * List all universe repositories available.
576
+ *
577
+ * @param repoPath - Base directory (defaults to `$NAP_DIR` / `~/.nap`)
578
+ * @returns Array of universe names
579
+ */
580
+ export declare function listUniverses(repoPath?: string): string[];
581
+ /**
582
+ * Get the JSON Schema for a NAP manifest.
583
+ *
584
+ * @returns JSON Schema object
585
+ */
586
+ export declare function manifestSchema(): Record<string, unknown>;
587
+ /**
588
+ * Get the JSON Schema for a NAP commit.
589
+ *
590
+ * @returns JSON Schema object
591
+ */
592
+ export declare function commitSchema(): Record<string, unknown>;
593
+ /**
594
+ * Validate a manifest against the manifest schema.
595
+ *
596
+ * @param manifest - Manifest object
597
+ * @returns Validation result with `valid` flag and optional `errors`
598
+ */
599
+ export declare function validateManifest(manifest: Manifest): ValidationResult;
600
+ /**
601
+ * Validate a commit against the commit schema.
602
+ *
603
+ * @param commit - Commit object
604
+ * @returns Validation result with `valid` flag and optional `errors`
605
+ */
606
+ export declare function validateCommit(commit: Commit): ValidationResult;
607
+ /**
608
+ * Three-way merge of manifest values.
609
+ *
610
+ * @param schema - The SDL schema document
611
+ * @param base - The base (common ancestor) value
612
+ * @param current - The current value
613
+ * @param proposed - The proposed new value
614
+ * @returns Merge result (either `Merged` or `Conflicts`)
615
+ */
616
+ export declare function mergeMerge(schema: Record<string, unknown>, base: Record<string, unknown>, current: Record<string, unknown>, proposed: Record<string, unknown>): MergeResult;
617
+ /**
618
+ * Compute the diff between two manifest values.
619
+ *
620
+ * @param schema - The schema definition (SDL document as JSON)
621
+ * @param base - The base value
622
+ * @param candidate - The candidate value to compare against base
623
+ * @returns Array of change entries describing the differences
624
+ */
625
+ export declare function mergeDiff(schema: Record<string, unknown>, base: Record<string, unknown>, candidate: Record<string, unknown>): DiffEntry[];
626
+ /**
627
+ * Get the active storage engine configuration.
628
+ *
629
+ * @returns Storage config object
630
+ */
631
+ export declare function storageConfig(): StorageConfig;
5
632
  /**
6
633
  * Ingest raw media bytes into the content-addressed storage engine.
7
634
  *
8
- * The storage backend is determined by the ``NAP_STORAGE_BACKEND``
9
- * environment variable at the Rust layer (``local`` or ``s3``).
635
+ * The storage backend is determined by the `NAP_STORAGE_BACKEND`
636
+ * environment variable at the Rust layer (`"local"` or `"s3"`).
10
637
  *
11
- * @param data - Raw bytes of the media asset (image, audio, mesh, etc.).
12
- * @param format - File extension without a leading dot (e.g. ``"png"``,
13
- * ``"jpg"``, ``"wav"``, ``"glb"``).
14
- * @returns A Promise resolving to the content-addressed hash ``sha256:<hex>``.
638
+ * @param data - Raw bytes of the media asset (image, audio, mesh, etc.)
639
+ * @param format - File extension without a leading dot (e.g. `"png"`, `"jpg"`, `"wav"`, `"glb"`)
640
+ * @returns Promise resolving to the content hash `sha256:<hex>`
15
641
  */
16
642
  export declare function ingestMedia(data: Buffer, format: string): Promise<string>;
643
+ /**
644
+ * Clone a Lore repository.
645
+ *
646
+ * @param url - Lore remote URL
647
+ * @param destPath - Local destination path
648
+ * @returns Success response
649
+ */
650
+ export declare function loreClone(url: string, destPath: string): SuccessResponse;
651
+ /**
652
+ * Return the nap-sdk version string.
653
+ */
654
+ export declare function version(): string;
17
655
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtE;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK/E;AAED,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,wBAAwB;AACxB,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6EAA6E;AAC7E,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2BAA2B;AAC3B,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,uCAAuC;AACvC,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,wBAAwB;AACxB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8BAA8B;AAC9B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,yBAAyB;AACzB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sBAAsB;AACtB,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,oBAAoB;AACpB,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACnC;IAAE,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAEtH,wBAAwB;AACxB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAaD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAER;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAEvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,QAAQ,CAEV;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE9D;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE5F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,QAAQ,CAIV;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAEhE;AAMD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAMD;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAIR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD;AAMD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAEtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAkB,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,kBAAkB,CAIpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,CAIV;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,CAIV;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAkB,EAC1B,OAAO,GAAE,MAAM,EAAO,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY,CAOd;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAkB,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAW,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,WAAW,EAAE,CAIf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAIV;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAIjB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAIjB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAIV;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAIjB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAIV;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAkB,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAIjB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAIjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,WAAW,EAAE,CAIf;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAIjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAIjB;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzD;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAExD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE/D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAMb;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,SAAS,EAAE,CAQb;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,aAAa,CAE7C;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE/E;AAMD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAExE;AAMD;;GAEG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC"}