@noodleseed/assistant 1.26.1 → 1.28.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/README.md +25 -2
- package/dist/{app-view-element-CiFVNIke.d.cts → app-view-element-BjRkwNN1.d.cts} +1 -1
- package/dist/{app-view-element-C_ATXseu.d.ts → app-view-element-mXHvcAXc.d.ts} +1 -1
- package/dist/app-view.d.cts +3 -3
- package/dist/app-view.d.ts +3 -3
- package/dist/{appearance-C24W6BRj.d.cts → appearance-BpVu3lpk.d.cts} +1 -0
- package/dist/{appearance-C24W6BRj.d.ts → appearance-BpVu3lpk.d.ts} +1 -0
- package/dist/{chunk-OZVDL77T.js → chunk-QH7PL3GU.js} +52 -192
- package/dist/chunk-QH7PL3GU.js.map +1 -0
- package/dist/{chunk-FNXAVRL5.js → chunk-WJV4MJUR.js} +178 -4
- package/dist/chunk-WJV4MJUR.js.map +1 -0
- package/dist/{client-BheCOERq.d.ts → client-CPFw8tfo.d.ts} +1 -1
- package/dist/{client-BiMRVxjs.d.cts → client-_xivfs4q.d.cts} +1 -1
- package/dist/client.cjs +176 -3
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +2 -2
- package/dist/client.d.ts +2 -2
- package/dist/client.js +1 -1
- package/dist/embed.global.js +42 -50
- package/dist/index.cjs +225 -190
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/react/client.cjs +176 -3
- package/dist/react/client.cjs.map +1 -1
- package/dist/react/client.d.cts +2 -2
- package/dist/react/client.d.ts +2 -2
- package/dist/react/client.js +1 -1
- package/dist/react.cjs +225 -190
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +3 -3
- package/dist/react.d.ts +3 -3
- package/dist/react.js +2 -2
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-FNXAVRL5.js.map +0 -1
- package/dist/chunk-OZVDL77T.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { f as AssistantAppearance, c as AssistantContext, g as AssistantModelContextUpdate, b as AssistantPageContext, j as AssistantInteractionResponse } from './client-
|
|
2
|
-
export { k as AssistantAppearanceTheme, i as AssistantAppearanceWarning, e as AssistantErrorDetail, l as AssistantEvent, m as AssistantSurfaceAppearance, a as AssistantViewAvailableDetail, n as AssistantViewAvailableEvent } from './client-
|
|
3
|
-
import './appearance-
|
|
1
|
+
import { f as AssistantAppearance, c as AssistantContext, g as AssistantModelContextUpdate, b as AssistantPageContext, j as AssistantInteractionResponse } from './client-_xivfs4q.cjs';
|
|
2
|
+
export { k as AssistantAppearanceTheme, i as AssistantAppearanceWarning, e as AssistantErrorDetail, l as AssistantEvent, m as AssistantSurfaceAppearance, a as AssistantViewAvailableDetail, n as AssistantViewAvailableEvent } from './client-_xivfs4q.cjs';
|
|
3
|
+
import './appearance-BpVu3lpk.cjs';
|
|
4
4
|
import 'ai';
|
|
5
5
|
|
|
6
6
|
declare const ASSISTANT_TAG_NAME = "noodle-assistant";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { f as AssistantAppearance, c as AssistantContext, g as AssistantModelContextUpdate, b as AssistantPageContext, j as AssistantInteractionResponse } from './client-
|
|
2
|
-
export { k as AssistantAppearanceTheme, i as AssistantAppearanceWarning, e as AssistantErrorDetail, l as AssistantEvent, m as AssistantSurfaceAppearance, a as AssistantViewAvailableDetail, n as AssistantViewAvailableEvent } from './client-
|
|
3
|
-
import './appearance-
|
|
1
|
+
import { f as AssistantAppearance, c as AssistantContext, g as AssistantModelContextUpdate, b as AssistantPageContext, j as AssistantInteractionResponse } from './client-CPFw8tfo.js';
|
|
2
|
+
export { k as AssistantAppearanceTheme, i as AssistantAppearanceWarning, e as AssistantErrorDetail, l as AssistantEvent, m as AssistantSurfaceAppearance, a as AssistantViewAvailableDetail, n as AssistantViewAvailableEvent } from './client-CPFw8tfo.js';
|
|
3
|
+
import './appearance-BpVu3lpk.js';
|
|
4
4
|
import 'ai';
|
|
5
5
|
|
|
6
6
|
declare const ASSISTANT_TAG_NAME = "noodle-assistant";
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,9 @@ import {
|
|
|
2
2
|
ASSISTANT_TAG_NAME,
|
|
3
3
|
NoodleAssistantElement,
|
|
4
4
|
registerNoodleAssistant
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QH7PL3GU.js";
|
|
6
6
|
import "./chunk-XKTUXFGX.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-WJV4MJUR.js";
|
|
8
8
|
import "./chunk-P223CYPO.js";
|
|
9
9
|
import "./chunk-3YYTUJPJ.js";
|
|
10
10
|
import "./chunk-5FUTL2UF.js";
|
package/dist/react/client.cjs
CHANGED
|
@@ -22904,6 +22904,178 @@ function isRecord(value) {
|
|
|
22904
22904
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
22905
22905
|
}
|
|
22906
22906
|
|
|
22907
|
+
// src/assistant-configuration-schema.ts
|
|
22908
|
+
var hexColorSchema = external_exports.string().regex(/^#[0-9A-Fa-f]{6}$/);
|
|
22909
|
+
var resolvedBorderColorSchema = external_exports.union([
|
|
22910
|
+
hexColorSchema,
|
|
22911
|
+
external_exports.string().max(64).refine(isBoundedRgbaColor, "must be a six-digit hex or bounded rgba color")
|
|
22912
|
+
]);
|
|
22913
|
+
var browserAssetUrlSchema = external_exports.string().trim().url().refine(isSecureBrowserAssetUrl, "must use https (http is allowed only for loopback testing)");
|
|
22914
|
+
var httpsUrlSchema = external_exports.string().trim().url().refine(isHttpsUrl, "must use https");
|
|
22915
|
+
var brandAssetSchema = external_exports.object({
|
|
22916
|
+
uri: browserAssetUrlSchema,
|
|
22917
|
+
darkUri: browserAssetUrlSchema.optional(),
|
|
22918
|
+
alt: external_exports.string().trim().min(1).max(240)
|
|
22919
|
+
}).strict();
|
|
22920
|
+
var brandThemeSchema = external_exports.object({
|
|
22921
|
+
surface: hexColorSchema.optional(),
|
|
22922
|
+
surfaceRaised: hexColorSchema.optional(),
|
|
22923
|
+
surfaceMuted: hexColorSchema.optional(),
|
|
22924
|
+
text: hexColorSchema.optional(),
|
|
22925
|
+
textMuted: hexColorSchema.optional(),
|
|
22926
|
+
accent: hexColorSchema.optional(),
|
|
22927
|
+
accentText: hexColorSchema.optional(),
|
|
22928
|
+
link: hexColorSchema.optional(),
|
|
22929
|
+
border: resolvedBorderColorSchema.optional(),
|
|
22930
|
+
borderStrong: resolvedBorderColorSchema.optional(),
|
|
22931
|
+
focus: hexColorSchema.optional(),
|
|
22932
|
+
success: hexColorSchema.optional(),
|
|
22933
|
+
warning: hexColorSchema.optional(),
|
|
22934
|
+
danger: hexColorSchema.optional(),
|
|
22935
|
+
code: hexColorSchema.optional()
|
|
22936
|
+
}).strict();
|
|
22937
|
+
var brandingSchema = external_exports.object({
|
|
22938
|
+
name: external_exports.string().trim().min(1).max(160).optional(),
|
|
22939
|
+
accent: hexColorSchema.optional(),
|
|
22940
|
+
surface: hexColorSchema.optional(),
|
|
22941
|
+
surfaceDark: hexColorSchema.optional(),
|
|
22942
|
+
logo: brandAssetSchema.optional(),
|
|
22943
|
+
mark: brandAssetSchema.optional(),
|
|
22944
|
+
avatar: brandAssetSchema.optional(),
|
|
22945
|
+
theme: external_exports.object({ light: brandThemeSchema.optional(), dark: brandThemeSchema.optional() }).strict().optional(),
|
|
22946
|
+
radius: external_exports.enum(["none", "sm", "md", "lg"]).optional(),
|
|
22947
|
+
density: external_exports.enum(["compact", "comfortable"]).optional(),
|
|
22948
|
+
typography: external_exports.enum(["system", "serif", "mono"]).optional(),
|
|
22949
|
+
colorScheme: external_exports.enum(["auto", "light", "dark"]).optional()
|
|
22950
|
+
}).strict();
|
|
22951
|
+
var labelsSchema = external_exports.object({
|
|
22952
|
+
welcomeHeading: external_exports.string().trim().min(1).max(160).optional(),
|
|
22953
|
+
welcomeMessage: external_exports.string().max(1e3).optional(),
|
|
22954
|
+
launcherPlaceholder: external_exports.string().trim().min(1).max(160).optional(),
|
|
22955
|
+
composerPlaceholder: external_exports.string().trim().min(1).max(160).optional(),
|
|
22956
|
+
thinking: external_exports.string().trim().min(1).max(80).optional(),
|
|
22957
|
+
send: external_exports.string().trim().min(1).max(80).optional(),
|
|
22958
|
+
stop: external_exports.string().trim().min(1).max(80).optional(),
|
|
22959
|
+
close: external_exports.string().trim().min(1).max(80).optional(),
|
|
22960
|
+
open: external_exports.string().trim().min(1).max(80).optional(),
|
|
22961
|
+
confirm: external_exports.string().trim().min(1).max(80).optional(),
|
|
22962
|
+
decline: external_exports.string().trim().min(1).max(80).optional(),
|
|
22963
|
+
cancel: external_exports.string().trim().min(1).max(80).optional(),
|
|
22964
|
+
confirmationHeading: external_exports.string().trim().min(1).max(120).optional(),
|
|
22965
|
+
additionalDetails: external_exports.string().trim().min(1).max(120).optional(),
|
|
22966
|
+
redacted: external_exports.string().trim().min(1).max(120).optional(),
|
|
22967
|
+
completed: external_exports.string().trim().min(1).max(80).optional(),
|
|
22968
|
+
stopped: external_exports.string().trim().min(1).max(80).optional(),
|
|
22969
|
+
copy: external_exports.string().trim().min(1).max(80).optional(),
|
|
22970
|
+
newMessages: external_exports.string().trim().min(1).max(80).optional(),
|
|
22971
|
+
reconnect: external_exports.string().trim().min(1).max(80).optional(),
|
|
22972
|
+
newConversation: external_exports.string().trim().min(1).max(80).optional(),
|
|
22973
|
+
retry: external_exports.string().trim().min(1).max(80).optional(),
|
|
22974
|
+
unavailable: external_exports.string().trim().min(1).max(240).optional(),
|
|
22975
|
+
sessionExpired: external_exports.string().trim().min(1).max(240).optional(),
|
|
22976
|
+
sessionIdle: external_exports.string().trim().min(1).max(120).optional(),
|
|
22977
|
+
sessionLoading: external_exports.string().trim().min(1).max(120).optional(),
|
|
22978
|
+
sessionReady: external_exports.string().trim().min(1).max(120).optional(),
|
|
22979
|
+
sessionError: external_exports.string().trim().min(1).max(120).optional(),
|
|
22980
|
+
signInHeading: external_exports.string().trim().min(1).max(120).optional(),
|
|
22981
|
+
signInBody: external_exports.string().max(240).optional(),
|
|
22982
|
+
signInAction: external_exports.string().trim().min(1).max(80).optional(),
|
|
22983
|
+
signUpAction: external_exports.string().trim().min(1).max(80).optional()
|
|
22984
|
+
}).strict();
|
|
22985
|
+
var presentationSchema = external_exports.object({
|
|
22986
|
+
panel: external_exports.object({
|
|
22987
|
+
surface: external_exports.enum(["solid", "glass"]).optional(),
|
|
22988
|
+
elevation: external_exports.enum(["soft", "dramatic"]).optional(),
|
|
22989
|
+
border: external_exports.enum(["subtle", "strong"]).optional(),
|
|
22990
|
+
radius: external_exports.number().int().min(0).max(64).optional()
|
|
22991
|
+
}).strict().optional(),
|
|
22992
|
+
launcher: external_exports.object({
|
|
22993
|
+
style: external_exports.enum(["pill", "bubble"]).optional(),
|
|
22994
|
+
icon: external_exports.enum(["brand-mark", "chat", "none"]).optional(),
|
|
22995
|
+
size: external_exports.enum(["md", "lg"]).optional(),
|
|
22996
|
+
status: external_exports.enum(["none", "session"]).optional(),
|
|
22997
|
+
effect: external_exports.enum(["none", "pulse"]).optional()
|
|
22998
|
+
}).strict().optional(),
|
|
22999
|
+
header: external_exports.object({
|
|
23000
|
+
mark: external_exports.enum(["none", "brand-mark", "status"]).optional(),
|
|
23001
|
+
badge: external_exports.object({
|
|
23002
|
+
text: external_exports.string().trim().min(1).max(80),
|
|
23003
|
+
tone: external_exports.enum(["neutral", "success", "warning", "danger"]).optional(),
|
|
23004
|
+
indicator: external_exports.boolean().optional()
|
|
23005
|
+
}).strict().optional()
|
|
23006
|
+
}).strict().optional(),
|
|
23007
|
+
composer: external_exports.object({
|
|
23008
|
+
leadingIcon: external_exports.enum(["none", "brand-mark"]).optional(),
|
|
23009
|
+
sendIcon: external_exports.enum(["arrow-up", "paper-plane"]).optional(),
|
|
23010
|
+
shape: external_exports.enum(["rounded", "pill"]).optional()
|
|
23011
|
+
}).strict().optional(),
|
|
23012
|
+
messages: external_exports.object({
|
|
23013
|
+
userStyle: external_exports.enum(["bubble", "accent"]).optional(),
|
|
23014
|
+
assistantStyle: external_exports.enum(["plain", "bubble"]).optional()
|
|
23015
|
+
}).strict().optional()
|
|
23016
|
+
}).strict();
|
|
23017
|
+
var assistantUiSchema = external_exports.object({
|
|
23018
|
+
theme: external_exports.enum(["auto", "light", "dark", "invert"]).optional(),
|
|
23019
|
+
layout: external_exports.object({
|
|
23020
|
+
mode: external_exports.enum(["floating", "inline", "drawer"]).optional(),
|
|
23021
|
+
position: external_exports.enum(["bottom-left", "bottom-center", "bottom-right"]).optional(),
|
|
23022
|
+
panelWidth: external_exports.number().int().min(280).max(1200).optional(),
|
|
23023
|
+
panelMinHeight: external_exports.number().int().min(240).max(1600).optional(),
|
|
23024
|
+
panelMaxHeight: external_exports.number().int().min(320).max(2400).optional(),
|
|
23025
|
+
edgeOffset: external_exports.number().int().min(0).max(96).optional(),
|
|
23026
|
+
zIndex: external_exports.number().int().min(0).max(2147483647).optional(),
|
|
23027
|
+
density: external_exports.enum(["compact", "comfortable"]).optional(),
|
|
23028
|
+
mobileFullscreen: external_exports.boolean().optional()
|
|
23029
|
+
}).strict().optional(),
|
|
23030
|
+
behavior: external_exports.object({
|
|
23031
|
+
startOpen: external_exports.boolean().optional(),
|
|
23032
|
+
closeOnEscape: external_exports.boolean().optional(),
|
|
23033
|
+
closeOnOutsideClick: external_exports.boolean().optional(),
|
|
23034
|
+
showLauncher: external_exports.boolean().optional(),
|
|
23035
|
+
showHeader: external_exports.boolean().optional(),
|
|
23036
|
+
showAvatars: external_exports.boolean().optional(),
|
|
23037
|
+
showTimestamps: external_exports.boolean().optional(),
|
|
23038
|
+
showPoweredBy: external_exports.boolean().optional(),
|
|
23039
|
+
showConfirmationDetails: external_exports.boolean().optional()
|
|
23040
|
+
}).strict().optional(),
|
|
23041
|
+
labels: labelsSchema.optional(),
|
|
23042
|
+
presentation: presentationSchema.optional(),
|
|
23043
|
+
suggestedPrompts: external_exports.array(external_exports.string().trim().min(1).max(240)).max(8).optional(),
|
|
23044
|
+
privacyUrl: httpsUrlSchema.optional(),
|
|
23045
|
+
termsUrl: httpsUrlSchema.optional(),
|
|
23046
|
+
locale: external_exports.string().trim().min(2).max(35).optional(),
|
|
23047
|
+
direction: external_exports.enum(["ltr", "rtl", "auto"]).optional()
|
|
23048
|
+
}).strict();
|
|
23049
|
+
var assistantConfigurationSchema = external_exports.object({ branding: brandingSchema.optional(), assistant: assistantUiSchema.optional() }).strict();
|
|
23050
|
+
function parseAssistantConfiguration(value) {
|
|
23051
|
+
const parsed = assistantConfigurationSchema.safeParse(value);
|
|
23052
|
+
return parsed.success ? parsed.data : void 0;
|
|
23053
|
+
}
|
|
23054
|
+
function isHttpsUrl(value) {
|
|
23055
|
+
try {
|
|
23056
|
+
return new URL(value).protocol === "https:";
|
|
23057
|
+
} catch {
|
|
23058
|
+
return false;
|
|
23059
|
+
}
|
|
23060
|
+
}
|
|
23061
|
+
function isSecureBrowserAssetUrl(value) {
|
|
23062
|
+
try {
|
|
23063
|
+
const url2 = new URL(value);
|
|
23064
|
+
if (url2.protocol === "https:") return true;
|
|
23065
|
+
if (url2.protocol !== "http:") return false;
|
|
23066
|
+
return url2.hostname === "localhost" || url2.hostname === "127.0.0.1" || url2.hostname === "[::1]";
|
|
23067
|
+
} catch {
|
|
23068
|
+
return false;
|
|
23069
|
+
}
|
|
23070
|
+
}
|
|
23071
|
+
function isBoundedRgbaColor(value) {
|
|
23072
|
+
const match = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0(?:\.\d{1,6})?|1(?:\.0{1,6})?)\s*\)$/.exec(
|
|
23073
|
+
value
|
|
23074
|
+
);
|
|
23075
|
+
if (match === null) return false;
|
|
23076
|
+
return match.slice(1, 4).every((channel) => Number(channel) <= 255);
|
|
23077
|
+
}
|
|
23078
|
+
|
|
22907
23079
|
// src/client-errors.ts
|
|
22908
23080
|
async function refusalCode(response) {
|
|
22909
23081
|
try {
|
|
@@ -22937,6 +23109,7 @@ function parseSession(value) {
|
|
|
22937
23109
|
if (typeof value.token !== "string" || typeof value.expiresAt !== "string" || typeof value.endpoints.turns !== "string" || typeof value.endpoints.toolConfirmations !== "string" || interactions !== void 0 && typeof interactions !== "string" || apps !== void 0 && typeof apps !== "string" || sandbox !== void 0 && typeof sandbox !== "string" || transcript !== void 0 && typeof transcript !== "string") {
|
|
22938
23110
|
throw clientError("session_failed", "Assistant session response is invalid", true);
|
|
22939
23111
|
}
|
|
23112
|
+
const configuration = parseAssistantConfiguration(value.configuration);
|
|
22940
23113
|
return {
|
|
22941
23114
|
token: value.token,
|
|
22942
23115
|
expiresAt: value.expiresAt,
|
|
@@ -22948,7 +23121,7 @@ function parseSession(value) {
|
|
|
22948
23121
|
...typeof sandbox === "string" ? { sandbox } : {},
|
|
22949
23122
|
...typeof transcript === "string" ? { transcript } : {}
|
|
22950
23123
|
},
|
|
22951
|
-
...
|
|
23124
|
+
...configuration === void 0 ? {} : { configuration },
|
|
22952
23125
|
...isRecord2(value.resume) && typeof value.resume.tool === "string" ? { resume: { tool: value.resume.tool } } : {}
|
|
22953
23126
|
};
|
|
22954
23127
|
}
|
|
@@ -23042,9 +23215,9 @@ function toAssistantClientEvent(event) {
|
|
|
23042
23215
|
return { event: "unrecognized", data: { name: event.event, payload: value } };
|
|
23043
23216
|
}
|
|
23044
23217
|
function isViewAvailableDetail(value) {
|
|
23045
|
-
return hasString(value, "id") && hasString(value, "tool") && typeof value.resourceUri === "string" && value.resourceUri.startsWith("ui://") && hasOptionalString(value.title) && (value.replayed === void 0 || value.replayed === true) && isJsonValue(value.result, 0) && hasOptionalJson(value.arguments) && hasOptionalString(value.html) && (value.resourceMeta === void 0 || isRecord3(value.resourceMeta)) && (value.allowedOpenDomains === void 0 || Array.isArray(value.allowedOpenDomains) && value.allowedOpenDomains.every(
|
|
23218
|
+
return hasString(value, "id") && hasString(value, "tool") && typeof value.resourceUri === "string" && value.resourceUri.startsWith("ui://") && hasOptionalString(value.title) && (value.replayed === void 0 || value.replayed === true) && isJsonValue(value.result, 0) && hasOptionalJson(value.arguments) && hasOptionalString(value.html) && (value.resourceMeta === void 0 || isRecord3(value.resourceMeta)) && (value.allowedOpenDomains === void 0 || Array.isArray(value.allowedOpenDomains) && value.allowedOpenDomains.every(isHttpsUrl2)) && hasOptionalTurnId(value);
|
|
23046
23219
|
}
|
|
23047
|
-
function
|
|
23220
|
+
function isHttpsUrl2(value) {
|
|
23048
23221
|
if (typeof value !== "string") return false;
|
|
23049
23222
|
try {
|
|
23050
23223
|
return new URL(value).protocol === "https:";
|