@omercnet/paseo-omp 1.3.1 → 1.3.2-next.231.1
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/OVERVIEW.md +1 -1
- package/README.md +5 -5
- package/index.server.ts +4 -4
- package/npm-shrinkwrap.json +1253 -0
- package/package.json +10 -9
- package/scripts/prepare-dependencies.mjs +1 -1
- package/server/package-version.ts +1 -1
- package/server/provider/config-normalization.ts +3 -2
- package/server/provider/connection.ts +48 -26
- package/server/provider/host-tools.ts +17 -0
- package/server/provider/session-history.ts +330 -0
- package/server/provider/session-purpose.ts +56 -0
- package/server/provider/session.ts +22 -5
- package/server/provider/subsessions.ts +9 -6
package/OVERVIEW.md
CHANGED
|
@@ -4,7 +4,7 @@ OMP adds an agent provider for the OMP coding agent, plus an OMP sidebar and wor
|
|
|
4
4
|
|
|
5
5
|
- Paseo 0.9.2 through 0.9.x, 0.10.x or 0.11.x.
|
|
6
6
|
- OMP 18.1.15 or newer on the daemon host, speaking RPC protocol v2. Older runtimes are rejected.
|
|
7
|
-
- Provider options let you change the OMP command, set environment values, choose an output redaction mode and set a session directory and timeout. Named OMP profiles appear as separate
|
|
7
|
+
- Provider options let you change the OMP command, set environment values, choose an output redaction mode and set a session directory and timeout. Named OMP profiles appear as separate `OMP · <profile>` providers.
|
|
8
8
|
|
|
9
9
|
## What the sidebar and panel do
|
|
10
10
|
|
package/README.md
CHANGED
|
@@ -54,8 +54,8 @@ Profile selection is request-local: concurrent clients cannot change each other'
|
|
|
54
54
|
|
|
55
55
|
## Paseo provider SDK coverage
|
|
56
56
|
|
|
57
|
-
The capability inventory is pinned to `@getpaseo/plugin` 0.11.
|
|
58
|
-
|
|
57
|
+
The capability inventory is pinned to `@getpaseo/plugin` 0.11.1, with nightly compatibility checks
|
|
58
|
+
against supported 0.9 and 0.10 hosts and the latest/beta channels. Provider capability scoring covers
|
|
59
59
|
all 17 entries in the SDK's `PROVIDER_CAPABILITIES`; the separate provider/client SDK table below
|
|
60
60
|
also tracks the 0.11 registration, screen, and sidebar APIs. This measures strict SDK surface
|
|
61
61
|
coverage, not general product quality.
|
|
@@ -79,7 +79,7 @@ Scoring is deliberately mechanical so releases remain comparable:
|
|
|
79
79
|
| `session.archive` | **0%** | Not advertised. Paseo may archive its agent record, but OMP has no native transcript archive operation. |
|
|
80
80
|
| `session.configure` | **50%** | Live model and thinking changes commit and republish native state. Live approval-mode changes require a new session, and non-empty SDK `settings` are rejected. |
|
|
81
81
|
| `session.list` | **100%** | Bounded host-wide and cwd-scoped discovery, search, previews, profile-specific session roots, and cleanup-reservation guards. |
|
|
82
|
-
| `session.persistence` | **100%** | Versioned opaque handles, exact resume, import, replay-before-ready, runtime recovery, and cleanup quarantine. |
|
|
82
|
+
| `session.persistence` | **100%** | Versioned opaque handles, exact resume, import, replay-before-ready, runtime recovery, and cleanup quarantine. Archived agents whose recorded workspace has been removed load read-only from their authorized transcript when Paseo opens them with its `history` purpose, without spawning OMP or connecting MCP servers; interactive create and resume still require the workspace. |
|
|
83
83
|
| `session.revert.both` | **0%** | Not advertised because OMP cannot atomically rewind conversation and workspace files. |
|
|
84
84
|
| `session.revert.conversation` | **100%** | Native branch-based conversation rewind, replay deduplication, ownership transfer, and failure quarantine. |
|
|
85
85
|
| `session.revert.files` | **0%** | Not advertised because OMP does not expose a native file-only rewind contract. |
|
|
@@ -95,7 +95,7 @@ Provider functionality outside the capability flags is tracked separately:
|
|
|
95
95
|
| --- | ---: | --- |
|
|
96
96
|
| Registration metadata and sanitized SVG icon | **100%** | Stable `omp-plugin` identity, label, description, and bundled icon. |
|
|
97
97
|
| Strict `providerOptionsSchema` | **100%** | Command, literal environment, names-only profile inherited environment, output-redaction mode, session directory, RPC timeout, and role-model options are validated and normalized. Host-wide inherited names are separately persisted and merged at launch. |
|
|
98
|
-
| Availability diagnostics | **50%** | The plugin implements a `checkAvailability` hook with bounded checks that distinguish missing, unrunnable, incompatible, and available OMP runtimes, but
|
|
98
|
+
| Availability diagnostics | **50%** | The plugin implements a `checkAvailability` hook with bounded checks that distinguish missing, unrunnable, incompatible, and available OMP runtimes, but Paseo 0.10.2 and 0.11.1 do not call it. Hosts treat the provider as available when a connection opens, and launch failures surface at session start. |
|
|
99
99
|
| Catalog cache identity | **100%** | Hash includes effective options, merged host/profile inherited-environment names, settings, scope, cwd, and default command, but never resolves or fingerprints inherited values. |
|
|
100
100
|
| Models, modes, and thinking catalog | **100%** | Native catalog is mapped to opaque public model IDs with committed defaults and permission-gated modes. |
|
|
101
101
|
| Connection `send` / `onEvent` / `close` lifecycle | **100%** | Request correlation, multi-session ownership, process recovery, teardown, and provider reload/removal are covered. |
|
|
@@ -124,7 +124,7 @@ Existing agents whose provider is `omp` remain owned by the bundled provider. Ne
|
|
|
124
124
|
|
|
125
125
|
OMP `18.1.15` is the oldest version tested end to end. The direct provider's hard compatibility gate is `rpc-ui` protocol v2: metadata-free legacy ready frames and v1-only runtimes are rejected before a provider session opens because they cannot support the advertised persistence and conversation-rewind capabilities. Typed tool approvals remain capability-gated and fall back as described above. For terminal completion, a matching `agent_end.requestId` is authoritative and mismatches are ignored before state changes. Released OMP 18.2.x builds that omit that field use an ordered fallback requiring a fresh correlated native user entry followed by current-turn assistant activity, an idle non-compacting runtime, and no conflicting permission, tool, steer, or child-session work. Ambiguous events while OMP is active are ignored; unresolved ambiguity after confirmed idle fails only the Paseo turn. This trades a bounded residual same-agent stale-event risk for compatibility with released OMP instead of terminating and lazily restarting the runtime after every later prompt. Paseo clients, including mobile clients inside reconnect grace, do not own or terminate the daemon-managed OMP session.
|
|
126
126
|
|
|
127
|
-
Paseo 0.9.2 is the minimum supported stable release, and 0.10.1 is supported. The controlled Docker canary
|
|
127
|
+
Paseo 0.9.2 is the minimum supported stable release, and 0.10.1 is supported. The controlled Docker canary is pinned to official 0.11.1; nightly SDK checks cover the newest 0.9 and 0.10 patches plus the latest and beta channels. Older Paseo lines are covered by that typecheck/unit matrix, not the current Docker canary. The canary preserves nested provider-subagent ancestry and spawning-tool links, and validates npm-managed plugin sources, platform-owned external URL opening, and whole-item timeline transforms before Overview grouping.
|
|
128
128
|
|
|
129
129
|
Install, update, disable, or remove `paseo-omp` independently of the bundled provider. Verify the provider snapshot contains `omp-plugin` after installation; a bundled `omp` entry may remain present and is not modified by this plugin.
|
|
130
130
|
|
package/index.server.ts
CHANGED
|
@@ -17,7 +17,7 @@ import { resolveListOmpSettings, resolveUpdateOmpSettings } from "./server/omp-s
|
|
|
17
17
|
import { OmpOperationalFailureCollector } from "./server/operational-failure-diagnostics";
|
|
18
18
|
import { withOmpStore } from "./server/paths";
|
|
19
19
|
import { OmpProtocolViolationCollector } from "./server/protocol-violation-diagnostics";
|
|
20
|
-
import {
|
|
20
|
+
import { withOmpSessionOpenEnv } from "./server/provider/host-tools";
|
|
21
21
|
import {
|
|
22
22
|
createProfileOmpProvider,
|
|
23
23
|
discoverOmpProfiles,
|
|
@@ -97,9 +97,9 @@ export default function contribute(server: PluginServerContext) {
|
|
|
97
97
|
server.handle(openOmpMcpAuthorizationInPaseoBrowser, (input) =>
|
|
98
98
|
resolveOpenOmpMcpAuthorizationInPaseoBrowser(input, browserAuthorizationRegistry),
|
|
99
99
|
);
|
|
100
|
-
const
|
|
100
|
+
const removeSessionOpenHook = server.before("agent.session_open", ({ request }) => {
|
|
101
101
|
if (request.provider !== "omp-plugin" && !request.provider.startsWith("omp-plugin-")) return;
|
|
102
|
-
return
|
|
102
|
+
return withOmpSessionOpenEnv(request);
|
|
103
103
|
});
|
|
104
104
|
server.registerProvider(
|
|
105
105
|
createOmpProvider({
|
|
@@ -111,6 +111,6 @@ export default function contribute(server: PluginServerContext) {
|
|
|
111
111
|
);
|
|
112
112
|
return () => {
|
|
113
113
|
browserAuthorizationRegistry.clear();
|
|
114
|
-
|
|
114
|
+
removeSessionOpenHook();
|
|
115
115
|
};
|
|
116
116
|
}
|