Socket
Socket
Sign inDemoInstall

@axflow/models

Package Overview
Dependencies
Maintainers
2
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@axflow/models - npm Package Compare versions

Comparing version 0.0.14 to 0.0.15

10

dist/react/index.d.ts

@@ -125,2 +125,12 @@ import { MessageType, JSONValueType } from '@axflow/models/shared';

onSubmit: (e?: React.FormEvent<HTMLFormElement>) => void;
/**
* Sends a request to the server with the current list of messages for a new assistant response.
*
* Note:
*
* * If there are no user messages in the list, this function will throw an error.
* * If there are assistant messages more recent than the last user message, they will
* be removed from the list of messages before sending a request to the server.
*/
reload: () => void;
};

@@ -127,0 +137,0 @@ /**

115

dist/react/index.js

@@ -93,3 +93,3 @@ "use strict";

}
async function stableAppend(message, messagesRef, setMessages, url, headers, body, accessor, loadingRef, setLoading, setError, onError, onNewMessage) {
async function request(prepare, messagesRef, setMessages, url, headers, accessor, loadingRef, setLoading, setError, onError, onNewMessage) {
if (loadingRef.current) {

@@ -100,6 +100,3 @@ return;

setError(null);
const history = messagesRef.current;
const requestBody = typeof body === "function" ? body(message, history) : { ...body, messages: history.concat(message) };
setMessages(history.concat(message));
onNewMessage(message);
const requestBody = prepare();
let response;

@@ -122,2 +119,59 @@ try {

}
async function stableAppend(message, messagesRef, setMessages, url, headers, body, accessor, loadingRef, setLoading, setError, onError, onNewMessage) {
function prepare() {
const history = messagesRef.current;
const requestBody = typeof body === "function" ? body(message, history) : { ...body, messages: history.concat(message) };
setMessages(history.concat(message));
onNewMessage(message);
return requestBody;
}
return request(
prepare,
messagesRef,
setMessages,
url,
headers,
accessor,
loadingRef,
setLoading,
setError,
onError,
onNewMessage
);
}
async function stableReload(messagesRef, setMessages, url, headers, body, accessor, loadingRef, setLoading, setError, onError, onNewMessage) {
function prepare() {
const messages = messagesRef.current;
const history = [];
let lastUserMessage = null;
for (let i = messages.length - 1; i >= 0; i--) {
if (lastUserMessage === null && messages[i].role === "user") {
lastUserMessage = messages[i];
} else if (lastUserMessage !== null) {
history.unshift(messages[i]);
}
}
if (lastUserMessage === null) {
throw new Error("Cannot reload empty conversation");
}
const requestBody = typeof body === "function" ? body(lastUserMessage, history) : { ...body, messages: history.concat(lastUserMessage) };
if (messages[messages.length - 1].id !== lastUserMessage.id) {
setMessages(history.concat(lastUserMessage));
}
return requestBody;
}
return request(
prepare,
messagesRef,
setMessages,
url,
headers,
accessor,
loadingRef,
setLoading,
setError,
onError,
onNewMessage
);
}
var DEFAULT_URL = "/api/chat";

@@ -168,18 +222,2 @@ var DEFAULT_ACCESSOR = (value) => value;

);
function append(message) {
stableAppend(
message,
messagesRef,
setMessages,
url,
headers,
body,
accessor,
loadingRef,
setLoading,
setError,
onError,
onNewMessage
);
}
function onChange(e) {

@@ -196,3 +234,3 @@ if (typeof e === "string") {

}
append({
const newMessage = {
id: uuid(),

@@ -202,6 +240,35 @@ role: "user",

created: Date.now()
});
};
stableAppend(
newMessage,
messagesRef,
setMessages,
url,
headers,
body,
accessor,
loadingRef,
setLoading,
setError,
onError,
onNewMessage
);
setInput("");
}
return { input, setInput, messages, setMessages, loading, error, onChange, onSubmit };
function reload() {
stableReload(
messagesRef,
setMessages,
url,
headers,
body,
accessor,
loadingRef,
setLoading,
setError,
onError,
onNewMessage
);
}
return { input, setInput, messages, setMessages, loading, error, onChange, onSubmit, reload };
}

@@ -208,0 +275,0 @@ // Annotate the CommonJS export names for ESM import in node:

{
"name": "@axflow/models",
"version": "0.0.14",
"version": "0.0.15",
"description": "Zero-dependency, modular SDK for building robust natural language applications",

@@ -199,3 +199,3 @@ "author": "Axflow (https://axflow.dev)",

},
"gitHead": "4a4b2880e4d83ebed393e1cd1cc90ff1ed40a44e"
"gitHead": "e3a7d387dd29e2db277e4fad890ffc4c2be686f0"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc