@memberjunction/interactive-component-types 3.4.0 → 4.0.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.
@@ -0,0 +1,67 @@
1
+ import { ComponentEvent, ComponentProperty } from "./component-props-events.js";
2
+ import { ComponentDataRequirements } from "./data-requirements.js";
3
+ /**
4
+ * Represents a child component within a component hierarchy
5
+ */
6
+ export interface ComponentChildSpec {
7
+ /**
8
+ * The programmatic name of the component
9
+ */
10
+ componentName: string;
11
+ /**
12
+ * Example of the component being used in JSX format. This is used to provide a clear example on the properties and
13
+ * event handling that the component supports. This is used to teach the next AI exactly what we want it to generate for the
14
+ * child component.
15
+ */
16
+ exampleUsage: string;
17
+ /**
18
+ * The code for the child component. This is generated LATER by a separate process after the parent
19
+ * component generation is complete. When the parent component generates this is undefined.
20
+ */
21
+ componentCode?: string;
22
+ /**
23
+ * A summary of what this child component does that a user would understand.
24
+ * This should be a high-level, user-friendly description suitable for end users.
25
+ */
26
+ description: string;
27
+ /**
28
+ * Functional requirements for this child component.
29
+ * This should be in markdown format and describe what the component should do from a functional perspective.
30
+ * Includes:
31
+ * - Component-specific functionality
32
+ * - How it integrates with the parent component
33
+ * - User interactions within this component
34
+ * - Business rules specific to this component
35
+ */
36
+ functionalRequirements?: string;
37
+ /**
38
+ * Data requirements for this child component. This section defines where a child component
39
+ * will **directly** access data as required using utilities methods like `rv.runView` and `rq.runQuery`
40
+ */
41
+ dataRequirements?: ComponentDataRequirements;
42
+ /**
43
+ * An optional array of properties that the component uses. The names and descriptions
44
+ * allow consumers of the component to understand what is accepted by the component and the
45
+ * component. This can be used for shared data shared between components or for configuration
46
+ * settings.
47
+ */
48
+ properties?: ComponentProperty[];
49
+ /**
50
+ * An optional array of events that the component emits.
51
+ * This allows consumers of the component to understand what events they can listen to.
52
+ */
53
+ events?: ComponentEvent[];
54
+ /**
55
+ * Technical design details for this child component.
56
+ * This should be in markdown format and describe the implementation approach.
57
+ * Includes:
58
+ * - How the component is structured
59
+ * - Properites/events
60
+ */
61
+ technicalDesign?: string;
62
+ /**
63
+ * An array of sub-components
64
+ */
65
+ components: ComponentChildSpec[];
66
+ }
67
+ //# sourceMappingURL=child-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-spec.d.ts","sourceRoot":"","sources":["../src/child-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAE7C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAEjC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=child-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-spec.js","sourceRoot":"","sources":["../src/child-spec.ts"],"names":[],"mappings":""}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * Constraint Validation Types
4
3
  *
@@ -28,5 +27,5 @@
28
27
  * }
