@nmtjs/contract 0.15.0-beta.9 → 0.15.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.
package/dist/index.d.ts CHANGED
@@ -4,36 +4,36 @@ export * from './schemas/router.ts';
4
4
  export * from './schemas/subscription.ts';
5
5
  export declare namespace contract {
6
6
  const procedure: <const Options extends {
7
- input?: import("@nmtjs/type").BaseType;
8
- output?: import("@nmtjs/type").BaseType;
7
+ input?: import("@nmtjs/type").BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> | undefined;
8
+ output?: import("@nmtjs/type").BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> | undefined;
9
9
  stream?: true | undefined;
10
- timeout?: number;
11
- schemaOptions?: import("./utils.ts").ContractSchemaOptions;
12
- name?: string;
13
- }>(options: Options) => import("./schemas/procedure.ts").TProcedureContract<Options["input"] extends import("@nmtjs/type").BaseType ? Options["input"] : import("@nmtjs/type/never").NeverType, Options["output"] extends import("@nmtjs/type").BaseType ? Options["output"] : import("@nmtjs/type/never").NeverType, Options["stream"] extends true ? true : undefined, Options["name"] extends string ? Options["name"] : undefined>;
14
- const event: <Payload extends import("@nmtjs/type").BaseType, Name extends string | undefined = undefined, Options extends import("./schemas/subscription.ts").SubcriptionOptions | undefined = undefined>(options?: {
15
- payload?: Payload;
16
- schemaOptions?: import("./utils.ts").ContractSchemaOptions;
17
- name?: Name;
18
- }) => import("./schemas/event.ts").TEventContract<Payload, Name, Options>;
10
+ timeout?: number | undefined;
11
+ schemaOptions?: import("./utils.ts").ContractSchemaOptions | undefined;
12
+ name?: string | undefined;
13
+ }>(options: Options) => import("./schemas/procedure.ts").TProcedureContract<Options["input"] extends import("@nmtjs/type").BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> ? Options["input"] : import("@nmtjs/type/never").NeverType, Options["output"] extends import("@nmtjs/type").BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> ? Options["output"] : import("@nmtjs/type/never").NeverType, Options["stream"] extends true ? true : undefined, Options["name"] extends string ? Options["name"] : undefined>;
14
+ const event: <Payload extends import("@nmtjs/type").BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType>, Name extends string | undefined = undefined, Options extends import("./schemas/subscription.ts").SubcriptionOptions | undefined = undefined>(options?: {
15
+ payload?: Payload | undefined;
16
+ schemaOptions?: import("./utils.ts").ContractSchemaOptions | undefined;
17
+ name?: Name | undefined;
18
+ } | undefined) => import("./schemas/event.ts").TEventContract<Payload, Name, Options>;
19
19
  const subscription: (<const Options extends {
20
20
  events: Record<string, import("./schemas/event.ts").TAnyEventContract>;
21
- name?: string;
22
- schemaOptions?: import("./utils.ts").ContractSchemaOptions;
21
+ name?: string | undefined;
22
+ schemaOptions?: import("./utils.ts").ContractSchemaOptions | undefined;
23
23
  }, SubOpt extends import("./schemas/subscription.ts").SubcriptionOptions = null>(options: Options) => import("./schemas/subscription.ts").TSubscriptionContract<SubOpt, Options["events"], Options["name"]>) & {
24
24
  withOptions: <Options extends import("./schemas/subscription.ts").SubcriptionOptions>() => <T extends {
25
25
  events: Record<string, import("./schemas/event.ts").TAnyEventContract>;
26
- name?: string;
27
- schemaOptions?: import("./utils.ts").ContractSchemaOptions;
26
+ name?: string | undefined;
27
+ schemaOptions?: import("./utils.ts").ContractSchemaOptions | undefined;
28
28
  }>(options: T) => import("./schemas/subscription.ts").TSubscriptionContract<Options, T["events"], T["name"]>;
29
29
  };
30
30
  const router: <const Options extends {
31
31
  routes: Record<string, import("./schemas/router.ts").TRouteContract>;
32
- name?: string;
33
- timeout?: number;
34
- schemaOptions?: import("./utils.ts").ContractSchemaOptions;
32
+ name?: string | undefined;
33
+ timeout?: number | undefined;
34
+ schemaOptions?: import("./utils.ts").ContractSchemaOptions | undefined;
35
35
  }>(options: Options) => import("./schemas/router.ts").TRouterContract<Options["routes"], Options["name"] extends string ? Options["name"] : undefined>;
36
- const blob: (options?: import("./types/blob.ts").BlobOptions) => import("@nmtjs/type/custom").CustomType<import("@nmtjs/protocol").ProtocolBlobInterface>;
36
+ const blob: (options?: import("./types/blob.ts").BlobOptions) => import("@nmtjs/type/custom").CustomType<import("@nmtjs/protocol").ProtocolBlobInterface, import("zod/mini").ZodMiniType<import("@nmtjs/protocol").ProtocolBlobInterface, import("@nmtjs/protocol").ProtocolBlobInterface, import("zod/v4/core").$ZodTypeInternals<import("@nmtjs/protocol").ProtocolBlobInterface, import("@nmtjs/protocol").ProtocolBlobInterface>>, import("zod/mini").ZodMiniType<import("@nmtjs/protocol").ProtocolBlobInterface, import("@nmtjs/protocol").ProtocolBlobInterface, import("zod/v4/core").$ZodTypeInternals<import("@nmtjs/protocol").ProtocolBlobInterface, import("@nmtjs/protocol").ProtocolBlobInterface>>>;
37
37
  }
38
38
  export { contract as c };
39
39
  export default contract;
