@lssm/lib.testing 1.42.10 → 1.43.2

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 (44) hide show
  1. package/dist/contracts/src/app-config/runtime.d.ts +1 -1
  2. package/dist/contracts/src/app-config/spec.d.ts +1 -1
  3. package/dist/contracts/src/client/react/feature-render.d.ts +1 -1
  4. package/dist/contracts/src/data-views/index.d.ts +3 -3
  5. package/dist/contracts/src/data-views/registry.d.ts +2 -0
  6. package/dist/contracts/src/data-views/spec.d.ts +2 -0
  7. package/dist/contracts/src/data-views/types.d.ts +2 -0
  8. package/dist/contracts/src/docs/index.d.ts +3 -1
  9. package/dist/contracts/src/features/index.d.ts +4 -0
  10. package/dist/contracts/src/features/install.d.ts +6 -0
  11. package/dist/contracts/src/features/registry.d.ts +2 -0
  12. package/dist/contracts/src/features/types.d.ts +5 -0
  13. package/dist/contracts/src/features/validation.d.ts +2 -0
  14. package/dist/contracts/src/index.d.ts +3 -3
  15. package/dist/contracts/src/install.d.ts +1 -1
  16. package/dist/contracts/src/integrations/openbanking/contracts/accounts.d.ts +1 -1
  17. package/dist/contracts/src/integrations/openbanking/contracts/balances.d.ts +1 -1
  18. package/dist/contracts/src/integrations/openbanking/contracts/transactions.d.ts +1 -1
  19. package/dist/contracts/src/integrations/openbanking/openbanking.feature.d.ts +1 -1
  20. package/dist/contracts/src/integrations/operations.d.ts +1 -1
  21. package/dist/contracts/src/knowledge/operations.d.ts +1 -1
  22. package/dist/contracts/src/llm/exporters.d.ts +2 -2
  23. package/dist/contracts/src/llm/types.d.ts +1 -1
  24. package/dist/contracts/src/operations/operation.d.ts +7 -1
  25. package/dist/contracts/src/operations/operation.d.ts.map +1 -1
  26. package/dist/contracts/src/tests/spec.d.ts.map +1 -1
  27. package/dist/contracts/src/workflow/overview.docblock.d.ts +1 -0
  28. package/dist/contracts/src/workflow/runner.d.ts +1 -1
  29. package/dist/contracts/src/workflow/spec.d.ts +1 -1
  30. package/dist/contracts/src/workspace-config/workspace-config.docblock.d.ts +1 -0
  31. package/dist/schema/src/GraphQLSchemaType.d.ts +2 -0
  32. package/dist/schema/src/JsonSchemaType.d.ts +2 -0
  33. package/dist/schema/src/SchemaModel.d.ts +18 -4
  34. package/dist/schema/src/SchemaModel.d.ts.map +1 -1
  35. package/dist/schema/src/SchemaModelType.d.ts +38 -0
  36. package/dist/schema/src/SchemaModelType.d.ts.map +1 -0
  37. package/dist/schema/src/ZodSchemaType.d.ts +2 -0
  38. package/dist/schema/src/index.d.ts +5 -1
  39. package/package.json +7 -6
  40. package/dist/contracts/src/data-views/data-views.d.ts +0 -4
  41. package/dist/contracts/src/data-views/query-generator.d.ts +0 -1
  42. package/dist/contracts/src/data-views/runtime.d.ts +0 -1
  43. package/dist/contracts/src/features.d.ts +0 -8
  44. /package/dist/contracts/src/docs/tech/{workflows/overview.docblock.d.ts → contracts/openapi-import.docblock.d.ts} +0 -0
@@ -2,7 +2,7 @@ import "../policy/spec.js";
2
2
  import "../telemetry/spec.js";
3
3
  import "../capabilities/index.js";
4
4
  import "../experiments/spec.js";
5
- import "../features.js";
5
+ import "../features/index.js";
6
6
  import "../data-views/index.js";
7
7
  import "../workflow/spec.js";
8
8
  import "../policy/registry.js";
@@ -2,7 +2,7 @@ import "../ownership.js";
2
2
  import "../policy/spec.js";
