@query-farm/vgi-rpc 0.7.0 → 0.7.1

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 (65) hide show
  1. package/dist/access-log.d.ts +5 -0
  2. package/dist/access-log.d.ts.map +1 -1
  3. package/dist/auth.d.ts +5 -0
  4. package/dist/auth.d.ts.map +1 -1
  5. package/dist/client/connect.d.ts +10 -0
  6. package/dist/client/connect.d.ts.map +1 -1
  7. package/dist/client/introspect.d.ts +14 -0
  8. package/dist/client/introspect.d.ts.map +1 -1
  9. package/dist/client/oauth.d.ts +9 -0
  10. package/dist/client/oauth.d.ts.map +1 -1
  11. package/dist/client/pipe.d.ts +24 -0
  12. package/dist/client/pipe.d.ts.map +1 -1
  13. package/dist/client/stream.d.ts +8 -0
  14. package/dist/client/stream.d.ts.map +1 -1
  15. package/dist/client/types.d.ts +23 -0
  16. package/dist/client/types.d.ts.map +1 -1
  17. package/dist/constants.d.ts +15 -1
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/errors.d.ts +20 -3
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/external.d.ts +2 -0
  22. package/dist/external.d.ts.map +1 -1
  23. package/dist/http/auth.d.ts +13 -0
  24. package/dist/http/auth.d.ts.map +1 -1
  25. package/dist/http/common.d.ts +1 -0
  26. package/dist/http/common.d.ts.map +1 -1
  27. package/dist/http/jwt.d.ts +1 -0
  28. package/dist/http/jwt.d.ts.map +1 -1
  29. package/dist/http/mtls.d.ts +7 -0
  30. package/dist/http/mtls.d.ts.map +1 -1
  31. package/dist/http/token.d.ts +5 -0
  32. package/dist/http/token.d.ts.map +1 -1
  33. package/dist/http/types.d.ts +2 -0
  34. package/dist/http/types.d.ts.map +1 -1
  35. package/dist/index.js.map +10 -10
  36. package/dist/launcher/serve-unix.d.ts +1 -0
  37. package/dist/launcher/serve-unix.d.ts.map +1 -1
  38. package/dist/launcher/state.d.ts +12 -0
  39. package/dist/launcher/state.d.ts.map +1 -1
  40. package/dist/protocol.d.ts +3 -0
  41. package/dist/protocol.d.ts.map +1 -1
  42. package/dist/types.d.ts +54 -0
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +12 -12
  45. package/src/access-log.ts +5 -0
  46. package/src/auth.ts +5 -0
  47. package/src/client/connect.ts +10 -0
  48. package/src/client/introspect.ts +14 -0
  49. package/src/client/oauth.ts +9 -0
  50. package/src/client/pipe.ts +24 -0
  51. package/src/client/stream.ts +8 -0
  52. package/src/client/types.ts +23 -0
  53. package/src/constants.ts +16 -1
  54. package/src/errors.ts +13 -2
  55. package/src/external.ts +6 -1
  56. package/src/http/auth.ts +13 -0
  57. package/src/http/common.ts +1 -0
  58. package/src/http/jwt.ts +1 -0
  59. package/src/http/mtls.ts +7 -0
  60. package/src/http/token.ts +5 -0
  61. package/src/http/types.ts +2 -0
  62. package/src/launcher/serve-unix.ts +1 -0
  63. package/src/launcher/state.ts +12 -0
  64. package/src/protocol.ts +3 -0
  65. package/src/types.ts +54 -0
@@ -13,6 +13,7 @@
13
13
  import type { CallStatistics, DispatchHook, DispatchInfo, HookToken } from "./types.js";
14
14
  /** Where the hook writes formatted JSON lines. */
15
15
  export interface AccessLogSink {
16
+ /** Write one access-log line. The trailing newline is included by the caller. */
16
17
  write(line: string): void;
17
18
  }
18
19
  /** A sink backed by a file descriptor; uses synchronous writes for ordering. */
@@ -20,6 +21,7 @@ export declare class FdSink implements AccessLogSink {
20
21
  private readonly fd;
21
22
  private readonly _writeSync;
22
23
  constructor(fd: number);
24
+ /** Write `line` to the file descriptor, looping until the buffer is fully flushed. */
23
25
  write(line: string): void;
24
26
  }
25
27
  /**
@@ -44,7 +46,10 @@ export declare class AccessLogHook implements DispatchHook {
44
46
  private readonly serverVersion;
45
47
  private readonly level;
46
48
  constructor(sink: AccessLogSink, options?: AccessLogOptions | string);
49
+ /** Capture a high-resolution start timestamp; returned token feeds {@link onDispatchEnd}. */
47
50
  onDispatchStart(_info: DispatchInfo): HookToken;
51
+ /** Emit one access-log JSON record for the completed dispatch (best-effort;
52
+ * write errors are swallowed so logging never breaks a request). */
48
53
  onDispatchEnd(token: HookToken, info: DispatchInfo, stats: CallStatistics, error?: Error): void;
49
54
  }
50
55
  //# sourceMappingURL=access-log.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-log.d.ts","sourceRoot":"","sources":["../src/access-log.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExF,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAgBD,gFAAgF;AAChF,qBAAa,MAAO,YAAW,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAD/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAClB,EAAE,EAAE,MAAM;IACvC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAS1B;AA2BD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,qBAAa,aAAc,YAAW,YAAY;IAK9C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;gBAGtB,IAAI,EAAE,aAAa,EACpC,OAAO,GAAE,gBAAgB,GAAG,MAAW;IAazC,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS;IAK/C,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CA2EhG"}
