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.
Files changed (216) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +3 -2
  3. package/.codex-plugin/plugin.json +15 -11
  4. package/.cursor-plugin/plugin.json +5 -3
  5. package/.factory-plugin/plugin.json +3 -2
  6. package/AGENTS.md +2 -2
  7. package/CHANGELOG.md +48 -0
  8. package/README.md +21 -10
  9. package/dist/cli/command-usage.d.ts +8 -0
  10. package/dist/cli/command-usage.js +22 -0
  11. package/dist/cli/commands/config.js +3 -2
  12. package/dist/cli/commands/create.js +12 -3
  13. package/dist/cli/commands/list.d.ts +5 -0
  14. package/dist/cli/commands/list.js +30 -13
  15. package/dist/cli/commands/login.js +1 -1
  16. package/dist/cli/commands/memory.js +6 -2
  17. package/dist/cli/commands/ops.d.ts +20 -3
  18. package/dist/cli/commands/ops.js +60 -27
  19. package/dist/cli/commands/setup.d.ts +2 -0
  20. package/dist/cli/commands/setup.js +219 -16
  21. package/dist/cli/commands/skills.js +20 -7
  22. package/dist/cli/commands/status.d.ts +26 -0
  23. package/dist/cli/commands/status.js +36 -21
  24. package/dist/cli/commands/tool.js +4 -0
  25. package/dist/cli/index.js +2 -0
  26. package/dist/core/agent-host.d.ts +3 -0
  27. package/dist/core/agent-host.js +8 -2
  28. package/dist/core/capabilities/apps.d.ts +10 -10
  29. package/dist/core/capabilities/audit/args.d.ts +6 -6
  30. package/dist/core/capabilities/fabricate-mesh.d.ts +2 -2
  31. package/dist/core/capabilities/game-task-plan.d.ts +2 -2
  32. package/dist/core/capabilities/hdri-import.d.ts +2 -2
  33. package/dist/core/capabilities/motion-generation.d.ts +2 -2
  34. package/dist/core/capabilities/placement.d.ts +23 -23
  35. package/dist/core/capabilities/runtime-control.d.ts +38 -38
  36. package/dist/core/capabilities/seeing/args.d.ts +16 -16
  37. package/dist/core/capabilities/ui-control.d.ts +2 -2
  38. package/dist/core/capabilities/world-snapshot.d.ts +4 -4
  39. package/dist/core/cli-usage-beacon.d.ts +1 -0
  40. package/dist/core/cli-usage-beacon.js +18 -0
  41. package/dist/core/cli-usage.d.ts +49 -0
  42. package/dist/core/cli-usage.js +108 -0
  43. package/dist/core/feedback/client.d.ts +1 -1
  44. package/dist/core/feedback/client.js +3 -2
  45. package/dist/core/hosted-mcp.d.ts +7 -1
  46. package/dist/core/hosted-mcp.js +6 -4
  47. package/dist/core/library-search.d.ts +2 -2
  48. package/dist/core/ops/areas.d.ts +11 -0
  49. package/dist/core/ops/areas.js +24 -0
  50. package/dist/core/ops/catalog.d.ts +11 -0
  51. package/dist/core/ops/catalog.js +24 -1
  52. package/dist/core/ops/cloud.d.ts +10 -2
  53. package/dist/core/ops/cloud.js +51 -28
  54. package/dist/core/ops/contract.d.ts +2 -1
  55. package/dist/core/ops/contract.js +2 -10
  56. package/dist/core/ops/public-catalog.d.ts +48 -0
  57. package/dist/core/ops/public-catalog.js +56 -0
  58. package/dist/core/ops/search.d.ts +0 -1
  59. package/dist/core/ops/search.js +169 -37
  60. package/dist/core/telemetry.d.ts +10 -0
  61. package/dist/core/telemetry.js +58 -29
  62. package/dist/installer/agent-config.js +5 -0
  63. package/dist/installer/agent-table.d.ts +9 -0
  64. package/dist/installer/agent-table.js +23 -2
  65. package/dist/installer/cli-permissions.d.ts +65 -0
  66. package/dist/installer/cli-permissions.js +182 -0
  67. package/dist/installer/setup.d.ts +2 -0
  68. package/dist/installer/setup.js +3 -0
  69. package/dist/installer/skills-refresh.d.ts +29 -0
  70. package/dist/installer/skills-refresh.js +261 -0
  71. package/dist/installer/version-check.d.ts +22 -2
  72. package/dist/installer/version-check.js +66 -9
  73. package/dist/mcp/ops-surface.js +16 -6
  74. package/dist/mcp/server.d.ts +10 -0
  75. package/dist/mcp/server.js +38 -8
  76. package/dist/project-memory/agent-instructions.d.ts +47 -0
  77. package/dist/project-memory/agent-instructions.js +226 -0
  78. package/gemini-extension.json +3 -2
  79. package/integrations/README.md +1 -1
  80. package/integrations/claude/README.md +6 -0
  81. package/integrations/claude/manifest-target.json +4 -0
  82. package/integrations/gemini/README.md +11 -0
  83. package/integrations/windsurf/README.md +1 -1
  84. package/library/skills/3d-lighting/SKILL.md +16 -0
  85. package/library/skills/README.md +5 -4
  86. package/library/skills/adaptive-music/SKILL.md +21 -0
  87. package/library/skills/agent-playtesting/SKILL.md +22 -0
  88. package/library/skills/ai-characters-in-games/SKILL.md +15 -0
  89. package/library/skills/ambient-bed/SKILL.md +16 -0
  90. package/library/skills/animated-loop/SKILL.md +19 -0
  91. package/library/skills/animation-tree/SKILL.md +26 -0
  92. package/library/skills/art-direction/SKILL.md +14 -0
  93. package/library/skills/asset-strategy/SKILL.md +30 -0
  94. package/library/skills/audio-direction/SKILL.md +16 -0
  95. package/library/skills/auto-fire-targeting/SKILL.md +14 -0
  96. package/library/skills/brainstorm-game/SKILL.md +13 -0
  97. package/library/skills/browse-templates/SKILL.md +10 -0
  98. package/library/skills/camera-rigs/SKILL.md +20 -0
  99. package/library/skills/character-animation-wiring/SKILL.md +24 -0
  100. package/library/skills/character-model/SKILL.md +28 -0
  101. package/library/skills/character-movement/SKILL.md +24 -0
  102. package/library/skills/character-portrait/SKILL.md +15 -0
  103. package/library/skills/cinematic-cutscene/SKILL.md +21 -0
  104. package/library/skills/combat-basics/SKILL.md +19 -0
  105. package/library/skills/compatibility-renderer-traps/SKILL.md +11 -0
  106. package/library/skills/concept-art/SKILL.md +13 -0
  107. package/library/skills/concept-to-level/SKILL.md +20 -1
  108. package/library/skills/concept-to-level/resource.yaml +2 -2
  109. package/library/skills/create-asset-sheet/SKILL.md +18 -0
  110. package/library/skills/debug/SKILL.md +32 -0
  111. package/library/skills/debugging-game-feel/SKILL.md +12 -0
  112. package/library/skills/design-level/SKILL.md +17 -0
  113. package/library/skills/design-mechanic/SKILL.md +17 -0
  114. package/library/skills/design-npc/SKILL.md +21 -0
  115. package/library/skills/diagnosing-perf-regressions/SKILL.md +12 -0
  116. package/library/skills/driving-the-editor-ui/SKILL.md +23 -0
  117. package/library/skills/environment-kit/SKILL.md +23 -0
  118. package/library/skills/export-and-ship/SKILL.md +23 -0
  119. package/library/skills/fabricating-assets/SKILL.md +23 -0
  120. package/library/skills/facial-and-lipsync/SKILL.md +22 -0
  121. package/library/skills/fps-controller/SKILL.md +17 -0
  122. package/library/skills/game-feel/SKILL.md +26 -0
  123. package/library/skills/gameskill/SKILL.md +11 -0
  124. package/library/skills/gdscript-patterns/SKILL.md +15 -0
  125. package/library/skills/generate-motion/SKILL.md +21 -0
  126. package/library/skills/godogen-visual-proof-game-generation/SKILL.md +17 -0
  127. package/library/skills/grow-analytics/SKILL.md +10 -0
  128. package/library/skills/headless-scripting/SKILL.md +13 -0
  129. package/library/skills/in-game-purchases/SKILL.md +11 -0
  130. package/library/skills/instantiate-asset-pack/SKILL.md +17 -0
  131. package/library/skills/make-game/SKILL.md +29 -0
  132. package/library/skills/multiplayer/SKILL.md +12 -0
  133. package/library/skills/multiplayer-movement/SKILL.md +18 -0
  134. package/library/skills/multiplayer-project/SKILL.md +17 -0
  135. package/library/skills/multiplayer-publish/SKILL.md +17 -5
  136. package/library/skills/multiplayer-state/SKILL.md +16 -0
  137. package/library/skills/multiplayer-testing/SKILL.md +15 -0
  138. package/library/skills/music-track/SKILL.md +16 -0
  139. package/library/skills/navigate-summer/SKILL.md +15 -0
  140. package/library/skills/new-project/SKILL.md +11 -0
  141. package/library/skills/organic-model/SKILL.md +24 -0
  142. package/library/skills/pixel-art/SKILL.md +15 -0
  143. package/library/skills/play/SKILL.md +18 -0
  144. package/library/skills/playtesting-a-feature/SKILL.md +23 -0
  145. package/library/skills/procedural-animation/SKILL.md +18 -0
  146. package/library/skills/prop-model/SKILL.md +23 -0
  147. package/library/skills/publish-your-game/SKILL.md +27 -0
  148. package/library/skills/release-readiness/SKILL.md +12 -0
  149. package/library/skills/remote-deploy/SKILL.md +14 -0
  150. package/library/skills/retarget/SKILL.md +20 -0
  151. package/library/skills/running-in-the-cloud/SKILL.md +10 -0
  152. package/library/skills/save-load/SKILL.md +15 -0
  153. package/library/skills/scene-composition/SKILL.md +17 -0
  154. package/library/skills/scene-hierarchy-design/SKILL.md +24 -0
  155. package/library/skills/scene-scripting/SKILL.md +30 -0
  156. package/library/skills/scene-to-level/SKILL.md +22 -0
  157. package/library/skills/skill-test/SKILL.md +10 -0
  158. package/library/skills/skybox-panorama/SKILL.md +20 -0
  159. package/library/skills/sound-effect/SKILL.md +23 -0
  160. package/library/skills/spatial-placement/SKILL.md +30 -0
  161. package/library/skills/sprite-sheet/SKILL.md +23 -0
  162. package/library/skills/store-art/SKILL.md +11 -0
  163. package/library/skills/store-listing/SKILL.md +10 -0
  164. package/library/skills/summer-analytics/SKILL.md +15 -0
  165. package/library/skills/summer-apps/SKILL.md +29 -0
  166. package/library/skills/summer-assets/SKILL.md +31 -1
  167. package/library/skills/summer-assets/resource.yaml +2 -2
  168. package/library/skills/summer-cli/SKILL.md +133 -0
  169. package/library/skills/summer-cli/resource.yaml +31 -0
  170. package/library/skills/summer-friends/SKILL.md +14 -0
  171. package/library/skills/summer-leaderboards/SKILL.md +16 -0
  172. package/library/skills/summer-match-results/SKILL.md +17 -0
  173. package/library/skills/summer-matchmaking/SKILL.md +17 -0
  174. package/library/skills/summer-parties/SKILL.md +14 -0
  175. package/library/skills/summer-player-data/SKILL.md +14 -0
  176. package/library/skills/summer-store/SKILL.md +15 -0
  177. package/library/skills/summer-world-chat/SKILL.md +14 -0
  178. package/library/skills/summer-world-saves/SKILL.md +14 -0
  179. package/library/skills/text-to-motion/SKILL.md +15 -0
  180. package/library/skills/tileable-texture/SKILL.md +18 -0
  181. package/library/skills/trailer-shot/SKILL.md +18 -0
  182. package/library/skills/tune-performance/SKILL.md +26 -0
  183. package/library/skills/ui-basics/SKILL.md +14 -0
  184. package/library/skills/ui-graphics/SKILL.md +17 -0
  185. package/library/skills/use-widget-asset/SKILL.md +14 -0
  186. package/library/skills/using-summer/SKILL.md +26 -0
  187. package/library/skills/using-summer/resource.yaml +2 -1
  188. package/library/skills/vehicle-model/SKILL.md +27 -0
  189. package/library/skills/verifying-scenes/SKILL.md +29 -0
  190. package/library/skills/vfx-dissolve/SKILL.md +19 -0
  191. package/library/skills/vfx-fire/SKILL.md +26 -0
  192. package/library/skills/vfx-hit-spark/SKILL.md +23 -0
  193. package/library/skills/vfx-lightning/SKILL.md +23 -0
  194. package/library/skills/vfx-magic-glow/SKILL.md +23 -0
  195. package/library/skills/vfx-muzzle-flash/SKILL.md +23 -0
  196. package/library/skills/vfx-smoke/SKILL.md +26 -0
  197. package/library/skills/vfx-water-ripple/SKILL.md +23 -0
  198. package/library/skills/voice-line/SKILL.md +16 -0
  199. package/library/skills/web-and-touch-input/SKILL.md +19 -0
  200. package/library/skills/web-compatibility-look/SKILL.md +20 -0
  201. package/library/skills/world-building-3d/SKILL.md +28 -0
  202. package/package.json +3 -2
  203. package/registry/generated/counts.json +2 -2
  204. package/registry/generated/gemini-extension.json +3 -2
  205. package/registry/generated/index.json +157 -118
  206. package/registry/generated/marketplace.claude.json +2 -2
  207. package/registry/generated/plugin.claude-directory.json +168 -0
  208. package/registry/generated/plugin.claude.json +3 -2
  209. package/registry/generated/plugin.codex.json +15 -11
  210. package/registry/generated/plugin.cursor.json +5 -3
  211. package/registry/generated/plugin.factory.json +3 -2
  212. package/registry/generated/server.json +11 -2
  213. package/registry/generated/skills-index.md +5 -4
  214. package/registry/generated/skills-registry.json +16 -2
  215. package/registry/operations/legacy-names.json +35 -0
  216. 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
