summer-engine 4.6.0 → 4.8.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 (101) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +3 -2
  3. package/.codex-plugin/plugin.json +5 -4
  4. package/.cursor-plugin/plugin.json +4 -3
  5. package/.factory-plugin/plugin.json +4 -3
  6. package/CHANGELOG.md +37 -0
  7. package/README.md +3 -3
  8. package/commands/start.md +1 -1
  9. package/dist/cli/commands/api.d.ts +43 -0
  10. package/dist/cli/commands/api.js +191 -0
  11. package/dist/cli/commands/login.d.ts +2 -5
  12. package/dist/cli/commands/login.js +10 -81
  13. package/dist/cli/commands/token.d.ts +17 -0
  14. package/dist/cli/commands/token.js +25 -0
  15. package/dist/cli/index.js +4 -0
  16. package/dist/core/api-client.d.ts +5 -1
  17. package/dist/core/api-client.js +21 -0
  18. package/dist/core/capabilities/doctor.d.ts +1 -1
  19. package/dist/core/capabilities/doctor.js +1 -1
  20. package/dist/core/capabilities/game-task-plan.d.ts +2 -2
  21. package/dist/core/capabilities/navigation/open.d.ts +3 -0
  22. package/dist/core/capabilities/navigation/open.js +53 -0
  23. package/dist/core/capabilities/projects-local.js +2 -1
  24. package/dist/core/capabilities/runtime-control.d.ts +2 -2
  25. package/dist/core/capabilities/seeing/args.d.ts +4 -4
  26. package/dist/core/capabilities/tool-dispatch.js +37 -0
  27. package/dist/core/capabilities/ui-control.d.ts +2 -2
  28. package/dist/core/capabilities/view-set.d.ts +11 -0
  29. package/dist/core/capabilities/view-set.js +15 -0
  30. package/dist/core/capability-skew.d.ts +8 -0
  31. package/dist/core/capability-skew.js +18 -0
  32. package/dist/core/cli-session.d.ts +25 -0
  33. package/dist/core/cli-session.js +97 -0
  34. package/dist/core/engine-self-start.d.ts +20 -0
  35. package/dist/core/engine-self-start.js +108 -5
  36. package/dist/core/oauth.d.ts +15 -2
  37. package/dist/core/oauth.js +26 -3
  38. package/dist/core/ops/areas.d.ts +1 -1
  39. package/dist/core/ops/areas.js +5 -3
  40. package/dist/core/ops/engine-answer.js +5 -2
  41. package/dist/core/ops/engine.js +6 -0
  42. package/dist/core/ops/save-files.d.ts +2 -0
  43. package/dist/core/ops/save-files.js +13 -0
  44. package/dist/core/ops/studio-page.d.ts +22 -0
  45. package/dist/core/ops/studio-page.js +63 -0
  46. package/dist/core/sign-in-link.d.ts +38 -0
  47. package/dist/core/sign-in-link.js +106 -0
  48. package/dist/core/store.js +19 -1
  49. package/dist/core/summer-api.d.ts +114 -0
  50. package/dist/core/summer-api.js +281 -0
  51. package/dist/mcp/ops-surface.d.ts +3 -0
  52. package/dist/mcp/ops-surface.js +6 -0
  53. package/dist/mcp/server.js +16 -4
  54. package/dist/mcp/tool-results.d.ts +9 -0
  55. package/dist/mcp/tool-results.js +64 -0
  56. package/dist/mcp/tool-surface.js +7 -1
  57. package/dist/mcp/tools/api-tools.d.ts +50 -0
  58. package/dist/mcp/tools/api-tools.js +65 -0
  59. package/dist/mcp/tools/local-project-tools.d.ts +14 -0
  60. package/dist/mcp/tools/local-project-tools.js +13 -2
  61. package/dist/mcp/tools/navigation-tools.js +1 -0
  62. package/dist/mcp/tools/scene-tools.js +7 -0
  63. package/gemini-extension.json +3 -2
  64. package/library/references/mcp-tools-reference/mcp-tools-reference.md +15 -2
  65. package/library/references/mcp-tools-reference/resource.yaml +1 -1
  66. package/library/skills/README.md +6 -5
  67. package/library/skills/design-npc/SKILL.md +1 -1
  68. package/library/skills/design-npc/resource.yaml +2 -1
  69. package/library/skills/navigate-summer/SKILL.md +23 -2
  70. package/library/skills/navigate-summer/resource.yaml +5 -3
  71. package/library/skills/summer-api/SKILL.md +198 -0
  72. package/library/skills/summer-api/resource.yaml +38 -0
  73. package/library/skills/summer-assets/SKILL.md +1 -1
  74. package/library/skills/summer-assets/resource.yaml +3 -2
  75. package/library/skills/summer-router/SKILL.md +251 -0
  76. package/library/skills/summer-router/resource.yaml +35 -0
  77. package/library/tools/api-batch/resource.yaml +82 -0
  78. package/library/tools/api-estimate/resource.yaml +52 -0
  79. package/library/tools/api-job/resource.yaml +58 -0
  80. package/library/tools/api-models/resource.yaml +57 -0
  81. package/library/tools/api-run/resource.yaml +70 -0
  82. package/library/tools/view-set/GUIDE.md +3 -0
  83. package/library/tools/view-set/resource.yaml +78 -0
  84. package/package.json +3 -3
  85. package/registry/generated/aliases.json +7 -0
  86. package/registry/generated/counts.json +3 -3
  87. package/registry/generated/gemini-extension.json +3 -2
  88. package/registry/generated/index.json +316 -51
  89. package/registry/generated/marketplace.claude.json +1 -1
  90. package/registry/generated/plugin.claude-directory.json +4 -3
  91. package/registry/generated/plugin.claude.json +3 -2
  92. package/registry/generated/plugin.codex.json +5 -4
  93. package/registry/generated/plugin.cursor.json +4 -3
  94. package/registry/generated/plugin.factory.json +4 -3
  95. package/registry/generated/server.json +2 -2
  96. package/registry/generated/skills-index.md +6 -5
  97. package/registry/generated/skills-registry.json +29 -15
  98. package/registry/operations/legacy-names.json +30 -0
  99. package/registry/operations/public-catalog.json +9169 -4926
  100. package/library/skills/ai-characters-in-games/SKILL.md +0 -235
  101. package/library/skills/ai-characters-in-games/resource.yaml +0 -30
