glirastes 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"edge-cases.js","sourceRoot":"","sources":["../../../src/server/testing/edge-cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-cases.js","sourceRoot":"","sources":["../../../src/server/testing/edge-cases.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { describe, it, expect } from 'vitest';
2
+ import { getBaseType, getObjectShape } from './zod-introspect.js';
2
3
  /**
3
4
  * Verifies that tool output field types match the input field types
4
5
  * of downstream tools in declared workflow chains.
@@ -18,37 +19,15 @@ export function runSchemaConsistencyTest(toolRegistry, options) {
18
19
  // Target tool must have inputSchema with the target field
19
20
  const toSchema = toTool.inputSchema;
20
21
  expect(toSchema, `Target tool "${chain.to}" has no inputSchema`).toBeDefined();
21
- const toShape = getShape(toSchema);
22
+ const toShape = getObjectShape(toSchema);
22
23
  expect(toShape, `Target tool "${chain.to}" inputSchema is not an object`).not.toBeNull();
23
- const targetField = resolveField(toShape, chain.targetField);
24
+ const targetField = toShape[chain.targetField] ?? null;
24
25
  expect(targetField, `Target field "${chain.targetField}" not found in ${chain.to} inputSchema`).not.toBeNull();
25
26
  // Verify type compatibility
26
- const targetType = getBaseTypeName(targetField);
27
- expect(['ZodString', 'ZodNumber', 'ZodArray', 'ZodEnum', 'ZodBoolean'].includes(targetType), `Target field "${chain.targetField}" in ${chain.to} has unrecognized type: ${targetType}`).toBe(true);
27
+ const targetType = getBaseType(targetField);
28
+ expect(['string', 'number', 'array', 'enum', 'boolean'].includes(targetType ?? ''), `Target field "${chain.targetField}" in ${chain.to} has unrecognized type: ${targetType}`).toBe(true);
28
29
  });
29
30
  }
30
31
  });
31
32
  }
32
- function getShape(schema) {
33
- const def = schema._def;
34
- if (def.typeName === 'ZodObject' && typeof def.shape === 'function') {
35
- return def.shape();
36
- }
37
- if ((def.typeName === 'ZodEffects' || def.typeName === 'ZodOptional') && def.innerType) {
38
- return getShape(def.innerType);
39
- }
40
- return null;
41
- }
42
- function resolveField(shape, path) {
43
- if (shape[path])
44
- return shape[path];
45
- return null;
46
- }
47
- function getBaseTypeName(schema) {
48
- const def = schema._def;
49
- if (def.typeName === 'ZodOptional' || def.typeName === 'ZodNullable' || def.typeName === 'ZodDefault') {
50
- return def.innerType ? getBaseTypeName(def.innerType) : def.typeName;
51
- }
52
- return def.typeName;
53
- }
54
33
  //# sourceMappingURL=schema-consistency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-consistency.js","sourceRoot":"","sources":["../../../src/server/testing/schema-consistency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkB9C;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAqC,EACrC,OAAiC;IAEjC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAEhF,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACb,wBAAwB;gBACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAA+B,CAAC;gBACxE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAA+B,CAAC;gBAEpE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9E,MAAM,CAAC,MAAM,EAAE,gBAAgB,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE1E,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,MAAO,CAAC,WAAW,CAAC;gBACrC,MAAM,CACJ,QAAQ,EACR,gBAAgB,KAAK,CAAC,EAAE,sBAAsB,CAC/C,CAAC,WAAW,EAAE,CAAC;gBAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAS,CAAC,CAAC;gBACpC,MAAM,CACJ,OAAO,EACP,gBAAgB,KAAK,CAAC,EAAE,gCAAgC,CACzD,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAEjB,MAAM,WAAW,GAAG,YAAY,CAAC,OAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9D,MAAM,CACJ,WAAW,EACX,iBAAiB,KAAK,CAAC,WAAW,kBAAkB,KAAK,CAAC,EAAE,cAAc,CAC3E,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAEjB,4BAA4B;gBAC5B,MAAM,UAAU,GAAG,eAAe,CAAC,WAAY,CAAC,CAAC;gBACjD,MAAM,CACJ,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EACpF,iBAAiB,KAAK,CAAC,WAAW,QAAQ,KAAK,CAAC,EAAE,2BAA2B,UAAU,EAAE,CAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,MAAiB;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;IACxB,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACvF,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAgC,EAAE,IAAY;IAClE,IAAI,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,MAAiB;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;IACxB,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACtG,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IACvE,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"schema-consistency.js","sourceRoot":"","sources":["../../../src/server/testing/schema-consistency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAOlE;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAqC,EACrC,OAAiC;IAEjC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAExC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAEhF,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACb,wBAAwB;gBACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAA+B,CAAC;gBACxE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAA+B,CAAC;gBAEpE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;gBAC9E,MAAM,CAAC,MAAM,EAAE,gBAAgB,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE1E,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,MAAO,CAAC,WAAW,CAAC;gBACrC,MAAM,CACJ,QAAQ,EACR,gBAAgB,KAAK,CAAC,EAAE,sBAAsB,CAC/C,CAAC,WAAW,EAAE,CAAC;gBAEhB,MAAM,OAAO,GAAG,cAAc,CAAC,QAAS,CAAC,CAAC;gBAC1C,MAAM,CACJ,OAAO,EACP,gBAAgB,KAAK,CAAC,EAAE,gCAAgC,CACzD,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAEjB,MAAM,WAAW,GAAG,OAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;gBACxD,MAAM,CACJ,WAAW,EACX,iBAAiB,KAAK,CAAC,WAAW,kBAAkB,KAAK,CAAC,EAAE,cAAc,CAC3E,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAEjB,4BAA4B;gBAC5B,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC5C,MAAM,CACJ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CACvD,UAAU,IAAI,EAAE,CACjB,EACD,iBAAiB,KAAK,CAAC,WAAW,QAAQ,KAAK,CAAC,EAAE,2BAA2B,UAAU,EAAE,CAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Zod schema introspection helpers (Zod v4).
3
+ *
4
+ * Centralizes all access to Zod's internal `_zod.def` representation so the
5
+ * test-suite generators (`edge-cases.ts`, `schema-consistency.ts`) don't each
6
+ * reach into internals independently. If a future Zod version changes its
7
+ * internal shape, only this file — covered by `zod-introspect.test.ts` — needs
8
+ * updating, and the unit tests will catch a silent regression (introspection
9
+ * returning nothing) instead of letting it ship as a green-but-empty suite.
10
+ */
11
+ /** The normalized Zod v4 type tag (e.g. 'object', 'string', 'array', 'enum'). */
12
+ export declare function getSchemaType(schema: unknown): string | undefined;
13
+ /**
14
+ * True if the field is optional, nullable, or has a default — i.e. an input
15
+ * is not strictly required to provide a concrete value. Matches the historical
16
+ * behaviour of the edge-case generator, which skips the "rejects missing"
17
+ * boundary test for any of these.
18
+ */
19
+ export declare function isOptional(schema: unknown): boolean;
20
+ /** Strip optional/nullable/default/pipe wrappers to the base schema. */
21
+ export declare function unwrap<T = unknown>(schema: T): T;
22
+ /** The base Zod type tag after unwrapping (e.g. an optional string → 'string'). */
23
+ export declare function getBaseType(schema: unknown): string | undefined;
24
+ /**
25
+ * The field map of an object schema, unwrapping optional/default/pipe wrappers.
26
+ * Returns null for non-object schemas.
27
+ */
28
+ export declare function getObjectShape(schema: unknown): Record<string, unknown> | null;
29
+ /** The string members of an enum schema (after unwrapping). */
30
+ export declare function getEnumValues(schema: unknown): string[];
31
+ /** The element schema of an array (after unwrapping), or null. */
32
+ export declare function getArrayElement(schema: unknown): unknown | null;
33
+ /** The `.max(n)` length constraint on an array schema, or null. */
34
+ export declare function getArrayMax(schema: unknown): number | null;
35
+ /** True if a string schema carries the given format check (e.g. 'uuid'). */
36
+ export declare function hasStringFormat(schema: unknown, format: string): boolean;
37
+ /** True if a string schema is a UUID. */
38
+ export declare function isUuidString(schema: unknown): boolean;
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Zod schema introspection helpers (Zod v4).
3
+ *
4
+ * Centralizes all access to Zod's internal `_zod.def` representation so the
5
+ * test-suite generators (`edge-cases.ts`, `schema-consistency.ts`) don't each
6
+ * reach into internals independently. If a future Zod version changes its
7
+ * internal shape, only this file — covered by `zod-introspect.test.ts` — needs
8
+ * updating, and the unit tests will catch a silent regression (introspection
9
+ * returning nothing) instead of letting it ship as a green-but-empty suite.
10
+ */
11
+ /** Read Zod v4's internal schema definition (`schema._zod.def`). */
12
+ function getDef(schema) {
13
+ return schema?._zod?.def;
14
+ }
15
+ /** Wrapper types that hold their inner schema in `def.innerType`. */
16
+ const WRAPPER_TYPES = new Set([
17
+ 'optional',
18
+ 'nullable',
19
+ 'default',
20
+ 'prefault',
21
+ 'catch',
22
+ 'readonly',
23
+ 'nonoptional',
24
+ ]);
25
+ /** The normalized Zod v4 type tag (e.g. 'object', 'string', 'array', 'enum'). */
26
+ export function getSchemaType(schema) {
27
+ return getDef(schema)?.type;
28
+ }
29
+ /**
30
+ * True if the field is optional, nullable, or has a default — i.e. an input
31
+ * is not strictly required to provide a concrete value. Matches the historical
32
+ * behaviour of the edge-case generator, which skips the "rejects missing"
33
+ * boundary test for any of these.
34
+ */
35
+ export function isOptional(schema) {
36
+ const type = getSchemaType(schema);
37
+ return (type === 'optional' ||
38
+ type === 'default' ||
39
+ type === 'prefault' ||
40
+ type === 'nullable');
41
+ }
42
+ /** Strip optional/nullable/default/pipe wrappers to the base schema. */
43
+ export function unwrap(schema) {
44
+ const def = getDef(schema);
45
+ const type = def?.type;
46
+ if (WRAPPER_TYPES.has(type))
47
+ return unwrap(def.innerType);
48
+ if (type === 'pipe')
49
+ return unwrap(def.in);
50
+ return schema;
51
+ }
52
+ /** The base Zod type tag after unwrapping (e.g. an optional string → 'string'). */
53
+ export function getBaseType(schema) {
54
+ return getSchemaType(unwrap(schema));
55
+ }
56
+ /**
57
+ * The field map of an object schema, unwrapping optional/default/pipe wrappers.
58
+ * Returns null for non-object schemas.
59
+ */
60
+ export function getObjectShape(schema) {
61
+ const def = getDef(schema);
62
+ if (!def)
63
+ return null;
64
+ if (def.type === 'object') {
65
+ return def.shape;
66
+ }
67
+ if (WRAPPER_TYPES.has(def.type) && def.innerType) {
68
+ return getObjectShape(def.innerType);
69
+ }
70
+ if (def.type === 'pipe' && def.in) {
71
+ return getObjectShape(def.in);
72
+ }
73
+ return null;
74
+ }
75
+ /** The string members of an enum schema (after unwrapping). */
76
+ export function getEnumValues(schema) {
77
+ const def = getDef(unwrap(schema));
78
+ if (def?.type !== 'enum')
79
+ return [];
80
+ return Object.values(def.entries).filter((v) => typeof v === 'string');
81
+ }
82
+ /** The element schema of an array (after unwrapping), or null. */
83
+ export function getArrayElement(schema) {
84
+ const def = getDef(unwrap(schema));
85
+ return def?.type === 'array' ? def.element : null;
86
+ }
87
+ /** The `.max(n)` length constraint on an array schema, or null. */
88
+ export function getArrayMax(schema) {
89
+ const def = getDef(unwrap(schema));
90
+ if (def?.type !== 'array')
91
+ return null;
92
+ for (const check of def.checks ?? []) {
93
+ const cd = check?._zod?.def;
94
+ if (cd?.check === 'max_length')
95
+ return cd.maximum;
96
+ }
97
+ return null;
98
+ }
99
+ /** True if a string schema carries the given format check (e.g. 'uuid'). */
100
+ export function hasStringFormat(schema, format) {
101
+ const def = getDef(unwrap(schema));
102
+ if (def?.type !== 'string')
103
+ return false;
104
+ return (def.checks ?? []).some((check) => {
105
+ const cd = check?._zod?.def;
106
+ return cd?.check === 'string_format' && cd?.format === format;
107
+ });
108
+ }
109
+ /** True if a string schema is a UUID. */
110
+ export function isUuidString(schema) {
111
+ return hasStringFormat(schema, 'uuid');
112
+ }
113
+ //# sourceMappingURL=zod-introspect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-introspect.js","sourceRoot":"","sources":["../../../src/server/testing/zod-introspect.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -76,7 +76,7 @@ export interface UiActionTemplate {
76
76
  *
77
77
  * @param extraSchemas - Additional Zod schemas for app-specific action types
78
78
  */
79
- export declare function createUiActionSchema(extraSchemas?: z.ZodTypeAny[]): z.ZodUnion<[z.ZodTypeAny, z.ZodTypeAny, ...z.ZodTypeAny[]]>;
79
+ export declare function createUiActionSchema(extraSchemas?: z.ZodTypeAny[]): z.ZodUnion<[z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, ...z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>[]]>;
80
80
  export type UiPatternType = 'filter-and-navigate' | 'open-detail' | 'open-dialog' | 'refresh' | 'toast';
81
81
  export interface FilterAndNavigatePattern {
82
82
  type: 'filter-and-navigate';
package/dist/types.js CHANGED
@@ -21,7 +21,7 @@ export function createUiActionSchema(extraSchemas = []) {
21
21
  .object({
22
22
  type: z.literal('run-client-action'),
23
23
  actionId: z.string().min(1),
24
- payload: z.record(z.unknown()).optional(),
24
+ payload: z.record(z.string(), z.unknown()).optional(),
25
25
  })
26
26
  .strict();
27
27
  const navigateSchema = z
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsExB;;GAEG;AACH,MAAM,UAAU,UAAU,CAAoC,IAc7D;IACC,OAAO,IAAY,CAAC;AACtB,CAAC;AAiBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,eAA+B,EAAE;IAEjC,MAAM,qBAAqB,GAAG,CAAC;SAC5B,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1C,CAAC;SACD,MAAM,EAAE,CAAC;IAEZ,MAAM,cAAc,GAAG,CAAC;SACrB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC;SACD,MAAM,EAAE,CAAC;IAEZ,4DAA4D;IAC5D,MAAM,kBAAkB,GAAG,CAAC;SACzB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC;KAC/D,CAAC;SACD,WAAW,EAAE;SACb,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CACL,OAAO,EAAE,KAAK,QAAQ;YACtB,iEAAiE,CAAC,IAAI,CACpE,EAAE,CACH,CACF,CAAC;IACJ,CAAC,EACD,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAClE,CAAC;IAEJ,OAAO,CAAC,CAAC,KAAK,CAAC;QACb,qBAAqB;QACrB,cAAc;QACd,GAAG,YAAY;QACf,kBAAkB,EAAE,0BAA0B;KACI,CAAC,CAAC;AACxD,CAAC;AAqGD,MAAM,UAAU,kBAAkB,CAIhC,UAAqD;IAErD,OAAO,UAAU,CAAC;AACpB,CAAC;AAsCD,MAAM,UAAU,YAAY,CAI1B,UAA+C;IAE/C,OAAO,UAAU,CAAC;AACpB,CAAC;AAoBD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,EAAE;IACjB,SAAS,EAAE,UAAU;CACtB,CAAC;AA8PF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAAwB;IAExB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC,YAAY,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsExB;;GAEG;AACH,MAAM,UAAU,UAAU,CAAoC,IAc7D;IACC,OAAO,IAAY,CAAC;AACtB,CAAC;AAiBD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,eAA+B,EAAE;IAEjC,MAAM,qBAAqB,GAAG,CAAC;SAC5B,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC;SACD,MAAM,EAAE,CAAC;IAEZ,MAAM,cAAc,GAAG,CAAC;SACrB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACxB,CAAC;SACD,MAAM,EAAE,CAAC;IAEZ,4DAA4D;IAC5D,MAAM,kBAAkB,GAAG,CAAC;SACzB,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC;KAC/D,CAAC;SACD,WAAW,EAAE;SACb,MAAM,CACL,CAAC,IAAI,EAAE,EAAE;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,MAAM,IAAI,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CACL,OAAO,EAAE,KAAK,QAAQ;YACtB,iEAAiE,CAAC,IAAI,CACpE,EAAE,CACH,CACF,CAAC;IACJ,CAAC,EACD,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAClE,CAAC;IAEJ,OAAO,CAAC,CAAC,KAAK,CAAC;QACb,qBAAqB;QACrB,cAAc;QACd,GAAG,YAAY;QACf,kBAAkB,EAAE,0BAA0B;KACI,CAAC,CAAC;AACxD,CAAC;AAqGD,MAAM,UAAU,kBAAkB,CAIhC,UAAqD;IAErD,OAAO,UAAU,CAAC;AACpB,CAAC;AAsCD,MAAM,UAAU,YAAY,CAI1B,UAA+C;IAE/C,OAAO,UAAU,CAAC;AACpB,CAAC;AAoBD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA0B;IACvD,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,EAAE;IACjB,SAAS,EAAE,UAAU;CACtB,CAAC;AA8PF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAAwB;IAExB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC,YAAY,CAAC;IAC/B,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QAC3C,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glirastes",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "Official Chainmatics SDK for building AI-powered chat, tools, and agent systems. Part of the Glirastes platform.",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -145,7 +145,7 @@
145
145
  "test": "vitest run"
146
146
  },
147
147
  "dependencies": {
148
- "zod": "^3.25.76",
148
+ "zod": "^4.0.0",
149
149
  "snowball-stemmers": "^0.6.0",
150
150
  "ai": "^6.0.0"
151
151
  },
@@ -129,7 +129,7 @@ Edit `description` (the LLM reads this to decide when to call the tool), refine
129
129
 
130
130
  Two paths depending on tool count:
131
131
 
132
- ### Few tools — manual import
132
+ ### Few tools (≤5) — manual import
133
133
 
134
134
  ```ts
135
135
  // src/app/api/chat/route.ts
@@ -145,9 +145,11 @@ export const POST = createAiChatHandler({
145
145
  });
146
146
  ```
147
147
 
148
- ### Many tools — codegen pipeline
148
+ OK as a starting point. The moment you go past a handful of tools, switch to the codegen pipeline below — manual maintenance of the import list breaks down fast.
149
149
 
150
- Add to `package.json`:
150
+ ### Production: codegen pipeline (required for non-trivial apps)
151
+
152
+ In Glirastes 0.3.x **the canonical Next.js setup is to wire the codegen as a build hook**. Add to `package.json`:
151
153
 
152
154
  ```json
153
155
  {
@@ -163,6 +165,10 @@ Add to `package.json`:
163
165
  }
164
166
  ```
165
167
 
168
+ The `predev` and `prebuild` hooks regenerate the registry on every dev server start and CI build, so the generated files stay in sync with your `*.ai-tool.ts` source-of-truth. Without these hooks the chat route imports would point at stale generated output.
169
+
170
+ > **Coming in 0.4.0:** `buildToolRegistry` based on `import.meta.glob` / `require.context` will let you skip the codegen step and the build hook entirely. Until then, the codegen pipeline is the supported pattern for any non-trivial Next.js app.
171
+
166
172
  Then import the generated registry instead of individual tools:
167
173
 
168
174
  ```ts
@@ -242,9 +242,13 @@ const moduleMeta: Record<string, ModuleMeta> = {
242
242
  };
243
243
  ```
244
244
 
245
- ## Codegen pipeline — scale to 50+ tools
245
+ ## Codegen pipeline — required for Next.js, not for NestJS
246
246
 
247
- Hand-importing every tool into the chat route doesn't scale. The CLI generates a registry from co-located `ai-tool.ts` files.
247
+ Hand-importing every tool into the chat route doesn't scale past a handful. In Glirastes 0.3.x **Next.js consumers run the CLI codegen as a build hook** — the generated registry is the canonical wiring, the manual import list shown in the quickstart is only OK for tiny demos.
248
+
249
+ > **NestJS users skip this entire section.** `AiChatModule.forRoot()` discovers `@AiTool`-decorated controllers at runtime via the NestJS `DiscoveryService`. There is no codegen step at all on the NestJS path — runtime DI scan is the equivalent.
250
+ >
251
+ > **Coming in 0.4.0:** a `buildToolRegistry` helper backed by `import.meta.glob` / `require.context` will let Next.js consumers also skip the codegen step. Until then the steps below describe the supported pattern.
248
252
 
249
253
  ### Recommended `package.json` scripts
250
254