1
+ {"version":3,"file":"access-log.d.ts","sourceRoot":"","sources":["../src/access-log.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExF,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAgBD,gFAAgF;AAChF,qBAAa,MAAO,YAAW,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAD/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAClB,EAAE,EAAE,MAAM;IACvC,sFAAsF;IACtF,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAS1B;AA2BD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,qBAAa,aAAc,YAAW,YAAY;IAK9C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;gBAGtB,IAAI,EAAE,aAAa,EACpC,OAAO,GAAE,gBAAgB,GAAG,MAAW;IAazC,6FAA6F;IAC7F,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS;IAK/C;yEACqE;IACrE,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CA2EhG"}
package/dist/auth.d.ts CHANGED
@@ -1,8 +1,13 @@
1
1
  /** Authentication context available to RPC handlers. */
2
2
  export declare class AuthContext {
3
+ /** Authentication domain/realm that vouched for the principal; empty string
4
+ * when anonymous. */
3
5
  readonly domain: string;
6
+ /** True when the request carried valid credentials. */
4
7
  readonly authenticated: boolean;
8
+ /** Authenticated principal identifier, or `null` when anonymous. */
5
9
  readonly principal: string | null;
10
+ /** Arbitrary verified claims about the principal (e.g. decoded JWT claims). */
6
11
  readonly claims: Record<string, any>;
7
12
  constructor(domain: string, authenticated: boolean, principal: string | null, claims?: Record<string, any>);
8
13
  /** Create an unauthenticated (anonymous) context. */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAKA,wDAAwD;AACxD,qBAAa,WAAW;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAEzB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAO9G,qDAAqD;IACrD,MAAM,CAAC,SAAS,IAAI,WAAW;IAI/B,8DAA8D;IAC9D,oBAAoB,IAAI,IAAI;CAK7B"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAKA,wDAAwD;AACxD,qBAAa,WAAW;IACtB;0BACsB;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAEzB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM;IAO9G,qDAAqD;IACrD,MAAM,CAAC,SAAS,IAAI,WAAW;IAI/B,8DAA8D;IAC9D,oBAAoB,IAAI,IAAI;CAK7B"}
@@ -1,10 +1,20 @@
1
1
  import { type ServiceDescription } from "./introspect.js";
2
2
  import type { HttpConnectOptions, StreamSession } from "./types.js";
3
+ /** A connected RPC client, returned by {@link httpConnect}, {@link pipeConnect}, and {@link subprocessConnect}. */
3
4
  export interface RpcClient {
5
+ /** Invoke a unary method. Returns the single result row, or `null` for void methods. Parameter defaults from `__describe__` are applied automatically. */
4
6
  call(method: string, params?: Record<string, any>): Promise<Record<string, any> | null>;
7
+ /** Open a streaming method, returning a {@link StreamSession} for exchange or producer iteration. */
5
8
  stream(method: string, params?: Record<string, any>): Promise<StreamSession>;
9
+ /** Fetch the server's method/protocol description (cached after the first call). */
6
10
  describe(): Promise<ServiceDescription>;
11
+ /** Release transport resources; for subprocess clients this also terminates the child process. */
7
12
  close(): void;
8
13
  }
14
+ /**
15
+ * Connect to a vgi-rpc server over HTTP. The returned client lazily introspects
16
+ * the server (caching `__describe__`) on the first call and transparently handles
17
+ * zstd compression, authorization, and 413 request externalization.
18
+ */
9
19
  export declare function httpConnect(baseUrl: string, options?: HttpConnectOptions): RpcClient;
10
20
  //# sourceMappingURL=connect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/client/connect.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAS3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMpE,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7E,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,SAAS,CA6WpF"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/client/connect.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmC,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAS3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMpE,mHAAmH;AACnH,MAAM,WAAW,SAAS;IACxB,0JAA0J;IAC1J,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACxF,qGAAqG;IACrG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7E,oFAAoF;IACpF,QAAQ,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxC,kGAAkG;IAClG,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,SAAS,CA6WpF"}
@@ -1,23 +1,37 @@
1
1
  import { type RecordBatch, type Schema } from "@query-farm/apache-arrow";
2
2
  import type { LogMessage } from "./types.js";
3
+ /** Describes a single RPC method as reported by the server's `__describe__` response. */
3
4
  export interface MethodInfo {
5
+ /** The method name as invoked by {@link RpcClient.call} / {@link RpcClient.stream}. */
4
6
  name: string;
7
+ /** Whether the method is a single request/response (`unary`) or a streaming method (`stream`). */
5
8
  type: "unary" | "stream";
9
+ /** Arrow schema of the call parameters. */
6
10
  paramsSchema: Schema;
11
+ /** Arrow schema of a unary result; for stream methods this holds the per-batch output schema. */
7
12
  resultSchema: Schema;
13
+ /** Arrow schema of the per-batch input rows for exchange streams, when available. */
8
14
  inputSchema?: Schema;
15
+ /** Arrow schema of the per-batch output rows for stream methods, when available. */
9
16
  outputSchema?: Schema;
17
+ /** Arrow schema of the stream's one-time header row, when the method declares one. */
10
18
  headerSchema?: Schema;
19
+ /** Human-readable documentation for the method, if the server provides it. */
11
20
  doc?: string;
21
+ /** Per-parameter human-readable type names, if the server provides them. */
12
22
  paramTypes?: Record<string, string>;
23
+ /** Default values applied to omitted parameters before a call is sent. */
13
24
  defaults?: Record<string, any>;
14
25
  }
26
+ /** The full set of methods and protocol metadata reported by a server's `__describe__`. */
15
27
  export interface ServiceDescription {
28
+ /** The server's declared protocol/service name. */
16
29
  protocolName: string;
17
30
  /** Application protocol surface version surfaced by the server's
18
31
  * __describe__ response. Empty string when the server did not declare
19
32
  * a `protocolVersion`. */
20
33
  protocolVersion: string;
34
+ /** Every method the server exposes (excluding the built-in `__describe__`). */
21
35
  methods: MethodInfo[];
22
36
  }
23
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/client/introspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB;;+BAE2B;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAoBD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAyD7B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1D,GACA,OAAO,CAAC,kBAAkB,CAAC,CAsC7B"}
1
+ {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/client/introspect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAyB,KAAK,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAMhG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,YAAY,EAAE,MAAM,CAAC;IACrB,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB;;+BAE2B;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAoBD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAyD7B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1D,GACA,OAAO,CAAC,kBAAkB,CAAC,CAsC7B"}
@@ -1,13 +1,22 @@
1
1
  /** RFC 9728 OAuth Protected Resource Metadata (client-side response). */
2
2
  export interface OAuthResourceMetadataResponse {
3
+ /** The protected resource's canonical URL (`resource`). */
3
4
  resource: string;
5
+ /** Authorization-server issuer URLs; the first is used for OIDC discovery (`authorization_servers`). */
4
6
  authorizationServers: string[];
7
+ /** Scopes the resource advertises (`scopes_supported`). */
5
8
  scopesSupported?: string[];
9
+ /** Advertised bearer methods, e.g. `["header"]` (`bearer_methods_supported`). */
6
10
  bearerMethodsSupported?: string[];
11
+ /** JWS algorithms the resource accepts (`resource_signing_alg_values_supported`). */
7
12
  resourceSigningAlgValuesSupported?: string[];
13
+ /** Human-readable resource name (`resource_name`). */
8
14
  resourceName?: string;
15
+ /** Documentation URL for the resource (`resource_documentation`). */
9
16
  resourceDocumentation?: string;
17
+ /** Policy URL for the resource (`resource_policy_uri`). */
10
18
  resourcePolicyUri?: string;
19
+ /** Terms-of-service URL for the resource (`resource_tos_uri`). */
11
20
  resourceTosUri?: string;
12
21
  /** OAuth client_id advertised by the server. */
13
22
  clientId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/client/oauth.ts"],"names":[],"mappings":"AAGA,yEAAyE;AACzE,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,iCAAiC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAuBD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAS/C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAOpG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU/E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASpE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASxE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CASxE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASlF"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/client/oauth.ts"],"names":[],"mappings":"AAGA,yEAAyE;AACzE,MAAM,WAAW,6BAA6B;IAC5C,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,wGAAwG;IACxG,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,qFAAqF;IACrF,iCAAiC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7C,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAuBD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAS/C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAOpG;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU/E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASpE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASxE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CASxE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASlF"}
@@ -9,6 +9,13 @@ interface PipeWritable {
9
9
  end(): void;
10
10
  }
11
11
  type WriteFn = (bytes: Uint8Array) => void;
12
+ /**
13
+ * {@link StreamSession} implementation for the pipe/subprocess transport.
14
+ * Drives lockstep streaming over a single bidirectional pipe: each
15
+ * {@link PipeStreamSession.exchange} or iteration step writes one input batch
16
+ * and reads one output batch. Holds the connection's single-threaded busy lock
17
+ * until closed.
18
+ */
12
19
  export declare class PipeStreamSession implements StreamSession {
13
20
  private _reader;
14
21
  private _writeFn;
@@ -32,6 +39,7 @@ export declare class PipeStreamSession implements StreamSession {
32
39
  setDrainPromise: (p: Promise<void>) => void;
33
40
  externalConfig?: ExternalLocationConfig;
34
41
  });
42
+ /** The stream's one-time header row, or `null` if the method declares no header. */
35
43
  get header(): Record<string, any> | null;
36
44
  /**
37
45
  * Read output batches from the server until a data batch is found.
@@ -58,9 +66,25 @@ export declare class PipeStreamSession implements StreamSession {
58
66
  * Iterate over producer stream batches (lockstep).
59
67
  */
60
68
  [Symbol.asyncIterator](): AsyncIterableIterator<Record<string, any>[]>;
69
+ /**
70
+ * End the stream: close the input side (or send an empty stream if nothing
71
+ * was sent yet) and drain the server's remaining output in the background,
72
+ * releasing the connection's busy lock once the drain completes.
73
+ */
61
74
  close(): void;
62
75
  }