@@ -0,0 +1,52 @@
1
+ id: tool/api-estimate
2
+ kind: tool
3
+ version: 1.0.0
4
+ summary: The exact USD price of one Summer API job before it runs, its breakdown and a quote id that holds the price for 15 minutes; charges nothing.
5
+ use_when:
6
+ - before a Summer API run that spends the person's credits
7
+ - the person asks what a generation will cost
8
+ do_not_use_when:
9
+ - an estimate inside Studio or the asset tools (their dryRun)
10
+ facets:
11
+ lifecycle:
12
+ - build
13
+ domains:
14
+ - generate
15
+ - assets
16
+ compatibility:
17
+ engine: ">=4.6"
18
+ source: official
19
+ license: MIT
20
+ status: preview
21
+ aliases:
22
+ - summer_api_estimate
23
+ implementation:
24
+ module: src/mcp/tools/api-tools.ts
25
+ export: registerApiTools
26
+ surfaces:
27
+ mcp:
28
+ tool_name: summer_api_estimate
29
+ remote: true
30
+ cli:
31
+ command: summer api estimate
32
+ input_schema:
33
+ type: object
34
+ properties:
35
+ model:
36
+ type: string
37
+ minLength: 1
38
+ maxLength: 120
39
+ description: A Summer API model id or alias from summer_api_models, e.g. 3d/default.
40
+ input:
41
+ type: object
42
+ additionalProperties: {}
43
+ description: The model's input, matching its inputSchema from summer_api_models.
44
+ required:
45
+ - model
46
+ additionalProperties: false
47
+ authority:
48
+ filesystem: false
49
+ editor_mutation: false
50
+ network: true
51
+ credentials: false
52
+ publish: false
@@ -0,0 +1,58 @@
1
+ id: tool/api-job
2
+ kind: tool
3
+ version: 1.0.1
4
+ summary: Read a Summer API job (state, price, assets and file URLs); follow it until it finishes and save its files on this computer.
5
+ use_when:
6
+ - a summer_api_run answered a running job
7
+ - saving a finished Summer API job's files
8
+ do_not_use_when:
9
+ - a job from the Summer Engine asset tools (jobs.wait)
10
+ facets:
11
+ lifecycle:
12
+ - build
13
+ domains:
14
+ - generate
15
+ - assets
16
+ compatibility:
17
+ engine: ">=4.6"
18
+ source: official
19
+ license: MIT
20
+ status: preview
21
+ aliases:
22
+ - summer_api_job
23
+ implementation:
24
+ module: src/mcp/tools/api-tools.ts
25
+ export: registerApiTools
26
+ surfaces:
27
+ mcp:
28
+ tool_name: summer_api_job
29
+ remote: true
30
+ cli:
31
+ command: summer api jobs
32
+ input_schema:
33
+ type: object
34
+ properties:
35
+ jobId:
36
+ type: string
37
+ minLength: 1
38
+ maxLength: 200
39
+ description: The job id summer_api_run answered.
40
+ wait:
41
+ type: boolean
42
+ description: Follow the job until it finishes (up to about a minute in this call).
43
+ out:
44
+ type: string
45
+ minLength: 1
46
+ description: "A folder on this computer: save the finished job's files there (implies wait)."
47
+ cancel:
48
+ type: boolean
49
+ description: "Ask to stop the job instead. Summer API jobs, queued or running, run to the end: the answer is unsupported."
50
+ required:
51
+ - jobId
52
+ additionalProperties: false
53
+ authority:
54
+ filesystem: true
55
+ editor_mutation: false
56
+ network: true
57
+ credentials: true
58
+ publish: false
@@ -0,0 +1,57 @@
1
+ id: tool/api-models
2
+ kind: tool
3
+ version: 1.0.0
4
+ summary: The Summer API's curated game-dev models with capability, input schema, output formats, typical time and USD price; no sign-in.
5
+ use_when:
6
+ - choosing a model for an image, 3D, video, voice, sound or music asset through the Summer API
7
+ - checking what a Summer API model costs or takes as input
8
+ do_not_use_when:
9
+ - generating inside a running Summer Engine project with the asset tools
10
+ facets:
11
+ lifecycle:
12
+ - build
13
+ domains:
14
+ - generate
15
+ - assets
16
+ compatibility:
17
+ engine: ">=4.6"
18
+ source: official
19
+ license: MIT
20
+ status: preview
21
+ aliases:
22
+ - summer_api_models
23
+ implementation:
24
+ module: src/mcp/tools/api-tools.ts
25
+ export: registerApiTools
26
+ surfaces:
27
+ mcp:
28
+ tool_name: summer_api_models
29
+ remote: true
30
+ cli:
31
+ command: summer api models
32
+ input_schema:
33
+ type: object
34
+ properties:
35
+ model:
36
+ type: string
37
+ minLength: 1
38
+ maxLength: 120
39
+ description: One model id or alias; without it, every model.
40
+ capability:
41
+ type: string
42
+ enum:
43
+ - image
44
+ - 3d
45
+ - video
46
+ - voice
47
+ - dialogue
48
+ - sound
49
+ - music
50
+ description: Only this kind.
51
+ additionalProperties: false
52
+ authority:
53
+ filesystem: false
54
+ editor_mutation: false
55
+ network: true
56
+ credentials: false
57
+ publish: false
@@ -0,0 +1,70 @@
1
+ id: tool/api-run
2
+ kind: tool
3
+ version: 1.0.0
4
+ summary: Run one Summer API job into the person's Summer assets with the Summer sign-in; spends paid credits within the app's limit, can wait and save the files.
5
+ use_when:
6
+ - making a game asset through the Summer API after estimating it
7
+ - a script or agent outside Summer Engine needs a generated model, image, sound or clip
8
+ do_not_use_when:
9
+ - this computer is not signed in yet (the person runs summer login first)
10
+ - the person has not agreed to spend credits
11
+ facets:
12
+ lifecycle:
13
+ - build
14
+ domains:
15
+ - generate
16
+ - assets
17
+ compatibility:
18
+ engine: ">=4.6"
19
+ source: official
20
+ license: MIT
21
+ status: preview
22
+ aliases:
23
+ - summer_api_run
24
+ implementation:
25
+ module: src/mcp/tools/api-tools.ts
26
+ export: registerApiTools
27
+ surfaces:
28
+ mcp:
29
+ tool_name: summer_api_run
30
+ remote: true
31
+ cli:
32
+ command: summer api run
33
+ input_schema:
34
+ type: object
35
+ properties:
36
+ model:
37
+ type: string
38
+ minLength: 1
39
+ maxLength: 120
40
+ description: A Summer API model id or alias from summer_api_models, e.g. 3d/default.
41
+ input:
42
+ type: object
43
+ additionalProperties: {}
44
+ description: The model's input, matching its inputSchema from summer_api_models.
45
+ quoteId:
46
+ type: string
47
+ minLength: 1
48
+ maxLength: 600
49
+ description: "From summer_api_estimate: refuse to charge more than it quoted."
50
+ idempotencyKey:
51
+ type: string
52
+ minLength: 1
53
+ maxLength: 200
54
+ description: Reuse to retry the same run without running it twice.
55
+ wait:
56
+ type: boolean
57
+ description: Follow the job until it finishes (up to about a minute in this call).
58
+ out:
59
+ type: string
60
+ minLength: 1
61
+ description: "A folder on this computer: save the finished job's files there (implies wait)."
62
+ required:
63
+ - model
64
+ additionalProperties: false
65
+ authority:
66
+ filesystem: true
67
+ editor_mutation: false
68
+ network: true
69
+ credentials: true
70
+ publish: false
@@ -0,0 +1,3 @@
1
+ # summer_view_set
2
+
3
+ Show the person what you are working on: the editor's view (home, chat, 3d, 2d, script, game, studio), its right rail (files, scene, inspector, output, none), what to focus (a res:// script or scene, or a node path) and the nodes to frame the camera on. Changes only what is on screen. The navigate-summer skill says which view fits which moment.
@@ -0,0 +1,78 @@
1
+ id: tool/view-set
2
+ kind: tool
3
+ version: 1.0.0
4
+ summary: "Show the person what you work on: the editor view (home, chat, 3D, 2D, script, game, Studio), the right rail, the focus and the nodes to frame."
5
+ use_when:
6
+ - you start editing a scene and want the person to watch it change (3D view, Scene rail, the edited node framed)
7
+ - you edit a script and want it on screen (script view at that file)
8
+ - you play the game or review the result (game view; a frame_shot for a review)
9
+ - you finish and want to leave the person on the best view of the result
10
+ do_not_use_when:
11
+ - selecting a node only to read it — summer_inspect_node; nothing needs to be on screen
12
+ - opening a Summer web page (billing, their games) — studio.open
13
+ facets:
14
+ lifecycle:
15
+ - build
16
+ domains:
17
+ - editor
18
+ - navigation
19
+ compatibility:
20
+ engine: ">=4.6"
21
+ related:
22
+ skills:
23
+ - skill/navigate-summer
24
+ tools:
25
+ - tool/select-node
26
+ - tool/frame-shot
27
+ source: official
28
+ license: MIT
29
+ status: preview
30
+ aliases:
31
+ - summer_view_set
32
+ implementation:
33
+ module: src/mcp/tools/scene-tools.ts
34
+ export: registerSceneTools
35
+ surfaces:
36
+ mcp:
37
+ tool_name: summer_view_set
38
+ remote: false
39
+ input_schema:
40
+ type: object
41
+ properties:
42
+ view:
43
+ type: string
44
+ enum:
45
+ - home
46
+ - chat
47
+ - 3d
48
+ - 2d
49
+ - script
50
+ - game
51
+ - studio
52
+ description: The view to show. 3d and 2d are the scene views, script the script editor, game the running game, chat the in-app chat, home the game list, studio the Studio tab.
53
+ rail:
54
+ type: string
55
+ enum:
56
+ - files
57
+ - scene
58
+ - inspector
59
+ - output
60
+ - none
61
+ description: The right rail beside a scene, script or game view. none hides it. Omit to keep it as it is.
62
+ focus:
63
+ type: string
64
+ description: What to focus. A res:// script or scene opens; a node path selects that node.
65
+ frame:
66
+ type: array
67
+ items:
68
+ type: string
69
+ description: Node paths to frame the camera on (the scene views).
70
+ required:
71
+ - view
72
+ additionalProperties: false
73
+ authority:
74
+ filesystem: false
75
+ editor_mutation: true
76
+ network: false
77
+ credentials: false
78
+ publish: false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "summer-engine",
3
- "version": "4.6.0",
3
+ "version": "4.8.0",
4
4
  "description": "MCP server, CLI and skills for Summer Engine, the game engine built for AI. Connect Claude Code, Cursor, Codex and other agents to build, test and publish full games to summer.games.",
