@nexface/agent 0.1.1-alpha.1 → 0.1.1-alpha.10

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 (41) hide show
  1. package/dist/agent.d.ts +4 -8
  2. package/dist/agent.js +696 -319
  3. package/dist/agent.js.map +1 -1
  4. package/dist/browser-prompt.d.ts +1 -1
  5. package/dist/browser-prompt.generated.d.ts +1 -1
  6. package/dist/browser-prompt.generated.js +2 -2
  7. package/dist/errors.d.ts +2 -2
  8. package/dist/errors.js +1 -1
  9. package/dist/errors.js.map +1 -1
  10. package/dist/history-compaction.d.ts +22 -0
  11. package/dist/history-compaction.js +181 -0
  12. package/dist/history-compaction.js.map +1 -0
  13. package/dist/index.d.ts +2 -3
  14. package/dist/index.js +0 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/model/binding.d.ts +4 -0
  17. package/dist/model/binding.js.map +1 -1
  18. package/dist/models/{42.js → 39.js} +236 -42
  19. package/dist/models/851.js +10 -0
  20. package/dist/models/_chunks/{anthropic-messages~1-a838a7c1.js → anthropic-messages~1-d35e3e7d.js} +1 -1
  21. package/dist/models/_chunks/{google-generative-ai~1-5ceee40d.js → google-generative-ai~1-2ba71457.js} +1 -1
  22. package/dist/models/_chunks/{openai-completions~1-396a5c3a.js → openai-completions~1-b340f0e0.js} +1 -1
  23. package/dist/models/_chunks/{openai-responses~1-2b3e0291.js → openai-responses~1-b53c65c2.js} +1 -1
  24. package/dist/models/anthropic-messages.d.ts +1 -1
  25. package/dist/models/anthropic-messages.js +3 -3
  26. package/dist/models/google-generative-ai.d.ts +1 -1
  27. package/dist/models/google-generative-ai.js +3 -3
  28. package/dist/models/openai-completions.js +6 -3
  29. package/dist/models/openai-responses.js +6 -3
  30. package/dist/request.d.ts +95 -0
  31. package/dist/request.js +238 -0
  32. package/dist/request.js.map +1 -0
  33. package/dist/tool-bridge.js +11 -73
  34. package/dist/tool-bridge.js.map +1 -1
  35. package/dist/tool-result.d.ts +1 -0
  36. package/dist/tool-result.js +12 -0
  37. package/dist/tool-result.js.map +1 -0
  38. package/dist/types.d.ts +26 -42
  39. package/dist/types.js.map +1 -1
  40. package/package.json +12 -8
  41. package/dist/models/663.js +0 -5
@@ -0,0 +1,12 @@
1
+ export function getToolResultError(content) {
2
+ try {
3
+ const error = JSON.parse(content)?.error;
4
+ if (typeof error === "string")
5
+ return error;
6
+ if (error && typeof error === "object" && "message" in error && typeof error.message === "string")
7
+ return error.message;
8
+ }
9
+ catch { /* Tool results may contain plain text. */ }
10
+ return undefined;
11
+ }
12
+ //# sourceMappingURL=tool-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../src/tool-result.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IAC1H,CAAC;IAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,10 +1,12 @@
1
- import type { ToolRuntime, AgentToolInputSchema } from "@nexface/tools";
1
+ import type { RunAgentInput } from "./request.js";
2
+ import type { AgentToolInputSchema } from "@nexface/tools";
2
3
  import type { AgentModelConfig, AgentModelInfo } from "./model/types.js";
3
- import type { ToolBridge } from "./tool-bridge.js";
4
- import type { TextInputContent, ImageInputContent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent } from "@ag-ui/core";
4
+ import type { TextInputContent, ImageInputContent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, CustomEvent, MessagesSnapshotEvent, StateSnapshotEvent, Message } from "@ag-ui/core";
5
5
  export type AgentInputContent = TextInputContent | ImageInputContent;
6
6
  export declare const agentBrand: unique symbol;
