@nylorun/create-agent 0.6.0-beta → 0.7.0-beta
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 +19 -0
- package/README.md +9 -41
- package/compatibility.json +6 -3
- package/dist/compatibility.json +6 -3
- package/dist/contracts.d.ts +3 -0
- package/dist/scaffold.js +3 -1
- package/dist/starter/.env.example +7 -6
- package/dist/starter/README.md +19 -6
- package/dist/starter/_gitignore +2 -0
- package/dist/starter/agents/assistant/agent.ts +15 -3
- package/dist/starter/package.json +5 -6
- package/package.json +5 -3
- package/dist/starter/src/index.ts +0 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.7.0-beta
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c0e74f1: Migrate the creator to the SDK registry, separate local Runtime and connected executor. Replace the Hono app template with a text-and-tool starter and canonical session Studio.
|
|
8
|
+
- 41e613c: Ship the local SDK registry workflow with an independent SQLite Runtime, connected tool executor, authenticated Studio proxy, and a text-and-tool starter. Replace the legacy Hono starter and AG-UI transport. Require Node 24 and include the SDK in exact release compatibility pins.
|
|
9
|
+
|
|
10
|
+
Break the Harness execution import from `/engine` to `/run` and rename hosted execution APIs to durable execution APIs, including RunBinding, BoundRunOptions, and createRunState. Update all consumers without compatibility aliases; retain persisted checkpoint fields and version pins.
|
|
11
|
+
|
|
12
|
+
- 2898d02: Extract shared definitions and contracts into core and local orchestration into
|
|
13
|
+
CLI. Harness becomes execution-only; the SDK no longer installs the engine and
|
|
14
|
+
Runtime no longer depends on the SDK. Author applications through agents and
|
|
15
|
+
install cli for the unchanged nylorun commands. See the package architecture and
|
|
16
|
+
migration guide. Cloud installs published packages from npm independently.
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- Update the tested Harness, SDK, Runtime, and Studio compatibility combination.
|
|
21
|
+
|
|
3
22
|
## 0.6.0-beta
|
|
4
23
|
|
|
5
24
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -4,56 +4,24 @@
|
|
|
4
4
|
npm create @nylorun/agent@beta my-agent
|
|
5
5
|
```
|
|
6
6
|
|
|
7
|
-
Creates a project
|
|
7
|
+
Creates a Node 24 project with `@nylorun/agents`, `@nylorun/cli`, Zod, and optional Studio. The registry in `agents/index.ts` exports agent definitions. The starter includes one ordinary `lookup_order` tool; ask “Look up order demo-123”.
|
|
8
8
|
|
|
9
|
-
Creation installs dependencies, runs
|
|
10
|
-
|
|
11
|
-
## Configuration and recovery
|
|
12
|
-
|
|
13
|
-
Use `-- --skip-config` to start development without configuring a provider:
|
|
14
|
-
|
|
15
|
-
```sh
|
|
16
|
-
npm create @nylorun/agent@beta my-agent -- --skip-config
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Without interactive stdin and stdout, creation requires `--skip-config` and fails
|
|
20
|
-
before creating files when it is missing. `--yes` only affects installation; it
|
|
21
|
-
does not skip configuration. After skipping, run `npm run configure` inside the
|
|
22
|
-
project in another terminal before sending a message. Development and Studio
|
|
23
|
-
start immediately; provider configuration takes effect without restarting them.
|
|
24
|
-
|
|
25
|
-
If configuration fails or is cancelled, development does not start and the
|
|
26
|
-
created project is retained. Resume from its directory:
|
|
9
|
+
Creation installs dependencies, runs provider configuration, and starts development. Use `-- --no-studio` for headless development or `-- --no-open` to suppress browser opening. Noninteractive creation requires `-- --skip-config`; configure the retained project before running it. Without provider settings startup reports `nylorun configure`. `--yes` affects installation only.
|
|
27
10
|
|
|
28
11
|
```sh
|
|
29
12
|
cd my-agent
|
|
30
13
|
npm run configure
|
|
31
14
|
npm run dev
|
|
15
|
+
npm run build
|
|
16
|
+
npm start
|
|
32
17
|
```
|
|
33
18
|
|
|
34
|
-
|
|
35
|
-
SIGTERM exits with status 143. Cancelling setup also cancels pending authentication.
|
|
36
|
-
Configuration saves the provider selection and credentials; it does not make a
|
|
37
|
-
model request to validate connectivity.
|
|
38
|
-
|
|
39
|
-
## Maintaining examples
|
|
40
|
-
|
|
41
|
-
`starter/` is the canonical project template. `compatibility.json` pins tested Harness, Runtime, and Studio versions. `examples.recipe.json` explicitly adds local package references and test dependencies. Persistence and media stay in the authored examples catalog.
|
|
42
|
-
|
|
43
|
-
From the repository root:
|
|
44
|
-
|
|
45
|
-
```sh
|
|
46
|
-
npm run examples:sync
|
|
47
|
-
npm install --prefix examples
|
|
48
|
-
npm run examples:check
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
The renderer is shared by project creation, the isolated starter development runner, and examples synchronization. Sync owns shell files listed in `examples/.scaffold-manifest.json`, including `src/index.ts`, `package.json`, and TypeScript configuration; it never edits `agents/`, tests, other scripts, local model selection, credentials, or `.data/`. Edit generated configuration in the recipe or template. Conflicts with manual generated-file edits fail before any writes. CI checks the rendered shell and runs examples against the current stack. Package changes can require explicit adaptations in authored code; sync does not rewrite TypeScript imports.
|
|
19
|
+
Development restarts the Runtime and connected executor on source changes. Compiled start uses `dist/agents/index.js` and runs headless. Studio can attach separately. Local Runtime credentials and SQLite are stored in gitignored `.nylorun/`. Model selection remains Runtime configuration in `.env`; definitions have no model provider or `agent.run()`.
|
|
52
20
|
|
|
53
|
-
`npm run
|
|
21
|
+
`starter/` is the canonical template. `compatibility.json` pins core, harness, SDK, Runtime, Studio and CLI. The examples recipe adds local package dependencies. Run `npm run examples:sync` after template changes, then `npm install --prefix examples`. Sync preserves authored agents, tests, credentials, and local state; it rejects conflicting edits to generated files.
|
|
54
22
|
|
|
55
|
-
|
|
23
|
+
The default examples registry contains the release starter. Advanced examples remain outside that registry for later migration.
|
|
56
24
|
|
|
57
|
-
|
|
25
|
+
After building, `node create-agent/scripts/smoke-starter.mjs` installs packed packages outside the workspace and checks the actual Studio/tool workflow, history, reload, source restart, compiled start, headless mode, and shutdown. It uses a deterministic fixture without live provider calls. Browser checks require Chrome (or `NYLORUN_CHROME_PATH`).
|
|
58
26
|
|
|
59
|
-
|
|
27
|
+
See [RELEASING](../RELEASING.md) for the Changesets beta workflow. Nothing is published by the smoke check.
|
package/compatibility.json
CHANGED
package/dist/compatibility.json
CHANGED
package/dist/contracts.d.ts
CHANGED
package/dist/scaffold.js
CHANGED
|
@@ -22,7 +22,10 @@ export async function starterFiles(compatibility, studio) {
|
|
|
22
22
|
await walk(absolute);
|
|
23
23
|
else
|
|
24
24
|
files[templatePath(relative(root, absolute))] = (await readFile(absolute, "utf8"))
|
|
25
|
+
.replaceAll("{{CORE_VERSION}}", compatibility.core)
|
|
26
|
+
.replaceAll("{{CLI_VERSION}}", compatibility.cli)
|
|
25
27
|
.replaceAll("{{HARNESS_VERSION}}", compatibility.harness)
|
|
28
|
+
.replaceAll("{{AGENTS_VERSION}}", compatibility.agents)
|
|
26
29
|
.replaceAll("{{RUNTIME_VERSION}}", compatibility.runtime)
|
|
27
30
|
.replaceAll("{{STUDIO_VERSION}}", compatibility.studio);
|
|
28
31
|
}
|
|
@@ -36,7 +39,6 @@ export async function starterFiles(compatibility, studio) {
|
|
|
36
39
|
manifest.scripts.dev = "nylorun dev --no-studio";
|
|
37
40
|
delete manifest.scripts.studio;
|
|
38
41
|
files["package.json"] = JSON.stringify(manifest, null, 2) + "\n";
|
|
39
|
-
files["README.md"] = files["README.md"].replace("`npm run dev` starts your app on port 3000, waits until its agent endpoint is ready, then starts Studio and opens it in your browser. Use `npm run dev -- --no-open` to start Studio without opening a browser. Run `npm run studio` in another terminal to attach Studio separately.", "`npm run dev` starts your app on port 3000.");
|
|
40
42
|
}
|
|
41
43
|
return Object.freeze(files);
|
|
42
44
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
#
|
|
2
|
-
MODEL_PROVIDER
|
|
3
|
-
MODEL
|
|
4
|
-
MODEL_PROVIDER_API_KEY
|
|
5
|
-
#
|
|
6
|
-
#
|
|
1
|
+
# Prefer npm run configure; model configuration belongs to the Runtime.
|
|
2
|
+
# MODEL_PROVIDER=...
|
|
3
|
+
# MODEL=...
|
|
4
|
+
# MODEL_PROVIDER_API_KEY=...
|
|
5
|
+
# MODEL_PROVIDER_BASE_URL=... # only for a custom provider
|
|
6
|
+
# PORT=8787
|
|
7
|
+
# NYLORUN_IMPLEMENTATION_VERSION=dev
|
package/dist/starter/README.md
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
# My agent
|
|
1
|
+
# My Nylorun agent
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Edit agents under `agents/` and compose your Hono app in `src/index.ts`.
|
|
3
|
+
Requires Node 24 and npm 11. Agent and tool definitions live in `agents/`. The CLI runs a separate SQLite Runtime and connects your tools through the SDK's authenticated SSE executor.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
```sh
|
|
6
|
+
npm run configure
|
|
7
|
+
npm run dev
|
|
8
|
+
```
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
Open Studio and ask **Look up order demo-123**. The local tool returns `shipped`; Studio shows the tool call and assistant response. Model calls use your configured provider and may incur its usual charges.
|
|
9
11
|
|
|
10
|
-
`
|
|
12
|
+
`npm run dev -- --no-open` avoids opening a browser. `--no-studio` runs headless. Use `npm run studio` to attach separately. Runtime defaults to `http://127.0.0.1:8787`; `PORT` changes it. Studio chooses a free port starting at 4161.
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
npm run build
|
|
16
|
+
npm start
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Compiled start runs Runtime and executor without Studio or watching. Studio can attach in a separate terminal. `agents/index.ts` exports the registry; there is no Hono app to maintain. Source edits restart the local development stack. Start a new session after changing definitions or implementations; active-session upgrades are not supported.
|
|
20
|
+
|
|
21
|
+
Local credentials and SQLite live in gitignored `.nylorun/`. Keep this directory private. Credentials are generated automatically and kept out of browser configuration. Ordinary shutdown/restart preserves completed session history. `NYLORUN_IMPLEMENTATION_VERSION` defaults to `dev`; assign an explicit version when changing a versioned implementation.
|
|
22
|
+
|
|
23
|
+
This beta supports local text and ordinary tools. Advanced waits, media, MCP, subagents, deployment, reconciliation and broad recovery guarantees are deferred. `NYLORUN_DEV_MODEL=fixture` is a credential-free release-check fixture for this starter; it is not a general model.
|
package/dist/starter/_gitignore
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
import { Agent } from "@nylorun/
|
|
1
|
+
import { Agent, tool } from "@nylorun/agents";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
|
|
4
|
+
const lookupOrder = tool({
|
|
5
|
+
name: "lookup_order",
|
|
6
|
+
description: "Look up a sample order by ID. Try demo-123.",
|
|
7
|
+
input: z.object({ orderId: z.string() }),
|
|
8
|
+
output: z.object({ orderId: z.string(), status: z.string() }),
|
|
9
|
+
async run({ orderId }) {
|
|
10
|
+
return { orderId, status: orderId === "demo-123" ? "shipped" : "not found" };
|
|
11
|
+
},
|
|
12
|
+
});
|
|
2
13
|
|
|
3
14
|
export const assistant = Agent({
|
|
4
15
|
id: "assistant",
|
|
5
|
-
name: "
|
|
6
|
-
instructions:
|
|
16
|
+
name: "Order assistant",
|
|
17
|
+
instructions: "Help with orders. Always use lookup_order for order questions. Remember conversation context.",
|
|
18
|
+
tools: [lookupOrder],
|
|
7
19
|
}).build();
|
|
@@ -4,21 +4,20 @@
|
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=
|
|
7
|
+
"node": ">=24.0.0"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"configure": "nylorun configure",
|
|
11
11
|
"dev": "nylorun dev",
|
|
12
|
-
"studio": "nylorun studio --
|
|
12
|
+
"studio": "nylorun studio --runtime-url http://127.0.0.1:8787",
|
|
13
13
|
"build": "node -e \"import('node:fs/promises').then(async ({rm,cp}) => { await rm('dist', { recursive: true, force: true }); await cp('agents', 'dist/agents', { recursive: true, filter: (source) => !source.endsWith('.ts') }); })\" && tsc -p tsconfig.json",
|
|
14
14
|
"start": "nylorun start",
|
|
15
15
|
"check": "tsc --noEmit"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"
|
|
19
|
-
"@nylorun/
|
|
20
|
-
"
|
|
21
|
-
"zod": "^4.1.12"
|
|
18
|
+
"zod": "^4.5.4",
|
|
19
|
+
"@nylorun/agents": "{{AGENTS_VERSION}}",
|
|
20
|
+
"@nylorun/cli": "{{CLI_VERSION}}"
|
|
22
21
|
},
|
|
23
22
|
"devDependencies": {
|
|
24
23
|
"@nylorun/studio": "{{STUDIO_VERSION}}",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nylorun/create-agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0-beta",
|
|
4
4
|
"description": "Create a local Nylorun Harness agent project.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"provenance": true
|
|
27
27
|
},
|
|
28
28
|
"engines": {
|
|
29
|
-
"node": ">=
|
|
29
|
+
"node": ">=24.0.0"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "npm run clean && node ../scripts/check-typescript-version.mjs && tsc -p tsconfig.json && node scripts/copy-compatibility.mjs",
|
|
@@ -45,6 +45,8 @@
|
|
|
45
45
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
46
46
|
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
47
47
|
"vitest": "^5.0.0",
|
|
48
|
-
"zod": "^4.1.12"
|
|
48
|
+
"zod": "^4.1.12",
|
|
49
|
+
"@nylorun/core": "file:../core",
|
|
50
|
+
"@nylorun/agents": "file:../agents"
|
|
49
51
|
}
|
|
50
52
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Hono } from "hono";
|
|
2
|
-
import { Runtime, serveAgents } from "@nylorun/runtime";
|
|
3
|
-
import { agents } from "../agents/index.js";
|
|
4
|
-
|
|
5
|
-
const app = new Hono();
|
|
6
|
-
|
|
7
|
-
app.get("/", (c) =>
|
|
8
|
-
c.json({
|
|
9
|
-
agents: agents.map((agent) => ({
|
|
10
|
-
id: agent.id,
|
|
11
|
-
name: agent.name,
|
|
12
|
-
manifest: agent.manifest,
|
|
13
|
-
})),
|
|
14
|
-
}),
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
const runtime = new Runtime();
|
|
18
|
-
app.route(
|
|
19
|
-
"/agents",
|
|
20
|
-
serveAgents({ agents, runtime })
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
export default app;
|