@apollo-deploy/tesseract 0.4.4 → 0.5.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 (66) hide show
  1. package/README.md +330 -11
  2. package/dist/adapters/types.d.ts +2 -1
  3. package/dist/adapters/types.d.ts.map +1 -1
  4. package/dist/adapters/typescript/index.d.ts +2 -1
  5. package/dist/adapters/typescript/index.d.ts.map +1 -1
  6. package/dist/adapters/typescript/index.js +27 -10
  7. package/dist/adapters/typescript/index.js.map +1 -1
  8. package/dist/cli.js +19 -1
  9. package/dist/cli.js.map +1 -1
  10. package/dist/collector.d.ts +135 -0
  11. package/dist/collector.d.ts.map +1 -0
  12. package/dist/collector.js +159 -0
  13. package/dist/collector.js.map +1 -0
  14. package/dist/elysia.d.ts +65 -0
  15. package/dist/elysia.d.ts.map +1 -0
  16. package/dist/elysia.js +70 -0
  17. package/dist/elysia.js.map +1 -0
  18. package/dist/express.d.ts +74 -0
  19. package/dist/express.d.ts.map +1 -0
  20. package/dist/express.js +73 -0
  21. package/dist/express.js.map +1 -0
  22. package/dist/fastify.d.ts +135 -0
  23. package/dist/fastify.d.ts.map +1 -0
  24. package/dist/fastify.js +188 -0
  25. package/dist/fastify.js.map +1 -0
  26. package/dist/hono.d.ts +65 -0
  27. package/dist/hono.d.ts.map +1 -0
  28. package/dist/hono.js +64 -0
  29. package/dist/hono.js.map +1 -0
  30. package/dist/index.d.ts +5 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +4 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/koa.d.ts +69 -0
  35. package/dist/koa.d.ts.map +1 -0
  36. package/dist/koa.js +68 -0
  37. package/dist/koa.js.map +1 -0
  38. package/dist/nestjs.d.ts +107 -0
  39. package/dist/nestjs.d.ts.map +1 -0
  40. package/dist/nestjs.js +143 -0
  41. package/dist/nestjs.js.map +1 -0
  42. package/dist/pipeline/intake.d.ts.map +1 -1
  43. package/dist/pipeline/intake.js +35 -21
  44. package/dist/pipeline/intake.js.map +1 -1
  45. package/dist/pipeline/write.d.ts +1 -0
  46. package/dist/pipeline/write.d.ts.map +1 -1
  47. package/dist/pipeline/write.js +21 -3
  48. package/dist/pipeline/write.js.map +1 -1
  49. package/dist/types/config.d.ts +13 -3
  50. package/dist/types/config.d.ts.map +1 -1
  51. package/dist/types/config.js +5 -2
  52. package/dist/types/config.js.map +1 -1
  53. package/dist/types/ir.d.ts +8 -0
  54. package/dist/types/ir.d.ts.map +1 -1
  55. package/dist/types/manifest.d.ts +5 -30
  56. package/dist/types/manifest.d.ts.map +1 -1
  57. package/dist/types/manifest.js.map +1 -1
  58. package/dist/types/sdk-module.d.ts +128 -0
  59. package/dist/types/sdk-module.d.ts.map +1 -0
  60. package/dist/types/sdk-module.js +50 -0
  61. package/dist/types/sdk-module.js.map +1 -0
  62. package/package.json +63 -1
  63. package/templates/typescript/client-class.hbs +136 -0
  64. package/templates/typescript/domain-class.hbs +188 -0
  65. package/templates/typescript/domain.hbs +5 -1
  66. package/templates/typescript/index-class.hbs +68 -0
@@ -4,12 +4,13 @@
4
4
  * Manifest-first — no OpenAPI-specific fields.
5
5
  */