76
+ /**
77
+ * Connect to a vgi-rpc server over a raw bidirectional pipe (a readable stream
78
+ * of server output plus a writable for client input). The connection is
79
+ * single-threaded: only one call or stream may be in flight at a time. The
80
+ * `__describe__` handshake is sent before the reader is opened to avoid deadlock.
81
+ */
63
82
  export declare function pipeConnect(readable: ReadableStream<Uint8Array>, writable: PipeWritable, options?: PipeConnectOptions): RpcClient;
83
+ /**
84
+ * Spawn a server process (via `Bun.spawn`) and connect to it over its
85
+ * stdin/stdout using {@link pipeConnect}. The returned client's
86
+ * {@link RpcClient.close} also kills the subprocess.
87
+ */
64
88
  export declare function subprocessConnect(cmd: string[], options?: SubprocessConnectOptions): RpcClient;
65
89
  export {};
66
90
  //# sourceMappingURL=pipe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../src/client/pipe.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,MAAM,EAGP,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,KAAK,sBAAsB,EAAoD,MAAM,gBAAgB,CAAC;AAE/G,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAM1G,UAAU,YAAY;IACpB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,GAAG,IAAI,IAAI,CAAC;CACb;AAED,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AA6C3C,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAC,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,eAAe,CAAC,CAAyB;gBAErC,IAAI,EAAE;QAChB,MAAM,EAAE,eAAe,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QAC5C,cAAc,CAAC,EAAE,sBAAsB,CAAC;KACzC;IAWD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAEvC;IAED;;;;OAIG;YACW,gBAAgB;IAqB9B;;;;;OAKG;YACW,mBAAmB;IASjC;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAsG5E;;OAEG;YACW,QAAQ;IAiBtB;;OAEG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAqD7E,KAAK,IAAI,IAAI;CAoCd;AAMD,wBAAgB,WAAW,CACzB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EACpC,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,SAAS,CAqOX;AAMD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAwC9F"}
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../src/client/pipe.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,MAAM,EAGP,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,KAAK,sBAAsB,EAAoD,MAAM,gBAAgB,CAAC;AAE/G,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAM1G,UAAU,YAAY;IACpB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,GAAG,IAAI,IAAI,CAAC;CACb;AAED,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AA6C3C;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAC,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,eAAe,CAAC,CAAyB;gBAErC,IAAI,EAAE;QAChB,MAAM,EAAE,eAAe,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;QACnC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QAC5C,cAAc,CAAC,EAAE,sBAAsB,CAAC;KACzC;IAWD,oFAAoF;IACpF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAEvC;IAED;;;;OAIG;YACW,gBAAgB;IAqB9B;;;;;OAKG;YACW,mBAAmB;IASjC;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAsG5E;;OAEG;YACW,QAAQ;IAiBtB;;OAEG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAqD7E;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAoCd;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,EACpC,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,SAAS,CAqOX;AAMD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAwC9F"}
@@ -9,6 +9,12 @@ type DecompressFn = (data: Uint8Array) => Promise<Uint8Array>;
9
9
  * so a single capability cache can drive both unary and stream call paths.
