@crewx/sdk 0.9.0-rc.181 → 0.9.0-rc.183

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.
@@ -1,5 +1,5 @@
1
- export type { ActionReceipt, ActionReceiptResultSummary, ActionExecutionReceipt, ActionReceiptOutcome, CreateUiInstanceInput, JsonObject, JsonPrimitive, JsonValue, UiActionHandlerContext, UiActionHandlerRegistration, UiActionHandlerResult, UiActionEnvelope, UiActionConfirmation, UiSkillBackendEnvironmentKey, UiActor, UiDefinition, UiDefinitionAction, UiDefinitionDisplayMode, UiDefinitionInput, UiDefinitionLegacyMetadata, UiDefinitionRef, UiDefinitionUsage, UiProjectionPolicy, UiExecutionContext, UiAuthenticatedActor, UiTaskActorSnapshot, UiAuthenticatedExecutionContext, UiApprovalRequestContext, UiTaskExecutionContext, UiApprovalDecisionProvenance, UiApprovalPendingReceipt, UiApprovalRequestReceiptResult, UiAuthenticatedGrantPolicy, UiServerRuntimeFacade, UiServerRuntimeOptions, UiAgentContextProjection, UiExternalActionHandlerRegistration, UiAgentOpenReason, UiAgentOpenRequest, UiInstance, UiInstanceStatus, UiLocalGrantPolicy, UiRuntimeFacade, UiRuntimeOptions, UiStateActionHandlerRegistration, } from './types.js';
2
- export { isUiAuthenticatedActor, resolveUiEffectiveCapabilities } from './types.js';
1
+ export type { ActionReceipt, ActionReceiptResultSummary, ActionExecutionReceipt, ActionReceiptOutcome, CreateUiInstanceInput, JsonObject, JsonPrimitive, JsonValue, UiActionHandlerContext, UiActionHandlerRegistration, UiActionHandlerResult, UiActionImageDescriptor, UiActionEnvelope, UiActionConfirmation, UiSkillBackendEnvironmentKey, UiActor, UiDefinition, UiDefinitionAction, UiDefinitionDisplayMode, UiDefinitionInput, UiDefinitionLegacyMetadata, UiDefinitionRef, UiDefinitionUsage, UiProjectionPolicy, UiExecutionContext, UiAuthenticatedActor, UiTaskActorSnapshot, UiAuthenticatedExecutionContext, UiApprovalRequestContext, UiTaskExecutionContext, UiApprovalDecisionProvenance, UiApprovalPendingReceipt, UiApprovalRequestReceiptResult, UiAuthenticatedGrantPolicy, UiServerRuntimeFacade, UiServerRuntimeOptions, UiAgentContextProjection, UiExternalActionHandlerRegistration, UiAgentOpenReason, UiAgentOpenRequest, UiInstance, UiInstanceStatus, UiLocalGrantPolicy, UiRuntimeFacade, UiRuntimeOptions, UiStateActionHandlerRegistration, UiViewCallActionResult, UiViewCallHandler, UiViewCallHandlerContext, UiViewCallHandlerRegistration, UiViewCallHandlerResponse, } from './types.js';
2
+ export { DEFAULT_UI_DEFINITION_USAGE, UI_VIEW_CALL_HANDLER_NAME, UI_VIEW_CALL_IMAGE_RESULT_KEY, isUiAuthenticatedActor, resolveUiEffectiveCapabilities, } from './types.js';
3
3
  export { UiRuntimeError } from './errors.js';
4
4
  export type { UiRuntimeErrorCode } from './errors.js';
5
5
  export { projectSafeJsonObject, redactJsonPaths } from './json.js';
