makaron-cli 0.7.8 → 0.7.9

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
@@ -140,6 +140,7 @@ Use this when another Agent needs to read what Makaron said, detect approval req
140
140
 
141
141
  ```bash
142
142
  npx makaron-cli responses events <runId> --jsonl
143
+ # alias: npx makaron-cli responses timeline <runId> --jsonl
143
144
  ```
144
145
 
145
146
  Events use only three factual types:
@@ -159,10 +160,11 @@ npx makaron-cli responses ask-user msg_1 --run <runId>
159
160
  npx makaron-cli responses continue msg_1 --run <runId>
160
161
  ```
161
162
 
162
- Wrappers can enforce this with:
163
+ Important: approvals are a local Agent gate in v0. They are recorded by the CLI so wrappers and Skills can fail fast, but they do not pause or resume the remote Makaron runtime yet. Wrappers can enforce the local gate with:
163
164
 
164
165
  ```bash
165
- npx makaron-cli responses events <runId> --jsonl --fail-on-unapproved
166
+ npx makaron-cli responses events <runId> --jsonl
167
+ # alias: npx makaron-cli responses timeline <runId> --jsonl --fail-on-unapproved
166
168
  ```
167
169
 
168
170
  ### Extract specific results
package/SKILL.md CHANGED
@@ -132,6 +132,7 @@ Use this when another Agent needs to read what Makaron said, detect approval req
132
132
 
133
133
  ```bash
134
134
  npx makaron-cli responses events <runId> --jsonl
135
+ # alias: npx makaron-cli responses timeline <runId> --jsonl
135
136
  ```
136
137
 
137
138
  Events use only three factual types:
@@ -151,10 +152,11 @@ npx makaron-cli responses ask-user msg_1 --run <runId>
151
152
  npx makaron-cli responses continue msg_1 --run <runId>
152
153
  ```
153
154
 
154
- Wrappers can enforce this with:
155
+ Important: approvals are a local Agent gate in v0. They are recorded by the CLI so wrappers and Skills can fail fast, but they do not pause or resume the remote Makaron runtime yet. Wrappers can enforce the local gate with:
155
156
 
156
157
  ```bash
157
- npx makaron-cli responses events <runId> --jsonl --fail-on-unapproved
158
+ npx makaron-cli responses events <runId> --jsonl
159
+ # alias: npx makaron-cli responses timeline <runId> --jsonl --fail-on-unapproved
158
160
  ```
159
161
 
160
162
  ### Extract specific results
package/bin/makaron.mjs CHANGED
@@ -447,11 +447,25 @@ function stableEventId(prefix, runId, seq, fallback) {
447
447
  return fallback || `${prefix}_${runId}_${seq ?? Date.now()}`;
448
448
  }
449
449
 
450
+ function inferRequiresApproval(text) {
451
+ if (!text) return false;
452
+ const normalized = text.toLowerCase().replace(/\s+/g, ' ').trim();
453
+ const approvalPhrases = [
454
+ /\bshall i\b.*\b(go ahead|proceed|continue|generate|create|submit|start)\b/,
455
+ /\bshould i\b.*\b(go ahead|proceed|continue|generate|create|submit|start)\b/,
456
+ /\bdo you want me to\b.*\b(go ahead|proceed|continue|generate|create|submit|start)\b/,
457
+ /\bconfirm\b.*\b(before|to)\b.*\b(generate|create|submit|proceed|continue)\b/,
458
+ /\bapprove\b.*\b(before|to)\b.*\b(generate|create|submit|proceed|continue)\b/,
459
+ /\bplease\b.*\b(confirm|approve)\b.*\b(generate|create|submit|proceed|continue)\b/,
460
+ ];
461
+ return approvalPhrases.some(pattern => pattern.test(normalized));
462
+ }
463
+
450
464
  function normalizeDialogueMessage(runId, projectId, ev) {
451
465
  const data = ev.data || ev;
452
466
  const text = data.text || data.message || data.content || data.statusText || '';
453
467
  if (!text && ev.type !== 'tool_call') return null;
454
- const requiresApproval = Boolean(data.requires_approval || data.requiresApproval || data.action_required || data.actionRequired);
468
+ const requiresApproval = Boolean(data.requires_approval || data.requiresApproval || data.action_required || data.actionRequired || inferRequiresApproval(text));
455
469
  const message = {
456
470
  type: 'message',
457
471
  id: stableEventId('msg', runId, ev.seq, data.id || ev.id),
@@ -1226,9 +1240,9 @@ if (command === '--version' || command === '-v' || command === 'version') {
1226
1240
  }
1227
1241
  await watchRun(baseUrl, headers, runId, { interval, jsonl });
1228
1242
 
1229
- } else if (sub === 'events') {
1243
+ } else if (sub === 'events' || sub === 'timeline') {
1230
1244
  const runId = args[2];
1231
- if (!runId) { console.error('Usage: makaron responses events <runId> [--jsonl] [--follow] [--interval <ms>] [--fail-on-unapproved]'); process.exit(1); }
1245
+ if (!runId) { console.error(`Usage: makaron responses ${sub} <runId> [--jsonl] [--follow] [--interval <ms>] [--fail-on-unapproved]`); process.exit(1); }
1232
1246
  let interval = 5000, jsonl = false, follow = false, failOnUnapproved = false;
1233
1247
  for (let i = 3; i < args.length; i++) {
1234
1248
  if (args[i] === '--jsonl') jsonl = true;
@@ -1276,6 +1290,7 @@ if (command === '--version' || command === '-v' || command === 'version') {
1276
1290
  responses get <runId> --wait Poll until completed
1277
1291
  responses get <runId> --pick <field> Extract: first_image_url, first_video_url, project_url, output
1278
1292
  responses events <runId> --jsonl Emit message/approval/artifact events for external Agents
1293
+ responses timeline <runId> --jsonl Alias for responses events
1279
1294
  responses approve <messageId> --run <runId> Record approval for a Makaron message
1280
1295
  responses revise <messageId> --run <runId> Record revision request for a Makaron message
1281
1296
  responses ask-user <messageId> --run <runId> Record that the user must decide
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "makaron-cli",
3
- "version": "0.7.8",
3
+ "version": "0.7.9",
4
4
  "description": "Talk to Makaron Agent from the terminal — create projects, edit images, generate videos",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -132,6 +132,7 @@ Use this when another Agent needs to read what Makaron said, detect approval req
132
132
 
133
133
  ```bash
134
134
  npx makaron-cli responses events <runId> --jsonl
135
+ # alias: npx makaron-cli responses timeline <runId> --jsonl
135
136
  ```
136
137
 
137
138
  Events use only three factual types:
@@ -151,10 +152,11 @@ npx makaron-cli responses ask-user msg_1 --run <runId>
151
152
  npx makaron-cli responses continue msg_1 --run <runId>
152
153
  ```
153
154
 
154
- Wrappers can enforce this with:
155
+ Important: approvals are a local Agent gate in v0. They are recorded by the CLI so wrappers and Skills can fail fast, but they do not pause or resume the remote Makaron runtime yet. Wrappers can enforce the local gate with:
155
156
 
156
157
  ```bash
157
- npx makaron-cli responses events <runId> --jsonl --fail-on-unapproved
158
+ npx makaron-cli responses events <runId> --jsonl
159
+ # alias: npx makaron-cli responses timeline <runId> --jsonl --fail-on-unapproved
158
160
  ```
159
161
 
160
162
  ### Extract specific results