@floegence/redevplugin-ui 3.0.33 → 3.0.35

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.
@@ -1790,6 +1790,23 @@ export interface components {
1790
1790
  memory_limit_bytes: number;
1791
1791
  idle_timeout_ms: number;
1792
1792
  };
1793
+ ExternalPackageProcessMethodAccessSummary: {
1794
+ method: string;
1795
+ operations: ("start" | "attach" | "status" | "write_stdin" | "close_stdin" | "read_stdout" | "read_stderr" | "wait" | "terminate" | "kill" | "close")[];
1796
+ };
1797
+ ExternalPackageProcessResourceLimits: {
1798
+ output_buffer_bytes: number;
1799
+ max_runtime_ms: number;
1800
+ };
1801
+ ExternalPackageProcessSummary: {
1802
+ resource_limits: components["schemas"]["ExternalPackageProcessResourceLimits"];
1803
+ method_access: components["schemas"]["ExternalPackageProcessMethodAccessSummary"][];
1804
+ };
1805
+ ExternalPackageBackgroundSummary: {
1806
+ /** @enum {string} */
1807
+ strategy: "runtime_start" | "on_demand";
1808
+ worker_id: string;
1809
+ };
1793
1810
  ExternalPackageNetworkMethodAccessSummary: {
1794
1811
  method: string;
1795
1812
  operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
@@ -1856,6 +1873,8 @@ export interface components {
1856
1873
  methods: components["schemas"]["ExternalPackageMethodSummary"][];
1857
1874
  capability_contracts: components["schemas"]["ExternalPackageCapabilityContractSummary"][];
1858
1875
  workers: components["schemas"]["ExternalPackageWorkerSummary"][];
1876
+ process?: components["schemas"]["ExternalPackageProcessSummary"];
1877
+ background?: components["schemas"]["ExternalPackageBackgroundSummary"];
1859
1878
  network: components["schemas"]["ExternalPackageNetworkSummary"][];
1860
1879
  storage: components["schemas"]["ExternalPackageStorageSummary"][];
1861
1880
  secret_refs: components["schemas"]["ExternalPackageSecretRefSummary"][];
@@ -2608,6 +2627,9 @@ export interface components {
2608
2627
  operations: ("http" | "http_stream" | "websocket_round_trip" | "tcp_round_trip" | "udp_round_trip")[];
2609
2628
  http_methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[];
2610
2629
  } & unknown)[];
2630
+ process?: {
2631
+ operations: ("start" | "attach" | "status" | "write_stdin" | "close_stdin" | "read_stdout" | "read_stderr" | "wait" | "terminate" | "kill" | "close")[];
2632
+ }[];
2611
2633
  };
2612
2634
  route: {
2613
2635
  /** @enum {unknown} */
@@ -2678,6 +2700,17 @@ export interface components {
2678
2700
  tls?: Record<string, never>;
2679
2701
  }[];
2680
2702
  };
2703
+ process?: {
2704
+ resource_limits?: {
2705
+ output_buffer_bytes?: number;
2706
+ max_runtime_ms?: number;
2707
+ };
2708
+ };
2709
+ background?: {
2710
+ /** @enum {unknown} */
2711
+ strategy: "runtime_start" | "on_demand";
2712
+ worker_id: string;
2713
+ };
2681
2714
  settings?: {
2682
2715
  schema_version: number;
2683
2716
  fields?: {
@@ -2703,7 +2736,7 @@ export interface components {
2703
2736
  required_features?: components["schemas"]["ManifestV9RequiredFeatures"];
2704
2737
  optional_features?: components["schemas"]["ManifestV9OptionalFeatures"];
2705
2738
  };
2706
- permissions: ("fs.workspace.read" | "fs.workspace.write" | "fs.home.read" | "fs.home.write" | "fs.environment.read" | "fs.environment.write" | "network.client" | "network.listen")[];
2739
+ permissions: ("fs.workspace.read" | "fs.workspace.write" | "fs.home.read" | "fs.home.write" | "fs.environment.read" | "fs.environment.write" | "network.client" | "network.listen" | "process.local")[];
2707
2740
  };
2708
2741
  ManifestV9Locale: string;
2709
2742
  ManifestV9Summary: string;
@@ -2773,7 +2806,7 @@ export interface components {
2773
2806
  minProperties?: number;
2774
2807
  maxProperties?: number;
2775
2808
  } & (unknown & unknown)) | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown | unknown);
2776
- ManifestV9RequiredFeatures: ("io.stream.v1" | "fs.workspace.v1" | "fs.home.v1" | "fs.environment.v1" | "fs.watch.v1" | "net.http.v1" | "net.websocket.v1" | "net.tcp.v1" | "net.udp.v1")[];
2809
+ ManifestV9RequiredFeatures: ("io.stream.v1" | "fs.workspace.v1" | "fs.home.v1" | "fs.environment.v1" | "fs.watch.v1" | "net.http.v1" | "net.websocket.v1" | "net.tcp.v1" | "net.udp.v1" | "process.local.v1")[];
2777
2810
  ManifestV9OptionalFeatures: string[];
