@aiscene/core 9.0.0 → 9.0.2
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/es/agent/agent.mjs +51 -1
- package/dist/es/agent/agent.mjs.map +1 -1
- package/dist/es/agent/tasks.mjs +7 -1
- package/dist/es/agent/tasks.mjs.map +1 -1
- package/dist/es/agent/utils.mjs +1 -1
- package/dist/es/ai-model/auto-glm/planning.mjs +2 -1
- package/dist/es/ai-model/auto-glm/planning.mjs.map +1 -1
- package/dist/es/ai-model/conversation-history.mjs +4 -0
- package/dist/es/ai-model/conversation-history.mjs.map +1 -1
- package/dist/es/ai-model/inspect.mjs +4 -3
- package/dist/es/ai-model/inspect.mjs.map +1 -1
- package/dist/es/ai-model/prompt/util.mjs +18 -1
- package/dist/es/ai-model/prompt/util.mjs.map +1 -1
- package/dist/es/ai-model/ui-tars-planning.mjs +6 -2
- package/dist/es/ai-model/ui-tars-planning.mjs.map +1 -1
- package/dist/es/report-generator.mjs.map +1 -1
- package/dist/es/service/index.mjs +21 -1
- package/dist/es/service/index.mjs.map +1 -1
- package/dist/es/types.mjs.map +1 -1
- package/dist/es/utils.mjs +2 -2
- package/dist/lib/agent/agent.js +52 -2
- package/dist/lib/agent/agent.js.map +1 -1
- package/dist/lib/agent/execution-session.js +1 -1
- package/dist/lib/agent/execution-session.js.map +1 -1
- package/dist/lib/agent/index.js +1 -1
- package/dist/lib/agent/index.js.map +1 -1
- package/dist/lib/agent/task-builder.js +1 -1
- package/dist/lib/agent/task-builder.js.map +1 -1
- package/dist/lib/agent/task-cache.js +1 -1
- package/dist/lib/agent/task-cache.js.map +1 -1
- package/dist/lib/agent/tasks.js +8 -2
- package/dist/lib/agent/tasks.js.map +1 -1
- package/dist/lib/agent/ui-utils.js +1 -1
- package/dist/lib/agent/ui-utils.js.map +1 -1
- package/dist/lib/agent/usage-intent.js +1 -1
- package/dist/lib/agent/usage-intent.js.map +1 -1
- package/dist/lib/agent/utils.js +2 -2
- package/dist/lib/agent/utils.js.map +1 -1
- package/dist/lib/ai-model/auto-glm/actions.js +1 -1
- package/dist/lib/ai-model/auto-glm/actions.js.map +1 -1
- package/dist/lib/ai-model/auto-glm/index.js +1 -1
- package/dist/lib/ai-model/auto-glm/index.js.map +1 -1
- package/dist/lib/ai-model/auto-glm/parser.js +1 -1
- package/dist/lib/ai-model/auto-glm/parser.js.map +1 -1
- package/dist/lib/ai-model/auto-glm/planning.js +3 -2
- package/dist/lib/ai-model/auto-glm/planning.js.map +1 -1
- package/dist/lib/ai-model/auto-glm/prompt.js +1 -1
- package/dist/lib/ai-model/auto-glm/prompt.js.map +1 -1
- package/dist/lib/ai-model/auto-glm/util.js +1 -1
- package/dist/lib/ai-model/auto-glm/util.js.map +1 -1
- package/dist/lib/ai-model/connectivity.js +1 -1
- package/dist/lib/ai-model/connectivity.js.map +1 -1
- package/dist/lib/ai-model/conversation-history.js +5 -1
- package/dist/lib/ai-model/conversation-history.js.map +1 -1
- package/dist/lib/ai-model/index.js +1 -1
- package/dist/lib/ai-model/index.js.map +1 -1
- package/dist/lib/ai-model/inspect.js +5 -4
- package/dist/lib/ai-model/inspect.js.map +1 -1
- package/dist/lib/ai-model/llm-planning.js +1 -1
- package/dist/lib/ai-model/llm-planning.js.map +1 -1
- package/dist/lib/ai-model/prompt/common.js +1 -1
- package/dist/lib/ai-model/prompt/common.js.map +1 -1
- package/dist/lib/ai-model/prompt/describe.js +1 -1
- package/dist/lib/ai-model/prompt/describe.js.map +1 -1
- package/dist/lib/ai-model/prompt/extraction.js +1 -1
- package/dist/lib/ai-model/prompt/extraction.js.map +1 -1
- package/dist/lib/ai-model/prompt/llm-locator.js +1 -1
- package/dist/lib/ai-model/prompt/llm-locator.js.map +1 -1
- package/dist/lib/ai-model/prompt/llm-planning.js +1 -1
- package/dist/lib/ai-model/prompt/llm-planning.js.map +1 -1
- package/dist/lib/ai-model/prompt/llm-section-locator.js +1 -1
- package/dist/lib/ai-model/prompt/llm-section-locator.js.map +1 -1
- package/dist/lib/ai-model/prompt/order-sensitive-judge.js +1 -1
- package/dist/lib/ai-model/prompt/order-sensitive-judge.js.map +1 -1
- package/dist/lib/ai-model/prompt/playwright-generator.js +1 -1
- package/dist/lib/ai-model/prompt/playwright-generator.js.map +1 -1
- package/dist/lib/ai-model/prompt/ui-tars-planning.js +1 -1
- package/dist/lib/ai-model/prompt/ui-tars-planning.js.map +1 -1
- package/dist/lib/ai-model/prompt/util.js +27 -1
- package/dist/lib/ai-model/prompt/util.js.map +1 -1
- package/dist/lib/ai-model/prompt/yaml-generator.js +1 -1
- package/dist/lib/ai-model/prompt/yaml-generator.js.map +1 -1
- package/dist/lib/ai-model/service-caller/codex-app-server.js +1 -1
- package/dist/lib/ai-model/service-caller/codex-app-server.js.map +1 -1
- package/dist/lib/ai-model/service-caller/image-detail.js +1 -1
- package/dist/lib/ai-model/service-caller/image-detail.js.map +1 -1
- package/dist/lib/ai-model/service-caller/index.js +1 -1
- package/dist/lib/ai-model/service-caller/index.js.map +1 -1
- package/dist/lib/ai-model/service-caller/request-timeout.js +1 -1
- package/dist/lib/ai-model/service-caller/request-timeout.js.map +1 -1
- package/dist/lib/ai-model/ui-tars-planning.js +7 -3
- package/dist/lib/ai-model/ui-tars-planning.js.map +1 -1
- package/dist/lib/common.js +1 -1
- package/dist/lib/common.js.map +1 -1
- package/dist/lib/device/device-options.js +1 -1
- package/dist/lib/device/device-options.js.map +1 -1
- package/dist/lib/device/index.js +1 -1
- package/dist/lib/device/index.js.map +1 -1
- package/dist/lib/dump/html-utils.js +1 -1
- package/dist/lib/dump/html-utils.js.map +1 -1
- package/dist/lib/dump/index.js +1 -1
- package/dist/lib/dump/index.js.map +1 -1
- package/dist/lib/dump/screenshot-restoration.js +1 -1
- package/dist/lib/dump/screenshot-restoration.js.map +1 -1
- package/dist/lib/dump/screenshot-store.js +1 -1
- package/dist/lib/dump/screenshot-store.js.map +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/report-cli.js +1 -1
- package/dist/lib/report-cli.js.map +1 -1
- package/dist/lib/report-generator.js +1 -1
- package/dist/lib/report-generator.js.map +1 -1
- package/dist/lib/report-markdown.js +1 -1
- package/dist/lib/report-markdown.js.map +1 -1
- package/dist/lib/report.js +1 -1
- package/dist/lib/report.js.map +1 -1
- package/dist/lib/screenshot-item.js +1 -1
- package/dist/lib/screenshot-item.js.map +1 -1
- package/dist/lib/service/index.js +22 -2
- package/dist/lib/service/index.js.map +1 -1
- package/dist/lib/service/utils.js +1 -1
- package/dist/lib/service/utils.js.map +1 -1
- package/dist/lib/skill/index.js +1 -1
- package/dist/lib/skill/index.js.map +1 -1
- package/dist/lib/task-runner.js +1 -1
- package/dist/lib/task-runner.js.map +1 -1
- package/dist/lib/task-timing.js +1 -1
- package/dist/lib/task-timing.js.map +1 -1
- package/dist/lib/tree.js +1 -1
- package/dist/lib/tree.js.map +1 -1
- package/dist/lib/types.js +3 -3
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/utils.js +3 -3
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/yaml/builder.js +1 -1
- package/dist/lib/yaml/builder.js.map +1 -1
- package/dist/lib/yaml/index.js +1 -1
- package/dist/lib/yaml/index.js.map +1 -1
- package/dist/lib/yaml/player.js +1 -1
- package/dist/lib/yaml/player.js.map +1 -1
- package/dist/lib/yaml/utils.js +1 -1
- package/dist/lib/yaml/utils.js.map +1 -1
- package/dist/lib/yaml.js +1 -1
- package/dist/lib/yaml.js.map +1 -1
- package/dist/types/agent/agent.d.ts +12 -1
- package/dist/types/agent/index.d.ts +1 -1
- package/dist/types/agent/tasks.d.ts +2 -0
- package/dist/types/ai-model/conversation-history.d.ts +2 -1
- package/dist/types/ai-model/inspect.d.ts +3 -0
- package/dist/types/ai-model/prompt/util.d.ts +4 -1
- package/dist/types/service/index.d.ts +3 -0
- package/dist/types/types.d.ts +21 -0
- package/dist/types/yaml.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SubGoal } from '../../types';
|
|
1
|
+
import type { AIMemory, SubGoal } from '../../types';
|
|
2
2
|
/**
|
|
3
3
|
* Extract content from an XML tag in a string, searching from the end.
|
|
4
4
|
* This approach handles cases where models prepend thinking content (like <think>...</think>)
|
|
@@ -23,6 +23,9 @@ export declare function parseSubGoalsFromXML(xmlContent: string): SubGoal[];
|
|
|
23
23
|
* Extract indexes of sub-goals marked as finished from <mark-sub-goal-done> content
|
|
24
24
|
*/
|
|
25
25
|
export declare function parseMarkFinishedIndexes(xmlContent: string): number[];
|
|
26
|
+
export declare function normalizeAIMemory(memory?: AIMemory): string[];
|
|
27
|
+
export declare function formatAIMemories(memories?: readonly string[]): string;
|
|
28
|
+
export declare function appendAIMemoryToText(text: string, memories?: readonly string[]): string;
|
|
26
29
|
export declare const distanceThreshold = 16;
|
|
27
30
|
export declare function distance(point1: {
|
|
28
31
|
x: number;
|
|
@@ -10,11 +10,14 @@ export type AnyValue<T> = {
|
|
|
10
10
|
};
|
|
11
11
|
interface ServiceOptions {
|
|
12
12
|
taskInfo?: Omit<ServiceTaskInfo, 'durationMs'>;
|
|
13
|
+
memoryRetrieverFn?: () => readonly string[] | Promise<readonly string[]>;
|
|
13
14
|
}
|
|
14
15
|
export default class Service {
|
|
15
16
|
contextRetrieverFn: () => Promise<UIContext> | UIContext;
|
|
16
17
|
taskInfo?: Omit<ServiceTaskInfo, 'durationMs'>;
|
|
18
|
+
private memoryRetrieverFn?;
|
|
17
19
|
constructor(context: UIContext | (() => Promise<UIContext> | UIContext), opt?: ServiceOptions);
|
|
20
|
+
private getAIMemory;
|
|
18
21
|
locate(query: PlanningLocateParam, opt: LocateOpts, modelConfig: IModelConfig, abortSignal?: AbortSignal): Promise<LocateResultWithDump>;
|
|
19
22
|
extract<T>(dataDemand: ServiceExtractParam, modelConfig: IModelConfig, opt?: ServiceExtractOption, pageDescription?: string, multimodalPrompt?: TMultimodalPrompt, context?: UIContext): Promise<ServiceExtractResult<T>>;
|
|
20
23
|
describe(target: Rect | [number, number], modelConfig: IModelConfig, opt?: {
|
package/dist/types/types.d.ts
CHANGED
|
@@ -177,6 +177,8 @@ export type ServiceAssertionResponse = AIAssertionResponse & {
|
|
|
177
177
|
* agent
|
|
178
178
|
*/
|
|
179
179
|
export type OnTaskStartTip = (tip: string) => Promise<void> | void;
|
|
180
|
+
export type AIMemory = string | readonly string[];
|
|
181
|
+
export type AIMemoryRetriever = () => AIMemory | Promise<AIMemory>;
|
|
180
182
|
export interface AgentWaitForOpt extends ServiceExtractOption {
|
|
181
183
|
checkIntervalMs?: number;
|
|
182
184
|
timeoutMs?: number;
|
|
@@ -601,6 +603,25 @@ export interface AgentOpt {
|
|
|
601
603
|
*/
|
|
602
604
|
outputFormat?: 'single-html' | 'html-and-external-assets';
|
|
603
605
|
onTaskStartTip?: OnTaskStartTip;
|
|
606
|
+
/**
|
|
607
|
+
* User-provided memories that will be included in model calls.
|
|
608
|
+
* Use this for stable task knowledge such as account hints, domain rules,
|
|
609
|
+
* app-specific labels, or previous facts the model should consider.
|
|
610
|
+
*/
|
|
611
|
+
aiMemory?: AIMemory;
|
|
612
|
+
/**
|
|
613
|
+
* Alias for aiMemory.
|
|
614
|
+
*/
|
|
615
|
+
memory?: AIMemory;
|
|
616
|
+
/**
|
|
617
|
+
* Dynamically resolves memories before each model call. Useful for services
|
|
618
|
+
* that maintain memory outside the Agent, for example in a database or cache.
|
|
619
|
+
*/
|
|
620
|
+
aiMemoryRetriever?: AIMemoryRetriever;
|
|
621
|
+
/**
|
|
622
|
+
* Alias for aiMemoryRetriever.
|
|
623
|
+
*/
|
|
624
|
+
memoryRetriever?: AIMemoryRetriever;
|
|
604
625
|
aiActContext?: string;
|
|
605
626
|
aiActionContext?: string;
|
|
606
627
|
reportFileName?: string;
|
package/dist/types/yaml.d.ts
CHANGED
|
@@ -62,12 +62,14 @@ export interface MidsceneYamlTask {
|
|
|
62
62
|
* groupName: "E2E Test Suite"
|
|
63
63
|
* generateReport: true
|
|
64
64
|
* replanningCycleLimit: 30
|
|
65
|
+
* aiMemory:
|
|
66
|
+
* - "The Settings tab is represented by a gear icon."
|
|
65
67
|
* cache:
|
|
66
68
|
* id: "checkout-cache"
|
|
67
69
|
* strategy: "read-write"
|
|
68
70
|
* ```
|
|
69
71
|
*/
|
|
70
|
-
export type MidsceneYamlScriptAgentOpt = Pick<AgentOpt, 'testId' | 'groupName' | 'groupDescription' | 'generateReport' | 'persistExecutionDump' | 'autoPrintReportMsg' | 'reportFileName' | 'replanningCycleLimit' | 'aiActContext' | 'aiActionContext' | 'cache' | 'screenshotShrinkFactor'>;
|
|
72
|
+
export type MidsceneYamlScriptAgentOpt = Pick<AgentOpt, 'testId' | 'groupName' | 'groupDescription' | 'generateReport' | 'persistExecutionDump' | 'autoPrintReportMsg' | 'reportFileName' | 'replanningCycleLimit' | 'aiMemory' | 'memory' | 'aiActContext' | 'aiActionContext' | 'cache' | 'screenshotShrinkFactor'>;
|
|
71
73
|
export interface MidsceneYamlScriptConfig {
|
|
72
74
|
output?: string;
|
|
73
75
|
unstableLogContent?: boolean | string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiscene/core",
|
|
3
3
|
"description": "Automate browser actions, extract data, and perform assertions using AI. It offers JavaScript SDK, Chrome extension, and support for scripting in YAML. See https://midscenejs.com/ for details.",
|
|
4
|
-
"version": "9.0.
|
|
4
|
+
"version": "9.0.2",
|
|
5
5
|
"repository": "https://github.com/web-infra-dev/midscene",
|
|
6
6
|
"homepage": "https://midscenejs.com/",
|
|
7
7
|
"main": "./dist/lib/index.js",
|