@formmy.app/chat 0.0.22 → 0.2.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/core/types.d.ts +25 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/hooks/use-formmy-chat.js +1 -1
- package/dist/hooks/use-formmy-conversations.js +2 -2
- package/dist/hooks/use-formmy-voice.js +2 -2
- package/dist/index.js +2 -2
- package/dist/react.js +6 -6
- package/dist/ui/chat-bubble.js +1 -1
- package/dist/voice/voice-client.js +1 -1
- package/package.json +2 -2
package/dist/core/types.d.ts
CHANGED
|
@@ -55,11 +55,36 @@ export interface Agent {
|
|
|
55
55
|
createdAt: string;
|
|
56
56
|
updatedAt?: string;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Definition for an HTTP-backed tool attached to an agent at creation time.
|
|
60
|
+
* Mirrors the server-side CustomTool model. `authValue` is encrypted server-side
|
|
61
|
+
* before persistence; never log raw values.
|
|
62
|
+
*/
|
|
63
|
+
export interface CustomToolInput {
|
|
64
|
+
/** snake_case identifier the LLM sees, e.g. "list_services". */
|
|
65
|
+
name: string;
|
|
66
|
+
/** Human-readable label for dashboards. */
|
|
67
|
+
displayName: string;
|
|
68
|
+
/** When-to-use copy — the LLM reads this to decide whether to invoke. */
|
|
69
|
+
description: string;
|
|
70
|
+
method: "GET" | "POST";
|
|
71
|
+
url: string;
|
|
72
|
+
headers?: Record<string, string>;
|
|
73
|
+
authType?: "none" | "api_key" | "bearer";
|
|
74
|
+
/** Header name when authType="api_key" (e.g. "X-Denik-Api-Key"). */
|
|
75
|
+
authKey?: string;
|
|
76
|
+
/** Secret value — server encrypts before storing. */
|
|
77
|
+
authValue?: string;
|
|
78
|
+
/** JSON Schema describing the tool's parameters. */
|
|
79
|
+
parametersSchema?: object;
|
|
80
|
+
}
|
|
58
81
|
export interface CreateAgentInput {
|
|
59
82
|
name: string;
|
|
60
83
|
instructions?: string;
|
|
61
84
|
welcomeMessage?: string;
|
|
62
85
|
model?: string;
|
|
86
|
+
/** Optional HTTP tools registered with the agent in one call. */
|
|
87
|
+
tools?: CustomToolInput[];
|
|
63
88
|
}
|
|
64
89
|
export interface UpdateAgentInput {
|
|
65
90
|
name?: string;
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAMD,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,sBAAsB;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAM5F,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
import { useChat } from "@ai-sdk/react";
|
|
25
25
|
import { DefaultChatTransport } from "ai";
|
|
26
26
|
import { useMemo, useCallback, useState, useEffect } from "react";
|
|
27
|
-
import { useFormmy } from "../ui/provider";
|
|
27
|
+
import { useFormmy } from "../ui/provider.js";
|
|
28
28
|
// Session ID storage key prefix
|
|
29
29
|
const SESSION_KEY_PREFIX = "formmy_session_";
|
|
30
30
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useState, useEffect, useCallback, useRef, useMemo } from "react";
|
|
2
|
-
import { useFormmy } from "../ui/provider";
|
|
3
|
-
import { Formmy } from "../core/client";
|
|
2
|
+
import { useFormmy } from "../ui/provider.js";
|
|
3
|
+
import { Formmy } from "../core/client.js";
|
|
4
4
|
export function useFormmyConversations(agentId) {
|
|
5
5
|
const config = useFormmy();
|
|
6
6
|
const client = useMemo(() => {
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
* ```
|
|
29
29
|
*/
|
|
30
30
|
import { useState, useRef, useCallback, useEffect } from "react";
|
|
31
|
-
import { useFormmy } from "../ui/provider";
|
|
32
|
-
import { FormmyVoiceClient } from "../voice/voice-client";
|
|
31
|
+
import { useFormmy } from "../ui/provider.js";
|
|
32
|
+
import { FormmyVoiceClient } from "../voice/voice-client.js";
|
|
33
33
|
export function useFormmyVoice({ agentId, voiceId, sensitivity, systemPrompt, tools, onToolUse, onStatusChange: onStatusChangeCb, onError: onErrorCb, onTranscript: onTranscriptCb, wsUrl, audioDestination, onMicAudio, onServerEvent }) {
|
|
34
34
|
const { publishableKey, baseUrl } = useFormmy();
|
|
35
35
|
const clientRef = useRef(null);
|
package/dist/index.js
CHANGED
package/dist/react.js
CHANGED
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
19
19
|
// Provider & Context
|
|
20
20
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
21
|
-
export { FormmyProvider, useFormmy, useFormmyOptional } from "./ui/provider";
|
|
21
|
+
export { FormmyProvider, useFormmy, useFormmyOptional } from "./ui/provider.js";
|
|
22
22
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
23
23
|
// Hooks
|
|
24
24
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
25
|
-
export { useFormmyChat, getMessageText } from "./hooks/use-formmy-chat";
|
|
26
|
-
export { useFormmyVoice } from "./hooks/use-formmy-voice";
|
|
27
|
-
export { useFormmyConversations } from "./hooks/use-formmy-conversations";
|
|
28
|
-
export { VISEMES } from "./voice/viseme-analyser";
|
|
25
|
+
export { useFormmyChat, getMessageText } from "./hooks/use-formmy-chat.js";
|
|
26
|
+
export { useFormmyVoice } from "./hooks/use-formmy-voice.js";
|
|
27
|
+
export { useFormmyConversations } from "./hooks/use-formmy-conversations.js";
|
|
28
|
+
export { VISEMES } from "./voice/viseme-analyser.js";
|
|
29
29
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
30
30
|
// UI Components
|
|
31
31
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
32
|
-
export { ChatBubble } from "./ui/chat-bubble";
|
|
32
|
+
export { ChatBubble } from "./ui/chat-bubble.js";
|
|
33
33
|
//# sourceMappingURL=react.js.map
|
package/dist/ui/chat-bubble.js
CHANGED
|
@@ -23,7 +23,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
import { useState, useRef, useEffect } from "react";
|
|
26
|
-
import { useFormmyChat, getMessageText } from "../hooks/use-formmy-chat";
|
|
26
|
+
import { useFormmyChat, getMessageText } from "../hooks/use-formmy-chat.js";
|
|
27
27
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
28
28
|
// Styles (inline to avoid external dependencies)
|
|
29
29
|
// ═══════════════════════════════════════════════════════════════════════════
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@formmy.app/chat",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Official React SDK for Formmy Chat - AI chatbot widgets and headless hooks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"LICENSE"
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
|
-
"build": "tsc",
|
|
26
|
+
"build": "tsc && node -e \"const{readdirSync,readFileSync,writeFileSync,statSync}=require('fs');const{join}=require('path');function fix(d){for(const f of readdirSync(d)){const p=join(d,f);if(statSync(p).isDirectory()){fix(p)}else if(p.endsWith('.js')){writeFileSync(p,readFileSync(p,'utf8').replace(/from \\\"(\\.\\.?\\/[^\\\"]+)\\\"/g,(m,i)=>i.endsWith('.js')?m:\\`from \\\"\\${i}.js\\\"\\`))}}}fix('./dist');\"",
|
|
27
27
|
"dev": "tsc --watch",
|
|
28
28
|
"clean": "rm -rf dist",
|
|
29
29
|
"prepublishOnly": "npm run clean && npm run build"
|