5
5
  "mcpName": "io.github.SummerEngine/summer",
6
6
  "keywords": [
@@ -83,7 +83,7 @@
83
83
  "sync:catalog": "node scripts/sync-public-catalog.ts"
84
84
  },
85
85
  "engines": {
86
- "node": ">=20"
86
+ "node": ">=22"
87
87
  },
88
88
  "dependencies": {
89
89
  "@modelcontextprotocol/sdk": "^1.30.0",
@@ -93,7 +93,7 @@
93
93
  "zod": "^3.23.0"
94
94
  },
95
95
  "devDependencies": {
96
- "@types/node": "^20.0.0",
96
+ "@types/node": "^22.0.0",
97
97
  "typescript": "^5.5.0",
98
98
  "vitest": "^3.2.4"
99
99
  }
@@ -16,6 +16,7 @@
16
16
  "references/mcp-tools-reference.md": "reference/mcp-tools-reference",
17
17
  "references/public-surface-language.md": "reference/public-surface-language",
18
18
  "references/summer-folder.md": "reference/summer-folder",
19
+ "skill/ai-characters-in-games": "skill/summer-router",
19
20
  "skills/2d-assets/character-portrait": "skill/character-portrait",
20
21
  "skills/2d-assets/concept-art": "skill/concept-art",
