@memberjunction/skip-types 2.44.0 → 2.46.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/dist/agent-types.d.ts +251 -0
- package/dist/agent-types.d.ts.map +1 -0
- package/dist/agent-types.js +76 -0
- package/dist/agent-types.js.map +1 -0
- package/dist/api-types.d.ts +212 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/api-types.js +80 -0
- package/dist/api-types.js.map +1 -0
- package/dist/artifact-types.d.ts +142 -0
- package/dist/artifact-types.d.ts.map +1 -0
- package/dist/artifact-types.js +26 -0
- package/dist/artifact-types.js.map +1 -0
- package/dist/auth-types.d.ts +39 -0
- package/dist/auth-types.d.ts.map +1 -0
- package/dist/auth-types.js +32 -0
- package/dist/auth-types.js.map +1 -0
- package/dist/component-types.d.ts +351 -0
- package/dist/component-types.d.ts.map +1 -0
- package/dist/component-types.js +28 -0
- package/dist/component-types.js.map +1 -0
- package/dist/conversation-types.d.ts +141 -0
- package/dist/conversation-types.d.ts.map +1 -0
- package/dist/conversation-types.js +46 -0
- package/dist/conversation-types.js.map +1 -0
- package/dist/entity-metadata-types.d.ts +125 -0
- package/dist/entity-metadata-types.d.ts.map +1 -0
- package/dist/entity-metadata-types.js +78 -0
- package/dist/entity-metadata-types.js.map +1 -0
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/query-types.d.ts +112 -0
- package/dist/query-types.d.ts.map +1 -0
- package/dist/query-types.js +65 -0
- package/dist/query-types.js.map +1 -0
- package/dist/response-types.d.ts +156 -0
- package/dist/response-types.d.ts.map +1 -0
- package/dist/response-types.js +63 -0
- package/dist/response-types.js.map +1 -0
- package/dist/shared.d.ts +44 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +3 -0
- package/dist/shared.js.map +1 -0
- package/dist/types.d.ts +31 -1057
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +45 -211
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +68 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +201 -0
- package/dist/util.js.map +1 -0
- package/package.json +3 -3
- package/readme.md +19 -19
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Artifact management types for Skip API
|
|
3
|
+
*
|
|
4
|
+
* This file contains types related to artifacts - persistent objects created and managed
|
|
5
|
+
* through Skip conversations. These types define the structure for:
|
|
6
|
+
*
|
|
7
|
+
* - Artifact definitions and metadata (SkipAPIArtifact)
|
|
8
|
+
* - Artifact type specifications (SkipAPIArtifactType)
|
|
9
|
+
* - Artifact versioning (SkipAPIArtifactVersion)
|
|
10
|
+
* - Artifact creation requests (SkipAPIArtifactRequest)
|
|
11
|
+
*
|
|
12
|
+
* Artifacts in Skip represent persistent outputs from AI interactions that can be
|
|
13
|
+
* saved, versioned, shared, and iterated upon. They can contain various types of
|
|
14
|
+
* content including reports, code, documents, or other structured data that users
|
|
15
|
+
* want to preserve and refine over time.
|
|
16
|
+
*
|
|
17
|
+
* The artifact system supports versioning, allowing users to see the evolution of
|
|
18
|
+
* AI-generated content and compare different iterations. It also includes sharing
|
|
19
|
+
* capabilities and user feedback mechanisms to improve future artifact generation.
|
|
20
|
+
*
|
|
21
|
+
* @author MemberJunction
|
|
22
|
+
* @since 2.0.0
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Defines information about a single artifact type
|
|
26
|
+
*/
|
|
27
|
+
export type SkipAPIArtifactType = {
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
/**
|
|
32
|
+
* MIME type or content identifier for this artifact type
|
|
33
|
+
*/
|
|
34
|
+
contentType: string;
|
|
35
|
+
enabled: boolean;
|
|
36
|
+
createdAt: Date;
|
|
37
|
+
updatedAt: Date;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Represents a specific version of an artifact, containing the actual content,
|
|
41
|
+
* configuration, and user feedback for that version. Each artifact can have
|
|
42
|
+
* multiple versions as it evolves through user interactions.
|
|
43
|
+
*/
|
|
44
|
+
export type SkipAPIArtifactVersion = {
|
|
45
|
+
/**
|
|
46
|
+
* Primary key for the artifact version - globally unique
|
|
47
|
+
*/
|
|
48
|
+
id: string;
|
|
49
|
+
/**
|
|
50
|
+
* Foreign key to the related artifact - not using a link to the object here to avoid circular references
|
|
51
|
+
*/
|
|
52
|
+
artifactId: string;
|
|
53
|
+
/**
|
|
54
|
+
* Auto increment sequential version, start with 1 for each artifact
|
|
55
|
+
*/
|
|
56
|
+
version: number;
|
|
57
|
+
/**
|
|
58
|
+
* The contents of this field are dependent on the artifact type, in some cases it might be unused, in others it might be JSON, plain text, or even base-64 encoded binary data for something like an image
|
|
59
|
+
*/
|
|
60
|
+
configuration: string;
|
|
61
|
+
/**
|
|
62
|
+
* The contents of this field are dependent on the artifact type, in some cases it might be unused, in others it might be JSON, plain text, or even base-64 encoded binary data for something like an image
|
|
63
|
+
*/
|
|
64
|
+
content: string;
|
|
65
|
+
/**
|
|
66
|
+
* User comments for this specific version of the artifact, used for user's own purposes and can be used as feedback loop for AI to learn from and improve future versions/responses.
|
|
67
|
+
*/
|
|
68
|
+
comments: string;
|
|
69
|
+
createdAt: Date;
|
|
70
|
+
updatedAt: Date;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Complete artifact definition including metadata, type information, sharing settings,
|
|
74
|
+
* and all versions. Artifacts are the primary way to persist and version AI-generated
|
|
75
|
+
* content across conversations.
|
|
76
|
+
*/
|
|
77
|
+
export type SkipAPIArtifact = {
|
|
78
|
+
/**
|
|
79
|
+
* Primary key for the artifact
|
|
80
|
+
*/
|
|
81
|
+
id: string;
|
|
82
|
+
/**
|
|
83
|
+
* AI generated name for the artifact
|
|
84
|
+
*/
|
|
85
|
+
name: string;
|
|
86
|
+
/**
|
|
87
|
+
* AI generated description for the artifact
|
|
88
|
+
* This is a short description of the artifact that is generated by the AI system and is used to provide context for the artifact
|
|
89
|
+
*/
|
|
90
|
+
description: string;
|
|
91
|
+
/**
|
|
92
|
+
* Foreign key to the related conversation
|
|
93
|
+
*/
|
|
94
|
+
conversationId: string;
|
|
95
|
+
/**
|
|
96
|
+
* Related artifact type
|
|
97
|
+
*/
|
|
98
|
+
artifactType: SkipAPIArtifactType;
|
|
99
|
+
/**
|
|
100
|
+
* Defines the level of sharing the owner of this artifact (which is the owner of the related conversation) has selected for this artifact
|
|
101
|
+
*/
|
|
102
|
+
sharingScope: 'None' | 'SpecificUsers' | 'Everyone' | 'Public';
|
|
103
|
+
/**
|
|
104
|
+
* Comments from the user about the artifact
|
|
105
|
+
*/
|
|
106
|
+
comments: string;
|
|
107
|
+
/**
|
|
108
|
+
* Array of versions of this artifact
|
|
109
|
+
* This is a one-to-many relationship, where each artifact can have multiple versions
|
|
110
|
+
*/
|
|
111
|
+
versions: SkipAPIArtifactVersion[];
|
|
112
|
+
createdAt: Date;
|
|
113
|
+
updatedAt: Date;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Defines the shape of the data that is used to request an artifact from the Skip API Server
|
|
117
|
+
*/
|
|
118
|
+
export type SkipAPIArtifactRequest = {
|
|
119
|
+
/**
|
|
120
|
+
* The agent should request new_artifact if an entirely new artifact should be created. This should be selected if there are no existing artifacts in the
|
|
121
|
+
* conversation, OR if the user has asked for something that is not logically related to existing artifacts for the given conversation and it makes more
|
|
122
|
+
* sense to create a new artifact entirely.
|
|
123
|
+
*
|
|
124
|
+
* new_artifact_version, on the other hand, should be used when the user has asked for something that is logically related to an existing artifact and it is
|
|
125
|
+
* most logical to add a new version to that existing artifact for example iterating on various versions of a report over time.
|
|
126
|
+
*/
|
|
127
|
+
action: "new_artifact" | "new_artifact_version";
|
|
128
|
+
/**
|
|
129
|
+
* This is only provided when action === 'new_artifact_version' and is used to indicate the artifact that a new version is being added to. When action == 'new_artifact'
|
|
130
|
+
* this property is not used.
|
|
131
|
+
*/
|
|
132
|
+
artifactId?: string;
|
|
133
|
+
/**
|
|
134
|
+
* The name of the artifact or artifact version that is being created. Generated by the AI agent.
|
|
135
|
+
*/
|
|
136
|
+
name: string;
|
|
137
|
+
/**
|
|
138
|
+
* The description of the artifact or artifact version that is being created. Generated by the AI agent.
|
|
139
|
+
*/
|
|
140
|
+
description: string;
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=artifact-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-types.d.ts","sourceRoot":"","sources":["../src/artifact-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,mBAAmB,CAAC;IAElC;;OAEG;IACH,YAAY,EAAE,MAAM,GAAE,eAAe,GAAE,UAAU,GAAE,QAAQ,CAAC;IAE5D;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IAEnC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACnB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC;;;;;;;OAOG;IACH,MAAM,EAAE,cAAc,GAAG,sBAAsB,CAAC;IAEhD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACvB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Artifact management types for Skip API
|
|
4
|
+
*
|
|
5
|
+
* This file contains types related to artifacts - persistent objects created and managed
|
|
6
|
+
* through Skip conversations. These types define the structure for:
|
|
7
|
+
*
|
|
8
|
+
* - Artifact definitions and metadata (SkipAPIArtifact)
|
|
9
|
+
* - Artifact type specifications (SkipAPIArtifactType)
|
|
10
|
+
* - Artifact versioning (SkipAPIArtifactVersion)
|
|
11
|
+
* - Artifact creation requests (SkipAPIArtifactRequest)
|
|
12
|
+
*
|
|
13
|
+
* Artifacts in Skip represent persistent outputs from AI interactions that can be
|
|
14
|
+
* saved, versioned, shared, and iterated upon. They can contain various types of
|
|
15
|
+
* content including reports, code, documents, or other structured data that users
|
|
16
|
+
* want to preserve and refine over time.
|
|
17
|
+
*
|
|
18
|
+
* The artifact system supports versioning, allowing users to see the evolution of
|
|
19
|
+
* AI-generated content and compare different iterations. It also includes sharing
|
|
20
|
+
* capabilities and user feedback mechanisms to improve future artifact generation.
|
|
21
|
+
*
|
|
22
|
+
* @author MemberJunction
|
|
23
|
+
* @since 2.0.0
|
|
24
|
+
*/
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
//# sourceMappingURL=artifact-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-types.js","sourceRoot":"","sources":["../src/artifact-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Authentication and API key types for Skip API
|
|
3
|
+
*
|
|
4
|
+
* This file contains types related to authentication and API key management
|
|
5
|
+
* within the Skip API system. These types define the structure for:
|
|
6
|
+
*
|
|
7
|
+
* - API key specifications for different AI vendors (SkipAPIRequestAPIKey)
|
|
8
|
+
*
|
|
9
|
+
* The authentication system allows clients to provide API keys for various
|
|
10
|
+
* AI service providers that Skip will use on behalf of the client. This enables
|
|
11
|
+
* Skip to access different AI models and services while maintaining security
|
|
12
|
+
* by not storing these credentials permanently.
|
|
13
|
+
*
|
|
14
|
+
* The vendor driver names correspond to registered classes in the MemberJunction
|
|
15
|
+
* AI namespace that provide standardized interfaces to different AI providers
|
|
16
|
+
* such as OpenAI, Anthropic, Google, and others.
|
|
17
|
+
*
|
|
18
|
+
* @author MemberJunction
|
|
19
|
+
* @since 2.0.0
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Defines the API key information for AI service providers that Skip will use
|
|
23
|
+
* on behalf of the client. Skip never stores these credentials - they are only
|
|
24
|
+
* used for the duration of the request to access the specified AI services.
|
|
25
|
+
*/
|
|
26
|
+
export declare class SkipAPIRequestAPIKey {
|
|
27
|
+
/**
|
|
28
|
+
* These are the supported LLM vendors that Skip can use. These driver names map to the
|
|
29
|
+
* registered classes in the MemberJunction AI namespace for example the @memberjunction/ai-openai package includes
|
|
30
|
+
* a class called OpenAILLM that is registered with the MemberJunction AI system as a valid sub-class of BaseLLM
|
|
31
|
+
*/
|
|
32
|
+
vendorDriverName: 'OpenAILLM' | 'MistralLLM' | 'GeminiLLM' | 'AnthropicLLM' | 'GroqLLM';
|
|
33
|
+
/**
|
|
34
|
+
* This is the actual API key for the specified vendor.
|
|
35
|
+
* NOTE: Skip NEVER stores this information, it is only used to make requests to the AI vendor of choice
|
|
36
|
+
*/
|
|
37
|
+
apiKey: string;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=auth-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../src/auth-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;GAIG;AACH,qBAAa,oBAAoB;IAC7B;;;;OAIG;IACH,gBAAgB,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;IACxF;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Authentication and API key types for Skip API
|
|
4
|
+
*
|
|
5
|
+
* This file contains types related to authentication and API key management
|
|
6
|
+
* within the Skip API system. These types define the structure for:
|
|
7
|
+
*
|
|
8
|
+
* - API key specifications for different AI vendors (SkipAPIRequestAPIKey)
|
|
9
|
+
*
|
|
10
|
+
* The authentication system allows clients to provide API keys for various
|
|
11
|
+
* AI service providers that Skip will use on behalf of the client. This enables
|
|
12
|
+
* Skip to access different AI models and services while maintaining security
|
|
13
|
+
* by not storing these credentials permanently.
|
|
14
|
+
*
|
|
15
|
+
* The vendor driver names correspond to registered classes in the MemberJunction
|
|
16
|
+
* AI namespace that provide standardized interfaces to different AI providers
|
|
17
|
+
* such as OpenAI, Anthropic, Google, and others.
|
|
18
|
+
*
|
|
19
|
+
* @author MemberJunction
|
|
20
|
+
* @since 2.0.0
|
|
21
|
+
*/
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.SkipAPIRequestAPIKey = void 0;
|
|
24
|
+
/**
|
|
25
|
+
* Defines the API key information for AI service providers that Skip will use
|
|
26
|
+
* on behalf of the client. Skip never stores these credentials - they are only
|
|
27
|
+
* used for the duration of the request to access the specified AI services.
|
|
28
|
+
*/
|
|
29
|
+
class SkipAPIRequestAPIKey {
|
|
30
|
+
}
|
|
31
|
+
exports.SkipAPIRequestAPIKey = SkipAPIRequestAPIKey;
|
|
32
|
+
//# sourceMappingURL=auth-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-types.js","sourceRoot":"","sources":["../src/auth-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH;;;;GAIG;AACH,MAAa,oBAAoB;CAYhC;AAZD,oDAYC"}
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Component interface types for Skip API
|
|
3
|
+
*
|
|
4
|
+
* This file contains types that define the interface between Skip-generated components
|
|
5
|
+
* and their container applications. These types enable rich, interactive components that
|
|
6
|
+
* can communicate with the host MemberJunction environment. The types define:
|
|
7
|
+
*
|
|
8
|
+
* - Component callback interfaces for parent-child communication (SkipComponentCallbacks)
|
|
9
|
+
* - Component object interfaces that Skip components must implement (SkipComponentObject)
|
|
10
|
+
* - Initialization parameters and utility interfaces (SkipComponentInitParams, SkipComponentUtilities)
|
|
11
|
+
* - Styling and theming interfaces (SkipComponentStyles)
|
|
12
|
+
* - Simplified metadata and data access interfaces (SimpleMetadata, SimpleRunView, SimpleRunQuery)
|
|
13
|
+
*
|
|
14
|
+
* Components generated by Skip implement the SkipComponentObject interface and expose
|
|
15
|
+
* themselves globally on the window object, allowing container applications to initialize,
|
|
16
|
+
* refresh, and print them. The components can call back to the container through the provided
|
|
17
|
+
* callback functions to refresh data, open records, update user state, and send custom events.
|
|
18
|
+
*
|
|
19
|
+
* The utility interfaces provide Skip components with controlled access to the MemberJunction
|
|
20
|
+
* system for dynamic data access, metadata queries, and view execution without requiring
|
|
21
|
+
* full access to the underlying MJ APIs.
|
|
22
|
+
*
|
|
23
|
+
* @author MemberJunction
|
|
24
|
+
* @since 2.0.0
|
|
25
|
+
*/
|
|
26
|
+
import { CompositeKey } from "@memberjunction/core";
|
|
27
|
+
import { SimpleDataContext } from "./shared";
|
|
28
|
+
import { SimpleMetadata, SimpleRunQuery, SimpleRunView } from "./shared";
|
|
29
|
+
/**
|
|
30
|
+
* This interface defines the available callback functions that a Skip component might call in the parent.
|
|
31
|
+
*/
|
|
32
|
+
export interface SkipComponentCallbacks {
|
|
33
|
+
/**
|
|
34
|
+
* The component can invoke this method in the callbacks object, when provided, to refresh the data context
|
|
35
|
+
* and that will in turn result in the component's init function being called again with the new data context.
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
RefreshData: () => void;
|
|
39
|
+
/**
|
|
40
|
+
* If an action occurs inside a component where it would be desirable for the containing UI to open a specific
|
|
41
|
+
* record, if supported, this event can be listened to and the container UI can then open the record.
|
|
42
|
+
* @param entityName - this is the Entity NAME from the Entity metadata, not the table name or base view name. Use Entity Metadata to provide the entity name here
|
|
43
|
+
* @param key - this is an array of key/value pairs representing the primary key. The format of a Composite Key is an array of KeyValuePair objects and KeyValuePair objects simply have FieldName and Value properties. In most cases entities have single-valued primary keys but this structure is here for complex entity types that have composite primary keys
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
OpenEntityRecord: (entityName: string, key: CompositeKey) => void;
|
|
47
|
+
/**
|
|
48
|
+
* This event should be raised by the HTML component whenever something changes within the component that should be tracked as a change in state
|
|
49
|
+
* that will persist. userState is any valid, simple JavaScript object, meaning it can have scalars, arrays, objects, etc, it must be an object that
|
|
50
|
+
* can be serialized to JSON, but otherwise has no special requirements. The parent component will be responsible for tracking the user-specific states
|
|
51
|
+
* and passing them back to the HTML component each time it is loaded or if the user changes via the init function.
|
|
52
|
+
* @param userState
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
UpdateUserState: (userState: any) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Used for any other type of event notification that a component might want to send to the parent component.
|
|
58
|
+
* @param eventName
|
|
59
|
+
* @param eventData
|
|
60
|
+
* @returns
|
|
61
|
+
*/
|
|
62
|
+
NotifyEvent: (eventName: string, eventData: any) => void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* This is the function signature for the initialization function provided by each Skip component via the SkipComponentObject so that a container can interact with it.
|
|
66
|
+
* This function is called when the component is loaded by its container. The function receives the data context, an optional userState property, and a set of callbacks that can be used to interact with the parent component.
|
|
67
|
+
* userState is an optional parameter that can be used to pass in any state information that the parent component wants to provide to the component that is specific
|
|
68
|
+
* to the CURRENT user. If the component modifies the userState, it should notify the parent component via the UserStateChanged event in the callbacks object so that the parent component can handle storage.
|
|
69
|
+
*/
|
|
70
|
+
export type SkipComponentInitFunction = (params: SkipComponentInitParams) => void;
|
|
71
|
+
/**
|
|
72
|
+
* This is the function signature for the print function that is provided by the component via the SkipComponentObject
|
|
73
|
+
*/
|
|
74
|
+
export type SkipComponentPrintFunction = () => void;
|
|
75
|
+
/**
|
|
76
|
+
* This is the function signature for the refresh function that is provided by the component via the SkipComponentObject
|
|
77
|
+
*/
|
|
78
|
+
export type SkipComponentRefreshFunction = () => void;
|
|
79
|
+
/**
|
|
80
|
+
* Parameters that are passed to the SkipComponentInitFunction when it is called by the parent component.
|
|
81
|
+
*/
|
|
82
|
+
export interface SkipComponentInitParams {
|
|
83
|
+
data: SimpleDataContext;
|
|
84
|
+
utilities?: SkipComponentUtilities;
|
|
85
|
+
userState?: any;
|
|
86
|
+
callbacks?: SkipComponentCallbacks;
|
|
87
|
+
styles?: SkipComponentStyles;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* This interface defines styles that can be applied to the component. The container can provide
|
|
91
|
+
* styles to the top level component. The top level component can alter these styles based on
|
|
92
|
+
* the prompting of the user, learned notes, etc, and adjust the styles of the component accordingly. In addition
|
|
93
|
+
* the top level component will pass in its computed styles to each sub-component so that the sub-components
|
|
94
|
+
* can do the same recursively down to any level of depth. This allows sub-components to inherit styles but
|
|
95
|
+
* also make adjustments as required based on functional needs and user input.
|
|
96
|
+
*/
|
|
97
|
+
export interface SkipComponentStyles {
|
|
98
|
+
colors: {
|
|
99
|
+
primary: string;
|
|
100
|
+
primaryHover: string;
|
|
101
|
+
primaryLight?: string;
|
|
102
|
+
secondary: string;
|
|
103
|
+
secondaryHover?: string;
|
|
104
|
+
success: string;
|
|
105
|
+
successLight?: string;
|
|
106
|
+
warning?: string;
|
|
107
|
+
warningLight?: string;
|
|
108
|
+
error?: string;
|
|
109
|
+
errorLight?: string;
|
|
110
|
+
info?: string;
|
|
111
|
+
infoLight?: string;
|
|
112
|
+
background: string;
|
|
113
|
+
surface: string;
|
|
114
|
+
surfaceHover?: string;
|
|
115
|
+
text: string;
|
|
116
|
+
textSecondary: string;
|
|
117
|
+
textTertiary?: string;
|
|
118
|
+
textInverse?: string;
|
|
119
|
+
border: string;
|
|
120
|
+
borderLight?: string;
|
|
121
|
+
borderFocus?: string;
|
|
122
|
+
shadow?: string;
|
|
123
|
+
shadowMedium?: string;
|
|
124
|
+
shadowLarge?: string;
|
|
125
|
+
[key: string]: string | undefined;
|
|
126
|
+
};
|
|
127
|
+
spacing: {
|
|
128
|
+
xs: string;
|
|
129
|
+
sm: string;
|
|
130
|
+
md: string;
|
|
131
|
+
lg: string;
|
|
132
|
+
xl: string;
|
|
133
|
+
xxl?: string;
|
|
134
|
+
xxxl?: string;
|
|
135
|
+
[key: string]: string | undefined;
|
|
136
|
+
};
|
|
137
|
+
typography: {
|
|
138
|
+
fontFamily: string;
|
|
139
|
+
fontSize: {
|
|
140
|
+
xs?: string;
|
|
141
|
+
sm: string;
|
|
142
|
+
md: string;
|
|
143
|
+
lg: string;
|
|
144
|
+
xl: string;
|
|
145
|
+
xxl?: string;
|
|
146
|
+
xxxl?: string;
|
|
147
|
+
[key: string]: string | undefined;
|
|
148
|
+
};
|
|
149
|
+
fontWeight?: {
|
|
150
|
+
light?: string;
|
|
151
|
+
regular?: string;
|
|
152
|
+
medium?: string;
|
|
153
|
+
semibold?: string;
|
|
154
|
+
bold?: string;
|
|
155
|
+
[key: string]: string | undefined;
|
|
156
|
+
};
|
|
157
|
+
lineHeight?: {
|
|
158
|
+
tight?: string;
|
|
159
|
+
normal?: string;
|
|
160
|
+
relaxed?: string;
|
|
161
|
+
[key: string]: string | undefined;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
borders: {
|
|
165
|
+
radius: string | {
|
|
166
|
+
sm?: string;
|
|
167
|
+
md?: string;
|
|
168
|
+
lg?: string;
|
|
169
|
+
xl?: string;
|
|
170
|
+
full?: string;
|
|
171
|
+
[key: string]: string | undefined;
|
|
172
|
+
};
|
|
173
|
+
width: string | {
|
|
174
|
+
thin?: string;
|
|
175
|
+
medium?: string;
|
|
176
|
+
thick?: string;
|
|
177
|
+
[key: string]: string | undefined;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
shadows?: {
|
|
181
|
+
sm?: string;
|
|
182
|
+
md?: string;
|
|
183
|
+
lg?: string;
|
|
184
|
+
xl?: string;
|
|
185
|
+
inner?: string;
|
|
186
|
+
[key: string]: string | undefined;
|
|
187
|
+
};
|
|
188
|
+
transitions?: {
|
|
189
|
+
fast?: string;
|
|
190
|
+
normal?: string;
|
|
191
|
+
slow?: string;
|
|
192
|
+
[key: string]: string | undefined;
|
|
193
|
+
};
|
|
194
|
+
overflow: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* This is the interface that each Skip component will expose to the parent component and assign it a name globally on the window object so that the parent component can call it.
|
|
198
|
+
* The component will create this object and it will include the members defined in this interface.
|
|
199
|
+
*/
|
|
200
|
+
export interface SkipComponentObject {
|
|
201
|
+
/**
|
|
202
|
+
* The React component that Angular will render directly using ReactDOM.
|
|
203
|
+
* This component receives props including data, userState, callbacks, utilities, and styles.
|
|
204
|
+
*/
|
|
205
|
+
component: any;
|
|
206
|
+
/**
|
|
207
|
+
* The optional print function that is called when the user clicks on the print button in the parent of the component. This function will never be called by the parent before the init function so the print function
|
|
208
|
+
* can assume the component has been initialized;
|
|
209
|
+
*/
|
|
210
|
+
print?: SkipComponentPrintFunction;
|
|
211
|
+
/**
|
|
212
|
+
* The optional refresh function that is called when the user clicks on the refresh button in the parent of the component. This function will never be called by the parent before the init function so the refresh function
|
|
213
|
+
*/
|
|
214
|
+
refresh?: SkipComponentRefreshFunction;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* This interface defines the utilities that are available to the Skip component. These utilities are used to interact with the host MemberJunction system to
|
|
218
|
+
* retrieve metadata, run views, and run queries. The utilities are passed into the SkipComponentInitFunction by the container.
|
|
219
|
+
*/
|
|
220
|
+
export interface SkipComponentUtilities {
|
|
221
|
+
md: SimpleMetadata;
|
|
222
|
+
rv: SimpleRunView;
|
|
223
|
+
rq: SimpleRunQuery;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* 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.
|
|
227
|
+
*/
|
|
228
|
+
export type SkipComponentOption = {
|
|
229
|
+
/**
|
|
230
|
+
* Full details of the generated component option including functional, technical, code, and child componentry.
|
|
231
|
+
*/
|
|
232
|
+
option: SkipComponentRootSpec;
|
|
233
|
+
/**
|
|
234
|
+
* If multiple component options are provided for a given @interface SkipAPIAnalysisCompleteResponse, a "judge" AI will evaluate all the functional
|
|
235
|
+
* responses and will rank order them with an explanation of why they were each ranked that way. Rankings are not absolute, they are relative to the
|
|
236
|
+
* # of components contained within an array of SkipComponentOption types.
|
|
237
|
+
*/
|
|
238
|
+
AIRank: number | undefined;
|
|
239
|
+
/**
|
|
240
|
+
* The AI's explanation of why it ranked the component the way it did. This is useful for understanding the AI's reasoning and can be used to improve future components
|
|
241
|
+
* as well as provide context to the user about why a particular component was chosen as the best option.
|
|
242
|
+
*/
|
|
243
|
+
AIRankExplanation: string | undefined;
|
|
244
|
+
/**
|
|
245
|
+
* The user's provided feedback on the component option. Unlike the AIRank, this is a subjective rating provided by the user and is
|
|
246
|
+
* a number between 1 and 10, where 1 is the lowest rating and 10 is the highest rating.
|
|
247
|
+
*/
|
|
248
|
+
UserRank: number | undefined;
|
|
249
|
+
/**
|
|
250
|
+
* If the host application provides a way for the user to provide feedback on the component option,
|
|
251
|
+
* this is the explanation of why the user rated the component the way they did if they provided feedback.
|
|
252
|
+
*/
|
|
253
|
+
UserRankExplanation: string | undefined;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* Represents a complete specification for a generated Skip component, including its structure,
|
|
257
|
+
* requirements, code, and nested component hierarchy
|
|
258
|
+
*/
|
|
259
|
+
export type SkipComponentRootSpec = {
|
|
260
|
+
/**
|
|
261
|
+
* A description of what the component should do from a functional perspective
|
|
262
|
+
*/
|
|
263
|
+
functionalRequirements: string;
|
|
264
|
+
/**
|
|
265
|
+
* A technical description of how the component is designed and implemented
|
|
266
|
+
*/
|
|
267
|
+
technicalDesign: string;
|
|
268
|
+
/**
|
|
269
|
+
* The actual code for the main component, typically wrapped in an IIFE that returns
|
|
270
|
+
* the component object with component, print, and refresh properties
|
|
271
|
+
*/
|
|
272
|
+
componentCode: string;
|
|
273
|
+
/**
|
|
274
|
+
* The name of the main component
|
|
275
|
+
*/
|
|
276
|
+
componentName: string;
|
|
277
|
+
/**
|
|
278
|
+
* The type of component: report, dashboard, form, chart, table, or other. Over time this list
|
|
279
|
+
* might grow to include more types as Skip evolves and new component types are needed.
|
|
280
|
+
*/
|
|
281
|
+
componentType: "report" | "dashboard" | "form" | "other";
|
|
282
|
+
/**
|
|
283
|
+
* The type of data access this component uses, static means that the data is provided to the component as static data during the initialization
|
|
284
|
+
* process described in the @interface SkipComponentObject interface, dynamic means that the component will use capabilities provided by
|
|
285
|
+
* the SkipComponentObject interface to dynamically access data from the MemberJunction instance that it is running within. 'both' means
|
|
286
|
+
* that the component can use both static and dynamic data access methods, and 'none' means that the component does not use any data (rare, but possible for example if
|
|
287
|
+
* a component does something other than show data or if it uses 3rd party data sources via API that are not related to the MJ instance it is running within).
|
|
288
|
+
*/
|
|
289
|
+
dataAccessType: 'static' | 'dynamic' | 'both' | 'none';
|
|
290
|
+
/**
|
|
291
|
+
* A description of what this component does
|
|
292
|
+
*/
|
|
293
|
+
description: string;
|
|
294
|
+
/**
|
|
295
|
+
* The callback strategy used by this component (e.g., "hybrid", "direct", "none")
|
|
296
|
+
*/
|
|
297
|
+
callbackStrategy: string;
|
|
298
|
+
/**
|
|
299
|
+
* Describes the state structure managed by this component
|
|
300
|
+
*/
|
|
301
|
+
stateStructure: Record<string, string>;
|
|
302
|
+
/**
|
|
303
|
+
* An array of child component specifications
|
|
304
|
+
*/
|
|
305
|
+
childComponents: SkipComponentChildSpec[];
|
|
306
|
+
/**
|
|
307
|
+
* The title of the component
|
|
308
|
+
*/
|
|
309
|
+
title: string;
|
|
310
|
+
/**
|
|
311
|
+
* A user-friendly explanation of what the component does
|
|
312
|
+
*/
|
|
313
|
+
userExplanation: string;
|
|
314
|
+
/**
|
|
315
|
+
* A technical explanation of how the component works
|
|
316
|
+
*/
|
|
317
|
+
techExplanation: string;
|
|
318
|
+
};
|
|
319
|
+
/**
|
|
320
|
+
* Represents a child component within a component hierarchy
|
|
321
|
+
*/
|
|
322
|
+
export interface SkipComponentChildSpec {
|
|
323
|
+
/**
|
|
324
|
+
* The programmatic name of the component
|
|
325
|
+
*/
|
|
326
|
+
componentName: string;
|
|
327
|
+
/**
|
|
328
|
+
* Example of the component being used in JSX format. This is used to provide a clear example on the properties and
|
|
329
|
+
* event handling that the component supports. This is used to teach the next AI exactly what we want it to generate for the
|
|
330
|
+
* child component.
|
|
331
|
+
*/
|
|
332
|
+
exampleUsage: string;
|
|
333
|
+
/**
|
|
334
|
+
* The code for the child component. This is generated LATER by a separate process after the parent
|
|
335
|
+
* component generation is complete. When the parent component generates this is undefined.
|
|
336
|
+
*/
|
|
337
|
+
componentCode?: string;
|
|
338
|
+
/**
|
|
339
|
+
* A detailed description of what this child component does
|
|
340
|
+
*/
|
|
341
|
+
description: string;
|
|
342
|
+
/**
|
|
343
|
+
* The path in the state tree where this component's state is stored
|
|
344
|
+
*/
|
|
345
|
+
statePath: string;
|
|
346
|
+
/**
|
|
347
|
+
* An array of sub-components (recursive structure)
|
|
348
|
+
*/
|
|
349
|
+
components: SkipComponentChildSpec[];
|
|
350
|
+
}
|
|
351
|
+
//# sourceMappingURL=component-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-types.d.ts","sourceRoot":"","sources":["../src/component-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Component interface types for Skip API
|
|
4
|
+
*
|
|
5
|
+
* This file contains types that define the interface between Skip-generated components
|
|
6
|
+
* and their container applications. These types enable rich, interactive components that
|
|
7
|
+
* can communicate with the host MemberJunction environment. The types define:
|
|
8
|
+
*
|
|
9
|
+
* - Component callback interfaces for parent-child communication (SkipComponentCallbacks)
|
|
10
|
+
* - Component object interfaces that Skip components must implement (SkipComponentObject)
|
|
11
|
+
* - Initialization parameters and utility interfaces (SkipComponentInitParams, SkipComponentUtilities)
|
|
12
|
+
* - Styling and theming interfaces (SkipComponentStyles)
|
|
13
|
+
* - Simplified metadata and data access interfaces (SimpleMetadata, SimpleRunView, SimpleRunQuery)
|
|
14
|
+
*
|
|
15
|
+
* Components generated by Skip implement the SkipComponentObject interface and expose
|
|
16
|
+
* themselves globally on the window object, allowing container applications to initialize,
|
|
17
|
+
* refresh, and print them. The components can call back to the container through the provided
|
|
18
|
+
* callback functions to refresh data, open records, update user state, and send custom events.
|
|
19
|
+
*
|
|
20
|
+
* The utility interfaces provide Skip components with controlled access to the MemberJunction
|
|
21
|
+
* system for dynamic data access, metadata queries, and view execution without requiring
|
|
22
|
+
* full access to the underlying MJ APIs.
|
|
23
|
+
*
|
|
24
|
+
* @author MemberJunction
|
|
25
|
+
* @since 2.0.0
|
|
26
|
+
*/
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
//# sourceMappingURL=component-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-types.js","sourceRoot":"","sources":["../src/component-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
|