@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.
Files changed (154) hide show
  1. package/dist/es/agent/agent.mjs +51 -1
  2. package/dist/es/agent/agent.mjs.map +1 -1
  3. package/dist/es/agent/tasks.mjs +7 -1
  4. package/dist/es/agent/tasks.mjs.map +1 -1
  5. package/dist/es/agent/utils.mjs +1 -1
  6. package/dist/es/ai-model/auto-glm/planning.mjs +2 -1
  7. package/dist/es/ai-model/auto-glm/planning.mjs.map +1 -1
  8. package/dist/es/ai-model/conversation-history.mjs +4 -0
  9. package/dist/es/ai-model/conversation-history.mjs.map +1 -1
  10. package/dist/es/ai-model/inspect.mjs +4 -3
  11. package/dist/es/ai-model/inspect.mjs.map +1 -1
  12. package/dist/es/ai-model/prompt/util.mjs +18 -1
  13. package/dist/es/ai-model/prompt/util.mjs.map +1 -1
  14. package/dist/es/ai-model/ui-tars-planning.mjs +6 -2
  15. package/dist/es/ai-model/ui-tars-planning.mjs.map +1 -1
  16. package/dist/es/report-generator.mjs.map +1 -1
  17. package/dist/es/service/index.mjs +21 -1
  18. package/dist/es/service/index.mjs.map +1 -1
  19. package/dist/es/types.mjs.map +1 -1
  20. package/dist/es/utils.mjs +2 -2
  21. package/dist/lib/agent/agent.js +52 -2
  22. package/dist/lib/agent/agent.js.map +1 -1
  23. package/dist/lib/agent/execution-session.js +1 -1
  24. package/dist/lib/agent/execution-session.js.map +1 -1
  25. package/dist/lib/agent/index.js +1 -1
  26. package/dist/lib/agent/index.js.map +1 -1
  27. package/dist/lib/agent/task-builder.js +1 -1
  28. package/dist/lib/agent/task-builder.js.map +1 -1
  29. package/dist/lib/agent/task-cache.js +1 -1
  30. package/dist/lib/agent/task-cache.js.map +1 -1
  31. package/dist/lib/agent/tasks.js +8 -2
  32. package/dist/lib/agent/tasks.js.map +1 -1
  33. package/dist/lib/agent/ui-utils.js +1 -1
  34. package/dist/lib/agent/ui-utils.js.map +1 -1
  35. package/dist/lib/agent/usage-intent.js +1 -1
  36. package/dist/lib/agent/usage-intent.js.map +1 -1
  37. package/dist/lib/agent/utils.js +2 -2
  38. package/dist/lib/agent/utils.js.map +1 -1
  39. package/dist/lib/ai-model/auto-glm/actions.js +1 -1
  40. package/dist/lib/ai-model/auto-glm/actions.js.map +1 -1
  41. package/dist/lib/ai-model/auto-glm/index.js +1 -1
  42. package/dist/lib/ai-model/auto-glm/index.js.map +1 -1
  43. package/dist/lib/ai-model/auto-glm/parser.js +1 -1
  44. package/dist/lib/ai-model/auto-glm/parser.js.map +1 -1
  45. package/dist/lib/ai-model/auto-glm/planning.js +3 -2
  46. package/dist/lib/ai-model/auto-glm/planning.js.map +1 -1
  47. package/dist/lib/ai-model/auto-glm/prompt.js +1 -1
  48. package/dist/lib/ai-model/auto-glm/prompt.js.map +1 -1
  49. package/dist/lib/ai-model/auto-glm/util.js +1 -1
  50. package/dist/lib/ai-model/auto-glm/util.js.map +1 -1
  51. package/dist/lib/ai-model/connectivity.js +1 -1
  52. package/dist/lib/ai-model/connectivity.js.map +1 -1
  53. package/dist/lib/ai-model/conversation-history.js +5 -1
  54. package/dist/lib/ai-model/conversation-history.js.map +1 -1
  55. package/dist/lib/ai-model/index.js +1 -1
  56. package/dist/lib/ai-model/index.js.map +1 -1
  57. package/dist/lib/ai-model/inspect.js +5 -4
  58. package/dist/lib/ai-model/inspect.js.map +1 -1
  59. package/dist/lib/ai-model/llm-planning.js +1 -1
  60. package/dist/lib/ai-model/llm-planning.js.map +1 -1
  61. package/dist/lib/ai-model/prompt/common.js +1 -1
  62. package/dist/lib/ai-model/prompt/common.js.map +1 -1
  63. package/dist/lib/ai-model/prompt/describe.js +1 -1
  64. package/dist/lib/ai-model/prompt/describe.js.map +1 -1
  65. package/dist/lib/ai-model/prompt/extraction.js +1 -1
  66. package/dist/lib/ai-model/prompt/extraction.js.map +1 -1
  67. package/dist/lib/ai-model/prompt/llm-locator.js +1 -1
  68. package/dist/lib/ai-model/prompt/llm-locator.js.map +1 -1
  69. package/dist/lib/ai-model/prompt/llm-planning.js +1 -1
  70. package/dist/lib/ai-model/prompt/llm-planning.js.map +1 -1
  71. package/dist/lib/ai-model/prompt/llm-section-locator.js +1 -1
  72. package/dist/lib/ai-model/prompt/llm-section-locator.js.map +1 -1
  73. package/dist/lib/ai-model/prompt/order-sensitive-judge.js +1 -1
  74. package/dist/lib/ai-model/prompt/order-sensitive-judge.js.map +1 -1
  75. package/dist/lib/ai-model/prompt/playwright-generator.js +1 -1
  76. package/dist/lib/ai-model/prompt/playwright-generator.js.map +1 -1
  77. package/dist/lib/ai-model/prompt/ui-tars-planning.js +1 -1
  78. package/dist/lib/ai-model/prompt/ui-tars-planning.js.map +1 -1
  79. package/dist/lib/ai-model/prompt/util.js +27 -1
  80. package/dist/lib/ai-model/prompt/util.js.map +1 -1
  81. package/dist/lib/ai-model/prompt/yaml-generator.js +1 -1
  82. package/dist/lib/ai-model/prompt/yaml-generator.js.map +1 -1
  83. package/dist/lib/ai-model/service-caller/codex-app-server.js +1 -1
  84. package/dist/lib/ai-model/service-caller/codex-app-server.js.map +1 -1
  85. package/dist/lib/ai-model/service-caller/image-detail.js +1 -1
  86. package/dist/lib/ai-model/service-caller/image-detail.js.map +1 -1
  87. package/dist/lib/ai-model/service-caller/index.js +1 -1
  88. package/dist/lib/ai-model/service-caller/index.js.map +1 -1
  89. package/dist/lib/ai-model/service-caller/request-timeout.js +1 -1
  90. package/dist/lib/ai-model/service-caller/request-timeout.js.map +1 -1
  91. package/dist/lib/ai-model/ui-tars-planning.js +7 -3
  92. package/dist/lib/ai-model/ui-tars-planning.js.map +1 -1
  93. package/dist/lib/common.js +1 -1
  94. package/dist/lib/common.js.map +1 -1
  95. package/dist/lib/device/device-options.js +1 -1
  96. package/dist/lib/device/device-options.js.map +1 -1
  97. package/dist/lib/device/index.js +1 -1
  98. package/dist/lib/device/index.js.map +1 -1
  99. package/dist/lib/dump/html-utils.js +1 -1
  100. package/dist/lib/dump/html-utils.js.map +1 -1
  101. package/dist/lib/dump/index.js +1 -1
  102. package/dist/lib/dump/index.js.map +1 -1
  103. package/dist/lib/dump/screenshot-restoration.js +1 -1
  104. package/dist/lib/dump/screenshot-restoration.js.map +1 -1
  105. package/dist/lib/dump/screenshot-store.js +1 -1
  106. package/dist/lib/dump/screenshot-store.js.map +1 -1
  107. package/dist/lib/index.js +1 -1
  108. package/dist/lib/index.js.map +1 -1
  109. package/dist/lib/report-cli.js +1 -1
  110. package/dist/lib/report-cli.js.map +1 -1
  111. package/dist/lib/report-generator.js +1 -1
  112. package/dist/lib/report-generator.js.map +1 -1
  113. package/dist/lib/report-markdown.js +1 -1
  114. package/dist/lib/report-markdown.js.map +1 -1
  115. package/dist/lib/report.js +1 -1
  116. package/dist/lib/report.js.map +1 -1
  117. package/dist/lib/screenshot-item.js +1 -1
  118. package/dist/lib/screenshot-item.js.map +1 -1
  119. package/dist/lib/service/index.js +22 -2
  120. package/dist/lib/service/index.js.map +1 -1
  121. package/dist/lib/service/utils.js +1 -1
  122. package/dist/lib/service/utils.js.map +1 -1
  123. package/dist/lib/skill/index.js +1 -1
  124. package/dist/lib/skill/index.js.map +1 -1
  125. package/dist/lib/task-runner.js +1 -1
  126. package/dist/lib/task-runner.js.map +1 -1
  127. package/dist/lib/task-timing.js +1 -1
  128. package/dist/lib/task-timing.js.map +1 -1
  129. package/dist/lib/tree.js +1 -1
  130. package/dist/lib/tree.js.map +1 -1
  131. package/dist/lib/types.js +3 -3
  132. package/dist/lib/types.js.map +1 -1
  133. package/dist/lib/utils.js +3 -3
  134. package/dist/lib/utils.js.map +1 -1
  135. package/dist/lib/yaml/builder.js +1 -1
  136. package/dist/lib/yaml/builder.js.map +1 -1
  137. package/dist/lib/yaml/index.js +1 -1
  138. package/dist/lib/yaml/index.js.map +1 -1
  139. package/dist/lib/yaml/player.js +1 -1
  140. package/dist/lib/yaml/player.js.map +1 -1
  141. package/dist/lib/yaml/utils.js +1 -1
  142. package/dist/lib/yaml/utils.js.map +1 -1
  143. package/dist/lib/yaml.js +1 -1
  144. package/dist/lib/yaml.js.map +1 -1
  145. package/dist/types/agent/agent.d.ts +12 -1
  146. package/dist/types/agent/index.d.ts +1 -1
  147. package/dist/types/agent/tasks.d.ts +2 -0
  148. package/dist/types/ai-model/conversation-history.d.ts +2 -1
  149. package/dist/types/ai-model/inspect.d.ts +3 -0
  150. package/dist/types/ai-model/prompt/util.d.ts +4 -1
  151. package/dist/types/service/index.d.ts +3 -0
  152. package/dist/types/types.d.ts +21 -0
  153. package/dist/types/yaml.d.ts +3 -1
  154. 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?: {
@@ -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;
@@ -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.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",