@onepointfour-packs/flaredeck-agent 0.2.37 → 0.2.38

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/picker.js ADDED
@@ -0,0 +1,104 @@
1
+ import { Box, Text, render, useApp, useInput } from 'ink';
2
+ import React, { useState } from 'react';
3
+ /**
4
+ * Tick some of a list.
5
+ *
6
+ * This started as the repository picker and is now shared, because the second thing an agent is
7
+ * scoped by — which boards it works — is the same question with different nouns. The lesson it
8
+ * carries is worth keeping in one place: this was once a numbered list you typed numbers at, and
9
+ * the numbers TOGGLED. Everything started ticked, so typing the four you wanted turned those four
10
+ * off. A prompt whose plainest reading is the opposite of what it does is not fixed by better
11
+ * wording; it is fixed by not asking people to hold the current state in their head. Move, press
12
+ * space, see the tick change.
13
+ */
14
+ const MAX_ROWS = 16;
15
+ function Picker({ title, subtitle, items, initial, onDone, }) {
16
+ const { exit } = useApp();
17
+ const [on, setOn] = useState(new Set(initial));
18
+ const [at, setAt] = useState(0);
19
+ const done = (picked) => { onDone(picked); exit(); };
20
+ useInput((input, key) => {
21
+ if (key.upArrow || input === 'k')
22
+ setAt((i) => (i - 1 + items.length) % items.length);
23
+ else if (key.downArrow || input === 'j')
24
+ setAt((i) => (i + 1) % items.length);
25
+ else if (input === ' ') {
26
+ const id = items[at]?.id;
27
+ if (id)
28
+ setOn((s) => { const n = new Set(s); if (n.has(id))
29
+ n.delete(id);
30
+ else
31
+ n.add(id); return n; });
32
+ }
33
+ else if (input === 'a')
34
+ setOn(new Set(items.map((r) => r.id)));
35
+ else if (input === 'n')
36
+ setOn(new Set());
37
+ else if (key.return)
38
+ done(items.filter((r) => on.has(r.id)).map((r) => r.id));
39
+ // Escape leaves the config alone rather than saving an empty choice — a cancelled prompt
40
+ // should change nothing, and "none of them" is a thing you say with n then enter.
41
+ else if (key.escape || input === 'q')
42
+ done(null);
43
+ });
44
+ // A window, so a long list does not scroll the question off the screen.
45
+ const half = Math.floor(MAX_ROWS / 2);
46
+ const first = Math.max(0, Math.min(at - half, items.length - MAX_ROWS));
47
+ const shown = items.slice(first, first + MAX_ROWS);
48
+ const width = Math.max(...items.map((r) => r.label.length));
49
+ return (React.createElement(Box, { flexDirection: "column" },
50
+ React.createElement(Text, null,
51
+ React.createElement(Text, { bold: true }, title),
52
+ React.createElement(Text, { dimColor: true },
53
+ " \u00B7 ",
54
+ subtitle)),
55
+ React.createElement(Box, { height: 1 }),
56
+ first > 0 ? React.createElement(Text, { dimColor: true },
57
+ " \u2191 ",
58
+ first,
59
+ " more") : null,
60
+ shown.map((r, i) => {
61
+ const here = first + i === at;
62
+ const ticked = on.has(r.id);
63
+ return (React.createElement(Text, { key: r.id, color: here ? 'cyan' : undefined },
64
+ here ? '❯ ' : ' ',
65
+ React.createElement(Text, { color: ticked ? 'green' : undefined }, ticked ? '◉' : '◯'),
66
+ ' ',
67
+ React.createElement(Text, { bold: ticked }, r.label.padEnd(width)),
68
+ r.note ? React.createElement(Text, { dimColor: true },
69
+ " ",
70
+ r.note) : null));
71
+ }),
72
+ first + MAX_ROWS < items.length ? React.createElement(Text, { dimColor: true },
73
+ " \u2193 ",
74
+ items.length - first - MAX_ROWS,
75
+ " more") : null,
76
+ React.createElement(Box, { height: 1 }),
77
+ React.createElement(Text, { dimColor: true },
78
+ "\u2191\u2193 move \u00B7 space tick \u00B7 a all \u00B7 n none \u00B7 enter accept (",
79
+ on.size,
80
+ " selected) \u00B7 esc cancel")));
81
+ }
82
+ /** Resolves to the ticked ids, or null when the person backed out without choosing. */
83
+ export function pickMany(title, subtitle, items, initial) {
84
+ return new Promise((resolve) => {
85
+ // Resolved from the callback AND from the unmount, whichever happens first, because this sits
86
+ // in the middle of login: a picker that renders but never returns is a login that hangs with
87
+ // no way forward. startApprovals settles the same two ways for the same reason.
88
+ let settled = false;
89
+ let app = null;
90
+ const finish = (picked) => {
91
+ if (settled)
92
+ return;
93
+ settled = true;
94
+ try {
95
+ app?.unmount();
96
+ }
97
+ catch { /* already gone */ }
98
+ resolve(picked);
99
+ };
100
+ app = render(React.createElement(Picker, { title: title, subtitle: subtitle, items: items, initial: initial, onDone: finish }));
101
+ void app.waitUntilExit().then(() => finish(null));
102
+ });
103
+ }
104
+ //# sourceMappingURL=picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"picker.js","sourceRoot":"","sources":["../src/picker.tsx"],"names":[],"mappings":"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"}
@@ -1,84 +1,10 @@
1
- import { Box, Text, render, useApp, useInput } from 'ink';
2
- import React, { useState } from 'react';
1
+ import { pickMany } from './picker.js';
3
2
  /**
4
3
  * Tick the repositories an agent may work in.
5
4
  *
6
- * This was a numbered list you typed numbers at, and the numbers TOGGLED. Everything started
7
- * ticked, so typing the four you wanted turned those four off — the list said "to toggle" and it
8
- * still read as "to choose". A prompt whose plainest reading is the opposite of what it does is
9
- * not a prompt worth keeping, and the fix is not better wording: it is to stop asking people to
10
- * hold the current state in their head. Move, press space, see the tick change.
5
+ * The interaction itself now lives in `picker.tsx`, shared with the board picker — the same
6
+ * question with different nouns, and the note it carries about toggling is worth reading once.
11
7
  */