2778
2811
  HostCapabilityPinV1: {
2779
2812
  publisher_id: components["schemas"]["HostCapabilityPinV1Id"];
package/dist/plugin.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export { PluginBridgeClient } from "./surface.js";
2
2
  export { PluginBridgeError } from "./errors.js";
3
3
  export { pluginAPIMajor } from "./contracts.gen.js";
4
+ export { createPluginProcessClient } from "./process.js";
5
+ export type { PluginProcessExitResult, PluginProcessMethodContracts, PluginProcessReadResult, PluginProcessResourceLimits, PluginProcessStartRequest, PluginProcessStatus, } from "./process.js";
4
6
  export { callCapabilityOperation, callCapabilityStream, callCapabilitySync, isCapabilityBusinessError, } from "./capability-client.js";
5
7
  export type { BridgeLifecycleEvent, MessagePortLike, PluginBridgeClientOptions, PluginBridgeRequestOptions, PluginCanvasAccessibilityState, PluginCanvasInputEvent, PluginCanvasKeyEvent, PluginCanvasPointerEvent, PluginCanvasWheelEvent, PluginCanvasResizeEvent, PluginCanvasSurface, PluginFileExportRequest, PluginSurfaceKeyboardBinding, PluginSurfaceKeyboardEvent, PluginSurfaceKeyboardTargetKind, PluginJSONObject, PluginJSONValue, PluginMethodResult, PluginExecutionFailureCode, PluginExecutionSnapshot, PluginExecutionProgress, PluginExecutionEvent, PluginExecutionEventList, PluginSurfaceContext, PluginSurfaceFileExportMediaType, PluginUIActionEvent, PluginUIAttributeValue, PluginUIElementVNode, PluginUIPatchOperation, PluginUIVNode, } from "./surface.js";
6
8
  export type { PluginCapabilitySchema, PluginCapabilityEffect, PluginCapabilityOperationContract, PluginCapabilityStreamContract, PluginCapabilitySyncContract, PluginCapabilityStreamEvent, PluginCapabilityStreamReadResult, PluginExecution, PluginExecutionTerminalStatus, PluginExecutionWaitOptions, PluginStream, } from "./capability-client.js";
package/dist/plugin.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { PluginBridgeClient } from "./surface.js";
2
2
  export { PluginBridgeError } from "./errors.js";
3
3
  export { pluginAPIMajor } from "./contracts.gen.js";
4
+ export { createPluginProcessClient } from "./process.js";
4
5
  export { callCapabilityOperation, callCapabilityStream, callCapabilitySync, isCapabilityBusinessError, } from "./capability-client.js";
@@ -0,0 +1,131 @@
1
+ import { type PluginCapabilitySyncContract } from "./capability-client.js";
2
+ import type { PluginBridgeClient, PluginBridgeRequestOptions } from "./surface.js";
3
+ export type PluginProcessResourceLimits = Readonly<{
4
+ output_buffer_bytes?: number;
5
+ max_runtime_ms?: number;
6
+ }>;
7
+ export type PluginProcessStartRequest = Readonly<{
8
+ program: string;
9
+ argv?: readonly string[];
10
+ cwd?: string;
11
+ environment?: Readonly<Record<string, string>>;
12
+ environment_removals?: readonly string[];
13
+ secret_references?: Readonly<Record<string, string>>;
14
+ client_key: string;
15
+ resource_limits?: PluginProcessResourceLimits;
16
+ }>;
17
+ export type PluginProcessStatus = Readonly<{
18
+ handle: string;
19
+ client_key: string;
20
+ state: "starting" | "running" | "exited" | string;
21
+ exit_code?: number;
22
+ termination_reason?: string;
23
+ }>;
24
+ export type PluginProcessReadResult = Readonly<{
25
+ data_base64: string;
26
+ cursor: number;
27
+ eof: boolean;
28
+ process_exit: boolean;
29
+ stream_gap: boolean;
30
+ dropped_bytes?: number;
31
+ }>;
32
+ export type PluginProcessExitResult = Readonly<{
33
+ exit_code?: number;
34
+ termination_reason: string;
35
+ }>;
36
+ export type PluginProcessMethodContracts = Readonly<{
37
+ start: PluginCapabilitySyncContract;
38
+ attach: PluginCapabilitySyncContract;
39
+ status: PluginCapabilitySyncContract;
40
+ writeStdin: PluginCapabilitySyncContract;
41
+ closeStdin: PluginCapabilitySyncContract;
42
+ readStdout: PluginCapabilitySyncContract;
43
+ readStderr: PluginCapabilitySyncContract;
44
+ wait: PluginCapabilitySyncContract;
45
+ terminate: PluginCapabilitySyncContract;
46
+ kill: PluginCapabilitySyncContract;
47
+ close: PluginCapabilitySyncContract;
48
+ }>;
49
+ export declare function createPluginProcessClient(bridge: PluginBridgeClient, contracts: PluginProcessMethodContracts): {
50
+ start(request: PluginProcessStartRequest, options?: PluginBridgeRequestOptions): Promise<Readonly<{
51
+ handle: string;
52
+ client_key: string;
53
+ state: "starting" | "running" | "exited" | string;
54
+ exit_code?: number;
55
+ termination_reason?: string;
56
+ }>>;
57
+ attach(request: Readonly<{
58
+ client_key: string;
59
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
60
+ handle: string;
61
+ client_key: string;
62
+ state: "starting" | "running" | "exited" | string;
63
+ exit_code?: number;
64
+ termination_reason?: string;
65
+ }>>;
66
+ status(request: Readonly<{
67
+ handle: string;
68
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
69
+ handle: string;
70
+ client_key: string;
71
+ state: "starting" | "running" | "exited" | string;
72
+ exit_code?: number;
73
+ termination_reason?: string;
74
+ }>>;
75
+ writeStdin(request: Readonly<{
76
+ handle: string;
77
+ data_base64: string;
78
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
79
+ written: number;
80
+ }>>;
81
+ closeStdin(request: Readonly<{
82
+ handle: string;
83
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
84
+ ok: boolean;
85
+ }>>;
86
+ readStdout(request: Readonly<{
87
+ handle: string;
88
+ cursor?: number;
89
+ max_bytes: number;
90
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
91
+ data_base64: string;
92
+ cursor: number;
93
+ eof: boolean;
94
+ process_exit: boolean;
95
+ stream_gap: boolean;
96
+ dropped_bytes?: number;
97
+ }>>;
98
+ readStderr(request: Readonly<{
99
+ handle: string;
100
+ cursor?: number;
101
+ max_bytes: number;
102
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
103
+ data_base64: string;
104
+ cursor: number;
105
+ eof: boolean;
106
+ process_exit: boolean;
107
+ stream_gap: boolean;
108
+ dropped_bytes?: number;
109
+ }>>;
110
+ wait(request: Readonly<{
111
+ handle: string;
112
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
113
+ exit_code?: number;
114
+ termination_reason: string;
115
+ }>>;
116
+ terminate(request: Readonly<{
117
+ handle: string;
118
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
119
+ ok: boolean;
120
+ }>>;
121
+ kill(request: Readonly<{
122
+ handle: string;
123
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
124
+ ok: boolean;
125
+ }>>;
126
+ close(request: Readonly<{
127
+ handle: string;
128
+ }>, options?: PluginBridgeRequestOptions): Promise<Readonly<{
129
+ ok: boolean;
130
+ }>>;
131
+ };
@@ -0,0 +1,38 @@
1
+ import { callCapabilitySync } from "./capability-client.js";
2
+ export function createPluginProcessClient(bridge, contracts) {
3
+ return {
4
+ start(request, options) {
5
+ return callCapabilitySync(bridge, contracts.start, request, options);
6
+ },
7
+ attach(request, options) {
8
+ return callCapabilitySync(bridge, contracts.attach, request, options);
9
+ },
10
+ status(request, options) {
11
+ return callCapabilitySync(bridge, contracts.status, request, options);
12
+ },
13
+ writeStdin(request, options) {
14
+ return callCapabilitySync(bridge, contracts.writeStdin, request, options);
15
+ },
16
+ closeStdin(request, options) {
17
+ return callCapabilitySync(bridge, contracts.closeStdin, request, options);
18
+ },
19
+ readStdout(request, options) {
20
+ return callCapabilitySync(bridge, contracts.readStdout, request, options);
21
+ },
22
+ readStderr(request, options) {
23
+ return callCapabilitySync(bridge, contracts.readStderr, request, options);
24
+ },
25
+ wait(request, options) {
26
+ return callCapabilitySync(bridge, contracts.wait, request, options);
27
+ },
28
+ terminate(request, options) {
29
+ return callCapabilitySync(bridge, contracts.terminate, request, options);
30
+ },
31
+ kill(request, options) {
32
+ return callCapabilitySync(bridge, contracts.kill, request, options);
33
+ },
34
+ close(request, options) {
35
+ return callCapabilitySync(bridge, contracts.close, request, options);
36
+ },
37
+ };
38
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/redevplugin-ui",
3
- "version": "3.0.33",
3
+ "version": "3.0.35",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -40,7 +40,7 @@
40
40
  "dist"
41
41
  ],
42
42
  "dependencies": {
43
- "@floegence/redevplugin-contracts": "3.0.33",
43
+ "@floegence/redevplugin-contracts": "3.0.35",
44
44
  "@noble/hashes": "2.4.0"
45
45
  },
46
46
  "publishConfig": {