@omercnet/paseo-omp 2.0.2-next.260.1 → 2.0.2-next.270.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omercnet/paseo-omp",
3
- "version": "2.0.2-next.260.1",
3
+ "version": "2.0.2-next.270.1",
4
4
  "type": "module",
5
5
  "description": "Paseo integration for OMP, including its direct provider and workspace tooling.",
6
6
  "license": "MIT",
@@ -1,2 +1,2 @@
1
1
  /** Release Please keeps this bundle-safe constant aligned with package.json. */
2
- export const PASEO_OMP_PACKAGE_VERSION = "2.0.2-next.260.1"; // x-release-please-version
2
+ export const PASEO_OMP_PACKAGE_VERSION = "2.0.2-next.270.1"; // x-release-please-version
@@ -166,7 +166,10 @@ function preflightProviderInput(input: unknown): void {
166
166
  ) {
167
167
  throw new OmpPublicError("Prompt output schema is too large");
168
168
  }
169
- if (prompt?.outputSchema !== undefined || prompt?.clearPendingPermissions === true) {
169
+ if (
170
+ prompt?.outputSchema !== undefined ||
171
+ (prompt?.clearPendingPermissions === true && prompt.delivery !== "steer")
172
+ ) {
170
173
  throw new OmpPublicError("OMP does not support structured output or permission controls");
171
174
  }
172
175
  }
@@ -183,7 +183,10 @@ function padLineNumber(lineNumber: number | null): string {
183
183
  }
184
184
 
185
185
  export function promptPayload(input: SessionPromptInput): OmpPromptPayload {
186
- if (input.prompt.outputSchema !== undefined || input.prompt.clearPendingPermissions) {
186
+ if (
187
+ input.prompt.outputSchema !== undefined ||
188
+ (input.prompt.clearPendingPermissions && input.prompt.delivery !== "steer")
189
+ ) {
187
190
  throw new OmpPublicError("OMP does not support structured output or permission controls");
188
191
  }
189
192
  if (input.prompt.input.type === "command") {
@@ -1073,7 +1073,12 @@ export class OmpProviderSession implements OmpOpenedSession {
1073
1073
  }
1074
1074
 
1075
1075
  if (input.prompt.delivery === "steer") {
1076
- await this.steer(input.prompt.clientMessageId, payload);
1076
+ await this.steer(
1077
+ input.prompt.clientMessageId,
1078
+ payload,
1079
+ undefined,
1080
+ input.prompt.clearPendingPermissions === true,
1081
+ );
1077
1082
  return;
1078
1083
  }
1079
1084
  if (
@@ -2130,6 +2135,7 @@ export class OmpProviderSession implements OmpOpenedSession {
2130
2135
  clientMessageId: string,
2131
2136
  payload: OmpPromptPayload,
2132
2137
  expectedTurn = this.activeTurn,
2138
+ clearPendingPermissions = false,
2133
2139
  ): Promise<void> {
2134
2140
  const turn = expectedTurn;
2135
2141
  if (!this.isSteerableTurn(turn)) {
@@ -2204,6 +2210,10 @@ export class OmpProviderSession implements OmpOpenedSession {
2204
2210
  this.cancelAmbiguousTerminal(turn);
2205
2211
  turn.deferredAgentEnd = undefined;
2206
2212
  this.acceptPendingUser(turn, pending);
2213
+ if (clearPendingPermissions) {
2214
+ turn.awaitingPermissionEvidence = false;
2215
+ this.permissions.resolveTurnPermissions(turn.turnId);
2216
+ }
2207
2217
  this.emit({
2208
2218
  type: "session.prompt_result",
2209
2219
  sessionId: this.id,