10
10
  */
11
11
  export type PostFn = (url: string, body: Uint8Array) => Promise<Response>;
12
+ /**
13
+ * {@link StreamSession} implementation for the HTTP transport. Stream state is
14
+ * carried statelessly across requests via an HMAC state token: each
15
+ * {@link HttpStreamSession.exchange} or producer-continuation POST sends the
16
+ * current token and receives the next one in the response metadata.
17
+ */
12
18
  export declare class HttpStreamSession implements StreamSession {
13
19
  private _baseUrl;
14
20
  private _prefix;
@@ -45,6 +51,7 @@ export declare class HttpStreamSession implements StreamSession {
45
51
  postFn?: PostFn;
46
52
  });
47
53
  private _post;
54
+ /** The stream's one-time header row, or `null` if the method declares no header. */
48
55
  get header(): Record<string, any> | null;
49
56
  private _buildHeaders;
50
57
  private _prepareBody;
@@ -60,6 +67,7 @@ export declare class HttpStreamSession implements StreamSession {
60
67
  */
61
68
  [Symbol.asyncIterator](): AsyncIterableIterator<Record<string, any>[]>;
62
69
  private _sendContinuation;
70
+ /** No-op: the HTTP transport is stateless, so there is nothing to tear down. */
63
71
  close(): void;
64
72
  }
65
73
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/client/stream.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,WAAW,EAAE,MAAM,EAA2B,MAAM,0BAA0B,CAAC;AAGzG,OAAO,EAAE,KAAK,sBAAsB,EAAoD,MAAM,gBAAgB,CAAC;AAG/G,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3E,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1E,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAC,CAA4B;IAC3C,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;QAClC,cAAc,EAAE,WAAW,EAAE,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;QACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,sBAAsB,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;YAmBa,KAAK;IASnB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAEvC;IAED,OAAO,CAAC,aAAa;YAgBP,YAAY;YAOZ,aAAa;IAQ3B;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YA0D9D,WAAW;IAmCzB,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAoD/D,iBAAiB;IAuB/B,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/client/stream.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,WAAW,EAAE,MAAM,EAA2B,MAAM,0BAA0B,CAAC;AAGzG,OAAO,EAAE,KAAK,sBAAsB,EAAoD,MAAM,gBAAgB,CAAC;AAG/G,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3E,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,MAAM,CAAC,CAA4B;IAC3C,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;QAClC,cAAc,EAAE,WAAW,EAAE,CAAC;QAC9B,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;QACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,sBAAsB,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;YAmBa,KAAK;IASnB,oFAAoF;IACpF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAEvC;IAED,OAAO,CAAC,aAAa;YAgBP,YAAY;YAOZ,aAAa;IAQ3B;;OAEG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YA0D9D,WAAW;IAmCzB,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAoD/D,iBAAiB;IAuB/B,gFAAgF;IAChF,KAAK,IAAI,IAAI;CAGd"}
@@ -1,31 +1,54 @@
1
+ /** Options for {@link httpConnect}, the HTTP-transport RPC client. */
1
2
  export interface HttpConnectOptions {
3
+ /** Route prefix the server mounts its methods under (e.g. `/api`). Trailing slashes are stripped. Defaults to no prefix. */
2
4
  prefix?: string;
5
+ /** Callback invoked for each log/error message the server emits during a request. */
3
6
  onLog?: (msg: LogMessage) => void;
7
+ /** When set, request bodies are zstd-compressed at this level and `Accept-Encoding: zstd` is sent. Omit to disable compression. */
4
8
  compressionLevel?: number;
5
9
  /** Authorization header value (e.g. "Bearer <token>"). Sent with every request. */
6
10
  authorization?: string;
7
11
  /** External storage config for resolving externalized batches. */
8
12
  externalLocation?: import("../external.js").ExternalLocationConfig;
9
13
  }
14
+ /** A log or error message delivered to an {@link HttpConnectOptions.onLog} callback. */
10
15
  export interface LogMessage {
16
+ /** Severity, mirroring the server's log level (e.g. `INFO`, `WARNING`, `EXCEPTION`). */
11
17
  level: string;
18
+ /** The human-readable log text. */
12
19
  message: string;
20
+ /** Optional structured fields attached to the log record. */
13
21
  extra?: Record<string, any>;
14
22
  }
23
+ /**
24
+ * A live streaming method call. Exchange methods drive the server with
25
+ * {@link StreamSession.exchange}; producer methods are consumed by async
26
+ * iteration. Always {@link StreamSession.close} when done.
27
+ */
15
28
  export interface StreamSession {
29
+ /** The method's header row (returned once at stream start), or `null` if the method declares no header. */
16
30
  readonly header: Record<string, any> | null;
31
+ /** Send one batch of input rows and receive the server's corresponding output rows (exchange streams). */
17
32
  exchange(input: Record<string, any>[]): Promise<Record<string, any>[]>;
33
+ /** Iterate the server-produced output batches one row-array at a time (producer streams). */
18
34
  [Symbol.asyncIterator](): AsyncIterableIterator<Record<string, any>[]>;
35
+ /** Tear down the stream, flushing/draining the underlying transport. */
19
36
  close(): void;
20
37
  }
