marco-agent 0.1.1 → 0.2.0

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/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # marco-agent
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/marco-agent?color=cb3837&label=marco-agent&logo=npm)](https://www.npmjs.com/package/marco-agent)
4
+ [![npm downloads](https://img.shields.io/npm/dm/marco-agent?color=cb3837&logo=npm)](https://www.npmjs.com/package/marco-agent)
5
+ [![license](https://img.shields.io/npm/l/marco-agent)](./LICENSE)
6
+
3
7
  A simple, extensible AI agent built on [marco-harness](https://github.com/pyrotank41/MARCO). Works in CLI, server-side Node, Next.js, and Edge runtimes — with Anthropic, OpenAI, OpenRouter, DeepSeek, Together, Groq, vLLM, LM Studio, or any OpenAI-compatible endpoint.
4
8
 
5
9
  `MarcoAgent` is a thin, composable wrapper around the harness. Sensible defaults out of the box, every knob exposed when you need it: streaming, multi-turn history, usage + cost tracking, per-turn budget guards, MCP-server-to-Tool bridge, opt-in compaction, and reasoning-content surfacing for chain-of-thought models.
package/dist/agent.d.ts CHANGED
@@ -22,6 +22,18 @@ export type MarcoAgentOptions = {
22
22
  pricing?: PricingFunction;
23
23
  budget?: BudgetConfig;
24
24
  compaction?: CompactionConfig;
25
+ /**
26
+ * External AbortSignal that cancels the run. When fired, the in-flight
27
+ * model call is aborted (mid-stream), tool calls are short-circuited,
28
+ * and ask()/stream() either throw AgentAbortedError (ask) or yield
29
+ * an 'aborted' event (stream). For an ergonomic alternative, call
30
+ * agent.abort(reason) — internally mirrors this signal.
31
+ */
32
+ signal?: AbortSignal;
33
+ };
34
+ export type RunOptions = {
35
+ /** Per-call abort signal. Overrides MarcoAgentOptions.signal if both set. */
36
+ signal?: AbortSignal;
25
37
  };
26
38
  export type AskResult = {
27
39
  text: string;
@@ -60,18 +72,50 @@ export type StreamEvent = {
60
72
  } | {
61
73
  type: 'done';
62
74
  result: AskResult;
75
+ } | {
76
+ type: 'aborted';
77
+ result: AskResult;
78
+ reason?: string;
63
79
  };
64
80
  export declare class BudgetExceededError extends Error {
65
81
  readonly reason: string;
66
82
  readonly usage: CostUsage;
67
83
  constructor(reason: string, usage: CostUsage);
68
84
  }
85
+ /**
86
+ * Thrown by ask() when the run is cancelled (via agent.abort() or an
87
+ * AbortSignal). Carries the partial result so callers can persist what
88
+ * was completed before the cancellation.
89
+ */
90
+ export declare class AgentAbortedError extends Error {
91
+ readonly reason: string;
92
+ readonly partial: AskResult;
93
+ constructor(reason: string, partial: AskResult);
94
+ }
69
95
  export declare class MarcoAgent {
70
96
  private readonly options;
71
97
  private readonly provider;
98
+ private currentRun;
72
99
  constructor(options?: MarcoAgentOptions);
73
- ask(prompt: string, history?: Message[]): Promise<AskResult>;
74
- stream(prompt: string, history?: Message[]): AsyncGenerator<StreamEvent, void, unknown>;
100
+ /**
101
+ * Abort the in-flight ask()/stream() call, if any. No-op when nothing
102
+ * is running. The run unwinds at the next cancellation point: the
103
+ * model fetch is cancelled mid-stream (tokens stop being billed), any
104
+ * in-flight tool calls are short-circuited, and the run resolves with
105
+ * partial state. ask() then throws AgentAbortedError; stream() yields
106
+ * a final 'aborted' event.
107
+ */
108
+ abort(reason?: string): void;
109
+ ask(prompt: string, history?: Message[], options?: RunOptions): Promise<AskResult>;
110
+ stream(prompt: string, history?: Message[], options?: RunOptions): AsyncGenerator<StreamEvent, void, unknown>;
111
+ private streamInternal;
112
+ /**
113
+ * Build the per-run AbortController. Mirrors any external signal
114
+ * (per-call options.signal or constructor-time options.signal) into
115
+ * an internal controller, so agent.abort() can fire alongside the
116
+ * external signal.
117
+ */
118
+ private makeRunController;
75
119
  private model;
76
120
  private checkBudget;
77
121
  private assertWithinBudget;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -15,39 +15,87 @@ export class BudgetExceededError extends Error {
15
15
  this.name = 'BudgetExceededError';
16
16
  }
17
17
  }
18
+ /**
19
+ * Thrown by ask() when the run is cancelled (via agent.abort() or an
20
+ * AbortSignal). Carries the partial result so callers can persist what
21
+ * was completed before the cancellation.
22
+ */
23
+ export class AgentAbortedError extends Error {
24
+ reason;
25
+ partial;
26
+ constructor(reason, partial) {
27
+ super(`Agent run aborted: ${reason}`);
28
+ this.reason = reason;
29
+ this.partial = partial;
30
+ this.name = 'AgentAbortedError';
31
+ }
32
+ }
18
33
  export class MarcoAgent {
19
34
  options;
20
35
  provider;
36
+ currentRun = null;
21
37
  constructor(options = {}) {
22
38
  this.provider = options.provider ?? new AnthropicProvider({ apiKey: options.apiKey });
23
39
  this.options = options;
24
40
  }
25
- async ask(prompt, history = []) {
41
+ /**
42
+ * Abort the in-flight ask()/stream() call, if any. No-op when nothing
43
+ * is running. The run unwinds at the next cancellation point: the
44
+ * model fetch is cancelled mid-stream (tokens stop being billed), any
45
+ * in-flight tool calls are short-circuited, and the run resolves with
46
+ * partial state. ask() then throws AgentAbortedError; stream() yields
47
+ * a final 'aborted' event.
48
+ */
49
+ abort(reason) {
50
+ this.currentRun?.abort(reason ?? 'manually aborted');
51
+ }
52
+ async ask(prompt, history = [], options = {}) {
53
+ const ctrl = this.makeRunController(options.signal);
54
+ this.currentRun = ctrl;
26
55
  let workingHistory = history;
27
56
  let compacted = false;
28
57
  let compactionUsage = emptyUsage();
29
- if (shouldCompact(history, prompt, this.options.compaction)) {
30
- const c = await performCompaction(this.provider, history, this.options.compaction);
31
- workingHistory = c.history;
32
- compacted = c.compacted;
33
- compactionUsage = { ...emptyUsage(), inputTokens: c.usage.inputTokens, outputTokens: c.usage.outputTokens, modelCalls: 1 };
58
+ try {
59
+ if (shouldCompact(history, prompt, this.options.compaction)) {
60
+ const c = await performCompaction(this.provider, history, this.options.compaction, { signal: ctrl.signal });
61
+ workingHistory = c.history;
62
+ compacted = c.compacted;
63
+ compactionUsage = { ...emptyUsage(), inputTokens: c.usage.inputTokens, outputTokens: c.usage.outputTokens, modelCalls: 1 };
64
+ }
65
+ const harness = this.buildHarness(workingHistory, this.provider, () => undefined);
66
+ const result = await harness.run({ kind: 'user_message', text: prompt }, { signal: ctrl.signal });
67
+ const turnTokens = turnUsage(result.messages, workingHistory.length);
68
+ const totalTokens = addUsage(compactionUsage, turnTokens);
69
+ const usage = withCost(totalTokens, this.model(), this.options.pricing);
70
+ const out = buildAskResult(result.messages, workingHistory.length, usage);
71
+ const finalResult = compacted ? { ...out, compacted: true } : out;
72
+ if (result.status === 'aborted') {
73
+ throw new AgentAbortedError(result.abortReason ?? 'aborted', finalResult);
74
+ }
75
+ this.assertWithinBudget(usage);
76
+ return finalResult;
77
+ }
78
+ finally {
79
+ this.currentRun = null;
80
+ }
81
+ }
82
+ async *stream(prompt, history = [], options = {}) {
83
+ const ctrl = this.makeRunController(options.signal);
84
+ this.currentRun = ctrl;
85
+ try {
86
+ yield* this.streamInternal(prompt, history, ctrl.signal);
87
+ }
88
+ finally {
89
+ this.currentRun = null;
34
90
  }
35
- const harness = this.buildHarness(workingHistory, this.provider, () => undefined);
36
- const result = await harness.run({ kind: 'user_message', text: prompt });
37
- const turnTokens = turnUsage(result.messages, workingHistory.length);
38
- const totalTokens = addUsage(compactionUsage, turnTokens);
39
- const usage = withCost(totalTokens, this.model(), this.options.pricing);
40
- this.assertWithinBudget(usage);
41
- const out = buildAskResult(result.messages, workingHistory.length, usage);
42
- return compacted ? { ...out, compacted: true } : out;
43
91
  }
44
- async *stream(prompt, history = []) {
92
+ async *streamInternal(prompt, history, signal) {
45
93
  let workingHistory = history;
46
94
  let compacted = false;
47
95
  let compactionUsage = emptyUsage();
48
96
  if (shouldCompact(history, prompt, this.options.compaction)) {
49
97
  yield { type: 'compaction_start' };
50
- const c = await performCompaction(this.provider, history, this.options.compaction);
98
+ const c = await performCompaction(this.provider, history, this.options.compaction, { signal });
51
99
  workingHistory = c.history;
52
100
  compacted = c.compacted;
53
101
  compactionUsage = { ...emptyUsage(), inputTokens: c.usage.inputTokens, outputTokens: c.usage.outputTokens, modelCalls: 1 };
@@ -65,8 +113,8 @@ export class MarcoAgent {
65
113
  };
66
114
  const innerProvider = this.provider;
67
115
  const tee = {
68
- async *stream(messages, tools, config) {
69
- for await (const event of innerProvider.stream(messages, tools, config)) {
116
+ async *stream(messages, tools, config, opts) {
117
+ for await (const event of innerProvider.stream(messages, tools, config, opts)) {
70
118
  queue.push(event);
71
119
  wake();
72
120
  yield event;
@@ -75,7 +123,7 @@ export class MarcoAgent {
75
123
  };
76
124
  const harness = this.buildHarness(workingHistory, tee, () => budgetTrip?.reason);
77
125
  const runPromise = harness
78
- .run({ kind: 'user_message', text: prompt })
126
+ .run({ kind: 'user_message', text: prompt }, { signal })
79
127
  .finally(() => { done = true; wake(); });
80
128
  while (!done || queue.length > 0) {
81
129
  while (queue.length > 0) {
@@ -108,7 +156,32 @@ export class MarcoAgent {
108
156
  const totalTokens = addUsage(compactionUsage, turnTokens);
109
157
  const finalUsage = withCost(totalTokens, this.model(), this.options.pricing);
110
158
  const out = buildAskResult(result.messages, workingHistory.length, finalUsage);
111
- yield { type: 'done', result: compacted ? { ...out, compacted: true } : out };
159
+ const finalResult = compacted ? { ...out, compacted: true } : out;
160
+ if (result.status === 'aborted') {
161
+ yield { type: 'aborted', result: finalResult, reason: result.abortReason };
162
+ }
163
+ else {
164
+ yield { type: 'done', result: finalResult };
165
+ }
166
+ }
167
+ /**
168
+ * Build the per-run AbortController. Mirrors any external signal
169
+ * (per-call options.signal or constructor-time options.signal) into
170
+ * an internal controller, so agent.abort() can fire alongside the
171
+ * external signal.
172
+ */
173
+ makeRunController(perCallSignal) {
174
+ const ctrl = new AbortController();
175
+ const external = perCallSignal ?? this.options.signal;
176
+ if (external) {
177
+ if (external.aborted) {
178
+ ctrl.abort(external.reason);
179
+ }
180
+ else {
181
+ external.addEventListener('abort', () => ctrl.abort(external.reason), { once: true });
182
+ }
183
+ }
184
+ return ctrl;
112
185
  }
113
186
  model() {
114
187
  return this.options.model ?? DEFAULT_MODEL;
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
- import type { Message, ModelProvider } from 'marco-harness';
1
+ import type { Message, ModelProvider, SystemMessage, Usage } from 'marco-harness';
2
+ export type CompactionSummaryMeta = {
3
+ kind: 'compaction';
4
+ messagesRemoved: number;
5
+ summaryUsage: Usage;
6
+ };
7
+ export declare function isCompactionSummary(m: Message): m is SystemMessage & {
8
+ meta: CompactionSummaryMeta;
9
+ };
2
10
  export type CompactionConfig = {
3
11
  summaryModel: string;
4
12
  summaryPrompt: string;
@@ -16,5 +24,7 @@ export type CompactionResult = {
16
24
  summaryText: string;
17
25
  };
18
26
  export declare function shouldCompact(history: Message[], prompt: string, config: CompactionConfig | undefined): boolean;
19
- export declare function performCompaction(provider: ModelProvider, history: Message[], config: CompactionConfig): Promise<CompactionResult>;
27
+ export declare function performCompaction(provider: ModelProvider, history: Message[], config: CompactionConfig, options?: {
28
+ signal?: AbortSignal;
29
+ }): Promise<CompactionResult>;
20
30
  //# sourceMappingURL=compaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG;IAE7B,YAAY,EAAE,MAAM,CAAA;IAEpB,aAAa,EAAE,MAAM,CAAA;IAErB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAElB,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAEpD,eAAe,EAAE,MAAM,CAAA;IAIvB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAKD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,OAAO,CAyBT;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA8D3B"}
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAMjF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,YAAY,CAAA;IAElB,eAAe,EAAE,MAAM,CAAA;IAIvB,YAAY,EAAE,KAAK,CAAA;CACpB,CAAA;AAUD,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,OAAO,GACT,CAAC,IAAI,aAAa,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAItD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAE7B,YAAY,EAAE,MAAM,CAAA;IAEpB,aAAa,EAAE,MAAM,CAAA;IAErB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAElB,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;IAEpD,eAAe,EAAE,MAAM,CAAA;IAIvB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAKD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GAAG,SAAS,GACnC,OAAO,CAyBT;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACrC,OAAO,CAAC,gBAAgB,CAAC,CAuE3B"}
@@ -14,6 +14,20 @@
14
14
  // well before the model's hard limit. summaryModel and summaryPrompt have NO
15
15
  // default — the library can't know what model your API key supports, and a
16
16
  // generic prompt would mismatch most agent domains.
17
+ // Type guard for consumers walking result.messages. Use this to find the
18
+ // synthesized summary message and narrow its `meta` to CompactionSummaryMeta:
19
+ //
20
+ // const summary = result.messages.find(isCompactionSummary)
21
+ // if (summary) console.log(summary.meta.messagesRemoved)
22
+ //
23
+ // More robust than `m.role === 'system' && m.meta?.kind === 'compaction'`
24
+ // at the call site because it returns a properly narrowed type.
25
+ export function isCompactionSummary(m) {
26
+ if (m.role !== 'system')
27
+ return false;
28
+ const meta = m.meta;
29
+ return meta?.kind === 'compaction';
30
+ }
17
31
  const DEFAULT_TRIGGER = 150_000;
18
32
  const DEFAULT_KEEP_LAST_TURNS = 4;
19
33
  export function shouldCompact(history, prompt, config) {
@@ -41,7 +55,7 @@ export function shouldCompact(history, prompt, config) {
41
55
  const userCount = history.filter((m) => m.role === 'user').length;
42
56
  return userCount > keep;
43
57
  }
44
- export async function performCompaction(provider, history, config) {
58
+ export async function performCompaction(provider, history, config, options = {}) {
45
59
  const keep = config.keepLastTurns ?? DEFAULT_KEEP_LAST_TURNS;
46
60
  // Boundary = index of the (keep-th from end) user message. Everything
47
61
  // STRICTLY before that index becomes the prefix to summarize; the boundary
@@ -72,7 +86,7 @@ export async function performCompaction(provider, history, config) {
72
86
  let summaryText = '';
73
87
  let inputTokens = 0;
74
88
  let outputTokens = 0;
75
- for await (const ev of provider.stream([summaryUserMessage], [], { model: config.summaryModel, maxTokens: 4000 })) {
89
+ for await (const ev of provider.stream([summaryUserMessage], [], { model: config.summaryModel, maxTokens: 4000 }, options.signal ? { signal: options.signal } : undefined)) {
76
90
  if (ev.type === 'text_delta')
77
91
  summaryText += ev.text;
78
92
  else if (ev.type === 'message_end') {
@@ -81,11 +95,19 @@ export async function performCompaction(provider, history, config) {
81
95
  outputTokens = ev.message.usage.outputTokens;
82
96
  }
83
97
  }
98
+ const trimmedSummary = summaryText.trim();
99
+ // Mark the synthesized system message with meta so consumers can detect it
100
+ // in result.messages without threading separate stream-event tracking
101
+ // through their persistence layer. Available since marco-harness 0.2.2.
84
102
  const summaryMessage = {
85
103
  role: 'system',
86
- text: `Summary of earlier conversation:\n${summaryText.trim()}`,
104
+ text: `Summary of earlier conversation:\n${trimmedSummary}`,
105
+ meta: {
106
+ kind: 'compaction',
107
+ messagesRemoved: prefix.length,
108
+ summaryUsage: { inputTokens, outputTokens },
109
+ },
87
110
  };
88
- const trimmedSummary = summaryText.trim();
89
111
  return {
90
112
  history: [summaryMessage, ...recent],
91
113
  compacted: true,
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,uCAAuC;AACvC,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,oEAAoE;AACpE,EAAE;AACF,8EAA8E;AAC9E,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,oDAAoD;AA6BpD,MAAM,eAAe,GAAG,OAAO,CAAA;AAC/B,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAEjC,MAAM,UAAU,aAAa,CAC3B,OAAkB,EAClB,MAAc,EACd,MAAoC;IAEpC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,IAAI,eAAe,CAAA;IAE9D,yEAAyE;IACzE,yEAAyE;IACzE,IAAI,eAAe,GAAG,CAAC,CAAA;IACvB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,eAAe,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAA;YAC3C,MAAK;QACP,CAAC;IACH,CAAC;IACD,IAAI,eAAe,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAEvC,wEAAwE;IACxE,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAE7D,IAAI,eAAe,GAAG,wBAAwB,IAAI,OAAO;QAAE,OAAO,KAAK,CAAA;IAEvE,4DAA4D;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,IAAI,uBAAuB,CAAA;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAA;IACjE,OAAO,SAAS,GAAG,IAAI,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAuB,EACvB,OAAkB,EAClB,MAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,IAAI,uBAAuB,CAAA;IAE5D,sEAAsE;IACtE,2EAA2E;IAC3E,+CAA+C;IAC/C,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAA;IACjB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,QAAQ,EAAE,CAAA;YACV,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,QAAQ,GAAG,CAAC,CAAA;gBACZ,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,2EAA2E;QAC3E,qBAAqB;QACrB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IACvH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAEtC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,kBAAkB,GAAY;QAClC,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,GAAG,MAAM,CAAC,aAAa,0CAA0C,WAAW,EAAE;KACrF,CAAA;IAED,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,QAAQ,CAAC,MAAM,CACpC,CAAC,kBAAkB,CAAC,EACpB,EAAE,EACF,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAChD,EAAE,CAAC;QACF,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY;YAAE,WAAW,IAAI,EAAE,CAAC,IAAI,CAAA;aAC/C,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACnC,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAA;YAC5C,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAA;YAC1C,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAY;QAC9B,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,qCAAqC,WAAW,CAAC,IAAI,EAAE,EAAE;KAChE,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC;QACpC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;QACpC,eAAe,EAAE,MAAM,CAAC,MAAM;QAC9B,WAAW,EAAE,cAAc;KAC5B,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAmB;IACzC,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,YAAY,CAAC,CAAC,IAAI,EAAE,CAAA;QACpD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;QAChD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,IAAI,CAAC,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAC/C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC5E,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QACtF,OAAO,EAAE,CAAA;IACX,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- export { MarcoAgent, BudgetExceededError, type MarcoAgentOptions, type AskResult, type StreamEvent, type BudgetConfig } from './agent.js';
2
- export { type CompactionConfig, type CompactionResult, shouldCompact, performCompaction } from './compaction.js';
1
+ export { MarcoAgent, BudgetExceededError, AgentAbortedError, type MarcoAgentOptions, type RunOptions, type AskResult, type StreamEvent, type BudgetConfig } from './agent.js';
2
+ export { type CompactionConfig, type CompactionResult, type CompactionSummaryMeta, shouldCompact, performCompaction, isCompactionSummary, } from './compaction.js';
3
3
  export { currentTimeTool } from './tools/current-time.js';
4
4
  export { toolFromZod, z, type ToolFromZodOptions } from './tool-from-zod.js';
5
5
  export { defaultAnthropicPricing, emptyUsage, addUsage, withCost, type Usage, type CostUsage, type PricingFunction } from './usage.js';
6
6
  export { fromMcpServer, type FromMcpServerOptions } from './mcp.js';
7
7
  export { AnthropicProvider, OpenAICompatibleProvider, MockProvider } from 'marco-harness';
8
- export type { Tool, Hooks, ModelProvider, ModelConfig, Message, AnthropicProviderOptions, OpenAICompatibleProviderOptions } from 'marco-harness';
8
+ export type { Tool, Hooks, ModelProvider, ModelConfig, Message, MessageMeta, AnthropicProviderOptions, OpenAICompatibleProviderOptions } from 'marco-harness';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AACzI,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AACtI,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACzF,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAC7K,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AACtI,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACzF,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export { MarcoAgent, BudgetExceededError } from './agent.js';
2
- export { shouldCompact, performCompaction } from './compaction.js';
1
+ export { MarcoAgent, BudgetExceededError, AgentAbortedError } from './agent.js';
2
+ export { shouldCompact, performCompaction, isCompactionSummary, } from './compaction.js';
3
3
  export { currentTimeTool } from './tools/current-time.js';
4
4
  export { toolFromZod, z } from './tool-from-zod.js';
5
5
  export { defaultAnthropicPricing, emptyUsage, addUsage, withCost } from './usage.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAA+E,MAAM,YAAY,CAAA;AACzI,OAAO,EAAgD,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,CAAC,EAA2B,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAoD,MAAM,YAAY,CAAA;AACtI,OAAO,EAAE,aAAa,EAA6B,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAgG,MAAM,YAAY,CAAA;AAC7K,OAAO,EAIL,aAAa,EACb,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,CAAC,EAA2B,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAoD,MAAM,YAAY,CAAA;AACtI,OAAO,EAAE,aAAa,EAA6B,MAAM,UAAU,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA"}
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAKlB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEpC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC,CAAA;AAoDD,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CA2B/E"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAKlB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEpC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC,CAAA;AAsDD,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CA6B/E"}
package/dist/mcp.js CHANGED
@@ -12,11 +12,12 @@
12
12
  // is the security boundary that lets a SaaS pass `target_user_id` per
13
13
  // request without trusting the model.
14
14
  let nextId = 1;
15
- async function jsonRpc(url, method, params, headers, fetchImpl) {
15
+ async function jsonRpc(url, method, params, headers, fetchImpl, signal) {
16
16
  const res = await fetchImpl(url, {
17
17
  method: 'POST',
18
18
  headers: { 'content-type': 'application/json', ...(headers ?? {}) },
19
19
  body: JSON.stringify({ jsonrpc: '2.0', id: nextId++, method, params }),
20
+ signal,
20
21
  });
21
22
  if (!res.ok)
22
23
  throw new Error(`MCP HTTP ${res.status}: ${await res.text()}`);
@@ -54,10 +55,12 @@ export async function fromMcpServer(opts) {
54
55
  inputJsonSchema: t.inputSchema ?? { type: 'object', properties: {} },
55
56
  // The MCP server is the source of truth for input validation. Pass through.
56
57
  validate: (input) => input,
57
- handler: async (input) => {
58
+ handler: async (input, ctx) => {
58
59
  const modelArgs = (typeof input === 'object' && input !== null) ? input : {};
59
60
  const args = { ...modelArgs, ...(opts.contextArgs ?? {}) };
60
- const result = await jsonRpc(opts.url, 'tools/call', { name: t.name, arguments: args }, opts.headers, fetchImpl);
61
+ // Forward ctx.abortSignal so a stop click cancels the in-flight
62
+ // MCP HTTP call mid-fetch — not just orphans it. Bills stop.
63
+ const result = await jsonRpc(opts.url, 'tools/call', { name: t.name, arguments: args }, opts.headers, fetchImpl, ctx.abortSignal);
61
64
  return resultToText(result);
62
65
  },
63
66
  }));
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marco-agent",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "A simple, extensible AI agent built on marco-harness.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -27,7 +27,7 @@
27
27
  "start": "tsx src/bin.ts"
28
28
  },
29
29
  "dependencies": {
30
- "marco-harness": "^0.2.1",
30
+ "marco-harness": "^0.3.0",
31
31
  "zod": "^3.25.76"
32
32
  },
33
33
  "devDependencies": {