12
- const MAX_ROWS = 16;
13
- function Picker({ root, repos, initial, onDone, }) {
14
- const { exit } = useApp();
15
- const [on, setOn] = useState(new Set(initial));
16
- const [at, setAt] = useState(0);
17
- const done = (picked) => { onDone(picked); exit(); };
18
- useInput((input, key) => {
19
- if (key.upArrow || input === 'k')
20
- setAt((i) => (i - 1 + repos.length) % repos.length);
21
- else if (key.downArrow || input === 'j')
22
- setAt((i) => (i + 1) % repos.length);
23
- else if (input === ' ') {
24
- const name = repos[at]?.name;
25
- if (name)
26
- setOn((s) => { const n = new Set(s); if (n.has(name))
27
- n.delete(name);
28
- else
29
- n.add(name); return n; });
30
- }
31
- else if (input === 'a')
32
- setOn(new Set(repos.map((r) => r.name)));
33
- else if (input === 'n')
34
- setOn(new Set());
35
- else if (key.return)
36
- done(repos.filter((r) => on.has(r.name)).map((r) => r.name));
37
- // Escape leaves the config alone rather than saving an empty choice — a cancelled prompt
38
- // should change nothing, and "none of them" is a thing you say with n then enter.
39
- else if (key.escape || input === 'q')
40
- done(null);
41
- });
42
- // A window, so a folder of forty repos does not scroll the question off the screen.
43
- const half = Math.floor(MAX_ROWS / 2);
44
- const first = Math.max(0, Math.min(at - half, repos.length - MAX_ROWS));
45
- const shown = repos.slice(first, first + MAX_ROWS);
46
- const width = Math.max(...repos.map((r) => r.name.length));
47
- return (React.createElement(Box, { flexDirection: "column" },
48
- React.createElement(Text, null,
49
- React.createElement(Text, { bold: true }, "Which of these may this agent work in?"),
50
- React.createElement(Text, { dimColor: true },
51
- " \u00B7 ",
52
- repos.length,
53
- " found in ",
54
- root)),
55
- React.createElement(Box, { height: 1 }),
56
- first > 0 ? React.createElement(Text, { dimColor: true },
57
- " \u2191 ",
58
- first,
59
- " more") : null,
60
- shown.map((r, i) => {
61
- const here = first + i === at;
62
- const ticked = on.has(r.name);
63
- return (React.createElement(Text, { key: r.path, color: here ? 'cyan' : undefined },
64
- here ? '❯ ' : ' ',
65
- React.createElement(Text, { color: ticked ? 'green' : undefined }, ticked ? '◉' : '◯'),
66
- ' ',
67
- React.createElement(Text, { bold: ticked }, r.name.padEnd(width)),
68
- React.createElement(Text, { dimColor: true },
69
- " ",
70
- r.origin ? shortRemote(r.origin) : 'no remote — nothing it pushes can be received')));
71
- }),
72
- first + MAX_ROWS < repos.length ? React.createElement(Text, { dimColor: true },
73
- " \u2193 ",
74
- repos.length - first - MAX_ROWS,
75
- " more") : null,
76
- React.createElement(Box, { height: 1 }),
77
- React.createElement(Text, { dimColor: true },
78
- "\u2191\u2193 move \u00B7 space tick \u00B7 a all \u00B7 n none \u00B7 enter accept (",
79
- on.size,
80
- " selected) \u00B7 esc cancel")));
81
- }
82
8
  const shortRemote = (url) => url.trim().toLowerCase()
