@forthix/forthic 0.6.0 → 0.6.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 (59) hide show
  1. package/dist/cjs/forthic/decorators/schemaUtils.d.ts +70 -0
  2. package/dist/cjs/forthic/decorators/schemaUtils.js +77 -0
  3. package/dist/cjs/forthic/decorators/schemaUtils.js.map +1 -0
  4. package/dist/cjs/forthic/decorators/stackEffect.d.ts +63 -0
  5. package/dist/cjs/forthic/decorators/stackEffect.js +179 -0
  6. package/dist/cjs/forthic/decorators/stackEffect.js.map +1 -0
  7. package/dist/cjs/forthic/modules/standard/datetime_module.js +2 -2
  8. package/dist/cjs/forthic/modules/standard/datetime_module.js.map +1 -1
  9. package/dist/esm/forthic/decorators/schemaUtils.d.ts +70 -0
  10. package/dist/esm/forthic/decorators/schemaUtils.js +72 -0
  11. package/dist/esm/forthic/decorators/schemaUtils.js.map +1 -0
  12. package/dist/esm/forthic/decorators/stackEffect.d.ts +63 -0
  13. package/dist/esm/forthic/decorators/stackEffect.js +174 -0
  14. package/dist/esm/forthic/decorators/stackEffect.js.map +1 -0
  15. package/dist/esm/forthic/modules/standard/datetime_module.js +2 -2
  16. package/dist/esm/forthic/modules/standard/datetime_module.js.map +1 -1
  17. package/package.json +2 -2
  18. package/dist/cjs/grpc/server.test.d.ts +0 -1
  19. package/dist/cjs/grpc/server.test.js +0 -156
  20. package/dist/cjs/grpc/server.test.js.map +0 -1
  21. package/dist/cjs/grpc/temporal_utils.d.ts +0 -36
  22. package/dist/cjs/grpc/temporal_utils.js +0 -80
  23. package/dist/cjs/grpc/temporal_utils.js.map +0 -1
  24. package/dist/cjs/websocket/action_cable_client.d.ts +0 -106
  25. package/dist/cjs/websocket/action_cable_client.js +0 -269
  26. package/dist/cjs/websocket/action_cable_client.js.map +0 -1
  27. package/dist/cjs/websocket/client.d.ts +0 -103
  28. package/dist/cjs/websocket/client.js +0 -266
  29. package/dist/cjs/websocket/client.js.map +0 -1
  30. package/dist/cjs/websocket/remote_module.d.ts +0 -68
  31. package/dist/cjs/websocket/remote_module.js +0 -107
  32. package/dist/cjs/websocket/remote_module.js.map +0 -1
  33. package/dist/cjs/websocket/remote_word.d.ts +0 -53
  34. package/dist/cjs/websocket/remote_word.js +0 -93
  35. package/dist/cjs/websocket/remote_word.js.map +0 -1
  36. package/dist/cjs/websocket/runtime_manager.d.ts +0 -69
  37. package/dist/cjs/websocket/runtime_manager.js +0 -112
  38. package/dist/cjs/websocket/runtime_manager.js.map +0 -1
  39. package/dist/esm/grpc/server.test.d.ts +0 -1
  40. package/dist/esm/grpc/server.test.js +0 -121
  41. package/dist/esm/grpc/server.test.js.map +0 -1
  42. package/dist/esm/grpc/temporal_utils.d.ts +0 -36
  43. package/dist/esm/grpc/temporal_utils.js +0 -72
  44. package/dist/esm/grpc/temporal_utils.js.map +0 -1
  45. package/dist/esm/websocket/action_cable_client.d.ts +0 -106
  46. package/dist/esm/websocket/action_cable_client.js +0 -265
  47. package/dist/esm/websocket/action_cable_client.js.map +0 -1
  48. package/dist/esm/websocket/client.d.ts +0 -103
  49. package/dist/esm/websocket/client.js +0 -262
  50. package/dist/esm/websocket/client.js.map +0 -1
  51. package/dist/esm/websocket/remote_module.d.ts +0 -68
  52. package/dist/esm/websocket/remote_module.js +0 -103
  53. package/dist/esm/websocket/remote_module.js.map +0 -1
  54. package/dist/esm/websocket/remote_word.d.ts +0 -53
  55. package/dist/esm/websocket/remote_word.js +0 -89
  56. package/dist/esm/websocket/remote_word.js.map +0 -1
  57. package/dist/esm/websocket/runtime_manager.d.ts +0 -69
  58. package/dist/esm/websocket/runtime_manager.js +0 -108
  59. package/dist/esm/websocket/runtime_manager.js.map +0 -1
