@laserdata/laser-sdk 0.4.0 → 0.5.0

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 (95) hide show
  1. package/README.md +49 -3
  2. package/dist/agent/reliable-consumer.d.ts.map +1 -1
  3. package/dist/agent/reliable-consumer.js +5 -1
  4. package/dist/agent/reliable-consumer.js.map +1 -1
  5. package/dist/bridges/a2a.d.ts +1 -1
  6. package/dist/bridges/a2a.js +1 -1
  7. package/dist/client/capabilities.d.ts +15 -2
  8. package/dist/client/capabilities.d.ts.map +1 -1
  9. package/dist/client/capabilities.js +22 -1
  10. package/dist/client/capabilities.js.map +1 -1
  11. package/dist/client/connect-options.d.ts +5 -0
  12. package/dist/client/connect-options.d.ts.map +1 -0
  13. package/dist/client/connect-options.js +18 -0
  14. package/dist/client/connect-options.js.map +1 -0
  15. package/dist/client/errors.d.ts +23 -1
  16. package/dist/client/errors.d.ts.map +1 -1
  17. package/dist/client/errors.js +34 -0
  18. package/dist/client/errors.js.map +1 -1
  19. package/dist/client/laser.d.ts +17 -1
  20. package/dist/client/laser.d.ts.map +1 -1
  21. package/dist/client/laser.js +96 -26
  22. package/dist/client/laser.js.map +1 -1
  23. package/dist/client/managed.d.ts +1 -0
  24. package/dist/client/managed.d.ts.map +1 -1
  25. package/dist/client/managed.js +15 -2
  26. package/dist/client/managed.js.map +1 -1
  27. package/dist/iggy/apache-iggy.d.ts +69 -4
  28. package/dist/iggy/apache-iggy.d.ts.map +1 -1
  29. package/dist/iggy/apache-iggy.js +416 -23
  30. package/dist/iggy/apache-iggy.js.map +1 -1
  31. package/dist/index.d.ts +8 -2
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +4 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/managed/filters.d.ts +358 -0
  36. package/dist/managed/filters.d.ts.map +1 -0
  37. package/dist/managed/filters.js +1913 -0
  38. package/dist/managed/filters.js.map +1 -0
  39. package/dist/stream/consumer.d.ts +11 -1
  40. package/dist/stream/consumer.d.ts.map +1 -1
  41. package/dist/stream/consumer.js +82 -9
  42. package/dist/stream/consumer.js.map +1 -1
  43. package/dist/stream/stream.d.ts +4 -1
  44. package/dist/stream/stream.d.ts.map +1 -1
  45. package/dist/stream/stream.js +11 -1
  46. package/dist/stream/stream.js.map +1 -1
  47. package/dist/stream/topic.d.ts +2 -0
  48. package/dist/stream/topic.d.ts.map +1 -1
  49. package/dist/stream/topic.js +6 -0
  50. package/dist/stream/topic.js.map +1 -1
  51. package/dist/wire/authz.d.ts +1 -1
  52. package/dist/wire/authz.d.ts.map +1 -1
  53. package/dist/wire/authz.js +12 -3
  54. package/dist/wire/authz.js.map +1 -1
  55. package/dist/wire/codes.d.ts +17 -0
  56. package/dist/wire/codes.d.ts.map +1 -1
  57. package/dist/wire/codes.js +17 -0
  58. package/dist/wire/codes.js.map +1 -1
  59. package/dist/wire/commands.d.ts +12 -1
  60. package/dist/wire/commands.d.ts.map +1 -1
  61. package/dist/wire/commands.js +13 -1
  62. package/dist/wire/commands.js.map +1 -1
  63. package/dist/wire/control.d.ts +4 -0
  64. package/dist/wire/control.d.ts.map +1 -1
  65. package/dist/wire/control.js +5 -0
  66. package/dist/wire/control.js.map +1 -1
  67. package/dist/wire/filter-codecs.d.ts +16 -0
  68. package/dist/wire/filter-codecs.d.ts.map +1 -0
  69. package/dist/wire/filter-codecs.js +519 -0
  70. package/dist/wire/filter-codecs.js.map +1 -0
  71. package/dist/wire/filter-eval.d.ts +75 -0
  72. package/dist/wire/filter-eval.d.ts.map +1 -0
  73. package/dist/wire/filter-eval.js +899 -0
  74. package/dist/wire/filter-eval.js.map +1 -0
  75. package/dist/wire/filter.d.ts +772 -0
  76. package/dist/wire/filter.d.ts.map +1 -0
  77. package/dist/wire/filter.js +2869 -0
  78. package/dist/wire/filter.js.map +1 -0
  79. package/dist/wire/hello.d.ts +18 -0
  80. package/dist/wire/hello.d.ts.map +1 -1
  81. package/dist/wire/hello.js +29 -3
  82. package/dist/wire/hello.js.map +1 -1
  83. package/dist/wire/http.d.ts +22 -0
  84. package/dist/wire/http.d.ts.map +1 -1
  85. package/dist/wire/http.js +54 -47
  86. package/dist/wire/http.js.map +1 -1
  87. package/dist/wire/limits.d.ts +25 -0
  88. package/dist/wire/limits.d.ts.map +1 -1
  89. package/dist/wire/limits.js +25 -0
  90. package/dist/wire/limits.js.map +1 -1
  91. package/dist/wire/result.d.ts +4 -0
  92. package/dist/wire/result.d.ts.map +1 -1
  93. package/dist/wire/result.js +50 -0
  94. package/dist/wire/result.js.map +1 -1
  95. package/package.json +6 -6
