@process.co/element-types 0.0.11 → 0.0.13

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
@@ -98,24 +98,80 @@ export type SignalEventShape = {
98
98
  };
99
99
  /**
100
100
  * Persisted subset of `$.interface.schema` (HTTP triggers, etc.) used at execution.
101
- * Design-time: `exportSchema` / `exportSchemaZodex` support hints and portable TS-shaped metadata.
102
- * Runtime Zod enforcement uses `compiledValidatorKey` + host `$.enforceSchema`.
101
+ * Design-time fields (`exportSchema`, `exportSchemaZodex`, etc.) are hints for editors and tooling.
102
+ * When {@link HttpInterfaceSchemaWire.validation} is true, the runtime does **not** validate against
103
+ * those JSON blobs alone: it loads the ESM at {@link HttpInterfaceSchemaWire.compiledValidatorKey}
104
+ * (default export = Zod schema) and runs full `safeParse` on the payload via the runner-bound
105
+ * {@link SignalHostServices.enforceSchema} RPC (see {@link setSignalEmitValidationHost}).
103
106
  */
104
107
  export type HttpInterfaceSchemaWire = {
108
+ /**
109
+ * When true, `enforceSchema` runs the **compiled** default-export Zod schema for this interface
110
+ * (full parse/transform/refine), not a lightweight check of `exportSchema` alone.
111
+ */
105
112
  validation?: boolean;
106
113
  exportSchema?: Record<string, JSONValue>;
107
114
  exportSchemaZodex?: Record<string, JSONValue>;
108
115
  exportSchemaSource?: string;
109
116
  exportSchemaKey?: string | null;
110
- /** S3 object key (element-registry bucket) for compiled ESM validator `.mjs`. */
117
+ /** S3 object key (element-registry bucket) for compiled ESM whose default export is the Zod schema used at runtime. */
111
118
  compiledValidatorKey?: string | null;
119
+ /**
120
+ * Client-issued token stored with the interface schema blob; included in validator artifact paths
121
+ * so successive saves and draft/live rows do not share one S3 prefix unless intended.
122
+ */
123
+ schemaBuildKey?: string;
124
+ /**
125
+ * When set, the API may coerce **string** leaf values to number / boolean / bigint / Date **only
126
+ * where the compiled Zod schema expects those types** (schema-guided), before `safeParse`.
127
+ *
128
+ * - `'auto'` (default when omitted): enable for form-like `Content-Type` (`application/x-www-form-urlencoded`,
129
+ * `multipart/form-data`). Typical JSON bodies skip coercion so numeric strings stay strings.
130
+ * - `true`: always run schema-guided coercion.
131
+ * - `false`: never coerce (strict).
132
+ */
133
+ coerceLeafPrimitives?: boolean | 'auto';
112
134
  };
113
135
  /** Host-backed RPC surface passed as `params.$` to signal `run` (parallel to action `ActionRunOptions.$`). */
114
136
  export type SignalHostServices = {
115
- export?: (category: string, message: string) => void | Promise<void>;
116
- $transitionToSlot?: (slots: Array<SlotTransitionDefinition>) => void | Promise<void>;
117
- enforceSchema?: <T = unknown>(inputSchema: HttpInterfaceSchemaWire | undefined, value: unknown) => Promise<T>;
137
+ export: (category: string, message: string) => void | Promise<void>;
138
+ $transitionToSlot: (slots: Array<SlotTransitionDefinition>) => void | Promise<void>;
139
+ /**
140
+ * When `inputSchema.validation` is set, runs the published **full Zod** validator for that
141
+ * interface (`compiledValidatorKey`); otherwise may no-op. Implemented by the Process API
142
+ * (validator worker + `safeParse`), not by element code.
143
+ */
144
+ enforceSchema: <T>(inputSchema: HttpInterfaceSchemaWire | undefined, value: unknown) => Promise<EnforceSchemaResult<T>>;
145
+ /**
146
+ * Wire for the primary `$.interface.schema` property (same persisted object the publish
147
+ * pipeline attaches `compiledValidatorKey` to). Use with {@link SignalHostServices.enforceSchema},
148
+ * e.g. `await $.enforceSchema($.interfaceEmitSchema, toEmit)`.
149
+ */
150
+ interfaceEmitSchema?: HttpInterfaceSchemaWire;
151
+ };
152
+ /** One row from a failed Zod `safeParse` (host / `validateEmitPayload`). */
153
+ export type SchemaValidationIssue = {
154
+ path: string;
155
+ message: string;
156
+ code: string;
118
157
  };