@@ -0,0 +1,70 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Registry metadata types for stack objects and class instances.
4
+ */
5
+ type StackObjectMetadata = {
6
+ objectType: "stackObject";
7
+ stackObjectType: string;
8
+ className?: undefined;
9
+ OriginalClass?: undefined;
10
+ } | {
11
+ objectType: "class";
12
+ OriginalClass: new (...args: any[]) => any;
13
+ className: string;
14
+ stackObjectType?: undefined;
15
+ };
16
+ /**
17
+ * Track metadata for schema comparison in tests and documentation.
18
+ * Only required for schemas that can't be compared out of the box,
19
+ * like custom schemas or instanceof schemas.
20
+ */
21
+ export declare const stackObjectRegistry: z.core.$ZodRegistry<StackObjectMetadata, z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
22
+ /**
23
+ * Creates a Zod schema for stack objects that have a stackObjectType property.
24
+ * This is a helper to reduce boilerplate when creating custom stack object schemas.
25
+ * It also ensures the schema is registered in stackObjectRegistry, which enables
26
+ * proper type string generation in stack effects.
27
+ *
28
+ * Use this instead of z.custom() directly for stack objects.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * interface StackEmail {
33
+ * stackObjectType: "email";
34
+ * to: string;
35
+ * subject: string;
36
+ * body: string;
37
+ * }
38
+ *
39
+ * const stackEmailSchema = createStackObjectSchema<StackEmail>("email");
40
+ *
41
+ * // Use in stack effect:
42
+ * @ForthicWord(se`(email:${stackEmailSchema} -- sent:${z.boolean()})`, "Send email")
43
+ * async SEND(email: StackEmail): Promise<boolean> { ... }
44
+ * ```
45
+ */
46
+ export declare function createStackObjectSchema<T extends {
47
+ stackObjectType: string;
48
+ }>(stackObjectType: string, errorMessage?: string): z.ZodCustom<T>;
49
+ /**
50
+ * Creates a Zod instanceof schema with automatic metadata registration.
51
+ * This ensures the schema is registered in stackObjectRegistry, which enables
52
+ * proper type string generation in stack effects.
53
+ *
54
+ * Use this instead of z.instanceof() directly.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import { Temporal } from "temporal-polyfill";
59
+ *
60
+ * const plainDateSchema = createInstanceOfSchema(Temporal.PlainDate);
61
+ *
62
+ * // Use in stack effect:
63
+ * @ForthicWord(se`(date:${plainDateSchema} -- formatted:${z.string()})`, "Format date")
64
+ * async FORMAT(date: Temporal.PlainDate): Promise<string> { ... }
65
+ * ```
66
+ */
67
+ export declare function createInstanceOfSchema<T extends abstract new (...args: any[]) => any>(ClassToSchematize: T,
68
+ /** If not passed, falls back to class.name */
69
+ className?: string): z.ZodType<InstanceType<T>>;
70
+ export {};
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stackObjectRegistry = void 0;
4
+ exports.createStackObjectSchema = createStackObjectSchema;
5
+ exports.createInstanceOfSchema = createInstanceOfSchema;
6
+ const zod_1 = require("zod");
7
+ /**
8
+ * Track metadata for schema comparison in tests and documentation.
9
+ * Only required for schemas that can't be compared out of the box,
10
+ * like custom schemas or instanceof schemas.
11
+ */
12
+ exports.stackObjectRegistry = zod_1.z.registry();
13
+ /**
14
+ * Creates a Zod schema for stack objects that have a stackObjectType property.
15
+ * This is a helper to reduce boilerplate when creating custom stack object schemas.
16
+ * It also ensures the schema is registered in stackObjectRegistry, which enables
17
+ * proper type string generation in stack effects.
18
+ *
19
+ * Use this instead of z.custom() directly for stack objects.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * interface StackEmail {
24
+ * stackObjectType: "email";
25
+ * to: string;
26
+ * subject: string;
27
+ * body: string;
28
+ * }
29
+ *
30
+ * const stackEmailSchema = createStackObjectSchema<StackEmail>("email");
31
+ *
32
+ * // Use in stack effect:
33
+ * @ForthicWord(se`(email:${stackEmailSchema} -- sent:${z.boolean()})`, "Send email")
34
+ * async SEND(email: StackEmail): Promise<boolean> { ... }
35
+ * ```
36
+ */
37
+ function createStackObjectSchema(stackObjectType, errorMessage) {
38
+ const schema = zod_1.z.custom((maybeStackObject) => maybeStackObject?.stackObjectType === stackObjectType, errorMessage ?? `expected ${stackObjectType} stackObjectType`);
39
+ // Register schema with metadata
40
+ exports.stackObjectRegistry.add(schema, {
41
+ objectType: "stackObject",
42
+ stackObjectType,
43
+ });
44
+ return schema;
45
+ }
46
+ /**
47
+ * Creates a Zod instanceof schema with automatic metadata registration.
48
+ * This ensures the schema is registered in stackObjectRegistry, which enables
49
+ * proper type string generation in stack effects.
50
+ *
51
+ * Use this instead of z.instanceof() directly.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * import { Temporal } from "temporal-polyfill";
56
+ *
57
+ * const plainDateSchema = createInstanceOfSchema(Temporal.PlainDate);
58
+ *
59
+ * // Use in stack effect:
60
+ * @ForthicWord(se`(date:${plainDateSchema} -- formatted:${z.string()})`, "Format date")
61
+ * async FORMAT(date: Temporal.PlainDate): Promise<string> { ... }
62
+ * ```
63
+ */
64
+ function createInstanceOfSchema(ClassToSchematize,
65
+ /** If not passed, falls back to class.name */
66
+ className) {
67
+ const schema = zod_1.z.instanceof(ClassToSchematize);
68
+ // Register schema with metadata
69
+ const resolvedClassName = className ?? ClassToSchematize.name;
70
+ exports.stackObjectRegistry.add(schema, {
71
+ objectType: "class",
72
+ OriginalClass: ClassToSchematize,
73
+ className: resolvedClassName,
74
+ });
75
+ return schema;
76
+ }
77
+ //# sourceMappingURL=schemaUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../../../src/forthic/decorators/schemaUtils.ts"],"names":[],"mappings":";;;AAkDA,0DAgBC;AAoBD,wDAgBC;AAtGD,6BAAwB;AAmBxB;;;;GAIG;AACU,QAAA,mBAAmB,GAAG,OAAC,CAAC,QAAQ,EAAuB,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,uBAAuB,CACrC,eAAuB,EACvB,YAAqB;IAErB,MAAM,MAAM,GAAG,OAAC,CAAC,MAAM,CACrB,CAAC,gBAAgB,EAAE,EAAE,CAAE,gBAAkC,EAAE,eAAe,KAAK,eAAe,EAC9F,YAAY,IAAI,YAAY,eAAe,kBAAkB,CAC9D,CAAC;IAEF,gCAAgC;IAChC,2BAAmB,CAAC,GAAG,CAAC,MAAM,EAAE;QAC9B,UAAU,EAAE,aAAa;QACzB,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,sBAAsB,CACpC,iBAAoB;AACpB,8CAA8C;AAC9C,SAAkB;IAElB,MAAM,MAAM,GAAG,OAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE/C,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC;IAC9D,2BAAmB,CAAC,GAAG,CAAC,MAAM,EAAE;QAC9B,UAAU,EAAE,OAAO;QACnB,aAAa,EAAE,iBAAiB;QAChC,SAAS,EAAE,iBAAiB;KAC7B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { z } from "zod";
2
+ import type { util as zodUtil } from "zod/v4/core";
3
+ /**
4
+ * Map the set of Zod types to the strings we use in Forthic stack effects.
5
+ * Uses Zod's internal def.type for comprehensive type detection.
6
+ */
7
+ export declare const mapZodToStackEffectType: (zodType: z.ZodTypeAny) => string;
8
+ type InferTupleTypes<T extends zodUtil.TupleItems> = {
9
+ [K in keyof T]: T[K] extends z.ZodTypeAny ? z.infer<T[K]> : never;
10
+ };
11
+ /**
12
+ * Represents a type-safe stack effect with Zod schemas for validation.
13
+ *
14
+ * @template Args - Tuple of Zod schemas for input parameters
15
+ * @template Return - Zod schema for the return type
16
+ */
17
+ export type TaggedStackEffect<Args extends zodUtil.TupleItems, Return extends z.core.$ZodFunctionOut = z.core.$ZodFunctionOut> = {
18
+ /** The human-readable stack effect string (e.g., "( a:number b:string -- result:string )") */
19
+ stackEffect: string;
20
+ /** Zod schemas for runtime validation */
21
+ schema: {
22
+ inputSchemas: z.ZodTypeAny[];
23
+ outputSchema: z.ZodTypeAny;
24
+ };
25
+ /**
26
+ * Phantom property to convey the expected function signature, constructed from the input + output types.
27
+ * DO NOT USE AT RUNTIME - it's only used for type inference.
28
+ */
29
+ _implType: (...args: InferTupleTypes<Args>) => Promise<z.infer<Return>>;
30
+ };
31
+ /**
32
+ * Tagged template literal for stack effects. Use with the @ForthicWord decorator to
33
+ * create a type-safe stack effect.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * // Type-safe stack effect with Zod validation
38
+ * @ForthicWord(se`(a:${z.number()} b:${z.string()} -- result:${z.string()})`, "Concatenate number and string")
39
+ * async CONCAT(a: number, b: string): Promise<string> {
40
+ * return `${a}${b}`;
41
+ * }
42
+ * ```
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * // No parameters, returns string
47
+ * @ForthicWord(se`( -- message:${z.string()})`, "Get greeting")
48
+ * async GREET(): Promise<string> {
49
+ * return "Hello!";
50
+ * }
51
+ * ```
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * // Takes string, no return (void)
56
+ * @ForthicWord(se`(input:${z.string()} -- ${z.void()})`, "Log to console")
57
+ * async LOG(input: string): Promise<void> {
58
+ * console.log(input);
59
+ * }
60
+ * ```
61
+ */
62
+ export declare const se: <Args extends zodUtil.TupleItems, Return extends z.core.$ZodFunctionOut>(template: TemplateStringsArray, ...values: [...Args, Return]) => TaggedStackEffect<Args, Return>;
63
+ export {};
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.se = exports.mapZodToStackEffectType = void 0;
4
+ const schemaUtils_js_1 = require("./schemaUtils.js");
5
+ /**
6
+ * Map the set of Zod types to the strings we use in Forthic stack effects.
7
+ * Uses Zod's internal def.type for comprehensive type detection.
8
+ */
9
+ const mapZodToStackEffectType = (zodType) => {
10
+ const def = zodType.def;
11
+ switch (def.type) {
12
+ case "string":
13
+ return "string";
14
+ case "int":
15
+ case "bigint":
16
+ return "number";
17
+ case "number":
18
+ return "number";
19
+ case "boolean":
20
+ return "boolean";
21
+ case "null":
22
+ return "null";
23
+ case "undefined":
24
+ case "void":
25
+ return "";
26
+ case "date":
27
+ return "date";
28
+ case "symbol":
29
+ return "symbol";
30
+ case "object": {
31
+ const objectDef = def;
32
+ const objectShape = objectDef.shape;
33
+ // Get all property types
34
+ const properties = Object.entries(objectShape).map(([key, fieldSchema]) => {
35
+ const fieldType = (0, exports.mapZodToStackEffectType)(fieldSchema);
36
+ return `${key}: ${fieldType}`;
37
+ });
38
+ // Return formatted object type
39
+ return properties.length > 0 ? `{ ${properties.join(", ")} }` : "{}";
40
+ }
41
+ case "literal": {
42
+ const literalDef = def;
43
+ const value = literalDef.values[0];
44
+ // Quote string literals
45
+ return typeof value === "string" ? `"${value}"` : String(value);
46
+ }
47
+ case "enum": {
48
+ const enumDef = def;
49
+ const enumEntries = Object.values(enumDef.entries);
50
+ // Return union of quoted values - zod enums are always strings
51
+ return enumEntries.map((entry) => `"${entry}"`).join("|");
52
+ }
53
+ case "optional": {
54
+ const optionalDef = def;
55
+ const innerType = (0, exports.mapZodToStackEffectType)(optionalDef.innerType);
56
+ // Optional is a union with undefined
57
+ return innerType ? `${innerType}|undefined` : "undefined";
58
+ }
59
+ case "nullable": {
60
+ const nullableDef = def;
61
+ const innerType = (0, exports.mapZodToStackEffectType)(nullableDef.innerType);
62
+ // Nullable is a union with null
63
+ return innerType ? `${innerType}|null` : "null";
64
+ }
65
+ case "union": {
66
+ const unionDef = def;
67
+ const unionOptions = unionDef.options;
68
+ // Recursively get types for all union options
69
+ const optionTypes = unionOptions.map((option) => (0, exports.mapZodToStackEffectType)(option));
70
+ // Dedupe
71
+ return [...new Set(optionTypes)].join("|");
72
+ }
73
+ case "tuple": {
74
+ const tupleDef = def;
75
+ const tupleItems = tupleDef.items;
76
+ const elementTypes = tupleItems.map((item) => (0, exports.mapZodToStackEffectType)(item));
77
+ return `[${elementTypes.join(", ")}]`;
78
+ }
79
+ case "array": {
80
+ const arrayDef = def;
81
+ const elementType = (0, exports.mapZodToStackEffectType)(arrayDef.element);
82
+ // If the element is a union (contains "|") but not already an array type (doesn't end with "]"),
83
+ // wrap it in parentheses
84
+ const needsParens = elementType.includes("|") && !elementType.endsWith("]");
85
+ const wrappedType = needsParens ? `(${elementType})` : elementType;
86
+ return `${wrappedType}[]`;
87
+ }
88
+ case "custom": {
89
+ const metadata = schemaUtils_js_1.stackObjectRegistry.get(zodType);
90
+ if (!metadata) {
91
+ throw new Error(`Custom schema found without stack object registry entry. Consider using createStackObjectSchema or createInstanceOfSchema or manually registering the schema.`);
92
+ }
93
+ return metadata.stackObjectType ?? metadata.className ?? "object";
94
+ }
95
+ case "any":
96
+ return "any";
97
+ case "record":
98
+ case "function":
99
+ case "promise":
100
+ case "map":
101
+ case "set":
102
+ case "lazy":
103
+ case "never":
104
+ case "unknown":
105
+ case "file":
106
+ case "nonoptional":
107
+ case "success":
108
+ case "transform":
109
+ case "prefault":
110
+ case "nan":
111
+ case "pipe":
112
+ case "template_literal":
113
+ case "intersection":
114
+ case "catch":
115
+ case "default":
116
+ case "readonly":
117
+ // Unsupported types - throw error to ensure we handle everything
118
+ throw new Error(`Stack effect string generation not supported for type: "${def.type}" - you may either update mapZodToStackEffectType or use a simpler type (e.g. use createStackObjectSchema)`);
119
+ default:
120
+ throw new Error(`Unknown type: "${def.type}". You either need to update mapZodToStackEffectType, or zod is doing something unexpected.`);
121
+ }
122
+ };
123
+ exports.mapZodToStackEffectType = mapZodToStackEffectType;
124
+ /**
125
+ * Tagged template literal for stack effects. Use with the @ForthicWord decorator to
126
+ * create a type-safe stack effect.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * // Type-safe stack effect with Zod validation
131
+ * @ForthicWord(se`(a:${z.number()} b:${z.string()} -- result:${z.string()})`, "Concatenate number and string")
132
+ * async CONCAT(a: number, b: string): Promise<string> {
133
+ * return `${a}${b}`;
134
+ * }
135
+ * ```
136
+ *
137
+ * @example
138
+ * ```ts
139
+ * // No parameters, returns string
140
+ * @ForthicWord(se`( -- message:${z.string()})`, "Get greeting")
141
+ * async GREET(): Promise<string> {
142
+ * return "Hello!";
143
+ * }
144
+ * ```
145
+ *
146
+ * @example
147
+ * ```ts
148
+ * // Takes string, no return (void)
149
+ * @ForthicWord(se`(input:${z.string()} -- ${z.void()})`, "Log to console")
150
+ * async LOG(input: string): Promise<void> {
151
+ * console.log(input);
152
+ * }
153
+ * ```
154
+ */
155
+ const se = (template, ...values) => {
156
+ const stackEffectTypes = values.map((value) => (0, exports.mapZodToStackEffectType)(value));
157
+ // Outputs the template string as if it weren't tagged, e.g. "( a:string b:number -- c:number )"
158
+ const parts = [];
159
+ for (let i = 0; i < template.length; i++) {
160
+ parts.push(template[i]);
161
+ if (i < stackEffectTypes.length) {
162
+ parts.push(stackEffectTypes[i]);
163
+ }
164
+ }
165
+ const outStr = parts.join("");
166
+ const taggedStackEffect = {
167
+ stackEffect: outStr,
168
+ schema: {
169
+ inputSchemas: values.slice(0, -1),
170
+ outputSchema: values[values.length - 1],
171
+ },
172
+ _implType: async () => {
173
+ throw new Error("This function should not be called at runtime, it's only used for type inference");
174
+ },
175
+ };
176
+ return taggedStackEffect;
177
+ };
178
+ exports.se = se;
179
+ //# sourceMappingURL=stackEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stackEffect.js","sourceRoot":"","sources":["../../../../src/forthic/decorators/stackEffect.ts"],"names":[],"mappings":"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"}
@@ -149,7 +149,7 @@ TODAY 7 ADD-DAYS
149
149
  }
