Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Nov 26, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

seefeldb and others added 3 commits November 25, 2025 13:45
* feat(api): redesign wish API to support structured params

Add new object-based wish interface with WishParams type that accepts:
- tag: the wish target key
- path: array of path segments
- context: additional context data
- scope: array of scope strings

The new interface returns WishState<T> with result, error, and UI fields
instead of returning the result directly.

Maintains backward compatibility with the legacy string-based interface,
which is marked for removal in mid December 2025.

* test(runner): add tests for object-based wish syntax

Add 7 new tests covering the new WishParams interface:
- resolves allCharms using tag parameter
- resolves nested paths using tag and path parameters
- resolves space cell using / tag
- resolves space cell subpaths using / tag with path
- returns current timestamp via #now tag
- returns empty object for unknown tag
- returns empty object when tag is missing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

* refactor(runner): use exceptions for wish error handling

Replace undefined returns with WishError exceptions in parseWishTarget,
resolveBase, and resolveWishTarget. This simplifies control flow by using
try/catch instead of checking for undefined at each step.

Errors are now logged once in the catch block and returned in the result
for the object-based syntax ({ error: message }).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

* feat(runner): add UI responses to wish built-in

Return VNode UI in wish results for the new object-based syntax:
- Success: ct-cell-link component with $cell pointing to resolved cell
- Error: span with red text and warning emoji showing error message

Uses h() helper from @commontools/html to construct VNodes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

* refactor(api): rename WishKey to WishTag and use typed params

- Rename WishKey to WishTag and move next to WishParams/WishState
- Use WishTag type for WishParams.tag instead of string
- Import WishParams and WishState in wish.ts for type safety
- Add satisfies WishState<any> annotations to sendResult calls

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

* address cubic feedback

* add support for passing schema in param object

---------

Co-authored-by: Claude <[email protected]>
)

* feat(runner): add asSchemaFromLinks to Cell and use in llm-dialog

- Add `asSchemaFromLinks` method to `Cell` and `CellImpl` to centralize schema resolution logic, including fallback to pattern result schema.
- Update `getCellSchema` in `llm-dialog` to utilize `asSchemaFromLinks` for simplified schema extraction.

* feat(runner): add asSchemaFromLinks to Cell and use in llm-dialog

- Add `asSchemaFromLinks` method to `Cell` and `CellImpl` to centralize schema resolution logic, including fallback to pattern result schema.
- Update `getCellSchema` in `llm-dialog` to utilize `asSchemaFromLinks` for simplified schema extraction.
- Add unit tests for `asSchemaFromLinks` in `packages/runner/test/cell.test.ts` covering direct schema, pattern result schema fallback, and no schema scenarios.
* Research + plan change

* Rework favorites data structure for `wish` usage

* Update issues

* Rebase using cell.cell.asSchemaFromLinks

* Add `Required` to `WishState`

* Format

* Wish MVP demo

* Use `tx` during `navigateTo` (fixed StorageTransactionCompleteError)

* Format plan

* Add `favorites-manager.tsx`

* Format and fix

* Remove `isSameEntity`

* Format pass

* Remove plans

* Fix circular import

* Add documentation
@pull pull bot locked and limited conversation to collaborators Nov 26, 2025
@pull pull bot added the ⤵️ pull label Nov 26, 2025
@pull pull bot merged commit d3d708b into ExaDev:main Nov 26, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants