synabun 1.3.0 → 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.
- package/CHANGELOG.md +205 -662
- package/LICENSE-COMMERCIAL.md +33 -0
- package/NOTICE +17 -0
- package/README.md +175 -853
- package/THIRD-PARTY-LICENSES.md +136 -0
- package/benchmarks/browser-live-results.json +79 -0
- package/benchmarks/browser-v2-results.json +258 -0
- package/benchmarks/fixtures/browser/README.md +57 -0
- package/benchmarks/fixtures/browser/page-state.json +132 -0
- package/benchmarks/fixtures/browser/social.json +92 -0
- package/benchmarks/fixtures/browser/target.json +319 -0
- package/benchmarks/fixtures/desktop/README.md +58 -0
- package/benchmarks/fixtures/desktop/abstention.json +59 -0
- package/benchmarks/fixtures/desktop/adversarial.json +22 -0
- package/benchmarks/fixtures/desktop/forbidden.json +93 -0
- package/benchmarks/fixtures/desktop/generate.mjs +1023 -0
- package/benchmarks/fixtures/desktop/target.json +136 -0
- package/bin/synabun.js +30 -0
- package/docs/whatsapp.md +325 -0
- package/hooks/claude-code/post-plan.mjs +613 -391
- package/hooks/claude-code/post-remember.mjs +246 -122
- package/hooks/claude-code/pre-compact.mjs +171 -110
- package/hooks/claude-code/pre-task.mjs +133 -0
- package/hooks/claude-code/pre-websearch.mjs +15 -4
- package/hooks/claude-code/prompt-origin.mjs +94 -0
- package/hooks/claude-code/prompt-submit.mjs +1244 -861
- package/hooks/claude-code/session-start.mjs +114 -156
- package/hooks/claude-code/shared.mjs +1228 -368
- package/hooks/claude-code/state.mjs +167 -0
- package/hooks/claude-code/stop.mjs +515 -140
- package/hooks/claude-code/subagent-start.mjs +154 -0
- package/hooks/claude-code/subagent-stop.mjs +102 -0
- package/hooks/claude-code/task-gate.mjs +150 -0
- package/launcher.mjs +40 -0
- package/lib/claude-hooks.js +137 -0
- package/lib/claude-usage-audit.js +141 -0
- package/lib/client-config-repair.js +145 -0
- package/lib/data-home-migration.js +502 -0
- package/lib/desktop-pwa.js +206 -0
- package/lib/external-tools.js +221 -0
- package/lib/first-launch-protection.js +245 -0
- package/lib/packaged-runtime.js +110 -0
- package/lib/paths.d.ts +21 -0
- package/lib/paths.js +103 -0
- package/lib/start-launcher.js +1309 -0
- package/mcp-server/dist/config.d.ts +22 -0
- package/mcp-server/dist/config.d.ts.map +1 -0
- package/mcp-server/dist/config.js +109 -0
- package/mcp-server/dist/config.js.map +1 -0
- package/mcp-server/dist/http.d.ts +30 -0
- package/mcp-server/dist/http.d.ts.map +1 -0
- package/mcp-server/dist/http.js +276 -0
- package/mcp-server/dist/http.js.map +1 -0
- package/mcp-server/dist/index.d.ts +48 -0
- package/mcp-server/dist/index.d.ts.map +1 -0
- package/mcp-server/dist/index.js +538 -0
- package/mcp-server/dist/index.js.map +1 -0
- package/mcp-server/dist/preload-http.d.ts +3 -0
- package/mcp-server/dist/preload-http.d.ts.map +1 -0
- package/mcp-server/dist/preload-http.js +28 -0
- package/mcp-server/dist/preload-http.js.map +1 -0
- package/mcp-server/dist/preload.d.ts +3 -0
- package/mcp-server/dist/preload.d.ts.map +1 -0
- package/mcp-server/dist/preload.js +32 -0
- package/mcp-server/dist/preload.js.map +1 -0
- package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.d.ts +19 -0
- package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.d.ts.map +1 -0
- package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.js +403 -0
- package/mcp-server/dist/scripts/migrate-qdrant-to-sqlite.js.map +1 -0
- package/mcp-server/dist/scripts/setup-embeddings.d.ts +3 -0
- package/mcp-server/dist/scripts/setup-embeddings.d.ts.map +1 -0
- package/mcp-server/dist/scripts/setup-embeddings.js +15 -0
- package/mcp-server/dist/scripts/setup-embeddings.js.map +1 -0
- package/mcp-server/dist/services/assistant-judgments.d.ts +79 -0
- package/mcp-server/dist/services/assistant-judgments.d.ts.map +1 -0
- package/mcp-server/dist/services/assistant-judgments.js +128 -0
- package/mcp-server/dist/services/assistant-judgments.js.map +1 -0
- package/mcp-server/dist/services/browser-assist-gate.d.ts +314 -0
- package/mcp-server/dist/services/browser-assist-gate.d.ts.map +1 -0
- package/mcp-server/dist/services/browser-assist-gate.js +344 -0
- package/mcp-server/dist/services/browser-assist-gate.js.map +1 -0
- package/mcp-server/dist/services/browser-assist.d.ts +104 -0
- package/mcp-server/dist/services/browser-assist.d.ts.map +1 -0
- package/mcp-server/dist/services/browser-assist.js +282 -0
- package/mcp-server/dist/services/browser-assist.js.map +1 -0
- package/mcp-server/dist/services/browser-bench.d.ts +772 -0
- package/mcp-server/dist/services/browser-bench.d.ts.map +1 -0
- package/mcp-server/dist/services/browser-bench.js +424 -0
- package/mcp-server/dist/services/browser-bench.js.map +1 -0
- package/mcp-server/dist/services/browser-judgments.d.ts +196 -0
- package/mcp-server/dist/services/browser-judgments.d.ts.map +1 -0
- package/mcp-server/dist/services/browser-judgments.js +363 -0
- package/mcp-server/dist/services/browser-judgments.js.map +1 -0
- package/mcp-server/dist/services/browser-risk.d.ts +166 -0
- package/mcp-server/dist/services/browser-risk.d.ts.map +1 -0
- package/mcp-server/dist/services/browser-risk.js +458 -0
- package/mcp-server/dist/services/browser-risk.js.map +1 -0
- package/mcp-server/dist/services/categories.d.ts +61 -0
- package/mcp-server/dist/services/categories.d.ts.map +1 -0
- package/mcp-server/dist/services/categories.js +377 -0
- package/mcp-server/dist/services/categories.js.map +1 -0
- package/mcp-server/dist/services/codex-config-heal.d.ts +49 -0
- package/mcp-server/dist/services/codex-config-heal.d.ts.map +1 -0
- package/mcp-server/dist/services/codex-config-heal.js +346 -0
- package/mcp-server/dist/services/codex-config-heal.js.map +1 -0
- package/mcp-server/dist/services/desktop-assist-gate.d.ts +198 -0
- package/mcp-server/dist/services/desktop-assist-gate.d.ts.map +1 -0
- package/mcp-server/dist/services/desktop-assist-gate.js +202 -0
- package/mcp-server/dist/services/desktop-assist-gate.js.map +1 -0
- package/mcp-server/dist/services/desktop-assist.d.ts +104 -0
- package/mcp-server/dist/services/desktop-assist.d.ts.map +1 -0
- package/mcp-server/dist/services/desktop-assist.js +266 -0
- package/mcp-server/dist/services/desktop-assist.js.map +1 -0
- package/mcp-server/dist/services/desktop-bench.d.ts +553 -0
- package/mcp-server/dist/services/desktop-bench.d.ts.map +1 -0
- package/mcp-server/dist/services/desktop-bench.js +311 -0
- package/mcp-server/dist/services/desktop-bench.js.map +1 -0
- package/mcp-server/dist/services/desktop-client.d.ts +23 -0
- package/mcp-server/dist/services/desktop-client.d.ts.map +1 -0
- package/mcp-server/dist/services/desktop-client.js +79 -0
- package/mcp-server/dist/services/desktop-client.js.map +1 -0
- package/mcp-server/dist/services/desktop-judgments.d.ts +125 -0
- package/mcp-server/dist/services/desktop-judgments.d.ts.map +1 -0
- package/mcp-server/dist/services/desktop-judgments.js +177 -0
- package/mcp-server/dist/services/desktop-judgments.js.map +1 -0
- package/mcp-server/dist/services/desktop-risk.d.ts +283 -0
- package/mcp-server/dist/services/desktop-risk.d.ts.map +1 -0
- package/mcp-server/dist/services/desktop-risk.js +605 -0
- package/mcp-server/dist/services/desktop-risk.js.map +1 -0
- package/mcp-server/dist/services/discord.d.ts +112 -0
- package/mcp-server/dist/services/discord.d.ts.map +1 -0
- package/mcp-server/dist/services/discord.js +477 -0
- package/mcp-server/dist/services/discord.js.map +1 -0
- package/mcp-server/dist/services/edit-stale.d.ts +81 -0
- package/mcp-server/dist/services/edit-stale.d.ts.map +1 -0
- package/mcp-server/dist/services/edit-stale.js +358 -0
- package/mcp-server/dist/services/edit-stale.js.map +1 -0
- package/mcp-server/dist/services/embedding-service.d.ts +16 -0
- package/mcp-server/dist/services/embedding-service.d.ts.map +1 -0
- package/mcp-server/dist/services/embedding-service.js +126 -0
- package/mcp-server/dist/services/embedding-service.js.map +1 -0
- package/mcp-server/dist/services/embedding-worker.d.ts +2 -0
- package/mcp-server/dist/services/embedding-worker.d.ts.map +1 -0
- package/mcp-server/dist/services/embedding-worker.js +52 -0
- package/mcp-server/dist/services/embedding-worker.js.map +1 -0
- package/mcp-server/dist/services/fb-regions.d.ts +71 -0
- package/mcp-server/dist/services/fb-regions.d.ts.map +1 -0
- package/mcp-server/dist/services/fb-regions.js +211 -0
- package/mcp-server/dist/services/fb-regions.js.map +1 -0
- package/mcp-server/dist/services/file-checksums.d.ts +22 -0
- package/mcp-server/dist/services/file-checksums.d.ts.map +1 -0
- package/mcp-server/dist/services/file-checksums.js +55 -0
- package/mcp-server/dist/services/file-checksums.js.map +1 -0
- package/mcp-server/dist/services/file-excerpt.d.ts +24 -0
- package/mcp-server/dist/services/file-excerpt.d.ts.map +1 -0
- package/mcp-server/dist/services/file-excerpt.js +65 -0
- package/mcp-server/dist/services/file-excerpt.js.map +1 -0
- package/mcp-server/dist/services/identity.d.ts +124 -0
- package/mcp-server/dist/services/identity.d.ts.map +1 -0
- package/mcp-server/dist/services/identity.js +241 -0
- package/mcp-server/dist/services/identity.js.map +1 -0
- package/mcp-server/dist/services/local-embeddings.d.ts +2 -0
- package/mcp-server/dist/services/local-embeddings.d.ts.map +1 -0
- package/mcp-server/dist/services/local-embeddings.js +3 -0
- package/mcp-server/dist/services/local-embeddings.js.map +1 -0
- package/mcp-server/dist/services/memory-client.d.ts +4 -0
- package/mcp-server/dist/services/memory-client.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-client.js +27 -0
- package/mcp-server/dist/services/memory-client.js.map +1 -0
- package/mcp-server/dist/services/memory-judge-backfill.d.ts +135 -0
- package/mcp-server/dist/services/memory-judge-backfill.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-judge-backfill.js +510 -0
- package/mcp-server/dist/services/memory-judge-backfill.js.map +1 -0
- package/mcp-server/dist/services/memory-judgments.d.ts +362 -0
- package/mcp-server/dist/services/memory-judgments.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-judgments.js +674 -0
- package/mcp-server/dist/services/memory-judgments.js.map +1 -0
- package/mcp-server/dist/services/memory-maintenance.d.ts +108 -0
- package/mcp-server/dist/services/memory-maintenance.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-maintenance.js +403 -0
- package/mcp-server/dist/services/memory-maintenance.js.map +1 -0
- package/mcp-server/dist/services/memory-retrieval.d.ts +66 -0
- package/mcp-server/dist/services/memory-retrieval.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-retrieval.js +412 -0
- package/mcp-server/dist/services/memory-retrieval.js.map +1 -0
- package/mcp-server/dist/services/memory-schema.d.ts +16 -0
- package/mcp-server/dist/services/memory-schema.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-schema.js +282 -0
- package/mcp-server/dist/services/memory-schema.js.map +1 -0
- package/mcp-server/dist/services/memory-sessions.d.ts +24 -0
- package/mcp-server/dist/services/memory-sessions.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-sessions.js +110 -0
- package/mcp-server/dist/services/memory-sessions.js.map +1 -0
- package/mcp-server/dist/services/memory-triage.d.ts +60 -0
- package/mcp-server/dist/services/memory-triage.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-triage.js +189 -0
- package/mcp-server/dist/services/memory-triage.js.map +1 -0
- package/mcp-server/dist/services/memory-verification.d.ts +24 -0
- package/mcp-server/dist/services/memory-verification.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-verification.js +92 -0
- package/mcp-server/dist/services/memory-verification.js.map +1 -0
- package/mcp-server/dist/services/memory-writer.d.ts +26 -0
- package/mcp-server/dist/services/memory-writer.d.ts.map +1 -0
- package/mcp-server/dist/services/memory-writer.js +126 -0
- package/mcp-server/dist/services/memory-writer.js.map +1 -0
- package/mcp-server/dist/services/neural-interface.d.ts +439 -0
- package/mcp-server/dist/services/neural-interface.d.ts.map +1 -0
- package/mcp-server/dist/services/neural-interface.js +1135 -0
- package/mcp-server/dist/services/neural-interface.js.map +1 -0
- package/mcp-server/dist/services/profiles.d.ts +120 -0
- package/mcp-server/dist/services/profiles.d.ts.map +1 -0
- package/mcp-server/dist/services/profiles.js +387 -0
- package/mcp-server/dist/services/profiles.js.map +1 -0
- package/mcp-server/dist/services/secret-gate.d.ts +29 -0
- package/mcp-server/dist/services/secret-gate.d.ts.map +1 -0
- package/mcp-server/dist/services/secret-gate.js +43 -0
- package/mcp-server/dist/services/secret-gate.js.map +1 -0
- package/mcp-server/dist/services/server-instructions.d.ts +10 -0
- package/mcp-server/dist/services/server-instructions.d.ts.map +1 -0
- package/mcp-server/dist/services/server-instructions.js +101 -0
- package/mcp-server/dist/services/server-instructions.js.map +1 -0
- package/mcp-server/dist/services/sqlite.d.ts +235 -0
- package/mcp-server/dist/services/sqlite.d.ts.map +1 -0
- package/mcp-server/dist/services/sqlite.js +1185 -0
- package/mcp-server/dist/services/sqlite.js.map +1 -0
- package/mcp-server/dist/services/typesafe-bench.d.ts +99 -0
- package/mcp-server/dist/services/typesafe-bench.d.ts.map +1 -0
- package/mcp-server/dist/services/typesafe-bench.js +218 -0
- package/mcp-server/dist/services/typesafe-bench.js.map +1 -0
- package/mcp-server/dist/services/typesafe-config.d.ts +342 -0
- package/mcp-server/dist/services/typesafe-config.d.ts.map +1 -0
- package/mcp-server/dist/services/typesafe-config.js +746 -0
- package/mcp-server/dist/services/typesafe-config.js.map +1 -0
- package/mcp-server/dist/services/typesafe.d.ts +213 -0
- package/mcp-server/dist/services/typesafe.d.ts.map +1 -0
- package/mcp-server/dist/services/typesafe.js +330 -0
- package/mcp-server/dist/services/typesafe.js.map +1 -0
- package/mcp-server/dist/services/vector-cache.d.ts +68 -0
- package/mcp-server/dist/services/vector-cache.d.ts.map +1 -0
- package/mcp-server/dist/services/vector-cache.js +271 -0
- package/mcp-server/dist/services/vector-cache.js.map +1 -0
- package/mcp-server/dist/services/whiteboard-geometry.d.ts +305 -0
- package/mcp-server/dist/services/whiteboard-geometry.d.ts.map +1 -0
- package/mcp-server/dist/services/whiteboard-geometry.js +666 -0
- package/mcp-server/dist/services/whiteboard-geometry.js.map +1 -0
- package/mcp-server/dist/tools/agents.d.ts +212 -0
- package/mcp-server/dist/tools/agents.d.ts.map +1 -0
- package/mcp-server/dist/tools/agents.js +407 -0
- package/mcp-server/dist/tools/agents.js.map +1 -0
- package/mcp-server/dist/tools/bluesky.d.ts +39 -0
- package/mcp-server/dist/tools/bluesky.d.ts.map +1 -0
- package/mcp-server/dist/tools/bluesky.js +1144 -0
- package/mcp-server/dist/tools/bluesky.js.map +1 -0
- package/mcp-server/dist/tools/browser-advanced.d.ts +58 -0
- package/mcp-server/dist/tools/browser-advanced.d.ts.map +1 -0
- package/mcp-server/dist/tools/browser-advanced.js +106 -0
- package/mcp-server/dist/tools/browser-advanced.js.map +1 -0
- package/mcp-server/dist/tools/browser-batch.d.ts +99 -0
- package/mcp-server/dist/tools/browser-batch.d.ts.map +1 -0
- package/mcp-server/dist/tools/browser-batch.js +187 -0
- package/mcp-server/dist/tools/browser-batch.js.map +1 -0
- package/mcp-server/dist/tools/browser-cheatsheet.d.ts +21 -0
- package/mcp-server/dist/tools/browser-cheatsheet.d.ts.map +1 -0
- package/mcp-server/dist/tools/browser-cheatsheet.js +144 -0
- package/mcp-server/dist/tools/browser-cheatsheet.js.map +1 -0
- package/mcp-server/dist/tools/browser-interact.d.ts +239 -0
- package/mcp-server/dist/tools/browser-interact.d.ts.map +1 -0
- package/mcp-server/dist/tools/browser-interact.js +300 -0
- package/mcp-server/dist/tools/browser-interact.js.map +1 -0
- package/mcp-server/dist/tools/browser-navigate.d.ts +90 -0
- package/mcp-server/dist/tools/browser-navigate.d.ts.map +1 -0
- package/mcp-server/dist/tools/browser-navigate.js +142 -0
- package/mcp-server/dist/tools/browser-navigate.js.map +1 -0
- package/mcp-server/dist/tools/browser-observe.d.ts +561 -0
- package/mcp-server/dist/tools/browser-observe.d.ts.map +1 -0
- package/mcp-server/dist/tools/browser-observe.js +2009 -0
- package/mcp-server/dist/tools/browser-observe.js.map +1 -0
- package/mcp-server/dist/tools/browser.d.ts +34 -0
- package/mcp-server/dist/tools/browser.d.ts.map +1 -0
- package/mcp-server/dist/tools/browser.js +112 -0
- package/mcp-server/dist/tools/browser.js.map +1 -0
- package/mcp-server/dist/tools/card-tools.d.ts +82 -0
- package/mcp-server/dist/tools/card-tools.d.ts.map +1 -0
- package/mcp-server/dist/tools/card-tools.js +137 -0
- package/mcp-server/dist/tools/card-tools.js.map +1 -0
- package/mcp-server/dist/tools/card.d.ts +8 -0
- package/mcp-server/dist/tools/card.d.ts.map +1 -0
- package/mcp-server/dist/tools/card.js +16 -0
- package/mcp-server/dist/tools/card.js.map +1 -0
- package/mcp-server/dist/tools/category.d.ts +32 -0
- package/mcp-server/dist/tools/category.d.ts.map +1 -0
- package/mcp-server/dist/tools/category.js +290 -0
- package/mcp-server/dist/tools/category.js.map +1 -0
- package/mcp-server/dist/tools/choice.d.ts +160 -0
- package/mcp-server/dist/tools/choice.d.ts.map +1 -0
- package/mcp-server/dist/tools/choice.js +80 -0
- package/mcp-server/dist/tools/choice.js.map +1 -0
- package/mcp-server/dist/tools/computer.d.ts +71 -0
- package/mcp-server/dist/tools/computer.d.ts.map +1 -0
- package/mcp-server/dist/tools/computer.js +174 -0
- package/mcp-server/dist/tools/computer.js.map +1 -0
- package/mcp-server/dist/tools/discord-channel.d.ts +44 -0
- package/mcp-server/dist/tools/discord-channel.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-channel.js +236 -0
- package/mcp-server/dist/tools/discord-channel.js.map +1 -0
- package/mcp-server/dist/tools/discord-guild.d.ts +20 -0
- package/mcp-server/dist/tools/discord-guild.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-guild.js +138 -0
- package/mcp-server/dist/tools/discord-guild.js.map +1 -0
- package/mcp-server/dist/tools/discord-member.d.ts +26 -0
- package/mcp-server/dist/tools/discord-member.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-member.js +122 -0
- package/mcp-server/dist/tools/discord-member.js.map +1 -0
- package/mcp-server/dist/tools/discord-message.d.ts +36 -0
- package/mcp-server/dist/tools/discord-message.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-message.js +184 -0
- package/mcp-server/dist/tools/discord-message.js.map +1 -0
- package/mcp-server/dist/tools/discord-onboarding.d.ts +32 -0
- package/mcp-server/dist/tools/discord-onboarding.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-onboarding.js +179 -0
- package/mcp-server/dist/tools/discord-onboarding.js.map +1 -0
- package/mcp-server/dist/tools/discord-role.d.ts +34 -0
- package/mcp-server/dist/tools/discord-role.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-role.js +178 -0
- package/mcp-server/dist/tools/discord-role.js.map +1 -0
- package/mcp-server/dist/tools/discord-thread.d.ts +28 -0
- package/mcp-server/dist/tools/discord-thread.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-thread.js +88 -0
- package/mcp-server/dist/tools/discord-thread.js.map +1 -0
- package/mcp-server/dist/tools/discord-webhook.d.ts +32 -0
- package/mcp-server/dist/tools/discord-webhook.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord-webhook.js +154 -0
- package/mcp-server/dist/tools/discord-webhook.js.map +1 -0
- package/mcp-server/dist/tools/discord.d.ts +7 -0
- package/mcp-server/dist/tools/discord.d.ts.map +1 -0
- package/mcp-server/dist/tools/discord.js +25 -0
- package/mcp-server/dist/tools/discord.js.map +1 -0
- package/mcp-server/dist/tools/fb-groups.d.ts +98 -0
- package/mcp-server/dist/tools/fb-groups.d.ts.map +1 -0
- package/mcp-server/dist/tools/fb-groups.js +369 -0
- package/mcp-server/dist/tools/fb-groups.js.map +1 -0
- package/mcp-server/dist/tools/forget.d.ts +14 -0
- package/mcp-server/dist/tools/forget.d.ts.map +1 -0
- package/mcp-server/dist/tools/forget.js +26 -0
- package/mcp-server/dist/tools/forget.js.map +1 -0
- package/mcp-server/dist/tools/git-tools.d.ts +24 -0
- package/mcp-server/dist/tools/git-tools.d.ts.map +1 -0
- package/mcp-server/dist/tools/git-tools.js +107 -0
- package/mcp-server/dist/tools/git-tools.js.map +1 -0
- package/mcp-server/dist/tools/git.d.ts +7 -0
- package/mcp-server/dist/tools/git.d.ts.map +1 -0
- package/mcp-server/dist/tools/git.js +11 -0
- package/mcp-server/dist/tools/git.js.map +1 -0
- package/mcp-server/dist/tools/gsc/experience.d.ts +135 -0
- package/mcp-server/dist/tools/gsc/experience.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc/experience.js +351 -0
- package/mcp-server/dist/tools/gsc/experience.js.map +1 -0
- package/mcp-server/dist/tools/gsc/helpers.d.ts +78 -0
- package/mcp-server/dist/tools/gsc/helpers.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc/helpers.js +258 -0
- package/mcp-server/dist/tools/gsc/helpers.js.map +1 -0
- package/mcp-server/dist/tools/gsc/indexing.d.ts +121 -0
- package/mcp-server/dist/tools/gsc/indexing.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc/indexing.js +357 -0
- package/mcp-server/dist/tools/gsc/indexing.js.map +1 -0
- package/mcp-server/dist/tools/gsc/inspect.d.ts +78 -0
- package/mcp-server/dist/tools/gsc/inspect.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc/inspect.js +321 -0
- package/mcp-server/dist/tools/gsc/inspect.js.map +1 -0
- package/mcp-server/dist/tools/gsc/navigate.d.ts +44 -0
- package/mcp-server/dist/tools/gsc/navigate.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc/navigate.js +197 -0
- package/mcp-server/dist/tools/gsc/navigate.js.map +1 -0
- package/mcp-server/dist/tools/gsc/performance.d.ts +84 -0
- package/mcp-server/dist/tools/gsc/performance.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc/performance.js +274 -0
- package/mcp-server/dist/tools/gsc/performance.js.map +1 -0
- package/mcp-server/dist/tools/gsc/settings.d.ts +153 -0
- package/mcp-server/dist/tools/gsc/settings.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc/settings.js +425 -0
- package/mcp-server/dist/tools/gsc/settings.js.map +1 -0
- package/mcp-server/dist/tools/gsc.d.ts +7 -0
- package/mcp-server/dist/tools/gsc.d.ts.map +1 -0
- package/mcp-server/dist/tools/gsc.js +51 -0
- package/mcp-server/dist/tools/gsc.js.map +1 -0
- package/mcp-server/dist/tools/image-tools.d.ts +24 -0
- package/mcp-server/dist/tools/image-tools.d.ts.map +1 -0
- package/mcp-server/dist/tools/image-tools.js +80 -0
- package/mcp-server/dist/tools/image-tools.js.map +1 -0
- package/mcp-server/dist/tools/image.d.ts +10 -0
- package/mcp-server/dist/tools/image.d.ts.map +1 -0
- package/mcp-server/dist/tools/image.js +14 -0
- package/mcp-server/dist/tools/image.js.map +1 -0
- package/mcp-server/dist/tools/leonardo-browser-tools.d.ts +97 -0
- package/mcp-server/dist/tools/leonardo-browser-tools.d.ts.map +1 -0
- package/mcp-server/dist/tools/leonardo-browser-tools.js +228 -0
- package/mcp-server/dist/tools/leonardo-browser-tools.js.map +1 -0
- package/mcp-server/dist/tools/leonardo.d.ts +13 -0
- package/mcp-server/dist/tools/leonardo.d.ts.map +1 -0
- package/mcp-server/dist/tools/leonardo.js +21 -0
- package/mcp-server/dist/tools/leonardo.js.map +1 -0
- package/mcp-server/dist/tools/loop.d.ts +30 -0
- package/mcp-server/dist/tools/loop.d.ts.map +1 -0
- package/mcp-server/dist/tools/loop.js +401 -0
- package/mcp-server/dist/tools/loop.js.map +1 -0
- package/mcp-server/dist/tools/memories.d.ts +56 -0
- package/mcp-server/dist/tools/memories.d.ts.map +1 -0
- package/mcp-server/dist/tools/memories.js +171 -0
- package/mcp-server/dist/tools/memories.js.map +1 -0
- package/mcp-server/dist/tools/morelogin.d.ts +24 -0
- package/mcp-server/dist/tools/morelogin.d.ts.map +1 -0
- package/mcp-server/dist/tools/morelogin.js +79 -0
- package/mcp-server/dist/tools/morelogin.js.map +1 -0
- package/mcp-server/dist/tools/profile.d.ts +17 -0
- package/mcp-server/dist/tools/profile.d.ts.map +1 -0
- package/mcp-server/dist/tools/profile.js +114 -0
- package/mcp-server/dist/tools/profile.js.map +1 -0
- package/mcp-server/dist/tools/recall.d.ts +71 -0
- package/mcp-server/dist/tools/recall.d.ts.map +1 -0
- package/mcp-server/dist/tools/recall.js +147 -0
- package/mcp-server/dist/tools/recall.js.map +1 -0
- package/mcp-server/dist/tools/reflect.d.ts +56 -0
- package/mcp-server/dist/tools/reflect.d.ts.map +1 -0
- package/mcp-server/dist/tools/reflect.js +157 -0
- package/mcp-server/dist/tools/reflect.js.map +1 -0
- package/mcp-server/dist/tools/remember.d.ts +62 -0
- package/mcp-server/dist/tools/remember.d.ts.map +1 -0
- package/mcp-server/dist/tools/remember.js +201 -0
- package/mcp-server/dist/tools/remember.js.map +1 -0
- package/mcp-server/dist/tools/response.d.ts +23 -0
- package/mcp-server/dist/tools/response.d.ts.map +1 -0
- package/mcp-server/dist/tools/response.js +24 -0
- package/mcp-server/dist/tools/response.js.map +1 -0
- package/mcp-server/dist/tools/restore.d.ts +14 -0
- package/mcp-server/dist/tools/restore.d.ts.map +1 -0
- package/mcp-server/dist/tools/restore.js +23 -0
- package/mcp-server/dist/tools/restore.js.map +1 -0
- package/mcp-server/dist/tools/style-guide-tools.d.ts +51 -0
- package/mcp-server/dist/tools/style-guide-tools.d.ts.map +1 -0
- package/mcp-server/dist/tools/style-guide-tools.js +231 -0
- package/mcp-server/dist/tools/style-guide-tools.js.map +1 -0
- package/mcp-server/dist/tools/style-guide.d.ts +8 -0
- package/mcp-server/dist/tools/style-guide.d.ts.map +1 -0
- package/mcp-server/dist/tools/style-guide.js +12 -0
- package/mcp-server/dist/tools/style-guide.js.map +1 -0
- package/mcp-server/dist/tools/sync.d.ts +20 -0
- package/mcp-server/dist/tools/sync.d.ts.map +1 -0
- package/mcp-server/dist/tools/sync.js +156 -0
- package/mcp-server/dist/tools/sync.js.map +1 -0
- package/mcp-server/dist/tools/tictactoe-tools.d.ts +18 -0
- package/mcp-server/dist/tools/tictactoe-tools.d.ts.map +1 -0
- package/mcp-server/dist/tools/tictactoe-tools.js +78 -0
- package/mcp-server/dist/tools/tictactoe-tools.js.map +1 -0
- package/mcp-server/dist/tools/tictactoe.d.ts +7 -0
- package/mcp-server/dist/tools/tictactoe.d.ts.map +1 -0
- package/mcp-server/dist/tools/tictactoe.js +11 -0
- package/mcp-server/dist/tools/tictactoe.js.map +1 -0
- package/mcp-server/dist/tools/utils.d.ts +19 -0
- package/mcp-server/dist/tools/utils.d.ts.map +1 -0
- package/mcp-server/dist/tools/utils.js +54 -0
- package/mcp-server/dist/tools/utils.js.map +1 -0
- package/mcp-server/dist/tools/whiteboard-format.d.ts +88 -0
- package/mcp-server/dist/tools/whiteboard-format.d.ts.map +1 -0
- package/mcp-server/dist/tools/whiteboard-format.js +337 -0
- package/mcp-server/dist/tools/whiteboard-format.js.map +1 -0
- package/mcp-server/dist/tools/whiteboard-tools.d.ts +326 -0
- package/mcp-server/dist/tools/whiteboard-tools.d.ts.map +1 -0
- package/mcp-server/dist/tools/whiteboard-tools.js +222 -0
- package/mcp-server/dist/tools/whiteboard-tools.js.map +1 -0
- package/mcp-server/dist/tools/whiteboard.d.ts +8 -0
- package/mcp-server/dist/tools/whiteboard.d.ts.map +1 -0
- package/mcp-server/dist/tools/whiteboard.js +16 -0
- package/mcp-server/dist/tools/whiteboard.js.map +1 -0
- package/mcp-server/dist/tools/youtube/analytics.d.ts +46 -0
- package/mcp-server/dist/tools/youtube/analytics.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/analytics.js +83 -0
- package/mcp-server/dist/tools/youtube/analytics.js.map +1 -0
- package/mcp-server/dist/tools/youtube/dedup.d.ts +35 -0
- package/mcp-server/dist/tools/youtube/dedup.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/dedup.js +56 -0
- package/mcp-server/dist/tools/youtube/dedup.js.map +1 -0
- package/mcp-server/dist/tools/youtube/download.d.ts +31 -0
- package/mcp-server/dist/tools/youtube/download.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/download.js +30 -0
- package/mcp-server/dist/tools/youtube/download.js.map +1 -0
- package/mcp-server/dist/tools/youtube/helpers.d.ts +66 -0
- package/mcp-server/dist/tools/youtube/helpers.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/helpers.js +143 -0
- package/mcp-server/dist/tools/youtube/helpers.js.map +1 -0
- package/mcp-server/dist/tools/youtube/media.d.ts +43 -0
- package/mcp-server/dist/tools/youtube/media.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/media.js +97 -0
- package/mcp-server/dist/tools/youtube/media.js.map +1 -0
- package/mcp-server/dist/tools/youtube/metadata.d.ts +33 -0
- package/mcp-server/dist/tools/youtube/metadata.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/metadata.js +106 -0
- package/mcp-server/dist/tools/youtube/metadata.js.map +1 -0
- package/mcp-server/dist/tools/youtube/navigate.d.ts +30 -0
- package/mcp-server/dist/tools/youtube/navigate.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/navigate.js +71 -0
- package/mcp-server/dist/tools/youtube/navigate.js.map +1 -0
- package/mcp-server/dist/tools/youtube/playlist.d.ts +29 -0
- package/mcp-server/dist/tools/youtube/playlist.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/playlist.js +128 -0
- package/mcp-server/dist/tools/youtube/playlist.js.map +1 -0
- package/mcp-server/dist/tools/youtube/schedule.d.ts +31 -0
- package/mcp-server/dist/tools/youtube/schedule.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/schedule.js +147 -0
- package/mcp-server/dist/tools/youtube/schedule.js.map +1 -0
- package/mcp-server/dist/tools/youtube/source.d.ts +36 -0
- package/mcp-server/dist/tools/youtube/source.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/source.js +85 -0
- package/mcp-server/dist/tools/youtube/source.js.map +1 -0
- package/mcp-server/dist/tools/youtube/upload.d.ts +53 -0
- package/mcp-server/dist/tools/youtube/upload.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube/upload.js +255 -0
- package/mcp-server/dist/tools/youtube/upload.js.map +1 -0
- package/mcp-server/dist/tools/youtube.d.ts +12 -0
- package/mcp-server/dist/tools/youtube.d.ts.map +1 -0
- package/mcp-server/dist/tools/youtube.js +38 -0
- package/mcp-server/dist/tools/youtube.js.map +1 -0
- package/mcp-server/dist/tui.d.ts +3 -0
- package/mcp-server/dist/tui.d.ts.map +1 -0
- package/mcp-server/dist/tui.js +806 -0
- package/mcp-server/dist/tui.js.map +1 -0
- package/mcp-server/dist/types.d.ts +77 -0
- package/mcp-server/dist/types.d.ts.map +1 -0
- package/mcp-server/dist/types.js +2 -0
- package/mcp-server/dist/types.js.map +1 -0
- package/mcp-server/package-lock.json +4798 -0
- package/mcp-server/package.json +55 -38
- package/mcp-server/run.mjs +12 -2
- package/mcp-server/src/config.ts +48 -3
- package/mcp-server/src/http.ts +296 -93
- package/mcp-server/src/index.ts +546 -203
- package/mcp-server/src/preload-http.ts +19 -18
- package/mcp-server/src/preload.ts +19 -18
- package/mcp-server/src/scripts/setup-embeddings.ts +9 -0
- package/mcp-server/src/services/assistant-judgments.ts +157 -0
- package/mcp-server/src/services/browser-assist-gate.ts +383 -0
- package/mcp-server/src/services/browser-assist.ts +267 -0
- package/mcp-server/src/services/browser-bench.ts +477 -0
- package/mcp-server/src/services/browser-judgments.ts +414 -0
- package/mcp-server/src/services/browser-risk.ts +484 -0
- package/mcp-server/src/services/categories.ts +36 -19
- package/mcp-server/src/services/codex-config-heal.ts +403 -0
- package/mcp-server/src/services/desktop-assist-gate.ts +251 -0
- package/mcp-server/src/services/desktop-assist.ts +308 -0
- package/mcp-server/src/services/desktop-bench.ts +372 -0
- package/mcp-server/src/services/desktop-client.ts +76 -0
- package/mcp-server/src/services/desktop-judgments.ts +218 -0
- package/mcp-server/src/services/desktop-risk.ts +743 -0
- package/mcp-server/src/services/edit-stale.ts +299 -0
- package/mcp-server/src/services/embedding-service.ts +108 -0
- package/mcp-server/src/services/embedding-worker.ts +46 -0
- package/mcp-server/src/services/fb-regions.ts +221 -0
- package/mcp-server/src/services/file-checksums.ts +26 -9
- package/mcp-server/src/services/file-excerpt.ts +59 -0
- package/mcp-server/src/services/identity.ts +291 -0
- package/mcp-server/src/services/local-embeddings.ts +2 -77
- package/mcp-server/src/services/memory-client.ts +23 -0
- package/mcp-server/src/services/memory-judge-backfill.ts +462 -0
- package/mcp-server/src/services/memory-judgments.ts +901 -0
- package/mcp-server/src/services/memory-maintenance.ts +360 -0
- package/mcp-server/src/services/memory-retrieval.ts +349 -0
- package/mcp-server/src/services/memory-schema.ts +280 -0
- package/mcp-server/src/services/memory-sessions.ts +87 -0
- package/mcp-server/src/services/memory-triage.ts +182 -0
- package/mcp-server/src/services/memory-verification.ts +68 -0
- package/mcp-server/src/services/memory-writer.ts +125 -0
- package/mcp-server/src/services/neural-interface.ts +1217 -73
- package/mcp-server/src/services/profiles.ts +428 -0
- package/mcp-server/src/services/secret-gate.ts +52 -0
- package/mcp-server/src/services/server-instructions.ts +122 -0
- package/mcp-server/src/services/sqlite.ts +1456 -823
- package/mcp-server/src/services/typesafe-bench.ts +247 -0
- package/mcp-server/src/services/typesafe-config.ts +790 -0
- package/mcp-server/src/services/typesafe.ts +390 -0
- package/mcp-server/src/services/vector-cache.ts +255 -0
- package/mcp-server/src/services/whiteboard-geometry.ts +711 -0
- package/mcp-server/src/tools/agents.ts +539 -0
- package/mcp-server/src/tools/bluesky.ts +1186 -0
- package/mcp-server/src/tools/browser-advanced.ts +15 -6
- package/mcp-server/src/tools/browser-batch.ts +178 -0
- package/mcp-server/src/tools/browser-cheatsheet.ts +155 -0
- package/mcp-server/src/tools/browser-interact.ts +362 -255
- package/mcp-server/src/tools/browser-navigate.ts +164 -77
- package/mcp-server/src/tools/browser-observe.ts +2222 -1330
- package/mcp-server/src/tools/browser.ts +181 -107
- package/mcp-server/src/tools/card.ts +7 -5
- package/mcp-server/src/tools/choice.ts +103 -0
- package/mcp-server/src/tools/computer.ts +190 -0
- package/mcp-server/src/tools/discord.ts +10 -23
- package/mcp-server/src/tools/fb-groups.ts +387 -0
- package/mcp-server/src/tools/forget.ts +1 -1
- package/mcp-server/src/tools/git.ts +3 -1
- package/mcp-server/src/tools/gsc/experience.ts +440 -0
- package/mcp-server/src/tools/gsc/helpers.ts +288 -0
- package/mcp-server/src/tools/gsc/indexing.ts +495 -0
- package/mcp-server/src/tools/gsc/inspect.ts +391 -0
- package/mcp-server/src/tools/gsc/navigate.ts +236 -0
- package/mcp-server/src/tools/gsc/performance.ts +352 -0
- package/mcp-server/src/tools/gsc/settings.ts +564 -0
- package/mcp-server/src/tools/gsc.ts +95 -0
- package/mcp-server/src/tools/image.ts +3 -1
- package/mcp-server/src/tools/leonardo-browser-tools.ts +47 -37
- package/mcp-server/src/tools/leonardo.ts +7 -5
- package/mcp-server/src/tools/loop.ts +118 -25
- package/mcp-server/src/tools/memories.ts +65 -5
- package/mcp-server/src/tools/morelogin.ts +81 -0
- package/mcp-server/src/tools/profile.ts +122 -0
- package/mcp-server/src/tools/recall.ts +105 -261
- package/mcp-server/src/tools/reflect.ts +171 -145
- package/mcp-server/src/tools/remember.ts +223 -115
- package/mcp-server/src/tools/style-guide-tools.ts +250 -0
- package/mcp-server/src/tools/style-guide.ts +16 -0
- package/mcp-server/src/tools/sync.ts +66 -9
- package/mcp-server/src/tools/tictactoe.ts +3 -1
- package/mcp-server/src/tools/utils.ts +22 -0
- package/mcp-server/src/tools/whiteboard-format.ts +394 -0
- package/mcp-server/src/tools/whiteboard-tools.ts +191 -183
- package/mcp-server/src/tools/whiteboard.ts +7 -5
- package/mcp-server/src/tools/youtube/analytics.ts +106 -0
- package/mcp-server/src/tools/youtube/dedup.ts +57 -0
- package/mcp-server/src/tools/youtube/download.ts +41 -0
- package/mcp-server/src/tools/youtube/helpers.ts +183 -0
- package/mcp-server/src/tools/youtube/media.ts +109 -0
- package/mcp-server/src/tools/youtube/metadata.ts +112 -0
- package/mcp-server/src/tools/youtube/navigate.ts +81 -0
- package/mcp-server/src/tools/youtube/playlist.ts +134 -0
- package/mcp-server/src/tools/youtube/schedule.ts +158 -0
- package/mcp-server/src/tools/youtube/source.ts +101 -0
- package/mcp-server/src/tools/youtube/upload.ts +296 -0
- package/mcp-server/src/tools/youtube.ts +47 -0
- package/mcp-server/src/tui.ts +8 -9
- package/neural-interface/games/TicTacToe/1.svg +1 -0
- package/neural-interface/games/TicTacToe/2.svg +1 -0
- package/neural-interface/games/TicTacToe/3.svg +1 -0
- package/neural-interface/games/TicTacToe/4.svg +1 -0
- package/neural-interface/games/TicTacToe/5.svg +1 -0
- package/neural-interface/games/TicTacToe/6.svg +1 -0
- package/neural-interface/games/TicTacToe/7.svg +1 -0
- package/neural-interface/games/TicTacToe/8.svg +1 -0
- package/neural-interface/games/TicTacToe/9.svg +1 -0
- package/neural-interface/games/TicTacToe/Board.svg +1 -0
- package/neural-interface/games/TicTacToe/Circle.svg +1 -0
- package/neural-interface/games/TicTacToe/Cross.svg +1 -0
- package/neural-interface/i18n/en.json +7022 -0
- package/neural-interface/i18n/pt-BR.json +7026 -0
- package/neural-interface/lib/assistant-api.js +1005 -0
- package/neural-interface/lib/assistant-attachments.js +121 -0
- package/neural-interface/lib/assistant-brains/claude.js +207 -0
- package/neural-interface/lib/assistant-brains/codex-browser-policy-hook.mjs +43 -0
- package/neural-interface/lib/assistant-brains/codex-route-gate-hook.mjs +56 -0
- package/neural-interface/lib/assistant-brains/codex.js +213 -0
- package/neural-interface/lib/assistant-brains/opencode-browser-policy.js +47 -0
- package/neural-interface/lib/assistant-brains/opencode-route-gate.js +62 -0
- package/neural-interface/lib/assistant-brains/opencode.js +320 -0
- package/neural-interface/lib/assistant-budget.js +318 -0
- package/neural-interface/lib/assistant-catalog.js +731 -0
- package/neural-interface/lib/assistant-clarify.js +664 -0
- package/neural-interface/lib/assistant-config.js +232 -0
- package/neural-interface/lib/assistant-dispatch.js +2744 -0
- package/neural-interface/lib/assistant-envelope.js +582 -0
- package/neural-interface/lib/assistant-evidence.js +236 -0
- package/neural-interface/lib/assistant-hidden-models.js +272 -0
- package/neural-interface/lib/assistant-jev.js +117 -0
- package/neural-interface/lib/assistant-judgments.js +111 -0
- package/neural-interface/lib/assistant-media.js +335 -0
- package/neural-interface/lib/assistant-memory.js +398 -0
- package/neural-interface/lib/assistant-persona.js +444 -0
- package/neural-interface/lib/assistant-plan-permissions.js +448 -0
- package/neural-interface/lib/assistant-playbooks/design.md +87 -0
- package/neural-interface/lib/assistant-playbooks.js +72 -0
- package/neural-interface/lib/assistant-pricing.js +159 -0
- package/neural-interface/lib/assistant-route-gate-codex.js +163 -0
- package/neural-interface/lib/assistant-route-gate.js +212 -0
- package/neural-interface/lib/assistant-router.js +1324 -0
- package/neural-interface/lib/assistant-runtime.js +3337 -0
- package/neural-interface/lib/assistant-task-prompt.js +472 -0
- package/neural-interface/lib/assistant-usage.js +1688 -0
- package/neural-interface/lib/augmented-path.js +70 -0
- package/neural-interface/lib/automation-storage-migration.js +54 -0
- package/neural-interface/lib/backup-service.js +851 -0
- package/neural-interface/lib/backup-zip-reader.js +262 -0
- package/neural-interface/lib/browser-assist-api.js +41 -0
- package/neural-interface/lib/browser-console.js +176 -0
- package/neural-interface/lib/browser-execution.js +241 -0
- package/neural-interface/lib/browser-extraction.js +191 -0
- package/neural-interface/lib/browser-language.js +83 -0
- package/neural-interface/lib/browser-screenshot.js +399 -0
- package/neural-interface/lib/browser-semantic-context.js +639 -0
- package/neural-interface/lib/browser-snapshots.js +192 -0
- package/neural-interface/lib/browser-tab-recovery.js +119 -0
- package/neural-interface/lib/browser-targets.js +70 -0
- package/neural-interface/lib/browser-tool-policy.js +926 -0
- package/neural-interface/lib/claude-accounts.js +230 -0
- package/neural-interface/lib/claude-agent-bridge.js +3203 -0
- package/neural-interface/lib/claude-bypass-policy.js +99 -0
- package/neural-interface/lib/claude-executable.js +241 -0
- package/neural-interface/lib/claude-history.js +429 -0
- package/neural-interface/lib/claude-model-catalog.js +444 -0
- package/neural-interface/lib/claude-panel-requests.js +165 -0
- package/neural-interface/lib/claude-panel-session.js +272 -0
- package/neural-interface/lib/claude-permission-rules.js +153 -0
- package/neural-interface/lib/claude-session-cleanup.js +71 -0
- package/neural-interface/lib/claude-session-list.js +82 -0
- package/neural-interface/lib/claude-session-ops.js +140 -0
- package/neural-interface/lib/claude-settings-view.js +51 -0
- package/neural-interface/lib/claude-skin-connect.js +79 -0
- package/neural-interface/lib/claude-stall-policy.js +7 -0
- package/neural-interface/lib/claude-temporary.js +435 -0
- package/neural-interface/lib/cli-update-planner.js +312 -0
- package/neural-interface/lib/codex-capabilities.d.ts +41 -0
- package/neural-interface/lib/codex-capabilities.js +148 -0
- package/neural-interface/lib/codex-collaboration-mode.js +17 -0
- package/neural-interface/lib/codex-compat-rpc.js +241 -0
- package/neural-interface/lib/codex-mcp-approvals.js +56 -0
- package/neural-interface/lib/codex-mcp-apps.js +47 -0
- package/neural-interface/lib/codex-model-context.js +202 -0
- package/neural-interface/lib/codex-plan-store.js +71 -0
- package/neural-interface/lib/codex-request-journal.js +242 -0
- package/neural-interface/lib/codex-runtime-path.js +213 -0
- package/neural-interface/lib/codex-session-catalog.js +231 -0
- package/neural-interface/lib/codex-session-settings.js +46 -0
- package/neural-interface/lib/codex-sidepanel-permissions.js +110 -0
- package/neural-interface/lib/codex-thread-history.js +165 -0
- package/neural-interface/lib/codex-user-verification.js +34 -0
- package/neural-interface/lib/codex-writer-lifecycle.js +152 -0
- package/neural-interface/lib/confined-fs.js +256 -0
- package/neural-interface/lib/db.js +922 -0
- package/neural-interface/lib/design-md.js +9 -0
- package/neural-interface/lib/desktop/api.js +92 -0
- package/neural-interface/lib/desktop/audit.js +62 -0
- package/neural-interface/lib/desktop/build.js +423 -0
- package/neural-interface/lib/desktop/config.js +606 -0
- package/neural-interface/lib/desktop/coords.js +76 -0
- package/neural-interface/lib/desktop/fake-helper.js +1192 -0
- package/neural-interface/lib/desktop/frames.js +77 -0
- package/neural-interface/lib/desktop/grants.js +84 -0
- package/neural-interface/lib/desktop/guards.js +170 -0
- package/neural-interface/lib/desktop/helper/SynabunDesktop.swift +3056 -0
- package/neural-interface/lib/desktop/lease.js +51 -0
- package/neural-interface/lib/desktop/manager.js +545 -0
- package/neural-interface/lib/desktop/press-contexts.js +103 -0
- package/neural-interface/lib/desktop/protocol.js +495 -0
- package/neural-interface/lib/desktop/service.js +1202 -0
- package/neural-interface/lib/effort-levels.js +148 -0
- package/neural-interface/lib/event-loop-monitor.js +67 -0
- package/neural-interface/lib/exec-loop-command.js +209 -0
- package/neural-interface/lib/folder-picker.ps1 +77 -0
- package/neural-interface/lib/http-guards.js +287 -0
- package/neural-interface/lib/jsonl-lines.js +94 -0
- package/neural-interface/lib/loop-logger.js +127 -0
- package/neural-interface/lib/mcp-client-config.js +133 -0
- package/neural-interface/lib/mcp-installer.js +487 -0
- package/neural-interface/lib/mcp-profile-refresh-coordinator.js +78 -0
- package/neural-interface/lib/mcp-profile-servers.js +120 -0
- package/neural-interface/lib/memo-cache.js +84 -0
- package/neural-interface/lib/memory-api.js +758 -0
- package/neural-interface/lib/memory-map-api.js +1150 -0
- package/neural-interface/lib/memory-map-layout.js +872 -0
- package/neural-interface/lib/memory-map-worker.js +165 -0
- package/neural-interface/lib/memory-session-capture.js +81 -0
- package/neural-interface/lib/memory-timers.js +62 -0
- package/neural-interface/lib/morelogin.js +301 -0
- package/neural-interface/lib/native-binary-runtime.js +382 -0
- package/neural-interface/lib/native-loop-goal.js +33 -0
- package/neural-interface/lib/native-loop-providers.js +1002 -0
- package/neural-interface/lib/native-loop-runtime.js +747 -0
- package/neural-interface/lib/offline-page.js +54 -0
- package/neural-interface/lib/opencode-hidden-models.js +113 -0
- package/neural-interface/lib/opencode-history.js +253 -0
- package/neural-interface/lib/opencode-runtime-config.js +58 -0
- package/neural-interface/lib/opencode-v2-client.js +486 -0
- package/neural-interface/lib/opencode-v2-ws-requests.js +955 -0
- package/neural-interface/lib/path-confine.js +213 -0
- package/neural-interface/lib/plugin-installer.js +264 -0
- package/neural-interface/lib/project-storage.js +766 -0
- package/neural-interface/lib/pty-host/core.js +603 -0
- package/neural-interface/lib/pty-host/flow.js +43 -0
- package/neural-interface/lib/pty-host/host.js +47 -0
- package/neural-interface/lib/pty-host/manager.js +360 -0
- package/neural-interface/lib/pty-host/protocol.js +81 -0
- package/neural-interface/lib/pty-host/snapshot.js +133 -0
- package/neural-interface/lib/remote-policy.js +582 -0
- package/neural-interface/lib/rulesets/api.js +175 -0
- package/neural-interface/lib/rulesets/fs-safe.js +245 -0
- package/neural-interface/lib/rulesets/installer.js +1453 -0
- package/neural-interface/lib/rulesets/json-edit.js +186 -0
- package/neural-interface/lib/rulesets/lock.js +170 -0
- package/neural-interface/lib/rulesets/managed-text.js +314 -0
- package/neural-interface/lib/rulesets/normalise.js +24 -0
- package/neural-interface/lib/rulesets/render.js +84 -0
- package/neural-interface/lib/schedule-launch-intent.js +40 -0
- package/neural-interface/lib/session-cache-builder.js +524 -0
- package/neural-interface/lib/session-chunker.js +344 -0
- package/neural-interface/lib/session-indexer.js +327 -0
- package/neural-interface/lib/session-title-generator.js +232 -0
- package/neural-interface/lib/skill-prompt-bridge.js +11 -0
- package/neural-interface/lib/style-guide/api.js +375 -0
- package/neural-interface/lib/style-guide/color.js +352 -0
- package/neural-interface/lib/style-guide/export-css.js +99 -0
- package/neural-interface/lib/style-guide/export-dtcg.js +209 -0
- package/neural-interface/lib/style-guide/export-tailwind.js +102 -0
- package/neural-interface/lib/style-guide/fonts.json +227 -0
- package/neural-interface/lib/style-guide/import.js +1268 -0
- package/neural-interface/lib/style-guide/pointers.js +103 -0
- package/neural-interface/lib/style-guide/presets.js +232 -0
- package/neural-interface/lib/style-guide/render-design-md.js +319 -0
- package/neural-interface/lib/style-guide/schema.js +848 -0
- package/neural-interface/lib/style-guide/security.js +43 -0
- package/neural-interface/lib/style-guide/store.js +491 -0
- package/neural-interface/lib/style-guide/summary.js +106 -0
- package/neural-interface/lib/style-guide/tokens.js +170 -0
- package/neural-interface/lib/synabun-update-plan.js +324 -0
- package/neural-interface/lib/synabun-version.js +179 -0
- package/neural-interface/lib/system-restore.js +99 -0
- package/neural-interface/lib/terminal-env.js +86 -0
- package/neural-interface/lib/ui-blob-store.js +106 -0
- package/neural-interface/lib/vector-cache.js +2 -0
- package/neural-interface/lib/virtual-socket.js +60 -0
- package/neural-interface/lib/whatsapp/api.js +146 -0
- package/neural-interface/lib/whatsapp/auth-store.js +389 -0
- package/neural-interface/lib/whatsapp/baileys-adapter.js +457 -0
- package/neural-interface/lib/whatsapp/brain.js +128 -0
- package/neural-interface/lib/whatsapp/bridge.js +1499 -0
- package/neural-interface/lib/whatsapp/cards.js +519 -0
- package/neural-interface/lib/whatsapp/commands.js +92 -0
- package/neural-interface/lib/whatsapp/config.js +291 -0
- package/neural-interface/lib/whatsapp/connector/entry.mjs +25 -0
- package/neural-interface/lib/whatsapp/connector/manifest.json +6 -0
- package/neural-interface/lib/whatsapp/connector/npm-shrinkwrap.json +717 -0
- package/neural-interface/lib/whatsapp/connector/package.json +8 -0
- package/neural-interface/lib/whatsapp/fake-baileys.js +444 -0
- package/neural-interface/lib/whatsapp/format.js +552 -0
- package/neural-interface/lib/whatsapp/host-core.js +1225 -0
- package/neural-interface/lib/whatsapp/host.js +119 -0
- package/neural-interface/lib/whatsapp/identity.js +288 -0
- package/neural-interface/lib/whatsapp/inbound.js +149 -0
- package/neural-interface/lib/whatsapp/installer.js +562 -0
- package/neural-interface/lib/whatsapp/manager.js +638 -0
- package/neural-interface/lib/whatsapp/paths.js +81 -0
- package/neural-interface/lib/whatsapp/protocol.js +327 -0
- package/neural-interface/lib/whatsapp/qr-svg.js +57 -0
- package/neural-interface/lib/whatsapp/redact.js +130 -0
- package/neural-interface/lib/whatsapp/service.js +1305 -0
- package/neural-interface/lib/whatsapp/vendor/qrcodegen.js +848 -0
- package/neural-interface/package-lock.json +4431 -0
- package/neural-interface/package.json +58 -27
- package/neural-interface/public/apple-touch-icon.png +0 -0
- package/neural-interface/public/category-logos/synabun.png +0 -0
- package/neural-interface/public/claude.svg +1 -0
- package/neural-interface/public/favicon-16x16.png +0 -0
- package/neural-interface/public/favicon-32x32.png +0 -0
- package/neural-interface/public/icon-192.png +0 -0
- package/neural-interface/public/icon-512.png +0 -0
- package/neural-interface/public/index.html +32 -182
- package/neural-interface/public/index2d.html +2 -2
- package/neural-interface/public/install-app.html +31 -0
- package/neural-interface/public/logo-synabun.png +0 -0
- package/neural-interface/public/logoHD.png +0 -0
- package/neural-interface/public/manifest.json +2 -0
- package/neural-interface/public/mcp.svg +4 -0
- package/neural-interface/public/offline.html +670 -299
- package/neural-interface/public/onboarding.html +804 -161
- package/neural-interface/public/opencode-logo-dark-square.svg +1 -0
- package/neural-interface/public/shared/agent-runtime-options.js +596 -0
- package/neural-interface/public/shared/api.js +339 -28
- package/neural-interface/public/shared/assistant/asst-accounts.js +318 -0
- package/neural-interface/public/shared/assistant/asst-agents-dock.js +296 -0
- package/neural-interface/public/shared/assistant/asst-api.js +270 -0
- package/neural-interface/public/shared/assistant/asst-brain-picker.js +744 -0
- package/neural-interface/public/shared/assistant/asst-budget.js +333 -0
- package/neural-interface/public/shared/assistant/asst-composer.js +656 -0
- package/neural-interface/public/shared/assistant/asst-computer.js +803 -0
- package/neural-interface/public/shared/assistant/asst-control.js +1018 -0
- package/neural-interface/public/shared/assistant/asst-hosts.js +262 -0
- package/neural-interface/public/shared/assistant/asst-mascot.js +313 -0
- package/neural-interface/public/shared/assistant/asst-menu.js +375 -0
- package/neural-interface/public/shared/assistant/asst-panel.js +1845 -0
- package/neural-interface/public/shared/assistant/asst-rack-styles.js +586 -0
- package/neural-interface/public/shared/assistant/asst-render.js +3305 -0
- package/neural-interface/public/shared/assistant/asst-route.js +1653 -0
- package/neural-interface/public/shared/assistant/asst-roving.js +75 -0
- package/neural-interface/public/shared/assistant/asst-sanitize.js +117 -0
- package/neural-interface/public/shared/assistant/asst-sidepanel-styles.js +488 -0
- package/neural-interface/public/shared/assistant/asst-sidepanel.js +675 -0
- package/neural-interface/public/shared/assistant/asst-slash.js +258 -0
- package/neural-interface/public/shared/assistant/asst-state.js +727 -0
- package/neural-interface/public/shared/assistant/asst-styles.js +1686 -0
- package/neural-interface/public/shared/assistant/asst-tool-kinds.js +1017 -0
- package/neural-interface/public/shared/assistant/asst-usage.js +444 -0
- package/neural-interface/public/shared/assistant/asst-ws.js +175 -0
- package/neural-interface/public/shared/automation-context.js +75 -0
- package/neural-interface/public/shared/blob-store.js +99 -0
- package/neural-interface/public/shared/cdx/cdx-capabilities.js +118 -0
- package/neural-interface/public/shared/cdx/cdx-cards.js +37 -0
- package/neural-interface/public/shared/cdx/cdx-commands.js +171 -0
- package/neural-interface/public/shared/cdx/cdx-context-menu.js +402 -0
- package/neural-interface/public/shared/cdx/cdx-context-model.js +220 -0
- package/neural-interface/public/shared/cdx/cdx-features.js +408 -0
- package/neural-interface/public/shared/cdx/cdx-icons.js +89 -0
- package/neural-interface/public/shared/cdx/cdx-mcp-app-host.js +414 -0
- package/neural-interface/public/shared/cdx/cdx-mcp-app-proxy.html +6 -0
- package/neural-interface/public/shared/cdx/cdx-mcp-app-proxy.js +56 -0
- package/neural-interface/public/shared/cdx/cdx-mcp-app.js +178 -0
- package/neural-interface/public/shared/cdx/cdx-model-catalog.js +120 -0
- package/neural-interface/public/shared/cdx/cdx-output-model.js +261 -0
- package/neural-interface/public/shared/cdx/cdx-output.js +382 -0
- package/neural-interface/public/shared/cdx/cdx-panel.js +1372 -0
- package/neural-interface/public/shared/cdx/cdx-plan.js +266 -0
- package/neural-interface/public/shared/cdx/cdx-protocol.js +682 -0
- package/neural-interface/public/shared/cdx/cdx-render.js +3381 -0
- package/neural-interface/public/shared/cdx/cdx-requests.js +1136 -0
- package/neural-interface/public/shared/cdx/cdx-styles.js +3251 -0
- package/neural-interface/public/shared/cdx/cdx-tabs.js +7992 -0
- package/neural-interface/public/shared/cdx/cdx-ws.js +363 -0
- package/neural-interface/public/shared/cli-status.js +169 -0
- package/neural-interface/public/shared/command-runner-model.js +30 -0
- package/neural-interface/public/shared/constants.js +22 -5
- package/neural-interface/public/shared/cp/cp-agents.js +186 -0
- package/neural-interface/public/shared/cp/cp-bash.js +252 -0
- package/neural-interface/public/shared/cp/cp-compose.js +159 -0
- package/neural-interface/public/shared/cp/cp-context-menu.js +309 -0
- package/neural-interface/public/shared/cp/cp-context-model.js +157 -0
- package/neural-interface/public/shared/cp/cp-context-window.js +80 -0
- package/neural-interface/public/shared/cp/cp-ctx.js +11 -0
- package/neural-interface/public/shared/cp/cp-diff.js +255 -0
- package/neural-interface/public/shared/cp/cp-event-rows.js +637 -0
- package/neural-interface/public/shared/cp/cp-events.js +846 -0
- package/neural-interface/public/shared/cp/cp-markdown.js +104 -0
- package/neural-interface/public/shared/cp/cp-permission-model.js +905 -0
- package/neural-interface/public/shared/cp/cp-permissions.js +626 -0
- package/neural-interface/public/shared/cp/cp-rehydrate.js +113 -0
- package/neural-interface/public/shared/cp/cp-restore.js +224 -0
- package/neural-interface/public/shared/cp/cp-session-model.js +338 -0
- package/neural-interface/public/shared/cp/cp-session-settings.js +254 -0
- package/neural-interface/public/shared/cp/cp-sessions.js +227 -0
- package/neural-interface/public/shared/cp/cp-statusline.js +153 -0
- package/neural-interface/public/shared/cp/cp-styles.js +349 -0
- package/neural-interface/public/shared/cp/cp-tasks-model.js +282 -0
- package/neural-interface/public/shared/cp/cp-tasks.js +107 -0
- package/neural-interface/public/shared/cp/cp-temporary-view.js +56 -0
- package/neural-interface/public/shared/cp/cp-temporary.js +231 -0
- package/neural-interface/public/shared/cp/cp-tool-cards.js +326 -0
- package/neural-interface/public/shared/cp/cp-tool-results.js +618 -0
- package/neural-interface/public/shared/cp/cp-usage-model.js +124 -0
- package/neural-interface/public/shared/graph-activity.js +68 -0
- package/neural-interface/public/shared/html-shell.js +116 -17
- package/neural-interface/public/shared/i18n.js +132 -34
- package/neural-interface/public/shared/node-positions-store.js +44 -0
- package/neural-interface/public/shared/ocp-hidden-models.js +116 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-approvals.js +355 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-autoaccept-button.js +35 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-automation-ownership.js +72 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-binding.js +280 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-caps.js +67 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-changes-logic.js +179 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-changes.js +164 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-childpanel.js +725 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-compact-button.js +75 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-composer-logic.js +1204 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-confirm-logic.js +117 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-confirm.js +59 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-context-gauge.js +252 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-context-menu.js +478 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-context-model.js +179 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-events.js +233 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-icons.js +30 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-manager.js +1065 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-mention-hints.js +182 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-modelpicker.js +655 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-panel.js +2636 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-plan.js +601 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-profile-inheritance.js +78 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-projectbar.js +649 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-providers.js +35 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-rehydrate.js +357 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-render-logic.js +189 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-render.js +1869 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-select.js +42 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-send-logic.js +117 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-send.js +1714 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-session-actions.js +468 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-session-widgets.js +63 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-sessions-logic.js +366 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-settings-link.js +19 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-slash-hints.js +343 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-state.js +746 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-status-logic.js +347 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-status.js +338 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-styles.js +3543 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-subagents-logic.js +482 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-tools-logic.js +351 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-tools.js +168 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-variantpicker.js +315 -0
- package/neural-interface/public/shared/ocp-v2/ocp-v2-ws.js +545 -0
- package/neural-interface/public/shared/provider-icons.js +30 -0
- package/neural-interface/public/shared/pwa-install-page.js +34 -0
- package/neural-interface/public/shared/pwa-install.css +12 -0
- package/neural-interface/public/shared/pwa-install.js +28 -0
- package/neural-interface/public/shared/session-title.js +100 -0
- package/neural-interface/public/shared/settings/settings-ia.js +389 -0
- package/neural-interface/public/shared/settings/settings-kit.js +234 -0
- package/neural-interface/public/shared/settings/settings-rules.js +160 -0
- package/neural-interface/public/shared/settings/settings-search.js +463 -0
- package/neural-interface/public/shared/settings/settings-shell.js +570 -0
- package/neural-interface/public/shared/start-bridge.js +583 -0
- package/neural-interface/public/shared/state.js +5 -0
- package/neural-interface/public/shared/storage.js +50 -7
- package/neural-interface/public/shared/styleguide/sg-agents.js +42 -0
- package/neural-interface/public/shared/styleguide/sg-brand.js +4 -0
- package/neural-interface/public/shared/styleguide/sg-color-client.js +388 -0
- package/neural-interface/public/shared/styleguide/sg-colors.js +151 -0
- package/neural-interface/public/shared/styleguide/sg-components.js +35 -0
- package/neural-interface/public/shared/styleguide/sg-history.js +41 -0
- package/neural-interface/public/shared/styleguide/sg-icons-logo.js +38 -0
- package/neural-interface/public/shared/styleguide/sg-imagery.js +4 -0
- package/neural-interface/public/shared/styleguide/sg-import-export.js +48 -0
- package/neural-interface/public/shared/styleguide/sg-kit.js +284 -0
- package/neural-interface/public/shared/styleguide/sg-labels.js +318 -0
- package/neural-interface/public/shared/styleguide/sg-layout.js +4 -0
- package/neural-interface/public/shared/styleguide/sg-motion.js +5 -0
- package/neural-interface/public/shared/styleguide/sg-panel.js +237 -0
- package/neural-interface/public/shared/styleguide/sg-preview.js +138 -0
- package/neural-interface/public/shared/styleguide/sg-rules.js +9 -0
- package/neural-interface/public/shared/styleguide/sg-shape.js +24 -0
- package/neural-interface/public/shared/styleguide/sg-state.js +132 -0
- package/neural-interface/public/shared/styleguide/sg-typography.js +125 -0
- package/neural-interface/public/shared/styles.css +8614 -1477
- package/neural-interface/public/shared/synabun-mascot.js +1625 -0
- package/neural-interface/public/shared/synabun-ticker.js +376 -0
- package/neural-interface/public/shared/term-ready.js +307 -0
- package/neural-interface/public/shared/term-renderer.js +343 -0
- package/neural-interface/public/shared/ui-assistant-panel.js +10 -0
- package/neural-interface/public/shared/ui-assistant.js +77 -0
- package/neural-interface/public/shared/ui-automation-studio.js +5105 -3573
- package/neural-interface/public/shared/ui-claude-panel.js +11685 -6333
- package/neural-interface/public/shared/ui-codex-panel.js +12 -0
- package/neural-interface/public/shared/ui-command-runner.js +251 -468
- package/neural-interface/public/shared/ui-cost-widget.js +55 -34
- package/neural-interface/public/shared/ui-detail.js +77 -14
- package/neural-interface/public/shared/ui-explorer.js +360 -181
- package/neural-interface/public/shared/ui-file-explorer.js +485 -107
- package/neural-interface/public/shared/ui-help.js +2 -2
- package/neural-interface/public/shared/ui-image-gallery.js +45 -21
- package/neural-interface/public/shared/ui-judgments.js +1346 -0
- package/neural-interface/public/shared/ui-keybinds.js +3 -2
- package/neural-interface/public/shared/ui-link.js +105 -51
- package/neural-interface/public/shared/ui-loading.js +222 -11
- package/neural-interface/public/shared/ui-memory-maintenance.js +111 -0
- package/neural-interface/public/shared/ui-menubar.js +100 -31
- package/neural-interface/public/shared/ui-native-loop-router-state.js +94 -0
- package/neural-interface/public/shared/ui-native-loop-router.js +493 -0
- package/neural-interface/public/shared/ui-native-window-id.js +7 -0
- package/neural-interface/public/shared/ui-navbar.js +357 -222
- package/neural-interface/public/shared/ui-notifications.js +58 -12
- package/neural-interface/public/shared/ui-opencode-panel-v2.js +17 -0
- package/neural-interface/public/shared/ui-panels.js +15 -7
- package/neural-interface/public/shared/ui-resume.js +823 -653
- package/neural-interface/public/shared/ui-schedule-queue.js +172 -0
- package/neural-interface/public/shared/ui-schedules-studio.js +1882 -0
- package/neural-interface/public/shared/ui-scroll-follow.js +194 -0
- package/neural-interface/public/shared/ui-sessions.js +789 -34
- package/neural-interface/public/shared/ui-settings.js +5774 -2194
- package/neural-interface/public/shared/ui-sidepanel-layout.js +109 -0
- package/neural-interface/public/shared/ui-sidepanel-runtime.js +19 -0
- package/neural-interface/public/shared/ui-sidepanel-session-entry.js +40 -0
- package/neural-interface/public/shared/ui-sidepanel-sessions.js +221 -0
- package/neural-interface/public/shared/ui-sidepanel-state.js +131 -0
- package/neural-interface/public/shared/ui-sidepanel-tray.js +547 -0
- package/neural-interface/public/shared/ui-sidepanel-windows.js +387 -0
- package/neural-interface/public/shared/ui-skills.js +18 -32
- package/neural-interface/public/shared/ui-styleguide.js +35 -0
- package/neural-interface/public/shared/ui-sync.js +87 -0
- package/neural-interface/public/shared/ui-terminal.js +7863 -6385
- package/neural-interface/public/shared/ui-tool-updates.js +292 -0
- package/neural-interface/public/shared/ui-tooltip.js +156 -15
- package/neural-interface/public/shared/ui-tutorial-draw.js +119 -683
- package/neural-interface/public/shared/ui-tutorial-layout.js +135 -0
- package/neural-interface/public/shared/ui-tutorial-steps.js +59 -2209
- package/neural-interface/public/shared/ui-tutorial.css +102 -0
- package/neural-interface/public/shared/ui-tutorial.js +557 -1076
- package/neural-interface/public/shared/ui-update.js +420 -68
- package/neural-interface/public/shared/ui-whatsapp.js +941 -0
- package/neural-interface/public/shared/ui-whiteboard.js +1076 -233
- package/neural-interface/public/shared/ui-workspaces.js +2 -1
- package/neural-interface/public/shared/utils.js +58 -0
- package/neural-interface/public/shared/vterm-buffer.js +15 -5
- package/neural-interface/public/shared/whatsapp/wa-phone.js +65 -0
- package/neural-interface/public/shared/whatsapp/wa-view.js +411 -0
- package/neural-interface/public/sidepanel-session.html +18 -0
- package/neural-interface/public/sw.js +10 -2
- package/neural-interface/public/synabun.png +0 -0
- package/neural-interface/public/variant/2d/graph.js +1707 -1635
- package/neural-interface/public/variant/2d/lasso.js +2 -1
- package/neural-interface/public/variant/2d/layout.js +595 -594
- package/neural-interface/public/variant/2d/main.js +557 -521
- package/neural-interface/public/variant/2d/settings-gfx.js +18 -24
- package/neural-interface/public/variant/3d/main.js +517 -500
- package/neural-interface/public/variant/3d/map-controls.js +144 -0
- package/neural-interface/public/variant/3d/map-data.js +251 -0
- package/neural-interface/public/variant/3d/map-labels.js +241 -0
- package/neural-interface/public/variant/3d/map-pick.js +90 -0
- package/neural-interface/public/variant/3d/map-renderer.js +521 -0
- package/neural-interface/public/variant/3d/map-shaders.js +158 -0
- package/neural-interface/public/variant/3d/map-view.js +618 -0
- package/neural-interface/public/vendor/three/manifest.json +3 -0
- package/neural-interface/public/vendor/three/three-0.169.0.min.js +3844 -0
- package/neural-interface/public/vendor/xterm/manifest.json +3 -0
- package/neural-interface/public/vendor/xterm/xterm-6.0.0.css +285 -0
- package/neural-interface/public/vendor/xterm/xterm-6.0.0.min.js +192 -0
- package/neural-interface/scripts/build-vendor.mjs +64 -0
- package/neural-interface/scripts/codex-protocol-fixture.mjs +83 -0
- package/neural-interface/scripts/rebuild-pty.js +39 -22
- package/neural-interface/scripts/vendor-three-entry.js +24 -0
- package/neural-interface/scripts/vendor-xterm-entry.js +8 -0
- package/neural-interface/server.js +33983 -15000
- package/neural-interface/skins/default/skin.css +90 -0
- package/neural-interface/skins/default/skin.json +8 -0
- package/neural-interface/templates/rulesets/README.md +9 -0
- package/neural-interface/templates/rulesets/claude.md +3 -0
- package/neural-interface/templates/rulesets/codex.md +2 -0
- package/neural-interface/templates/rulesets/coexistence.md +6 -0
- package/neural-interface/templates/rulesets/core.md +26 -0
- package/neural-interface/templates/rulesets/cursor.md +2 -0
- package/neural-interface/templates/rulesets/gemini.md +2 -0
- package/neural-interface/templates/rulesets/legacy-hashes.json +227 -0
- package/neural-interface/templates/rulesets/manifest.json +12 -0
- package/neural-interface/templates/rulesets/opencode.md +2 -0
- package/package.json +131 -53
- package/postinstall.js +55 -26
- package/preuninstall.js +187 -0
- package/scripts/restore-data-home-from-backup.mjs +239 -0
- package/setup.js +872 -260
- package/skills/leonardo/SKILL.md +19 -10
- package/skills/leonardo/modules/image-prompter.md +18 -12
- package/skills/leonardo/modules/video-prompter.md +19 -13
- package/skills/synabun/SKILL.md +209 -185
- package/skills/synabun/icon.png +0 -0
- package/skills/synabun/modules/audit.md +380 -374
- package/skills/synabun/modules/changelog.md +15 -6
- package/skills/synabun/modules/idea.md +148 -144
- package/skills/synabun/modules/memorize.md +13 -4
- package/skills/synabun/modules/schedule.md +198 -0
- package/skills/synabun/synabunicon.png +0 -0
- package/updater.cmd +31 -0
- package/updater.mjs +382 -0
- package/updater.sh +29 -0
- package/hooks/claude-code/test-user-learning.mjs +0 -531
- package/neural-interface/public/claude-chat.css +0 -878
- package/neural-interface/public/claude-chat.html +0 -92
- package/neural-interface/public/claude-chat.js +0 -1168
- package/neural-interface/public/index-legacy.html +0 -14677
- package/neural-interface/public/index2d-legacy.html +0 -8193
- package/neural-interface/public/shared/html-term-renderer.js +0 -1022
- package/neural-interface/public/variant/3d/background.js +0 -884
- package/neural-interface/public/variant/3d/camera.js +0 -661
- package/neural-interface/public/variant/3d/gfx.js +0 -116
- package/neural-interface/public/variant/3d/graph.js +0 -2399
- package/neural-interface/public/variant/3d/settings-gfx.js +0 -228
- package/neural-interface/templates/CLAUDE-template.md +0 -211
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* youtube_upload — upload a local video file to YouTube Studio, set its core
|
|
3
|
+
* metadata, publish at the chosen visibility, and RECORD it to the youtube-videos
|
|
4
|
+
* dedup ledger so the autopilot can never post the same trailer twice.
|
|
5
|
+
*
|
|
6
|
+
* This is the lynchpin: it drives Studio's Create → Upload dialog and uses
|
|
7
|
+
* Playwright setInputFiles on the dialog's hidden <input type="file"> (no API
|
|
8
|
+
* quota / no audit private-lock).
|
|
9
|
+
*
|
|
10
|
+
* Studio is a Polymer app — selectors use stable, locale-independent ids and
|
|
11
|
+
* `name=` attributes (PUBLIC/PRIVATE/SCHEDULE), and success is confirmed by the
|
|
12
|
+
* wizard dialog closing + a resolvable video id, NOT by matching localized UI
|
|
13
|
+
* text (which silently failed on non-English channels and made failed uploads
|
|
14
|
+
* look successful).
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
19
|
+
import * as ni from '../../services/neural-interface.js';
|
|
20
|
+
import { generateEmbedding } from '../../services/local-embeddings.js';
|
|
21
|
+
import { upsertMemory } from '../../services/sqlite.js';
|
|
22
|
+
import { categoryExists, addCategory } from '../../services/categories.js';
|
|
23
|
+
import { detectProject } from '../../config.js';
|
|
24
|
+
import type { MemoryPayload } from '../../types.js';
|
|
25
|
+
import { text } from '../response.js';
|
|
26
|
+
import {
|
|
27
|
+
STUDIO_BASE, resolve, ensureAuth, wait, pollFor, safeNavigate,
|
|
28
|
+
clickStudio, fillStudio, resolveLatestUploadedVideoId, type Resolved,
|
|
29
|
+
} from './helpers.js';
|
|
30
|
+
import { TRAILER_CATEGORY, ledgerTags } from './dedup.js';
|
|
31
|
+
|
|
32
|
+
const tabId = z.string().optional().describe('Target a specific tab. Auto-resolved if omitted.');
|
|
33
|
+
|
|
34
|
+
export const youtubeUploadSchema = {
|
|
35
|
+
filePath: z.string().describe('Absolute path to the local video file (from youtube_download).'),
|
|
36
|
+
title: z.string().describe('Video title (≤100 chars). Studio truncates beyond 100.'),
|
|
37
|
+
description: z.string().optional().describe('Video description (credits, store link, etc.).'),
|
|
38
|
+
tags: z.array(z.string()).optional().describe('Tags/keywords (added under "Show more").'),
|
|
39
|
+
visibility: z.enum(['private', 'unlisted', 'public'] as const).optional().describe('Publish visibility. Default: private (schedule/publish later with youtube_schedule).'),
|
|
40
|
+
madeForKids: z.boolean().optional().describe('COPPA audience flag. Default false (Not made for kids).'),
|
|
41
|
+
// Dedup identity — recorded to the youtube-videos ledger so this trailer is
|
|
42
|
+
// never re-sourced. Pass these straight from the youtube_source candidate.
|
|
43
|
+
game: z.string().optional().describe('Game name (from the youtube_source candidate). Recorded to the youtube-videos dedup ledger.'),
|
|
44
|
+
igdbId: z.number().optional().describe('IGDB id (from youtube_source). Dedup ledger key — pass it whenever known.'),
|
|
45
|
+
appid: z.number().optional().describe('Steam appid (from youtube_source). Dedup ledger key — pass it whenever known.'),
|
|
46
|
+
sourceTrailerId: z.string().optional().describe('The SOURCE trailer YouTube id you downloaded (a youtube_source ytTrailerIds value). Dedup ledger key.'),
|
|
47
|
+
source: z.enum(['steam', 'yt-dlp', 'youtube'] as const).optional().describe('Where the downloaded file came from (recorded for the ledger).'),
|
|
48
|
+
sessionId: z.string().optional(),
|
|
49
|
+
tabId,
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const youtubeUploadDescription =
|
|
53
|
+
'Upload a local video file to YouTube Studio, publish it, and record it to the youtube-videos dedup ledger. ' +
|
|
54
|
+
'Opens Create → Upload, sets the file, fills title/description/tags, advances the wizard, sets visibility, clicks Done, then verifies the wizard closed and resolves the new video id. [mutating — publishes to the channel]. ' +
|
|
55
|
+
'Pass game/igdbId/appid/sourceTrailerId so the upload is remembered and never re-posted. Default visibility=private so you can schedule afterwards with youtube_schedule.';
|
|
56
|
+
|
|
57
|
+
async function ensureOnStudio(r: Resolved): Promise<string | null> {
|
|
58
|
+
const res = await ni.evaluate(r.sessionId, `location.href`, r.tabId);
|
|
59
|
+
const url = String(res.result || '');
|
|
60
|
+
if (/studio\.youtube\.com/.test(url)) return null;
|
|
61
|
+
const nav = await safeNavigate(r, STUDIO_BASE);
|
|
62
|
+
if (nav.error) return `Navigation failed: ${nav.error}`;
|
|
63
|
+
return ensureAuth(r);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** Ensure the dedup-ledger category exists (so it shows in the UI and routing). */
|
|
67
|
+
function ensureTrailerCategory(): void {
|
|
68
|
+
try {
|
|
69
|
+
if (!categoryExists(TRAILER_CATEGORY)) {
|
|
70
|
+
addCategory(
|
|
71
|
+
TRAILER_CATEGORY,
|
|
72
|
+
'One memory per uploaded YouTube trailer — the dedup ledger. Written automatically by youtube_upload; tagged with canonical source ids (igdb:/appid:/ytid:/name:) that youtube_source reads to skip already-posted trailers. Do not store anything else here.',
|
|
73
|
+
categoryExists('social') ? 'social' : undefined,
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
} catch { /* non-fatal — upsertMemory does not require a registered category */ }
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/** Write the dedup-ledger memory for a just-uploaded trailer. Returns the memory id, or null on failure. */
|
|
80
|
+
async function recordTrailerLedger(idy: {
|
|
81
|
+
game?: string;
|
|
82
|
+
igdbId?: number;
|
|
83
|
+
appid?: number;
|
|
84
|
+
sourceTrailerId?: string;
|
|
85
|
+
source?: string;
|
|
86
|
+
videoId: string | null;
|
|
87
|
+
title: string;
|
|
88
|
+
visibility: string;
|
|
89
|
+
}): Promise<string | null> {
|
|
90
|
+
try {
|
|
91
|
+
ensureTrailerCategory();
|
|
92
|
+
const tags = ledgerTags({
|
|
93
|
+
game: idy.game, igdbId: idy.igdbId, appid: idy.appid, sourceTrailerId: idy.sourceTrailerId,
|
|
94
|
+
});
|
|
95
|
+
const parts = [
|
|
96
|
+
idy.game ? `game=${idy.game}` : null,
|
|
97
|
+
idy.igdbId != null ? `igdbId=${idy.igdbId}` : null,
|
|
98
|
+
idy.appid != null ? `appid=${idy.appid}` : null,
|
|
99
|
+
idy.sourceTrailerId ? `sourceTrailerId=${idy.sourceTrailerId}` : null,
|
|
100
|
+
idy.source ? `source=${idy.source}` : null,
|
|
101
|
+
`videoId=${idy.videoId || 'unknown'}`,
|
|
102
|
+
`visibility=${idy.visibility}`,
|
|
103
|
+
].filter(Boolean).join(' | ');
|
|
104
|
+
const content = `YouTube trailer uploaded: ${idy.title} [${parts}]`;
|
|
105
|
+
const now = new Date().toISOString();
|
|
106
|
+
const payload: MemoryPayload = {
|
|
107
|
+
content,
|
|
108
|
+
category: TRAILER_CATEGORY,
|
|
109
|
+
project: detectProject(),
|
|
110
|
+
tags,
|
|
111
|
+
importance: 6,
|
|
112
|
+
source: 'self-discovered',
|
|
113
|
+
created_at: now,
|
|
114
|
+
updated_at: now,
|
|
115
|
+
accessed_at: now,
|
|
116
|
+
access_count: 0,
|
|
117
|
+
};
|
|
118
|
+
const id = uuidv4();
|
|
119
|
+
const vector = await generateEmbedding(content);
|
|
120
|
+
await upsertMemory(id, vector, payload);
|
|
121
|
+
try { ni.invalidateCache('remember', id); } catch { /* fire-and-forget */ }
|
|
122
|
+
return id;
|
|
123
|
+
} catch {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export async function handleYoutubeUpload(args: {
|
|
129
|
+
filePath: string;
|
|
130
|
+
title: string;
|
|
131
|
+
description?: string;
|
|
132
|
+
tags?: string[];
|
|
133
|
+
visibility?: 'private' | 'unlisted' | 'public';
|
|
134
|
+
madeForKids?: boolean;
|
|
135
|
+
game?: string;
|
|
136
|
+
igdbId?: number;
|
|
137
|
+
appid?: number;
|
|
138
|
+
sourceTrailerId?: string;
|
|
139
|
+
source?: 'steam' | 'yt-dlp' | 'youtube';
|
|
140
|
+
sessionId?: string;
|
|
141
|
+
tabId?: string;
|
|
142
|
+
}) {
|
|
143
|
+
const r = await resolve(args.sessionId, args.tabId);
|
|
144
|
+
if ('error' in r) return text(r.error);
|
|
145
|
+
|
|
146
|
+
const onErr = await ensureOnStudio(r);
|
|
147
|
+
if (onErr) return text(onErr);
|
|
148
|
+
|
|
149
|
+
// 1) Open the Create menu → Upload videos.
|
|
150
|
+
// #create-icon is locale-independent in most builds; fall back to aria-label
|
|
151
|
+
// and class-based selectors for PT-BR and other locales where the id is absent.
|
|
152
|
+
let create = await clickStudio(r, '#create-icon', 'Create');
|
|
153
|
+
if (!create.ok) {
|
|
154
|
+
create = await clickStudio(r, 'button[aria-label="Criar"]', 'Criar');
|
|
155
|
+
}
|
|
156
|
+
if (!create.ok) {
|
|
157
|
+
create = await clickStudio(r, 'ytcp-button[class*="CreateIcon"]', 'Criar');
|
|
158
|
+
}
|
|
159
|
+
if (!create.ok) return text(`Could not open the Create menu: ${create.error}`);
|
|
160
|
+
await wait(700);
|
|
161
|
+
// The first item in the create menu is "Upload videos" (PT-BR: "Enviar vídeos").
|
|
162
|
+
const uploadItem = await clickStudio(r, 'tp-yt-paper-item#text-item-0', 'Upload videos');
|
|
163
|
+
if (!uploadItem.ok) {
|
|
164
|
+
// Fallback 1: some Studio builds expose a direct upload button id.
|
|
165
|
+
const alt = await clickStudio(r, '#upload-button', 'Upload videos');
|
|
166
|
+
if (!alt.ok) {
|
|
167
|
+
// Fallback 2: PT-BR locale — click first menuitem by role.
|
|
168
|
+
const altPt = await clickStudio(r, '[role="menuitem"]:first-of-type', 'Enviar vídeos');
|
|
169
|
+
if (!altPt.ok) return text(`Could not find the "Upload videos" menu item: ${uploadItem.error}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// 2) Set the file on the dialog's hidden file input.
|
|
174
|
+
const waitInput = await ni.waitFor(r.sessionId, { selector: 'input[type="file"]', state: 'attached', timeout: 15000 }, r.tabId);
|
|
175
|
+
if (waitInput.error) return text(`Upload dialog did not open: ${waitInput.error}`);
|
|
176
|
+
const up = await ni.upload(r.sessionId, 'input[type="file"]', [args.filePath], undefined, r.tabId);
|
|
177
|
+
if (up.error) return text(`File upload failed: ${up.error}. Check the path exists and is a video file.`);
|
|
178
|
+
|
|
179
|
+
// 3) Wait for the details form (title box) to render.
|
|
180
|
+
const formReady = await ni.waitFor(r.sessionId, { selector: '#title-textarea', state: 'visible', timeout: 30000 }, r.tabId);
|
|
181
|
+
if (formReady.error) return text(`Upload details form did not appear: ${formReady.error}`);
|
|
182
|
+
await wait(800);
|
|
183
|
+
|
|
184
|
+
// 4) Title (clear the auto-filled filename first via fill).
|
|
185
|
+
const titleOk = await fillStudio(r, '#title-textarea #textbox', args.title.slice(0, 100), 'Add a title that describes your video');
|
|
186
|
+
if (!titleOk.ok) return text(`Could not set the title: ${titleOk.error}`);
|
|
187
|
+
|
|
188
|
+
// 5) Description (optional).
|
|
189
|
+
if (args.description) {
|
|
190
|
+
await fillStudio(r, '#description-textarea #textbox', args.description, 'Tell viewers about your video');
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// 6) Tags (optional) — revealed under "Show more". Studio tokenizes a tag on
|
|
194
|
+
// each comma/Enter, so type them one at a time (a single comma-joined blob only
|
|
195
|
+
// commits the last token — the bug that left most tags unset).
|
|
196
|
+
if (args.tags && args.tags.length) {
|
|
197
|
+
await clickStudio(r, '#toggle-button', 'Show more');
|
|
198
|
+
await wait(700);
|
|
199
|
+
for (const tag of args.tags) {
|
|
200
|
+
const t = tag.trim();
|
|
201
|
+
if (!t) continue;
|
|
202
|
+
const typed = await ni.type(r.sessionId, '#tags-container #text-input', `${t},`, undefined, r.tabId, 'Tags', 'insert');
|
|
203
|
+
if (typed.error) break; // tags are optional — never fail the upload over them
|
|
204
|
+
await wait(150);
|
|
205
|
+
}
|
|
206
|
+
await ni.pressKey(r.sessionId, 'Enter', r.tabId);
|
|
207
|
+
await wait(300);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// 7) Audience (made-for-kids). Default: Not made for kids.
|
|
211
|
+
const kidsName = args.madeForKids ? 'VIDEO_MADE_FOR_KIDS_MFK' : 'VIDEO_MADE_FOR_KIDS_NOT_MFK';
|
|
212
|
+
await clickStudio(r, `tp-yt-paper-radio-button[name="${kidsName}"]`, args.madeForKids ? 'Yes, it\'s made for kids' : 'No, it\'s not made for kids');
|
|
213
|
+
await wait(400);
|
|
214
|
+
|
|
215
|
+
// 8) Advance the wizard: Details → Video elements → Checks → Visibility.
|
|
216
|
+
for (let step = 0; step < 3; step++) {
|
|
217
|
+
const next = await clickStudio(r, '#next-button', 'Next');
|
|
218
|
+
if (!next.ok) break;
|
|
219
|
+
await wait(900);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// 9) Visibility radio. Wait for the radio group itself (locale-independent
|
|
223
|
+
// name= attribute, shadow-DOM-pierced by Playwright) rather than localized text.
|
|
224
|
+
const vis = (args.visibility || 'private').toUpperCase();
|
|
225
|
+
const visReady = await ni.waitFor(r.sessionId, { selector: `tp-yt-paper-radio-button[name="${vis}"]`, state: 'visible', timeout: 12000 }, r.tabId);
|
|
226
|
+
if (visReady.error) {
|
|
227
|
+
return text(`Reached the wizard but the visibility step did not render (${visReady.error}). The upload may be incomplete — open Studio → Content and finish/verify before retrying to avoid a duplicate.`);
|
|
228
|
+
}
|
|
229
|
+
const visClick = await clickStudio(r, `tp-yt-paper-radio-button[name="${vis}"]`, vis.charAt(0) + vis.slice(1).toLowerCase());
|
|
230
|
+
if (!visClick.ok) return text(`Could not select visibility ${vis}: ${visClick.error}.`);
|
|
231
|
+
await wait(500);
|
|
232
|
+
|
|
233
|
+
// 10) Publish / Done.
|
|
234
|
+
const done = await clickStudio(r, '#done-button', args.visibility === 'public' ? 'Publish' : 'Save');
|
|
235
|
+
if (!done.ok) return text(`Set metadata but could not click Done/Publish: ${done.error}. Finish manually in the browser panel.`);
|
|
236
|
+
|
|
237
|
+
// 11) Resolve the new video id from the share dialog (freshest source).
|
|
238
|
+
let videoId = await pollFor<string>(
|
|
239
|
+
r,
|
|
240
|
+
`(() => {
|
|
241
|
+
const m = (document.body.innerText || '').match(/youtu\\.be\\/([A-Za-z0-9_-]{6,})/);
|
|
242
|
+
if (m) return m[1];
|
|
243
|
+
const a = Array.from(document.querySelectorAll('a[href*="youtu"]')).map(x => x.href).join(' ');
|
|
244
|
+
const m2 = a.match(/youtu\\.be\\/([A-Za-z0-9_-]{6,})|watch\\?v=([A-Za-z0-9_-]{6,})/);
|
|
245
|
+
return m2 ? (m2[1] || m2[2]) : null;
|
|
246
|
+
})()`,
|
|
247
|
+
9000,
|
|
248
|
+
600,
|
|
249
|
+
);
|
|
250
|
+
|
|
251
|
+
// 12) Confirm the wizard actually finished (dialog closed) — the honest
|
|
252
|
+
// success signal. Don't claim a post that didn't complete.
|
|
253
|
+
const closed = await ni.waitFor(r.sessionId, { selector: '#title-textarea', state: 'hidden', timeout: 12000 }, r.tabId);
|
|
254
|
+
const publishConfirmed = !closed.error;
|
|
255
|
+
|
|
256
|
+
// 13) Fallback id resolution from the content grid (navigates away — only once
|
|
257
|
+
// publishing is confirmed, so the just-uploaded video is the newest row).
|
|
258
|
+
if (!videoId && publishConfirmed) {
|
|
259
|
+
videoId = await resolveLatestUploadedVideoId(r);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
const uploaded = publishConfirmed || !!videoId;
|
|
263
|
+
|
|
264
|
+
// 14) Record the dedup ledger (only on a confirmed upload with an identity —
|
|
265
|
+
// never poison the ledger with a non-upload).
|
|
266
|
+
const hasIdentity = !!(args.game || args.igdbId != null || args.appid != null || args.sourceTrailerId);
|
|
267
|
+
let recordedMemoryId: string | null = null;
|
|
268
|
+
if (uploaded && hasIdentity) {
|
|
269
|
+
recordedMemoryId = await recordTrailerLedger({
|
|
270
|
+
game: args.game,
|
|
271
|
+
igdbId: args.igdbId,
|
|
272
|
+
appid: args.appid,
|
|
273
|
+
sourceTrailerId: args.sourceTrailerId,
|
|
274
|
+
source: args.source,
|
|
275
|
+
videoId: videoId || null,
|
|
276
|
+
title: args.title.slice(0, 100),
|
|
277
|
+
visibility: args.visibility || 'private',
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return text(JSON.stringify({
|
|
282
|
+
uploaded,
|
|
283
|
+
videoId: videoId || null,
|
|
284
|
+
visibility: args.visibility || 'private',
|
|
285
|
+
title: args.title.slice(0, 100),
|
|
286
|
+
recordedMemoryId,
|
|
287
|
+
ledger: recordedMemoryId
|
|
288
|
+
? 'Recorded to youtube-videos (dedup ledger) — youtube_source will skip this trailer from now on.'
|
|
289
|
+
: (hasIdentity
|
|
290
|
+
? 'Upload not confirmed — ledger NOT recorded.'
|
|
291
|
+
: 'No game/igdbId/appid/sourceTrailerId passed — ledger NOT recorded; a future run could re-post this. Pass identity from the youtube_source candidate to enable dedup.'),
|
|
292
|
+
note: !uploaded
|
|
293
|
+
? 'Could not confirm the upload completed (the publish dialog did not close and no video id appeared). Open Studio → Content and verify before retrying to avoid a duplicate.'
|
|
294
|
+
: (videoId ? `Published. Video id ${videoId}.` : 'Published, but could not auto-detect the video id — verify in Studio → Content. Ledger recorded by game id.'),
|
|
295
|
+
}, null, 2));
|
|
296
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* YouTube trailer-automation MCP tool registration barrel.
|
|
3
|
+
*
|
|
4
|
+
* Hybrid: browser automation drives YouTube Studio (upload/publish/metadata/
|
|
5
|
+
* thumbnail/schedule/playlists/end-screens) using the signed-in Google session
|
|
6
|
+
* — avoiding the Data API's unaudited-project private-lock and ~6/day quota —
|
|
7
|
+
* while sourcing (IGDB+Steam), downloading (Steam mp4 / yt-dlp), and read-only
|
|
8
|
+
* analytics delegate to the Neural Interface (/api/sources + /api/youtube).
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
12
|
+
|
|
13
|
+
import { youtubeSourceSchema, youtubeSourceDescription, handleYoutubeSource } from './youtube/source.js';
|
|
14
|
+
import { youtubeDownloadSchema, youtubeDownloadDescription, handleYoutubeDownload } from './youtube/download.js';
|
|
15
|
+
import { youtubeNavigateSchema, youtubeNavigateDescription, handleYoutubeNavigate } from './youtube/navigate.js';
|
|
16
|
+
import { youtubeUploadSchema, youtubeUploadDescription, handleYoutubeUpload } from './youtube/upload.js';
|
|
17
|
+
import { youtubeMetadataSchema, youtubeMetadataDescription, handleYoutubeMetadata } from './youtube/metadata.js';
|
|
18
|
+
import {
|
|
19
|
+
youtubeThumbnailSchema, youtubeThumbnailDescription, handleYoutubeThumbnail,
|
|
20
|
+
youtubeEndscreenSchema, youtubeEndscreenDescription, handleYoutubeEndscreen,
|
|
21
|
+
} from './youtube/media.js';
|
|
22
|
+
import { youtubeScheduleSchema, youtubeScheduleDescription, handleYoutubeSchedule } from './youtube/schedule.js';
|
|
23
|
+
import { youtubePlaylistSchema, youtubePlaylistDescription, handleYoutubePlaylist } from './youtube/playlist.js';
|
|
24
|
+
import {
|
|
25
|
+
youtubeAnalyticsSchema, youtubeAnalyticsDescription, handleYoutubeAnalytics,
|
|
26
|
+
youtubeChannelSchema, youtubeChannelDescription, handleYoutubeChannel,
|
|
27
|
+
} from './youtube/analytics.js';
|
|
28
|
+
|
|
29
|
+
export function registerYoutubeTools(server: McpServer) {
|
|
30
|
+
return [
|
|
31
|
+
// Sourcing + download (delegate to Neural Interface)
|
|
32
|
+
server.tool('youtube_source', youtubeSourceDescription, youtubeSourceSchema, handleYoutubeSource),
|
|
33
|
+
server.tool('youtube_download', youtubeDownloadDescription, youtubeDownloadSchema, handleYoutubeDownload),
|
|
34
|
+
// Studio navigation
|
|
35
|
+
server.tool('youtube_navigate', youtubeNavigateDescription, youtubeNavigateSchema, handleYoutubeNavigate),
|
|
36
|
+
// Publishing (browser)
|
|
37
|
+
server.tool('youtube_upload', youtubeUploadDescription, youtubeUploadSchema, handleYoutubeUpload),
|
|
38
|
+
server.tool('youtube_metadata', youtubeMetadataDescription, youtubeMetadataSchema, handleYoutubeMetadata),
|
|
39
|
+
server.tool('youtube_thumbnail', youtubeThumbnailDescription, youtubeThumbnailSchema, handleYoutubeThumbnail),
|
|
40
|
+
server.tool('youtube_schedule', youtubeScheduleDescription, youtubeScheduleSchema, handleYoutubeSchedule),
|
|
41
|
+
server.tool('youtube_playlist', youtubePlaylistDescription, youtubePlaylistSchema, handleYoutubePlaylist),
|
|
42
|
+
server.tool('youtube_endscreen', youtubeEndscreenDescription, youtubeEndscreenSchema, handleYoutubeEndscreen),
|
|
43
|
+
// Analytics + channel
|
|
44
|
+
server.tool('youtube_analytics', youtubeAnalyticsDescription, youtubeAnalyticsSchema, handleYoutubeAnalytics),
|
|
45
|
+
server.tool('youtube_channel', youtubeChannelDescription, youtubeChannelSchema, handleYoutubeChannel),
|
|
46
|
+
];
|
|
47
|
+
}
|
package/mcp-server/src/tui.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { retrieveMemory } from './services/memory-retrieval.js';
|
|
2
3
|
|
|
3
4
|
// Load .env from parent directory before any service imports
|
|
4
|
-
import { readFileSync } from 'fs';
|
|
5
|
-
import { resolve
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const envPath = process.env.DOTENV_PATH || resolve(__dirname_, '..', '..', '.env');
|
|
5
|
+
import { readFileSync } from 'fs';
|
|
6
|
+
import { resolve } from 'path';
|
|
7
|
+
import { getDataHome } from '../../lib/paths.js';
|
|
8
|
+
|
|
9
|
+
const envPath = process.env.DOTENV_PATH || resolve(getDataHome(), '.env');
|
|
10
10
|
try {
|
|
11
11
|
const envContent = readFileSync(envPath, 'utf-8');
|
|
12
12
|
for (const line of envContent.split('\n')) {
|
|
@@ -560,8 +560,7 @@ async function searchScreen(): Promise<void> {
|
|
|
560
560
|
const filter = must.length > 0 ? { must } : undefined;
|
|
561
561
|
|
|
562
562
|
printSpinner('Generating embedding & searching...');
|
|
563
|
-
const
|
|
564
|
-
const results = await searchMemories(vector, 20, filter, 0.3);
|
|
563
|
+
const { results, engine } = await retrieveMemory({query,limit:20,category:catFilter !== '__all__' ? catFilter : undefined,min_importance:minImpStr !== '' ? Number(minImpStr) : undefined,include_sessions:false});
|
|
565
564
|
|
|
566
565
|
if (results.length === 0) {
|
|
567
566
|
console.log(warn(`\n ${ICONS.cross} No matching memories found.`));
|
|
@@ -578,7 +577,7 @@ async function searchScreen(): Promise<void> {
|
|
|
578
577
|
const choices = results.map(r => {
|
|
579
578
|
const p = r.payload as unknown as MemoryPayload;
|
|
580
579
|
const pct = Math.round(r.score * 100);
|
|
581
|
-
const scoreBar = pct >= 80 ? success(`${pct}%`) : pct >= 50 ? warn(`${pct}%`) : dim(`${pct}%`);
|
|
580
|
+
const scoreBar = engine === 'hybrid' ? dim(`rank ${r.score.toFixed(3)}`) : pct >= 80 ? success(`${pct}%`) : pct >= 50 ? warn(`${pct}%`) : dim(`${pct}%`);
|
|
582
581
|
return {
|
|
583
582
|
name: ` ${scoreBar.padEnd(18)} ${formatMemoryLine(r.id as string, p)}`,
|
|
584
583
|
value: r.id as string,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="87134d96b7"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="8a25c16c71"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="76197fa547"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="92390f0a70"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="1f0b072ef6"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#87134d96b7)"><g clip-path="url(#8a25c16c71)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#1f0b072ef6)"><g clip-path="url(#76197fa547)"><g clip-path="url(#92390f0a70)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 203.265625 0 L 157.203125 0 L 157.203125 -296.21875 C 157.203125 -320.851562 157.960938 -344.164062 159.484375 -366.15625 C 155.503906 -362.175781 151.050781 -358.003906 146.125 -353.640625 C 141.195312 -349.285156 118.644531 -330.804688 78.46875 -298.203125 L 53.4375 -330.609375 L 163.453125 -415.609375 L 203.265625 -415.609375 Z M 203.265625 0 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="85c3d0a970"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="a8dfc50509"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="9b806bb641"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="f086d7a687"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="0c6535ba06"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#85c3d0a970)"><g clip-path="url(#a8dfc50509)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#0c6535ba06)"><g clip-path="url(#9b806bb641)"><g clip-path="url(#f086d7a687)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 301.625 0 L 28.421875 0 L 28.421875 -40.65625 L 137.875 -150.671875 C 171.226562 -184.398438 193.210938 -208.46875 203.828125 -222.875 C 214.441406 -237.28125 222.398438 -251.304688 227.703125 -264.953125 C 233.015625 -278.597656 235.671875 -293.285156 235.671875 -309.015625 C 235.671875 -331.179688 228.941406 -348.753906 215.484375 -361.734375 C 202.023438 -374.722656 183.359375 -381.21875 159.484375 -381.21875 C 142.234375 -381.21875 125.882812 -378.375 110.4375 -372.6875 C 95 -367 77.800781 -356.671875 58.84375 -341.703125 L 33.828125 -373.828125 C 72.109375 -405.660156 113.800781 -421.578125 158.90625 -421.578125 C 197.945312 -421.578125 228.554688 -411.582031 250.734375 -391.59375 C 272.910156 -371.601562 284 -344.738281 284 -311 C 284 -284.65625 276.601562 -258.59375 261.8125 -232.8125 C 247.03125 -207.039062 219.363281 -174.445312 178.8125 -135.03125 L 87.84375 -46.046875 L 87.84375 -43.78125 L 301.625 -43.78125 Z M 301.625 0 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="eef8d1af11"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="016efdb599"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="f75ce63d9c"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="c904511011"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="ad0e9314d0"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#eef8d1af11)"><g clip-path="url(#016efdb599)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#ad0e9314d0)"><g clip-path="url(#f75ce63d9c)"><g clip-path="url(#c904511011)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 285.984375 -317.828125 C 285.984375 -291.296875 278.546875 -269.59375 263.671875 -252.71875 C 248.796875 -235.851562 227.710938 -224.578125 200.421875 -218.890625 L 200.421875 -216.625 C 233.773438 -212.445312 258.503906 -201.832031 274.609375 -184.78125 C 290.722656 -167.726562 298.78125 -145.363281 298.78125 -117.6875 C 298.78125 -78.082031 285.039062 -47.617188 257.5625 -26.296875 C 230.082031 -4.972656 191.039062 5.6875 140.4375 5.6875 C 118.445312 5.6875 98.304688 4.023438 80.015625 0.703125 C 61.734375 -2.609375 43.96875 -8.429688 26.71875 -16.765625 L 26.71875 -61.6875 C 44.726562 -52.78125 63.914062 -46.003906 84.28125 -41.359375 C 104.65625 -36.710938 123.941406 -34.390625 142.140625 -34.390625 C 213.960938 -34.390625 249.875 -62.535156 249.875 -118.828125 C 249.875 -169.242188 210.265625 -194.453125 131.046875 -194.453125 L 90.109375 -194.453125 L 90.109375 -235.09375 L 131.625 -235.09375 C 164.03125 -235.09375 189.707031 -242.25 208.65625 -256.5625 C 227.613281 -270.875 237.09375 -290.726562 237.09375 -316.125 C 237.09375 -336.394531 230.125 -352.3125 216.1875 -363.875 C 202.257812 -375.4375 183.359375 -381.21875 159.484375 -381.21875 C 141.285156 -381.21875 124.128906 -378.753906 108.015625 -373.828125 C 91.910156 -368.898438 73.53125 -359.800781 52.875 -346.53125 L 29 -378.375 C 46.050781 -391.832031 65.710938 -402.394531 87.984375 -410.0625 C 110.253906 -417.738281 133.707031 -421.578125 158.34375 -421.578125 C 198.707031 -421.578125 230.070312 -412.335938 252.4375 -393.859375 C 274.800781 -375.390625 285.984375 -350.046875 285.984375 -317.828125 Z M 285.984375 -317.828125 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="9a447115db"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="7e5fd1e5f0"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="9a71792758"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="a7f404a1f0"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="08f60cbc41"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#9a447115db)"><g clip-path="url(#7e5fd1e5f0)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#08f60cbc41)"><g clip-path="url(#9a71792758)"><g clip-path="url(#a7f404a1f0)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 321.234375 -95.515625 L 259.546875 -95.515625 L 259.546875 0 L 214.34375 0 L 214.34375 -95.515625 L 12.21875 -95.515625 L 12.21875 -136.734375 L 209.515625 -417.890625 L 259.546875 -417.890625 L 259.546875 -138.4375 L 321.234375 -138.4375 Z M 214.34375 -138.4375 L 214.34375 -276.609375 C 214.34375 -303.703125 215.289062 -334.304688 217.1875 -368.421875 L 214.921875 -368.421875 C 205.816406 -350.234375 197.285156 -335.164062 189.328125 -323.21875 L 59.421875 -138.4375 Z M 214.34375 -138.4375 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="f152b9adf7"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="b220944639"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="c8af430f51"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="25a1c60f2f"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="d74cc558d1"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#f152b9adf7)"><g clip-path="url(#b220944639)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#d74cc558d1)"><g clip-path="url(#c8af430f51)"><g clip-path="url(#25a1c60f2f)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 158.34375 -253.859375 C 202.125 -253.859375 236.566406 -243.007812 261.671875 -221.3125 C 286.785156 -199.613281 299.34375 -169.90625 299.34375 -132.1875 C 299.34375 -89.164062 285.648438 -55.429688 258.265625 -30.984375 C 230.878906 -6.535156 193.117188 5.6875 144.984375 5.6875 C 98.171875 5.6875 62.445312 -1.796875 37.8125 -16.765625 L 37.8125 -62.25 C 51.070312 -53.726562 67.554688 -47.050781 87.265625 -42.21875 C 106.984375 -37.382812 126.410156 -34.96875 145.546875 -34.96875 C 178.898438 -34.96875 204.816406 -42.832031 223.296875 -58.5625 C 241.773438 -74.289062 251.015625 -97.03125 251.015625 -126.78125 C 251.015625 -184.78125 215.476562 -213.78125 144.40625 -213.78125 C 126.40625 -213.78125 102.335938 -211.03125 72.203125 -205.53125 L 47.765625 -221.171875 L 63.390625 -415.609375 L 270.0625 -415.609375 L 270.0625 -372.125 L 103.765625 -372.125 L 93.25 -247.328125 C 115.039062 -251.679688 136.738281 -253.859375 158.34375 -253.859375 Z M 158.34375 -253.859375 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="7fea806801"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="aad8395e5b"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="9ec31fa210"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="71c05774f7"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="a8792291d7"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#7fea806801)"><g clip-path="url(#aad8395e5b)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#a8792291d7)"><g clip-path="url(#9ec31fa210)"><g clip-path="url(#71c05774f7)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 33.265625 -177.671875 C 33.265625 -259.359375 49.132812 -320.429688 80.875 -360.890625 C 112.625 -401.347656 159.578125 -421.578125 221.734375 -421.578125 C 243.148438 -421.578125 260.019531 -419.78125 272.34375 -416.1875 L 272.34375 -375.53125 C 257.75 -380.269531 241.070312 -382.640625 222.3125 -382.640625 C 177.769531 -382.640625 143.75 -368.753906 120.25 -340.984375 C 96.75 -313.222656 83.863281 -269.585938 81.59375 -210.078125 L 85 -210.078125 C 105.84375 -242.679688 138.816406 -258.984375 183.921875 -258.984375 C 221.265625 -258.984375 250.691406 -247.703125 272.203125 -225.140625 C 293.710938 -202.585938 304.46875 -171.984375 304.46875 -133.328125 C 304.46875 -90.117188 292.664062 -56.144531 269.0625 -31.40625 C 245.46875 -6.675781 213.582031 5.6875 173.40625 5.6875 C 130.382812 5.6875 96.269531 -10.46875 71.0625 -42.78125 C 45.863281 -75.09375 33.265625 -120.054688 33.265625 -177.671875 Z M 172.84375 -34.390625 C 199.75 -34.390625 220.640625 -42.867188 235.515625 -59.828125 C 250.398438 -76.796875 257.84375 -101.296875 257.84375 -133.328125 C 257.84375 -160.804688 250.925781 -182.410156 237.09375 -198.140625 C 223.257812 -213.867188 202.597656 -221.734375 175.109375 -221.734375 C 158.054688 -221.734375 142.421875 -218.226562 128.203125 -211.21875 C 113.992188 -204.207031 102.671875 -194.539062 94.234375 -182.21875 C 85.804688 -169.90625 81.59375 -157.113281 81.59375 -143.84375 C 81.59375 -124.320312 85.378906 -106.128906 92.953125 -89.265625 C 100.535156 -72.398438 111.289062 -59.035156 125.21875 -49.171875 C 139.15625 -39.316406 155.03125 -34.390625 172.84375 -34.390625 Z M 172.84375 -34.390625 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="7218282613"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="ca31480996"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="51fe3428cb"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="e899ea0740"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="29c9c328f2"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#7218282613)"><g clip-path="url(#ca31480996)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#29c9c328f2)"><g clip-path="url(#51fe3428cb)"><g clip-path="url(#e899ea0740)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 81.015625 0 L 253.296875 -372.125 L 26.71875 -372.125 L 26.71875 -415.609375 L 303.328125 -415.609375 L 303.328125 -377.8125 L 133.328125 0 Z M 81.015625 0 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="f67b92cb13"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="10c4c61aad"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="064a0173a8"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="2f51aa66c8"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="fcf9bee27b"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#f67b92cb13)"><g clip-path="url(#10c4c61aad)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#fcf9bee27b)"><g clip-path="url(#064a0173a8)"><g clip-path="url(#2f51aa66c8)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 166.015625 -421.578125 C 203.921875 -421.578125 233.957031 -412.765625 256.125 -395.140625 C 278.300781 -377.515625 289.390625 -353.164062 289.390625 -322.09375 C 289.390625 -301.625 283.039062 -282.953125 270.34375 -266.078125 C 257.644531 -249.210938 237.367188 -233.863281 209.515625 -220.03125 C 243.242188 -203.925781 267.210938 -187.007812 281.421875 -169.28125 C 295.640625 -151.5625 302.75 -131.046875 302.75 -107.734375 C 302.75 -73.242188 290.710938 -45.71875 266.640625 -25.15625 C 242.578125 -4.59375 209.601562 5.6875 167.71875 5.6875 C 123.375 5.6875 89.257812 -4.023438 65.375 -23.453125 C 41.5 -42.878906 29.5625 -70.40625 29.5625 -106.03125 C 29.5625 -153.601562 58.554688 -190.65625 116.546875 -217.1875 C 90.398438 -231.96875 71.640625 -247.929688 60.265625 -265.078125 C 48.890625 -282.234375 43.203125 -301.425781 43.203125 -322.65625 C 43.203125 -352.789062 54.335938 -376.8125 76.609375 -394.71875 C 98.878906 -412.625 128.679688 -421.578125 166.015625 -421.578125 Z M 76.1875 -104.90625 C 76.1875 -82.15625 84.097656 -64.429688 99.921875 -51.734375 C 115.742188 -39.035156 137.96875 -32.6875 166.59375 -32.6875 C 194.820312 -32.6875 216.800781 -39.316406 232.53125 -52.578125 C 248.269531 -65.847656 256.140625 -84.046875 256.140625 -107.171875 C 256.140625 -125.554688 248.742188 -141.898438 233.953125 -156.203125 C 219.171875 -170.515625 193.398438 -184.398438 156.640625 -197.859375 C 128.398438 -185.734375 107.929688 -172.320312 95.234375 -157.625 C 82.535156 -142.9375 76.1875 -125.363281 76.1875 -104.90625 Z M 165.453125 -383.203125 C 141.765625 -383.203125 123.191406 -377.515625 109.734375 -366.140625 C 96.273438 -354.773438 89.546875 -339.617188 89.546875 -320.671875 C 89.546875 -303.234375 95.132812 -288.257812 106.3125 -275.75 C 117.5 -263.238281 138.160156 -250.726562 168.296875 -238.21875 C 195.390625 -249.59375 214.578125 -261.816406 225.859375 -274.890625 C 237.140625 -287.972656 242.78125 -303.234375 242.78125 -320.671875 C 242.78125 -339.804688 235.90625 -355.007812 222.15625 -366.28125 C 208.414062 -377.5625 189.515625 -383.203125 165.453125 -383.203125 Z M 165.453125 -383.203125 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><g/><clipPath id="5598830ddc"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="983b83b1f3"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="fc3df5bee7"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="a9297c19df"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="c8ef0f41af"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><g clip-path="url(#5598830ddc)"><g clip-path="url(#983b83b1f3)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#c8ef0f41af)"><g clip-path="url(#fc3df5bee7)"><g clip-path="url(#a9297c19df)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g fill="#ffffff" fill-opacity="1"><g transform="translate(208.552728, 601.78387)"><g><path d="M 301.625 -238.21875 C 301.625 -75.613281 238.703125 5.6875 112.859375 5.6875 C 90.867188 5.6875 73.429688 3.789062 60.546875 0 L 60.546875 -40.65625 C 75.710938 -35.726562 92.960938 -33.265625 112.296875 -33.265625 C 157.773438 -33.265625 192.125 -47.332031 215.34375 -75.46875 C 238.5625 -103.613281 251.210938 -146.78125 253.296875 -204.96875 L 249.875 -204.96875 C 239.457031 -189.238281 225.625 -177.25 208.375 -169 C 191.125 -160.757812 171.695312 -156.640625 150.09375 -156.640625 C 113.332031 -156.640625 84.148438 -167.628906 62.546875 -189.609375 C 40.941406 -211.597656 30.140625 -242.300781 30.140625 -281.71875 C 30.140625 -324.925781 42.21875 -359.035156 66.375 -384.046875 C 90.539062 -409.066406 122.332031 -421.578125 161.75 -421.578125 C 189.988281 -421.578125 214.671875 -414.328125 235.796875 -399.828125 C 256.929688 -385.335938 273.1875 -364.207031 284.5625 -336.4375 C 295.9375 -308.675781 301.625 -275.9375 301.625 -238.21875 Z M 161.75 -381.21875 C 134.65625 -381.21875 113.710938 -372.5 98.921875 -355.0625 C 84.140625 -337.625 76.75 -313.363281 76.75 -282.28125 C 76.75 -255 83.570312 -233.539062 97.21875 -217.90625 C 110.863281 -202.269531 131.617188 -194.453125 159.484375 -194.453125 C 176.722656 -194.453125 192.59375 -197.957031 207.09375 -204.96875 C 221.59375 -211.976562 233.007812 -221.546875 241.34375 -233.671875 C 249.6875 -245.804688 253.859375 -258.503906 253.859375 -271.765625 C 253.859375 -291.671875 249.972656 -310.054688 242.203125 -326.921875 C 234.429688 -343.785156 223.582031 -357.050781 209.65625 -366.71875 C 195.726562 -376.382812 179.757812 -381.21875 161.75 -381.21875 Z M 161.75 -381.21875 "/></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="b869ce2b9b"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="5c0cde5d61"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="08d4e1fd17"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="688a80c2c2"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="0954d9e428"><rect x="0" width="3" y="0" height="2"/></clipPath></defs><path fill="#ffffff" d="M 234.25 483.253906 C 232.792969 413.234375 230.539062 324.152344 229.25 257.046875 C 180.371094 255.851562 136.015625 254.613281 106.457031 254.28125 C 88.589844 254.078125 22.863281 257.585938 10.953125 255.496094 C 4.304688 254.328125 -0.00390625 254.53125 6.378906 240.234375 C 6.984375 238.875 7.558594 237.230469 9.257812 237.132812 C 49.117188 234.914062 133.878906 233.773438 228.820312 233.207031 C 228.726562 227.625 228.644531 222.269531 228.570312 217.171875 C 227.324219 129.269531 232.800781 51.265625 243.292969 9.117188 C 245.558594 0.0195312 250.640625 6.609375 252.621094 7.859375 C 272.339844 20.304688 265.601562 29.605469 263.199219 47.023438 C 249.855469 143.753906 257.152344 207.058594 257.035156 233.054688 C 337.632812 232.671875 422.945312 232.65625 492.800781 232.714844 C 494.015625 182.097656 495.308594 135.984375 495.652344 105.519531 C 495.851562 87.589844 492.359375 21.640625 494.441406 9.691406 C 494.746094 7.953125 495.703125 6.167969 496.957031 4.742188 C 497.476562 4.152344 505.929688 3.425781 509.652344 5.097656 C 511.003906 5.707031 512.644531 6.28125 512.738281 7.988281 C 514.984375 48.601562 516.125 135.683594 516.679688 232.734375 C 559.558594 232.78125 594.902344 232.84375 617.175781 232.84375 C 670.308594 232.84375 717.9375 228.933594 741.871094 228.046875 C 743.03125 228 744.199219 227.976562 745.351562 227.96875 C 746.179688 227.964844 746.949219 228.390625 747.386719 229.09375 C 747.820312 229.800781 747.851562 230.683594 747.476562 231.417969 C 746.328125 233.664062 745.054688 235.988281 743.617188 238.246094 C 741.207031 242.039062 738.429688 246.160156 733.519531 246.800781 C 693.277344 252.070312 601.664062 255.898438 516.808594 257.921875 C 517.164062 333.464844 517.199219 413.035156 517.15625 480.167969 C 522.269531 480.097656 527.429688 480.023438 532.636719 479.949219 C 620.238281 478.699219 701.765625 485.769531 744.132812 494.722656 C 749.996094 495.964844 737.101562 511.292969 725.085938 513.125 C 715.257812 514.617188 704.179688 513.953125 699.691406 513.355469 C 691.363281 512.246094 615.636719 511.339844 517.128906 510.53125 C 517.082031 556.535156 517.015625 594.5 517.015625 617.984375 C 517.015625 671.296875 520.914062 715.605469 521.796875 739.617188 C 521.8125 740.011719 521.824219 740.402344 521.835938 740.796875 C 521.871094 742.121094 521.195312 743.367188 520.0625 744.058594 C 519.453125 744.429688 518.765625 744.613281 518.078125 744.601562 C 517.480469 744.59375 516.890625 744.441406 516.351562 744.144531 C 514.78125 743.289062 513.191406 742.371094 511.632812 741.371094 C 507.851562 738.953125 503.742188 736.167969 503.101562 731.238281 C 497.707031 689.761719 493.832031 597.847656 491.863281 510.328125 C 418.484375 509.757812 335.257812 509.230469 258.777344 508.703125 C 259.691406 566.332031 260.945312 614.253906 262.539062 634.152344 C 264.605469 660.066406 257.484375 727.261719 254.769531 736.984375 C 253.824219 740.378906 249.859375 742.214844 245.800781 743.886719 C 244.777344 744.3125 241.738281 746.238281 240.746094 741.183594 C 240.027344 737.546875 239.382812 732.320312 239.039062 728.230469 C 236.40625 696.96875 236.828125 638.921875 235.269531 537.886719 C 235.132812 528.855469 234.957031 519.015625 234.757812 508.535156 C 175.730469 508.121094 121.992188 507.699219 81.679688 507.261719 C 45.597656 506.867188 15.613281 506.03125 11.917969 505.929688 C 6.546875 505.78125 3.21875 504.648438 3.246094 503.105469 C 3.3125 499.53125 15.566406 493.753906 20.449219 492.878906 C 56.214844 486.464844 124.382812 484.566406 234.25 483.253906 Z M 491.265625 480.511719 C 490.761719 451.851562 490.46875 423.679688 490.402344 397.601562 C 490.289062 354.613281 491.140625 305.457031 492.199219 258.457031 C 459.511719 259.101562 427.171875 259.46875 397.546875 259.546875 L 397.542969 259.546875 C 354.121094 259.664062 304.382812 258.78125 256.964844 257.703125 C 256.890625 319.195312 257.371094 406.761719 258.402344 482.980469 C 322.730469 482.289062 399.898438 481.691406 491.265625 480.511719 Z M 491.265625 480.511719 " fill-opacity="1" fill-rule="evenodd"/><g clip-path="url(#b869ce2b9b)"><g clip-path="url(#5c0cde5d61)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#0954d9e428)"><g clip-path="url(#08d4e1fd17)"><g clip-path="url(#688a80c2c2)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="e938ba207c"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="bc6d967173"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="5a1a7aebd2"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="70c92961d2"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="e51ba292c9"><rect x="0" width="3" y="0" height="2"/></clipPath><clipPath id="d0e45946e0"><path d="M 30.734375 46.226562 L 719.234375 46.226562 L 719.234375 703.976562 L 30.734375 703.976562 Z M 30.734375 46.226562 " clip-rule="nonzero"/></clipPath></defs><g clip-path="url(#e938ba207c)"><g clip-path="url(#bc6d967173)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#e51ba292c9)"><g clip-path="url(#5a1a7aebd2)"><g clip-path="url(#70c92961d2)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g clip-path="url(#d0e45946e0)"><path fill="#ffffff" d="M 423.929688 80.527344 C 568.046875 76.570312 693.09375 175.914062 707.097656 321.941406 C 720.792969 202.519531 640.164062 99.234375 526.042969 69.945312 C 386.371094 35.082031 206 75.960938 116.71875 194.289062 C 199.773438 119.726562 313.074219 81.523438 423.929688 80.527344 Z M 371.9375 622.96875 C 512.214844 603.078125 656.371094 511.476562 697.976562 370.695312 C 700.347656 319.371094 689.289062 266.613281 664.410156 221.707031 C 596.132812 94.429688 439.695312 71.207031 310.902344 105.773438 C 214.152344 131.550781 91.359375 191.710938 66.628906 296.996094 C 38.316406 391.054688 69.066406 498.800781 151.285156 555.378906 C 169.441406 569.515625 187.621094 583.609375 206.082031 597.34375 C 257.363281 621.914062 315.765625 629.761719 371.9375 622.96875 Z M 363.722656 692.617188 C 525.398438 695.753906 665.257812 573.191406 692.945312 415.640625 C 618.195312 571.035156 408.429688 673.382812 241.144531 622.585938 C 245.207031 625.402344 249.285156 628.203125 253.382812 630.980469 C 259.144531 634.910156 252.949219 643.957031 247.179688 639.886719 C 224.046875 624.339844 202.53125 606.71875 177.449219 594.363281 C 112.269531 555.664062 61.53125 490.972656 45.394531 416.347656 C 63.917969 574.238281 206.214844 694.398438 363.949219 692.621094 C 363.949219 692.621094 363.722656 692.617188 363.722656 692.617188 Z M 357.992188 703.371094 C 161.453125 701.828125 10.816406 527.703125 32.875 333.308594 C 38.777344 279.027344 49.929688 221.707031 82.777344 176.839844 C 86.714844 171.113281 95.824219 177.296875 91.683594 183.039062 C 82.832031 194.035156 76.234375 206.621094 70.714844 219.558594 C 58.761719 248.105469 51.34375 278.390625 46.605469 308.917969 C 53.542969 278.515625 70.382812 252.246094 84.414062 224.863281 C 113.265625 170.613281 159.664062 126.769531 213.945312 98.394531 C 342.570312 34.210938 517.5625 18.40625 634.742188 114.105469 C 709.976562 174.921875 735.875 280.949219 708.792969 372.191406 C 703.140625 553.546875 541.179688 712.054688 357.992188 703.371094 Z M 357.992188 703.371094 " fill-opacity="1" fill-rule="nonzero"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" zoomAndPan="magnify" viewBox="0 0 750 749.999995" height="1000" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="e1ae3b0b59"><path d="M 0 748.097656 L 2.253906 748.097656 L 2.253906 750 L 0 750 Z M 0 748.097656 " clip-rule="nonzero"/></clipPath><clipPath id="7c525c45cb"><path d="M 1.050781 748.125 C 2.023438 750 0.523438 750.375 0.300781 750.074219 C 0.0742188 749.851562 0.300781 748.5 0.601562 748.273438 C 0.898438 748.050781 1.726562 748.273438 1.949219 748.574219 C 2.175781 748.800781 2.324219 749.25 2.175781 749.550781 C 2.023438 750 0.976562 750.601562 0.449219 750.601562 C 0 750.601562 -0.675781 750.226562 -0.824219 749.851562 C -1.050781 749.476562 -0.375 748.125 -0.375 748.125 " clip-rule="nonzero"/></clipPath><clipPath id="925affccd2"><path d="M 0 0.0976562 L 2.253906 0.0976562 L 2.253906 2 L 0 2 Z M 0 0.0976562 " clip-rule="nonzero"/></clipPath><clipPath id="5ba71c832d"><path d="M 1.050781 0.125 C 2.023438 2 0.523438 2.375 0.300781 2.074219 C 0.0742188 1.851562 0.300781 0.5 0.601562 0.273438 C 0.898438 0.0507812 1.726562 0.273438 1.949219 0.574219 C 2.175781 0.800781 2.324219 1.25 2.175781 1.550781 C 2.023438 2 0.976562 2.601562 0.449219 2.601562 C 0 2.601562 -0.675781 2.226562 -0.824219 1.851562 C -1.050781 1.476562 -0.375 0.125 -0.375 0.125 " clip-rule="nonzero"/></clipPath><clipPath id="04c3fd9717"><rect x="0" width="3" y="0" height="2"/></clipPath><clipPath id="1825a52eae"><path d="M 9.257812 69 L 730 69 L 730 689 L 9.257812 689 Z M 9.257812 69 " clip-rule="nonzero"/></clipPath></defs><g clip-path="url(#e1ae3b0b59)"><g clip-path="url(#7c525c45cb)"><g transform="matrix(1, 0, 0, 1, 0, 748)"><g clip-path="url(#04c3fd9717)"><g clip-path="url(#925affccd2)"><g clip-path="url(#5ba71c832d)"><rect x="-165" width="1080" fill="#000000" height="1079.999992" y="-912.999999" fill-opacity="1"/></g></g></g></g></g></g><g clip-path="url(#1825a52eae)"><path fill="#ffffff" d="M 9.183594 688.808594 C 29.695312 675.519531 72.964844 643.0625 122.71875 605.421875 C 172.472656 567.78125 229.210938 525.523438 291.945312 477.535156 C 354.679688 429.546875 420.304688 372.359375 466.671875 330.996094 C 513.042969 289.636719 538.261719 268 564.402344 245.789062 C 590.546875 223.578125 617.566406 200.730469 645.296875 177.015625 C 673.027344 153.304688 700.988281 128.085938 720.757812 106.570312 C 740.523438 85.054688 722.191406 61.050781 706.929688 72.703125 C 706.929688 72.703125 670.160156 87.949219 639.113281 109.121094 C 608.066406 130.292969 578.753906 152.027344 550.699219 173.6875 C 522.644531 195.347656 495.707031 216.75 469.722656 238.113281 C 443.738281 259.472656 374.527344 321.152344 313.492188 379.183594 C 252.453125 437.21875 200.367188 492.90625 153.085938 541.597656 C 105.808594 590.292969 63.714844 632.421875 45.636719 652.730469 C 9.183594 688.808594 27.5625 673.042969 9.183594 688.808594 Z M 9.183594 688.808594 " fill-opacity="1" fill-rule="nonzero"/></g><path fill="#ffffff" d="M 660.457031 604.332031 C 633.925781 583.019531 579.496094 546.125 527.832031 509.257812 C 476.167969 472.386719 427.183594 435.746094 378.121094 403.910156 C 329.0625 372.070312 281.300781 342.589844 244.460938 319.847656 C 207.617188 297.105469 182.160156 280.679688 159.34375 265.339844 C 136.527344 250 116.289062 235.832031 98.402344 223.054688 C 80.519531 210.273438 64.382812 199.410156 52.070312 192.40625 C 39.757812 185.40625 18.132812 206.492188 24.589844 213.117188 C 24.589844 213.117188 32.25 232.21875 46.867188 248.859375 C 61.480469 265.496094 79.511719 282.183594 100.515625 299.289062 C 121.523438 316.398438 145.332031 334.113281 171.976562 352.5 C 198.617188 370.882812 244.992188 400.894531 294.175781 430.523438 C 343.359375 460.148438 396.214844 488.023438 453.019531 513.492188 C 509.820312 538.960938 568.460938 565.589844 599.792969 576.8125 C 660.457031 604.332031 631.121094 588.035156 660.457031 604.332031 Z M 660.457031 604.332031 " fill-opacity="1" fill-rule="nonzero"/></svg>
|