summer-engine 4.0.0 → 4.3.0
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +3 -2
- package/.codex-plugin/plugin.json +15 -11
- package/.cursor-plugin/plugin.json +5 -3
- package/.factory-plugin/plugin.json +3 -2
- package/AGENTS.md +2 -2
- package/CHANGELOG.md +48 -0
- package/README.md +21 -10
- package/dist/cli/command-usage.d.ts +8 -0
- package/dist/cli/command-usage.js +22 -0
- package/dist/cli/commands/config.js +3 -2
- package/dist/cli/commands/create.js +12 -3
- package/dist/cli/commands/list.d.ts +5 -0
- package/dist/cli/commands/list.js +30 -13
- package/dist/cli/commands/login.js +1 -1
- package/dist/cli/commands/memory.js +6 -2
- package/dist/cli/commands/ops.d.ts +20 -3
- package/dist/cli/commands/ops.js +60 -27
- package/dist/cli/commands/setup.d.ts +2 -0
- package/dist/cli/commands/setup.js +219 -16
- package/dist/cli/commands/skills.js +20 -7
- package/dist/cli/commands/status.d.ts +26 -0
- package/dist/cli/commands/status.js +36 -21
- package/dist/cli/commands/tool.js +4 -0
- package/dist/cli/index.js +2 -0
- package/dist/core/agent-host.d.ts +3 -0
- package/dist/core/agent-host.js +8 -2
- package/dist/core/capabilities/apps.d.ts +10 -10
- package/dist/core/capabilities/audit/args.d.ts +6 -6
- package/dist/core/capabilities/fabricate-mesh.d.ts +2 -2
- package/dist/core/capabilities/game-task-plan.d.ts +2 -2
- package/dist/core/capabilities/hdri-import.d.ts +2 -2
- package/dist/core/capabilities/motion-generation.d.ts +2 -2
- package/dist/core/capabilities/placement.d.ts +23 -23
- package/dist/core/capabilities/runtime-control.d.ts +38 -38
- package/dist/core/capabilities/seeing/args.d.ts +16 -16
- package/dist/core/capabilities/ui-control.d.ts +2 -2
- package/dist/core/capabilities/world-snapshot.d.ts +4 -4
- package/dist/core/cli-usage-beacon.d.ts +1 -0
- package/dist/core/cli-usage-beacon.js +18 -0
- package/dist/core/cli-usage.d.ts +49 -0
- package/dist/core/cli-usage.js +108 -0
- package/dist/core/feedback/client.d.ts +1 -1
- package/dist/core/feedback/client.js +3 -2
- package/dist/core/hosted-mcp.d.ts +7 -1
- package/dist/core/hosted-mcp.js +6 -4
- package/dist/core/library-search.d.ts +2 -2
- package/dist/core/ops/areas.d.ts +11 -0
- package/dist/core/ops/areas.js +24 -0
- package/dist/core/ops/catalog.d.ts +11 -0
- package/dist/core/ops/catalog.js +24 -1
- package/dist/core/ops/cloud.d.ts +10 -2
- package/dist/core/ops/cloud.js +51 -28
- package/dist/core/ops/contract.d.ts +2 -1
- package/dist/core/ops/contract.js +2 -10
- package/dist/core/ops/public-catalog.d.ts +48 -0
- package/dist/core/ops/public-catalog.js +56 -0
- package/dist/core/ops/search.d.ts +0 -1
- package/dist/core/ops/search.js +169 -37
- package/dist/core/telemetry.d.ts +10 -0
- package/dist/core/telemetry.js +58 -29
- package/dist/installer/agent-config.js +5 -0
- package/dist/installer/agent-table.d.ts +9 -0
- package/dist/installer/agent-table.js +23 -2
- package/dist/installer/cli-permissions.d.ts +65 -0
- package/dist/installer/cli-permissions.js +182 -0
- package/dist/installer/setup.d.ts +2 -0
- package/dist/installer/setup.js +3 -0
- package/dist/installer/skills-refresh.d.ts +29 -0
- package/dist/installer/skills-refresh.js +261 -0
- package/dist/installer/version-check.d.ts +22 -2
- package/dist/installer/version-check.js +66 -9
- package/dist/mcp/ops-surface.js +16 -6
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.js +38 -8
- package/dist/project-memory/agent-instructions.d.ts +47 -0
- package/dist/project-memory/agent-instructions.js +226 -0
- package/gemini-extension.json +3 -2
- package/integrations/README.md +1 -1
- package/integrations/claude/README.md +6 -0
- package/integrations/claude/manifest-target.json +4 -0
- package/integrations/gemini/README.md +11 -0
- package/integrations/windsurf/README.md +1 -1
- package/library/skills/3d-lighting/SKILL.md +16 -0
- package/library/skills/README.md +5 -4
- package/library/skills/adaptive-music/SKILL.md +21 -0
- package/library/skills/agent-playtesting/SKILL.md +22 -0
- package/library/skills/ai-characters-in-games/SKILL.md +15 -0
- package/library/skills/ambient-bed/SKILL.md +16 -0
- package/library/skills/animated-loop/SKILL.md +19 -0
- package/library/skills/animation-tree/SKILL.md +26 -0
- package/library/skills/art-direction/SKILL.md +14 -0
- package/library/skills/asset-strategy/SKILL.md +30 -0
- package/library/skills/audio-direction/SKILL.md +16 -0
- package/library/skills/auto-fire-targeting/SKILL.md +14 -0
- package/library/skills/brainstorm-game/SKILL.md +13 -0
- package/library/skills/browse-templates/SKILL.md +10 -0
- package/library/skills/camera-rigs/SKILL.md +20 -0
- package/library/skills/character-animation-wiring/SKILL.md +24 -0
- package/library/skills/character-model/SKILL.md +28 -0
- package/library/skills/character-movement/SKILL.md +24 -0
- package/library/skills/character-portrait/SKILL.md +15 -0
- package/library/skills/cinematic-cutscene/SKILL.md +21 -0
- package/library/skills/combat-basics/SKILL.md +19 -0
- package/library/skills/compatibility-renderer-traps/SKILL.md +11 -0
- package/library/skills/concept-art/SKILL.md +13 -0
- package/library/skills/concept-to-level/SKILL.md +20 -1
- package/library/skills/concept-to-level/resource.yaml +2 -2
- package/library/skills/create-asset-sheet/SKILL.md +18 -0
- package/library/skills/debug/SKILL.md +32 -0
- package/library/skills/debugging-game-feel/SKILL.md +12 -0
- package/library/skills/design-level/SKILL.md +17 -0
- package/library/skills/design-mechanic/SKILL.md +17 -0
- package/library/skills/design-npc/SKILL.md +21 -0
- package/library/skills/diagnosing-perf-regressions/SKILL.md +12 -0
- package/library/skills/driving-the-editor-ui/SKILL.md +23 -0
- package/library/skills/environment-kit/SKILL.md +23 -0
- package/library/skills/export-and-ship/SKILL.md +23 -0
- package/library/skills/fabricating-assets/SKILL.md +23 -0
- package/library/skills/facial-and-lipsync/SKILL.md +22 -0
- package/library/skills/fps-controller/SKILL.md +17 -0
- package/library/skills/game-feel/SKILL.md +26 -0
- package/library/skills/gameskill/SKILL.md +11 -0
- package/library/skills/gdscript-patterns/SKILL.md +15 -0
- package/library/skills/generate-motion/SKILL.md +21 -0
- package/library/skills/godogen-visual-proof-game-generation/SKILL.md +17 -0
- package/library/skills/grow-analytics/SKILL.md +10 -0
- package/library/skills/headless-scripting/SKILL.md +13 -0
- package/library/skills/in-game-purchases/SKILL.md +11 -0
- package/library/skills/instantiate-asset-pack/SKILL.md +17 -0
- package/library/skills/make-game/SKILL.md +29 -0
- package/library/skills/multiplayer/SKILL.md +12 -0
- package/library/skills/multiplayer-movement/SKILL.md +18 -0
- package/library/skills/multiplayer-project/SKILL.md +17 -0
- package/library/skills/multiplayer-publish/SKILL.md +17 -5
- package/library/skills/multiplayer-state/SKILL.md +16 -0
- package/library/skills/multiplayer-testing/SKILL.md +15 -0
- package/library/skills/music-track/SKILL.md +16 -0
- package/library/skills/navigate-summer/SKILL.md +15 -0
- package/library/skills/new-project/SKILL.md +11 -0
- package/library/skills/organic-model/SKILL.md +24 -0
- package/library/skills/pixel-art/SKILL.md +15 -0
- package/library/skills/play/SKILL.md +18 -0
- package/library/skills/playtesting-a-feature/SKILL.md +23 -0
- package/library/skills/procedural-animation/SKILL.md +18 -0
- package/library/skills/prop-model/SKILL.md +23 -0
- package/library/skills/publish-your-game/SKILL.md +27 -0
- package/library/skills/release-readiness/SKILL.md +12 -0
- package/library/skills/remote-deploy/SKILL.md +14 -0
- package/library/skills/retarget/SKILL.md +20 -0
- package/library/skills/running-in-the-cloud/SKILL.md +10 -0
- package/library/skills/save-load/SKILL.md +15 -0
- package/library/skills/scene-composition/SKILL.md +17 -0
- package/library/skills/scene-hierarchy-design/SKILL.md +24 -0
- package/library/skills/scene-scripting/SKILL.md +30 -0
- package/library/skills/scene-to-level/SKILL.md +22 -0
- package/library/skills/skill-test/SKILL.md +10 -0
- package/library/skills/skybox-panorama/SKILL.md +20 -0
- package/library/skills/sound-effect/SKILL.md +23 -0
- package/library/skills/spatial-placement/SKILL.md +30 -0
- package/library/skills/sprite-sheet/SKILL.md +23 -0
- package/library/skills/store-art/SKILL.md +11 -0
- package/library/skills/store-listing/SKILL.md +10 -0
- package/library/skills/summer-analytics/SKILL.md +15 -0
- package/library/skills/summer-apps/SKILL.md +29 -0
- package/library/skills/summer-assets/SKILL.md +31 -1
- package/library/skills/summer-assets/resource.yaml +2 -2
- package/library/skills/summer-cli/SKILL.md +133 -0
- package/library/skills/summer-cli/resource.yaml +31 -0
- package/library/skills/summer-friends/SKILL.md +14 -0
- package/library/skills/summer-leaderboards/SKILL.md +16 -0
- package/library/skills/summer-match-results/SKILL.md +17 -0
- package/library/skills/summer-matchmaking/SKILL.md +17 -0
- package/library/skills/summer-parties/SKILL.md +14 -0
- package/library/skills/summer-player-data/SKILL.md +14 -0
- package/library/skills/summer-store/SKILL.md +15 -0
- package/library/skills/summer-world-chat/SKILL.md +14 -0
- package/library/skills/summer-world-saves/SKILL.md +14 -0
- package/library/skills/text-to-motion/SKILL.md +15 -0
- package/library/skills/tileable-texture/SKILL.md +18 -0
- package/library/skills/trailer-shot/SKILL.md +18 -0
- package/library/skills/tune-performance/SKILL.md +26 -0
- package/library/skills/ui-basics/SKILL.md +14 -0
- package/library/skills/ui-graphics/SKILL.md +17 -0
- package/library/skills/use-widget-asset/SKILL.md +14 -0
- package/library/skills/using-summer/SKILL.md +26 -0
- package/library/skills/using-summer/resource.yaml +2 -1
- package/library/skills/vehicle-model/SKILL.md +27 -0
- package/library/skills/verifying-scenes/SKILL.md +29 -0
- package/library/skills/vfx-dissolve/SKILL.md +19 -0
- package/library/skills/vfx-fire/SKILL.md +26 -0
- package/library/skills/vfx-hit-spark/SKILL.md +23 -0
- package/library/skills/vfx-lightning/SKILL.md +23 -0
- package/library/skills/vfx-magic-glow/SKILL.md +23 -0
- package/library/skills/vfx-muzzle-flash/SKILL.md +23 -0
- package/library/skills/vfx-smoke/SKILL.md +26 -0
- package/library/skills/vfx-water-ripple/SKILL.md +23 -0
- package/library/skills/voice-line/SKILL.md +16 -0
- package/library/skills/web-and-touch-input/SKILL.md +19 -0
- package/library/skills/web-compatibility-look/SKILL.md +20 -0
- package/library/skills/world-building-3d/SKILL.md +28 -0
- package/package.json +3 -2
- package/registry/generated/counts.json +2 -2
- package/registry/generated/gemini-extension.json +3 -2
- package/registry/generated/index.json +157 -118
- package/registry/generated/marketplace.claude.json +2 -2
- package/registry/generated/plugin.claude-directory.json +168 -0
- package/registry/generated/plugin.claude.json +3 -2
- package/registry/generated/plugin.codex.json +15 -11
- package/registry/generated/plugin.cursor.json +5 -3
- package/registry/generated/plugin.factory.json +3 -2
- package/registry/generated/server.json +11 -2
- package/registry/generated/skills-index.md +5 -4
- package/registry/generated/skills-registry.json +16 -2
- package/registry/operations/legacy-names.json +35 -0
- package/registry/operations/public-catalog.json +33160 -0
|
@@ -4,52 +4,67 @@ import { resolveGatewayUrl } from "../../core/config.js";
|
|
|
4
4
|
import { getApiToken, getApiPort, checkEngineHealth } from "../../core/engine.js";
|
|
5
5
|
export const statusCommand = new Command("status")
|
|
6
6
|
.description("Check Summer Engine status, connection, and auth state")
|
|
7
|
-
.
|
|
8
|
-
|
|
7
|
+
.option("--json", "Print the status as JSON")
|
|
8
|
+
.action(async (opts) => {
|
|
9
|
+
if (opts.json)
|
|
10
|
+
console.log(JSON.stringify(await readStatus()));
|
|
11
|
+
else
|
|
12
|
+
await runStatus(console.log);
|
|
9
13
|
});
|
|
14
|
+
export async function readStatus() {
|
|
15
|
+
const authToken = await getAuthToken();
|
|
16
|
+
// The env credential is what every gateway call uses; a stored identity
|
|
17
|
+
// (if any) is not the one in effect, so it is not reported.
|
|
18
|
+
const auth = !authToken
|
|
19
|
+
? { signedIn: false, loginUrl: await loginPageHint() }
|
|
20
|
+
: hasEnvAuthToken()
|
|
21
|
+
? { signedIn: true, source: "env" }
|
|
22
|
+
: { signedIn: true, source: "stored", ...(await storedIdentity()) };
|
|
23
|
+
if (!(await getApiToken()))
|
|
24
|
+
return { auth, engine: { state: "not_running" } };
|
|
25
|
+
const port = await getApiPort();
|
|
26
|
+
const health = await checkEngineHealth(port);
|
|
27
|
+
// /api/health carries no project name/path/scene (see EngineHealth in
|
|
28
|
+
// core/engine.ts); summer_get_project_context is the read for those.
|
|
29
|
+
return { auth, engine: health ? { state: "running", port, version: health.version } : { state: "not_responding", port } };
|
|
30
|
+
}
|
|
10
31
|
export async function runStatus(log) {
|
|
32
|
+
const { auth, engine } = await readStatus();
|
|
11
33
|
log("Summer Engine Status\n");
|
|
12
|
-
|
|
13
|
-
if (!authToken) {
|
|
34
|
+
if (!auth.signedIn) {
|
|
14
35
|
log(" Auth: Not logged in");
|
|
15
36
|
log(" Run: npx -y summer-engine@latest login");
|
|
16
|
-
log(` Or: ${
|
|
37
|
+
log(` Or: ${auth.loginUrl}`);
|
|
17
38
|
}
|
|
18
|
-
else if (
|
|
19
|
-
// The env credential is what every gateway call uses; a stored identity
|
|
20
|
-
// (if any) is not the one in effect, so it is not printed.
|
|
39
|
+
else if (auth.source === "env") {
|
|
21
40
|
log(" Auth: SUMMER_TOKEN (env) — logout does not affect it");
|
|
22
41
|
}
|
|
23
42
|
else {
|
|
24
|
-
|
|
43
|
+
const identity = auth.identityError ? ` (identity unreadable: ${auth.identityError})` : auth.email ? ` as ${auth.email}` : "";
|
|
44
|
+
log(` Auth: Logged in${identity}`);
|
|
25
45
|
}
|
|
26
|
-
|
|
27
|
-
const port = await getApiPort();
|
|
28
|
-
if (!apiToken) {
|
|
46
|
+
if (engine.state === "not_running") {
|
|
29
47
|
log(" Engine: Not running (no api-token found)");
|
|
30
48
|
log("\n To start: summer run");
|
|
31
49
|
return;
|
|
32
50
|
}
|
|
33
51
|
log(" API Token: Found (~/.summer/api-token)");
|
|
34
|
-
log(` Port: ${port}`);
|
|
35
|
-
|
|
36
|
-
if (!health) {
|
|
52
|
+
log(` Port: ${engine.port}`);
|
|
53
|
+
if (engine.state === "not_responding") {
|
|
37
54
|
log(" Engine: Not responding (may have closed since last launch)");
|
|
38
55
|
log("\n To start: summer run");
|
|
39
56
|
return;
|
|
40
57
|
}
|
|
41
|
-
|
|
42
|
-
// core/engine.ts); summer_get_project_context is the read for those.
|
|
43
|
-
log(` Engine: Running (v${health.version})`);
|
|
58
|
+
log(` Engine: Running (v${engine.version})`);
|
|
44
59
|
}
|
|
45
60
|
/** A corrupt user.json must not take `summer status` down with it. */
|
|
46
|
-
async function
|
|
61
|
+
async function storedIdentity() {
|
|
47
62
|
try {
|
|
48
63
|
const userInfo = await getUserInfo();
|
|
49
|
-
return userInfo?.email ?
|
|
64
|
+
return userInfo?.email ? { email: userInfo.email } : {};
|
|
50
65
|
}
|
|
51
66
|
catch (error) {
|
|
52
|
-
return
|
|
67
|
+
return { identityError: error instanceof Error ? error.message : String(error) };
|
|
53
68
|
}
|
|
54
69
|
}
|
|
55
70
|
async function loginPageHint() {
|
|
@@ -14,6 +14,7 @@ import { PACKAGE_ROOT } from "../../core/package-root.js";
|
|
|
14
14
|
import { Command, Option } from "commander";
|
|
15
15
|
import { ToolDispatchError, ToolResultError, dispatchTool, listToolDispatches, resolveToolDispatch, } from "../../core/capabilities/tool-dispatch.js";
|
|
16
16
|
import { c } from "../../core/format.js";
|
|
17
|
+
import { noteCliHosted, noteCliTool } from "../../core/cli-usage.js";
|
|
17
18
|
import { callHostedToolForCli, hostedResultPayload, listHostedToolsForCli, } from "../../core/hosted-mcp.js";
|
|
18
19
|
/** The hosted store and publishing tools (Summer Engine MCP); replaceable in tests. */
|
|
19
20
|
export const hostedCli = { list: listHostedToolsForCli, call: callHostedToolForCli };
|
|
@@ -116,6 +117,8 @@ export const toolCommand = new Command("tool")
|
|
|
116
117
|
const entry = resolveToolForCli(name);
|
|
117
118
|
if (!entry) {
|
|
118
119
|
// Not a local tool: the hosted store and publishing tools, with the store sign-in.
|
|
120
|
+
// Summer's server records the call itself (X-Summer-Client-Surface: cli).
|
|
121
|
+
noteCliHosted();
|
|
119
122
|
const hosted = await hostedCli.call(name, parseJsonArgs(options.args ?? options.json));
|
|
120
123
|
if (hosted.status === "called") {
|
|
121
124
|
const payload = hostedResultPayload(hosted.result);
|
|
@@ -135,6 +138,7 @@ export const toolCommand = new Command("tool")
|
|
|
135
138
|
console.error("Note: 'summer tool --json <args>' is deprecated; use --args <json>.");
|
|
136
139
|
}
|
|
137
140
|
const args = parseJsonArgs(options.args ?? options.json);
|
|
141
|
+
noteCliTool(entry.name);
|
|
138
142
|
let result;
|
|
139
143
|
try {
|
|
140
144
|
result = await dispatchTool(entry.slug, args);
|
package/dist/cli/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import { getBanner } from "./banner.js";
|
|
|
21
21
|
import { runRootAction } from "./root-action.js";
|
|
22
22
|
import { c, sym } from "../core/format.js";
|
|
23
23
|
import { resolveSurface } from "../core/tool-profiles.js";
|
|
24
|
+
import { trackCommandUsage } from "./command-usage.js";
|
|
24
25
|
import { TOOLKIT_VERSION as version } from "../core/version.js";
|
|
25
26
|
/**
|
|
26
27
|
* Build and run the summer CLI. The `mcp` command is injected by the bin
|
|
@@ -58,6 +59,7 @@ export function runCli(mcpCommand) {
|
|
|
58
59
|
for (const command of opsCliCommands())
|
|
59
60
|
program.addCommand(command);
|
|
60
61
|
}
|
|
62
|
+
trackCommandUsage(program);
|
|
61
63
|
program.parseAsync().catch((err) => {
|
|
62
64
|
console.error(err instanceof Error ? err.message : String(err));
|
|
63
65
|
process.exit(1);
|
|
@@ -36,6 +36,7 @@ export interface McpClientInfo {
|
|
|
36
36
|
}
|
|
37
37
|
type Env = Record<string, string | undefined>;
|
|
38
38
|
/** The opt-out switches, the same two the library feedback mailbox honors. */
|
|
39
|
+
/** SUMMER_NO_TELEMETRY or DO_NOT_TRACK set to 1, true, yes or on. */
|
|
39
40
|
export declare function isTelemetryDisabled(env?: Env): boolean;
|
|
40
41
|
/** Lowercase `[a-z0-9-]`, at most 40 characters: the server's host id shape. */
|
|
41
42
|
export declare function sanitizeHostId(raw: string): string;
|
|
@@ -43,6 +44,8 @@ export declare function sanitizeHostId(raw: string): string;
|
|
|
43
44
|
export declare function hostFromClientName(name: string | undefined | null): string | null;
|
|
44
45
|
/** AI_AGENT ("<name>_<version>_<mode>") first, then the per-host variables. */
|
|
45
46
|
export declare function hostFromEnv(env: Env): string | null;
|
|
47
|
+
/** `mcp` inside `summer mcp` (it registers its handshake), `cli` for every other command. */
|
|
48
|
+
export declare function processSurface(): ClientSurface;
|
|
46
49
|
export declare function registerMcpClientSource(source: (() => McpClientInfo | undefined) | null): void;
|
|
47
50
|
export declare function currentMcpClient(): McpClientInfo | undefined;
|
|
48
51
|
export declare function resolveAgentHost(env?: Env, client?: McpClientInfo | undefined): AgentHost;
|
package/dist/core/agent-host.js
CHANGED
|
@@ -27,8 +27,10 @@ export const AGENT_HOST_VERSION_HEADER = "X-Summer-Agent-Host-Version";
|
|
|
27
27
|
export const MCP_TOOL_HEADER = "X-Summer-MCP-Tool";
|
|
28
28
|
export const AGENT_HOST_OVERRIDE_ENV = "SUMMER_AGENT_HOST";
|
|
29
29
|
/** The opt-out switches, the same two the library feedback mailbox honors. */
|
|
30
|
+
/** SUMMER_NO_TELEMETRY or DO_NOT_TRACK set to 1, true, yes or on. */
|
|
30
31
|
export function isTelemetryDisabled(env = process.env) {
|
|
31
|
-
|
|
32
|
+
const on = (value) => value !== undefined && /^(1|true|yes|on)$/i.test(value.trim());
|
|
33
|
+
return on(env.SUMMER_NO_TELEMETRY) || on(env.DO_NOT_TRACK);
|
|
32
34
|
}
|
|
33
35
|
const set = (env, key) => {
|
|
34
36
|
const value = env[key];
|
|
@@ -128,6 +130,10 @@ export function hostFromEnv(env) {
|
|
|
128
130
|
// The MCP server registers a getter; it is read at request time, after the
|
|
129
131
|
// initialize handshake has given the client's name and version.
|
|
130
132
|
let mcpClientSource = null;
|
|
133
|
+
/** `mcp` inside `summer mcp` (it registers its handshake), `cli` for every other command. */
|
|
134
|
+
export function processSurface() {
|
|
135
|
+
return mcpClientSource ? "mcp" : "cli";
|
|
136
|
+
}
|
|
131
137
|
export function registerMcpClientSource(source) {
|
|
132
138
|
mcpClientSource = source;
|
|
133
139
|
}
|
|
@@ -168,7 +174,7 @@ const headerValue = (value, max) => value.replace(/[^\x20-\x7e]/g, "").trim().sl
|
|
|
168
174
|
*/
|
|
169
175
|
export function summerRequestHeaders(options = {}, env = process.env) {
|
|
170
176
|
const context = toolContext.getStore();
|
|
171
|
-
const surface = context?.surface ?? options.surface ?? (
|
|
177
|
+
const surface = context?.surface ?? options.surface ?? processSurface();
|
|
172
178
|
const headers = {
|
|
173
179
|
"X-Summer-Client": "summer-cli",
|
|
174
180
|
"X-Summer-Client-Version": TOOLKIT_VERSION,
|
|
@@ -18,9 +18,9 @@ export declare const APP_DOCK_SLOTS: readonly ["left", "right", "bottom"];
|
|
|
18
18
|
export declare const appGuideArgsSchema: z.ZodObject<{
|
|
19
19
|
section: z.ZodDefault<z.ZodEnum<["all", "overview", "manifest", "sdk", "kit", "layout", "design", "examples", "types"]>>;
|
|
20
20
|
}, "strip", z.ZodTypeAny, {
|
|
21
|
-
section: "all" | "
|
|
21
|
+
section: "all" | "examples" | "kit" | "layout" | "manifest" | "overview" | "sdk" | "design" | "types";
|
|
22
22
|
}, {
|
|
23
|
-
section?: "all" | "
|
|
23
|
+
section?: "all" | "examples" | "kit" | "layout" | "manifest" | "overview" | "sdk" | "design" | "types" | undefined;
|
|
24
24
|
}>;
|
|
25
25
|
export declare const appListArgsSchema: z.ZodObject<{
|
|
26
26
|
workspaceId: z.ZodOptional<z.ZodString>;
|
|
@@ -80,8 +80,8 @@ export declare const appPublishArgsSchema: z.ZodObject<{
|
|
|
80
80
|
path: string;
|
|
81
81
|
content: string;
|
|
82
82
|
}[] | undefined;
|
|
83
|
-
idempotencyKey?: string | undefined;
|
|
84
83
|
dir?: string | undefined;
|
|
84
|
+
idempotencyKey?: string | undefined;
|
|
85
85
|
layout?: Record<string, unknown> | undefined;
|
|
86
86
|
}, {
|
|
87
87
|
manifest: Record<string, unknown>;
|
|
@@ -92,8 +92,8 @@ export declare const appPublishArgsSchema: z.ZodObject<{
|
|
|
92
92
|
content: string;
|
|
93
93
|
encoding?: "utf8" | "base64" | undefined;
|
|
94
94
|
}[] | undefined;
|
|
95
|
-
idempotencyKey?: string | undefined;
|
|
96
95
|
dir?: string | undefined;
|
|
96
|
+
idempotencyKey?: string | undefined;
|
|
97
97
|
layout?: Record<string, unknown> | undefined;
|
|
98
98
|
}>;
|
|
99
99
|
export declare const appGetArgsSchema: z.ZodObject<{
|
|
@@ -109,15 +109,15 @@ export declare const appEventsArgsSchema: z.ZodObject<{
|
|
|
109
109
|
timeoutSeconds: z.ZodDefault<z.ZodNumber>;
|
|
110
110
|
kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["agent", "error", "feedback", "tool"]>, "many">>;
|
|
111
111
|
}, "strip", z.ZodTypeAny, {
|
|
112
|
-
timeoutSeconds: number;
|
|
113
112
|
after: number;
|
|
113
|
+
timeoutSeconds: number;
|
|
114
114
|
appId: string;
|
|
115
115
|
kinds?: ("error" | "agent" | "tool" | "feedback")[] | undefined;
|
|
116
116
|
}, {
|
|
117
117
|
appId: string;
|
|
118
118
|
kinds?: ("error" | "agent" | "tool" | "feedback")[] | undefined;
|
|
119
|
-
timeoutSeconds?: number | undefined;
|
|
120
119
|
after?: number | undefined;
|
|
120
|
+
timeoutSeconds?: number | undefined;
|
|
121
121
|
}>;
|
|
122
122
|
export declare const appPageArgsSchema: z.ZodObject<{
|
|
123
123
|
appId: z.ZodString;
|
|
@@ -156,13 +156,13 @@ export declare const appUpdateArgsSchema: z.ZodObject<{
|
|
|
156
156
|
}, "strip", z.ZodTypeAny, {
|
|
157
157
|
appId: string;
|
|
158
158
|
name?: string | undefined;
|
|
159
|
-
status?: "
|
|
159
|
+
status?: "kept" | "scratch" | "archived" | undefined;
|
|
160
160
|
folder?: string | null | undefined;
|
|
161
161
|
purpose?: string | undefined;
|
|
162
162
|
}, {
|
|
163
163
|
appId: string;
|
|
164
164
|
name?: string | undefined;
|
|
165
|
-
status?: "
|
|
165
|
+
status?: "kept" | "scratch" | "archived" | undefined;
|
|
166
166
|
folder?: string | null | undefined;
|
|
167
167
|
purpose?: string | undefined;
|
|
168
168
|
}>;
|
|
@@ -228,16 +228,16 @@ export declare const appDataArgsSchema: z.ZodObject<{
|
|
|
228
228
|
limit: number;
|
|
229
229
|
appId: string;
|
|
230
230
|
ops?: Record<string, unknown>[] | undefined;
|
|
231
|
-
after?: string | undefined;
|
|
232
231
|
as?: "seed" | "agent" | undefined;
|
|
233
232
|
collection?: string | undefined;
|
|
233
|
+
after?: string | undefined;
|
|
234
234
|
}, {
|
|
235
235
|
appId: string;
|
|
236
236
|
ops?: Record<string, unknown>[] | undefined;
|
|
237
237
|
limit?: number | undefined;
|
|
238
|
-
after?: string | undefined;
|
|
239
238
|
as?: "seed" | "agent" | undefined;
|
|
240
239
|
collection?: string | undefined;
|
|
240
|
+
after?: string | undefined;
|
|
241
241
|
}>;
|
|
242
242
|
export declare const appToolsArgsSchema: z.ZodObject<{
|
|
243
243
|
appId: z.ZodString;
|
|
@@ -71,10 +71,10 @@ export declare const sceneAuditArgsSchema: z.ZodObject<{
|
|
|
71
71
|
limit?: number | undefined;
|
|
72
72
|
root?: string | undefined;
|
|
73
73
|
scenePath?: string | undefined;
|
|
74
|
-
render?: "none" | "sheet" | undefined;
|
|
75
|
-
checks?: ("resource" | "through_hole" | "floor_gap" | "floating" | "sunken" | "interpenetration" | "exposed_edge" | "open_fixture_end" | "orientation" | "uv_stretch" | "duplicate" | "z_fight" | "depth_step" | "lights" | "transform")[] | undefined;
|
|
76
|
-
min_severity?: "error" | "warn" | "look" | undefined;
|
|
77
74
|
offset?: number | undefined;
|
|
75
|
+
min_severity?: "error" | "warn" | "look" | undefined;
|
|
76
|
+
render?: "none" | "sheet" | undefined;
|
|
77
|
+
checks?: ("resource" | "transform" | "through_hole" | "floor_gap" | "floating" | "sunken" | "interpenetration" | "exposed_edge" | "open_fixture_end" | "orientation" | "uv_stretch" | "duplicate" | "z_fight" | "depth_step" | "lights")[] | undefined;
|
|
78
78
|
budget_ms?: number | undefined;
|
|
79
79
|
show_accepted?: boolean | undefined;
|
|
80
80
|
}, {
|
|
@@ -85,10 +85,10 @@ export declare const sceneAuditArgsSchema: z.ZodObject<{
|
|
|
85
85
|
limit?: number | undefined;
|
|
86
86
|
root?: string | undefined;
|
|
87
87
|
scenePath?: string | undefined;
|
|
88
|
-
render?: "none" | "sheet" | undefined;
|
|
89
|
-
checks?: ("resource" | "through_hole" | "floor_gap" | "floating" | "sunken" | "interpenetration" | "exposed_edge" | "open_fixture_end" | "orientation" | "uv_stretch" | "duplicate" | "z_fight" | "depth_step" | "lights" | "transform")[] | undefined;
|
|
90
|
-
min_severity?: "error" | "warn" | "look" | undefined;
|
|
91
88
|
offset?: number | undefined;
|
|
89
|
+
min_severity?: "error" | "warn" | "look" | undefined;
|
|
90
|
+
render?: "none" | "sheet" | undefined;
|
|
91
|
+
checks?: ("resource" | "transform" | "through_hole" | "floor_gap" | "floating" | "sunken" | "interpenetration" | "exposed_edge" | "open_fixture_end" | "orientation" | "uv_stretch" | "duplicate" | "z_fight" | "depth_step" | "lights")[] | undefined;
|
|
92
92
|
budget_ms?: number | undefined;
|
|
93
93
|
show_accepted?: boolean | undefined;
|
|
94
94
|
}>;
|
|
@@ -58,8 +58,8 @@ export declare const fabricateArgsSchema: z.ZodObject<{
|
|
|
58
58
|
}, "strip", z.ZodTypeAny, {
|
|
59
59
|
name: string;
|
|
60
60
|
source: string;
|
|
61
|
-
out_path?: string | undefined;
|
|
62
61
|
target_size?: number | undefined;
|
|
62
|
+
out_path?: string | undefined;
|
|
63
63
|
import_to_scene?: {
|
|
64
64
|
parent: string;
|
|
65
65
|
position?: string | undefined;
|
|
@@ -70,8 +70,8 @@ export declare const fabricateArgsSchema: z.ZodObject<{
|
|
|
70
70
|
}, {
|
|
71
71
|
name: string;
|
|
72
72
|
source: string;
|
|
73
|
-
out_path?: string | undefined;
|
|
74
73
|
target_size?: number | undefined;
|
|
74
|
+
out_path?: string | undefined;
|
|
75
75
|
import_to_scene?: {
|
|
76
76
|
parent: string;
|
|
77
77
|
position?: string | undefined;
|
|
@@ -15,14 +15,14 @@ export declare const gameTaskPlanInputSchema: z.ZodObject<{
|
|
|
15
15
|
assetPolicy: z.ZodDefault<z.ZodEnum<["reuse-first", "ask-before-paid-generation", "no-paid-generation", "generate-when-clearly-needed"]>>;
|
|
16
16
|
verification: z.ZodDefault<z.ZodEnum<["none", "fast", "full"]>>;
|
|
17
17
|
}, "strip", z.ZodTypeAny, {
|
|
18
|
-
mode: "auto" | "ship" | "debug" | "
|
|
18
|
+
mode: "auto" | "ship" | "debug" | "asset" | "new-game" | "feature" | "playtest" | "polish";
|
|
19
19
|
target: "auto" | "audio" | "level" | "npc" | "ui" | "2d" | "3d" | "animation" | "multiplayer";
|
|
20
20
|
goal: string;
|
|
21
21
|
assetPolicy: "reuse-first" | "ask-before-paid-generation" | "no-paid-generation" | "generate-when-clearly-needed";
|
|
22
22
|
verification: "none" | "full" | "fast";
|
|
23
23
|
}, {
|
|
24
24
|
goal: string;
|
|
25
|
-
mode?: "auto" | "ship" | "debug" | "
|
|
25
|
+
mode?: "auto" | "ship" | "debug" | "asset" | "new-game" | "feature" | "playtest" | "polish" | undefined;
|
|
26
26
|
target?: "auto" | "audio" | "level" | "npc" | "ui" | "2d" | "3d" | "animation" | "multiplayer" | undefined;
|
|
27
27
|
assetPolicy?: "reuse-first" | "ask-before-paid-generation" | "no-paid-generation" | "generate-when-clearly-needed" | undefined;
|
|
28
28
|
verification?: "none" | "full" | "fast" | undefined;
|
|
@@ -25,14 +25,14 @@ export declare const importHdriArgsSchema: z.ZodObject<{
|
|
|
25
25
|
resolution: z.ZodDefault<z.ZodEnum<["1k", "2k", "4k"]>>;
|
|
26
26
|
allow_large: z.ZodDefault<z.ZodBoolean>;
|
|
27
27
|
}, "strip", z.ZodTypeAny, {
|
|
28
|
-
resolution: "
|
|
28
|
+
resolution: "2k" | "1k" | "4k";
|
|
29
29
|
allow_large: boolean;
|
|
30
30
|
query?: string | undefined;
|
|
31
31
|
assetId?: string | undefined;
|
|
32
32
|
}, {
|
|
33
33
|
query?: string | undefined;
|
|
34
|
+
resolution?: "2k" | "1k" | "4k" | undefined;
|
|
34
35
|
assetId?: string | undefined;
|
|
35
|
-
resolution?: "1k" | "2k" | "4k" | undefined;
|
|
36
36
|
allow_large?: boolean | undefined;
|
|
37
37
|
}>;
|
|
38
38
|
export interface ImportHdriArgs {
|
|
@@ -27,24 +27,24 @@ export declare const motionGenerationArgsSchema: z.ZodObject<{
|
|
|
27
27
|
backend: "meshy-library" | "text-to-motion";
|
|
28
28
|
options?: Record<string, any> | undefined;
|
|
29
29
|
prompt?: string | undefined;
|
|
30
|
+
idempotencyKey?: string | undefined;
|
|
30
31
|
motionName?: string | undefined;
|
|
31
32
|
prompts?: string[] | undefined;
|
|
32
33
|
takes?: number | undefined;
|
|
33
34
|
lockJoints?: string[] | undefined;
|
|
34
35
|
cfgScale?: number | undefined;
|
|
35
|
-
idempotencyKey?: string | undefined;
|
|
36
36
|
}, {
|
|
37
37
|
rigAssetId: string;
|
|
38
38
|
options?: Record<string, any> | undefined;
|
|
39
39
|
wait?: boolean | undefined;
|
|
40
40
|
prompt?: string | undefined;
|
|
41
|
+
idempotencyKey?: string | undefined;
|
|
41
42
|
backend?: "meshy-library" | "text-to-motion" | undefined;
|
|
42
43
|
motionName?: string | undefined;
|
|
43
44
|
prompts?: string[] | undefined;
|
|
44
45
|
takes?: number | undefined;
|
|
45
46
|
lockJoints?: string[] | undefined;
|
|
46
47
|
cfgScale?: number | undefined;
|
|
47
|
-
idempotencyKey?: string | undefined;
|
|
48
48
|
}>;
|
|
49
49
|
export type MotionGenerationArgs = z.input<typeof motionGenerationArgsSchema>;
|
|
50
50
|
/** Validate the backend-specific rules zod cannot express on a flat shape and
|
|
@@ -151,20 +151,20 @@ export declare const measureArgsSchema: z.ZodObject<{
|
|
|
151
151
|
space: "local" | "world";
|
|
152
152
|
tolerance: number;
|
|
153
153
|
a?: string | undefined;
|
|
154
|
-
axis?: "y" | "x" | "z" | undefined;
|
|
155
|
-
nodes?: string[] | undefined;
|
|
156
154
|
b?: string | undefined;
|
|
157
|
-
|
|
155
|
+
nodes?: string[] | undefined;
|
|
156
|
+
axis?: "y" | "z" | "x" | undefined;
|
|
157
|
+
face?: "-y" | "-z" | "+x" | "-x" | "+y" | "+z" | undefined;
|
|
158
158
|
}, {
|
|
159
159
|
scenePath: string;
|
|
160
160
|
mode?: "pair" | "plane" | undefined;
|
|
161
161
|
a?: string | undefined;
|
|
162
162
|
space?: "local" | "world" | undefined;
|
|
163
|
-
axis?: "y" | "x" | "z" | undefined;
|
|
164
|
-
nodes?: string[] | undefined;
|
|
165
163
|
b?: string | undefined;
|
|
164
|
+
nodes?: string[] | undefined;
|
|
165
|
+
axis?: "y" | "z" | "x" | undefined;
|
|
166
166
|
tolerance?: number | undefined;
|
|
167
|
-
face?: "-y" | "+x" | "-x" | "+y" | "+z" |
|
|
167
|
+
face?: "-y" | "-z" | "+x" | "-x" | "+y" | "+z" | undefined;
|
|
168
168
|
}>;
|
|
169
169
|
export type MeasureArgs = z.output<typeof measureArgsSchema>;
|
|
170
170
|
export declare function measure(client: PlacementClient, args: MeasureArgs): Promise<PlacementResult>;
|
|
@@ -213,39 +213,39 @@ export declare const placeAdjacentArgsSchema: z.ZodObject<{
|
|
|
213
213
|
z: z.ZodOptional<z.ZodEnum<["min", "center", "max", "none"]>>;
|
|
214
214
|
}, "strip", z.ZodTypeAny, {
|
|
215
215
|
y?: "none" | "min" | "max" | "center" | undefined;
|
|
216
|
-
x?: "none" | "min" | "max" | "center" | undefined;
|
|
217
216
|
z?: "none" | "min" | "max" | "center" | undefined;
|
|
217
|
+
x?: "none" | "min" | "max" | "center" | undefined;
|
|
218
218
|
}, {
|
|
219
219
|
y?: "none" | "min" | "max" | "center" | undefined;
|
|
220
|
-
x?: "none" | "min" | "max" | "center" | undefined;
|
|
221
220
|
z?: "none" | "min" | "max" | "center" | undefined;
|
|
221
|
+
x?: "none" | "min" | "max" | "center" | undefined;
|
|
222
222
|
}>]>>>;
|
|
223
223
|
space: z.ZodDefault<z.ZodOptional<z.ZodEnum<["world", "local"]>>>;
|
|
224
224
|
}, "strip", z.ZodTypeAny, {
|
|
225
225
|
scenePath: string;
|
|
226
226
|
space: "local" | "world";
|
|
227
|
-
gap: number;
|
|
228
|
-
axis: "y" | "x" | "z";
|
|
229
|
-
subject: string;
|
|
230
227
|
reference: string;
|
|
228
|
+
subject: string;
|
|
229
|
+
axis: "y" | "z" | "x";
|
|
231
230
|
side: "min" | "max";
|
|
231
|
+
gap: number;
|
|
232
232
|
alignOtherAxes: "none" | "min" | "max" | "center" | {
|
|
233
233
|
y?: "none" | "min" | "max" | "center" | undefined;
|
|
234
|
-
x?: "none" | "min" | "max" | "center" | undefined;
|
|
235
234
|
z?: "none" | "min" | "max" | "center" | undefined;
|
|
235
|
+
x?: "none" | "min" | "max" | "center" | undefined;
|
|
236
236
|
};
|
|
237
237
|
}, {
|
|
238
238
|
scenePath: string;
|
|
239
|
-
axis: "y" | "x" | "z";
|
|
240
|
-
subject: string;
|
|
241
239
|
reference: string;
|
|
240
|
+
subject: string;
|
|
241
|
+
axis: "y" | "z" | "x";
|
|
242
242
|
side: "min" | "max";
|
|
243
243
|
space?: "local" | "world" | undefined;
|
|
244
244
|
gap?: number | undefined;
|
|
245
245
|
alignOtherAxes?: "none" | "min" | "max" | "center" | {
|
|
246
246
|
y?: "none" | "min" | "max" | "center" | undefined;
|
|
247
|
-
x?: "none" | "min" | "max" | "center" | undefined;
|
|
248
247
|
z?: "none" | "min" | "max" | "center" | undefined;
|
|
248
|
+
x?: "none" | "min" | "max" | "center" | undefined;
|
|
249
249
|
} | undefined;
|
|
250
250
|
}>;
|
|
251
251
|
export type PlaceAdjacentArgs = z.output<typeof placeAdjacentArgsSchema>;
|
|
@@ -277,12 +277,12 @@ export declare const attachToSurfaceArgsSchema: z.ZodObject<{
|
|
|
277
277
|
}, "strip", z.ZodTypeAny, {
|
|
278
278
|
scenePath: string;
|
|
279
279
|
subject: string;
|
|
280
|
+
backAxis: "-y" | "-z" | "+x" | "-x" | "+y" | "+z";
|
|
280
281
|
maxDistance: number;
|
|
281
282
|
collisionMask: number;
|
|
282
283
|
placeAt: "current" | "hit";
|
|
283
284
|
maxMove: number;
|
|
284
|
-
|
|
285
|
-
upAxis: "-y" | "+x" | "-x" | "+y" | "+z" | "-z";
|
|
285
|
+
upAxis: "-y" | "-z" | "+x" | "-x" | "+y" | "+z";
|
|
286
286
|
worldUp: [number, number, number];
|
|
287
287
|
standoff: number;
|
|
288
288
|
surface?: string | undefined;
|
|
@@ -294,6 +294,7 @@ export declare const attachToSurfaceArgsSchema: z.ZodObject<{
|
|
|
294
294
|
scenePath: string;
|
|
295
295
|
subject: string;
|
|
296
296
|
surface?: string | undefined;
|
|
297
|
+
backAxis?: "-y" | "-z" | "+x" | "-x" | "+y" | "+z" | undefined;
|
|
297
298
|
ray?: {
|
|
298
299
|
origin: [number, number, number];
|
|
299
300
|
direction: [number, number, number];
|
|
@@ -302,8 +303,7 @@ export declare const attachToSurfaceArgsSchema: z.ZodObject<{
|
|
|
302
303
|
collisionMask?: number | undefined;
|
|
303
304
|
placeAt?: "current" | "hit" | undefined;
|
|
304
305
|
maxMove?: number | undefined;
|
|
305
|
-
|
|
306
|
-
upAxis?: "-y" | "+x" | "-x" | "+y" | "+z" | "-z" | undefined;
|
|
306
|
+
upAxis?: "-y" | "-z" | "+x" | "-x" | "+y" | "+z" | undefined;
|
|
307
307
|
worldUp?: [number, number, number] | undefined;
|
|
308
308
|
standoff?: number | undefined;
|
|
309
309
|
}>;
|
|
@@ -378,9 +378,9 @@ export declare const repeatAlongArgsSchema: z.ZodObject<{
|
|
|
378
378
|
align: "end" | "start" | "center";
|
|
379
379
|
end?: [number, number, number] | undefined;
|
|
380
380
|
count?: number | undefined;
|
|
381
|
-
scale?: [number, number, number] | undefined;
|
|
382
381
|
direction?: [number, number, number] | undefined;
|
|
383
382
|
spacing?: number | undefined;
|
|
383
|
+
scale?: [number, number, number] | undefined;
|
|
384
384
|
rotationDegrees?: [number, number, number] | undefined;
|
|
385
385
|
namePrefix?: string | undefined;
|
|
386
386
|
}, {
|
|
@@ -390,9 +390,9 @@ export declare const repeatAlongArgsSchema: z.ZodObject<{
|
|
|
390
390
|
start: [number, number, number];
|
|
391
391
|
end?: [number, number, number] | undefined;
|
|
392
392
|
count?: number | undefined;
|
|
393
|
-
scale?: [number, number, number] | undefined;
|
|
394
393
|
direction?: [number, number, number] | undefined;
|
|
395
394
|
spacing?: number | undefined;
|
|
395
|
+
scale?: [number, number, number] | undefined;
|
|
396
396
|
align?: "end" | "start" | "center" | undefined;
|
|
397
397
|
rotationDegrees?: [number, number, number] | undefined;
|
|
398
398
|
namePrefix?: string | undefined;
|
|
@@ -422,11 +422,11 @@ export declare const connectPortsArgsSchema: z.ZodObject<{
|
|
|
422
422
|
}, "strip", z.ZodTypeAny, {
|
|
423
423
|
scenePath: string;
|
|
424
424
|
target: string;
|
|
425
|
-
gap: number;
|
|
426
425
|
subject: string;
|
|
427
|
-
maxTriangles: number;
|
|
428
426
|
subjectPort: string | number;
|
|
429
427
|
targetPort: string | number;
|
|
428
|
+
gap: number;
|
|
429
|
+
maxTriangles: number;
|
|
430
430
|
rollDegrees: number;
|
|
431
431
|
maxTiltDegrees: number;
|
|
432
432
|
allowTilt: boolean;
|