@compozy/extension-sdk 0.3.0-beta.17 → 0.3.0-beta.19

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.
Files changed (100) hide show
  1. package/dist/cjs/connectivity-provider.js +11 -24
  2. package/dist/cjs/connectivity-provider.js.map +1 -1
  3. package/dist/cjs/errors.js +6 -1
  4. package/dist/cjs/errors.js.map +1 -1
  5. package/dist/cjs/extension-context.js +2 -1
  6. package/dist/cjs/extension-context.js.map +1 -1
  7. package/dist/cjs/extension-describe.js +9 -0
  8. package/dist/cjs/extension-describe.js.map +1 -1
  9. package/dist/cjs/extension-initialize.js +5 -0
  10. package/dist/cjs/extension-initialize.js.map +1 -1
  11. package/dist/cjs/extension-session.js +3 -0
  12. package/dist/cjs/extension-session.js.map +1 -1
  13. package/dist/cjs/extension-tool-dispatch.js +35 -0
  14. package/dist/cjs/extension-tool-dispatch.js.map +1 -0
  15. package/dist/cjs/extension.js +40 -54
  16. package/dist/cjs/extension.js.map +1 -1
  17. package/dist/cjs/generated/contracts.js +2 -0
  18. package/dist/cjs/generated/contracts.js.map +1 -1
  19. package/dist/cjs/index.js +10 -1
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/protocol-params.js +23 -0
  22. package/dist/cjs/protocol-params.js.map +1 -0
  23. package/dist/cjs/testing/harness.js +4 -3
  24. package/dist/cjs/testing/harness.js.map +1 -1
  25. package/dist/cjs/testing/mock-transport.js +42 -2
  26. package/dist/cjs/testing/mock-transport.js.map +1 -1
  27. package/dist/cjs/transport.js +81 -8
  28. package/dist/cjs/transport.js.map +1 -1
  29. package/dist/cjs/types.js.map +1 -1
  30. package/dist/cjs/view-provider.js +137 -0
  31. package/dist/cjs/view-provider.js.map +1 -0
  32. package/dist/cjs/view-session-registry.js +41 -0
  33. package/dist/cjs/view-session-registry.js.map +1 -0
  34. package/dist/esm/connectivity-provider.js +4 -17
  35. package/dist/esm/connectivity-provider.js.map +1 -1
  36. package/dist/esm/errors.js +6 -1
  37. package/dist/esm/errors.js.map +1 -1
  38. package/dist/esm/extension-context.js +2 -1
  39. package/dist/esm/extension-context.js.map +1 -1
  40. package/dist/esm/extension-describe.js +8 -0
  41. package/dist/esm/extension-describe.js.map +1 -1
  42. package/dist/esm/extension-initialize.js +5 -0
  43. package/dist/esm/extension-initialize.js.map +1 -1
  44. package/dist/esm/extension-session.js +3 -0
  45. package/dist/esm/extension-session.js.map +1 -1
  46. package/dist/esm/extension-tool-dispatch.js +31 -0
  47. package/dist/esm/extension-tool-dispatch.js.map +1 -0
  48. package/dist/esm/extension.js +42 -56
  49. package/dist/esm/extension.js.map +1 -1
  50. package/dist/esm/generated/contracts.js +2 -0
  51. package/dist/esm/generated/contracts.js.map +1 -1
  52. package/dist/esm/index.js +3 -1
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/protocol-params.js +18 -0
  55. package/dist/esm/protocol-params.js.map +1 -0
  56. package/dist/esm/testing/harness.js +4 -3
  57. package/dist/esm/testing/harness.js.map +1 -1
  58. package/dist/esm/testing/mock-transport.js +42 -2
  59. package/dist/esm/testing/mock-transport.js.map +1 -1
  60. package/dist/esm/transport.js +80 -7
  61. package/dist/esm/transport.js.map +1 -1
  62. package/dist/esm/types.js.map +1 -1
  63. package/dist/esm/view-provider.js +133 -0
  64. package/dist/esm/view-provider.js.map +1 -0
  65. package/dist/esm/view-session-registry.js +37 -0
  66. package/dist/esm/view-session-registry.js.map +1 -0
  67. package/dist/types/connectivity-provider.d.ts.map +1 -1
  68. package/dist/types/errors.d.ts +1 -0
  69. package/dist/types/errors.d.ts.map +1 -1
  70. package/dist/types/extension-context.d.ts +1 -1
  71. package/dist/types/extension-context.d.ts.map +1 -1
  72. package/dist/types/extension-contract.d.ts +1 -0
  73. package/dist/types/extension-contract.d.ts.map +1 -1
  74. package/dist/types/extension-describe.d.ts +2 -1
  75. package/dist/types/extension-describe.d.ts.map +1 -1
  76. package/dist/types/extension-initialize.d.ts.map +1 -1
  77. package/dist/types/extension-session.d.ts.map +1 -1
  78. package/dist/types/extension-tool-dispatch.d.ts +5 -0
  79. package/dist/types/extension-tool-dispatch.d.ts.map +1 -0
  80. package/dist/types/extension.d.ts +2 -1
  81. package/dist/types/extension.d.ts.map +1 -1
  82. package/dist/types/generated/contracts.d.ts +280 -1
  83. package/dist/types/generated/contracts.d.ts.map +1 -1
  84. package/dist/types/index.d.ts +5 -2
  85. package/dist/types/index.d.ts.map +1 -1
  86. package/dist/types/protocol-params.d.ts +4 -0
  87. package/dist/types/protocol-params.d.ts.map +1 -0
  88. package/dist/types/testing/harness.d.ts +1 -1
  89. package/dist/types/testing/harness.d.ts.map +1 -1
  90. package/dist/types/testing/mock-transport.d.ts +1 -1
  91. package/dist/types/testing/mock-transport.d.ts.map +1 -1
  92. package/dist/types/transport.d.ts +8 -4
  93. package/dist/types/transport.d.ts.map +1 -1
  94. package/dist/types/types.d.ts +1 -16
  95. package/dist/types/types.d.ts.map +1 -1
  96. package/dist/types/view-provider.d.ts +18 -0
  97. package/dist/types/view-provider.d.ts.map +1 -0
  98. package/dist/types/view-session-registry.d.ts +12 -0
  99. package/dist/types/view-session-registry.d.ts.map +1 -0
  100. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { ISODateTime, JSONValue } from "../base-types.js";