83
9
  .replace(/^git@([^:]+):/, '$1/')
84
10
  .replace(/^[a-z]+:\/\//, '')
@@ -88,24 +14,10 @@ const shortRemote = (url) => url.trim().toLowerCase()
88
14
  .join('/');
89
15
  /** Resolves to the ticked names, or null when the person backed out without choosing. */
90
16
  export function pickRepos(root, repos, initial) {
91
- return new Promise((resolve) => {
92
- // Resolved from the callback AND from the unmount, whichever happens first, because this sits
93
- // in the middle of login: a picker that renders but never returns is a login that hangs with
94
- // no way forward. startApprovals settles the same two ways for the same reason.
95
- let settled = false;
96
- let app = null;
97
- const finish = (picked) => {
98
- if (settled)
99
- return;
100
- settled = true;
101
- try {
102
- app?.unmount();
103
- }
104
- catch { /* already gone */ }
105
- resolve(picked);
106
- };
107
- app = render(React.createElement(Picker, { root: root, repos: repos, initial: initial, onDone: finish }));
108
- void app.waitUntilExit().then(() => finish(null));
109
- });
17
+ return pickMany('Which of these may this agent work in?', `${repos.length} found in ${root}`, repos.map((r) => ({
18
+ id: r.name,
19
+ label: r.name,
20
+ note: r.origin ? shortRemote(r.origin) : 'no remote — nothing it pushes can be received',
21
+ })), initial);
110
22
  }
111
23
  //# sourceMappingURL=repopicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repopicker.js","sourceRoot":"","sources":["../src/repopicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repopicker.js","sourceRoot":"","sources":["../src/repopicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE,CAC1C,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;KACrB,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC;KAC/B,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;KAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;KACrB,KAAK,CAAC,GAAG,CAAC;KACV,KAAK,CAAC,CAAC,CAAC,CAAC;KACT,IAAI,CAAC,GAAG,CAAC,CAAC;AAEf,yFAAyF;AACzF,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAiB,EAAE,OAAoB;IAC7E,OAAO,QAAQ,CACb,wCAAwC,EACxC,GAAG,KAAK,CAAC,MAAM,aAAa,IAAI,EAAE,EAClC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,EAAE,EAAE,CAAC,CAAC,IAAI;QACV,KAAK,EAAE,CAAC,CAAC,IAAI;QACb,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,+CAA+C;KACzF,CAAC,CAAC,EACH,OAAO,CACR,CAAC;AACJ,CAAC"}
package/dist/runs.d.ts CHANGED
@@ -76,13 +76,20 @@ export type HumanHooks = {
76
76
  /** Flag the card and tell whoever the board names. Returns who was told, when it says. */
77
77
  flag: (reason: string, kind: string) => Promise<string | null>;
78
78
  /** The card has been answered, so it is no longer waiting on anybody. */
79
- unflag: () => Promise<void>;
79
+ /** Clear the flag on THIS card — by the time an answer arrives the agent may be on another. */
80
+ unflag: (card: Current) => Promise<void>;
80
81
  };
81
82
  export declare function runTools(configured: Record<string, RunTarget>, current: () => Current | null, deck: Flaredeck | null, log: (text: string) => void, human: HumanHooks,
82
83
  /** This agent's lead, when it has one: a script goes there first, and a person is asked only if the lead endorses it. */
83
84
  lead?: () => string | null,
84
85
  /** The pane, told when a request is posted and when it is answered. */
85
- onAsk?: (e: AskEvent) => void): {
86
+ onAsk?: (e: AskEvent) => void,
87
+ /**
88
+ * Bring a parked card back with the outcome of its request. When given, a script request does
89
+ * NOT hold the turn: the card is parked, the agent moves on to its next card, and this card
90
+ * returns to the front of the queue once a person answers. Without it, the old wait.
91
+ */
92
+ resume?: (card: Current, text: string) => void): {
86
93
  server: unknown;
87
94
  toolNames: string[];
88
95
  };
package/dist/runs.js CHANGED
@@ -148,7 +148,13 @@ export function runTools(configured, current, deck, log, human,
148
148
  /** This agent's lead, when it has one: a script goes there first, and a person is asked only if the lead endorses it. */
149
149
  lead = () => null,
150
150
  /** The pane, told when a request is posted and when it is answered. */
151
- onAsk = () => { }) {
151
+ onAsk = () => { },
152
+ /**
153
+ * Bring a parked card back with the outcome of its request. When given, a script request does
154
+ * NOT hold the turn: the card is parked, the agent moves on to its next card, and this card
155
+ * returns to the front of the queue once a person answers. Without it, the old wait.
156
+ */
157
+ resume) {
152
158
  const targets = allTargets(configured);
153
159
  const names = Object.keys(targets);
154
160
  const list = names.map((n) => ` · ${n}${targets[n].about ? ` — ${targets[n].about}` : ''}`).join('\n');
@@ -163,8 +169,9 @@ onAsk = () => { }) {
163
169
  'without the answer. Use it for what only a person can supply: a decision, a credential, ' +
164
170
  'access that does not exist.\n\n' +
165
171
  'With `script` it is a request to RUN something. A person reads the script itself and ' +
166
- 'approves or denies it; if they approve, the HARNESS runs it and gives you the output, and ' +
167
- 'you carry on in this same turn. Use it when the thing you need is a command, in a place ' +
172
+ 'approves or denies it; if they approve, the HARNESS runs it. You do not wait: the card is ' +
173
+ 'parked, your turn ends, you move on to other work, and the card comes back to you first ' +
174
+ 'with the output once somebody answers. Use it when the thing you need is a command, in a place ' +
168
175
  'you cannot reach — a live database, a deployed service, a checkout that is not yours. ' +
169
176
  'You never hold the credential and you never run it. If you report to a lead, the lead ' +
170
177
  'reads the script first and only an endorsed request reaches a person. A denial is final ' +
@@ -234,7 +241,7 @@ onAsk = () => { }) {
234
241
  });
