diff --git a/.changeset/compaction-max-attempts.md b/.changeset/compaction-max-attempts.md deleted file mode 100644 index a8f7410cf..000000000 --- a/.changeset/compaction-max-attempts.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Make the compaction attempt limit configurable with loop_control.compaction_max_attempts (default 5). diff --git a/.changeset/cwd-not-project-root.md b/.changeset/cwd-not-project-root.md deleted file mode 100644 index 5cfee695d..000000000 --- a/.changeset/cwd-not-project-root.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Stop telling the model that the current working directory is always the project root. diff --git a/.changeset/delete-session-from-picker.md b/.changeset/delete-session-from-picker.md deleted file mode 100644 index e98278ecd..000000000 --- a/.changeset/delete-session-from-picker.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": minor ---- - -Delete sessions from the session picker: press Ctrl+X on a session, then y to confirm. diff --git a/.changeset/drop-flat-entity-protocol.md b/.changeset/drop-flat-entity-protocol.md deleted file mode 100644 index d1a48eb03..000000000 --- a/.changeset/drop-flat-entity-protocol.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": minor ---- - -Drop the experimental flat entity message protocol and history API; session inspect returns to the transcript surface. diff --git a/.changeset/dynamic-tools-official-models.md b/.changeset/dynamic-tools-official-models.md deleted file mode 100644 index e73a206f1..000000000 --- a/.changeset/dynamic-tools-official-models.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Honor dynamically_loaded_tools from official model catalogs when building tool lists. diff --git a/.changeset/fix-infinite-retry-stream-invalidation.md b/.changeset/fix-infinite-retry-stream-invalidation.md deleted file mode 100644 index 36919e6fe..000000000 --- a/.changeset/fix-infinite-retry-stream-invalidation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/agent-core-v2': patch ---- - -Discard streamed attempt state when the LLM requester retries below the turn so interrupted tool-call ids cannot leak into the next attempt. diff --git a/.changeset/llm-recovery-self-describing.md b/.changeset/llm-recovery-self-describing.md deleted file mode 100644 index cde4e21cb..000000000 --- a/.changeset/llm-recovery-self-describing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/agent-core-v2': patch ---- - -Compose LLM recovery strategies outside the turn machine with self-describing proposals and opaque prepare effects. diff --git a/.changeset/mcp-attachment-originals.md b/.changeset/mcp-attachment-originals.md deleted file mode 100644 index 9aa828279..000000000 --- a/.changeset/mcp-attachment-originals.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/pythinker-code': patch ---- - -Preserve original MCP attachments that are omitted from model output, and let Read open those session attachment references. diff --git a/.changeset/mcp-server-deferred-config.md b/.changeset/mcp-server-deferred-config.md deleted file mode 100644 index 79cca3025..000000000 --- a/.changeset/mcp-server-deferred-config.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": minor ---- - -Add per-server deferred MCP tool disclosure so large tool lists stay hidden until selected. diff --git a/.changeset/pause-goal-clock-on-close.md b/.changeset/pause-goal-clock-on-close.md deleted file mode 100644 index ec6bb6bfe..000000000 --- a/.changeset/pause-goal-clock-on-close.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Exclude time spent with the session closed from goal time budgets. diff --git a/.changeset/permission-mode-reminder-env.md b/.changeset/permission-mode-reminder-env.md deleted file mode 100644 index 942518327..000000000 --- a/.changeset/permission-mode-reminder-env.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/agent-core-v2': patch ---- - -Add `PYTHINKER_CODE_PERMISSION_MODE_REMINDER`: set it to `0` to stop injecting auto permission-mode reminders into the model context. diff --git a/.changeset/pi-tui-upstream-rebaseline.md b/.changeset/pi-tui-upstream-rebaseline.md deleted file mode 100644 index 2041f42dc..000000000 --- a/.changeset/pi-tui-upstream-rebaseline.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -"@pymodel/pi-tui": minor -"@pymodel/pythinker-code": patch ---- - -Rebaseline the terminal UI library native platform modules and mouse/search behavior. diff --git a/.changeset/rc-local-ui-token.md b/.changeset/rc-local-ui-token.md deleted file mode 100644 index 275cf3817..000000000 --- a/.changeset/rc-local-ui-token.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Include the server token in the Remote Control Local UI link so it opens already signed in. diff --git a/.changeset/rc-tunnel-base64-linear-check.md b/.changeset/rc-tunnel-base64-linear-check.md deleted file mode 100644 index dd0f4af0c..000000000 --- a/.changeset/rc-tunnel-base64-linear-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/remote-control': patch ---- - -Validate Remote Control tunnel request base64 with a linear scan so large payloads no longer crash the tunnel as a generic connection failure. diff --git a/.changeset/rc-tunnel-cache.md b/.changeset/rc-tunnel-cache.md deleted file mode 100644 index c4002e630..000000000 --- a/.changeset/rc-tunnel-cache.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/remote-control': patch ---- - -Reuse unchanged Remote Control assets across page loads with ETag validation instead of retransferring them. diff --git a/.changeset/remove-goal-time-cap.md b/.changeset/remove-goal-time-cap.md deleted file mode 100644 index cc99459fb..000000000 --- a/.changeset/remove-goal-time-cap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Remove the 24-hour limit on goal time budgets. diff --git a/.changeset/rm-rf-temp-paths.md b/.changeset/rm-rf-temp-paths.md deleted file mode 100644 index 255bb4af3..000000000 --- a/.changeset/rm-rf-temp-paths.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Skip the confirmation prompt for rm -rf commands that target only /tmp or /temp paths. diff --git a/.changeset/session-delete-serialized-cleanup.md b/.changeset/session-delete-serialized-cleanup.md deleted file mode 100644 index 632e0c372..000000000 --- a/.changeset/session-delete-serialized-cleanup.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/pythinker-code': minor ---- - -Delete sessions with serialized cleanup so journal and live listeners finish before the session is removed, and broadcast a workspace-scoped deletion event. diff --git a/.changeset/session-index-dirty-journal.md b/.changeset/session-index-dirty-journal.md deleted file mode 100644 index 0fe47dc1d..000000000 --- a/.changeset/session-index-dirty-journal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/pythinker-code': patch ---- - -Track session-index freshness with a dirty journal so restarts reconcile only changed sessions instead of rescanning every mtime. diff --git a/.changeset/session-interaction-agent-filter.md b/.changeset/session-interaction-agent-filter.md deleted file mode 100644 index e603ce09b..000000000 --- a/.changeset/session-interaction-agent-filter.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Deliver session approval and question events past agent filters, and stamp the requesting agent on the wire shape. diff --git a/.changeset/session-title-surface.md b/.changeset/session-title-surface.md deleted file mode 100644 index be3eeed6c..000000000 --- a/.changeset/session-title-surface.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Session title generation no longer requires the experimental auto_session_title flag. diff --git a/.changeset/steer-background-waits.md b/.changeset/steer-background-waits.md deleted file mode 100644 index 366d4a43b..000000000 --- a/.changeset/steer-background-waits.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Allow steering messages to interrupt waits for background tasks. diff --git a/.changeset/steer-seeded-turn-duplicate.md b/.changeset/steer-seeded-turn-duplicate.md deleted file mode 100644 index d5050a435..000000000 --- a/.changeset/steer-seeded-turn-duplicate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Do not record a steer event when an unconsumed steer seeds the next turn after cancel. diff --git a/.changeset/suppress-task-notifications-on-remove.md b/.changeset/suppress-task-notifications-on-remove.md deleted file mode 100644 index 1aba0e29a..000000000 --- a/.changeset/suppress-task-notifications-on-remove.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/pythinker-code': patch ---- - -Suppress background-task terminal notifications as soon as an agent starts closing, so teardown no longer wakes the model with late task settlements. diff --git a/.changeset/telemetry-layered-registry.md b/.changeset/telemetry-layered-registry.md deleted file mode 100644 index d192ff986..000000000 --- a/.changeset/telemetry-layered-registry.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@pymodel/pythinker-code': minor -'@pymodel/pythinker-code-sdk': patch ---- - -Rebuild telemetry as a scope-bound layered context registry so session, agent, and turn fields flow into every event without a separate agent telemetry context service. diff --git a/.changeset/tower-mode-fixes.md b/.changeset/tower-mode-fixes.md deleted file mode 100644 index 2a91ca67e..000000000 --- a/.changeset/tower-mode-fixes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@pymodel/pythinker-code': patch ---- - -Tower mode (experimental, `PYTHINKER_CODE_EXPERIMENTAL_TOWER=1`): fix tower mode never starting when enabled through `[experimental] tower = true` in `config.toml` instead of the environment variable. When tower mode cannot be enabled, the error now names the actual blocker — the disabled experiment, a required restart, or the owning session. When another live session owns the workspace tower, the message also names the owning session's title alongside its id. /tower now also works in a directory that is not a git repository — it runs git init and commits what is there (an empty initial commit for empty directories). diff --git a/.changeset/tower-resume-wake-teardown.md b/.changeset/tower-resume-wake-teardown.md deleted file mode 100644 index 7d13396f5..000000000 --- a/.changeset/tower-resume-wake-teardown.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Tower mode reliability fixes across messaging, worktrees, and the review-to-merge gate. diff --git a/.changeset/tunnel-response-gzip.md b/.changeset/tunnel-response-gzip.md deleted file mode 100644 index dbdb259a4..000000000 --- a/.changeset/tunnel-response-gzip.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Compress Remote Control tunnel responses with gzip. diff --git a/.changeset/turn-id-cold-fold.md b/.changeset/turn-id-cold-fold.md deleted file mode 100644 index fac9d63d6..000000000 --- a/.changeset/turn-id-cold-fold.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Keep live turn ids above the wire-wide maximum and fold cold transcript rebuilds over the active branch chain. diff --git a/.changeset/update-yes-flag.md b/.changeset/update-yes-flag.md deleted file mode 100644 index 274058ac9..000000000 --- a/.changeset/update-yes-flag.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Add `-y, --yes` to `pythinker upgrade` (alias `pythinker update`) to skip the confirmation prompt and install the update directly. diff --git a/.changeset/vscode-engine-file-suggest.md b/.changeset/vscode-engine-file-suggest.md deleted file mode 100644 index 85193c07c..000000000 --- a/.changeset/vscode-engine-file-suggest.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@pymodel/pythinker-code-sdk': minor -'@pymodel/pythinker-code': minor ---- - -Serve workspace @ file suggestions through the engine fs suggest API so the editor extension matches gateway search scoring. diff --git a/.changeset/warn-malformed-models-entry.md b/.changeset/warn-malformed-models-entry.md deleted file mode 100644 index 40cd3bb19..000000000 --- a/.changeset/warn-malformed-models-entry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": patch ---- - -Warn at startup when a [models] entry in config.toml is missing the model field and cannot be used. diff --git a/.changeset/watch-default-off.md b/.changeset/watch-default-off.md deleted file mode 100644 index 83ac950db..000000000 --- a/.changeset/watch-default-off.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@pymodel/pythinker-code": minor ---- - -Turn filesystem watch off by default. Set `[watch] enabled = true` or `PYTHINKER_CODE_WATCH=1` to attach watchers. diff --git a/.changeset/wire-human-mirror-session-actors.md b/.changeset/wire-human-mirror-session-actors.md deleted file mode 100644 index d60d05405..000000000 --- a/.changeset/wire-human-mirror-session-actors.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@pymodel/agent-core-v2': minor -'@pymodel/agent-gateway': patch -'@pymodel/pythinker-code-sdk': patch ---- - -Persist the human runtime mirror in the agent wire journal and spawn agent DI scopes from the session layer. diff --git a/apps/desktop/CHANGELOG.md b/apps/desktop/CHANGELOG.md index 58a188be7..cfb482814 100644 --- a/apps/desktop/CHANGELOG.md +++ b/apps/desktop/CHANGELOG.md @@ -1,5 +1,67 @@ # @pymodel/pythinker-desktop +## 1.2.0 + +### Minor Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Delete sessions from the session picker: press Ctrl+X on a session, then y to confirm. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Drop the experimental flat entity message protocol and history API; session inspect returns to the transcript surface. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Add per-server deferred MCP tool disclosure so large tool lists stay hidden until selected. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Delete sessions with serialized cleanup so journal and live listeners finish before the session is removed, and broadcast a workspace-scoped deletion event. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Rebuild telemetry as a scope-bound layered context registry so session, agent, and turn fields flow into every event without a separate agent telemetry context service. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Serve workspace @ file suggestions through the engine fs suggest API so the editor extension matches gateway search scoring. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Turn filesystem watch off by default. Set `[watch] enabled = true` or `PYTHINKER_CODE_WATCH=1` to attach watchers. + +### Patch Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Make the compaction attempt limit configurable with loop_control.compaction_max_attempts (default 5). + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Stop telling the model that the current working directory is always the project root. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Honor dynamically_loaded_tools from official model catalogs when building tool lists. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Preserve original MCP attachments that are omitted from model output, and let Read open those session attachment references. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Exclude time spent with the session closed from goal time budgets. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Rebaseline the terminal UI library native platform modules and mouse/search behavior. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Include the server token in the Remote Control Local UI link so it opens already signed in. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Remove the 24-hour limit on goal time budgets. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Skip the confirmation prompt for rm -rf commands that target only /tmp or /temp paths. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Track session-index freshness with a dirty journal so restarts reconcile only changed sessions instead of rescanning every mtime. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Deliver session approval and question events past agent filters, and stamp the requesting agent on the wire shape. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Session title generation no longer requires the experimental auto_session_title flag. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Allow steering messages to interrupt waits for background tasks. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Do not record a steer event when an unconsumed steer seeds the next turn after cancel. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Suppress background-task terminal notifications as soon as an agent starts closing, so teardown no longer wakes the model with late task settlements. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Tower mode (experimental, `PYTHINKER_CODE_EXPERIMENTAL_TOWER=1`): fix tower mode never starting when enabled through `[experimental] tower = true` in `config.toml` instead of the environment variable. When tower mode cannot be enabled, the error now names the actual blocker — the disabled experiment, a required restart, or the owning session. When another live session owns the workspace tower, the message also names the owning session's title alongside its id. /tower now also works in a directory that is not a git repository — it runs git init and commits what is there (an empty initial commit for empty directories). + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Tower mode reliability fixes across messaging, worktrees, and the review-to-merge gate. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Compress Remote Control tunnel responses with gzip. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Keep live turn ids above the wire-wide maximum and fold cold transcript rebuilds over the active branch chain. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Add `-y, --yes` to `pythinker upgrade` (alias `pythinker update`) to skip the confirmation prompt and install the update directly. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Warn at startup when a [models] entry in config.toml is missing the model field and cannot be used. + ## 1.1.0 ### Minor Changes diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 6a1e1f795..fde84d5b9 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@pymodel/pythinker-desktop", "description": "Pythinker desktop application with tray-owned Host lifecycle", - "version": "1.1.0", + "version": "1.2.0", "private": true, "type": "module", "main": "dist/main.js", diff --git a/apps/pythinker-code/CHANGELOG.md b/apps/pythinker-code/CHANGELOG.md index 057312a72..740b5c826 100644 --- a/apps/pythinker-code/CHANGELOG.md +++ b/apps/pythinker-code/CHANGELOG.md @@ -1,5 +1,67 @@ # @pymodel/pythinker-code +## 0.43.0 + +### Minor Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Delete sessions from the session picker: press Ctrl+X on a session, then y to confirm. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Drop the experimental flat entity message protocol and history API; session inspect returns to the transcript surface. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Add per-server deferred MCP tool disclosure so large tool lists stay hidden until selected. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Delete sessions with serialized cleanup so journal and live listeners finish before the session is removed, and broadcast a workspace-scoped deletion event. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Rebuild telemetry as a scope-bound layered context registry so session, agent, and turn fields flow into every event without a separate agent telemetry context service. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Serve workspace @ file suggestions through the engine fs suggest API so the editor extension matches gateway search scoring. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Turn filesystem watch off by default. Set `[watch] enabled = true` or `PYTHINKER_CODE_WATCH=1` to attach watchers. + +### Patch Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Make the compaction attempt limit configurable with loop_control.compaction_max_attempts (default 5). + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Stop telling the model that the current working directory is always the project root. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Honor dynamically_loaded_tools from official model catalogs when building tool lists. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Preserve original MCP attachments that are omitted from model output, and let Read open those session attachment references. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Exclude time spent with the session closed from goal time budgets. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Rebaseline the terminal UI library native platform modules and mouse/search behavior. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Include the server token in the Remote Control Local UI link so it opens already signed in. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Remove the 24-hour limit on goal time budgets. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Skip the confirmation prompt for rm -rf commands that target only /tmp or /temp paths. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Track session-index freshness with a dirty journal so restarts reconcile only changed sessions instead of rescanning every mtime. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Deliver session approval and question events past agent filters, and stamp the requesting agent on the wire shape. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Session title generation no longer requires the experimental auto_session_title flag. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Allow steering messages to interrupt waits for background tasks. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Do not record a steer event when an unconsumed steer seeds the next turn after cancel. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Suppress background-task terminal notifications as soon as an agent starts closing, so teardown no longer wakes the model with late task settlements. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Tower mode (experimental, `PYTHINKER_CODE_EXPERIMENTAL_TOWER=1`): fix tower mode never starting when enabled through `[experimental] tower = true` in `config.toml` instead of the environment variable. When tower mode cannot be enabled, the error now names the actual blocker — the disabled experiment, a required restart, or the owning session. When another live session owns the workspace tower, the message also names the owning session's title alongside its id. /tower now also works in a directory that is not a git repository — it runs git init and commits what is there (an empty initial commit for empty directories). + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Tower mode reliability fixes across messaging, worktrees, and the review-to-merge gate. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Compress Remote Control tunnel responses with gzip. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Keep live turn ids above the wire-wide maximum and fold cold transcript rebuilds over the active branch chain. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Add `-y, --yes` to `pythinker upgrade` (alias `pythinker update`) to skip the confirmation prompt and install the update directly. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Warn at startup when a [models] entry in config.toml is missing the model field and cannot be used. + ## 0.42.0 ### Minor Changes diff --git a/apps/pythinker-code/package.json b/apps/pythinker-code/package.json index 23597fc0e..d4eafa67d 100644 --- a/apps/pythinker-code/package.json +++ b/apps/pythinker-code/package.json @@ -1,6 +1,6 @@ { "name": "@pymodel/pythinker-code", - "version": "0.42.0", + "version": "0.43.0", "description": "The Starting Point for Next-Gen Agents", "license": "MIT", "author": "PyModel", diff --git a/apps/vscode/CHANGELOG.md b/apps/vscode/CHANGELOG.md index c0d41aadc..5ec8484ad 100644 --- a/apps/vscode/CHANGELOG.md +++ b/apps/vscode/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.7.6 + +### Patch Changes + +- Updated dependencies [[`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e)]: + - @pymodel/pythinker-code-sdk@0.21.0 + - @pymodel/migration-legacy@0.1.17 + ## 0.7.5 ### Patch Changes diff --git a/apps/vscode/package.json b/apps/vscode/package.json index 33075b3f2..b358b33df 100644 --- a/apps/vscode/package.json +++ b/apps/vscode/package.json @@ -3,7 +3,7 @@ "publisher": "moonshot-ai", "displayName": "Pythinker Code", "description": "Official Pythinker Code plugin for VS Code", - "version": "0.7.5", + "version": "0.7.6", "private": true, "license": "Apache-2.0", "type": "module", diff --git a/packages/acp-server/CHANGELOG.md b/packages/acp-server/CHANGELOG.md index ccc89aebd..0758d796c 100644 --- a/packages/acp-server/CHANGELOG.md +++ b/packages/acp-server/CHANGELOG.md @@ -1,5 +1,13 @@ # @pymodel/acp-server +## 0.0.2 + +### Patch Changes + +- Updated dependencies [[`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e)]: + - @pymodel/agent-core-v2@0.5.0 + - @pymodel/klient@0.1.3 + ## 0.0.1 ### Patch Changes diff --git a/packages/acp-server/package.json b/packages/acp-server/package.json index 82c0185b1..1e0aea172 100644 --- a/packages/acp-server/package.json +++ b/packages/acp-server/package.json @@ -1,6 +1,6 @@ { "name": "@pymodel/acp-server", - "version": "0.0.1", + "version": "0.0.2", "private": true, "description": "Agent Client Protocol (ACP) host backed directly by the DI × Scope agent engine (agent-core-v2)", "license": "MIT", diff --git a/packages/agent-core-v2/CHANGELOG.md b/packages/agent-core-v2/CHANGELOG.md index 60a1cebff..ab4a5feaf 100644 --- a/packages/agent-core-v2/CHANGELOG.md +++ b/packages/agent-core-v2/CHANGELOG.md @@ -1,5 +1,19 @@ # @pymodel/agent-core-v2 +## 0.5.0 + +### Minor Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Persist the human runtime mirror in the agent wire journal and spawn agent DI scopes from the session layer. + +### Patch Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Discard streamed attempt state when the LLM requester retries below the turn so interrupted tool-call ids cannot leak into the next attempt. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Compose LLM recovery strategies outside the turn machine with self-describing proposals and opaque prepare effects. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Add `PYTHINKER_CODE_PERMISSION_MODE_REMINDER`: set it to `0` to stop injecting auto permission-mode reminders into the model context. + ## 0.4.3 ### Patch Changes diff --git a/packages/agent-core-v2/package.json b/packages/agent-core-v2/package.json index 343ddaf1d..e10a074d3 100644 --- a/packages/agent-core-v2/package.json +++ b/packages/agent-core-v2/package.json @@ -1,8 +1,8 @@ { "name": "@pymodel/agent-core-v2", - "version": "0.4.3", + "version": "0.5.0", "private": true, - "description": "The unified agent engine for Pythinker (v2 \u2014 DI Scope architecture)", + "description": "The unified agent engine for Pythinker (v2 — DI Scope architecture)", "license": "MIT", "author": "PyModel", "homepage": "https://github.com/PyModel/pythinker-code/tree/main/packages/agent-core-v2#readme", diff --git a/packages/agent-gateway/CHANGELOG.md b/packages/agent-gateway/CHANGELOG.md index c99f5df65..8a9c6abd3 100644 --- a/packages/agent-gateway/CHANGELOG.md +++ b/packages/agent-gateway/CHANGELOG.md @@ -1,5 +1,15 @@ # @pymodel/agent-gateway +## 0.2.4 + +### Patch Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Persist the human runtime mirror in the agent wire journal and spawn agent DI scopes from the session layer. + +- Updated dependencies [[`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e)]: + - @pymodel/agent-core-v2@0.5.0 + - @pymodel/remote-control@0.0.1 + ## 0.2.3 ### Patch Changes diff --git a/packages/agent-gateway/package.json b/packages/agent-gateway/package.json index ae0e65ca1..d2937879e 100644 --- a/packages/agent-gateway/package.json +++ b/packages/agent-gateway/package.json @@ -1,8 +1,8 @@ { "name": "@pymodel/agent-gateway", - "version": "0.2.3", + "version": "0.2.4", "private": true, - "description": "Pythinker Code server backed by the DI \u00d7 Scope agent engine (agent-core-v2)", + "description": "Pythinker Code server backed by the DI × Scope agent engine (agent-core-v2)", "type": "module", "exports": { ".": { diff --git a/packages/klient/CHANGELOG.md b/packages/klient/CHANGELOG.md index ef27104d7..a9eb7b219 100644 --- a/packages/klient/CHANGELOG.md +++ b/packages/klient/CHANGELOG.md @@ -1,5 +1,12 @@ # @pymodel/klient +## 0.1.3 + +### Patch Changes + +- Updated dependencies [[`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e)]: + - @pymodel/agent-core-v2@0.5.0 + ## 0.1.2 ### Patch Changes diff --git a/packages/klient/package.json b/packages/klient/package.json index f6456c779..69291a6da 100644 --- a/packages/klient/package.json +++ b/packages/klient/package.json @@ -1,8 +1,8 @@ { "name": "@pymodel/klient", - "version": "0.1.2", + "version": "0.1.3", "private": true, - "description": "Pythinker client SDK \u2014 contract-driven facade over agent-core-v2, routable over ipc or in-memory transports.", + "description": "Pythinker client SDK — contract-driven facade over agent-core-v2, routable over ipc or in-memory transports.", "license": "MIT", "type": "module", "imports": { diff --git a/packages/migration-legacy/CHANGELOG.md b/packages/migration-legacy/CHANGELOG.md new file mode 100644 index 000000000..38f5db4cd --- /dev/null +++ b/packages/migration-legacy/CHANGELOG.md @@ -0,0 +1,8 @@ +# @pymodel/migration-legacy + +## 0.1.17 + +### Patch Changes + +- Updated dependencies [[`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e)]: + - @pymodel/agent-core-v2@0.5.0 diff --git a/packages/migration-legacy/package.json b/packages/migration-legacy/package.json index 21ee798fb..2f5ec61e5 100644 --- a/packages/migration-legacy/package.json +++ b/packages/migration-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@pymodel/migration-legacy", - "version": "0.1.16", + "version": "0.1.17", "description": "Migrate pythinker-cli (~/.pythinker/) data into pythinker-code (~/.pythinker-code/).", "license": "MIT", "type": "module", diff --git a/packages/node-sdk/CHANGELOG.md b/packages/node-sdk/CHANGELOG.md index 9e936f95d..4328d5ce1 100644 --- a/packages/node-sdk/CHANGELOG.md +++ b/packages/node-sdk/CHANGELOG.md @@ -1,5 +1,17 @@ # @pymodel/pythinker-code-sdk +## 0.21.0 + +### Minor Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Serve workspace @ file suggestions through the engine fs suggest API so the editor extension matches gateway search scoring. + +### Patch Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Rebuild telemetry as a scope-bound layered context registry so session, agent, and turn fields flow into every event without a separate agent telemetry context service. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Persist the human runtime mirror in the agent wire journal and spawn agent DI scopes from the session layer. + ## 0.20.0 ### Minor Changes diff --git a/packages/node-sdk/package.json b/packages/node-sdk/package.json index 2602d69d9..d318de107 100644 --- a/packages/node-sdk/package.json +++ b/packages/node-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@pymodel/pythinker-code-sdk", - "version": "0.20.0", + "version": "0.21.0", "private": true, "description": "TypeScript SDK for the Pythinker Code Agent", "license": "MIT", diff --git a/packages/pi-tui/CHANGELOG.md b/packages/pi-tui/CHANGELOG.md index c6dcb79e3..36998fbba 100644 --- a/packages/pi-tui/CHANGELOG.md +++ b/packages/pi-tui/CHANGELOG.md @@ -1,5 +1,11 @@ # @pymodel/pi-tui +## 0.85.0 + +### Minor Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Rebaseline the terminal UI library native platform modules and mouse/search behavior. + ## 0.84.4 ### Patch Changes diff --git a/packages/pi-tui/package.json b/packages/pi-tui/package.json index bcd26270c..27755f5a9 100644 --- a/packages/pi-tui/package.json +++ b/packages/pi-tui/package.json @@ -1,6 +1,6 @@ { "name": "@pymodel/pi-tui", - "version": "0.84.4", + "version": "0.85.0", "private": true, "description": "Terminal User Interface library with differential rendering for efficient text-based applications", "license": "MIT", diff --git a/packages/remote-control/CHANGELOG.md b/packages/remote-control/CHANGELOG.md new file mode 100644 index 000000000..17cc83058 --- /dev/null +++ b/packages/remote-control/CHANGELOG.md @@ -0,0 +1,12 @@ +# @pymodel/remote-control + +## 0.0.1 + +### Patch Changes + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Validate Remote Control tunnel request base64 with a linear scan so large payloads no longer crash the tunnel as a generic connection failure. + +- [#323](https://github.com/PyModel/pythinker-code/pull/323) [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e) Thanks [@elkaix](https://github.com/elkaix)! - Reuse unchanged Remote Control assets across page loads with ETag validation instead of retransferring them. + +- Updated dependencies [[`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e), [`96d1a0c`](https://github.com/PyModel/pythinker-code/commit/96d1a0c7a0eccc7461b03bff14cf1ba4264db14e)]: + - @pymodel/agent-core-v2@0.5.0 diff --git a/packages/remote-control/package.json b/packages/remote-control/package.json index 4b921dd0c..314905194 100644 --- a/packages/remote-control/package.json +++ b/packages/remote-control/package.json @@ -1,6 +1,6 @@ { "name": "@pymodel/remote-control", - "version": "0.0.0", + "version": "0.0.1", "private": true, "description": "Pythinker Remote Control tunnel client: registers this machine with the relay and forwards HTTP/WebSocket traffic to the local server.", "license": "MIT",