Commit c2750bc
Session native redesign (#404)
* New session logic revamp
* UI update for chat session update
* Added end turn action
* remove GUI mode entirely
* session improvement on ui and prompt
* trigger aggregation update
* trigger aggregation update and fix idempotency guard issue, turn it off for now
* Session UI iteration: always-Working live row, chunked activity view, reply-to-bubble, activity restore, title fallback, run-end flicker fix
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Session update
* remove task end action and ui fix
* UI fixes for session revamp
* Fix: requestChatHistory applied message limit per session, correct loading
* Revert "Fix: requestChatHistory applied message limit per session, correct loading"
This reverts commit abf402f.
* fix cached tokens and percentage calculator
* new tokens command and fix on token calculation
* Livingui redesign (#399)
* Living UI V2: replace FastAPI/Vite system with PocketBase + vendored-kit platform
- New standalone living-ui-v2/ workspace: versioned React kit (realtime PB
hooks, theme packs, console relay), project blueprint, and `lui` CLI
(create/validate/dev/kit-sync/pb/ops/run/data/verify/probe)
- Validation gate: types, build, migrations-on-fresh-db, ops manifest,
ownership hashes — with source-annotated errors and a same-error breaker
- walk_verify sub-agent: drives the running app in a real browser
(playwright MCP) and blocks launch on observed defects (PR #388 contract)
- Manager/actions rewritten for single-process PB apps; V1 template,
importer, and sidecar removed; ZIP import is deterministic code
- Creation wizard (layout/theme/reference files), option-chip QnA,
session handoff, spec suite under living-ui-v2/spec/
* Add form and QnA workflow, some UI update
* Theme fix
* Living UI: shadcn-conventional kit APIs + approved npm dependency gate
* living UI building visualizer
* living UI visual update during creation
* separate walk verify + headless browser
* living UI import
* Add more ShadCN compatible UI component
* allow installing any npm
* auth fix
* fix cli issue
* Fix: Hide terminal pop ups
* Fix: Revert dev branch for living ui repo URL
* Fix: Chat panel shows after installing Living UI for the first time
* Fix: Include sessionId in both places that broadcast living_ui_ready
* Fix: Make ensure_project_session() checks non-fatal
* Fix: Assign env vars for callLLM() for Living UIs
* Revert changes Living UI marketplace links
* Error Catalogue revamp. �gent_core/core/errors.py provides new shared error formatting and cataloguing. Add immediate aborting of AUTH/CREDIT/QUOTA/MODEL/BLOCKED/BAD_REQUEST errors instead of silent retries.
* Fix: Ensure no consecutive errors, revert system error changes
* Add A2APP — make agent writes to Living UIs verifiable
An agent asked to "add a todo for tomorrow" wrote due_date: "tomorrow".
PocketBase returned 200, stored an empty string, and the agent told the
user it was scheduled. It had to guess what the app contained, the write
silently failed, and nothing stopped it claiming otherwise.
All three are now handled in the app, so any agent benefits — verified by
driving an app with curl alone, after deleting .superuser.
In the app (new pb_hooks, adapter 1.6.0):
- describe: entities, protocol types, conventions, from the live schema
- identity: PocketBase answers 200 for unknown paths, so an "a2app"
marker is the only reliable probe
- write guard as router middleware, not a record hook — PocketBase
coerces first, after which "tomorrow" and "" are indistinguishable
- read-back backstop; errors carry a code and list every violation
- origin guard, agent token, ops auth, rate limits, idempotency
In the CLI:
- reads describe, not PocketBase's superuser-only admin endpoint, so it
holds no privilege an outside agent lacks
- resolves dates and labels client-side, where a clock and Intl exist
- adapter-sync ships hooks without re-vendoring the kit
- a valueless --flag now errors instead of becoming `true`
- gate rejects e.app inside runInTransaction, which deadlocks the process
while /api/health still returns 200
In CraftBot:
- the system reports what changed, from the stored record; a false claim
is withheld and handed back rather than corrected in front of the user
- the data model is inlined into the prompt — three attempts became one
- skills load per run, so operating an app no longer carries the build
recipe that rebuilt a live app after one row insert
- integration bridge: capability gate, destination allowlist, no redirects
adapter-sync runs at create, install, import and launch — launch is the
only path reaching an app a user already had.
Adds spec/OVERVIEW.md and scripts/a2app-selfcheck.sh (21 checks).
* lint fixes
* Split error messages into two presentation tiers based level of important + Fix Chat persistency
* Fix: Testing and edge case fixes (blocked content error, NoneType crashes)
* Improvement: Sync test between ErrorCategory and ERROR_CATEGORY_STYLE
* Port error catalogue to Provider interfaces (embedding interface, image gen, video gen, factory + plan migration to actions, browser_adapter, CLI commands
* Add the Factory — deterministic build orchestration for weak models
Weak models write code well but manage themselves badly: 26 logged builds,
and every failure was self-management — churning on one dead end, fabricating
causes where evidence was blank, shrinking "email me" into "logs it",
announcing success after failed verification, or quitting unnoticed.
The model keeps the hands; this takes away the clipboard.
- app/factory: stdlib-pure Machine (persisted arc, 3×/12 retry caps,
escalation, redispatch-on-surrender, honest stuck reports), defect cards
(cause = quoted evidence or "unknown" — theories unrepresentable), build
graph as a pure transition (only a parsed PASS reaches done), distiller,
cookbooks (one generic callAction pattern + dry-run param discovery, email
as the proven worked example), CraftBot host adapter; layering lint +
3 test suites incl. replays of two real incidents.
- Fix missions are fresh runs carrying cards; ready/stuck messages are
machine-composed — agent-authored status is retired.
- Evidence everywhere the platform was silent: gate stderr, response bodies,
refused-request URLs, boot-log excerpts, handler exceptions, migrate-hang
kills, pre-boot migration-rename check, CLI error.cause unwrapping.
- Integrations: bridge action endpoint runs CraftBot's own implementations
(send_gmail, semantic params), grants derived from code by the gate,
irreversible-confirm + dry-run; omitted `to` = account owner — apps never
hold identity. Wizard offers marketplace matches; capability map injected.
- Verifier: full spec coverage required, value plausibility, fail-closed
verdict parsing.
* Removed false claim gate
---------
Co-authored-by: CraftBot <craftbot@craftbot.dev>
Co-authored-by: Tobias Garcia <iguana3000tg@gmail.com>
Co-authored-by: イツミネ <tham_yikfoong@outlook.com>
* expose raw_input in /tokens data
Input is displayed as input - cached, which is lossy; include the
pre-subtraction value for debugging and event consumers.
* Fixed Uneven Ratio Bar, All Ratios add to 100% and Bar Displays Input, Output and Cached
* Fix living UI data update flashing issue
* Fix working status issue
* minor side panel UI update
* show event summarization in chat session
* fix chat session naming issue
* Living UI Workflows + DB Snapshot
* Add force-stop for in-flight runs (#403)
Co-authored-by: CraftBot <craftbot@craftbot.dev>
* CraftBot version on marketplace apps
* Fix whatsapp issue
* Version Change
---------
Co-authored-by: CraftBot <craftbot@craftbot.dev>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Tobias Garcia <iguana3000tg@gmail.com>
Co-authored-by: イツミネ <tham_yikfoong@outlook.com>
Co-authored-by: AlanAAG <alanayalag@gmail.com>
Co-authored-by: RooberSmoth <96537304+RooberSmoth@users.noreply.github.com>1 parent 9fcab95 commit c2750bc
489 files changed
Lines changed: 41940 additions & 35446 deletions
File tree
- .github/workflows
- agent_core
- core
- event_stream
- hooks
- impl
- action
- context
- event_stream
- image_gen
- llm
- memory
- onboarding
- session
- task
- trigger
- video_gen
- vlm
- workflow_lock
- models
- prompts
- protocols
- registry
- session
- state
- task
- agent_file_system
- app
- cli
- config
- data
- action
- integrations
- discord
- google_workspace
- hubspot
- lark
- linkedin
- notion
- outlook
- stripe
- telegram
- agent_file_system_template
- living_ui_modules/auth
- backend
- tests
- frontend
- living_ui_sidecar
- living_ui_template
- backend
- services
- tests
- config
- frontend
- components
- ui
- services
- styles
- pb_hooks
- errors
- factory
- appfactory
- cookbooks
- engine
- gui
- custom-cont-init.d
- i18n
- living_ui
- llm
- memory
- onboarding/soft
- scheduler
- security
- session
- state
- subagent
- definitions
- task
- todo
- triggers
- ui_layer
- adapters
- browser/frontend
- .vite/deps_temp_8275529b
- src
- components
- Chat
- activity
- layout
- ui
- constants
- contexts
- hooks
- pages
- Chat
- Dashboard
- LivingUI
- Onboarding
- Screen
- Settings
- Tasks
- actionRenderers
- Workspace
- store
- selectors
- slices
- types
- utils
- commands
- builtin
- components
- Mascot
- controller
- events
- metrics
- settings
- state
- themes
- usage
- utils
- craftos_integrations/integrations
- gmail
- whatsapp_web
- diagnostic/environments
- living-ui-v2
- blueprint
- frontend
- src
- app
- kit
- pb
- pb_hooks
- pb_migrations
- docs
- examples
- kit
- src
- components
- lib
- pb
- shell
- theme
- scripts
- spec
- tools
- src
- commands
- lib
- mkdocs
- docs
- core/commands
- reference
- scripts
- skills
- craftbot-skill-creator
- craftbot-skill-improve
- day-planner
- heartbeat-processor
- living-ui-creator
- references
- living-ui-importer
- living-ui-manager
- living-ui-modify
- memory-processor
- month-planner
- user-profile-interview
- week-planner
- tests
- e2e
- _harness
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
| 62 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | 15 | | |
17 | 16 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | 19 | | |
21 | 20 | | |
22 | 21 | | |
| |||
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
37 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
38 | 43 | | |
39 | 44 | | |
40 | 45 | | |
| |||
113 | 118 | | |
114 | 119 | | |
115 | 120 | | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
120 | 125 | | |
121 | 126 | | |
122 | 127 | | |
| |||
125 | 130 | | |
126 | 131 | | |
127 | 132 | | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | 133 | | |
133 | 134 | | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | 135 | | |
138 | 136 | | |
139 | 137 | | |
| |||
152 | 150 | | |
153 | 151 | | |
154 | 152 | | |
155 | | - | |
156 | 153 | | |
157 | 154 | | |
158 | 155 | | |
159 | 156 | | |
160 | 157 | | |
161 | 158 | | |
162 | | - | |
163 | 159 | | |
164 | 160 | | |
165 | | - | |
166 | | - | |
| 161 | + | |
167 | 162 | | |
168 | 163 | | |
169 | 164 | | |
| |||
180 | 175 | | |
181 | 176 | | |
182 | 177 | | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | 178 | | |
188 | 179 | | |
189 | 180 | | |
190 | 181 | | |
191 | 182 | | |
192 | 183 | | |
193 | 184 | | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | 185 | | |
206 | 186 | | |
207 | 187 | | |
| |||
259 | 239 | | |
260 | 240 | | |
261 | 241 | | |
262 | | - | |
263 | 242 | | |
264 | 243 | | |
265 | 244 | | |
| |||
300 | 279 | | |
301 | 280 | | |
302 | 281 | | |
303 | | - | |
304 | | - | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
305 | 285 | | |
306 | 286 | | |
| 287 | + | |
307 | 288 | | |
308 | 289 | | |
309 | 290 | | |
| |||
354 | 335 | | |
355 | 336 | | |
356 | 337 | | |
357 | | - | |
358 | | - | |
359 | | - | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
360 | 341 | | |
361 | 342 | | |
362 | 343 | | |
363 | 344 | | |
364 | 345 | | |
365 | 346 | | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | 347 | | |
370 | 348 | | |
371 | 349 | | |
372 | 350 | | |
373 | 351 | | |
374 | | - | |
375 | 352 | | |
376 | 353 | | |
377 | 354 | | |
378 | 355 | | |
379 | | - | |
380 | 356 | | |
381 | | - | |
382 | | - | |
| 357 | + | |
| 358 | + | |
383 | 359 | | |
384 | 360 | | |
385 | 361 | | |
| |||
391 | 367 | | |
392 | 368 | | |
393 | 369 | | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | 370 | | |
399 | 371 | | |
400 | 372 | | |
401 | 373 | | |
402 | 374 | | |
403 | 375 | | |
404 | 376 | | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | 377 | | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | 378 | | |
421 | 379 | | |
422 | 380 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
16 | 22 | | |
17 | 23 | | |
18 | 24 | | |
| |||
55 | 61 | | |
56 | 62 | | |
57 | 63 | | |
58 | | - | |
59 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
60 | 67 | | |
61 | 68 | | |
| 69 | + | |
62 | 70 | | |
63 | 71 | | |
64 | 72 | | |
| |||
0 commit comments