@onepointfour-packs/flaredeck-agent 0.1.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.
Files changed (148) hide show
  1. package/LICENSE.md +14 -0
  2. package/README.md +102 -0
  3. package/dist/agent.d.ts +104 -0
  4. package/dist/agent.js +329 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/approval.d.ts +72 -0
  7. package/dist/approval.js +161 -0
  8. package/dist/approval.js.map +1 -0
  9. package/dist/approvals.d.ts +2 -0
  10. package/dist/approvals.js +148 -0
  11. package/dist/approvals.js.map +1 -0
  12. package/dist/auth.d.ts +79 -0
  13. package/dist/auth.js +181 -0
  14. package/dist/auth.js.map +1 -0
  15. package/dist/automode.d.ts +33 -0
  16. package/dist/automode.js +69 -0
  17. package/dist/automode.js.map +1 -0
  18. package/dist/branches.d.ts +25 -0
  19. package/dist/branches.js +81 -0
  20. package/dist/branches.js.map +1 -0
  21. package/dist/cli.d.ts +2 -0
  22. package/dist/cli.js +12 -0
  23. package/dist/cli.js.map +1 -0
  24. package/dist/codesearch.d.ts +27 -0
  25. package/dist/codesearch.js +111 -0
  26. package/dist/codesearch.js.map +1 -0
  27. package/dist/concurrency.d.ts +14 -0
  28. package/dist/concurrency.js +52 -0
  29. package/dist/concurrency.js.map +1 -0
  30. package/dist/config.d.ts +106 -0
  31. package/dist/config.js +119 -0
  32. package/dist/config.js.map +1 -0
  33. package/dist/engine-antigravity.d.ts +23 -0
  34. package/dist/engine-antigravity.js +357 -0
  35. package/dist/engine-antigravity.js.map +1 -0
  36. package/dist/engine-claude.d.ts +18 -0
  37. package/dist/engine-claude.js +64 -0
  38. package/dist/engine-claude.js.map +1 -0
  39. package/dist/engine.d.ts +122 -0
  40. package/dist/engine.js +36 -0
  41. package/dist/engine.js.map +1 -0
  42. package/dist/env.d.ts +1 -0
  43. package/dist/env.js +10 -0
  44. package/dist/env.js.map +1 -0
  45. package/dist/environment.d.ts +39 -0
  46. package/dist/environment.js +100 -0
  47. package/dist/environment.js.map +1 -0
  48. package/dist/flaredeck-check.d.ts +21 -0
  49. package/dist/flaredeck-check.js +12 -0
  50. package/dist/flaredeck-check.js.map +1 -0
  51. package/dist/flaredeck-proxy.d.ts +60 -0
  52. package/dist/flaredeck-proxy.js +186 -0
  53. package/dist/flaredeck-proxy.js.map +1 -0
  54. package/dist/flaredeck.d.ts +132 -0
  55. package/dist/flaredeck.js +106 -0
  56. package/dist/flaredeck.js.map +1 -0
  57. package/dist/gemini.d.ts +21 -0
  58. package/dist/gemini.js +59 -0
  59. package/dist/gemini.js.map +1 -0
  60. package/dist/gitguard.d.ts +2 -0
  61. package/dist/gitguard.js +90 -0
  62. package/dist/gitguard.js.map +1 -0
  63. package/dist/github.d.ts +38 -0
  64. package/dist/github.js +153 -0
  65. package/dist/github.js.map +1 -0
  66. package/dist/githubauth.d.ts +21 -0
  67. package/dist/githubauth.js +90 -0
  68. package/dist/githubauth.js.map +1 -0
  69. package/dist/intake.d.ts +124 -0
  70. package/dist/intake.js +383 -0
  71. package/dist/intake.js.map +1 -0
  72. package/dist/jam.d.ts +45 -0
  73. package/dist/jam.js +385 -0
  74. package/dist/jam.js.map +1 -0
  75. package/dist/jev.d.ts +31 -0
  76. package/dist/jev.js +75 -0
  77. package/dist/jev.js.map +1 -0
  78. package/dist/jevguard.d.ts +28 -0
  79. package/dist/jevguard.js +213 -0
  80. package/dist/jevguard.js.map +1 -0
  81. package/dist/mailbox.d.ts +22 -0
  82. package/dist/mailbox.js +51 -0
  83. package/dist/mailbox.js.map +1 -0
  84. package/dist/main.d.ts +2 -0
  85. package/dist/main.js +764 -0
  86. package/dist/main.js.map +1 -0
  87. package/dist/markdown.d.ts +5 -0
  88. package/dist/markdown.js +81 -0
  89. package/dist/markdown.js.map +1 -0
  90. package/dist/oauth.d.ts +30 -0
  91. package/dist/oauth.js +216 -0
  92. package/dist/oauth.js.map +1 -0
  93. package/dist/permissions.d.ts +43 -0
  94. package/dist/permissions.js +57 -0
  95. package/dist/permissions.js.map +1 -0
  96. package/dist/preflight.d.ts +71 -0
  97. package/dist/preflight.js +116 -0
  98. package/dist/preflight.js.map +1 -0
  99. package/dist/providers.d.ts +26 -0
  100. package/dist/providers.js +27 -0
  101. package/dist/providers.js.map +1 -0
  102. package/dist/repopicker.d.ts +3 -0
  103. package/dist/repopicker.js +111 -0
  104. package/dist/repopicker.js.map +1 -0
  105. package/dist/runs.d.ts +59 -0
  106. package/dist/runs.js +211 -0
  107. package/dist/runs.js.map +1 -0
  108. package/dist/sandbox.d.ts +13 -0
  109. package/dist/sandbox.js +110 -0
  110. package/dist/sandbox.js.map +1 -0
  111. package/dist/schedules.d.ts +11 -0
  112. package/dist/schedules.js +85 -0
  113. package/dist/schedules.js.map +1 -0
  114. package/dist/secretguard.d.ts +4 -0
  115. package/dist/secretguard.js +115 -0
  116. package/dist/secretguard.js.map +1 -0
  117. package/dist/secrets.d.ts +27 -0
  118. package/dist/secrets.js +51 -0
  119. package/dist/secrets.js.map +1 -0
  120. package/dist/serve.d.ts +17 -0
  121. package/dist/serve.js +1206 -0
  122. package/dist/serve.js.map +1 -0
  123. package/dist/status.d.ts +73 -0
  124. package/dist/status.js +98 -0
  125. package/dist/status.js.map +1 -0
  126. package/dist/stream.d.ts +91 -0
  127. package/dist/stream.js +103 -0
  128. package/dist/stream.js.map +1 -0
  129. package/dist/streamtoken.d.ts +2 -0
  130. package/dist/streamtoken.js +30 -0
  131. package/dist/streamtoken.js.map +1 -0
  132. package/dist/team.d.ts +61 -0
  133. package/dist/team.js +136 -0
  134. package/dist/team.js.map +1 -0
  135. package/dist/ui.d.ts +110 -0
  136. package/dist/ui.js +348 -0
  137. package/dist/ui.js.map +1 -0
  138. package/dist/updater.d.ts +15 -0
  139. package/dist/updater.js +178 -0
  140. package/dist/updater.js.map +1 -0
  141. package/dist/workspace.d.ts +115 -0
  142. package/dist/workspace.js +247 -0
  143. package/dist/workspace.js.map +1 -0
  144. package/dist/worktree.d.ts +42 -0
  145. package/dist/worktree.js +140 -0
  146. package/dist/worktree.js.map +1 -0
  147. package/package.json +52 -0
  148. package/python/sidecar.py +178 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { AgentEvent } from './agent.js';
