@affectively/aeon-pages 1.3.0

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 (124) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/README.md +625 -0
  3. package/examples/basic/aeon.config.ts +39 -0
  4. package/examples/basic/components/Cursor.tsx +86 -0
  5. package/examples/basic/components/OfflineIndicator.tsx +103 -0
  6. package/examples/basic/components/PresenceBar.tsx +77 -0
  7. package/examples/basic/package.json +20 -0
  8. package/examples/basic/pages/index.tsx +80 -0
  9. package/package.json +101 -0
  10. package/packages/analytics/README.md +309 -0
  11. package/packages/analytics/build.ts +35 -0
  12. package/packages/analytics/package.json +50 -0
  13. package/packages/analytics/src/click-tracker.ts +368 -0
  14. package/packages/analytics/src/context-bridge.ts +319 -0
  15. package/packages/analytics/src/data-layer.ts +302 -0
  16. package/packages/analytics/src/gtm-loader.ts +239 -0
  17. package/packages/analytics/src/index.ts +230 -0
  18. package/packages/analytics/src/merkle-tree.ts +489 -0
  19. package/packages/analytics/src/provider.tsx +300 -0
  20. package/packages/analytics/src/types.ts +320 -0
  21. package/packages/analytics/src/use-analytics.ts +296 -0
  22. package/packages/analytics/tsconfig.json +19 -0
  23. package/packages/benchmarks/src/benchmark.test.ts +691 -0
  24. package/packages/cli/dist/index.js +61899 -0
  25. package/packages/cli/package.json +43 -0
  26. package/packages/cli/src/commands/build.test.ts +682 -0
  27. package/packages/cli/src/commands/build.ts +890 -0
  28. package/packages/cli/src/commands/dev.ts +473 -0
  29. package/packages/cli/src/commands/init.ts +409 -0
  30. package/packages/cli/src/commands/start.ts +297 -0
  31. package/packages/cli/src/index.ts +105 -0
  32. package/packages/directives/src/use-aeon.ts +272 -0
  33. package/packages/mcp-server/package.json +51 -0
  34. package/packages/mcp-server/src/index.ts +178 -0
  35. package/packages/mcp-server/src/resources.ts +346 -0
  36. package/packages/mcp-server/src/tools/index.ts +36 -0
  37. package/packages/mcp-server/src/tools/navigation.ts +545 -0
  38. package/packages/mcp-server/tsconfig.json +21 -0
  39. package/packages/react/package.json +40 -0
  40. package/packages/react/src/Link.tsx +388 -0
  41. package/packages/react/src/components/InstallPrompt.tsx +286 -0
  42. package/packages/react/src/components/OfflineDiagnostics.tsx +677 -0
  43. package/packages/react/src/components/PushNotifications.tsx +453 -0
  44. package/packages/react/src/hooks/useAeonNavigation.ts +219 -0
  45. package/packages/react/src/hooks/useConflicts.ts +277 -0
  46. package/packages/react/src/hooks/useNetworkState.ts +209 -0
  47. package/packages/react/src/hooks/usePilotNavigation.ts +254 -0
  48. package/packages/react/src/hooks/useServiceWorker.ts +278 -0
  49. package/packages/react/src/hooks.ts +195 -0
  50. package/packages/react/src/index.ts +151 -0
  51. package/packages/react/src/provider.tsx +467 -0
  52. package/packages/react/tsconfig.json +19 -0
  53. package/packages/runtime/README.md +399 -0
  54. package/packages/runtime/build.ts +48 -0
  55. package/packages/runtime/package.json +71 -0
  56. package/packages/runtime/schema.sql +40 -0
  57. package/packages/runtime/src/api-routes.ts +465 -0
  58. package/packages/runtime/src/benchmark.ts +171 -0
  59. package/packages/runtime/src/cache.ts +479 -0
  60. package/packages/runtime/src/durable-object.ts +1341 -0
  61. package/packages/runtime/src/index.ts +360 -0
  62. package/packages/runtime/src/navigation.test.ts +421 -0
  63. package/packages/runtime/src/navigation.ts +422 -0
  64. package/packages/runtime/src/nextjs-adapter.ts +272 -0
  65. package/packages/runtime/src/offline/encrypted-queue.test.ts +607 -0
  66. package/packages/runtime/src/offline/encrypted-queue.ts +478 -0
  67. package/packages/runtime/src/offline/encryption.test.ts +412 -0
  68. package/packages/runtime/src/offline/encryption.ts +397 -0
  69. package/packages/runtime/src/offline/types.ts +465 -0
  70. package/packages/runtime/src/predictor.ts +371 -0
  71. package/packages/runtime/src/registry.ts +351 -0
  72. package/packages/runtime/src/router/context-extractor.ts +661 -0
  73. package/packages/runtime/src/router/esi-control-react.tsx +2053 -0
  74. package/packages/runtime/src/router/esi-control.ts +541 -0
  75. package/packages/runtime/src/router/esi-cyrano.ts +779 -0
  76. package/packages/runtime/src/router/esi-format-react.tsx +1744 -0
  77. package/packages/runtime/src/router/esi-react.tsx +1065 -0
  78. package/packages/runtime/src/router/esi-translate-observer.ts +476 -0
  79. package/packages/runtime/src/router/esi-translate-react.tsx +556 -0
  80. package/packages/runtime/src/router/esi-translate.ts +503 -0
  81. package/packages/runtime/src/router/esi.ts +666 -0
  82. package/packages/runtime/src/router/heuristic-adapter.test.ts +295 -0
  83. package/packages/runtime/src/router/heuristic-adapter.ts +557 -0
  84. package/packages/runtime/src/router/index.ts +298 -0
  85. package/packages/runtime/src/router/merkle-capability.ts +473 -0
  86. package/packages/runtime/src/router/speculation.ts +451 -0
  87. package/packages/runtime/src/router/types.ts +630 -0
  88. package/packages/runtime/src/router.test.ts +470 -0
  89. package/packages/runtime/src/router.ts +302 -0
  90. package/packages/runtime/src/server.ts +481 -0
  91. package/packages/runtime/src/service-worker-push.ts +319 -0
  92. package/packages/runtime/src/service-worker.ts +553 -0
  93. package/packages/runtime/src/skeleton-hydrate.ts +237 -0
  94. package/packages/runtime/src/speculation.test.ts +389 -0
  95. package/packages/runtime/src/speculation.ts +486 -0
  96. package/packages/runtime/src/storage.test.ts +1297 -0
  97. package/packages/runtime/src/storage.ts +1048 -0
  98. package/packages/runtime/src/sync/conflict-resolver.test.ts +528 -0
  99. package/packages/runtime/src/sync/conflict-resolver.ts +565 -0
  100. package/packages/runtime/src/sync/coordinator.test.ts +608 -0
  101. package/packages/runtime/src/sync/coordinator.ts +596 -0
  102. package/packages/runtime/src/tree-compiler.ts +295 -0
  103. package/packages/runtime/src/types.ts +728 -0
  104. package/packages/runtime/src/worker.ts +327 -0
  105. package/packages/runtime/tsconfig.json +20 -0
  106. package/packages/runtime/wasm/aeon_pages_runtime.d.ts +504 -0
  107. package/packages/runtime/wasm/aeon_pages_runtime.js +1657 -0
  108. package/packages/runtime/wasm/aeon_pages_runtime_bg.wasm +0 -0
  109. package/packages/runtime/wasm/aeon_pages_runtime_bg.wasm.d.ts +196 -0
  110. package/packages/runtime/wasm/package.json +21 -0
  111. package/packages/runtime/wrangler.toml +41 -0
  112. package/packages/runtime-wasm/Cargo.lock +436 -0
  113. package/packages/runtime-wasm/Cargo.toml +29 -0
  114. package/packages/runtime-wasm/pkg/aeon_pages_runtime.d.ts +480 -0
  115. package/packages/runtime-wasm/pkg/aeon_pages_runtime.js +1568 -0
  116. package/packages/runtime-wasm/pkg/aeon_pages_runtime_bg.wasm +0 -0
  117. package/packages/runtime-wasm/pkg/aeon_pages_runtime_bg.wasm.d.ts +192 -0
  118. package/packages/runtime-wasm/pkg/package.json +21 -0
  119. package/packages/runtime-wasm/src/hydrate.rs +352 -0
  120. package/packages/runtime-wasm/src/lib.rs +191 -0
  121. package/packages/runtime-wasm/src/render.rs +629 -0
  122. package/packages/runtime-wasm/src/router.rs +298 -0
  123. package/packages/runtime-wasm/src/skeleton.rs +430 -0
  124. package/rfcs/RFC-001-ZERO-DEPENDENCY-RENDERING.md +1446 -0
