@onepointfour-packs/flaredeck-agent 0.2.207 → 0.2.208

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/cli.js CHANGED
File without changes
@@ -40,6 +40,8 @@ export declare function canPublish(tokens: GitHubTokens | undefined): Promise<st
40
40
  * — a network blip or a remote that is not on GitHub says nothing about the token.
41
41
  */
42
42
  export declare function canPushTo(token: string, remote: string): Promise<string | null>;
43
+ /** A GitHub App installation token: what FlareDeck's app hands agents (flaredeck-mcp vault/github-app.ts). */
44
+ export declare const isAppToken: (token: string) => boolean;
43
45
  /** Stop at startup for GitHub only when there is certainly none: no local login, and FlareDeck answered without one. */
44
46
  export declare function noGitHubAnywhere(why: string | null, hasLocalLogin: boolean, workspace: {
45
47
  github?: unknown;
@@ -177,11 +177,20 @@ export async function canPushTo(token, remote) {
177
177
  if (res.status === 404 || res.status === 403) {
178
178
  return `GitHub will not show ${m[1]}/${m[2]} to this machine's login (${res.status}) — the account has no access, or the organisation blocks the app.`;
179
179
  }
180
+ /* A GitHub App's installation token (ghs_…) is answered with permissions.push: false whatever
181
+ the app may do — the field describes a USER's role. What the app may push is set by its own
182
+ permissions (Contents: read and write) and which repositories it was installed on; a repository
183
+ it was not given is the 404 above. Reading push:false there paused C3PO on every repository the
184
+ moment it started with the FlareDeck app's token (21 Oct). */
185
+ if (isAppToken(token))
186
+ return null;
180
187
  const body = (await res.json().catch(() => ({})));
181
188
  if (body.permissions && body.permissions.push === false)
182
189
  return `This machine's GitHub login can read ${m[1]}/${m[2]} but not push to it.`;
183
190
  return null;
184
191
  }
192
+ /** A GitHub App installation token: what FlareDeck's app hands agents (flaredeck-mcp vault/github-app.ts). */
193
+ export const isAppToken = (token) => token.startsWith('ghs_');
185
194
  /** Stop at startup for GitHub only when there is certainly none: no local login, and FlareDeck answered without one. */
186
195
  export function noGitHubAnywhere(why, hasLocalLogin, workspace) {
187
196
  return !!why && !hasLocalLogin && !!workspace && !workspace.github;
@@ -1 +1 @@
1
- {"version":3,"file":"githubauth.js","sourceRoot":"","sources":["../src/githubauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"githubauth.js","sourceRoot":"","sources":["../src/githubauth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onepointfour-packs/flaredeck-agent",
3
- "version": "0.2.207",
3
+ "version": "0.2.208",
4
4
  "description": "Run a FlareDeck agent on your own machine: it picks up cards assigned to it, works each one in a checkout of its own, and reports back on the card.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -21,7 +21,7 @@
21
21
  "prepublishOnly": "node scripts/bump-sdk.mjs && npm run build"
22
22
  },
23
23
  "dependencies": {
24
- "@anthropic-ai/claude-agent-sdk": "^0.3.306",
24
+ "@anthropic-ai/claude-agent-sdk": "^0.3.310",
25
25
  "ink": "^7.1.1",
26
26
  "ink-text-input": "^6.0.0",
27
27
  "playwright-core": "^1.64.0",
@@ -1,14 +0,0 @@
1
- import type { HookCallbackMatcher, HookEvent } from '@anthropic-ai/claude-agent-sdk';
2
- /**
3
- * Cap how many sub-agents run at once.
4
- *
5
- * Sub-agents are where an environment gets contended: two testing the API is fine, a third
6
- * starting its own copy is not. Leasing ports per job would be the thorough answer, but a cap is
7
- * most of the benefit for a fraction of the machinery — with a known ceiling you can size the
8
- * environment for it and stop thinking about it.
9
- *
10
- * Done as a PreToolUse hook rather than a prompt instruction because hooks run before every other
11
- * permission step and a hook deny holds even in bypassPermissions. A limit the model can talk
12
- * itself past is not a limit.
13
- */
14
- export declare function subagentLimit(max: number, onNote: (text: string) => void): Partial<Record<HookEvent, HookCallbackMatcher[]>>;
@@ -1,52 +0,0 @@
1
- /**
2
- * Cap how many sub-agents run at once.
3
- *
4
- * Sub-agents are where an environment gets contended: two testing the API is fine, a third
5
- * starting its own copy is not. Leasing ports per job would be the thorough answer, but a cap is
6
- * most of the benefit for a fraction of the machinery — with a known ceiling you can size the
7
- * environment for it and stop thinking about it.
8
- *
9
- * Done as a PreToolUse hook rather than a prompt instruction because hooks run before every other
10
- * permission step and a hook deny holds even in bypassPermissions. A limit the model can talk
11
- * itself past is not a limit.
12
- */
13
- export function subagentLimit(max, onNote) {
14
- let running = 0;
15
- return {
16
- PreToolUse: [
17
- {
18
- // Only the tool that spawns them; everything else is untouched.
19
- matcher: 'Agent',
20
- hooks: [
21
- async () => {
22
- if (running >= max) {
23
- onNote(`held back a sub-agent — ${running}/${max} already running`);
24
- return {
25
- decision: 'block',
26
- reason: `${running} sub-agents are already running and the limit is ${max}. Wait for one ` +
27
- `to finish before starting another, or do this part yourself. Starting more would ` +
28
- `have them competing for the same ports, database and dev server.`,
29
- };
30
- }
31
- running += 1;
32
- return { continue: true };
33
- },
34
- ],
35
- },
36
- ],
37
- PostToolUse: [
38
- {
39
- matcher: 'Agent',
40
- hooks: [
41
- async () => {
42
- // Never below zero: a hook that missed its pair would otherwise leak capacity upward
43
- // and quietly remove the limit.
44
- running = Math.max(0, running - 1);
45
- return { continue: true };
46
- },
47
- ],
48
- },
49
- ],
50
- };
51
- }
52
- //# sourceMappingURL=concurrency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,MAA8B;IACvE,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO;QACL,UAAU,EAAE;YACV;gBACE,gEAAgE;gBAChE,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE;oBACL,KAAK,IAAI,EAAE;wBACT,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;4BACnB,MAAM,CAAC,2BAA2B,OAAO,IAAI,GAAG,kBAAkB,CAAC,CAAC;4BACpE,OAAO;gCACL,QAAQ,EAAE,OAAO;gCACjB,MAAM,EACJ,GAAG,OAAO,oDAAoD,GAAG,iBAAiB;oCAClF,mFAAmF;oCACnF,kEAAkE;6BACrE,CAAC;wBACJ,CAAC;wBACD,OAAO,IAAI,CAAC,CAAC;wBACb,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAC5B,CAAC;iBACF;aACF;SACF;QACD,WAAW,EAAE;YACX;gBACE,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE;oBACL,KAAK,IAAI,EAAE;wBACT,qFAAqF;wBACrF,gCAAgC;wBAChC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;wBACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAC5B,CAAC;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Config } from './config.js';
2
- export declare function fetchStreamToken(config: Config): Promise<string>;
@@ -1,30 +0,0 @@
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
@@ -1 +0,0 @@
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"}