@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.
Files changed (161) hide show
  1. package/dist/cli/catalog-file.d.ts +2 -0
  2. package/dist/cli/main.js +11 -4
  3. package/dist/cli/subagent/control.d.ts +56 -0
  4. package/dist/cli/subagent/control.js +219 -0
  5. package/dist/cli/subagent/history.d.ts +17 -0
  6. package/dist/cli/subagent/history.js +85 -0
  7. package/dist/cli/subagent/index.d.ts +10 -0
  8. package/dist/cli/subagent/index.js +94 -0
  9. package/dist/cli/subagent/native.d.ts +91 -0
  10. package/dist/cli/subagent/native.js +359 -0
  11. package/dist/cli/subagent/observations.d.ts +57 -0
  12. package/dist/cli/subagent/observations.js +351 -0
  13. package/dist/cli/subagent/query.d.ts +4 -0
  14. package/dist/cli/subagent/query.js +114 -0
  15. package/dist/cli/subagent/resources.d.ts +3 -0
  16. package/dist/cli/subagent/resources.js +112 -0
  17. package/dist/cli/subagent/snapshot.d.ts +77 -0
  18. package/dist/cli/subagent/snapshot.js +127 -0
  19. package/dist/cli/subagent/start.d.ts +24 -0
  20. package/dist/cli/subagent/start.js +201 -0
  21. package/dist/cli/subagent/wait-output.d.ts +19 -0
  22. package/dist/cli/subagent/wait-output.js +56 -0
  23. package/dist/cli/subagent/wait.d.ts +175 -0
  24. package/dist/cli/subagent/wait.js +453 -0
  25. package/dist/extensions/contracts.d.ts +2 -5
  26. package/dist/extensions/manager.d.ts +0 -2
  27. package/dist/extensions/manager.js +1 -2
  28. package/dist/extensions/models.d.ts +3 -0
  29. package/dist/extensions/operation.d.ts +8 -0
  30. package/dist/extensions/operation.js +3 -0
  31. package/dist/extensions/services.d.ts +9 -1
  32. package/dist/extensions/services.js +26 -3
  33. package/dist/extensions/session-context.d.ts +18 -0
  34. package/dist/extensions/session-context.js +4 -0
  35. package/dist/extensions/session-input.d.ts +2 -2
  36. package/dist/extensions/session-input.js +3 -4
  37. package/dist/extensions/session-messages.d.ts +1 -1
  38. package/dist/extensions/session-tools.js +20 -3
  39. package/dist/extensions/session.d.ts +1 -4
  40. package/dist/extensions/session.js +2 -16
  41. package/dist/extensions/tools.js +21 -3
  42. package/dist/extensions.d.ts +5 -2
  43. package/dist/extensions.js +2 -1
  44. package/dist/host/local-agent-host.d.ts +2 -2
  45. package/dist/host/local-exec-tool.d.ts +1 -1
  46. package/dist/host/local-exec-tool.js +28 -3
  47. package/dist/host/local-tool-registry.d.ts +2 -2
  48. package/dist/index.d.ts +2 -2
  49. package/dist/model/configuration.d.ts +3 -1
  50. package/dist/model/configuration.js +1 -0
  51. package/dist/model/openai-responses.js +5 -0
  52. package/dist/model/responses-request.js +9 -0
  53. package/dist/prompts/index.js +1 -3
  54. package/dist/prompts/resources.d.ts +1 -5
  55. package/dist/prompts/resources.js +3 -12
  56. package/dist/prompts/subagent.d.ts +1 -1
  57. package/dist/prompts/subagent.js +1 -1
  58. package/dist/runtime/context/gc-candidates-web.d.ts +6 -0
  59. package/dist/runtime/context/gc-candidates-web.js +53 -1
  60. package/dist/runtime/context/gc-candidates.js +1 -9
  61. package/dist/runtime/context/gc.js +19 -11
  62. package/dist/runtime/context/projection.js +1 -0
  63. package/dist/runtime/events.d.ts +4 -3
  64. package/dist/runtime/execution-handle.d.ts +2 -0
  65. package/dist/runtime/wait.js +12 -2
  66. package/dist/sdk/agent.js +94 -5
  67. package/dist/sdk/execution-context-coordinator.d.ts +2 -3
  68. package/dist/sdk/execution-context-coordinator.js +3 -3
  69. package/dist/sdk/execution-input.d.ts +3 -4
  70. package/dist/sdk/execution-input.js +31 -25
  71. package/dist/sdk/execution-round-preparation.d.ts +1 -1
  72. package/dist/sdk/execution-round-preparation.js +4 -4
  73. package/dist/sdk/execution-tool-catalog.js +2 -10
  74. package/dist/sdk/execution-tool-scope.d.ts +1 -3
  75. package/dist/sdk/execution-tool-scope.js +10 -12
  76. package/dist/sdk/extension-models.js +3 -0
  77. package/dist/sdk/extension-session-launch.d.ts +3 -2
  78. package/dist/sdk/extension-session-launch.js +2 -3
  79. package/dist/sdk/extension-tools.js +0 -2
  80. package/dist/sdk/native-steer.d.ts +2 -2
  81. package/dist/sdk/native-steer.js +2 -2
  82. package/dist/sdk/session-composition.d.ts +2 -17
  83. package/dist/sdk/session-execution-factory.d.ts +2 -3
  84. package/dist/sdk/session-execution-factory.js +20 -114
  85. package/dist/sdk/session-execution.d.ts +13 -7
  86. package/dist/sdk/session-execution.js +11 -3
  87. package/dist/sdk/session-extension-messages.d.ts +1 -3
  88. package/dist/sdk/session-extension-messages.js +14 -9
  89. package/dist/sdk/session-extension-prompt.js +1 -3
  90. package/dist/sdk/session-maintenance.d.ts +1 -0
  91. package/dist/sdk/session-maintenance.js +16 -7
  92. package/dist/sdk/session-open.d.ts +2 -3
  93. package/dist/sdk/session-open.js +5 -24
  94. package/dist/sdk/session-runtime.d.ts +19 -8
  95. package/dist/sdk/session-runtime.js +36 -30
  96. package/dist/sdk/session.d.ts +3 -2
  97. package/dist/sdk/session.js +22 -89
  98. package/dist/sdk/types.d.ts +36 -0
  99. package/dist/session/catalog.d.ts +22 -1
  100. package/dist/session/catalog.js +102 -0
  101. package/dist/session/context-gc-checkpoint.js +30 -1
  102. package/dist/session/context-gc-contract.d.ts +7 -0
  103. package/dist/session/context-gc-replacements.d.ts +3 -0
  104. package/dist/session/context-gc-replacements.js +26 -0
  105. package/dist/session/store/contracts.d.ts +2 -2
  106. package/dist/session/store/jsonl/directory-index.d.ts +1 -1
  107. package/dist/session/store/jsonl/directory-index.js +18 -17
  108. package/dist/session/store/jsonl/history.js +1 -1
  109. package/dist/session/store/jsonl/index-transaction.js +2 -8
  110. package/dist/session/store/jsonl/jsonl-store.d.ts +1 -1
  111. package/dist/session/store/jsonl/jsonl-store.js +24 -9
  112. package/dist/session/types.d.ts +1 -0
  113. package/dist/tools/agent/sleep.js +1 -1
  114. package/dist/tools/callers.js +1 -12
  115. package/dist/tools/code-mode/dispatch.js +5 -2
  116. package/dist/tools/code-mode/index.d.ts +1 -1
  117. package/dist/tools/code-mode/index.js +2 -0
  118. package/dist/tools/contracts.d.ts +20 -0
  119. package/dist/tools/execution-limits.d.ts +5 -20
  120. package/dist/tools/execution-limits.js +0 -2
  121. package/dist/tools/execution.js +16 -4
  122. package/dist/tools/local/exec.js +8 -2
  123. package/dist/tools/output-projection.d.ts +5 -2
  124. package/dist/tools/output-projection.js +133 -92
  125. package/dist/tools/registry.js +1 -13
  126. package/dist/tools/runtime-context.d.ts +1 -21
  127. package/package.json +2 -2
  128. package/dist/extensions/agents.d.ts +0 -100
  129. package/dist/extensions/agents.js +0 -121
  130. package/dist/runtime/context/gc-candidates-subagent.d.ts +0 -6
  131. package/dist/runtime/context/gc-candidates-subagent.js +0 -100
  132. package/dist/sdk/extension-agent-controller.d.ts +0 -3
  133. package/dist/sdk/extension-agent-controller.js +0 -69
  134. package/dist/sdk/extension-agents.d.ts +0 -9
  135. package/dist/sdk/extension-agents.js +0 -58
  136. package/dist/sdk/subagent-backend.d.ts +0 -3
  137. package/dist/sdk/subagent-backend.js +0 -49
  138. package/dist/subagent/contracts.d.ts +0 -107
  139. package/dist/subagent/contracts.js +0 -1
  140. package/dist/subagent/limits.d.ts +0 -17
  141. package/dist/subagent/limits.js +0 -17
  142. package/dist/subagent/model-update.d.ts +0 -2
  143. package/dist/subagent/model-update.js +0 -81
  144. package/dist/subagent/session-controller.d.ts +0 -87
  145. package/dist/subagent/session-controller.js +0 -1343
  146. package/dist/subagent/task.d.ts +0 -134
  147. package/dist/subagent/task.js +0 -436
  148. package/dist/subagent/turn-contracts.d.ts +0 -64
  149. package/dist/subagent/turn-contracts.js +0 -1
  150. package/dist/subagent/wait-targets.d.ts +0 -10
  151. package/dist/subagent/wait-targets.js +0 -26
  152. package/dist/subagent/wait.d.ts +0 -26
  153. package/dist/subagent/wait.js +0 -73
  154. package/dist/tools/agent/agent-cancel.d.ts +0 -7
  155. package/dist/tools/agent/agent-cancel.js +0 -29
  156. package/dist/tools/agent/agent-message.d.ts +0 -7
  157. package/dist/tools/agent/agent-message.js +0 -57
  158. package/dist/tools/agent/agent-start.d.ts +0 -12
  159. package/dist/tools/agent/agent-start.js +0 -106
  160. package/dist/tools/agent/agent-wait.d.ts +0 -7
  161. package/dist/tools/agent/agent-wait.js +0 -91
@@ -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,2 +0,0 @@
1
- import type { SubagentTaskSnapshot } from './contracts.js';
2
- export declare function renderSubagentUpdate(snapshot: SubagentTaskSnapshot, truncated?: boolean): string;
@@ -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
- }