@inneranimalmedia/agentsam-sdk 2.6.7 → 2.6.9

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 (371) hide show
  1. package/README.md +37 -0
  2. package/apps/README.md +25 -0
  3. package/apps/cad-creator/shared/cad/package.json +1 -1
  4. package/apps/client-cms-editor/backend/package.json +4 -6
  5. package/apps/client-cms-editor/frontend/package.json +6 -8
  6. package/apps/client-cms-editor/frontend/tsconfig.json +27 -8
  7. package/apps/client-cms-editor/package.json +1 -1
  8. package/apps/client-cms-editor/shared/cms/package.json +4 -6
  9. package/docs/LOCAL_ENGINE_COMPUTE_AUDIT_PLAN.md +299 -0
  10. package/docs/REPO_FILE_MAP.txt +132 -0
  11. package/migrations/d1/0018_goap_control_plane_remaster.sql +40 -0
  12. package/migrations/d1/0019_agentsam_agent_run_plan_todo.sql +14 -0
  13. package/migrations/d1/README_PORTABLE_CONTROL_PLANE.md +20 -9
  14. package/migrations/runtime/0002_goap_blackboard_v1.sql +15 -0
  15. package/migrations/runtime/0004_agent_run_plan_linkage.sql +8 -0
  16. package/native/agentsam-machine/cli/Cargo.toml +8 -1
  17. package/native/agentsam-machine/cli/README.md +21 -0
  18. package/native/agentsam-machine/core/Cargo.toml +7 -0
  19. package/native/agentsam-machine/core/README.md +14 -0
  20. package/native/agentsam-machine/core/build.rs +33 -0
  21. package/native/agentsam-machine/core/contracts/source-types.v1.json +353 -0
  22. package/native/agentsam-machine/core/src/lib.rs +6 -0
  23. package/native/agentsam-machine/core/src/source_types.rs +2 -2
  24. package/package.json +31 -10
  25. package/packages/agentsam-brand/package.json +1 -1
  26. package/packages/agentsam-contracts/package.json +71 -20
  27. package/packages/agentsam-contracts/scripts/build.mjs +18 -0
  28. package/packages/agentsam-contracts/test/contracts.test.mjs +4 -1
  29. package/packages/agentsam-contracts/test/repository.test.mjs +4 -1
  30. package/packages/agentsam-contracts/tsconfig.build.json +10 -0
  31. package/packages/agentsam-errors/package.json +3 -2
  32. package/packages/agentsam-errors/src/index.js +1 -0
  33. package/packages/agentsam-errors/src/tool.js +56 -0
  34. package/packages/agentsam-errors/test/tool.test.mjs +58 -0
  35. package/packages/agentsam-goap/README.md +52 -0
  36. package/packages/agentsam-goap/package.json +37 -0
  37. package/packages/agentsam-goap/src/adapters/d1-sqlite.js +570 -0
  38. package/packages/agentsam-goap/src/adapters/memory.js +199 -0
  39. package/packages/agentsam-goap/src/contracts.js +226 -0
  40. package/packages/agentsam-goap/src/control-plane.js +112 -0
  41. package/packages/agentsam-goap/src/errors.js +157 -0
  42. package/packages/agentsam-goap/src/index.js +5 -0
  43. package/packages/agentsam-goap/src/world.js +202 -0
  44. package/packages/agentsam-goap/test/goap-control-plane.test.mjs +245 -0
  45. package/packages/agentsam-goap/test/world.test.mjs +79 -0
  46. package/packages/agentsam-knowledge/package.json +3 -2
  47. package/packages/agentsam-nav/package.json +1 -1
  48. package/packages/agentsam-queue-control/package.json +1 -1
  49. package/packages/agentsam-rapid-rust/src/main.rs +1 -0
  50. package/packages/agentsam-repository/package.json +3 -2
  51. package/packages/agentsam-repository/src/goap.js +13 -14
  52. package/packages/agentsam-repository/src/tickets.js +15 -22
  53. package/packages/agentsam-repository/test/goap-tickets-workspace-state.test.mjs +19 -8
  54. package/packages/agentsam-vault/package.json +8 -5
  55. package/packages/agentsam-workbench/package.json +44 -17
  56. package/packages/connectors/cloudflare/package.json +4 -2
  57. package/packages/heuristic-theme/package.json +1 -1
  58. package/packages/identity/package.json +4 -3
  59. package/packages/identity/tests/lane1-packed-consumer.test.mjs +10 -2
  60. package/packages/providers/completeful/package.json +1 -1
  61. package/packages/theme-church-site/README.md +2 -2
  62. package/packages/theme-church-site/package.json +3 -4
  63. package/packages/theme-church-site/src/index.js +1 -1
  64. package/packages/theme-church-site/test/theme.test.mjs +1 -1
  65. package/packages/theme-companions-site/README.md +2 -2
  66. package/packages/theme-companions-site/package.json +3 -4
  67. package/packages/theme-companions-site/src/index.js +1 -1
  68. package/packages/theme-companions-site/test/theme.test.mjs +1 -1
  69. package/packages/theme-floors-site/README.md +2 -2
  70. package/packages/theme-floors-site/package.json +3 -4
  71. package/packages/theme-floors-site/src/index.js +1 -1
  72. package/packages/theme-floors-site/test/theme.test.mjs +1 -1
  73. package/packages/theme-fuelnfree-site/README.md +2 -2
  74. package/packages/theme-fuelnfree-site/package.json +3 -4
  75. package/packages/theme-fuelnfree-site/src/index.js +1 -1
  76. package/packages/theme-fuelnfree-site/test/theme.test.mjs +1 -1
  77. package/packages/theme-handyman-site/README.md +2 -2
  78. package/packages/theme-handyman-site/package.json +3 -4
  79. package/packages/theme-handyman-site/src/index.js +1 -1
  80. package/packages/theme-handyman-site/test/theme.test.mjs +1 -1
  81. package/packages/theme-insurance-site/README.md +2 -2
  82. package/packages/theme-insurance-site/package.json +3 -4
  83. package/packages/theme-insurance-site/src/index.js +1 -1
  84. package/packages/theme-insurance-site/test/theme.test.mjs +1 -1
  85. package/packages/theme-scenes/package.json +1 -1
  86. package/packages/theme-shinshu-site/README.md +2 -2
  87. package/packages/theme-shinshu-site/package.json +3 -4
  88. package/packages/theme-shinshu-site/src/index.js +1 -1
  89. package/packages/theme-shinshu-site/test/theme.test.mjs +1 -1
  90. package/packages/work-graph/package.json +3 -2
  91. package/protocol/local-engine/benchmark.v1.schema.json +14 -0
  92. package/protocol/local-engine/engine.v1.schema.json +17 -0
  93. package/python/agentsam_sdk/repository/intelligence/discovery.py +27 -2
  94. package/python/agentsam_sdk/repository/intelligence/git.py +4 -0
  95. package/python/tests/test_repository_intelligence.py +30 -0
  96. package/src/cli/command-catalog.js +3 -1
  97. package/src/cli.js +20 -1
  98. package/src/commands/app.js +10 -0
  99. package/src/commands/engine.js +10 -0
  100. package/src/commands/goap-world.js +134 -0
  101. package/src/commands/goap.js +11 -4
  102. package/src/commands/machine-binary.js +33 -27
  103. package/src/commands/machine-runtime.js +266 -0
  104. package/src/commands/machine.js +155 -51
  105. package/src/commands/package.js +537 -0
  106. package/src/commands/plan-ledger.js +370 -0
  107. package/src/commands/plan.js +183 -0
  108. package/src/commands/runtime.js +25 -10
  109. package/src/commands/setup.js +30 -6
  110. package/src/commands/skill.js +78 -17
  111. package/src/commands/terminal.js +20 -8
  112. package/src/errors/contract.js +4 -4
  113. package/src/errors/diagnostic.js +1 -1
  114. package/src/errors/index.js +1 -1
  115. package/src/index.js +20 -0
  116. package/src/indexing/ingest/materials.js +237 -30
  117. package/src/knowledge/source.js +1 -1
  118. package/src/lib/setup/runtime.js +4 -2
  119. package/src/lib/slash-commands.js +1 -1
  120. package/src/local/runtime-store.js +24 -2
  121. package/src/local/sqlite.js +17 -0
  122. package/src/local-engine/assets.js +37 -0
  123. package/src/local-engine/audit.js +133 -0
  124. package/src/local-engine/benchmark.js +26 -0
  125. package/src/local-engine/contracts.js +101 -0
  126. package/src/local-engine/engines.js +142 -0
  127. package/src/local-engine/index.js +18 -0
  128. package/src/local-engine/runtime.js +39 -0
  129. package/src/sam/operations/package-audit.js +41 -0
  130. package/src/sam/seed.js +2 -0
  131. package/skills/grok-auth/SKILL.md +0 -110
  132. package/skills/grok-auth/agentsam.skill.json +0 -25
  133. package/skills/grok-auth/references/grok-identity.md +0 -64
  134. package/skills/grok-auth/references/per-user-data.md +0 -49
  135. package/skills/grok-auth/references/prewired-and-env.md +0 -54
  136. package/skills/grok-auth/references/session-ui.md +0 -133
  137. package/skills/grok-auth/references/sign-in-methods.md +0 -55
  138. package/skills/grok-auth/references/wiring.md +0 -71
  139. package/skills/grok-building-games/SKILL.md +0 -213
  140. package/skills/grok-building-games/agentsam.skill.json +0 -25
  141. package/skills/grok-building-games/references/3d-libs.md +0 -64
  142. package/skills/grok-building-games/references/ai-pathfinding.md +0 -122
  143. package/skills/grok-building-games/references/audio.md +0 -129
  144. package/skills/grok-building-games/references/babylon.md +0 -202
  145. package/skills/grok-building-games/references/collision-physics.md +0 -122
  146. package/skills/grok-building-games/references/ecs-architecture.md +0 -111
  147. package/skills/grok-building-games/references/game-feel-juice.md +0 -110
  148. package/skills/grok-building-games/references/genres/board-card-chess.md +0 -89
  149. package/skills/grok-building-games/references/genres/endless-runner.md +0 -83
  150. package/skills/grok-building-games/references/genres/fps.md +0 -105
  151. package/skills/grok-building-games/references/genres/platformer-2d.md +0 -97
  152. package/skills/grok-building-games/references/genres/puzzle-match3-tetris.md +0 -131
  153. package/skills/grok-building-games/references/genres/racing-kart.md +0 -106
  154. package/skills/grok-building-games/references/genres/topdown-twin-stick.md +0 -97
  155. package/skills/grok-building-games/references/genres/tower-defense.md +0 -84
  156. package/skills/grok-building-games/references/genres/voxel-minecraft.md +0 -89
  157. package/skills/grok-building-games/references/input.md +0 -139
  158. package/skills/grok-building-games/references/phaser.md +0 -277
  159. package/skills/grok-building-games/references/procedural-generation.md +0 -141
  160. package/skills/grok-building-games/references/save-persistence.md +0 -108
  161. package/skills/grok-building-games/references/threejs-foundational.md +0 -148
  162. package/skills/grok-controls/SKILL.md +0 -274
  163. package/skills/grok-controls/agentsam.skill.json +0 -25
  164. package/skills/grok-design-ui/SKILL.md +0 -122
  165. package/skills/grok-design-ui/agentsam.skill.json +0 -25
  166. package/skills/grok-design-ui/references/animations.md +0 -379
  167. package/skills/grok-design-ui/references/performance.md +0 -88
  168. package/skills/grok-design-ui/references/refined-ui.md +0 -384
  169. package/skills/grok-design-ui/references/surfaces.md +0 -247
  170. package/skills/grok-design-ui/references/typography.md +0 -123
  171. package/skills/grok-game-animation-frames/SKILL.md +0 -84
  172. package/skills/grok-game-animation-frames/agentsam.skill.json +0 -25
  173. package/skills/grok-game-asset-core/SKILL.md +0 -69
  174. package/skills/grok-game-asset-core/agentsam.skill.json +0 -25
  175. package/skills/grok-game-character-consistency/SKILL.md +0 -69
  176. package/skills/grok-game-character-consistency/agentsam.skill.json +0 -25
  177. package/skills/grok-game-tilesets/SKILL.md +0 -65
  178. package/skills/grok-game-tilesets/agentsam.skill.json +0 -25
  179. package/skills/grok-game-ui-icons/SKILL.md +0 -56
  180. package/skills/grok-game-ui-icons/agentsam.skill.json +0 -25
  181. package/skills/grok-generate2dmap/LICENSE +0 -21
  182. package/skills/grok-generate2dmap/SKILL.md +0 -120
  183. package/skills/grok-generate2dmap/SOURCE.md +0 -6
  184. package/skills/grok-generate2dmap/agentsam.skill.json +0 -25
  185. package/skills/grok-generate2dmap/references/deliverables.md +0 -101
  186. package/skills/grok-generate2dmap/references/layered-map-contract.md +0 -209
  187. package/skills/grok-generate2dmap/references/map-strategies.md +0 -341
  188. package/skills/grok-generate2dmap/references/object-production-gate.md +0 -24
  189. package/skills/grok-generate2dmap/references/pipeline.md +0 -149
  190. package/skills/grok-generate2dmap/references/prop-pack-contract.md +0 -174
  191. package/skills/grok-generate2dmap/references/side-scroll-stages.md +0 -29
  192. package/skills/grok-generate2dmap/scripts/compose_layered_preview.py +0 -157
  193. package/skills/grok-generate2dmap/scripts/extract_prop_pack.py +0 -369
  194. package/skills/grok-generate2dsprite/LICENSE +0 -21
  195. package/skills/grok-generate2dsprite/SKILL.md +0 -313
  196. package/skills/grok-generate2dsprite/SOURCE.md +0 -6
  197. package/skills/grok-generate2dsprite/agentsam.skill.json +0 -25
  198. package/skills/grok-generate2dsprite/references/modes.md +0 -124
  199. package/skills/grok-generate2dsprite/references/prompt-rules.md +0 -315
  200. package/skills/grok-generate2dsprite/scripts/generate2dsprite.py +0 -1031
  201. package/skills/grok-generate2dsprite/scripts/make_layout_guide.py +0 -109
  202. package/skills/grok-imagine/SKILL.md +0 -201
  203. package/skills/grok-imagine/agentsam.skill.json +0 -25
  204. package/skills/grok-multiplayer-p2p/SKILL.md +0 -111
  205. package/skills/grok-multiplayer-p2p/agentsam.skill.json +0 -25
  206. package/skills/grok-multiplayer-p2p/references/react-binding.md +0 -144
  207. package/skills/grok-multiplayer-p2p/references/signaling-relay.md +0 -269
  208. package/skills/grok-neon/SKILL.md +0 -157
  209. package/skills/grok-neon/agentsam.skill.json +0 -25
  210. package/skills/grok-og/SKILL.md +0 -102
  211. package/skills/grok-og/agentsam.skill.json +0 -25
  212. package/skills/grok-og/references/brand-pass.md +0 -53
  213. package/skills/grok-og/references/custom-card.md +0 -107
  214. package/skills/grok-og/references/favicon-and-icons.md +0 -48
  215. package/skills/grok-og/references/og-type-contract.md +0 -18
  216. package/skills/grok-og/references/placeholder-card.md +0 -21
  217. package/skills/grok-og/references/x-banner.md +0 -41
  218. package/skills/grok-threejs/SKILL.md +0 -67
  219. package/skills/grok-threejs/agentsam.skill.json +0 -25
  220. package/skills/grok-threejs/references/llms-full.txt +0 -2780
  221. package/skills/grok-video2dsprite/LICENSE +0 -21
  222. package/skills/grok-video2dsprite/SKILL.md +0 -236
  223. package/skills/grok-video2dsprite/SOURCE.md +0 -6
  224. package/skills/grok-video2dsprite/agentsam.skill.json +0 -25
  225. package/skills/grok-video2dsprite/references/pipeline.md +0 -90
  226. package/skills/grok-video2dsprite/references/prompt-rules.md +0 -63
  227. package/skills/grok-video2dsprite/scripts/video2dsprite.py +0 -490
  228. package/skills/grok-xai-api/SKILL.md +0 -152
  229. package/skills/grok-xai-api/agentsam.skill.json +0 -25
  230. package/test/account-session.test.mjs +0 -101
  231. package/test/agent-capabilities.test.mjs +0 -67
  232. package/test/app-authority-context.test.mjs +0 -32
  233. package/test/app-building-skills.test.mjs +0 -61
  234. package/test/apps-scaffold-contract.test.mjs +0 -115
  235. package/test/blender-cad.test.mjs +0 -146
  236. package/test/cad-docker.test.mjs +0 -96
  237. package/test/capabilities.test.mjs +0 -133
  238. package/test/cli/api-key-env-whoami.test.mjs +0 -129
  239. package/test/cli/catalog-authority.test.mjs +0 -64
  240. package/test/cli/codebaseindex-plan-ux.test.mjs +0 -37
  241. package/test/cli/eval-live.test.mjs +0 -219
  242. package/test/cli/go.test.mjs +0 -128
  243. package/test/cli/local-vault-and-provider-setup.test.mjs +0 -268
  244. package/test/cli/machine-command.test.mjs +0 -34
  245. package/test/cli/mcp-client.test.mjs +0 -256
  246. package/test/cli/preferences-runtime.test.mjs +0 -11
  247. package/test/cli/runtime-persist.test.mjs +0 -56
  248. package/test/cli/runtime-ui.test.mjs +0 -141
  249. package/test/cli/rust-command.test.mjs +0 -21
  250. package/test/cli/skill-npm-and-env.test.mjs +0 -52
  251. package/test/cli/status-actions.test.mjs +0 -88
  252. package/test/cli/wireframes-go-registry.test.mjs +0 -139
  253. package/test/cli-preferences.test.mjs +0 -46
  254. package/test/cloudflare-connector.test.mjs +0 -93
  255. package/test/cloudflare-runtime.test.mjs +0 -82
  256. package/test/context.test.mjs +0 -159
  257. package/test/credentials-audit.test.mjs +0 -113
  258. package/test/deploy-health-scan.test.mjs +0 -95
  259. package/test/deploy-receipt.test.mjs +0 -91
  260. package/test/dockerize.test.mjs +0 -93
  261. package/test/error-diagnostics.test.mjs +0 -124
  262. package/test/eval-context.test.mjs +0 -37
  263. package/test/execution-approvals.test.mjs +0 -27
  264. package/test/fixtures/cad/courtyard-house.json +0 -208
  265. package/test/fixtures/knowledge-rpc-worker.mjs +0 -16
  266. package/test/fixtures/project-authority/customer-app/.agentsam/app.json +0 -5
  267. package/test/fixtures/project-authority/customer-app/apps/my-product/index.ts +0 -1
  268. package/test/fixtures/project-authority/customer-app/wrangler.toml +0 -17
  269. package/test/gcloud-auth.test.mjs +0 -111
  270. package/test/go/build-source-identity.test.mjs +0 -31
  271. package/test/go/cloudflare-probe.test.mjs +0 -317
  272. package/test/go/distribution.test.mjs +0 -28
  273. package/test/google-cloud-connection.test.mjs +0 -83
  274. package/test/google-cloud-inventory.test.mjs +0 -64
  275. package/test/indexing-provider.test.mjs +0 -29
  276. package/test/init-options.test.mjs +0 -35
  277. package/test/integration/ai-access-onboarding.test.mjs +0 -47
  278. package/test/integration/app-command.test.mjs +0 -85
  279. package/test/integration/autorag-project-authority.integration.test.mjs +0 -51
  280. package/test/integration/autorag-runtime-discovery.test.mjs +0 -107
  281. package/test/integration/cad-discovery.test.mjs +0 -158
  282. package/test/integration/cad-docker-executor.test.mjs +0 -249
  283. package/test/integration/cad-execution.test.mjs +0 -184
  284. package/test/integration/cad-project-app.test.mjs +0 -31
  285. package/test/integration/cad-project-d1.test.mjs +0 -25
  286. package/test/integration/cad-project-native.test.mjs +0 -24
  287. package/test/integration/cad-project-workflow.test.mjs +0 -9
  288. package/test/integration/cad-project.test.mjs +0 -85
  289. package/test/integration/cli-help.test.mjs +0 -41
  290. package/test/integration/cms-app-scaffold.test.mjs +0 -77
  291. package/test/integration/cms-site-tenancy-contract.test.mjs +0 -268
  292. package/test/integration/codebaseindex-ingest.test.mjs +0 -255
  293. package/test/integration/core-client.integration.test.mjs +0 -55
  294. package/test/integration/database-hosted-honesty.test.mjs +0 -49
  295. package/test/integration/desktop-keychain-boundary.test.mjs +0 -45
  296. package/test/integration/error-runtime-rpc.test.mjs +0 -71
  297. package/test/integration/features-resolve.test.mjs +0 -147
  298. package/test/integration/hosted-work-host-authority.test.mjs +0 -47
  299. package/test/integration/icon-registry.test.mjs +0 -67
  300. package/test/integration/ingest-discover-models.test.mjs +0 -30
  301. package/test/integration/inspect-path-cli.test.mjs +0 -46
  302. package/test/integration/install-script.test.mjs +0 -110
  303. package/test/integration/inventory-core.test.mjs +0 -53
  304. package/test/integration/inventory-eligibility.test.mjs +0 -59
  305. package/test/integration/inventory-evidence.test.mjs +0 -125
  306. package/test/integration/knowledge-rpc.test.mjs +0 -112
  307. package/test/integration/local-fs.test.mjs +0 -113
  308. package/test/integration/local-provider-bridge.test.mjs +0 -65
  309. package/test/integration/local-studio-settings-production.test.mjs +0 -40
  310. package/test/integration/lockfile-sync.test.mjs +0 -26
  311. package/test/integration/merkle-cli.test.mjs +0 -61
  312. package/test/integration/merkle-persistence-identity.test.mjs +0 -48
  313. package/test/integration/plugins-cloudflare.integration.test.mjs +0 -28
  314. package/test/integration/provider-env-cli.test.mjs +0 -60
  315. package/test/integration/provider-factory.test.mjs +0 -197
  316. package/test/integration/repository-company-graph.test.mjs +0 -90
  317. package/test/integration/runtime-migrations.test.mjs +0 -87
  318. package/test/integration/runtime-status.integration.test.mjs +0 -227
  319. package/test/integration/sam-activity-recovery.test.mjs +0 -147
  320. package/test/integration/sam-decision.test.mjs +0 -584
  321. package/test/integration/sam-kernel.test.mjs +0 -99
  322. package/test/integration/sam-planning-astar.test.mjs +0 -279
  323. package/test/integration/scaffold-cloudflare.test.mjs +0 -46
  324. package/test/integration/skill-runtime.test.mjs +0 -240
  325. package/test/integration/storage-architecture.test.mjs +0 -154
  326. package/test/integration/store-discovery.test.mjs +0 -44
  327. package/test/integration/studio-fs-pty-e2e.test.mjs +0 -294
  328. package/test/integration/terminal-exec.integration.test.mjs +0 -86
  329. package/test/integration/theme-package-registry.test.mjs +0 -31
  330. package/test/integration/tool-runtime.test.mjs +0 -124
  331. package/test/integration/tool-schema.test.mjs +0 -59
  332. package/test/jr-dev-skill.test.mjs +0 -26
  333. package/test/knowledge-context-pack.test.mjs +0 -19
  334. package/test/knowledge-postgres.test.mjs +0 -40
  335. package/test/knowledge-service.test.mjs +0 -110
  336. package/test/knowledge.test.mjs +0 -206
  337. package/test/live/terminal-transport.live.test.mjs +0 -24
  338. package/test/local-sessions.test.mjs +0 -57
  339. package/test/local-studio-deploy.test.mjs +0 -83
  340. package/test/loopback-oauth.test.mjs +0 -53
  341. package/test/merkle-render.test.mjs +0 -31
  342. package/test/mini.test.mjs +0 -140
  343. package/test/model-catalog.test.mjs +0 -70
  344. package/test/models.test.mjs +0 -309
  345. package/test/npm10-lock.test.mjs +0 -29
  346. package/test/ollama.test.mjs +0 -137
  347. package/test/open-url.test.mjs +0 -64
  348. package/test/openai-responses.test.mjs +0 -155
  349. package/test/portable-context.test.mjs +0 -94
  350. package/test/project-config.test.mjs +0 -81
  351. package/test/project-rules.test.mjs +0 -44
  352. package/test/provider-credentials.test.mjs +0 -106
  353. package/test/rehydrate.test.mjs +0 -25
  354. package/test/release-hygiene.test.mjs +0 -42
  355. package/test/repository-snapshot-view.test.mjs +0 -112
  356. package/test/responses-runner.test.mjs +0 -465
  357. package/test/runtime-activity.test.mjs +0 -98
  358. package/test/sdk-worker-contract.test.mjs +0 -72
  359. package/test/security.test.mjs +0 -266
  360. package/test/setup-planner.test.mjs +0 -74
  361. package/test/setup-runtime.test.mjs +0 -51
  362. package/test/shell.test.mjs +0 -281
  363. package/test/skills.test.mjs +0 -22
  364. package/test/smoke.mjs +0 -122
  365. package/test/telemetry.test.mjs +0 -79
  366. package/test/terminal/local-pty.mock.test.mjs +0 -153
  367. package/test/terminal-machine-identity.test.mjs +0 -88
  368. package/test/theme-portability.test.mjs +0 -14
  369. package/test/tools-search.test.mjs +0 -73
  370. package/test/unit/website-assets-bindings.test.mjs +0 -60
  371. package/test/whoami-resume.test.mjs +0 -157
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 0x0funky
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,236 +0,0 @@
1
- ---
2
- name: video2dsprite
3
- description: >
4
- Grok Build only. Turn a 2D character still into denser animation sprites via
5
- imagine_text_to_image base → imagine_image_to_video (6s/10s run-in-place) → ffmpeg
6
- frames → magenta chroma-key → dense sampled strips/grids/GIFs. Use when the
7
- user wants video-to-sprite, smoother run/walk cycles, or denser intermediate
8
- poses. Prefer generate2dsprite for crisp production pixel sheets. Triggers on
9
- "video to sprite", "imagine_image_to_video sprite", "dense walk cycle", "smooth run
10
- animation from video".
11
- metadata:
12
- short-description: "Video→dense sprites (imagine_image_to_video + chroma postprocess)"
13
- user-invocable: false
14
- ---
15
-
16
- # Video2dsprite (Grok Build only)
17
-
18
- Convert a **base 2D character image** into **dense animation sprites** using Grok Build's native video tools.
19
-
20
- ## App-builder / Grok environment
21
-
22
- | Item | Value |
23
- | --- | --- |
24
- | Skill dir | `.grok/skills/video2dsprite/` |
25
- | Scripts | `python3 .grok/skills/video2dsprite/scripts/video2dsprite.py …` |
26
- | Video tools | `imagine_image_to_video` — animate one base `file_path` (verify present) |
27
- | Inspect | `read_file` on stills/frames; report paths for videos |
28
- | Deps | ffmpeg + Pillow + numpy (preinstalled in app-builder image) |
29
- | Output home | `assets/sprites/video2dsprite/<name>/` under `/workspace` |
30
- | Default | Prefer **`generate2dsprite`** for production heroes; this is the denser-motion path |
31
-
32
- ```text
33
- base still → imagine_image_to_video (in-place motion) → extract frames → chroma key → sample/normalize → strip / grid / GIF
34
- ```
35
-
36
- ## Platform gate (read first)
37
-
38
- | Runtime | Supported? |
39
- | --- | --- |
40
- | **Grok Build** (xAI) | **Yes** — requires an image generator + an image→video tool |
41
- | Codex / Claude / other agents | **No** — they lack Grok video tools. Tell the user this skill is Grok Build only and offer `$generate2dsprite` instead |
42
-
43
- **Gate on the capability, not the exact tool name.** Image generation appears
44
- as `imagine_text_to_image` / `imagine_image_to_image`; video as `imagine_image_to_video`
45
- or (legacy) `generate_video`. Use whichever pair your tool list has. Stop and
46
- explain only when you have no image→video tool at all. Do not fake motion with
47
- code-drawn frames.
48
-
49
- This skill is an **optional denser-motion path**. It does **not** replace `$generate2dsprite`:
50
-
51
- | Use `$generate2dsprite` when… | Use `$video2dsprite` when… |
52
- | --- | --- |
53
- | Crisp pixel sheets, fixed grids, identity-critical heroes | User wants denser intermediate poses / smoother feeling loops |
54
- | Attack/cast body sheets, prop packs, engine atlases | Experimenting with video-sourced run/walk/idle motion |
55
- | Production default for most game sprites | User explicitly asks for video → frames → sprites |
56
-
57
- Video softens pixels, drifts identity, and leaves chroma fringes. Always QC; for production heroes, prefer `$generate2dsprite` unless the user wants the video look.
58
-
59
- ## Parameters
60
-
61
- Infer from the user request:
62
-
63
- - `subject`: character / creature description, or path to existing still
64
- - `action`: `run` | `walk` | `idle` | `attack` | custom motion phrase
65
- - `view`: usually `side` (side-scroller). `topdown` is harder — warn and keep camera locked
66
- - `duration`: `6` (default) or `10` seconds
67
- - `frame_counts`: which denser sets to export, default `8,16,24,48`
68
- - `cell_size`: output sprite cell, default `128`
69
- - `anchor`: `feet` (default for side locomotion) | `center`
70
- - `bg`: solid `#FF00FF` (required for chroma)
71
- - `name`: output slug
72
- - `out_dir`: working folder (default `./sprites/video2dsprite/<name>/` or project-relative)
73
-
74
- ## Agent rules
75
-
76
- 1. **Grok-only.** Refuse on non-Grok runtimes with a short explanation + `$generate2dsprite` alternative.
77
- 2. **Still → video, never text-to-video alone.** Stage frame 1 as a clean still with `imagine_text_to_image` (from a prompt, or from a reference `file_path`). Then call `imagine_image_to_video` with that still's `file_path`.
78
- 3. **In-place motion.** Prompt for run/walk **in place** facing a fixed direction. No camera pan, no background scroll, no scene change. Subject stays roughly centered.
79
- 4. **Solid magenta background** on the base and preserved in the video prompt (`#FF00FF` / pure magenta). Required for flood-fill chroma.
80
- 5. **Do not invent art with PIL/Canvas.** Base art comes from `imagine_text_to_image` or a user/local still. Scripts only postprocess.
81
- 6. **Do not put experimental outputs into the game** unless the user asks to integrate.
82
- 7. **Prefer one locomotion cycle for game use.** Dense sample across a full 6s multi-cycle clip is fine for previews; for engine sheets, optionally re-sample a single cycle (12–16 frames) after visual QC.
83
- 8. **Report absolute paths** of video, cleaned frames, strips, and preview GIFs when done.
84
-
85
- ## Workflow
86
-
87
- ### 1. Plan
88
-
89
- Pick the smallest useful run:
90
-
91
- - Side-view run/walk loop → this skill
92
- - Multi-action hero kit → still use `$generate2dsprite` per action; only use video for locomotion if requested
93
- - FX / projectile / prop packs → `$generate2dsprite`, not video
94
-
95
- Create:
96
-
97
- ```text
98
- <out_dir>/
99
- base/
100
- video/
101
- frames-raw/
102
- frames-clean/
103
- sprite/ # default 8-frame set + denser x16/x24/x48
104
- prompt-used.txt
105
- pipeline-meta.json
106
- README.txt
107
- ```
108
-
109
- ### 2. Build the base still
110
-
111
- Options:
112
-
113
- - **A. Existing sprite:** read the image, composite onto solid `#FF00FF` if needed, then pass that sandbox path to `imagine_image_to_image` / `imagine_image_to_video`
114
- - **B. New character:** `imagine_text_to_image` with solid magenta background, full body, side view, centered
115
- - **C. Match reference:** `imagine_image_to_image` with the reference `file_path`, moving it onto magenta and preserving identity
116
-
117
- Base requirements:
118
-
119
- - Full body visible, generous magenta margin
120
- - Side view for run/walk (profile or 3/4 side), feet near bottom third
121
- - Same art style as the rest of the project when a reference exists
122
- - No text, UI, watermark, or second character
123
-
124
- Copy the returned `file_path` and save as
125
- `<out_dir>/base/<name>-base.png`; keep the base `file_path` for the video call.
126
-
127
- Write the exact image prompt into `prompt-used.txt`.
128
-
129
- ### 3. Animate with `imagine_image_to_video`
130
-
131
- Call Grok `imagine_image_to_video`:
132
-
133
- - source path: `<base still file_path>` (sandbox path returned by T2I / I2I)
134
- - `duration`: `6` (default) or `10`
135
- - `resolution_name`: `480p` unless user asks `720p`
136
- - `prompt`: one short present-tense shot (see [references/prompt-rules.md](references/prompt-rules.md))
137
-
138
- Mandatory motion constraints in the prompt:
139
-
140
- - Subject runs/walks **in place** (treadmill style)
141
- - Camera **locked** — no pan, zoom, or orbit
142
- - Background stays **flat solid magenta**
143
- - Identity, costume, palette stable for the whole shot
144
- - Single continuous action only
145
-
146
- Copy the returned video `file_path` to
147
- `<out_dir>/video/<name>-<duration>s.mp4`.
148
-
149
- If video tools are unavailable, stop (platform gate).
150
-
151
- ### 4. Extract + chroma + sample (local script)
152
-
153
- Run the processor (ffmpeg + Pillow + numpy):
154
-
155
- ```bash
156
- python3 .grok/skills/video2dsprite/scripts/video2dsprite.py process \
157
- --video <out_dir>/video/<name>-6s.mp4 \
158
- --out-dir <out_dir> \
159
- --name <name> \
160
- --frame-counts 8,16,24,48 \
161
- --cell-size 128 \
162
- --body-height 100 \
163
- --foot-y 118 \
164
- --fps 0
165
- ```
166
-
167
- Notes:
168
-
169
- - `--fps 0` = extract every decoded frame (use source fps)
170
- - Magenta flood-fill from corners + despill
171
- - Even sampling for each count in `--frame-counts`
172
- - Feet-normalized cells, horizontal strip, grid, loop GIF per count
173
-
174
- Optional: only re-sample denser sets from existing cleaned frames:
175
-
176
- ```bash
177
- python3 .grok/skills/video2dsprite/scripts/video2dsprite.py sample \
178
- --clean-dir <out_dir>/frames-clean \
179
- --out-dir <out_dir> \
180
- --frame-counts 16,24,48 \
181
- --cell-size 128
182
- ```
183
-
184
- ### 5. QC
185
-
186
- Visually check:
187
-
188
- - [ ] Preview GIF loops without huge pops
189
- - [ ] Magenta gone (no solid pink blocks); fringe acceptable or re-key
190
- - [ ] Feet stay on a stable baseline (no hop from bad crop)
191
- - [ ] Identity roughly stable (face/clothes not morphing every frame)
192
- - [ ] Action is in-place (not sliding out of frame)
193
- - [ ] For game use: pick one count (often **16 or 24**) or cut one true cycle
194
-
195
- If identity drifts hard or pixels are too soft, fall back to `$generate2dsprite` for production sheets and keep the video set as motion reference only.
196
-
197
- ### 6. Deliver
198
-
199
- Report paths only (unless user asked to wire into a game):
200
-
201
- - Video: `video/*.mp4`
202
- - Dense sprites: `sprite/x16|x24|x48/`
203
- - Strips / grids / GIFs: `sprite/run-strip-N.png`, `run-grid-N.png`, `run-preview-N.gif`
204
- - Meta: `pipeline-meta.json`
205
-
206
- Do **not** modify game code unless requested.
207
-
208
- ## Defaults
209
-
210
- - Duration: **6s**
211
- - Action: **side run in place**, facing right
212
- - Export counts: **8, 16, 24, 48**
213
- - Cell: **128²**, body height ~100, feet at y≈118
214
- - Background: **#FF00FF**
215
- - Prefer single-asset `imagine_image_to_video` over multi-ref (compose multi-ref with `imagine_text_to_image` first if needed)
216
-
217
- ## Tradeoffs (tell the user once)
218
-
219
- **Pros:** denser intermediates → often feels smoother than 4–8 discrete gen poses.
220
- **Cons:** softer pixels, identity drift, chroma fringe, multi-cycle 6s clips are not a single perfect loop, heavier assets.
221
- **Rule of thumb:** 8→16→24 usually gains smoothness; 48 is often diminishing returns; 145 raw frames are for sampling, not all for runtime.
222
-
223
- ## Resources
224
-
225
- - [references/prompt-rules.md](references/prompt-rules.md) — base still + video prompts
226
- - [references/pipeline.md](references/pipeline.md) — folder layout, ffmpeg, sampling strategy
227
- - [scripts/video2dsprite.py](scripts/video2dsprite.py) — extract, chroma, normalize, export
228
-
229
- ## Relationship to other skills
230
-
231
- - `$generate2dsprite` — primary sheet pipeline (Codex + Grok when image gen exists)
232
- - `$generate2dmap` — maps; not used here
233
- - `$video2dsprite` — **Grok Build exclusive** motion densification path
234
- - `$game-asset-core` / `$game-animation-frames` — loop/flip-test/motion laws and
235
- engine-ready defaults; still use this skill’s scripts for sandbox execution
236
- (magenta base + chroma), not a freeform background color
@@ -1,6 +0,0 @@
1
- # Source
2
-
3
- Vendored from [agent-sprite-forge](https://github.com/0x0funky/agent-sprite-forge) (`53dce6055984c610d833e77887939cbd0fb1c92b`).
4
- MIT License — see `LICENSE`.
5
-
6
- Adapted for Grok Build / app-builder sandbox (image tool paths, `read_file` for image inspection, workspace-relative script paths).
@@ -1,25 +0,0 @@
1
- {
2
- "schema": "agentsam.skill.v1",
3
- "id": "grok-video2dsprite",
4
- "name": "Grok \u00b7 video2dsprite",
5
- "description": "Video\u2192dense sprites (imagine_image_to_video + chroma postprocess)",
6
- "icon": "skill",
7
- "slash": {
8
- "suggested": "/grok-video2dsprite"
9
- },
10
- "instructions": {
11
- "source": "local_file",
12
- "ref": "SKILL.md"
13
- },
14
- "execution": {
15
- "mode": "turn",
16
- "tools": [],
17
- "operations": [],
18
- "capabilities": []
19
- },
20
- "provenance": {
21
- "source": "apps/local-studio/.grok/skills",
22
- "vendor": "grok",
23
- "status": "imported"
24
- }
25
- }
@@ -1,90 +0,0 @@
1
- # Video2dsprite pipeline
2
-
3
- ## End-to-end
4
-
5
- ```text
6
- 1. base still imagine_text_to_image / existing PNG on #FF00FF
7
- 2. video imagine_image_to_video (6s default, 10s optional)
8
- 3. frames-raw ffmpeg decode all frames (or fixed fps)
9
- 4. frames-clean magenta flood-fill + light despill → RGBA
10
- 5. sample even indices for N in {8,16,24,48}
11
- 6. normalize crop alpha bbox → scale body height → feet line
12
- 7. export sprite_XX.png, strip, grid, preview GIF
13
- 8. meta pipeline-meta.json + README.txt
14
- ```
15
-
16
- ## Suggested folder layout
17
-
18
- ```text
19
- <out_dir>/
20
- base/<name>-base.png
21
- video/<name>-6s.mp4
22
- frames-raw/frame_0001.png ...
23
- frames-clean/clean_0000.png ...
24
- sprite/
25
- sprite_01.png ... # default small set if requested
26
- x16/sprite_01.png ...
27
- x24/...
28
- x48/...
29
- run-strip-8.png
30
- run-strip-16.png
31
- run-preview-24.gif
32
- ...
33
- prompt-used.txt
34
- pipeline-meta.json
35
- README.txt
36
- ```
37
-
38
- ## ffmpeg extract
39
-
40
- Processor shells out to `ffmpeg` when available:
41
-
42
- ```bash
43
- ffmpeg -y -i video.mp4 -vsync 0 frames-raw/frame_%04d.png
44
- ```
45
-
46
- If ffmpeg is missing, fail with a clear install message. Do not invent frames.
47
-
48
- ## Chroma key
49
-
50
- 1. Treat near-magenta pixels as key candidates (hue distance + high magenta channel).
51
- 2. Flood-fill from image corners so interior magenta-ish costume bits are less likely to vanish.
52
- 3. Despill residual pink fringes toward neutral/transparent.
53
- 4. Write RGBA PNGs.
54
-
55
- ## Sampling
56
-
57
- Even spacing including first and last:
58
-
59
- ```text
60
- idx[i] = round(i * (total - 1) / (want - 1)) for i in 0..want-1
61
- ```
62
-
63
- Export multiple `want` values in one run so the user can compare smoothness vs softness.
64
-
65
- ## Normalize (feet anchor)
66
-
67
- 1. Alpha bbox of cleaned frame
68
- 2. Scale so content height ≈ `body_height` (default 100 in a 128 cell)
69
- 3. Paste so bottom of content sits at `foot_y` (default 118)
70
- 4. Center horizontally
71
-
72
- For `center` anchor, place bbox center at cell center instead.
73
-
74
- ## GIF duration defaults
75
-
76
- | Frames | ms / frame (approx) |
77
- | --- | --- |
78
- | 8 | 80 |
79
- | 16 | 60 |
80
- | 24 | 40 |
81
- | 48 | 25 |
82
-
83
- Goal: roughly 0.6–1.2s visual loop for previews (not necessarily matching source video realtime).
84
-
85
- ## When not to use this pipeline
86
-
87
- - Need hard pixel edges and fixed multi-row grids → `$generate2dsprite`
88
- - Map props / tilesets → `$generate2dmap` + `$generate2dsprite`
89
- - Non-Grok agent without `imagine_image_to_video`
90
- - User wants production-perfect hero kit with many actions — video path is locomotion experiment first
@@ -1,63 +0,0 @@
1
- # Video2dsprite prompt rules
2
-
3
- ## Base still (`imagine_text_to_image`)
4
-
5
- Required:
6
-
7
- - Solid flat background `#FF00FF` (pure magenta), no gradient, no floor shadow if possible
8
- - Full body, centered, generous margin on all sides
9
- - Side or 3/4-side view for run/walk
10
- - Same scale and costume the game already uses when a reference exists
11
- - No text, UI, watermark, speech bubbles, second character
12
-
13
- Good base pattern:
14
-
15
- ```text
16
- Side-view full-body 2D game sprite of <subject>, <style>, standing ready pose,
17
- facing right, centered in frame, feet near lower third, solid flat magenta
18
- background #FF00FF only, no ground, no shadow, no text, crisp readable silhouette.
19
- ```
20
-
21
- If matching a project sprite: use `imagine_image_to_image` with the existing frame's `file_path` and only change pose/background to magenta if needed. Prefer compositing a known good frame onto magenta in code when the art already exists.
22
-
23
- ## Video (`imagine_image_to_video`)
24
-
25
- Write **one short present-tense shot** (1–2 sentences). Constraints:
26
-
27
- | Do | Don't |
28
- | --- | --- |
29
- | Run/walk **in place** (treadmill) | Travel across the screen |
30
- | Locked camera | Pan, zoom, orbit, handheld |
31
- | Keep solid magenta background | Scenic BG, ground scroll, particles filling frame |
32
- | Single continuous action | Combo attacks + movement + camera |
33
- | Stable identity/clothes | Costume change mid-clip |
34
-
35
- Run example:
36
-
37
- ```text
38
- The same chibi ninja character runs in place facing right with a classic side-scroller
39
- stride, arms trailing slightly back, body centered, camera locked, solid flat magenta
40
- background only.
41
- ```
42
-
43
- Walk / idle examples:
44
-
45
- ```text
46
- The character walks in place facing right with a steady side-view walk cycle, camera locked, solid magenta background.
47
- ```
48
-
49
- ```text
50
- The character idles in place with a subtle breathing bob and weight shift, camera locked, solid magenta background.
51
- ```
52
-
53
- Attack (use carefully — identity drift is higher):
54
-
55
- ```text
56
- The character performs a single short punch combo in place facing right, camera locked, solid magenta background, no screen-filling FX.
57
- ```
58
-
59
- ## Sampling guidance (post-video)
60
-
61
- - Export multiple densities: 8 / 16 / 24 / 48 for comparison GIFs
62
- - For engine integration: pick one smooth cycle (~12–16 frames) after watching previews
63
- - If the 6s clip contains multiple run cycles, denser even sampling across the whole clip can look like a long multi-cycle animation — that is OK for previews, but for a game loop re-sample one cycle region manually if needed