150
150
  // If it's a number, treat as Unix timestamp (seconds)
151
151
  if (typeof item === "number") {
152
- const instant = temporal_polyfill_1.Temporal.Instant.fromEpochSeconds(item);
152
+ const instant = temporal_polyfill_1.Temporal.Instant.fromEpochMilliseconds(item * 1000);
153
153
  const zoned = instant.toZonedDateTimeISO(interp.get_timezone());
154
154
  interp.stack_push(zoned);
155
155
  return;
@@ -250,7 +250,7 @@ TODAY 7 ADD-DAYS
250
250
  return;
251
251
  }
252
252
  // Assume timestamp is in seconds, convert to milliseconds
253
- const instant = temporal_polyfill_1.Temporal.Instant.fromEpochSeconds(timestamp);
253
+ const instant = temporal_polyfill_1.Temporal.Instant.fromEpochMilliseconds(timestamp * 1000);
254
254
  const zoned = instant.toZonedDateTimeISO(interp.get_timezone());
255
255
  interp.stack_push(zoned);
256
256
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datetime_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/datetime_module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datetime_module.js","sourceRoot":"","sources":["../../../../../src/forthic/modules/standard/datetime_module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Registry metadata types for stack objects and class instances.
4
+ */
5
+ type StackObjectMetadata = {
6
+ objectType: "stackObject";
7
+ stackObjectType: string;
8
+ className?: undefined;
9
+ OriginalClass?: undefined;
10
+ } | {
11
+ objectType: "class";
12
+ OriginalClass: new (...args: any[]) => any;
13
+ className: string;
14
+ stackObjectType?: undefined;
15
+ };
16
+ /**
17
+ * Track metadata for schema comparison in tests and documentation.
18
+ * Only required for schemas that can't be compared out of the box,
19
+ * like custom schemas or instanceof schemas.
20
+ */
21
+ export declare const stackObjectRegistry: z.core.$ZodRegistry<StackObjectMetadata, z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
22
+ /**
23
+ * Creates a Zod schema for stack objects that have a stackObjectType property.
24
+ * This is a helper to reduce boilerplate when creating custom stack object schemas.
25
+ * It also ensures the schema is registered in stackObjectRegistry, which enables
26
+ * proper type string generation in stack effects.
27
+ *
28
+ * Use this instead of z.custom() directly for stack objects.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * interface StackEmail {
33
+ * stackObjectType: "email";
34
+ * to: string;
35
+ * subject: string;
36
+ * body: string;
37
+ * }
38
+ *
39
+ * const stackEmailSchema = createStackObjectSchema<StackEmail>("email");
40
+ *
41
+ * // Use in stack effect:
42
+ * @ForthicWord(se`(email:${stackEmailSchema} -- sent:${z.boolean()})`, "Send email")
43
+ * async SEND(email: StackEmail): Promise<boolean> { ... }
44
+ * ```
45
+ */
46
+ export declare function createStackObjectSchema<T extends {
47
+ stackObjectType: string;
48
+ }>(stackObjectType: string, errorMessage?: string): z.ZodCustom<T>;
49
+ /**
50
+ * Creates a Zod instanceof schema with automatic metadata registration.
51
+ * This ensures the schema is registered in stackObjectRegistry, which enables
52
+ * proper type string generation in stack effects.
53
+ *
54
+ * Use this instead of z.instanceof() directly.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import { Temporal } from "temporal-polyfill";
59
+ *
60
+ * const plainDateSchema = createInstanceOfSchema(Temporal.PlainDate);
61
+ *
62
+ * // Use in stack effect:
63
+ * @ForthicWord(se`(date:${plainDateSchema} -- formatted:${z.string()})`, "Format date")
64
+ * async FORMAT(date: Temporal.PlainDate): Promise<string> { ... }
65
+ * ```
66
+ */
67
+ export declare function createInstanceOfSchema<T extends abstract new (...args: any[]) => any>(ClassToSchematize: T,
68
+ /** If not passed, falls back to class.name */
69
+ className?: string): z.ZodType<InstanceType<T>>;
70
+ export {};
@@ -0,0 +1,72 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Track metadata for schema comparison in tests and documentation.
4
+ * Only required for schemas that can't be compared out of the box,
5
+ * like custom schemas or instanceof schemas.
6
+ */
7
+ export const stackObjectRegistry = z.registry();
8
+ /**
9
+ * Creates a Zod schema for stack objects that have a stackObjectType property.
10
+ * This is a helper to reduce boilerplate when creating custom stack object schemas.
11
+ * It also ensures the schema is registered in stackObjectRegistry, which enables
12
+ * proper type string generation in stack effects.
13
+ *
14
+ * Use this instead of z.custom() directly for stack objects.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * interface StackEmail {
19
+ * stackObjectType: "email";
20
+ * to: string;
21
+ * subject: string;
22
+ * body: string;
23
+ * }
24
+ *
25
+ * const stackEmailSchema = createStackObjectSchema<StackEmail>("email");
26
+ *
27
+ * // Use in stack effect:
28
+ * @ForthicWord(se`(email:${stackEmailSchema} -- sent:${z.boolean()})`, "Send email")
29
+ * async SEND(email: StackEmail): Promise<boolean> { ... }
30
+ * ```
31
+ */
32
+ export function createStackObjectSchema(stackObjectType, errorMessage) {
33
+ const schema = z.custom((maybeStackObject) => maybeStackObject?.stackObjectType === stackObjectType, errorMessage ?? `expected ${stackObjectType} stackObjectType`);
34
+ // Register schema with metadata
35
+ stackObjectRegistry.add(schema, {
36
+ objectType: "stackObject",
37
+ stackObjectType,
38
+ });
39
+ return schema;
40
+ }
41
+ /**
42
+ * Creates a Zod instanceof schema with automatic metadata registration.
43
+ * This ensures the schema is registered in stackObjectRegistry, which enables
44
+ * proper type string generation in stack effects.
45
+ *
46
+ * Use this instead of z.instanceof() directly.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * import { Temporal } from "temporal-polyfill";
51
+ *
52
+ * const plainDateSchema = createInstanceOfSchema(Temporal.PlainDate);
53
+ *
54
+ * // Use in stack effect:
55
+ * @ForthicWord(se`(date:${plainDateSchema} -- formatted:${z.string()})`, "Format date")
56
+ * async FORMAT(date: Temporal.PlainDate): Promise<string> { ... }
57
+ * ```
58
+ */
59
+ export function createInstanceOfSchema(ClassToSchematize,
60
+ /** If not passed, falls back to class.name */
61
+ className) {
62
+ const schema = z.instanceof(ClassToSchematize);
63
+ // Register schema with metadata
64
+ const resolvedClassName = className ?? ClassToSchematize.name;
65
+ stackObjectRegistry.add(schema, {
66
+ objectType: "class",
67
+ OriginalClass: ClassToSchematize,
68
+ className: resolvedClassName,
69
+ });
70
+ return schema;
71
+ }
72
+ //# sourceMappingURL=schemaUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../../../src/forthic/decorators/schemaUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmBxB;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,QAAQ,EAAuB,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAuB,EACvB,YAAqB;IAErB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CACrB,CAAC,gBAAgB,EAAE,EAAE,CAAE,gBAAkC,EAAE,eAAe,KAAK,eAAe,EAC9F,YAAY,IAAI,YAAY,eAAe,kBAAkB,CAC9D,CAAC;IAEF,gCAAgC;IAChC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE;QAC9B,UAAU,EAAE,aAAa;QACzB,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CACpC,iBAAoB;AACpB,8CAA8C;AAC9C,SAAkB;IAElB,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE/C,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC;IAC9D,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE;QAC9B,UAAU,EAAE,OAAO;QACnB,aAAa,EAAE,iBAAiB;QAChC,SAAS,EAAE,iBAAiB;KAC7B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}