@compozy/extension-sdk 0.3.0-beta.7 → 0.3.0-beta.9
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/dist/cjs/connectivity-provider.js +70 -0
- package/dist/cjs/connectivity-provider.js.map +1 -0
- package/dist/cjs/extension-describe.js +9 -0
- package/dist/cjs/extension-describe.js.map +1 -1
- package/dist/cjs/extension-provide-surface.js +81 -0
- package/dist/cjs/extension-provide-surface.js.map +1 -0
- package/dist/cjs/extension-session.js +47 -0
- package/dist/cjs/extension-session.js.map +1 -0
- package/dist/cjs/extension.js +49 -38
- package/dist/cjs/extension.js.map +1 -1
- package/dist/cjs/generated/contracts.js +9 -0
- package/dist/cjs/generated/contracts.js.map +1 -1
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/testing/mock-transport.js +3 -0
- package/dist/cjs/testing/mock-transport.js.map +1 -1
- package/dist/cjs/transport.js +4 -0
- package/dist/cjs/transport.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/connectivity-provider.js +66 -0
- package/dist/esm/connectivity-provider.js.map +1 -0
- package/dist/esm/extension-describe.js +9 -0
- package/dist/esm/extension-describe.js.map +1 -1
- package/dist/esm/extension-provide-surface.js +77 -0
- package/dist/esm/extension-provide-surface.js.map +1 -0
- package/dist/esm/extension-session.js +44 -0
- package/dist/esm/extension-session.js.map +1 -0
- package/dist/esm/extension.js +52 -41
- package/dist/esm/extension.js.map +1 -1
- package/dist/esm/generated/contracts.js +9 -0
- package/dist/esm/generated/contracts.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/testing/mock-transport.js +3 -0
- package/dist/esm/testing/mock-transport.js.map +1 -1
- package/dist/esm/transport.js +4 -0
- package/dist/esm/transport.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/types/connectivity-provider.d.ts +14 -0
- package/dist/types/connectivity-provider.d.ts.map +1 -0
- package/dist/types/extension-describe.d.ts.map +1 -1
- package/dist/types/extension-provide-surface.d.ts +23 -0
- package/dist/types/extension-provide-surface.d.ts.map +1 -0
- package/dist/types/extension-session.d.ts +16 -0
- package/dist/types/extension-session.d.ts.map +1 -0
- package/dist/types/extension.d.ts +4 -0
- package/dist/types/extension.d.ts.map +1 -1
- package/dist/types/generated/contracts.d.ts +49 -0
- package/dist/types/generated/contracts.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/testing/mock-transport.d.ts +1 -0
- package/dist/types/testing/mock-transport.d.ts.map +1 -1
- package/dist/types/transport.d.ts +3 -0
- package/dist/types/transport.d.ts.map +1 -1
- package/dist/types/types.d.ts +3 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ExtensionDefinition } from "./types.js";
|
|
2
|
+
import type { ExtensionHandler } from "./extension-contract.js";
|
|
3
|
+
export declare const registerProvideSurface: unique symbol;
|
|
4
|
+
export interface ProvideSurfaceRegistration {
|
|
5
|
+
method: string;
|
|
6
|
+
handler: ExtensionHandler;
|
|
7
|
+
}
|
|
8
|
+
interface ExtensionProvideSurfacesOptions {
|
|
9
|
+
handlers: Map<string, ExtensionHandler>;
|
|
10
|
+
validateMethod: (method: string) => void;
|
|
11
|
+
bindMethod: (method: string) => void;
|
|
12
|
+
unbindMethod: (method: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export declare class ExtensionProvideSurfaces {
|
|
15
|
+
private readonly options;
|
|
16
|
+
private readonly owners;
|
|
17
|
+
constructor(options: ExtensionProvideSurfacesOptions);
|
|
18
|
+
owner(method: string): string | undefined;
|
|
19
|
+
register(definition: ExtensionDefinition, capability: string, registrations: readonly ProvideSurfaceRegistration[]): void;
|
|
20
|
+
private validateRegistrations;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=extension-provide-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-provide-surface.d.ts","sourceRoot":"","sources":["../../src/extension-provide-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AAEvE,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,+BAA+B;IACvC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,qBAAa,wBAAwB;IAGhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,YAAoC,OAAO,EAAE,+BAA+B,EAAI;IAEzE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/C;IAEM,QAAQ,CACb,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,0BAA0B,EAAE,GACnD,IAAI,CA0CN;IAED,OAAO,CAAC,qBAAqB;CAyB9B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ExtensionSession } from "./extension-contract.js";
|
|
2
|
+
import type { ExtensionDefinition, HookEvent, InitializeResponse } from "./types.js";
|
|
3
|
+
interface BuildExtensionSessionOptions {
|
|
4
|
+
definition: ExtensionDefinition;
|
|
5
|
+
params: unknown;
|
|
6
|
+
implementedMethods: string[];
|
|
7
|
+
supportedHookEvents: HookEvent[];
|
|
8
|
+
watchSourceKinds: string[];
|
|
9
|
+
sdkVersion: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildExtensionSession(options: BuildExtensionSessionOptions): {
|
|
12
|
+
response: InitializeResponse;
|
|
13
|
+
session: ExtensionSession;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=extension-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-session.d.ts","sourceRoot":"","sources":["../../src/extension-session.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErF,UAAU,4BAA4B;IACpC,UAAU,EAAE,mBAAmB,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,mBAAmB,EAAE,SAAS,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG;IAC5E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAyCA"}
|
|
@@ -2,6 +2,7 @@ import type { TransportLike } from "./transport.js";
|
|
|
2
2
|
import { type ExtensionWatchSourceHandler, type ExtensionWatchSourceOptions } from "./watch-source.js";
|
|
3
3
|
import { HostAPI } from "./host-api.js";
|
|
4
4
|
import type { ExtensionDefinition, HookEvent, ExtensionToolRuntimeDescriptor, JSONValue } from "./types.js";
|
|
5
|
+
import { registerProvideSurface, type ProvideSurfaceRegistration } from "./extension-provide-surface.js";
|
|
5
6
|
import type { ExtensionHandler, ExtensionOptions, ExtensionToolHandler, ExtensionToolOptions, ReadyCallback } from "./extension-contract.js";
|
|
6
7
|
export declare class Extension {
|
|
7
8
|
readonly definition: ExtensionDefinition;
|
|
@@ -15,6 +16,7 @@ export declare class Extension {
|
|
|
15
16
|
private readonly watchSources;
|
|
16
17
|
private readonly readyCallbacks;
|
|
17
18
|
private readonly transportBindings;
|
|
19
|
+
private readonly provideSurfaces;
|
|
18
20
|
private readonly host;
|
|
19
21
|
private initialized;
|
|
20
22
|
private shutdownStarted;
|
|
@@ -26,9 +28,11 @@ export declare class Extension {
|
|
|
26
28
|
constructor(definition: ExtensionDefinition, options?: ExtensionOptions);
|
|
27
29
|
bindTransport(transport: TransportLike): this;
|
|
28
30
|
handle<TParams = unknown, TResult = unknown>(method: string, handler: ExtensionHandler<TParams, TResult>): this;
|
|
31
|
+
[registerProvideSurface](capability: string, registrations: readonly ProvideSurfaceRegistration[]): this;
|
|
29
32
|
tool<TInput = unknown>(handler: string, options: ExtensionToolOptions, toolHandler: ExtensionToolHandler<TInput>): this;
|
|
30
33
|
watchSource<TSpec extends JSONValue = JSONValue>(kind: string, options: ExtensionWatchSourceOptions, handler: ExtensionWatchSourceHandler<TSpec>): this;
|
|
31
34
|
commandGroup(path: string, summary: string): this;
|
|
35
|
+
private ensureRegistrationOpen;
|
|
32
36
|
onReady(callback: ReadyCallback): this;
|
|
33
37
|
start(): Promise<HostAPI>;
|
|
34
38
|
getImplementedMethods(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAIL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EACV,mBAAmB,EAGnB,SAAS,EAGT,8BAA8B,
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAIL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EACV,mBAAmB,EAGnB,SAAS,EAGT,8BAA8B,EAE9B,SAAS,EAEV,MAAM,YAAY,CAAC;AAoCpB,OAAO,EAEL,sBAAsB,EACtB,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAEV,gBAAgB,EAChB,gBAAgB,EAEhB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,SAAS;aAyCF,UAAU,EAAE,mBAAmB;IAxCjD,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmD;IACnF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI1B;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAe7B;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,WAAW,CAA0C;IAE7D,YACkB,UAAU,EAAE,mBAAmB,EAC/C,OAAO,GAAE,gBAAqB,EAe/B;IAEM,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAQnD;IAEM,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAChD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,GAC1C,IAAI,CAsBN;IAEM,CAAC,sBAAsB,CAAC,CAC7B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,SAAS,0BAA0B,EAAE,GACnD,IAAI,CAIN;IAEM,IAAI,CAAC,MAAM,GAAG,OAAO,EAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACxC,IAAI,CAmBN;IAEM,WAAW,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,2BAA2B,EACpC,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAC1C,IAAI,CAIN;IAEM,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIvD;IAED,OAAO,CAAC,sBAAsB;IAMvB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAQ5C;IAEY,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAsBrC;IAEM,qBAAqB,IAAI,MAAM,EAAE,CAMvC;IAEM,sBAAsB,IAAI,SAAS,EAAE,CAE3C;IAEM,kBAAkB,IAAI,8BAA8B,EAAE,CAE5D;IAEM,QAAQ,yCAQd;IAED,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,UAAU;YAeJ,QAAQ;YAiCR,gBAAgB;YAuBhB,oBAAoB;YAYpB,gBAAgB;YAWhB,iBAAiB;YAejB,cAAc;IAmB5B,OAAO,CAAC,kBAAkB;YAMZ,cAAc;YA6Bd,gBAAgB;IAY9B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,0BAA0B;CAInC;AAED,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC"}
|
|
@@ -734,6 +734,18 @@ export interface AutomationTriggersParams {
|
|
|
734
734
|
cursor?: string;
|
|
735
735
|
limit?: number;
|
|
736
736
|
}
|
|
737
|
+
export interface GatewayIngressPayload {
|
|
738
|
+
subject_kind: string;
|
|
739
|
+
subject_id: string;
|
|
740
|
+
scope_kind: string;
|
|
741
|
+
workspace_id?: string;
|
|
742
|
+
url?: string;
|
|
743
|
+
reachability: string;
|
|
744
|
+
endpoint_generation: number;
|
|
745
|
+
confirmed_endpoint_generation?: number;
|
|
746
|
+
confirmed_at?: ISODateTime;
|
|
747
|
+
enable_path?: string;
|
|
748
|
+
}
|
|
737
749
|
export interface Trigger {
|
|
738
750
|
id: string;
|
|
739
751
|
scope: Scope;
|
|
@@ -753,6 +765,7 @@ export interface Trigger {
|
|
|
753
765
|
endpoint_slug?: string;
|
|
754
766
|
webhook_secret_present: boolean;
|
|
755
767
|
webhook_secret_hash?: string;
|
|
768
|
+
ingress?: GatewayIngressPayload;
|
|
756
769
|
created_at: ISODateTime;
|
|
757
770
|
updated_at: ISODateTime;
|
|
758
771
|
}
|
|
@@ -844,6 +857,7 @@ export interface BridgeTargetSnapshotResponse {
|
|
|
844
857
|
}
|
|
845
858
|
export interface BridgeWebhookRegistrationRequest {
|
|
846
859
|
bridge_instance_id: string;
|
|
860
|
+
public_url?: string;
|
|
847
861
|
}
|
|
848
862
|
export interface BridgeWebhookRegistrationResponse {
|
|
849
863
|
status: BridgeCheckStatus;
|
|
@@ -895,6 +909,34 @@ export interface CompactionMatcher {
|
|
|
895
909
|
compaction_reason?: string;
|
|
896
910
|
compaction_strategy?: string;
|
|
897
911
|
}
|
|
912
|
+
export interface ConnectivityAdvertisedEndpoint {
|
|
913
|
+
url: string;
|
|
914
|
+
scheme: string;
|
|
915
|
+
scheme_policy?: string;
|
|
916
|
+
stability: string;
|
|
917
|
+
}
|
|
918
|
+
export interface ConnectivityEstablishRequest {
|
|
919
|
+
tier: string;
|
|
920
|
+
forward_target: string;
|
|
921
|
+
challenge_path: string;
|
|
922
|
+
deadline: ISODateTime;
|
|
923
|
+
}
|
|
924
|
+
export interface ConnectivityReachability {
|
|
925
|
+
tier: string;
|
|
926
|
+
endpoints: ConnectivityAdvertisedEndpoint[];
|
|
927
|
+
health: string;
|
|
928
|
+
reason?: string;
|
|
929
|
+
}
|
|
930
|
+
export interface ConnectivityStatusRequest {
|
|
931
|
+
tier: string;
|
|
932
|
+
}
|
|
933
|
+
export interface ConnectivityTeardownRequest {
|
|
934
|
+
tier: string;
|
|
935
|
+
deadline: ISODateTime;
|
|
936
|
+
}
|
|
937
|
+
export interface ConnectivityTeardownResponse {
|
|
938
|
+
stopped: boolean;
|
|
939
|
+
}
|
|
898
940
|
export interface ConsentArea {
|
|
899
941
|
area: string;
|
|
900
942
|
access: string;
|
|
@@ -1224,6 +1266,11 @@ export interface DeliveryRequest {
|
|
|
1224
1266
|
event: DeliveryEvent;
|
|
1225
1267
|
snapshot?: DeliverySnapshot;
|
|
1226
1268
|
}
|
|
1269
|
+
export interface DescribeNetworkParticipation {
|
|
1270
|
+
required: boolean;
|
|
1271
|
+
mode: string;
|
|
1272
|
+
channel_scopes?: string[];
|
|
1273
|
+
}
|
|
1227
1274
|
export interface DescribeResources {
|
|
1228
1275
|
skills?: string[];
|
|
1229
1276
|
loops?: string[];
|
|
@@ -1279,6 +1326,7 @@ export interface DescribePayload {
|
|
|
1279
1326
|
requires_env?: string[];
|
|
1280
1327
|
resources: DescribeResources;
|
|
1281
1328
|
subprocess: DescribeSubprocess;
|
|
1329
|
+
network_participation?: DescribeNetworkParticipation;
|
|
1282
1330
|
tools?: ExtensionToolRuntimeDescriptor[];
|
|
1283
1331
|
hook_events?: string[];
|
|
1284
1332
|
watch_source_kinds?: string[];
|
|
@@ -6270,6 +6318,7 @@ export interface HostAPIMethodMap {
|
|
|
6270
6318
|
}
|
|
6271
6319
|
export declare const REQUIRED_METHODS_BY_PROVIDE: {
|
|
6272
6320
|
readonly "bridge.adapter": readonly ["bridges/deliver", "bridges/targets/snapshot"];
|
|
6321
|
+
readonly "connectivity.provider": readonly ["connectivity/establish", "connectivity/status", "connectivity/teardown"];
|
|
6273
6322
|
readonly "loop.watch_source": readonly ["watch/poll"];
|
|
6274
6323
|
readonly "memory.backend": readonly ["memory/forget", "memory/recall", "memory/store"];
|
|
6275
6324
|
readonly "model.source": readonly ["models/list"];
|