@pulse-compute/cli 0.0.0 → 1.0.0-beta.2

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 (191) hide show
  1. package/API.md +572 -0
  2. package/CHANGELOG.md +71 -0
  3. package/README.md +71 -1
  4. package/bin/pulse.js +15 -0
  5. package/bin/pulsewasm-extract.js +22 -0
  6. package/cli-spec.json +575 -0
  7. package/completions/_pulse +106 -0
  8. package/completions/pulse.bash +31 -0
  9. package/completions/pulse.fish +76 -0
  10. package/docs/README.md +77 -0
  11. package/docs/architecture/current-contracts.md +470 -0
  12. package/docs/architecture/overview.md +93 -0
  13. package/docs/architecture/vision.md +515 -0
  14. package/docs/concepts/bodies.md +186 -0
  15. package/docs/concepts/compilation-and-lowering.md +496 -0
  16. package/docs/concepts/contracts-and-providers.md +158 -0
  17. package/docs/concepts/effects-and-continuations.md +300 -0
  18. package/docs/concepts/entities-and-adapters.md +71 -0
  19. package/docs/concepts/package-owned-lowering.md +175 -0
  20. package/docs/concepts/targets-and-hosts.md +70 -0
  21. package/docs/contributing/README.md +38 -0
  22. package/docs/contributing/adding-core-provider.md +315 -0
  23. package/docs/contributing/adding-first-party-lowerer.md +327 -0
  24. package/docs/contributing/entities-lowering.md +91 -0
  25. package/docs/contributing/package-lowerer-contract.md +383 -0
  26. package/docs/contributing/pulse-aware-packages.md +149 -0
  27. package/docs/examples.md +112 -0
  28. package/docs/fixtures/inspect-fetch-composition.selected.json +181 -0
  29. package/docs/getting-started.md +128 -0
  30. package/docs/guides/compatibility-imports.md +60 -0
  31. package/docs/guides/deploying-fastly.md +188 -0
  32. package/docs/guides/deploying-node.md +143 -0
  33. package/docs/guides/events.md +233 -0
  34. package/docs/guides/fastly-capabilities.md +153 -0
  35. package/docs/guides/fetching-and-composition.md +101 -0
  36. package/docs/guides/grip.md +94 -0
  37. package/docs/guides/json-schemas.md +233 -0
  38. package/docs/guides/migrating-from-express.md +192 -0
  39. package/docs/guides/project-lifecycle.md +143 -0
  40. package/docs/guides/routing.md +202 -0
  41. package/docs/guides/troubleshooting.md +47 -0
  42. package/docs/maintainers/README.md +60 -0
  43. package/docs/maintainers/codex-maintainer.md +71 -0
  44. package/docs/maintainers/documentation-deployment.md +147 -0
  45. package/docs/maintainers/documentation-system.md +58 -0
  46. package/docs/maintainers/documentation-versioning.md +65 -0
  47. package/docs/maintainers/maintainer-charter.md +100 -0
  48. package/docs/maintainers/maintenance-policy.json +809 -0
  49. package/docs/maintainers/maintenance-policy.md +124 -0
  50. package/docs/maintainers/npm-publishing.md +154 -0
  51. package/docs/maintainers/plugin-readiness.json +19 -0
  52. package/docs/maintainers/plugin-readiness.md +31 -0
  53. package/docs/maintainers/public-site.md +158 -0
  54. package/docs/maintainers/release-acceptance.md +293 -0
  55. package/docs/maintainers/release-manifest.md +89 -0
  56. package/docs/maintainers/repository-setup.md +145 -0
  57. package/docs/maintainers/scope-policy.md +105 -0
  58. package/docs/maintainers/support-and-triage.md +74 -0
  59. package/docs/maintainers/testing.md +334 -0
  60. package/docs/packages/README.md +60 -0
  61. package/docs/packages/assets.md +85 -0
  62. package/docs/packages/cli.md +190 -0
  63. package/docs/packages/crypto.md +78 -0
  64. package/docs/packages/entities.md +129 -0
  65. package/docs/packages/grip.md +82 -0
  66. package/docs/packages/implementation-packages.md +122 -0
  67. package/docs/packages/jwt.md +55 -0
  68. package/docs/packages/provider-fastly.md +243 -0
  69. package/docs/packages/pulse.md +159 -0
  70. package/docs/packages/runtime.md +265 -0
  71. package/docs/packages/s3.md +101 -0
  72. package/docs/preview-scope.md +142 -0
  73. package/docs/reference/README.md +33 -0
  74. package/docs/reference/cli-spec.json +575 -0
  75. package/docs/reference/cli.md +457 -0
  76. package/docs/reference/compatibility-matrix.md +169 -0
  77. package/docs/reference/diagnostics.md +1872 -0
  78. package/docs/reference/documentation-versions.json +22 -0
  79. package/docs/reference/environment.md +347 -0
  80. package/docs/reference/handler-authoring.md +264 -0
  81. package/docs/reference/project-config.md +582 -0
  82. package/docs/reference/project-config.schema.json +981 -0
  83. package/docs/reference/release-manifest.json +441 -0
  84. package/docs/reference/shell-completion.md +23 -0
  85. package/documentation-site.json +668 -0
  86. package/documentation-versions.json +22 -0
  87. package/examples/01-hello-json/.pulse/.gitignore +3 -0
  88. package/examples/01-hello-json/.pulse/config.ts +16 -0
  89. package/examples/01-hello-json/README.md +119 -0
  90. package/examples/01-hello-json/package.json +20 -0
  91. package/examples/01-hello-json/src/index.ts +9 -0
  92. package/examples/01-hello-json/tests/pulse.harness.ts +22 -0
  93. package/examples/01-hello-json/tsconfig.json +14 -0
  94. package/examples/02-request-schema/.pulse/.gitignore +3 -0
  95. package/examples/02-request-schema/.pulse/config.ts +17 -0
  96. package/examples/02-request-schema/README.md +145 -0
  97. package/examples/02-request-schema/package.json +20 -0
  98. package/examples/02-request-schema/src/index.ts +18 -0
  99. package/examples/02-request-schema/src/schemas.ts +20 -0
  100. package/examples/02-request-schema/tests/pulse.harness.ts +37 -0
  101. package/examples/02-request-schema/tsconfig.json +14 -0
  102. package/examples/03-fetch-composition/.pulse/.gitignore +3 -0
  103. package/examples/03-fetch-composition/.pulse/config.ts +31 -0
  104. package/examples/03-fetch-composition/README.md +210 -0
  105. package/examples/03-fetch-composition/package.json +20 -0
  106. package/examples/03-fetch-composition/src/index.ts +60 -0
  107. package/examples/03-fetch-composition/tests/pulse.harness.ts +47 -0
  108. package/examples/03-fetch-composition/tsconfig.json +14 -0
  109. package/examples/05-fastly-capabilities/.pulse/.gitignore +3 -0
  110. package/examples/05-fastly-capabilities/.pulse/config.ts +57 -0
  111. package/examples/05-fastly-capabilities/README.md +257 -0
  112. package/examples/05-fastly-capabilities/package.json +22 -0
  113. package/examples/05-fastly-capabilities/src/index.ts +55 -0
  114. package/examples/05-fastly-capabilities/tests/pulse.harness.ts +66 -0
  115. package/examples/05-fastly-capabilities/tsconfig.json +14 -0
  116. package/examples/07-opaque-proxy/.pulse/.gitignore +3 -0
  117. package/examples/07-opaque-proxy/.pulse/config.ts +38 -0
  118. package/examples/07-opaque-proxy/README.md +150 -0
  119. package/examples/07-opaque-proxy/package.json +21 -0
  120. package/examples/07-opaque-proxy/src/index.ts +9 -0
  121. package/examples/07-opaque-proxy/tests/pulse.harness.ts +25 -0
  122. package/examples/07-opaque-proxy/tsconfig.json +14 -0
  123. package/examples/09-router-lowering/.pulse/.gitignore +3 -0
  124. package/examples/09-router-lowering/.pulse/config.ts +22 -0
  125. package/examples/09-router-lowering/README.md +287 -0
  126. package/examples/09-router-lowering/package.json +22 -0
  127. package/examples/09-router-lowering/src/index.ts +65 -0
  128. package/examples/09-router-lowering/tests/pulse.harness.ts +91 -0
  129. package/examples/09-router-lowering/tsconfig.json +14 -0
  130. package/examples/10-entities-tools/.pulse/.gitignore +4 -0
  131. package/examples/10-entities-tools/.pulse/config.ts +23 -0
  132. package/examples/10-entities-tools/README.md +165 -0
  133. package/examples/10-entities-tools/package.json +21 -0
  134. package/examples/10-entities-tools/src/handlers.ts +15 -0
  135. package/examples/10-entities-tools/src/index.ts +31 -0
  136. package/examples/10-entities-tools/src/schemas.ts +18 -0
  137. package/examples/10-entities-tools/tests/pulse.harness.ts +40 -0
  138. package/examples/10-entities-tools/tools-facade.cjs +158 -0
  139. package/examples/10-entities-tools/tsconfig.json +14 -0
  140. package/examples/11-events/.pulse/.gitignore +4 -0
  141. package/examples/11-events/.pulse/config.ts +24 -0
  142. package/examples/11-events/README.md +194 -0
  143. package/examples/11-events/package.json +20 -0
  144. package/examples/11-events/src/index.ts +27 -0
  145. package/examples/11-events/src/schemas.ts +19 -0
  146. package/examples/11-events/tests/pulse.harness.ts +34 -0
  147. package/examples/11-events/tsconfig.json +15 -0
  148. package/examples/12-mcp-proxy/.pulse/.gitignore +3 -0
  149. package/examples/12-mcp-proxy/.pulse/config.ts +25 -0
  150. package/examples/12-mcp-proxy/README.md +149 -0
  151. package/examples/12-mcp-proxy/package.json +20 -0
  152. package/examples/12-mcp-proxy/src/index.ts +17 -0
  153. package/examples/12-mcp-proxy/tests/pulse.harness.ts +29 -0
  154. package/examples/12-mcp-proxy/tsconfig.json +14 -0
  155. package/examples/13-jwt-es256/.pulse/config.ts +19 -0
  156. package/examples/13-jwt-es256/README.md +195 -0
  157. package/examples/13-jwt-es256/package.json +21 -0
  158. package/examples/13-jwt-es256/src/index.ts +21 -0
  159. package/examples/13-jwt-es256/tests/pulse.harness.ts +54 -0
  160. package/examples/13-jwt-es256/tsconfig.json +14 -0
  161. package/examples/README.md +36 -0
  162. package/package.json +66 -6
  163. package/project-config.schema.json +981 -0
  164. package/release-manifest.json +441 -0
  165. package/src/command-spec.js +279 -0
  166. package/src/completion.js +113 -0
  167. package/src/diagnostics.js +350 -0
  168. package/src/documentation.js +45 -0
  169. package/src/index.d.ts +133 -0
  170. package/src/index.js +15 -0
  171. package/src/internal/command-executor.d.ts +29 -0
  172. package/src/internal/command-executor.js +143 -0
  173. package/src/internal/command-plan.d.ts +9 -0
  174. package/src/internal/command-plan.js +73 -0
  175. package/src/internal/command-reporter.d.ts +15 -0
  176. package/src/internal/command-reporter.js +133 -0
  177. package/src/internal/command-request.d.ts +35 -0
  178. package/src/internal/command-request.js +154 -0
  179. package/src/internal/node-http.js +54 -0
  180. package/src/internal/project-context.d.ts +66 -0
  181. package/src/internal/project-context.js +175 -0
  182. package/src/project-config-reference.js +4 -0
  183. package/src/project-config-schema.d.ts +23 -0
  184. package/src/project-config-schema.js +271 -0
  185. package/src/project-config.js +724 -0
  186. package/src/project-execution.js +2946 -0
  187. package/src/provider-drivers.js +3 -0
  188. package/src/target-support.js +3 -0
  189. package/src/typescript-module-loader.js +269 -0
  190. package/src/workflow.js +78 -0
  191. package/src/workspace.js +82 -0
