micro-contracts 0.13.0 → 0.14.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.
package/README.md CHANGED
@@ -123,7 +123,8 @@ Standard OpenAPI constructs can also define **frontend screen contracts** — br
123
123
  Screen Spec (OpenAPI YAML)
124
124
  ├── ViewModel Types (from schemas — zero new template work)
125
125
  ├── Navigation Map (from response links → typed routing)
126
- └── Event Hooks (from x-events → typed analytics)
126
+ ├── Event Hooks (from inline x-event → typed analytics)
127
+ └── Interaction Bindings (from x-interactions → typed in-page interactions)
127
128
  ```
128
129
 
129
130
  Enable with `screen: true` in module config:
@@ -211,13 +212,15 @@ project/
211
212
 
212
213
  Used in modules with `screen: true`. See **[Screen Spec](docs/screen-spec.md)** for details.
213
214
 
214
- | Extension | Type | Description |
215
- |-----------|------|-------------|
216
- | `x-screen-const` | string | Stable constant name (e.g., `HOME`) |
217
- | `x-screen-id` | string | Traceability ID (e.g., `SCR-001`) |
218
- | `x-screen-name` | string | Generated symbol name (e.g., `HomePage`) |
219
- | `x-back-navigation` | boolean | Supports history-based back navigation |
220
- | `x-events` | array | Analytics event declarations (`{name, type, method, params?}`) |
215
+ | Extension | Type | Placement | Description |
216
+ |-----------|------|-----------|-------------|
217
+ | `x-screen-const` | string | GET operation | Stable constant name (e.g., `HOME`) |
218
+ | `x-screen-id` | string | GET operation | Traceability ID (e.g., `SCR-001`) |
219
+ | `x-screen-name` | string | GET operation | Generated symbol name (e.g., `HomePage`) |
220
+ | `x-back-navigation` | boolean | GET operation | Supports history-based back navigation |
221
+ | `x-event` | string \| object \| `$ref` | GET / links / post,put,patch,delete / x-interactions | Inline analytics event declaration (v0.14+) |
222
+ | `x-interactions` | array | GET operation | In-page interaction bindings with optional events (v0.14+) |
223
+ | `x-events` | array | GET operation | **Deprecated** — use inline `x-event` instead |
221
224
 
222
225
  ### Example
223
226
 
@@ -8,7 +8,7 @@ export { generateServiceInterfaces } from './serviceGenerator.js';
8
8
  export { lintSpec, formatLintResults } from './linter.js';
9
9
  export { processOverlays, generateExtensionInterfaces } from './overlayProcessor.js';
10
10
  export { buildTemplateContext, generateWithTemplate } from './templateProcessor.js';
11
- export type { ScreenContext, ScreenLink, TemplateContext } from './templateProcessor.js';
11
+ export type { ScreenContext, ScreenLink, ScreenAction, ScreenInteraction, TemplateContext } from './templateProcessor.js';
12
12
  export { collectInputFiles, computeInputHash } from './inputHash.js';
13
13
  export interface GenerateOptions {
14
14
  /** Generate contract package only */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EAElB,MAAM,aAAa,CAAC;AA6BrB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgCrE,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAU7D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,eAAe,CAGlF;AAWD;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,GAAG,eAAe,EAC3C,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EAElB,MAAM,aAAa,CAAC;AA6BrB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1H,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgCrE,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAU7D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,eAAe,CAGlF;AAWD;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,GAAG,eAAe,EAC3C,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/generator/linter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EAGX,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,WAAgB,GAAG,UAAU,CAsHjF;AAyID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA4B5D"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/generator/linter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EAGX,SAAS,EAEV,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,WAAgB,GAAG,UAAU,CAmMjF;AAyKD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CA4B5D"}
@@ -68,8 +68,15 @@ export function lintSpec(spec, options = {}) {
68
68
  });
69
69
  }
70
70
  }
71
- // Validate x-events structure
71
+ // Deprecated x-events validation (warn + still validate structure)
72
72
  if (operation['x-events']) {
73
+ warnings.push({
74
+ type: 'warning',
75
+ code: 'SCREEN_DEPRECATED_X_EVENTS',
76
+ message: 'x-events (flat list) is deprecated. Use inline x-event instead.',
77
+ path,
78
+ location,
79
+ });
73
80
  const events = operation['x-events'];
74
81
  if (!Array.isArray(events)) {
75
82
  errors.push({
@@ -83,11 +90,11 @@ export function lintSpec(spec, options = {}) {
83
90
  else {
84
91
  for (let i = 0; i < events.length; i++) {
85
92
  const event = events[i];
86
- if (!event.name || !event.type || !event.method) {
93
+ if (!event.name || !event.type) {
87
94
  errors.push({
88
95
  type: 'error',
89
96
  code: 'SCREEN_INVALID_EVENT',
90
- message: `x-events[${i}] must have name, type, and method`,
97
+ message: `x-events[${i}] must have name and type`,
91
98
  path,
92
99
  location,
93
100
  });
@@ -95,6 +102,63 @@ export function lintSpec(spec, options = {}) {
95
102
  }
96
103
  }
97
104
  }
105
+ // Conflicting x-events + x-event on same operation
106
+ if (operation['x-events'] && operation['x-event'] != null) {
107
+ errors.push({
108
+ type: 'error',
109
+ code: 'SCREEN_CONFLICTING_EVENT_DEFS',
110
+ message: 'x-events and x-event cannot coexist on the same operation',
111
+ path,
112
+ location,
113
+ });
114
+ }
115
+ // Validate inline x-event on this operation (any method)
116
+ if (operation['x-event'] != null) {
117
+ validateInlineEvent(operation['x-event'], path, location, errors);
118
+ }
119
+ // Validate x-event on links (200 response only, GET operations)
120
+ if (method === 'get') {
121
+ const resp200 = operation.responses?.['200'];
122
+ if (resp200 && !isReference(resp200)) {
123
+ const responseLinks = resp200.links;
124
+ if (responseLinks) {
125
+ for (const [linkName, linkObj] of Object.entries(responseLinks)) {
126
+ if (linkObj['x-event'] != null) {
127
+ validateInlineEvent(linkObj['x-event'], `${path}.responses.200.links.${linkName}`, location, errors);
128
+ }
129
+ }
130
+ }
131
+ }
132
+ // Validate x-interactions
133
+ if (operation['x-interactions']) {
134
+ const interactions = operation['x-interactions'];
135
+ if (!Array.isArray(interactions)) {
136
+ errors.push({
137
+ type: 'error',
138
+ code: 'SCREEN_INVALID_INTERACTIONS',
139
+ message: 'x-interactions must be an array',
140
+ path,
141
+ location,
142
+ });
143
+ }
144
+ else {
145
+ for (let i = 0; i < interactions.length; i++) {
146
+ if (!interactions[i].name) {
147
+ errors.push({
148
+ type: 'error',
149
+ code: 'SCREEN_INVALID_INTERACTION',
150
+ message: `x-interactions[${i}] must have a name`,
151
+ path,
152
+ location,
153
+ });
154
+ }
155
+ if (interactions[i]['x-event'] != null) {
156
+ validateInlineEvent(interactions[i]['x-event'], `${path}.x-interactions[${i}]`, location, errors);
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
98
162
  // Check public endpoints for private schema references
99
163
  if (operation['x-micro-contracts-published'] === true) {
100
164
  const privateErrors = checkPublicEndpointForPrivate(path, method, operation, spec);
@@ -227,6 +291,33 @@ function checkPrivateInRequired(schemaName, schema) {
227
291
  }
228
292
  return warnings;
229
293
  }
294
+ /**
295
+ * Validate an inline x-event value (string, {name}, or {$ref}).
296
+ */
297
+ function validateInlineEvent(raw, path, location, errors) {
298
+ if (typeof raw === 'string')
299
+ return; // valid string form
300
+ if (typeof raw !== 'object' || raw === null) {
301
+ errors.push({
302
+ type: 'error',
303
+ code: 'SCREEN_INVALID_X_EVENT',
304
+ message: 'x-event must be a string, object with {name}, or {$ref}',
305
+ path,
306
+ location,
307
+ });
308
+ return;
309
+ }
310
+ const obj = raw;
311
+ if (!obj.$ref && !obj.name) {
312
+ errors.push({
313
+ type: 'error',
314
+ code: 'SCREEN_INVALID_X_EVENT',
315
+ message: 'x-event object must have either $ref or name',
316
+ path,
317
+ location,
318
+ });
319
+ }
320
+ }
230
321
  /**
231
322
  * Format lint results for console output
232
323
  */
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/generator/linter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/generator/linter.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Supports custom templates for server routes, frontend clients, etc.
6
6
  */
7
7
  import Handlebars from 'handlebars';
8
- import type { OpenAPISpec, ScreenEventDefinition } from '../types.js';
8
+ import type { OpenAPISpec, ScreenEventDefinition, InlineEventDefinition } from '../types.js';
9
9
  import type { ExtensionInfo } from './overlayProcessor.js';
10
10
  export interface TemplateConfig {
11
11
  /** Path to server route template */
@@ -72,10 +72,21 @@ export interface ScreenContext {
72
72
  viewModelSchema: string;
73
73
  /** Forward navigation targets (from response links) */
74
74
  links: ScreenLink[];
75
- /** Analytics event declarations (from x-events) */
75
+ /**
76
+ * Analytics event declarations (from x-events)
77
+ * @deprecated Use screenEvent / links[].event / actions[].event instead
78
+ */
76
79
  events: ScreenEventDefinition[];
77
80
  /** Whether the screen requires authentication (has non-empty security) */
78
81
  requiresAuth: boolean;
82
+ /** Inline event on the GET operation (screen_view) */
83
+ screenEvent?: InlineEventDefinition;
84
+ /** Mutation operations (post/put/patch/delete) with optional inline events */
85
+ actions: ScreenAction[];
86
+ /** Interaction bindings with optional inline events */
87
+ interactions: ScreenInteraction[];
88
+ /** Path parameters of this screen's route */
89
+ pathParams: string[];
79
90
  }
80
91
  export interface ScreenLink {
81
92
  /** Link key name (e.g., 'goToSettings') */
@@ -84,6 +95,25 @@ export interface ScreenLink {
84
95
  targetRoute: string;
85
96
  /** Target operationId */
86
97
  targetOperationId: string;
98
+ /** Inline event fired on navigation via this link */
99
+ event?: InlineEventDefinition;
100
+ }
101
+ /** Mutation operation (post/put/patch/delete) on a screen's path */
102
+ export interface ScreenAction {
103
+ /** HTTP method (post, put, patch, delete) */
104
+ method: string;
105
+ operationId: string;
106
+ summary: string;
107
+ schemaRef: string;
108
+ event?: InlineEventDefinition;
109
+ }
110
+ /** In-page interaction binding from x-interactions */
111
+ export interface ScreenInteraction {
112
+ name: string;
113
+ description: string;
114
+ event?: InlineEventDefinition;
115
+ /** Project-specific fields passed through from YAML */
116
+ extras: Record<string, unknown>;
87
117
  }
88
118
  export interface UniqueOverlayContext {
89
119
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"templateProcessor.d.ts","sourceRoot":"","sources":["../../src/generator/templateProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templateProcessor.d.ts","sourceRoot":"","sources":["../../src/generator/templateProcessor.ts"],"names":[],"mappings":"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"}
@@ -392,6 +392,74 @@ function buildOperationRouteMap(spec) {
392
392
  }
393
393
  return map;
394
394
  }
395
+ /**
396
+ * Extract {param} segments from a route path.
397
+ */
398
+ function extractPathParams(route) {
399
+ const matches = route.matchAll(/\{(\w+)\}/g);
400
+ return [...matches].map(m => m[1]);
401
+ }
402
+ /**
403
+ * Resolve raw x-event (string | object | $ref) into InlineEventDefinition.
404
+ */
405
+ function resolveInlineEvent(raw, eventDefs, defaultType) {
406
+ if (raw == null)
407
+ return undefined;
408
+ if (typeof raw === 'string') {
409
+ return { name: raw, type: defaultType };
410
+ }
411
+ if (typeof raw === 'object' && '$ref' in raw && typeof raw.$ref === 'string') {
412
+ const ref = raw.$ref;
413
+ if (!ref.startsWith('#/components/x-event-defs/')) {
414
+ return { name: ref, type: defaultType };
415
+ }
416
+ const defName = ref.split('/').pop();
417
+ const resolved = eventDefs[defName];
418
+ if (!resolved)
419
+ return { name: defName, type: defaultType };
420
+ return {
421
+ name: resolved.name ?? defName,
422
+ type: resolved.type ?? defaultType,
423
+ params: resolved.params,
424
+ };
425
+ }
426
+ return {
427
+ name: raw.name ?? '',
428
+ type: raw.type ?? defaultType,
429
+ params: raw.params,
430
+ };
431
+ }
432
+ /**
433
+ * Auto-derive params from path parameters when no explicit params are set.
434
+ * Only applies to 'get' (screen path params) and 'link' (target route params).
435
+ */
436
+ function deriveEventParams(event, placement, context) {
437
+ if (event.params)
438
+ return event;
439
+ const route = placement === 'get' ? context.routePath : context.targetRoute;
440
+ if (route) {
441
+ const params = extractPathParams(route);
442
+ if (params.length > 0) {
443
+ event.params = Object.fromEntries(params.map(p => [p, 'string']));
444
+ }
445
+ }
446
+ return event;
447
+ }
448
+ /**
449
+ * Extract schema $ref name from a mutation operation's request body.
450
+ */
451
+ function extractSchemaRef(operation) {
452
+ if (!operation.requestBody)
453
+ return '';
454
+ if (isReference(operation.requestBody)) {
455
+ return getRefName(operation.requestBody.$ref);
456
+ }
457
+ const jsonContent = operation.requestBody.content?.['application/json'];
458
+ if (jsonContent?.schema && isReference(jsonContent.schema)) {
459
+ return getRefName(jsonContent.schema.$ref);
460
+ }
461
+ return '';
462
+ }
395
463
  /**
396
464
  * Extract screen contexts from OpenAPI spec.
397
465
  * Parses GET operations that have x-screen-id into ScreenContext objects.
@@ -399,8 +467,9 @@ function buildOperationRouteMap(spec) {
399
467
  function extractScreens(spec) {
400
468
  const screens = [];
401
469
  const operationRouteMap = buildOperationRouteMap(spec);
470
+ const components = (spec.components ?? {});
471
+ const eventDefs = (components['x-event-defs'] ?? {});
402
472
  for (const [apiPath, pathItem] of Object.entries(spec.paths)) {
403
- // Screen definitions are on GET operations only
404
473
  const operation = pathItem.get;
405
474
  if (!operation)
406
475
  continue;
@@ -411,12 +480,16 @@ function extractScreens(spec) {
411
480
  const screenName = operation['x-screen-name'] || '';
412
481
  const operationId = operation.operationId || '';
413
482
  const supportsBack = operation['x-back-navigation'] === true;
414
- const events = operation['x-events'] || [];
415
- // Determine if auth is required (non-empty security array)
483
+ // Legacy x-events (backward compat)
484
+ const legacyEvents = operation['x-events'] || [];
485
+ // Inline x-event on GET (screen_view)
486
+ let screenEvent = resolveInlineEvent(operation['x-event'], eventDefs, 'screen_view');
487
+ if (screenEvent) {
488
+ deriveEventParams(screenEvent, 'get', { routePath: apiPath });
489
+ }
416
490
  const requiresAuth = Array.isArray(operation.security)
417
491
  ? operation.security.length > 0 && operation.security.some(s => Object.keys(s).length > 0)
418
492
  : false;
419
- // Extract ViewModel schema from 200 response or x-view-model
420
493
  let viewModelSchema = operation['x-view-model'] || '';
421
494
  if (!viewModelSchema) {
422
495
  const response200 = operation.responses?.['200'];
@@ -427,7 +500,7 @@ function extractScreens(spec) {
427
500
  }
428
501
  }
429
502
  }
430
- // Extract navigation links from 200 response
503
+ // Navigation links from 200 response (with optional inline x-event)
431
504
  const links = [];
432
505
  const response200 = operation.responses?.['200'];
433
506
  if (response200 && !isReference(response200)) {
@@ -436,15 +509,47 @@ function extractScreens(spec) {
436
509
  for (const [linkName, linkObj] of Object.entries(responseLinks)) {
437
510
  if (linkObj.operationId) {
438
511
  const targetRoute = operationRouteMap.get(linkObj.operationId) || '';
512
+ let linkEvent = resolveInlineEvent(linkObj['x-event'], eventDefs, 'user_action');
513
+ if (linkEvent) {
514
+ deriveEventParams(linkEvent, 'link', { routePath: apiPath, targetRoute });
515
+ }
439
516
  links.push({
440
517
  name: linkName,
441
518
  targetRoute,
442
519
  targetOperationId: linkObj.operationId,
520
+ event: linkEvent,
443
521
  });
444
522
  }
445
523
  }
446
524
  }
447
525
  }
526
+ // Mutation operations (post/put/patch/delete)
527
+ const actions = [];
528
+ const mutationMethods = ['post', 'put', 'patch', 'delete'];
529
+ for (const method of mutationMethods) {
530
+ const mutationOp = pathItem[method];
531
+ if (!mutationOp)
532
+ continue;
533
+ const actionEvent = resolveInlineEvent(mutationOp['x-event'], eventDefs, 'user_action');
534
+ actions.push({
535
+ method,
536
+ operationId: mutationOp.operationId ?? '',
537
+ summary: mutationOp.summary ?? '',
538
+ schemaRef: extractSchemaRef(mutationOp),
539
+ event: actionEvent,
540
+ });
541
+ }
542
+ // x-interactions
543
+ const rawInteractions = (operation['x-interactions'] ?? []);
544
+ const interactions = rawInteractions.map(i => {
545
+ const { name, description, 'x-event': rawEvent, ...extras } = i;
546
+ return {
547
+ name: name ?? '',
548
+ description: description ?? '',
549
+ event: resolveInlineEvent(rawEvent, eventDefs, 'user_action'),
550
+ extras,
551
+ };
552
+ });
448
553
  screens.push({
449
554
  route: apiPath,
450
555
  screenConst,
@@ -454,7 +559,11 @@ function extractScreens(spec) {
454
559
  supportsBack,
455
560
  viewModelSchema,
456
561
  links,
457
- events,
562
+ events: legacyEvents,
563
+ screenEvent,
564
+ actions,
565
+ interactions,
566
+ pathParams: extractPathParams(apiPath),
458
567
  requiresAuth,
459
568
  });
460
569
  }
@@ -509,6 +618,17 @@ Handlebars.registerHelper('refName', (ref) => {
509
618
  });
510
619
  // JSON helper
511
620
  Handlebars.registerHelper('json', (obj) => JSON.stringify(obj, null, 2));
621
+ // Screen event helpers
622
+ Handlebars.registerHelper('hasEvent', (ctx) => !!(ctx?.screenEvent || ctx?.links?.some((l) => l.event) ||
623
+ ctx?.actions?.some((a) => a.event) ||
624
+ ctx?.interactions?.some((i) => i.event)));
625
+ Handlebars.registerHelper('eventParamsSignature', (params) => {
626
+ if (!params)
627
+ return '';
628
+ return Object.entries(params)
629
+ .map(([k, v]) => `${k}: ${v === 'integer' ? 'number' : v}`)
630
+ .join(', ');
631
+ });
512
632
  // Conditional block helpers
513
633
  Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) {
514
634
  switch (operator) {
@@ -1 +1 @@
1
- {"version":3,"file":"templateProcessor.js","sourceRoot":"","sources":["../../src/generator/templateProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templateProcessor.js","sourceRoot":"","sources":["../../src/generator/templateProcessor.ts"],"names":[],"mappings":"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"}