wave3d-agent-sdk 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,19 +21,19 @@ Vocabulary:
21
21
  - Project: user workspace content. Reading a project is not opening/replacing live workspace.
22
22
 
23
23
  ```bash
24
- npx -y wave3d-agent-sdk@0.2.7 start
24
+ npx -y wave3d-agent-sdk@0.2.8 start
25
25
  ```
26
26
 
27
27
  After Copy to Agent, restart stale SDK processes with MCP_TOKEN preserved as the local pairing secret. Keep it hidden:
28
28
 
29
29
  ```bash
30
- WAVE3D_MCP_TOKEN="$MCP_TOKEN" npx -y wave3d-agent-sdk@0.2.7 start
30
+ WAVE3D_MCP_TOKEN="$MCP_TOKEN" npx -y wave3d-agent-sdk@0.2.8 start
31
31
  ```
32
32
 
33
33
  Check SDK build before trusting a running SDK process:
34
34
 
35
35
  ```bash
36
- npx -y wave3d-agent-sdk@0.2.7 --version
36
+ npx -y wave3d-agent-sdk@0.2.8 --version
37
37
  ```
38
38
 
39
39
  The package bundles the WaveEngine SDK lookup corpus. No normal session needs a separate protected zip download.
@@ -43,7 +43,7 @@ The package bundles the WaveEngine SDK lookup corpus. No normal session needs a
43
43
  Wave Studio Copy to Agent defaults same-machine live MCP transport to this SDK:
44
44
 
45
45
  ```bash
46
- npx -y wave3d-agent-sdk@0.2.7 start
46
+ npx -y wave3d-agent-sdk@0.2.8 start
47
47
  ```
48
48
 
49
49
  Agents choose topology first:
@@ -58,13 +58,13 @@ Use `MCP_HTTP_GATEWAY_FALLBACK_URL` only for topology mismatch, remote/sandboxed
58
58
  For unfamiliar authoring, use the local SDK tools:
59
59
 
60
60
  ```bash
61
- npx -y wave3d-agent-sdk@0.2.7 cache search "continuous left rotation"
61
+ npx -y wave3d-agent-sdk@0.2.8 cache search "continuous left rotation"
62
62
  ```
63
63
 
64
64
  `cache refresh` without MCP arguments reinstalls the bundled SDK into `~/.wave3d/agent-cache`:
65
65
 
66
66
  ```bash
67
- npx -y wave3d-agent-sdk@0.2.7 cache refresh
67
+ npx -y wave3d-agent-sdk@0.2.8 cache refresh
68
68
  ```
69
69
 
70
70
  Old `cache refresh --mcp-url <url> --token <token>` arguments are ignored. Normal users update the npm package; no separate zip download exists.
