@myagentroam/agent 0.11.39 → 0.11.40
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/cli/catalog-file.d.ts +2 -0
- package/dist/cli/main.js +11 -4
- package/dist/cli/subagent/control.d.ts +56 -0
- package/dist/cli/subagent/control.js +219 -0
- package/dist/cli/subagent/history.d.ts +17 -0
- package/dist/cli/subagent/history.js +85 -0
- package/dist/cli/subagent/index.d.ts +10 -0
- package/dist/cli/subagent/index.js +94 -0
- package/dist/cli/subagent/native.d.ts +91 -0
- package/dist/cli/subagent/native.js +359 -0
- package/dist/cli/subagent/observations.d.ts +57 -0
- package/dist/cli/subagent/observations.js +351 -0
- package/dist/cli/subagent/query.d.ts +4 -0
- package/dist/cli/subagent/query.js +114 -0
- package/dist/cli/subagent/resources.d.ts +3 -0
- package/dist/cli/subagent/resources.js +112 -0
- package/dist/cli/subagent/snapshot.d.ts +77 -0
- package/dist/cli/subagent/snapshot.js +127 -0
- package/dist/cli/subagent/start.d.ts +24 -0
- package/dist/cli/subagent/start.js +201 -0
- package/dist/cli/subagent/wait-output.d.ts +19 -0
- package/dist/cli/subagent/wait-output.js +56 -0
- package/dist/cli/subagent/wait.d.ts +175 -0
- package/dist/cli/subagent/wait.js +453 -0
- package/dist/extensions/contracts.d.ts +2 -5
- package/dist/extensions/manager.d.ts +0 -2
- package/dist/extensions/manager.js +1 -2
- package/dist/extensions/models.d.ts +3 -0
- package/dist/extensions/operation.d.ts +8 -0
- package/dist/extensions/operation.js +3 -0
- package/dist/extensions/services.d.ts +9 -1
- package/dist/extensions/services.js +26 -3
- package/dist/extensions/session-context.d.ts +18 -0
- package/dist/extensions/session-context.js +4 -0
- package/dist/extensions/session-input.d.ts +2 -2
- package/dist/extensions/session-input.js +3 -4
- package/dist/extensions/session-messages.d.ts +1 -1
- package/dist/extensions/session-tools.js +20 -3
- package/dist/extensions/session.d.ts +1 -4
- package/dist/extensions/session.js +2 -16
- package/dist/extensions/tools.js +21 -3
- package/dist/extensions.d.ts +5 -2
- package/dist/extensions.js +2 -1
- package/dist/host/local-agent-host.d.ts +2 -2
- package/dist/host/local-exec-tool.d.ts +1 -1
- package/dist/host/local-exec-tool.js +28 -3
- package/dist/host/local-tool-registry.d.ts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/model/configuration.d.ts +3 -1
- package/dist/model/configuration.js +1 -0
- package/dist/model/openai-responses.js +5 -0
- package/dist/model/responses-request.js +9 -0
- package/dist/prompts/index.js +1 -3
- package/dist/prompts/resources.d.ts +1 -5
- package/dist/prompts/resources.js +3 -12
- package/dist/prompts/subagent.d.ts +1 -1
- package/dist/prompts/subagent.js +1 -1
- package/dist/runtime/context/gc-candidates-web.d.ts +6 -0
- package/dist/runtime/context/gc-candidates-web.js +53 -1
- package/dist/runtime/context/gc-candidates.js +1 -9
- package/dist/runtime/context/gc.js +19 -11
- package/dist/runtime/context/projection.js +1 -0
- package/dist/runtime/events.d.ts +4 -3
- package/dist/runtime/execution-handle.d.ts +2 -0
- package/dist/runtime/wait.js +12 -2
- package/dist/sdk/agent.js +94 -5
- package/dist/sdk/execution-context-coordinator.d.ts +2 -3
- package/dist/sdk/execution-context-coordinator.js +3 -3
- package/dist/sdk/execution-input.d.ts +3 -4
- package/dist/sdk/execution-input.js +31 -25
- package/dist/sdk/execution-round-preparation.d.ts +1 -1
- package/dist/sdk/execution-round-preparation.js +4 -4
- package/dist/sdk/execution-tool-catalog.js +2 -10
- package/dist/sdk/execution-tool-scope.d.ts +1 -3
- package/dist/sdk/execution-tool-scope.js +10 -12
- package/dist/sdk/extension-models.js +3 -0
- package/dist/sdk/extension-session-launch.d.ts +3 -2
- package/dist/sdk/extension-session-launch.js +2 -3
- package/dist/sdk/extension-tools.js +0 -2
- package/dist/sdk/native-steer.d.ts +2 -2
- package/dist/sdk/native-steer.js +2 -2
- package/dist/sdk/session-composition.d.ts +2 -17
- package/dist/sdk/session-execution-factory.d.ts +2 -3
- package/dist/sdk/session-execution-factory.js +20 -114
- package/dist/sdk/session-execution.d.ts +13 -7
- package/dist/sdk/session-execution.js +11 -3
- package/dist/sdk/session-extension-messages.d.ts +1 -3
- package/dist/sdk/session-extension-messages.js +14 -9
- package/dist/sdk/session-extension-prompt.js +1 -3
- package/dist/sdk/session-maintenance.d.ts +1 -0
- package/dist/sdk/session-maintenance.js +16 -7
- package/dist/sdk/session-open.d.ts +2 -3
- package/dist/sdk/session-open.js +5 -24
- package/dist/sdk/session-runtime.d.ts +19 -8
- package/dist/sdk/session-runtime.js +36 -30
- package/dist/sdk/session.d.ts +3 -2
- package/dist/sdk/session.js +22 -89
- package/dist/sdk/types.d.ts +36 -0
- package/dist/session/catalog.d.ts +22 -1
- package/dist/session/catalog.js +102 -0
- package/dist/session/context-gc-checkpoint.js +30 -1
- package/dist/session/context-gc-contract.d.ts +7 -0
- package/dist/session/context-gc-replacements.d.ts +3 -0
- package/dist/session/context-gc-replacements.js +26 -0
- package/dist/session/store/contracts.d.ts +2 -2
- package/dist/session/store/jsonl/directory-index.d.ts +1 -1
- package/dist/session/store/jsonl/directory-index.js +18 -17
- package/dist/session/store/jsonl/history.js +1 -1
- package/dist/session/store/jsonl/index-transaction.js +2 -8
- package/dist/session/store/jsonl/jsonl-store.d.ts +1 -1
- package/dist/session/store/jsonl/jsonl-store.js +24 -9
- package/dist/session/types.d.ts +1 -0
- package/dist/tools/agent/sleep.js +1 -1
- package/dist/tools/callers.js +1 -12
- package/dist/tools/code-mode/dispatch.js +5 -2
- package/dist/tools/code-mode/index.d.ts +1 -1
- package/dist/tools/code-mode/index.js +2 -0
- package/dist/tools/contracts.d.ts +20 -0
- package/dist/tools/execution-limits.d.ts +5 -20
- package/dist/tools/execution-limits.js +0 -2
- package/dist/tools/execution.js +16 -4
- package/dist/tools/local/exec.js +8 -2
- package/dist/tools/output-projection.d.ts +5 -2
- package/dist/tools/output-projection.js +133 -92
- package/dist/tools/registry.js +1 -13
- package/dist/tools/runtime-context.d.ts +1 -21
- package/package.json +2 -2
- package/dist/extensions/agents.d.ts +0 -100
- package/dist/extensions/agents.js +0 -121
- package/dist/runtime/context/gc-candidates-subagent.d.ts +0 -6
- package/dist/runtime/context/gc-candidates-subagent.js +0 -100
- package/dist/sdk/extension-agent-controller.d.ts +0 -3
- package/dist/sdk/extension-agent-controller.js +0 -69
- package/dist/sdk/extension-agents.d.ts +0 -9
- package/dist/sdk/extension-agents.js +0 -58
- package/dist/sdk/subagent-backend.d.ts +0 -3
- package/dist/sdk/subagent-backend.js +0 -49
- package/dist/subagent/contracts.d.ts +0 -107
- package/dist/subagent/contracts.js +0 -1
- package/dist/subagent/limits.d.ts +0 -17
- package/dist/subagent/limits.js +0 -17
- package/dist/subagent/model-update.d.ts +0 -2
- package/dist/subagent/model-update.js +0 -81
- package/dist/subagent/session-controller.d.ts +0 -87
- package/dist/subagent/session-controller.js +0 -1343
- package/dist/subagent/task.d.ts +0 -134
- package/dist/subagent/task.js +0 -436
- package/dist/subagent/turn-contracts.d.ts +0 -64
- package/dist/subagent/turn-contracts.js +0 -1
- package/dist/subagent/wait-targets.d.ts +0 -10
- package/dist/subagent/wait-targets.js +0 -26
- package/dist/subagent/wait.d.ts +0 -26
- package/dist/subagent/wait.js +0 -73
- package/dist/tools/agent/agent-cancel.d.ts +0 -7
- package/dist/tools/agent/agent-cancel.js +0 -29
- package/dist/tools/agent/agent-message.d.ts +0 -7
- package/dist/tools/agent/agent-message.js +0 -57
- package/dist/tools/agent/agent-start.d.ts +0 -12
- package/dist/tools/agent/agent-start.js +0 -106
- package/dist/tools/agent/agent-wait.d.ts +0 -7
- package/dist/tools/agent/agent-wait.js +0 -91
package/dist/subagent/limits.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export const SUBAGENT_LIMITS = Object.freeze({
|
|
2
|
-
agentWaitMinWaitMs: 0,
|
|
3
|
-
agentWaitWaitFloorMs: 10_000,
|
|
4
|
-
agentWaitDefaultWaitMs: 30_000,
|
|
5
|
-
agentWaitMaxWaitMs: 300_000,
|
|
6
|
-
agentWaitMaxAgents: 8,
|
|
7
|
-
subagentDescriptionMaxCharacters: 80,
|
|
8
|
-
subagentPromptMaxBytes: 131_072,
|
|
9
|
-
subagentMessageMaxBytes: 131_072,
|
|
10
|
-
subagentReasoningEffortMaxCharacters: 64,
|
|
11
|
-
subagentSummaryMaxBytes: 16_384,
|
|
12
|
-
subagentUpdateMaxBytes: 32_768,
|
|
13
|
-
subagentRunningLatestMessageMaxCharacters: 2_000,
|
|
14
|
-
subagentEvidenceMaxItems: 64,
|
|
15
|
-
subagentVerificationMaxItems: 16,
|
|
16
|
-
subagentChangedFilesMaxItems: 200
|
|
17
|
-
});
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { escapeMarkupText, markupAttributes } from '../prompts/markup.js';
|
|
2
|
-
import { SUBAGENT_LIMITS } from './limits.js';
|
|
3
|
-
export function renderSubagentUpdate(snapshot, truncated = false) {
|
|
4
|
-
const attributes = (values) => markupAttributes(Object.fromEntries(Object.entries(values).map(([key, value]) => {
|
|
5
|
-
if (value === undefined)
|
|
6
|
-
return [key, undefined];
|
|
7
|
-
let bounded = '';
|
|
8
|
-
let count = 0;
|
|
9
|
-
for (const point of String(value)) {
|
|
10
|
-
if (count++ === 256) {
|
|
11
|
-
truncated = true;
|
|
12
|
-
break;
|
|
13
|
-
}
|
|
14
|
-
bounded += point;
|
|
15
|
-
}
|
|
16
|
-
return [key, bounded];
|
|
17
|
-
})));
|
|
18
|
-
const root = '<mar_subagent_update' +
|
|
19
|
-
attributes({
|
|
20
|
-
agentId: snapshot.agentId,
|
|
21
|
-
status: snapshot.status,
|
|
22
|
-
modelId: snapshot.modelId,
|
|
23
|
-
modelName: snapshot.modelName,
|
|
24
|
-
reasoningEffort: snapshot.reasoningEffort,
|
|
25
|
-
messageId: snapshot.messageId,
|
|
26
|
-
turnId: snapshot.turnId,
|
|
27
|
-
deliveryStatus: snapshot.deliveryStatus
|
|
28
|
-
});
|
|
29
|
-
const close = '</mar_subagent_update>';
|
|
30
|
-
let remaining = SUBAGENT_LIMITS.subagentUpdateMaxBytes -
|
|
31
|
-
Buffer.byteLength(root + ' truncated="false">\n' + close);
|
|
32
|
-
const lines = [];
|
|
33
|
-
const field = (name, value, metadata = {}, limit = remaining) => {
|
|
34
|
-
let attrs = attributes(metadata);
|
|
35
|
-
const overhead = Buffer.byteLength(' <' + name + attrs + '></' + name + '>\n');
|
|
36
|
-
if (overhead > remaining) {
|
|
37
|
-
truncated = true;
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
let budget = Math.min(limit, remaining - overhead);
|
|
41
|
-
let text = '';
|
|
42
|
-
let clipped = false;
|
|
43
|
-
for (const point of value) {
|
|
44
|
-
const encoded = escapeMarkupText(point);
|
|
45
|
-
const bytes = Buffer.byteLength(encoded);
|
|
46
|
-
if (bytes > budget) {
|
|
47
|
-
clipped = true;
|
|
48
|
-
break;
|
|
49
|
-
}
|
|
50
|
-
text += encoded;
|
|
51
|
-
budget -= bytes;
|
|
52
|
-
}
|
|
53
|
-
if (clipped) {
|
|
54
|
-
truncated = true;
|
|
55
|
-
if ('truncated' in metadata)
|
|
56
|
-
attrs = attributes({ ...metadata, truncated: true });
|
|
57
|
-
}
|
|
58
|
-
const opening = ' <' + name + attrs;
|
|
59
|
-
const line = text === '' ? opening + ' />\n' : opening + '>' + text + '</' + name + '>\n';
|
|
60
|
-
remaining -= Buffer.byteLength(line);
|
|
61
|
-
lines.push(line);
|
|
62
|
-
};
|
|
63
|
-
// Preserve failure/permission facts before spending the remaining budget on result text.
|
|
64
|
-
if (snapshot.errorCode !== undefined || snapshot.errorMessage !== undefined)
|
|
65
|
-
field('error', snapshot.errorMessage ?? '', { code: snapshot.errorCode }, 1024);
|
|
66
|
-
if (snapshot.permissionStop)
|
|
67
|
-
field('permission_stop', snapshot.permissionStop.reason, { action: snapshot.permissionStop.action, ...snapshot.permissionStop.source }, 1024);
|
|
68
|
-
field('description', snapshot.description, {}, 1024);
|
|
69
|
-
if (snapshot.latestMessage) {
|
|
70
|
-
const { text, ...metadata } = snapshot.latestMessage;
|
|
71
|
-
truncated ||= metadata.truncated;
|
|
72
|
-
field('message', text, metadata, SUBAGENT_LIMITS.subagentSummaryMaxBytes);
|
|
73
|
-
}
|
|
74
|
-
if (snapshot.summary !== undefined)
|
|
75
|
-
field('summary', snapshot.summary);
|
|
76
|
-
for (const path of snapshot.changedFiles ?? [])
|
|
77
|
-
field('changed_file', path);
|
|
78
|
-
if (snapshot.latestActivity)
|
|
79
|
-
field('activity', '', snapshot.latestActivity);
|
|
80
|
-
return root + ' truncated="' + String(truncated) + '">\n' + lines.join('') + close;
|
|
81
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { type ToolWaitInterrupt } from '../runtime/wait.js';
|
|
2
|
-
import type { SessionSource } from '../session/types.js';
|
|
3
|
-
import type { SubagentManyOutput, SubagentManyOutputOptions } from './contracts.js';
|
|
4
|
-
import type { SubagentController, SubagentMessageOptions, SubagentOutputOptions, SubagentRunOptions, SubagentTaskInput, SubagentTaskSnapshot } from './contracts.js';
|
|
5
|
-
import type { SubagentParentExecution, SubagentParentOperation } from './turn-contracts.js';
|
|
6
|
-
export type { SubagentModelOption, SubagentTurnHandle, SubagentOrigin, SubagentMessageDelivery, SubagentMailboxMessage, SubagentParentExecution, SubagentParentOperation } from './turn-contracts.js';
|
|
7
|
-
interface SubagentHistoryRecord {
|
|
8
|
-
readonly type: string;
|
|
9
|
-
readonly payload: unknown;
|
|
10
|
-
readonly turnId?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface PersistedSubagentSession {
|
|
13
|
-
readonly id: string;
|
|
14
|
-
readonly createdAt: string;
|
|
15
|
-
readonly lastActivityAt: string;
|
|
16
|
-
readonly source: Extract<SessionSource, {
|
|
17
|
-
type: 'subagent';
|
|
18
|
-
}>;
|
|
19
|
-
readonly records: readonly SubagentHistoryRecord[];
|
|
20
|
-
}
|
|
21
|
-
export interface SubagentSessionControllerBackend {
|
|
22
|
-
createSession(input: {
|
|
23
|
-
readonly title: string;
|
|
24
|
-
readonly source: Extract<SessionSource, {
|
|
25
|
-
type: 'subagent';
|
|
26
|
-
}>;
|
|
27
|
-
}): Promise<{
|
|
28
|
-
readonly id: string;
|
|
29
|
-
}>;
|
|
30
|
-
deleteSession(sessionId: string): Promise<void>;
|
|
31
|
-
/** Returns children in durable creation order. */
|
|
32
|
-
listChildren(parentSessionId: string): Promise<readonly Omit<PersistedSubagentSession, 'records'>[]>;
|
|
33
|
-
loadChild(parentSessionId: string, sessionId: string): Promise<PersistedSubagentSession | undefined>;
|
|
34
|
-
}
|
|
35
|
-
export declare class SubagentSessionController implements SubagentController {
|
|
36
|
-
#private;
|
|
37
|
-
private readonly parentSessionId;
|
|
38
|
-
private readonly rootSessionId;
|
|
39
|
-
private readonly backend;
|
|
40
|
-
readonly limits: {
|
|
41
|
-
maxTasks: number;
|
|
42
|
-
maxConcurrent: number;
|
|
43
|
-
};
|
|
44
|
-
readonly modelMessages: ToolWaitInterrupt;
|
|
45
|
-
private constructor();
|
|
46
|
-
static open(input: {
|
|
47
|
-
readonly parentSessionId: string;
|
|
48
|
-
readonly rootSessionId: string;
|
|
49
|
-
readonly backend: SubagentSessionControllerBackend;
|
|
50
|
-
readonly limits?: {
|
|
51
|
-
readonly maxTasks: number;
|
|
52
|
-
readonly maxConcurrent: number;
|
|
53
|
-
};
|
|
54
|
-
}): Promise<SubagentSessionController>;
|
|
55
|
-
beginParentExecution(execution: SubagentParentExecution): Promise<void>;
|
|
56
|
-
/** A retained cell must not borrow a later model Execution's identity or task budget. */
|
|
57
|
-
captureExecution(executionId?: string): SubagentController;
|
|
58
|
-
/** SDK physical tool ingress shares the same captured parent as its model controls. */
|
|
59
|
-
captureParentFrame(executionId?: string): <Value>(run: () => Value) => Value;
|
|
60
|
-
withOperation<T>(operation: SubagentParentOperation, run: () => T): T;
|
|
61
|
-
inspect(agentId: string): Promise<SubagentTaskSnapshot>;
|
|
62
|
-
inspectAll(): readonly SubagentTaskSnapshot[];
|
|
63
|
-
list(signal?: AbortSignal): Promise<readonly SubagentTaskSnapshot[]>;
|
|
64
|
-
/** Full listing is explicit; ordinary opens and executions never require it. */
|
|
65
|
-
prepareAll(signal?: AbortSignal): Promise<void>;
|
|
66
|
-
prepareSessionResources(signal?: AbortSignal): Promise<void>;
|
|
67
|
-
collectModelUpdates(): readonly {
|
|
68
|
-
snapshot: SubagentTaskSnapshot;
|
|
69
|
-
truncated: boolean;
|
|
70
|
-
acknowledge(): void;
|
|
71
|
-
}[];
|
|
72
|
-
cancelOwned(ownerInstanceId: string): Promise<void>;
|
|
73
|
-
endParentExecution(executionId: string): void;
|
|
74
|
-
parentExecution(executionId: string): SubagentParentExecution | undefined;
|
|
75
|
-
run(input: SubagentTaskInput, options?: SubagentRunOptions): Promise<SubagentTaskSnapshot>;
|
|
76
|
-
output(agentId: string, options?: SubagentOutputOptions): Promise<SubagentTaskSnapshot>;
|
|
77
|
-
outputAny(options?: SubagentOutputOptions): Promise<SubagentTaskSnapshot>;
|
|
78
|
-
outputMany(agentIds: readonly string[], options?: SubagentManyOutputOptions): Promise<SubagentManyOutput>;
|
|
79
|
-
message(agentId: string, message: string, options?: SubagentMessageOptions): Promise<SubagentTaskSnapshot>;
|
|
80
|
-
cancel(agentId: string): Promise<SubagentTaskSnapshot>;
|
|
81
|
-
listSessionResources(): {
|
|
82
|
-
agentId: string;
|
|
83
|
-
status: "completed" | "failed" | "cancelled" | "interrupted" | "queued" | "running";
|
|
84
|
-
description: string;
|
|
85
|
-
}[];
|
|
86
|
-
dispose(): Promise<void>;
|
|
87
|
-
}
|