chore: rename project to clawdbot

This commit is contained in:
Peter Steinberger
2026-01-04 14:32:47 +00:00
parent d48dc71fa4
commit 246adaa119
841 changed files with 4590 additions and 4328 deletions

View File

@@ -17294,7 +17294,7 @@ const cardShadow = isAndroid ? "0 2px 10px rgba(0,0,0,.18)" : "0 10px 30px rgba(
const buttonShadow = isAndroid ? "0 2px 10px rgba(6, 182, 212, 0.14)" : "0 10px 25px rgba(6, 182, 212, 0.18)";
const statusShadow = isAndroid ? "0 2px 10px rgba(0, 0, 0, 0.18)" : "0 10px 24px rgba(0, 0, 0, 0.25)";
const statusBlur = isAndroid ? "10px" : "14px";
const clawdisTheme = {
const clawdbotTheme = {
components: {
AudioPlayer: emptyClasses(),
Button: emptyClasses(),
@@ -17450,7 +17450,7 @@ const clawdisTheme = {
Image: { borderRadius: "12px" }
}
};
var ClawdisA2UIHost = class extends i$6 {
var ClawdbotA2UIHost = class extends i$6 {
static properties = {
surfaces: { state: true },
pendingAction: { state: true },
@@ -17459,7 +17459,7 @@ var ClawdisA2UIHost = class extends i$6 {
#processor = Data.createSignalA2uiMessageProcessor();
#themeProvider = new i$3(this, {
context: themeContext,
initialValue: clawdisTheme
initialValue: clawdbotTheme
});
surfaces = [];
pendingAction = null;
@@ -17472,10 +17472,10 @@ var ClawdisA2UIHost = class extends i$6 {
position: relative;
box-sizing: border-box;
padding:
var(--clawdis-a2ui-inset-top, 0px)
var(--clawdis-a2ui-inset-right, 0px)
var(--clawdis-a2ui-inset-bottom, 0px)
var(--clawdis-a2ui-inset-left, 0px);
var(--clawdbot-a2ui-inset-top, 0px)
var(--clawdbot-a2ui-inset-right, 0px)
var(--clawdbot-a2ui-inset-bottom, 0px)
var(--clawdbot-a2ui-inset-left, 0px);
}
#surfaces {
@@ -17484,14 +17484,14 @@ var ClawdisA2UIHost = class extends i$6 {
gap: 12px;
height: 100%;
overflow: auto;
padding-bottom: var(--clawdis-a2ui-scroll-pad-bottom, 0px);
padding-bottom: var(--clawdbot-a2ui-scroll-pad-bottom, 0px);
}
.status {
position: absolute;
left: 50%;
transform: translateX(-50%);
top: var(--clawdis-a2ui-status-top, 12px);
top: var(--clawdbot-a2ui-status-top, 12px);
display: inline-flex;
align-items: center;
gap: 8px;
@@ -17512,7 +17512,7 @@ var ClawdisA2UIHost = class extends i$6 {
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: var(--clawdis-a2ui-toast-bottom, 12px);
bottom: var(--clawdbot-a2ui-toast-bottom, 12px);
display: inline-flex;
align-items: center;
gap: 8px;
@@ -17538,7 +17538,7 @@ var ClawdisA2UIHost = class extends i$6 {
position: absolute;
left: 50%;
transform: translateX(-50%);
top: var(--clawdis-a2ui-empty-top, var(--clawdis-a2ui-status-top, 12px));
top: var(--clawdbot-a2ui-empty-top, var(--clawdbot-a2ui-status-top, 12px));
text-align: center;
opacity: 0.8;
padding: 10px 12px;
@@ -17570,20 +17570,20 @@ var ClawdisA2UIHost = class extends i$6 {
`;
connectedCallback() {
super.connectedCallback();
globalThis.clawdisA2UI = {
globalThis.clawdbotA2UI = {
applyMessages: (messages) => this.applyMessages(messages),
reset: () => this.reset(),
getSurfaces: () => Array.from(this.#processor.getSurfaces().keys())
};
this.addEventListener("a2uiaction", (evt) => this.#handleA2UIAction(evt));
this.#statusListener = (evt) => this.#handleActionStatus(evt);
globalThis.addEventListener("clawdis:a2ui-action-status", this.#statusListener);
globalThis.addEventListener("clawdbot:a2ui-action-status", this.#statusListener);
this.#syncSurfaces();
}
disconnectedCallback() {
super.disconnectedCallback();
if (this.#statusListener) {
globalThis.removeEventListener("clawdis:a2ui-action-status", this.#statusListener);
globalThis.removeEventListener("clawdbot:a2ui-action-status", this.#statusListener);
this.#statusListener = null;
}
}
@@ -17688,11 +17688,11 @@ var ClawdisA2UIHost = class extends i$6 {
timestamp: new Date().toISOString(),
...Object.keys(context).length ? { context } : {}
};
globalThis.__clawdisLastA2UIAction = userAction;
const handler = globalThis.webkit?.messageHandlers?.clawdisCanvasA2UIAction ?? globalThis.clawdisCanvasA2UIAction;
globalThis.__clawdbotLastA2UIAction = userAction;
const handler = globalThis.webkit?.messageHandlers?.clawdbotCanvasA2UIAction ?? globalThis.clawdbotCanvasA2UIAction;
if (handler?.postMessage) {
try {
if (handler === globalThis.clawdisCanvasA2UIAction) {
if (handler === globalThis.clawdbotCanvasA2UIAction) {
handler.postMessage(JSON.stringify({ userAction }));
} else {
handler.postMessage({ userAction });
@@ -17765,4 +17765,4 @@ var ClawdisA2UIHost = class extends i$6 {
</section>`;
}
};
customElements.define("clawdis-a2ui-host", ClawdisA2UIHost);
customElements.define("clawdbot-a2ui-host", ClawdbotA2UIHost);

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Clawdis Canvas</title>
<title>Clawdbot Canvas</title>
<script>
(() => {
try {
@@ -57,7 +57,7 @@
backface-visibility: hidden;
opacity: 0.45;
pointer-events: none;
animation: clawdis-grid-drift 140s ease-in-out infinite alternate;
animation: clawdbot-grid-drift 140s ease-in-out infinite alternate;
}
:root[data-platform="android"] body::before { opacity: 0.80; }
body::after {
@@ -75,7 +75,7 @@
backface-visibility: hidden;
transform: translate3d(0,0,0);
pointer-events: none;
animation: clawdis-glow-drift 110s ease-in-out infinite alternate;
animation: clawdbot-glow-drift 110s ease-in-out infinite alternate;
}
:root[data-platform="android"] body::after { opacity: 0.85; }
@supports (mix-blend-mode: screen) {
@@ -84,12 +84,12 @@
@supports not (mix-blend-mode: screen) {
body::after { opacity: 0.70; }
}
@keyframes clawdis-grid-drift {
@keyframes clawdbot-grid-drift {
0% { transform: translate3d(-12px, 8px, 0) rotate(-7deg); opacity: 0.40; }
50% { transform: translate3d( 10px,-7px, 0) rotate(-6.6deg); opacity: 0.56; }
100% { transform: translate3d(-8px, 6px, 0) rotate(-7.2deg); opacity: 0.42; }
}
@keyframes clawdis-glow-drift {
@keyframes clawdbot-glow-drift {
0% { transform: translate3d(-18px, 12px, 0) scale(1.02); opacity: 0.40; }
50% { transform: translate3d( 14px,-10px, 0) scale(1.05); opacity: 0.52; }
100% { transform: translate3d(-10px, 8px, 0) scale(1.03); opacity: 0.43; }
@@ -103,14 +103,14 @@
touch-action: none;
z-index: 1;
}
:root[data-platform="android"] #clawdis-canvas {
:root[data-platform="android"] #clawdbot-canvas {
background:
radial-gradient(1100px 800px at 20% 15%, rgba(42, 113, 255, 0.78), rgba(0,0,0,0) 58%),
radial-gradient(900px 650px at 82% 28%, rgba(255, 0, 138, 0.66), rgba(0,0,0,0) 62%),
radial-gradient(1000px 900px at 60% 88%, rgba(0, 209, 255, 0.58), rgba(0,0,0,0) 62%),
#141c33;
}
#clawdis-status {
#clawdbot-status {
position: fixed;
inset: 0;
display: none;
@@ -122,7 +122,7 @@
pointer-events: none;
z-index: 3;
}
#clawdis-status .card {
#clawdbot-status .card {
width: min(560px, 88vw);
text-align: left;
padding: 14px 16px 12px;
@@ -134,52 +134,52 @@
-webkit-backdrop-filter: blur(18px) saturate(140%);
backdrop-filter: blur(18px) saturate(140%);
}
#clawdis-status .title {
#clawdbot-status .title {
font: 600 12px/1.2 -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;
letter-spacing: 0.45px;
text-transform: uppercase;
color: rgba(255,255,255,0.7);
}
#clawdis-status .subtitle {
#clawdbot-status .subtitle {
margin-top: 8px;
font: 500 13px/1.45 -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;
color: rgba(255,255,255,0.9);
white-space: pre-wrap;
overflow-wrap: anywhere;
}
clawdis-a2ui-host {
clawdbot-a2ui-host {
display: block;
height: 100%;
position: fixed;
inset: 0;
z-index: 4;
--clawdis-a2ui-inset-top: 28px;
--clawdis-a2ui-inset-right: 0px;
--clawdis-a2ui-inset-bottom: 0px;
--clawdis-a2ui-inset-left: 0px;
--clawdis-a2ui-scroll-pad-bottom: 0px;
--clawdis-a2ui-status-top: calc(50% - 18px);
--clawdis-a2ui-empty-top: 18px;
--clawdbot-a2ui-inset-top: 28px;
--clawdbot-a2ui-inset-right: 0px;
--clawdbot-a2ui-inset-bottom: 0px;
--clawdbot-a2ui-inset-left: 0px;
--clawdbot-a2ui-scroll-pad-bottom: 0px;
--clawdbot-a2ui-status-top: calc(50% - 18px);
--clawdbot-a2ui-empty-top: 18px;
}
</style>
</head>
<body>
<canvas id="clawdis-canvas"></canvas>
<div id="clawdis-status">
<canvas id="clawdbot-canvas"></canvas>
<div id="clawdbot-status">
<div class="card">
<div class="title" id="clawdis-status-title">Ready</div>
<div class="subtitle" id="clawdis-status-subtitle">Waiting for agent</div>
<div class="title" id="clawdbot-status-title">Ready</div>
<div class="subtitle" id="clawdbot-status-subtitle">Waiting for agent</div>
</div>
</div>
<clawdis-a2ui-host></clawdis-a2ui-host>
<clawdbot-a2ui-host></clawdbot-a2ui-host>
<script src="a2ui.bundle.js"></script>
<script>
(() => {
const canvas = document.getElementById('clawdis-canvas');
const canvas = document.getElementById('clawdbot-canvas');
const ctx = canvas.getContext('2d');
const statusEl = document.getElementById('clawdis-status');
const titleEl = document.getElementById('clawdis-status-title');
const subtitleEl = document.getElementById('clawdis-status-subtitle');
const statusEl = document.getElementById('clawdbot-status');
const titleEl = document.getElementById('clawdbot-status-title');
const subtitleEl = document.getElementById('clawdbot-status-subtitle');
const debugStatusEnabledByQuery = (() => {
try {
const params = new URLSearchParams(window.location.search);
@@ -217,7 +217,7 @@
statusEl.style.display = 'none';
}
window.__clawdis = {
window.__clawdbot = {
canvas,
ctx,
setDebugStatusEnabled,