@fungi.computer/nacre 0.0.0-stage → 0.0.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.
Files changed (41) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +98 -2
  3. package/dist/app-directory.d.ts +600 -0
  4. package/dist/app-directory.js +323 -0
  5. package/dist/browser-actions.d.ts +7 -0
  6. package/dist/browser-actions.js +56 -0
  7. package/dist/command-host.d.ts +140 -0
  8. package/dist/command-host.js +532 -0
  9. package/dist/commands.d.ts +25 -0
  10. package/dist/commands.js +78 -0
  11. package/dist/index.d.ts +8 -0
  12. package/dist/index.js +9 -0
  13. package/dist/keys.d.ts +47 -0
  14. package/dist/keys.js +136 -0
  15. package/dist/shell-module.d.ts +98 -0
  16. package/dist/shell-module.js +90 -0
  17. package/dist/window-manager.d.ts +159 -0
  18. package/dist/window-manager.js +796 -0
  19. package/dist/workbench-contract.d.ts +70 -0
  20. package/dist/workbench-contract.js +1 -0
  21. package/dist/workbench-directory.d.ts +343 -0
  22. package/dist/workbench-directory.js +65 -0
  23. package/dist/workbench-host-types.d.ts +114 -0
  24. package/dist/workbench-host-types.js +1 -0
  25. package/dist/workbench-host.d.ts +34 -0
  26. package/dist/workbench-host.js +356 -0
  27. package/dist/workbench-model.d.ts +223 -0
  28. package/dist/workbench-model.js +93 -0
  29. package/dist/workbench.d.ts +4 -0
  30. package/dist/workbench.js +2 -0
  31. package/docs/api/README.md +21 -0
  32. package/docs/api/app-directory.md +587 -0
  33. package/docs/api/command-host.md +225 -0
  34. package/docs/api/commands.md +199 -0
  35. package/docs/api/index.md +1860 -0
  36. package/docs/api/keys.md +183 -0
  37. package/docs/api/shell-module.md +233 -0
  38. package/docs/api/window-manager.md +269 -0
  39. package/docs/api/workbench-directory.md +141 -0
  40. package/docs/api/workbench.md +201 -0
  41. package/package.json +98 -3