3
3
  import "../capabilities/index.js";
4
4
  import "../experiments/spec.js";
5
- import "../features.js";
5
+ import "../features/index.js";
6
6
  import "../themes.js";
7
7
  import "../integrations/spec.js";
8
8
  import "./lifecycle.js";
@@ -1,3 +1,3 @@
1
1
  import "../../presentations/index.js";
2
- import "../../features.js";
2
+ import "../../features/index.js";
3
3
  import "react";
@@ -1,3 +1,3 @@
1
- import "./data-views.js";
2
- import "./query-generator.js";
3
- import "./runtime.js";
1
+ import "./types.js";
2
+ import "./spec.js";
3
+ import "./registry.js";
@@ -0,0 +1,2 @@
1
+ import "../registry-utils.js";
2
+ import "./spec.js";
@@ -0,0 +1,2 @@
1
+ import "../experiments/spec.js";
2
+ import "./types.js";
@@ -0,0 +1,2 @@
1
+ import "../ownership.js";
2
+ import "../features/index.js";
@@ -6,11 +6,13 @@ import "./tech/presentation-runtime.docblock.js";
6
6
  import "./tech/auth/better-auth-nextjs.docblock.js";
7
7
  import "./tech/schema/README.docblock.js";
8
8
  import "./tech/templates/runtime.docblock.js";
9
- import "./tech/workflows/overview.docblock.js";
9
+ import "../workflow/overview.docblock.js";
10
10
  import "./tech/mcp-endpoints.docblock.js";
11
11
  import "./tech/vscode-extension.docblock.js";
12
12
  import "./tech/telemetry-ingest.docblock.js";
13
13
  import "./tech/contracts/openapi-export.docblock.js";
14
+ import "./tech/contracts/openapi-import.docblock.js";
15
+ import "../workspace-config/workspace-config.docblock.js";
14
16
  import "./tech/studio/workspaces.docblock.js";
15
17
  import "./tech/studio/sandbox-unlogged.docblock.js";
16
18
  import "./tech/studio/workspace-ops.docblock.js";
@@ -0,0 +1,4 @@
1
+ import "./types.js";
2
+ import "./registry.js";
3
+ import "./install.js";
4
+ import "./validation.js";
@@ -0,0 +1,6 @@
1
+ import "../presentations/presentations.js";
2
+ import "../capabilities/index.js";
3
+ import "../operations/registry.js";
4
+ import "./types.js";
5
+ import "./registry.js";
6
+ import "../presentations/index.js";
@@ -0,0 +1,2 @@
1
+ import "../registry-utils.js";
2
+ import "./types.js";
@@ -0,0 +1,5 @@
1
+ import "../presentations/presentations.js";
2
+ import "../ownership.js";
3
+ import "../capabilities/index.js";
4
+ import "../experiments/spec.js";
5
+ import "../operations/index.js";
@@ -0,0 +1,2 @@
1
+ import "../presentations/presentations.js";
2
+ import "./types.js";
@@ -6,14 +6,14 @@ import "./registry-utils.js";
6
6
  import { PolicyRef } from "./policy/spec.js";
7
7
  import "./telemetry/index.js";
8
8
  import "./capabilities/index.js";
9
+ import "./experiments/spec.js";
9
10
  import { ResourceRefDescriptor } from "./resources.js";
10
11
  import { TestSpecRef } from "./tests/spec.js";
11
12
  import { EmitDecl, EmitDeclInline, EmitDeclRef, ImplementationRef, ImplementationType, OpKind, OperationSpec, OperationSpecMeta, TelemetryTrigger } from "./operations/operation.js";
12
- import "./operations/index.js";
13
13
  import "./install.js";
14
+ import "./operations/index.js";
14
15
  import "./presentations/index.js";
15
- import "./experiments/spec.js";
16
- import "./features.js";
16
+ import "./features/index.js";
17
17
  import "./data-views/index.js";
18
18
  import "./themes.js";
19
19
  import "./app-config/spec.js";
@@ -1,7 +1,7 @@
1
1
  import "../../schema/src/index.js";
