@unerr-ai/unerr 0.1.6 → 0.1.7

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 (218) hide show
  1. package/README.md +70 -194
  2. package/dist/cli.js +39149 -36991
  3. package/package.json +9 -2
  4. package/dist/__tests__/architecture-guard.test.js +0 -122
  5. package/dist/__tests__/arg-validator.test.js +0 -205
  6. package/dist/__tests__/ast-extractor.test.js +0 -203
  7. package/dist/__tests__/auto-bootstrap.test.js +0 -280
  8. package/dist/__tests__/background-indexer.test.js +0 -228
  9. package/dist/__tests__/blast-radius-engine.test.js +0 -200
  10. package/dist/__tests__/bridge-isolation.test.js +0 -37
  11. package/dist/__tests__/budget-enforcer.test.js +0 -53
  12. package/dist/__tests__/cfg-test-detection-perf.test.js +0 -82
  13. package/dist/__tests__/change-narrative.test.js +0 -190
  14. package/dist/__tests__/check-commit.test.js +0 -258
  15. package/dist/__tests__/checksum.test.js +0 -34
  16. package/dist/__tests__/commit-watcher.test.js +0 -154
  17. package/dist/__tests__/community-detection.test.js +0 -179
  18. package/dist/__tests__/community-tools.test.js +0 -299
  19. package/dist/__tests__/components.test.js +0 -449
  20. package/dist/__tests__/compression-log.test.js +0 -174
  21. package/dist/__tests__/compression-quality-monitor.test.js +0 -40
  22. package/dist/__tests__/config-healer.test.js +0 -165
  23. package/dist/__tests__/context-ledger.test.js +0 -58
  24. package/dist/__tests__/convention-detector.test.js +0 -99
  25. package/dist/__tests__/convention-learner.test.js +0 -86
  26. package/dist/__tests__/correction-detector.test.js +0 -330
  27. package/dist/__tests__/daemon-autostart-install.test.js +0 -283
  28. package/dist/__tests__/daemon-bridge.test.js +0 -222
  29. package/dist/__tests__/daemon-dashboard.test.js +0 -202
  30. package/dist/__tests__/daemon-registry.test.js +0 -240
  31. package/dist/__tests__/daemon-supervisor.test.js +0 -318
  32. package/dist/__tests__/daemon-version-check.test.js +0 -275
  33. package/dist/__tests__/decision-point-detector.test.js +0 -98
  34. package/dist/__tests__/deep-link.test.js +0 -143
  35. package/dist/__tests__/disallowed-tools.test.js +0 -115
  36. package/dist/__tests__/drift-tracker.test.js +0 -582
  37. package/dist/__tests__/durability-scorer.test.js +0 -152
  38. package/dist/__tests__/efficiency-tracker.test.js +0 -65
  39. package/dist/__tests__/enrich.test.js +0 -144
  40. package/dist/__tests__/entity-rewind.test.js +0 -248
  41. package/dist/__tests__/ephemeral.test.js +0 -111
  42. package/dist/__tests__/exploration-cost.test.js +0 -93
  43. package/dist/__tests__/fact-generator.test.js +0 -197
  44. package/dist/__tests__/file-l0-graph.test.js +0 -244
  45. package/dist/__tests__/file-logger.test.js +0 -82
  46. package/dist/__tests__/file-outline.test.js +0 -141
  47. package/dist/__tests__/file-read-protocol.test.js +0 -188
  48. package/dist/__tests__/format-encoder.test.js +0 -233
  49. package/dist/__tests__/git-attribution.test.js +0 -259
  50. package/dist/__tests__/graph-temporal-joiner.test.js +0 -219
  51. package/dist/__tests__/health-grade-enhanced.test.js +0 -138
  52. package/dist/__tests__/health-map-data.test.js +0 -173
  53. package/dist/__tests__/helpers/mcp-harness.js +0 -45
  54. package/dist/__tests__/helpers/mcp-harness.test.js +0 -68
  55. package/dist/__tests__/hook-dedup.test.js +0 -112
  56. package/dist/__tests__/hook-runner.test.js +0 -253
  57. package/dist/__tests__/indexer-cfg.test.js +0 -185
  58. package/dist/__tests__/indexer-cross-file.test.js +0 -172
  59. package/dist/__tests__/indexer-extraction.test.js +0 -245
  60. package/dist/__tests__/indexer-incremental.test.js +0 -232
  61. package/dist/__tests__/indexer-language-expansion.test.js +0 -165
  62. package/dist/__tests__/init-push.test.js +0 -131
  63. package/dist/__tests__/instruction-writer.test.js +0 -179
  64. package/dist/__tests__/intelligence-integration.test.js +0 -217
  65. package/dist/__tests__/intent-correlator.test.js +0 -175
  66. package/dist/__tests__/intent-detector.test.js +0 -235
  67. package/dist/__tests__/intent-encoder.test.js +0 -167
  68. package/dist/__tests__/java-build-tool-detection.test.js +0 -174
  69. package/dist/__tests__/layer3-sprint-q.test.js +0 -160
  70. package/dist/__tests__/layer3-sprint-r.test.js +0 -91
  71. package/dist/__tests__/layer3-sprint-s.test.js +0 -183
  72. package/dist/__tests__/layer3-sprint-t.test.js +0 -201
  73. package/dist/__tests__/layer3-sprint-u.test.js +0 -174
  74. package/dist/__tests__/layer4-sprint-ba2.test.js +0 -354
  75. package/dist/__tests__/layer4-sprint-ba4.test.js +0 -84
  76. package/dist/__tests__/layer4-sprint-vs.test.js +0 -105
  77. package/dist/__tests__/ledger-chains.test.js +0 -162
  78. package/dist/__tests__/lifecycle-machine.test.js +0 -226
  79. package/dist/__tests__/local-chat-provider.test.js +0 -170
  80. package/dist/__tests__/local-convention-detector.test.js +0 -308
  81. package/dist/__tests__/local-embeddings.test.js +0 -422
  82. package/dist/__tests__/local-graph.test.js +0 -540
  83. package/dist/__tests__/local-indexer.test.js +0 -228
  84. package/dist/__tests__/local-intelligence-l3.test.js +0 -332
  85. package/dist/__tests__/local-llm.test.js +0 -253
  86. package/dist/__tests__/local-mode-offline.test.js +0 -187
  87. package/dist/__tests__/local-mode-stats.test.js +0 -273
  88. package/dist/__tests__/local-mode-tui.test.js +0 -343
  89. package/dist/__tests__/local-parse.test.js +0 -199
  90. package/dist/__tests__/log-tailer.test.js +0 -208
  91. package/dist/__tests__/loop-breaker.test.js +0 -276
  92. package/dist/__tests__/loop-miner.test.js +0 -226
  93. package/dist/__tests__/mcp-config.test.js +0 -126
  94. package/dist/__tests__/mcp-content-json.test.js +0 -10
  95. package/dist/__tests__/mcp-envelope.test.js +0 -124
  96. package/dist/__tests__/metrics-store.test.js +0 -223
  97. package/dist/__tests__/native-watcher.test.js +0 -191
  98. package/dist/__tests__/navigation-hooks-agent-aware.test.js +0 -145
  99. package/dist/__tests__/negative-knowledge.test.js +0 -116
  100. package/dist/__tests__/network-boundary.test.js +0 -190
  101. package/dist/__tests__/network-firewall.test.js +0 -112
  102. package/dist/__tests__/nudge-invariants.test.js +0 -160
  103. package/dist/__tests__/nudge-v2.test.js +0 -225
  104. package/dist/__tests__/offline-rewind.test.js +0 -251
  105. package/dist/__tests__/open-threads.test.js +0 -89
  106. package/dist/__tests__/output-compressor.test.js +0 -93
  107. package/dist/__tests__/pending-violations.test.js +0 -112
  108. package/dist/__tests__/persistence-effectiveness.test.js +0 -143
  109. package/dist/__tests__/provider-factory.test.js +0 -42
  110. package/dist/__tests__/providers.test.js +0 -24
  111. package/dist/__tests__/proxy.test.js +0 -314
  112. package/dist/__tests__/query-router.test.js +0 -1018
  113. package/dist/__tests__/reasoning-quality-route.test.js +0 -138
  114. package/dist/__tests__/redactor.test.js +0 -120
  115. package/dist/__tests__/resource-monitor.test.js +0 -57
  116. package/dist/__tests__/response-envelope.test.js +0 -100
  117. package/dist/__tests__/risk-classifier.test.js +0 -101
  118. package/dist/__tests__/risk-signal-scope.test.js +0 -75
  119. package/dist/__tests__/rule-evaluator.test.js +0 -280
  120. package/dist/__tests__/scip-decoder.test.js +0 -49
  121. package/dist/__tests__/scip-downloader.test.js +0 -201
  122. package/dist/__tests__/scip-merger.test.js +0 -103
  123. package/dist/__tests__/search-index.test.js +0 -422
  124. package/dist/__tests__/semantic-enrichment.test.js +0 -360
  125. package/dist/__tests__/session-brief-builder.test.js +0 -187
  126. package/dist/__tests__/session-context.test.js +0 -221
  127. package/dist/__tests__/session-continuity.test.js +0 -144
  128. package/dist/__tests__/session-dedup.test.js +0 -74
  129. package/dist/__tests__/session-event-wiring.test.js +0 -206
  130. package/dist/__tests__/session-events.test.js +0 -149
  131. package/dist/__tests__/session-legend.test.js +0 -20
  132. package/dist/__tests__/session-persistence.test.js +0 -131
  133. package/dist/__tests__/session-resume-block.test.js +0 -107
  134. package/dist/__tests__/session-resume.test.js +0 -97
  135. package/dist/__tests__/session-summary-writer.test.js +0 -134
  136. package/dist/__tests__/shadow-ledger.test.js +0 -203
  137. package/dist/__tests__/shell-classifier.test.js +0 -151
  138. package/dist/__tests__/shell-compression-floor.test.js +0 -189
  139. package/dist/__tests__/shell-compression-v2.test.js +0 -339
  140. package/dist/__tests__/shell-compressor.test.js +0 -35
  141. package/dist/__tests__/shell-hooks.test.js +0 -128
  142. package/dist/__tests__/shell-strategies.test.js +0 -644
  143. package/dist/__tests__/shell-tee.test.js +0 -133
  144. package/dist/__tests__/signal-dedup.test.js +0 -158
  145. package/dist/__tests__/signal-reinforcer.test.js +0 -77
  146. package/dist/__tests__/signal-scorer.test.js +0 -251
  147. package/dist/__tests__/signal-show-store.test.js +0 -108
  148. package/dist/__tests__/smart-truncate.test.js +0 -215
  149. package/dist/__tests__/snapshot-v2.test.js +0 -113
  150. package/dist/__tests__/sprint-l1-local-mode.test.js +0 -130
  151. package/dist/__tests__/sprint-l10-boot.test.js +0 -220
  152. package/dist/__tests__/sprint-l9-offline-commands.test.js +0 -189
  153. package/dist/__tests__/sprint-q-persistent-context.test.js +0 -198
  154. package/dist/__tests__/sprint-s1-wiring.test.js +0 -215
  155. package/dist/__tests__/sprint-s2-wiring.test.js +0 -256
  156. package/dist/__tests__/sprint-s3-wiring.test.js +0 -195
  157. package/dist/__tests__/sprint-s4-wiring.test.js +0 -213
  158. package/dist/__tests__/sprint-s6-hooks.test.js +0 -222
  159. package/dist/__tests__/sprint-s7-persistent.test.js +0 -263
  160. package/dist/__tests__/sprint-s8-value.test.js +0 -167
  161. package/dist/__tests__/sprint-s9-behavioral.test.js +0 -179
  162. package/dist/__tests__/sprint3-intelligence.test.js +0 -297
  163. package/dist/__tests__/sprint5-mcp-server.test.js +0 -136
  164. package/dist/__tests__/startup-display.test.js +0 -302
  165. package/dist/__tests__/startup-log-file.test.js +0 -97
  166. package/dist/__tests__/stash-manager.test.js +0 -229
  167. package/dist/__tests__/state-detector.test.js +0 -92
  168. package/dist/__tests__/status-dashboard.test.js +0 -142
  169. package/dist/__tests__/temporal-facts.test.js +0 -292
  170. package/dist/__tests__/temporal-routes.test.js +0 -142
  171. package/dist/__tests__/test-detector.test.js +0 -174
  172. package/dist/__tests__/theme.test.js +0 -72
  173. package/dist/__tests__/timeline-agents.test.js +0 -122
  174. package/dist/__tests__/timeline-bootstrap.test.js +0 -176
  175. package/dist/__tests__/timeline-filters.test.js +0 -193
  176. package/dist/__tests__/timeline-markers.test.js +0 -151
  177. package/dist/__tests__/timeline-routes.test.js +0 -156
  178. package/dist/__tests__/timeline-store.test.js +0 -171
  179. package/dist/__tests__/token-counter.test.js +0 -86
  180. package/dist/__tests__/token-estimator.test.js +0 -96
  181. package/dist/__tests__/token-flow-api.test.js +0 -239
  182. package/dist/__tests__/token-flow-instrumentation.test.js +0 -437
  183. package/dist/__tests__/token-flow-persistence.test.js +0 -356
  184. package/dist/__tests__/token-flow-routes.test.js +0 -199
  185. package/dist/__tests__/token-flow.test.js +0 -695
  186. package/dist/__tests__/tool-clusters.test.js +0 -177
  187. package/dist/__tests__/transport-mux.test.js +0 -283
  188. package/dist/__tests__/turn-segmenter.test.js +0 -166
  189. package/dist/__tests__/uninstall.test.js +0 -141
  190. package/dist/__tests__/warm-start-policy.test.js +0 -271
  191. package/dist/__tests__/wire-cap-nudge.test.js +0 -77
  192. package/dist/__tests__/worker-pool.test.js +0 -101
  193. package/dist/ui/assets/index-7gl3mIuY.css +0 -1
  194. package/dist/ui/assets/index-CX4FCWGT.js +0 -10
  195. package/dist/ui/assets/rolldown-runtime-S-ySWqyJ.js +0 -1
  196. package/dist/ui/assets/vis-network-NIJHUFI3.js +0 -908
  197. package/dist/ui/fonts/jetbrains-mono-latin-400-normal.woff +0 -0
  198. package/dist/ui/icon-wordmark.png +0 -0
  199. package/dist/ui/icon-wordmark.svg +0 -30
  200. package/dist/ui/icon.png +0 -0
  201. package/dist/ui/icon.svg +0 -25
  202. package/dist/ui/index.html +0 -15
  203. package/dist/ui/prototype-sandbox/index.html +0 -257
  204. package/dist/ui/screenshots/activity.png +0 -0
  205. package/dist/ui/screenshots/code-base-intelligence.png +0 -0
  206. package/dist/ui/screenshots/dashboard.png +0 -0
  207. package/dist/ui/screenshots/project-memory.png +0 -0
  208. package/dist/ui/screenshots/reasoning-quality.png +0 -0
  209. package/dist/ui/screenshots/reasoning-session.png +0 -0
  210. package/dist/ui/screenshots/token-session.png +0 -0
  211. package/dist/ui/screenshots/token-trace-main.png +0 -0
  212. package/dist/ui/screenshots/token-turn.png +0 -0
  213. package/dist/ui/unerr-wordmark.png +0 -0
  214. package/dist/ui/unerr-wordmark.svg +0 -9
  215. package/dist/ui/unerr.png +0 -0
  216. package/dist/ui/unerr.svg +0 -25
  217. package/dist/ui/web-app-manifest-192x192.png +0 -0
  218. package/dist/ui/web-app-manifest-512x512.png +0 -0