6
6
  export function resolveConfig(config) {
7
- if (!config.input)
8
- throw new Error('Missing required config: input');
7
+ if (!config.input && !config.manifest)
8
+ throw new Error('Missing required config: provide either input (manifest file path) or manifest (object)');
9
9
  if (!config.output)
10
10
  throw new Error('Missing required config: output');
11
11
  return {
12
12
  input: config.input,
13
+ manifest: config.manifest,
13
14
  output: config.output,
14
15
  language: config.language ?? 'typescript',
15
16
  packageName: config.packageName,
@@ -19,6 +20,8 @@ export function resolveConfig(config) {
19
20
  dryRun: config.dryRun ?? false,
20
21
  check: config.check ?? false,
21
22
  prettier: config.prettier ?? true,
23
+ sdkStyle: config.sdkStyle ?? 'functional',
24
+ clientType: config.clientType ?? 'internal',
22
25
  environments: config.environments,
23
26
  };
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoDH,MAAM,UAAU,aAAa,CAAC,MAAuB;IACnD,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEvE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,YAAY;QACzC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;QAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8DH,MAAM,UAAU,aAAa,CAAC,MAAuB;IACnD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAClJ,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEvE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,YAAY;QACzC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK;QAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,YAAY;QACzC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,UAAU;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;KAClC,CAAC;AACJ,CAAC"}
@@ -52,6 +52,8 @@ export interface OperationGroup {
52
52
  interfaceName: string;
53
53
  factoryName: string;
54
54
  description?: string;
55
+ /** 'internal' groups are excluded from public SDKs. Default: 'public'. */
56
+ visibility?: 'public' | 'internal';
55
57
  operations: Operation[];
56
58
  }
57
59
  export interface Operation {
@@ -73,6 +75,12 @@ export interface Operation {
73
75
  responseType: string;
74
76
  statusCode: number;
75
77
  deprecated?: boolean;
78
+ /** Custom deprecation message from `SDKRouteConfig.deprecated` when a string is provided. */
79
+ deprecationMessage?: string;
80
+ /** Per-route request timeout in milliseconds. Overrides the transport-level default for this operation. */
81
+ timeout?: number;
82
+ /** 'internal' operations are excluded from public SDKs. Default: 'public'. */
83
+ visibility?: 'public' | 'internal';
76
84
  isEventStream?: boolean;
77
85
  eventSchema?: string;
78
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../src/types/ir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../src/types/ir.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Defined inline so Tesseract has no runtime dependency on @apollo-deploy/sdk-manifold.
5
5
  * Keep in sync with the manifold package's manifest.ts.
6
6
  */
7
+ import type { SDKRouteConfig, SDKModuleConfig } from './sdk-module.js';
7
8
  export type JsonSchema = {
8
9
  $ref: string;
9
10
  [k: string]: unknown;
@@ -57,30 +58,8 @@ export interface ManifestRouteSchema {
57
58
  headers?: JsonSchema;
58
59
  response?: Record<string | number, JsonSchema>;
59
60
  }
60
- export interface ManifestSDKRouteConfig {
61
- methodName?: string;
62
- transport?: 'json' | 'multipart' | 'binary' | 'stream';
63
- exclude?: boolean;
64
- deprecated?: boolean | string;
65
- description?: string;
66
- operationId?: string;
67
- group?: string;
68
- internal?: boolean;
69
- timeout?: number;
70
- prefix?: string;
71
- requiredHeaders?: Array<{
72
- name: string;
73
- paramName: string;
74
- description?: string;
75
- }>;
76
- /**
77
- * For SSE routes only. When set, overrides the generated return type of the
78
- * method entirely (bypassing `SSEEvent<T>`) to a named type that is expected
79
- * to be exported from the schema package. e.g. `"SignalStreamEvent"` emits:
80
- * `AsyncIterable<SignalStreamEvent>` with the necessary cast at the call site.
81
- */
82
- sseReturnType?: string;
83
- }
61
+ /** Alias of {@link SDKRouteConfig} — the canonical definition lives in sdk-module.ts. */
62
+ export type ManifestSDKRouteConfig = SDKRouteConfig;
84
63
  export interface ManifestRoute {
85
64
  method: string | string[];
86
65
  url: string;
@@ -88,12 +67,8 @@ export interface ManifestRoute {
88
67
  sdk?: ManifestSDKRouteConfig;
89
68
  sse?: boolean;
90
69
  }
91
- export interface ManifestDomain {
92
- prefix: string;
93
- domain?: string;
94
- fileName?: string;
95
- description?: string;
96
- stability?: 'stable' | 'experimental' | 'internal';
70
+ /** Extends {@link SDKModuleConfig} with manifest-only `routes`. */
71
+ export interface ManifestDomain extends SDKModuleConfig {
97
72
  routes: ManifestRoute[];
98
73
  }
99
74
  export interface BackendManifest {
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmIH,gFAAgF;AAEhF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,4BAA4B,CAAC,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2C,CAAC;IAC7D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2GH,gFAAgF;AAEhF,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,4BAA4B,CAAC,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2C,CAAC;IAC7D,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * SDKModuleConfig — domain-level metadata for an API route module.
3
+ *
4
+ * Used via the `@SDKModule()` class decorator or `sdkDomain()` from
5
+ * `@apollo-deploy/tesseract/fastify`.
6
+ */
7
+ export interface SDKModuleConfig {
8
+ /**
9
+ * The URL prefix applied to every route in this module.
10
+ * Path parameters use `:param` syntax, e.g. `/signal/projects/:projectId/domains`.
11
+ */
12
+ prefix: string;
13
+ /**
14
+ * Override the SDK group / domain key.
15
+ * Defaults to the last path segment of `prefix` when omitted.
16
+ */
17
+ domain?: string;
18
+ /**
19
+ * Override the output file name for this domain's generated file.
20
+ * Defaults to the kebab-cased domain name when omitted.
21
+ */
22
+ fileName?: string;
23
+ /** Human-readable description surfaced in generated READMEs and JSDoc. */
24
+ description?: string;
25
+ /**
26
+ * Stability level of this domain.
27
+ *
28
+ * - `'stable'` — production-ready, included in all SDK builds.
29
+ * - `'experimental'` — may change; included but annotated.
30
+ * - `'internal'` — excluded from public SDK builds.
31
+ *
32
+ * @default 'stable'
33
+ */
34
+ stability?: 'stable' | 'experimental' | 'internal';
35
+ }
36
+ /** Symbol used to store SDKModuleConfig on a decorated class. */
37
+ export declare const SDK_MODULE_CONFIG: unique symbol;
38
+ /**
39
+ * Module-level domain registry. Populated by `@SDKModule` and `sdkDomain()`.
40
+ * Read by the Fastify plugin at generation time.
41
+ * @internal
42
+ */
43
+ export declare const _domainRegistry: Map<string, SDKModuleConfig>;
44
+ /**
45
+ * Class decorator that attaches `SDKModuleConfig` metadata to a Fastify plugin
46
+ * or route module class, and registers the domain in the global `_domainRegistry`
47
+ * for the Fastify plugin to read at generation time.
48
+ *
49
+ * ```ts
50
+ * import { SDKModule } from "@apollo-deploy/tesseract";
51
+ *
52
+ * @SDKModule({
53
+ * prefix: "/users",
54
+ * domain: "users",
55
+ * description: "User management",
56
+ * })
57
+ * export class UsersPlugin {
58
+ * register(app: FastifyInstance) {
59
+ * app.get('/:id', {
60
+ * schema: { response: { 200: UserSchema } },
61
+ * sdk: { methodName: 'getUser' },
62
+ * }, handler);
63
+ * }
64
+ * }
65
+ * ```
66
+ *
67
+ * The config is accessible at runtime via the `SDK_MODULE_CONFIG` symbol:
68
+ * ```ts
69
+ * import { SDK_MODULE_CONFIG } from "@apollo-deploy/tesseract";
70
+ * UsersPlugin[SDK_MODULE_CONFIG]; // SDKModuleConfig
71
+ * ```
72
+ */
73
+ export declare function SDKModule(config: SDKModuleConfig): <T extends abstract new (...args: unknown[]) => unknown>(target: T, _context: ClassDecoratorContext<T>) => void;
74
+ /**
75
+ * SDKRouteConfig — per-route SDK options, set via `sdk` on a route definition.
76
+ *
77
+ * Canonical definition: `ManifestSDKRouteConfig` is a direct alias of this type.
78
+ *
79
+ * ```ts
80
+ * import type { SDKRouteConfig } from "@apollo-deploy/tesseract";
81
+ *
82
+ * const sdkOptions: SDKRouteConfig = {
83
+ * methodName: "listDomains",
84
+ * internal: true,
85
+ * };
86
+ * ```
87
+ */
88
+ export interface SDKRouteConfig {
89
+ /** Override the generated method name for this route. */
90
+ methodName?: string;
91
+ /** Request body encoding. Defaults to `'json'`. */
92
+ transport?: 'json' | 'multipart' | 'binary' | 'stream';
93
+ /** Completely exclude this route from the generated SDK. */
94
+ exclude?: boolean;
95
+ /**
96
+ * Mark the generated method as deprecated.
97
+ * Pass a string to include a deprecation message in the JSDoc.
98
+ */
99
+ deprecated?: boolean | string;
100
+ /** Override the JSDoc description for this route's generated method. */
101
+ description?: string;
102
+ /** Override the operationId used for method-name derivation. */
103
+ operationId?: string;
104
+ /**
105
+ * Exclude this route from public SDKs; only emit it in internal SDKs.
106
+ */
107
+ internal?: boolean;
108
+ /** Per-route request timeout in milliseconds. */
109
+ timeout?: number;
110
+ /** Override the URL prefix for this individual route. */
111
+ prefix?: string;
112
+ /**
113
+ * Declare required headers that should be exposed as explicit parameters
114
+ * on the generated method signature.
115
+ */
116
+ requiredHeaders?: Array<{
117
+ name: string;
118
+ paramName: string;
119
+ description?: string;
120
+ }>;
121
+ /**
122
+ * SSE routes only. Overrides the generated return type to a named type
123
+ * exported from the schema package, bypassing the default `SSEEvent<T>`
124
+ * wrapper. e.g. `"SignalStreamEvent"` emits `AsyncIterable<SignalStreamEvent>`.
125
+ */
126
+ sseReturnType?: string;
127
+ }
128
+ //# sourceMappingURL=sdk-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-module.d.ts","sourceRoot":"","sources":["../../src/types/sdk-module.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,UAAU,CAAC;CACpD;AAED,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,eAAsC,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,eAAe,8BAAqC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,IACvC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAC5D,QAAQ,CAAC,EACT,UAAU,qBAAqB,CAAC,CAAC,CAAC,KACjC,IAAI,CAUR;AAGD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAEvD,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE9B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IAEH;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,50 @@
1
+ /** Symbol used to store SDKModuleConfig on a decorated class. */
2
+ export const SDK_MODULE_CONFIG = Symbol('tesseract:sdkModuleConfig');
3
+ /**
4
+ * Module-level domain registry. Populated by `@SDKModule` and `sdkDomain()`.
5
+ * Read by the Fastify plugin at generation time.
6
+ * @internal
7
+ */
8
+ export const _domainRegistry = new Map();
9
+ /**
10
+ * Class decorator that attaches `SDKModuleConfig` metadata to a Fastify plugin
11
+ * or route module class, and registers the domain in the global `_domainRegistry`
12
+ * for the Fastify plugin to read at generation time.
13
+ *
14
+ * ```ts
15
+ * import { SDKModule } from "@apollo-deploy/tesseract";
16
+ *
17
+ * @SDKModule({
18
+ * prefix: "/users",
19
+ * domain: "users",
20
+ * description: "User management",
21
+ * })
22
+ * export class UsersPlugin {
23
+ * register(app: FastifyInstance) {
24
+ * app.get('/:id', {
25
+ * schema: { response: { 200: UserSchema } },
26
+ * sdk: { methodName: 'getUser' },
27
+ * }, handler);
28
+ * }
29
+ * }
30
+ * ```
31
+ *
32
+ * The config is accessible at runtime via the `SDK_MODULE_CONFIG` symbol:
33
+ * ```ts
34
+ * import { SDK_MODULE_CONFIG } from "@apollo-deploy/tesseract";
35
+ * UsersPlugin[SDK_MODULE_CONFIG]; // SDKModuleConfig
36
+ * ```
37
+ */
38
+ export function SDKModule(config) {
39
+ return (target, _context) => {
40
+ Object.defineProperty(target, SDK_MODULE_CONFIG, {
41
+ value: config,
42
+ writable: false,
43
+ enumerable: true,
44
+ configurable: false,
45
+ });
46
+ // Register in domain registry so the Fastify plugin can group routes by prefix
47
+ _domainRegistry.set(config.prefix, config);
48
+ };
49
+ }
50
+ //# sourceMappingURL=sdk-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-module.js","sourceRoot":"","sources":["../../src/types/sdk-module.ts"],"names":[],"mappings":"AAwCA,iEAAiE;AACjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,OAAO,CACL,MAAS,EACT,QAAkC,EAC5B,EAAE;QACR,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE;YAC/C,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,+EAA+E;QAC/E,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo-deploy/tesseract",
3
- "version": "0.4.4",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "description": "Manifest-first SDK generator — turns sdk-manifold/v1 manifests into production-ready TypeScript SDKs",
6
6
  "bin": {
@@ -12,6 +12,30 @@
12
12
  ".": {
13
13
  "import": "./dist/index.js",
14
14
  "types": "./dist/index.d.ts"
15
+ },
16
+ "./fastify": {
17
+ "import": "./dist/fastify.js",
18
+ "types": "./dist/fastify.d.ts"
19
+ },
20
+ "./express": {
21
+ "import": "./dist/express.js",
22
+ "types": "./dist/express.d.ts"
23
+ },
24
+ "./hono": {
25
+ "import": "./dist/hono.js",
26
+ "types": "./dist/hono.d.ts"
27
+ },
28
+ "./koa": {
29
+ "import": "./dist/koa.js",
30
+ "types": "./dist/koa.d.ts"
31
+ },
32
+ "./elysia": {
33
+ "import": "./dist/elysia.js",
34
+ "types": "./dist/elysia.d.ts"
35
+ },
36
+ "./nestjs": {
37
+ "import": "./dist/nestjs.js",
38
+ "types": "./dist/nestjs.d.ts"
15
39
  }
16
40
  },
17
41
  "files": [
@@ -47,12 +71,50 @@
47
71
  "dependencies": {
48
72
  "change-case": "^5.4.4",
49
73
  "commander": "^12.1.0",
74
+ "fastify-plugin": "^5.1.0",
50
75
  "handlebars": "^4.7.8",
51
76
  "prettier": "^3.3.0",
52
77
  "ts-morph": "^27.0.2"
53
78
  },
79
+ "peerDependencies": {
80
+ "fastify": ">=4",
81
+ "express": ">=4",
82
+ "hono": ">=4",
83
+ "koa": ">=2",
84
+ "@koa/router": ">=12",
85
+ "elysia": ">=1",
86
+ "@nestjs/common": ">=9",
87
+ "@nestjs/core": ">=9"
88
+ },
89
+ "peerDependenciesMeta": {
90
+ "fastify": {
91
+ "optional": true
92
+ },
93
+ "express": {
94
+ "optional": true
95
+ },
96
+ "hono": {
97
+ "optional": true
98
+ },
99
+ "koa": {
100
+ "optional": true
101
+ },
102
+ "@koa/router": {
103
+ "optional": true
104
+ },
105
+ "elysia": {
106
+ "optional": true
107
+ },
108
+ "@nestjs/common": {
109
+ "optional": true
110
+ },
111
+ "@nestjs/core": {
112
+ "optional": true
113
+ }
114
+ },
54
115
  "devDependencies": {
55
116
  "@types/node": "^20.14.0",
117
+ "fastify": "^5.8.5",
56
118
  "typescript": "^5.5.0"
57
119
  }
58
120
  }
@@ -0,0 +1,136 @@
1
+ /**
2
+ * @generated
3
+ * This file was automatically generated by Tesseract.
4
+ * DO NOT MODIFY THIS FILE DIRECTLY.
5
+ */
6
+
7
+ {{#if (eq clientType "public")}}
8
+ import { createTransport, type SDKTransport } from './transport/axios.js';
9
+ {{else}}
10
+ import { createTransport, type SDKTransport, type SDKPlugin, type RequestMeta, type ResponseMeta, type ErrorMeta } from './transport/axios.js';
11
+ {{/if}}
12
+ {{#each groups}}
13
+ import { {{interfaceName}} } from './domain/{{fileName}}.js';
14
+ {{/each}}
15
+ {{#if hasWebhooks}}
16
+ import { createWebhookRegistry, type WebhookRegistry } from './webhooks/handler.js';
17
+ {{/if}}
18
+
19
+ {{#if (eq clientType "internal")}}
20
+ /**
21
+ * Configuration options for {{meta.title}}.
22
+ * Pass as the last argument to the constructor for advanced settings.
23
+ */
24
+ export interface {{meta.clientName}}Options {
25
+ /** Base URL for the API (default: '{{meta.baseUrl}}') */
26
+ baseUrl?: string;
27
+ /** Request timeout in milliseconds (default: 15000) */
28
+ timeoutMs?: number;
29
+ /** Retry configuration */
30
+ retries?: { attempts: number; backoffMs: number; jitter: boolean; maxBackoffMs?: number };
31
+ /** Custom idempotency key generator */
32
+ getIdempotencyKey?: () => string;
33
+ /** Request telemetry hook */
34
+ onRequest?: (meta: RequestMeta) => void;
35
+ /** Response telemetry hook */
36
+ onResponse?: (meta: ResponseMeta) => void;
37
+ /** Error telemetry hook */
38
+ onError?: (meta: ErrorMeta) => void;
39
+ /** Default headers sent with every request */
40
+ defaultHeaders?: Record<string, string>;
41
+ /** Ordered list of plugins applied to every request and response */
42
+ plugins?: SDKPlugin[];
43
+ }
44
+
45
+ {{/if}}
46
+ /**
47
+ * {{meta.title}} SDK client.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * import { {{meta.clientName}} } from '{{meta.packageName}}';
52
+ *
53
+ {{#if securitySchemes.length}}
54
+ {{#each securitySchemes}}
55
+ {{#if (eq type "apiKey")}}
56
+ * const client = new {{../meta.clientName}}('YOUR_{{upperCase configKey}}');
57
+ {{/if}}
58
+ {{#if (and (eq type "http") (eq scheme "bearer"))}}
59
+ * const client = new {{../meta.clientName}}('YOUR_BEARER_TOKEN');
60
+ {{/if}}
61
+ {{/each}}
62
+ {{else}}
63
+ * const client = new {{meta.clientName}}();
64
+ {{/if}}
65
+ * ```
66
+ */
67
+ export class {{meta.clientName}} {
68
+ {{#if (eq clientType "public")}}
69
+ private readonly _transport: SDKTransport;
70
+ {{else}}
71
+ /** @internal — exposed for advanced use and testing */
72
+ readonly _transport: SDKTransport;
73
+ {{/if}}
74
+
75
+ {{#each groups}}
76
+ /** {{#if description}}{{description}}{{else}}{{interfaceName}} operations{{/if}} */
77
+ readonly {{name}}: {{interfaceName}};
78
+ {{/each}}
79
+ {{#if hasWebhooks}}
80
+ /** Typed webhook event handler registry */
81
+ readonly webhooks: WebhookRegistry;
82
+ {{/if}}
83
+
84
+ constructor(
85
+ {{#if securitySchemes.length}}
86
+ {{#each securitySchemes}}
87
+ {{#if (eq type "apiKey")}}
88
+ readonly {{configKey}}: string,
89
+ {{/if}}
90
+ {{#if (and (eq type "http") (eq scheme "bearer"))}}
91
+ readonly {{configKey}}: string,
92
+ {{/if}}
93
+ {{#if (eq type "oauth2")}}
94
+ readonly {{configKey}}: string,
95
+ {{/if}}
96
+ {{#if (eq type "openIdConnect")}}
97
+ readonly {{configKey}}: string,
98
+ {{/if}}
99
+ {{/each}}
100
+ {{/if}}
101
+ {{#if (eq clientType "internal")}}
102
+ options?: {{meta.clientName}}Options,
103
+ {{/if}}
104
+ ) {
105
+ this._transport = createTransport({
106
+ {{#if (eq clientType "public")}}
107
+ baseUrl: '{{meta.baseUrl}}',
108
+ {{else}}
109
+ baseUrl: options?.baseUrl ?? '{{meta.baseUrl}}',
110
+ {{/if}}
111
+ {{#each securitySchemes}}
112
+ {{configKey}}: this.{{configKey}},
113
+ {{/each}}
114
+ {{#if (eq clientType "public")}}
115
+ timeoutMs: 15000,
116
+ retries: { attempts: 3, backoffMs: 400, jitter: true },
117
+ {{else}}
118
+ timeoutMs: options?.timeoutMs ?? 15000,
119
+ retries: options?.retries ?? { attempts: 3, backoffMs: 400, jitter: true },
120
+ getIdempotencyKey: options?.getIdempotencyKey,
121
+ onRequest: options?.onRequest,
122
+ onResponse: options?.onResponse,
123
+ onError: options?.onError,
124
+ defaultHeaders: options?.defaultHeaders,
125
+ plugins: options?.plugins,
126
+ {{/if}}
127
+ });
128
+
129
+ {{#each groups}}
130
+ this.{{name}} = new {{interfaceName}}(this._transport);
131
+ {{/each}}
132
+ {{#if hasWebhooks}}
133
+ this.webhooks = createWebhookRegistry();
134
+ {{/if}}
135
+ }
136
+ }