@xpert-ai/chatkit-types 0.2.3 → 0.3.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/dist/constants.cjs +47 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.ts +72 -0
- package/dist/constants.js +47 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.cjs +448 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +372 -4
- package/dist/index.js +377 -42
- package/dist/index.js.map +1 -1
- package/package.json +7 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
var ChatMessageTypeEnum = /* @__PURE__ */ ((ChatMessageTypeEnum2) => {
|
|
4
|
+
ChatMessageTypeEnum2["MESSAGE"] = "message";
|
|
5
|
+
ChatMessageTypeEnum2["EVENT"] = "event";
|
|
6
|
+
return ChatMessageTypeEnum2;
|
|
7
|
+
})(ChatMessageTypeEnum || {});
|
|
8
|
+
var ChatMessageEventTypeEnum = /* @__PURE__ */ ((ChatMessageEventTypeEnum2) => {
|
|
9
|
+
ChatMessageEventTypeEnum2["ON_CONVERSATION_START"] = "on_conversation_start";
|
|
10
|
+
ChatMessageEventTypeEnum2["ON_CONVERSATION_END"] = "on_conversation_end";
|
|
11
|
+
ChatMessageEventTypeEnum2["ON_MESSAGE_START"] = "on_message_start";
|
|
12
|
+
ChatMessageEventTypeEnum2["ON_MESSAGE_END"] = "on_message_end";
|
|
13
|
+
ChatMessageEventTypeEnum2["ON_TOOL_START"] = "on_tool_start";
|
|
14
|
+
ChatMessageEventTypeEnum2["ON_TOOL_END"] = "on_tool_end";
|
|
15
|
+
ChatMessageEventTypeEnum2["ON_TOOL_ERROR"] = "on_tool_error";
|
|
16
|
+
ChatMessageEventTypeEnum2["ON_TOOL_MESSAGE"] = "on_tool_message";
|
|
17
|
+
ChatMessageEventTypeEnum2["ON_AGENT_START"] = "on_agent_start";
|
|
18
|
+
ChatMessageEventTypeEnum2["ON_AGENT_END"] = "on_agent_end";
|
|
19
|
+
ChatMessageEventTypeEnum2["ON_RETRIEVER_START"] = "on_retriever_start";
|
|
20
|
+
ChatMessageEventTypeEnum2["ON_RETRIEVER_END"] = "on_retriever_end";
|
|
21
|
+
ChatMessageEventTypeEnum2["ON_RETRIEVER_ERROR"] = "on_retriever_error";
|
|
22
|
+
ChatMessageEventTypeEnum2["ON_INTERRUPT"] = "on_interrupt";
|
|
23
|
+
ChatMessageEventTypeEnum2["ON_ERROR"] = "on_error";
|
|
24
|
+
ChatMessageEventTypeEnum2["ON_CHAT_EVENT"] = "on_chat_event";
|
|
25
|
+
ChatMessageEventTypeEnum2["ON_CLIENT_EFFECT"] = "on_client_effect";
|
|
26
|
+
return ChatMessageEventTypeEnum2;
|
|
27
|
+
})(ChatMessageEventTypeEnum || {});
|
|
28
|
+
var ChatMessageStepCategory = /* @__PURE__ */ ((ChatMessageStepCategory2) => {
|
|
29
|
+
ChatMessageStepCategory2["List"] = "list";
|
|
30
|
+
ChatMessageStepCategory2["WebSearch"] = "web_search";
|
|
31
|
+
ChatMessageStepCategory2["Files"] = "files";
|
|
32
|
+
ChatMessageStepCategory2["File"] = "file";
|
|
33
|
+
ChatMessageStepCategory2["Program"] = "program";
|
|
34
|
+
ChatMessageStepCategory2["Iframe"] = "iframe";
|
|
35
|
+
ChatMessageStepCategory2["Memory"] = "memory";
|
|
36
|
+
ChatMessageStepCategory2["Tasks"] = "tasks";
|
|
37
|
+
ChatMessageStepCategory2["Knowledges"] = "knowledges";
|
|
38
|
+
return ChatMessageStepCategory2;
|
|
39
|
+
})(ChatMessageStepCategory || {});
|
|
40
|
+
const STATE_VARIABLE_HUMAN = "human";
|
|
41
|
+
const CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED = "follow_up_consumed";
|
|
42
|
+
exports.CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED = CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED;
|
|
43
|
+
exports.ChatMessageEventTypeEnum = ChatMessageEventTypeEnum;
|
|
44
|
+
exports.ChatMessageStepCategory = ChatMessageStepCategory;
|
|
45
|
+
exports.ChatMessageTypeEnum = ChatMessageTypeEnum;
|
|
46
|
+
exports.STATE_VARIABLE_HUMAN = STATE_VARIABLE_HUMAN;
|
|
47
|
+
//# sourceMappingURL=constants.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","sources":["../src/constants.ts"],"sourcesContent":["export enum ChatMessageTypeEnum {\n // LOG = 'log',\n MESSAGE = 'message',\n EVENT = 'event',\n}\n\n/**\n * https://js.langchain.com/docs/how_to/streaming/#event-reference\n */\nexport enum ChatMessageEventTypeEnum {\n ON_CONVERSATION_START = 'on_conversation_start',\n ON_CONVERSATION_END = 'on_conversation_end',\n ON_MESSAGE_START = 'on_message_start',\n ON_MESSAGE_END = 'on_message_end',\n ON_TOOL_START = 'on_tool_start',\n ON_TOOL_END = 'on_tool_end',\n ON_TOOL_ERROR = 'on_tool_error',\n /**\n * Step message in tool call\n */\n ON_TOOL_MESSAGE = 'on_tool_message',\n ON_AGENT_START = 'on_agent_start',\n ON_AGENT_END = 'on_agent_end',\n ON_RETRIEVER_START = 'on_retriever_start',\n ON_RETRIEVER_END = 'on_retriever_end',\n ON_RETRIEVER_ERROR = 'on_retriever_error',\n ON_INTERRUPT = 'on_interrupt',\n ON_ERROR = 'on_error',\n ON_CHAT_EVENT = 'on_chat_event',\n\n ON_CLIENT_EFFECT = 'on_client_effect',\n}\n\n/**\n * Category of step message: determines the display components of computer use\n */\nexport enum ChatMessageStepCategory {\n /**\n * List of items: urls, files, etc.\n */\n List = 'list',\n /**\n * Websearch results\n */\n WebSearch = 'web_search',\n /**\n * Files list\n */\n Files = 'files',\n /**\n * View a file\n */\n File = 'file',\n /**\n * Program Execution\n */\n Program = 'program',\n /**\n * Iframe\n */\n Iframe = 'iframe',\n\n Memory = 'memory',\n\n Tasks = 'tasks',\n\n /**\n * Knowledges (knowledge base retriever results)\n */\n Knowledges = 'knowledges',\n}\n\nexport const STATE_VARIABLE_HUMAN = 'human';\n\nexport const CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED =\n 'follow_up_consumed' as const;\n"],"names":["ChatMessageTypeEnum","ChatMessageEventTypeEnum","ChatMessageStepCategory"],"mappings":";;AAAO,IAAK,wCAAAA,yBAAL;AAELA,uBAAA,SAAA,IAAU;AACVA,uBAAA,OAAA,IAAQ;AAHE,SAAAA;AAAA,GAAA,uBAAA,CAAA,CAAA;AASL,IAAK,6CAAAC,8BAAL;AACLA,4BAAA,uBAAA,IAAwB;AACxBA,4BAAA,qBAAA,IAAsB;AACtBA,4BAAA,kBAAA,IAAmB;AACnBA,4BAAA,gBAAA,IAAiB;AACjBA,4BAAA,eAAA,IAAgB;AAChBA,4BAAA,aAAA,IAAc;AACdA,4BAAA,eAAA,IAAgB;AAIhBA,4BAAA,iBAAA,IAAkB;AAClBA,4BAAA,gBAAA,IAAiB;AACjBA,4BAAA,cAAA,IAAe;AACfA,4BAAA,oBAAA,IAAqB;AACrBA,4BAAA,kBAAA,IAAmB;AACnBA,4BAAA,oBAAA,IAAqB;AACrBA,4BAAA,cAAA,IAAe;AACfA,4BAAA,UAAA,IAAW;AACXA,4BAAA,eAAA,IAAgB;AAEhBA,4BAAA,kBAAA,IAAmB;AArBT,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;AA2BL,IAAK,4CAAAC,6BAAL;AAILA,2BAAA,MAAA,IAAO;AAIPA,2BAAA,WAAA,IAAY;AAIZA,2BAAA,OAAA,IAAQ;AAIRA,2BAAA,MAAA,IAAO;AAIPA,2BAAA,SAAA,IAAU;AAIVA,2BAAA,QAAA,IAAS;AAETA,2BAAA,QAAA,IAAS;AAETA,2BAAA,OAAA,IAAQ;AAKRA,2BAAA,YAAA,IAAa;AAjCH,SAAAA;AAAA,GAAA,2BAAA,CAAA,CAAA;AAoCL,MAAM,uBAAuB;AAE7B,MAAM,qCACX;;;;;;"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
export declare const CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED: "follow_up_consumed";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* https://js.langchain.com/docs/how_to/streaming/#event-reference
|
|
5
|
+
*/
|
|
6
|
+
export declare enum ChatMessageEventTypeEnum {
|
|
7
|
+
ON_CONVERSATION_START = "on_conversation_start",
|
|
8
|
+
ON_CONVERSATION_END = "on_conversation_end",
|
|
9
|
+
ON_MESSAGE_START = "on_message_start",
|
|
10
|
+
ON_MESSAGE_END = "on_message_end",
|
|
11
|
+
ON_TOOL_START = "on_tool_start",
|
|
12
|
+
ON_TOOL_END = "on_tool_end",
|
|
13
|
+
ON_TOOL_ERROR = "on_tool_error",
|
|
14
|
+
/**
|
|
15
|
+
* Step message in tool call
|
|
16
|
+
*/
|
|
17
|
+
ON_TOOL_MESSAGE = "on_tool_message",
|
|
18
|
+
ON_AGENT_START = "on_agent_start",
|
|
19
|
+
ON_AGENT_END = "on_agent_end",
|
|
20
|
+
ON_RETRIEVER_START = "on_retriever_start",
|
|
21
|
+
ON_RETRIEVER_END = "on_retriever_end",
|
|
22
|
+
ON_RETRIEVER_ERROR = "on_retriever_error",
|
|
23
|
+
ON_INTERRUPT = "on_interrupt",
|
|
24
|
+
ON_ERROR = "on_error",
|
|
25
|
+
ON_CHAT_EVENT = "on_chat_event",
|
|
26
|
+
ON_CLIENT_EFFECT = "on_client_effect"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Category of step message: determines the display components of computer use
|
|
31
|
+
*/
|
|
32
|
+
export declare enum ChatMessageStepCategory {
|
|
33
|
+
/**
|
|
34
|
+
* List of items: urls, files, etc.
|
|
35
|
+
*/
|
|
36
|
+
List = "list",
|
|
37
|
+
/**
|
|
38
|
+
* Websearch results
|
|
39
|
+
*/
|
|
40
|
+
WebSearch = "web_search",
|
|
41
|
+
/**
|
|
42
|
+
* Files list
|
|
43
|
+
*/
|
|
44
|
+
Files = "files",
|
|
45
|
+
/**
|
|
46
|
+
* View a file
|
|
47
|
+
*/
|
|
48
|
+
File = "file",
|
|
49
|
+
/**
|
|
50
|
+
* Program Execution
|
|
51
|
+
*/
|
|
52
|
+
Program = "program",
|
|
53
|
+
/**
|
|
54
|
+
* Iframe
|
|
55
|
+
*/
|
|
56
|
+
Iframe = "iframe",
|
|
57
|
+
Memory = "memory",
|
|
58
|
+
Tasks = "tasks",
|
|
59
|
+
/**
|
|
60
|
+
* Knowledges (knowledge base retriever results)
|
|
61
|
+
*/
|
|
62
|
+
Knowledges = "knowledges"
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export declare enum ChatMessageTypeEnum {
|
|
66
|
+
MESSAGE = "message",
|
|
67
|
+
EVENT = "event"
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export declare const STATE_VARIABLE_HUMAN = "human";
|
|
71
|
+
|
|
72
|
+
export { }
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var ChatMessageTypeEnum = /* @__PURE__ */ ((ChatMessageTypeEnum2) => {
|
|
2
|
+
ChatMessageTypeEnum2["MESSAGE"] = "message";
|
|
3
|
+
ChatMessageTypeEnum2["EVENT"] = "event";
|
|
4
|
+
return ChatMessageTypeEnum2;
|
|
5
|
+
})(ChatMessageTypeEnum || {});
|
|
6
|
+
var ChatMessageEventTypeEnum = /* @__PURE__ */ ((ChatMessageEventTypeEnum2) => {
|
|
7
|
+
ChatMessageEventTypeEnum2["ON_CONVERSATION_START"] = "on_conversation_start";
|
|
8
|
+
ChatMessageEventTypeEnum2["ON_CONVERSATION_END"] = "on_conversation_end";
|
|
9
|
+
ChatMessageEventTypeEnum2["ON_MESSAGE_START"] = "on_message_start";
|
|
10
|
+
ChatMessageEventTypeEnum2["ON_MESSAGE_END"] = "on_message_end";
|
|
11
|
+
ChatMessageEventTypeEnum2["ON_TOOL_START"] = "on_tool_start";
|
|
12
|
+
ChatMessageEventTypeEnum2["ON_TOOL_END"] = "on_tool_end";
|
|
13
|
+
ChatMessageEventTypeEnum2["ON_TOOL_ERROR"] = "on_tool_error";
|
|
14
|
+
ChatMessageEventTypeEnum2["ON_TOOL_MESSAGE"] = "on_tool_message";
|
|
15
|
+
ChatMessageEventTypeEnum2["ON_AGENT_START"] = "on_agent_start";
|
|
16
|
+
ChatMessageEventTypeEnum2["ON_AGENT_END"] = "on_agent_end";
|
|
17
|
+
ChatMessageEventTypeEnum2["ON_RETRIEVER_START"] = "on_retriever_start";
|
|
18
|
+
ChatMessageEventTypeEnum2["ON_RETRIEVER_END"] = "on_retriever_end";
|
|
19
|
+
ChatMessageEventTypeEnum2["ON_RETRIEVER_ERROR"] = "on_retriever_error";
|
|
20
|
+
ChatMessageEventTypeEnum2["ON_INTERRUPT"] = "on_interrupt";
|
|
21
|
+
ChatMessageEventTypeEnum2["ON_ERROR"] = "on_error";
|
|
22
|
+
ChatMessageEventTypeEnum2["ON_CHAT_EVENT"] = "on_chat_event";
|
|
23
|
+
ChatMessageEventTypeEnum2["ON_CLIENT_EFFECT"] = "on_client_effect";
|
|
24
|
+
return ChatMessageEventTypeEnum2;
|
|
25
|
+
})(ChatMessageEventTypeEnum || {});
|
|
26
|
+
var ChatMessageStepCategory = /* @__PURE__ */ ((ChatMessageStepCategory2) => {
|
|
27
|
+
ChatMessageStepCategory2["List"] = "list";
|
|
28
|
+
ChatMessageStepCategory2["WebSearch"] = "web_search";
|
|
29
|
+
ChatMessageStepCategory2["Files"] = "files";
|
|
30
|
+
ChatMessageStepCategory2["File"] = "file";
|
|
31
|
+
ChatMessageStepCategory2["Program"] = "program";
|
|
32
|
+
ChatMessageStepCategory2["Iframe"] = "iframe";
|
|
33
|
+
ChatMessageStepCategory2["Memory"] = "memory";
|
|
34
|
+
ChatMessageStepCategory2["Tasks"] = "tasks";
|
|
35
|
+
ChatMessageStepCategory2["Knowledges"] = "knowledges";
|
|
36
|
+
return ChatMessageStepCategory2;
|
|
37
|
+
})(ChatMessageStepCategory || {});
|
|
38
|
+
const STATE_VARIABLE_HUMAN = "human";
|
|
39
|
+
const CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED = "follow_up_consumed";
|
|
40
|
+
export {
|
|
41
|
+
CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED,
|
|
42
|
+
ChatMessageEventTypeEnum,
|
|
43
|
+
ChatMessageStepCategory,
|
|
44
|
+
ChatMessageTypeEnum,
|
|
45
|
+
STATE_VARIABLE_HUMAN
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export enum ChatMessageTypeEnum {\n // LOG = 'log',\n MESSAGE = 'message',\n EVENT = 'event',\n}\n\n/**\n * https://js.langchain.com/docs/how_to/streaming/#event-reference\n */\nexport enum ChatMessageEventTypeEnum {\n ON_CONVERSATION_START = 'on_conversation_start',\n ON_CONVERSATION_END = 'on_conversation_end',\n ON_MESSAGE_START = 'on_message_start',\n ON_MESSAGE_END = 'on_message_end',\n ON_TOOL_START = 'on_tool_start',\n ON_TOOL_END = 'on_tool_end',\n ON_TOOL_ERROR = 'on_tool_error',\n /**\n * Step message in tool call\n */\n ON_TOOL_MESSAGE = 'on_tool_message',\n ON_AGENT_START = 'on_agent_start',\n ON_AGENT_END = 'on_agent_end',\n ON_RETRIEVER_START = 'on_retriever_start',\n ON_RETRIEVER_END = 'on_retriever_end',\n ON_RETRIEVER_ERROR = 'on_retriever_error',\n ON_INTERRUPT = 'on_interrupt',\n ON_ERROR = 'on_error',\n ON_CHAT_EVENT = 'on_chat_event',\n\n ON_CLIENT_EFFECT = 'on_client_effect',\n}\n\n/**\n * Category of step message: determines the display components of computer use\n */\nexport enum ChatMessageStepCategory {\n /**\n * List of items: urls, files, etc.\n */\n List = 'list',\n /**\n * Websearch results\n */\n WebSearch = 'web_search',\n /**\n * Files list\n */\n Files = 'files',\n /**\n * View a file\n */\n File = 'file',\n /**\n * Program Execution\n */\n Program = 'program',\n /**\n * Iframe\n */\n Iframe = 'iframe',\n\n Memory = 'memory',\n\n Tasks = 'tasks',\n\n /**\n * Knowledges (knowledge base retriever results)\n */\n Knowledges = 'knowledges',\n}\n\nexport const STATE_VARIABLE_HUMAN = 'human';\n\nexport const CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED =\n 'follow_up_consumed' as const;\n"],"names":["ChatMessageTypeEnum","ChatMessageEventTypeEnum","ChatMessageStepCategory"],"mappings":"AAAO,IAAK,wCAAAA,yBAAL;AAELA,uBAAA,SAAA,IAAU;AACVA,uBAAA,OAAA,IAAQ;AAHE,SAAAA;AAAA,GAAA,uBAAA,CAAA,CAAA;AASL,IAAK,6CAAAC,8BAAL;AACLA,4BAAA,uBAAA,IAAwB;AACxBA,4BAAA,qBAAA,IAAsB;AACtBA,4BAAA,kBAAA,IAAmB;AACnBA,4BAAA,gBAAA,IAAiB;AACjBA,4BAAA,eAAA,IAAgB;AAChBA,4BAAA,aAAA,IAAc;AACdA,4BAAA,eAAA,IAAgB;AAIhBA,4BAAA,iBAAA,IAAkB;AAClBA,4BAAA,gBAAA,IAAiB;AACjBA,4BAAA,cAAA,IAAe;AACfA,4BAAA,oBAAA,IAAqB;AACrBA,4BAAA,kBAAA,IAAmB;AACnBA,4BAAA,oBAAA,IAAqB;AACrBA,4BAAA,cAAA,IAAe;AACfA,4BAAA,UAAA,IAAW;AACXA,4BAAA,eAAA,IAAgB;AAEhBA,4BAAA,kBAAA,IAAmB;AArBT,SAAAA;AAAA,GAAA,4BAAA,CAAA,CAAA;AA2BL,IAAK,4CAAAC,6BAAL;AAILA,2BAAA,MAAA,IAAO;AAIPA,2BAAA,WAAA,IAAY;AAIZA,2BAAA,OAAA,IAAQ;AAIRA,2BAAA,MAAA,IAAO;AAIPA,2BAAA,SAAA,IAAU;AAIVA,2BAAA,QAAA,IAAS;AAETA,2BAAA,QAAA,IAAS;AAETA,2BAAA,OAAA,IAAQ;AAKRA,2BAAA,YAAA,IAAa;AAjCH,SAAAA;AAAA,GAAA,2BAAA,CAAA,CAAA;AAoCL,MAAM,uBAAuB;AAE7B,MAAM,qCACX;"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const constants = require("./constants.cjs");
|
|
4
|
+
require("@langchain/core/messages/tool");
|
|
5
|
+
const REQUEST_USER_INPUT_TOOL_NAME = "request_user_input";
|
|
6
|
+
const REQUEST_USER_INPUT_RESULT_TYPE = "request_user_input_result";
|
|
7
|
+
const REQUEST_USER_INPUT_RESULT_PURPOSE_PLAN_CLARIFICATION = "plan_clarification";
|
|
8
|
+
const REQUEST_USER_INPUT_RESULT_PURPOSE_IMPLEMENTATION_CONFIRMATION = "implementation_confirmation";
|
|
9
|
+
const HITL_DECISION_TYPES = [
|
|
10
|
+
"approve",
|
|
11
|
+
"edit",
|
|
12
|
+
"reject",
|
|
13
|
+
"respond"
|
|
14
|
+
];
|
|
15
|
+
function isRecord(value) {
|
|
16
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
17
|
+
}
|
|
18
|
+
function readRecordField(value, ...keys) {
|
|
19
|
+
for (const key of keys) {
|
|
20
|
+
const field = value[key];
|
|
21
|
+
if (isRecord(field)) return field;
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
function readArrayField(value, ...keys) {
|
|
26
|
+
for (const key of keys) {
|
|
27
|
+
const field = value[key];
|
|
28
|
+
if (Array.isArray(field)) return field;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function readStringField(value, ...keys) {
|
|
33
|
+
for (const key of keys) {
|
|
34
|
+
const field = value[key];
|
|
35
|
+
if (typeof field === "string" && field.trim()) return field;
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
function isHITLDecisionType(value) {
|
|
40
|
+
return typeof value === "string" && HITL_DECISION_TYPES.includes(value);
|
|
41
|
+
}
|
|
42
|
+
function normalizeHITLActionRequest(value) {
|
|
43
|
+
if (!isRecord(value)) return null;
|
|
44
|
+
const name = readStringField(value, "name");
|
|
45
|
+
const args = readRecordField(value, "args", "arguments");
|
|
46
|
+
if (!name || !args) return null;
|
|
47
|
+
const description = typeof value.description === "string" ? value.description : void 0;
|
|
48
|
+
return {
|
|
49
|
+
name,
|
|
50
|
+
args,
|
|
51
|
+
...description !== void 0 ? { description } : {}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function normalizeHITLReviewConfig(value) {
|
|
55
|
+
if (!isRecord(value)) return null;
|
|
56
|
+
const actionName = readStringField(value, "actionName", "action_name");
|
|
57
|
+
const allowedDecisions = readArrayField(
|
|
58
|
+
value,
|
|
59
|
+
"allowedDecisions",
|
|
60
|
+
"allowed_decisions"
|
|
61
|
+
);
|
|
62
|
+
if (!actionName || !allowedDecisions) return null;
|
|
63
|
+
const normalizedDecisions = allowedDecisions.filter(isHITLDecisionType);
|
|
64
|
+
if (normalizedDecisions.length !== allowedDecisions.length) return null;
|
|
65
|
+
const argsSchema = readRecordField(value, "argsSchema", "args_schema");
|
|
66
|
+
return {
|
|
67
|
+
actionName,
|
|
68
|
+
allowedDecisions: normalizedDecisions,
|
|
69
|
+
...argsSchema ? { argsSchema } : {}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function normalizeHITLRequest(value) {
|
|
73
|
+
if (!isRecord(value)) return null;
|
|
74
|
+
const actionRequests = readArrayField(
|
|
75
|
+
value,
|
|
76
|
+
"actionRequests",
|
|
77
|
+
"action_requests"
|
|
78
|
+
);
|
|
79
|
+
const reviewConfigs = readArrayField(
|
|
80
|
+
value,
|
|
81
|
+
"reviewConfigs",
|
|
82
|
+
"review_configs"
|
|
83
|
+
);
|
|
84
|
+
if (!actionRequests || !reviewConfigs || actionRequests.length === 0 || reviewConfigs.length === 0) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
const normalizedActionRequests = actionRequests.map(
|
|
88
|
+
normalizeHITLActionRequest
|
|
89
|
+
);
|
|
90
|
+
const normalizedReviewConfigs = reviewConfigs.map(
|
|
91
|
+
normalizeHITLReviewConfig
|
|
92
|
+
);
|
|
93
|
+
if (normalizedActionRequests.some((request) => request === null) || normalizedReviewConfigs.some((config) => config === null)) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
actionRequests: normalizedActionRequests,
|
|
98
|
+
reviewConfigs: normalizedReviewConfigs
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function isClientToolRequest(value) {
|
|
102
|
+
return isRecord(value) && Array.isArray(value.clientToolCalls);
|
|
103
|
+
}
|
|
104
|
+
function isToolCallRequest(value) {
|
|
105
|
+
return isRecord(value) && Array.isArray(value.toolCalls);
|
|
106
|
+
}
|
|
107
|
+
function isHITLRequest(value) {
|
|
108
|
+
if (!isRecord(value)) return false;
|
|
109
|
+
if (!Array.isArray(value.actionRequests) || !Array.isArray(value.reviewConfigs)) {
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
return normalizeHITLRequest(value) !== null;
|
|
113
|
+
}
|
|
114
|
+
function isInterruptRequest(value) {
|
|
115
|
+
return isToolCallRequest(value) || isClientToolRequest(value) || isHITLRequest(value);
|
|
116
|
+
}
|
|
117
|
+
function isLangGraphInterrupt(value) {
|
|
118
|
+
return isRecord(value) && typeof value.id === "string" && Object.prototype.hasOwnProperty.call(value, "value");
|
|
119
|
+
}
|
|
120
|
+
function isLangGraphInterruptTask(value) {
|
|
121
|
+
if (!isRecord(value) || typeof value.id !== "string" || typeof value.name !== "string" || !Array.isArray(value.path) || !Array.isArray(value.interrupts)) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
return value.path.every(
|
|
125
|
+
(item) => typeof item === "string" || typeof item === "number"
|
|
126
|
+
) && value.interrupts.every(isLangGraphInterrupt);
|
|
127
|
+
}
|
|
128
|
+
function isLangGraphInterruptPayload(value) {
|
|
129
|
+
return isRecord(value) && Array.isArray(value.tasks) && value.tasks.every(isLangGraphInterruptTask);
|
|
130
|
+
}
|
|
131
|
+
function isClientToolInterrupt(value) {
|
|
132
|
+
return isLangGraphInterrupt(value) && isClientToolRequest(value.value);
|
|
133
|
+
}
|
|
134
|
+
function isClientToolInterruptTask(value) {
|
|
135
|
+
return isLangGraphInterruptTask(value) && value.interrupts.every(isClientToolInterrupt);
|
|
136
|
+
}
|
|
137
|
+
function isClientToolInterruptPayload(value) {
|
|
138
|
+
return isLangGraphInterruptPayload(value) && value.tasks.every(isClientToolInterruptTask);
|
|
139
|
+
}
|
|
140
|
+
function isToolCallInterrupt(value) {
|
|
141
|
+
return isLangGraphInterrupt(value) && isToolCallRequest(value.value);
|
|
142
|
+
}
|
|
143
|
+
function isToolCallInterruptTask(value) {
|
|
144
|
+
return isLangGraphInterruptTask(value) && value.interrupts.every(isToolCallInterrupt);
|
|
145
|
+
}
|
|
146
|
+
function isToolCallInterruptPayload(value) {
|
|
147
|
+
return isLangGraphInterruptPayload(value) && value.tasks.every(isToolCallInterruptTask);
|
|
148
|
+
}
|
|
149
|
+
function isHITLInterrupt(value) {
|
|
150
|
+
return isLangGraphInterrupt(value) && isHITLRequest(value.value);
|
|
151
|
+
}
|
|
152
|
+
function isHITLInterruptTask(value) {
|
|
153
|
+
return isLangGraphInterruptTask(value) && value.interrupts.every(isHITLInterrupt);
|
|
154
|
+
}
|
|
155
|
+
function isHITLInterruptPayload(value) {
|
|
156
|
+
return isLangGraphInterruptPayload(value) && value.tasks.every(isHITLInterruptTask);
|
|
157
|
+
}
|
|
158
|
+
const PET_ANIMATION_NAMES = [
|
|
159
|
+
"idle",
|
|
160
|
+
"running-right",
|
|
161
|
+
"running-left",
|
|
162
|
+
"waving",
|
|
163
|
+
"jumping",
|
|
164
|
+
"failed",
|
|
165
|
+
"waiting",
|
|
166
|
+
"running",
|
|
167
|
+
"review"
|
|
168
|
+
];
|
|
169
|
+
const petSpriteAtlas = {
|
|
170
|
+
columns: 8,
|
|
171
|
+
rows: 9,
|
|
172
|
+
cellWidth: 192,
|
|
173
|
+
cellHeight: 208,
|
|
174
|
+
animations: {
|
|
175
|
+
idle: {
|
|
176
|
+
row: 0,
|
|
177
|
+
frames: 6,
|
|
178
|
+
frameDurations: [280, 110, 110, 140, 140, 320]
|
|
179
|
+
},
|
|
180
|
+
"running-right": {
|
|
181
|
+
row: 1,
|
|
182
|
+
frames: 8,
|
|
183
|
+
frameDurations: [120, 120, 120, 120, 120, 120, 120, 220]
|
|
184
|
+
},
|
|
185
|
+
"running-left": {
|
|
186
|
+
row: 2,
|
|
187
|
+
frames: 8,
|
|
188
|
+
frameDurations: [120, 120, 120, 120, 120, 120, 120, 220]
|
|
189
|
+
},
|
|
190
|
+
waving: {
|
|
191
|
+
row: 3,
|
|
192
|
+
frames: 4,
|
|
193
|
+
frameDurations: [140, 140, 140, 280]
|
|
194
|
+
},
|
|
195
|
+
jumping: {
|
|
196
|
+
row: 4,
|
|
197
|
+
frames: 5,
|
|
198
|
+
frameDurations: [140, 140, 140, 140, 280]
|
|
199
|
+
},
|
|
200
|
+
failed: {
|
|
201
|
+
row: 5,
|
|
202
|
+
frames: 8,
|
|
203
|
+
frameDurations: [140, 140, 140, 140, 140, 140, 140, 240]
|
|
204
|
+
},
|
|
205
|
+
waiting: {
|
|
206
|
+
row: 6,
|
|
207
|
+
frames: 6,
|
|
208
|
+
frameDurations: [150, 150, 150, 150, 150, 260]
|
|
209
|
+
},
|
|
210
|
+
running: {
|
|
211
|
+
row: 7,
|
|
212
|
+
frames: 6,
|
|
213
|
+
frameDurations: [120, 120, 120, 120, 120, 220]
|
|
214
|
+
},
|
|
215
|
+
review: {
|
|
216
|
+
row: 8,
|
|
217
|
+
frames: 6,
|
|
218
|
+
frameDurations: [150, 150, 150, 150, 150, 280]
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
const DEFAULT_PET_SIZE = {
|
|
223
|
+
width: petSpriteAtlas.cellWidth,
|
|
224
|
+
height: petSpriteAtlas.cellHeight
|
|
225
|
+
};
|
|
226
|
+
const DEFAULT_PET_BOUNDS_PADDING = {
|
|
227
|
+
top: 0,
|
|
228
|
+
right: 0,
|
|
229
|
+
bottom: 0,
|
|
230
|
+
left: 0
|
|
231
|
+
};
|
|
232
|
+
const DEFAULT_PET_STORAGE_KEY = "chatkit:pet:position:v1";
|
|
233
|
+
const DEFAULT_PET_SPRITESHEET_URL = "/pets/boba/spritesheet.webp";
|
|
234
|
+
const DEFAULT_PET_CHARACTER = {
|
|
235
|
+
type: "sprite-atlas",
|
|
236
|
+
src: DEFAULT_PET_SPRITESHEET_URL
|
|
237
|
+
};
|
|
238
|
+
const DEFAULT_POSITION = {
|
|
239
|
+
pin: "bottom-right",
|
|
240
|
+
draggable: true,
|
|
241
|
+
scale: 0.25,
|
|
242
|
+
persist: true,
|
|
243
|
+
zIndex: 40
|
|
244
|
+
};
|
|
245
|
+
function mergeFrameAnimation(base, override) {
|
|
246
|
+
return {
|
|
247
|
+
row: (override == null ? void 0 : override.row) ?? base.row,
|
|
248
|
+
frames: (override == null ? void 0 : override.frames) ?? base.frames,
|
|
249
|
+
frameDurations: (override == null ? void 0 : override.frameDurations) && override.frameDurations.length > 0 ? override.frameDurations : base.frameDurations
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
function mergePetSpriteAtlas(override) {
|
|
253
|
+
var _a;
|
|
254
|
+
const animations = {};
|
|
255
|
+
for (const name of PET_ANIMATION_NAMES) {
|
|
256
|
+
animations[name] = mergeFrameAnimation(
|
|
257
|
+
petSpriteAtlas.animations[name],
|
|
258
|
+
(_a = override == null ? void 0 : override.animations) == null ? void 0 : _a[name]
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
return {
|
|
262
|
+
columns: (override == null ? void 0 : override.columns) ?? petSpriteAtlas.columns,
|
|
263
|
+
rows: (override == null ? void 0 : override.rows) ?? petSpriteAtlas.rows,
|
|
264
|
+
cellWidth: (override == null ? void 0 : override.cellWidth) ?? petSpriteAtlas.cellWidth,
|
|
265
|
+
cellHeight: (override == null ? void 0 : override.cellHeight) ?? petSpriteAtlas.cellHeight,
|
|
266
|
+
animations
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
function normalizeCharacter(character) {
|
|
270
|
+
if (!character) {
|
|
271
|
+
return DEFAULT_PET_CHARACTER;
|
|
272
|
+
}
|
|
273
|
+
if (character.src) {
|
|
274
|
+
return character;
|
|
275
|
+
}
|
|
276
|
+
return DEFAULT_PET_CHARACTER;
|
|
277
|
+
}
|
|
278
|
+
function normalizePetOptions(pet) {
|
|
279
|
+
if (!pet) {
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
if (pet === true) {
|
|
283
|
+
return {
|
|
284
|
+
character: DEFAULT_PET_CHARACTER,
|
|
285
|
+
position: DEFAULT_POSITION,
|
|
286
|
+
behavior: "auto",
|
|
287
|
+
ariaLabel: "Animated pet",
|
|
288
|
+
imageRendering: "auto"
|
|
289
|
+
};
|
|
290
|
+
}
|
|
291
|
+
if (pet.enabled === false) {
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
return {
|
|
295
|
+
character: normalizeCharacter(pet.character),
|
|
296
|
+
position: {
|
|
297
|
+
...DEFAULT_POSITION,
|
|
298
|
+
...pet.position
|
|
299
|
+
},
|
|
300
|
+
behavior: pet.behavior ?? "auto",
|
|
301
|
+
ariaLabel: pet.ariaLabel ?? "Animated pet",
|
|
302
|
+
imageRendering: pet.imageRendering ?? "auto"
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
function resolvePetCharacter(character) {
|
|
306
|
+
if (!character.src) {
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
return {
|
|
310
|
+
kind: "atlas",
|
|
311
|
+
src: character.src,
|
|
312
|
+
atlas: mergePetSpriteAtlas(character.atlas)
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
function normalizeBoundsPadding(value) {
|
|
316
|
+
if (typeof value === "number") {
|
|
317
|
+
return {
|
|
318
|
+
top: value,
|
|
319
|
+
right: value,
|
|
320
|
+
bottom: value,
|
|
321
|
+
left: value
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
return {
|
|
325
|
+
top: (value == null ? void 0 : value.top) ?? DEFAULT_PET_BOUNDS_PADDING.top,
|
|
326
|
+
right: (value == null ? void 0 : value.right) ?? DEFAULT_PET_BOUNDS_PADDING.right,
|
|
327
|
+
bottom: (value == null ? void 0 : value.bottom) ?? DEFAULT_PET_BOUNDS_PADDING.bottom,
|
|
328
|
+
left: (value == null ? void 0 : value.left) ?? DEFAULT_PET_BOUNDS_PADDING.left
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
function clampPetPosition(position, size, viewport, padding) {
|
|
332
|
+
const minX = padding.left;
|
|
333
|
+
const minY = padding.top;
|
|
334
|
+
const maxX = Math.max(minX, viewport.width - size.width - padding.right);
|
|
335
|
+
const maxY = Math.max(minY, viewport.height - size.height - padding.bottom);
|
|
336
|
+
return {
|
|
337
|
+
x: Math.min(maxX, Math.max(minX, position.x)),
|
|
338
|
+
y: Math.min(maxY, Math.max(minY, position.y))
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
function getPinnedPetPosition(pin, size, viewport, padding) {
|
|
342
|
+
const horizontalCenter = (viewport.width - size.width) / 2;
|
|
343
|
+
const verticalCenter = (viewport.height - size.height) / 2;
|
|
344
|
+
const right = viewport.width - size.width - padding.right;
|
|
345
|
+
const bottom = viewport.height - size.height - padding.bottom;
|
|
346
|
+
switch (pin) {
|
|
347
|
+
case "top-left":
|
|
348
|
+
return clampPetPosition(
|
|
349
|
+
{ x: padding.left, y: padding.top },
|
|
350
|
+
size,
|
|
351
|
+
viewport,
|
|
352
|
+
padding
|
|
353
|
+
);
|
|
354
|
+
case "top":
|
|
355
|
+
return clampPetPosition(
|
|
356
|
+
{ x: horizontalCenter, y: padding.top },
|
|
357
|
+
size,
|
|
358
|
+
viewport,
|
|
359
|
+
padding
|
|
360
|
+
);
|
|
361
|
+
case "top-right":
|
|
362
|
+
return clampPetPosition(
|
|
363
|
+
{ x: right, y: padding.top },
|
|
364
|
+
size,
|
|
365
|
+
viewport,
|
|
366
|
+
padding
|
|
367
|
+
);
|
|
368
|
+
case "left":
|
|
369
|
+
return clampPetPosition(
|
|
370
|
+
{ x: padding.left, y: verticalCenter },
|
|
371
|
+
size,
|
|
372
|
+
viewport,
|
|
373
|
+
padding
|
|
374
|
+
);
|
|
375
|
+
case "center":
|
|
376
|
+
return clampPetPosition(
|
|
377
|
+
{ x: horizontalCenter, y: verticalCenter },
|
|
378
|
+
size,
|
|
379
|
+
viewport,
|
|
380
|
+
padding
|
|
381
|
+
);
|
|
382
|
+
case "right":
|
|
383
|
+
return clampPetPosition(
|
|
384
|
+
{ x: right, y: verticalCenter },
|
|
385
|
+
size,
|
|
386
|
+
viewport,
|
|
387
|
+
padding
|
|
388
|
+
);
|
|
389
|
+
case "bottom-left":
|
|
390
|
+
return clampPetPosition(
|
|
391
|
+
{ x: padding.left, y: bottom },
|
|
392
|
+
size,
|
|
393
|
+
viewport,
|
|
394
|
+
padding
|
|
395
|
+
);
|
|
396
|
+
case "bottom":
|
|
397
|
+
return clampPetPosition(
|
|
398
|
+
{ x: horizontalCenter, y: bottom },
|
|
399
|
+
size,
|
|
400
|
+
viewport,
|
|
401
|
+
padding
|
|
402
|
+
);
|
|
403
|
+
case "bottom-right":
|
|
404
|
+
default:
|
|
405
|
+
return clampPetPosition({ x: right, y: bottom }, size, viewport, padding);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
exports.CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED = constants.CHAT_EVENT_TYPE_FOLLOW_UP_CONSUMED;
|
|
409
|
+
exports.ChatMessageEventTypeEnum = constants.ChatMessageEventTypeEnum;
|
|
410
|
+
exports.ChatMessageStepCategory = constants.ChatMessageStepCategory;
|
|
411
|
+
exports.ChatMessageTypeEnum = constants.ChatMessageTypeEnum;
|
|
412
|
+
exports.STATE_VARIABLE_HUMAN = constants.STATE_VARIABLE_HUMAN;
|
|
413
|
+
exports.DEFAULT_PET_BOUNDS_PADDING = DEFAULT_PET_BOUNDS_PADDING;
|
|
414
|
+
exports.DEFAULT_PET_SIZE = DEFAULT_PET_SIZE;
|
|
415
|
+
exports.DEFAULT_PET_SPRITESHEET_URL = DEFAULT_PET_SPRITESHEET_URL;
|
|
416
|
+
exports.DEFAULT_PET_STORAGE_KEY = DEFAULT_PET_STORAGE_KEY;
|
|
417
|
+
exports.HITL_DECISION_TYPES = HITL_DECISION_TYPES;
|
|
418
|
+
exports.PET_ANIMATION_NAMES = PET_ANIMATION_NAMES;
|
|
419
|
+
exports.REQUEST_USER_INPUT_RESULT_PURPOSE_IMPLEMENTATION_CONFIRMATION = REQUEST_USER_INPUT_RESULT_PURPOSE_IMPLEMENTATION_CONFIRMATION;
|
|
420
|
+
exports.REQUEST_USER_INPUT_RESULT_PURPOSE_PLAN_CLARIFICATION = REQUEST_USER_INPUT_RESULT_PURPOSE_PLAN_CLARIFICATION;
|
|
421
|
+
exports.REQUEST_USER_INPUT_RESULT_TYPE = REQUEST_USER_INPUT_RESULT_TYPE;
|
|
422
|
+
exports.REQUEST_USER_INPUT_TOOL_NAME = REQUEST_USER_INPUT_TOOL_NAME;
|
|
423
|
+
exports.clampPetPosition = clampPetPosition;
|
|
424
|
+
exports.getPinnedPetPosition = getPinnedPetPosition;
|
|
425
|
+
exports.isClientToolInterrupt = isClientToolInterrupt;
|
|
426
|
+
exports.isClientToolInterruptPayload = isClientToolInterruptPayload;
|
|
427
|
+
exports.isClientToolInterruptTask = isClientToolInterruptTask;
|
|
428
|
+
exports.isClientToolRequest = isClientToolRequest;
|
|
429
|
+
exports.isHITLDecisionType = isHITLDecisionType;
|
|
430
|
+
exports.isHITLInterrupt = isHITLInterrupt;
|
|
431
|
+
exports.isHITLInterruptPayload = isHITLInterruptPayload;
|
|
432
|
+
exports.isHITLInterruptTask = isHITLInterruptTask;
|
|
433
|
+
exports.isHITLRequest = isHITLRequest;
|
|
434
|
+
exports.isInterruptRequest = isInterruptRequest;
|
|
435
|
+
exports.isLangGraphInterrupt = isLangGraphInterrupt;
|
|
436
|
+
exports.isLangGraphInterruptPayload = isLangGraphInterruptPayload;
|
|
437
|
+
exports.isLangGraphInterruptTask = isLangGraphInterruptTask;
|
|
438
|
+
exports.isToolCallInterrupt = isToolCallInterrupt;
|
|
439
|
+
exports.isToolCallInterruptPayload = isToolCallInterruptPayload;
|
|
440
|
+
exports.isToolCallInterruptTask = isToolCallInterruptTask;
|
|
441
|
+
exports.isToolCallRequest = isToolCallRequest;
|
|
442
|
+
exports.mergePetSpriteAtlas = mergePetSpriteAtlas;
|
|
443
|
+
exports.normalizeBoundsPadding = normalizeBoundsPadding;
|
|
444
|
+
exports.normalizeHITLRequest = normalizeHITLRequest;
|
|
445
|
+
exports.normalizePetOptions = normalizePetOptions;
|
|
446
|
+
exports.petSpriteAtlas = petSpriteAtlas;
|
|
447
|
+
exports.resolvePetCharacter = resolvePetCharacter;
|
|
448
|
+
//# sourceMappingURL=index.cjs.map
|