@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,141 @@
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) / workbench-directory
8
+
9
+ # workbench-directory
10
+
11
+ ## Type Aliases
12
+
13
+ ### WorkbenchDirectory
14
+
15
+ ```ts
16
+ type WorkbenchDirectory = z.output<typeof workbenchDirectorySchema>;
17
+ ```
18
+
19
+ One host's current desktop rows and actual role selections.
20
+
21
+ ## Variables
22
+
23
+ ### workbenchComputerDirectorySchema
24
+
25
+ ```ts
26
+ const workbenchComputerDirectorySchema: ZodObject<
27
+ {
28
+ computers: ZodArray<
29
+ ZodObject<
30
+ {
31
+ computerId: ZodString;
32
+ name: ZodString;
33
+ },
34
+ $strip
35
+ >
36
+ >;
37
+ nextOffset: ZodNullable<ZodNumber>;
38
+ },
39
+ $strip
40
+ >;
41
+ ```
42
+
43
+ The shell picker needs identities and labels, not inventory receipts.
44
+
45
+ ---
46
+
47
+ ### workbenchDirectorySchema
48
+
49
+ ```ts
50
+ const workbenchDirectorySchema: ZodPipe<ZodObject<{
51
+ apps: ZodArray<ZodObject<{
52
+ address: ZodLazy<ZodUnion<readonly [ZodObject<{
53
+ kind: ...;
54
+ appId: ...;
55
+ }, $strict>, ZodObject<{
56
+ kind: ...;
57
+ installationId: ...;
58
+ }, $strict>]>>;
59
+ installationId: ZodNullable<ZodString>;
60
+ surfaceId: ZodString;
61
+ appId: ZodString;
62
+ displayName: ZodOptional<ZodString>;
63
+ icon: ZodOptional<ZodNullable<ZodString>>;
64
+ releaseId: ZodNullable<ZodString>;
65
+ authorityVersion: ZodNumber;
66
+ enforcement: ZodNullable<ZodLazy<ZodObject<{
67
+ requestId: ZodString;
68
+ address: ZodLazy<...>;
69
+ authorityVersion: ZodNumber;
70
+ state: ZodEnum<...>;
71
+ outstanding: ZodNumber;
72
+ }, $strict>>>;
73
+ handlers: ZodArray<ZodLiteral<"file.open">>;
74
+ roles: ZodArray<ZodString>;
75
+ declaredCapabilities: ZodArray<ZodString>;
76
+ calls: ZodOptional<ZodPipe<ZodUnknown, ZodTransform<readonly object[], unknown>>>;
77
+ commands: ZodPipe<ZodArray<ZodUnknown>, ZodTransform<Readonly<{
78
+ id: ...;
79
+ title: ...;
80
+ category: ...;
81
+ description?: ...;
82
+ sigil?: ...;
83
+ projections?: ...;
84
+ }>[], unknown[]>>;
85
+ gills: ZodPipe<ZodArray<ZodUnknown>, ZodTransform<AppDirectoryGill[], unknown[]>>;
86
+ availability: ZodEnum<{
87
+ available: "available";
88
+ unavailable: "unavailable";
89
+ }>;
90
+ surface: ZodNullable<ZodObject<{
91
+ stableRoute: ZodString;
92
+ }, $strict>>;
93
+ surfacePath: ZodString;
94
+ computer: ZodOptional<ZodUnion<readonly [ZodObject<{
95
+ computerId: ...;
96
+ name: ...;
97
+ }, $strip>, ZodLiteral<"owner-fleet">]>>;
98
+ computerPermission: ZodOptional<ZodNullable<ZodDiscriminatedUnion<[ZodLazy<...>, ZodLazy<...>], "kind">>>;
99
+ }, $strip>>;
100
+ computer: ZodOptional<ZodObject<{
101
+ computerId: ZodString;
102
+ name: ZodString;
103
+ }, $strip>>;
104
+ computerContext: ZodOptional<ZodLiteral<"owner-fleet">>;
105
+ roles: ZodRecord<ZodString, ZodObject<{
106
+ surfaceId: ZodNullable<ZodString>;
107
+ chosen: ZodBoolean;
108
+ }, $strict>>;
109
+ needsUpdate: ZodOptional<ZodArray<ZodObject<{
110
+ installationId: ZodNullable<ZodString>;
111
+ appId: ZodNullable<ZodString>;
112
+ displayName: ZodString;
113
+ }, $strict>>>;
114
+ }, $strip>, ZodTransform<{
115
+ apps: object[];
116
+ computer?: {
117
+ computerId: string;
118
+ name: string;
119
+ };
120
+ computerContext?: "owner-fleet";
121
+ roles: Record<string, {
122
+ surfaceId: string | null;
123
+ chosen: boolean;
124
+ }>;
125
+ needsUpdate?: object[];
126
+ }, {
127
+ apps: object[];
128
+ computer?: {
129
+ computerId: string;
130
+ name: string;
131
+ };
132
+ computerContext?: "owner-fleet";
133
+ roles: Record<string, {
134
+ surfaceId: string | null;
135
+ chosen: boolean;
136
+ }>;
137
+ needsUpdate?: object[];
138
+ }>>;
139
+ ```
140
+
141
+ Desktop metadata shared by hosts; hosted administration stays in Settings.
@@ -0,0 +1,201 @@
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) / workbench
8
+
9
+ # workbench
10
+
11
+ ## References
12
+
13
+ ### WorkbenchResolvedChild
14
+
15
+ Re-exports [WorkbenchResolvedChild](index.md#workbenchresolvedchild)
16
+
17
+ ---
18
+
19
+ ### WorkbenchChildSurface
20
+
21
+ Re-exports [WorkbenchChildSurface](index.md#workbenchchildsurface)
22
+
23
+ ---
24
+
25
+ ### WorkbenchChildMountOptions
26
+
27
+ Re-exports [WorkbenchChildMountOptions](index.md#workbenchchildmountoptions)
28
+
29
+ ---
30
+
31
+ ### WorkbenchPreparedChild
32
+
33
+ Re-exports [WorkbenchPreparedChild](index.md#workbenchpreparedchild)
34
+
35
+ ---
36
+
37
+ ### WorkbenchHostServices
38
+
39
+ Re-exports [WorkbenchHostServices](index.md#workbenchhostservices)
40
+
41
+ ---
42
+
43
+ ### WorkbenchHostControls
44
+
45
+ Re-exports [WorkbenchHostControls](index.md#workbenchhostcontrols)
46
+
47
+ ---
48
+
49
+ ### WorkbenchWarningEvent
50
+
51
+ Re-exports [WorkbenchWarningEvent](index.md#workbenchwarningevent)
52
+
53
+ ---
54
+
55
+ ### WorkbenchWarningFields
56
+
57
+ Re-exports [WorkbenchWarningFields](index.md#workbenchwarningfields)
58
+
59
+ ---
60
+
61
+ ### WorkbenchHostOptions
62
+
63
+ Re-exports [WorkbenchHostOptions](index.md#workbenchhostoptions)
64
+
65
+ ---
66
+
67
+ ### WorkbenchChildLaunch
68
+
69
+ Re-exports [WorkbenchChildLaunch](index.md#workbenchchildlaunch)
70
+
71
+ ---
72
+
73
+ ### WorkbenchCommandInvocation
74
+
75
+ Re-exports [WorkbenchCommandInvocation](index.md#workbenchcommandinvocation)
76
+
77
+ ---
78
+
79
+ ### WorkbenchChildEvents
80
+
81
+ Re-exports [WorkbenchChildEvents](index.md#workbenchchildevents)
82
+
83
+ ---
84
+
85
+ ### WorkbenchChildHandle
86
+
87
+ Re-exports [WorkbenchChildHandle](index.md#workbenchchildhandle)
88
+
89
+ ---
90
+
91
+ ### WorkbenchPlatformDestination
92
+
93
+ Re-exports [WorkbenchPlatformDestination](index.md#workbenchplatformdestination)
94
+
95
+ ---
96
+
97
+ ### workbenchGillRequestSchema
98
+
99
+ Re-exports [workbenchGillRequestSchema](index.md#workbenchgillrequestschema)
100
+
101
+ ---
102
+
103
+ ### WorkbenchGillRequest
104
+
105
+ Re-exports [WorkbenchGillRequest](index.md#workbenchgillrequest)
106
+
107
+ ---
108
+
109
+ ### desktopGillSelectionSchema
110
+
111
+ Re-exports [desktopGillSelectionSchema](index.md#desktopgillselectionschema)
112
+
113
+ ---
114
+
115
+ ### DesktopGillSelection
116
+
117
+ Re-exports [DesktopGillSelection](index.md#desktopgillselection)
118
+
119
+ ---
120
+
121
+ ### desktopGillSizesSchema
122
+
123
+ Re-exports [desktopGillSizesSchema](index.md#desktopgillsizesschema)
124
+
125
+ ---
126
+
127
+ ### desktopGillAdditionSchema
128
+
129
+ Re-exports [desktopGillAdditionSchema](index.md#desktopgilladditionschema)
130
+
131
+ ---
132
+
133
+ ### DesktopGillAddition
134
+
135
+ Re-exports [DesktopGillAddition](index.md#desktopgilladdition)
136
+
137
+ ---
138
+
139
+ ### WorkbenchDesktopSettings
140
+
141
+ Re-exports [WorkbenchDesktopSettings](index.md#workbenchdesktopsettings)
142
+
143
+ ---
144
+
145
+ ### desktopSettingsHandlerSchema
146
+
147
+ Re-exports [desktopSettingsHandlerSchema](index.md#desktopsettingshandlerschema)
148
+
149
+ ---
150
+
151
+ ### WorkbenchDesktopRegistration
152
+
153
+ Re-exports [WorkbenchDesktopRegistration](index.md#workbenchdesktopregistration)
154
+
155
+ ---
156
+
157
+ ### WorkbenchGillWatch
158
+
159
+ Re-exports [WorkbenchGillWatch](index.md#workbenchgillwatch)
160
+
161
+ ---
162
+
163
+ ### appOpenRequestSchema
164
+
165
+ Re-exports [appOpenRequestSchema](index.md#appopenrequestschema)
166
+
167
+ ---
168
+
169
+ ### teamComputerSchema
170
+
171
+ Re-exports [teamComputerSchema](index.md#teamcomputerschema)
172
+
173
+ ---
174
+
175
+ ### TeamComputer
176
+
177
+ Re-exports [TeamComputer](index.md#teamcomputer)
178
+
179
+ ---
180
+
181
+ ### teamComputerDirectorySchema
182
+
183
+ Re-exports [teamComputerDirectorySchema](index.md#teamcomputerdirectoryschema)
184
+
185
+ ---
186
+
187
+ ### TeamWorkbenchHostHandle
188
+
189
+ Re-exports [TeamWorkbenchHostHandle](index.md#teamworkbenchhosthandle)
190
+
191
+ ---
192
+
193
+ ### TeamWorkbenchChildEvents
194
+
195
+ Re-exports [TeamWorkbenchChildEvents](index.md#teamworkbenchchildevents)
196
+
197
+ ---
198
+
199
+ ### WorkbenchHost
200
+
201
+ Re-exports [WorkbenchHost](index.md#workbenchhost)
package/package.json CHANGED
@@ -1,6 +1,101 @@
1
1
  {
2
2
  "name": "@fungi.computer/nacre",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.0.1",
4
+ "author": "Levi <levi@technomancy.dev>",
5
+ "description": "The shell client for hosting Apps: workbench, command host, keys, commands, window manager and App directory rows",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "main": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "./workbench": {
16
+ "types": "./dist/workbench.d.ts",
17
+ "import": "./dist/workbench.js"
18
+ },
19
+ "./shell-module": {
20
+ "types": "./dist/shell-module.d.ts",
21
+ "import": "./dist/shell-module.js"
22
+ },
23
+ "./command-host": {
24
+ "types": "./dist/command-host.d.ts",
25
+ "import": "./dist/command-host.js"
26
+ },
27
+ "./keys": {
28
+ "types": "./dist/keys.d.ts",
29
+ "import": "./dist/keys.js"
30
+ },
31
+ "./commands": {
32
+ "types": "./dist/commands.d.ts",
33
+ "import": "./dist/commands.js"
34
+ },
35
+ "./window-manager": {
36
+ "types": "./dist/window-manager.d.ts",
37
+ "import": "./dist/window-manager.js"
38
+ },
39
+ "./app-directory": {
40
+ "types": "./dist/app-directory.d.ts",
41
+ "import": "./dist/app-directory.js"
42
+ },
43
+ "./workbench-directory": {
44
+ "types": "./dist/workbench-directory.d.ts",
45
+ "import": "./dist/workbench-directory.js"
46
+ }
47
+ },
48
+ "files": [
49
+ "dist",
50
+ "docs/api",
51
+ "README.md",
52
+ "LICENSE"
53
+ ],
54
+ "dependencies": {
55
+ "@fungi.computer/agar": "0.3.0",
56
+ "@fungi.computer/ear-tag": "0.1.0",
57
+ "@fungi.computer/gills": "0.2.0",
58
+ "@fungi.computer/puffball": "0.2.0",
59
+ "@fungi.computer/whistle": "0.1.0",
60
+ "effect": "4.0.2",
61
+ "zod": "4.4.3"
62
+ },
63
+ "devDependencies": {
64
+ "@types/node": "24.13.3",
65
+ "typescript": "5.9.3",
66
+ "vitest": "4.1.11"
67
+ },
68
+ "botanical": {
69
+ "role": "package",
70
+ "operations": {
71
+ "lint": "required",
72
+ "typecheck": "required",
73
+ "build": "required",
74
+ "test": "required",
75
+ "docs": "required",
76
+ "pack": "required",
77
+ "smoke": "required",
78
+ "stranger": "required"
79
+ }
80
+ },
81
+ "license": "MIT",
82
+ "repository": {
83
+ "type": "git",
84
+ "url": "git+https://github.com/fungi-computer/nacre.git"
85
+ },
86
+ "scripts": {
87
+ "lint": "eslint src test --max-warnings=0 && ../../node_modules/.bin/oxlint --config ../../oxlint.config.ts --deny-warnings src test",
88
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p test/tsconfig.json --noEmit",
89
+ "build": "pnpm run clean && tsc -p tsconfig.build.json",
90
+ "clean": "node --input-type=module --eval \"import { rm } from 'node:fs/promises'; await rm('dist', { recursive: true, force: true });\"",
91
+ "test": "vitest run",
92
+ "test:unit": "pnpm run test",
93
+ "docs": "tsx ../../tooling/repository/src/docs/cli.ts check --root ../..",
94
+ "docs:write": "tsx ../../tooling/repository/src/docs/cli.ts write --root ../..",
95
+ "pack": "mkdir -p ../../.botanical/nacre-pack && pnpm pack --pack-destination ../../.botanical/nacre-pack",
96
+ "smoke": "node test/stranger/runtime.mjs",
97
+ "stranger": "tsx ../../tooling/repository/src/artifacts/cli.ts --repo-root ../.. .",
98
+ "format:check": "node ../../tooling/repository/scripts/format-package-check.mjs",
99
+ "lint:anti-slop": "node ../../tooling/repository/scripts/lint-package-anti-slop.mjs"
100
+ }
6
101
  }