Binary file
@@ -1,30 +0,0 @@
1
- <svg width="2137" height="512" viewBox="0 0 2137 512" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <defs>
3
- <linearGradient id="icon-grad" x1="0" y1="0" x2="512" y2="512" gradientUnits="userSpaceOnUse">
4
- <stop stop-color="#8B5CF6"/>
5
- <stop offset="1" stop-color="#7C3AED"/>
6
- </linearGradient>
7
- <linearGradient id="text-grad" x1="-76.5297" y1="43" x2="2060.47" y2="555" gradientUnits="userSpaceOnUse">
8
- <stop stop-color="#8B5CF6"/>
9
- <stop offset="1" stop-color="#7C3AED"/>
10
- </linearGradient>
11
- <clipPath id="clip0">
12
- <rect width="2137" height="512" fill="white"/>
13
- </clipPath>
14
- </defs>
15
- <g clip-path="url(#clip0)">
16
- <path d="M42.4538 175.39L175.39 42.4538" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
17
- <path d="M29.0187 286.406L123.771 191.653" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
18
- <path d="M191.653 123.771L286.406 29.0187" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
19
- <path d="M55.1817 357.823L118.821 294.184" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
20
- <path d="M294.184 118.821L357.823 55.1817" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
21
- <path d="M97.6081 414.392L154.177 357.823" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
22
- <path d="M357.823 154.177L414.392 97.6082" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
23
- <path d="M154.177 456.818L217.816 393.179" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
24
- <path d="M393.179 217.816L456.818 154.177" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
25
- <path d="M225.594 482.981L320.347 388.229" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
26
- <path d="M388.229 320.347L482.981 225.594" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
27
- <path d="M336.61 469.546L469.546 336.61" stroke="url(#icon-grad)" stroke-width="44" stroke-linecap="round"/>
28
- <path d="M742.47 404.2C706.07 404.2 677.47 394.147 656.67 374.04C635.87 353.587 625.47 325.853 625.47 290.84V113H690.47V290.32C690.47 308.693 694.977 322.907 703.99 332.96C713.003 342.667 725.83 347.52 742.47 347.52C758.763 347.52 771.417 342.667 780.43 332.96C789.79 322.907 794.47 308.693 794.47 290.32V113H859.47V290.84C859.47 325.853 848.897 353.587 827.75 374.04C806.603 394.147 778.177 404.2 742.47 404.2ZM922.707 399V113H986.15V167.6H1003.83L986.15 182.68C986.15 159.107 992.91 140.733 1006.43 127.56C1020.29 114.387 1039.19 107.8 1063.11 107.8C1091.19 107.8 1113.55 117.16 1130.19 135.88C1147.17 154.6 1155.67 179.733 1155.67 211.28V399H1090.67V218.04C1090.67 200.707 1086.16 187.36 1077.15 178C1068.13 168.64 1055.48 163.96 1039.19 163.96C1023.24 163.96 1010.59 168.813 1001.23 178.52C992.21 188.227 987.71 202.093 987.71 220.12V399H922.707ZM1335.38 404.2C1311.12 404.2 1289.97 399.52 1271.94 390.16C1253.92 380.8 1239.88 367.8 1229.82 351.16C1220.12 334.173 1215.26 314.413 1215.26 291.88V220.12C1215.26 197.587 1220.12 178 1229.82 161.36C1239.88 144.373 1253.92 131.2 1271.94 121.84C1289.97 112.48 1311.12 107.8 1335.38 107.8C1359.3 107.8 1380.1 112.48 1397.78 121.84C1415.81 131.2 1429.68 144.373 1439.38 161.36C1449.44 178 1454.46 197.587 1454.46 220.12V271.6H1278.18V291.88C1278.18 311.987 1283.04 327.24 1292.74 337.64C1302.45 347.693 1316.84 352.72 1335.9 352.72C1350.46 352.72 1362.25 350.293 1371.26 345.44C1380.28 340.24 1386 332.787 1388.42 323.08H1452.38C1447.53 347.693 1434.36 367.453 1412.86 382.36C1391.72 396.92 1365.89 404.2 1335.38 404.2ZM1391.54 235.2V219.6C1391.54 199.84 1386.86 184.76 1377.5 174.36C1368.14 163.613 1354.1 158.24 1335.38 158.24C1316.66 158.24 1302.45 163.613 1292.74 174.36C1283.04 185.107 1278.18 200.36 1278.18 220.12V231.04L1396.22 230L1391.54 235.2ZM1523.94 399V113H1585.3V167.6H1601.42L1582.18 200.88C1582.18 170.027 1589.11 146.8 1602.98 131.2C1616.85 115.6 1637.3 107.8 1664.34 107.8C1695.19 107.8 1719.46 117.333 1737.14 136.4C1754.82 155.467 1763.66 181.813 1763.66 215.44V236.24H1695.54V220.12C1695.54 201.747 1690.69 187.533 1680.98 177.48C1671.62 167.427 1658.62 162.4 1641.98 162.4C1624.99 162.4 1611.82 167.427 1602.46 177.48C1593.45 187.533 1588.94 201.747 1588.94 220.12V399H1523.94ZM1820.14 399V113H1881.5V167.6H1897.62L1878.38 200.88C1878.38 170.027 1885.31 146.8 1899.18 131.2C1913.04 115.6 1933.5 107.8 1960.54 107.8C1991.39 107.8 2015.66 117.333 2033.34 136.4C2051.02 155.467 2059.86 181.813 2059.86 215.44V236.24H1991.74V220.12C1991.74 201.747 1986.88 187.533 1977.18 177.48C1967.82 167.427 1954.82 162.4 1938.18 162.4C1921.19 162.4 1908.02 167.427 1898.66 177.48C1889.64 187.533 1885.14 201.747 1885.14 220.12V399H1820.14Z" fill="url(#text-grad)"/>
29
- </g>
30
- </svg>
package/dist/ui/icon.png DELETED
Binary file
package/dist/ui/icon.svg DELETED
@@ -1,25 +0,0 @@
1
- <svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <defs>
3
- <linearGradient id="brand-grad" x1="0" y1="0" x2="512" y2="512" gradientUnits="userSpaceOnUse">
4
- <stop stop-color="#8B5CF6"/>
5
- <stop offset="1" stop-color="#7C3AED"/>
6
- </linearGradient>
7
- <clipPath id="clip0">
8
- <rect width="512" height="512" fill="white"/>
9
- </clipPath>
10
- </defs>
11
- <g clip-path="url(#clip0)">
12
- <path d="M43.5942 176.439L176.439 43.5943" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
13
- <path d="M31.1857 286.656L127.535 190.307" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
14
- <path d="M190.308 127.535L286.657 31.1856" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
15
- <path d="M54.5431 359.648L118.046 296.145" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
16
- <path d="M296.146 118.046L359.648 54.543" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
17
- <path d="M95.4183 416.582L153.812 358.188" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
18
- <path d="M358.188 153.812L416.582 95.4183" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
19
- <path d="M152.352 457.457L215.855 393.954" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
20
- <path d="M393.954 215.855L457.457 152.352" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
21
- <path d="M225.344 480.814L321.693 384.465" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
22
- <path d="M384.465 321.692L480.814 225.343" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
23
- <path d="M335.561 468.406L468.406 335.561" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
24
- </g>
25
- </svg>
@@ -1,15 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>unerr — intelligence</title>
7
- <script type="module" crossorigin src="/assets/index-CX4FCWGT.js"></script>
8
- <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-S-ySWqyJ.js">
9
- <link rel="modulepreload" crossorigin href="/assets/vis-network-NIJHUFI3.js">
10
- <link rel="stylesheet" crossorigin href="/assets/index-7gl3mIuY.css">
11
- </head>
12
- <body>
13
- <div id="root"></div>
14
- </body>
15
- </html>
@@ -1,257 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>unerr Prototype Sandbox</title>
7
- <style>
8
- :root {
9
- --p-primary: #3B82F6;
10
- --p-secondary: #64748B;
11
- --p-accent: #8B5CF6;
12
- --p-bg: #FFFFFF;
13
- --p-fg: #0F172A;
14
- --p-border: #E2E8F0;
15
- --p-muted: #F8FAFC;
16
- --p-font-heading: Inter, system-ui, sans-serif;
17
- --p-font-body: Inter, system-ui, sans-serif;
18
- }
19
- * { margin: 0; padding: 0; box-sizing: border-box; }
20
- body { font-family: var(--p-font-body); background: var(--p-bg); color: var(--p-fg); min-height: 100vh; }
21
-
22
- .proto-header { padding: 16px 24px; border-bottom: 1px solid var(--p-border); display: flex; align-items: center; justify-content: space-between; }
23
- .proto-header h1 { font-family: var(--p-font-heading); font-size: 18px; font-weight: 600; }
24
-
25
- .proto-sidebar { width: 240px; border-right: 1px solid var(--p-border); padding: 16px; background: var(--p-muted); }
26
- .proto-sidebar-item { padding: 8px 12px; border-radius: 6px; font-size: 13px; cursor: pointer; margin-bottom: 2px; }
27
- .proto-sidebar-item:hover { background: var(--p-border); }
28
- .proto-sidebar-item.active { background: var(--p-primary); color: white; }
29
-
30
- .proto-main { flex: 1; padding: 24px; overflow-y: auto; }
31
-
32
- .proto-table { width: 100%; border-collapse: collapse; font-size: 13px; }
33
- .proto-table th { text-align: left; padding: 10px 12px; border-bottom: 2px solid var(--p-border); font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--p-secondary); }
34
- .proto-table td { padding: 10px 12px; border-bottom: 1px solid var(--p-muted); }
35
- .proto-table tr:hover td { background: var(--p-muted); }
36
-
37
- .proto-form { max-width: 480px; display: flex; flex-direction: column; gap: 16px; }
38
- .proto-field { display: flex; flex-direction: column; gap: 4px; }
39
- .proto-field label { font-size: 12px; font-weight: 500; color: var(--p-secondary); }
40
- .proto-field input, .proto-field select, .proto-field textarea { padding: 8px 12px; border: 1px solid var(--p-border); border-radius: 6px; font-size: 14px; font-family: inherit; }
41
- .proto-field input:focus, .proto-field select:focus, .proto-field textarea:focus { outline: none; border-color: var(--p-primary); box-shadow: 0 0 0 3px rgba(59,130,246,0.1); }
42
-
43
- .proto-btn { padding: 8px 16px; border: none; border-radius: 6px; font-size: 14px; font-weight: 500; cursor: pointer; font-family: inherit; }
44
- .proto-btn-primary { background: var(--p-primary); color: white; }
45
- .proto-btn-primary:hover { opacity: 0.9; }
46
-
47
- .proto-stat { padding: 20px; border: 1px solid var(--p-border); border-radius: 8px; }
48
- .proto-stat-label { font-size: 11px; color: var(--p-secondary); text-transform: uppercase; letter-spacing: 0.05em; }
49
- .proto-stat-value { font-size: 28px; font-weight: 700; margin-top: 4px; font-family: var(--p-font-heading); }
50
-
51
- .proto-detail { display: flex; flex-direction: column; gap: 12px; }
52
- .proto-detail-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--p-muted); font-size: 13px; }
53
- .proto-detail-label { color: var(--p-secondary); }
54
-
55
- .proto-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 500; }
56
- .proto-badge-success { background: #DCFCE7; color: #166534; }
57
- .proto-badge-warning { background: #FEF3C7; color: #92400E; }
58
- .proto-badge-info { background: #DBEAFE; color: #1E40AF; }
59
-
60
- .proto-empty { text-align: center; padding: 48px; color: var(--p-secondary); }
61
-
62
- .proto-highlight { outline: 2px solid var(--p-accent); outline-offset: 2px; border-radius: 4px; animation: pulse 1.5s ease-in-out infinite; }
63
- @keyframes pulse { 0%, 100% { outline-color: var(--p-accent); } 50% { outline-color: transparent; } }
64
-
65
- .layout-split { display: flex; min-height: 100vh; }
66
-
67
- .loading { display: flex; align-items: center; justify-content: center; height: 100vh; color: var(--p-secondary); }
68
- </style>
69
- </head>
70
- <body>
71
- <div id="root" class="loading">Loading prototype...</div>
72
-
73
- <script>
74
- let currentData = null;
75
- let currentStep = null;
76
-
77
- // Signal ready to parent
78
- window.parent.postMessage({ type: 'prototype:ready' }, '*');
79
-
80
- // Listen for prototype data
81
- window.addEventListener('message', function(event) {
82
- if (event.data && event.data.type === 'prototype:init') {
83
- currentData = event.data.payload;
84
- currentStep = event.data.payload.activeStep;
85
-
86
- // Apply design tokens as CSS custom properties
87
- if (currentData.designTokens) {
88
- const t = currentData.designTokens;
89
- const root = document.documentElement;
90
- if (t.primary) root.style.setProperty('--p-primary', t.primary);
91
- if (t.secondary) root.style.setProperty('--p-secondary', t.secondary);
92
- if (t.accent) root.style.setProperty('--p-accent', t.accent);
93
- if (t.background) root.style.setProperty('--p-bg', t.background);
94
- if (t.foreground) root.style.setProperty('--p-fg', t.foreground);
95
- if (t.fontHeading) root.style.setProperty('--p-font-heading', t.fontHeading);
96
- if (t.fontBody) root.style.setProperty('--p-font-body', t.fontBody);
97
- }
98
-
99
- render();
100
- }
101
- });
102
-
103
- function render() {
104
- if (!currentData || !currentData.screens || currentData.screens.length === 0) {
105
- document.getElementById('root').innerHTML = '<div class="proto-empty">No prototype data received</div>';
106
- return;
107
- }
108
-
109
- const screen = currentData.screens[0];
110
- if (!screen) return;
111
-
112
- // Determine which components are active based on walkthrough step
113
- let activeComponentIds = null;
114
- if (currentStep !== null && currentStep !== undefined && currentData.flowSteps && currentData.flowSteps[currentStep]) {
115
- activeComponentIds = new Set(currentData.flowSteps[currentStep].activeComponents);
116
- }
117
-
118
- let html = '';
119
-
120
- for (const comp of screen.components) {
121
- // If in walkthrough mode and component not in active list, dim it
122
- const isActive = !activeComponentIds || activeComponentIds.has(comp.id);
123
- const isHighlighted = activeComponentIds && activeComponentIds.has(comp.id);
124
- const wrapStyle = isActive ? '' : 'opacity:0.3;pointer-events:none;';
125
- const highlightClass = isHighlighted ? ' proto-highlight' : '';
126
-
127
- html += '<div style="' + wrapStyle + '" class="' + highlightClass + '">';
128
- html += renderComponent(comp);
129
- html += '</div>';
130
- }
131
-
132
- document.getElementById('root').className = '';
133
- document.getElementById('root').innerHTML = html;
134
- }
135
-
136
- function renderComponent(comp) {
137
- switch (comp.type) {
138
- case 'Header':
139
- return '<div class="proto-header"><h1>' + esc(comp.label) + '</h1></div>';
140
-
141
- case 'DataTable':
142
- return renderDataTable(comp);
143
-
144
- case 'FormSection':
145
- return renderFormSection(comp);
146
-
147
- case 'DetailPanel':
148
- return renderDetailPanel(comp);
149
-
150
- case 'StatCard':
151
- return '<div style="padding:8px"><div class="proto-stat"><div class="proto-stat-label">' + esc(comp.label) + '</div><div class="proto-stat-value">—</div></div></div>';
152
-
153
- case 'SearchBar':
154
- return '<div style="padding:16px 24px"><input type="text" placeholder="Search ' + esc(comp.label) + '..." style="width:100%;padding:10px 14px;border:1px solid var(--p-border);border-radius:8px;font-size:14px;font-family:inherit" /></div>';
155
-
156
- case 'CardGrid':
157
- return renderCardGrid(comp);
158
-
159
- case 'Sidebar':
160
- return '<div class="proto-sidebar"><div class="proto-sidebar-item active">Dashboard</div><div class="proto-sidebar-item">Settings</div></div>';
161
-
162
- case 'EmptyState':
163
- return '<div class="proto-empty">' + esc(comp.label) + '</div>';
164
-
165
- case 'StatusBadge':
166
- return '<div style="padding:8px 24px"><span class="proto-badge proto-badge-success">Active</span></div>';
167
-
168
- default:
169
- return '<div style="padding:16px 24px;color:var(--p-secondary);font-size:13px">' + esc(comp.label) + ' (' + esc(comp.type) + ')</div>';
170
- }
171
- }
172
-
173
- function renderDataTable(comp) {
174
- const entity = currentData.sampleData ? currentData.sampleData.find(function(e) { return e.entityName === comp.entity; }) : null;
175
- if (!entity || !entity.rows || entity.rows.length === 0) {
176
- return '<div class="proto-empty">No data for ' + esc(comp.label) + '</div>';
177
- }
178
-
179
- const cols = Object.keys(entity.rows[0]);
180
- let html = '<div style="padding:16px 24px"><h3 style="font-family:var(--p-font-heading);font-size:14px;font-weight:600;margin-bottom:12px">' + esc(comp.label) + '</h3>';
181
- html += '<table class="proto-table"><thead><tr>';
182
- cols.forEach(function(col) { html += '<th>' + esc(col) + '</th>'; });
183
- html += '</tr></thead><tbody>';
184
- entity.rows.forEach(function(row) {
185
- html += '<tr>';
186
- cols.forEach(function(col) {
187
- const val = row[col];
188
- html += '<td>' + formatCell(val) + '</td>';
189
- });
190
- html += '</tr>';
191
- });
192
- html += '</tbody></table></div>';
193
- return html;
194
- }
195
-
196
- function renderFormSection(comp) {
197
- return '<div style="padding:24px"><h3 style="font-family:var(--p-font-heading);font-size:14px;font-weight:600;margin-bottom:16px">' + esc(comp.label) + '</h3>' +
198
- '<div class="proto-form">' +
199
- '<div class="proto-field"><label>Name</label><input type="text" placeholder="Enter name..." /></div>' +
200
- '<div class="proto-field"><label>Description</label><textarea rows="3" placeholder="Enter description..."></textarea></div>' +
201
- '<div class="proto-field"><label>Status</label><select><option>Active</option><option>Pending</option><option>Archived</option></select></div>' +
202
- '<button class="proto-btn proto-btn-primary">Create</button>' +
203
- '</div></div>';
204
- }
205
-
206
- function renderDetailPanel(comp) {
207
- const entity = currentData.sampleData ? currentData.sampleData.find(function(e) { return e.entityName === comp.entity; }) : null;
208
- const row = entity && entity.rows ? entity.rows[0] : null;
209
-
210
- if (!row) {
211
- return '<div style="padding:24px"><h3 style="font-family:var(--p-font-heading);font-size:14px;font-weight:600;margin-bottom:12px">' + esc(comp.label) + '</h3><div class="proto-empty">No data</div></div>';
212
- }
213
-
214
- let html = '<div style="padding:24px"><h3 style="font-family:var(--p-font-heading);font-size:14px;font-weight:600;margin-bottom:12px">' + esc(comp.label) + '</h3><div class="proto-detail">';
215
- Object.keys(row).forEach(function(key) {
216
- html += '<div class="proto-detail-row"><span class="proto-detail-label">' + esc(key) + '</span><span>' + formatCell(row[key]) + '</span></div>';
217
- });
218
- html += '</div></div>';
219
- return html;
220
- }
221
-
222
- function renderCardGrid(comp) {
223
- const entity = currentData.sampleData ? currentData.sampleData.find(function(e) { return e.entityName === comp.entity; }) : null;
224
- if (!entity || !entity.rows || entity.rows.length === 0) {
225
- return '<div class="proto-empty">No data for ' + esc(comp.label) + '</div>';
226
- }
227
-
228
- let html = '<div style="padding:24px"><h3 style="font-family:var(--p-font-heading);font-size:14px;font-weight:600;margin-bottom:12px">' + esc(comp.label) + '</h3><div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px">';
229
- entity.rows.slice(0, 6).forEach(function(row) {
230
- const keys = Object.keys(row);
231
- const title = row[keys[1]] || row[keys[0]] || 'Item';
232
- html += '<div style="padding:16px;border:1px solid var(--p-border);border-radius:8px"><div style="font-weight:600;font-size:14px;margin-bottom:4px">' + esc(String(title)) + '</div>';
233
- if (keys[2]) html += '<div style="font-size:12px;color:var(--p-secondary)">' + esc(String(row[keys[2]] || '')) + '</div>';
234
- html += '</div>';
235
- });
236
- html += '</div></div>';
237
- return html;
238
- }
239
-
240
- function formatCell(val) {
241
- if (val === null || val === undefined) return '<span style="color:var(--p-secondary)">—</span>';
242
- if (typeof val === 'boolean') return val ? '<span class="proto-badge proto-badge-success">Yes</span>' : '<span class="proto-badge proto-badge-warning">No</span>';
243
- const s = String(val);
244
- if (s === 'active' || s === 'completed' || s === 'approved') return '<span class="proto-badge proto-badge-success">' + esc(s) + '</span>';
245
- if (s === 'pending' || s === 'scheduled' || s === 'processing') return '<span class="proto-badge proto-badge-warning">' + esc(s) + '</span>';
246
- if (s === 'draft' || s === 'inactive') return '<span class="proto-badge proto-badge-info">' + esc(s) + '</span>';
247
- return esc(s);
248
- }
249
-
250
- function esc(s) {
251
- const div = document.createElement('div');
252
- div.textContent = s;
253
- return div.innerHTML;
254
- }
255
- </script>
256
- </body>
257
- </html>
Binary file
Binary file
Binary file
Binary file
@@ -1,9 +0,0 @@
1
- <svg width="1435" height="297" viewBox="0 0 1435 297" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M117 296.4C80.6 296.4 52 286.347 31.2 266.24C10.4 245.787 0 218.053 0 183.04V5.2H65V182.52C65 200.893 69.507 215.107 78.52 225.16C87.533 234.867 100.36 239.72 117 239.72C133.293 239.72 145.947 234.867 154.96 225.16C164.32 215.107 169 200.893 169 182.52V5.2H234V183.04C234 218.053 223.427 245.787 202.28 266.24C181.133 286.347 152.707 296.4 117 296.4ZM297.237 291.2V5.2H360.68V59.8H378.36L360.68 74.88C360.68 51.307 367.44 32.9333 380.96 19.76C394.82 6.58669 413.72 0 437.64 0C465.72 0 488.08 9.35999 504.72 28.08C521.7 46.8 530.2 71.933 530.2 103.48V291.2H465.2V110.24C465.2 92.907 460.69 79.56 451.68 70.2C442.66 60.84 430.01 56.16 413.72 56.16C397.77 56.16 385.12 61.013 375.76 70.72C366.74 80.427 362.24 94.293 362.24 112.32V291.2H297.237ZM709.91 296.4C685.65 296.4 664.5 291.72 646.47 282.36C628.45 273 614.41 260 604.35 243.36C594.65 226.373 589.79 206.613 589.79 184.08V112.32C589.79 89.787 594.65 70.2 604.35 53.56C614.41 36.573 628.45 23.4 646.47 14.04C664.5 4.67999 685.65 0 709.91 0C733.83 0 754.63 4.67999 772.31 14.04C790.34 23.4 804.21 36.573 813.91 53.56C823.97 70.2 828.99 89.787 828.99 112.32V163.8H652.71V184.08C652.71 204.187 657.57 219.44 667.27 229.84C676.98 239.893 691.37 244.92 710.43 244.92C724.99 244.92 736.78 242.493 745.79 237.64C754.81 232.44 760.53 224.987 762.95 215.28H826.91C822.06 239.893 808.89 259.653 787.39 274.56C766.25 289.12 740.42 296.4 709.91 296.4ZM766.07 127.4V111.8C766.07 92.04 761.39 76.96 752.03 66.56C742.67 55.813 728.63 50.44 709.91 50.44C691.19 50.44 676.98 55.813 667.27 66.56C657.57 77.307 652.71 92.56 652.71 112.32V123.24L770.75 122.2L766.07 127.4ZM898.47 291.2V5.2H959.83V59.8H975.95L956.71 93.08C956.71 62.227 963.64 39 977.51 23.4C991.38 7.79999 1011.83 0 1038.87 0C1069.72 0 1093.99 9.5333 1111.67 28.6C1129.35 47.667 1138.19 74.013 1138.19 107.64V128.44H1070.07V112.32C1070.07 93.947 1065.22 79.733 1055.51 69.68C1046.15 59.627 1033.15 54.6 1016.51 54.6C999.52 54.6 986.35 59.627 976.99 69.68C967.98 79.733 963.47 93.947 963.47 112.32V291.2H898.47ZM1194.67 291.2V5.2H1256.03V59.8H1272.15L1252.91 93.08C1252.91 62.227 1259.84 39 1273.71 23.4C1287.57 7.79999 1308.03 0 1335.07 0C1365.92 0 1390.19 9.5333 1407.87 28.6C1425.55 47.667 1434.39 74.013 1434.39 107.64V128.44H1366.27V112.32C1366.27 93.947 1361.41 79.733 1351.71 69.68C1342.35 59.627 1329.35 54.6 1312.71 54.6C1295.72 54.6 1282.55 59.627 1273.19 69.68C1264.17 79.733 1259.67 93.947 1259.67 112.32V291.2H1194.67Z" fill="url(#paint0_linear_9_109)"/>
3
- <defs>
4
- <linearGradient id="paint0_linear_9_109" x1="-702" y1="-64.8" x2="1435" y2="447.2" gradientUnits="userSpaceOnUse">
5
- <stop stop-color="#8B5CF6"/>
6
- <stop offset="1" stop-color="#7C3AED"/>
7
- </linearGradient>
8
- </defs>
9
- </svg>
package/dist/ui/unerr.png DELETED
Binary file
package/dist/ui/unerr.svg DELETED
@@ -1,25 +0,0 @@
1
- <svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <defs>
3
- <linearGradient id="brand-grad" x1="0" y1="0" x2="512" y2="512" gradientUnits="userSpaceOnUse">
4
- <stop stop-color="#8B5CF6"/>
5
- <stop offset="1" stop-color="#7C3AED"/>
6
- </linearGradient>
7
- <clipPath id="clip0">
8
- <rect width="512" height="512" fill="white"/>
9
- </clipPath>
10
- </defs>
11
- <g clip-path="url(#clip0)">
12
- <path d="M43.5942 176.439L176.439 43.5943" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
13
- <path d="M31.1857 286.656L127.535 190.307" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
14
- <path d="M190.308 127.535L286.657 31.1856" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
15
- <path d="M54.5431 359.648L118.046 296.145" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
16
- <path d="M296.146 118.046L359.648 54.543" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
17
- <path d="M95.4183 416.582L153.812 358.188" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
18
- <path d="M358.188 153.812L416.582 95.4183" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
19
- <path d="M152.352 457.457L215.855 393.954" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
20
- <path d="M393.954 215.855L457.457 152.352" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
21
- <path d="M225.344 480.814L321.693 384.465" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
22
- <path d="M384.465 321.692L480.814 225.343" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
23
- <path d="M335.561 468.406L468.406 335.561" stroke="url(#brand-grad)" stroke-width="40" stroke-linecap="round"/>
24
- </g>
25
- </svg>