@compozy/extension-sdk 0.3.0-beta.10

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 (160) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/base-types.js +3 -0
  3. package/dist/cjs/base-types.js.map +1 -0
  4. package/dist/cjs/capabilities.js +27 -0
  5. package/dist/cjs/capabilities.js.map +1 -0
  6. package/dist/cjs/connectivity-provider.js +70 -0
  7. package/dist/cjs/connectivity-provider.js.map +1 -0
  8. package/dist/cjs/errors.js +123 -0
  9. package/dist/cjs/errors.js.map +1 -0
  10. package/dist/cjs/extension-context.js +28 -0
  11. package/dist/cjs/extension-context.js.map +1 -0
  12. package/dist/cjs/extension-contract.js +8 -0
  13. package/dist/cjs/extension-contract.js.map +1 -0
  14. package/dist/cjs/extension-describe.js +88 -0
  15. package/dist/cjs/extension-describe.js.map +1 -0
  16. package/dist/cjs/extension-initialize.js +67 -0
  17. package/dist/cjs/extension-initialize.js.map +1 -0
  18. package/dist/cjs/extension-provide-surface.js +81 -0
  19. package/dist/cjs/extension-provide-surface.js.map +1 -0
  20. package/dist/cjs/extension-runtime.js +227 -0
  21. package/dist/cjs/extension-runtime.js.map +1 -0
  22. package/dist/cjs/extension-session.js +47 -0
  23. package/dist/cjs/extension-session.js.map +1 -0
  24. package/dist/cjs/extension-tool-context.js +29 -0
  25. package/dist/cjs/extension-tool-context.js.map +1 -0
  26. package/dist/cjs/extension-tool-registration.js +42 -0
  27. package/dist/cjs/extension-tool-registration.js.map +1 -0
  28. package/dist/cjs/extension.js +340 -0
  29. package/dist/cjs/extension.js.map +1 -0
  30. package/dist/cjs/generated/contracts.js +29 -0
  31. package/dist/cjs/generated/contracts.js.map +1 -0
  32. package/dist/cjs/host-api.js +189 -0
  33. package/dist/cjs/host-api.js.map +1 -0
  34. package/dist/cjs/index.js +37 -0
  35. package/dist/cjs/index.js.map +1 -0
  36. package/dist/cjs/json.js +13 -0
  37. package/dist/cjs/json.js.map +1 -0
  38. package/dist/cjs/package.json +3 -0
  39. package/dist/cjs/schema-digest.js +45 -0
  40. package/dist/cjs/schema-digest.js.map +1 -0
  41. package/dist/cjs/testing/conformance.js +23 -0
  42. package/dist/cjs/testing/conformance.js.map +1 -0
  43. package/dist/cjs/testing/harness.js +158 -0
  44. package/dist/cjs/testing/harness.js.map +1 -0
  45. package/dist/cjs/testing/index.js +12 -0
  46. package/dist/cjs/testing/index.js.map +1 -0
  47. package/dist/cjs/testing/mock-transport.js +77 -0
  48. package/dist/cjs/testing/mock-transport.js.map +1 -0
  49. package/dist/cjs/transport.js +244 -0
  50. package/dist/cjs/transport.js.map +1 -0
  51. package/dist/cjs/types.js +19 -0
  52. package/dist/cjs/types.js.map +1 -0
  53. package/dist/cjs/watch-source.js +140 -0
  54. package/dist/cjs/watch-source.js.map +1 -0
  55. package/dist/esm/base-types.js +2 -0
  56. package/dist/esm/base-types.js.map +1 -0
  57. package/dist/esm/capabilities.js +22 -0
  58. package/dist/esm/capabilities.js.map +1 -0
  59. package/dist/esm/connectivity-provider.js +66 -0
  60. package/dist/esm/connectivity-provider.js.map +1 -0
  61. package/dist/esm/errors.js +106 -0
  62. package/dist/esm/errors.js.map +1 -0
  63. package/dist/esm/extension-context.js +24 -0
  64. package/dist/esm/extension-context.js.map +1 -0
  65. package/dist/esm/extension-contract.js +6 -0
  66. package/dist/esm/extension-contract.js.map +1 -0
  67. package/dist/esm/extension-describe.js +82 -0
  68. package/dist/esm/extension-describe.js.map +1 -0
  69. package/dist/esm/extension-initialize.js +63 -0
  70. package/dist/esm/extension-initialize.js.map +1 -0
  71. package/dist/esm/extension-provide-surface.js +77 -0
  72. package/dist/esm/extension-provide-surface.js.map +1 -0
  73. package/dist/esm/extension-runtime.js +214 -0
  74. package/dist/esm/extension-runtime.js.map +1 -0
  75. package/dist/esm/extension-session.js +44 -0
  76. package/dist/esm/extension-session.js.map +1 -0
  77. package/dist/esm/extension-tool-context.js +26 -0
  78. package/dist/esm/extension-tool-context.js.map +1 -0
  79. package/dist/esm/extension-tool-registration.js +39 -0
  80. package/dist/esm/extension-tool-registration.js.map +1 -0
  81. package/dist/esm/extension.js +336 -0
  82. package/dist/esm/extension.js.map +1 -0
  83. package/dist/esm/generated/contracts.js +26 -0
  84. package/dist/esm/generated/contracts.js.map +1 -0
  85. package/dist/esm/host-api.js +185 -0
  86. package/dist/esm/host-api.js.map +1 -0
  87. package/dist/esm/index.js +7 -0
  88. package/dist/esm/index.js.map +1 -0
  89. package/dist/esm/json.js +10 -0
  90. package/dist/esm/json.js.map +1 -0
  91. package/dist/esm/package.json +3 -0
  92. package/dist/esm/schema-digest.js +41 -0
  93. package/dist/esm/schema-digest.js.map +1 -0
  94. package/dist/esm/testing/conformance.js +19 -0
  95. package/dist/esm/testing/conformance.js.map +1 -0
  96. package/dist/esm/testing/harness.js +151 -0
  97. package/dist/esm/testing/harness.js.map +1 -0
  98. package/dist/esm/testing/index.js +4 -0
  99. package/dist/esm/testing/index.js.map +1 -0
  100. package/dist/esm/testing/mock-transport.js +72 -0
  101. package/dist/esm/testing/mock-transport.js.map +1 -0
  102. package/dist/esm/transport.js +239 -0
  103. package/dist/esm/transport.js.map +1 -0
  104. package/dist/esm/types.js +3 -0
  105. package/dist/esm/types.js.map +1 -0
  106. package/dist/esm/watch-source.js +133 -0
  107. package/dist/esm/watch-source.js.map +1 -0
  108. package/dist/types/base-types.d.ts +25 -0
  109. package/dist/types/base-types.d.ts.map +1 -0
  110. package/dist/types/capabilities.d.ts +6 -0
  111. package/dist/types/capabilities.d.ts.map +1 -0
  112. package/dist/types/connectivity-provider.d.ts +14 -0
  113. package/dist/types/connectivity-provider.d.ts.map +1 -0
  114. package/dist/types/errors.d.ts +66 -0
  115. package/dist/types/errors.d.ts.map +1 -0
  116. package/dist/types/extension-context.d.ts +6 -0
  117. package/dist/types/extension-context.d.ts.map +1 -0
  118. package/dist/types/extension-contract.d.ts +65 -0
  119. package/dist/types/extension-contract.d.ts.map +1 -0
  120. package/dist/types/extension-describe.d.ts +16 -0
  121. package/dist/types/extension-describe.d.ts.map +1 -0
  122. package/dist/types/extension-initialize.d.ts +4 -0
  123. package/dist/types/extension-initialize.d.ts.map +1 -0
  124. package/dist/types/extension-provide-surface.d.ts +23 -0
  125. package/dist/types/extension-provide-surface.d.ts.map +1 -0
  126. package/dist/types/extension-runtime.d.ts +14 -0
  127. package/dist/types/extension-runtime.d.ts.map +1 -0
  128. package/dist/types/extension-session.d.ts +16 -0
  129. package/dist/types/extension-session.d.ts.map +1 -0
  130. package/dist/types/extension-tool-context.d.ts +4 -0
  131. package/dist/types/extension-tool-context.d.ts.map +1 -0
  132. package/dist/types/extension-tool-registration.d.ts +3 -0
  133. package/dist/types/extension-tool-registration.d.ts.map +1 -0
  134. package/dist/types/extension.d.ts +59 -0
  135. package/dist/types/extension.d.ts.map +1 -0
  136. package/dist/types/generated/contracts.d.ts +6332 -0
  137. package/dist/types/generated/contracts.d.ts.map +1 -0
  138. package/dist/types/host-api.d.ts +92 -0
  139. package/dist/types/host-api.d.ts.map +1 -0
  140. package/dist/types/index.d.ts +14 -0
  141. package/dist/types/index.d.ts.map +1 -0
  142. package/dist/types/json.d.ts +3 -0
  143. package/dist/types/json.d.ts.map +1 -0
  144. package/dist/types/schema-digest.d.ts +4 -0
  145. package/dist/types/schema-digest.d.ts.map +1 -0
  146. package/dist/types/testing/conformance.d.ts +7 -0
  147. package/dist/types/testing/conformance.d.ts.map +1 -0
  148. package/dist/types/testing/harness.d.ts +51 -0
  149. package/dist/types/testing/harness.d.ts.map +1 -0
  150. package/dist/types/testing/index.d.ts +4 -0
  151. package/dist/types/testing/index.d.ts.map +1 -0
  152. package/dist/types/testing/mock-transport.d.ts +29 -0
  153. package/dist/types/testing/mock-transport.d.ts.map +1 -0
  154. package/dist/types/transport.d.ts +58 -0
  155. package/dist/types/transport.d.ts.map +1 -0
  156. package/dist/types/types.d.ts +115 -0
  157. package/dist/types/types.d.ts.map +1 -0
  158. package/dist/types/watch-source.d.ts +59 -0
  159. package/dist/types/watch-source.d.ts.map +1 -0
  160. package/package.json +49 -0