@@ -1,3 +1,5 @@
1
+ import { Filters } from "../managed/filters.js";
2
+ import { type ConnectOptions } from "./connect-options.js";
1
3
  import { type PublishOptions } from "./publish-options.js";
2
4
  import { type ClientOwnership, type IggyClient, type LaserTransport } from "../iggy/apache-iggy.js";
3
5
  import { type Agdx } from "../agent/agdx.js";
@@ -58,6 +60,7 @@ interface TopologyOverrides {
58
60
  readonly changesTopic: boolean;
59
61
  }
60
62
  interface LaserBuildOptions {
63
+ readonly connectOptions: ConnectOptions;
61
64
  readonly publishOptions: PublishOptions;
62
65
  readonly connectionString?: string;
63
66
  readonly address?: {
@@ -94,6 +97,7 @@ export interface InjectedClientOptions {
94
97
  }
95
98
  export declare class LaserBuilder {
96
99
  private readonly create;
100
+ private connectOptionsValue;
97
101
  private publishOptionsValue;
98
102
  private connectionStringValue;
99
103
  private addressValue;
@@ -108,6 +112,10 @@ export declare class LaserBuilder {
108
112
  private topologyValue;
109
113
  private topologyOverridesValue;
110
114
  constructor(create: (options: LaserBuildOptions) => Promise<Laser>);
115
+ /**
116
+ * Budget for the initial connect: TCP dial, TLS handshake, login, and the managed capability probe. An expired budget rejects with `TimeoutError` naming the stage that stalled. Default: 30 seconds, or `LASER_CONNECT_TIMEOUT_MS`.
117
+ */
118
+ connectTimeout(milliseconds: number): this;
111
119
  publishTimeout(milliseconds: number): this;
112
120
  publishMaxRetries(value: number): this;
113
121
  publishRetryBackoff(milliseconds: number): this;
@@ -159,7 +167,6 @@ export declare class Laser implements AsyncDisposable {
159
167
  private readonly configuredCapabilities;
160
168
  private readonly capabilityOverride?;
161
169
  private readonly ownsClosure;
162
- private closed;
163
170
  private constructor();
164
171
  get opsStream(): string;
165
172
  get controlTopic(): string;
@@ -167,6 +174,9 @@ export declare class Laser implements AsyncDisposable {
167
174
  get changesTopic(): string;
168
175
  static builder(): LaserBuilder;
169
176
  static fromIggyClient(client: IggyClient, options?: InjectedClientOptions): Promise<Laser>;
177
+ /**
178
+ * Connect using an Iggy connection string. Connecting gives up after 30 seconds, or `LASER_CONNECT_TIMEOUT_MS`, with a `TimeoutError` that says whether the server never accepted the connection or never answered the login. Use `Laser.builder().connectTimeout()` for another budget.
179
+ */
170
180
  static connect(connectionString: string): Promise<Laser>;
171
181
  static connectWithStream(connectionString: string, stream: string): Promise<Laser>;
172
182
  static connectEnv(env?: Readonly<Record<string, string | undefined>>): Promise<Laser>;
@@ -179,6 +189,7 @@ export declare class Laser implements AsyncDisposable {
179
189
  private observe;
180
190
  private managedTransport;
181
191
  capabilities(): Promise<Capabilities>;
192
+ private probeCapabilitiesBefore;
182
193
  refreshCapabilities(): Promise<Capabilities>;
183
194
  waitUntilReady(timeoutMs: number): Promise<Capabilities>;
184
195
  private applyAdvertisedTopology;
@@ -238,6 +249,11 @@ export declare class Laser implements AsyncDisposable {
238
249
  queryTarget(target: QueryTarget): QueryRequest;
239
250
  queryLakehouse(destinationId: DestinationId, destinationGeneration: bigint): QueryRequest;
240
251
  destinations(): Destinations;
252
+ /**
253
+ * Server-side consumer filters: filtered readers, previews, sample tests, and
254
+ * the saved-filter catalog.
255
+ */
256
+ filters(): Filters;
241
257
  kv(namespace: string): Kv;
242
258
  kvNamespaces(): Promise<readonly KvNamespaceInfo[]>;
243
259
  executeBatch(ops: readonly BatchItem[]): Promise<readonly Uint8Array[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"laser.d.ts","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAA0B,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,EACL,aAAa,EACb,qBAAqB,EAGrB,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,EAEL,aAAa,EAIb,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAWzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AASjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAA4C,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,WAAW,EAAmB,MAAM,oBAAoB,CAAA;AAIjE,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,6BAA6B,CAAA;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAWxD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,YAAY,EAMlB,MAAM,mBAAmB,CAAA;AAI1B,UAAU,aAAa;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAC/B;AAgBD,UAAU,iBAAiB;IACzB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACnE,QAAQ,CAAC,WAAW,CAAC,EACjB;QAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAC3F;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAA;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;QAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;QAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;KAC/C,CAAA;IACD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAA;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;CAClC;AAED,qBAAa,YAAY;IAeX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAdnC,OAAO,CAAC,mBAAmB,CAA8B;IACzD,OAAO,CAAC,qBAAqB,CAAoB;IACjD,OAAO,CAAC,YAAY,CAA8D;IAClF,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,sBAAsB,CAA2C;IAEzE,YAA6B,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,KAAK,CAAC,EAAI;IAEvF,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAGzC;IAED,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGrC;IAED,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAG9C;IAED,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGpC;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,IAAI,CAGvC;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAGpD;IAED,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGzB;IAED,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAA;KAAO,GAAG,IAAI,CAI3F;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGjC;IAED,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAGtC;IAED,QAAQ,CACN,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACzC,IAAI,CAGN;IAED,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGnC;IAED,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAGjC;IAED,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI7B;IAED,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhC;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAInC;IAED,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhC;IAED,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CA6CxB;CACF;AAED,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAWvB,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAExD,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AA6EpF,uFAAuF;AACvF,qBAAa,KAAM,YAAW,eAAe;IAIzC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAd9B,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,eAaH;IAEJ,IAAI,SAAS,IAAI,MAAM,CAItB;IAED,IAAI,YAAY,IAAI,MAAM,CAIzB;IAED,IAAI,eAAe,IAAI,MAAM,CAI5B;IAED,IAAI,YAAY,IAAI,MAAM,CAIzB;IAED,MAAM,CAAC,OAAO,IAAI,YAAY,CAwD7B;IAED,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,CAO7F;IAED,OAAa,OAAO,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAK7D;IAED,OAAa,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAKvF;IAED,OAAa,UAAU,CACrB,GAAG,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,GAC9D,OAAO,CAAC,KAAK,CAAC,CAShB;IAED,OAAa,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAEnC;IAED,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAevC;IAED,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,KAAK,CAelD;IAED,YAAY,CACV,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACzC,KAAK,CAeP;IAED,YAAY,CAAC,QAAQ,EAAE,WAAW,GAAG,KAAK,CAezC;IAED,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,KAAK,CAe3C;YAEa,OAAO;IAgBrB,OAAO,CAAC,gBAAgB;IASlB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAkB1C;IAEK,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC,CAIjD;IAEK,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAkB7D;IAED,OAAO,CAAC,uBAAuB;IAW/B,CAAC,kBAAkB,CAAC,IAAI,cAAc,CAErC;IAED,CAAC,iBAAiB,CAAC,IAAI,WAAW,GAAG,SAAS,CAE7C;IAED,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAErD;IAED,CAAC,eAAe,CAAC,CACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAC/D,OAAO,CAAC,UAAU,CAAC,CAKrB;IAED,IAAI,UAAU,IAAI,cAAc,CAAC,YAAY,CAAC,CAE7C;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB3B;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAOzB;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,GAAG,IAAI,CAiCvE;IAED,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAE7B;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAExC;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAE/B;IAED,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,cAAc,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,iBAAiB,CACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,cAAc,EAC5B,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,gBAAgB,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9E;IAED,UAAU,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAErF;IAED,OAAO,CACL,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAEhC;IAED,aAAa,CACX,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC,CAExB;IAED,OAAO,CAAC,YAAY,EAAE,cAAc,GAAG,YAAY,CAElD;IAED;;0CAEsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,QAAQ,CAE3C;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAEtC;IAED,8DAA8D;IAC9D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAE1D;IAED,2DAA2D;IAC3D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAE7C;IAED,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAIvF;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAEzC;IAEK,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcjD;IAEK,SAAS,CACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAA;KAAO,GACnD,OAAO,CAAC,IAAI,CAAC,CA8Cf;IAEK,cAAc,CAAC,YAAY,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAarF;YAEa,kBAAkB;IAahC,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAOnD;IAEK,iBAAiB,CACrB,YAAY,EAAE,cAAc,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CA0BjC;IAEK,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4B/E;IAEK,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC/D;IAEK,OAAO,CACX,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAevB;IAED,cAAc,IAAI,qBAAqB,CAEtC;IAEK,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWnE;IAEK,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnC;IAEK,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAS5C;IAEK,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE;IAEK,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjE;IAEK,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;IAEK,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAExF;IAEK,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;YAEa,mBAAmB;IAajC,OAAO,CAAC,oBAAoB;YASd,QAAQ;IAYtB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAEjC;IAED,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAO7C;IAED,cAAc,CAAC,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,GAAG,YAAY,CAExF;IAED,YAAY,IAAI,YAAY,CAE3B;IAED,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE,CAExB;IAEK,YAAY,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAExD;IAEK,YAAY,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAG5E;IAED,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEzB;IAEK,KAAK,IAAI,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAE1C;IAED,WAAW,IAAI,WAAW,CAMzB;IAED,QAAQ,IAAI,QAAQ,CAEnB;IAED,OAAO,IAAI,OAAO,CAMjB;IAED,IAAI,IAAI,IAAI,CAMX;IAED,KAAK,IAAI,KAAK,CAKb;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAE/B;IAEK,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,CAEnC;IAEK,SAAS,CAAC,OAAO,CAAC,EAAE;QACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KACzB,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAE3B;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAErD;IAEK,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAE5D;IAEK,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1C;IAEK,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5C;IAEK,SAAS,CACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAQf;IAEK,YAAY,CAChB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAQ5B;YAEa,cAAc;YAYd,YAAY;YAqBZ,WAAW;YAaX,WAAW;IAazB,qEAAqE;IAC/D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAU3B;IAED,6CAA6C;IAC7C,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;CACF"}
1
+ {"version":3,"file":"laser.d.ts","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { Filters } from "../managed/filters.js";
2
+ import { connectOptions } from "./connect-options.js";
1
3
  import { publishOptions } from "./publish-options.js";
2
4
  import { ApacheIggyTransport } from "../iggy/apache-iggy.js";
3
5
  import { createAgdx } from "../agent/agdx.js";
@@ -60,6 +62,7 @@ const NO_TOPOLOGY_OVERRIDES = {
60
62
  };
61
63
  export class LaserBuilder {
62
64
  create;
65
+ connectOptionsValue = {};
63
66
  publishOptionsValue = {};
64
67
  connectionStringValue;
65
68
  addressValue;
@@ -76,6 +79,13 @@ export class LaserBuilder {
76
79
  constructor(create) {
77
80
  this.create = create;
78
81
  }
82
+ /**
83
+ * Budget for the initial connect: TCP dial, TLS handshake, login, and the managed capability probe. An expired budget rejects with `TimeoutError` naming the stage that stalled. Default: 30 seconds, or `LASER_CONNECT_TIMEOUT_MS`.
84
+ */
85
+ connectTimeout(milliseconds) {
86
+ this.connectOptionsValue = { timeoutMs: milliseconds };
87
+ return this;
88
+ }
79
89
  publishTimeout(milliseconds) {
80
90
  this.publishOptionsValue = { ...this.publishOptionsValue, timeoutMs: milliseconds };
81
91
  return this;
@@ -176,6 +186,7 @@ export class LaserBuilder {
176
186
  throw new ConfigError(`${name} must not be empty`);
177
187
  }
178
188
  return this.create({
189
+ connectOptions: connectOptions(this.connectOptionsValue),
179
190
  publishOptions: publishOptions(this.publishOptionsValue),
180
191
  ...(this.connectionStringValue !== undefined
181
192
  ? { connectionString: this.connectionStringValue }
@@ -211,8 +222,7 @@ const WELL_KNOWN_AGENT_TOPICS = [
211
222
  AgentTopic.HumanInput,
212
223
  AgentTopic.Audit,
213
224
  AgentTopic.WorkflowJournal,
214
- AgentTopic.Dlq,
215
- AgentTopic.Registry
225
+ AgentTopic.Dlq
216
226
  ];
217
227
  function actionKind(kind) {
218
228
  switch (kind) {
@@ -276,7 +286,6 @@ export class Laser {
276
286
  configuredCapabilities;
277
287
  capabilityOverride;
278
288
  ownsClosure;
279
- closed = false;
280
289
  constructor(transport, defaultStream, capabilitiesOnce, shared, observer = NOOP_OBSERVER, governor, verifier, configuredTopology = DEFAULT_TOPOLOGY, topologyOverrides = NO_TOPOLOGY_OVERRIDES, configuredCapabilities = OPEN_CAPABILITIES, capabilityOverride, ownsClosure = true) {
281
290
  this.transport = transport;
282
291
  this.defaultStream = defaultStream;
@@ -313,9 +322,10 @@ export class Laser {
313
322
  }
314
323
  static builder() {
315
324
  return new LaserBuilder(async (options) => {
325
+ const deadline = Date.now() + options.connectOptions.timeoutMs;
316
326
  let transport;
317
327
  if (options.client !== undefined) {
318
- transport = await ApacheIggyTransport.fromClient(options.client, options.ownership, options.publishOptions);
328
+ transport = await ApacheIggyTransport.fromClient(options.client, options.ownership, options.publishOptions, deadline);
319
329
  }
320
330
  else if (options.address !== undefined) {
321
331
  const credentials = options.credentials ?? {
@@ -329,10 +339,10 @@ export class Laser {
329
339
  const authorityHost = options.address.host.includes(":")
330
340
  ? `[${options.address.host.replace(/^\[|\]$/g, "")}]`
331
341
  : options.address.host;
332
- transport = await ApacheIggyTransport.connect(`iggy://${userInfo}@${authorityHost}:${String(options.address.port)}`, options.publishOptions);
342
+ transport = await ApacheIggyTransport.connect(`iggy://${userInfo}@${authorityHost}:${String(options.address.port)}`, options.publishOptions, deadline);
333
343
  }
334
344
  else {
335
- transport = await ApacheIggyTransport.connect(options.connectionString ?? LOCAL_CONNECTION_STRING, options.publishOptions);
345
+ transport = await ApacheIggyTransport.connect(options.connectionString ?? LOCAL_CONNECTION_STRING, options.publishOptions, deadline);
336
346
  }
337
347
  const laser = new Laser(transport, options.defaultStream, options.capabilities === undefined
338
348
  ? new AsyncOnce()
@@ -340,7 +350,7 @@ export class Laser {
340
350
  ? undefined
341
351
  : new GovernorState(options.governor.policy, options.governor.mode, undefined, options.governor.retention), options.verifier, options.topology, options.topologyOverrides, options.capabilities ?? OPEN_CAPABILITIES);
342
352
  if (options.capabilities === undefined)
343
- await laser.capabilities();
353
+ await laser.probeCapabilitiesBefore(deadline);
344
354
  return laser;
345
355
  });
346
356
  }
@@ -354,16 +364,21 @@ export class Laser {
354
364
  builder.observer(options.observer);
355
365
  return builder.connect();
356
366
  }
367
+ /**
368
+ * Connect using an Iggy connection string. Connecting gives up after 30 seconds, or `LASER_CONNECT_TIMEOUT_MS`, with a `TimeoutError` that says whether the server never accepted the connection or never answered the login. Use `Laser.builder().connectTimeout()` for another budget.
369
+ */
357
370
  static async connect(connectionString) {
358
- const transport = await ApacheIggyTransport.connect(connectionString);
371
+ const deadline = Date.now() + connectOptions().timeoutMs;
372
+ const transport = await ApacheIggyTransport.connect(connectionString, undefined, deadline);
359
373
  const laser = new Laser(transport, undefined, new AsyncOnce(), newSharedState());
360
- await laser.capabilities();
374
+ await laser.probeCapabilitiesBefore(deadline);
361
375
  return laser;
362
376
  }
363
377
  static async connectWithStream(connectionString, stream) {
364
- const transport = await ApacheIggyTransport.connect(connectionString);
378
+ const deadline = Date.now() + connectOptions().timeoutMs;
379
+ const transport = await ApacheIggyTransport.connect(connectionString, undefined, deadline);
365
380
  const laser = new Laser(transport, stream, new AsyncOnce(), newSharedState());
366
- await laser.capabilities();
381
+ await laser.probeCapabilitiesBefore(deadline);
367
382
  return laser;
368
383
  }
369
384
  static async connectEnv(env = process.env) {
@@ -424,6 +439,23 @@ export class Laser {
424
439
  this.applyAdvertisedTopology(capabilities);
425
440
  return capabilities;
426
441
  }
442
+ async probeCapabilitiesBefore(deadline) {
443
+ await this.capabilitiesOnce.get(async () => {
444
+ let timer;
445
+ const expired = new Promise((resolve) => {
446
+ timer = setTimeout(() => {
447
+ resolve(OPEN_CAPABILITIES);
448
+ }, Math.max(0, deadline - Date.now()));
449
+ });
450
+ try {
451
+ return mergeCapabilities(this.configuredCapabilities, await Promise.race([probeCapabilities(this.managedTransport()), expired]));
452
+ }
453
+ finally {
454
+ clearTimeout(timer);
455
+ }
456
+ });
457
+ await this.capabilities();
458
+ }
427
459
  async refreshCapabilities() {
428
460
  if (this.capabilityOverride !== undefined)
429
461
  return this.capabilityOverride;
@@ -493,7 +525,17 @@ export class Laser {
493
525
  : {}),
494
526
  payload,
495
527
  signed: false
496
- }), async (schemaId) => (await this.schemas().get(schemaId))?.schema, (operation, attributes, effect) => this.observe(operation, attributes, effect));
528
+ }), async (schemaId) => (await this.schemas().get(schemaId))?.schema, (operation, attributes, effect) => this.observe(operation, attributes, effect), () => {
529
+ this.shared.registryCaches.delete(name);
530
+ for (const [key, hub] of this.shared.replyHubs) {
531
+ if (!key.startsWith(`${name}\u001f`))
532
+ continue;
533
+ this.shared.replyHubs.delete(key);
534
+ void hub.then((value) => {
535
+ value.stop();
536
+ }, () => undefined);
537
+ }
538
+ });
497
539
  }
498
540
  topic(name) {
499
541
  if (this.defaultStream === undefined) {
@@ -764,6 +806,7 @@ export class Laser {
764
806
  }
765
807
  async agentRegistry() {
766
808
  const stream = this.requireDefaultStream("agentRegistry()");
809
+ await this.topic(AgentTopic.Registry).ensure(1);
767
810
  let cache = this.shared.registryCaches.get(stream);
768
811
  if (cache === undefined) {
769
812
  cache = newRegistryCache();
@@ -775,6 +818,7 @@ export class Laser {
775
818
  async publishCard(source, card) {
776
819
  validateAgentCard(card);
777
820
  const body = encodeNamed(encodeAgentCard(card));
821
+ await this.topic(AgentTopic.Registry).ensure(1);
778
822
  await this.agdx(AgentTopic.Registry, source, ConversationId.new())
779
823
  .status(OPERATION_CARD)
780
824
  .body(body)
@@ -794,6 +838,7 @@ export class Laser {
794
838
  await this.publishRegistryFact(OPERATION_UNQUARANTINE, operator, agent, key);
795
839
  }
796
840
  async publishRegistryFact(operation, operator, agent, key) {
841
+ await this.topic(AgentTopic.Registry).ensure(1);
797
842
  let fact = this.agdx(AgentTopic.Registry, operator, ConversationId.new())
798
843
  .status(operation)
799
844
  .body(new TextEncoder().encode(agent.asString()));
@@ -814,7 +859,10 @@ export class Laser {
814
859
  if (hub === undefined) {
815
860
  hub = ReplyHub.create(this.transport, stream, topic, this.observer, this.verifier);
816
861
  this.shared.replyHubs.set(key, hub);
817
- void hub.catch(() => this.shared.replyHubs.delete(key));
862
+ void hub.catch(() => {
863
+ if (this.shared.replyHubs.get(key) === hub)
864
+ this.shared.replyHubs.delete(key);
865
+ });
818
866
  }
819
867
  return hub;
820
868
  }
@@ -830,6 +878,30 @@ export class Laser {
830
878
  destinations() {
831
879
  return new Destinations(this.managedTransport(), () => this.capabilities());
832
880
  }
881
+ /**
882
+ * Server-side consumer filters: filtered readers, previews, sample tests, and
883
+ * the saved-filter catalog.
884
+ */
885
+ filters() {
886
+ const transport = this.transport;
887
+ return new Filters({
888
+ sendManaged: this.managedTransport().sendManaged,
889
+ ensureConsumerGroup: (streamId, topicId, name) => transport.ensureConsumerGroup(streamId, topicId, name),
890
+ getTopicPartitionCount: (streamId, topicId) => transport.getTopicPartitionCount(streamId, topicId),
891
+ joinConsumerGroup: (streamId, topicId, name) => transport.joinConsumerGroup(streamId, topicId, name),
892
+ leaveConsumerGroup: (streamId, topicId, name) => transport.leaveConsumerGroup(streamId, topicId, name),
893
+ ...(transport.joinExistingConsumerGroup !== undefined
894
+ ? { joinExistingConsumerGroup: transport.joinExistingConsumerGroup.bind(transport) }
895
+ : {}),
896
+ ...(transport.openNodeConnection !== undefined
897
+ ? { openNodeConnection: transport.openNodeConnection.bind(transport) }
898
+ : {}),
899
+ ...(transport.openCoordinator !== undefined
900
+ ? { openCoordinator: transport.openCoordinator.bind(transport) }
901
+ : {}),
902
+ ...(transport.connectsNodes !== undefined ? { connectsNodes: transport.connectsNodes } : {})
903
+ }, () => this.capabilities());
904
+ }
833
905
  kv(namespace) {
834
906
  return new Kv(this.managedTransport(), () => this.capabilities(), namespace);
835
907
  }
@@ -946,22 +1018,20 @@ export class Laser {
946
1018
  }
947
1019
  /** Closes owned transport resources. Safe to call more than once. */
948
1020
  async close() {
949
- if (this.closed)
950
- return;
951
- this.closed = true;
952
- if (!this.ownsClosure)
953
- return;
954
- const hubs = await Promise.allSettled(this.shared.replyHubs.values());
955
- for (const hub of hubs) {
956
- if (hub.status === "fulfilled")
957
- hub.value.stop();
958
- }
959
- this.shared.replyHubs.clear();
960
- await this.observe("laser.close", { operation: "close" }, () => this.transport.close());
1021
+ this.shared.closing ??= (async () => {
1022
+ for (const hub of this.shared.replyHubs.values()) {
1023
+ void hub.then((value) => {
1024
+ value.stop();
1025
+ }, () => undefined);
1026
+ }
1027
+ this.shared.replyHubs.clear();
1028
+ await this.observe("laser.close", { operation: "close" }, () => this.transport.close());
1029
+ })();
1030
+ await this.shared.closing;
961
1031
  }
962
1032
  /** Delegates async disposal to `close()`. */
963
1033
  [Symbol.asyncDispose]() {
964
- return this.close();
1034
+ return this.ownsClosure ? this.close() : Promise.resolve();
965
1035
  }
966
1036
  }
967
1037
  //# sourceMappingURL=laser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"laser.js","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"laser.js","sourceRoot":"","sources":["../../src/client/laser.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { LaserTransport } from "../iggy/apache-iggy.js";
2
2
  import type { ManagedCommand } from "../wire/commands.js";
3
3
  import { type Capabilities } from "./capabilities.js";
4
4
  export type ManagedTransport = Pick<LaserTransport, "sendManaged">;
5
+ export declare function requireManagedCommand<Request, Reply>(capabilities: Capabilities, command: ManagedCommand<Request, Reply>): void;
5
6
  export declare function executeManaged<Request, Reply>(transport: ManagedTransport, capabilities: Capabilities, command: ManagedCommand<Request, Reply>, request: Request, options?: {
6
7
  readonly retryAfterReconnect?: boolean;
7
8
  }): Promise<Reply>;
@@ -1 +1 @@
1
- {"version":3,"file":"managed.d.ts","sourceRoot":"","sources":["../../src/client/managed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,mBAAmB,CAAA;AAExE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;AAgBlE,wBAAsB,cAAc,CAAC,OAAO,EAAE,KAAK,EACjD,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EACvC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,GACnD,OAAO,CAAC,KAAK,CAAC,CAOhB"}
1
+ {"version":3,"file":"managed.d.ts","sourceRoot":"","sources":["../../src/client/managed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,mBAAmB,CAAA;AAExE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;AA0BlE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAClD,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,GACtC,IAAI,CAGN;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,KAAK,EACjD,SAAS,EAAE,gBAAgB,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EACvC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,GACnD,OAAO,CAAC,KAAK,CAAC,CAMhB"}
@@ -1,16 +1,29 @@
1
- import { ProtocolError } from "./errors.js";
1
+ import { FilterExecutionError, ProtocolError } from "./errors.js";
2
2
  import { requireCapability } from "./capabilities.js";
3
3
  function requireVersion(capabilities, command) {
4
4
  if (command.version === undefined || capabilities.versions === undefined)
5
5
  return;
6
6
  const got = capabilities.versions[command.version.surface];
7
+ if (got !== command.version.expected && command.version.surface === "filter") {
8
+ // A catalog of another filter op version is a typed version gap, as the
9
+ // Rust SDK and the server report it.
10
+ const message = `filter catalog version ${String(got)} is not supported, expected ${String(command.version.expected)}`;
11
+ throw new FilterExecutionError(`version_skew: ${message}`, {
12
+ code: { kind: "known", name: "VersionSkew" },
13
+ reason: "version_skew",
14
+ message
15
+ });
16
+ }
7
17
  if (got !== command.version.expected) {
8
18
  throw new ProtocolError(`${command.version.surface} wire version mismatch: expected ${String(command.version.expected)}, got ${String(got)}`, { commandCode: command.code });
9
19
  }
10
20
  }
11
- export async function executeManaged(transport, capabilities, command, request, options) {
21
+ export function requireManagedCommand(capabilities, command) {
12
22
  requireCapability(capabilities, command.surface);
13
23
  requireVersion(capabilities, command);
24
+ }
25
+ export async function executeManaged(transport, capabilities, command, request, options) {
26
+ requireManagedCommand(capabilities, command);
14
27
  command.validate?.(request);
15
28
  const payload = command.encode(request);
16
29
  const reply = await transport.sendManaged(command.code, payload, options);