2
- export type HostAPIMethod = "agents/heartbeat/delete" | "agents/heartbeat/get" | "agents/heartbeat/history" | "agents/heartbeat/put" | "agents/heartbeat/rollback" | "agents/heartbeat/status" | "agents/heartbeat/validate" | "agents/heartbeat/wake" | "agents/soul/delete" | "agents/soul/get" | "agents/soul/history" | "agents/soul/put" | "agents/soul/rollback" | "agents/soul/validate" | "automation/jobs" | "automation/jobs/create" | "automation/jobs/delete" | "automation/jobs/get" | "automation/jobs/runs" | "automation/jobs/trigger" | "automation/jobs/update" | "automation/runs" | "automation/triggers" | "automation/triggers/create" | "automation/triggers/delete" | "automation/triggers/fire" | "automation/triggers/get" | "automation/triggers/runs" | "automation/triggers/update" | "bridges/instances/get" | "bridges/instances/list" | "bridges/instances/report_state" | "bridges/messages/ingest" | "clarify/ask" | "logs/list" | "memory/forget" | "memory/recall" | "memory/store" | "models/list" | "models/refresh" | "models/status" | "network/channels" | "network/direct/messages" | "network/direct/resolve" | "network/directs" | "network/peers" | "network/send" | "network/status" | "network/thread/get" | "network/thread/messages" | "network/threads" | "network/usage" | "network/work/get" | "observe/health" | "resources/get" | "resources/list" | "resources/snapshot" | "sandbox/exec" | "sandbox/info" | "sandbox/list" | "sessions/archive" | "sessions/create" | "sessions/events" | "sessions/health/get" | "sessions/inputs/cancel" | "sessions/inputs/list" | "sessions/inputs/promote" | "sessions/inputs/replace" | "sessions/list" | "sessions/prompt" | "sessions/runtime/clear" | "sessions/runtime/set" | "sessions/soul/refresh" | "sessions/status" | "sessions/status/get" | "sessions/stop" | "sessions/unarchive" | "skills/list" | "tasks" | "tasks/cancel" | "tasks/create" | "tasks/dashboard" | "tasks/get" | "tasks/inbox" | "tasks/runs" | "tasks/runs/attach_session" | "tasks/runs/cancel" | "tasks/runs/complete" | "tasks/runs/enqueue" | "tasks/runs/fail" | "tasks/runs/get" | "tasks/runs/start" | "tasks/timeline" | "tasks/tree" | "tasks/update";
2
+ export type HostAPIMethod = "agents/heartbeat/delete" | "agents/heartbeat/get" | "agents/heartbeat/history" | "agents/heartbeat/put" | "agents/heartbeat/rollback" | "agents/heartbeat/status" | "agents/heartbeat/validate" | "agents/heartbeat/wake" | "agents/soul/delete" | "agents/soul/get" | "agents/soul/history" | "agents/soul/put" | "agents/soul/rollback" | "agents/soul/validate" | "automation/jobs" | "automation/jobs/create" | "automation/jobs/delete" | "automation/jobs/get" | "automation/jobs/runs" | "automation/jobs/trigger" | "automation/jobs/update" | "automation/runs" | "automation/triggers" | "automation/triggers/create" | "automation/triggers/delete" | "automation/triggers/fire" | "automation/triggers/get" | "automation/triggers/runs" | "automation/triggers/update" | "bridges/instances/get" | "bridges/instances/list" | "bridges/instances/report_state" | "bridges/messages/ingest" | "clarify/ask" | "logs/list" | "memory/forget" | "memory/recall" | "memory/store" | "models/list" | "models/refresh" | "models/status" | "network/channels" | "network/direct/messages" | "network/direct/resolve" | "network/directs" | "network/peers" | "network/send" | "network/status" | "network/thread/get" | "network/thread/messages" | "network/threads" | "network/usage" | "network/work/get" | "observe/health" | "resources/get" | "resources/list" | "resources/snapshot" | "sandbox/exec" | "sandbox/info" | "sandbox/list" | "sessions/archive" | "sessions/create" | "sessions/events" | "sessions/health/get" | "sessions/inputs/cancel" | "sessions/inputs/list" | "sessions/inputs/promote" | "sessions/inputs/replace" | "sessions/list" | "sessions/prompt" | "sessions/runtime/clear" | "sessions/runtime/set" | "sessions/soul/refresh" | "sessions/status" | "sessions/status/get" | "sessions/stop" | "sessions/unarchive" | "skills/list" | "tasks" | "tasks/cancel" | "tasks/create" | "tasks/dashboard" | "tasks/get" | "tasks/inbox" | "tasks/runs" | "tasks/runs/attach_session" | "tasks/runs/cancel" | "tasks/runs/complete" | "tasks/runs/enqueue" | "tasks/runs/fail" | "tasks/runs/get" | "tasks/runs/start" | "tasks/timeline" | "tasks/tree" | "tasks/update" | "view/patch";
3
3
  export interface AcceptedCapabilities {
4
4
  provides: string[];
5
5
  permissions: HostAPIMethod[];
@@ -899,6 +899,57 @@ export interface ClarifyAskParams {
899
899
  question: string;
900
900
  choices?: string[];
901
901
  }
902
+ export interface CmdPaletteArgument {
903
+ name: string;
904
+ type: string;
905
+ placeholder?: string;
906
+ required?: boolean;
907
+ options?: string[];
908
+ }
909
+ export interface CmdPaletteAction {
910
+ kind: string;
911
+ tool?: string;
912
+ view?: string;
913
+ app?: string;
914
+ url?: string;
915
+ args?: Record<string, JSONValue>;
916
+ }
917
+ export interface CmdPaletteConfirmation {
918
+ title: string;
919
+ body?: string;
920
+ confirm: string;
921
+ }
922
+ export interface CmdPaletteExecutionPolicy {
923
+ single_flight?: boolean;
924
+ retry_safe?: boolean;
925
+ }
926
+ export interface CmdPaletteCommand {
927
+ id: string;
928
+ title: string;
929
+ section?: string;
930
+ icon: string;
931
+ keywords?: string[];
932
+ arguments?: CmdPaletteArgument[];
933
+ action: CmdPaletteAction;
934
+ destructive?: boolean;
935
+ confirmation?: CmdPaletteConfirmation;
936
+ default_shortcut?: string;
937
+ execution?: CmdPaletteExecutionPolicy;
938
+ }
939
+ export interface CmdPaletteViewSource {
940
+ tool: string;
941
+ }
942
+ export interface CmdPaletteView {
943
+ id: string;
944
+ title: string;
945
+ kind: string;
946
+ source?: CmdPaletteViewSource;
947
+ program?: boolean;
948
+ }
949
+ export interface CmdPaletteConfig {
950
+ commands?: CmdPaletteCommand[];
951
+ views?: CmdPaletteView[];
952
+ }
902
953
  export type CommandFlagType = "string" | "boolean" | "integer" | "number";
903
954
  export interface CommandFlag {
904
955
  name: string;
@@ -1287,6 +1338,7 @@ export interface DescribeResources {
1287
1338
  agents?: string[];
1288
1339
  automation?: string[];
1289
1340
  layouts?: string[];
1341
+ cmd_palette?: CmdPaletteConfig;
1290
1342
  }
1291
1343
  export interface DescribeSubprocess {
1292
1344
  command: string;
@@ -1340,9 +1392,14 @@ export interface DescribePayload {
1340
1392
  tools?: ExtensionToolRuntimeDescriptor[];
1341
1393
  hook_events?: string[];
1342
1394
  watch_source_kinds?: string[];
1395
+ cmd_palette_views?: string[];
1343
1396
  command_groups?: ExtensionCommandGroupSpec[];
1344
1397
  sdk: DescribeSDKInfo;
1345
1398
  }
1399
+ export interface EffectResult {
1400
+ effect_id: string;
1401
+ payload?: JSONValue;
1402
+ }
1346
1403
  export type EmptyResult = Record<string, never>;
1347
1404
  export interface EventPostRecordPatch {
1348
1405
  labels?: Record<string, string>;
@@ -1933,6 +1990,7 @@ export interface InitializeRuntime {
1933
1990
  health_check_timeout_ms: number;
1934
1991
  shutdown_timeout_ms: number;
1935
1992
  default_hook_timeout_ms: number;
1993
+ default_view_timeout_ms?: number;
1936
1994
  bridge?: InitializeBridgeRuntime;
1937
1995
  }
1938
1996
  export interface InitializeRequest {
@@ -1955,6 +2013,7 @@ export interface InitializeResponse {
1955
2013
  implemented_methods: string[];
1956
2014
  supported_hook_events: string[];
1957
2015
  watch_source_kinds?: string[];
2016
+ cmd_palette_views?: string[];
1958
2017
  supports: InitializeSupports;
1959
2018
  }
1960
2019
  export interface InputPreSubmitPatch {
@@ -5800,6 +5859,221 @@ export interface TurnStartPayload {
5800
5859
  input_class?: string;
5801
5860
  user_message?: string;
5802
5861
  }
5862
+ export interface ViewCloseRequest {
5863
+ view_session: string;
5864
+ reason?: string;
5865
+ }
5866
+ export interface ViewEvent {
5867
+ view_session: string;
5868
+ handler: string;
5869
+ args?: JSONValue[];
5870
+ revision: string;
5871
+ seq: number;
5872
+ generation: number;
5873
+ ack_effects?: string[];
5874
+ effect_result?: EffectResult;
5875
+ }
5876
+ export interface Pagination {
5877
+ has_more: boolean;
5878
+ page_size?: number;
5879
+ }
5880
+ export interface ViewChrome {
5881
+ is_loading?: boolean;
5882
+ search_text?: string;
5883
+ event_count?: number;
5884
+ search_placeholder?: string;
5885
+ throttle_ms?: number;
5886
+ filtering?: boolean;
5887
+ complete?: boolean;
5888
+ active_chip?: string;
5889
+ columns?: number;
5890
+ pagination?: Pagination;
5891
+ on_search?: string;
5892
+ on_chip?: string;
5893
+ on_selection?: string;
5894
+ on_load_more?: string;
5895
+ }
5896
+ export interface ViewBadge {
5897
+ label: string;
5898
+ tone: string;
5899
+ }
5900
+ export interface MetaField {
5901
+ label: string;
5902
+ value: string;
5903
+ requires?: Record<string, string>;
5904
+ fallback?: string;
5905
+ }
5906
+ export interface Confirmation {
5907
+ title: string;
5908
+ body?: string;
5909
+ confirm: string;
5910
+ }
5911
+ export type ActionKind = string;
5912
+ export interface Action {
5913
+ kind: ActionKind;
5914
+ op?: string;
5915
+ tool?: string;
5916
+ view?: string;
5917
+ app?: string;
5918
+ url?: string;
5919
+ args?: Record<string, JSONValue>;
5920
+ }
5921
+ export interface RowAction {
5922
+ title: string;
5923
+ icon?: string;
5924
+ section?: string;
5925
+ primary?: boolean;
5926
+ destructive?: boolean;
5927
+ confirmation?: Confirmation;
5928
+ shortcut?: string;
5929
+ action?: Action;
5930
+ handler?: string;
5931
+ submit_form?: boolean;
5932
+ requires?: Record<string, string>;
5933
+ fallback?: string;
5934
+ }
5935
+ export interface DetailBody {
5936
+ is_loading?: boolean;
5937
+ markdown?: string;
5938
+ metadata?: MetaField[];
5939
+ actions?: RowAction[];
5940
+ }
5941
+ export interface Row {
5942
+ id: string;
5943
+ title: string;
5944
+ subtitle?: string;
5945
+ icon?: string;
5946
+ badge?: ViewBadge;
5947
+ keywords?: string[];
5948
+ accessories?: string[];
5949
+ detail?: DetailBody;
5950
+ actions?: RowAction[];
5951
+ requires?: Record<string, string>;
5952
+ fallback?: string;
5953
+ }
5954
+ export interface Section {
5955
+ title?: string;
5956
+ rows: Row[];
5957
+ }
5958
+ export interface Chip {
5959
+ id: string;
5960
+ label: string;
5961
+ count?: number;
5962
+ requires?: Record<string, string>;
5963
+ fallback?: string;
5964
+ }
5965
+ export interface EmptyState {
5966
+ title: string;
5967
+ hint?: string;
5968
+ icon?: string;
5969
+ }
5970
+ export interface FormField {
5971
+ id: string;
5972
+ type: string;
5973
+ label: string;
5974
+ placeholder?: string;
5975
+ required?: boolean;
5976
+ options?: string[];
5977
+ directories?: boolean;
5978
+ default?: JSONValue;
5979
+ error?: string;
5980
+ empty_hint?: string;
5981
+ on_change?: string;
5982
+ on_blur?: string;
5983
+ event_count?: number;
5984
+ requires?: Record<string, string>;
5985
+ fallback?: string;
5986
+ }
5987
+ export interface FormBody {
5988
+ fields: FormField[];
5989
+ submit?: RowAction;
5990
+ on_submit?: string;
5991
+ }
5992
+ export interface Image {
5993
+ url?: string;
5994
+ token?: string;
5995
+ emoji?: string;
5996
+ }
5997
+ export interface GridTile {
5998
+ id: string;
5999
+ title: string;
6000
+ image: Image;
6001
+ badge?: ViewBadge;
6002
+ actions?: RowAction[];
6003
+ requires?: Record<string, string>;
6004
+ fallback?: string;
6005
+ }
6006
+ export interface GridSection {
6007
+ title?: string;
6008
+ tiles: GridTile[];
6009
+ }
6010
+ export interface GridBody {
6011
+ sections: GridSection[];
6012
+ }
6013
+ export interface ViewPayload {
6014
+ view: string;
6015
+ chrome?: ViewChrome;
6016
+ sections?: Section[];
6017
+ chips?: Chip[];
6018
+ empty?: EmptyState;
6019
+ detail?: DetailBody;
6020
+ form?: FormBody;
6021
+ grid?: GridBody;
6022
+ }
6023
+ export interface PatchOp {
6024
+ op: string;
6025
+ path: string;
6026
+ value?: JSONValue;
6027
+ }
6028
+ export interface ViewPatch {
6029
+ view_id: string;
6030
+ from: string;
6031
+ to: string;
6032
+ ops: PatchOp[];
6033
+ }
6034
+ export interface ToastEffect {
6035
+ tone: string;
6036
+ message: string;
6037
+ }
6038
+ export interface CopyEffect {
6039
+ content: string;
6040
+ }
6041
+ export interface OpenURLEffect {
6042
+ url: string;
6043
+ }
6044
+ export interface OpenAppEffect {
6045
+ app: string;
6046
+ }
6047
+ export interface PickFilesEffect {
6048
+ directories?: boolean;
6049
+ }
6050
+ export interface Effect {
6051
+ id: string;
6052
+ toast?: ToastEffect;
6053
+ copy?: CopyEffect;
6054
+ open_url?: OpenURLEffect;
6055
+ open_app?: OpenAppEffect;
6056
+ pick_files?: PickFilesEffect;
6057
+ }
6058
+ export interface ViewFrame {
6059
+ view_session: string;
6060
+ revision: string;
6061
+ in_reply_to?: number;
6062
+ generation: number;
6063
+ payload?: ViewPayload;
6064
+ patch?: ViewPatch;
6065
+ effects?: Effect[];
6066
+ handlers: string[];
6067
+ }
6068
+ export type WorkspaceID = string;
6069
+ export type ClientID = string;
6070
+ export interface ViewOpenRequest {
6071
+ view_session: string;
6072
+ view: string;
6073
+ workspace: WorkspaceID;
6074
+ client: ClientID;
6075
+ args?: Record<string, JSONValue>;
6076
+ }
5803
6077
  export interface WindowManagerChanges {
5804
6078
  desktop_ids?: string[];
5805
6079
  window_ids?: string[];
@@ -6340,6 +6614,10 @@ export interface HostAPIMethodMap {
6340
6614
  params: AgentHeartbeatWakeParams;
6341
6615
  result: HeartbeatWakeResponse;
6342
6616
  };
6617
+ "view/patch": {
6618
+ params: ViewFrame;
6619
+ result: EmptyResult;
6620
+ };
6343
6621
  "automation/jobs": {
6344
6622
  params: AutomationJobsParams | undefined;
6345
6623
  result: AutomationJobsResult;
@@ -6557,6 +6835,7 @@ export declare const REQUIRED_METHODS_BY_PROVIDE: {
6557
6835
  readonly "memory.backend": readonly ["memory/forget", "memory/recall", "memory/store"];
6558
6836
  readonly "model.source": readonly ["models/list"];
6559
6837
  readonly "tool.provider": readonly ["provide_tools", "tools/call"];
6838
+ readonly "view.provider": readonly ["view/close", "view/event", "view/open"];
6560
6839
  };
6561
6840
  export interface ProvideConformanceFixture {
6562
6841
  provide: string;