@fungi.computer/puffball 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 (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +443 -2
  3. package/dist/app-api.d.ts +7 -0
  4. package/dist/app-api.js +61 -0
  5. package/dist/app-backend-binding-vocabulary.d.ts +299 -0
  6. package/dist/app-backend-binding-vocabulary.js +257 -0
  7. package/dist/app-backend-bindings.d.ts +21 -0
  8. package/dist/app-backend-bindings.js +47 -0
  9. package/dist/app-declaration.d.ts +46 -0
  10. package/dist/app-declaration.js +115 -0
  11. package/dist/app-event-facts.d.ts +40 -0
  12. package/dist/app-event-facts.js +28 -0
  13. package/dist/app-method-context.d.ts +109 -0
  14. package/dist/app-method-context.js +9 -0
  15. package/dist/app-method-runtime.d.ts +86 -0
  16. package/dist/app-method-runtime.js +122 -0
  17. package/dist/app-origin-paths.d.ts +6 -0
  18. package/dist/app-origin-paths.js +6 -0
  19. package/dist/app-vocabulary.d.ts +189 -0
  20. package/dist/app-vocabulary.js +103 -0
  21. package/dist/app.d.ts +379 -0
  22. package/dist/app.js +71 -0
  23. package/dist/artifact-dispositions.d.ts +115 -0
  24. package/dist/artifact-dispositions.js +234 -0
  25. package/dist/assets.d.ts +54 -0
  26. package/dist/assets.js +89 -0
  27. package/dist/backend.d.ts +41 -0
  28. package/dist/backend.js +29 -0
  29. package/dist/background-replay.d.ts +115 -0
  30. package/dist/background-replay.js +175 -0
  31. package/dist/buyer-references.d.ts +69 -0
  32. package/dist/buyer-references.js +154 -0
  33. package/dist/cloudflare-assets.d.ts +48 -0
  34. package/dist/cloudflare-assets.js +105 -0
  35. package/dist/cloudflare.d.ts +254 -0
  36. package/dist/cloudflare.js +1619 -0
  37. package/dist/effect.d.ts +73 -0
  38. package/dist/effect.js +325 -0
  39. package/dist/git-representation.d.ts +13 -0
  40. package/dist/git-representation.js +16 -0
  41. package/dist/inbox.d.ts +132 -0
  42. package/dist/inbox.js +81 -0
  43. package/dist/index.d.ts +31 -0
  44. package/dist/index.js +85 -0
  45. package/dist/internal/app-description.d.ts +14 -0
  46. package/dist/internal/app-description.js +98 -0
  47. package/dist/internal/app-release-artifact-reader.d.ts +26 -0
  48. package/dist/internal/app-release-artifact-reader.js +1 -0
  49. package/dist/internal/app-release-contract.d.ts +540 -0
  50. package/dist/internal/app-release-contract.js +169 -0
  51. package/dist/internal/app-release-schema.d.ts +1676 -0
  52. package/dist/internal/app-release-schema.js +386 -0
  53. package/dist/internal/app-release-store.d.ts +47 -0
  54. package/dist/internal/app-release-store.js +1 -0
  55. package/dist/internal/background-sync.d.ts +7 -0
  56. package/dist/internal/background-sync.js +10 -0
  57. package/dist/internal/deterministic-memory-app-release-store.d.ts +14 -0
  58. package/dist/internal/deterministic-memory-app-release-store.js +319 -0
  59. package/dist/internal/failure.d.ts +2 -0
  60. package/dist/internal/failure.js +9 -0
  61. package/dist/internal/immutable-release-material.d.ts +3 -0
  62. package/dist/internal/immutable-release-material.js +13 -0
  63. package/dist/internal/promise-app-release-store-adapter.d.ts +9 -0
  64. package/dist/internal/promise-app-release-store-adapter.js +65 -0
  65. package/dist/internal/promise-artifact-reader-adapter.d.ts +9 -0
  66. package/dist/internal/promise-artifact-reader-adapter.js +18 -0
  67. package/dist/internal/public-route-sql.d.ts +10 -0
  68. package/dist/internal/public-route-sql.js +239 -0
  69. package/dist/internal/public-website-authority.d.ts +338 -0
  70. package/dist/internal/public-website-authority.js +50 -0
  71. package/dist/internal/public-website-delivery.d.ts +59 -0
  72. package/dist/internal/public-website-delivery.js +232 -0
  73. package/dist/internal/public-website-fetch.d.ts +8 -0
  74. package/dist/internal/public-website-fetch.js +54 -0
  75. package/dist/internal/release-transition-material.d.ts +3 -0
  76. package/dist/internal/release-transition-material.js +11 -0
  77. package/dist/internal/verified-artifact-snapshot.d.ts +41 -0
  78. package/dist/internal/verified-artifact-snapshot.js +91 -0
  79. package/dist/public-route-moderation.d.ts +83 -0
  80. package/dist/public-route-moderation.js +236 -0
  81. package/dist/public-route-policy.d.ts +51 -0
  82. package/dist/public-route-policy.js +88 -0
  83. package/dist/public-routes.d.ts +34 -0
  84. package/dist/public-routes.js +136 -0
  85. package/dist/publisher.d.ts +61 -0
  86. package/dist/publisher.js +16 -0
  87. package/dist/safety-takedown.d.ts +56 -0
  88. package/dist/safety-takedown.js +146 -0
  89. package/dist/seller-closure-notice.d.ts +14 -0
  90. package/dist/seller-closure-notice.js +14 -0
  91. package/dist/seller-closure.d.ts +15 -0
  92. package/dist/seller-closure.js +31 -0
  93. package/dist/testing.d.ts +8 -0
  94. package/dist/testing.js +47 -0
  95. package/docs/api/README.md +26 -0
  96. package/docs/api/app-backend-binding-vocabulary.md +276 -0
  97. package/docs/api/app-backend-bindings.md +141 -0
  98. package/docs/api/app-event-facts.md +110 -0
  99. package/docs/api/app-method-context.md +166 -0
  100. package/docs/api/app-method-runtime.md +330 -0
  101. package/docs/api/backend.md +108 -0
  102. package/docs/api/background-replay.md +516 -0
  103. package/docs/api/cloudflare.md +1044 -0
  104. package/docs/api/effect.md +2429 -0
  105. package/docs/api/git-representation.md +56 -0
  106. package/docs/api/inbox.md +289 -0
  107. package/docs/api/index.md +2868 -0
  108. package/docs/api/publisher.md +147 -0
  109. package/docs/api/testing.md +31 -0
  110. package/package.json +158 -3
@@ -0,0 +1,276 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/puffball**](README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/puffball](README.md) / app-backend-binding-vocabulary
8
+
9
+ # app-backend-binding-vocabulary
10
+
11
+ ## Type Aliases
12
+
13
+ ### BindingOperationDefinition
14
+
15
+ ```ts
16
+ type BindingOperationDefinition = Readonly<{
17
+ cap: string;
18
+ requires: readonly AppCapabilityId[];
19
+ effect: "read" | "write";
20
+ }>;
21
+ ```
22
+
23
+ Shared broker class, permission and effect metadata for a binding operation.
24
+
25
+ ---
26
+
27
+ ### AppBackendBindingName
28
+
29
+ ```ts
30
+ type AppBackendBindingName = keyof typeof appBackendBindingKinds;
31
+ ```
32
+
33
+ A registered backend binding kind.
34
+
35
+ ---
36
+
37
+ ### AppBackendBinding
38
+
39
+ ```ts
40
+ type AppBackendBinding = Readonly<{
41
+ name: AppBackendBindingName;
42
+ operations: readonly string[];
43
+ }>;
44
+ ```
45
+
46
+ One author-selected binding; its operation names are checked by the registry
47
+ decoder.
48
+
49
+ ---
50
+
51
+ ### AppBackendBindingMethod
52
+
53
+ ```ts
54
+ type AppBackendBindingMethod = {
55
+ [
56
+ Kind in AppBackendBindingName
57
+ ]: keyof (typeof appBackendBindingKinds)[Kind]["operations"];
58
+ }[AppBackendBindingName];
59
+ ```
60
+
61
+ RPC method names exposed by the registered kinds.
62
+
63
+ ---
64
+
65
+ ### AppBackendBindingOperation
66
+
67
+ ```ts
68
+ type AppBackendBindingOperation = {
69
+ [
70
+ Kind in AppBackendBindingName
71
+ ]: (typeof appBackendBindingKinds)[Kind]["operations"][keyof (typeof appBackendBindingKinds)[Kind]["operations"]];
72
+ }[AppBackendBindingName];
73
+ ```
74
+
75
+ The required permissions, effect and broker class of a registered operation.
76
+
77
+ ## Variables
78
+
79
+ ### appBackendBindingKinds
80
+
81
+ ```ts
82
+ const appBackendBindingKinds: object;
83
+ ```
84
+
85
+ The runtime-neutral registry shared by declarations, admission and Exec.
86
+
87
+ #### Type Declaration
88
+
89
+ | Name | Type | Default value | Description |
90
+ | -------------------------------------------------- | --------------------------------------------------------- | ------------------------ | -------------------------------------------------------------------- |
91
+ | <a id="property-background"></a> `BACKGROUND` | `object` | - | - |
92
+ | `BACKGROUND.name` | `"BACKGROUND"` | `"BACKGROUND"` | - |
93
+ | `BACKGROUND.operations` | `object` | - | - |
94
+ | `BACKGROUND.operations.admit` | `object` | - | - |
95
+ | `BACKGROUND.operations.admit.cap` | `"app.background.admit"` | `"app.background.admit"` | - |
96
+ | `BACKGROUND.operations.admit.requires` | readonly \[\] | `[]` | - |
97
+ | `BACKGROUND.operations.admit.effect` | `"read"` | `"read"` | - |
98
+ | <a id="property-git"></a> `GIT` | `object` | - | - |
99
+ | `GIT.name` | `"GIT"` | `"GIT"` | - |
100
+ | `GIT.operations` | `object` | - | - |
101
+ | `GIT.operations.create` | `object` | - | - |
102
+ | `GIT.operations.create.cap` | `"app.git.create"` | `"app.git.create"` | - |
103
+ | `GIT.operations.create.requires` | readonly \[`"git.repository"`\] | - | - |
104
+ | `GIT.operations.create.effect` | `"write"` | `"write"` | - |
105
+ | `GIT.operations.fork` | `object` | - | - |
106
+ | `GIT.operations.fork.cap` | `"app.git.fork"` | `"app.git.fork"` | - |
107
+ | `GIT.operations.fork.requires` | readonly \[`"git.repository"`\] | - | - |
108
+ | `GIT.operations.fork.effect` | `"write"` | `"write"` | - |
109
+ | `GIT.operations.read` | `object` | - | - |
110
+ | `GIT.operations.read.cap` | `"app.git.read"` | `"app.git.read"` | - |
111
+ | `GIT.operations.read.requires` | readonly \[`"git.repository"`\] | - | - |
112
+ | `GIT.operations.read.effect` | `"read"` | `"read"` | - |
113
+ | `GIT.operations.write` | `object` | - | - |
114
+ | `GIT.operations.write.cap` | `"app.git.write"` | `"app.git.write"` | - |
115
+ | `GIT.operations.write.requires` | readonly \[`"git.repository"`\] | - | - |
116
+ | `GIT.operations.write.effect` | `"write"` | `"write"` | - |
117
+ | `GIT.operations.exchange` | `object` | - | - |
118
+ | `GIT.operations.exchange.cap` | `"app.git.exchange"` | `"app.git.exchange"` | - |
119
+ | `GIT.operations.exchange.requires` | readonly \[`"git.repository"`\] | - | - |
120
+ | `GIT.operations.exchange.effect` | `"write"` | `"write"` | - |
121
+ | <a id="property-events"></a> `EVENTS` | `object` | - | - |
122
+ | `EVENTS.name` | `"EVENTS"` | `"EVENTS"` | - |
123
+ | `EVENTS.operations` | `object` | - | - |
124
+ | `EVENTS.operations.emit` | `object` | - | - |
125
+ | `EVENTS.operations.emit.cap` | `"app.events.emit"` | `"app.events.emit"` | - |
126
+ | `EVENTS.operations.emit.requires` | readonly \[`"app.events.emit"`\] | - | - |
127
+ | `EVENTS.operations.emit.effect` | `"write"` | `"write"` | - |
128
+ | <a id="property-apps"></a> `APPS` | `object` | - | - |
129
+ | `APPS.name` | `"APPS"` | `"APPS"` | - |
130
+ | `APPS.operations` | `object` | - | - |
131
+ | `APPS.operations.build` | `object` | - | - |
132
+ | `APPS.operations.build.cap` | `"app.build"` | `"app.build"` | - |
133
+ | `APPS.operations.build.requires` | readonly \[`"git.repository"`, `"computer.execute"`\] | - | - |
134
+ | `APPS.operations.build.effect` | `"write"` | `"write"` | - |
135
+ | `APPS.operations.catalog` | `object` | - | - |
136
+ | `APPS.operations.catalog.cap` | `"app.catalog.read"` | `"app.catalog.read"` | - |
137
+ | `APPS.operations.catalog.requires` | readonly \[`"team.workbenchHost"`\] | - | - |
138
+ | `APPS.operations.catalog.effect` | `"read"` | `"read"` | - |
139
+ | <a id="property-workflows"></a> `WORKFLOWS` | `object` | - | - |
140
+ | `WORKFLOWS.name` | `"WORKFLOWS"` | `"WORKFLOWS"` | - |
141
+ | `WORKFLOWS.operations` | `object` | - | - |
142
+ | `WORKFLOWS.operations.catalog` | `object` | - | The member's callable App methods, for an editor's palette. |
143
+ | `WORKFLOWS.operations.catalog.cap` | `"app.workflow.read"` | `"app.workflow.read"` | - |
144
+ | `WORKFLOWS.operations.catalog.requires` | readonly \[`"workflow.run"`\] | - | - |
145
+ | `WORKFLOWS.operations.catalog.effect` | `"read"` | `"read"` | - |
146
+ | `WORKFLOWS.operations.runGraph` | `object` | - | Compile and start a definition as the member on the pinned Computer. |
147
+ | `WORKFLOWS.operations.runGraph.cap` | `"app.workflow.run"` | `"app.workflow.run"` | - |
148
+ | `WORKFLOWS.operations.runGraph.requires` | readonly \[`"workflow.run"`\] | - | - |
149
+ | `WORKFLOWS.operations.runGraph.effect` | `"write"` | `"write"` | - |
150
+ | `WORKFLOWS.operations.armSchedule` | `object` | - | - |
151
+ | `WORKFLOWS.operations.armSchedule.cap` | `"app.workflow.run"` | `"app.workflow.run"` | - |
152
+ | `WORKFLOWS.operations.armSchedule.requires` | readonly \[`"workflow.run"`, `"workflow.arm"`\] | - | - |
153
+ | `WORKFLOWS.operations.armSchedule.effect` | `"write"` | `"write"` | - |
154
+ | `WORKFLOWS.operations.disarmSchedule` | `object` | - | - |
155
+ | `WORKFLOWS.operations.disarmSchedule.cap` | `"app.workflow.run"` | `"app.workflow.run"` | - |
156
+ | `WORKFLOWS.operations.disarmSchedule.requires` | readonly \[`"workflow.run"`, `"workflow.arm"`\] | - | - |
157
+ | `WORKFLOWS.operations.disarmSchedule.effect` | `"write"` | `"write"` | - |
158
+ | `WORKFLOWS.operations.schedules` | `object` | - | - |
159
+ | `WORKFLOWS.operations.schedules.cap` | `"app.workflow.read"` | `"app.workflow.read"` | - |
160
+ | `WORKFLOWS.operations.schedules.requires` | readonly \[`"workflow.run"`\] | - | - |
161
+ | `WORKFLOWS.operations.schedules.effect` | `"read"` | `"read"` | - |
162
+ | `WORKFLOWS.operations.armEventTrigger` | `object` | - | - |
163
+ | `WORKFLOWS.operations.armEventTrigger.cap` | `"app.workflow.run"` | `"app.workflow.run"` | - |
164
+ | `WORKFLOWS.operations.armEventTrigger.requires` | readonly \[`"workflow.run"`, `"workflow.arm"`\] | - | - |
165
+ | `WORKFLOWS.operations.armEventTrigger.effect` | `"write"` | `"write"` | - |
166
+ | `WORKFLOWS.operations.disarmEventTrigger` | `object` | - | - |
167
+ | `WORKFLOWS.operations.disarmEventTrigger.cap` | `"app.workflow.run"` | `"app.workflow.run"` | - |
168
+ | `WORKFLOWS.operations.disarmEventTrigger.requires` | readonly \[`"workflow.run"`, `"workflow.arm"`\] | - | - |
169
+ | `WORKFLOWS.operations.disarmEventTrigger.effect` | `"write"` | `"write"` | - |
170
+ | `WORKFLOWS.operations.eventTriggers` | `object` | - | - |
171
+ | `WORKFLOWS.operations.eventTriggers.cap` | `"app.workflow.read"` | `"app.workflow.read"` | - |
172
+ | `WORKFLOWS.operations.eventTriggers.requires` | readonly \[`"workflow.run"`\] | - | - |
173
+ | `WORKFLOWS.operations.eventTriggers.effect` | `"read"` | `"read"` | - |
174
+ | `WORKFLOWS.operations.cancel` | `object` | - | A person's answer to one of a run's reviews; Agents never answer. |
175
+ | `WORKFLOWS.operations.cancel.cap` | `"app.workflow.run"` | `"app.workflow.run"` | - |
176
+ | `WORKFLOWS.operations.cancel.requires` | readonly \[`"workflow.run"`\] | - | - |
177
+ | `WORKFLOWS.operations.cancel.effect` | `"write"` | `"write"` | - |
178
+ | `WORKFLOWS.operations.answerReview` | `object` | - | - |
179
+ | `WORKFLOWS.operations.answerReview.cap` | `"app.workflow.run"` | `"app.workflow.run"` | - |
180
+ | `WORKFLOWS.operations.answerReview.requires` | readonly \[`"workflow.run"`\] | - | - |
181
+ | `WORKFLOWS.operations.answerReview.effect` | `"write"` | `"write"` | - |
182
+ | `WORKFLOWS.operations.graphStatus` | `object` | - | One of the member's runs: node events, reviews and engine status. |
183
+ | `WORKFLOWS.operations.graphStatus.cap` | `"app.workflow.read"` | `"app.workflow.read"` | - |
184
+ | `WORKFLOWS.operations.graphStatus.requires` | readonly \[`"workflow.run"`\] | - | - |
185
+ | `WORKFLOWS.operations.graphStatus.effect` | `"read"` | `"read"` | - |
186
+ | <a id="property-app_storage"></a> `APP_STORAGE` | `object` | - | - |
187
+ | `APP_STORAGE.name` | `"APP_STORAGE"` | `"APP_STORAGE"` | - |
188
+ | `APP_STORAGE.operations` | `object` | - | - |
189
+ | `APP_STORAGE.operations.read` | `object` | - | - |
190
+ | `APP_STORAGE.operations.read.cap` | `"app.storage.read"` | `"app.storage.read"` | - |
191
+ | `APP_STORAGE.operations.read.requires` | readonly \[`"app.storage"`\] | - | - |
192
+ | `APP_STORAGE.operations.read.effect` | `"read"` | `"read"` | - |
193
+ | `APP_STORAGE.operations.write` | `object` | - | - |
194
+ | `APP_STORAGE.operations.write.cap` | `"app.storage.write"` | `"app.storage.write"` | - |
195
+ | `APP_STORAGE.operations.write.requires` | readonly \[`"app.storage"`\] | - | - |
196
+ | `APP_STORAGE.operations.write.effect` | `"write"` | `"write"` | - |
197
+ | `APP_STORAGE.operations.reset` | `object` | - | - |
198
+ | `APP_STORAGE.operations.reset.cap` | `"app.storage.write"` | `"app.storage.write"` | - |
199
+ | `APP_STORAGE.operations.reset.requires` | readonly \[`"app.storage"`\] | - | - |
200
+ | `APP_STORAGE.operations.reset.effect` | `"write"` | `"write"` | - |
201
+ | <a id="property-media"></a> `MEDIA` | `object` | - | - |
202
+ | `MEDIA.name` | `"MEDIA"` | `"MEDIA"` | - |
203
+ | `MEDIA.operations` | `object` | - | - |
204
+ | `MEDIA.operations.models` | `object` | - | - |
205
+ | `MEDIA.operations.models.cap` | `"app.media.read"` | `"app.media.read"` | - |
206
+ | `MEDIA.operations.models.requires` | readonly \[`"media.generation"`\] | - | - |
207
+ | `MEDIA.operations.models.effect` | `"read"` | `"read"` | - |
208
+ | `MEDIA.operations.generate` | `object` | - | - |
209
+ | `MEDIA.operations.generate.cap` | `"app.media.generate"` | `"app.media.generate"` | - |
210
+ | `MEDIA.operations.generate.requires` | readonly \[`"media.generation"`, `"computer.writeFile"`\] | - | - |
211
+ | `MEDIA.operations.generate.effect` | `"write"` | `"write"` | - |
212
+ | <a id="property-computer"></a> `COMPUTER` | `object` | - | - |
213
+ | `COMPUTER.name` | `"COMPUTER"` | `"COMPUTER"` | - |
214
+ | `COMPUTER.operations` | `object` | - | - |
215
+ | `COMPUTER.operations.list` | `object` | - | - |
216
+ | `COMPUTER.operations.list.cap` | `"app.computer.read"` | `"app.computer.read"` | - |
217
+ | `COMPUTER.operations.list.requires` | readonly \[`"computer.list"`\] | - | - |
218
+ | `COMPUTER.operations.list.effect` | `"read"` | `"read"` | - |
219
+ | `COMPUTER.operations.read` | `object` | - | - |
220
+ | `COMPUTER.operations.read.cap` | `"app.computer.read"` | `"app.computer.read"` | - |
221
+ | `COMPUTER.operations.read.requires` | readonly \[`"computer.readFile"`\] | - | - |
222
+ | `COMPUTER.operations.read.effect` | `"read"` | `"read"` | - |
223
+ | `COMPUTER.operations.ports` | `object` | - | - |
224
+ | `COMPUTER.operations.ports.cap` | `"app.computer.read"` | `"app.computer.read"` | - |
225
+ | `COMPUTER.operations.ports.requires` | readonly \[`"computer.execute"`\] | - | - |
226
+ | `COMPUTER.operations.ports.effect` | `"read"` | `"read"` | - |
227
+ | `COMPUTER.operations.processes` | `object` | - | - |
228
+ | `COMPUTER.operations.processes.cap` | `"app.computer.read"` | `"app.computer.read"` | - |
229
+ | `COMPUTER.operations.processes.requires` | readonly \[`"computer.execute"`\] | - | - |
230
+ | `COMPUTER.operations.processes.effect` | `"read"` | `"read"` | - |
231
+ | `COMPUTER.operations.write` | `object` | - | - |
232
+ | `COMPUTER.operations.write.cap` | `"app.computer.write"` | `"app.computer.write"` | - |
233
+ | `COMPUTER.operations.write.requires` | readonly \[`"computer.writeFile"`\] | - | - |
234
+ | `COMPUTER.operations.write.effect` | `"write"` | `"write"` | - |
235
+ | `COMPUTER.operations.workflowGitPass` | `object` | - | - |
236
+ | `COMPUTER.operations.workflowGitPass.cap` | `"app.computer.exec"` | `"app.computer.exec"` | - |
237
+ | `COMPUTER.operations.workflowGitPass.requires` | readonly \[`"computer.execute"`\] | - | - |
238
+ | `COMPUTER.operations.workflowGitPass.effect` | `"write"` | `"write"` | - |
239
+ | `COMPUTER.operations.preview` | `object` | - | - |
240
+ | `COMPUTER.operations.preview.cap` | `"app.computer.exec"` | `"app.computer.exec"` | - |
241
+ | `COMPUTER.operations.preview.requires` | readonly \[`"computer.execute"`\] | - | - |
242
+ | `COMPUTER.operations.preview.effect` | `"write"` | `"write"` | - |
243
+ | `COMPUTER.operations.processKill` | `object` | - | - |
244
+ | `COMPUTER.operations.processKill.cap` | `"app.computer.exec"` | `"app.computer.exec"` | - |
245
+ | `COMPUTER.operations.processKill.requires` | readonly \[`"computer.execute"`\] | - | - |
246
+ | `COMPUTER.operations.processKill.effect` | `"write"` | `"write"` | - |
247
+ | `COMPUTER.operations.processStart` | `object` | - | - |
248
+ | `COMPUTER.operations.processStart.cap` | `"app.computer.exec"` | `"app.computer.exec"` | - |
249
+ | `COMPUTER.operations.processStart.requires` | readonly \[`"computer.execute"`\] | - | - |
250
+ | `COMPUTER.operations.processStart.effect` | `"write"` | `"write"` | - |
251
+ | `COMPUTER.operations.exec` | `object` | - | - |
252
+ | `COMPUTER.operations.exec.cap` | `"app.computer.exec"` | `"app.computer.exec"` | - |
253
+ | `COMPUTER.operations.exec.requires` | readonly \[`"computer.execute"`\] | - | - |
254
+ | `COMPUTER.operations.exec.effect` | `"write"` | `"write"` | - |
255
+ | <a id="property-inbox"></a> `INBOX` | `object` | - | - |
256
+ | `INBOX.name` | `"INBOX"` | `"INBOX"` | - |
257
+ | `INBOX.operations` | `object` | - | - |
258
+ | `INBOX.operations.page` | `object` | - | - |
259
+ | `INBOX.operations.page.cap` | `"inbox.read"` | `"inbox.read"` | - |
260
+ | `INBOX.operations.page.requires` | readonly \[`"agent.read"`\] | - | - |
261
+ | `INBOX.operations.page.effect` | `"read"` | `"read"` | - |
262
+ | `INBOX.operations.visit` | `object` | - | - |
263
+ | `INBOX.operations.visit.cap` | `"inbox.visit"` | `"inbox.visit"` | - |
264
+ | `INBOX.operations.visit.requires` | readonly \[`"agent.read"`\] | - | - |
265
+ | `INBOX.operations.visit.effect` | `"write"` | `"write"` | - |
266
+ | <a id="property-agents"></a> `AGENTS` | `object` | - | - |
267
+ | `AGENTS.name` | `"AGENTS"` | `"AGENTS"` | - |
268
+ | `AGENTS.operations` | `object` | - | - |
269
+ | `AGENTS.operations.list` | `object` | - | - |
270
+ | `AGENTS.operations.list.cap` | `"agent.list"` | `"agent.list"` | - |
271
+ | `AGENTS.operations.list.requires` | readonly \[`"agent.list"`\] | - | - |
272
+ | `AGENTS.operations.list.effect` | `"read"` | `"read"` | - |
273
+ | `AGENTS.operations.send` | `object` | - | - |
274
+ | `AGENTS.operations.send.cap` | `"agent.send"` | `"agent.send"` | - |
275
+ | `AGENTS.operations.send.requires` | readonly \[`"agent.send"`\] | - | - |
276
+ | `AGENTS.operations.send.effect` | `"write"` | `"write"` | - |
@@ -0,0 +1,141 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/puffball**](README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/puffball](README.md) / app-backend-bindings
8
+
9
+ # app-backend-bindings
10
+
11
+ ## Variables
12
+
13
+ ### appBackendBindingsSchema
14
+
15
+ ```ts
16
+ const appBackendBindingsSchema: $Array<
17
+ Union<
18
+ Struct<{
19
+ name: Literal<
20
+ | "BACKGROUND"
21
+ | "GIT"
22
+ | "EVENTS"
23
+ | "APPS"
24
+ | "WORKFLOWS"
25
+ | "APP_STORAGE"
26
+ | "MEDIA"
27
+ | "COMPUTER"
28
+ | "INBOX"
29
+ | "AGENTS"
30
+ >;
31
+ operations: $Array<Literals<string[]>>;
32
+ }>[]
33
+ >
34
+ >;
35
+ ```
36
+
37
+ Author declarations select named operations from registered binding kinds.
38
+
39
+ ---
40
+
41
+ ### appBackendShardBindingsSchema
42
+
43
+ ```ts
44
+ const appBackendShardBindingsSchema: $Array<Union<Struct<{
45
+ name: Literal<
46
+ | "BACKGROUND"
47
+ | "GIT"
48
+ | "EVENTS"
49
+ | "APPS"
50
+ | "WORKFLOWS"
51
+ | "APP_STORAGE"
52
+ | "MEDIA"
53
+ | "COMPUTER"
54
+ | "INBOX"
55
+ | "AGENTS">;
56
+ operations: $Array<Union<Struct<{
57
+ name: Literal<...>;
58
+ cap: Literal<...>;
59
+ }>[]>>;
60
+ }>[]>>;
61
+ ```
62
+
63
+ Signed shard bindings pair each operation with its exact broker class.
64
+
65
+ ## Functions
66
+
67
+ ### appBackendBindingOperation()
68
+
69
+ ```ts
70
+ function appBackendBindingOperation(
71
+ name,
72
+ operation,
73
+ ): AppBackendBindingOperation | undefined;
74
+ ```
75
+
76
+ Look up an operation within its declared kind; unknown names have no authority.
77
+
78
+ #### Parameters
79
+
80
+ | Parameter | Type |
81
+ | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
82
+ | `name` | \| `"BACKGROUND"` \| `"GIT"` \| `"EVENTS"` \| `"APPS"` \| `"WORKFLOWS"` \| `"APP_STORAGE"` \| `"MEDIA"` \| `"COMPUTER"` \| `"INBOX"` \| `"AGENTS"` |
83
+ | `operation` | `string` |
84
+
85
+ #### Returns
86
+
87
+ \|
88
+ [`AppBackendBindingOperation`](app-backend-binding-vocabulary.md#appbackendbindingoperation)
89
+ \| `undefined`
90
+
91
+ ---
92
+
93
+ ### scopeOperationToMethod()
94
+
95
+ ```ts
96
+ function scopeOperationToMethod(operation, method, ceiling): boolean;
97
+ ```
98
+
99
+ Keep only operations required by the verified method and allowed by its write
100
+ ceiling. Without a method, installation-scoped calls still respect the captured
101
+ ceiling.
102
+
103
+ #### Parameters
104
+
105
+ | Parameter | Type |
106
+ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
107
+ | `operation` | [`AppBackendBindingOperation`](app-backend-binding-vocabulary.md#appbackendbindingoperation) |
108
+ | `method` | \| `Pick`\<`Readonly`\<\{ `description`: `string`; `input`: `object`; `output`: `object`; `effect`: `"write"` \| `"external"` \| `"read"`; `requires`: readonly ( \| `"agent.list"` \| `"agent.manage"` \| `"agent.rename"` \| `"agent.toolPolicy"` \| `"agent.read"` \| `"agent.send"` \| `"computer.list"` \| `"computer.readFile"` \| `"computer.writeFile"` \| `"computer.execute"` \| `"llm.generation"` \| `"media.generation"` \| `"games:servers"` \| `"git.repository"` \| `"apps.open"` \| `"apps.call"` \| `"app.storage"` \| `"app.events.emit"` \| `"team.workbenchHost"` \| `"marketplace.browse"` \| `"marketplace.purchase"` \| `"workflow.run"` \| `"workflow.publish"` \| `"workflow.arm"` \| `"world"` \| `"channels.read"` \| `"channels.personal.manage"`)[]; `pending?`: `true`; `hidden?`: `true`; `anonymous?`: `true`; \}\>, `"requires"` \| `"effect"`\> \| `undefined` |
109
+ | `ceiling` | `"write"` \| `"read"` |
110
+
111
+ #### Returns
112
+
113
+ `boolean`
114
+
115
+ ## References
116
+
117
+ ### appBackendBindingKinds
118
+
119
+ Re-exports
120
+ [appBackendBindingKinds](app-backend-binding-vocabulary.md#appbackendbindingkinds)
121
+
122
+ ---
123
+
124
+ ### AppBackendBindingName
125
+
126
+ Re-exports
127
+ [AppBackendBindingName](app-backend-binding-vocabulary.md#appbackendbindingname)
128
+
129
+ ---
130
+
131
+ ### AppBackendBindingMethod
132
+
133
+ Re-exports
134
+ [AppBackendBindingMethod](app-backend-binding-vocabulary.md#appbackendbindingmethod)
135
+
136
+ ---
137
+
138
+ ### AppBackendBindingOperation
139
+
140
+ Re-exports
141
+ [AppBackendBindingOperation](app-backend-binding-vocabulary.md#appbackendbindingoperation)
@@ -0,0 +1,110 @@
1
+ <!-- Generated by Botanical API docs (TypeDoc + typedoc-plugin-markdown). Do not edit. -->
2
+
3
+ [**@fungi.computer/puffball**](README.md)
4
+
5
+ ---
6
+
7
+ [@fungi.computer/puffball](README.md) / app-event-facts
8
+
9
+ # app-event-facts
10
+
11
+ ## Type Aliases
12
+
13
+ ### AppEventInput
14
+
15
+ ```ts
16
+ type AppEventInput = z.output<typeof appEventInputSchema>;
17
+ ```
18
+
19
+ Parsed EventSink input before the host attaches installation identity.
20
+
21
+ ---
22
+
23
+ ### AppEventGitSource
24
+
25
+ ```ts
26
+ type AppEventGitSource = NonNullable<AppEventFact["gitSource"]>;
27
+ ```
28
+
29
+ Host-attested repository origin of an accepted push fact.
30
+
31
+ ---
32
+
33
+ ### AppEventFact
34
+
35
+ ```ts
36
+ type AppEventFact = z.output<typeof appEventFactSchema>;
37
+ ```
38
+
39
+ Canonical saved event fact for delivery to a host event router.
40
+
41
+ ## Variables
42
+
43
+ ### appEventInputSchema
44
+
45
+ ```ts
46
+ const appEventInputSchema: ZodObject<
47
+ {
48
+ type: ZodString;
49
+ payload: ZodObject<
50
+ {
51
+ type: ZodString;
52
+ timestamp: ZodString;
53
+ data: ZodJSONSchema;
54
+ },
55
+ $strict
56
+ >;
57
+ eventId: ZodString;
58
+ },
59
+ $strict
60
+ >;
61
+ ```
62
+
63
+ Canonical EventSink body; installation identity is supplied by the host.
64
+
65
+ ---
66
+
67
+ ### appEventFactSchema
68
+
69
+ ```ts
70
+ const appEventFactSchema: ZodObject<
71
+ {
72
+ type: ZodString;
73
+ payload: ZodObject<
74
+ {
75
+ type: ZodString;
76
+ timestamp: ZodString;
77
+ data: ZodJSONSchema;
78
+ },
79
+ $strict
80
+ >;
81
+ eventId: ZodString;
82
+ installationId: ZodString;
83
+ appId: ZodString;
84
+ releaseId: ZodString;
85
+ gitSource: ZodOptional<
86
+ ZodObject<
87
+ {
88
+ eventId: ZodString;
89
+ repository: ZodString;
90
+ updates: ZodArray<
91
+ ZodObject<
92
+ {
93
+ ref: ZodString;
94
+ before: ZodString;
95
+ after: ZodString;
96
+ },
97
+ $strict
98
+ >
99
+ >;
100
+ providerRepository: ZodString;
101
+ },
102
+ $strict
103
+ >
104
+ >;
105
+ },
106
+ $strict
107
+ >;
108
+ ```
109
+
110
+ Saved host fact delivered to the shared Workflows event router.