- .action(async () => {
8
- await runStatus(console.log);
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
- const authToken = await getAuthToken();
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: ${await loginPageHint()}`);
37
+ log(` Or: ${auth.loginUrl}`);
17
38
  }
18
- else if (hasEnvAuthToken()) {
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
- log(` Auth: Logged in${await storedIdentitySuffix()}`);
43
+ const identity = auth.identityError ? ` (identity unreadable: ${auth.identityError})` : auth.email ? ` as ${auth.email}` : "";
44
+ log(` Auth: Logged in${identity}`);
25
45
  }
26
- const apiToken = await getApiToken();
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
- const health = await checkEngineHealth(port);
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
- // /api/health carries no project name/path/scene (see EngineHealth in
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 storedIdentitySuffix() {
61
+ async function storedIdentity() {
47
62
  try {
48
63
  const userInfo = await getUserInfo();
49
- return userInfo?.email ? ` as ${userInfo.email}` : "";
64
+ return userInfo?.email ? { email: userInfo.email } : {};
50
65
  }
51
66
  catch (error) {
52
- return ` (identity unreadable: ${error instanceof Error ? error.message : String(error)})`;
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;
@@ -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
- return env.SUMMER_NO_TELEMETRY === "1" || env.DO_NOT_TRACK === "1";
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 ?? (mcpClientSource ? "mcp" : "cli");
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" | "kit" | "layout" | "examples" | "manifest" | "overview" | "sdk" | "design" | "types";
21
+ section: "all" | "examples" | "kit" | "layout" | "manifest" | "overview" | "sdk" | "design" | "types";
22
22
  }, {
23
- section?: "all" | "kit" | "layout" | "examples" | "manifest" | "overview" | "sdk" | "design" | "types" | undefined;
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?: "scratch" | "kept" | "archived" | undefined;
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?: "scratch" | "kept" | "archived" | undefined;
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" | "new-game" | "feature" | "asset" | "playtest" | "polish";
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" | "new-game" | "feature" | "asset" | "playtest" | "polish" | undefined;
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: "1k" | "2k" | "4k";
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
- face?: "-y" | "+x" | "-x" | "+y" | "+z" | "-z" | undefined;
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" | "-z" | undefined;
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
- backAxis: "-y" | "+x" | "-x" | "+y" | "+z" | "-z";
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
- backAxis?: "-y" | "+x" | "-x" | "+y" | "+z" | "-z" | undefined;
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;