sygnal 5.4.0 → 6.1.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 +716 -0
- package/README.md +24 -9
- package/dist/ai.cjs.js +115 -0
- package/dist/ai.cjs.js.map +1 -0
- package/dist/ai.esm.js +2 -0
- package/dist/ai.esm.js.map +1 -0
- package/dist/astro/client.cjs.js +16 -9
- package/dist/astro/client.cjs.js.map +1 -1
- package/dist/astro/client.mjs +16 -9
- package/dist/astro/client.mjs.map +1 -1
- package/dist/astro/index.cjs.js +958 -92
- package/dist/astro/index.cjs.js.map +1 -1
- package/dist/astro/index.mjs +958 -93
- package/dist/astro/index.mjs.map +1 -1
- package/dist/astro/server.cjs.js +3396 -165
- package/dist/astro/server.cjs.js.map +1 -1
- package/dist/astro/server.mjs +3396 -165
- package/dist/astro/server.mjs.map +1 -1
- package/dist/devtools.cjs.js +1840 -0
- package/dist/devtools.cjs.js.map +1 -0
- package/dist/devtools.esm.js +1827 -0
- package/dist/devtools.esm.js.map +1 -0
- package/dist/diagnostics.cjs.js +3190 -296
- package/dist/diagnostics.cjs.js.map +1 -1
- package/dist/diagnostics.esm.js +3190 -296
- package/dist/diagnostics.esm.js.map +1 -1
- package/dist/element.cjs.js +230 -0
- package/dist/element.cjs.js.map +1 -0
- package/dist/element.esm.js +228 -0
- package/dist/element.esm.js.map +1 -0
- package/dist/guide/accessibility.md +310 -0
- package/dist/guide/adapters.md +221 -0
- package/dist/guide/agent.md +588 -0
- package/dist/guide/ai-chat.md +693 -0
- package/dist/guide/ai-decisions.md +330 -0
- package/dist/guide/behaviors.md +312 -0
- package/dist/guide/browser-sources.md +203 -0
- package/dist/guide/drag-and-drop.md +342 -0
- package/dist/guide/element-commands.md +306 -0
- package/dist/guide/error-boundaries.md +169 -0
- package/dist/guide/forms-reference.md +409 -0
- package/dist/guide/forms.md +251 -0
- package/dist/guide/http.md +301 -0
- package/dist/guide/inputs.md +173 -0
- package/dist/guide/mcp-apps.md +272 -0
- package/dist/guide/persistence.md +245 -0
- package/dist/guide/recipes/ai-form-fill.md +163 -0
- package/dist/guide/recipes/ai-summarize.md +155 -0
- package/dist/guide/recipes/ai-support-inbox.md +190 -0
- package/dist/guide/recipes/carousel.md +155 -0
- package/dist/guide/recipes/charts.md +177 -0
- package/dist/guide/recipes/code-editor.md +135 -0
- package/dist/guide/recipes/data-grid.md +155 -0
- package/dist/guide/recipes/data-table.md +196 -0
- package/dist/guide/recipes/i18n.md +222 -0
- package/dist/guide/recipes/icons.md +115 -0
- package/dist/guide/recipes/overview.md +43 -0
- package/dist/guide/recipes/rich-text.md +154 -0
- package/dist/guide/resources.md +471 -0
- package/dist/guide/ssr.md +255 -0
- package/dist/guide/timers.md +178 -0
- package/dist/guide/ui/accordion.md +93 -0
- package/dist/guide/ui/combobox.md +144 -0
- package/dist/guide/ui/dialog.md +124 -0
- package/dist/guide/ui/disclosure.md +60 -0
- package/dist/guide/ui/menu.md +125 -0
- package/dist/guide/ui/overview.md +166 -0
- package/dist/guide/ui/popover.md +101 -0
- package/dist/guide/ui/select.md +114 -0
- package/dist/guide/ui/tabs.md +161 -0
- package/dist/guide/ui/toaster.md +152 -0
- package/dist/guide/ui/tooltip.md +103 -0
- package/dist/guide/undo.md +178 -0
- package/dist/guide/virtual-collections.md +183 -0
- package/dist/guide/web-components.md +179 -0
- package/dist/guide/webmcp.md +226 -0
- package/dist/guide/widgets.md +217 -0
- package/dist/index.cjs.js +19288 -7408
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +4466 -552
- package/dist/index.esm.js +19274 -7461
- package/dist/index.esm.js.map +1 -1
- package/dist/jsx-dev-runtime.cjs.js +26 -334
- package/dist/jsx-dev-runtime.cjs.js.map +1 -1
- package/dist/jsx-dev-runtime.esm.js +19 -327
- package/dist/jsx-dev-runtime.esm.js.map +1 -1
- package/dist/jsx-runtime.cjs.js +26 -334
- package/dist/jsx-runtime.cjs.js.map +1 -1
- package/dist/jsx-runtime.esm.js +19 -327
- package/dist/jsx-runtime.esm.js.map +1 -1
- package/dist/jsx.cjs.js +10 -314
- package/dist/jsx.cjs.js.map +1 -1
- package/dist/jsx.esm.js +8 -315
- package/dist/jsx.esm.js.map +1 -1
- package/dist/react.cjs.js +117 -0
- package/dist/react.cjs.js.map +1 -0
- package/dist/react.esm.js +115 -0
- package/dist/react.esm.js.map +1 -0
- package/dist/shims/globalthis.cjs +20 -0
- package/dist/sygnal.min.js +1 -1
- package/dist/sygnal.min.js.map +1 -1
- package/dist/ui-combobox.cjs.js +169 -0
- package/dist/ui-combobox.cjs.js.map +1 -0
- package/dist/ui-combobox.esm.js +148 -0
- package/dist/ui-combobox.esm.js.map +1 -0
- package/dist/ui-menu.cjs.js +87 -0
- package/dist/ui-menu.cjs.js.map +1 -0
- package/dist/ui-menu.esm.js +66 -0
- package/dist/ui-menu.esm.js.map +1 -0
- package/dist/ui-select.cjs.js +104 -0
- package/dist/ui-select.cjs.js.map +1 -0
- package/dist/ui-select.esm.js +83 -0
- package/dist/ui-select.esm.js.map +1 -0
- package/dist/ui.cjs.js +738 -0
- package/dist/ui.cjs.js.map +1 -0
- package/dist/ui.esm.js +727 -0
- package/dist/ui.esm.js.map +1 -0
- package/dist/vike/ClientOnly.cjs.js +4 -14
- package/dist/vike/ClientOnly.cjs.js.map +1 -1
- package/dist/vike/ClientOnly.mjs +4 -14
- package/dist/vike/ClientOnly.mjs.map +1 -1
- package/dist/vike/{+config.js → config/+config.js} +9 -1
- package/dist/vike/config/+config.js.map +1 -0
- package/dist/vike/config/package.json +6 -0
- package/dist/vike/onRenderClient.cjs.js +165 -95
- package/dist/vike/onRenderClient.cjs.js.map +1 -1
- package/dist/vike/onRenderClient.mjs +165 -95
- package/dist/vike/onRenderClient.mjs.map +1 -1
- package/dist/vike/onRenderHtml.cjs.js +59 -24
- package/dist/vike/onRenderHtml.cjs.js.map +1 -1
- package/dist/vike/onRenderHtml.mjs +60 -25
- package/dist/vike/onRenderHtml.mjs.map +1 -1
- package/dist/vite/plugin.cjs.js +919 -89
- package/dist/vite/plugin.cjs.js.map +1 -1
- package/dist/vite/plugin.mjs +919 -90
- package/dist/vite/plugin.mjs.map +1 -1
- package/dist/zag.cjs.js +408 -0
- package/dist/zag.cjs.js.map +1 -0
- package/dist/zag.esm.js +405 -0
- package/dist/zag.esm.js.map +1 -0
- package/llms.txt +172 -103
- package/package.json +112 -14
- package/src/ai.d.ts +1186 -0
- package/src/ai.ts +23 -0
- package/src/astro/client.ts +27 -16
- package/src/astro/index.d.ts +24 -0
- package/src/astro/index.ts +69 -3
- package/src/astro/server.ts +8 -2
- package/src/collection.ts +6 -93
- package/src/core/actions.ts +134 -0
- package/src/core/cell.ts +202 -0
- package/src/core/debug.ts +23 -0
- package/src/core/define.ts +242 -0
- package/src/core/hooks.ts +314 -0
- package/src/core/hosts/collection.ts +325 -0
- package/src/core/hosts/switchable.ts +146 -0
- package/src/core/instance.ts +592 -0
- package/src/core/markers/clientonly.ts +13 -0
- package/src/core/markers/lazy.ts +40 -0
- package/src/core/markers/portal.ts +96 -0
- package/src/core/markers/suspense.ts +41 -0
- package/src/core/markers/transition.ts +70 -0
- package/src/core/registry.ts +25 -0
- package/src/core/runtime.ts +573 -0
- package/src/core/statics.ts +104 -0
- package/src/core/teardown.ts +60 -0
- package/src/core/view.ts +37 -0
- package/src/cycle/dom/DocumentDOMSource.ts +13 -8
- package/src/cycle/dom/ElementFinder.ts +7 -9
- package/src/cycle/dom/EventDelegator.ts +174 -223
- package/src/cycle/dom/IsolateModule.ts +65 -35
- package/src/cycle/dom/MainDOMSource.ts +9 -2
- package/src/cycle/dom/PriorityQueue.ts +4 -2
- package/src/cycle/dom/SymbolTree.ts +18 -47
- package/src/cycle/dom/classNameModule.ts +9 -7
- package/src/cycle/dom/controlledInputModule.ts +23 -6
- package/src/cycle/dom/enrichEventStream.ts +25 -47
- package/src/cycle/dom/fragment.ts +7 -0
- package/src/cycle/dom/isolate.ts +30 -27
- package/src/cycle/dom/makeDOMDriver.ts +115 -56
- package/src/cycle/dom/mockDOMSource.ts +21 -1
- package/src/cycle/dom/modules.ts +16 -3
- package/src/cycle/dom/propsModule.ts +65 -0
- package/src/cycle/dom/selectModule.ts +22 -17
- package/src/cycle/dom/snabbdom.ts +1 -6
- package/src/cycle/dom/thunk.ts +3 -0
- package/src/cycle/dom/utils.ts +98 -0
- package/src/cycle/dom/viewTransition.ts +43 -0
- package/src/cycle/state/StateSource.ts +19 -3
- package/src/cycle/state/objIsEqual.ts +50 -0
- package/src/cycle/state/types.ts +0 -10
- package/src/defineComponent.ts +34 -0
- package/src/devtools.d.ts +170 -0
- package/src/devtools.ts +37 -0
- package/src/element.d.ts +59 -0
- package/src/element.ts +235 -0
- package/src/extra/ai/agent/index.ts +484 -0
- package/src/extra/ai/answers.ts +115 -0
- package/src/extra/ai/chat/behavior.ts +336 -0
- package/src/extra/ai/chat/driver.ts +271 -0
- package/src/extra/ai/chat/memoryTransport.ts +61 -0
- package/src/extra/ai/chat/output.ts +37 -0
- package/src/extra/ai/commandBar.ts +281 -0
- package/src/extra/ai/decide.ts +104 -0
- package/src/extra/ai/index.ts +42 -0
- package/src/extra/ai/link.ts +90 -0
- package/src/extra/ai/mcpApp.ts +314 -0
- package/src/extra/ai/messages.ts +51 -0
- package/src/extra/ai/schema/index.ts +166 -0
- package/src/extra/ai/schema/jsonSchema.ts +72 -0
- package/src/extra/ai/schema/strict.ts +152 -0
- package/src/extra/ai/transports/agui.ts +177 -0
- package/src/extra/ai/transports/anthropicMessages.ts +175 -0
- package/src/extra/ai/transports/chatCompletions.ts +105 -0
- package/src/extra/ai/transports/chromePrompt.ts +77 -0
- package/src/extra/ai/transports/encodeOpenResponses.ts +87 -0
- package/src/extra/ai/transports/fromAISDK.ts +126 -0
- package/src/extra/ai/transports/openResponses.ts +105 -0
- package/src/extra/ai/transports/shared.ts +125 -0
- package/src/extra/ai/transports/tools.ts +59 -0
- package/src/extra/ai/transports/uiMessageStream.ts +107 -0
- package/src/extra/ai/webmcp.ts +260 -0
- package/src/extra/backoff.ts +9 -0
- package/src/extra/behaviors.ts +169 -0
- package/src/extra/browserSignals.ts +23 -0
- package/src/extra/browserSources.ts +326 -0
- package/src/extra/command.ts +3 -3
- package/src/extra/controls.ts +47 -0
- package/src/extra/copyAsTest.ts +286 -0
- package/src/extra/devMcp.ts +386 -0
- package/src/extra/devtools.ts +101 -31
- package/src/extra/devtoolsActions.ts +379 -0
- package/src/extra/devtoolsHook.ts +9 -0
- package/src/extra/devtoolsNext.ts +83 -0
- package/src/extra/diagnostics/checks/actionLog.ts +108 -0
- package/src/extra/diagnostics/checks/behaviors.ts +49 -0
- package/src/extra/diagnostics/checks/browserSources.ts +96 -0
- package/src/extra/diagnostics/checks/chat.ts +71 -0
- package/src/extra/diagnostics/checks/collections.ts +1 -1
- package/src/extra/diagnostics/checks/controls.ts +148 -0
- package/src/extra/diagnostics/checks/dataset.ts +57 -0
- package/src/extra/diagnostics/checks/dom.ts +20 -11
- package/src/extra/diagnostics/checks/elementCommands.ts +175 -0
- package/src/extra/diagnostics/checks/events.ts +17 -2
- package/src/extra/diagnostics/checks/fetch.ts +135 -0
- package/src/extra/diagnostics/checks/forms.ts +171 -0
- package/src/extra/diagnostics/checks/index.ts +103 -4
- package/src/extra/diagnostics/checks/inspect.ts +140 -32
- package/src/extra/diagnostics/checks/next.ts +417 -0
- package/src/extra/diagnostics/checks/persist.ts +54 -0
- package/src/extra/diagnostics/checks/props.ts +10 -5
- package/src/extra/diagnostics/checks/public.d.ts +115 -7
- package/src/extra/diagnostics/checks/replies.ts +128 -0
- package/src/extra/diagnostics/checks/router.ts +100 -0
- package/src/extra/diagnostics/checks/rxjsHints.ts +1 -1
- package/src/extra/diagnostics/checks/shared.ts +86 -2
- package/src/extra/diagnostics/checks/shorthand.ts +115 -0
- package/src/extra/diagnostics/checks/sortable.ts +129 -0
- package/src/extra/diagnostics/checks/state.ts +100 -7
- package/src/extra/diagnostics/checks/statics.ts +48 -0
- package/src/extra/diagnostics/checks/strict.ts +10 -67
- package/src/extra/diagnostics/checks/timers.ts +80 -0
- package/src/extra/diagnostics/checks/viewTransitions.ts +47 -0
- package/src/extra/diagnostics/checks/virtual.ts +73 -0
- package/src/extra/diagnostics/checks/widgets.ts +109 -0
- package/src/extra/diagnostics/checks/wiring.ts +69 -10
- package/src/extra/diagnostics/codes.ts +335 -23
- package/src/extra/diagnostics/index.ts +34 -9
- package/src/extra/diagnostics/legacy.ts +17 -0
- package/src/extra/driverFactories.ts +83 -19
- package/src/extra/elementCommands.ts +53 -0
- package/src/extra/fetchDriver.ts +519 -0
- package/src/extra/focusWithin.ts +27 -0
- package/src/extra/form.ts +284 -0
- package/src/extra/formHelpers.ts +139 -0
- package/src/extra/formTool.ts +150 -0
- package/src/extra/head.ts +106 -0
- package/src/extra/hmr.ts +2 -3
- package/src/extra/owned.ts +24 -0
- package/src/extra/pager.ts +50 -0
- package/src/extra/persist.ts +133 -0
- package/src/extra/pwa.ts +1 -1
- package/src/extra/queryCache.ts +107 -0
- package/src/extra/reducers.ts +1 -1
- package/src/extra/reduxDevtools.ts +92 -0
- package/src/extra/replies.ts +54 -0
- package/src/extra/router.ts +323 -0
- package/src/extra/run.ts +90 -217
- package/src/extra/selection.ts +76 -0
- package/src/extra/socketDriver.ts +265 -0
- package/src/extra/sortable.ts +377 -0
- package/src/extra/ssr.ts +427 -160
- package/src/extra/standardSchema.ts +27 -0
- package/src/extra/testing.ts +2550 -175
- package/src/extra/timers.ts +95 -0
- package/src/extra/undo.ts +261 -0
- package/src/extra/viewTransitions.ts +38 -0
- package/src/extra/virtual.ts +513 -0
- package/src/extra/widget.ts +201 -0
- package/src/index.d.ts +2754 -127
- package/src/index.ts +45 -4
- package/src/jsx-runtime.ts +15 -1
- package/src/jsx.ts +2 -1
- package/src/lazy.ts +50 -7
- package/src/portal.ts +3 -1
- package/src/pragma/index.ts +256 -133
- package/src/react-peers.d.ts +5 -0
- package/src/react.d.ts +43 -0
- package/src/react.ts +110 -0
- package/src/shared.ts +57 -0
- package/src/slot.ts +1 -1
- package/src/suspense.ts +3 -1
- package/src/switchable.ts +6 -121
- package/src/transition.ts +3 -1
- package/src/ui/accordion.ts +64 -0
- package/src/ui/dialog.ts +129 -0
- package/src/ui/disclosure.ts +35 -0
- package/src/ui/popover.ts +45 -0
- package/src/ui/shared.ts +94 -0
- package/src/ui/tabs.ts +82 -0
- package/src/ui/toaster.ts +198 -0
- package/src/ui/tooltip.ts +70 -0
- package/src/ui/zag/combobox.ts +115 -0
- package/src/ui/zag/menu.ts +40 -0
- package/src/ui/zag/select.ts +54 -0
- package/src/ui/zag/shared.ts +43 -0
- package/src/ui-combobox.d.ts +20 -0
- package/src/ui-combobox.ts +6 -0
- package/src/ui-menu.d.ts +30 -0
- package/src/ui-menu.ts +6 -0
- package/src/ui-select.d.ts +17 -0
- package/src/ui-select.ts +6 -0
- package/src/ui-zag-types.d.ts +42 -0
- package/src/ui.d.ts +208 -0
- package/src/ui.ts +15 -0
- package/src/vike/+config.ts +9 -1
- package/src/vike/ClientOnly.ts +1 -1
- package/src/vike/onRenderClient.ts +144 -96
- package/src/vike/onRenderHtml.ts +69 -26
- package/src/vike/types.ts +7 -1
- package/src/vite/globalthis-shim.ts +18 -0
- package/src/vite/globalthis.ts +56 -0
- package/src/vite/mcp.ts +568 -0
- package/src/vite/plugin.d.ts +47 -3
- package/src/vite/plugin.ts +262 -25
- package/src/zag.d.ts +64 -0
- package/src/zag.ts +238 -0
- package/dist/vike/+config.cjs.js +0 -66
- package/dist/vike/+config.cjs.js.map +0 -1
- package/dist/vike/+config.js.map +0 -1
- package/src/component.ts +0 -2301
- package/src/cycle/isolate/index.ts +0 -196
- package/src/cycle/run/index.ts +0 -151
- package/src/cycle/run/internals.ts +0 -143
- package/src/cycle/state/Collection.ts +0 -184
- package/src/cycle/state/index.ts +0 -5
- package/src/cycle/state/pickCombine.ts +0 -201
- package/src/cycle/state/pickMerge.ts +0 -122
- package/src/cycle/state/withState.ts +0 -47
- package/src/pragma/fn.ts +0 -55
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ A reactive component framework with pure functions, zero side effects, and autom
|
|
|
14
14
|
- **Pure components** — Views are plain functions. All side effects are handled by drivers, outside your code.
|
|
15
15
|
- **Automatic state management** — Monolithic state tree with no store setup, no providers, no hooks. Trivial undo/redo and time-travel debugging.
|
|
16
16
|
- **Model-View-Intent** — Cleanly separate *what* happens (Model), *when* it happens (Intent), and *how* it looks (View).
|
|
17
|
-
- **Tiny footprint** —
|
|
17
|
+
- **Tiny footprint** — Two runtime dependencies: [snabbdom](https://github.com/snabbdom/snabbdom) and [xstream](https://github.com/staltz/xstream).
|
|
18
18
|
|
|
19
19
|
## Quick Start
|
|
20
20
|
|
|
@@ -186,19 +186,34 @@ import { makeDragDriver } from 'sygnal'
|
|
|
186
186
|
run(RootComponent, { DND: makeDragDriver() })
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
+
### HTTP and Sockets
|
|
190
|
+
|
|
191
|
+
Requests name the actions that receive their reply; connections are declared from state:
|
|
192
|
+
|
|
193
|
+
```jsx
|
|
194
|
+
import { run, makeFetchDriver, makeSocketDriver } from 'sygnal'
|
|
195
|
+
|
|
196
|
+
Quote.model = {
|
|
197
|
+
LOAD: { HTTP: (state, id) => ({ url: `/api/quotes/${id}`, ok: 'LOADED', error: 'FAILED', latest: true }) },
|
|
198
|
+
LOADED: (state, quote) => ({ ...state, quote }), // the parsed body
|
|
199
|
+
FAILED: (state, { status }) => ({ ...state, error: status }),
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
Chat.connections = (state) => ({
|
|
203
|
+
room: state.room && { socket: `/ws/rooms/${state.room}`, message: 'RECEIVED' },
|
|
204
|
+
})
|
|
205
|
+
|
|
206
|
+
run(App, { HTTP: makeFetchDriver(), WS: makeSocketDriver() })
|
|
207
|
+
```
|
|
208
|
+
|
|
189
209
|
### Custom Drivers
|
|
190
210
|
|
|
191
|
-
Wrap any async operation as a driver:
|
|
211
|
+
Wrap any other async operation as a driver; requests take the same reply actions (`{ value, ok: 'DONE', error: 'FAILED' }`):
|
|
192
212
|
|
|
193
213
|
```javascript
|
|
194
214
|
import { driverFromAsync } from 'sygnal'
|
|
195
215
|
|
|
196
|
-
|
|
197
|
-
const res = await fetch(url)
|
|
198
|
-
return res.json()
|
|
199
|
-
}, { selector: 'endpoint', args: 'url', return: 'data' })
|
|
200
|
-
|
|
201
|
-
run(RootComponent, { API: apiDriver })
|
|
216
|
+
run(RootComponent, { GEO: driverFromAsync(geocode) })
|
|
202
217
|
```
|
|
203
218
|
|
|
204
219
|
### Error Boundaries
|
|
@@ -508,7 +523,7 @@ h('div', [h('h1', 'Hello'), h('button.btn', 'Click')])
|
|
|
508
523
|
|
|
509
524
|
## Acknowledgments
|
|
510
525
|
|
|
511
|
-
Sygnal's reactive architecture is built on patterns from [Cycle.js](https://cycle.js.org/) by [André Staltz](https://github.com/staltz). The Cycle.js runtime, DOM driver, state management, and isolation modules have been absorbed into the library — snabbdom
|
|
526
|
+
Sygnal's reactive architecture is built on patterns from [Cycle.js](https://cycle.js.org/) by [André Staltz](https://github.com/staltz). The Cycle.js runtime, DOM driver, state management, and isolation modules have been absorbed into the library — snabbdom and xstream are the only external dependencies.
|
|
512
527
|
|
|
513
528
|
## License
|
|
514
529
|
|
package/dist/ai.cjs.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var sygnal = require('sygnal');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, 'agentTools', {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () { return sygnal.agentTools; }
|
|
10
|
+
});
|
|
11
|
+
Object.defineProperty(exports, 'agui', {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return sygnal.agui; }
|
|
14
|
+
});
|
|
15
|
+
Object.defineProperty(exports, 'answers', {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return sygnal.answers; }
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, 'anthropicMessages', {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return sygnal.anthropicMessages; }
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, 'chat', {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function () { return sygnal.chat; }
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(exports, 'chatCompletions', {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () { return sygnal.chatCompletions; }
|
|
30
|
+
});
|
|
31
|
+
Object.defineProperty(exports, 'choice', {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return sygnal.choice; }
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(exports, 'chromePrompt', {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function () { return sygnal.chromePrompt; }
|
|
38
|
+
});
|
|
39
|
+
Object.defineProperty(exports, 'commandBar', {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () { return sygnal.commandBar; }
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, 'decide', {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () { return sygnal.decide; }
|
|
46
|
+
});
|
|
47
|
+
Object.defineProperty(exports, 'encodeOpenResponses', {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () { return sygnal.encodeOpenResponses; }
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(exports, 'experimentalExposeWebMcp', {
|
|
52
|
+
enumerable: true,
|
|
53
|
+
get: function () { return sygnal.experimentalExposeWebMcp; }
|
|
54
|
+
});
|
|
55
|
+
Object.defineProperty(exports, 'formTool', {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () { return sygnal.formTool; }
|
|
58
|
+
});
|
|
59
|
+
Object.defineProperty(exports, 'fromAISDK', {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
get: function () { return sygnal.fromAISDK; }
|
|
62
|
+
});
|
|
63
|
+
Object.defineProperty(exports, 'jsonSchema', {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
get: function () { return sygnal.jsonSchema; }
|
|
66
|
+
});
|
|
67
|
+
Object.defineProperty(exports, 'makeChatDriver', {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function () { return sygnal.makeChatDriver; }
|
|
70
|
+
});
|
|
71
|
+
Object.defineProperty(exports, 'makeMcpAppDriver', {
|
|
72
|
+
enumerable: true,
|
|
73
|
+
get: function () { return sygnal.makeMcpAppDriver; }
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(exports, 'messageText', {
|
|
76
|
+
enumerable: true,
|
|
77
|
+
get: function () { return sygnal.messageText; }
|
|
78
|
+
});
|
|
79
|
+
Object.defineProperty(exports, 'noul', {
|
|
80
|
+
enumerable: true,
|
|
81
|
+
get: function () { return sygnal.noul; }
|
|
82
|
+
});
|
|
83
|
+
Object.defineProperty(exports, 'openResponses', {
|
|
84
|
+
enumerable: true,
|
|
85
|
+
get: function () { return sygnal.openResponses; }
|
|
86
|
+
});
|
|
87
|
+
Object.defineProperty(exports, 'outputJsonSchema', {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () { return sygnal.outputJsonSchema; }
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(exports, 'parseInput', {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function () { return sygnal.parseInput; }
|
|
94
|
+
});
|
|
95
|
+
Object.defineProperty(exports, 'score', {
|
|
96
|
+
enumerable: true,
|
|
97
|
+
get: function () { return sygnal.score; }
|
|
98
|
+
});
|
|
99
|
+
Object.defineProperty(exports, 'strictSchemas', {
|
|
100
|
+
enumerable: true,
|
|
101
|
+
get: function () { return sygnal.strictSchemas; }
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(exports, 'toJsonSchema', {
|
|
104
|
+
enumerable: true,
|
|
105
|
+
get: function () { return sygnal.toJsonSchema; }
|
|
106
|
+
});
|
|
107
|
+
Object.defineProperty(exports, 'uiMessageStream', {
|
|
108
|
+
enumerable: true,
|
|
109
|
+
get: function () { return sygnal.uiMessageStream; }
|
|
110
|
+
});
|
|
111
|
+
Object.defineProperty(exports, 'withToolResults', {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
get: function () { return sygnal.withToolResults; }
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=ai.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/ai.esm.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { agentTools, agui, answers, anthropicMessages, chat, chatCompletions, choice, chromePrompt, commandBar, decide, encodeOpenResponses, experimentalExposeWebMcp, formTool, fromAISDK, jsonSchema, makeChatDriver, makeMcpAppDriver, messageText, noul, openResponses, outputJsonSchema, parseInput, score, strictSchemas, toJsonSchema, uiMessageStream, withToolResults } from 'sygnal';
|
|
2
|
+
//# sourceMappingURL=ai.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/astro/client.cjs.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var sygnal = require('sygnal');
|
|
4
|
+
var onError = require('virtual:sygnal/astro-on-error');
|
|
4
5
|
|
|
5
6
|
// The public entry (external in the build), so islands share the app's
|
|
6
7
|
// Sygnal core instead of a bundled copy (B-019).
|
|
7
8
|
function looksLikeSygnalComponent(Component) {
|
|
8
9
|
if (typeof Component !== 'function')
|
|
9
10
|
return false;
|
|
10
|
-
return Boolean(Component.
|
|
11
|
-
Component.model ||
|
|
11
|
+
return Boolean(Component.model ||
|
|
12
12
|
Component.intent ||
|
|
13
13
|
Component.initialState ||
|
|
14
14
|
Component.componentName);
|
|
@@ -35,17 +35,21 @@ var client = (element) => {
|
|
|
35
35
|
const Wrapped = (args) => Component({ ...islandProps, ...args, props: islandProps });
|
|
36
36
|
Wrapped.model = Component.model;
|
|
37
37
|
Wrapped.intent = Component.intent;
|
|
38
|
-
Wrapped.hmrActions = Component.hmrActions;
|
|
39
38
|
Wrapped.context = Component.context;
|
|
40
|
-
Wrapped.peers = Component.peers;
|
|
41
|
-
Wrapped.components = Component.components;
|
|
42
39
|
Wrapped.initialState = Component.initialState;
|
|
43
40
|
Wrapped.calculated = Component.calculated;
|
|
44
|
-
Wrapped.storeCalculatedInState = Component.storeCalculatedInState;
|
|
45
|
-
Wrapped.DOMSourceName = Component.DOMSourceName;
|
|
46
|
-
Wrapped.stateSourceName = Component.stateSourceName;
|
|
47
41
|
Wrapped.onError = Component.onError;
|
|
48
42
|
Wrapped.debug = Component.debug;
|
|
43
|
+
Wrapped.connections = Component.connections;
|
|
44
|
+
Wrapped.resources = Component.resources;
|
|
45
|
+
Wrapped.route = Component.route;
|
|
46
|
+
Wrapped.head = Component.head;
|
|
47
|
+
// PLAN-4 3-B2: more statics the core reads off the root view: persist (root only: the island
|
|
48
|
+
// is its app's root), uses, timers (they run only with a timer driver) and viewTransitions
|
|
49
|
+
Wrapped.persist = Component.persist;
|
|
50
|
+
Wrapped.uses = Component.uses;
|
|
51
|
+
Wrapped.timers = Component.timers;
|
|
52
|
+
Wrapped.viewTransitions = Component.viewTransitions;
|
|
49
53
|
Wrapped.componentName = Component.componentName || Component.name;
|
|
50
54
|
// run() names the root by `name` first: diagnostics and devtools should
|
|
51
55
|
// say 'Counter', not 'Wrapped'
|
|
@@ -53,7 +57,10 @@ var client = (element) => {
|
|
|
53
57
|
Object.defineProperty(Wrapped, 'name', { value: Wrapped.componentName, configurable: true });
|
|
54
58
|
}
|
|
55
59
|
catch (_) { }
|
|
56
|
-
|
|
60
|
+
// G-206: a `uid` island prop is the island's uid root (as on the server); the view's own
|
|
61
|
+
// uid() function wins over the prop (args are spread last)
|
|
62
|
+
// 3-B2: `__hydrate` tells persist() whether the island starts over the server's markup
|
|
63
|
+
const app = sygnal.run(Wrapped, { __hydrate: () => client !== 'only' && canHydrate }, { mountPoint, onError, uid: islandProps.uid });
|
|
57
64
|
element.__sygnal = app;
|
|
58
65
|
};
|
|
59
66
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.cjs.js","sources":["../../src/astro/client.ts"],"sourcesContent":["// The public entry (external in the build), so islands share the app's\n// Sygnal core instead of a bundled copy (B-019).\nimport { run } from 'sygnal'\n\ninterface SygnalComponent {\n (args: any): any;\n
|
|
1
|
+
{"version":3,"file":"client.cjs.js","sources":["../../src/astro/client.ts"],"sourcesContent":["// The public entry (external in the build), so islands share the app's\n// Sygnal core instead of a bundled copy (B-019).\nimport { run } from 'sygnal'\n// PLAN-4 GS-11 / D120: the app-level error hook, the default export of the module the\n// integration's `onError` option names (undefined without it); served by sygnal/astro's Vite plugin\n// @ts-ignore — a virtual module\nimport onError from 'virtual:sygnal/astro-on-error'\n\ninterface SygnalComponent {\n (args: any): any;\n model?: any;\n intent?: any;\n connections?: any;\n resources?: any;\n route?: any;\n head?: any;\n persist?: any;\n uses?: any;\n timers?: any;\n viewTransitions?: any;\n context?: any;\n initialState?: any;\n calculated?: any;\n onError?: (error: Error, info: { componentName: string }) => any;\n debug?: boolean;\n componentName?: string;\n name?: string;\n}\n\ninterface AstroMetadata {\n client?: string;\n}\n\nfunction looksLikeSygnalComponent(Component: any): Component is SygnalComponent {\n if (typeof Component !== 'function') return false\n return Boolean(\n Component.model ||\n Component.intent ||\n Component.initialState ||\n Component.componentName\n )\n}\n\nexport default (element: any) => {\n return async (Component: any, props: any, _slotted: any, metadata: AstroMetadata) => {\n if (!looksLikeSygnalComponent(Component)) return\n\n const mountPoint = element\n const { client } = metadata || {}\n const canHydrate = element.hasAttribute('ssr')\n\n if (client !== 'only' && !canHydrate) return\n\n const previous = element.__sygnal\n if (previous && typeof previous.dispose === 'function') {\n previous.dispose()\n }\n\n // Island props reach the view like any component's props, spread\n // top-level (`{ state, title }`), the same as on the server\n // (renderToString). The view args (state, context, ...) win over a prop\n // with the same name; `props` is kept for older `({ state, props })`\n // views (B-026).\n const islandProps = { ...(props || {}) }\n const Wrapped: any = (args: any) => Component({ ...islandProps, ...args, props: islandProps })\n Wrapped.model = Component.model\n Wrapped.intent = Component.intent\n Wrapped.context = Component.context\n Wrapped.initialState = Component.initialState\n Wrapped.calculated = Component.calculated\n Wrapped.onError = Component.onError\n Wrapped.debug = Component.debug\n Wrapped.connections = Component.connections\n Wrapped.resources = Component.resources\n Wrapped.route = Component.route\n Wrapped.head = Component.head\n // PLAN-4 3-B2: more statics the core reads off the root view: persist (root only: the island\n // is its app's root), uses, timers (they run only with a timer driver) and viewTransitions\n Wrapped.persist = Component.persist\n Wrapped.uses = Component.uses\n Wrapped.timers = Component.timers\n Wrapped.viewTransitions = Component.viewTransitions\n Wrapped.componentName = Component.componentName || Component.name\n // run() names the root by `name` first: diagnostics and devtools should\n // say 'Counter', not 'Wrapped'\n try { Object.defineProperty(Wrapped, 'name', { value: Wrapped.componentName, configurable: true }) } catch (_) {}\n\n // G-206: a `uid` island prop is the island's uid root (as on the server); the view's own\n // uid() function wins over the prop (args are spread last)\n // 3-B2: `__hydrate` tells persist() whether the island starts over the server's markup\n const app = run(Wrapped, { __hydrate: () => client !== 'only' && canHydrate }, { mountPoint, onError, uid: islandProps.uid })\n element.__sygnal = app\n }\n}\n"],"names":["run"],"mappings":"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"}
|
package/dist/astro/client.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { run } from 'sygnal';
|
|
2
|
+
import onError from 'virtual:sygnal/astro-on-error';
|
|
2
3
|
|
|
3
4
|
// The public entry (external in the build), so islands share the app's
|
|
4
5
|
// Sygnal core instead of a bundled copy (B-019).
|
|
5
6
|
function looksLikeSygnalComponent(Component) {
|
|
6
7
|
if (typeof Component !== 'function')
|
|
7
8
|
return false;
|
|
8
|
-
return Boolean(Component.
|
|
9
|
-
Component.model ||
|
|
9
|
+
return Boolean(Component.model ||
|
|
10
10
|
Component.intent ||
|
|
11
11
|
Component.initialState ||
|
|
12
12
|
Component.componentName);
|
|
@@ -33,17 +33,21 @@ var client = (element) => {
|
|
|
33
33
|
const Wrapped = (args) => Component({ ...islandProps, ...args, props: islandProps });
|
|
34
34
|
Wrapped.model = Component.model;
|
|
35
35
|
Wrapped.intent = Component.intent;
|
|
36
|
-
Wrapped.hmrActions = Component.hmrActions;
|
|
37
36
|
Wrapped.context = Component.context;
|
|
38
|
-
Wrapped.peers = Component.peers;
|
|
39
|
-
Wrapped.components = Component.components;
|
|
40
37
|
Wrapped.initialState = Component.initialState;
|
|
41
38
|
Wrapped.calculated = Component.calculated;
|
|
42
|
-
Wrapped.storeCalculatedInState = Component.storeCalculatedInState;
|
|
43
|
-
Wrapped.DOMSourceName = Component.DOMSourceName;
|
|
44
|
-
Wrapped.stateSourceName = Component.stateSourceName;
|
|
45
39
|
Wrapped.onError = Component.onError;
|
|
46
40
|
Wrapped.debug = Component.debug;
|
|
41
|
+
Wrapped.connections = Component.connections;
|
|
42
|
+
Wrapped.resources = Component.resources;
|
|
43
|
+
Wrapped.route = Component.route;
|
|
44
|
+
Wrapped.head = Component.head;
|
|
45
|
+
// PLAN-4 3-B2: more statics the core reads off the root view: persist (root only: the island
|
|
46
|
+
// is its app's root), uses, timers (they run only with a timer driver) and viewTransitions
|
|
47
|
+
Wrapped.persist = Component.persist;
|
|
48
|
+
Wrapped.uses = Component.uses;
|
|
49
|
+
Wrapped.timers = Component.timers;
|
|
50
|
+
Wrapped.viewTransitions = Component.viewTransitions;
|
|
47
51
|
Wrapped.componentName = Component.componentName || Component.name;
|
|
48
52
|
// run() names the root by `name` first: diagnostics and devtools should
|
|
49
53
|
// say 'Counter', not 'Wrapped'
|
|
@@ -51,7 +55,10 @@ var client = (element) => {
|
|
|
51
55
|
Object.defineProperty(Wrapped, 'name', { value: Wrapped.componentName, configurable: true });
|
|
52
56
|
}
|
|
53
57
|
catch (_) { }
|
|
54
|
-
|
|
58
|
+
// G-206: a `uid` island prop is the island's uid root (as on the server); the view's own
|
|
59
|
+
// uid() function wins over the prop (args are spread last)
|
|
60
|
+
// 3-B2: `__hydrate` tells persist() whether the island starts over the server's markup
|
|
61
|
+
const app = run(Wrapped, { __hydrate: () => client !== 'only' && canHydrate }, { mountPoint, onError, uid: islandProps.uid });
|
|
55
62
|
element.__sygnal = app;
|
|
56
63
|
};
|
|
57
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.mjs","sources":["../../src/astro/client.ts"],"sourcesContent":["// The public entry (external in the build), so islands share the app's\n// Sygnal core instead of a bundled copy (B-019).\nimport { run } from 'sygnal'\n\ninterface SygnalComponent {\n (args: any): any;\n
|
|
1
|
+
{"version":3,"file":"client.mjs","sources":["../../src/astro/client.ts"],"sourcesContent":["// The public entry (external in the build), so islands share the app's\n// Sygnal core instead of a bundled copy (B-019).\nimport { run } from 'sygnal'\n// PLAN-4 GS-11 / D120: the app-level error hook, the default export of the module the\n// integration's `onError` option names (undefined without it); served by sygnal/astro's Vite plugin\n// @ts-ignore — a virtual module\nimport onError from 'virtual:sygnal/astro-on-error'\n\ninterface SygnalComponent {\n (args: any): any;\n model?: any;\n intent?: any;\n connections?: any;\n resources?: any;\n route?: any;\n head?: any;\n persist?: any;\n uses?: any;\n timers?: any;\n viewTransitions?: any;\n context?: any;\n initialState?: any;\n calculated?: any;\n onError?: (error: Error, info: { componentName: string }) => any;\n debug?: boolean;\n componentName?: string;\n name?: string;\n}\n\ninterface AstroMetadata {\n client?: string;\n}\n\nfunction looksLikeSygnalComponent(Component: any): Component is SygnalComponent {\n if (typeof Component !== 'function') return false\n return Boolean(\n Component.model ||\n Component.intent ||\n Component.initialState ||\n Component.componentName\n )\n}\n\nexport default (element: any) => {\n return async (Component: any, props: any, _slotted: any, metadata: AstroMetadata) => {\n if (!looksLikeSygnalComponent(Component)) return\n\n const mountPoint = element\n const { client } = metadata || {}\n const canHydrate = element.hasAttribute('ssr')\n\n if (client !== 'only' && !canHydrate) return\n\n const previous = element.__sygnal\n if (previous && typeof previous.dispose === 'function') {\n previous.dispose()\n }\n\n // Island props reach the view like any component's props, spread\n // top-level (`{ state, title }`), the same as on the server\n // (renderToString). The view args (state, context, ...) win over a prop\n // with the same name; `props` is kept for older `({ state, props })`\n // views (B-026).\n const islandProps = { ...(props || {}) }\n const Wrapped: any = (args: any) => Component({ ...islandProps, ...args, props: islandProps })\n Wrapped.model = Component.model\n Wrapped.intent = Component.intent\n Wrapped.context = Component.context\n Wrapped.initialState = Component.initialState\n Wrapped.calculated = Component.calculated\n Wrapped.onError = Component.onError\n Wrapped.debug = Component.debug\n Wrapped.connections = Component.connections\n Wrapped.resources = Component.resources\n Wrapped.route = Component.route\n Wrapped.head = Component.head\n // PLAN-4 3-B2: more statics the core reads off the root view: persist (root only: the island\n // is its app's root), uses, timers (they run only with a timer driver) and viewTransitions\n Wrapped.persist = Component.persist\n Wrapped.uses = Component.uses\n Wrapped.timers = Component.timers\n Wrapped.viewTransitions = Component.viewTransitions\n Wrapped.componentName = Component.componentName || Component.name\n // run() names the root by `name` first: diagnostics and devtools should\n // say 'Counter', not 'Wrapped'\n try { Object.defineProperty(Wrapped, 'name', { value: Wrapped.componentName, configurable: true }) } catch (_) {}\n\n // G-206: a `uid` island prop is the island's uid root (as on the server); the view's own\n // uid() function wins over the prop (args are spread last)\n // 3-B2: `__hydrate` tells persist() whether the island starts over the server's markup\n const app = run(Wrapped, { __hydrate: () => client !== 'only' && canHydrate }, { mountPoint, onError, uid: islandProps.uid })\n element.__sygnal = app\n }\n}\n"],"names":[],"mappings":"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"}
|