nativeapptemplate-agent 0.3.0 → 0.3.1
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/AGENTS.md +6 -4
- package/README.md +9 -9
- package/dist/agents/judge.d.ts.map +1 -1
- package/dist/agents/judge.js +3 -2
- package/dist/agents/judge.js.map +1 -1
- package/dist/agents/planner.d.ts +92 -0
- package/dist/agents/planner.d.ts.map +1 -1
- package/dist/agents/planner.js +93 -69
- package/dist/agents/planner.js.map +1 -1
- package/dist/agents/repair.d.ts +2 -0
- package/dist/agents/repair.d.ts.map +1 -1
- package/dist/agents/repair.js +25 -16
- package/dist/agents/repair.js.map +1 -1
- package/dist/dispatch.d.ts.map +1 -1
- package/dist/dispatch.js +2 -1
- package/dist/dispatch.js.map +1 -1
- package/dist/models.d.ts +11 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +27 -0
- package/dist/models.js.map +1 -0
- package/dist/report/render.js +1 -1
- package/dist/report/render.js.map +1 -1
- package/dist/slug.js +1 -1
- package/dist/slug.js.map +1 -1
- package/dist/structured-output.d.ts +6 -0
- package/dist/structured-output.d.ts.map +1 -0
- package/dist/structured-output.js +32 -0
- package/dist/structured-output.js.map +1 -0
- package/dist/validation/layer3.d.ts +21 -0
- package/dist/validation/layer3.d.ts.map +1 -1
- package/dist/validation/layer3.js +65 -51
- package/dist/validation/layer3.js.map +1 -1
- package/dist/validation/stage2-judge.d.ts.map +1 -1
- package/dist/validation/stage2-judge.js +2 -1
- package/dist/validation/stage2-judge.js.map +1 -1
- package/dist/validation/visual-judge.d.ts +1 -0
- package/dist/validation/visual-judge.d.ts.map +1 -1
- package/dist/validation/visual-judge.js +8 -2
- package/dist/validation/visual-judge.js.map +1 -1
- package/package.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -10,9 +10,11 @@ Project-wide instructions for AI coding agents (Claude Code, Codex, etc.). Keep
|
|
|
10
10
|
|
|
11
11
|
## Model
|
|
12
12
|
|
|
13
|
-
- Use `claude-opus-
|
|
14
|
-
- Requires Claude Agent SDK `>= 0.
|
|
15
|
-
-
|
|
13
|
+
- Use `claude-opus-5-5` for all agent invocations. Model ids and per-role effort live in `src/models.ts` — a model bump is a one-line change there.
|
|
14
|
+
- Requires Claude Agent SDK `>= 0.3.286` and `@anthropic-ai/sdk >= 0.131.0`.
|
|
15
|
+
- Opus 5.5 always thinks: do not send `thinking` (`disabled` and `budget_tokens` are 400s). Set `output_config.effort` explicitly — the default is `medium`.
|
|
16
|
+
- Forced `tool_choice` (`any` / `tool`) is a 400: get JSON back with structured outputs (`output_config.format`) instead. No `temperature` / `top_p`, no assistant prefill.
|
|
17
|
+
- Check `stop_reason` (`refusal`, `max_tokens`) before reading content. Messages API calls opt into server-side refusal fallbacks (`fallbacks: "default"`, beta `server-side-fallback-2026-07-01`).
|
|
16
18
|
|
|
17
19
|
## Stack
|
|
18
20
|
|
|
@@ -96,7 +98,7 @@ Three clean operations on the substrate (details in `docs/SPEC.md` section 4):
|
|
|
96
98
|
|
|
97
99
|
1. **Structural** — ripgrep for leftover domain tokens + OpenAPI contract parity (Rails ↔ iOS ↔ Android).
|
|
98
100
|
2. **Runtime** — Rails boots, iOS builds & launches, Android builds & launches (Stage 1); UI-driven CRUD scenario via mobile-mcp (Stage 2).
|
|
99
|
-
3. **Semantic** — Opus
|
|
101
|
+
3. **Semantic** — Opus 5.5 as judge (text + vision) scoring against a structured rubric. Three runs per screenshot, take the median.
|
|
100
102
|
|
|
101
103
|
## Guardrails
|
|
102
104
|
|
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Coherent across all three, in under an hour.
|
|
|
17
17
|
npx nativeapptemplate-agent "a walk-in clinic queue for small veterinary practices" --project-name="VetClinic"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
> **Status: 0.3.
|
|
20
|
+
> **Status: 0.3.1 stable.** First built during [Built with Opus 4.7: a Claude Code Hackathon](https://cerebralvalley.ai/e/built-with-4-7-hackathon) (April 21–27, 2026); shipped to npm post-hackathon. Verified end-to-end on the three demo specs below from a fresh `/tmp/` cwd — the full 3-spec × 2-edition × 2-platform matrix is green at `NATIVEAPPTEMPLATE_VISUAL=2` (see the [matrix](#demo)). Stage 2 (scripted-CRUD walk-through via `mobile-mcp` against a live Rails server) and paid-edition parity validation landed post-launch. Active development continues — see the [roadmap](./ROADMAP.md) for what's next.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -101,7 +101,7 @@ Three demo specs, both adapt and replace paths, all four validation layers green
|
|
|
101
101
|
| `"a restaurant waitlist for casual dining"` | `Shop → Restaurant`, `Shopkeeper → Host` | adapt | Layer 1 3/3 · Layer 2 3/3 · Layer 3 2/2 · Reviewer PASS |
|
|
102
102
|
| `"a personal task tracker with due dates"` | `ItemTag → Todo` (replaces queue entry entirely) | replace | Layer 1 3/3 · Layer 2 3/3 · Layer 3 2/2 · Reviewer PASS |
|
|
103
103
|
|
|
104
|
-
Layer 2 ran in build mode — real `xcodebuild build` and `./gradlew assembleDebug`, full app builds installed on iPhone 17 Pro simulator and Android emulator. Layer 3 captured the home-screen via `xcrun simctl io booted screenshot` / `adb exec-out screencap` and judged against the rubric using Opus
|
|
104
|
+
Layer 2 ran in build mode — real `xcodebuild build` and `./gradlew assembleDebug`, full app builds installed on iPhone 17 Pro simulator and Android emulator. Layer 3 captured the home-screen via `xcrun simctl io booted screenshot` / `adb exec-out screencap` and judged against the rubric using Opus 5.5 vision (median of 3 samples per criterion). With `NATIVEAPPTEMPLATE_VISUAL=2`, Layer 2 additionally drives a scripted-CRUD walk-through via `mobile-mcp` against a live Rails server — Welcome → Sign Up → email-confirm via `bin/rails runner` → Sign In → drill into the auto-seeded sample — and Layer 3 then judges the post-walk screenshot against a domain-content rubric.
|
|
105
105
|
|
|
106
106
|
The agent works on either the **free (MIT) edition** or the **paid edition** without code changes — the same pipeline handles both substrates; multi-tenant features (org switching, invitations, role permissions) survive the rename pipeline when targeting paid. The agent tests paid first because free is a strict subset of paid; running paid first catches regressions that wouldn't surface against free alone.
|
|
107
107
|
|
|
@@ -131,14 +131,14 @@ End-to-end wall-clock per run, measured from `report.json`'s `meta.durationMs` o
|
|
|
131
131
|
|
|
132
132
|
Cold builds, first-run cocoapods/gradle dependency resolution, or unbooted simulators add a one-time minute or two. The self-repair loop (opt-in, hard-capped at 5 iterations) can extend a failing run substantially — budget for it if you set `NATIVEAPPTEMPLATE_REPAIR=on`.
|
|
133
133
|
|
|
134
|
-
**Cost** scales with model usage, not wall-clock. The agent makes real `claude-opus-
|
|
134
|
+
**Cost** scales with model usage, not wall-clock. The agent makes real `claude-opus-5-5` API calls (the planner, the Layer 3 vision judge, and the opt-in self-repair agent) and a single VISUAL=2 run consumes tens of thousands of tokens across multiple sub-agents. Set a workspace spend cap (see [Security](#security)) as a backstop — the agent exits non-zero on validation failure, but doesn't gate on spend itself.
|
|
135
135
|
|
|
136
136
|
## Architecture
|
|
137
137
|
|
|
138
138
|
```mermaid
|
|
139
139
|
flowchart LR
|
|
140
140
|
Spec["Natural-language spec<br/>(e.g. walk-in clinic queue)"] --> Agent
|
|
141
|
-
subgraph Agent["Claude Code Agent · Opus
|
|
141
|
+
subgraph Agent["Claude Code Agent · Opus 5.5"]
|
|
142
142
|
Planner --> Workers
|
|
143
143
|
Workers --> Reviewer
|
|
144
144
|
Reviewer --> Judge
|
|
@@ -219,8 +219,8 @@ The same generator also ships as an MCP server — `npx -y -p nativeapptemplate-
|
|
|
219
219
|
## Requirements
|
|
220
220
|
|
|
221
221
|
- [Node.js](https://nodejs.org) 22+
|
|
222
|
-
- [Claude Agent SDK](https://github.com/anthropics/claude-agent-sdk-typescript) v0.
|
|
223
|
-
- An [Anthropic API key](https://console.anthropic.com/settings/keys) with access to `claude-opus-
|
|
222
|
+
- [Claude Agent SDK](https://github.com/anthropics/claude-agent-sdk-typescript) v0.3.286 or later and `@anthropic-ai/sdk` v0.131.0 or later (needed for Opus 5.5; both are installed as dependencies)
|
|
223
|
+
- An [Anthropic API key](https://console.anthropic.com/settings/keys) with access to `claude-opus-5-5`, exported as `ANTHROPIC_API_KEY`:
|
|
224
224
|
```bash
|
|
225
225
|
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
226
226
|
```
|
|
@@ -237,7 +237,7 @@ The same generator also ships as an MCP server — `npx -y -p nativeapptemplate-
|
|
|
237
237
|
|
|
238
238
|
### Optional flags
|
|
239
239
|
|
|
240
|
-
- `NATIVEAPPTEMPLATE_VISUAL=1` — opts the run into Stage 1 visual judging (Layer 3). When set, Layer 2 runs in **build mode** instead of fast mode (full `xcodebuild build` + `./gradlew assembleDebug`), then for each platform the agent installs the app on the booted sim/emulator, captures the home screen, and judges it with Opus
|
|
240
|
+
- `NATIVEAPPTEMPLATE_VISUAL=1` — opts the run into Stage 1 visual judging (Layer 3). When set, Layer 2 runs in **build mode** instead of fast mode (full `xcodebuild build` + `./gradlew assembleDebug`), then for each platform the agent installs the app on the booted sim/emulator, captures the home screen, and judges it with Opus 5.5 vision against `DEFAULT_STAGE1_RUBRIC`. Adds 60-180s per platform depending on cold-build time. Requires a sim/emulator booted for each platform you want judged. Off by default — `npm run dev` keeps the existing fast path.
|
|
241
241
|
- `NATIVEAPPTEMPLATE_VISUAL=2` — implies `=1` and additionally runs **Stage 2**: the agent boots the generated Rails app under `mise exec -- bin/dev` (after `bundle install` + `bin/rails db:prepare` + `bin/rails db:seed_fu`), waits for it to listen, then drives the iOS sim and Android emulator through the parameterized queue scenario (Sign Up → email-confirm via `bin/rails runner` → Sign In → drill into auto-seeded sample). Layer 3 then judges the last captured screenshot against `DEFAULT_STAGE2_RUBRIC` (domain content + no substrate-token leak). Adds 2–4 minutes per platform on top of `=1`. Requires both sims/emulators booted and the substrate's `mise` toolchain installed for `bin/dev`.
|
|
242
242
|
- `NATIVEAPPTEMPLATE_REPAIR` — opts into the bounded self-repair loop. Set `on` (or a positive integer N, hard-capped at 5) to enable. When the first validation pass fails on a **code-repairable** layer — Layer 1 leftover substrate tokens or Layer 2 build/compile errors — the agent runs a Claude Agent SDK repair pass scoped to the failing generated project (Read/Edit/Bash inside `out/<slug>/<platform>/` only), re-validates that platform, and repeats up to the cap. Each attempt is recorded in the validation report's self-repair table. Layer 3 (vision) and contract-reviewer misses are surfaced but not auto-repaired (a Layer 3 miss is usually environmental, not a source bug). Off by default; when the loop can't close the failures the agent still exits non-zero.
|
|
243
243
|
- `NATIVEAPPTEMPLATE_BRIDGE=off` — skip writing to `~/.gradle/gradle.properties`. The agent normally mirrors `NATIVEAPPTEMPLATE_API_*` (HOST/PORT/SCHEME) into renamed-product variants (`<PRODUCT>_API_*`) at run time so the generated Android app picks them up via `gradle.properties` and the iOS sim launch picks them up via `SIMCTL_CHILD_*`. Set this to disable the file write (process.env injection still runs for child-spawn paths).
|
|
@@ -256,7 +256,7 @@ The agent doesn't just generate code and exit — it validates the output.
|
|
|
256
256
|
|
|
257
257
|
1. **Structural.** `ripgrep` for leftover domain tokens; OpenAPI contract parity check between Rails, iOS networking, and Android repository layers. A silent rename inconsistency fails the run before any tests execute.
|
|
258
258
|
2. **Runtime.** Verify the generated Rails app boots (`bin/rails runner 'puts OK'`); type-check or build the iOS and Android apps. With `NATIVEAPPTEMPLATE_VISUAL=1`, escalate to a full build (`xcodebuild build` + `./gradlew assembleDebug`) and install on the booted sim/emulator. With `=2`, additionally boot the live Rails server and drive a scripted CRUD walk-through via [`mobile-next/mobile-mcp`](https://github.com/mobile-next/mobile-mcp). A walk step that doesn't reach its expected screen fails the run.
|
|
259
|
-
3. **Semantic.** Opus
|
|
259
|
+
3. **Semantic.** Opus 5.5 as judge — scores whether the generated code and rendered UI actually express the intended domain. Vision judges read simulator/emulator screenshots directly.
|
|
260
260
|
|
|
261
261
|
See [`docs/SPEC.md`](./docs/SPEC.md) for the full design.
|
|
262
262
|
|
|
@@ -339,7 +339,7 @@ MIT. See [`LICENSE`](./LICENSE).
|
|
|
339
339
|
|
|
340
340
|
## Acknowledgments
|
|
341
341
|
|
|
342
|
-
- [Anthropic](https://www.anthropic.com) for Claude Opus 4.7 and Claude Code
|
|
342
|
+
- [Anthropic](https://www.anthropic.com) for Claude Opus (4.7 during the hackathon, 5.5 today) and Claude Code
|
|
343
343
|
- [Cerebral Valley](https://cerebralvalley.ai) for running the hackathon
|
|
344
344
|
- [`mobile-next/mobile-mcp`](https://github.com/mobile-next/mobile-mcp) for making mobile UI automation actually workable from an agent
|
|
345
345
|
- [MyTurnTag Creator](https://myturntag.com) users, whose real-world queue management taught me which abstractions survive and which don't
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../../src/agents/judge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"judge.d.ts","sourceRoot":"","sources":["../../src/agents/judge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAa,KAAK,UAAU,EAAqB,MAAM,yBAAyB,CAAC;AAMxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAGX,cAAc,EAGd,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,YAAY,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAWF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QACP,mBAAmB,EAAE,MAAM,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;KACrC,CAAC;CACH,CAAC;AAQF,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAkEtE"}
|
package/dist/agents/judge.js
CHANGED
|
@@ -2,6 +2,7 @@ import { resolve } from "node:path";
|
|
|
2
2
|
import { setTimeout as sleep } from "node:timers/promises";
|
|
3
3
|
import { trace } from "../trace.js";
|
|
4
4
|
import { isStub } from "../stub.js";
|
|
5
|
+
import { JUDGE_MODEL } from "../models.js";
|
|
5
6
|
import { createMobileClient } from "../mobile.js";
|
|
6
7
|
import { runLayer1 } from "../validation/layer1.js";
|
|
7
8
|
import { runLayer2 } from "../validation/layer2.js";
|
|
@@ -36,7 +37,7 @@ export async function runJudge(input) {
|
|
|
36
37
|
layer3Summary = formatLayer3Summary(visualReport);
|
|
37
38
|
}
|
|
38
39
|
else {
|
|
39
|
-
trace("judge",
|
|
40
|
+
trace("judge", `Layer 3 (semantic, ${JUDGE_MODEL} vision judge) — visual config not provided; skipped`);
|
|
40
41
|
}
|
|
41
42
|
const layer1Layer2Pass = reports.every((r) => r.layer1.pass && r.layer2.pass);
|
|
42
43
|
const visualPass = visualReport
|
|
@@ -241,7 +242,7 @@ async function runStubJudge() {
|
|
|
241
242
|
await delay(400);
|
|
242
243
|
trace("judge", "Layer 2: PASS (scripted CRUD walk)");
|
|
243
244
|
await delay(100);
|
|
244
|
-
trace("judge",
|
|
245
|
+
trace("judge", `Layer 3 (semantic): ${JUDGE_MODEL} judge, median of 3 runs`);
|
|
245
246
|
await delay(300);
|
|
246
247
|
trace("judge", "Layer 3: PASS (semantic score above threshold)");
|
|
247
248
|
return { overallPass: true, summary: "Layer 1/2/3 PASS" };
|
package/dist/agents/judge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../../src/agents/judge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"judge.js","sourceRoot":"","sources":["../../src/agents/judge.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/planner.d.ts
CHANGED
|
@@ -1,4 +1,96 @@
|
|
|
1
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
1
2
|
import type { DomainSpec } from "./types.js";
|
|
2
3
|
export declare const SYSTEM_PROMPT: string;
|
|
4
|
+
export declare const DOMAIN_SPEC_SCHEMA: {
|
|
5
|
+
readonly type: "object";
|
|
6
|
+
readonly properties: {
|
|
7
|
+
readonly slug: {
|
|
8
|
+
readonly type: "string";
|
|
9
|
+
readonly description: "kebab-case filesystem slug matching ^[a-z0-9][a-z0-9-]*$, e.g. 'clinic-queue'";
|
|
10
|
+
};
|
|
11
|
+
readonly displayName: {
|
|
12
|
+
readonly type: "string";
|
|
13
|
+
readonly description: "Human-readable name, e.g. 'Clinic Queue'";
|
|
14
|
+
};
|
|
15
|
+
readonly entities: {
|
|
16
|
+
readonly type: "array";
|
|
17
|
+
readonly items: {
|
|
18
|
+
readonly type: "object";
|
|
19
|
+
readonly properties: {
|
|
20
|
+
readonly name: {
|
|
21
|
+
readonly type: "string";
|
|
22
|
+
readonly description: "Entity name in PascalCase";
|
|
23
|
+
};
|
|
24
|
+
readonly replaces: {
|
|
25
|
+
readonly type: "string";
|
|
26
|
+
readonly description: "Which substrate type this replaces: Shop, Shopkeeper, or ItemTag";
|
|
27
|
+
};
|
|
28
|
+
readonly fields: {
|
|
29
|
+
readonly type: "array";
|
|
30
|
+
readonly items: {
|
|
31
|
+
readonly type: "object";
|
|
32
|
+
readonly properties: {
|
|
33
|
+
readonly name: {
|
|
34
|
+
readonly type: "string";
|
|
35
|
+
};
|
|
36
|
+
readonly type: {
|
|
37
|
+
readonly type: "string";
|
|
38
|
+
readonly enum: readonly ["string", "integer", "boolean", "datetime", "reference"];
|
|
39
|
+
};
|
|
40
|
+
readonly references: {
|
|
41
|
+
readonly type: "string";
|
|
42
|
+
readonly description: "If type=reference, the target entity name";
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
readonly required: readonly ["name", "type"];
|
|
46
|
+
readonly additionalProperties: false;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
readonly states: {
|
|
50
|
+
readonly type: "array";
|
|
51
|
+
readonly items: {
|
|
52
|
+
readonly type: "string";
|
|
53
|
+
};
|
|
54
|
+
readonly description: "Optional state-machine states for this entity";
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
readonly required: readonly ["name", "replaces", "fields"];
|
|
58
|
+
readonly additionalProperties: false;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
readonly renamePlan: {
|
|
62
|
+
readonly type: "array";
|
|
63
|
+
readonly items: {
|
|
64
|
+
readonly type: "object";
|
|
65
|
+
readonly properties: {
|
|
66
|
+
readonly from: {
|
|
67
|
+
readonly type: "string";
|
|
68
|
+
readonly description: "Substrate token, e.g. 'Shop'";
|
|
69
|
+
};
|
|
70
|
+
readonly to: {
|
|
71
|
+
readonly type: "string";
|
|
72
|
+
readonly description: "Replacement token, e.g. 'Clinic'";
|
|
73
|
+
};
|
|
74
|
+
readonly toJa: {
|
|
75
|
+
readonly type: "string";
|
|
76
|
+
readonly description: "Shop and ItemTag only: the Japanese noun for the target, e.g. '医院'";
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
readonly required: readonly ["from", "to"];
|
|
80
|
+
readonly additionalProperties: false;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
readonly jsonApiContract: {
|
|
84
|
+
readonly type: "object";
|
|
85
|
+
readonly description: "Placeholder JSON:API contract object; empty {} for now (a later reviewer sub-agent expands it)";
|
|
86
|
+
readonly properties: {};
|
|
87
|
+
readonly additionalProperties: false;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
readonly required: readonly ["slug", "displayName", "entities", "renamePlan", "jsonApiContract"];
|
|
91
|
+
readonly additionalProperties: false;
|
|
92
|
+
};
|
|
93
|
+
export declare function buildPlannerRequest(spec: string): Anthropic.Beta.Messages.MessageCreateParamsNonStreaming;
|
|
94
|
+
export declare function parsePlannerResponse(response: Anthropic.Beta.Messages.BetaMessage): DomainSpec;
|
|
3
95
|
export declare function runPlanner(spec: string): Promise<DomainSpec>;
|
|
4
96
|
//# sourceMappingURL=planner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAG1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAU7C,eAAO,MAAM,aAAa,QAkC6H,CAAC;AAMxJ,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DrB,CAAC;AAKX,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAazG;AAID,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,UAAU,CAM9F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBlE"}
|
package/dist/agents/planner.js
CHANGED
|
@@ -2,8 +2,12 @@ import Anthropic from "@anthropic-ai/sdk";
|
|
|
2
2
|
import { trace } from "../trace.js";
|
|
3
3
|
import { isStub } from "../stub.js";
|
|
4
4
|
import { BILLING_RESERVED, ERROR_MONITORING_RESERVED, STDLIB_RESERVED, SUBSTRATE_RESERVED } from "../reserved-words.js";
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { FALLBACK_BETA, FALLBACKS, PLANNER_EFFORT, PLANNER_MODEL } from "../models.js";
|
|
6
|
+
import { isValidSlug } from "../slug.js";
|
|
7
|
+
import { readStructuredJson, usageLine } from "../structured-output.js";
|
|
8
|
+
// Opus 5.5 always thinks, and thinking counts toward max_tokens: leave room
|
|
9
|
+
// for it on top of the DomainSpec JSON.
|
|
10
|
+
const MAX_TOKENS = 16000;
|
|
7
11
|
export const SYSTEM_PROMPT = `You are a domain modeler for a three-platform SaaS code generator. You receive a one-sentence natural-language specification of a SaaS product and output a structured DomainSpec that drives code generation across Rails 8.1 (API), SwiftUI (iOS), and Jetpack Compose (Android).
|
|
8
12
|
|
|
9
13
|
The substrate you specialize is a walk-in queue management system. Its generic types are:
|
|
@@ -39,69 +43,100 @@ For the Shop and ItemTag renames, also give toJa: the natural Japanese noun a Ja
|
|
|
39
43
|
Never emit identity rename pairs (from === to). If the target happens to equal the source, pick a different target.
|
|
40
44
|
|
|
41
45
|
slug must be kebab-case and filesystem-safe. Keep entities tight (2-4 per spec). Keep jsonApiContract minimal — a later reviewer sub-agent expands it.`;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
},
|
|
73
|
-
required: ["name", "type"],
|
|
46
|
+
// JSON schema for the planner's structured output (output_config.format).
|
|
47
|
+
// Structured outputs need additionalProperties: false on every object and
|
|
48
|
+
// don't support `pattern`, so the slug rule lives in the description and is
|
|
49
|
+
// checked after parsing (isValidSlug).
|
|
50
|
+
export const DOMAIN_SPEC_SCHEMA = {
|
|
51
|
+
type: "object",
|
|
52
|
+
properties: {
|
|
53
|
+
slug: {
|
|
54
|
+
type: "string",
|
|
55
|
+
description: "kebab-case filesystem slug matching ^[a-z0-9][a-z0-9-]*$, e.g. 'clinic-queue'",
|
|
56
|
+
},
|
|
57
|
+
displayName: {
|
|
58
|
+
type: "string",
|
|
59
|
+
description: "Human-readable name, e.g. 'Clinic Queue'",
|
|
60
|
+
},
|
|
61
|
+
entities: {
|
|
62
|
+
type: "array",
|
|
63
|
+
items: {
|
|
64
|
+
type: "object",
|
|
65
|
+
properties: {
|
|
66
|
+
name: { type: "string", description: "Entity name in PascalCase" },
|
|
67
|
+
replaces: { type: "string", description: "Which substrate type this replaces: Shop, Shopkeeper, or ItemTag" },
|
|
68
|
+
fields: {
|
|
69
|
+
type: "array",
|
|
70
|
+
items: {
|
|
71
|
+
type: "object",
|
|
72
|
+
properties: {
|
|
73
|
+
name: { type: "string" },
|
|
74
|
+
type: { type: "string", enum: ["string", "integer", "boolean", "datetime", "reference"] },
|
|
75
|
+
references: { type: "string", description: "If type=reference, the target entity name" },
|
|
74
76
|
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
type: "array",
|
|
78
|
-
items: { type: "string" },
|
|
79
|
-
description: "Optional state-machine states for this entity",
|
|
77
|
+
required: ["name", "type"],
|
|
78
|
+
additionalProperties: false,
|
|
80
79
|
},
|
|
81
80
|
},
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
type: "array",
|
|
87
|
-
items: {
|
|
88
|
-
type: "object",
|
|
89
|
-
properties: {
|
|
90
|
-
from: { type: "string", description: "Substrate token, e.g. 'Shop'" },
|
|
91
|
-
to: { type: "string", description: "Replacement token, e.g. 'Clinic'" },
|
|
92
|
-
toJa: { type: "string", description: "Shop and ItemTag only: the Japanese noun for the target, e.g. '医院'" },
|
|
81
|
+
states: {
|
|
82
|
+
type: "array",
|
|
83
|
+
items: { type: "string" },
|
|
84
|
+
description: "Optional state-machine states for this entity",
|
|
93
85
|
},
|
|
94
|
-
required: ["from", "to"],
|
|
95
86
|
},
|
|
87
|
+
required: ["name", "replaces", "fields"],
|
|
88
|
+
additionalProperties: false,
|
|
96
89
|
},
|
|
97
|
-
|
|
90
|
+
},
|
|
91
|
+
renamePlan: {
|
|
92
|
+
type: "array",
|
|
93
|
+
items: {
|
|
98
94
|
type: "object",
|
|
99
|
-
|
|
95
|
+
properties: {
|
|
96
|
+
from: { type: "string", description: "Substrate token, e.g. 'Shop'" },
|
|
97
|
+
to: { type: "string", description: "Replacement token, e.g. 'Clinic'" },
|
|
98
|
+
toJa: { type: "string", description: "Shop and ItemTag only: the Japanese noun for the target, e.g. '医院'" },
|
|
99
|
+
},
|
|
100
|
+
required: ["from", "to"],
|
|
101
|
+
additionalProperties: false,
|
|
100
102
|
},
|
|
101
103
|
},
|
|
102
|
-
|
|
104
|
+
jsonApiContract: {
|
|
105
|
+
type: "object",
|
|
106
|
+
description: "Placeholder JSON:API contract object; empty {} for now (a later reviewer sub-agent expands it)",
|
|
107
|
+
properties: {},
|
|
108
|
+
additionalProperties: false,
|
|
109
|
+
},
|
|
103
110
|
},
|
|
111
|
+
required: ["slug", "displayName", "entities", "renamePlan", "jsonApiContract"],
|
|
112
|
+
additionalProperties: false,
|
|
104
113
|
};
|
|
114
|
+
// The Messages API request the planner sends. Exported so tests can check
|
|
115
|
+
// its shape without a network call. Opus 5.5 rejects forced tool_choice, so
|
|
116
|
+
// the DomainSpec comes back as structured output instead of a tool call.
|
|
117
|
+
export function buildPlannerRequest(spec) {
|
|
118
|
+
return {
|
|
119
|
+
model: PLANNER_MODEL,
|
|
120
|
+
max_tokens: MAX_TOKENS,
|
|
121
|
+
system: SYSTEM_PROMPT,
|
|
122
|
+
output_config: {
|
|
123
|
+
effort: PLANNER_EFFORT,
|
|
124
|
+
format: { type: "json_schema", schema: DOMAIN_SPEC_SCHEMA },
|
|
125
|
+
},
|
|
126
|
+
betas: [FALLBACK_BETA],
|
|
127
|
+
fallbacks: FALLBACKS,
|
|
128
|
+
messages: [{ role: "user", content: spec }],
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
// Turns the planner's response into a DomainSpec, failing loudly on a
|
|
132
|
+
// refusal, a truncated response, or a slug that breaks the contract.
|
|
133
|
+
export function parsePlannerResponse(response) {
|
|
134
|
+
const domain = readStructuredJson(response, "planner");
|
|
135
|
+
if (typeof domain.slug !== "string" || !isValidSlug(domain.slug)) {
|
|
136
|
+
throw new Error(`planner: invalid slug ${JSON.stringify(domain.slug)} (must match ^[a-z0-9][a-z0-9-]*$)`);
|
|
137
|
+
}
|
|
138
|
+
return domain;
|
|
139
|
+
}
|
|
105
140
|
export async function runPlanner(spec) {
|
|
106
141
|
trace("planner", `received spec: "${spec}"`);
|
|
107
142
|
if (isStub("planner")) {
|
|
@@ -113,24 +148,13 @@ export async function runPlanner(spec) {
|
|
|
113
148
|
// single-key default path.
|
|
114
149
|
const apiKey = process.env['NATIVEAPPTEMPLATE_AGENT_ANTHROPIC_KEY'] ?? process.env['ANTHROPIC_API_KEY'];
|
|
115
150
|
const client = new Anthropic({ apiKey });
|
|
116
|
-
trace("planner", `calling ${
|
|
117
|
-
const response = await client.messages.create(
|
|
118
|
-
|
|
119
|
-
max_tokens: MAX_TOKENS,
|
|
120
|
-
system: SYSTEM_PROMPT,
|
|
121
|
-
tools: [DOMAIN_TOOL],
|
|
122
|
-
tool_choice: { type: "tool", name: "submit_domain_spec" },
|
|
123
|
-
messages: [{ role: "user", content: spec }],
|
|
124
|
-
});
|
|
125
|
-
const toolUse = response.content.find((c) => c.type === "tool_use");
|
|
126
|
-
if (!toolUse || toolUse.type !== "tool_use") {
|
|
127
|
-
throw new Error("planner: expected tool_use in response, got: " + JSON.stringify(response.content));
|
|
128
|
-
}
|
|
129
|
-
const domain = toolUse.input;
|
|
151
|
+
trace("planner", `calling ${PLANNER_MODEL} (effort ${PLANNER_EFFORT}) to extract domain`);
|
|
152
|
+
const response = await client.beta.messages.create(buildPlannerRequest(spec));
|
|
153
|
+
const domain = parsePlannerResponse(response);
|
|
130
154
|
trace("planner", `derived slug: ${domain.slug}`);
|
|
131
155
|
trace("planner", `rename plan: ${domain.renamePlan.map((r) => `${r.from}->${r.to}${r.toJa ? ` (${r.toJa})` : ""}`).join(", ")}`);
|
|
132
156
|
trace("planner", `entities: ${domain.entities.map((e) => e.name).join(", ")}`);
|
|
133
|
-
trace("planner",
|
|
157
|
+
trace("planner", usageLine(response, PLANNER_MODEL));
|
|
134
158
|
trace("planner", "done");
|
|
135
159
|
return domain;
|
|
136
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/agents/planner.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/repair.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Options } from "@anthropic-ai/claude-agent-sdk";
|
|
1
2
|
import type { DomainSpec, Platform } from "./types.js";
|
|
2
3
|
export type RepairLayer = "layer1" | "layer2";
|
|
3
4
|
export type RepairTarget = {
|
|
@@ -11,4 +12,5 @@ export type RepairOutcome = {
|
|
|
11
12
|
action: string;
|
|
12
13
|
};
|
|
13
14
|
export declare function runRepair(target: RepairTarget, domain: DomainSpec): Promise<RepairOutcome>;
|
|
15
|
+
export declare function buildRepairOptions(target: RepairTarget, apiKey: string, allowedTools: string[]): Options;
|
|
14
16
|
//# sourceMappingURL=repair.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../src/agents/repair.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repair.d.ts","sourceRoot":"","sources":["../../src/agents/repair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOvD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IAEf,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAI1B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAKF,wBAAsB,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAuChG;AAKD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAgBxG"}
|