@@ -197,7 +197,7 @@ export declare class UiInstanceStore {
197
197
  settleApprovalPendingReceipt(receiptId: string, outcome: 'rejected' | 'expired' | 'conflicted', provenance: UiApprovalDecisionProvenance, now: number): ActionReceipt | null;
198
198
  getLatestReceiptForInstance(instanceId: string): ActionReceipt | null;
199
199
  runStateOnly(reservation: ReservationInput, handler: StateHandlerExecution['handle']): ActionReceipt;
200
- reserveExternal(reservation: ReservationInput): ExternalReservation;
200
+ reserveExternal(reservation: ReservationInput, readOnly?: boolean): ExternalReservation;
201
201
  reserveApprovalPendingReceipt(reservation: ReservationInput, receiptId: string, provenance: UiApprovalDecisionProvenance): ApprovalPendingReservationResult;
202
202
  settleExternal(input: {
203
203
  reservation: ReservationInput;
@@ -207,6 +207,7 @@ export declare class UiInstanceStore {
207
207
  state: JsonObject;
208
208
  resultSummary: JsonObject | null;
209
209
  errorCode: string | null;
210
+ readOnly?: boolean;
210
211
  apply?: () => ReturnType<StateHandlerExecution['handle']>;
211
212
  restoreRevisionOnFailure?: boolean;
212
213
  now: number;
@@ -6,6 +6,19 @@ export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
6
6
  export interface JsonObject {
7
7
  [key: string]: JsonValue;
8
8
  }
9
+ export declare const UI_VIEW_CALL_HANDLER_NAME: "view.call";
10
+ export declare const UI_VIEW_CALL_IMAGE_RESULT_KEY: "crewxImage";
11
+ export type UiActionImageDescriptor = JsonObject & {
12
+ readonly ref: string;
13
+ readonly mediaType: 'image/png';
14
+ readonly width: number;
15
+ readonly height: number;
16
+ readonly bytes: number;
17
+ readonly sha256: string;
18
+ };
19
+ export type UiViewCallActionResult = JsonObject & {
20
+ readonly [UI_VIEW_CALL_IMAGE_RESULT_KEY]: UiActionImageDescriptor;
21
+ };
9
22
  export type UiInstanceStatus = 'active' | 'completed' | 'expired' | 'revoked' | 'unsupported';
10
23
  export interface UiDefinitionRef {
11
24
  id: string;
@@ -20,6 +33,7 @@ export type UiSkillBackendEnvironmentKey = 'CREWX_APP_INSTANCE_ID' | 'CREWX_THRE
20
33
  export interface UiDefinitionAction {
21
34
  readonly capabilities: readonly string[];
22
35
  readonly inputKeys?: readonly string[];
36
+ readonly mutation?: boolean;
23
37
  readonly dataInputs?: readonly string[];
24
38
  readonly confirmation?: UiActionConfirmation;
25
39
  readonly resultProjection?: UiProjectionPolicy;
@@ -206,6 +220,7 @@ export interface ActionReceipt {
206
220
  requestId: string;
207
221
  actionId: string;
208
222
  actor: UiActor;
223
+ readonly viewCall?: true;
209
224
  source: 'cli' | 'ui_host' | 'system' | 'mcp';
210
225
  expectedRevision: number;
211
226
  beforeRevision: number;
@@ -249,6 +264,27 @@ export interface UiActionHandlerContext {
249
264
  };
250
265
  schedule?: AppScheduleSnapshot;
251
266
  }
267
+ export interface UiViewCallHandlerContext extends UiActionHandlerContext {
268
+ readonly actionId: string;
269
+ }
270
+ export type UiViewCallHandlerResponse = {
271
+ readonly result: JsonObject;
272
+ readonly image: UiActionImageDescriptor;
273
+ readonly outcome?: never;
274
+ readonly errorCode?: never;
275
+ readonly state?: never;
276
+ readonly content?: never;
277
+ readonly schedule?: never;
278
+ } | {
279
+ readonly outcome: 'rejected' | 'failed';
280
+ readonly errorCode: string;
281
+ readonly result?: never;
282
+ readonly image?: never;
283
+ readonly state?: never;
284
+ readonly content?: never;
285
+ readonly schedule?: never;
286
+ };
287
+ export type UiViewCallHandler = (context: UiViewCallHandlerContext) => Promise<UiViewCallHandlerResponse>;
252
288
  export type UiActionHandlerResult = {
253
289
  state?: JsonObject;
254
290
  result?: JsonObject;
@@ -274,7 +310,11 @@ export interface UiExternalActionHandlerRegistration {
274
310
  actionId: string;
275
311
  kind: 'external';
276
312
  handle: (context: UiActionHandlerContext) => Promise<UiActionHandlerResult>;
313
+ readonly viewCallHandler?: UiViewCallHandler;
277
314
  }
315
+ export type UiViewCallHandlerRegistration = UiExternalActionHandlerRegistration & {
316
+ readonly viewCallHandler: UiViewCallHandler;
317
+ };
278
318
  export type UiActionHandlerRegistration = UiStateActionHandlerRegistration | UiExternalActionHandlerRegistration;
279
319
  export interface UiRuntimeOptions {
280
320
  dbPath?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/sdk",
3
- "version": "0.9.0-rc.181",
3
+ "version": "0.9.0-rc.183",
4
4
  "license": "UNLICENSED",
5
5
  "engines": {
6
6
  "node": ">=20.19.0"