21
22
  "skills/2d-assets/create-asset-sheet": "skill/create-asset-sheet",
@@ -99,7 +100,12 @@
99
100
  "smoke": "skill/vfx-smoke",
100
101
  "summer_add_node": "tool/add-node",
101
102
  "summer_align_distribute_3d": "tool/align-distribute-3d",
103
+ "summer_api_batch": "tool/api-batch",
102
104
  "summer_api_docs": "tool/api-docs",
105
+ "summer_api_estimate": "tool/api-estimate",
106
+ "summer_api_job": "tool/api-job",
107
+ "summer_api_models": "tool/api-models",
108
+ "summer_api_run": "tool/api-run",
103
109
  "summer_app_call": "tool/app-call",
104
110
  "summer_app_create": "tool/app-create",
105
111
  "summer_app_data": "tool/app-data",
@@ -218,6 +224,7 @@
218
224
  "summer_ui_activate": "tool/ui-activate",
219
225
  "summer_ui_screenshot": "tool/ui-screenshot",
220
226
  "summer_ui_tree": "tool/ui-tree",
227
+ "summer_view_set": "tool/view-set",
221
228
  "summer_wait_for_event": "tool/wait-for-event",
222
229
  "summer_world_snapshot": "tool/world-snapshot",
223
230
  "summer_write_file": "tool/write-file",
