apps 0.0.1-beta.55 → 0.0.1-beta.59
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/README.md +15 -14
- package/framework-reference.json +1 -1
- package/js/{chunk-XCSG7FT7.js → chunk-J5QUUEK6.js} +1 -1
- package/js/{chunk-JK5S2N2S.js → chunk-MP2X75VS.js} +1 -1
- package/js/{chunk-QEBRH5AP.js → chunk-QNDZFQYQ.js} +25 -0
- package/js/{chunk-L4K2K22P.js → chunk-S5QJEWH7.js} +1 -1
- package/js/{chunk-BTSIG4NQ.js → chunk-V7W36RYE.js} +1 -1
- package/js/effect.js +2 -2
- package/js/graphql.js +3 -3
- package/js/host.js +2 -2
- package/js/mcp/effect.js +4 -4
- package/js/mcp/stdio.js +4 -4
- package/js/mcp.js +5 -5
- package/js/openapi.js +73 -29
- package/package.json +1 -1
- package/runtime.json +1 -1
- package/types/apps/src/contracts/openapi-compile.d.ts +50 -0
- package/types/apps/src/implementation/openapi-source.d.ts +12 -0
- package/types/apps/src/openapi.d.ts +1 -1
package/README.md
CHANGED
|
@@ -4,10 +4,14 @@ Author apps with ordinary TypeScript and Promises. Framework operations use
|
|
|
4
4
|
Effect v4 internally. The root export contains declarations and schemas;
|
|
5
5
|
protocol helpers have separate entry points.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
Install the exact version your Executor host runs: agents read it with the
|
|
8
|
+
Executor app's `framework.release`, and `executor apps framework` prints it. Run
|
|
9
|
+
`npm install --save-exact apps@<version>` and declare the same version in the
|
|
10
|
+
app's `package.json`. Do not install `apps@latest`; that tag is an unrelated,
|
|
11
|
+
earlier package. The package includes `framework-reference.json`, generated from
|
|
12
|
+
these declarations. The Executor app's `app-authoring` skill is the authoring
|
|
13
|
+
guide; [Author an app](https://v2.executor.sh/docs/author-an-app) summarizes
|
|
14
|
+
it. In this repository, `bun run pack` builds a local tarball.
|
|
11
15
|
|
|
12
16
|
```ts
|
|
13
17
|
import { defineApp } from "apps";
|
|
@@ -26,7 +30,7 @@ export default defineApp({ accounts: {} }, async ({ signal }) => ({
|
|
|
26
30
|
| `apps/mcp` | `mcpRouter`, `mcpHealth` | `@modelcontextprotocol/sdk` |
|
|
27
31
|
| `apps/mcp/stdio` | `stdioRouter` | `@modelcontextprotocol/sdk` |
|
|
28
32
|
| `apps/graphql` | `graphqlRouter` | `graphql` |
|
|
29
|
-
| `apps/openapi` | `
|
|
33
|
+
| `apps/openapi` | `liveOpenapiRouter` | None |
|
|
30
34
|
|
|
31
35
|
MCP and GraphQL are optional peers. Subpath imports isolate their module graphs;
|
|
32
36
|
optional peers keep unused libraries out of the dependency installation. The
|
|
@@ -122,7 +126,8 @@ returns `approved`, `denied`, or `user-approval`. It receives `toolName`, decode
|
|
|
122
126
|
`toolInput`, and `signal`. Reuse a policy function across tools or attach it when
|
|
123
127
|
composing generated tools. There is no app-level policy.
|
|
124
128
|
The framework enforces the decision before the selected tool body.
|
|
125
|
-
Human approval delivery is separate; Executor SDK call/resume persists the pending invocation.
|
|
129
|
+
Human approval delivery is separate; Executor SDK call/resume persists the pending invocation.
|
|
130
|
+
See [Tools and approvals](https://v2.executor.sh/docs/concepts/tools-and-approvals).
|
|
126
131
|
|
|
127
132
|
## Browser UI
|
|
128
133
|
|
|
@@ -172,8 +177,7 @@ Use the Promise client methods for one-time reads and explicit writes.
|
|
|
172
177
|
|
|
173
178
|
The product host supplies authentication and binds the browser to one configured
|
|
174
179
|
app. No app ID, account token or Executor API key belongs in UI code. New
|
|
175
|
-
activations reload open app pages.
|
|
176
|
-
and [hosting notes](../../notes/app-ui.md).
|
|
180
|
+
activations reload open app pages. The `live-inbox` example in `framework-reference.json` is a complete app with a UI.
|
|
177
181
|
|
|
178
182
|
## Webhooks
|
|
179
183
|
|
|
@@ -186,14 +190,13 @@ The SDK creates durable subscriptions with `executor.webhooks.create`. A
|
|
|
186
190
|
subscription pins its deployment and saved account IDs while resolving fresh
|
|
187
191
|
credentials on each invocation. `.many()` sources use one subscription per
|
|
188
192
|
selected source account. Local, self-host and cloud use the same author API.
|
|
189
|
-
|
|
190
|
-
[the GitHub/Gmail example](../../playground/demo-apps/issue-mail/webhooks.ts).
|
|
193
|
+
The app-authoring skill's `webhooks.md` covers the lifecycle and examples.
|
|
191
194
|
|
|
192
195
|
Providers without a webhook API can use
|
|
193
196
|
`setup: { instructions: "...", signingSecret: "executor" }`
|
|
194
197
|
instead of `register` and `unregister`. The private setup page collects the
|
|
195
198
|
`state` schema and the signing secret. Agents get a setup link and safe status
|
|
196
|
-
through the normal management API.
|
|
199
|
+
through the normal management API.
|
|
197
200
|
|
|
198
201
|
## Workflows
|
|
199
202
|
|
|
@@ -207,9 +210,7 @@ Start and inspect runs through `executor.apps.workflowRuns`. Inside an app,
|
|
|
207
210
|
queries can inspect `ctx.workflows`; mutations and webhooks can also start and
|
|
208
211
|
terminate runs. Workflow execution has no live `elicit` capability.
|
|
209
212
|
|
|
210
|
-
|
|
211
|
-
self-host recovery and v1 limits, and the
|
|
212
|
-
[repository report example](../../playground/demo-apps/workflow-report/) for a full app.
|
|
213
|
+
The app-authoring skill's `workflows.md` covers replay, idempotency and limits.
|
|
213
214
|
|
|
214
215
|
Local and self-host products run authored apps in Alchemy/workerd, using the
|
|
215
216
|
same Worker build format and app-data facets as Cloud. Host filesystem and
|