lua-cli 2.2.8-alpha.1 → 2.3.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API_REFERENCE.md +1408 -0
- package/CLI_REFERENCE.md +818 -0
- package/GETTING_STARTED.md +1040 -0
- package/README.md +738 -424
- package/TEMPLATE_GUIDE.md +1398 -0
- package/dist/api/agent.api.service.d.ts +45 -0
- package/dist/api/agent.api.service.js +57 -0
- package/dist/api/auth.api.service.d.ts +48 -0
- package/dist/api/auth.api.service.js +54 -0
- package/dist/api/basket.api.service.d.ts +85 -0
- package/dist/api/basket.api.service.js +164 -0
- package/dist/api/chat.api.service.d.ts +21 -0
- package/dist/api/chat.api.service.js +24 -0
- package/dist/api/credentials.d.ts +24 -0
- package/dist/api/credentials.js +46 -0
- package/dist/api/custom.data.api.service.d.ts +69 -0
- package/dist/api/custom.data.api.service.js +125 -0
- package/dist/api/lazy-instances.d.ts +49 -0
- package/dist/api/lazy-instances.js +95 -0
- package/dist/api/order.api.service.d.ts +53 -0
- package/dist/api/order.api.service.js +95 -0
- package/dist/api/products.api.service.d.ts +66 -0
- package/dist/api/products.api.service.js +112 -0
- package/dist/api/skills.api.service.d.ts +77 -0
- package/dist/api/skills.api.service.js +88 -0
- package/dist/api/tool.api.service.d.ts +52 -0
- package/dist/api/tool.api.service.js +73 -0
- package/dist/api/user.data.api.service.d.ts +33 -0
- package/dist/api/user.data.api.service.js +59 -0
- package/dist/api-exports.d.ts +271 -0
- package/dist/api-exports.js +372 -0
- package/dist/cli/command-definitions.d.ts +30 -0
- package/dist/cli/command-definitions.js +71 -0
- package/dist/commands/agents.d.ts +20 -0
- package/dist/commands/agents.js +24 -2
- package/dist/commands/apiKey.d.ts +23 -0
- package/dist/commands/apiKey.js +23 -0
- package/dist/commands/compile.d.ts +24 -0
- package/dist/commands/compile.js +67 -759
- package/dist/commands/configure.d.ts +24 -0
- package/dist/commands/configure.js +31 -96
- package/dist/commands/deploy.d.ts +31 -19
- package/dist/commands/deploy.js +45 -74
- package/dist/commands/destroy.d.ts +27 -0
- package/dist/commands/destroy.js +27 -1
- package/dist/commands/dev.d.ts +25 -62
- package/dist/commands/dev.js +58 -873
- package/dist/commands/init.d.ts +27 -0
- package/dist/commands/init.js +98 -260
- package/dist/commands/push.d.ts +24 -21
- package/dist/commands/push.js +39 -92
- package/dist/commands/test.d.ts +26 -0
- package/dist/commands/test.js +41 -188
- package/dist/common/basket.instance.d.ts +78 -0
- package/dist/common/basket.instance.js +132 -0
- package/dist/common/data.entry.instance.d.ts +39 -0
- package/dist/common/data.entry.instance.js +76 -0
- package/dist/common/http.client.d.ts +64 -0
- package/dist/common/http.client.js +133 -0
- package/dist/common/order.instance.d.ts +40 -0
- package/dist/common/order.instance.js +79 -0
- package/dist/common/product.instance.d.ts +33 -0
- package/dist/common/product.instance.js +63 -0
- package/dist/common/product.pagination.instance.d.ts +43 -0
- package/dist/common/product.pagination.instance.js +74 -0
- package/dist/common/product.search.instance.d.ts +22 -0
- package/dist/common/product.search.instance.js +40 -0
- package/dist/common/user.instance.d.ts +41 -0
- package/dist/common/user.instance.js +84 -0
- package/dist/config/auth.constants.d.ts +11 -0
- package/dist/config/auth.constants.js +11 -0
- package/dist/config/compile.constants.d.ts +67 -0
- package/dist/config/compile.constants.js +99 -0
- package/dist/config/constants.d.ts +5 -0
- package/dist/config/constants.js +5 -0
- package/dist/config/dev.constants.d.ts +65 -0
- package/dist/config/dev.constants.js +79 -0
- package/dist/config/init.constants.d.ts +23 -0
- package/dist/config/init.constants.js +41 -0
- package/dist/index.d.ts +19 -3
- package/dist/index.js +28 -44
- package/dist/interfaces/admin.d.ts +101 -0
- package/dist/interfaces/admin.js +5 -0
- package/dist/interfaces/agent.d.ts +107 -0
- package/dist/interfaces/agent.js +5 -0
- package/dist/interfaces/baskets.d.ts +135 -0
- package/dist/interfaces/baskets.js +19 -0
- package/dist/interfaces/chat.d.ts +61 -0
- package/dist/interfaces/chat.js +5 -0
- package/dist/interfaces/common.d.ts +62 -0
- package/dist/interfaces/common.js +8 -0
- package/dist/interfaces/compile.d.ts +11 -0
- package/dist/interfaces/compile.js +4 -0
- package/dist/interfaces/custom.data.d.ts +82 -0
- package/dist/interfaces/custom.data.js +5 -0
- package/dist/interfaces/deploy.d.ts +29 -0
- package/dist/interfaces/deploy.js +4 -0
- package/dist/interfaces/dev.d.ts +53 -0
- package/dist/interfaces/dev.js +5 -0
- package/dist/interfaces/init.d.ts +60 -0
- package/dist/interfaces/init.js +4 -0
- package/dist/interfaces/orders.d.ts +91 -0
- package/dist/interfaces/orders.js +19 -0
- package/dist/interfaces/product.d.ts +65 -0
- package/dist/interfaces/product.js +5 -0
- package/dist/interfaces/push.d.ts +26 -0
- package/dist/interfaces/push.js +4 -0
- package/dist/interfaces/test.d.ts +36 -0
- package/dist/interfaces/test.js +4 -0
- package/dist/services/auth.d.ts +54 -99
- package/dist/services/auth.js +76 -12
- package/dist/types/api-contracts.d.ts +211 -0
- package/dist/types/api-contracts.js +8 -0
- package/dist/types/compile.types.d.ts +76 -0
- package/dist/types/compile.types.js +4 -0
- package/dist/types/index.d.ts +23 -85
- package/dist/types/index.js +25 -14
- package/dist/types/skill.d.ts +142 -0
- package/dist/{skill.js → types/skill.js} +66 -19
- package/dist/types/tool-validation.d.ts +34 -0
- package/dist/types/tool-validation.js +42 -0
- package/dist/utils/auth-flows.d.ts +26 -0
- package/dist/utils/auth-flows.js +141 -0
- package/dist/utils/bundling.d.ts +36 -0
- package/dist/utils/bundling.js +137 -0
- package/dist/utils/compile.d.ts +37 -0
- package/dist/utils/compile.js +242 -0
- package/dist/utils/deploy-api.d.ts +26 -0
- package/dist/utils/deploy-api.js +53 -0
- package/dist/utils/deploy-helpers.d.ts +46 -0
- package/dist/utils/deploy-helpers.js +86 -0
- package/dist/utils/deployment.d.ts +25 -0
- package/dist/utils/deployment.js +161 -0
- package/dist/utils/dev-api.d.ts +61 -0
- package/dist/utils/dev-api.js +262 -0
- package/dist/utils/dev-helpers.d.ts +46 -0
- package/dist/utils/dev-helpers.js +83 -0
- package/dist/utils/dev-server.d.ts +24 -0
- package/dist/utils/dev-server.js +555 -0
- package/dist/utils/dev-watcher.d.ts +31 -0
- package/dist/utils/dev-watcher.js +110 -0
- package/dist/utils/files.js +0 -5
- package/dist/utils/init-agent.d.ts +34 -0
- package/dist/utils/init-agent.js +129 -0
- package/dist/utils/init-helpers.d.ts +41 -0
- package/dist/utils/init-helpers.js +73 -0
- package/dist/utils/init-prompts.d.ts +47 -0
- package/dist/utils/init-prompts.js +168 -0
- package/dist/utils/push-api.d.ts +15 -0
- package/dist/utils/push-api.js +48 -0
- package/dist/utils/push-helpers.d.ts +38 -0
- package/dist/utils/push-helpers.js +84 -0
- package/dist/utils/sandbox-storage.d.ts +27 -0
- package/dist/utils/sandbox-storage.js +71 -0
- package/dist/utils/sandbox.js +78 -118
- package/dist/utils/skill-management.d.ts +14 -0
- package/dist/utils/skill-management.js +148 -0
- package/dist/utils/test-helpers.d.ts +40 -0
- package/dist/utils/test-helpers.js +92 -0
- package/dist/utils/test-prompts.d.ts +23 -0
- package/dist/utils/test-prompts.js +186 -0
- package/dist/utils/tool-detection.d.ts +18 -0
- package/dist/utils/tool-detection.js +110 -0
- package/dist/web/app.css +14 -9
- package/package.json +11 -12
- package/template/QUICKSTART.md +299 -144
- package/template/README.md +928 -349
- package/template/TOOL_EXAMPLES.md +655 -0
- package/template/package-lock.json +3781 -0
- package/template/package.json +1 -1
- package/template/src/index.ts +81 -40
- package/template/src/tools/BasketTool.ts +128 -0
- package/template/src/tools/CustomDataTool.ts +7 -13
- package/template/src/tools/OrderTool.ts +54 -0
- package/template/src/tools/PaymentTool.ts +1 -1
- package/template/src/tools/ProductsTool.ts +56 -118
- package/template/src/tools/UserDataTool.ts +4 -27
- package/dist/custom-data-api.d.ts +0 -72
- package/dist/custom-data-api.js +0 -174
- package/dist/product-api.d.ts +0 -197
- package/dist/product-api.js +0 -152
- package/dist/services/api.d.ts +0 -569
- package/dist/services/api.js +0 -625
- package/dist/skill.d.ts +0 -50
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -2
- package/dist/user-data-api.d.ts +0 -39
- package/dist/user-data-api.js +0 -50
- package/template/API.md +0 -604
- package/template/DEVELOPER.md +0 -771
- package/template/lua.skill.yaml +0 -16
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Interfaces
|
|
3
|
+
* Agent management, types, and creation
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Full agent entity with configuration.
|
|
7
|
+
* Represents a complete agent with all properties.
|
|
8
|
+
*/
|
|
9
|
+
export interface Agent {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
persona?: string;
|
|
13
|
+
welcomeMessage?: string;
|
|
14
|
+
featuresOverride?: Record<string, any>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Agent type definition with feature templates.
|
|
18
|
+
* Defines what type of agent can be created and what features it supports.
|
|
19
|
+
*/
|
|
20
|
+
export interface AgentType {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
features: Record<string, any>;
|
|
24
|
+
requiredSubAgentMetadata?: string[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Request payload for creating a new agent.
|
|
28
|
+
*/
|
|
29
|
+
export interface CreateAgentRequest {
|
|
30
|
+
id: string;
|
|
31
|
+
type: string;
|
|
32
|
+
metadata: Record<string, any>;
|
|
33
|
+
persona: {
|
|
34
|
+
agentName: string;
|
|
35
|
+
businessType: string;
|
|
36
|
+
brandPersonality: string;
|
|
37
|
+
brandTraits: string;
|
|
38
|
+
};
|
|
39
|
+
features: Record<string, boolean>;
|
|
40
|
+
channels: any[];
|
|
41
|
+
org: {
|
|
42
|
+
registeredName: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Response from agent creation API.
|
|
47
|
+
*/
|
|
48
|
+
export interface CreateAgentResponse {
|
|
49
|
+
success: boolean;
|
|
50
|
+
data?: {
|
|
51
|
+
agentId: string;
|
|
52
|
+
name: string;
|
|
53
|
+
baseAgentId: string;
|
|
54
|
+
persona: string;
|
|
55
|
+
createdAt: string;
|
|
56
|
+
welcomeMessage: string;
|
|
57
|
+
featuresOverride: Record<string, any>;
|
|
58
|
+
_id: string;
|
|
59
|
+
updatedAt: string;
|
|
60
|
+
__v: number;
|
|
61
|
+
org: {
|
|
62
|
+
registeredName: string;
|
|
63
|
+
type: string;
|
|
64
|
+
agents: string[];
|
|
65
|
+
paymentMethods: any[];
|
|
66
|
+
_id: string;
|
|
67
|
+
id: string;
|
|
68
|
+
createdAt: number;
|
|
69
|
+
__v: number;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
error?: {
|
|
73
|
+
message: string;
|
|
74
|
+
error: string;
|
|
75
|
+
statusCode: number;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Response from get agent details API.
|
|
80
|
+
*/
|
|
81
|
+
export interface AgentDetailsResponse {
|
|
82
|
+
success: boolean;
|
|
83
|
+
data?: {
|
|
84
|
+
_id: string;
|
|
85
|
+
agentId: string;
|
|
86
|
+
name: string;
|
|
87
|
+
baseAgentId: string;
|
|
88
|
+
persona: string;
|
|
89
|
+
createdAt: string;
|
|
90
|
+
welcomeMessage: string;
|
|
91
|
+
featuresOverride: Record<string, any>;
|
|
92
|
+
updatedAt: string;
|
|
93
|
+
__v: number;
|
|
94
|
+
personaConfig: {
|
|
95
|
+
agentName: string;
|
|
96
|
+
businessType: string;
|
|
97
|
+
brandPersonality: string;
|
|
98
|
+
brandTraits: string;
|
|
99
|
+
};
|
|
100
|
+
skills: any[];
|
|
101
|
+
};
|
|
102
|
+
error?: {
|
|
103
|
+
message: string;
|
|
104
|
+
error: string;
|
|
105
|
+
statusCode: number;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basket Interfaces
|
|
3
|
+
* Shopping basket management and operations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Basket status enumeration.
|
|
7
|
+
* Represents the lifecycle states of a shopping basket.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum BasketStatus {
|
|
10
|
+
/** Basket is active and can be modified */
|
|
11
|
+
ACTIVE = "active",
|
|
12
|
+
/** Basket has been checked out (converted to order) */
|
|
13
|
+
CHECKED_OUT = "checked_out",
|
|
14
|
+
/** Basket was abandoned by the user */
|
|
15
|
+
ABANDONED = "abandoned",
|
|
16
|
+
/** Basket has expired (TTL exceeded) */
|
|
17
|
+
EXPIRED = "expired"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Item in a basket.
|
|
21
|
+
* Represents a single product or service in the basket.
|
|
22
|
+
*/
|
|
23
|
+
export interface BasketItem {
|
|
24
|
+
id: string;
|
|
25
|
+
price: number;
|
|
26
|
+
quantity: number;
|
|
27
|
+
SKU?: string;
|
|
28
|
+
addedAt?: string;
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Basket data container.
|
|
33
|
+
* Contains the actual basket contents and metadata.
|
|
34
|
+
*/
|
|
35
|
+
export interface BasketData {
|
|
36
|
+
currency: string;
|
|
37
|
+
metadata?: any;
|
|
38
|
+
items: BasketItem[];
|
|
39
|
+
createdAt: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Common basket properties.
|
|
43
|
+
* Calculated/derived properties maintained by the system.
|
|
44
|
+
*/
|
|
45
|
+
export interface BasketCommon {
|
|
46
|
+
status: BasketStatus;
|
|
47
|
+
totalAmount: string | number;
|
|
48
|
+
itemCount: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Complete basket entity.
|
|
52
|
+
* Full basket object as stored in the database.
|
|
53
|
+
*/
|
|
54
|
+
export interface Basket {
|
|
55
|
+
id: string;
|
|
56
|
+
userId: string;
|
|
57
|
+
agentId: string;
|
|
58
|
+
data: BasketData;
|
|
59
|
+
common: BasketCommon;
|
|
60
|
+
createdAt: string;
|
|
61
|
+
updatedAt: string;
|
|
62
|
+
__v: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Request to create a new basket.
|
|
66
|
+
*/
|
|
67
|
+
export interface CreateBasketRequest {
|
|
68
|
+
currency: string;
|
|
69
|
+
metadata?: any;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Response from basket creation.
|
|
73
|
+
*/
|
|
74
|
+
export interface CreateBasketResponse {
|
|
75
|
+
success: boolean;
|
|
76
|
+
message: string;
|
|
77
|
+
data?: Basket;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Response from get baskets API.
|
|
81
|
+
*/
|
|
82
|
+
export interface GetBasketsResponse {
|
|
83
|
+
success: boolean;
|
|
84
|
+
message: string;
|
|
85
|
+
data?: Basket[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Request to add an item to a basket.
|
|
89
|
+
*/
|
|
90
|
+
export interface AddItemToBasketRequest {
|
|
91
|
+
id: string;
|
|
92
|
+
price: number;
|
|
93
|
+
quantity: number;
|
|
94
|
+
[key: string]: any;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Response from adding item to basket.
|
|
98
|
+
*/
|
|
99
|
+
export interface AddItemToBasketResponse {
|
|
100
|
+
success: boolean;
|
|
101
|
+
message: string;
|
|
102
|
+
data?: Basket;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Response from removing item from basket.
|
|
106
|
+
*/
|
|
107
|
+
export interface RemoveItemFromBasketResponse {
|
|
108
|
+
success: boolean;
|
|
109
|
+
message: string;
|
|
110
|
+
data?: Basket;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Response from clearing basket.
|
|
114
|
+
*/
|
|
115
|
+
export interface ClearBasketResponse {
|
|
116
|
+
success: boolean;
|
|
117
|
+
message: string;
|
|
118
|
+
data?: Basket;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Response from updating basket status.
|
|
122
|
+
*/
|
|
123
|
+
export interface UpdateBasketStatusResponse {
|
|
124
|
+
success: boolean;
|
|
125
|
+
message: string;
|
|
126
|
+
data?: Basket;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Response from updating basket metadata.
|
|
130
|
+
*/
|
|
131
|
+
export interface UpdateBasketMetadataResponse {
|
|
132
|
+
success: boolean;
|
|
133
|
+
message: string;
|
|
134
|
+
data?: Basket;
|
|
135
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basket Interfaces
|
|
3
|
+
* Shopping basket management and operations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Basket status enumeration.
|
|
7
|
+
* Represents the lifecycle states of a shopping basket.
|
|
8
|
+
*/
|
|
9
|
+
export var BasketStatus;
|
|
10
|
+
(function (BasketStatus) {
|
|
11
|
+
/** Basket is active and can be modified */
|
|
12
|
+
BasketStatus["ACTIVE"] = "active";
|
|
13
|
+
/** Basket has been checked out (converted to order) */
|
|
14
|
+
BasketStatus["CHECKED_OUT"] = "checked_out";
|
|
15
|
+
/** Basket was abandoned by the user */
|
|
16
|
+
BasketStatus["ABANDONED"] = "abandoned";
|
|
17
|
+
/** Basket has expired (TTL exceeded) */
|
|
18
|
+
BasketStatus["EXPIRED"] = "expired";
|
|
19
|
+
})(BasketStatus || (BasketStatus = {}));
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Interfaces
|
|
3
|
+
* Chat API structures for agent conversations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Chat message structure.
|
|
7
|
+
* Currently only supports text messages.
|
|
8
|
+
*/
|
|
9
|
+
export interface ChatMessage {
|
|
10
|
+
type: 'text';
|
|
11
|
+
text: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Skill override for testing specific skill versions.
|
|
15
|
+
* Used in dev mode to override production skills with sandbox versions.
|
|
16
|
+
*/
|
|
17
|
+
export interface SkillOverride {
|
|
18
|
+
skillId: string;
|
|
19
|
+
sandboxId: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Chat request payload.
|
|
23
|
+
* Sent to the chat API to start or continue a conversation.
|
|
24
|
+
*/
|
|
25
|
+
export interface ChatRequest {
|
|
26
|
+
messages: ChatMessage[];
|
|
27
|
+
navigate: boolean;
|
|
28
|
+
skillOverride: SkillOverride[];
|
|
29
|
+
personaOverride?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Chat response from API.
|
|
33
|
+
* Contains the agent's response and metadata.
|
|
34
|
+
*/
|
|
35
|
+
export interface ChatResponse {
|
|
36
|
+
success: boolean;
|
|
37
|
+
text?: string;
|
|
38
|
+
error?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Detailed chat response with full conversation context.
|
|
42
|
+
* Used in dev mode for detailed debugging.
|
|
43
|
+
*/
|
|
44
|
+
export interface DetailedChatResponse {
|
|
45
|
+
text: string;
|
|
46
|
+
files: any[];
|
|
47
|
+
reasoningDetails: any[];
|
|
48
|
+
toolCalls: any[];
|
|
49
|
+
toolResults: any[];
|
|
50
|
+
finishReason: string;
|
|
51
|
+
usage: {
|
|
52
|
+
promptTokens: number;
|
|
53
|
+
completionTokens: number;
|
|
54
|
+
totalTokens: number;
|
|
55
|
+
};
|
|
56
|
+
warnings: any[];
|
|
57
|
+
request: any;
|
|
58
|
+
response: any;
|
|
59
|
+
steps: any[];
|
|
60
|
+
sources: any[];
|
|
61
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common Interfaces
|
|
3
|
+
* Shared interfaces used across multiple modules
|
|
4
|
+
*
|
|
5
|
+
* This file contains base interfaces that are used throughout the application,
|
|
6
|
+
* particularly standard API response patterns.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Standard API response wrapper.
|
|
10
|
+
* Used by all API endpoints to provide consistent response structure.
|
|
11
|
+
*
|
|
12
|
+
* @template T - Type of data returned on success
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const response: ApiResponse<User> = await api.getUser();
|
|
17
|
+
* if (response.success) {
|
|
18
|
+
* console.log(response.data); // User object
|
|
19
|
+
* } else {
|
|
20
|
+
* console.error(response.error?.message);
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export interface ApiResponse<T = any> {
|
|
25
|
+
success: boolean;
|
|
26
|
+
message?: string;
|
|
27
|
+
data?: T;
|
|
28
|
+
error?: {
|
|
29
|
+
message: string;
|
|
30
|
+
statusCode?: number;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Standard pagination information for list responses.
|
|
35
|
+
* Used by APIs that return paginated results.
|
|
36
|
+
*/
|
|
37
|
+
export interface Pagination {
|
|
38
|
+
currentPage: number;
|
|
39
|
+
totalPages: number;
|
|
40
|
+
totalCount: number;
|
|
41
|
+
limit: number;
|
|
42
|
+
hasNextPage: boolean;
|
|
43
|
+
hasPrevPage: boolean;
|
|
44
|
+
nextPage: number | null;
|
|
45
|
+
prevPage: number | null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Base interface for entities with timestamps.
|
|
49
|
+
* Most database entities include these fields.
|
|
50
|
+
*/
|
|
51
|
+
export interface TimestampedEntity {
|
|
52
|
+
createdAt: string | number;
|
|
53
|
+
updatedAt: string | number;
|
|
54
|
+
__v?: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Base interface for entities with string IDs.
|
|
58
|
+
*/
|
|
59
|
+
export interface IdentifiedEntity {
|
|
60
|
+
id: string;
|
|
61
|
+
_id?: string;
|
|
62
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Data Interfaces
|
|
3
|
+
* Custom data collections with vector search capabilities
|
|
4
|
+
*/
|
|
5
|
+
import { Pagination, TimestampedEntity, IdentifiedEntity } from './common.js';
|
|
6
|
+
/**
|
|
7
|
+
* Custom data entry.
|
|
8
|
+
* Represents a single entry in a custom data collection.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Flexible schema (data can be any JSON object)
|
|
12
|
+
* - Vector search via searchText
|
|
13
|
+
* - Automatic timestamps
|
|
14
|
+
*/
|
|
15
|
+
export interface CustomDataEntry extends IdentifiedEntity, TimestampedEntity {
|
|
16
|
+
id: string;
|
|
17
|
+
data: any;
|
|
18
|
+
createdAt: number;
|
|
19
|
+
updatedAt: number;
|
|
20
|
+
searchText?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Request to create a new custom data entry.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const request: CreateCustomDataRequest = {
|
|
28
|
+
* data: { name: 'John Doe', email: 'john@example.com' },
|
|
29
|
+
* searchText: 'John Doe john@example.com'
|
|
30
|
+
* };
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export interface CreateCustomDataRequest {
|
|
34
|
+
data: any;
|
|
35
|
+
searchText?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Response from creating custom data entry.
|
|
39
|
+
* Includes optional similarity score for search results.
|
|
40
|
+
*/
|
|
41
|
+
export interface CreateCustomDataResponse extends CustomDataEntry {
|
|
42
|
+
score?: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Response from getting custom data entries.
|
|
46
|
+
* Includes pagination information.
|
|
47
|
+
*/
|
|
48
|
+
export interface GetCustomDataResponse {
|
|
49
|
+
data: CustomDataEntry[];
|
|
50
|
+
pagination: Pagination;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Request to update a custom data entry.
|
|
54
|
+
*/
|
|
55
|
+
export interface UpdateCustomDataRequest {
|
|
56
|
+
data: any;
|
|
57
|
+
searchText?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Response from updating custom data entry.
|
|
61
|
+
*/
|
|
62
|
+
export interface UpdateCustomDataResponse {
|
|
63
|
+
status: string;
|
|
64
|
+
message: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Response from searching custom data.
|
|
68
|
+
* Includes similarity scores for each result.
|
|
69
|
+
*/
|
|
70
|
+
export interface SearchCustomDataResponse {
|
|
71
|
+
data: Array<CustomDataEntry & {
|
|
72
|
+
score: number;
|
|
73
|
+
}>;
|
|
74
|
+
count: number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Response from deleting custom data entry.
|
|
78
|
+
*/
|
|
79
|
+
export interface DeleteCustomDataResponse {
|
|
80
|
+
status: string;
|
|
81
|
+
message: string;
|
|
82
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface definitions for deploy command
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Version information from API
|
|
6
|
+
*/
|
|
7
|
+
export interface VersionInfo {
|
|
8
|
+
version: string;
|
|
9
|
+
createdDate: string;
|
|
10
|
+
createdBy: string;
|
|
11
|
+
isCurrent: boolean;
|
|
12
|
+
createdByEmail: string;
|
|
13
|
+
createdByFullName: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Response from versions API endpoint
|
|
17
|
+
*/
|
|
18
|
+
export interface VersionsResponse {
|
|
19
|
+
versions: VersionInfo[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Response from publish API endpoint
|
|
23
|
+
*/
|
|
24
|
+
export interface PublishResponse {
|
|
25
|
+
message: string;
|
|
26
|
+
skillId: string;
|
|
27
|
+
activeVersionId: string;
|
|
28
|
+
publishedAt: string;
|
|
29
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev Mode Interfaces
|
|
3
|
+
* Development mode specific structures
|
|
4
|
+
*/
|
|
5
|
+
import { ChatMessage, ChatRequest, DetailedChatResponse, SkillOverride } from './chat.js';
|
|
6
|
+
export { ChatMessage, ChatRequest, SkillOverride };
|
|
7
|
+
/**
|
|
8
|
+
* Response from dev version API endpoint.
|
|
9
|
+
* Used when pushing skills to sandbox environment.
|
|
10
|
+
*/
|
|
11
|
+
export interface DevVersionResponse {
|
|
12
|
+
success: boolean;
|
|
13
|
+
data?: {
|
|
14
|
+
message: string;
|
|
15
|
+
skillId: string;
|
|
16
|
+
version: string;
|
|
17
|
+
publishedAt: string;
|
|
18
|
+
};
|
|
19
|
+
error?: {
|
|
20
|
+
message: string;
|
|
21
|
+
error: string;
|
|
22
|
+
statusCode: number;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Response from update dev version API endpoint.
|
|
27
|
+
* Used when updating existing sandbox versions.
|
|
28
|
+
*/
|
|
29
|
+
export interface UpdateDevVersionResponse {
|
|
30
|
+
success: boolean;
|
|
31
|
+
data?: {
|
|
32
|
+
message: string;
|
|
33
|
+
skillId: string;
|
|
34
|
+
version: string;
|
|
35
|
+
updatedAt: string;
|
|
36
|
+
};
|
|
37
|
+
error?: {
|
|
38
|
+
message: string;
|
|
39
|
+
error: string;
|
|
40
|
+
statusCode: number;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Chat response type alias.
|
|
45
|
+
* Re-exported from chat.ts for backward compatibility.
|
|
46
|
+
*/
|
|
47
|
+
export type ChatResponse = DetailedChatResponse;
|
|
48
|
+
/**
|
|
49
|
+
* Map of skill names to their sandbox IDs.
|
|
50
|
+
*/
|
|
51
|
+
export interface SandboxIdsMap {
|
|
52
|
+
[skillName: string]: string;
|
|
53
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface definitions for init command
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Agent choice options
|
|
6
|
+
*/
|
|
7
|
+
export type AgentChoiceType = 'existing' | 'create';
|
|
8
|
+
/**
|
|
9
|
+
* Selected agent information
|
|
10
|
+
*/
|
|
11
|
+
export interface SelectedAgent {
|
|
12
|
+
agentId: string;
|
|
13
|
+
name: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Selected organization information
|
|
17
|
+
*/
|
|
18
|
+
export interface SelectedOrg {
|
|
19
|
+
id: string;
|
|
20
|
+
registeredName?: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
agents?: any[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Organization from API response
|
|
26
|
+
*/
|
|
27
|
+
export interface OrganizationData {
|
|
28
|
+
id: string;
|
|
29
|
+
registeredName?: string;
|
|
30
|
+
name?: string;
|
|
31
|
+
agents: any[];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Persona information for new agents
|
|
35
|
+
*/
|
|
36
|
+
export interface PersonaInfo {
|
|
37
|
+
agentName: string;
|
|
38
|
+
businessType: string;
|
|
39
|
+
brandPersonality: string;
|
|
40
|
+
brandTraits: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Business configuration options
|
|
44
|
+
*/
|
|
45
|
+
export interface BusinessConfig {
|
|
46
|
+
businessName: string;
|
|
47
|
+
agentName: string;
|
|
48
|
+
businessType: string;
|
|
49
|
+
brandPersonality: string;
|
|
50
|
+
brandTraits: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Agent creation result
|
|
54
|
+
*/
|
|
55
|
+
export interface AgentCreationResult {
|
|
56
|
+
agent: SelectedAgent;
|
|
57
|
+
org: SelectedOrg;
|
|
58
|
+
persona?: string;
|
|
59
|
+
welcomeMessage?: string;
|
|
60
|
+
}
|