235
242
  });
236
243
  log(leadId ? `asking the lead to review a script on ${name}` : `asking for approval to run a script on ${name}${told ? ` · ${told}` : ''}`);
237
- const verdict = await ask({
244
+ const asked = ask({
238
245
  toolName: SCRIPT_REQUEST,
239
246
  input: {
240
247
  description: `SCRIPT "${label}" on ${name} — ${reason.trim()}${expected_effect ? ` Expected: ${expected_effect.trim()}` : ''} [${hash}]`,
@@ -242,9 +249,30 @@ onAsk = () => { }) {
242
249
  whole: true,
243
250
  },
244
251
  }, { signal: new AbortController().signal });
252
+ // Parked, not waiting. A request held the whole agent for up to an hour, with every other
253
+ // card queued behind one that could not move. Now the turn ends here, the agent takes its
254
+ // next card, and this one comes back first — with the output — when a person answers.
255
+ if (resume) {
256
+ const card = cur;
257
+ void asked
258
+ .then(async (v) => {
259
+ onAsk({ kind: 'answered', requestId: hash });
260
+ await human.unflag(card);
261
+ if (!v.allow)
262
+ return resume(card, `Your script request "${label}" on ${name} was not run: ${v.reason}`);
263
+ const r = await runAndReport(t, { commentId: posted?.comment_id ?? '', card: card.card, cwd: card.cwd, name: label, target: name, script: body, hash }, deck, log);
264
+ resume(card, `Your script request "${label}" was approved and ${r.code === 0 ? 'ran' : `FAILED (exit ${r.code})`} on ${name}. Output:\n${r.out || '(no output)'}\n\nCarry on with the card from here.`);
265
+ })
266
+ .catch((e) => resume(card, `Your script request "${label}" could not complete: ${e instanceof Error ? e.message : String(e)}`));
267
+ return say(`Asked${leadId ? ' (your lead reviews it first)' : ''}. This card is now PARKED — end your turn. ` +
268
+ `Commit what you have and say on the card that you are waiting for this run. You are not ` +
269
+ `waiting here: you move on to your next card, and when someone answers, the harness runs ` +
270
+ `the script (if approved) and this card comes back to you first, with the output.`);
271
+ }
272
+ const verdict = await asked;
245
273
  onAsk({ kind: 'answered', requestId: hash });
246
274
  // Answered either way, so the card is no longer waiting on anybody.
247
- await human.unflag();
275
+ await human.unflag(cur);
248
276
  if (!verdict.allow)
249
277
  return say(`Not run. ${verdict.reason}`, true);
250
278
  const r = await runAndReport(t, { commentId: posted?.comment_id ?? '', card: cur.card, cwd: cur.cwd, name: label, target: name, script: body, hash }, deck, log);
package/dist/runs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
package/dist/serve.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { Interface } from 'node:readline';
1
2
  import { type Config } from './config.js';
2
3
  import type { Flaredeck } from './flaredeck.js';
3
4
  import type { Decider } from './permissions.js';
@@ -10,6 +11,11 @@ export type Serve = {
10
11
  deck?: Flaredeck;
11
12
  /** A PERSON's client, when someone has done `login --me` here: what answers a run from the pane. */
12
13
  me?: Flaredeck;
14
+ /**
15
+ * Sign a person in from the pane itself, when nobody has done `login --me` here. The paste of
16
+ * the redirect comes from the pane's own text box, through `rl`.
17
+ */
18
+ signInMe?: (say: (text: string) => void, rl: Interface) => Promise<Flaredeck | null>;
13
19
  say: (text: string) => void;
14
20
  /** Who this machine is, for the header. */
15
21
  agent?: string;