package/dist/index.js CHANGED
@@ -1,13 +1,14 @@
1
- import { EventContract } from "./schemas/event.js";
2
- import { ProcedureContract } from "./schemas/procedure.js";
3
- import { RouterContract } from "./schemas/router.js";
4
- import { SubscriptionContract } from "./schemas/subscription.js";
5
- import { BlobType } from "./types/blob.js";
6
- export * from "./schemas/event.js";
7
- export * from "./schemas/procedure.js";
8
- export * from "./schemas/router.js";
9
- export * from "./schemas/subscription.js";
10
- export var contract;
1
+ import { EventContract } from './schemas/event.js';
2
+ import { ProcedureContract } from './schemas/procedure.js';
3
+ import { RouterContract } from './schemas/router.js';
4
+ import { SubscriptionContract } from './schemas/subscription.js';
5
+ import { BlobType } from './types/blob.js';
6
+ export * from './schemas/event.js';
7
+ export * from './schemas/procedure.js';
8
+ export * from './schemas/router.js';
9
+ export * from './schemas/subscription.js';
10
+ export { contract };
11
+ var contract;
11
12
  (function (contract) {
12
13
  contract.procedure = ProcedureContract;
13
14
  contract.event = EventContract;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AAEzC,MAAM,KAAW,QAAQ,CAMxB;AAND,WAAiB,QAAQ;IACV,kBAAS,GAAG,iBAAiB,CAAA;IAC7B,cAAK,GAAG,aAAa,CAAA;IACrB,qBAAY,GAAG,oBAAoB,CAAA;IACnC,eAAM,GAAG,cAAc,CAAA;IACvB,aAAI,GAAG,QAAQ,CAAA;AAC9B,CAAC,EANgB,QAAQ,KAAR,QAAQ,QAMxB;AAED,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAA;AAExB,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;SAExB,QAAQ;AAAzB,IAAiB,QAMhB;AAND,WAAiB,QAAQ,EAAC;IACX,kBAAS,GAAG,iBAAiB,CAAA;IAC7B,cAAK,GAAG,aAAa,CAAA;IACrB,qBAAY,GAAG,oBAAoB,CAAA;IACnC,eAAM,GAAG,cAAc,CAAA;IACvB,aAAI,GAAG,QAAQ,CAAA;AAAA,CAC7B,EANgB,QAAQ,KAAR,QAAQ,QAMxB;AAED,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAA;AAExB,eAAe,QAAQ,CAAA"}
@@ -12,9 +12,9 @@ export interface TEventContract<Payload extends BaseType = t.NeverType, Name ext
12
12
  readonly payload: Payload;
13
13
  readonly options: Options;
14
14
  }
15
- export declare const EventContract: <Payload extends BaseType, Name extends string | undefined = undefined, Options extends SubcriptionOptions | undefined = undefined>(options?: {
16
- payload?: Payload;
17
- schemaOptions?: ContractSchemaOptions;
18
- name?: Name;
19
- }) => TEventContract<Payload, Name, Options>;
15
+ export declare const EventContract: <Payload extends BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType>, Name extends string | undefined = undefined, Options extends SubcriptionOptions | undefined = undefined>(options?: {
16
+ payload?: Payload | undefined;
17
+ schemaOptions?: ContractSchemaOptions | undefined;
18
+ name?: Name | undefined;
19
+ } | undefined) => TEventContract<Payload, Name, Options>;
20
20
  export declare function IsEventContract(value: any): value is TAnyEventContract;
@@ -1,6 +1,6 @@
1
1
  import { t } from '@nmtjs/type';
2
- import { Kind } from "../constants.js";
3
- import { createSchema } from "../utils.js";
2
+ import { Kind } from '../constants.js';
3
+ import { createSchema } from '../utils.js';
4
4
  export const EventKind = Symbol('NeemataEvent');
5
5
  export const EventContract = (options) => {
6
6
  const { payload = t.never(), schemaOptions = {}, name = undefined, } = options ?? {};
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/schemas/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAI/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAoB/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAI3B,OAID,EAAE,EAAE;IACH,MAAM,EACJ,OAAO,GAAG,CAAC,CAAC,KAAK,EAAwB,EACzC,aAAa,GAAG,EAAE,EAClB,IAAI,GAAG,SAAgB,GACxB,GAAG,OAAO,IAAI,EAAE,CAAA;IACjB,OAAO,YAAY,CAAyC;QAC1D,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,SAAS;QACjB,IAAI,EAAE,eAAe;QACrB,OAAO;QACP,IAAI;QACJ,OAAO,EAAE,SAAoB;KAC9B,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAU;IACxC,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/schemas/event.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAI/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;AAoB/C,MAAM,CAAC,MAAM,aAAa,GAAG,CAI3B,OAID,EAAE,EAAE,CAAC;IACJ,MAAM,EACJ,OAAO,GAAG,CAAC,CAAC,KAAK,EAAwB,EACzC,aAAa,GAAG,EAAE,EAClB,IAAI,GAAG,SAAgB,GACxB,GAAG,OAAO,IAAI,EAAE,CAAA;IACjB,OAAO,YAAY,CAAyC;QAC1D,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,SAAS;QACjB,IAAI,EAAE,eAAe;QACrB,OAAO;QACP,IAAI;QACJ,OAAO,EAAE,SAAoB;KAC9B,CAAC,CAAA;AAAA,CACH,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAU,EAA8B;IACtE,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAA;AAAA,CAClD"}
@@ -14,12 +14,12 @@ export interface TProcedureContract<Input extends BaseType, Output extends BaseT
14
14
  readonly timeout?: number;
15
15
  }
16
16
  export declare const ProcedureContract: <const Options extends {
17
- input?: BaseType;
18
- output?: BaseType;
17
+ input?: BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> | undefined;
18
+ output?: BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> | undefined;
19
19
  stream?: true | undefined;
20
- timeout?: number;
21
- schemaOptions?: ContractSchemaOptions;
22
- name?: string;
23
- }>(options: Options) => TProcedureContract<Options["input"] extends BaseType ? Options["input"] : NeverType, Options["output"] extends BaseType ? Options["output"] : NeverType, Options["stream"] extends true ? true : undefined, Options["name"] extends string ? Options["name"] : undefined>;
20
+ timeout?: number | undefined;
21
+ schemaOptions?: ContractSchemaOptions | undefined;
22
+ name?: string | undefined;
23
+ }>(options: Options) => TProcedureContract<Options["input"] extends BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> ? Options["input"] : NeverType, Options["output"] extends BaseType<import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").TypeProps, import("@nmtjs/type").SimpleZodType, import("@nmtjs/type").SimpleZodType> ? Options["output"] : NeverType, Options["stream"] extends true ? true : undefined, Options["name"] extends string ? Options["name"] : undefined>;
24
24
  export declare function IsProcedureContract(contract: any): contract is TAnyProcedureContract;