29
28
  * ```
30
29
  */
31
- Object.defineProperty(exports, "__esModule", { value: true });
30
+ export {};
32
31
  //# sourceMappingURL=component-constraints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-constraints.js","sourceRoot":"","sources":["../src/component-constraints.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}
1
+ {"version":3,"file":"component-constraints.js","sourceRoot":"","sources":["../src/component-constraints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}
@@ -1,4 +1,4 @@
1
- import { ComponentSpec } from "./component-spec";
1
+ import { ComponentSpec } from "./component-spec.js";
2
2
  /**
3
3
  * Defines a given option for a generated component that the user can choose. The code/componentObjectName properties are used to render the component in the UI.
4
4
  */
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=component-option.js.map
@@ -1,4 +1,4 @@
1
- import { PropertyConstraint } from './component-constraints';
1
+ import { PropertyConstraint } from './component-constraints.js';
2
2
  /**
3
3
  * Definition of a single property of a component.
4
4
  */
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=component-props-events.js.map
@@ -1,6 +1,6 @@
1
- import { ComponentSpec } from "./component-spec";
2
- import { ComponentEntitySimplePermission } from "./data-requirements";
3
- import { ComponentLibraryDependency } from "./library-dependency";
1
+ import { ComponentSpec } from "./component-spec.js";
2
+ import { ComponentEntitySimplePermission } from "./data-requirements.js";
3
+ import { ComponentLibraryDependency } from "./library-dependency.js";
4
4
  import { UserInfo } from "@memberjunction/core";
5
5
  /**
6
6
  * Runtime extension of ComponentSpec that provides helper methods for permission checking,
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ComponentSpecRuntime = void 0;
4
- const component_spec_1 = require("./component-spec");
5
- const core_1 = require("@memberjunction/core");
1
+ import { ComponentSpec } from "./component-spec.js";
2
+ import { EntityPermissionType, Metadata } from "@memberjunction/core";
6
3
  /**
7
4
  * Runtime extension of ComponentSpec that provides helper methods for permission checking,
8
5
  * validation, and other runtime operations. This class is not included in AI prompts
9
6
  * to keep token usage efficient.
10
7
  */
11
- class ComponentSpecRuntime extends component_spec_1.ComponentSpec {
8
+ export class ComponentSpecRuntime extends ComponentSpec {
12
9
  /**
13
10
  * Get all unique permissions required by this component across all entities.
14
11
  * This aggregates permissions from all entity data requirements to provide
@@ -61,11 +58,11 @@ class ComponentSpecRuntime extends component_spec_1.ComponentSpec {
61
58
  */
62
59
  convertToEntityPermissionType(permission) {
63
60
  switch (permission) {
64
- case 'read': return core_1.EntityPermissionType.Read;
65
- case 'create': return core_1.EntityPermissionType.Create;
66
- case 'update': return core_1.EntityPermissionType.Update;
67
- case 'delete': return core_1.EntityPermissionType.Delete;
68
- default: return core_1.EntityPermissionType.Read; // Safe default
61
+ case 'read': return EntityPermissionType.Read;
62
+ case 'create': return EntityPermissionType.Create;
63
+ case 'update': return EntityPermissionType.Update;
64
+ case 'delete': return EntityPermissionType.Delete;
65
+ default: return EntityPermissionType.Read; // Safe default
69
66
  }
70
67
  }
71
68
  /**
@@ -80,7 +77,7 @@ class ComponentSpecRuntime extends component_spec_1.ComponentSpec {
80
77
  const missing = [];
81
78
  const degraded = [];
82
79
  // Get metadata instance to access entity information
83
- const md = new core_1.Metadata();
80
+ const md = new Metadata();
84
81
  // Check each entity's required permissions
85
82
  for (const entityReq of this.dataRequirements?.entities || []) {
86
83
  // Find the entity in the metadata
@@ -214,5 +211,4 @@ class ComponentSpecRuntime extends component_spec_1.ComponentSpec {
214
211
  return allDeps;
215
212
  }
216
213
  }
217
- exports.ComponentSpecRuntime = ComponentSpecRuntime;
218
214
  //# sourceMappingURL=component-spec-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-spec-runtime.js","sourceRoot":"","sources":["../src/component-spec-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-spec-runtime.js","sourceRoot":"","sources":["../src/component-spec-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ComponentEvent, ComponentProperty } from "./component-props-events";
2
- import { ComponentDataRequirements } from "./data-requirements";
3
- import { ComponentLibraryDependency } from "./library-dependency";
4
- import { ComponentTypeDefinition } from "./component-constraints";
1
+ import { ComponentEvent, ComponentProperty } from "./component-props-events.js";
2
+ import { ComponentDataRequirements } from "./data-requirements.js";
3
+ import { ComponentLibraryDependency } from "./library-dependency.js";
4
+ import { ComponentTypeDefinition } from "./component-constraints.js";
5
5
  /**
6
6
  * Tracks the current change being applied to this component.
7
7
  * Populated by Impact Assessor at the start of a modification flow,
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ComponentSpec = void 0;
4
1
  /**
5
2
  * Specification for an interactive component
6
3
  */
7
- class ComponentSpec {
4
+ export class ComponentSpec {
8
5
  }
9
- exports.ComponentSpec = ComponentSpec;
10
6
  ;
11
7
  //# sourceMappingURL=component-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-spec.js","sourceRoot":"","sources":["../src/component-spec.ts"],"names":[],"mappings":";;;AAgFA;;GAEG;AACH,MAAa,aAAa;CA+KzB;AA/KD,sCA+KC;AAAA,CAAC"}
1
+ {"version":3,"file":"component-spec.js","sourceRoot":"","sources":["../src/component-spec.ts"],"names":[],"mappings":"AAgFA;;GAEG;AACH,MAAM,OAAO,aAAa;CA+KzB;AAAA,CAAC"}
@@ -1,12 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SimpleEntityInfo = exports.SimpleEntityFieldInfo = void 0;
4
1
  /**
5
2
  * Lightweight class to share field metadata for component validation and linting.
6
3
  * This is a simplified version of EntityFieldInfo from @memberjunction/core,
7
4
  * designed for contexts where full field metadata isn't needed.
8
5
  **/
9
- class SimpleEntityFieldInfo {
6
+ export class SimpleEntityFieldInfo {
10
7
  constructor(init) {
11
8
  if (init) {
12
9
  Object.assign(this, init);
@@ -49,14 +46,13 @@ class SimpleEntityFieldInfo {
49
46
  };
50
47
  }
51
48
  }
52
- exports.SimpleEntityFieldInfo = SimpleEntityFieldInfo;
53
49
  /**
54
50
  * Lightweight class to share entity metadata for component validation and linting.
55
51
  * Contains the entity name and complete list of all fields in the entity.
56
52
  * This is a simplified version of EntityInfo from @memberjunction/core,
57
53
  * designed for contexts where full entity metadata isn't needed.
58
54
  */
59
- class SimpleEntityInfo {
55
+ export class SimpleEntityInfo {
60
56
  constructor(init) {
61
57
  this.fields = [];
62
58
  if (init) {
@@ -121,5 +117,4 @@ class SimpleEntityInfo {
121
117
  return new Set(this.fields.map(f => f.name));
122
118
  }
123
119
  }
124
- exports.SimpleEntityInfo = SimpleEntityInfo;
125
120
  //# sourceMappingURL=data-requirements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-requirements.js","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-requirements.js","sourceRoot":"","sources":["../src/data-requirements.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- export * from './data-requirements';
2
- export * from './component-option';
3
- export * from './runtime-types';
4
- export * from './shared';
5
- export * from './component-props-events';
6
- export * from './component-constraints';
7
- export * from './util';
8
- export * from './component-spec';
9
- export * from './component-spec-runtime';
10
- export * from './library-dependency';
1
+ export * from './data-requirements.js';
2
+ export * from './component-option.js';
3
+ export * from './runtime-types.js';
4
+ export * from './shared.js';
5
+ export * from './component-props-events.js';
6
+ export * from './component-constraints.js';
7
+ export * from './util.js';
8
+ export * from './component-spec.js';
9
+ export * from './component-spec-runtime.js';
10
+ export * from './library-dependency.js';
11
11
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,27 +1,11 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./data-requirements"), exports);
18
- __exportStar(require("./component-option"), exports);
19
- __exportStar(require("./runtime-types"), exports);
20
- __exportStar(require("./shared"), exports);
21
- __exportStar(require("./component-props-events"), exports);
22
- __exportStar(require("./component-constraints"), exports);
23
- __exportStar(require("./util"), exports);
24
- __exportStar(require("./component-spec"), exports);
25
- __exportStar(require("./component-spec-runtime"), exports);
26
- __exportStar(require("./library-dependency"), exports);
1
+ export * from './data-requirements.js';
2
+ export * from './component-option.js';
3
+ export * from './runtime-types.js';
4
+ export * from './shared.js';
5
+ export * from './component-props-events.js';
6
+ export * from './component-constraints.js';
7
+ export * from './util.js';
8
+ export * from './component-spec.js';
9
+ export * from './component-spec-runtime.js';
10
+ export * from './library-dependency.js';
27
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,qDAAmC;AACnC,kDAAgC;AAChC,2CAAyB;AACzB,2DAAyC;AACzC,0DAAwC;AACxC,yCAAuB;AACvB,mDAAiC;AACjC,2DAAyC;AACzC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=library-dependency.js.map
@@ -0,0 +1,72 @@
1
+ import { ComponentChildSpec } from "./child-spec.js";
2
+ import { ComponentDataRequirements } from "./data-requirements.js";
3
+ /**
4
+ * Represents a complete specification for a generated Skip component, including its structure,
5
+ * requirements, code, and nested component hierarchy
6
+ */
7
+ export type ComponentRootSpec = {
8
+ /**
9
+ * A description of what the component should do from a functional perspective.
10
+ * This should be in markdown format and include:
11
+ * - Core functionality
12
+ * - Business rules
13
+ * - Expected outcomes
14
+ * - UX considerations
15
+ */
16
+ functionalRequirements: string;
17
+ /**
18
+ * Detailed data requirements, including how the component accesses and uses data.
19
+ */
20
+ dataRequirements?: ComponentDataRequirements;
21
+ /**
22
+ * A technical description of how the component is designed and implemented.
23
+ * This should be in markdown format and include:
24
+ * - Architecture and design patterns
25
+ * - Key technical decisions
26
+ * - Component structure
27
+ * - State management
28
+ * - Integration points with parent/child components
29
+ */
30
+ technicalDesign: string;
31
+ /**
32
+ * The code for the main component.
33
+ */
34
+ componentCode: string;
35
+ /**
36
+ * Name of the component
37
+ */
38
+ componentName: string;
39
+ /**
40
+ * The type of component: report, dashboard, form, or other.
41
+ */
42
+ componentType: "report" | "dashboard" | "form" | "other";
43
+ /**
44
+ * A summary of what the component does that a user would understand.
45
+ */
46
+ description: string;
47
+ /**
48
+ * The callback strategy used by this component (e.g., "hybrid", "direct", "none")
49
+ */
50
+ callbackStrategy: string;
51
+ /**
52
+ * Describes the state structure managed by this component
53
+ */
54
+ stateStructure: Record<string, string>;
55
+ /**
56
+ * An array of child component specifications
57
+ */
58
+ childComponents: ComponentChildSpec[];
59
+ /**
60
+ * User-friendly name
61
+ */
62
+ title: string;
63
+ /**
64
+ * A user-friendly explanation of what the component does
65
+ */
66
+ userExplanation: string;
67
+ /**
68
+ * Summary of technical design
69
+ */
70
+ techExplanation: string;
71
+ };
72
+ //# sourceMappingURL=root-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-spec.d.ts","sourceRoot":"","sources":["../src/root-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;;;;;;OAOG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAE7C;;;;;;;;OAQG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IAEzD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,eAAe,EAAE,kBAAkB,EAAE,CAAC;IAEtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=root-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-spec.js","sourceRoot":"","sources":["../src/root-spec.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { CompositeKey } from "@memberjunction/core";
2
- import { SimpleAITools, SimpleMetadata, SimpleRunQuery, SimpleRunView } from "./shared";
2
+ import { SimpleAITools, SimpleMetadata, SimpleRunQuery, SimpleRunView } from "./shared.js";
3
3
  /**
4
4
  * Callbacks a component can use.
5
5
  */
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=runtime-types.js.map
package/dist/shared.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=shared.js.map
package/dist/util.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ComponentSpec } from "./component-spec";
1
+ import { ComponentSpec } from "./component-spec.js";
2
2
  /**
3
3
  * Builds the complete code for a component based on the provided spec.
4
4
  *
package/dist/util.js CHANGED
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BuildComponentCode = exports.BuildComponentCompleteCode = void 0;
4
1
  /**
5
2
  * Builds the complete code for a component based on the provided spec.
6
3
  *
@@ -12,7 +9,7 @@ exports.BuildComponentCode = exports.BuildComponentCompleteCode = void 0;
12
9
  * @param spec - The ComponentRootSpec defining the component structure and behavior
13
10
  * @returns A string containing the complete executable JavaScript code for the component
14
11
  */
15
- function BuildComponentCompleteCode(spec) {
12
+ export function BuildComponentCompleteCode(spec) {
16
13
  // Start with the base code for the root component
17
14
  // Return empty string if no code provided (allows UI to hide Code tab)
18
15
  if (!spec.code || !spec.code.trim()) {
@@ -34,13 +31,12 @@ function BuildComponentCompleteCode(spec) {
34
31
  // Return the complete code for this component
35
32
  return code;
36
33
  }
37
- exports.BuildComponentCompleteCode = BuildComponentCompleteCode;
38
34
  /**
39
35
  * Builds the code for a component dependency based on the provided spec including recursive dependency components.
40
36
  * @param spec - The ComponentSpec defining the dependency component structure and behavior
41
37
  * @returns A string containing the executable JavaScript code for the component dependency
42
38
  */
43
- function BuildComponentCode(dep, path) {
39
+ export function BuildComponentCode(dep, path) {
44
40
  // Start with the base code for the component
45
41
  let commentHeader = `/*******************************************************\n ${path ? `${path} > ` : ''}${dep.name}\n ${dep.description}\n*******************************************************/\n`;
46
42
  let code = commentHeader + dep.code;
@@ -58,5 +54,4 @@ function BuildComponentCode(dep, path) {
58
54
  // Return the complete code for this dependency component
59
55
  return code;
60
56
  }
61
- exports.BuildComponentCode = BuildComponentCode;
62
57
  //# sourceMappingURL=util.js.map
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACH,SAAgB,0BAA0B,CAAC,IAAmB;IAC1D,kDAAkD;IAClD,uEAAuE;IACvE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,uFAAuF;IACvF,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,iFAAiF;QACjF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,qFAAqF;YACrF,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,8CAA8C;IAC9C,OAAO,IAAI,CAAC;AAChB,CAAC;AArBD,gEAqBC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,GAAkB,EAAE,IAAY;IAC/D,6CAA6C;IAC7C,IAAI,aAAa,GAAG,gEAAgE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,WAAW,8DAA8D,CAAA;IAC5M,IAAI,IAAI,GAAG,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC;IACpC,uFAAuF;IACvF,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,iFAAiF;QACjF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,yDAAyD;IACzD,OAAO,IAAI,CAAC;AAChB,CAAC;AAlBD,gDAkBC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAmB;IAC1D,kDAAkD;IAClD,uEAAuE;IACvE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,uFAAuF;IACvF,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,iFAAiF;QACjF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,qFAAqF;YACrF,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,8CAA8C;IAC9C,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAkB,EAAE,IAAY;IAC/D,6CAA6C;IAC7C,IAAI,aAAa,GAAG,gEAAgE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,WAAW,8DAA8D,CAAA;IAC5M,IAAI,IAAI,GAAG,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC;IACpC,uFAAuF;IACvF,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,iFAAiF;QACjF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,yDAAyD;IACzD,OAAO,IAAI,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/interactive-component-types",
3
- "version": "3.4.0",
3
+ "type": "module",
4
+ "version": "4.0.0",
4
5
  "description": "MemberJunction: Interactive Component - Type specifications for MJ Interactive UI Componentry",
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
@@ -9,18 +10,18 @@
9
10
  ],
10
11
  "scripts": {
11
12
  "start": "ts-node-dev src/index.ts",
12
- "build": "tsc",
13
+ "build": "tsc && tsc-alias -f",
13
14
  "test": "echo \"Error: no test specified\" && exit 1"
14
15
  },
15
16
  "author": "MemberJunction.com",
16
17
  "license": "ISC",
17
18
  "devDependencies": {
18
19
  "ts-node-dev": "^2.0.0",
19
- "typescript": "^5.4.5"
20
+ "typescript": "^5.9.3"
20
21
  },
21
22
  "dependencies": {
22
- "@memberjunction/core": "3.4.0",
23
- "@memberjunction/ai-vectors-memory": "3.4.0"
23
+ "@memberjunction/core": "4.0.0",
24
+ "@memberjunction/ai-vectors-memory": "4.0.0"
24
25
  },
25
26
  "repository": {
26
27
  "type": "git",