@proveanything/smartlinks 2.0.9 → 2.0.10
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/dist/docs/API_SUMMARY.md +1 -1
- package/dist/docs/agent-tools.md +26 -14
- package/dist/docs/app-manifest.md +2 -0
- package/dist/docs/overview.md +1 -1
- package/docs/API_SUMMARY.md +1 -1
- package/docs/agent-tools.md +26 -14
- package/docs/app-manifest.md +2 -0
- package/docs/overview.md +1 -1
- package/package.json +1 -1
package/dist/docs/API_SUMMARY.md
CHANGED
package/dist/docs/agent-tools.md
CHANGED
|
@@ -81,12 +81,21 @@ Identical to server functions — nothing new to reason about:
|
|
|
81
81
|
Untrusted third-party tools run in the platform's isolated runner — the same boundary as untrusted
|
|
82
82
|
server functions.
|
|
83
83
|
|
|
84
|
-
##
|
|
84
|
+
## Working with `app.admin.json` (complement, not replacement)
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
`app.admin.json` stays the **canonical declarative config contract** — setup questions, config schema,
|
|
87
|
+
import fields, tunable settings, content hints. It's inspectable, validatable, deterministic, and
|
|
88
|
+
reused by many consumers at once (the admin form renderer, AI setup, a signup journey asking the same
|
|
89
|
+
questions, bulk import). Agent tools **do not replace it — they serve and adapt it**:
|
|
90
|
+
|
|
91
|
+
- Keep the declarative schema as the default and source of truth.
|
|
92
|
+
- When you want *dynamic, contextual* behaviour — "which questions for **this** collection?", "the
|
|
93
|
+
config schema as it stands right now", "apply these answers" — expose a small function/tool that
|
|
94
|
+
reads the declaration and returns a tailored result. **Static-first; dynamic only where it earns its
|
|
95
|
+
keep.**
|
|
96
|
+
|
|
97
|
+
There's no rip-and-replace and nothing to migrate off: an app happy with its `app.admin.json` keeps
|
|
98
|
+
it untouched.
|
|
90
99
|
|
|
91
100
|
## What ships now vs staged
|
|
92
101
|
|
|
@@ -96,16 +105,19 @@ capability-scoped actions** the agent invokes — with multi-turn and streaming.
|
|
|
96
105
|
| SDK types for it; tool descriptors surfaced for discovery | `tools/call` streaming, cancellation, cross-app toolbelt arbitration |
|
|
97
106
|
| Your handlers run today via http/event | Human-approval UX for `approval: "require"` |
|
|
98
107
|
|
|
99
|
-
## Adopting this in
|
|
108
|
+
## Adopting this — opt-in, per app, no fleet migration
|
|
109
|
+
|
|
110
|
+
Agent tools are **purely additive**. There is **no migration pass**, and nothing breaks if you never
|
|
111
|
+
adopt them — an existing app on the V2 SDK simply *gains the ability* to add them whenever you want.
|
|
112
|
+
You do **not** touch every app; you turn it on for one app at a time.
|
|
100
113
|
|
|
101
|
-
|
|
102
|
-
SDK). Roughly:
|
|
114
|
+
To turn them on for a single app (say, an FAQ app), once it's on the V2 SDK:
|
|
103
115
|
|
|
104
|
-
1. **Server functions** — add the `functions` block + build target + test harness
|
|
105
|
-
|
|
116
|
+
1. **Server functions** — add the `functions` block + build target + test harness if the app doesn't
|
|
117
|
+
already have them. See [server-functions.md](server-functions.md).
|
|
106
118
|
2. **Expose tools** — add the `agent` block to the functions you want the agent to call; give each a
|
|
107
|
-
title/description/input schema and an approval mode.
|
|
108
|
-
3. **Retire `app.admin.json` AI setup** — move any AI-authoring behaviour to tools; drop the
|
|
109
|
-
AI-schema block.
|
|
119
|
+
title / description / input schema and an approval mode.
|
|
110
120
|
|
|
111
|
-
|
|
121
|
+
That's it — declare and build. The live agent loop is staged (see the table above); until it ships,
|
|
122
|
+
your handlers still run via http/event, so declaring tools now is **forward-compatible, not
|
|
123
|
+
speculative breakage**. `app.admin.json` stays as-is throughout — nothing to retire.
|
|
@@ -646,6 +646,8 @@ SmartLinks manifests are **AI-discoverable, -configurable, and -importable**: th
|
|
|
646
646
|
|
|
647
647
|
When you change your config shape, keep all three in sync: `app.manifest.json` (widget `settings`, containers, executor, linkable), `app.admin.json` (setup / import / tunable), and `ai-guide.md` (prose guidance).
|
|
648
648
|
|
|
649
|
+
This declarative model is canonical and works today. An app may **optionally** layer agent tools on top — a function that reads the declaration and returns a *context-adapted* result (e.g. "which setup questions for this collection?") — without changing the schema. That's additive and opt-in; see [agent-tools.md](agent-tools.md).
|
|
650
|
+
|
|
649
651
|
## Reading the Files at Runtime
|
|
650
652
|
|
|
651
653
|
### Manifest — available from the widgets endpoint
|
package/dist/docs/overview.md
CHANGED
|
@@ -60,7 +60,7 @@ The SmartLinks SDK (`@proveanything/smartlinks`) includes comprehensive document
|
|
|
60
60
|
| **Mobile Admin Container** | `docs/mobile-admin-container.md` | Building a separate Capacitor-aware mobile admin bundle for field operators |
|
|
61
61
|
| **Executors** | `docs/executor.md` | Building executor bundles for SEO, LLM content, programmatic config |
|
|
62
62
|
| **Server Functions** | `docs/server-functions.md` | App-authored server-side functions `(ctx, event) ⇒ result`: security model, runtime surface, invoking |
|
|
63
|
-
| **Agent Tools** | `docs/agent-tools.md` | Exposing your app's actions to the SmartLinks agent — an MCP facade over server functions;
|
|
63
|
+
| **Agent Tools** | `docs/agent-tools.md` | Exposing your app's actions to the SmartLinks agent — an MCP facade over server functions; **opt-in per app, additive, no migration**; complements `app.admin.json` (functions serve/adapt it, don't replace it); live loop staged |
|
|
64
64
|
| **Deploying & Registering** | `docs/deploying-apps.md` | Getting your app into the platform: fast dev publish, channels, deploy keys, registering releases |
|
|
65
65
|
| **Host Dependency Contract (R5)** | `docs/host-dependency-contract.md` | The libraries the host provides (React 19, Router 7, Radix, liquidjs, …), the externalise-don't-bundle rule + Vite config, and React-18 backwards-compat |
|
|
66
66
|
| **Deep Linking** | `docs/deep-link-discovery.md` | URL state management, navigable states, portal menus, AI nav |
|
package/docs/API_SUMMARY.md
CHANGED
package/docs/agent-tools.md
CHANGED
|
@@ -81,12 +81,21 @@ Identical to server functions — nothing new to reason about:
|
|
|
81
81
|
Untrusted third-party tools run in the platform's isolated runner — the same boundary as untrusted
|
|
82
82
|
server functions.
|
|
83
83
|
|
|
84
|
-
##
|
|
84
|
+
## Working with `app.admin.json` (complement, not replacement)
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
`app.admin.json` stays the **canonical declarative config contract** — setup questions, config schema,
|
|
87
|
+
import fields, tunable settings, content hints. It's inspectable, validatable, deterministic, and
|
|
88
|
+
reused by many consumers at once (the admin form renderer, AI setup, a signup journey asking the same
|
|
89
|
+
questions, bulk import). Agent tools **do not replace it — they serve and adapt it**:
|
|
90
|
+
|
|
91
|
+
- Keep the declarative schema as the default and source of truth.
|
|
92
|
+
- When you want *dynamic, contextual* behaviour — "which questions for **this** collection?", "the
|
|
93
|
+
config schema as it stands right now", "apply these answers" — expose a small function/tool that
|
|
94
|
+
reads the declaration and returns a tailored result. **Static-first; dynamic only where it earns its
|
|
95
|
+
keep.**
|
|
96
|
+
|
|
97
|
+
There's no rip-and-replace and nothing to migrate off: an app happy with its `app.admin.json` keeps
|
|
98
|
+
it untouched.
|
|
90
99
|
|
|
91
100
|
## What ships now vs staged
|
|
92
101
|
|
|
@@ -96,16 +105,19 @@ capability-scoped actions** the agent invokes — with multi-turn and streaming.
|
|
|
96
105
|
| SDK types for it; tool descriptors surfaced for discovery | `tools/call` streaming, cancellation, cross-app toolbelt arbitration |
|
|
97
106
|
| Your handlers run today via http/event | Human-approval UX for `approval: "require"` |
|
|
98
107
|
|
|
99
|
-
## Adopting this in
|
|
108
|
+
## Adopting this — opt-in, per app, no fleet migration
|
|
109
|
+
|
|
110
|
+
Agent tools are **purely additive**. There is **no migration pass**, and nothing breaks if you never
|
|
111
|
+
adopt them — an existing app on the V2 SDK simply *gains the ability* to add them whenever you want.
|
|
112
|
+
You do **not** touch every app; you turn it on for one app at a time.
|
|
100
113
|
|
|
101
|
-
|
|
102
|
-
SDK). Roughly:
|
|
114
|
+
To turn them on for a single app (say, an FAQ app), once it's on the V2 SDK:
|
|
103
115
|
|
|
104
|
-
1. **Server functions** — add the `functions` block + build target + test harness
|
|
105
|
-
|
|
116
|
+
1. **Server functions** — add the `functions` block + build target + test harness if the app doesn't
|
|
117
|
+
already have them. See [server-functions.md](server-functions.md).
|
|
106
118
|
2. **Expose tools** — add the `agent` block to the functions you want the agent to call; give each a
|
|
107
|
-
title/description/input schema and an approval mode.
|
|
108
|
-
3. **Retire `app.admin.json` AI setup** — move any AI-authoring behaviour to tools; drop the
|
|
109
|
-
AI-schema block.
|
|
119
|
+
title / description / input schema and an approval mode.
|
|
110
120
|
|
|
111
|
-
|
|
121
|
+
That's it — declare and build. The live agent loop is staged (see the table above); until it ships,
|
|
122
|
+
your handlers still run via http/event, so declaring tools now is **forward-compatible, not
|
|
123
|
+
speculative breakage**. `app.admin.json` stays as-is throughout — nothing to retire.
|
package/docs/app-manifest.md
CHANGED
|
@@ -646,6 +646,8 @@ SmartLinks manifests are **AI-discoverable, -configurable, and -importable**: th
|
|
|
646
646
|
|
|
647
647
|
When you change your config shape, keep all three in sync: `app.manifest.json` (widget `settings`, containers, executor, linkable), `app.admin.json` (setup / import / tunable), and `ai-guide.md` (prose guidance).
|
|
648
648
|
|
|
649
|
+
This declarative model is canonical and works today. An app may **optionally** layer agent tools on top — a function that reads the declaration and returns a *context-adapted* result (e.g. "which setup questions for this collection?") — without changing the schema. That's additive and opt-in; see [agent-tools.md](agent-tools.md).
|
|
650
|
+
|
|
649
651
|
## Reading the Files at Runtime
|
|
650
652
|
|
|
651
653
|
### Manifest — available from the widgets endpoint
|
package/docs/overview.md
CHANGED
|
@@ -60,7 +60,7 @@ The SmartLinks SDK (`@proveanything/smartlinks`) includes comprehensive document
|
|
|
60
60
|
| **Mobile Admin Container** | `docs/mobile-admin-container.md` | Building a separate Capacitor-aware mobile admin bundle for field operators |
|
|
61
61
|
| **Executors** | `docs/executor.md` | Building executor bundles for SEO, LLM content, programmatic config |
|
|
62
62
|
| **Server Functions** | `docs/server-functions.md` | App-authored server-side functions `(ctx, event) ⇒ result`: security model, runtime surface, invoking |
|
|
63
|
-
| **Agent Tools** | `docs/agent-tools.md` | Exposing your app's actions to the SmartLinks agent — an MCP facade over server functions;
|
|
63
|
+
| **Agent Tools** | `docs/agent-tools.md` | Exposing your app's actions to the SmartLinks agent — an MCP facade over server functions; **opt-in per app, additive, no migration**; complements `app.admin.json` (functions serve/adapt it, don't replace it); live loop staged |
|
|
64
64
|
| **Deploying & Registering** | `docs/deploying-apps.md` | Getting your app into the platform: fast dev publish, channels, deploy keys, registering releases |
|
|
65
65
|
| **Host Dependency Contract (R5)** | `docs/host-dependency-contract.md` | The libraries the host provides (React 19, Router 7, Radix, liquidjs, …), the externalise-don't-bundle rule + Vite config, and React-18 backwards-compat |
|
|
66
66
|
| **Deep Linking** | `docs/deep-link-discovery.md` | URL state management, navigable states, portal menus, AI nav |
|