mapples 0.2.0-beta.5 → 0.2.0-beta.6
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 +42 -0
- package/dist/api/agent.d.ts +84 -0
- package/dist/api/agent.js +92 -0
- package/dist/api/agent.js.map +1 -0
- package/dist/api/client.d.ts +3 -0
- package/dist/api/client.js +2 -0
- package/dist/api/client.js.map +1 -1
- package/dist/api/commit.js +1 -0
- package/dist/api/commit.js.map +1 -1
- package/dist/api/objects.d.ts +12 -0
- package/dist/api/objects.js +2 -0
- package/dist/api/objects.js.map +1 -1
- package/dist/commands/agent.d.ts +2 -0
- package/dist/commands/agent.js +76 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/create.js +1 -0
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/impl/adoptImpl.js +3 -0
- package/dist/commands/impl/adoptImpl.js.map +1 -1
- package/dist/commands/impl/agentImpl.d.ts +10 -0
- package/dist/commands/impl/agentImpl.js +349 -0
- package/dist/commands/impl/agentImpl.js.map +1 -0
- package/dist/commands/impl/createImpl.js +19 -0
- package/dist/commands/impl/createImpl.js.map +1 -1
- package/dist/commands/impl/initImpl.js +19 -0
- package/dist/commands/impl/initImpl.js.map +1 -1
- package/dist/commands/impl/syncImpl.js +9 -3
- package/dist/commands/impl/syncImpl.js.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/project/agentState.d.ts +24 -0
- package/dist/project/agentState.js +42 -0
- package/dist/project/agentState.js.map +1 -0
- package/dist/project/secret.d.ts +6 -2
- package/dist/project/secret.js +11 -5
- package/dist/project/secret.js.map +1 -1
- package/dist/services/agentInstall.d.ts +35 -0
- package/dist/services/agentInstall.js +180 -0
- package/dist/services/agentInstall.js.map +1 -0
- package/dist/services/agentLease.d.ts +2 -0
- package/dist/services/agentLease.js +32 -0
- package/dist/services/agentLease.js.map +1 -0
- package/dist/services/clientFactory.d.ts +2 -0
- package/dist/services/clientFactory.js +16 -1
- package/dist/services/clientFactory.js.map +1 -1
- package/dist/services/scaffold.js +4 -0
- package/dist/services/scaffold.js.map +1 -1
- package/dist/services/syncEngine.js +51 -18
- package/dist/services/syncEngine.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
- package/templates/claude/CLAUDE.md +7 -0
- package/templates/claude/mapples.md +118 -0
- package/templates/claude/mcp.json +11 -0
- package/templates/claude/skills/mapples-conventions/SKILL.md +136 -0
- package/templates/claude/skills/mapples-design/SKILL.md +218 -0
- package/templates/claude/skills/mapples-design/reference/component-library.md +128 -0
- package/templates/claude/skills/mapples-design/reference/design-tokens.md +132 -0
- package/templates/claude/skills/mapples-design/reference/layout-contract.md +227 -0
- package/templates/claude/skills/mapples-design/reference/lint-checklist.md +51 -0
- package/templates/claude/skills/mapples-design/reference/plan.md +95 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/empty-states.md +14 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/forms-and-auth.md +22 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/home-dashboard.md +14 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/list-and-detail.md +18 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/microcopy.md +20 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/navigation-chrome.md +21 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/onboarding-flow.md +15 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/screen-flow-wiring.md +37 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/settings-profile.md +16 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/stats-and-progress.md +17 -0
- package/templates/claude/skills/mapples-design/reference/playbooks/visual-hierarchy.md +18 -0
- package/templates/claude/skills/mapples-design/reference/style-guides.md +92 -0
- package/templates/claude/skills/mapples-sync/SKILL.md +92 -0
- package/templates/gitignore +2 -0
- package/templates/package.json +1 -0
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@ npx mapples sync # pull + push in one r
|
|
|
12
12
|
npx mapples sync --yes # …accepting every adoption proposal
|
|
13
13
|
npx mapples adopt app/settings.tsx # adopt a plain RN screen, no prompt
|
|
14
14
|
npx mapples doctor # $sid lint + drift check
|
|
15
|
+
npx mapples create my-app --secret <secret> --agent claude # …plus the Claude Code bundle
|
|
16
|
+
npx mapples agent install # add the bundle to a linked app
|
|
15
17
|
```
|
|
16
18
|
|
|
17
19
|
The project API secret comes from Creator (Project → Settings). It identifies the project and
|
|
@@ -73,6 +75,45 @@ Every lossy step is reported: expression props keep their last-known canvas valu
|
|
|
73
75
|
(`NON_LITERAL_PROP`), props a component instance cannot carry stay in code only, and so on.
|
|
74
76
|
Nothing is dropped silently.
|
|
75
77
|
|
|
78
|
+
## Run in agent (Claude Code)
|
|
79
|
+
|
|
80
|
+
`--agent claude` on `create`/`init` (or `mapples agent install` in a linked app) sets the app
|
|
81
|
+
up for your local Claude Code: project-local skills under `.claude/skills/` — `/mapples-design`
|
|
82
|
+
builds the app from a product brief the way the Creator's AI does (style guides → design
|
|
83
|
+
tokens in `mapples/theme.ts` → implementation plan → one screen per phase from the design
|
|
84
|
+
playbooks → wiring → review), `mapples-conventions` teaches how Mapples files are written and
|
|
85
|
+
`mapples-sync` how to run and read a sync — plus `.claude/mapples.md` (pointed at from
|
|
86
|
+
`CLAUDE.md`) and a read-only `mapples` MCP entry in `.mcp.json`. Then:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
cd my-app && MAPPLES_SECRET=$(cat .mapples/secret) claude
|
|
90
|
+
# type /mapples-design and describe your app
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Every write still goes through `mapples sync`; the MCP server only reads. Generated bundle
|
|
94
|
+
files carry a `<!-- GENERATED by Mapples … -->` header and are refreshed by
|
|
95
|
+
`mapples agent install`; a file you edited is left alone (`--force` keeps it as `_depr_…old`
|
|
96
|
+
and regenerates).
|
|
97
|
+
|
|
98
|
+
While a run is in progress the CLI holds the project's **agent-session lease** so Creator shows
|
|
99
|
+
"Claude Code is working on this project", a step log, and locks its own chat:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
mapples agent start --label "Claude Code" --steps "Brief,Style guides,…" # take the lease (exit 4 if busy; --takeover)
|
|
103
|
+
mapples agent step --index 5 --title "Build the Home screen" --status running # report progress (exit 3 if the lease is gone)
|
|
104
|
+
mapples agent status --json # live session + local state
|
|
105
|
+
mapples agent stop --status done # release (or --status failed --error "…")
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
`start` writes `.mapples/agent.json` (git-ignored) and spawns a detached heartbeat daemon
|
|
109
|
+
(`mapples agent heartbeat --loop`, every `heartbeatSeconds` from the session; `--no-daemon`
|
|
110
|
+
to skip it) because the lease expires 90 s after the last heartbeat. Every `mapples sync` and
|
|
111
|
+
`mapples adopt` inside a session heartbeats too, and their commits are labelled
|
|
112
|
+
`Claude Code: <current step>` in Creator's history. Disconnecting the agent in Creator makes
|
|
113
|
+
the next heartbeat/step exit 3. macOS/Linux daemon semantics in this version.
|
|
114
|
+
|
|
115
|
+
Exit codes: `0` ok · `1` error · `2` sync conflicts · `3` agent lease gone · `4` project busy.
|
|
116
|
+
|
|
76
117
|
## Project state
|
|
77
118
|
|
|
78
119
|
```
|
|
@@ -84,6 +125,7 @@ Nothing is dropped silently.
|
|
|
84
125
|
components.json # componentId <-> file mapping
|
|
85
126
|
base/ # canonical JSON per entity at the last synced HEAD
|
|
86
127
|
outbox/ # parked transactions (offline)
|
|
128
|
+
agent.json # agent-session lease held by this checkout — git-ignored, present during a run
|
|
87
129
|
```
|
|
88
130
|
|
|
89
131
|
`mapples/sid.d.ts` declares the transient JSX attributes (`$sid`, `$refs`, `$data`, `$actions`,
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type AxiosInstance } from 'axios';
|
|
2
|
+
export type AgentSessionStatus = 'active' | 'done' | 'failed' | 'expired' | 'disconnected';
|
|
3
|
+
export type AgentStepStatus = 'pending' | 'running' | 'done' | 'failed' | 'skipped';
|
|
4
|
+
export interface AgentSessionStep {
|
|
5
|
+
index: number;
|
|
6
|
+
title: string;
|
|
7
|
+
status: AgentStepStatus;
|
|
8
|
+
startedAt?: string | null;
|
|
9
|
+
finishedAt?: string | null;
|
|
10
|
+
detail?: string | null;
|
|
11
|
+
}
|
|
12
|
+
/** The session object every route returns (camelCase, as the backend serializes it). */
|
|
13
|
+
export interface AgentSession {
|
|
14
|
+
uuid: string;
|
|
15
|
+
project: string;
|
|
16
|
+
agent: string;
|
|
17
|
+
label: string | null;
|
|
18
|
+
status: AgentSessionStatus;
|
|
19
|
+
apiKey: {
|
|
20
|
+
uuid: string;
|
|
21
|
+
name: string | null;
|
|
22
|
+
} | null;
|
|
23
|
+
startedAt: string;
|
|
24
|
+
lastHeartbeatAt: string;
|
|
25
|
+
expiresAt: string;
|
|
26
|
+
endedAt: string | null;
|
|
27
|
+
currentStep: string | null;
|
|
28
|
+
steps: AgentSessionStep[];
|
|
29
|
+
error: string | null;
|
|
30
|
+
rev: number;
|
|
31
|
+
heartbeatSeconds: number;
|
|
32
|
+
}
|
|
33
|
+
export interface AgentStartBody {
|
|
34
|
+
agent: 'claude-code';
|
|
35
|
+
label?: string;
|
|
36
|
+
steps?: {
|
|
37
|
+
title: string;
|
|
38
|
+
}[];
|
|
39
|
+
force?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface AgentHeartbeatBody {
|
|
42
|
+
step?: {
|
|
43
|
+
index: number;
|
|
44
|
+
title?: string;
|
|
45
|
+
status: AgentStepStatus;
|
|
46
|
+
detail?: string;
|
|
47
|
+
};
|
|
48
|
+
currentStep?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface AgentReleaseBody {
|
|
51
|
+
status: 'done' | 'failed';
|
|
52
|
+
error?: string;
|
|
53
|
+
}
|
|
54
|
+
export type AgentSessionErrorCode = 'SESSION_ACTIVE' | 'SESSION_GONE' | 'NOT_OWNER' | 'FORBIDDEN' | 'UNEXPECTED';
|
|
55
|
+
export declare class AgentSessionError extends Error {
|
|
56
|
+
readonly code: AgentSessionErrorCode;
|
|
57
|
+
readonly http: number;
|
|
58
|
+
readonly body: unknown;
|
|
59
|
+
/** The live session that refused a start (409 AGENT_SESSION_ACTIVE). */
|
|
60
|
+
readonly session: AgentSession | null;
|
|
61
|
+
constructor(code: AgentSessionErrorCode, http: number, message: string, body: unknown);
|
|
62
|
+
}
|
|
63
|
+
/** Maps a non-success response to the typed error (never returns for 2xx). */
|
|
64
|
+
export declare function agentErrorFromResponse(status: number, body: unknown): AgentSessionError;
|
|
65
|
+
export interface AgentSessionClientOptions {
|
|
66
|
+
baseUrl: string;
|
|
67
|
+
projectId: string;
|
|
68
|
+
/** Project API key (write-scoped for start/heartbeat/release). */
|
|
69
|
+
token?: string;
|
|
70
|
+
}
|
|
71
|
+
export declare class AgentSessionClient {
|
|
72
|
+
readonly http: AxiosInstance;
|
|
73
|
+
readonly projectId: string;
|
|
74
|
+
constructor(opts: AgentSessionClientOptions);
|
|
75
|
+
private path;
|
|
76
|
+
/** POST …/agent-session → 201 session, 409 AGENT_SESSION_ACTIVE (SESSION_ACTIVE carries the live one). */
|
|
77
|
+
start(body: AgentStartBody): Promise<AgentSession>;
|
|
78
|
+
/** POST …/agent-session/{uuid}/heartbeat → 200 session, 409 SESSION_NOT_ACTIVE, 403, 404. */
|
|
79
|
+
heartbeat(uuid: string, body?: AgentHeartbeatBody): Promise<AgentSession>;
|
|
80
|
+
/** POST …/agent-session/{uuid}/release → 200 session (idempotent on terminal sessions). */
|
|
81
|
+
release(uuid: string, body: AgentReleaseBody): Promise<AgentSession>;
|
|
82
|
+
/** GET …/agent-session → {session: live | recently ended | null}. */
|
|
83
|
+
current(): Promise<AgentSession | null>;
|
|
84
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// Agent-session lease client (service--mapplesorg `api/agent`): one live
|
|
2
|
+
// lease per project, kept alive by heartbeats, with a step log the Creator
|
|
3
|
+
// renders while the agent works. Same transport discipline as JpatchClient:
|
|
4
|
+
// X-API-Key auth, statuses mapped here, nothing retried at this layer.
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
export class AgentSessionError extends Error {
|
|
7
|
+
code;
|
|
8
|
+
http;
|
|
9
|
+
body;
|
|
10
|
+
/** The live session that refused a start (409 AGENT_SESSION_ACTIVE). */
|
|
11
|
+
session;
|
|
12
|
+
constructor(code, http, message, body) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.name = 'AgentSessionError';
|
|
15
|
+
this.code = code;
|
|
16
|
+
this.http = http;
|
|
17
|
+
this.body = body;
|
|
18
|
+
const session = typeof body === 'object' && body !== null
|
|
19
|
+
? body.session
|
|
20
|
+
: undefined;
|
|
21
|
+
this.session = code === 'SESSION_ACTIVE' && session ? session : null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function bodyField(body, key) {
|
|
25
|
+
return typeof body === 'object' && body !== null
|
|
26
|
+
? body[key]
|
|
27
|
+
: undefined;
|
|
28
|
+
}
|
|
29
|
+
/** Maps a non-success response to the typed error (never returns for 2xx). */
|
|
30
|
+
export function agentErrorFromResponse(status, body) {
|
|
31
|
+
const code = bodyField(body, 'code');
|
|
32
|
+
const detail = bodyField(body, 'detail');
|
|
33
|
+
const message = typeof detail === 'string' ? detail : typeof code === 'string' ? code : `HTTP ${status}`;
|
|
34
|
+
if (status === 409 && code === 'AGENT_SESSION_ACTIVE') {
|
|
35
|
+
return new AgentSessionError('SESSION_ACTIVE', status, message, body);
|
|
36
|
+
}
|
|
37
|
+
if ((status === 409 && code === 'SESSION_NOT_ACTIVE') || status === 404) {
|
|
38
|
+
return new AgentSessionError('SESSION_GONE', status, message, body);
|
|
39
|
+
}
|
|
40
|
+
if (status === 403 && code === 'NOT_SESSION_OWNER') {
|
|
41
|
+
return new AgentSessionError('NOT_OWNER', status, message, body);
|
|
42
|
+
}
|
|
43
|
+
if (status === 403 || status === 401) {
|
|
44
|
+
return new AgentSessionError('FORBIDDEN', status, message, body);
|
|
45
|
+
}
|
|
46
|
+
return new AgentSessionError('UNEXPECTED', status, `unexpected response (HTTP ${status}): ${JSON.stringify(body)}`, body);
|
|
47
|
+
}
|
|
48
|
+
export class AgentSessionClient {
|
|
49
|
+
http;
|
|
50
|
+
projectId;
|
|
51
|
+
constructor(opts) {
|
|
52
|
+
this.projectId = opts.projectId;
|
|
53
|
+
this.http = axios.create({
|
|
54
|
+
baseURL: opts.baseUrl.replace(/\/+$/, ''),
|
|
55
|
+
headers: opts.token ? { 'X-API-Key': opts.token } : {},
|
|
56
|
+
validateStatus: () => true,
|
|
57
|
+
timeout: 15_000,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
path(suffix = '') {
|
|
61
|
+
return `/projects/${this.projectId}/agent-session${suffix}`;
|
|
62
|
+
}
|
|
63
|
+
/** POST …/agent-session → 201 session, 409 AGENT_SESSION_ACTIVE (SESSION_ACTIVE carries the live one). */
|
|
64
|
+
async start(body) {
|
|
65
|
+
const res = await this.http.post(this.path(), body);
|
|
66
|
+
if (res.status === 201 || res.status === 200)
|
|
67
|
+
return res.data;
|
|
68
|
+
throw agentErrorFromResponse(res.status, res.data);
|
|
69
|
+
}
|
|
70
|
+
/** POST …/agent-session/{uuid}/heartbeat → 200 session, 409 SESSION_NOT_ACTIVE, 403, 404. */
|
|
71
|
+
async heartbeat(uuid, body = {}) {
|
|
72
|
+
const res = await this.http.post(this.path(`/${encodeURIComponent(uuid)}/heartbeat`), body);
|
|
73
|
+
if (res.status === 200)
|
|
74
|
+
return res.data;
|
|
75
|
+
throw agentErrorFromResponse(res.status, res.data);
|
|
76
|
+
}
|
|
77
|
+
/** POST …/agent-session/{uuid}/release → 200 session (idempotent on terminal sessions). */
|
|
78
|
+
async release(uuid, body) {
|
|
79
|
+
const res = await this.http.post(this.path(`/${encodeURIComponent(uuid)}/release`), body);
|
|
80
|
+
if (res.status === 200)
|
|
81
|
+
return res.data;
|
|
82
|
+
throw agentErrorFromResponse(res.status, res.data);
|
|
83
|
+
}
|
|
84
|
+
/** GET …/agent-session → {session: live | recently ended | null}. */
|
|
85
|
+
async current() {
|
|
86
|
+
const res = await this.http.get(this.path());
|
|
87
|
+
if (res.status === 200)
|
|
88
|
+
return res.data.session;
|
|
89
|
+
throw agentErrorFromResponse(res.status, res.data);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/api/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface JpatchClientOptions {
|
|
|
9
9
|
origin?: string;
|
|
10
10
|
/** Host serving asset bodies (per-stage assets host); defaults to baseUrl. */
|
|
11
11
|
assetsBaseUrl?: string;
|
|
12
|
+
/** Commit summary for every envelope this client sends (`meta.summary`), e.g. the agent step. */
|
|
13
|
+
summary?: string;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* Thin, faithful JPATCH/1 transport (RFC-0001 §5–§8). No retry logic here —
|
|
@@ -19,6 +21,7 @@ export declare class JpatchClient {
|
|
|
19
21
|
readonly projectId: string;
|
|
20
22
|
readonly actor: string | undefined;
|
|
21
23
|
readonly origin: string | undefined;
|
|
24
|
+
readonly summary: string | undefined;
|
|
22
25
|
readonly assetsBaseUrl: string;
|
|
23
26
|
constructor(opts: JpatchClientOptions);
|
|
24
27
|
private path;
|
package/dist/api/client.js
CHANGED
|
@@ -9,11 +9,13 @@ export class JpatchClient {
|
|
|
9
9
|
projectId;
|
|
10
10
|
actor;
|
|
11
11
|
origin;
|
|
12
|
+
summary;
|
|
12
13
|
assetsBaseUrl;
|
|
13
14
|
constructor(opts) {
|
|
14
15
|
this.projectId = opts.projectId;
|
|
15
16
|
this.actor = opts.actor;
|
|
16
17
|
this.origin = opts.origin;
|
|
18
|
+
this.summary = opts.summary;
|
|
17
19
|
this.assetsBaseUrl = (opts.assetsBaseUrl ?? opts.baseUrl).replace(/\/+$/, '');
|
|
18
20
|
this.http = axios.create({
|
|
19
21
|
baseURL: opts.baseUrl.replace(/\/+$/, ''),
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAsB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/commit.js
CHANGED
|
@@ -44,6 +44,7 @@ export function buildEnvelope(client, params) {
|
|
|
44
44
|
meta: {
|
|
45
45
|
...(client.actor ? { actor: client.actor } : {}),
|
|
46
46
|
...(client.origin ? { origin: client.origin } : {}),
|
|
47
|
+
...(client.summary ? { summary: client.summary } : {}),
|
|
47
48
|
ts: new Date().toISOString(),
|
|
48
49
|
},
|
|
49
50
|
};
|
package/dist/api/commit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/api/commit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commit.js","sourceRoot":"","sources":["../../src/api/commit.ts"],"names":[],"mappings":"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"}
|
package/dist/api/objects.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { type Bootstrap, type RenderDomNode, type SourceEntity } from '../types.js';
|
|
2
2
|
import type { JpatchClient } from './client.js';
|
|
3
|
+
/**
|
|
4
|
+
* A container's render states by key — what a node's `style::<key>` variant
|
|
5
|
+
* renders under (RFC-0001 §4.1 `state`). The file owns the states its prop
|
|
6
|
+
* tests declare (`props.*` conditions); the Creator owns the rest.
|
|
7
|
+
*/
|
|
8
|
+
export type EntityStates = Record<string, {
|
|
9
|
+
name: string;
|
|
10
|
+
condition: string;
|
|
11
|
+
id?: string;
|
|
12
|
+
}>;
|
|
3
13
|
export interface PageEntity {
|
|
4
14
|
id: string;
|
|
5
15
|
name: string;
|
|
@@ -7,6 +17,7 @@ export interface PageEntity {
|
|
|
7
17
|
root: RenderDomNode;
|
|
8
18
|
/** Creator page uuid — navigator route targets reference pages by this. */
|
|
9
19
|
uuid?: string;
|
|
20
|
+
state?: EntityStates;
|
|
10
21
|
}
|
|
11
22
|
export interface ComponentEntity {
|
|
12
23
|
id: string;
|
|
@@ -14,6 +25,7 @@ export interface ComponentEntity {
|
|
|
14
25
|
root: RenderDomNode;
|
|
15
26
|
/** Creator component uuid — a page's `ComponentInstance` nodes link to it. */
|
|
16
27
|
uuid?: string;
|
|
28
|
+
state?: EntityStates;
|
|
17
29
|
}
|
|
18
30
|
export interface NavigationDocument {
|
|
19
31
|
/** Legacy/CLI route list. The real backend serves a navigator document
|
package/dist/api/objects.js
CHANGED
|
@@ -133,6 +133,7 @@ export async function fetchProjectState(client, boot) {
|
|
|
133
133
|
route: blob.route ?? deriveRoute(blob.name),
|
|
134
134
|
root: await materializeTree(client, blob.root),
|
|
135
135
|
...(blob.uuid ? { uuid: blob.uuid } : {}),
|
|
136
|
+
...(blob.state ? { state: blob.state } : {}),
|
|
136
137
|
});
|
|
137
138
|
}
|
|
138
139
|
const componentBlobs = await fetchObjects(client, Object.values(componentsIndex));
|
|
@@ -144,6 +145,7 @@ export async function fetchProjectState(client, boot) {
|
|
|
144
145
|
name: blob.name,
|
|
145
146
|
root: await materializeTree(client, blob.root),
|
|
146
147
|
...(blob.uuid ? { uuid: blob.uuid } : {}),
|
|
148
|
+
...(blob.state ? { state: blob.state } : {}),
|
|
147
149
|
});
|
|
148
150
|
}
|
|
149
151
|
const style = {
|
package/dist/api/objects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/api/objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,SAAS,GAKV,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/api/objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Option } from 'commander';
|
|
2
|
+
const denv = () => new Option('--denv <env>').hideHelp(); // internal: dev|staging|prod
|
|
3
|
+
export function registerAgent(program) {
|
|
4
|
+
const agent = program
|
|
5
|
+
.command('agent')
|
|
6
|
+
.description('Agent-session lease: tell Creator an AI agent is working on this project');
|
|
7
|
+
agent
|
|
8
|
+
.command('install')
|
|
9
|
+
.description('Write the Claude Code skills bundle (.claude/, .mcp.json, CLAUDE.md) into a linked app')
|
|
10
|
+
.option('--agent <name>', 'agent to set up (claude)', 'claude')
|
|
11
|
+
.option('--force', 'regenerate files you edited (your version is kept as _depr_…old)')
|
|
12
|
+
.addOption(denv())
|
|
13
|
+
.option('--json', 'machine-readable output')
|
|
14
|
+
.action(async (opts) => {
|
|
15
|
+
const { runAgentInstall } = await import('./impl/agentImpl.js');
|
|
16
|
+
await runAgentInstall(opts);
|
|
17
|
+
});
|
|
18
|
+
agent
|
|
19
|
+
.command('start')
|
|
20
|
+
.description('Take the project lease (exit 4 when another agent session is live)')
|
|
21
|
+
.option('--label <label>', 'session label shown in Creator', 'Claude Code')
|
|
22
|
+
.option('--steps <titles>', 'comma-separated step titles to pre-declare')
|
|
23
|
+
.option('--takeover', 'disconnect a live session and take the lease')
|
|
24
|
+
.option('--no-daemon', 'do not spawn the heartbeat daemon')
|
|
25
|
+
.addOption(denv())
|
|
26
|
+
.option('--json', 'machine-readable output')
|
|
27
|
+
.action(async (opts) => {
|
|
28
|
+
const { runAgentStart } = await import('./impl/agentImpl.js');
|
|
29
|
+
await runAgentStart(opts);
|
|
30
|
+
});
|
|
31
|
+
agent
|
|
32
|
+
.command('step')
|
|
33
|
+
.description('Report a step (exit 3 when the lease is gone)')
|
|
34
|
+
.requiredOption('--index <n>', 'step index (0-based)')
|
|
35
|
+
.option('--title <title>', 'step title (required for a new index)')
|
|
36
|
+
.requiredOption('--status <status>', 'running | done | failed | skipped | pending')
|
|
37
|
+
.option('--detail <text>', 'one line of detail')
|
|
38
|
+
.addOption(denv())
|
|
39
|
+
.option('--json', 'machine-readable output')
|
|
40
|
+
.action(async (opts) => {
|
|
41
|
+
const { runAgentStep } = await import('./impl/agentImpl.js');
|
|
42
|
+
await runAgentStep(opts);
|
|
43
|
+
});
|
|
44
|
+
agent
|
|
45
|
+
.command('heartbeat')
|
|
46
|
+
.description('Keep the lease alive once (exit 3 when the lease is gone)')
|
|
47
|
+
.addOption(new Option('--loop').hideHelp()) // the daemon
|
|
48
|
+
.addOption(new Option('--max-minutes <n>').hideHelp().default('180'))
|
|
49
|
+
.addOption(denv())
|
|
50
|
+
.option('--json', 'machine-readable output')
|
|
51
|
+
.action(async (opts) => {
|
|
52
|
+
const { runAgentHeartbeat } = await import('./impl/agentImpl.js');
|
|
53
|
+
await runAgentHeartbeat(opts);
|
|
54
|
+
});
|
|
55
|
+
agent
|
|
56
|
+
.command('stop')
|
|
57
|
+
.description('Release the lease and stop the heartbeat daemon')
|
|
58
|
+
.option('--status <status>', 'done | failed', 'done')
|
|
59
|
+
.option('--error <text>', 'why the run failed')
|
|
60
|
+
.addOption(denv())
|
|
61
|
+
.option('--json', 'machine-readable output')
|
|
62
|
+
.action(async (opts) => {
|
|
63
|
+
const { runAgentStop } = await import('./impl/agentImpl.js');
|
|
64
|
+
await runAgentStop(opts);
|
|
65
|
+
});
|
|
66
|
+
agent
|
|
67
|
+
.command('status')
|
|
68
|
+
.description("Show the project's live agent session and this checkout's local state")
|
|
69
|
+
.addOption(denv())
|
|
70
|
+
.option('--json', 'machine-readable output')
|
|
71
|
+
.action(async (opts) => {
|
|
72
|
+
const { runAgentStatus } = await import('./impl/agentImpl.js');
|
|
73
|
+
await runAgentStatus(opts);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/create.js
CHANGED
|
@@ -5,6 +5,7 @@ export function registerCreate(program) {
|
|
|
5
5
|
.description('Scaffold a new Mapples-connected Expo app')
|
|
6
6
|
.option('--secret <secret>', 'project API secret (Creator: Project → Settings)')
|
|
7
7
|
.option('--api-url <url>', 'Mapples API base URL')
|
|
8
|
+
.option('--agent <name>', 'also set up an AI agent (claude = Claude Code skills + .mcp.json)')
|
|
8
9
|
.addOption(new Option('--denv <env>').hideHelp()) // internal: dev|staging|prod
|
|
9
10
|
.option('--json', 'machine-readable output')
|
|
10
11
|
.action(async (app, opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;SAC/E,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,SAAS,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,6BAA6B;SAC9E,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAA6B,EAAE,EAAE;QAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,mBAAmB,EAAE,kDAAkD,CAAC;SAC/E,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,gBAAgB,EAAE,mEAAmE,CAAC;SAC7F,SAAS,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,6BAA6B;SAC9E,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAA6B,EAAE,EAAE;QAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { proposeAdoptions } from '../../services/adoptService.js';
|
|
3
|
+
import { touchAgentLease } from '../../services/agentLease.js';
|
|
3
4
|
import { clientForApp } from '../../services/clientFactory.js';
|
|
4
5
|
import { emptyReport, renderReport } from '../../ui/report.js';
|
|
5
6
|
export async function runAdopt(file, opts) {
|
|
6
7
|
const root = process.cwd();
|
|
7
8
|
const client = clientForApp(root, opts);
|
|
8
9
|
const report = emptyReport();
|
|
10
|
+
await touchAgentLease(root, report, opts);
|
|
9
11
|
await proposeAdoptions({ root, client, report, yes: true, file });
|
|
12
|
+
await touchAgentLease(root, report, opts);
|
|
10
13
|
if (opts.json === true) {
|
|
11
14
|
console.log(JSON.stringify(report, null, 2));
|
|
12
15
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adoptImpl.js","sourceRoot":"","sources":["../../../src/commands/impl/adoptImpl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,IAA6B;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adoptImpl.js","sourceRoot":"","sources":["../../../src/commands/impl/adoptImpl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,IAA6B;IACxE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7B,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1C,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClE,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type InstallOutcome } from '../../services/agentInstall.js';
|
|
2
|
+
export declare const EXIT_LEASE_GONE = 3;
|
|
3
|
+
export declare const EXIT_BUSY = 4;
|
|
4
|
+
export declare function runAgentInstall(opts: Record<string, unknown>): Promise<void>;
|
|
5
|
+
export declare function renderInstallOutcomes(outcomes: InstallOutcome[]): string[];
|
|
6
|
+
export declare function runAgentStart(opts: Record<string, unknown>): Promise<void>;
|
|
7
|
+
export declare function runAgentStep(opts: Record<string, unknown>): Promise<void>;
|
|
8
|
+
export declare function runAgentHeartbeat(opts: Record<string, unknown>): Promise<void>;
|
|
9
|
+
export declare function runAgentStop(opts: Record<string, unknown>): Promise<void>;
|
|
10
|
+
export declare function runAgentStatus(opts: Record<string, unknown>): Promise<void>;
|