38
+ /** Options for {@link pipeConnect}, the client over raw readable/writable streams. */
21
39
  export interface PipeConnectOptions {
40
+ /** Callback invoked for each log/error message the server emits during a request. */
22
41
  onLog?: (msg: LogMessage) => void;
23
42
  /** External storage config for resolving externalized batches. */
24
43
  externalLocation?: import("../external.js").ExternalLocationConfig;
25
44
  }
45
+ /** Options for {@link subprocessConnect}, which spawns a server process and pipes to it. */
26
46
  export interface SubprocessConnectOptions extends PipeConnectOptions {
47
+ /** Working directory for the spawned process. Defaults to the current directory. */
27
48
  cwd?: string;
49
+ /** Extra environment variables, merged over the current `process.env`. */
28
50
  env?: Record<string, string>;
51
+ /** How to handle the child's stderr. Defaults to `"ignore"`. */
29
52
  stderr?: "inherit" | "pipe" | "ignore";
30
53
  }
31
54
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,sBAAsB,CAAC;CACpE;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACvE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,sBAAsB,CAAC;CACpE;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;CACxC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAGA,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,4HAA4H;IAC5H,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qFAAqF;IACrF,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,mIAAmI;IACnI,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,sBAAsB,CAAC;CACpE;AAED,wFAAwF;AACxF,MAAM,WAAW,UAAU;IACzB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,2GAA2G;IAC3G,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5C,0GAA0G;IAC1G,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACvE,6FAA6F;IAC7F,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACvE,wEAAwE;IACxE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,sFAAsF;AACtF,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,EAAE,sBAAsB,CAAC;CACpE;AAED,4FAA4F;AAC5F,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;CACxC"}
@@ -1,15 +1,26 @@
1
- /** Well-known metadata keys matching Python's metadata.py */
1
+ /** Batch-metadata key carrying the invoked RPC method name. */
2
2
  export declare const RPC_METHOD_KEY = "vgi_rpc.method";
3
+ /** Batch-metadata key carrying a log batch's severity level. */
3
4
  export declare const LOG_LEVEL_KEY = "vgi_rpc.log_level";
5
+ /** Batch-metadata key carrying a log batch's message text. */
4
6
  export declare const LOG_MESSAGE_KEY = "vgi_rpc.log_message";
7
+ /** Batch-metadata key carrying a log batch's structured extra fields. */
5
8
  export declare const LOG_EXTRA_KEY = "vgi_rpc.log_extra";
9
+ /** Batch-metadata key carrying the wire request-framing version. */
6
10
  export declare const REQUEST_VERSION_KEY = "vgi_rpc.request_version";
11
+ /** Current wire request-framing version. Distinct from the application-level
12
+ * {@link PROTOCOL_VERSION_KEY protocol version}. */
7
13
  export declare const REQUEST_VERSION = "1";
14
+ /** Batch-metadata key identifying the server instance that produced a batch. */
8
15
  export declare const SERVER_ID_KEY = "vgi_rpc.server_id";
16
+ /** Batch-metadata key carrying the client-supplied request id. */
9
17
  export declare const REQUEST_ID_KEY = "vgi_rpc.request_id";
18
+ /** Batch-metadata key carrying the service / protocol name. */
10
19
  export declare const PROTOCOL_NAME_KEY = "vgi_rpc.protocol_name";
20
+ /** Batch-metadata key carrying the `__describe__` response schema version. */
11
21
  export declare const DESCRIBE_VERSION_KEY = "vgi_rpc.describe_version";
12
22
  export declare const PROTOCOL_HASH_KEY = "vgi_rpc.protocol_hash";
23
+ /** Current `__describe__` response schema version (the slim 8-column schema). */
13
24
  export declare const DESCRIBE_VERSION = "4";
14
25
  /** Application protocol surface version. Carried on every request batch from
15
26
  * a client bound to a Protocol that declares `protocolVersion`; also emitted
@@ -18,11 +29,14 @@ export declare const DESCRIBE_VERSION = "4";
18
29
  * major+minor match required, patch ignored. Distinct from `REQUEST_VERSION`
19
30
  * (wire framing). Mirrors Python's `PROTOCOL_VERSION_KEY`. */
20
31
  export declare const PROTOCOL_VERSION_KEY = "vgi_rpc.protocol_version";
32
+ /** Reserved method name for the introspection (`__describe__`) call. */
21
33
  export declare const DESCRIBE_METHOD_NAME = "__describe__";
34
+ /** Batch-metadata key carrying the base64-encoded stream continuation/state token. */
22
35
  export declare const STATE_KEY = "vgi_rpc.stream_state#b64";
23
36
  export declare const CANCEL_KEY = "vgi_rpc.cancel";
24
37
  export declare const LOCATION_KEY = "vgi_rpc.location";
25
38
  export declare const LOCATION_SHA256_KEY = "vgi_rpc.location.sha256";
39
+ /** HTTP response header set when an RPC error is returned over the HTTP transport. */
26
40
  export declare const RPC_ERROR_HEADER = "X-VGI-RPC-Error";
27
41
  /** Top-level metadata key on an EXCEPTION batch identifying the error category.
28
42
  * Hoisted by `buildErrorBatch` when the thrown error has a static or instance
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,6DAA6D;AAE7D,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,eAAe,wBAAwB,CAAC;AACrD,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAC7D,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC;;;;;+DAK+D;AAC/D,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,eAAO,MAAM,SAAS,6BAA6B,CAAC;AACpD,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAE3C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD;;gFAEgF;AAChF,eAAO,MAAM,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA,+DAA+D;AAC/D,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,gEAAgE;AAChE,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,8DAA8D;AAC9D,eAAO,MAAM,eAAe,wBAAwB,CAAC;AACrD,yEAAyE;AACzE,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAC7D;qDACqD;AACrD,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,gFAAgF;AAChF,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,kEAAkE;AAClE,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,0BAA0B,CAAC;AACzD,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC;;;;;+DAK+D;AAC/D,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAE/D,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,sFAAsF;AACtF,eAAO,MAAM,SAAS,6BAA6B,CAAC;AACpD,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAE3C,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAE7D,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD;;gFAEgF;AAChF,eAAO,MAAM,cAAc,uBAAuB,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -1,18 +1,29 @@
1
1
  /** Error thrown when the server encounters an RPC protocol error. */