158
+ export type EnforceSchemaResult<T extends unknown = unknown> = {
159
+ ok: true;
160
+ value: T;
161
+ } | {
162
+ ok: false;
163
+ message: string;
164
+ issues?: SchemaValidationIssue[];
165
+ };
166
+ /**
167
+ * Marker on successful `schema.enforce` RPC results from the Process API.
168
+ * Zod-validated HTTP bodies may legally include their own `ok` / `value` fields; this
169
+ * discriminant prevents {@link validateEmitPayload} (and worker RPC unwrap) from
170
+ * confusing user payloads with the host envelope.
171
+ *
172
+ * Keep in sync with `apps/api` `DynamicRunnerService` `schema.enforce` and `runner-host` unwrap.
173
+ */
174
+ export declare const PROCESS_CO_ENFORCE_SCHEMA_HOST_PAYLOAD_MARKER: "enforceSchema";
119
175
  export type SignalRunOptions = {
120
176
  $: SignalHostServices;
121
177
  event: SignalEventShape;
@@ -126,12 +182,31 @@ export type ValidateEmitPayloadResult<T> = {
126
182
  } | {
127
183
  ok: false;
128
184
  message: string;
185
+ issues?: SchemaValidationIssue[];
186
+ };
187
+ /**
188
+ * Host shape accepted from the runner RPC bridge (`$.enforceSchema` may be typed as
189
+ * returning `Promise<unknown>` while {@link SignalHostServices} uses a generic `T`).
190
+ */
191
+ export type SignalEmitValidationHostBinding = Pick<SignalHostServices, 'enforceSchema'> | {
192
+ enforceSchema?: (inputSchema: HttpInterfaceSchemaWire | undefined, value: unknown) => Promise<unknown>;
129
193
  };
130
194
  /**
131
- * When `inputSchema.validation` is true, awaits `host.enforceSchema(inputSchema, value)`.
132
- * Otherwise returns `value` unchanged.
195
+ * Binds the trusted signal host used by {@link validateEmitPayload} for the current
196
+ * invocation. The runner sets this from the RPC/proxy host **outside** element code and
197
+ * clears it when the invocation completes. Uses `globalThis` so a bundled copy of
198
+ * `validateEmitPayload` inside an element module still sees the same binding as the runner.
199
+ */
200
+ export declare function setSignalEmitValidationHost(host: SignalEmitValidationHostBinding | undefined): void;
201
+ /**
202
+ * When validation is required (explicit `validation: true`, or a non-empty `compiledValidatorKey`
203
+ * with `validation` not `false`), awaits the bound host's `enforceSchema` so the API runs the
204
+ * **compiled Zod** validator. Otherwise returns `value` unchanged.
205
+ * On failure, `issues` lists Zod paths/messages when the host provides them (forward into your
206
+ * `http.respond` JSON body alongside any `requestStatus` you use).
207
+ * (see {@link setSignalEmitValidationHost}).
133
208
  */
134
- export declare function validateEmitPayload<T>(host: Pick<SignalHostServices, 'enforceSchema'>, inputSchema: HttpInterfaceSchemaWire | undefined, value: unknown): Promise<ValidateEmitPayloadResult<T>>;
209
+ export declare function validateEmitPayload<T>(inputSchema: HttpInterfaceSchemaWire | undefined, value: unknown): Promise<ValidateEmitPayloadResult<T>>;
135
210
  export interface FileMetadata {
136
211
  size: number;
137
212
  contentType?: string;
@@ -286,7 +361,7 @@ export interface IdEmitMetadata extends EmitMetadata {
286
361
  type EmitFunction = {
287
362
  $emit: (event: SignalEventShape | SignalEventShape["body"] | SignalEventShape["bodyRaw"] | JSONValue, metadata?: EmitMetadata) => Promise<void>;
288
363
  };
289
- type StringToType<S extends string> = S extends "string" ? string : S extends "string(text)" ? string : S extends "string(html)" ? string : S extends "string(markdown)" ? string : S extends "string(json)" ? string : S extends "string(xml)" ? string : S extends "string(yaml)" ? string : S extends "string(csv)" ? string : S extends "string(tsv)" ? string : S extends "string(css)" ? string : S extends "string(sql)" ? string : S extends "string(email)" ? string : S extends "string(emailList)" ? string : S extends "string(urlList)" ? string : S extends "string(url)" ? string : S extends "number" ? number : S extends "boolean" ? boolean : S extends "null" ? null : S extends "undefined" ? undefined : S extends "object" ? object : S extends "any" ? any : S extends "unknown" ? unknown : S extends "never" ? never : S extends "void" ? void : never;
364
+ type StringToType<S extends string> = S extends "string" ? string : S extends "string(text)" ? string : S extends "string(html)" ? string : S extends "string(markdown)" ? string : S extends "string(json)" ? string : S extends "string(xml)" ? string : S extends "string(javascript)" ? string : S extends "string(yaml)" ? string : S extends "string(csv)" ? string : S extends "string(tsv)" ? string : S extends "string(css)" ? string : S extends "string(sql)" ? string : S extends "string(email)" ? string : S extends "string(emailList)" ? string : S extends "string(urlList)" ? string : S extends "string(url)" ? string : S extends "number" ? number : S extends "boolean" ? boolean : S extends "null" ? null : S extends "undefined" ? undefined : S extends "object" ? object : S extends "any" ? any : S extends "unknown" ? unknown : S extends "never" ? never : S extends "void" ? void : never;
290
365
  type TrimSpaces<S extends string> = S extends ` ${infer R}` ? TrimSpaces<R> : S extends `${infer R} ` ? TrimSpaces<R> : S;
291
366
  type ParseUnion<S extends string> = S extends `${infer A}|${infer B}` ? StringToType<TrimSpaces<A>> | ParseUnion<B> : StringToType<TrimSpaces<S>>;
292
367
  type Expand<T> = T extends object ? {
@@ -323,7 +398,7 @@ type PropTypeFromTypeValue<U, T = unknown> = U extends z.ZodObject<any, any> ? I
323
398
  headers?: Record<string, string>;
324
399
  [key: string]: any;
325
400
  }>;
326
- } : U extends "string" ? [PropOptionsValue<T>] extends [never] ? string : PropOptionsValue<T> : U extends "string(html)" ? string : U extends "string(markdown)" ? string : U extends "string(json)" ? string : U extends "string(xml)" ? string : U extends "string(yaml)" ? string : U extends "string(base64)" ? string : U extends "string(csv)" ? string : U extends "string(tsv)" ? string : U extends "string(css)" ? string : U extends "string(sql)" ? string : U extends "string(email)" ? string : U extends "string(emailList)" ? string[] : U extends "string(urlList)" ? string[] : U extends "string(url)" ? string : U extends `$infer<${string}>` ? InferType<U> : U extends "$infer" ? any : U extends "object" ? Record<string, unknown> : U extends `object(${PropObjectDefinitionTypes})` ? any : U extends `file(${PropFileDefinitionTypes})` ? IFile : U extends "number" ? number : U extends "boolean" ? boolean : U extends "integer" ? number : U extends "$.interface.http" ? {
401
+ } : U extends "string" ? [PropOptionsValue<T>] extends [never] ? string : PropOptionsValue<T> : U extends "string(html)" ? string : U extends "string(markdown)" ? string : U extends "string(json)" ? string : U extends "string(xml)" ? string : U extends "string(yaml)" ? string : U extends "string(base64)" ? string : U extends "string(javascript)" ? string : U extends "string(csv)" ? string : U extends "string(tsv)" ? string : U extends "string(css)" ? string : U extends "string(sql)" ? string : U extends "string(email)" ? string : U extends "string(emailList)" ? string[] : U extends "string(urlList)" ? string[] : U extends "string(url)" ? string : U extends `$infer<${string}>` ? InferType<U> : U extends "$infer" ? any : U extends "object" ? Record<string, unknown> : U extends `object(${PropObjectDefinitionTypes})` ? any : U extends `file(${PropFileDefinitionTypes})` ? IFile : U extends "number" ? number : U extends "boolean" ? boolean : U extends "integer" ? number : U extends "$.interface.schema" ? HttpInterfaceSchemaWire : U extends "$.interface.http" ? {
327
402
  respond: (response: HTTPResponse) => Promise<any> | void;
328
403
  authenticate: (authType: HTTPAuthenticationType, options?: {
329
404
  token?: string;
@@ -424,7 +499,7 @@ export type SignalMethod<S extends Signal> = (this: SignalInstance<S>, params: S
424
499
  export type ActionMethod<A extends Action> = (this: ActionInstance<A>, params: {
425
500
  $: any;
426
501
  }) => Promise<unknown>;
427
- export type PropStringDefinitionTypes = "text" | "html" | "markdown" | "json" | "xml" | "yaml" | "csv" | "tsv" | "css" | "sql" | "email" | "emailList" | "urlList" | "url" | "base64";
502
+ export type PropStringDefinitionTypes = "text" | "html" | "markdown" | "json" | "xml" | "yaml" | "csv" | "tsv" | "css" | "sql" | "email" | "emailList" | "urlList" | "url" | "base64" | "javascript";
428
503
  export type PropObjectDefinitionTypes = "json" | "base64";
429
504
  export type PropFileDefinitionTypes = "url" | "base64";
430
505
  export type PropDefinitionTypes = "string" | "number" | "boolean" | "integer" | "object" | "array" | "file" | "image" | "video" | "audio" | `object(${PropObjectDefinitionTypes})` | `file(${PropFileDefinitionTypes})` | `string(${PropStringDefinitionTypes})` | `$infer<${string}>` | "$infer" | "app" | `array<${string}>`;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.zodObjectToContainerExportJsonSchema = exports.ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS = exports.isPlatformBoundLoaderType = exports.PLATFORM_BOUND_LOADER_TYPE_PREFIXES = exports.ELEMENT_AUTHORING_CONTRACT_VERSION = exports.builtinActionSlotsRegistry = void 0;
3
+ exports.zodObjectToContainerExportJsonSchema = exports.ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS = exports.PROCESS_CO_ENFORCE_SCHEMA_HOST_PAYLOAD_MARKER = exports.isPlatformBoundLoaderType = exports.PLATFORM_BOUND_LOADER_TYPE_PREFIXES = exports.ELEMENT_AUTHORING_CONTRACT_VERSION = exports.builtinActionSlotsRegistry = void 0;
4
+ exports.setSignalEmitValidationHost = setSignalEmitValidationHost;
4
5
  exports.validateEmitPayload = validateEmitPayload;
5
6
  exports.defineApp = defineApp;
6
7
  exports.defineAction = defineAction;
@@ -14,27 +15,99 @@ var platform_loader_type_1 = require("./platform-loader-type");
14
15
  Object.defineProperty(exports, "PLATFORM_BOUND_LOADER_TYPE_PREFIXES", { enumerable: true, get: function () { return platform_loader_type_1.PLATFORM_BOUND_LOADER_TYPE_PREFIXES; } });
15
16
  Object.defineProperty(exports, "isPlatformBoundLoaderType", { enumerable: true, get: function () { return platform_loader_type_1.isPlatformBoundLoaderType; } });
16
17
  /**
17
- * When `inputSchema.validation` is true, awaits `host.enforceSchema(inputSchema, value)`.
18
- * Otherwise returns `value` unchanged.
18
+ * Marker on successful `schema.enforce` RPC results from the Process API.
19
+ * Zod-validated HTTP bodies may legally include their own `ok` / `value` fields; this
20
+ * discriminant prevents {@link validateEmitPayload} (and worker RPC unwrap) from
21
+ * confusing user payloads with the host envelope.
22
+ *
23
+ * Keep in sync with `apps/api` `DynamicRunnerService` `schema.enforce` and `runner-host` unwrap.
19
24
  */
20
- async function validateEmitPayload(host, inputSchema, value) {
21
- if (!inputSchema?.validation) {
25
+ exports.PROCESS_CO_ENFORCE_SCHEMA_HOST_PAYLOAD_MARKER = 'enforceSchema';
26
+ /** Shared across bundled copies of this package in the same JS realm (worker isolate). */
27
+ const SIGNAL_EMIT_VALIDATION_HOST = Symbol.for('process.co.signalEmitValidationHost');
28
+ function getSignalEmitValidationHostBinding() {
29
+ return globalThis[SIGNAL_EMIT_VALIDATION_HOST];
30
+ }
31
+ /**
32
+ * Binds the trusted signal host used by {@link validateEmitPayload} for the current
33
+ * invocation. The runner sets this from the RPC/proxy host **outside** element code and
34
+ * clears it when the invocation completes. Uses `globalThis` so a bundled copy of
35
+ * `validateEmitPayload` inside an element module still sees the same binding as the runner.
36
+ */
37
+ function setSignalEmitValidationHost(host) {
38
+ const g = globalThis;
39
+ if (host === undefined) {
40
+ delete g[SIGNAL_EMIT_VALIDATION_HOST];
41
+ }
42
+ else {
43
+ g[SIGNAL_EMIT_VALIDATION_HOST] = host;
44
+ }
45
+ }
46
+ function validationIssuesFromUnknown(e) {
47
+ if (!e || typeof e !== 'object')
48
+ return undefined;
49
+ const issues = e.issues;
50
+ if (!Array.isArray(issues) || issues.length === 0)
51
+ return undefined;
52
+ const out = [];
53
+ for (const row of issues) {
54
+ if (!row || typeof row !== 'object')
55
+ continue;
56
+ const o = row;
57
+ out.push({
58
+ path: typeof o.path === 'string' ? o.path : '(root)',
59
+ message: typeof o.message === 'string' ? o.message : String(o.message ?? ''),
60
+ code: typeof o.code === 'string' ? o.code : 'custom',
61
+ });
62
+ }
63
+ return out.length > 0 ? out : undefined;
64
+ }
65
+ /**
66
+ * When validation is required (explicit `validation: true`, or a non-empty `compiledValidatorKey`
67
+ * with `validation` not `false`), awaits the bound host's `enforceSchema` so the API runs the
68
+ * **compiled Zod** validator. Otherwise returns `value` unchanged.
69
+ * On failure, `issues` lists Zod paths/messages when the host provides them (forward into your
70
+ * `http.respond` JSON body alongside any `requestStatus` you use).
71
+ * (see {@link setSignalEmitValidationHost}).
72
+ */
73
+ async function validateEmitPayload(inputSchema, value) {
74
+ const hasCompiled = inputSchema &&
75
+ typeof inputSchema.compiledValidatorKey === 'string' &&
76
+ inputSchema.compiledValidatorKey.length > 0;
77
+ if (inputSchema?.validation === false) {
78
+ return { ok: true, value: value };
79
+ }
80
+ if (!hasCompiled && inputSchema?.validation !== true) {
22
81
  return { ok: true, value: value };
23
82
  }
24
- const enforce = host.enforceSchema;
83
+ const bound = getSignalEmitValidationHostBinding();
84
+ const enforce = bound?.enforceSchema;
25
85
  if (typeof enforce !== 'function') {
26
86
  return {
27
87
  ok: false,
28
- message: 'Input validation is enabled but the runtime did not provide enforceSchema.',
88
+ message: 'Input validation is enabled for this HTTP trigger, but the runtime did not provide enforceSchema. Use `run`/`this.$` from the Process worker (RPC host), and pass the wire from `$.interfaceEmitSchema` as the first argument to `$.enforceSchema`.',
29
89
  };
30
90
  }
31
91
  try {
32
92
  const out = await enforce(inputSchema, value);
93
+ if (out && typeof out === 'object' && 'ok' in out) {
94
+ const r = out;
95
+ if (r.ok === false && typeof r.message === 'string') {
96
+ return r.issues?.length
97
+ ? { ok: false, message: r.message, issues: r.issues }
98
+ : { ok: false, message: r.message };
99
+ }
100
+ if (r.ok === true && 'value' in r) {
101
+ return { ok: true, value: r.value };
102
+ }
103
+ }
104
+ // Legacy host binding returned bare validated payload (not `EnforceSchemaResult`).
33
105
  return { ok: true, value: out };
34
106
  }
35
107
  catch (e) {
36
108
  const message = e instanceof Error ? e.message : String(e);
37
- return { ok: false, message };
109
+ const issues = validationIssuesFromUnknown(e);
110
+ return issues?.length ? { ok: false, message, issues } : { ok: false, message };
38
111
  }
39
112
  }
40
113
  // Helper to provide ThisType context for app definitions
@@ -51,4 +124,4 @@ function defineSignal(signal) {
51
124
  var zod_container_export_json_schema_1 = require("./zod-container-export-json-schema");
52
125
  Object.defineProperty(exports, "ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS", { enumerable: true, get: function () { return zod_container_export_json_schema_1.ZOD_CONTAINER_EXPORT_TO_JSON_SCHEMA_PARAMS; } });
53
126
  Object.defineProperty(exports, "zodObjectToContainerExportJsonSchema", { enumerable: true, get: function () { return zod_container_export_json_schema_1.zodObjectToContainerExportJsonSchema; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0pBLGtEQXVCQztBQWdmRCw4QkFFQztBQUdELG9DQVlDO0FBRUQsb0NBRUM7QUFscEJELGlGQUt5QztBQUpyQywySUFBQSwwQkFBMEIsT0FBQTtBQWM5QixnSUFBZ0k7QUFDaEksdUVBQWdGO0FBQXZFLDhJQUFBLGtDQUFrQyxPQUFBO0FBZTNDLCtEQUdnQztBQUY5QiwySUFBQSxtQ0FBbUMsT0FBQTtBQUNuQyxpSUFBQSx5QkFBeUIsT0FBQTtBQWlGM0I7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLG1CQUFtQixDQUNyQyxJQUErQyxFQUMvQyxXQUFnRCxFQUNoRCxLQUFjO0lBRWQsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUMzQixPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBVSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbkMsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxPQUFPO1lBQ0gsRUFBRSxFQUFFLEtBQUs7WUFDVCxPQUFPLEVBQ0gsNEVBQTRFO1NBQ25GLENBQUM7SUFDTixDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxPQUFPLENBQUksV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNULE1BQU0sT0FBTyxHQUFHLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0FBQ0wsQ0FBQztBQStlRCx5REFBeUQ7QUFDekQsU0FBZ0IsU0FBUyxDQUF5QixHQUF1QztJQUNyRixPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFFRCw0REFBNEQ7QUFDNUQsU0FBZ0IsWUFBWSxDQVVILE1BQTZDO0lBQ2xFLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQTBFLE1BQTZDO0lBQy9JLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFJRCx1RkFHNEM7QUFGeEMsOEpBQUEsMENBQTBDLE9BQUE7QUFDMUMsd0pBQUEsb0NBQW9DLE9BQUEifQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdU9BLGtFQVNDO0FBMkJELGtEQTJDQztBQW1mRCw4QkFFQztBQUdELG9DQVlDO0FBRUQsb0NBRUM7QUFweUJELGlGQUt5QztBQUpyQywySUFBQSwwQkFBMEIsT0FBQTtBQWM5QixnSUFBZ0k7QUFDaEksdUVBQWdGO0FBQXZFLDhJQUFBLGtDQUFrQyxPQUFBO0FBZTNDLCtEQUdnQztBQUY1QiwySUFBQSxtQ0FBbUMsT0FBQTtBQUNuQyxpSUFBQSx5QkFBeUIsT0FBQTtBQTZIN0I7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsNkNBQTZDLEdBQUcsZUFBd0IsQ0FBQztBQVd0RiwwRkFBMEY7QUFDMUYsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7QUFldEYsU0FBUyxrQ0FBa0M7SUFDdkMsT0FBUSxVQUFvRixDQUN4RiwyQkFBMkIsQ0FDOUIsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLDJCQUEyQixDQUN2QyxJQUFpRDtJQUVqRCxNQUFNLENBQUMsR0FBRyxVQUFtRixDQUFDO0lBQzlGLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDMUMsQ0FBQztTQUFNLENBQUM7UUFDSixDQUFDLENBQUMsMkJBQTJCLENBQUMsR0FBRyxJQUFpRCxDQUFDO0lBQ3ZGLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxDQUFVO0lBQzNDLElBQUksQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ2xELE1BQU0sTUFBTSxHQUFJLENBQTBCLENBQUMsTUFBTSxDQUFDO0lBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@process.co/element-types",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
package/src/index.ts CHANGED
@@ -56,8 +56,8 @@ export type {
56
56
  } from './authoring-contract-types';
57
57
 
58
58
  export {
59
- PLATFORM_BOUND_LOADER_TYPE_PREFIXES,
60
- isPlatformBoundLoaderType,
59
+ PLATFORM_BOUND_LOADER_TYPE_PREFIXES,
60
+ isPlatformBoundLoaderType,
61
61
  } from './platform-loader-type';
62
62
 
63
63
  // Base types for module definitions
@@ -106,64 +106,207 @@ export type SignalEventShape = {
106
106
 
107
107
  /**
108
108
  * Persisted subset of `$.interface.schema` (HTTP triggers, etc.) used at execution.
109
- * Design-time: `exportSchema` / `exportSchemaZodex` support hints and portable TS-shaped metadata.
110
- * Runtime Zod enforcement uses `compiledValidatorKey` + host `$.enforceSchema`.
109
+ * Design-time fields (`exportSchema`, `exportSchemaZodex`, etc.) are hints for editors and tooling.
110
+ * When {@link HttpInterfaceSchemaWire.validation} is true, the runtime does **not** validate against
111
+ * those JSON blobs alone: it loads the ESM at {@link HttpInterfaceSchemaWire.compiledValidatorKey}
112
+ * (default export = Zod schema) and runs full `safeParse` on the payload via the runner-bound
113
+ * {@link SignalHostServices.enforceSchema} RPC (see {@link setSignalEmitValidationHost}).
111
114
  */
112
115
  export type HttpInterfaceSchemaWire = {
116
+ /**
117
+ * When true, `enforceSchema` runs the **compiled** default-export Zod schema for this interface
118
+ * (full parse/transform/refine), not a lightweight check of `exportSchema` alone.
119
+ */
113
120
  validation?: boolean;
114
121
  exportSchema?: Record<string, JSONValue>;
115
122
  exportSchemaZodex?: Record<string, JSONValue>;
116
123
  exportSchemaSource?: string;
117
124
  exportSchemaKey?: string | null;
118
- /** S3 object key (element-registry bucket) for compiled ESM validator `.mjs`. */
125
+ /** S3 object key (element-registry bucket) for compiled ESM whose default export is the Zod schema used at runtime. */
119
126
  compiledValidatorKey?: string | null;
127
+ /**
128
+ * Client-issued token stored with the interface schema blob; included in validator artifact paths
129
+ * so successive saves and draft/live rows do not share one S3 prefix unless intended.
130
+ */
131
+ schemaBuildKey?: string;
132
+ /**
133
+ * When set, the API may coerce **string** leaf values to number / boolean / bigint / Date **only
134
+ * where the compiled Zod schema expects those types** (schema-guided), before `safeParse`.
135
+ *
136
+ * - `'auto'` (default when omitted): enable for form-like `Content-Type` (`application/x-www-form-urlencoded`,
137
+ * `multipart/form-data`). Typical JSON bodies skip coercion so numeric strings stay strings.
138
+ * - `true`: always run schema-guided coercion.
139
+ * - `false`: never coerce (strict).
140
+ */
141
+ coerceLeafPrimitives?: boolean | 'auto';
120
142
  };
121
143
 
122
144
  /** Host-backed RPC surface passed as `params.$` to signal `run` (parallel to action `ActionRunOptions.$`). */
123
145
  export type SignalHostServices = {
124
- export?: (category: string, message: string) => void | Promise<void>;
125
- $transitionToSlot?: (slots: Array<SlotTransitionDefinition>) => void | Promise<void>;
126
- enforceSchema?: <T = unknown>(
146
+ export: (category: string, message: string) => void | Promise<void>;
147
+ $transitionToSlot: (slots: Array<SlotTransitionDefinition>) => void | Promise<void>;
148
+
149
+ /**
150
+ * When `inputSchema.validation` is set, runs the published **full Zod** validator for that
151
+ * interface (`compiledValidatorKey`); otherwise may no-op. Implemented by the Process API
152
+ * (validator worker + `safeParse`), not by element code.
153
+ */
154
+ enforceSchema: <T>(
127
155
  inputSchema: HttpInterfaceSchemaWire | undefined,
128
156
  value: unknown,
129
- ) => Promise<T>;
157
+ ) => Promise<EnforceSchemaResult<T>>;
158
+
159
+ /**
160
+ * Wire for the primary `$.interface.schema` property (same persisted object the publish
161
+ * pipeline attaches `compiledValidatorKey` to). Use with {@link SignalHostServices.enforceSchema},
162
+ * e.g. `await $.enforceSchema($.interfaceEmitSchema, toEmit)`.
163
+ */
164
+ interfaceEmitSchema?: HttpInterfaceSchemaWire;
165
+ };
166
+
167
+ /** One row from a failed Zod `safeParse` (host / `validateEmitPayload`). */
168
+ export type SchemaValidationIssue = {
169
+ path: string;
170
+ message: string;
171
+ code: string;
130
172
  };
131
173
 
132
- export type SignalRunOptions = {
174
+ export type EnforceSchemaResult<T extends unknown = unknown> =
175
+ | {
176
+ ok: true;
177
+ value: T;
178
+ }
179
+ | {
180
+ ok: false;
181
+ message: string;
182
+ issues?: SchemaValidationIssue[];
183
+ };
184
+
185
+ /**
186
+ * Marker on successful `schema.enforce` RPC results from the Process API.
187
+ * Zod-validated HTTP bodies may legally include their own `ok` / `value` fields; this
188
+ * discriminant prevents {@link validateEmitPayload} (and worker RPC unwrap) from
189
+ * confusing user payloads with the host envelope.
190
+ *
191
+ * Keep in sync with `apps/api` `DynamicRunnerService` `schema.enforce` and `runner-host` unwrap.
192
+ */
193
+ export const PROCESS_CO_ENFORCE_SCHEMA_HOST_PAYLOAD_MARKER = 'enforceSchema' as const;
194
+
195
+ export type SignalRunOptions = {
133
196
  $: SignalHostServices;
134
197
  event: SignalEventShape;
135
198
  };
136
199
 
137
200
  export type ValidateEmitPayloadResult<T> =
138
201
  | { ok: true; value: T }
139
- | { ok: false; message: string };
202
+ | { ok: false; message: string; issues?: SchemaValidationIssue[] };
203
+
204
+ /** Shared across bundled copies of this package in the same JS realm (worker isolate). */
205
+ const SIGNAL_EMIT_VALIDATION_HOST = Symbol.for('process.co.signalEmitValidationHost');
140
206
 
141
207
  /**
142
- * When `inputSchema.validation` is true, awaits `host.enforceSchema(inputSchema, value)`.
143
- * Otherwise returns `value` unchanged.
208
+ * Host shape accepted from the runner RPC bridge (`$.enforceSchema` may be typed as
209
+ * returning `Promise<unknown>` while {@link SignalHostServices} uses a generic `T`).
210
+ */
211
+ export type SignalEmitValidationHostBinding =
212
+ | Pick<SignalHostServices, 'enforceSchema'>
213
+ | {
214
+ enforceSchema?: (
215
+ inputSchema: HttpInterfaceSchemaWire | undefined,
216
+ value: unknown,
217
+ ) => Promise<unknown>;
218
+ };
219
+
220
+ function getSignalEmitValidationHostBinding(): Pick<SignalHostServices, 'enforceSchema'> | undefined {
221
+ return (globalThis as Record<symbol, Pick<SignalHostServices, 'enforceSchema'> | undefined>)[
222
+ SIGNAL_EMIT_VALIDATION_HOST
223
+ ];
224
+ }
225
+
226
+ /**
227
+ * Binds the trusted signal host used by {@link validateEmitPayload} for the current
228
+ * invocation. The runner sets this from the RPC/proxy host **outside** element code and
229
+ * clears it when the invocation completes. Uses `globalThis` so a bundled copy of
230
+ * `validateEmitPayload` inside an element module still sees the same binding as the runner.
231
+ */
232
+ export function setSignalEmitValidationHost(
233
+ host: SignalEmitValidationHostBinding | undefined,
234
+ ): void {
235
+ const g = globalThis as Record<symbol, Pick<SignalHostServices, 'enforceSchema'> | undefined>;
236
+ if (host === undefined) {
237
+ delete g[SIGNAL_EMIT_VALIDATION_HOST];
238
+ } else {
239
+ g[SIGNAL_EMIT_VALIDATION_HOST] = host as Pick<SignalHostServices, 'enforceSchema'>;
240
+ }
241
+ }
242
+
243
+ function validationIssuesFromUnknown(e: unknown): SchemaValidationIssue[] | undefined {
244
+ if (!e || typeof e !== 'object') return undefined;
245
+ const issues = (e as { issues?: unknown }).issues;
246
+ if (!Array.isArray(issues) || issues.length === 0) return undefined;
247
+ const out: SchemaValidationIssue[] = [];
248
+ for (const row of issues) {
249
+ if (!row || typeof row !== 'object') continue;
250
+ const o = row as Record<string, unknown>;
251
+ out.push({
252
+ path: typeof o.path === 'string' ? o.path : '(root)',
253
+ message: typeof o.message === 'string' ? o.message : String(o.message ?? ''),
254
+ code: typeof o.code === 'string' ? o.code : 'custom',
255
+ });
256
+ }
257
+ return out.length > 0 ? out : undefined;
258
+ }
259
+
260
+ /**
261
+ * When validation is required (explicit `validation: true`, or a non-empty `compiledValidatorKey`
262
+ * with `validation` not `false`), awaits the bound host's `enforceSchema` so the API runs the
263
+ * **compiled Zod** validator. Otherwise returns `value` unchanged.
264
+ * On failure, `issues` lists Zod paths/messages when the host provides them (forward into your
265
+ * `http.respond` JSON body alongside any `requestStatus` you use).
266
+ * (see {@link setSignalEmitValidationHost}).
144
267
  */
145
268
  export async function validateEmitPayload<T>(
146
- host: Pick<SignalHostServices, 'enforceSchema'>,
147
269
  inputSchema: HttpInterfaceSchemaWire | undefined,
148
270
  value: unknown,
149
271
  ): Promise<ValidateEmitPayloadResult<T>> {
150
- if (!inputSchema?.validation) {
272
+ const hasCompiled =
273
+ inputSchema &&
274
+ typeof inputSchema.compiledValidatorKey === 'string' &&
275
+ inputSchema.compiledValidatorKey.length > 0;
276
+ if (inputSchema?.validation === false) {
277
+ return { ok: true, value: value as T };
278
+ }
279
+ if (!hasCompiled && inputSchema?.validation !== true) {
151
280
  return { ok: true, value: value as T };
152
281
  }
153
- const enforce = host.enforceSchema;
282
+ const bound = getSignalEmitValidationHostBinding();
283
+ const enforce = bound?.enforceSchema;
154
284
  if (typeof enforce !== 'function') {
155
285
  return {
156
286
  ok: false,
157
287
  message:
158
- 'Input validation is enabled but the runtime did not provide enforceSchema.',
288
+ 'Input validation is enabled for this HTTP trigger, but the runtime did not provide enforceSchema. Use `run`/`this.$` from the Process worker (RPC host), and pass the wire from `$.interfaceEmitSchema` as the first argument to `$.enforceSchema`.',
159
289
  };
160
290
  }
161
291
  try {
162
292
  const out = await enforce<T>(inputSchema, value);
163
- return { ok: true, value: out };
293
+ if (out && typeof out === 'object' && 'ok' in out) {
294
+ const r = out as Partial<EnforceSchemaResult<T>> & Record<string, unknown>;
295
+ if (r.ok === false && typeof r.message === 'string') {
296
+ return r.issues?.length
297
+ ? { ok: false, message: r.message, issues: r.issues as SchemaValidationIssue[] }
298
+ : { ok: false, message: r.message };
299
+ }
300
+ if (r.ok === true && 'value' in r) {
301
+ return { ok: true, value: r.value as T };
302
+ }
303
+ }
304
+ // Legacy host binding returned bare validated payload (not `EnforceSchemaResult`).
305
+ return { ok: true, value: out as T };
164
306
  } catch (e) {
165
307
  const message = e instanceof Error ? e.message : String(e);
166
- return { ok: false, message };
308
+ const issues = validationIssuesFromUnknown(e);
309
+ return issues?.length ? { ok: false, message, issues } : { ok: false, message };
167
310
  }
168
311
  }
169
312
 
@@ -383,6 +526,7 @@ type StringToType<S extends string> =
383
526
  S extends "string(markdown)" ? string :
384
527
  S extends "string(json)" ? string :
385
528
  S extends "string(xml)" ? string :
529
+ S extends "string(javascript)" ? string :
386
530
  S extends "string(yaml)" ? string :
387
531
  S extends "string(csv)" ? string :
388
532
  S extends "string(tsv)" ? string :
@@ -466,6 +610,7 @@ type PropTypeFromTypeValue<U, T = unknown> =
466
610
  : U extends "string(xml)" ? string
467
611
  : U extends "string(yaml)" ? string
468
612
  : U extends "string(base64)" ? string
613
+ : U extends "string(javascript)" ? string
469
614
  : U extends "string(csv)" ? string
470
615
  : U extends "string(tsv)" ? string
471
616
  : U extends "string(css)" ? string
@@ -482,6 +627,7 @@ type PropTypeFromTypeValue<U, T = unknown> =
482
627
  : U extends "number" ? number
483
628
  : U extends "boolean" ? boolean
484
629
  : U extends "integer" ? number
630
+ : U extends "$.interface.schema" ? HttpInterfaceSchemaWire
485
631
  : U extends "$.interface.http" ? {
486
632
  respond: (response: HTTPResponse) => Promise<any> | void;
487
633
  authenticate: (authType: HTTPAuthenticationType, options?: { token?: string }) => Promise<any> | void;
@@ -640,7 +786,7 @@ export type SignalInstance<S extends Signal> = DeriveSignalInstance<S>;
640
786
  export type SignalMethod<S extends Signal> = (this: SignalInstance<S>, params: SignalRunOptions) => Promise<unknown>;
641
787
  export type ActionMethod<A extends Action> = (this: ActionInstance<A>, params: { $: any }) => Promise<unknown>;
642
788
 
643
- export type PropStringDefinitionTypes = "text" | "html" | "markdown" | "json" | "xml" | "yaml" | "csv" | "tsv" | "css" | "sql" | "email" | "emailList" | "urlList" | "url" | "base64";
789
+ export type PropStringDefinitionTypes = "text" | "html" | "markdown" | "json" | "xml" | "yaml" | "csv" | "tsv" | "css" | "sql" | "email" | "emailList" | "urlList" | "url" | "base64" | "javascript";
644
790
 
645
791
  export type PropObjectDefinitionTypes = "json" | "base64"
646
792