@@ -0,0 +1,196 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export const memory: WebAssembly.Memory;
4
+ export const __wbg_assetmanifest_free: (a: number, b: number) => void;
5
+ export const __wbg_cssmanifest_free: (a: number, b: number) => void;
6
+ export const __wbg_fontmanifest_free: (a: number, b: number) => void;
7
+ export const __wbg_rendercontext_free: (a: number, b: number) => void;
8
+ export const assetmanifest_from_json: (
9
+ a: number,
10
+ b: number,
11
+ ) => [number, number, number];
12
+ export const assetmanifest_get_data_uri: (
13
+ a: number,
14
+ b: number,
15
+ c: number,
16
+ ) => [number, number];
17
+ export const assetmanifest_new: () => number;
18
+ export const cssmanifest_critical: (a: number) => [number, number];
19
+ export const cssmanifest_from_json: (
20
+ a: number,
21
+ b: number,
22
+ ) => [number, number, number];
23
+ export const cssmanifest_new: (a: number, b: number) => number;
24
+ export const extract_css_classes: (a: number, b: number) => [number, number];
25
+ export const fontmanifest_font_face_css: (a: number) => [number, number];
26
+ export const fontmanifest_from_json: (
27
+ a: number,
28
+ b: number,
29
+ ) => [number, number, number];
30
+ export const fontmanifest_new: () => number;
31
+ export const generate_css_for_classes: (
32
+ a: number,
33
+ b: number,
34
+ c: number,
35
+ d: number,
36
+ ) => [number, number];
37
+ export const generate_hydration_script: (
38
+ a: number,
39
+ b: number,
40
+ c: number,
41
+ d: number,
42
+ ) => [number, number];
43
+ export const render_page: (
44
+ a: number,
45
+ b: number,
46
+ c: number,
47
+ d: number,
48
+ e: number,
49
+ f: number,
50
+ g: number,
51
+ h: number,
52
+ i: number,
53
+ j: number,
54
+ k: number,
55
+ l: number,
56
+ ) => [number, number];
57
+ export const render_tree_to_html: (a: number, b: number) => [number, number];
58
+ export const rendercontext_get_collected_classes: (
59
+ a: number,
60
+ ) => [number, number];
61
+ export const rendercontext_get_interactive_nodes: (
62
+ a: number,
63
+ ) => [number, number];
64
+ export const rendercontext_new: (
65
+ a: number,
66
+ b: number,
67
+ c: number,
68
+ d: number,
69
+ e: number,
70
+ f: number,
71
+ ) => [number, number, number];
72
+ export const resolve_assets: (
73
+ a: number,
74
+ b: number,
75
+ c: number,
76
+ d: number,
77
+ ) => [number, number];
78
+ export const __wbg_routedefinition_free: (a: number, b: number) => void;
79
+ export const __wbg_routematch_free: (a: number, b: number) => void;
80
+ export const __wbg_serializedcomponent_free: (a: number, b: number) => void;
81
+ export const init: () => void;
82
+ export const routedefinition_component_id: (a: number) => [number, number];
83
+ export const routedefinition_is_aeon: (a: number) => number;
84
+ export const routedefinition_layout: (a: number) => [number, number];
85
+ export const routedefinition_new: (
86
+ a: number,
87
+ b: number,
88
+ c: number,
89
+ d: number,
90
+ e: number,
91
+ f: number,
92
+ g: number,
93
+ h: number,
94
+ i: number,
95
+ ) => number;
96
+ export const routedefinition_pattern: (a: number) => [number, number];
97
+ export const routedefinition_session_id: (a: number) => [number, number];
98
+ export const routematch_get_param: (
99
+ a: number,
100
+ b: number,
101
+ c: number,
102
+ ) => [number, number];
103
+ export const routematch_params_json: (a: number) => [number, number];
104
+ export const routematch_resolved_session_id: (a: number) => [number, number];
105
+ export const routematch_route: (a: number) => number;
106
+ export const serializedcomponent_add_component_child: (
107
+ a: number,
108
+ b: number,
109
+ ) => void;
110
+ export const serializedcomponent_add_text_child: (
111
+ a: number,
112
+ b: number,
113
+ c: number,
114
+ ) => void;
115
+ export const serializedcomponent_component_type: (
116
+ a: number,
117
+ ) => [number, number];
118
+ export const serializedcomponent_from_json: (
119
+ a: number,
120
+ b: number,
121
+ ) => [number, number, number];
122
+ export const serializedcomponent_new: (
123
+ a: number,
124
+ b: number,
125
+ c: number,
126
+ d: number,
127
+ ) => number;
128
+ export const serializedcomponent_props: (a: number) => [number, number];
129
+ export const serializedcomponent_to_json: (a: number) => [number, number];
130
+ export const __wbg_componentregistry_free: (a: number, b: number) => void;
131
+ export const __wbg_treediff_free: (a: number, b: number) => void;
132
+ export const apply_patch: (
133
+ a: number,
134
+ b: number,
135
+ c: number,
136
+ d: number,
137
+ ) => [number, number];
138
+ export const componentregistry_has: (a: number, b: number, c: number) => number;
139
+ export const componentregistry_list: (a: number) => [number, number];
140
+ export const componentregistry_new: () => number;
141
+ export const componentregistry_register: (
142
+ a: number,
143
+ b: number,
144
+ c: number,
145
+ ) => void;
146
+ export const componentregistry_register_many: (
147
+ a: number,
148
+ b: number,
149
+ c: number,
150
+ ) => void;
151
+ export const diff_trees: (
152
+ a: number,
153
+ b: number,
154
+ c: number,
155
+ d: number,
156
+ ) => [number, number];
157
+ export const treediff_change_type: (a: number) => [number, number];
158
+ export const treediff_new: (
159
+ a: number,
160
+ b: number,
161
+ c: number,
162
+ d: number,
163
+ e: number,
164
+ f: number,
165
+ g: number,
166
+ h: number,
167
+ ) => number;
168
+ export const treediff_new_value: (a: number) => [number, number];
169
+ export const treediff_old_value: (a: number) => [number, number];
170
+ export const treediff_path: (a: number) => [number, number];
171
+ export const treediff_to_json: (a: number) => [number, number];
172
+ export const generate_skeleton_css: () => [number, number];
173
+ export const get_skeleton_stats: (a: number, b: number) => [number, number];
174
+ export const render_skeleton: (a: number, b: number) => [number, number];
175
+ export const render_skeleton_page: (a: number, b: number) => [number, number];
176
+ export const __wbg_aeonrouter_free: (a: number, b: number) => void;
177
+ export const aeonrouter_add_route: (a: number, b: number) => void;
178
+ export const aeonrouter_get_routes_json: (a: number) => [number, number];
179
+ export const aeonrouter_has_route: (a: number, b: number, c: number) => number;
180
+ export const aeonrouter_match_route: (
181
+ a: number,
182
+ b: number,
183
+ c: number,
184
+ ) => number;
185
+ export const aeonrouter_new: () => number;
186
+ export const __wbindgen_free: (a: number, b: number, c: number) => void;
187
+ export const __wbindgen_malloc: (a: number, b: number) => number;
188
+ export const __wbindgen_realloc: (
189
+ a: number,
190
+ b: number,
191
+ c: number,
192
+ d: number,
193
+ ) => number;
194
+ export const __wbindgen_externrefs: WebAssembly.Table;
195
+ export const __externref_table_dealloc: (a: number) => void;
196
+ export const __wbindgen_start: () => void;
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "aeon-pages-runtime",
3
+ "type": "module",
4
+ "description": "WASM runtime for @affectively/aeon-pages - lightweight page routing, hydration, and zero-CLS skeleton rendering",
5
+ "version": "1.0.0",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/affectively/aeon-pages"
10
+ },
11
+ "files": [
12
+ "aeon_pages_runtime_bg.wasm",
13
+ "aeon_pages_runtime.js",
14
+ "aeon_pages_runtime.d.ts"
15
+ ],
16
+ "main": "aeon_pages_runtime.js",
17
+ "types": "aeon_pages_runtime.d.ts",
18
+ "sideEffects": [
19
+ "./snippets/*"
20
+ ]
21
+ }
@@ -0,0 +1,41 @@
1
+ name = "aeon-flux"
2
+ main = "src/worker.ts"
3
+ compatibility_date = "2024-01-01"
4
+
5
+ # Durable Objects
6
+ [durable_objects]
7
+ bindings = [
8
+ { name = "PAGE_SESSIONS", class_name = "AeonPageSession" },
9
+ { name = "ROUTES_REGISTRY", class_name = "AeonRoutesRegistry" }
10
+ ]
11
+
12
+ [[migrations]]
13
+ tag = "v1"
14
+ new_classes = ["AeonPageSession", "AeonRoutesRegistry"]
15
+
16
+ # D1 Database - uncomment after creating:
17
+ # wrangler d1 create aeon-flux
18
+ # [[d1_databases]]
19
+ # binding = "DB"
20
+ # database_name = "aeon-flux"
21
+ # database_id = "YOUR_DATABASE_ID"
22
+
23
+ # KV for caching - uncomment after creating:
24
+ # wrangler kv:namespace create CACHE
25
+ # [[kv_namespaces]]
26
+ # binding = "CACHE"
27
+ # id = "YOUR_KV_ID"
28
+
29
+ # Environment variables
30
+ [vars]
31
+ ENVIRONMENT = "production"
32
+ GITHUB_REPO = "buley/emotions"
33
+ GITHUB_TREE_PATH = "apps/edge-web-app/pages"
34
+ GITHUB_BASE_BRANCH = "staging"
35
+ GITHUB_DEV_BRANCH = "development"
36
+ GITHUB_AUTO_MERGE = "false"
37
+
38
+ # Dev settings
39
+ [dev]
40
+ port = 8787
41
+ local_protocol = "http"
@@ -0,0 +1,436 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "aeon-pages-runtime"
7
+ version = "1.0.0"
8
+ dependencies = [
9
+ "console_error_panic_hook",
10
+ "js-sys",
11
+ "serde",
12
+ "serde_json",
13
+ "wasm-bindgen",
14
+ "wasm-bindgen-test",
15
+ "web-sys",
16
+ ]
17
+
18
+ [[package]]
19
+ name = "async-trait"
20
+ version = "0.1.89"
21
+ source = "registry+https://github.com/rust-lang/crates.io-index"
22
+ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
23
+ dependencies = [
24
+ "proc-macro2",
25
+ "quote",
26
+ "syn",
27
+ ]
28
+
29
+ [[package]]
30
+ name = "autocfg"
31
+ version = "1.5.0"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
34
+
35
+ [[package]]
36
+ name = "bumpalo"
37
+ version = "3.19.1"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
40
+
41
+ [[package]]
42
+ name = "cast"
43
+ version = "0.3.0"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
46
+
47
+ [[package]]
48
+ name = "cc"
49
+ version = "1.2.55"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29"
52
+ dependencies = [
53
+ "find-msvc-tools",
54
+ "shlex",
55
+ ]
56
+
57
+ [[package]]
58
+ name = "cfg-if"
59
+ version = "1.0.4"
60
+ source = "registry+https://github.com/rust-lang/crates.io-index"
61
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
62
+
63
+ [[package]]
64
+ name = "console_error_panic_hook"
65
+ version = "0.1.7"
66
+ source = "registry+https://github.com/rust-lang/crates.io-index"
67
+ checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
68
+ dependencies = [
69
+ "cfg-if",
70
+ "wasm-bindgen",
71
+ ]
72
+
73
+ [[package]]
74
+ name = "find-msvc-tools"
75
+ version = "0.1.9"
76
+ source = "registry+https://github.com/rust-lang/crates.io-index"
77
+ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
78
+
79
+ [[package]]
80
+ name = "futures-core"
81
+ version = "0.3.31"
82
+ source = "registry+https://github.com/rust-lang/crates.io-index"
83
+ checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
84
+
85
+ [[package]]
86
+ name = "futures-task"
87
+ version = "0.3.31"
88
+ source = "registry+https://github.com/rust-lang/crates.io-index"
89
+ checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
90
+
91
+ [[package]]
92
+ name = "futures-util"
93
+ version = "0.3.31"
94
+ source = "registry+https://github.com/rust-lang/crates.io-index"
95
+ checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
96
+ dependencies = [
97
+ "futures-core",
98
+ "futures-task",
99
+ "pin-project-lite",
100
+ "pin-utils",
101
+ "slab",
102
+ ]
103
+
104
+ [[package]]
105
+ name = "itoa"
106
+ version = "1.0.17"
107
+ source = "registry+https://github.com/rust-lang/crates.io-index"
108
+ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
109
+
110
+ [[package]]
111
+ name = "js-sys"
112
+ version = "0.3.85"
113
+ source = "registry+https://github.com/rust-lang/crates.io-index"
114
+ checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3"
115
+ dependencies = [
116
+ "once_cell",
117
+ "wasm-bindgen",
118
+ ]
119
+
120
+ [[package]]
121
+ name = "libm"
122
+ version = "0.2.16"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
125
+
126
+ [[package]]
127
+ name = "memchr"
128
+ version = "2.7.6"
129
+ source = "registry+https://github.com/rust-lang/crates.io-index"
130
+ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
131
+
132
+ [[package]]
133
+ name = "minicov"
134
+ version = "0.3.8"
135
+ source = "registry+https://github.com/rust-lang/crates.io-index"
136
+ checksum = "4869b6a491569605d66d3952bcdf03df789e5b536e5f0cf7758a7f08a55ae24d"
137
+ dependencies = [
138
+ "cc",
139
+ "walkdir",
140
+ ]
141
+
142
+ [[package]]
143
+ name = "nu-ansi-term"
144
+ version = "0.50.3"
145
+ source = "registry+https://github.com/rust-lang/crates.io-index"
146
+ checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
147
+ dependencies = [
148
+ "windows-sys",
149
+ ]
150
+
151
+ [[package]]
152
+ name = "num-traits"
153
+ version = "0.2.19"
154
+ source = "registry+https://github.com/rust-lang/crates.io-index"
155
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
156
+ dependencies = [
157
+ "autocfg",
158
+ "libm",
159
+ ]
160
+
161
+ [[package]]
162
+ name = "once_cell"
163
+ version = "1.21.3"
164
+ source = "registry+https://github.com/rust-lang/crates.io-index"
165
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
166
+
167
+ [[package]]
168
+ name = "oorandom"
169
+ version = "11.1.5"
170
+ source = "registry+https://github.com/rust-lang/crates.io-index"
171
+ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
172
+
173
+ [[package]]
174
+ name = "pin-project-lite"
175
+ version = "0.2.16"
176
+ source = "registry+https://github.com/rust-lang/crates.io-index"
177
+ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
178
+
179
+ [[package]]
180
+ name = "pin-utils"
181
+ version = "0.1.0"
182
+ source = "registry+https://github.com/rust-lang/crates.io-index"
183
+ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
184
+
185
+ [[package]]
186
+ name = "proc-macro2"
187
+ version = "1.0.106"
188
+ source = "registry+https://github.com/rust-lang/crates.io-index"
189
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
190
+ dependencies = [
191
+ "unicode-ident",
192
+ ]
193
+
194
+ [[package]]
195
+ name = "quote"
196
+ version = "1.0.44"
197
+ source = "registry+https://github.com/rust-lang/crates.io-index"
198
+ checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
199
+ dependencies = [
200
+ "proc-macro2",
201
+ ]
202
+
203
+ [[package]]
204
+ name = "rustversion"
205
+ version = "1.0.22"
206
+ source = "registry+https://github.com/rust-lang/crates.io-index"
207
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
208
+
209
+ [[package]]
210
+ name = "same-file"
211
+ version = "1.0.6"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
214
+ dependencies = [
215
+ "winapi-util",
216
+ ]
217
+
218
+ [[package]]
219
+ name = "serde"
220
+ version = "1.0.228"
221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
222
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
223
+ dependencies = [
224
+ "serde_core",
225
+ "serde_derive",
226
+ ]
227
+
228
+ [[package]]
229
+ name = "serde_core"
230
+ version = "1.0.228"
231
+ source = "registry+https://github.com/rust-lang/crates.io-index"
232
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
233
+ dependencies = [
234
+ "serde_derive",
235
+ ]
236
+
237
+ [[package]]
238
+ name = "serde_derive"
239
+ version = "1.0.228"
240
+ source = "registry+https://github.com/rust-lang/crates.io-index"
241
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
242
+ dependencies = [
243
+ "proc-macro2",
244
+ "quote",
245
+ "syn",
246
+ ]
247
+
248
+ [[package]]
249
+ name = "serde_json"
250
+ version = "1.0.149"
251
+ source = "registry+https://github.com/rust-lang/crates.io-index"
252
+ checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
253
+ dependencies = [
254
+ "itoa",
255
+ "memchr",
256
+ "serde",
257
+ "serde_core",
258
+ "zmij",
259
+ ]
260
+
261
+ [[package]]
262
+ name = "shlex"
263
+ version = "1.3.0"
264
+ source = "registry+https://github.com/rust-lang/crates.io-index"
265
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
266
+
267
+ [[package]]
268
+ name = "slab"
269
+ version = "0.4.12"
270
+ source = "registry+https://github.com/rust-lang/crates.io-index"
271
+ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
272
+
273
+ [[package]]
274
+ name = "syn"
275
+ version = "2.0.114"
276
+ source = "registry+https://github.com/rust-lang/crates.io-index"
277
+ checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
278
+ dependencies = [
279
+ "proc-macro2",
280
+ "quote",
281
+ "unicode-ident",
282
+ ]
283
+
284
+ [[package]]
285
+ name = "unicode-ident"
286
+ version = "1.0.22"
287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
288
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
289
+
290
+ [[package]]
291
+ name = "walkdir"
292
+ version = "2.5.0"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
295
+ dependencies = [
296
+ "same-file",
297
+ "winapi-util",
298
+ ]
299
+
300
+ [[package]]
301
+ name = "wasm-bindgen"
302
+ version = "0.2.108"
303
+ source = "registry+https://github.com/rust-lang/crates.io-index"
304
+ checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566"
305
+ dependencies = [
306
+ "cfg-if",
307
+ "once_cell",
308
+ "rustversion",
309
+ "wasm-bindgen-macro",
310
+ "wasm-bindgen-shared",
311
+ ]
312
+
313
+ [[package]]
314
+ name = "wasm-bindgen-futures"
315
+ version = "0.4.58"
316
+ source = "registry+https://github.com/rust-lang/crates.io-index"
317
+ checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f"
318
+ dependencies = [
319
+ "cfg-if",
320
+ "futures-util",
321
+ "js-sys",
322
+ "once_cell",
323
+ "wasm-bindgen",
324
+ "web-sys",
325
+ ]
326
+
327
+ [[package]]
328
+ name = "wasm-bindgen-macro"
329
+ version = "0.2.108"
330
+ source = "registry+https://github.com/rust-lang/crates.io-index"
331
+ checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608"
332
+ dependencies = [
333
+ "quote",
334
+ "wasm-bindgen-macro-support",
335
+ ]
336
+
337
+ [[package]]
338
+ name = "wasm-bindgen-macro-support"
339
+ version = "0.2.108"
340
+ source = "registry+https://github.com/rust-lang/crates.io-index"
341
+ checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55"
342
+ dependencies = [
343
+ "bumpalo",
344
+ "proc-macro2",
345
+ "quote",
346
+ "syn",
347
+ "wasm-bindgen-shared",
348
+ ]
349
+
350
+ [[package]]
351
+ name = "wasm-bindgen-shared"
352
+ version = "0.2.108"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12"
355
+ dependencies = [
356
+ "unicode-ident",
357
+ ]
358
+
359
+ [[package]]
360
+ name = "wasm-bindgen-test"
361
+ version = "0.3.58"
362
+ source = "registry+https://github.com/rust-lang/crates.io-index"
363
+ checksum = "45649196a53b0b7a15101d845d44d2dda7374fc1b5b5e2bbf58b7577ff4b346d"
364
+ dependencies = [
365
+ "async-trait",
366
+ "cast",
367
+ "js-sys",
368
+ "libm",
369
+ "minicov",
370
+ "nu-ansi-term",
371
+ "num-traits",
372
+ "oorandom",
373
+ "serde",
374
+ "serde_json",
375
+ "wasm-bindgen",
376
+ "wasm-bindgen-futures",
377
+ "wasm-bindgen-test-macro",
378
+ "wasm-bindgen-test-shared",
379
+ ]
380
+
381
+ [[package]]
382
+ name = "wasm-bindgen-test-macro"
383
+ version = "0.3.58"
384
+ source = "registry+https://github.com/rust-lang/crates.io-index"
385
+ checksum = "f579cdd0123ac74b94e1a4a72bd963cf30ebac343f2df347da0b8df24cdebed2"
386
+ dependencies = [
387
+ "proc-macro2",
388
+ "quote",
389
+ "syn",
390
+ ]
391
+
392
+ [[package]]
393
+ name = "wasm-bindgen-test-shared"
394
+ version = "0.2.108"
395
+ source = "registry+https://github.com/rust-lang/crates.io-index"
396
+ checksum = "a8145dd1593bf0fb137dbfa85b8be79ec560a447298955877804640e40c2d6ea"
397
+
398
+ [[package]]
399
+ name = "web-sys"
400
+ version = "0.3.85"
401
+ source = "registry+https://github.com/rust-lang/crates.io-index"
402
+ checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598"
403
+ dependencies = [
404
+ "js-sys",
405
+ "wasm-bindgen",
406
+ ]
407
+
408
+ [[package]]
409
+ name = "winapi-util"
410
+ version = "0.1.11"
411
+ source = "registry+https://github.com/rust-lang/crates.io-index"
412
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
413
+ dependencies = [
414
+ "windows-sys",
415
+ ]
416
+
417
+ [[package]]
418
+ name = "windows-link"
419
+ version = "0.2.1"
420
+ source = "registry+https://github.com/rust-lang/crates.io-index"
421
+ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
422
+
423
+ [[package]]
424
+ name = "windows-sys"
425
+ version = "0.61.2"
426
+ source = "registry+https://github.com/rust-lang/crates.io-index"
427
+ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
428
+ dependencies = [
429
+ "windows-link",
430
+ ]
431
+
432
+ [[package]]
433
+ name = "zmij"
434
+ version = "1.0.19"
435
+ source = "registry+https://github.com/rust-lang/crates.io-index"
436
+ checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445"