@howone/sdk 0.1.27 → 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/index.d.mts +154 -20
- package/dist/index.d.ts +154 -20
- package/dist/index.js +5838 -5255
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5806 -5230
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React$1, { Component, ReactNode } from 'react';
|
|
2
2
|
import * as axios from 'axios';
|
|
3
|
-
import { AxiosResponse,
|
|
3
|
+
import { AxiosResponse, AxiosRequestConfig, InternalAxiosRequestConfig, AxiosInstance } from 'axios';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import { ToastOptions } from 'react-toastify';
|
|
6
6
|
|
|
@@ -185,6 +185,7 @@ declare function getCodeStatus(email: string): Promise<any>;
|
|
|
185
185
|
*/
|
|
186
186
|
interface AIWorkflowResponse {
|
|
187
187
|
success: boolean;
|
|
188
|
+
status?: number;
|
|
188
189
|
output?: Record<string, unknown>;
|
|
189
190
|
error?: string;
|
|
190
191
|
metadata?: Record<string, unknown>;
|
|
@@ -207,7 +208,7 @@ declare class AIWorkflowClient {
|
|
|
207
208
|
* 按 ID 执行工作流:POST {baseUrl}/workflow/{workflowId}/execute
|
|
208
209
|
* body: { input, options }
|
|
209
210
|
*/
|
|
210
|
-
executeWorkflow(workflowId: string, inputs: Record<string, unknown>, options?: Record<string, unknown>): Promise<AIWorkflowResponse>;
|
|
211
|
+
executeWorkflow(workflowId: string, inputs: Record<string, unknown>, options?: Record<string, unknown>): Promise<AIWorkflowResponse | null>;
|
|
211
212
|
}
|
|
212
213
|
declare function createAIWorkflowClient(options?: AIWorkflowClientOptions): AIWorkflowClient;
|
|
213
214
|
declare const aiWorkflow: AIWorkflowClient;
|
|
@@ -338,29 +339,28 @@ type AuthState$1 = {
|
|
|
338
339
|
};
|
|
339
340
|
declare function onAuthStateChanged(cb: (state: AuthState$1) => void): () => void;
|
|
340
341
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
342
|
+
type Environment = 'local' | 'dev' | 'prod';
|
|
343
|
+
type envs = {
|
|
344
|
+
AUTH_ROOT_VALUE: string;
|
|
345
|
+
baseUrl: string;
|
|
346
|
+
aiBaseUrl: string;
|
|
347
|
+
};
|
|
348
|
+
declare function setEnvironment(e: Environment): envs;
|
|
349
|
+
declare function getEnvironment(): Environment;
|
|
350
|
+
declare function getEnvs(): envs;
|
|
344
351
|
declare function setDefaultProjectId(id: string | null): void;
|
|
345
352
|
declare function getDefaultProjectId(): string | null;
|
|
353
|
+
declare function getGlobalEnvironment(): Environment | null;
|
|
346
354
|
|
|
347
|
-
declare const request: Request;
|
|
348
|
-
declare const aiRequest: Request;
|
|
349
|
-
declare const workflowRequest: Request;
|
|
350
|
-
/**
|
|
351
|
-
* 简单工厂:返回一个对外友好的 client,封装业务 request 与 AI workflow request。
|
|
352
|
-
* 默认使用上面导出的 `request` 和 `aiRequest`,也可以通过 options 覆盖。
|
|
353
|
-
*/
|
|
354
355
|
/**
|
|
355
356
|
* Higher-level factory: createClient
|
|
356
357
|
* - minimal surface compatible with `createClient({ projectId, authRequired })`
|
|
357
358
|
* - returns executeWorkflow, request, aiRequest and a tiny auth helper (set/get token)
|
|
358
359
|
*/
|
|
359
|
-
declare function createClient(opts
|
|
360
|
-
projectId
|
|
360
|
+
declare function createClient(opts: {
|
|
361
|
+
projectId: string;
|
|
362
|
+
env?: 'local' | 'dev' | 'prod';
|
|
361
363
|
authRequired?: boolean;
|
|
362
|
-
baseUrl?: string;
|
|
363
|
-
aiBaseUrl?: string;
|
|
364
364
|
mode?: "auto" | "standalone" | "embedded";
|
|
365
365
|
auth?: {
|
|
366
366
|
mode?: "none" | "managed" | "headless";
|
|
@@ -373,10 +373,8 @@ declare function createClient(opts?: {
|
|
|
373
373
|
sensitiveParams?: string[];
|
|
374
374
|
};
|
|
375
375
|
};
|
|
376
|
-
requestInstance?: Request;
|
|
377
|
-
aiRequestInstance?: Request;
|
|
378
376
|
}): {
|
|
379
|
-
projectId: string
|
|
377
|
+
projectId: string;
|
|
380
378
|
request: {
|
|
381
379
|
instance: axios.AxiosInstance;
|
|
382
380
|
request: (config: RequestConfig) => Promise<AxiosResponse<any, any>>;
|
|
@@ -536,6 +534,18 @@ interface ErrorFallbackProps {
|
|
|
536
534
|
}
|
|
537
535
|
declare const DefaultErrorFallback: React$1.FC<ErrorFallbackProps>;
|
|
538
536
|
|
|
537
|
+
type ButtonSize = "sm" | "md" | "lg";
|
|
538
|
+
type ButtonVariant = "solid" | "ghost" | "flat";
|
|
539
|
+
interface ClayxButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
540
|
+
isIconOnly?: boolean;
|
|
541
|
+
size?: ButtonSize;
|
|
542
|
+
variant?: ButtonVariant;
|
|
543
|
+
children?: React$1.ReactNode;
|
|
544
|
+
}
|
|
545
|
+
declare const ClayxButton: React$1.FC<ClayxButtonProps>;
|
|
546
|
+
|
|
547
|
+
declare function showLimitUpgradeToast(message: string, onUpgrade: () => void): void;
|
|
548
|
+
|
|
539
549
|
type Theme = "dark" | "light" | "system";
|
|
540
550
|
type ThemeProviderProps = {
|
|
541
551
|
children: React.ReactNode;
|
|
@@ -564,6 +574,7 @@ declare function GlobalToastContainer(): react_jsx_runtime.JSX.Element;
|
|
|
564
574
|
interface ToastParams {
|
|
565
575
|
title?: string;
|
|
566
576
|
message?: string;
|
|
577
|
+
render?: (closeToast: () => void) => React$1.ReactNode;
|
|
567
578
|
component?: React$1.ReactNode;
|
|
568
579
|
options?: Partial<ToastOptions>;
|
|
569
580
|
}
|
|
@@ -575,10 +586,63 @@ declare const ClayxToast: {
|
|
|
575
586
|
default: (params: ToastParams) => void;
|
|
576
587
|
};
|
|
577
588
|
|
|
589
|
+
interface SourceLocation {
|
|
590
|
+
file: string;
|
|
591
|
+
line: number;
|
|
592
|
+
component: string;
|
|
593
|
+
}
|
|
594
|
+
interface ElementSelectionData {
|
|
595
|
+
sourceLocation: SourceLocation | null;
|
|
596
|
+
element: {
|
|
597
|
+
tagName: string;
|
|
598
|
+
className: string;
|
|
599
|
+
id: string;
|
|
600
|
+
text: string;
|
|
601
|
+
};
|
|
602
|
+
rect: {
|
|
603
|
+
top: number;
|
|
604
|
+
left: number;
|
|
605
|
+
width: number;
|
|
606
|
+
height: number;
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
interface ElementSelectorProps {
|
|
610
|
+
active: boolean;
|
|
611
|
+
onSelect?: (data: ElementSelectionData) => void;
|
|
612
|
+
onCancel?: () => void;
|
|
613
|
+
}
|
|
614
|
+
declare const ElementSelector: React$1.FC<ElementSelectorProps>;
|
|
615
|
+
|
|
616
|
+
interface ElementSelectorProviderProps {
|
|
617
|
+
children: React$1.ReactNode;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* 元素选择器提供者组件
|
|
621
|
+
* 监听来自 iframe.js 的自定义事件,自动显示/隐藏元素选择器
|
|
622
|
+
*/
|
|
623
|
+
declare const ElementSelectorProvider: React$1.FC<ElementSelectorProviderProps>;
|
|
624
|
+
|
|
578
625
|
declare function useIsMobile(): boolean;
|
|
579
626
|
|
|
580
627
|
declare function useDebounce<T>(value: T, delay: number): T;
|
|
581
628
|
|
|
629
|
+
interface UseElementSelectorReturn {
|
|
630
|
+
isSelecting: boolean;
|
|
631
|
+
selectedElement: ElementSelectionData | null;
|
|
632
|
+
startSelecting: () => void;
|
|
633
|
+
stopSelecting: () => void;
|
|
634
|
+
clearSelection: () => void;
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* 元素选择器 Hook
|
|
638
|
+
* 用于管理元素选择状态和向父窗口发送消息
|
|
639
|
+
*/
|
|
640
|
+
declare function useElementSelector(): UseElementSelectorReturn;
|
|
641
|
+
/**
|
|
642
|
+
* 向父窗口发送元素选择数据
|
|
643
|
+
*/
|
|
644
|
+
declare function sendElementSelectionToParent(data: ElementSelectionData): void;
|
|
645
|
+
|
|
582
646
|
/**
|
|
583
647
|
* 错误处理模块 - 核心类型定义
|
|
584
648
|
*
|
|
@@ -867,4 +931,74 @@ declare class SimpleErrorHandler {
|
|
|
867
931
|
captureError(error: Error, details?: any): void;
|
|
868
932
|
}
|
|
869
933
|
|
|
870
|
-
|
|
934
|
+
/**
|
|
935
|
+
* iframe navigation and element selector utilities
|
|
936
|
+
* Replaces the standalone iframe.js script
|
|
937
|
+
*/
|
|
938
|
+
declare function customGoBack(): boolean;
|
|
939
|
+
declare function customGoForward(): boolean;
|
|
940
|
+
declare function triggerElementSelection(): void;
|
|
941
|
+
declare function cancelElementSelection(): void;
|
|
942
|
+
/**
|
|
943
|
+
* Initialize iframe navigation system
|
|
944
|
+
* Call this once when your app starts
|
|
945
|
+
*/
|
|
946
|
+
declare function initIframeNavigation(): void;
|
|
947
|
+
/**
|
|
948
|
+
* Public API for iframe navigation
|
|
949
|
+
*/
|
|
950
|
+
declare const iframeNavigation: {
|
|
951
|
+
/**
|
|
952
|
+
* Initialize the navigation system
|
|
953
|
+
*/
|
|
954
|
+
init: typeof initIframeNavigation;
|
|
955
|
+
/**
|
|
956
|
+
* Add a page to navigation history
|
|
957
|
+
*/
|
|
958
|
+
addPage: (url?: string, title?: string) => void;
|
|
959
|
+
/**
|
|
960
|
+
* Get current navigation state
|
|
961
|
+
*/
|
|
962
|
+
getState: () => {
|
|
963
|
+
canGoBack: boolean;
|
|
964
|
+
canGoForward: boolean;
|
|
965
|
+
historyLength: number;
|
|
966
|
+
currentIndex: number;
|
|
967
|
+
currentPage: {
|
|
968
|
+
url: string;
|
|
969
|
+
title: string;
|
|
970
|
+
timestamp: number;
|
|
971
|
+
};
|
|
972
|
+
};
|
|
973
|
+
/**
|
|
974
|
+
* Update navigation state (send to parent)
|
|
975
|
+
*/
|
|
976
|
+
updateState: () => void;
|
|
977
|
+
/**
|
|
978
|
+
* Go back in history
|
|
979
|
+
*/
|
|
980
|
+
goBack: typeof customGoBack;
|
|
981
|
+
/**
|
|
982
|
+
* Go forward in history
|
|
983
|
+
*/
|
|
984
|
+
goForward: typeof customGoForward;
|
|
985
|
+
};
|
|
986
|
+
/**
|
|
987
|
+
* Public API for element selector
|
|
988
|
+
*/
|
|
989
|
+
declare const elementSelector: {
|
|
990
|
+
/**
|
|
991
|
+
* Start element selection mode
|
|
992
|
+
*/
|
|
993
|
+
startSelection: typeof triggerElementSelection;
|
|
994
|
+
/**
|
|
995
|
+
* Cancel element selection mode
|
|
996
|
+
*/
|
|
997
|
+
cancel: typeof cancelElementSelection;
|
|
998
|
+
/**
|
|
999
|
+
* Check if selector is active
|
|
1000
|
+
*/
|
|
1001
|
+
isActive: () => boolean;
|
|
1002
|
+
};
|
|
1003
|
+
|
|
1004
|
+
export { type AIWorkflowClientOptions, type AIWorkflowResponse, AUTH_TOKEN_KEY, type AccessContext, type Artifact, type ArtifactCreateInput, type ArtifactListQuery, type AxiosAIWorkflowOptions, ClayxButton, ClayxToast, DEFAULT_SELECTOR_CONFIG, DefaultErrorFallback, ERROR_CONFIG, type ElementSelectionData, ElementSelector, ElementSelectorProvider, type EmailLoginRequest, type EmailLoginResponse, type EnhancedErrorConfig, type Environment, ErrorBoundary, ErrorHandler, type ErrorPayload, type ErrorSeverity, type ErrorStats, type ErrorType, FloatingButton, GLOBAL_CONFIG, GlobalToastContainer, HowOneProvider, type HowOneProviderProps, Loading, LoadingSpinner, LoginForm, type MessageType, type SelectorState, type SendCodeRequest, type SendCodeResponse, type SimpleErrorConfig, SimpleErrorHandler, type SourceLocation, ThemeProvider, ThemeToggle, type UseElementSelectorReturn, type UserInteraction, type ViewInfo, type Visibility, aiWorkflow, canAccessArtifact, createAIWorkflowClient, createAIWorkflowClientAxios, createArtifactsClient, createClient, elementSelector, type envs, getCodeStatus, getDefaultProjectId, getEnvironment, getEnvs, getGlobalEnvironment, getToken, howone, iframeNavigation, initIframeNavigation, isTokenValid, loginWithEmailCode, onAuthStateChanged, parseUserFromToken, sendElementSelectionToParent, sendEmailVerificationCode, setDefaultProjectId, setEnvironment, setToken, showLimitUpgradeToast, unifiedAuth, unifiedOAuth, useAuth, useDebounce, useElementSelector, useHowoneContext, useIsMobile, useTheme };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React$1, { Component, ReactNode } from 'react';
|
|
2
2
|
import * as axios from 'axios';
|
|
3
|
-
import { AxiosResponse,
|
|
3
|
+
import { AxiosResponse, AxiosRequestConfig, InternalAxiosRequestConfig, AxiosInstance } from 'axios';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import { ToastOptions } from 'react-toastify';
|
|
6
6
|
|
|
@@ -185,6 +185,7 @@ declare function getCodeStatus(email: string): Promise<any>;
|
|
|
185
185
|
*/
|
|
186
186
|
interface AIWorkflowResponse {
|
|
187
187
|
success: boolean;
|
|
188
|
+
status?: number;
|
|
188
189
|
output?: Record<string, unknown>;
|
|
189
190
|
error?: string;
|
|
190
191
|
metadata?: Record<string, unknown>;
|
|
@@ -207,7 +208,7 @@ declare class AIWorkflowClient {
|
|
|
207
208
|
* 按 ID 执行工作流:POST {baseUrl}/workflow/{workflowId}/execute
|
|
208
209
|
* body: { input, options }
|
|
209
210
|
*/
|
|
210
|
-
executeWorkflow(workflowId: string, inputs: Record<string, unknown>, options?: Record<string, unknown>): Promise<AIWorkflowResponse>;
|
|
211
|
+
executeWorkflow(workflowId: string, inputs: Record<string, unknown>, options?: Record<string, unknown>): Promise<AIWorkflowResponse | null>;
|
|
211
212
|
}
|
|
212
213
|
declare function createAIWorkflowClient(options?: AIWorkflowClientOptions): AIWorkflowClient;
|
|
213
214
|
declare const aiWorkflow: AIWorkflowClient;
|
|
@@ -338,29 +339,28 @@ type AuthState$1 = {
|
|
|
338
339
|
};
|
|
339
340
|
declare function onAuthStateChanged(cb: (state: AuthState$1) => void): () => void;
|
|
340
341
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
342
|
+
type Environment = 'local' | 'dev' | 'prod';
|
|
343
|
+
type envs = {
|
|
344
|
+
AUTH_ROOT_VALUE: string;
|
|
345
|
+
baseUrl: string;
|
|
346
|
+
aiBaseUrl: string;
|
|
347
|
+
};
|
|
348
|
+
declare function setEnvironment(e: Environment): envs;
|
|
349
|
+
declare function getEnvironment(): Environment;
|
|
350
|
+
declare function getEnvs(): envs;
|
|
344
351
|
declare function setDefaultProjectId(id: string | null): void;
|
|
345
352
|
declare function getDefaultProjectId(): string | null;
|
|
353
|
+
declare function getGlobalEnvironment(): Environment | null;
|
|
346
354
|
|
|
347
|
-
declare const request: Request;
|
|
348
|
-
declare const aiRequest: Request;
|
|
349
|
-
declare const workflowRequest: Request;
|
|
350
|
-
/**
|
|
351
|
-
* 简单工厂:返回一个对外友好的 client,封装业务 request 与 AI workflow request。
|
|
352
|
-
* 默认使用上面导出的 `request` 和 `aiRequest`,也可以通过 options 覆盖。
|
|
353
|
-
*/
|
|
354
355
|
/**
|
|
355
356
|
* Higher-level factory: createClient
|
|
356
357
|
* - minimal surface compatible with `createClient({ projectId, authRequired })`
|
|
357
358
|
* - returns executeWorkflow, request, aiRequest and a tiny auth helper (set/get token)
|
|
358
359
|
*/
|
|
359
|
-
declare function createClient(opts
|
|
360
|
-
projectId
|
|
360
|
+
declare function createClient(opts: {
|
|
361
|
+
projectId: string;
|
|
362
|
+
env?: 'local' | 'dev' | 'prod';
|
|
361
363
|
authRequired?: boolean;
|
|
362
|
-
baseUrl?: string;
|
|
363
|
-
aiBaseUrl?: string;
|
|
364
364
|
mode?: "auto" | "standalone" | "embedded";
|
|
365
365
|
auth?: {
|
|
366
366
|
mode?: "none" | "managed" | "headless";
|
|
@@ -373,10 +373,8 @@ declare function createClient(opts?: {
|
|
|
373
373
|
sensitiveParams?: string[];
|
|
374
374
|
};
|
|
375
375
|
};
|
|
376
|
-
requestInstance?: Request;
|
|
377
|
-
aiRequestInstance?: Request;
|
|
378
376
|
}): {
|
|
379
|
-
projectId: string
|
|
377
|
+
projectId: string;
|
|
380
378
|
request: {
|
|
381
379
|
instance: axios.AxiosInstance;
|
|
382
380
|
request: (config: RequestConfig) => Promise<AxiosResponse<any, any>>;
|
|
@@ -536,6 +534,18 @@ interface ErrorFallbackProps {
|
|
|
536
534
|
}
|
|
537
535
|
declare const DefaultErrorFallback: React$1.FC<ErrorFallbackProps>;
|
|
538
536
|
|
|
537
|
+
type ButtonSize = "sm" | "md" | "lg";
|
|
538
|
+
type ButtonVariant = "solid" | "ghost" | "flat";
|
|
539
|
+
interface ClayxButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
540
|
+
isIconOnly?: boolean;
|
|
541
|
+
size?: ButtonSize;
|
|
542
|
+
variant?: ButtonVariant;
|
|
543
|
+
children?: React$1.ReactNode;
|
|
544
|
+
}
|
|
545
|
+
declare const ClayxButton: React$1.FC<ClayxButtonProps>;
|
|
546
|
+
|
|
547
|
+
declare function showLimitUpgradeToast(message: string, onUpgrade: () => void): void;
|
|
548
|
+
|
|
539
549
|
type Theme = "dark" | "light" | "system";
|
|
540
550
|
type ThemeProviderProps = {
|
|
541
551
|
children: React.ReactNode;
|
|
@@ -564,6 +574,7 @@ declare function GlobalToastContainer(): react_jsx_runtime.JSX.Element;
|
|
|
564
574
|
interface ToastParams {
|
|
565
575
|
title?: string;
|
|
566
576
|
message?: string;
|
|
577
|
+
render?: (closeToast: () => void) => React$1.ReactNode;
|
|
567
578
|
component?: React$1.ReactNode;
|
|
568
579
|
options?: Partial<ToastOptions>;
|
|
569
580
|
}
|
|
@@ -575,10 +586,63 @@ declare const ClayxToast: {
|
|
|
575
586
|
default: (params: ToastParams) => void;
|
|
576
587
|
};
|
|
577
588
|
|
|
589
|
+
interface SourceLocation {
|
|
590
|
+
file: string;
|
|
591
|
+
line: number;
|
|
592
|
+
component: string;
|
|
593
|
+
}
|
|
594
|
+
interface ElementSelectionData {
|
|
595
|
+
sourceLocation: SourceLocation | null;
|
|
596
|
+
element: {
|
|
597
|
+
tagName: string;
|
|
598
|
+
className: string;
|
|
599
|
+
id: string;
|
|
600
|
+
text: string;
|
|
601
|
+
};
|
|
602
|
+
rect: {
|
|
603
|
+
top: number;
|
|
604
|
+
left: number;
|
|
605
|
+
width: number;
|
|
606
|
+
height: number;
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
interface ElementSelectorProps {
|
|
610
|
+
active: boolean;
|
|
611
|
+
onSelect?: (data: ElementSelectionData) => void;
|
|
612
|
+
onCancel?: () => void;
|
|
613
|
+
}
|
|
614
|
+
declare const ElementSelector: React$1.FC<ElementSelectorProps>;
|
|
615
|
+
|
|
616
|
+
interface ElementSelectorProviderProps {
|
|
617
|
+
children: React$1.ReactNode;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* 元素选择器提供者组件
|
|
621
|
+
* 监听来自 iframe.js 的自定义事件,自动显示/隐藏元素选择器
|
|
622
|
+
*/
|
|
623
|
+
declare const ElementSelectorProvider: React$1.FC<ElementSelectorProviderProps>;
|
|
624
|
+
|
|
578
625
|
declare function useIsMobile(): boolean;
|
|
579
626
|
|
|
580
627
|
declare function useDebounce<T>(value: T, delay: number): T;
|
|
581
628
|
|
|
629
|
+
interface UseElementSelectorReturn {
|
|
630
|
+
isSelecting: boolean;
|
|
631
|
+
selectedElement: ElementSelectionData | null;
|
|
632
|
+
startSelecting: () => void;
|
|
633
|
+
stopSelecting: () => void;
|
|
634
|
+
clearSelection: () => void;
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* 元素选择器 Hook
|
|
638
|
+
* 用于管理元素选择状态和向父窗口发送消息
|
|
639
|
+
*/
|
|
640
|
+
declare function useElementSelector(): UseElementSelectorReturn;
|
|
641
|
+
/**
|
|
642
|
+
* 向父窗口发送元素选择数据
|
|
643
|
+
*/
|
|
644
|
+
declare function sendElementSelectionToParent(data: ElementSelectionData): void;
|
|
645
|
+
|
|
582
646
|
/**
|
|
583
647
|
* 错误处理模块 - 核心类型定义
|
|
584
648
|
*
|
|
@@ -867,4 +931,74 @@ declare class SimpleErrorHandler {
|
|
|
867
931
|
captureError(error: Error, details?: any): void;
|
|
868
932
|
}
|
|
869
933
|
|
|
870
|
-
|
|
934
|
+
/**
|
|
935
|
+
* iframe navigation and element selector utilities
|
|
936
|
+
* Replaces the standalone iframe.js script
|
|
937
|
+
*/
|
|
938
|
+
declare function customGoBack(): boolean;
|
|
939
|
+
declare function customGoForward(): boolean;
|
|
940
|
+
declare function triggerElementSelection(): void;
|
|
941
|
+
declare function cancelElementSelection(): void;
|
|
942
|
+
/**
|
|
943
|
+
* Initialize iframe navigation system
|
|
944
|
+
* Call this once when your app starts
|
|
945
|
+
*/
|
|
946
|
+
declare function initIframeNavigation(): void;
|
|
947
|
+
/**
|
|
948
|
+
* Public API for iframe navigation
|
|
949
|
+
*/
|
|
950
|
+
declare const iframeNavigation: {
|
|
951
|
+
/**
|
|
952
|
+
* Initialize the navigation system
|
|
953
|
+
*/
|
|
954
|
+
init: typeof initIframeNavigation;
|
|
955
|
+
/**
|
|
956
|
+
* Add a page to navigation history
|
|
957
|
+
*/
|
|
958
|
+
addPage: (url?: string, title?: string) => void;
|
|
959
|
+
/**
|
|
960
|
+
* Get current navigation state
|
|
961
|
+
*/
|
|
962
|
+
getState: () => {
|
|
963
|
+
canGoBack: boolean;
|
|
964
|
+
canGoForward: boolean;
|
|
965
|
+
historyLength: number;
|
|
966
|
+
currentIndex: number;
|
|
967
|
+
currentPage: {
|
|
968
|
+
url: string;
|
|
969
|
+
title: string;
|
|
970
|
+
timestamp: number;
|
|
971
|
+
};
|
|
972
|
+
};
|
|
973
|
+
/**
|
|
974
|
+
* Update navigation state (send to parent)
|
|
975
|
+
*/
|
|
976
|
+
updateState: () => void;
|
|
977
|
+
/**
|
|
978
|
+
* Go back in history
|
|
979
|
+
*/
|
|
980
|
+
goBack: typeof customGoBack;
|
|
981
|
+
/**
|
|
982
|
+
* Go forward in history
|
|
983
|
+
*/
|
|
984
|
+
goForward: typeof customGoForward;
|
|
985
|
+
};
|
|
986
|
+
/**
|
|
987
|
+
* Public API for element selector
|
|
988
|
+
*/
|
|
989
|
+
declare const elementSelector: {
|
|
990
|
+
/**
|
|
991
|
+
* Start element selection mode
|
|
992
|
+
*/
|
|
993
|
+
startSelection: typeof triggerElementSelection;
|
|
994
|
+
/**
|
|
995
|
+
* Cancel element selection mode
|
|
996
|
+
*/
|
|
997
|
+
cancel: typeof cancelElementSelection;
|
|
998
|
+
/**
|
|
999
|
+
* Check if selector is active
|
|
1000
|
+
*/
|
|
1001
|
+
isActive: () => boolean;
|
|
1002
|
+
};
|
|
1003
|
+
|
|
1004
|
+
export { type AIWorkflowClientOptions, type AIWorkflowResponse, AUTH_TOKEN_KEY, type AccessContext, type Artifact, type ArtifactCreateInput, type ArtifactListQuery, type AxiosAIWorkflowOptions, ClayxButton, ClayxToast, DEFAULT_SELECTOR_CONFIG, DefaultErrorFallback, ERROR_CONFIG, type ElementSelectionData, ElementSelector, ElementSelectorProvider, type EmailLoginRequest, type EmailLoginResponse, type EnhancedErrorConfig, type Environment, ErrorBoundary, ErrorHandler, type ErrorPayload, type ErrorSeverity, type ErrorStats, type ErrorType, FloatingButton, GLOBAL_CONFIG, GlobalToastContainer, HowOneProvider, type HowOneProviderProps, Loading, LoadingSpinner, LoginForm, type MessageType, type SelectorState, type SendCodeRequest, type SendCodeResponse, type SimpleErrorConfig, SimpleErrorHandler, type SourceLocation, ThemeProvider, ThemeToggle, type UseElementSelectorReturn, type UserInteraction, type ViewInfo, type Visibility, aiWorkflow, canAccessArtifact, createAIWorkflowClient, createAIWorkflowClientAxios, createArtifactsClient, createClient, elementSelector, type envs, getCodeStatus, getDefaultProjectId, getEnvironment, getEnvs, getGlobalEnvironment, getToken, howone, iframeNavigation, initIframeNavigation, isTokenValid, loginWithEmailCode, onAuthStateChanged, parseUserFromToken, sendElementSelectionToParent, sendEmailVerificationCode, setDefaultProjectId, setEnvironment, setToken, showLimitUpgradeToast, unifiedAuth, unifiedOAuth, useAuth, useDebounce, useElementSelector, useHowoneContext, useIsMobile, useTheme };
|