7
7
  export type AgentMessage = {
8
+ id?: string;
9
+ } & ({
8
10
  role: "system";
9
11
  content: string;
10
12
  } | {
@@ -27,7 +29,7 @@ export type AgentMessage = {
27
29
  toolCallId: string;
28
30
  name: string;
29
31
  content: string;
30
- };
32
+ });
31
33
  export interface AgentModelToolCall {
32
34
  id: string;
33
35
  name: string;
@@ -54,7 +56,7 @@ export interface AgentRunOptions {
54
56
  signal?: AbortSignal;
55
57
  }
56
58
  /**
57
- * @experimental Human-in-the-loop approval descriptor.
59
+ * @experimental Human-in-the-loop approval descriptor; ordinary completed Runs are not experimental.
58
60
  * @beta
59
61
  */
60
62
  export type ToolApprovalInterruptDescriptor = {
@@ -74,72 +76,54 @@ export type ToolApprovalInterruptDescriptor = {
74
76
  readonly mode: "page";
75
77
  });
76
78
  export type AgentRunResult = {
77
- readonly status: "completed";
79
+ readonly outcome: Extract<NonNullable<RunFinishedEvent["outcome"]>, {
80
+ type: "success";
81
+ }>;
78
82
  readonly output: string;
79
83
  } | {
80
- /**
81
- * @experimental Human-in-the-loop interruption; ordinary completed Runs are not experimental.
82
- * @beta
83
- */
84
- readonly status: "interrupted";
85
- /**
86
- * @experimental Human-in-the-loop approval descriptor.
87
- * @beta
88
- */
89
- readonly interrupt: ToolApprovalInterruptDescriptor;
84
+ readonly outcome: Extract<NonNullable<RunFinishedEvent["outcome"]>, {
85
+ type: "interrupt";
86
+ }>;
87
+ readonly output?: never;
90
88
  };
91
- export type AgentRunEvent = RunStartedEvent | RunFinishedEvent | RunErrorEvent | TextMessageStartEvent | TextMessageContentEvent | TextMessageEndEvent | ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent | ToolCallResultEvent;
89
+ export type AgentRunEvent = RunStartedEvent | RunFinishedEvent | RunErrorEvent | TextMessageStartEvent | TextMessageContentEvent | TextMessageEndEvent | ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent | ToolCallResultEvent | CustomEvent | MessagesSnapshotEvent | StateSnapshotEvent;
92
90
  export interface AgentRun extends AsyncIterable<AgentRunEvent> {
93
91
  readonly id: string;
94
92
  readonly result: Promise<AgentRunResult>;
95
93
  cancel(): void;
94
+ toResponse(): Response;
96
95
  }
97
96
  export type AgentRunInput = {
98
- readonly message: {
99
- readonly content: string | readonly AgentInputContent[];
100
- };
101
- readonly resume?: never;
102
- } | {
103
- readonly message?: never;
97
+ readonly messages?: readonly Message[];
104
98
  /**
105
- * @experimental Resumes a human-in-the-loop Chat approval.
99
+ * @experimental Responds to a pending tool interrupt.
106
100
  * @beta
107
101
  */
108
- readonly resume: readonly [
102
+ readonly resume?: readonly [
109
103
  {
110
104
  readonly interruptId: string;
105
+ } & ({
111
106
  readonly status: "resolved";
112
107
  readonly payload: {
113
108
  readonly approved: boolean;
114
109
  };
115
- readonly metadata?: Readonly<Record<string, unknown>>;
116
- }
110
+ } | {
111
+ readonly status: "cancelled";
112
+ readonly payload?: never;
113
+ })
117
114
  ];
115
+ readonly threadId?: never;
118
116
  };
119
117
  export interface AgentSkill {
120
118
  readonly name: string;
121
119
  readonly description: string;
122
120
  readonly instructions: string;
123
121
  }
124
- export type CreateAgentOptions = {
125
- model: AgentModelConfig;
126
- skills?: readonly AgentSkill[];
127
- maxSteps?: number;
128
- maxRetries?: number;
129
- applicationContext?: {
130
- maxSizeBytes?: number;
131
- };
132
- } & ({
133
- toolRuntime: ToolRuntime;
134
- toolBridge?: never;
135
- } | {
136
- toolBridge: ToolBridge;
137
- toolRuntime?: never;
138
- });
139
122
  export interface Agent {
140
123
  readonly [agentBrand]: true;
141
124
  readonly id: string;
142
125
  readonly model: AgentModelInfo;
143
126
  switchModel(model: AgentModelConfig): Promise<void>;
144
127
  run(input: AgentRunInput, options?: AgentRunOptions): AgentRun;
128
+ runRequest(input: RunAgentInput, options?: AgentRunOptions): AgentRun;
145
129
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,gBAAgB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexface/agent",
3
- "version": "0.1.1-alpha.1",
3
+ "version": "0.1.1-alpha.10",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22.19.0"
@@ -34,13 +34,17 @@
34
34
  "dependencies": {
35
35
  "@ag-ui/core": "0.0.59"
36
36
  },
37
+ "devDependencies": {
38
+ "@earendil-works/pi-ai": "0.84.1",
39
+ "@rslib/core": "0.23.2",
40
+ "rspack-1-7": "npm:@rspack/core@1.7.12",
41
+ "@nexface/tools": "0.1.1-alpha.10"
42
+ },
37
43
  "peerDependencies": {
38
- "@nexface/tools": "0.1.1-alpha.1"
44
+ "@nexface/tools": "0.1.1-alpha.10"
39
45
  },
40
- "gitHead": "d3cb178f7fb2c4b0ed71d2491aa6253cf275ad67",
41
- "publishConfig": {
42
- "access": "public",
43
- "tag": "alpha",
44
- "registry": "https://registry.npmjs.org"
46
+ "scripts": {
47
+ "build": "node ../../scripts/generate-browser-tools-skill.mjs --check && node scripts/clean.mjs && tsc -p tsconfig.json && rslib build && node scripts/clean-model-output.mjs",
48
+ "typecheck": "node ../../scripts/generate-browser-tools-skill.mjs --check && tsc -p tsconfig.json --noEmit"
45
49
  }
46
- }
50
+ }
@@ -1,5 +0,0 @@
1
- function flattenModelCatalog(_provider, groups) {
2
- return Object.assign({}, ...Object.values(groups));
3
- }
4
- //# sourceMappingURL=model-catalog.js.map
5
- export { flattenModelCatalog };