2
2
  export declare class RpcError extends Error {
3
+ /** Remote error class name (e.g. `"ValueError"`). */
3
4
  readonly errorType: string;
5
+ /** Human-readable message from the remote error. */
4
6
  readonly errorMessage: string;
7
+ /** Remote stack-trace text, or an empty string when unavailable. */
5
8
  readonly remoteTraceback: string;
6
- constructor(errorType: string, errorMessage: string, remoteTraceback: string);
9
+ constructor(
10
+ /** Remote error class name (e.g. `"ValueError"`). */
11
+ errorType: string,
12
+ /** Human-readable message from the remote error. */
13
+ errorMessage: string,
14
+ /** Remote stack-trace text, or an empty string when unavailable. */
15
+ remoteTraceback: string);
7
16
  }
8
17
  /** Error thrown when the client sends an unsupported request version. */
9
18
  export declare class VersionError extends Error {
10
19
  constructor(message: string);
11
20
  }
12
- /** Well-known values for the `vgi_rpc.error_kind` batch metadata key. Mirrors
13
- * Python's `vgi_rpc.metadata.ERROR_KIND_*` constants. */
21
+ /** `vgi_rpc.error_kind` batch-metadata value for {@link MethodNotImplementedError}.
22
+ * Mirrors Python's `vgi_rpc.metadata.ERROR_KIND_*` constants. */
14
23
  export declare const ERROR_KIND_METHOD_NOT_IMPLEMENTED = "method_not_implemented";
24
+ /** `vgi_rpc.error_kind` batch-metadata value for {@link SessionLostError}. */
15
25
  export declare const ERROR_KIND_SESSION_LOST = "session_lost";
26
+ /** `vgi_rpc.error_kind` batch-metadata value for {@link ServerDrainingError}. */
16
27
  export declare const ERROR_KIND_SERVER_DRAINING = "server_draining";
17
28
  export declare const ERROR_KIND_PROTOCOL_VERSION_MISMATCH = "protocol_version_mismatch";
18
29
  /** Raised when the client's declared `vgi_rpc.protocol_version` is
@@ -38,20 +49,26 @@ export declare function parseProtocolVersion(value: string): [number, number, nu
38
49
  * string-matching the message.
39
50
  */
40
51
  export declare class MethodNotImplementedError extends Error {
52
+ /** Typed `vgi_rpc.error_kind` marker for this error class. */
41
53
  static readonly errorKind = "method_not_implemented";
54
+ /** Typed `vgi_rpc.error_kind` marker hoisted onto the error batch metadata. */
42
55
  readonly errorKind = "method_not_implemented";
43
56
  constructor(message: string);
44
57
  }
45
58
  /** Raised when a sticky session token is malformed, expired, evicted, or
46
59
  * bound to a different worker / principal. HTTP-only. */
47
60
  export declare class SessionLostError extends Error {
61
+ /** Typed `vgi_rpc.error_kind` marker for this error class. */
48
62
  static readonly errorKind = "session_lost";
63
+ /** Typed `vgi_rpc.error_kind` marker hoisted onto the error batch metadata. */
49
64
  readonly errorKind = "session_lost";
50
65
  constructor(message: string);
51
66
  }
52
67
  /** Raised when `ctx.openSession` is called while the server is draining. */