25
25
  export declare function IsStreamProcedureContract(contract: any): contract is TAnyProcedureContract;
@@ -1,6 +1,6 @@
1
1
  import { t } from '@nmtjs/type';
2
- import { Kind } from "../constants.js";
3
- import { createSchema } from "../utils.js";
2
+ import { Kind } from '../constants.js';
3
+ import { createSchema } from '../utils.js';
4
4
  export const ProcedureKind = Symbol('NeemataProcedure');
5
5
  export const ProcedureContract = (options) => {
6
6
  const { input = t.never(), output = t.never(), stream = undefined, name = undefined, timeout, schemaOptions = {}, } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../src/schemas/procedure.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAS1C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAiBvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAU/B,OAAgB,EAMhB,EAAE;IACF,MAAM,EACJ,KAAK,GAAG,CAAC,CAAC,KAAK,EAAS,EACxB,MAAM,GAAG,CAAC,CAAC,KAAK,EAAS,EACzB,MAAM,GAAG,SAAgB,EACzB,IAAI,GAAG,SAAgB,EACvB,OAAO,EACP,aAAa,GAAG,EAAE,GACnB,GAAG,OAAO,CAAA;IACX,OAAO,YAAY,CAAC;QAClB,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,aAAa;QACrB,IAAI,EAAE,mBAAmB;QACzB,KAAK;QACL,MAAM;QACN,MAAM;QACN,IAAI;QACJ,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAa;IAEb,OAAO,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,aAAa,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAAa;IAEb,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAA;AAChF,CAAC"}
1
+ {"version":3,"file":"procedure.js","sourceRoot":"","sources":["../../src/schemas/procedure.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAG/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAS1C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAiBvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAU/B,OAAgB,EAMhB,EAAE,CAAC;IACH,MAAM,EACJ,KAAK,GAAG,CAAC,CAAC,KAAK,EAAS,EACxB,MAAM,GAAG,CAAC,CAAC,KAAK,EAAS,EACzB,MAAM,GAAG,SAAgB,EACzB,IAAI,GAAG,SAAgB,EACvB,OAAO,EACP,aAAa,GAAG,EAAE,GACnB,GAAG,OAAO,CAAA;IACX,OAAO,YAAY,CAAC;QAClB,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,aAAa;QACrB,IAAI,EAAE,mBAAmB;QACzB,KAAK;QACL,MAAM;QACN,MAAM;QACN,IAAI;QACJ,OAAO;KACR,CAAC,CAAA;AAAA,CACH,CAAA;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAa,EACsB;IACnC,OAAO,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,aAAa,CAAA;AAAA,CAC5D;AAED,MAAM,UAAU,yBAAyB,CACvC,QAAa,EACsB;IACnC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAA;AAAA,CAC/E"}
@@ -8,6 +8,7 @@ export interface TRouterContract<Routes extends Record<string, TRouteContract> =
8
8
  readonly [Kind]: typeof RouterKind;
9
9
  readonly type: 'neemata:router';
10
10
  readonly name: Name;
11
+ readonly default?: TProcedureContract<any, any, true | undefined, string | undefined>;
11
12
  readonly routes: {
12
13
  [K in keyof Routes]: Routes[K] extends TAnyRouterContract ? TRouterContract<Routes[K]['routes'], Name extends string ? `${Name}/${Extract<K, string>}` : Extract<K, string>> : Routes[K] extends TAnyProcedureContract ? TProcedureContract<Routes[K]['input'], Routes[K]['output'], Routes[K]['stream'], Name extends string ? `${Name}/${Extract<K, string>}` : Extract<K, string>> : never;
13
14
  };
@@ -15,8 +16,8 @@ export interface TRouterContract<Routes extends Record<string, TRouteContract> =
15
16
  }
16
17
  export declare const RouterContract: <const Options extends {
17
18
  routes: Record<string, TRouteContract>;
18
- name?: string;
19
- timeout?: number;
20
- schemaOptions?: ContractSchemaOptions;
19
+ name?: string | undefined;
20
+ timeout?: number | undefined;
21
+ schemaOptions?: ContractSchemaOptions | undefined;
21
22
  }>(options: Options) => TRouterContract<Options["routes"], Options["name"] extends string ? Options["name"] : undefined>;
22
23
  export declare function IsRouterContract(value: any): value is TAnyRouterContract;
@@ -1,6 +1,6 @@
1
- import { Kind } from "../constants.js";
2
- import { concatFullName, createSchema } from "../utils.js";
3
- import { IsProcedureContract } from "./procedure.js";
1
+ import { Kind } from '../constants.js';
2
+ import { concatFullName, createSchema } from '../utils.js';
3
+ import { IsProcedureContract } from './procedure.js';
4
4
  export const RouterKind = Symbol('NeemataRouter');
5
5
  export const RouterContract = (options) => {
6
6
  const { name = undefined, timeout, schemaOptions = {}, } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/schemas/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;AA2CjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAQ5B,OAAgB,EAChB,EAAE;IACF,MAAM,EACJ,IAAI,GAAG,SAAgB,EACvB,OAAO,EACP,aAAa,GAAG,EAA2B,GAC5C,GAAG,OAAO,CAAA;IAEX,MAAM,MAAM,GAAQ,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAE7D,OAAO,YAAY,CAKjB;QACA,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,UAAU;QAClB,IAAI,EAAE,gBAAgB;QACtB,IAAI;QACJ,MAAM;QACN,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,SAAS,mBAAmB,CAC1B,MAAkE,EAClE,UAA8B;IAE9B,MAAM,SAAS,GAAwB,EAAE,CAAA;IAEzC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;QAE/B,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACxD,SAAS,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;gBAClC,GAAG,KAAK;gBACR,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;aACtD,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACtD,SAAS,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAU;IACzC,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAA;AACpD,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/schemas/router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;AAiDjD,MAAM,CAAC,MAAM,cAAc,GAAG,CAQ5B,OAAgB,EAChB,EAAE,CAAC;IACH,MAAM,EACJ,IAAI,GAAG,SAAgB,EACvB,OAAO,EACP,aAAa,GAAG,EAA2B,GAC5C,GAAG,OAAO,CAAA;IAEX,MAAM,MAAM,GAAQ,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAE7D,OAAO,YAAY,CAKjB;QACA,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,UAAU;QAClB,IAAI,EAAE,gBAAgB;QACtB,IAAI;QACJ,MAAM;QACN,OAAO;KACR,CAAC,CAAA;AAAA,CACH,CAAA;AAED,SAAS,mBAAmB,CAC1B,MAAkE,EAClE,UAA8B,EAC8B;IAC5D,MAAM,SAAS,GAAwB,EAAE,CAAA;IAEzC,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;QAE/B,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACxD,SAAS,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC;gBAClC,GAAG,KAAK;gBACR,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC;aACtD,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACtD,SAAS,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAAA,CACjB;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAU,EAA+B;IACxE,OAAO,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,CAAA;AAAA,CACnD"}
@@ -15,13 +15,13 @@ export interface TSubscriptionContract<Options extends SubcriptionOptions = null
15
15
  }
16
16
  export declare const SubscriptionContract: (<const Options extends {
17
17
  events: Record<string, TAnyEventContract>;
18
- name?: string;
19
- schemaOptions?: ContractSchemaOptions;
18
+ name?: string | undefined;
19
+ schemaOptions?: ContractSchemaOptions | undefined;
20
20
  }, SubOpt extends SubcriptionOptions = null>(options: Options) => TSubscriptionContract<SubOpt, Options["events"], Options["name"]>) & {
21
21
  withOptions: <Options extends SubcriptionOptions>() => <T extends {
22
22
  events: Record<string, TAnyEventContract>;
23
- name?: string;
24
- schemaOptions?: ContractSchemaOptions;
23
+ name?: string | undefined;
24
+ schemaOptions?: ContractSchemaOptions | undefined;
25
25
  }>(options: T) => TSubscriptionContract<Options, T["events"], T["name"]>;
26
26
  };
27
27
  export declare function IsSubscriptionContract(contract: any): contract is TAnySubscriptionContract;
@@ -1,5 +1,5 @@
1
- import { Kind } from "../constants.js";
2
- import { concatFullName, createSchema } from "../utils.js";
1
+ import { Kind } from '../constants.js';
2
+ import { concatFullName, createSchema } from '../utils.js';
3
3
  export const SubscriptionKind = Symbol('NeemataSubscription');
4
4
  const _SubscriptionContract = (options) => {
5
5
  const { schemaOptions = {}, name } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/schemas/subscription.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAmC7D,MAAM,qBAAqB,GAAG,CAQ5B,OAAgB,EAChB,EAAE;IACF,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IAC5C,MAAM,OAAO,GAAG,EAAS,CAAA;IACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,YAAY,CAEjB;QACA,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,gBAAgB;QACxB,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,SAA8B;KACxC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;IACvE,WAAW,EAAE,GAAuC,EAAE;QACpD,OAAO,CAOL,OAAU,EACV,EAAE,CAAC,qBAAqB,CAAa,OAAO,CAAC,CAAA;IACjD,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,sBAAsB,CACpC,QAAa;IAEb,OAAO,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAA;AAChE,CAAC"}
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/schemas/subscription.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAmC7D,MAAM,qBAAqB,GAAG,CAQ5B,OAAgB,EAChB,EAAE,CAAC;IACH,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IAC5C,MAAM,OAAO,GAAG,EAAS,CAAA;IACzB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,YAAY,CAEjB;QACA,GAAG,aAAa;QAChB,CAAC,IAAI,CAAC,EAAE,gBAAgB;QACxB,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,SAA8B;KACxC,CAAC,CAAA;AAAA,CACH,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;IACvE,WAAW,EAAE,GAAuC,EAAE,CAAC;QACrD,OAAO,CAOL,OAAU,EACV,EAAE,CAAC,qBAAqB,CAAa,OAAO,CAAC,CAAA;IAAA,CAChD;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,sBAAsB,CACpC,QAAa,EACyB;IACtC,OAAO,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAA;AAAA,CAC/D"}
@@ -4,4 +4,4 @@ export interface BlobOptions {
4
4
  maxSize?: number;
5
5
  contentType?: string;
6
6
  }
7
- export declare const BlobType: (options?: BlobOptions) => CustomType<ProtocolBlobInterface>;
7
+ export declare const BlobType: (options?: BlobOptions) => CustomType<ProtocolBlobInterface, import("zod/mini").ZodMiniType<ProtocolBlobInterface, ProtocolBlobInterface, import("zod/v4/core").$ZodTypeInternals<ProtocolBlobInterface, ProtocolBlobInterface>>, import("zod/mini").ZodMiniType<ProtocolBlobInterface, ProtocolBlobInterface, import("zod/v4/core").$ZodTypeInternals<ProtocolBlobInterface, ProtocolBlobInterface>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/types/blob.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,UAAuB,EAAE,EACU,EAAE,CACrC,UAAU,CAAC,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACxB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACxB,UAAU,EAAE;QACV,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE;YACxB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAA;oBAChC,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC1D,QAAQ,CAAC;4BACP,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,wDAAwD,OAAO,CAAC,OAAO,QAAQ;yBACzF,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,wFAAwF;iBAC3F,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,wFAAwF;iBAC3F,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/types/blob.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAO,GAAgB,EAAE,EACU,EAAE,CACrC,UAAU,CAAC,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACxB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACxB,UAAU,EAAE;QACV,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE;YAC1B,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAA;oBAChC,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC1D,QAAQ,CAAC;4BACP,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,wDAAwD,OAAO,CAAC,OAAO,QAAQ;yBACzF,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,wFAAwF;iBAC3F,CAAC,CAAA;YACJ,CAAC;QAAA,CACF;QACD,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,wFAAwF;iBAC3F,CAAC,CAAA;YACJ,CAAC;QAAA,CACF;KACF;CACF,CAAC,CAAA"}
package/dist/utils.d.ts CHANGED
@@ -3,14 +3,14 @@ export type ContractSchemaOptions = {
3
3
  description?: string;
4
4
  };
5
5
  export declare const applyNames: <T extends Record<string, {
6
- serviceName?: string;
6
+ serviceName?: string | undefined;
7
7
  }>>(params: T, opts: {
8
- serviceName?: string;
9
- subscriptionName?: string;
8
+ serviceName?: string | undefined;
9
+ subscriptionName?: string | undefined;
10
10
  }) => {
11
11
  [k: string]: {
12
- serviceName?: string;
13
- subscriptionName?: string;
12
+ serviceName?: string | undefined;
13
+ subscriptionName?: string | undefined;
14
14
  name: string;
15
15
  };
16
16
  };
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAAS,EACT,IAAyD,EACzD,EAAE;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CACxE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,MAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAM,CAAA;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAA0B,EAAE,IAAY,EAAE,EAAE;IACzE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,MAAS,EACT,IAAyD,EACzD,EAAE,CAAC;IACH,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CACxE,CAAA;AAAA,CACF,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,MAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAM,CAAA;AAExE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAA0B,EAAE,IAAY,EAAE,EAAE,CAAC;IAC1E,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAAA,CAC3C,CAAA"}
package/package.json CHANGED
@@ -1,15 +1,20 @@
1
1
  {
2
2
  "name": "@nmtjs/contract",
3
+ "description": "Type-safe API contract definitions for Neemata.",
3
4
  "type": "module",
4
5
  "exports": {
5
- ".": "./dist/index.js"
6
+ ".": {
7
+ "types": "./dist/index.d.ts",
8
+ "import": "./dist/index.js",
9
+ "module-sync": "./dist/index.js"
10
+ }
6
11
  },
7
12
  "dependencies": {
8
- "@nmtjs/type": "0.15.0-beta.9",
9
- "@nmtjs/protocol": "0.15.0-beta.9"
13
+ "@nmtjs/protocol": "0.15.1",
14
+ "@nmtjs/type": "0.15.1"
10
15
  },
11
16
  "devDependencies": {
12
- "zod": "^4.1.0"
17
+ "zod": "^4.0.0"
13
18
  },
14
19
  "files": [
15
20
  "dist",
@@ -17,11 +22,8 @@
17
22
  "LICENSE.md",
18
23
  "README.md"
19
24
  ],
20
- "version": "0.15.0-beta.9",
25
+ "version": "0.15.1",
21
26
  "scripts": {
22
- "clean-build": "rm -rf ./dist",
23
- "build": "tsc --declaration --sourcemap",
24
- "dev": "tsc --watch",
25
- "type-check": "tsc --noEmit"
27
+ "clean-build": "rm -rf ./dist"
26
28
  }
27
29
  }
@@ -25,6 +25,12 @@ export interface TRouterContract<
25
25
  readonly [Kind]: typeof RouterKind
26
26
  readonly type: 'neemata:router'
27
27
  readonly name: Name
28
+ readonly default?: TProcedureContract<
29
+ any,
30
+ any,
31
+ true | undefined,
32
+ string | undefined
33
+ >
28
34
  readonly routes: {
29
35
  [K in keyof Routes]: Routes[K] extends TAnyRouterContract
30
36
  ? TRouterContract<