newmark-agent 0.5.14 → 0.5.15
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/conversation-utility-host.bundle.cjs +3373 -1900
- package/dist/conversation-utility-host.js +1 -1
- package/dist/core/agent.d.ts +105 -14
- package/dist/core/agent.js +658 -104
- package/dist/core/agentKernel/agent.d.ts +1 -0
- package/dist/core/agentKernel/agent.js +9 -0
- package/dist/core/agentKernelDiagnostics.d.ts +4 -6
- package/dist/core/agentKernelDiagnostics.js +12 -9
- package/dist/core/agentKernelRunner.d.ts +5 -0
- package/dist/core/agentKernelRunner.js +236 -85
- package/dist/core/autoRouter.js +16 -3
- package/dist/core/conversationCommandState.d.ts +17 -0
- package/dist/core/conversationCommandState.js +140 -0
- package/dist/core/conversationKernel.d.ts +25 -4
- package/dist/core/conversationKernel.js +347 -83
- package/dist/core/conversationListEvent.d.ts +6 -0
- package/dist/core/conversationListEvent.js +14 -0
- package/dist/core/electronUtilityAgentClient.d.ts +4 -1
- package/dist/core/electronUtilityAgentClient.js +4 -4
- package/dist/core/electronUtilityRuntimePool.d.ts +8 -2
- package/dist/core/electronUtilityRuntimePool.js +11 -5
- package/dist/core/installUpdate.js +41 -29
- package/dist/core/providerUsageAccounting.d.ts +47 -0
- package/dist/core/providerUsageAccounting.js +71 -0
- package/dist/core/requestContextEstimate.d.ts +18 -0
- package/dist/core/requestContextEstimate.js +54 -0
- package/dist/core/subagent.d.ts +89 -5
- package/dist/core/subagent.js +264 -41
- package/dist/core/subagentCommunication.d.ts +43 -0
- package/dist/core/subagentCommunication.js +167 -0
- package/dist/core/types.d.ts +32 -1
- package/dist/core/utilityAgentProtocol.d.ts +4 -0
- package/dist/core/workEventCoalescer.js +4 -1
- package/dist/core/wslAgentClient.d.ts +18 -5
- package/dist/core/wslAgentClient.js +79 -27
- package/dist/core/wslAgentProtocol.d.ts +7 -0
- package/dist/core/wslAgentRuntimePool.d.ts +8 -2
- package/dist/core/wslAgentRuntimePool.js +19 -6
- package/dist/core/wslRuntimeProcessTree.d.ts +10 -0
- package/dist/core/wslRuntimeProcessTree.js +104 -0
- package/dist/llm/provider.d.ts +5 -12
- package/dist/llm/provider.js +148 -267
- package/dist/main.js +582 -356
- package/dist/preload.js +3 -3
- package/dist/providers/chat-completions.adapter.d.ts +2 -0
- package/dist/providers/chat-completions.adapter.js +84 -36
- package/dist/providers/provider-adapter.d.ts +2 -0
- package/dist/providers/provider-events.d.ts +23 -14
- package/dist/providers/provider-events.js +148 -43
- package/dist/providers/provider-headers.d.ts +7 -3
- package/dist/providers/provider-headers.js +109 -39
- package/dist/providers/provider-request-compat.d.ts +6 -0
- package/dist/providers/provider-request-compat.js +37 -0
- package/dist/providers/responses.adapter.d.ts +2 -0
- package/dist/providers/responses.adapter.js +192 -126
- package/dist/server.d.ts +9 -2
- package/dist/server.js +100 -24
- package/dist/tools/index.js +17 -1
- package/dist/ui/index.html +2374 -616
- package/dist/ui/lucide-sprite.svg +7 -0
- package/dist/ui/startup.html +6 -6
- package/dist/wsl-agent-host.bundle.cjs +3381 -1906
- package/dist/wsl-agent-host.js +9 -4
- package/package.json +23 -4
|
@@ -50,6 +50,7 @@ export declare class Agent {
|
|
|
50
50
|
message: AgentMessage;
|
|
51
51
|
queueMode: 'steer' | 'followUp';
|
|
52
52
|
}>;
|
|
53
|
+
removeQueuedMessages(predicate: (message: unknown, queueMode: 'steer' | 'followUp') => boolean): number;
|
|
53
54
|
waitForIdle(): Promise<void>;
|
|
54
55
|
abort(): void;
|
|
55
56
|
prompt(message: string | AgentMessage | AgentMessage[], images?: ImageContent[]): Promise<void>;
|
|
@@ -54,6 +54,11 @@ class PendingMessageQueue {
|
|
|
54
54
|
this.messages = [];
|
|
55
55
|
return all;
|
|
56
56
|
}
|
|
57
|
+
removeWhere(predicate) {
|
|
58
|
+
const before = this.messages.length;
|
|
59
|
+
this.messages = this.messages.filter(message => !predicate(message));
|
|
60
|
+
return before - this.messages.length;
|
|
61
|
+
}
|
|
57
62
|
clear() { this.messages = []; }
|
|
58
63
|
open() { this.accepting = true; }
|
|
59
64
|
closeAndDrain() {
|
|
@@ -121,6 +126,10 @@ class Agent {
|
|
|
121
126
|
...this.followUpQueue.drainAll().map(message => ({ message, queueMode: 'followUp' })),
|
|
122
127
|
];
|
|
123
128
|
}
|
|
129
|
+
removeQueuedMessages(predicate) {
|
|
130
|
+
return this.steeringQueue.removeWhere(message => predicate(message, 'steer'))
|
|
131
|
+
+ this.followUpQueue.removeWhere(message => predicate(message, 'followUp'));
|
|
132
|
+
}
|
|
124
133
|
waitForIdle() { return this.activeRun?.promise || Promise.resolve(); }
|
|
125
134
|
abort() { this.activeRun?.abortController.abort(); }
|
|
126
135
|
async prompt(message, images) {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type UsageNormalizationOptions } from '../providers/provider-events';
|
|
2
|
+
import type { StreamToken } from './types';
|
|
1
3
|
export type AgentKernelDiagnosticEvent = {
|
|
2
4
|
type: 'request_context';
|
|
3
5
|
at: string;
|
|
@@ -22,6 +24,7 @@ export type AgentKernelDiagnosticEvent = {
|
|
|
22
24
|
};
|
|
23
25
|
export declare function setAgentKernelDiagnosticSink(sink: ((event: AgentKernelDiagnosticEvent) => void) | null): void;
|
|
24
26
|
export declare function agentKernelDiagnosticsEnabled(): boolean;
|
|
27
|
+
export declare function agentKernelDiagnosticsRequested(): boolean;
|
|
25
28
|
export declare function emitRequestContextDiagnostic(input: {
|
|
26
29
|
conversationId?: string;
|
|
27
30
|
systemPrompt?: string;
|
|
@@ -39,10 +42,5 @@ export declare function emitProviderUsageDiagnostic(input: {
|
|
|
39
42
|
}): Extract<AgentKernelDiagnosticEvent, {
|
|
40
43
|
type: 'provider_usage';
|
|
41
44
|
}>;
|
|
42
|
-
export declare function extractProviderUsage(payload: unknown):
|
|
43
|
-
input: number;
|
|
44
|
-
output: number;
|
|
45
|
-
cacheRead: number;
|
|
46
|
-
cacheWrite: number;
|
|
47
|
-
};
|
|
45
|
+
export declare function extractProviderUsage(payload: unknown, options?: UsageNormalizationOptions): NonNullable<StreamToken['usage']>;
|
|
48
46
|
//# sourceMappingURL=agentKernelDiagnostics.d.ts.map
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setAgentKernelDiagnosticSink = setAgentKernelDiagnosticSink;
|
|
4
4
|
exports.agentKernelDiagnosticsEnabled = agentKernelDiagnosticsEnabled;
|
|
5
|
+
exports.agentKernelDiagnosticsRequested = agentKernelDiagnosticsRequested;
|
|
5
6
|
exports.emitRequestContextDiagnostic = emitRequestContextDiagnostic;
|
|
6
7
|
exports.emitProviderUsageDiagnostic = emitProviderUsageDiagnostic;
|
|
7
8
|
exports.extractProviderUsage = extractProviderUsage;
|
|
8
9
|
const crypto_1 = require("crypto");
|
|
10
|
+
const provider_events_1 = require("../providers/provider-events");
|
|
9
11
|
let diagnosticSink = null;
|
|
10
12
|
function setAgentKernelDiagnosticSink(sink) {
|
|
11
13
|
diagnosticSink = sink;
|
|
@@ -13,6 +15,9 @@ function setAgentKernelDiagnosticSink(sink) {
|
|
|
13
15
|
function agentKernelDiagnosticsEnabled() {
|
|
14
16
|
return process.env.NEWMARK_KERNEL_DIAGNOSTICS === '1';
|
|
15
17
|
}
|
|
18
|
+
function agentKernelDiagnosticsRequested() {
|
|
19
|
+
return diagnosticSink !== null || agentKernelDiagnosticsEnabled();
|
|
20
|
+
}
|
|
16
21
|
function emitRequestContextDiagnostic(input) {
|
|
17
22
|
const systemPrompt = String(input.systemPrompt || '');
|
|
18
23
|
const messages = Array.isArray(input.messages) ? input.messages : [];
|
|
@@ -55,16 +60,14 @@ function emitProviderUsageDiagnostic(input) {
|
|
|
55
60
|
console.error(`[NewmarkKernelDiagnostic] ${JSON.stringify(event)}`);
|
|
56
61
|
return event;
|
|
57
62
|
}
|
|
58
|
-
function extractProviderUsage(payload) {
|
|
59
|
-
const
|
|
60
|
-
const usage = root.usage && typeof root.usage === 'object' ? root.usage : root;
|
|
61
|
-
const inputDetails = usage.input_tokens_details || usage.prompt_tokens_details || {};
|
|
62
|
-
const cacheCreation = usage.cache_creation_input_tokens ?? usage.cache_write_input_tokens ?? inputDetails.cache_write_tokens;
|
|
63
|
+
function extractProviderUsage(payload, options = {}) {
|
|
64
|
+
const usage = (0, provider_events_1.normalizeProviderUsage)(payload, options);
|
|
63
65
|
return {
|
|
64
|
-
input:
|
|
65
|
-
output:
|
|
66
|
-
cacheRead:
|
|
67
|
-
cacheWrite:
|
|
66
|
+
input: usage?.inputTokens ?? 0,
|
|
67
|
+
output: usage?.outputTokens ?? 0,
|
|
68
|
+
cacheRead: usage?.cacheReadTokens ?? 0,
|
|
69
|
+
cacheWrite: usage?.cacheWriteTokens ?? 0,
|
|
70
|
+
reported: usage?.reported ?? { input: false, output: false, cacheRead: false, cacheWrite: false },
|
|
68
71
|
};
|
|
69
72
|
}
|
|
70
73
|
function fingerprint(value) {
|
|
@@ -120,6 +120,11 @@ declare class ToolProvisionSession {
|
|
|
120
120
|
constructor(catalog: unknown[], initial: unknown[]);
|
|
121
121
|
reconcile(catalog: unknown[], initial: unknown[]): void;
|
|
122
122
|
currentDefinitions(): unknown[];
|
|
123
|
+
snapshot(): {
|
|
124
|
+
initialTools: string[];
|
|
125
|
+
provisionedTools: string[];
|
|
126
|
+
};
|
|
127
|
+
restore(initial: string[], provisioned: string[]): void;
|
|
123
128
|
metrics(): ToolProvisionMetrics;
|
|
124
129
|
provision(params: unknown): ToolProvisionResult;
|
|
125
130
|
private search;
|