waypoi 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/instructions/ui.instructions.md +42 -0
- package/.github/workflows/ci.yml +35 -0
- package/.github/workflows/publish.yml +71 -0
- package/.github/workflows/release.yml +48 -0
- package/.playwright-mcp/console-2026-04-04T01-41-10-746Z.log +2 -0
- package/.playwright-mcp/console-2026-04-04T01-41-28-799Z.log +3 -0
- package/.playwright-mcp/console-2026-04-05T02-26-51-909Z.log +76 -0
- package/.playwright-mcp/page-2026-04-04T01-41-10-816Z.yml +1 -0
- package/.playwright-mcp/page-2026-04-04T01-41-29-141Z.yml +77 -0
- package/.playwright-mcp/page-2026-04-04T01-41-42-633Z.yml +190 -0
- package/.playwright-mcp/page-2026-04-04T01-42-03-929Z.yml +262 -0
- package/.playwright-mcp/page-2026-04-04T02-12-54-813Z.yml +6 -0
- package/.playwright-mcp/page-2026-04-04T02-14-58-600Z.yml +190 -0
- package/.playwright-mcp/page-2026-04-04T02-15-03-923Z.yml +190 -0
- package/.playwright-mcp/page-2026-04-04T02-15-07-426Z.yml +190 -0
- package/.playwright-mcp/page-2026-04-04T02-15-25-729Z.yml +262 -0
- package/.playwright-mcp/page-2026-04-04T02-16-22-984Z.yml +262 -0
- package/.playwright-mcp/page-2026-04-04T02-17-00-599Z.yml +190 -0
- package/.playwright-mcp/page-2026-04-04T02-17-50-874Z.yml +190 -0
- package/.playwright-mcp/page-2026-04-05T02-26-55-570Z.yml +6 -0
- package/AGENTS.md +48 -0
- package/CHANGELOG.md +131 -0
- package/README.md +552 -0
- package/assets/agent-mode.png +0 -0
- package/assets/categorize.png +0 -0
- package/assets/dashboard.png +0 -0
- package/assets/endpoint-proxy.png +0 -0
- package/assets/icon.png +0 -0
- package/assets/mcp-generate-image.png +0 -0
- package/assets/mcp-understand-image.png +0 -0
- package/assets/peek-token-flow.png +0 -0
- package/assets/playground.png +0 -0
- package/assets/sankey.png +0 -0
- package/cli/index.ts +2805 -0
- package/cli/legacyRewrite.ts +108 -0
- package/cli/modelRef.ts +24 -0
- package/dist/cli/index.js +2536 -0
- package/dist/cli/legacyRewrite.js +92 -0
- package/dist/cli/modelRef.js +20 -0
- package/dist/src/benchmark/artifacts.js +131 -0
- package/dist/src/benchmark/capabilityClassifier.js +81 -0
- package/dist/src/benchmark/capabilityStore.js +144 -0
- package/dist/src/benchmark/config.js +238 -0
- package/dist/src/benchmark/gates.js +118 -0
- package/dist/src/benchmark/jobs.js +252 -0
- package/dist/src/benchmark/runner.js +1847 -0
- package/dist/src/benchmark/schema.js +353 -0
- package/dist/src/benchmark/suites.js +314 -0
- package/dist/src/benchmark/tinyQaDataset.js +422 -0
- package/dist/src/benchmark/types.js +25 -0
- package/dist/src/config.js +47 -0
- package/dist/src/index.js +178 -0
- package/dist/src/mcp/client.js +215 -0
- package/dist/src/mcp/discovery.js +226 -0
- package/dist/src/mcp/policy.js +65 -0
- package/dist/src/mcp/registry.js +129 -0
- package/dist/src/mcp/service.js +460 -0
- package/dist/src/middleware/auth.js +179 -0
- package/dist/src/middleware/requestCapture.js +192 -0
- package/dist/src/middleware/requestStats.js +118 -0
- package/dist/src/pools/builder.js +132 -0
- package/dist/src/pools/repository.js +69 -0
- package/dist/src/pools/scheduler.js +360 -0
- package/dist/src/pools/types.js +2 -0
- package/dist/src/protocols/adapters/dashscope.js +267 -0
- package/dist/src/protocols/adapters/inferenceV2.js +346 -0
- package/dist/src/protocols/adapters/openai.js +27 -0
- package/dist/src/protocols/registry.js +99 -0
- package/dist/src/protocols/types.js +2 -0
- package/dist/src/providers/health.js +153 -0
- package/dist/src/providers/importer.js +289 -0
- package/dist/src/providers/modelRegistry.js +313 -0
- package/dist/src/providers/repository.js +361 -0
- package/dist/src/providers/types.js +2 -0
- package/dist/src/routes/admin.js +531 -0
- package/dist/src/routes/audio.js +295 -0
- package/dist/src/routes/chat.js +240 -0
- package/dist/src/routes/embeddings.js +157 -0
- package/dist/src/routes/images.js +288 -0
- package/dist/src/routes/mcp.js +256 -0
- package/dist/src/routes/mcpService.js +100 -0
- package/dist/src/routes/models.js +48 -0
- package/dist/src/routes/responses.js +711 -0
- package/dist/src/routes/sessions.js +450 -0
- package/dist/src/routes/stats.js +270 -0
- package/dist/src/routes/ui.js +97 -0
- package/dist/src/routes/videos.js +107 -0
- package/dist/src/routing/router.js +338 -0
- package/dist/src/services/imageGeneration.js +280 -0
- package/dist/src/services/imageUnderstanding.js +352 -0
- package/dist/src/services/videoGeneration.js +79 -0
- package/dist/src/storage/captureRepository.js +1591 -0
- package/dist/src/storage/files.js +157 -0
- package/dist/src/storage/imageCache.js +346 -0
- package/dist/src/storage/repositories.js +388 -0
- package/dist/src/storage/sessionRepository.js +370 -0
- package/dist/src/storage/statsRepository.js +204 -0
- package/dist/src/transport/httpClient.js +126 -0
- package/dist/src/types.js +2 -0
- package/dist/src/utils/messageMedia.js +285 -0
- package/dist/src/utils/modelCapabilities.js +108 -0
- package/dist/src/utils/modelDiscovery.js +170 -0
- package/dist/src/version.js +5 -0
- package/dist/src/workers/captureRetention.js +25 -0
- package/dist/src/workers/configWatcher.js +91 -0
- package/dist/src/workers/healthChecker.js +21 -0
- package/dist/src/workers/statsRotation.js +41 -0
- package/docs/LLM/output_schema.md +312 -0
- package/docs/benchmark.md +208 -0
- package/docs/mcp-guidelines.md +125 -0
- package/docs/mcp-service.md +178 -0
- package/docs/opencode.md +86 -0
- package/docs/providers.md +79 -0
- package/examples/benchmark.config.yaml +28 -0
- package/examples/providers/alibaba-dashscope.yaml +88 -0
- package/examples/providers/alibaba-llm.yaml +64 -0
- package/examples/providers/alibaba-registry.yaml +7 -0
- package/examples/providers/inference-v2-ray.yaml +29 -0
- package/examples/scenarios/assets/omni-call-sample.wav +0 -0
- package/examples/scenarios/custom.jsonl +5 -0
- package/examples/scenarios/custom.yaml +40 -0
- package/model-form-v2.png +0 -0
- package/package.json +66 -0
- package/provider-form-v2.png +0 -0
- package/provider-form.png +0 -0
- package/scripts/manual-test.sh +11 -0
- package/scripts/version-from-git.js +23 -0
- package/src/benchmark/artifacts.ts +149 -0
- package/src/benchmark/capabilityClassifier.ts +99 -0
- package/src/benchmark/capabilityStore.ts +174 -0
- package/src/benchmark/config.ts +337 -0
- package/src/benchmark/gates.ts +164 -0
- package/src/benchmark/jobs.ts +312 -0
- package/src/benchmark/runner.ts +2519 -0
- package/src/benchmark/schema.ts +443 -0
- package/src/benchmark/suites.ts +323 -0
- package/src/benchmark/tinyQaDataset.ts +428 -0
- package/src/benchmark/types.ts +442 -0
- package/src/config.ts +44 -0
- package/src/index.ts +195 -0
- package/src/mcp/client.ts +305 -0
- package/src/mcp/discovery.ts +266 -0
- package/src/mcp/policy.ts +105 -0
- package/src/mcp/registry.ts +164 -0
- package/src/mcp/service.ts +611 -0
- package/src/middleware/auth.ts +251 -0
- package/src/middleware/requestCapture.ts +245 -0
- package/src/middleware/requestStats.ts +163 -0
- package/src/pools/builder.ts +159 -0
- package/src/pools/repository.ts +71 -0
- package/src/pools/scheduler.ts +425 -0
- package/src/pools/types.ts +117 -0
- package/src/protocols/adapters/dashscope.ts +335 -0
- package/src/protocols/adapters/inferenceV2.ts +428 -0
- package/src/protocols/adapters/openai.ts +32 -0
- package/src/protocols/registry.ts +117 -0
- package/src/protocols/types.ts +81 -0
- package/src/providers/health.ts +207 -0
- package/src/providers/importer.ts +402 -0
- package/src/providers/modelRegistry.ts +415 -0
- package/src/providers/repository.ts +439 -0
- package/src/providers/types.ts +113 -0
- package/src/routes/admin.ts +666 -0
- package/src/routes/audio.ts +372 -0
- package/src/routes/chat.ts +301 -0
- package/src/routes/embeddings.ts +197 -0
- package/src/routes/images.ts +356 -0
- package/src/routes/mcp.ts +320 -0
- package/src/routes/mcpService.ts +114 -0
- package/src/routes/models.ts +50 -0
- package/src/routes/responses.ts +872 -0
- package/src/routes/sessions.ts +558 -0
- package/src/routes/stats.ts +312 -0
- package/src/routes/ui.ts +96 -0
- package/src/routes/videos.ts +132 -0
- package/src/routing/router.ts +501 -0
- package/src/services/imageGeneration.ts +396 -0
- package/src/services/imageUnderstanding.ts +449 -0
- package/src/services/videoGeneration.ts +127 -0
- package/src/storage/captureRepository.ts +1835 -0
- package/src/storage/files.ts +178 -0
- package/src/storage/imageCache.ts +405 -0
- package/src/storage/repositories.ts +494 -0
- package/src/storage/sessionRepository.ts +419 -0
- package/src/storage/statsRepository.ts +238 -0
- package/src/transport/httpClient.ts +145 -0
- package/src/types.ts +322 -0
- package/src/utils/messageMedia.ts +293 -0
- package/src/utils/modelCapabilities.ts +161 -0
- package/src/utils/modelDiscovery.ts +203 -0
- package/src/workers/captureRetention.ts +25 -0
- package/src/workers/configWatcher.ts +115 -0
- package/src/workers/healthChecker.ts +22 -0
- package/src/workers/statsRotation.ts +49 -0
- package/tests/benchmarkAdminRoutes.test.ts +82 -0
- package/tests/benchmarkBasics.test.ts +116 -0
- package/tests/captureAdminRoutes.test.ts +420 -0
- package/tests/captureRepository.test.ts +797 -0
- package/tests/cliLegacyRewrite.test.ts +45 -0
- package/tests/imageGeneration.service.test.ts +107 -0
- package/tests/imageUnderstanding.service.test.ts +123 -0
- package/tests/mcpPolicy.test.ts +105 -0
- package/tests/mcpService.test.ts +1245 -0
- package/tests/modelRef.test.ts +23 -0
- package/tests/modelsRoutes.test.ts +154 -0
- package/tests/sessionMediaCache.test.ts +167 -0
- package/tests/statsRoutes.test.ts +323 -0
- package/tsconfig.json +15 -0
- package/ui/index.html +16 -0
- package/ui/package-lock.json +8521 -0
- package/ui/package.json +52 -0
- package/ui/postcss.config.js +6 -0
- package/ui/public/assets/apple-touch-icon.png +0 -0
- package/ui/public/assets/favicon-16.png +0 -0
- package/ui/public/assets/favicon-32.png +0 -0
- package/ui/public/assets/icon-192.png +0 -0
- package/ui/public/assets/icon-512.png +0 -0
- package/ui/src/App.tsx +27 -0
- package/ui/src/api/client.ts +1503 -0
- package/ui/src/components/EndpointUsageGuide.tsx +361 -0
- package/ui/src/components/Layout.tsx +124 -0
- package/ui/src/components/MessageContent.tsx +365 -0
- package/ui/src/components/ToolCallMessage.tsx +179 -0
- package/ui/src/components/ToolPicker.tsx +442 -0
- package/ui/src/components/messageContentParser.test.ts +41 -0
- package/ui/src/components/messageContentParser.ts +73 -0
- package/ui/src/components/thinkingPreview.test.ts +27 -0
- package/ui/src/components/thinkingPreview.ts +15 -0
- package/ui/src/components/toMermaidSankey.test.ts +78 -0
- package/ui/src/components/toMermaidSankey.ts +56 -0
- package/ui/src/components/ui/button.tsx +58 -0
- package/ui/src/components/ui/input.tsx +21 -0
- package/ui/src/components/ui/textarea.tsx +21 -0
- package/ui/src/lib/utils.ts +6 -0
- package/ui/src/main.tsx +9 -0
- package/ui/src/pages/AgentPlayground.tsx +2010 -0
- package/ui/src/pages/Benchmark.tsx +988 -0
- package/ui/src/pages/Dashboard.tsx +581 -0
- package/ui/src/pages/Peek.tsx +962 -0
- package/ui/src/pages/Settings.tsx +2013 -0
- package/ui/src/pages/agentPlaygroundPayload.test.ts +109 -0
- package/ui/src/pages/agentPlaygroundPayload.ts +97 -0
- package/ui/src/pages/agentThinkingContent.test.ts +50 -0
- package/ui/src/pages/agentThinkingContent.ts +57 -0
- package/ui/src/pages/dashboardTokenUsage.test.ts +66 -0
- package/ui/src/pages/dashboardTokenUsage.ts +36 -0
- package/ui/src/pages/imageUpload.test.ts +39 -0
- package/ui/src/pages/imageUpload.ts +71 -0
- package/ui/src/pages/peekFilters.test.ts +29 -0
- package/ui/src/pages/peekFilters.ts +13 -0
- package/ui/src/pages/peekMedia.test.ts +58 -0
- package/ui/src/pages/peekMedia.ts +148 -0
- package/ui/src/pages/sessionAutoTitle.test.ts +128 -0
- package/ui/src/pages/sessionAutoTitle.ts +106 -0
- package/ui/src/stores/settings.ts +58 -0
- package/ui/src/styles/globals.css +223 -0
- package/ui/src/vite-env.d.ts +8 -0
- package/ui/tailwind.config.js +106 -0
- package/ui/tsconfig.json +32 -0
- package/ui/vite.config.ts +37 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Waypoi Contributor Guardrails
|
|
2
|
+
|
|
3
|
+
Purpose and scope:
|
|
4
|
+
- Applies to the entire repo.
|
|
5
|
+
- Preserve core functionality while evolving features.
|
|
6
|
+
|
|
7
|
+
Core invariants (must not break):
|
|
8
|
+
- MCP:
|
|
9
|
+
- `/mcp` endpoint exists and is localhost-only.
|
|
10
|
+
- File-first policy remains default for binary tools.
|
|
11
|
+
- Tool outputs remain structured as `{ ok: true|false, ... }`.
|
|
12
|
+
- File outputs must be workspace-relative (no `/tmp` by default).
|
|
13
|
+
- Playground UI:
|
|
14
|
+
- Image/chat upload flows remain functional.
|
|
15
|
+
- Thinking/streaming behaviors are preserved.
|
|
16
|
+
- No regressions to basic chat/call flows.
|
|
17
|
+
- Reverse proxy:
|
|
18
|
+
- `/v1/*` stays OpenAI-compatible.
|
|
19
|
+
- No breaking request/response changes without migration notes.
|
|
20
|
+
- Providers/pools:
|
|
21
|
+
- Capability routing remains consistent (input/output requirements).
|
|
22
|
+
- Model selection logic unchanged unless updated with tests.
|
|
23
|
+
|
|
24
|
+
Change discipline:
|
|
25
|
+
- MCP tool contract changes must update:
|
|
26
|
+
- `docs/mcp-service.md`
|
|
27
|
+
- `docs/mcp-guidelines.md`
|
|
28
|
+
- relevant tests in `tests/mcp*.test.ts`
|
|
29
|
+
- OpenAI route changes must update relevant docs and regression tests.
|
|
30
|
+
- UI changes affecting chat/call/image flows must add a targeted test or a manual verification checklist in PR notes.
|
|
31
|
+
|
|
32
|
+
Default output path rule:
|
|
33
|
+
- Tool outputs must write under the workspace (default `./.waypoi/generated-images`).
|
|
34
|
+
- Reject `output_path`/`output_dir` outside the workspace.
|
|
35
|
+
|
|
36
|
+
Versioning:
|
|
37
|
+
- Single source of truth is git tags (e.g. `v0.8.0-alpha.0`).
|
|
38
|
+
- `scripts/version-from-git.js` runs via npm `pre` hooks to generate `src/version.ts` before build/dev/typecheck.
|
|
39
|
+
- `package.json` version is `0.0.0` (placeholder — never edit manually).
|
|
40
|
+
- To release: `git tag v<semver>` && `git push origin --tags`.
|
|
41
|
+
- CI (if added) must checkout with `fetch-depth: 0` and run `npm version $(git describe --tags --abbrev=0 | sed 's/^v//') --no-git-tag-version` before `npm publish`.
|
|
42
|
+
|
|
43
|
+
Quick pointers (where to look first):
|
|
44
|
+
- MCP service: `src/mcp/service.ts`
|
|
45
|
+
- MCP policy: `src/mcp/policy.ts`
|
|
46
|
+
- Playground: `ui/src/pages/AgentPlayground.tsx`
|
|
47
|
+
- Reverse proxy: `src/routing/router.ts` and `src/routes/*`
|
|
48
|
+
- Providers/pools: `src/providers/*`, `src/pools/*`
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Waypoi are documented here.
|
|
4
|
+
|
|
5
|
+
## [0.6.0] - 2026-03-20
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Built-in MCP service (`POST /mcp`) with two tools:
|
|
10
|
+
- `generate_image` - File-first image generation with workspace-relative output paths
|
|
11
|
+
- `understand_image` - Vision-based image analysis with coordinate-preserving geometry metadata
|
|
12
|
+
- Agent Mode in Playground UI - Toggle to enable MCP tool-calling workflows
|
|
13
|
+
- Tool Picker component for selecting available MCP tools in agent mode
|
|
14
|
+
- Tool call visualization in chat UI with status indicators (pending/executing/success/error)
|
|
15
|
+
- Peek Token Flow Sankey diagrams for visualizing token attribution
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- MCP service uses file-first policy: outputs always write to workspace, rejects paths outside workspace root
|
|
20
|
+
- `generate_image` requires `workspace_root` parameter and returns workspace-relative `file_path`
|
|
21
|
+
- `understand_image` preserves original image geometry for coordinate-sensitive tasks
|
|
22
|
+
- Agent Playground supports up to 10 tool iterations per user message with stop control
|
|
23
|
+
|
|
24
|
+
## [0.7.1-alpha.1] - 2026-03-21
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Fix test runner: replaced Playwright with `npx tsx --test`; removed `@playwright/test` dev dependency.
|
|
29
|
+
|
|
30
|
+
## [0.7.1-alpha.0] - 2026-03-20
|
|
31
|
+
|
|
32
|
+
### Breaking Changes
|
|
33
|
+
|
|
34
|
+
- `generate_image` MCP tool: `workspace_root`, `output_path`, and `output_dir` parameters removed. Outputs now default to `~/.config/waypoi/generated-images`; override with env vars `WAYPOI_MCP_OUTPUT_ROOT` and `WAYPOI_MCP_OUTPUT_SUBDIR`.
|
|
35
|
+
- `.env` auto-discovery removed from provider importer. Use the explicit `--env-file` flag instead.
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- Playground auto-connects to the built-in `/mcp` server on startup; built-in tools (`generate_image`, `understand_image`) are pre-selected when agent mode is first enabled.
|
|
40
|
+
- Built-in MCP server appears as a permanent `waypoi (built-in)` entry in the ToolPicker — no delete or disconnect controls exposed.
|
|
41
|
+
- New CLI utilities: `cli/legacyRewrite.ts`, `cli/modelRef.ts`.
|
|
42
|
+
- New tests: `tests/cliLegacyRewrite.test.ts`, `tests/modelRef.test.ts`.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- CLI canonical provider/model groups now use one-hop commands:
|
|
47
|
+
- `waypoi providers`
|
|
48
|
+
- `waypoi models <providerId>`
|
|
49
|
+
- `waypoi models show <providerId>/<modelId>`
|
|
50
|
+
- Legacy CLI forms rewritten with deprecation warnings; set `WAYPOI_NO_WARN=1` to suppress.
|
|
51
|
+
- MCP output location is now globally configured (`~/.config/waypoi/generated-images`) rather than per-call workspace-relative paths.
|
|
52
|
+
- `GET /admin/mcp/servers` always includes the built-in server as the first entry.
|
|
53
|
+
- README updated with a full features table and corrected architecture docs.
|
|
54
|
+
|
|
55
|
+
### Removed
|
|
56
|
+
|
|
57
|
+
- Legacy `smart-*` model alias infrastructure (`LEGACY_SMART_ALIAS_PREFIX`, `isDeprecatedSmartAlias`).
|
|
58
|
+
- Backward-compat imageCache aliases (`resolveImagesDir`, `storeImage`, `getImagePath`).
|
|
59
|
+
- Stale scripts: `scripts/capture-screenshots.js`, `scripts/seed.ts`, `scripts/release/`.
|
|
60
|
+
- Empty placeholder files: `text`, `test.py`, `reference/`.
|
|
61
|
+
- `.gitmodules` (unused `openai/codex` submodule reference).
|
|
62
|
+
|
|
63
|
+
## [0.4.2] - 2026-02-23
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
|
|
67
|
+
- Model-level capability classification (`input`/`output` modalities) on model mappings.
|
|
68
|
+
- `/v1/models` now returns `capabilities` per model while keeping `endpoint_type` for compatibility.
|
|
69
|
+
- Capability inference engine with config-first precedence and heuristic fallback.
|
|
70
|
+
- Benchmark mode expansion to embeddings, image generation, and audio (speech/transcription), with per-mode assertions.
|
|
71
|
+
- Benchmark skip+warn behavior for unconfigured model families plus per-mode summary metrics.
|
|
72
|
+
|
|
73
|
+
### Changed
|
|
74
|
+
|
|
75
|
+
- Route eligibility now supports capability requirements (`requiredInput`/`requiredOutput`) in addition to endpoint type.
|
|
76
|
+
- Default model selection prefers capability-matching models before endpoint-type fallback.
|
|
77
|
+
- Playground model picker labels now show capability tags when available (e.g. `text+image->text`).
|
|
78
|
+
|
|
79
|
+
## [0.4.1] - 2026-02-23
|
|
80
|
+
|
|
81
|
+
### Added
|
|
82
|
+
|
|
83
|
+
- Config-first benchmark system with profile support (`--config`, `--profile`).
|
|
84
|
+
- Benchmark baseline comparison support (`--baseline`) for soft regression warnings.
|
|
85
|
+
- New benchmark artifact pair per run (`.json` + `.txt`) with gate outcomes and per-scenario measured samples.
|
|
86
|
+
- Example benchmark config and scenario files under `examples/`.
|
|
87
|
+
|
|
88
|
+
### Changed
|
|
89
|
+
|
|
90
|
+
- Benchmark runner now executes warmup + measured runs and reports pass rate per scenario.
|
|
91
|
+
- Scenario schema validation now enforces required fields and emits location-aware error messages.
|
|
92
|
+
- Agent benchmark loop now enforces per-tool timeout and max-iteration failure reason (`max_iterations_reached`).
|
|
93
|
+
|
|
94
|
+
### Fixed
|
|
95
|
+
|
|
96
|
+
- Benchmark gate semantics now separate hard failures (exit code 1) from soft warnings (exit code 0).
|
|
97
|
+
|
|
98
|
+
## [0.4.0] - 2026-02-23
|
|
99
|
+
|
|
100
|
+
### Changed
|
|
101
|
+
|
|
102
|
+
- Realigned product scope around **model proxy + playground + benchmark**.
|
|
103
|
+
- Removed embedded CLI coding-agent runtime surface (`agent`, `run`, `doctor`, and implicit prompt execution).
|
|
104
|
+
- Added `waypoi bench` / `waypoi benchmark` command for lightweight benchmarking.
|
|
105
|
+
- Added built-in smoke suite and file-driven scenario support (`.json`, `.jsonl`, `.yaml`).
|
|
106
|
+
- Added benchmark artifacts under `$WAYPOI_DIR/benchmarks` (or `~/.config/waypoi/benchmarks`).
|
|
107
|
+
- Updated docs to position Waypoi as a local gateway for external clients (including Opencode).
|
|
108
|
+
|
|
109
|
+
### Added
|
|
110
|
+
|
|
111
|
+
- `docs/opencode.md` for proxy-only Opencode integration.
|
|
112
|
+
- `docs/benchmark.md` for benchmark scenarios, assertions, and artifact output.
|
|
113
|
+
|
|
114
|
+
### Fixed
|
|
115
|
+
|
|
116
|
+
- Image cache now accepts both raw base64 and `data:image/...;base64,...` payloads.
|
|
117
|
+
- New sessions now default to cache-backed image references (`storageVersion: 2`) to avoid session JSON bloat.
|
|
118
|
+
- MCP startup/discovery errors are now concise by default, with optional verbose logs via `WAYPOI_DEBUG_ERRORS=1`.
|
|
119
|
+
|
|
120
|
+
## [0.3.0] - 2026-01-29
|
|
121
|
+
|
|
122
|
+
### Added
|
|
123
|
+
|
|
124
|
+
- Responses API compatibility and streaming support.
|
|
125
|
+
- MCP tool-call compatibility improvements.
|
|
126
|
+
- Waypoi branding and runtime integration updates.
|
|
127
|
+
|
|
128
|
+
### Fixed
|
|
129
|
+
|
|
130
|
+
- Model-list compatibility improvements (`slug` and compatibility fields).
|
|
131
|
+
- Localhost login bypass behavior for proxied local deployments.
|