2
2
  import "./resources.js";
3
- import "./operations/index.js";
4
3
  import "./operations/registry.js";
4
+ import "./operations/index.js";
5
5
  import "./types.js";
6
6
  import "./events.js";
7
7
  import "zod";
@@ -1,4 +1,4 @@
1
1
  import "../../../../../schema/src/index.js";
2
- import "../../../operations/index.js";
3
2
  import "../../../operations/registry.js";
3
+ import "../../../operations/index.js";
4
4
  import "../../../index.js";
@@ -1,4 +1,4 @@
1
1
  import "../../../../../schema/src/index.js";
2
- import "../../../operations/index.js";
3
2
  import "../../../operations/registry.js";
3
+ import "../../../operations/index.js";
4
4
  import "../../../index.js";
@@ -1,4 +1,4 @@
1
1
  import "../../../../../schema/src/index.js";
2
- import "../../../operations/index.js";
3
2
  import "../../../operations/registry.js";
3
+ import "../../../operations/index.js";
4
4
  import "../../../index.js";
@@ -1 +1 @@
1
- import "../../features.js";
1
+ import "../../features/index.js";
@@ -1,4 +1,4 @@
1
1
  import "../../../schema/src/index.js";
2
- import "../operations/index.js";
3
2
  import "../operations/registry.js";
3
+ import "../operations/index.js";
4
4
  import "../index.js";
@@ -1,4 +1,4 @@
1
1
  import "../../../schema/src/index.js";
2
- import "../operations/index.js";
3
2
  import "../operations/registry.js";
3
+ import "../operations/index.js";
4
4
  import "../index.js";
@@ -1,7 +1,7 @@
1
1
  import "../../../schema/src/index.js";
2
- import "../operations/index.js";
3
2
  import "../operations/registry.js";
3
+ import "../operations/index.js";
4
4
  import "../presentations/index.js";
5
- import "../features.js";
5
+ import "../features/index.js";
6
6
  import "../events.js";
7
7
  import "./types.js";
@@ -1,5 +1,5 @@
1
1
  import "../../../schema/src/index.js";
2
2
  import "../presentations/presentations.js";
3
3
  import "../operations/index.js";
4
- import "../features.js";
4
+ import "../features/index.js";
5
5
  import "../events.js";