@@ -0,0 +1,668 @@
1
+ {
2
+ "schemaVersion": "pulse.public-site.v1",
3
+ "releaseVersion": "1.0.0-beta.2",
4
+ "product": {
5
+ "name": "Pulse",
6
+ "eyebrow": "TypeScript in / inspectable Wasm out",
7
+ "headline": "Portable without pretending every host is the same.",
8
+ "summary": "Write routing, middleware, schemas, state, config, and capabilities through one explicit context. Pulse shows exactly what lowers to provider-neutral Native Wasm and refuses hidden fallback.",
9
+ "description": "Start with readable async-shaped TypeScript, inspect the exact execution plan, and choose Native or JavaScript deliberately."
10
+ },
11
+ "documents": {
12
+ "documentation": {
13
+ "source": "docs/README.md",
14
+ "label": "Documentation"
15
+ },
16
+ "getting-started": {
17
+ "source": "docs/getting-started.md",
18
+ "label": "Get started"
19
+ },
20
+ "project-lifecycle": {
21
+ "source": "docs/guides/project-lifecycle.md",
22
+ "label": "Project lifecycle"
23
+ },
24
+ "express-migration": {
25
+ "source": "docs/guides/migrating-from-express.md",
26
+ "label": "Migrate from Express"
27
+ },
28
+ "json-schemas": {
29
+ "source": "docs/guides/json-schemas.md",
30
+ "label": "Explicit JSON schemas"
31
+ },
32
+ "body-ownership": {
33
+ "source": "docs/concepts/bodies.md",
34
+ "label": "Structured and opaque bodies"
35
+ },
36
+ "handler-authoring": {
37
+ "source": "docs/reference/handler-authoring.md",
38
+ "label": "Managed handler language"
39
+ },
40
+ "compatibility-matrix": {
41
+ "source": "docs/reference/compatibility-matrix.md",
42
+ "label": "Compatibility matrix"
43
+ },
44
+ "node-deployment": {
45
+ "source": "docs/guides/deploying-node.md",
46
+ "label": "Node build and execution"
47
+ },
48
+ "fastly-deployment": {
49
+ "source": "docs/guides/deploying-fastly.md",
50
+ "label": "Fastly deployment candidates"
51
+ },
52
+ "examples": {
53
+ "source": "docs/examples.md",
54
+ "label": "Examples"
55
+ },
56
+ "compilation-and-lowering": {
57
+ "source": "docs/concepts/compilation-and-lowering.md",
58
+ "label": "Compilation and lowering"
59
+ },
60
+ "effects-and-continuations": {
61
+ "source": "docs/concepts/effects-and-continuations.md",
62
+ "label": "Effects and continuations"
63
+ },
64
+ "contracts-and-providers": {
65
+ "source": "docs/concepts/contracts-and-providers.md",
66
+ "label": "Contracts and providers"
67
+ },
68
+ "targets-and-hosts": {
69
+ "source": "docs/concepts/targets-and-hosts.md",
70
+ "label": "Targets and host work"
71
+ },
72
+ "entities-and-adapters": {
73
+ "source": "docs/concepts/entities-and-adapters.md",
74
+ "label": "Entities and adapters"
75
+ },
76
+ "cli-reference": {
77
+ "source": "docs/reference/cli.md",
78
+ "label": "CLI reference"
79
+ },
80
+ "api-reference": {
81
+ "source": "API.md",
82
+ "label": "API reference"
83
+ },
84
+ "packages": {
85
+ "source": "docs/packages/README.md",
86
+ "label": "Packages"
87
+ },
88
+ "crypto-package": {
89
+ "source": "docs/packages/crypto.md",
90
+ "label": "Crypto"
91
+ },
92
+ "jwt-package": {
93
+ "source": "docs/packages/jwt.md",
94
+ "label": "JWT"
95
+ },
96
+ "entities-package": {
97
+ "source": "docs/packages/entities.md",
98
+ "label": "Entities"
99
+ },
100
+ "architecture": {
101
+ "source": "docs/architecture/overview.md",
102
+ "label": "Architecture"
103
+ },
104
+ "contributing": {
105
+ "source": "docs/contributing/README.md",
106
+ "label": "Contributing"
107
+ },
108
+ "pulse-aware-packages": {
109
+ "source": "docs/contributing/pulse-aware-packages.md",
110
+ "label": "Pulse-aware packages"
111
+ },
112
+ "package-lowerer-contract": {
113
+ "source": "docs/contributing/package-lowerer-contract.md",
114
+ "label": "Package lowerer contract"
115
+ },
116
+ "entities-lowering": {
117
+ "source": "docs/contributing/entities-lowering.md",
118
+ "label": "Entities lowering"
119
+ },
120
+ "reference": {
121
+ "source": "docs/reference/README.md",
122
+ "label": "Reference"
123
+ },
124
+ "maintainers": {
125
+ "source": "docs/maintainers/README.md",
126
+ "label": "Maintainers"
127
+ },
128
+ "npm-publishing": {
129
+ "source": "docs/maintainers/npm-publishing.md",
130
+ "label": "npm publishing"
131
+ },
132
+ "documentation-deployment": {
133
+ "source": "docs/maintainers/documentation-deployment.md",
134
+ "label": "Documentation deployment"
135
+ },
136
+ "routing": {
137
+ "source": "docs/guides/routing.md",
138
+ "label": "Routing"
139
+ },
140
+ "preview-scope": {
141
+ "source": "docs/preview-scope.md",
142
+ "label": "Beta scope"
143
+ },
144
+ "s3-package": {
145
+ "source": "docs/packages/s3.md",
146
+ "label": "S3"
147
+ }
148
+ },
149
+ "sourceAliases": {
150
+ "examples/README.md": "docs/examples.md"
151
+ },
152
+ "routeAliases": {
153
+ "alpha-scope": "preview-scope"
154
+ },
155
+ "header": {
156
+ "navigation": [
157
+ {
158
+ "label": "Docs",
159
+ "document": "documentation"
160
+ },
161
+ {
162
+ "label": "Examples",
163
+ "document": "examples"
164
+ },
165
+ {
166
+ "label": "Concepts",
167
+ "document": "compilation-and-lowering"
168
+ },
169
+ {
170
+ "label": "GitHub",
171
+ "repository": "web"
172
+ }
173
+ ]
174
+ },
175
+ "navigation": {
176
+ "sections": [
177
+ {
178
+ "id": "start",
179
+ "label": "Start",
180
+ "order": 10,
181
+ "searchPriority": 6,
182
+ "defaultOpen": true,
183
+ "sources": [
184
+ "docs/README.md",
185
+ "docs/getting-started.md",
186
+ "docs/preview-scope.md",
187
+ "README.md",
188
+ "CHANGELOG.md"
189
+ ]
190
+ },
191
+ {
192
+ "id": "examples",
193
+ "label": "Examples",
194
+ "order": 20,
195
+ "searchPriority": 6,
196
+ "defaultOpen": true,
197
+ "sources": [
198
+ "docs/examples.md"
199
+ ],
200
+ "prefixes": [
201
+ "examples/"
202
+ ]
203
+ },
204
+ {
205
+ "id": "guides",
206
+ "label": "Guides",
207
+ "order": 30,
208
+ "searchPriority": 6,
209
+ "prefixes": [
210
+ "docs/guides/"
211
+ ]
212
+ },
213
+ {
214
+ "id": "concepts",
215
+ "label": "Concepts",
216
+ "order": 40,
217
+ "searchPriority": 4,
218
+ "sources": [
219
+ "docs/architecture/overview.md",
220
+ "docs/architecture/current-contracts.md",
221
+ "docs/architecture/vision.md"
222
+ ],
223
+ "prefixes": [
224
+ "docs/concepts/"
225
+ ]
226
+ },
227
+ {
228
+ "id": "packages",
229
+ "label": "Packages",
230
+ "order": 50,
231
+ "searchPriority": 4,
232
+ "prefixes": [
233
+ "docs/packages/"
234
+ ]
235
+ },
236
+ {
237
+ "id": "reference",
238
+ "label": "Reference",
239
+ "order": 60,
240
+ "searchPriority": 4,
241
+ "sources": [
242
+ "API.md"
243
+ ],
244
+ "prefixes": [
245
+ "docs/reference/"
246
+ ]
247
+ },
248
+ {
249
+ "id": "authors",
250
+ "label": "Authors and contributors",
251
+ "order": 70,
252
+ "searchPriority": 1,
253
+ "prefixes": [
254
+ "docs/contributing/"
255
+ ]
256
+ },
257
+ {
258
+ "id": "maintainers",
259
+ "label": "Maintainers",
260
+ "order": 80,
261
+ "searchPriority": 0,
262
+ "hiddenInNavigation": true,
263
+ "hiddenInSearch": true,
264
+ "prefixes": [
265
+ "docs/maintainers/"
266
+ ]
267
+ }
268
+ ],
269
+ "overrides": {
270
+ "docs/README.md": {
271
+ "title": "Overview",
272
+ "order": 0
273
+ },
274
+ "docs/getting-started.md": {
275
+ "order": 10
276
+ },
277
+ "docs/examples.md": {
278
+ "order": 20
279
+ },
280
+ "docs/preview-scope.md": {
281
+ "order": 30
282
+ },
283
+ "docs/guides/project-lifecycle.md": {
284
+ "order": 0
285
+ },
286
+ "docs/guides/migrating-from-express.md": {
287
+ "order": 5
288
+ },
289
+ "docs/guides/fetching-and-composition.md": {
290
+ "order": 10
291
+ },
292
+ "docs/guides/json-schemas.md": {
293
+ "order": 20
294
+ },
295
+ "docs/guides/routing.md": {
296
+ "order": 30
297
+ },
298
+ "docs/guides/events.md": {
299
+ "order": 35
300
+ },
301
+ "docs/guides/deploying-node.md": {
302
+ "order": 40
303
+ },
304
+ "docs/guides/deploying-fastly.md": {
305
+ "order": 50
306
+ },
307
+ "docs/guides/fastly-capabilities.md": {
308
+ "order": 60
309
+ },
310
+ "docs/guides/grip.md": {
311
+ "order": 70
312
+ },
313
+ "docs/guides/compatibility-imports.md": {
314
+ "order": 80
315
+ },
316
+ "docs/guides/troubleshooting.md": {
317
+ "order": 90
318
+ },
319
+ "docs/architecture/overview.md": {
320
+ "order": 0
321
+ },
322
+ "docs/architecture/current-contracts.md": {
323
+ "order": 5
324
+ },
325
+ "docs/architecture/vision.md": {
326
+ "order": 8
327
+ },
328
+ "docs/concepts/compilation-and-lowering.md": {
329
+ "order": 10
330
+ },
331
+ "docs/concepts/effects-and-continuations.md": {
332
+ "order": 20
333
+ },
334
+ "docs/concepts/bodies.md": {
335
+ "order": 30
336
+ },
337
+ "docs/concepts/contracts-and-providers.md": {
338
+ "order": 40
339
+ },
340
+ "docs/concepts/targets-and-hosts.md": {
341
+ "order": 45
342
+ },
343
+ "docs/concepts/package-owned-lowering.md": {
344
+ "order": 50
345
+ },
346
+ "docs/concepts/entities-and-adapters.md": {
347
+ "order": 60
348
+ },
349
+ "docs/packages/README.md": {
350
+ "title": "Package overview",
351
+ "order": 0
352
+ },
353
+ "docs/packages/pulse.md": {
354
+ "order": 10
355
+ },
356
+ "docs/packages/runtime.md": {
357
+ "order": 20
358
+ },
359
+ "docs/packages/cli.md": {
360
+ "order": 30
361
+ },
362
+ "docs/packages/provider-fastly.md": {
363
+ "order": 40
364
+ },
365
+ "docs/packages/grip.md": {
366
+ "order": 50
367
+ },
368
+ "docs/packages/assets.md": {
369
+ "order": 60
370
+ },
371
+ "docs/packages/crypto.md": {
372
+ "order": 62
373
+ },
374
+ "docs/packages/jwt.md": {
375
+ "order": 64
376
+ },
377
+ "docs/packages/entities.md": {
378
+ "order": 66
379
+ },
380
+ "docs/packages/implementation-packages.md": {
381
+ "order": 70
382
+ },
383
+ "docs/reference/README.md": {
384
+ "title": "Reference overview",
385
+ "order": 0
386
+ },
387
+ "API.md": {
388
+ "order": 10
389
+ },
390
+ "docs/reference/handler-authoring.md": {
391
+ "order": 30
392
+ },
393
+ "docs/reference/compatibility-matrix.md": {
394
+ "order": 20
395
+ },
396
+ "docs/reference/cli.md": {
397
+ "order": 40
398
+ },
399
+ "docs/reference/project-config.md": {
400
+ "order": 50
401
+ },
402
+ "docs/reference/diagnostics.md": {
403
+ "order": 60
404
+ },
405
+ "docs/reference/environment.md": {
406
+ "order": 70
407
+ },
408
+ "docs/reference/shell-completion.md": {
409
+ "order": 80
410
+ },
411
+ "examples/01-hello-json/README.md": {
412
+ "order": 10
413
+ },
414
+ "examples/02-request-schema/README.md": {
415
+ "order": 20
416
+ },
417
+ "examples/03-fetch-composition/README.md": {
418
+ "order": 30
419
+ },
420
+ "examples/05-fastly-capabilities/README.md": {
421
+ "order": 50
422
+ },
423
+ "examples/07-opaque-proxy/README.md": {
424
+ "order": 70
425
+ },
426
+ "README.md": {
427
+ "title": "Repository overview",
428
+ "order": 0
429
+ },
430
+ "docs/contributing/README.md": {
431
+ "title": "Contributor overview",
432
+ "order": 10
433
+ },
434
+ "docs/contributing/pulse-aware-packages.md": {
435
+ "order": 11
436
+ },
437
+ "docs/contributing/adding-first-party-lowerer.md": {
438
+ "order": 12
439
+ },
440
+ "docs/contributing/package-lowerer-contract.md": {
441
+ "order": 13
442
+ },
443
+ "docs/contributing/entities-lowering.md": {
444
+ "order": 14
445
+ },
446
+ "docs/contributing/adding-core-provider.md": {
447
+ "order": 15
448
+ },
449
+ "examples/09-router-lowering/README.md": {
450
+ "order": 90
451
+ },
452
+ "examples/10-entities-tools/README.md": {
453
+ "order": 100
454
+ },
455
+ "examples/11-events/README.md": {
456
+ "order": 110
457
+ },
458
+ "examples/12-mcp-proxy/README.md": {
459
+ "order": 120
460
+ },
461
+ "examples/13-jwt-es256/README.md": {
462
+ "order": 130
463
+ },
464
+ "CHANGELOG.md": {
465
+ "title": "Changelog",
466
+ "order": 5
467
+ },
468
+ "docs/packages/s3.md": {
469
+ "order": 68
470
+ }
471
+ }
472
+ },
473
+ "homepage": {
474
+ "hero": {
475
+ "primaryAction": {
476
+ "label": "Explore the ctx API",
477
+ "document": "api-reference"
478
+ },
479
+ "secondaryAction": {
480
+ "label": "Get started",
481
+ "document": "getting-started"
482
+ },
483
+ "scopeAction": {
484
+ "label": "What the Beta supports",
485
+ "document": "preview-scope"
486
+ },
487
+ "terminal": [
488
+ "npm install --global @pulse-compute/cli@{{releaseVersion}}",
489
+ "pulse init ./my-app",
490
+ "cd ./my-app",
491
+ "npm install",
492
+ "pulse dev"
493
+ ]
494
+ },
495
+ "sections": [
496
+ {
497
+ "id": "router",
498
+ "type": "example",
499
+ "eyebrow": "Start with the application",
500
+ "title": "One Router. One explicit ctx surface. No host SDKs in your handlers.",
501
+ "body": "Request metadata, headers, route parameters, state, responses, and bounded effects all live on ctx. Native builds turn trusted awaits into explicit effects and continuations without adding a Promise runtime.",
502
+ "codeLabel": "app.ts",
503
+ "language": "ts",
504
+ "code": [
505
+ "import { Router } from '@pulse-compute/runtime'",
506
+ "",
507
+ "const app = new Router()",
508
+ "",
509
+ "app.use(async (ctx, next) => {",
510
+ " if (!ctx.req.header('authorization')) {",
511
+ " return ctx.json({ error: 'unauthorized' }, { status: 401 })",
512
+ " }",
513
+ "",
514
+ " return next()",
515
+ "})",
516
+ "",
517
+ "app.get('/users/:id', async (ctx) => {",
518
+ " const id = ctx.param('id')",
519
+ " const user = await ctx.fetch('https://users.example.test/users/' + id).json()",
520
+ "",
521
+ " return ctx.json({ id, user })",
522
+ "})",
523
+ "",
524
+ "export default app"
525
+ ],
526
+ "points": [
527
+ {
528
+ "title": "Context is the boundary",
529
+ "body": "Read headers and route parameters, carry invocation state, and construct responses through one documented API."
530
+ },
531
+ {
532
+ "title": "Consequential work stays visible",
533
+ "body": "Network, storage, config, secrets, and outbound events are explicit effects that inspect can report."
534
+ },
535
+ {
536
+ "title": "Targets never change silently",
537
+ "body": "Unsupported Native source fails at the exact boundary; Pulse does not switch the application to JavaScript."
538
+ }
539
+ ],
540
+ "action": {
541
+ "label": "Explore the context API",
542
+ "document": "api-reference"
543
+ }
544
+ },
545
+ {
546
+ "id": "path",
547
+ "type": "journey",
548
+ "eyebrow": "A gradual path",
549
+ "title": "Start with readable TypeScript. Tighten only what you choose.",
550
+ "body": "Pulse gives routing, schemas, host capabilities, and target selection separate homes. You can adopt the contract first, inspect the boundary, and move eligible paths to Native without rewriting the service shape.",
551
+ "stages": [
552
+ {
553
+ "label": "Structure the application",
554
+ "detail": "Router, terminal middleware, config, assets, and capabilities follow one set of patterns."
555
+ },
556
+ {
557
+ "label": "See the boundary",
558
+ "detail": "Inspect effects, schemas, and unsupported source before deployment."
559
+ },
560
+ {
561
+ "label": "Choose deliberately",
562
+ "detail": "Build the target you configured; Pulse never changes it behind your back."
563
+ },
564
+ {
565
+ "label": "Refine over time",
566
+ "detail": "Replace opaque dependencies with trusted effects and regain native eligibility."
567
+ }
568
+ ],
569
+ "action": {
570
+ "label": "Understand the architecture",
571
+ "document": "architecture"
572
+ }
573
+ },
574
+ {
575
+ "id": "contract",
576
+ "type": "contract",
577
+ "eyebrow": "Less friction later",
578
+ "title": "Keep deployment decisions out of application code.",
579
+ "body": "Profiles and capability packages contain environment-specific mechanics. Route and event code consume the stable contract, so changing a host realization does not require branching through the application.",
580
+ "constraints": [
581
+ {
582
+ "title": "One application shape",
583
+ "body": "Routing, middleware, responses, assets, and capabilities use consistent patterns."
584
+ },
585
+ {
586
+ "title": "Explicit host work",
587
+ "body": "Config, secrets, storage, and network access are visible instead of ambient."
588
+ },
589
+ {
590
+ "title": "Contained environment logic",
591
+ "body": "Profiles select realizations; application code consumes capabilities rather than branching on deployment."
592
+ },
593
+ {
594
+ "title": "Honest failure",
595
+ "body": "When a target cannot lower something, Pulse points to the exact boundary instead of quietly changing execution."
596
+ }
597
+ ],
598
+ "action": {
599
+ "label": "Read the contract model",
600
+ "document": "contracts-and-providers"
601
+ }
602
+ },
603
+ {
604
+ "id": "inspect",
605
+ "type": "inspect",
606
+ "eyebrow": "Under the hood",
607
+ "title": "See the exact program Pulse will build.",
608
+ "body": "pulse inspect reports routes, schemas, capabilities, effects, continuations, target eligibility, and the selected plan before deployment. The evidence is optional during ordinary work and precise when a boundary matters.",
609
+ "fixture": "docs/fixtures/inspect-fetch-composition.selected.json",
610
+ "command": "pulse inspect --json",
611
+ "action": {
612
+ "label": "Open the CLI reference",
613
+ "document": "cli-reference"
614
+ }
615
+ },
616
+ {
617
+ "id": "scope",
618
+ "type": "scope",
619
+ "eyebrow": "Beta",
620
+ "title": "Four proven execution modes. One conformance contract.",
621
+ "body": "Node and Fastly each execute explicit Native and JavaScript targets through one four-mode conformance corpus. ESP32 and browser event conformity remain clearly labeled forward host work.",
622
+ "supported": [
623
+ "Router, terminal middleware, schemas, and core capabilities",
624
+ "Compact provider-neutral Native Wasm and deployable Fastly Wasm",
625
+ "Explicit Node and Fastly JavaScript execution and packaging",
626
+ "Synchronous thresholded logging with host-owned output",
627
+ "Local development, offline candidates, and verified native-host execution",
628
+ "Stable diagnostics, versioned documentation, and release tooling"
629
+ ],
630
+ "excluded": [
631
+ "Automatic fallback or hidden target changes",
632
+ "General Promise semantics in native builds",
633
+ "Arbitrary host SDK access inside application code",
634
+ "Third-party lowerers or hosts without an explicit contract"
635
+ ],
636
+ "action": {
637
+ "label": "See current and forward targets",
638
+ "document": "targets-and-hosts"
639
+ }
640
+ }
641
+ ],
642
+ "footer": {
643
+ "line": "Write the service. Inspect the boundary.",
644
+ "links": [
645
+ {
646
+ "label": "Documentation",
647
+ "document": "documentation"
648
+ },
649
+ {
650
+ "label": "API",
651
+ "document": "api-reference"
652
+ },
653
+ {
654
+ "label": "Packages",
655
+ "document": "packages"
656
+ },
657
+ {
658
+ "label": "Contributing",
659
+ "document": "contributing"
660
+ },
661
+ {
662
+ "label": "Reference",
663
+ "document": "reference"
664
+ }
665
+ ]
666
+ }
667
+ }
668
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "schemaVersion": "pulse.documentation-versions.v1",
3
+ "latest": "1.0.0-beta.2",
4
+ "versions": [
5
+ {
6
+ "version": "1.0.0-beta.2",
7
+ "segment": "v1.0.0-beta.2",
8
+ "channel": "beta",
9
+ "releasedAt": "2026-09-13",
10
+ "status": "current",
11
+ "sourceManifest": "release/pulse-release-manifest.json"
12
+ },
13
+ {
14
+ "version": "1.0.0-beta.1",
15
+ "segment": "v1.0.0-beta.1",
16
+ "channel": "beta",
17
+ "releasedAt": "2026-08-01",
18
+ "status": "archived",
19
+ "sourceManifest": "release/documentation-site-archives/v1.0.0-beta.1/release-manifest.json"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,3 @@
1
+ *
2
+ !.gitignore
3
+ !config.ts