2
+ /**
3
+ * What the agent is doing, assembled by watching — never by asking.
4
+ *
5
+ * Everything here comes from the SDK message stream the harness already reads: tool calls, the
6
+ * agent's own todo list, how long the turn has run. Watching costs the agent nothing — no turn,
7
+ * no tokens, nothing added to its context — so it cannot disturb the work it is reporting on.
8
+ *
9
+ * That is the whole point. Asking an agent how it is going costs a turn, interrupts it, and
10
+ * returns the model's opinion of itself, which is the thing that proved unreliable: three
11
+ * sub-agents "finished" without a report and the lead had to go and look.
12
+ *
13
+ * Even the one-line summary is free. The agent's in-progress todo IS the summary — it wrote it,
14
+ * it keeps it current, and reading it needs no second model call.
15
+ */
16
+ export type Status = {
17
+ summary: string;
18
+ card: string;
19
+ state: 'working' | 'idle' | 'stopped';
20
+ todos: string[];
21
+ /**
22
+ * How far through its own plan it is. Counted from the stream: every TaskCreate is one more
23
+ * task, and every TaskUpdate to 'completed' finishes one. Completions are held as a set of ids
24
+ * because the agent may mark the same task done twice, and a count that can exceed its own
25
+ * total is worse than no count at all.
26
+ */
27
+ tasks: {
28
+ done: number;
29
+ total: number;
30
+ };
31
+ /**
32
+ * What is waiting behind the current card, and what it starts next. The harness owns the queue,
33
+ * not the model, so these are set from outside — see setQueue. A lead reads them to see where
34
+ * work is piling up without opening that agent's pane.
35
+ */
36
+ queued: number;
37
+ next: string;
38
+ recentTools: string[];
39
+ startedAt: number | null;
40
+ errorsInARow: number;
41
+ repo: string;
42
+ };
43
+ export declare class StatusTracker {
44
+ private readonly repo;
45
+ private todos;
46
+ private created;
47
+ private completed;
48
+ private tools;
49
+ private current;
50
+ private queued;
51
+ private next;
52
+ /** False while the current work is not a card (a pane question, the idle sweep). */
53
+ private currentIsCard;
54
+ private started;
55
+ private errors;
56
+ private stopped;
57
+ constructor(repo: string);
58
+ /**
59
+ * `isCard: false` for work that is not a card — a question typed in the pane, the idle sweep.
60
+ * It still counts as working, but reporting "your outstanding work" in the CARD field put that
61
+ * phrase in the card column of every lead's team panel, where a card code belongs.
62
+ */
63
+ startCard(card: string, isCard?: boolean): void;
64
+ finishCard(ok: boolean): void;
65
+ stop(): void;
66
+ /** Fold one stream event in. Cheap enough to call on every message. */
67
+ observe(event: AgentEvent): void;
68
+ /** Called by the daemon whenever its queue changes; it is the only thing that knows. */
69
+ setQueue(queued: number, next: string): void;
70
+ snapshot(): Status;
71
+ }
72
+ /** Push it. Never fatal: an agent that cannot report is still an agent that can work. */
73
+ export declare function pushStatus(baseUrl: string, auth: () => Promise<string>, status: Status, version: string): Promise<void>;
package/dist/status.js ADDED
@@ -0,0 +1,98 @@
1
+ const RECENT = 5;
2
+ export class StatusTracker {
3
+ repo;
4
+ todos = [];
5
+ created = 0;
6
+ completed = new Set();
7
+ tools = [];
8
+ current = '';
9
+ queued = 0;
10
+ next = '';
11
+ /** False while the current work is not a card (a pane question, the idle sweep). */
12
+ currentIsCard = true;
13
+ started = null;
14
+ errors = 0;
15
+ stopped = false;
16
+ constructor(repo) {
17
+ this.repo = repo;
18
+ }
19
+ /**
20
+ * `isCard: false` for work that is not a card — a question typed in the pane, the idle sweep.
21
+ * It still counts as working, but reporting "your outstanding work" in the CARD field put that
22
+ * phrase in the card column of every lead's team panel, where a card code belongs.
23
+ */
24
+ startCard(card, isCard = true) {
25
+ this.currentIsCard = isCard;
26
+ this.current = card;
27
+ this.started = Date.now();
28
+ // Each card is its own session, so its plan and history start empty rather than carrying
29
+ // the last card's over and reading as progress on this one.
30
+ this.todos = [];
31
+ this.tools = [];
32
+ this.created = 0;
33
+ this.completed = new Set();
34
+ }
35
+ finishCard(ok) {
36
+ this.errors = ok ? 0 : this.errors + 1;
37
+ this.current = '';
38
+ this.started = null;
39
+ }
40
+ stop() {
41
+ this.stopped = true;
42
+ }
43
+ /** Fold one stream event in. Cheap enough to call on every message. */
44
+ observe(event) {
45
+ if (event.kind === 'tool') {
46
+ this.tools.push(event.name);
47
+ if (this.tools.length > RECENT)
48
+ this.tools.shift();
49
+ }
50
+ else if (event.kind === 'todo') {
51
+ if (event.created)
52
+ this.created += 1;
53
+ if (event.status === 'completed' && event.id)
54
+ this.completed.add(event.id);
55
+ this.todos.push(event.text);
56
+ if (this.todos.length > 20)
57
+ this.todos.shift();
58
+ }
59
+ }
60
+ /** Called by the daemon whenever its queue changes; it is the only thing that knows. */
61
+ setQueue(queued, next) {
62
+ this.queued = queued;
63
+ this.next = next;
64
+ }
65
+ snapshot() {
66
+ return {
67
+ // The newest todo SUBJECT is what it is doing now — its own words, not a summary of them.
68
+ // "2 → in_progress" is bookkeeping about a task, not the task, and reads as nothing to
69
+ // a lead looking at the team; skip those for the last line that actually says something.
70
+ summary: [...this.todos].reverse().find((t) => !/^\S+\s*\u2192\s*\S+$/.test(t))
71
+ ?? (this.current ? `working ${this.current}` : 'idle'),
72
+ card: this.currentIsCard ? this.current : '',
73
+ state: this.stopped ? 'stopped' : this.current ? 'working' : 'idle',
74
+ todos: [...this.todos],
75
+ tasks: { done: Math.min(this.completed.size, this.created), total: this.created },
76
+ queued: this.queued,
77
+ next: this.next,
78
+ recentTools: [...this.tools],
79
+ startedAt: this.started,
80
+ errorsInARow: this.errors,
81
+ repo: this.repo,
82
+ };
83
+ }
84
+ }
85
+ /** Push it. Never fatal: an agent that cannot report is still an agent that can work. */
86
+ export async function pushStatus(baseUrl, auth, status, version) {
87
+ try {
88
+ await fetch(`${baseUrl}/events/status`, {
89
+ method: 'POST',
90
+ headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${await auth()}` },
91
+ body: JSON.stringify({ ...status, version }),
92
+ });
93
+ }
94
+ catch {
95
+ /* the next push carries the same picture; nothing is lost by missing one */
96
+ }
97
+ }
98
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * The agent's ear on FlareDeck.
3
+ *
4
+ * The harness owns this connection, not the agent. That is the whole point: an agent that has to
5
+ * set up its own monitor can forget to, can let it lapse, and puts its token in a process listing
6
+ * where `ps` can read it. Here it is a socket the daemon holds, reconnects, and acknowledges.
7
+ *
8
+ * Cloud Run caps a request at an hour, so `/stream` closes about every 50 minutes BY DESIGN and
9
+ * reconnecting is normal operation rather than an error. Delivery is at-least-once: an event is
10
+ * only acknowledged after it has been acted on, so one lost mid-turn comes back rather than
11
+ * vanishing.
12
+ */
13
+ export type StreamEvent = {
14
+ id: string;
15
+ /**
16
+ * The queue document calls this `event`, not `type` — worth naming exactly, because a
17
+ * mis-guessed key here reads as `undefined` rather than failing, so anything routing on it
18
+ * would quietly treat every event as the same kind.
19
+ */
20
+ event: 'assigned' | 'created' | 'commented' | 'mentioned' | 'moved' | 'message' | string;
21
+ /** The event rendered as one line of English — what the agent is actually told. */
22
+ line: string;
23
+ /** The raw text behind the line: a comment's body, or for `decided` the `<requestId>:<outcome>:<what>` the harness parses. */
24
+ message?: string;
25
+ cardKey?: string;
26
+ boardKey?: string;
27
+ cardCode?: string;
28
+ cardName?: string;
29
+ boardName?: string;
30
+ url?: string;
31
+ actor?: string;
32
+ /** The card's Environment, as set on the card. */
33
+ environment?: string;
34
+ /** The lane the card sits in, by name. */
35
+ laneName?: string;
36
+ /**
37
+ * The card is finished. The server already declines to wake a card's HOLDER for a comment on a
38
+ * finished card; this is what lets a turn that was woken anyway — by an @mention, or by an
39
+ * older server — know it without reading the card to find out.
40
+ */
41
+ cardDone?: boolean;
42
+ /**
43
+ * Resolved by FlareDeck from the board's repository config: for each repository, the branch
44
+ * this card's work is cut from and merged into. `role` says why — 'fix' when the card is in
45
+ * one of the board's production-fix environments, 'feature' otherwise. The harness picks the
46
+ * entry whose repository is its own remote.
47
+ */
48
+ baseBranches?: {
49
+ component: string;
50
+ repository: string;
51
+ branch: string;
52
+ role: 'feature' | 'fix' | string;
53
+ }[];
54
+ assignee?: string;
55
+ /** True when this is aimed at the agent rather than merely visible to it. */
56
+ /** Who holds the card, as the server saw it. Empty when the server did not say. */
57
+ assigneeKey?: string;
58
+ forYou?: boolean;
59
+ /** Named in the comment (an @mention) — needs a reply whether or not this agent holds the card. */
60
+ mentioned?: boolean;
61
+ /** `scheduled` events only: which schedule fired, what it is called, what to do, and when the run stops being worth doing. */
62
+ scheduleId?: string;
63
+ scheduleName?: string;
64
+ prompt?: string;
65
+ validUntil?: string;
66
+ };
67
+ /** The connection failed in a way that waiting cannot fix. */
68
+ export declare class StreamRejected extends Error {
69
+ }
70
+ export declare class EventStream {
71
+ private readonly baseUrl;
72
+ private readonly auth;
73
+ private stop;
74
+ /** Aborts the in-flight request. Without it, close() only takes effect between reconnects —
75
+ * and the connection is deliberately long-lived, so that could be forty minutes away. */
76
+ private inFlight;
77
+ /**
78
+ * `auth` returns a currently-valid bearer. A function rather than a string because the access
79
+ * token expires hourly and the stream reconnects for hours — a value captured once would be
80
+ * stale by the second reconnect.
81
+ */
82
+ constructor(baseUrl: string, auth: () => Promise<string>);
83
+ close(): void;
84
+ /**
85
+ * Yields events until closed. Reconnects on its own, so a consumer sees one unbroken sequence
86
+ * and never has to know the socket went away.
87
+ */
88
+ events(onStatus: (text: string) => void): AsyncGenerator<StreamEvent>;
89
+ /** Only once the work is done: an event acknowledged early is an event lost on a crash. */
90
+ ack(ids: string[]): Promise<void>;
91
+ }
package/dist/stream.js ADDED
@@ -0,0 +1,103 @@
1
+ const RETRY_MS = 2000;
2
+ /** The connection failed in a way that waiting cannot fix. */
3
+ export class StreamRejected extends Error {
4
+ }
5
+ export class EventStream {
6
+ baseUrl;
7
+ auth;
8
+ stop = false;
9
+ /** Aborts the in-flight request. Without it, close() only takes effect between reconnects —
10
+ * and the connection is deliberately long-lived, so that could be forty minutes away. */
11
+ inFlight = null;
12
+ /**
13
+ * `auth` returns a currently-valid bearer. A function rather than a string because the access
14
+ * token expires hourly and the stream reconnects for hours — a value captured once would be
15
+ * stale by the second reconnect.
16
+ */
17
+ constructor(baseUrl, auth) {
18
+ this.baseUrl = baseUrl;
19
+ this.auth = auth;
20
+ }
21
+ close() {
22
+ this.stop = true;
23
+ this.inFlight?.abort();
24
+ }
25
+ /**
26
+ * Yields events until closed. Reconnects on its own, so a consumer sees one unbroken sequence
27
+ * and never has to know the socket went away.
28
+ */
29
+ async *events(onStatus) {
30
+ while (!this.stop) {
31
+ try {
32
+ const url = `${this.baseUrl}/events/stream?format=json&ack=manual`;
33
+ this.inFlight = new AbortController();
34
+ const res = await fetch(url, {
35
+ headers: { Accept: 'text/event-stream', Authorization: `Bearer ${await this.auth()}` },
36
+ signal: this.inFlight.signal,
37
+ });
38
+ // A rejected token will never become valid by waiting, so retrying is just a loop that
39
+ // hammers the endpoint while nobody finds out the agent is deaf. Stop and say so.
40
+ if (res.status === 401 || res.status === 403) {
41
+ throw new StreamRejected(`FlareDeck rejected this agent's credentials (${res.status}). The authorisation has ` +
42
+ `been revoked, or the refresh token has lapsed. Run \`flaredeck-agent login\` to ` +
43
+ `authorise this machine again.`);
44
+ }
45
+ if (!res.ok || !res.body)
46
+ throw new Error(`stream ${res.status}`);
47
+ onStatus('listening');
48
+ for await (const event of readSse(res.body)) {
49
+ if (this.stop)
50
+ return;
51
+ yield event;
52
+ }
53
+ // A clean end is the 50-minute cap, not a fault.
54
+ onStatus('reconnecting');
55
+ }
56
+ catch (e) {
57
+ if (e instanceof StreamRejected)
58
+ throw e;
59
+ if (this.stop)
60
+ return; // an abort we asked for is not a fault
61
+ onStatus(`stream dropped (${String(e)}) — retrying`);
62
+ }
63
+ if (!this.stop)
64
+ await sleep(RETRY_MS);
65
+ }
66
+ }
67
+ /** Only once the work is done: an event acknowledged early is an event lost on a crash. */
68
+ async ack(ids) {
69
+ if (!ids.length)
70
+ return;
71
+ await fetch(`${this.baseUrl}/events/ack`, {
72
+ method: 'POST',
73
+ headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${await this.auth()}` },
74
+ body: JSON.stringify({ eventIds: ids }),
75
+ }).catch(() => { });
76
+ }
77
+ }
78
+ /** Minimal SSE reader — only `data:` lines matter; `:` keepalives are ignored. */
79
+ async function* readSse(body) {
80
+ const reader = body.getReader();
81
+ const decoder = new TextDecoder();
82
+ let buffer = '';
83
+ for (;;) {
84
+ const { done, value } = await reader.read();
85
+ if (done)
86
+ return;
87
+ buffer += decoder.decode(value, { stream: true });
88
+ const parts = buffer.split('\n');
89
+ buffer = parts.pop() ?? '';
90
+ for (const line of parts) {
91
+ if (!line.startsWith('data: '))
92
+ continue;
93
+ try {
94
+ yield JSON.parse(line.slice(6));
95
+ }
96
+ catch {
97
+ /* a partial frame; the next read completes it */
98
+ }
99
+ }
100
+ }
101
+ }
102
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
103
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Config } from './config.js';
2
+ export declare function fetchStreamToken(config: Config): Promise<string>;
@@ -0,0 +1,30 @@
1
+ import { buildOptions, runTask } from './agent.js';
2
+ import { denyingDecider } from './permissions.js';
3
+ /**
4
+ * Get this agent's event-stream token the way the agent itself does.
5
+ *
6
+ * No extra credential and no `--agent` flag: the MCP session is already OAuth-authenticated, and
7
+ * `get-guide` mints a 90-day token for whoever that session IS. Naming the agent separately would
8
+ * only invite naming the wrong one.
9
+ *
10
+ * The token is read out of the TOOL RESULT, not the model's prose — that text comes from our own
11
+ * server in a fixed shape, so this parses a known format rather than trusting a summary.
12
+ */
13
+ const IN_URL = /events\/stream\?token=([A-Za-z0-9_.~%-]+)/;
14
+ export async function fetchStreamToken(config) {
15
+ const options = buildOptions(config, denyingDecider, { maxTurns: 3 });
16
+ let found = '';
17
+ for await (const event of runTask('Call the get-guide tool and then stop. Do not summarise it or do anything else.', options)) {
18
+ if (event.kind !== 'result' || found)
19
+ continue;
20
+ const match = IN_URL.exec(event.text);
21
+ if (match?.[1])
22
+ found = decodeURIComponent(match[1]);
23
+ }
24
+ if (!found) {
25
+ throw new Error('The guide came back with no event stream in it. That happens when the FlareDeck MCP ' +
26
+ 'server is not connected for this repo, or when this login is not an agent account.');
27
+ }
28
+ return found;
29
+ }
30
+ //# sourceMappingURL=streamtoken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streamtoken.js","sourceRoot":"","sources":["../src/streamtoken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,MAAM,GAAG,2CAA2C,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc;IACnD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAC/B,iFAAiF,EACjF,OAAO,CACR,EAAE,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YAAE,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,sFAAsF;YACpF,oFAAoF,CACvF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/team.d.ts ADDED
@@ -0,0 +1,61 @@
1
+ import type { Flaredeck } from './flaredeck.js';
2
+ /**
3
+ * What a lead can see, and what a worker cannot.
4
+ *
5
+ * The lead's job is judgement — who gets what, is this one stuck, is that ready to merge — and
6
+ * judgement needs a picture of the team. It reads that from status records the agents pushed
7
+ * themselves, so looking costs them nothing and cannot interrupt them. Nobody is asked how they
8
+ * are doing; the spec is emphatic about that and it is right, because asking costs a turn and
9
+ * returns the model's opinion of itself.
10
+ *
11
+ * Workers do not get these tools at all. "A worker cannot stop another worker" is then true
12
+ * because there is no tool to call, rather than because a prompt asked it not to.
13
+ */
14
+ export type TeamMember = {
15
+ agentId: string;
16
+ name: string;
17
+ role: string;
18
+ reportsTo: string;
19
+ state: string;
20
+ summary: string;
21
+ card: string;
22
+ repo: string;
23
+ /** Its own plan: how many of its tasks are done, out of how many it wrote. */
24
+ tasks: {
25
+ done: number;
26
+ total: number;
27
+ };
28
+ /** Events waiting behind the current card, and the card it starts next. */
29
+ queued: number;
30
+ next: string;
31
+ recentTools: string[];
32
+ errorsInARow: number;
33
+ quietFor: number | null;
34
+ stale: boolean;
35
+ };
36
+ export type Team = {
37
+ you: {
38
+ agentId: string;
39
+ role: string;
40
+ name: string;
41
+ reportsTo?: string;
42
+ reports?: string[];
43
+ };
44
+ agents: TeamMember[];
45
+ };
46
+ /** The agents a lead is responsible for: its reports. Workers with no lead are shown too, marked. */
47
+ export declare function myTeam(team: Team): {
48
+ mine: TeamMember[];
49
+ unled: TeamMember[];
50
+ };
51
+ export declare function fetchTeam(baseUrl: string, token: string): Promise<Team>;
52
+ /** What the lead's pane is told after a review, so a person at that keyboard can answer the endorsed request. */
53
+ export type Reviewed = {
54
+ commentId: string;
55
+ verdict: 'endorse' | 'reject';
56
+ note: string;
57
+ };
58
+ export declare function teamTools(baseUrl: string, token: () => Promise<string>, deck?: Flaredeck | null, onReviewed?: (r: Reviewed) => void): import("@anthropic-ai/claude-agent-sdk").McpSdkServerConfigWithInstance;
59
+ export declare const TEAM_TOOL_NAMES: string[];
60
+ /** Added to the brief for a lead. Everything else about being one comes from its description. */
61
+ export declare const LEAD_BRIEF: string;