@@ -71,8 +71,14 @@ interface OperationSpecMeta extends OwnerShipMeta {
71
71
  interface OperationSpec<Input extends AnySchemaModel, Output extends AnySchemaModel | ResourceRefDescriptor<boolean>, Events extends readonly EmitDecl[] | undefined = readonly EmitDecl[] | undefined> {
72
72
  meta: OperationSpecMeta;
73
73
  io: {
74
- /** Zod schema for input payload */
74
+ /** Zod schema for input body payload */
75
75
  input: Input | null;
76
+ /** Zod schema for URL path parameters */
77
+ params?: AnySchemaModel;
78
+ /** Zod schema for query string parameters */
79
+ query?: AnySchemaModel;
80
+ /** Zod schema for HTTP headers */
81
+ headers?: AnySchemaModel;
76
82
  /** Zod schema for output payload */
77
83
  output: Output;
78
84
  /** Named, typed errors this op may throw (optional) */
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","names":[],"sources":["../../../../../contracts/src/operations/operation.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAmBA;AAaA;AAUA;AAKiB,KAjCL,MAAA,GAiCmB,SAAA,GAAA,OAIpB;AAMX;AAGA;AASA;AAeiB,KAjEL,kBAAA,GAiEkB,SAAA,GAAA,WAAA,GAAA,MAAA,GAAA,MAAA,GAAA,SAAA,GAAA,MAAA,GAAA,OAAA;;;;;AAIf,UAxDE,iBAAA,CAwDF;EAGP;EAIG,IAAA,EAAA,MAAA;EAEC;EAEC,IAAA,EA/DL,kBA+DK;EAyBE;EAKA,WAAA,CAAA,EAAA,MAAA;;AAcD,UArGG,WAAA,CAqGH;EACA,GAAA,EArGP,SAqGO,CArGG,cAqGH,CAAA,CAAA,MAAA,CAAA;EAGJ,IAAA,EAAA,MAAA;;AAsC2B,UA1IpB,cAAA,CA0IoB;;;;WAtI1B;;;;;;KAMC,QAAA,GAAW,cAAc;UAGpB,gBAAA;;;;;;;;;QAMT;;UAGS,iBAAA,SAA0B;QACnC;;;;;;;;;;;;;UAcS,4BACD,+BACC,iBAAiB,wDACR,kCACX;QAGP;;;WAIG;;YAEC;;aAEC;;;;;;;;;;;;;;;;;;;;;;;;eAyBE;;;;;eAKA;;;;;YAMH;;;;;;;cAQE;cACA;;UAGJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAsCU"}
1
+ {"version":3,"file":"operation.d.ts","names":[],"sources":["../../../../../contracts/src/operations/operation.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAmBA;AAaA;AAUA;AAKiB,KAjCL,MAAA,GAiCmB,SAAA,GAAA,OAIpB;AAMX;AAGA;AASA;AAeiB,KAjEL,kBAAA,GAiEkB,SAAA,GAAA,WAAA,GAAA,MAAA,GAAA,MAAA,GAAA,SAAA,GAAA,MAAA,GAAA,OAAA;;;;;AAIf,UAxDE,iBAAA,CAwDF;EAGP;EAIG,IAAA,EAAA,MAAA;EAGE;EAGD,IAAA,EAjEJ,kBAiEI;EAGE;EAGF,WAAA,CAAA,EAAA,MAAA;;AA2BG,UA5FE,WAAA,CA4FF;EAKA,GAAA,EAhGR,SAgGQ,CAhGE,cAgGF,CAAA,CAAA,MAAA,CAAA;EAMH,IAAA,EAAA,MAAA;;AASE,UA3GG,cAAA,CA2GH;EAGJ,GAAA,EAAA,MAAA;EAsCU,OAAA,EAAA,MAAA;EAAiB,IAAA,EAAA,MAAA;WAhJ1B;;;;;;KAMC,QAAA,GAAW,cAAc;UAGpB,gBAAA;;;;;;;;;QAMT;;UAGS,iBAAA,SAA0B;QACnC;;;;;;;;;;;;;UAcS,4BACD,+BACC,iBAAiB,wDACR,kCACX;QAGP;;;WAIG;;aAGE;;YAGD;;cAGE;;YAGF;;aAEC;;;;;;;;;;;;;;;;;;;;;;;;eAyBE;;;;;eAKA;;;;;YAMH;;;;;;;cAQE;cACA;;UAGJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAsCU"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","names":[],"sources":["../../../../../contracts/src/tests/spec.ts"],"sourcesContent":[],"mappings":";;;;UAwFiB,WAAA"}
1
+ {"version":3,"file":"spec.d.ts","names":[],"sources":["../../../../../contracts/src/tests/spec.ts"],"sourcesContent":[],"mappings":";;;;UAgFiB,WAAA"}
@@ -0,0 +1 @@
1
+ import "../docs/index.js";
@@ -1,4 +1,4 @@
1
- import "../features.js";
1
+ import "../features/index.js";
2
2
  import "./spec.js";
3
3
  import "../app-config/runtime.js";
4
4
  import "../types.js";
@@ -2,4 +2,4 @@ import "../ownership.js";
2
2
  import "../registry-utils.js";
3
3
  import "../capabilities/index.js";
4
4
  import "../experiments/spec.js";
5
- import "../features.js";
5
+ import "../features/index.js";
@@ -0,0 +1 @@
1
+ import "../docs/index.js";
@@ -0,0 +1,2 @@
1
+ import "./SchemaModelType.js";
2
+ import "zod";
@@ -0,0 +1,2 @@
1
+ import "./SchemaModelType.js";
2
+ import "zod";
@@ -1,10 +1,16 @@
1
1
  import { AnyFieldType } from "./FieldType.js";
2
2
  import { AnyEnumType } from "./EnumType.js";
3
+ import { SchemaModelType } from "./SchemaModelType.js";
3
4
  import * as z from "zod";
4
5
  import { Maybe } from "graphql/jsutils/Maybe";
5
6
 
6
7
  //#region ../schema/src/SchemaModel.d.ts
7
- type FieldLike = AnyFieldType | AnyEnumType | AnySchemaModel;
8
+
9
+ /**
10
+ * All types that can be used as field types in a SchemaModel.
11
+ * Supports FieldType, EnumType, nested SchemaModel, or any SchemaType implementation.
12
+ */
13
+ type FieldLike = AnyFieldType | AnyEnumType | AnySchemaModel | SchemaModelType;
8
14
  /** Field configuration for a SchemaModel property. */
9
15
  interface SchemaFieldConfig<Type extends FieldLike = FieldLike> {
10
16
  type: Type;
@@ -23,7 +29,7 @@ interface SchemaModelConfig<Fields extends SchemaModelFieldsAnyConfig> {
23
29
  * Named object model built from FieldType/EnumType/SchemaModel fields.
24
30
  * Provides zod and GraphQL input helpers, and supports arrays/optional fields.
25
31
  */
26
- declare class SchemaModel<Fields extends SchemaModelFieldsAnyConfig> {
32
+ declare class SchemaModel<Fields extends SchemaModelFieldsAnyConfig> implements SchemaModelType {
27
33
  readonly config: SchemaModelConfig<Fields>;
28
34
  constructor(config: SchemaModelConfig<Fields>);
29
35
  /**
@@ -34,8 +40,16 @@ declare class SchemaModel<Fields extends SchemaModelFieldsAnyConfig> {
34
40
  /** Input object name for GraphQL builder adapters. */
35
41
  getPothosInput(): string;
36
42
  }
37
- type AnySchemaModel = SchemaModel<SchemaModelFieldsAnyConfig>;
38
- type InferZodFromType<T> = T extends SchemaModel<SchemaModelFieldsAnyConfig> ? z.ZodObject<z.ZodRawShape> : T extends AnyFieldType ? ReturnType<T['getZod']> : T extends AnyEnumType ? ReturnType<T['getZod']> : never;
43
+ /**
44
+ * Union of all types that can serve as a schema model.
45
+ * This is the main type expected by OperationSpec, EventSpec, FormSpec, etc.
46
+ *
47
+ * Supports:
48
+ * - SchemaModel instances (native ContractSpec types)
49
+ * - Any SchemaType implementation (ZodSchemaType, JsonSchemaType, etc.)
50
+ */
51
+ type AnySchemaModel = SchemaModel<SchemaModelFieldsAnyConfig> | SchemaModelType;
52
+ type InferZodFromType<T> = T extends SchemaModel<SchemaModelFieldsAnyConfig> ? z.ZodObject<z.ZodRawShape> : T extends AnyFieldType ? ReturnType<T['getZod']> : T extends AnyEnumType ? ReturnType<T['getZod']> : T extends SchemaModelType ? ReturnType<T['getZod']> : z.ZodUnknown;
39
53
  type MaybeArray<Z extends z.ZodType, A> = A extends true ? z.ZodArray<Z> : Z;
40
54
  type MaybeOptional<Z extends z.ZodType, O> = O extends true ? z.ZodOptional<Z> : Z;
41
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaModel.d.ts","names":[],"sources":["../../../../schema/src/SchemaModel.ts"],"sourcesContent":[],"mappings":";;;;;;KAKK,SAAA,GAAY,eAAe,cAAc;;AAAzC,UAGY,iBAHH,CAAA,aAGkC,SAHlC,GAG8C,SAH9C,CAAA,CAAA;EAAG,IAAA,EAIT,IAJS;EAAe,UAAA,EAAA,OAAA;EAAc;EAAc,OAAA,CAAA,EAAA,IAAA;AAG5D;AAAgD,KAOpC,0BAPoC,CAAA,aAOI,SAPJ,GAOgB,SAPhB,CAAA,GAQ9C,MAR8C,CAAA,MAAA,EAQ/B,iBAR+B,CAQb,IARa,CAAA,CAAA;;AACxC,UAUS,iBAVT,CAAA,eAU0C,0BAV1C,CAAA,CAAA;EAAI,IAAA,EAAA,MAAA;EAMA,WAAA,CAAA,EAMI,KANJ,CAAA,MAAA,CAAA;EAAwC,MAAA,EAO1C,MAP0C;;;;;;AAInC,cAUJ,WAVqB,CAAA,eAUM,0BAVN,CAAA,CAAA;EAAgB,SAAA,MAAA,EAWZ,iBAXY,CAWM,MAXN,CAAA;EAElC,WAAA,CAAA,MAAA,EASsB,iBATtB,CASwC,MATxC,CAAA;EACN;;AAOV;;EACwD,MAAA,CAAA,CAAA,EAM5C,oBAN4C,CAMvB,MANuB,CAAA;EAAlB;EAAkB,cAAA,CAAA,CAAA,EAAA,MAAA;;AAMvB,KAwBrB,cAAA,GAAiB,WAxBI,CAwBQ,0BAxBR,CAAA;KA8B5B,gBA9B2B,CAAA,CAAA,CAAA,GA+B9B,CA/B8B,SA+BpB,WA/BoB,CA+BR,0BA/BQ,CAAA,GAgC1B,CAAA,CAAE,SAhCwB,CAgCd,CAAA,CAAE,WAhCY,CAAA,GAiC1B,CAjC0B,SAiChB,YAjCgB,GAkCxB,UAlCwB,CAkCb,CAlCa,CAAA,QAAA,CAAA,CAAA,GAmCxB,CAnCwB,SAmCd,WAnCc,GAoCtB,UApCsB,CAoCX,CApCW,CAAA,QAAA,CAAA,CAAA,GAAA,KAAA;AAwBhC,KAeK,UAfO,CAAA,UAec,CAAA,CAAE,OAfa,EAAA,CAAA,CAAA,GAeC,CAfD,SAAA,IAAA,GAekB,CAAA,CAAE,QAfhC,CAeyC,CAfzC,CAAA,GAe8C,CAfnC;AAItC,KAYG,aAVA,CAAA,UAUwB,CAAA,CAAE,OAVV,EAAA,CAAA,CAAA,GAUwB,CAVxB,SAAA,IAAA,GAWjB,CAAA,CAAE,WAXe,CAWH,CAXG,CAAA,GAYjB,CAZiB;;;;;KAkBhB,YAhBG,CAAA,EAAA,CAAA,GAgBgB,EAhBhB,SAAA;EACF,OAAA,EAAA,IAAA;CAAU,GAAA,IAAA,GAAA,KAAA;AACG,KAgBP,kBAhBO,CAAA,UAgBsB,0BAhBtB,CAAA,GAAA,QAAX,MAiBM,CAjBN,GAiBU,aAjBV,CAkBJ,UAlBI,CAkBO,gBAlBP,CAkBwB,CAlBxB,CAkB0B,CAlB1B,CAAA,CAAA,MAAA,CAAA,CAAA,EAkBuC,YAlBvC,CAkBoD,CAlBpD,CAkBsD,CAlBtD,CAAA,CAAA,CAAA,EAmBJ,CAnBI,CAmBF,CAnBE,CAAA,CAAA,YAAA,CAAA,CAAA,EACA;;;;;AAIH,KAsBO,oBAtBG,CAAA,UAsB4B,0BAtB5B,CAAA,GAuBb,CAAA,CAAE,SAvBW,CAuBD,kBAvBC,CAuBkB,CAvBlB,CAAA,CAAA"}
1
+ {"version":3,"file":"SchemaModel.d.ts","names":[],"sources":["../../../../schema/src/SchemaModel.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAImD;;KAM9C,SAAA,GAAY,YAAe,GAAA,WAAA,GAAc,cAAd,GAA+B,eAA/B;;AAA+B,UAG9C,iBAH8C,CAAA,aAGf,SAHe,GAGH,SAHG,CAAA,CAAA;EAAe,IAAA,EAItE,IAJsE;EAG7D,UAAA,EAAA,OAAA;EAA+B;EAAY,OAAA,CAAA,EAAA,IAAA;;AAChD,KAMA,0BANA,CAAA,aAMwC,SANxC,GAMoD,SANpD,CAAA,GAOV,MAPU,CAAA,MAAA,EAOK,iBAPL,CAOuB,IAPvB,CAAA,CAAA;AAMZ;AAAoD,UAInC,iBAJmC,CAAA,eAIF,0BAJE,CAAA,CAAA;EAAY,IAAA,EAAA,MAAA;EAC7B,WAAA,CAAA,EAKnB,KALmB,CAAA,MAAA,CAAA;EAAlB,MAAA,EAMP,MANO;;;AAGjB;;;AAGU,cAOG,WAPH,CAAA,eAQO,0BARP,CAAA,YASG,eATH,CAAA;EAAM,SAAA,MAAA,EAUsB,iBAVtB,CAUwC,MAVxC,CAAA;EAOH,WAAA,CAAA,MAAW,EAGc,iBAHd,CAGgC,MAHhC,CAAA;EACP;;;;EAEqB,MAAA,CAAA,CAAA,EAM1B,oBAN0B,CAML,MANK,CAAA;EAML;EAArB,cAAA,CAAA,CAAA,EAAA,MAAA;;;AAgCZ;;;;;AAkCE;;AAGsB,KArCZ,cAAA,GACR,WAoCoB,CApCR,0BAoCQ,CAAA,GAnCpB,eAmCoB;AAQA,KATnB,gBAWU,CAAA,CAAA,CAAA,GAVb,CAUa,SAVH,WAUG,CAVS,0BAUT,CAAA,GATT,CAAA,CAAE,SASO,CATG,CAAA,CAAE,WASL,CAAA,GART,CAQS,SARC,YAQD,GAPP,UAOO,CAPI,CAOJ,CAAA,QAAA,CAAA,CAAA,GANP,CAMO,SANG,WAMH,GALL,UAKK,CALM,CAKN,CAAA,QAAA,CAAA,CAAA,GAJL,CAIK,SAJK,eAIL,GAHH,UAGG,CAHQ,CAGR,CAAA,QAAA,CAAA,CAAA,GAFH,CAAA,CAAE,UAEC;KAAV,UAAuB,CAAA,UAAF,CAAA,CAAE,OAAA,EAAA,CAAA,CAAA,GAAc,CAAd,SAAA,IAAA,GAA+B,CAAA,CAAE,QAAjC,CAA0C,CAA1C,CAAA,GAA+C,CAA/C;KACvB,aADqC,CAAA,UACb,CAAA,CAAE,OADW,EAAA,CAAA,CAAA,GACG,CADH,SAAA,IAAA,GAEtC,CAAA,CAAE,WAFoC,CAExB,CAFwB,CAAA,GAGtC,CAHsC;;;;;AAAkC,KASvE,YARA,CAAA,EAAa,CAAA,GAQM,EARN,SAAA;EAAa,OAAA,EAAA,IAAA;CAAc,GAAA,IAAA,GAAA,KAAA;AAC3B,KASN,kBATM,CAAA,UASuB,0BATvB,CAAA,GAAA,QAAZ,MAUQ,CAVR,GAUY,aAVZ,CAWF,UAXE,CAWS,gBAXT,CAW0B,CAX1B,CAW4B,CAX5B,CAAA,CAAA,MAAA,CAAA,CAAA,EAWyC,YAXzC,CAWsD,CAXtD,CAWwD,CAXxD,CAAA,CAAA,CAAA,EAYF,CAZE,CAYA,CAZA,CAAA,CAAA,YAAA,CAAA,CAAA,EACF;;AAAC;AAQL;;AACc,KAUF,oBAVE,CAAA,UAU6B,0BAV7B,CAAA,GAWZ,CAAA,CAAE,SAXU,CAWA,kBAXA,CAWmB,CAXnB,CAAA,CAAA"}
@@ -0,0 +1,38 @@
1
+ import * as z from "zod";
2
+
3
+ //#region ../schema/src/SchemaModelType.d.ts
4
+
5
+ /**
6
+ * Unified interface for all schema-compatible types.
7
+ * Any type used in ContractSpec schemas must implement this interface.
8
+ *
9
+ * @template T - The TypeScript type this schema represents
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // All of these implement SchemaType:
14
+ * const fieldType = ScalarTypeEnum.String_unsecure();
15
+ * const schemaModel = new SchemaModel({ name: 'User', fields: {...} });
16
+ * const zodWrapper = fromZod(z.object({ name: z.string() }));
17
+ * ```
18
+ */
19
+ interface SchemaModelType<T = unknown> {
20
+ /**
21
+ * Return the Zod schema for runtime validation.
22
+ * This is the primary method - all schema types must provide Zod conversion.
23
+ */
24
+ getZod(): z.ZodType<T>;
25
+ /**
26
+ * Return GraphQL type info for Pothos/GraphQL integration.
27
+ * Optional - types without GraphQL representation return undefined.
28
+ */
29
+ getPothos?(): unknown;
30
+ /**
31
+ * Return JSON Schema representation.
32
+ * Optional - types without JSON Schema representation return undefined.
33
+ */
34
+ getJsonSchema?(): unknown;
35
+ }
36
+ //#endregion
37
+ export { SchemaModelType };
38
+ //# sourceMappingURL=SchemaModelType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaModelType.d.ts","names":[],"sources":["../../../../schema/src/SchemaModelType.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;UA8BiB;;;;;YAKL,CAAA,CAAE,QAAQ"}
@@ -0,0 +1,2 @@
1
+ import "./SchemaModelType.js";
2
+ import "zod";
@@ -1,5 +1,9 @@
1
1
  import { AnyFieldType, FieldType, FieldTypeConfig } from "./FieldType.js";
2
2
  import "./ScalarTypeEnum.js";
3
3
  import { AnyEnumType, EnumType } from "./EnumType.js";
4
+ import { SchemaModelType } from "./SchemaModelType.js";
4
5
  import { AnySchemaModel, SchemaFieldConfig, SchemaModel, SchemaModelConfig, SchemaModelFieldsAnyConfig, TopLevelZodFromModel, ZodShapeFromFields } from "./SchemaModel.js";
5
- import "./entity/index.js";
6
+ import "./entity/index.js";
7
+ import "./ZodSchemaType.js";
8
+ import "./JsonSchemaType.js";
9
+ import "./GraphQLSchemaType.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lssm/lib.testing",
3
- "version": "1.42.10",
3
+ "version": "1.43.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -23,12 +23,12 @@
23
23
  "test": "bun run"
24
24
  },
25
25
  "dependencies": {
26
- "@lssm/lib.schema": "1.42.10",
27
- "@lssm/lib.contracts": "1.42.10"
26
+ "@lssm/lib.schema": "1.43.1",
27
+ "@lssm/lib.contracts": "1.43.2"
28
28
  },
29
29
  "devDependencies": {
30
- "@lssm/tool.tsdown": "1.42.10",
31
- "@lssm/tool.typescript": "1.42.10",
30
+ "@lssm/tool.tsdown": "1.43.1",
31
+ "@lssm/tool.typescript": "1.43.1",
32
32
  "tsdown": "^0.18.3",
33
33
  "typescript": "^5.9.3"
34
34
  },
@@ -49,5 +49,6 @@
49
49
  "type": "git",
50
50
  "url": "https://github.com/lssm-tech/contractspec.git",
51
51
  "directory": "packages/libs/testing"
52
- }
52
+ },
53
+ "homepage": "https://contractspec.io"
53
54
  }
@@ -1,4 +0,0 @@
1
- import "../ownership.js";
2
- import "../registry-utils.js";
3
- import "../experiments/spec.js";
4
- import "../features.js";
@@ -1 +0,0 @@
1
- import "./index.js";
@@ -1 +0,0 @@
1
- import "./index.js";
@@ -1,8 +0,0 @@
1
- import "./presentations/presentations.js";
2
- import "./ownership.js";
3
- import "./registry-utils.js";
4
- import "./capabilities/index.js";
5
- import "./operations/index.js";
6
- import "./operations/registry.js";
7
- import "./presentations/index.js";
8
- import "./experiments/spec.js";