@@ -0,0 +1,21 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ **@fungi.computer/nacre**
4
+
5
+ ---
6
+
7
+ # @fungi.computer/nacre
8
+
9
+ ## Modules
10
+
11
+ | Module | Description |
12
+ | --------------------------------------------- | ----------- |
13
+ | [app-directory](app-directory.md) | - |
14
+ | [command-host](command-host.md) | - |
15
+ | [commands](commands.md) | - |
16
+ | [index](index.md) | - |
17
+ | [keys](keys.md) | - |
18
+ | [shell-module](shell-module.md) | - |
19
+ | [window-manager](window-manager.md) | - |
20
+ | [workbench-directory](workbench-directory.md) | - |
21
+ | [workbench](workbench.md) | - |
@@ -0,0 +1,587 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/nacre**](README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/nacre](README.md) / app-directory
8
+
9
+ # app-directory
10
+
11
+ ## Type Aliases
12
+
13
+ ### AppAddress
14
+
15
+ ```ts
16
+ type AppAddress = z.output<typeof appAddressSchema>;
17
+ ```
18
+
19
+ Decoded address of a default App or an installation.
20
+
21
+ ---
22
+
23
+ ### AppAuthorityEnforcement
24
+
25
+ ```ts
26
+ type AppAuthorityEnforcement = z.output<typeof appAuthorityEnforcementSchema>;
27
+ ```
28
+
29
+ A host-reported authority change and its remaining work.
30
+
31
+ ---
32
+
33
+ ### AppDirectoryGill
34
+
35
+ ```ts
36
+ type AppDirectoryGill = {
37
+ [
38
+ Field in keyof Schema.Schema.Type<typeof appDeclaredGillSchema>
39
+ ]: Schema.Schema.Type<typeof appDeclaredGillSchema>[Field];
40
+ };
41
+ ```
42
+
43
+ A Release-declared Gill carried by the host's App directory. The named mapped
44
+ type keeps consumer declarations attached to this public contract.
45
+
46
+ ---
47
+
48
+ ### AppDirectoryEntry
49
+
50
+ ```ts
51
+ type AppDirectoryEntry = z.output<typeof appDirectoryEntrySchema>;
52
+ ```
53
+
54
+ An App directory row before host-specific permissions are attached.
55
+
56
+ ---
57
+
58
+ ### AppComputerOperation
59
+
60
+ ```ts
61
+ type AppComputerOperation = Extract<
62
+ z.output<typeof appComputerPermissionSchema>,
63
+ {
64
+ kind: "all-team-computers";
65
+ }
66
+ >["operations"][number];
67
+ ```
68
+
69
+ One operation an App may request for a Computer.
70
+
71
+ ---
72
+
73
+ ### AppComputerPermission
74
+
75
+ ```ts
76
+ type AppComputerPermission = z.output<typeof appComputerPermissionSchema>;
77
+ ```
78
+
79
+ Decoded Computer permission scope attached to an App directory entry.
80
+
81
+ ---
82
+
83
+ ### AppAgentPermission
84
+
85
+ ```ts
86
+ type AppAgentPermission = z.output<typeof appAgentPermissionSchema>;
87
+ ```
88
+
89
+ Decoded Agent permission scope attached to an App directory entry.
90
+
91
+ ---
92
+
93
+ ### AppGenerationPermissions
94
+
95
+ ```ts
96
+ type AppGenerationPermissions = z.output<typeof appGenerationPermissionsSchema>;
97
+ ```
98
+
99
+ Decoded generation permissions attached to an App directory entry.
100
+
101
+ ---
102
+
103
+ ### AppMarketplacePermissions
104
+
105
+ ```ts
106
+ type AppMarketplacePermissions = z.output<
107
+ typeof appMarketplacePermissionsSchema
108
+ >;
109
+ ```
110
+
111
+ Decoded marketplace permissions attached to an App directory entry.
112
+
113
+ ---
114
+
115
+ ### AppDirectory
116
+
117
+ ```ts
118
+ type AppDirectory = z.output<typeof appDirectoryResponseSchema>;
119
+ ```
120
+
121
+ The host-resolved Team App directory and its permission projections.
122
+
123
+ ---
124
+
125
+ ### AppCatalog
126
+
127
+ ```ts
128
+ type AppCatalog = z.output<typeof appCatalogResponseSchema>;
129
+ ```
130
+
131
+ Parsed metadata returned by the read-only APPS.catalog binding.
132
+
133
+ ## Variables
134
+
135
+ ### appAddressSchema
136
+
137
+ ```ts
138
+ const appAddressSchema: ZodLazy<
139
+ ZodUnion<
140
+ readonly [
141
+ ZodObject<
142
+ {
143
+ kind: ZodLiteral<"default">;
144
+ appId: ZodString;
145
+ },
146
+ $strict
147
+ >,
148
+ ZodObject<
149
+ {
150
+ kind: ZodLiteral<"installation">;
151
+ installationId: ZodString;
152
+ },
153
+ $strict
154
+ >,
155
+ ]
156
+ >
157
+ >;
158
+ ```
159
+
160
+ An App address selects a host default or a specific installation.
161
+
162
+ ---
163
+
164
+ ### appAuthorityEnforcementSchema
165
+
166
+ ```ts
167
+ const appAuthorityEnforcementSchema: ZodLazy<
168
+ ZodObject<
169
+ {
170
+ requestId: ZodString;
171
+ address: ZodLazy<
172
+ ZodUnion<
173
+ readonly [
174
+ ZodObject<
175
+ {
176
+ kind: ZodLiteral<"default">;
177
+ appId: ZodString;
178
+ },
179
+ $strict
180
+ >,
181
+ ZodObject<
182
+ {
183
+ kind: ZodLiteral<"installation">;
184
+ installationId: ZodString;
185
+ },
186
+ $strict
187
+ >,
188
+ ]
189
+ >
190
+ >;
191
+ authorityVersion: ZodNumber;
192
+ state: ZodEnum<{
193
+ unaffected: "unaffected";
194
+ pending: "pending";
195
+ applied: "applied";
196
+ expired: "expired";
197
+ }>;
198
+ outstanding: ZodNumber;
199
+ },
200
+ $strict
201
+ >
202
+ >;
203
+ ```
204
+
205
+ Host-reported progress of applying a revised App authority version.
206
+
207
+ ---
208
+
209
+ ### appDirectoryEntrySchema
210
+
211
+ ```ts
212
+ const appDirectoryEntrySchema: ZodObject<{
213
+ address: ZodLazy<ZodUnion<readonly [ZodObject<{
214
+ kind: ZodLiteral<"default">;
215
+ appId: ZodString;
216
+ }, $strict>, ZodObject<{
217
+ kind: ZodLiteral<"installation">;
218
+ installationId: ZodString;
219
+ }, $strict>]>>;
220
+ installationId: ZodNullable<ZodString>;
221
+ surfaceId: ZodString;
222
+ appId: ZodString;
223
+ displayName: ZodOptional<ZodString>;
224
+ icon: ZodOptional<ZodNullable<ZodString>>;
225
+ releaseId: ZodNullable<ZodString>;
226
+ authorityVersion: ZodNumber;
227
+ enforcement: ZodNullable<ZodLazy<ZodObject<{
228
+ requestId: ZodString;
229
+ address: ZodLazy<ZodUnion<readonly [ZodObject<{
230
+ kind: ...;
231
+ appId: ...;
232
+ }, $strict>, ZodObject<{
233
+ kind: ...;
234
+ installationId: ...;
235
+ }, $strict>]>>;
236
+ authorityVersion: ZodNumber;
237
+ state: ZodEnum<{
238
+ unaffected: "unaffected";
239
+ pending: "pending";
240
+ applied: "applied";
241
+ expired: "expired";
242
+ }>;
243
+ outstanding: ZodNumber;
244
+ }, $strict>>>;
245
+ handlers: ZodArray<ZodLiteral<"file.open">>;
246
+ roles: ZodArray<ZodString>;
247
+ declaredCapabilities: ZodArray<ZodString>;
248
+ calls: ZodOptional<ZodPipe<ZodUnknown, ZodTransform<readonly object[], unknown>>>;
249
+ commands: ZodPipe<ZodArray<ZodUnknown>, ZodTransform<Readonly<{
250
+ id: string;
251
+ title: string;
252
+ category: string;
253
+ description?: string;
254
+ sigil?: string;
255
+ projections?: Readonly<{
256
+ bindings?: ... | ...;
257
+ agent?: ... | ...;
258
+ help?: ... | ...;
259
+ menu?: ... | ...;
260
+ palette?: ... | ...;
261
+ slash?: ... | ...;
262
+ }>;
263
+ }>[], unknown[]>>;
264
+ gills: ZodPipe<ZodArray<ZodUnknown>, ZodTransform<AppDirectoryGill[], unknown[]>>;
265
+ availability: ZodEnum<{
266
+ available: "available";
267
+ unavailable: "unavailable";
268
+ }>;
269
+ surface: ZodNullable<ZodObject<{
270
+ stableRoute: ZodString;
271
+ }, $strict>>;
272
+ surfacePath: ZodString;
273
+ }, $strict>;
274
+ ```
275
+
276
+ Reusable App metadata supplied by an embedding host; it conveys no permissions.
277
+
278
+ ---
279
+
280
+ ### appRoleSelectionSchema
281
+
282
+ ```ts
283
+ const appRoleSelectionSchema: ZodObject<
284
+ {
285
+ surfaceId: ZodNullable<ZodString>;
286
+ chosen: ZodBoolean;
287
+ },
288
+ $strict
289
+ >;
290
+ ```
291
+
292
+ A host-resolved role selection; a surface address is not launch authority.
293
+
294
+ ---
295
+
296
+ ### appComputerPermissionSchema
297
+
298
+ ```ts
299
+ const appComputerPermissionSchema: ZodDiscriminatedUnion<[ZodLazy<ZodObject<{
300
+ kind: ZodLiteral<"selected-computers">;
301
+ computers: ZodArray<ZodObject<{
302
+ computerId: ZodString;
303
+ operations: ZodArray<ZodEnum<{
304
+ computer.list: ...;
305
+ computer.readFile: ...;
306
+ computer.writeFile: ...;
307
+ computer.execute: ...;
308
+ }>>;
309
+ }, $strict>>;
310
+ }, $strict>>, ZodLazy<ZodObject<{
311
+ kind: ZodLiteral<"all-team-computers">;
312
+ operations: ZodArray<ZodEnum<{
313
+ computer.list: "computer.list";
314
+ computer.readFile: "computer.readFile";
315
+ computer.writeFile: "computer.writeFile";
316
+ computer.execute: "computer.execute";
317
+ }>>;
318
+ }, $strict>>], "kind">;
319
+ ```
320
+
321
+ App Computer permissions limited to selected Computers or the Team's Computers.
322
+
323
+ ---
324
+
325
+ ### appAgentPermissionSchema
326
+
327
+ ```ts
328
+ const appAgentPermissionSchema: ZodDiscriminatedUnion<[ZodObject<{
329
+ kind: ZodLiteral<"all-team-agents">;
330
+ directoryOperations: ZodArray<ZodEnum<{
331
+ agent.list: "agent.list";
332
+ }>>;
333
+ sessionOperations: ZodArray<ZodEnum<{
334
+ agent.read: "agent.read";
335
+ agent.send: "agent.send";
336
+ agent.manage: "agent.manage";
337
+ }>>;
338
+ }, $strict>, ZodObject<{
339
+ kind: ZodLiteral<"selected-agents">;
340
+ directoryOperations: ZodArray<ZodEnum<{
341
+ agent.list: "agent.list";
342
+ }>>;
343
+ agents: ZodArray<ZodObject<{
344
+ agentId: ZodString;
345
+ sessionOperations: ZodArray<ZodEnum<{
346
+ agent.read: "agent.read";
347
+ agent.send: "agent.send";
348
+ agent.manage: "agent.manage";
349
+ }>>;
350
+ }, $strict>>;
351
+ }, $strict>], "kind">;
352
+ ```
353
+
354
+ Agent directory and session operations an App may request from its host.
355
+
356
+ ---
357
+
358
+ ### appGenerationPermissionsSchema
359
+
360
+ ```ts
361
+ const appGenerationPermissionsSchema: ZodObject<
362
+ {
363
+ llm: ZodBoolean;
364
+ media: ZodBoolean;
365
+ },
366
+ $strict
367
+ >;
368
+ ```
369
+
370
+ Whether an App may use language-model and media generation services.
371
+
372
+ ---
373
+
374
+ ### appMarketplacePermissionsSchema
375
+
376
+ ```ts
377
+ const appMarketplacePermissionsSchema: ZodObject<
378
+ {
379
+ browse: ZodBoolean;
380
+ purchase: ZodBoolean;
381
+ installFree: ZodBoolean;
382
+ },
383
+ $strict
384
+ >;
385
+ ```
386
+
387
+ Whether an App may browse, buy, or install free marketplace entries.
388
+
389
+ ---
390
+
391
+ ### appDirectoryResponseSchema
392
+
393
+ ```ts
394
+ const appDirectoryResponseSchema: ZodLazy<ZodObject<{
395
+ actorIsTeamOwner: ZodBoolean;
396
+ needsUpdate: ZodOptional<ZodArray<ZodObject<{
397
+ installationId: ZodNullable<ZodString>;
398
+ appId: ZodNullable<ZodString>;
399
+ displayName: ZodString;
400
+ }, $strict>>>;
401
+ apps: ZodArray<ZodObject<{
402
+ address: ZodLazy<ZodUnion<readonly [ZodObject<{
403
+ kind: ...;
404
+ appId: ...;
405
+ }, $strict>, ZodObject<{
406
+ kind: ...;
407
+ installationId: ...;
408
+ }, $strict>]>>;
409
+ installationId: ZodNullable<ZodString>;
410
+ surfaceId: ZodString;
411
+ appId: ZodString;
412
+ displayName: ZodOptional<ZodString>;
413
+ icon: ZodOptional<ZodNullable<ZodString>>;
414
+ releaseId: ZodNullable<ZodString>;
415
+ authorityVersion: ZodNumber;
416
+ enforcement: ZodNullable<ZodLazy<ZodObject<{
417
+ requestId: ZodString;
418
+ address: ZodLazy<...>;
419
+ authorityVersion: ZodNumber;
420
+ state: ZodEnum<...>;
421
+ outstanding: ZodNumber;
422
+ }, $strict>>>;
423
+ handlers: ZodArray<ZodLiteral<"file.open">>;
424
+ roles: ZodArray<ZodString>;
425
+ declaredCapabilities: ZodArray<ZodString>;
426
+ calls: ZodOptional<ZodPipe<ZodUnknown, ZodTransform<readonly object[], unknown>>>;
427
+ commands: ZodPipe<ZodArray<ZodUnknown>, ZodTransform<Readonly<{
428
+ id: ...;
429
+ title: ...;
430
+ category: ...;
431
+ description?: ...;
432
+ sigil?: ...;
433
+ projections?: ...;
434
+ }>[], unknown[]>>;
435
+ gills: ZodPipe<ZodArray<ZodUnknown>, ZodTransform<AppDirectoryGill[], unknown[]>>;
436
+ availability: ZodEnum<{
437
+ available: "available";
438
+ unavailable: "unavailable";
439
+ }>;
440
+ surface: ZodNullable<ZodObject<{
441
+ stableRoute: ZodString;
442
+ }, $strict>>;
443
+ surfacePath: ZodString;
444
+ override: ZodNullable<ZodObject<{
445
+ appId: ZodOptional<ZodString>;
446
+ releaseId: ZodString;
447
+ surfaceRoute: ZodNullable<ZodString>;
448
+ }, $strict>>;
449
+ grants: ZodArray<ZodObject<{
450
+ operation: ZodString;
451
+ resourceId: ZodString;
452
+ }, $strict>>;
453
+ computerPermission: ZodOptional<ZodNullable<ZodDiscriminatedUnion<[ZodLazy<...>, ZodLazy<...>], "kind">>>;
454
+ generationPermissions: ZodObject<{
455
+ llm: ZodBoolean;
456
+ media: ZodBoolean;
457
+ }, $strict>;
458
+ marketplacePermissions: ZodObject<{
459
+ browse: ZodBoolean;
460
+ purchase: ZodBoolean;
461
+ installFree: ZodBoolean;
462
+ }, $strict>;
463
+ agentPermission: ZodDiscriminatedUnion<[ZodObject<{
464
+ kind: ZodLiteral<...>;
465
+ directoryOperations: ZodArray<...>;
466
+ sessionOperations: ZodArray<...>;
467
+ }, $strict>, ZodObject<{
468
+ kind: ZodLiteral<...>;
469
+ directoryOperations: ZodArray<...>;
470
+ agents: ZodArray<...>;
471
+ }, $strict>], "kind">;
472
+ }, $strict>>;
473
+ roles: ZodRecord<ZodString, ZodObject<{
474
+ surfaceId: ZodNullable<ZodString>;
475
+ chosen: ZodBoolean;
476
+ }, $strict>>;
477
+ }, $strict>>;
478
+ ```
479
+
480
+ A host's Team App directory with its permission projection, parsed strictly by
481
+ every consumer: an unknown field is a contract change both sides make.
482
+
483
+ ---
484
+
485
+ ### appCatalogEntrySchema
486
+
487
+ ```ts
488
+ const appCatalogEntrySchema: ZodObject<{
489
+ surfaceId: ZodString;
490
+ appId: ZodString;
491
+ displayName: ZodOptional<ZodString>;
492
+ gills: ZodArray<ZodObject<{
493
+ id: ZodString;
494
+ title: ZodString;
495
+ params: ZodOptional<ZodLazy<ZodArray<ZodObject<{
496
+ key: ...;
497
+ label: ...;
498
+ kind: ...;
499
+ required: ...;
500
+ options: ...;
501
+ }, $strict>> & ZodType<readonly object[], object[], $ZodTypeInternals<readonly ...[], ...[]>>>>;
502
+ desktop: ZodOptional<ZodObject<{
503
+ sizes: ZodArray<ZodEnum<{
504
+ S: ...;
505
+ M: ...;
506
+ L: ...;
507
+ }>>;
508
+ }, $strict>>;
509
+ }, $strict>>;
510
+ }, $strict>;
511
+ ```
512
+
513
+ Read-only catalog metadata for one App, without host-specific role policy.
514
+
515
+ ---
516
+
517
+ ### appCatalogResponseSchema
518
+
519
+ ```ts
520
+ const appCatalogResponseSchema: ZodLazy<ZodObject<{
521
+ apps: ZodArray<ZodObject<{
522
+ surfaceId: ZodString;
523
+ appId: ZodString;
524
+ displayName: ZodOptional<ZodString>;
525
+ gills: ZodArray<ZodObject<{
526
+ id: ZodString;
527
+ title: ZodString;
528
+ params: ZodOptional<ZodLazy<...>>;
529
+ desktop: ZodOptional<ZodObject<..., ...>>;
530
+ }, $strict>>;
531
+ }, $strict>>;
532
+ roles: ZodObject<{
533
+ inbox: ZodOptional<ZodObject<{
534
+ surfaceId: ZodNullable<ZodString>;
535
+ chosen: ZodBoolean;
536
+ }, $strict>>;
537
+ }, $strict>;
538
+ }, $strict>>;
539
+ ```
540
+
541
+ Read-only desktop metadata; identities are surface addresses, never launch
542
+ authority.
543
+
544
+ ---
545
+
546
+ ### appCatalogBrokerResultSchema
547
+
548
+ ```ts
549
+ const appCatalogBrokerResultSchema: ZodLazy<ZodUnion<readonly [ZodLazy<ZodObject<{
550
+ apps: ZodArray<ZodObject<{
551
+ surfaceId: ZodString;
552
+ appId: ZodString;
553
+ displayName: ZodOptional<ZodString>;
554
+ gills: ZodArray<ZodObject<..., ...>>;
555
+ }, $strict>>;
556
+ roles: ZodObject<{
557
+ inbox: ZodOptional<ZodObject<{
558
+ surfaceId: ...;
559
+ chosen: ...;
560
+ }, $strict>>;
561
+ }, $strict>;
562
+ }, $strict>>, ZodObject<{
563
+ error: ZodString;
564
+ }, $strict>]>>;
565
+ ```
566
+
567
+ Complete APPS.catalog reply, including broker admission failures.
568
+
569
+ ## Functions
570
+
571
+ ### addressKey()
572
+
573
+ ```ts
574
+ function addressKey(address): string;
575
+ ```
576
+
577
+ Stable identity of one App address across directory and settings views.
578
+
579
+ #### Parameters
580
+
581
+ | Parameter | Type |
582
+ | --------- | --------------------------------------------------------------------------------------------------------------- |
583
+ | `address` | \| \{ `kind`: `"default"`; `appId`: `string`; \} \| \{ `kind`: `"installation"`; `installationId`: `string`; \} |
584
+
585
+ #### Returns
586
+
587
+ `string`