@@ -0,0 +1,133 @@
1
+ import { InvalidParamsError } from "./errors.js";
2
+ import { cloneJSON } from "./json.js";
3
+ export const WATCH_SOURCE_CAPABILITY = "loop.watch_source";
4
+ export const WATCH_POLL_METHOD = "watch/poll";
5
+ export class ExtensionWatchSources {
6
+ options;
7
+ handlers = new Map();
8
+ constructor(options) {
9
+ this.options = options;
10
+ }
11
+ register(definition, kind, _registerOptions, handler) {
12
+ const cleanKind = kind.trim();
13
+ if (!cleanKind) {
14
+ throw new Error("watch source kind is required");
15
+ }
16
+ if (this.handlers.has(cleanKind)) {
17
+ throw new Error(`watch source already registered: ${cleanKind}`);
18
+ }
19
+ if (this.options.hasUserHandler(WATCH_POLL_METHOD)) {
20
+ throw new Error("watch/poll is reserved by extension.watchSource()");
21
+ }
22
+ this.handlers.set(cleanKind, {
23
+ kind: cleanKind,
24
+ handler: handler,
25
+ });
26
+ this.ensureCapability(definition);
27
+ this.options.bindMethod(WATCH_POLL_METHOD);
28
+ }
29
+ hasHandlers() {
30
+ return this.handlers.size > 0;
31
+ }
32
+ implementedMethods() {
33
+ return this.hasHandlers() ? [WATCH_POLL_METHOD] : [];
34
+ }
35
+ bindMethods() {
36
+ if (this.hasHandlers()) {
37
+ this.options.bindMethod(WATCH_POLL_METHOD);
38
+ }
39
+ }
40
+ kinds() {
41
+ return Array.from(this.handlers.keys()).sort();
42
+ }
43
+ initializeResponseFields() {
44
+ return this.hasHandlers() ? { watch_source_kinds: this.kinds() } : {};
45
+ }
46
+ async handlePoll(request, params) {
47
+ const poll = parseWatchPollRequest(params);
48
+ const registered = this.handlers.get(poll.kind);
49
+ if (!registered) {
50
+ throw new InvalidParamsError("watch source kind is not registered", { kind: poll.kind });
51
+ }
52
+ const context = this.options.makeContext(request);
53
+ const response = await registered.handler({
54
+ kind: registered.kind,
55
+ spec: poll.spec,
56
+ context,
57
+ host: context.host,
58
+ session: context.session,
59
+ ...(poll.expected_state_digest ? { expectedStateDigest: poll.expected_state_digest } : {}),
60
+ });
61
+ return normalizeWatchPollResponse(response);
62
+ }
63
+ ensureCapability(definition) {
64
+ const capabilities = definition.capabilities ?? {};
65
+ capabilities.provides = normalizeStringList([
66
+ ...(capabilities.provides ?? []),
67
+ WATCH_SOURCE_CAPABILITY,
68
+ ]);
69
+ definition.capabilities = capabilities;
70
+ }
71
+ }
72
+ export function isWatchSourceMethod(method) {
73
+ return method === WATCH_POLL_METHOD;
74
+ }
75
+ export function parseWatchPollRequest(params) {
76
+ if (typeof params !== "object" || params === null) {
77
+ throw new InvalidParamsError("watch/poll params must be an object");
78
+ }
79
+ const request = params;
80
+ if (typeof request.spec !== "object" || request.spec === null || Array.isArray(request.spec)) {
81
+ throw new InvalidParamsError("spec must be an object");
82
+ }
83
+ const kind = request.spec.kind;
84
+ if (typeof kind !== "string" || kind.trim() === "") {
85
+ throw new InvalidParamsError("spec.kind is required");
86
+ }
87
+ if (request.expected_state_digest !== undefined &&
88
+ typeof request.expected_state_digest !== "string") {
89
+ throw new InvalidParamsError("expected_state_digest must be a string");
90
+ }
91
+ return {
92
+ spec: cloneJSON(request.spec),
93
+ kind: kind.trim(),
94
+ ...(request.expected_state_digest
95
+ ? { expected_state_digest: request.expected_state_digest.trim() }
96
+ : {}),
97
+ };
98
+ }
99
+ export function normalizeWatchPollResponse(response) {
100
+ if (typeof response !== "object" || response === null) {
101
+ throw new InvalidParamsError("watch source response must be an object");
102
+ }
103
+ if (typeof response.ready !== "boolean") {
104
+ throw new InvalidParamsError("watch source response.ready must be a boolean");
105
+ }
106
+ if (typeof response.event_key !== "string") {
107
+ throw new InvalidParamsError("watch source response.event_key must be a string");
108
+ }
109
+ const eventKey = response.event_key.trim().normalize("NFC");
110
+ if (!eventKey) {
111
+ throw new InvalidParamsError("watch source response.event_key is required");
112
+ }
113
+ if (new TextEncoder().encode(eventKey).byteLength > 256) {
114
+ throw new InvalidParamsError("watch source response.event_key must be at most 256 bytes");
115
+ }
116
+ if (response.state_digest !== undefined && typeof response.state_digest !== "string") {
117
+ throw new InvalidParamsError("watch source response.state_digest must be a string");
118
+ }
119
+ if (response.settled_at !== undefined && typeof response.settled_at !== "string") {
120
+ throw new InvalidParamsError("watch source response.settled_at must be a string");
121
+ }
122
+ return {
123
+ ready: response.ready,
124
+ event_key: eventKey,
125
+ ...(response.state_digest ? { state_digest: response.state_digest } : {}),
126
+ ...(response.payload !== undefined ? { payload: cloneJSON(response.payload) } : {}),
127
+ ...(response.settled_at ? { settled_at: response.settled_at } : {}),
128
+ };
129
+ }
130
+ function normalizeStringList(values) {
131
+ return Array.from(new Set((values ?? []).map(value => value.trim()).filter(Boolean))).sort();
132
+ }
133
+ //# sourceMappingURL=watch-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-source.js","sourceRoot":"","sources":["../../src/watch-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export type JSONPrimitive = string | number | boolean | null;
2
+ export type JSONValue = JSONPrimitive | JSONValue[] | {
3
+ [key: string]: JSONValue;
4
+ };
5
+ export type ISODateTime = string;
6
+ export type ProtocolVersion = "1";
7
+ export type JSONRPCID = string | number;
8
+ export interface JSONRPCRequestEnvelope<Params = unknown> {
9
+ jsonrpc: "2.0";
10
+ id?: JSONRPCID;
11
+ method: string;
12
+ params?: Params;
13
+ }
14
+ export interface JSONRPCResponseEnvelope<Result = unknown, Data = unknown> {
15
+ jsonrpc: "2.0";
16
+ id: JSONRPCID;
17
+ result?: Result;
18
+ error?: JSONRPCErrorObject<Data>;
19
+ }
20
+ export interface JSONRPCErrorObject<Data = unknown> {
21
+ code: number;
22
+ message: string;
23
+ data?: Data;
24
+ }
25
+ //# sourceMappingURL=base-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-types.d.ts","sourceRoot":"","sources":["../../src/base-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACnF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAClC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,sBAAsB,CAAC,MAAM,GAAG,OAAO;IACtD,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB,CAAC,MAAM,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO;IACvE,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB,CAAC,IAAI,GAAG,OAAO;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb"}
@@ -0,0 +1,6 @@
1
+ export declare const TOOL_PROVIDER_CAPABILITY = "tool.provider";
2
+ export declare const PROVIDE_TOOLS_METHOD = "provide_tools";
3
+ export declare const TOOLS_CALL_METHOD = "tools/call";
4
+ export declare function isToolProviderMethod(method: string): boolean;
5
+ export declare function validateProvidedMethodCoverage(provides: readonly string[], implementedMethods: readonly string[]): void;
6
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/capabilities.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AACxD,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AACpD,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,kBAAkB,EAAE,SAAS,MAAM,EAAE,GACpC,IAAI,CAcN"}
@@ -0,0 +1,14 @@
1
+ import type { Extension } from "./extension.js";
2
+ import type { ExtensionContext } from "./extension-contract.js";
3
+ import type { ConnectivityEstablishRequest, ConnectivityReachability, ConnectivityStatusRequest, ConnectivityTeardownRequest, ConnectivityTeardownResponse } from "./types.js";
4
+ export declare const CONNECTIVITY_PROVIDER_CAPABILITY = "connectivity.provider";
5
+ export declare const CONNECTIVITY_ESTABLISH_METHOD = "connectivity/establish";
6
+ export declare const CONNECTIVITY_STATUS_METHOD = "connectivity/status";
7
+ export declare const CONNECTIVITY_TEARDOWN_METHOD = "connectivity/teardown";
8
+ export interface ConnectivityProviderHandlers {
9
+ establish: (context: ExtensionContext, request: ConnectivityEstablishRequest) => Promise<ConnectivityReachability> | ConnectivityReachability;
10
+ status: (context: ExtensionContext, request: ConnectivityStatusRequest) => Promise<ConnectivityReachability> | ConnectivityReachability;
11
+ teardown: (context: ExtensionContext, request: ConnectivityTeardownRequest) => Promise<ConnectivityTeardownResponse> | ConnectivityTeardownResponse;
12
+ }
13
+ export declare function registerConnectivityProvider(extension: Extension, handlers: ConnectivityProviderHandlers): Extension;
14
+ //# sourceMappingURL=connectivity-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectivity-provider.d.ts","sourceRoot":"","sources":["../../src/connectivity-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,KAAK,EACV,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,gCAAgC,0BAA0B,CAAC;AACxE,eAAO,MAAM,6BAA6B,2BAA2B,CAAC;AACtE,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAChE,eAAO,MAAM,4BAA4B,0BAA0B,CAAC;AAEpE,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,CACT,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,4BAA4B,KAClC,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;IAClE,MAAM,EAAE,CACN,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,yBAAyB,KAC/B,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;IAClE,QAAQ,EAAE,CACR,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,2BAA2B,KACjC,OAAO,CAAC,4BAA4B,CAAC,GAAG,4BAA4B,CAAC;CAC3E;AA0CD,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,4BAA4B,GACrC,SAAS,CA4BX"}
@@ -0,0 +1,66 @@
1
+ import type { JSONRPCErrorObject, JSONValue } from "./types.js";
2
+ export interface CapabilityDeniedData {
3
+ method?: string;
4
+ required?: string[];
5
+ granted?: string[];
6
+ field?: string;
7
+ }
8
+ export interface RateLimitedData {
9
+ scope?: string;
10
+ retry_after_ms?: number;
11
+ limit?: number;
12
+ burst?: number;
13
+ }
14
+ export interface AllowedMethodsData {
15
+ allowed_methods?: string[];
16
+ }
17
+ export interface ShutdownProgressData {
18
+ deadline_ms?: number;
19
+ }
20
+ export interface ToolExecutionData {
21
+ tool_id?: string;
22
+ handler?: string;
23
+ error?: string;
24
+ input?: JSONValue;
25
+ sensitive_input_fields?: string[];
26
+ }
27
+ export declare class RPCError<Data = unknown> extends Error {
28
+ readonly code: number;
29
+ readonly data: Data | undefined;
30
+ constructor(code: number, message: string, data?: Data);
31
+ toJSONRPC(): JSONRPCErrorObject<Data>;
32
+ }
33
+ export declare class ParseError extends RPCError<Record<string, JSONValue>> {
34
+ constructor(error: string);
35
+ }
36
+ export declare class InvalidRequestError extends RPCError<Record<string, JSONValue>> {
37
+ constructor(reason: string);
38
+ }
39
+ export declare class MethodNotFoundError extends RPCError<Record<string, string>> {
40
+ constructor(method: string);
41
+ }
42
+ export declare class InvalidParamsError extends RPCError<Record<string, JSONValue>> {
43
+ constructor(error: string, data?: Record<string, JSONValue>);
44
+ }
45
+ export declare class InternalError extends RPCError<Record<string, JSONValue>> {
46
+ constructor(error: string);
47
+ }
48
+ export declare class CapabilityDeniedError extends RPCError<CapabilityDeniedData> {
49
+ constructor(data: CapabilityDeniedData);
50
+ }
51
+ export declare class RateLimitedError extends RPCError<RateLimitedData> {
52
+ constructor(data: RateLimitedData);
53
+ }
54
+ export declare class NotInitializedError extends RPCError<AllowedMethodsData> {
55
+ constructor(data?: AllowedMethodsData);
56
+ }
57
+ export declare class ShutdownInProgressError extends RPCError<ShutdownProgressData> {
58
+ constructor(data?: ShutdownProgressData);
59
+ }
60
+ export declare class ToolExecutionError extends RPCError<ToolExecutionData> {
61
+ constructor(data?: ToolExecutionData);
62
+ }
63
+ export declare function isRPCError(error: unknown): error is RPCError;
64
+ export declare function errorFromObject(error: JSONRPCErrorObject): RPCError;
65
+ export declare function ensureRPCError(error: unknown): RPCError;
66
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { HostAPI } from "./host-api.js";
2
+ import type { ExtensionContext, ExtensionSession } from "./extension-contract.js";
3
+ import type { JSONRPCRequestEnvelope } from "./types.js";
4
+ export declare function makeExtensionContext(request: JSONRPCRequestEnvelope, host: HostAPI, session: ExtensionSession | undefined, stderr: NodeJS.WritableStream): ExtensionContext;
5
+ export declare function writeExtensionError(stderr: NodeJS.WritableStream, message: string, error: unknown): void;
6
+ //# sourceMappingURL=extension-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-context.d.ts","sourceRoot":"","sources":["../../src/extension-context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,MAAM,EAAE,MAAM,CAAC,cAAc,GAC5B,gBAAgB,CAgBlB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,cAAc,EAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,GACb,IAAI,CAGN"}
@@ -0,0 +1,65 @@
1
+ import type { TransportLike } from "./transport.js";
2
+ import type { AcceptedCapabilities, ClarifyAnswer, ClarifyAskParams, ExtensionCommandSpec, ExtensionToolRuntimeDescriptor, ExtensionToolWorkspaceScope, InitializeRequest, InitializeResponse, InitializeRuntime, JSONRPCRequestEnvelope, JSONValue, RiskClass, ToolID, ToolResult } from "./types.js";
3
+ import { HostAPI } from "./host-api.js";
4
+ export declare const SDK_NAME = "@compozy/extension-sdk";
5
+ export declare const SDK_VERSION = "0.1.0";
6
+ export declare const SDK_MIN_COMPOZY_VERSION = "0.3.0-beta.1";
7
+ export declare const SUPPORTED_PROTOCOL_VERSIONS: string[];
8
+ export interface ExtensionDescribeProcess {
9
+ argv: readonly string[];
10
+ stdout: Pick<NodeJS.WritableStream, "write">;
11
+ setExitCode: (code: number) => void;
12
+ }
13
+ export interface ExtensionOptions {
14
+ transport?: TransportLike;
15
+ stderr?: NodeJS.WritableStream;
16
+ sdkVersion?: string;
17
+ describeProcess?: ExtensionDescribeProcess;
18
+ }
19
+ export interface ExtensionSession {
20
+ initializeRequest: InitializeRequest;
21
+ initializeResponse: InitializeResponse;
22
+ runtime: InitializeRuntime;
23
+ acceptedCapabilities: AcceptedCapabilities;
24
+ }
25
+ export interface ExtensionContext {
26
+ readonly request: JSONRPCRequestEnvelope;
27
+ readonly requestId: string | number;
28
+ readonly host: HostAPI;
29
+ readonly session: ExtensionSession;
30
+ log: (...values: unknown[]) => void;
31
+ }
32
+ export type ExtensionHandler<TParams = unknown, TResult = unknown> = (context: ExtensionContext, params: TParams) => Promise<TResult> | TResult;
33
+ export interface ExtensionToolOptions {
34
+ id?: ToolID;
35
+ description?: string;
36
+ friendlyVerb?: string;
37
+ preview?: string;
38
+ inputSchema: JSONValue;
39
+ outputSchema?: JSONValue;
40
+ readOnly?: boolean;
41
+ risk?: RiskClass;
42
+ requiresInteraction?: boolean;
43
+ capabilities?: string[];
44
+ sensitiveInputFields?: string[];
45
+ command?: ExtensionCommandSpec;
46
+ }
47
+ export interface ExtensionToolContext<TInput = unknown> {
48
+ readonly input: TInput;
49
+ readonly context: ExtensionContext;
50
+ readonly host: HostAPI;
51
+ readonly session: ExtensionSession;
52
+ readonly toolID: ToolID;
53
+ readonly handler: string;
54
+ readonly trustedWorkspace?: ExtensionToolWorkspaceScope;
55
+ readonly invocationId?: string;
56
+ askClarification: (question: Omit<ClarifyAskParams, "invocation_id">) => Promise<ClarifyAnswer>;
57
+ }
58
+ export type ExtensionToolHandler<TInput = unknown> = (request: ExtensionToolContext<TInput>) => Promise<ToolResult | JSONValue | string | void> | ToolResult | JSONValue | string | void;
59
+ export type ReadyCallback = (host: HostAPI, session: ExtensionSession) => Promise<void> | void;
60
+ export interface RegisteredTool {
61
+ descriptor: ExtensionToolRuntimeDescriptor;
62
+ handler: ExtensionToolHandler;
63
+ sensitiveInputFields: string[];
64
+ }
65
+ //# sourceMappingURL=extension-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-contract.d.ts","sourceRoot":"","sources":["../../src/extension-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type ExtensionDescribeProcess } from "./extension-contract.js";
2
+ import type { DescribePayload, ExtensionDefinition, ExtensionCommandGroupSpec, ExtensionToolRuntimeDescriptor } from "./types.js";
3
+ import type { RegisteredTool } from "./extension-contract.js";
4
+ interface ExtensionDescribeInput {
5
+ definition: ExtensionDefinition;
6
+ tools: ExtensionToolRuntimeDescriptor[];
7
+ commandGroups: ExtensionCommandGroupSpec[];
8
+ watchSourceKinds: string[];
9
+ sdkVersion: string;
10
+ }
11
+ export declare function defaultExtensionDescribeProcess(): ExtensionDescribeProcess;
12
+ export declare function runExtensionDescribeMode(describeProcess: ExtensionDescribeProcess, describe: () => DescribePayload): boolean;
13
+ export declare function cloneExtensionToolDescriptors(tools: Iterable<RegisteredTool>): ExtensionToolRuntimeDescriptor[];
14
+ export declare function buildExtensionDescribePayload(input: ExtensionDescribeInput): DescribePayload;
15
+ export {};
16
+ //# sourceMappingURL=extension-describe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-describe.d.ts","sourceRoot":"","sources":["../../src/extension-describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,EAC/B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,UAAU,sBAAsB;IAC9B,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,8BAA8B,EAAE,CAAC;IACxC,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,+BAA+B,IAAI,wBAAwB,CAQ1E;AAED,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,wBAAwB,EACzC,QAAQ,EAAE,MAAM,eAAe,GAC9B,OAAO,CAOT;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,GAC9B,8BAA8B,EAAE,CAclC;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,CAiD5F"}
@@ -0,0 +1,4 @@
1
+ import type { InitializeRequest } from "./types.js";
2
+ export declare function parseInitializeRequest(params: unknown): InitializeRequest;
3
+ export declare function validateProtocolVersion(request: InitializeRequest): void;
4
+ //# sourceMappingURL=extension-initialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-initialize.d.ts","sourceRoot":"","sources":["../../src/extension-initialize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,iBAAiB,CAkDzE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAWxE"}
@@ -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,14 @@
1
+ import type { HostAPIMethod, ExtensionToolCallRequest, JSONValue, ShutdownRequest, ToolID, ToolResult } from "./types.js";
2
+ import { ToolExecutionError } from "./errors.js";
3
+ export declare function normalizeStringList(values: readonly string[] | undefined): string[];
4
+ export declare function normalizeHostMethodList(values: readonly HostAPIMethod[] | undefined): HostAPIMethod[];
5
+ export declare function implementedExtensionMethods(userMethods: Iterable<string>, hasTools: boolean, watchMethods: readonly string[]): string[];
6
+ export declare function transportMethods(userMethods: Iterable<string>, hasTools: boolean): string[];
7
+ export declare function ensureSubset(label: string, requested: string[], granted: readonly string[]): void;
8
+ export declare function parseShutdownRequest(params: unknown): ShutdownRequest;
9
+ export declare function parseToolCallRequest(params: unknown): ExtensionToolCallRequest;
10
+ export declare function normalizeToolResult(value: ToolResult | JSONValue | string | void): ToolResult;
11
+ export declare function toolExecutionError(error: unknown, call: ExtensionToolCallRequest, sensitiveInputFields: string[]): ToolExecutionError;
12
+ export declare function normalizeSchema(value: JSONValue, field: string): JSONValue;
13
+ export declare function canonicalExtensionToolID(extensionName: string, handler: string): ToolID;
14
+ //# sourceMappingURL=extension-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-runtime.d.ts","sourceRoot":"","sources":["../../src/extension-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,SAAS,EACT,eAAe,EACf,MAAM,EACN,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,EAA6C,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAI5F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAEnF;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,GAC3C,aAAa,EAAE,CAEjB;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7B,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,MAAM,EAAE,CAOV;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,CAO3F;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAUjG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,CAYrE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,wBAAwB,CAqB9E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAkB7F;AA2BD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,wBAAwB,EAC9B,oBAAoB,EAAE,MAAM,EAAE,GAC7B,kBAAkB,CAiBpB;AAwED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAK1E;AAED,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvF"}
@@ -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"}
@@ -0,0 +1,4 @@
1
+ import type { ExtensionToolContext } from "./extension-contract.js";
2
+ import type { ExtensionToolCallRequest, JSONValue } from "./types.js";
3
+ export declare function makeExtensionToolContext<TInput = JSONValue>(call: ExtensionToolCallRequest, context: ExtensionToolContext["context"]): ExtensionToolContext<TInput>;
4
+ //# sourceMappingURL=extension-tool-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-tool-context.d.ts","sourceRoot":"","sources":["../../src/extension-tool-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAoB,wBAAwB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExF,wBAAgB,wBAAwB,CAAC,MAAM,GAAG,SAAS,EACzD,IAAI,EAAE,wBAAwB,EAC9B,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,GACvC,oBAAoB,CAAC,MAAM,CAAC,CAuB9B"}
@@ -0,0 +1,3 @@
1
+ import type { ExtensionToolHandler, ExtensionToolOptions, RegisteredTool } from "./extension-contract.js";
2
+ export declare function buildRegisteredTool<TInput>(extensionName: string, handler: string, options: ExtensionToolOptions, toolHandler: ExtensionToolHandler<TInput>): RegisteredTool;
3
+ //# sourceMappingURL=extension-tool-registration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-tool-registration.d.ts","sourceRoot":"","sources":["../../src/extension-tool-registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACf,MAAM,yBAAyB,CAAC;AASjC,wBAAgB,mBAAmB,CAAC,MAAM,EACxC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,oBAAoB,CAAC,MAAM,CAAC,GACxC,cAAc,CAqChB"}
@@ -0,0 +1,59 @@
1
+ import type { TransportLike } from "./transport.js";
2
+ import { type ExtensionWatchSourceHandler, type ExtensionWatchSourceOptions } from "./watch-source.js";
3
+ import { HostAPI } from "./host-api.js";
4
+ import type { ExtensionDefinition, HookEvent, ExtensionToolRuntimeDescriptor, JSONValue } from "./types.js";
5
+ import { registerProvideSurface, type ProvideSurfaceRegistration } from "./extension-provide-surface.js";
6
+ import type { ExtensionHandler, ExtensionOptions, ExtensionToolHandler, ExtensionToolOptions, ReadyCallback } from "./extension-contract.js";
7
+ export declare class Extension {
8
+ readonly definition: ExtensionDefinition;
9
+ private transport;
10
+ private readonly stderr;
11
+ private readonly sdkVersion;
12
+ private readonly describeProcess;
13
+ private readonly handlers;
14
+ private readonly toolHandlers;
15
+ private readonly commandGroups;
16
+ private readonly watchSources;
17
+ private readonly readyCallbacks;
18
+ private readonly transportBindings;
19
+ private readonly provideSurfaces;
20
+ private readonly host;
21
+ private initialized;
22
+ private shutdownStarted;
23
+ private shutdownDeadlineMS;
24
+ private session;
25
+ private startPromise;
26
+ private resolveStart;
27
+ private rejectStart;
28
+ constructor(definition: ExtensionDefinition, options?: ExtensionOptions);
29
+ bindTransport(transport: TransportLike): this;
30
+ handle<TParams = unknown, TResult = unknown>(method: string, handler: ExtensionHandler<TParams, TResult>): this;
31
+ [registerProvideSurface](capability: string, registrations: readonly ProvideSurfaceRegistration[]): this;
32
+ tool<TInput = unknown>(handler: string, options: ExtensionToolOptions, toolHandler: ExtensionToolHandler<TInput>): this;
33
+ watchSource<TSpec extends JSONValue = JSONValue>(kind: string, options: ExtensionWatchSourceOptions, handler: ExtensionWatchSourceHandler<TSpec>): this;
34
+ commandGroup(path: string, summary: string): this;
35
+ private ensureRegistrationOpen;
36
+ onReady(callback: ReadyCallback): this;
37
+ start(): Promise<HostAPI>;
38
+ getImplementedMethods(): string[];
39
+ getSupportedHookEvents(): HookEvent[];
40
+ getToolDescriptors(): ExtensionToolRuntimeDescriptor[];
41
+ describe(): import("./types.js").DescribePayload;
42
+ private bindTransportHandlers;
43
+ private bindMethod;
44
+ private dispatch;
45
+ private handleInitialize;
46
+ private finishInitialization;
47
+ private runReadyCallback;
48
+ private handleHealthCheck;
49
+ private handleShutdown;
50
+ private handleProvideTools;
51
+ private handleToolCall;
52
+ private handleUserMethod;
53
+ private makeContext;
54
+ private logError;
55
+ private ensureToolProviderCapability;
56
+ private ensureToolProviderHandlers;
57
+ }
58
+ export type { ExtensionContext, ExtensionDescribeProcess, ExtensionHandler, ExtensionOptions, ExtensionSession, ExtensionToolContext, ExtensionToolHandler, ExtensionToolOptions, } from "./extension-contract.js";
59
+ //# sourceMappingURL=extension.d.ts.map
@@ -0,0 +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,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"}