package/dist/cli.js CHANGED
@@ -42483,8 +42483,8 @@ function normalizeWaveGenieAssetUploadRequest(request) {
42483
42483
 
42484
42484
  // ../../src/lib/waveStudio/aiAssist/bridge/localAgentSdkContract.ts
42485
42485
  var WAVE3D_AGENT_SDK_PACKAGE_NAME = "wave3d-agent-sdk";
42486
- var WAVE3D_AGENT_SDK_REQUIRED_VERSION = "0.2.7";
42487
- var WAVE3D_AGENT_SDK_REQUIRED_BUILD = "agent-sdk-20260620.2";
42486
+ var WAVE3D_AGENT_SDK_REQUIRED_VERSION = "0.2.8";
42487
+ var WAVE3D_AGENT_SDK_REQUIRED_BUILD = "agent-sdk-20260620.3";
42488
42488
  var WAVE3D_AGENT_SDK_PACKAGE_SPEC = `${WAVE3D_AGENT_SDK_PACKAGE_NAME}@${WAVE3D_AGENT_SDK_REQUIRED_VERSION}`;
42489
42489
  var WAVE3D_AGENT_SDK_START_COMMAND = `npx -y ${WAVE3D_AGENT_SDK_PACKAGE_SPEC} start`;
42490
42490
  var WAVE3D_AGENT_SDK_TOKEN_ENV_VAR = "WAVE3D_MCP_TOKEN";
@@ -44416,7 +44416,7 @@ var WAVE_MCP_AGENT_BRIEF = [
44416
44416
  "VFS hashes: simple edit tools auto-resolve the latest mirror `contentHash`; pass `baseHash` only when you already have it or when using advanced `apply_wave_patch`. Always inspect `changedFiles`, `changedPaths`, `partial`, and `skippedOperations` after edits.",
44417
44417
  "VFS modules: scene-root modules and their owned helpers run inside the Studio authoring context, but helpers should stay pure or parameterized. Put live object ownership in scene-root/feature files, not shared helpers.",
44418
44418
  'VFS HTML sketches: for diagram/chart/doc-sketch requests, create or edit an exact `.html` file with Studio VFS tools. Mermaid renders from `<div class="mermaid">flowchart TD ...</div>` when that HTML file is active in the editor/coding pane; HTML sketches must never replace the live engine preview iframe. Do not put Mermaid in markdown fences unless user specifically wants markdown text.',
44419
- 'VFS hot reload ownership: Studio hot reload targets the active/open edited file when safe. Editing `/main.ts` reloads the main graph; editing a scene-root module reloads that root; bootstrap/scene registry/assets/network/ambiguous helper surfaces escalate. In multi-file projects, standalone `hot_reload_wave_preview` follows the active Studio editor file, so do not expect it to reload an arbitrary unopened module by path. Put heavy world loading in bootstrap or a coarse world module. For intentional cross-module live entities, the owner module calls `waveStudio.exportEntity("Name", entity)` and importer modules call `waveStudio.importEntity<T>("Name")`; Studio restores the exported baseline and replays active importer overlays during source hot reload. Source execution order is dependency-driven: exporter roots run before importer roots; an exporter root runs before `main.ts` when main imports it; importer overlays run after exporter/main baseline. Entity names must be static string literals, unique, and acyclic or run/hot reload stops before execution. Keep shared helpers pure or parameterized.',
44419
+ 'VFS hot reload ownership: Studio hot reload targets the active/open edited file when safe. Editing `/main.ts` reloads the main graph; editing a scene-root module reloads that root; bootstrap/scene registry/assets/network/ambiguous helper surfaces escalate. In multi-file projects, standalone `hot_reload_wave_preview` follows the active Studio editor file, so do not expect it to reload an arbitrary unopened module by path. Put heavy world loading in bootstrap or a coarse world module. If authored UI in `main.ts` changes bootstrap/world-provider state, store the state and call `waveStudio.reloadPreview({ reason })`; do not call `myScene.hotReload(...)` from Studio-authored code because it bypasses Studio VFS/package/source-patch orchestration. For intentional cross-module live entities, the owner module calls `waveStudio.exportEntity("Name", entity)` and importer modules call `waveStudio.importEntity<T>("Name")`; Studio restores the exported baseline and replays active importer overlays during source hot reload. Source execution order is dependency-driven: exporter roots run before importer roots; an exporter root runs before `main.ts` when main imports it; importer overlays run after exporter/main baseline. Entity names must be static string literals, unique, and acyclic or run/hot reload stops before execution. Keep shared helpers pure or parameterized.',
44420
44420
  "Assets: when quoting or passing an existing asset, use typed bare refs in main files: `models.X`, `textures.X`, `materials.X`, `audios.X`, `hdr.X`, `cubeMaps.X`, `animations.X`, etc. Do not paste raw paths or edit Studio-managed generated files just to register assets. If the exact ref is not already visible, call category-first asset discovery (`find_wave_assets_by_category`, alias `list_wave_assets_by_category`, alias `search_wave_assets_by_category`, or tolerant `list_wave_assets`) with required `category` from user intent, semantic `query`, and small `limit` before editing code; category-filtered results can still be capped/truncated, so refine query before concluding absence. Use `list_wave_explorer_assets` only for uploaded library metadata, rename/delete, URL, path, size, or display/ref-name management.",
44421
44421
  "Asset authoring facade split: typed refs quote existing assets; `waveMaterial` authors material handles; `assetManager` is only for exact asset-pipeline/generated-asset APIs that a local SDK skill or API lookup names, such as SDF surfaces or surface ribbons. Do not treat `assetManager` as the default creative facade for materials or normal asset arguments.",
44422
44422
  "Material authoring: when creating, configuring, forking, or intentionally editing material handles, route to `wave.material.authoring` and start from `waveMaterial` (`createWater`, `createGrid`, `createSplatMaterial`, `createFromAsset`, `editAsset`). If a material handle later needs runtime sync, `assetManager` may be passed as the sync target; it is still not the authoring root.",
@@ -44441,7 +44441,7 @@ var WAVE_MCP_AUTHORING_GLOBALS_GUIDE = [
44441
44441
  "- Colors/materials/fx helpers: `COLOR`, `PALETTE`, `waveCOLOR`, `waveMaterial`, `shaderUniform`, `waveFx`, `waveFxPresets`, `FxAnchor`, `FxCondition`.",
44442
44442
  "- Controller movement helpers: `waveKinematicActor`, `netKinematicActor`, `KinematicHumanoidMovementState`, `KinematicVehicleMovementState`, and `KinematicFlightMovementState`. Use actor-level `.asHumanoid(...)`, `.asVehicle(...)`, or `.asFlight(...)` for player/controller movement.",
44443
44443
  "- Asset maps: use category-first refs returned by `find_wave_assets_by_category`, commonly `models`, `gaussianSplats`, `animations`, `materials`, `guis`, `textures`, `audios`, `instruments`, `videos`, `hdr`, `fonts`, `serializedData`, `terrains`, `fx`, and `particles`.",
44444
- "- Scene/runtime handles: prefer `myScene` for scene composition and `waveStudio` for Studio operations. `assetManager` is available, but use it only when an exact skill/API names an asset-pipeline or generated-asset factory; do not use it as the default facade for existing asset refs or material authoring. Use lower-level `ctx`, `engine`, or `scene` only when existing code or an exact API requires them.",
44444
+ "- Scene/runtime handles: prefer `myScene` for scene composition and `waveStudio` for Studio operations. If authored UI changes bootstrap/world-provider state and needs the Studio preview to rebuild, call `waveStudio.reloadPreview({ reason })`, not `myScene.hotReload(...)`. `assetManager` is available, but use it only when an exact skill/API names an asset-pipeline or generated-asset factory; do not use it as the default facade for existing asset refs or material authoring. Use lower-level `ctx`, `engine`, or `scene` only when existing code or an exact API requires them.",
44445
44445
  "- Authoring systems/presets: `waveEventBus`, `waveRig`, `waveValueCurve`, `waveValueCurvePresets`, `waveMotionSignal`, `waveParam`, `WaveParam`, `WaveChoice`, `prefabModels`, `effectPrefabs`, and prefab helpers such as `rocketPrefab`.",
44446
44446
  "- Lowercase constructors: `prop`, `marker`, `sphere`, `point`, `cube`, `box`, `cylinder`, `capsule`, `cone`, `torus`, `plane`, `ground`, `line`, `arc`, `path`, and related shape helpers.",
44447
44447
  "- Type names are not import paths. If the handbook shows a type like `TransformVerbMode` or `WaveRateUnit`, look for the matching bare runtime value such as `Animate` or `DegreesPerSecond` before writing code. Transform `Snapshot` calls return a snapshot builder; call `.take()` before passing the pose to `transitionTo(...)`.",
@@ -44659,6 +44659,7 @@ var WAVE_MCP_STUDIO_TOOL_GUIDE = [
44659
44659
  "- `waveStudio.saveFor3dPrinting(target, options?)`: save export-friendly model.",
44660
44660
  "- `waveStudio.saveMaterial(request)`: save authored material asset.",
44661
44661
  "- `waveStudio.bakeTerrainMaterial(request)`: bake terrain material textures.",
44662
+ "- `waveStudio.reloadPreview({ reason? })`: request the Wave Studio toolbar-style reload path from authored code. Use this when a UI authored in `main.ts` changes Studio/bootstrap-backed state such as active city/world provider and must re-run the Studio preview package. Do not call `myScene.hotReload(...)` from Studio-authored code for this; that bypasses Studio VFS/package/source-patch orchestration.",
44662
44663
  "- `waveStudio.exportEntity(name, entity)`: declare a live entity owned by the current source module for intentional modular reuse. `name` must be a static string literal and unique across runnable roots.",
44663
44664
  "- `waveStudio.importEntity<T>(name)`: import an exported live entity into the current source module; Studio restores the exporter baseline and prunes/replays importer callbacks/overlays during source hot reload. Studio orders source roots by export/import dependencies: exporter before importer; exporter before `main.ts` if main imports it; overlay importers after exporter/main baseline. Missing, duplicate, dynamic, or cyclic entity names stop run/hot reload before execution.",
44664
44665
  '- MCP command result rule: poll `get_wave_command_result({ requestId })` only when the previous tool response includes `status:"pending"` plus `requestId`. HTTP Gateway browser-backed tools may return pending and need that poll. WaveEngine Agent SDK browser-backed tools wait directly and return final results; its `get_wave_command_result` is a catalog-parity no-op unless a pending result was explicitly returned.',
@@ -46192,6 +46193,9 @@ var HOT_RELOAD_UNSAFE_SCENE_EVENT_CALLBACKS = /* @__PURE__ */ new Map([
46192
46193
  ["on", "myScene.on(...) is scene-scoped, but not authored-epoch scoped. It is cleared on scene transition, not on every preserve-scene hotreload. Use Wave-owned input/entity callbacks, or wait for a scoped Wave scene-event authoring API."],
46193
46194
  ["once", "myScene.once(...) is scene-scoped, but an unfired one-shot handler can survive preserve-scene hotreload. Use Wave-owned input/entity callbacks, or wait for a scoped Wave scene-event authoring API."]
46194
46195
  ]);
46196
+ var HOT_RELOAD_FORBIDDEN_STUDIO_SCENE_METHODS = /* @__PURE__ */ new Map([
46197
+ ["hotReload", 'Studio-authored code must not call myScene.hotReload(...). Use waveStudio.reloadPreview({ reason: "..." }) so Wave Studio can flush VFS, rebuild the project package/bootstrap, sync assets, choose the correct reload tier, and return diagnostics.']
46198
+ ]);
46195
46199
  var HOT_RELOAD_UNSAFE_CONSTRUCTORS = /* @__PURE__ */ new Map([
46196
46200
  ["Promise", "new Promise(...) is not hotreload-safe because it creates unmanaged callback closures. Use awaitable Wave APIs instead."],
46197
46201
  ["MutationObserver", "DOM observers are not hotreload-safe. Use an engine-owned wrapper that can be disposed by hotreload."],
@@ -46279,6 +46283,7 @@ function readPropertyReceiverPath(code, tokenStart) {
46279
46283
  while (index >= 0 && /\s/.test(code[index] ?? "")) index -= 1;
46280
46284
  if (code[index] !== ".") return "";
46281
46285
  index -= 1;
46286
+ if (code[index] === "?") index -= 1;
46282
46287
  while (index >= 0 && /\s/.test(code[index] ?? "")) index -= 1;
46283
46288
  const endIndex = index + 1;
46284
46289
  while (index >= 0 && (isIdentifierPartChar(code[index]) || code[index] === "." || /\s/.test(code[index] ?? ""))) {
@@ -46328,6 +46333,9 @@ function skipQuotedRuntimeLiteral(code, startIndex, quote) {
46328
46333
  return index;
46329
46334
  }
46330
46335
  function buildHotReloadUnsafeMessage(params) {
46336
+ if (params.severity === "error") {
46337
+ return `${RUNTIME_HOT_RELOAD_SAFETY_WARNING_PREFIX} ERROR: forbidden Studio reload API '${params.token}' at ${params.path}:${params.line}:${params.column}. ${params.guidance}`;
46338
+ }
46331
46339
  return `${RUNTIME_HOT_RELOAD_SAFETY_WARNING_PREFIX} WARNING: unsafe unmanaged callback API '${params.token}' at ${params.path}:${params.line}:${params.column}. Code will still run, but this callback is registered outside Wave's authored callback registry, so hotreload cannot unregister it and the closure can retain old scene/entity/model graphs. Memory leak risk. Recommendation: ${params.guidance}`;
46332
46340
  }
46333
46341
  function reportHotReloadUnsafeUsage(params) {
@@ -46336,6 +46344,7 @@ function reportHotReloadUnsafeUsage(params) {
46336
46344
  const key = `${params.path}:${line}:${column}:${params.token}`;
46337
46345
  if (params.reported.has(key)) return;
46338
46346
  params.reported.add(key);
46347
+ const severity = params.severity ?? "warning";
46339
46348
  params.diagnostics.push({
46340
46349
  path: params.path,
46341
46350
  token: params.token,
@@ -46343,12 +46352,14 @@ function reportHotReloadUnsafeUsage(params) {
46343
46352
  length: params.token.length,
46344
46353
  line,
46345
46354
  column,
46355
+ severity,
46346
46356
  guidance: params.guidance,
46347
46357
  message: buildHotReloadUnsafeMessage({
46348
46358
  path: params.path,
46349
46359
  token: params.token,
46350
46360
  line,
46351
46361
  column,
46362
+ severity,
46352
46363
  guidance: params.guidance
46353
46364
  })
46354
46365
  });
@@ -46393,7 +46404,8 @@ function collectRuntimeHotReloadSafetyDiagnostics(path5, code, limit = HOT_RELOA
46393
46404
  const nextNonWhitespace = code[nextNonWhitespaceIndex] ?? "";
46394
46405
  const previousChar = readPreviousNonWhitespaceChar(code, tokenStart);
46395
46406
  const previousIdentifier = readPreviousIdentifier(code, tokenStart);
46396
- const isCall = nextNonWhitespace === "(";
46407
+ const optionalCallParenIndex = nextNonWhitespace === "?" && code[nextNonWhitespaceIndex + 1] === "." ? readNextNonWhitespaceIndex(code, nextNonWhitespaceIndex + 2) : -1;
46408
+ const isCall = nextNonWhitespace === "(" || optionalCallParenIndex >= 0 && code[optionalCallParenIndex] === "(";
46397
46409
  const receiverPath = previousChar === "." ? readPropertyReceiverPath(code, tokenStart) : "";
46398
46410
  const globalGuidance = HOT_RELOAD_UNSAFE_GLOBAL_CALLBACKS.get(token);
46399
46411
  if (globalGuidance) {
@@ -46420,6 +46432,20 @@ function collectRuntimeHotReloadSafetyDiagnostics(path5, code, limit = HOT_RELOA
46420
46432
  reportHotReloadUnsafeUsage({ code, path: path5, token, offset: tokenStart, guidance: sceneEventGuidance, diagnostics, reported });
46421
46433
  continue;
46422
46434
  }
46435
+ const forbiddenStudioSceneMethodGuidance = HOT_RELOAD_FORBIDDEN_STUDIO_SCENE_METHODS.get(token);
46436
+ if (forbiddenStudioSceneMethodGuidance && previousChar === "." && isCall && isWaveSceneEventReceiverPath(receiverPath)) {
46437
+ reportHotReloadUnsafeUsage({
46438
+ code,
46439
+ path: path5,
46440
+ token,
46441
+ offset: tokenStart,
46442
+ severity: "error",
46443
+ guidance: forbiddenStudioSceneMethodGuidance,
46444
+ diagnostics,
46445
+ reported
46446
+ });
46447
+ continue;
46448
+ }
46423
46449
  const constructorGuidance = HOT_RELOAD_UNSAFE_CONSTRUCTORS.get(token);
46424
46450
  if (constructorGuidance && (previousIdentifier === "new" || previousChar === "." && isCall)) {
46425
46451
  reportHotReloadUnsafeUsage({ code, path: path5, token, offset: tokenStart, guidance: constructorGuidance, diagnostics, reported });
@@ -3,6 +3,6 @@
3
3
  Bundled public-safe WaveEngine SDK lookup cache for wave3d-agent-sdk.
4
4
  Generated from sanitized public API/skill corpus during package build.
5
5
 
6
- cacheKey: 2026-06-17.1.dBbXqRbLTZgB2Lhd28PqH8fYLoSLaK0J
7
- bundleHash: dBbXqRbLTZgB2Lhd28PqH8fYLoSLaK0J
8
- zip: wave-engine-sdk-2026-06-17.1.dBbXqRbLTZgB2Lhd28PqH8fYLoSLaK0J.zip
6
+ cacheKey: 2026-06-17.1.p4vUxjKn3o8fS2orbJ9I0RNBdO0G6_Dg
7
+ bundleHash: p4vUxjKn3o8fS2orbJ9I0RNBdO0G6_Dg
8
+ zip: wave-engine-sdk-2026-06-17.1.p4vUxjKn3o8fS2orbJ9I0RNBdO0G6_Dg.zip
@@ -1,21 +1,21 @@
1
1
  {
2
- "version": "2026-06-17.1.dBbXqRbLTZgB2Lhd28PqH8fYLoSLaK0J",
2
+ "version": "2026-06-17.1.p4vUxjKn3o8fS2orbJ9I0RNBdO0G6_Dg",
3
3
  "formatVersion": "2026-06-17.1",
4
- "cacheKey": "2026-06-17.1.dBbXqRbLTZgB2Lhd28PqH8fYLoSLaK0J",
5
- "bundleFileName": "wave-engine-sdk-2026-06-17.1.dBbXqRbLTZgB2Lhd28PqH8fYLoSLaK0J.zip",
6
- "bundleHash": "dBbXqRbLTZgB2Lhd28PqH8fYLoSLaK0J",
4
+ "cacheKey": "2026-06-17.1.p4vUxjKn3o8fS2orbJ9I0RNBdO0G6_Dg",
5
+ "bundleFileName": "wave-engine-sdk-2026-06-17.1.p4vUxjKn3o8fS2orbJ9I0RNBdO0G6_Dg.zip",
6
+ "bundleHash": "p4vUxjKn3o8fS2orbJ9I0RNBdO0G6_Dg",
7
7
  "generatedAt": "2026-06-06T00:00:00.000Z",
8
8
  "sourceVersions": {
9
9
  "onboarding": {
10
10
  "promptVersion": "2026-06-15.2",
11
- "promptHash": "6IuwZ1MMtoXP-Y2JRI5awkgnCmUDeP_e"
11
+ "promptHash": "S1t3TsiBEK-L5oyOlh3M-2aFvaLyaZ_u"
12
12
  },
13
13
  "apiHandbook": {
14
14
  "version": "1",
15
- "contentHash": "5d904cc079d88968"
15
+ "contentHash": "edf117cbd2b09857"
16
16
  },
17
- "waveSkillCorpusHash": "dzCK1XjEuVkGu72kgtFem6UZeDVf6q_t",
18
- "sdkLookupCorpusHash": "mx3pTdmb3WJLL3G0ZJNyeIeWaIgNdY0o"
17
+ "waveSkillCorpusHash": "nhg-WfsotIdN1pRO41g97bff6RrKujrN",
18
+ "sdkLookupCorpusHash": "PIjMZyPz-ALuRLJcccp75RQqxQAi3oDV"
19
19
  },
20
20
  "cacheContract": {
21
21
  "llmContextCacheOnly": [
@@ -35,14 +35,14 @@
35
35
  "searchDocuments"
36
36
  ],
37
37
  "rule": "Priority 1 always-on sections must stay in LLM chat/system context. The WaveEngine SDK local cache is public-safe retrieval data, never the only memory for core policy.",
38
- "defaultRefreshCommand": "npx -y wave3d-agent-sdk@0.2.7 cache refresh",
38
+ "defaultRefreshCommand": "npx -y wave3d-agent-sdk@0.2.8 cache refresh",
39
39
  "refreshRule": "When using WaveEngine SDK local cache, compare cacheKey, bundleHash, and sourceVersions before trusting local lookup. If any value differs, update the SDK package or reinstall its bundled SDK cache and rebuild local indexes. Do not fetch a remote SDK zip.",
40
40
  "onlineFallback": "HTTP Gateway does not provide cloud API lookup. If local Node/npm or cache is refused/unavailable, use only concrete Studio operations and already-known code; repair the local WaveEngine SDK before unfamiliar API authoring."
41
41
  },
42
42
  "corpus": {
43
43
  "skillCount": 67,
44
- "apiEntryCount": 4198,
45
- "apiMethodGroupCount": 4477,
44
+ "apiEntryCount": 4201,
45
+ "apiMethodGroupCount": 4480,
46
46
  "apiInheritanceCount": 735
47
47
  },
48
48
  "files": [
@@ -51,7 +51,7 @@
51
51
  "mediaType": "application/json",
52
52
  "role": "lookup-guide",
53
53
  "bytes": 1310,
54
- "hash": "uvziS0PdxD95roJpyUHd_irZBSYTNRiu"
54
+ "hash": "_bPlWbDd1MsHtcdVNv44Gh_XgmdtIYHw"
55
55
  },
56
56
  {
57
57
  "path": "skills/wave-skills.jsonl",
@@ -78,15 +78,15 @@
78
78
  "path": "api/entries.jsonl",
79
79
  "mediaType": "application/jsonl",
80
80
  "role": "api-corpus",
81
- "bytes": 4166730,
82
- "hash": "hFz8Q9gbIUDOQd7_qBKKxpSB2FRLBNcw"
81
+ "bytes": 4169568,
82
+ "hash": "jyGCEHeyJe5VSmLHEBzGc-ehK02T4Im_"
83
83
  },
84
84
  {
85
85
  "path": "api/method-groups.jsonl",
86
86
  "mediaType": "application/jsonl",
87
87
  "role": "api-corpus",
88
- "bytes": 1399676,
89
- "hash": "3viG72Eg9mAQ4kMS8necAhcnMjoZJphS"
88
+ "bytes": 1400372,
89
+ "hash": "ddN0Bqv0ue3BIPuzp4fh3zBtTlUzSfjJ"
90
90
  },
91
91
  {
92
92
  "path": "api/inheritance.jsonl",
@@ -100,14 +100,14 @@
100
100
  "mediaType": "application/json",
101
101
  "role": "api-corpus",
102
102
  "bytes": 219,
103
- "hash": "WoKr13lMgd32rfZUdvIqrgZT2T0N9GW8"
103
+ "hash": "63XcQbDuL3ZswbTi4kAzD_Jt04FXIONX"
104
104
  },
105
105
  {
106
106
  "path": "search/search-documents.jsonl",
107
107
  "mediaType": "application/jsonl",
108
108
  "role": "search-index",
109
- "bytes": 3915328,
110
- "hash": "5mwnSpVQwpPzHFxP8mkpgSXj3MvCM68D"
109
+ "bytes": 3917846,
110
+ "hash": "AnlOOjUCNs-BOUdLrYzW5ugcAEnTA7JF"
111
111
  },
112
112
  {
113
113
  "path": "README.md",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wave3d-agent-sdk",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "WaveEngine Agent SDK for same-machine Wave Studio MCP plus bundled WaveEngine lookup.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",