53
68
  export declare class ServerDrainingError extends Error {
69
+ /** Typed `vgi_rpc.error_kind` marker for this error class. */
54
70
  static readonly errorKind = "server_draining";
71
+ /** Typed `vgi_rpc.error_kind` marker hoisted onto the error batch metadata. */
55
72
  readonly errorKind = "server_draining";
56
73
  constructor(message: string);
57
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA,qEAAqE;AACrE,qBAAa,QAAS,SAAQ,KAAK;aAEf,SAAS,EAAE,MAAM;aACjB,YAAY,EAAE,MAAM;aACpB,eAAe,EAAE,MAAM;gBAFvB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM;CAK1C;AAED,yEAAyE;AACzE,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;0DAC0D;AAC1D,eAAO,MAAM,iCAAiC,2BAA2B,CAAC;AAC1E,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAC5D,eAAO,MAAM,oCAAoC,8BAA8B,CAAC;AAEhF;;;;oEAIoE;AACpE,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,MAAM,CAAC,QAAQ,CAAC,SAAS,+BAAwC;IACjE,QAAQ,CAAC,SAAS,+BAAwC;gBAC9C,OAAO,EAAE,MAAM;CAI5B;AAID;;;yDAGyD;AACzD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAU5E;AAED;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,QAAQ,CAAC,SAAS,4BAAqC;IAC9D,QAAQ,CAAC,SAAS,4BAAqC;gBAC3C,OAAO,EAAE,MAAM;CAI5B;AAED;0DAC0D;AAC1D,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAC,QAAQ,CAAC,SAAS,kBAA2B;IACpD,QAAQ,CAAC,SAAS,kBAA2B;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,4EAA4E;AAC5E,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,CAAC,QAAQ,CAAC,SAAS,qBAA8B;IACvD,QAAQ,CAAC,SAAS,qBAA8B;gBACpC,OAAO,EAAE,MAAM;CAI5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA,qEAAqE;AACrE,qBAAa,QAAS,SAAQ,KAAK;IAE/B,qDAAqD;aACrC,SAAS,EAAE,MAAM;IACjC,oDAAoD;aACpC,YAAY,EAAE,MAAM;IACpC,oEAAoE;aACpD,eAAe,EAAE,MAAM;;IALvC,qDAAqD;IACrC,SAAS,EAAE,MAAM;IACjC,oDAAoD;IACpC,YAAY,EAAE,MAAM;IACpC,oEAAoE;IACpD,eAAe,EAAE,MAAM;CAK1C;AAED,yEAAyE;AACzE,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;kEACkE;AAClE,eAAO,MAAM,iCAAiC,2BAA2B,CAAC;AAC1E,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AACtD,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,oBAAoB,CAAC;AAC5D,eAAO,MAAM,oCAAoC,8BAA8B,CAAC;AAEhF;;;;oEAIoE;AACpE,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,MAAM,CAAC,QAAQ,CAAC,SAAS,+BAAwC;IACjE,QAAQ,CAAC,SAAS,+BAAwC;gBAC9C,OAAO,EAAE,MAAM;CAI5B;AAID;;;yDAGyD;AACzD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAU5E;AAED;;;;;;GAMG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,8DAA8D;IAC9D,MAAM,CAAC,QAAQ,CAAC,SAAS,4BAAqC;IAC9D,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,4BAAqC;gBAC3C,OAAO,EAAE,MAAM;CAI5B;AAED;0DAC0D;AAC1D,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,8DAA8D;IAC9D,MAAM,CAAC,QAAQ,CAAC,SAAS,kBAA2B;IACpD,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,kBAA2B;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED,4EAA4E;AAC5E,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,8DAA8D;IAC9D,MAAM,CAAC,QAAQ,CAAC,SAAS,qBAA8B;IACvD,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,qBAA8B;gBACpC,OAAO,EAAE,MAAM;CAI5B"}
@@ -40,7 +40,9 @@ export interface ExternalLocationConfig {
40
40
  externalizeThresholdBytes?: number;
41
41
  /** Optional zstd compression for uploaded data. */
42
42
  compression?: {
43
+ /** Compression algorithm; only `"zstd"` is currently supported. */
43
44
  algorithm: "zstd";
45
+ /** zstd compression level. Default: 3. */
44
46
  level?: number;
45
47
  };
46
48
  /** URL validator called before fetching. Throw to reject. Default: HTTPS-only. */
@@ -1 +1 @@
1
- {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAAoC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASnG,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE;AAED,iEAAiE;AACjE,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,OAAO,EAAE,eAAe,CAAC;IACzB,wEAAwE;IACxE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mDAAmD;IACnD,WAAW,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,kFAAkF;IAClF,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/C;AAQD,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKpD;AAoBD,wEAAwE;AACxE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAKhE;AAMD,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAOnG;AAmBD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACrC,OAAO,CAAC,QAAQ,CAAC,CAyBnB;AAMD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACrC,OAAO,CAAC,QAAQ,CAAC,CA6CnB"}
1
+ {"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../src/external.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,EAAoC,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASnG,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpE;AAED,iEAAiE;AACjE,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,OAAO,EAAE,eAAe,CAAC;IACzB,wEAAwE;IACxE,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mDAAmD;IACnD,WAAW,CAAC,EAAE;QACZ,mEAAmE;QACnE,SAAS,EAAE,MAAM,CAAC;QAClB,0CAA0C;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,kFAAkF;IAClF,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/C;AAQD,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKpD;AAoBD,wEAAwE;AACxE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAKhE;AAMD,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAOnG;AAmBD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACrC,OAAO,CAAC,QAAQ,CAAC,CAyBnB;AAMD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,sBAAsB,GAAG,IAAI,GACrC,OAAO,CAAC,QAAQ,CAAC,CA6CnB"}
@@ -3,14 +3,27 @@ import type { AuthContext } from "../auth.js";
3
3
  export type AuthenticateFn = (request: Request) => AuthContext | Promise<AuthContext>;
4
4
  /** RFC 9728 OAuth Protected Resource Metadata. */
5
5
  export interface OAuthResourceMetadata {
6
+ /** The protected resource's canonical URL. Doubles as the base for the
7
+ * `/_oauth/callback` redirect URI. */
6
8
  resource: string;
9
+ /** Authorization-server issuer URLs. The PKCE flow uses
10
+ * `authorizationServers[0]` for OIDC discovery. */
7
11
  authorizationServers: string[];
12
+ /** Scopes the resource advertises. When non-empty these become the PKCE
13
+ * authorization request's space-joined `scope`, taking precedence over
14
+ * {@link HttpHandlerOptions.oauthPkceScope}. */
8
15
  scopesSupported?: string[];
16
+ /** Advertised bearer methods (e.g. `["header"]`). */
9
17
  bearerMethodsSupported?: string[];
18
+ /** JWS algorithms the resource accepts. */
10
19
  resourceSigningAlgValuesSupported?: string[];
20
+ /** Human-readable resource name. */
11
21
  resourceName?: string;
22
+ /** Documentation URL for the resource. */
12
23
  resourceDocumentation?: string;
24
+ /** Policy URL for the resource. */
13
25
  resourcePolicyUri?: string;
26
+ /** Terms-of-service URL for the resource. */
14
27
  resourceTosUri?: string;
15
28
  /** OAuth client_id that clients should use with the authorization server. */
16
29
  clientId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/http/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEtF,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,iCAAiC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mGAAmG;IACnG,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wEAAwE;AACxE,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyChG;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,yLAAyL;AACzL,wBAAgB,0BAA0B,CACxC,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,MAAM,CAqBR"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/http/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEtF,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC;2CACuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB;wDACoD;IACpD,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B;;qDAEiD;IACjD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qDAAqD;IACrD,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,2CAA2C;IAC3C,iCAAiC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7C,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mGAAmG;IACnG,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wEAAwE;AACxE,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyChG;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,yLAAyL;AACzL,wBAAgB,0BAA0B,CACxC,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,sBAAsB,CAAC,EAAE,MAAM,GAC9B,MAAM,CAqBR"}
@@ -1,5 +1,6 @@
1
1
  import { type VgiBatch, type VgiSchema } from "../arrow/index.js";
2
2
  import type { CookieSpec } from "../types.js";
3
+ /** MIME type for Arrow IPC stream request and response bodies. */
3
4
  export declare const ARROW_CONTENT_TYPE = "application/vnd.apache.arrow.stream";
4
5
  export declare const SESSION_HEADER = "VGI-Session";
5
6
  export declare const SESSION_ACCEPT_HEADER = "VGI-Session-Accept";
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/http/common.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAKxE,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAEpE;;;gFAGgF;AAChF,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C;;6CAE6C;AAC7C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,6DAA6D;AAC7D,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAiB3D;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAI1F;AAED,qBAAa,YAAa,SAAQ,KAAK;aAGnB,UAAU,EAAE,MAAM;gBADlC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM;CAKrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAGrF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,SAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,CAQ9F;AAED,wEAAwE;AACxE,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,CAU3G"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/http/common.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAKxE,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAC5C,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAClE,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAEpE;;;gFAGgF;AAChF,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C;;6CAE6C;AAC7C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,6DAA6D;AAC7D,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAiB3D;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAI1F;AAED,qBAAa,YAAa,SAAQ,KAAK;aAGnB,UAAU,EAAE,MAAM;gBADlC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM;CAKrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAGrF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,SAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,CAQ9F;AAED,wEAAwE;AACxE,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC,CAU3G"}
@@ -1,4 +1,5 @@
1
1
  import type { AuthenticateFn } from "./auth.js";
2
+ /** Options for {@link jwtAuthenticate}, configuring JWT Bearer-token validation. */
2
3
  export interface JwtAuthenticateOptions {
3
4
  /** The expected `iss` claim (also used to discover AS metadata). */
4
5
  issuer: string;
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/http/jwt.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAqD/E"}
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/http/jwt.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAqD/E"}
@@ -3,11 +3,18 @@ import type { AuthenticateFn } from "./auth.js";
3
3
  type X509Certificate = any;
4
4
  /** A single element from an `x-forwarded-client-cert` header. */
5
5
  export interface XfccElement {
6
+ /** Hex SHA-256 digest of the client certificate (`Hash` key). */
6
7
  hash: string | null;
8
+ /** URL-decoded PEM of the client certificate (`Cert` key), if the proxy
9
+ * forwarded it. */
7
10
  cert: string | null;
11
+ /** Certificate Subject DN (`Subject` key). */
8
12
  subject: string | null;
13
+ /** URL-decoded URI-type Subject Alternative Name (`URI` key). */
9
14
  uri: string | null;
15
+ /** DNS-type Subject Alternative Names (`DNS` keys); may repeat in the header. */
10
16
  dns: readonly string[];
17
+ /** URL-decoded URI of the proxy that presented the cert (`By` key). */
11
18
  by: string | null;
12
19
  }
13
20
  /** Receives a parsed XFCC element, returns an AuthContext on success. Must throw on failure. */
@@ -1 +1 @@
1
- {"version":3,"file":"mtls.d.ts","sourceRoot":"","sources":["../../src/http/mtls.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMhD,KAAK,eAAe,GAAG,GAAG,CAAC;AAc3B,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACnB;AAED,gGAAgG;AAChG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1F,mGAAmG;AACnG,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AA2C3F;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CA0C5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE;IAC7C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC,GAAG,cAAc,CA2BjB;AAmCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAUjB;AAID;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAmBjB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAkCjB"}
1
+ {"version":3,"file":"mtls.d.ts","sourceRoot":"","sources":["../../src/http/mtls.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMhD,KAAK,eAAe,GAAG,GAAG,CAAC;AAc3B,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;wBACoB;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iEAAiE;IACjE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,iFAAiF;IACjF,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,uEAAuE;IACvE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACnB;AAED,gGAAgG;AAChG,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1F,mGAAmG;AACnG,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AA2C3F;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CA0C5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE;IAC7C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC,GAAG,cAAc,CA2BjB;AAmCD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAUjB;AAID;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAmBjB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAkCjB"}
@@ -31,10 +31,15 @@ export declare function base64ToBytes(b64: string): Uint8Array;
31
31
  * decryption when presented by another.
32
32
  */
33
33
  export declare function packStateToken(stateBytes: Uint8Array, schemaBytes: Uint8Array, inputSchemaBytes: Uint8Array, tokenKey: Uint8Array, principal: string | null | undefined, createdAt?: number): string;
34
+ /** Decrypted payload of a state token, as returned by {@link unpackStateToken}. */
34
35
  export interface UnpackedToken {
36
+ /** Serialized stream-state bytes carried by the token. */
35
37
  stateBytes: Uint8Array;
38
+ /** Serialized output-schema IPC bytes. */
36
39
  schemaBytes: Uint8Array;
40
+ /** Serialized input-schema IPC bytes (exchange streams). */
37
41
  inputSchemaBytes: Uint8Array;
42
+ /** Unix epoch seconds at which the token was minted (used for TTL checks). */
38
43
  createdAt: number;
39
44
  }
40
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/http/token.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,CAU3E;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAKrD;AAiCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,UAAU,EACvB,gBAAgB,EAAE,UAAU,EAC5B,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CA8BR;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,UAAU,CAAC;IACxB,gBAAgB,EAAE,UAAU,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,aAAa,CAuEf"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/http/token.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,CAU3E;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMvD;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAKrD;AAiCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,UAAU,EACvB,gBAAgB,EAAE,UAAU,EAC5B,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CA8BR;AAED,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,UAAU,EAAE,UAAU,CAAC;IACvB,0CAA0C;IAC1C,WAAW,EAAE,UAAU,CAAC;IACxB,4DAA4D;IAC5D,gBAAgB,EAAE,UAAU,CAAC;IAC7B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACnC,aAAa,CAuEf"}