synabun 2.0.0-beta → 2.0.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 (70) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/THIRD-PARTY-LICENSES.md +5 -0
  3. package/launcher.mjs +40 -0
  4. package/lib/claude-hooks.js +61 -8
  5. package/lib/client-config-repair.js +4 -3
  6. package/lib/data-home-migration.js +4 -0
  7. package/lib/desktop-pwa.js +206 -0
  8. package/lib/external-tools.js +221 -0
  9. package/lib/first-launch-protection.js +5 -0
  10. package/lib/packaged-runtime.js +110 -0
  11. package/lib/start-launcher.js +1309 -0
  12. package/neural-interface/i18n/en.json +41 -2
  13. package/neural-interface/i18n/pt-BR.json +41 -2
  14. package/neural-interface/lib/assistant-envelope.js +9 -6
  15. package/neural-interface/lib/augmented-path.js +23 -3
  16. package/neural-interface/lib/browser-language.js +83 -0
  17. package/neural-interface/lib/claude-agent-bridge.js +54 -147
  18. package/neural-interface/lib/claude-executable.js +241 -0
  19. package/neural-interface/lib/claude-model-catalog.js +52 -91
  20. package/neural-interface/lib/native-binary-runtime.js +69 -337
  21. package/neural-interface/lib/native-loop-providers.js +30 -44
  22. package/neural-interface/lib/offline-page.js +54 -0
  23. package/neural-interface/lib/session-title-generator.js +5 -0
  24. package/neural-interface/lib/synabun-update-plan.js +19 -0
  25. package/neural-interface/package-lock.json +0 -251
  26. package/neural-interface/public/install-app.html +31 -0
  27. package/neural-interface/public/manifest.json +2 -0
  28. package/neural-interface/public/offline.html +401 -66
  29. package/neural-interface/public/onboarding.html +252 -146
  30. package/neural-interface/public/shared/assistant/asst-mascot.js +12 -10
  31. package/neural-interface/public/shared/assistant/asst-rack-styles.js +0 -3
  32. package/neural-interface/public/shared/assistant/asst-render.js +58 -49
  33. package/neural-interface/public/shared/assistant/asst-styles.js +4 -2
  34. package/neural-interface/public/shared/command-runner-model.js +30 -0
  35. package/neural-interface/public/shared/html-shell.js +9 -5
  36. package/neural-interface/public/shared/pwa-install-page.js +34 -0
  37. package/neural-interface/public/shared/pwa-install.css +12 -0
  38. package/neural-interface/public/shared/pwa-install.js +28 -0
  39. package/neural-interface/public/shared/settings/settings-rules.js +160 -0
  40. package/neural-interface/public/shared/start-bridge.js +583 -0
  41. package/neural-interface/public/shared/styleguide/sg-colors.js +5 -2
  42. package/neural-interface/public/shared/styleguide/sg-import-export.js +4 -3
  43. package/neural-interface/public/shared/styleguide/sg-kit.js +4 -1
  44. package/neural-interface/public/shared/styleguide/sg-panel.js +9 -1
  45. package/neural-interface/public/shared/styleguide/sg-typography.js +1 -0
  46. package/neural-interface/public/shared/styles.css +801 -392
  47. package/neural-interface/public/shared/term-ready.js +307 -0
  48. package/neural-interface/public/shared/ui-claude-panel.js +3 -3
  49. package/neural-interface/public/shared/ui-command-runner.js +251 -468
  50. package/neural-interface/public/shared/ui-judgments.js +1 -1
  51. package/neural-interface/public/shared/ui-loading.js +221 -10
  52. package/neural-interface/public/shared/ui-menubar.js +11 -27
  53. package/neural-interface/public/shared/ui-settings.js +36 -59
  54. package/neural-interface/public/shared/ui-terminal.js +130 -144
  55. package/neural-interface/public/sw.js +3 -1
  56. package/neural-interface/public/variant/2d/main.js +2 -1
  57. package/neural-interface/public/variant/3d/main.js +2 -1
  58. package/neural-interface/scripts/rebuild-pty.js +15 -12
  59. package/neural-interface/server.js +220 -185
  60. package/package.json +13 -1
  61. package/postinstall.js +11 -81
  62. package/setup.js +72 -4
  63. package/docs/browser-v2.md +0 -109
  64. package/docs/hook-integrity.md +0 -89
  65. package/docs/judgments.md +0 -182
  66. package/docs/style-guide.md +0 -246
  67. package/scripts/audit-claude-hook-usage.mjs +0 -12
  68. package/scripts/audit-memory-duplicates.mjs +0 -44
  69. package/scripts/measure-claude-hook-overhead.mjs +0 -77
  70. package/scripts/recover-user-config.mjs +0 -254
@@ -46,7 +46,14 @@ export function createPanel({ onClosed, projectPath } = {}) {
46
46
  proposalButton.append(badge);
47
47
  const closeBtn = button(t('styleguide.close'), () => close());
48
48
  closeBtn.id = 'sg-close';
49
- header.append(row(title, project, status), row(button(t('styleguide.designMd'), () => show('preview', { source: true })), button(t('styleguide.export'), () => show('import-export')), button(t('styleguide.history'), () => show('history')), proposalButton, closeBtn));
49
+ closeBtn.classList.add('sg-close');
50
+ closeBtn.setAttribute('aria-label', t('styleguide.close'));
51
+ closeBtn.title = t('styleguide.close');
52
+ closeBtn.textContent = '×';
53
+ const context = row(title, project, status), actions = row(button(t('styleguide.designMd'), () => show('preview', { source: true })), button(t('styleguide.export'), () => show('import-export')), button(t('styleguide.history'), () => show('history')), proposalButton);
54
+ context.classList.add('sg-header-context');
55
+ actions.classList.add('sg-header-actions');
56
+ header.append(context, actions, closeBtn);
50
57
  panel.append(header);
51
58
  const shell = el('div', 'sg-shell'), rail = el('nav', 'sg-rail');
52
59
  rail.setAttribute('aria-label', t('styleguide.sections'));
@@ -137,6 +144,7 @@ export function createPanel({ onClosed, projectPath } = {}) {
137
144
  async function load(path) { if (!path)
138
145
  return; try {
139
146
  await state.load(path);
147
+ project.title = state.projectPath;
140
148
  storage.setItem('styleguide.lastProject', path);
141
149
  }
142
150
  catch (e) {
@@ -58,6 +58,7 @@ export async function render(host, s) {
58
58
  const ratio = field(label('preset'), s.config.typography.scale.preset, v => { const found = ratios.find(([key]) => key === v); s.set('typography.scale', { ...s.config.typography.scale, preset: v, ratio: found[1] }); rerender(); }, { type: 'select', options: ratios.map(([id, n]) => [id, `${label(id)} · ${n}`]) });
59
59
  const styles = el('div', 'sg-table-wrap');
60
60
  styles.tabIndex = 0;
61
+ styles.setAttribute('role', 'region');
61
62
  styles.setAttribute('aria-label', label('style'));
62
63
  const table = el('table', 'sg-table sg-type-table'), head = el('tr');
63
64
  for (const k of ['id', 'font', 'size', 'mobileSize', 'weight', 'lineHeight', 'letterSpacing', 'transform', 'usage'])