@invisibleloop/pulse 0.1.39 → 0.2.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.
@@ -0,0 +1,188 @@
1
+ {
2
+ "timestamp": "2026-03-27T10:14:44.996Z",
3
+ "node": "v22.19.0",
4
+ "suites": [
5
+ {
6
+ "label": "simple",
7
+ "path": "/bench/simple",
8
+ "iterations": 100,
9
+ "ttfb": {
10
+ "mean": 0.21606463000000103,
11
+ "p50": 0.18104200000001924,
12
+ "p95": 0.4587089999999989,
13
+ "p99": 0.8525419999999997,
14
+ "min": 0.1554999999999893,
15
+ "max": 0.8525419999999997
16
+ },
17
+ "total": {
18
+ "mean": 0.24665415999999907,
19
+ "p50": 0.21316699999999855,
20
+ "p95": 0.4899169999999913,
21
+ "p99": 0.9412920000000042,
22
+ "min": 0.17758399999999597,
23
+ "max": 0.9412920000000042
24
+ },
25
+ "bodyBytes": 1107,
26
+ "serverData": null,
27
+ "serverRender": null
28
+ },
29
+ {
30
+ "label": "data-1",
31
+ "path": "/bench/data-1",
32
+ "iterations": 100,
33
+ "ttfb": {
34
+ "mean": 0.5468803599999865,
35
+ "p50": 0.5259580000001733,
36
+ "p95": 0.8466249999996762,
37
+ "p99": 2.0224580000001424,
38
+ "min": 0.2652919999999881,
39
+ "max": 2.0224580000001424
40
+ },
41
+ "total": {
42
+ "mean": 21.82060371999999,
43
+ "p50": 21.857250000000022,
44
+ "p95": 22.797791999999845,
45
+ "p99": 24.448374999999942,
46
+ "min": 20.657166000000018,
47
+ "max": 24.448374999999942
48
+ },
49
+ "bodyBytes": 4437,
50
+ "serverData": null,
51
+ "serverRender": null
52
+ },
53
+ {
54
+ "label": "data-3",
55
+ "path": "/bench/data-3",
56
+ "iterations": 100,
57
+ "ttfb": {
58
+ "mean": 0.5796908000000031,
59
+ "p50": 0.5424170000005688,
60
+ "p95": 0.9267909999998665,
61
+ "p99": 1.413499999999658,
62
+ "min": 0.34208399999988615,
63
+ "max": 1.413499999999658
64
+ },
65
+ "total": {
66
+ "mean": 31.895021160000006,
67
+ "p50": 31.9188750000003,
68
+ "p95": 32.71870899999976,
69
+ "p99": 33.30262500000026,
70
+ "min": 30.80712500000027,
71
+ "max": 33.30262500000026
72
+ },
73
+ "bodyBytes": 1299,
74
+ "serverData": null,
75
+ "serverRender": null
76
+ },
77
+ {
78
+ "label": "cached",
79
+ "path": "/bench/cached",
80
+ "iterations": 100,
81
+ "ttfb": {
82
+ "mean": 0.14090454999999566,
83
+ "p50": 0.12545799999952578,
84
+ "p95": 0.25749999999970896,
85
+ "p99": 0.5329170000004524,
86
+ "min": 0.09470799999962765,
87
+ "max": 0.5329170000004524
88
+ },
89
+ "total": {
90
+ "mean": 0.15339621000002807,
91
+ "p50": 0.13595799999984592,
92
+ "p95": 0.2675829999998314,
93
+ "p99": 0.5452500000001237,
94
+ "min": 0.10458299999936571,
95
+ "max": 0.5452500000001237
96
+ },
97
+ "bodyBytes": 1041,
98
+ "serverData": null,
99
+ "serverRender": null
100
+ },
101
+ {
102
+ "label": "nav/simple",
103
+ "path": "/bench/simple",
104
+ "iterations": 100,
105
+ "ttfb": {
106
+ "mean": 0.15080785000001926,
107
+ "p50": 0.12516599999980826,
108
+ "p95": 0.3545000000003711,
109
+ "p99": 0.7068749999998545,
110
+ "min": 0.09504099999958271,
111
+ "max": 0.7068749999998545
112
+ },
113
+ "total": {
114
+ "mean": 0.16158331000002363,
115
+ "p50": 0.1343749999996362,
116
+ "p95": 0.36208299999998417,
117
+ "p99": 0.8008330000002388,
118
+ "min": 0.10349999999925785,
119
+ "max": 0.8008330000002388
120
+ },
121
+ "bodyBytes": 244,
122
+ "serverData": null,
123
+ "serverRender": null
124
+ },
125
+ {
126
+ "label": "nav/data-1",
127
+ "path": "/bench/data-1",
128
+ "iterations": 100,
129
+ "ttfb": {
130
+ "mean": 21.65396829000002,
131
+ "p50": 21.741833000000042,
132
+ "p95": 22.10450000000037,
133
+ "p99": 22.266125000000102,
134
+ "min": 20.614916999999878,
135
+ "max": 22.266125000000102
136
+ },
137
+ "total": {
138
+ "mean": 21.69912578999997,
139
+ "p50": 21.77666700000009,
140
+ "p95": 22.144542,
141
+ "p99": 22.31579200000033,
142
+ "min": 20.683374999999614,
143
+ "max": 22.31579200000033
144
+ },
145
+ "bodyBytes": 3513,
146
+ "serverData": null,
147
+ "serverRender": null
148
+ },
149
+ {
150
+ "label": "nav/data-3",
151
+ "path": "/bench/data-3",
152
+ "iterations": 100,
153
+ "ttfb": {
154
+ "mean": 31.570420009999854,
155
+ "p50": 31.710832999999184,
156
+ "p95": 32.321500000000015,
157
+ "p99": 32.830957999998645,
158
+ "min": 30.063625000000684,
159
+ "max": 32.830957999998645
160
+ },
161
+ "total": {
162
+ "mean": 31.617417509999832,
163
+ "p50": 31.77074999999968,
164
+ "p95": 32.37395899999865,
165
+ "p99": 32.86749999999847,
166
+ "min": 30.105125000000044,
167
+ "max": 32.86749999999847
168
+ },
169
+ "bodyBytes": 375,
170
+ "serverData": null,
171
+ "serverRender": null
172
+ }
173
+ ],
174
+ "bundles": {
175
+ "contact.boot": {
176
+ "file": "contact.boot-IBC3WEQQ.js",
177
+ "bytes": 2506
178
+ },
179
+ "counter.boot": {
180
+ "file": "counter.boot-VUWQFE5L.js",
181
+ "bytes": 1229
182
+ },
183
+ "runtime": {
184
+ "file": "runtime-YLZ4ZGK4.js",
185
+ "bytes": 7017
186
+ }
187
+ }
188
+ }
@@ -0,0 +1,232 @@
1
+ {
2
+ "timestamp": "2026-03-27T10:18:56.124Z",
3
+ "node": "v22.19.0",
4
+ "suites": [
5
+ {
6
+ "label": "simple",
7
+ "path": "/bench/simple",
8
+ "iterations": 100,
9
+ "ttfb": {
10
+ "mean": 0.20563084000000145,
11
+ "p50": 0.18975000000000364,
12
+ "p95": 0.3084999999999809,
13
+ "p99": 0.3952500000000043,
14
+ "min": 0.1581250000000125,
15
+ "max": 0.3952500000000043
16
+ },
17
+ "total": {
18
+ "mean": 0.2324024900000009,
19
+ "p50": 0.21391700000000924,
20
+ "p95": 0.3381250000000193,
21
+ "p99": 0.41900000000001114,
22
+ "min": 0.17929200000000378,
23
+ "max": 0.41900000000001114
24
+ },
25
+ "bodyBytes": 1107,
26
+ "serverData": null,
27
+ "serverRender": null
28
+ },
29
+ {
30
+ "label": "data-1",
31
+ "path": "/bench/data-1",
32
+ "iterations": 100,
33
+ "ttfb": {
34
+ "mean": 0.7231991400000055,
35
+ "p50": 0.6069999999999709,
36
+ "p95": 1.3360000000000127,
37
+ "p99": 5.75383399999987,
38
+ "min": 0.3484579999999369,
39
+ "max": 5.75383399999987
40
+ },
41
+ "total": {
42
+ "mean": 21.97315788,
43
+ "p50": 22.07249999999999,
44
+ "p95": 23.11658299999999,
45
+ "p99": 26.644374999999854,
46
+ "min": 19.998166999999967,
47
+ "max": 26.644374999999854
48
+ },
49
+ "bodyBytes": 4437,
50
+ "serverData": null,
51
+ "serverRender": null
52
+ },
53
+ {
54
+ "label": "data-3",
55
+ "path": "/bench/data-3",
56
+ "iterations": 100,
57
+ "ttfb": {
58
+ "mean": 0.6268471300000147,
59
+ "p50": 0.5844999999999345,
60
+ "p95": 0.9985829999995985,
61
+ "p99": 1.1298750000005384,
62
+ "min": 0.3552500000000691,
63
+ "max": 1.1298750000005384
64
+ },
65
+ "total": {
66
+ "mean": 31.835656279999977,
67
+ "p50": 31.83570899999995,
68
+ "p95": 32.87379099999998,
69
+ "p99": 33.21837500000038,
70
+ "min": 30.470499999999447,
71
+ "max": 33.21837500000038
72
+ },
73
+ "bodyBytes": 1299,
74
+ "serverData": null,
75
+ "serverRender": null
76
+ },
77
+ {
78
+ "label": "cached",
79
+ "path": "/bench/cached",
80
+ "iterations": 100,
81
+ "ttfb": {
82
+ "mean": 0.16630372999999962,
83
+ "p50": 0.15245899999990797,
84
+ "p95": 0.26525000000037835,
85
+ "p99": 0.6830829999998969,
86
+ "min": 0.11033299999962765,
87
+ "max": 0.6830829999998969
88
+ },
89
+ "total": {
90
+ "mean": 0.17928999000002477,
91
+ "p50": 0.1643340000000535,
92
+ "p95": 0.2829170000004524,
93
+ "p99": 0.6972909999994954,
94
+ "min": 0.12158300000010058,
95
+ "max": 0.6972909999994954
96
+ },
97
+ "bodyBytes": 1041,
98
+ "serverData": null,
99
+ "serverRender": null
100
+ },
101
+ {
102
+ "label": "nav/simple",
103
+ "path": "/bench/simple",
104
+ "iterations": 100,
105
+ "ttfb": {
106
+ "mean": 0.12842208000000027,
107
+ "p50": 0.12133300000004965,
108
+ "p95": 0.18400000000019645,
109
+ "p99": 0.40683400000034453,
110
+ "min": 0.09862499999962893,
111
+ "max": 0.40683400000034453
112
+ },
113
+ "total": {
114
+ "mean": 0.1374654400000418,
115
+ "p50": 0.1303749999997308,
116
+ "p95": 0.19520900000043184,
117
+ "p99": 0.41912500000034925,
118
+ "min": 0.1056669999998121,
119
+ "max": 0.41912500000034925
120
+ },
121
+ "bodyBytes": 244,
122
+ "serverData": null,
123
+ "serverRender": null
124
+ },
125
+ {
126
+ "label": "nav/data-1",
127
+ "path": "/bench/data-1",
128
+ "iterations": 100,
129
+ "ttfb": {
130
+ "mean": 23.305352510000013,
131
+ "p50": 21.81816699999945,
132
+ "p95": 30.285417000000052,
133
+ "p99": 61.82841699999972,
134
+ "min": 20.61737499999981,
135
+ "max": 61.82841699999972
136
+ },
137
+ "total": {
138
+ "mean": 23.580659580000038,
139
+ "p50": 21.857834000000366,
140
+ "p95": 38.78645899999901,
141
+ "p99": 61.93529200000012,
142
+ "min": 20.651084000000083,
143
+ "max": 61.93529200000012
144
+ },
145
+ "bodyBytes": 3513,
146
+ "serverData": null,
147
+ "serverRender": null
148
+ },
149
+ {
150
+ "label": "nav/data-3",
151
+ "path": "/bench/data-3",
152
+ "iterations": 100,
153
+ "ttfb": {
154
+ "mean": 34.72833883000005,
155
+ "p50": 32.297999999998865,
156
+ "p95": 45.54833299999882,
157
+ "p99": 159.19945800000096,
158
+ "min": 30.571374999999534,
159
+ "max": 159.19945800000096
160
+ },
161
+ "total": {
162
+ "mean": 35.20303163999999,
163
+ "p50": 32.33662499999991,
164
+ "p95": 54.97037499999897,
165
+ "p99": 159.31729199999972,
166
+ "min": 30.614792000000307,
167
+ "max": 159.31729199999972
168
+ },
169
+ "bodyBytes": 375,
170
+ "serverData": null,
171
+ "serverRender": null
172
+ },
173
+ {
174
+ "label": "stream/scoped",
175
+ "path": "/bench/stream-scoped",
176
+ "iterations": 100,
177
+ "shellTime": {
178
+ "mean": 22.275940050000063,
179
+ "p50": 22.028416999997717,
180
+ "p95": 23.573624999999083,
181
+ "p99": 44.38508299999921,
182
+ "min": 20.258083999997325,
183
+ "max": 44.38508299999921
184
+ },
185
+ "total": {
186
+ "mean": 102.80312997000006,
187
+ "p50": 102.13579100000061,
188
+ "p95": 104.98820799999885,
189
+ "p99": 150.9461250000022,
190
+ "min": 100.29716699999881,
191
+ "max": 150.9461250000022
192
+ },
193
+ "bodyBytes": 1667
194
+ },
195
+ {
196
+ "label": "stream/unscoped",
197
+ "path": "/bench/stream-unscoped",
198
+ "iterations": 100,
199
+ "shellTime": {
200
+ "mean": 104.54545327000037,
201
+ "p50": 102.28058299999975,
202
+ "p95": 118.00083299999824,
203
+ "p99": 186.62187500000073,
204
+ "min": 100.76629200000025,
205
+ "max": 186.62187500000073
206
+ },
207
+ "total": {
208
+ "mean": 104.71869873000007,
209
+ "p50": 102.34912500000064,
210
+ "p95": 118.09866599999805,
211
+ "p99": 191.36387500000274,
212
+ "min": 100.789166999999,
213
+ "max": 191.36387500000274
214
+ },
215
+ "bodyBytes": 1673
216
+ }
217
+ ],
218
+ "bundles": {
219
+ "contact.boot": {
220
+ "file": "contact.boot-IBC3WEQQ.js",
221
+ "bytes": 2506
222
+ },
223
+ "counter.boot": {
224
+ "file": "counter.boot-VUWQFE5L.js",
225
+ "bytes": 1229
226
+ },
227
+ "runtime": {
228
+ "file": "runtime-YLZ4ZGK4.js",
229
+ "bytes": 7017
230
+ }
231
+ }
232
+ }
@@ -1 +1 @@
1
- 0.1.29
1
+ 0.1.38
@@ -23,6 +23,7 @@ export default {
23
23
  ${section('requirements', 'Requirements')}
24
24
  <ul>
25
25
  <li><strong>Node.js 22 or later</strong> — <a href="https://nodejs.org" target="_blank" rel="noopener" aria-label="nodejs.org (opens in new tab)">nodejs.org</a></li>
26
+ <li><strong>Google Chrome</strong> — used by the agent for screenshots and Lighthouse audits — <a href="https://www.google.com/chrome" target="_blank" rel="noopener" aria-label="Download Google Chrome (opens in new tab)">google.com/chrome</a></li>
26
27
  <li><strong>Claude Code</strong> — the CLI for Claude, installed and authenticated — <a href="https://docs.anthropic.com/en/docs/claude-code/getting-started" target="_blank" rel="noopener" aria-label="Claude Code installation guide (opens in new tab)">installation guide</a></li>
27
28
  </ul>
28
29
  <p>Claude Code provides the <code>claude</code> command. Pulse launches it automatically with the Pulse MCP server wired in — so the agent has instant access to the framework reference, your project structure, and all Pulse tools without any manual configuration.</p>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invisibleloop/pulse",
3
- "version": "0.1.39",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "description": "AI-first frontend framework. The spec is the source of truth.",
6
6
  "license": "MIT",
@@ -53,7 +53,7 @@
53
53
  "scripts": {
54
54
  "dev": "node --watch src/cli/dev.js",
55
55
  "build": "node scripts/build.js",
56
- "test": "node src/spec/schema.test.js && node src/runtime/runtime.test.js && node src/runtime/ssr.test.js && node src/runtime/image.test.js && node src/server/server.test.js && node src/cli/cli.test.js && node src/ui/ui.test.js && node src/testing/testing.test.js && node src/store/store.test.js",
56
+ "test": "node src/spec/schema.test.js && node src/runtime/runtime.test.js && node src/runtime/morph.test.js && node src/runtime/ssr.test.js && node src/runtime/image.test.js && node src/server/server.test.js && node src/cli/cli.test.js && node src/ui/ui.test.js && node src/testing/testing.test.js && node src/store/store.test.js",
57
57
  "typecheck": "tsc --noEmit",
58
58
  "docs": "node --watch src/cli/dev.js --root docs --port 4000",
59
59
  "docs:start": "node docs/server.js"
@@ -1 +1 @@
1
- 0.1.39
1
+ 0.2.1