@@ -4,9 +4,9 @@
4
4
  "collection": 0,
5
5
  "example": 0,
6
6
  "reference": 9,
7
- "skill": 132,
7
+ "skill": 133,
8
8
  "template": 19,
9
- "tool": 125
9
+ "tool": 131
10
10
  },
11
- "total": 285
11
+ "total": 292
12
12
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "_generated": "GENERATED from integrations/gemini — do not edit; npm run generate:registry",
3
3
  "name": "summer",
4
- "version": "4.6.0",
4
+ "version": "4.8.0",
5
5
  "description": "The game engine built for AI. Any agent makes a multiplayer game and publishes it. The Summer Engine MCP server, context primer and game-dev skills.",
6
6
  "contextFileName": "GEMINI.md",
7
7
  "mcpServers": {
@@ -27,7 +27,6 @@
27
27
  "./library/skills/3d-lighting/",
28
28
  "./library/skills/adaptive-music/",
29
29
  "./library/skills/agent-playtesting/",
30
- "./library/skills/ai-characters-in-games/",
31
30
  "./library/skills/ambient-bed/",
32
31
  "./library/skills/animated-loop/",
33
32
  "./library/skills/animation-tree/",
@@ -107,6 +106,7 @@
107
106
  "./library/skills/store-art/",
108
107
  "./library/skills/store-listing/",
109
108
  "./library/skills/summer-analytics/",
109
+ "./library/skills/summer-api/",
110
110
  "./library/skills/summer-apps/",
111
111
  "./library/skills/summer-apps-design/",
112
112
  "./library/skills/summer-assets/",
@@ -117,6 +117,7 @@
117
117
  "./library/skills/summer-matchmaking/",
118
118
  "./library/skills/summer-parties/",
119
119
  "./library/skills/summer-player-data/",
120
+ "./library/skills/summer-router/",
120
121
  "./library/skills/summer-store/",
121
122
  "./library/skills/summer-world-chat/",
122
123
  "./library/skills/summer-world-saves/",