agent-afk 5.322.17 → 5.322.19

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 (99) hide show
  1. package/dist/agent/daemon/github-event-poller.d.ts +30 -0
  2. package/dist/agent/mcp/failure-notice.d.ts +11 -0
  3. package/dist/agent/mcp/naming.d.ts +1 -0
  4. package/dist/agent/session/provider-lifecycle.d.ts +3 -1
  5. package/dist/agent/tools/dispatcher.core-exec.d.ts +2 -0
  6. package/dist/agent/tools/dispatcher.d.ts +3 -0
  7. package/dist/agent/tools/dispatcher.mcp-states.d.ts +4 -0
  8. package/dist/agent/tools/handlers/path-policy.d.ts +7 -0
  9. package/dist/agent/tools/handlers/read-denylist-carveout.d.ts +5 -0
  10. package/dist/agent/tools/handlers/read-denylist.d.ts +1 -0
  11. package/dist/agent/tools/hooks/bash-restriction-hook.pubkey-scrub.d.ts +2 -0
  12. package/dist/agent/tools/hooks/bash-restriction-hook.readonly-gate.d.ts +2 -0
  13. package/dist/cli/commands/events.d.ts +2 -0
  14. package/dist/cli.mjs +513 -507
  15. package/dist/config/env.d.ts +9 -1
  16. package/dist/config/env.daemon.d.ts +8 -0
  17. package/dist/config/env.misc.d.ts +1 -1
  18. package/dist/index.mjs +217 -216
  19. package/dist/remote/remote-subagent-handle.d.ts +31 -0
  20. package/dist/telegram.mjs +257 -256
  21. package/dist/web-ui-assets/assets/{angular-html-B5j4TaBu.js → angular-html-PCH3IOs4.js} +1 -1
  22. package/dist/web-ui-assets/assets/{angular-ts-DyR4rrke.js → angular-ts-BfJ-CUjO.js} +1 -1
  23. package/dist/web-ui-assets/assets/{apl-C2i9_77M.js → apl-DGh2y7Bc.js} +1 -1
  24. package/dist/web-ui-assets/assets/{astro-BYIbrExl.js → astro-BNHpcYQW.js} +1 -1
  25. package/dist/web-ui-assets/assets/{blade-DsqcTTQb.js → blade-BQQ3X1K_.js} +1 -1
  26. package/dist/web-ui-assets/assets/{c-Dn1Qmnv9.js → c-D7Gtocl1.js} +1 -1
  27. package/dist/web-ui-assets/assets/{chapel-CJVD_Haz.js → chapel-vLoovcaB.js} +1 -1
  28. package/dist/web-ui-assets/assets/{cobol-Bsq224xe.js → cobol-CEfGd8Zi.js} +1 -1
  29. package/dist/web-ui-assets/assets/{coffee-BVSvkQ-p.js → coffee-Bl7B5EQ8.js} +1 -1
  30. package/dist/web-ui-assets/assets/{cpp-Bs98i4FT.js → cpp-DovE96a1.js} +1 -1
  31. package/dist/web-ui-assets/assets/{crystal-DQFq9NDT.js → crystal-DQhhEVR_.js} +1 -1
  32. package/dist/web-ui-assets/assets/{css-BFFs5zxS.js → css-D1h6KICf.js} +1 -1
  33. package/dist/web-ui-assets/assets/{dist-8_3aqZoJ.js → dist-CDAQQmhG.js} +2 -2
  34. package/dist/web-ui-assets/assets/{edge-CK4ONZxE.js → edge-24ucrI1t.js} +1 -1
  35. package/dist/web-ui-assets/assets/{elixir-CnW7Pkto.js → elixir-DrUno2bg.js} +1 -1
  36. package/dist/web-ui-assets/assets/{elm-CNo2kurt.js → elm-Bva70CWM.js} +1 -1
  37. package/dist/web-ui-assets/assets/{erb-BRRkjDlJ.js → erb-Cm1xp0Xd.js} +1 -1
  38. package/dist/web-ui-assets/assets/{git-rebase-WoZ7FUHB.js → git-rebase-CtlkoMsb.js} +1 -1
  39. package/dist/web-ui-assets/assets/{glimmer-js-fwJAEtQ_.js → glimmer-js-1Wj3YPoS.js} +1 -1
  40. package/dist/web-ui-assets/assets/{glimmer-ts-Dcq1vDRh.js → glimmer-ts-BOHKYbW2.js} +1 -1
  41. package/dist/web-ui-assets/assets/{glsl-D1j2WBHK.js → glsl-CnWOz3al.js} +1 -1
  42. package/dist/web-ui-assets/assets/{graphql-BEt6iuUu.js → graphql-HrbZ70JC.js} +1 -1
  43. package/dist/web-ui-assets/assets/{hack-D2pccT2z.js → hack-C-_41XO-.js} +1 -1
  44. package/dist/web-ui-assets/assets/{haml-C3r0Wx5E.js → haml-C58OJaHC.js} +1 -1
  45. package/dist/web-ui-assets/assets/{handlebars-B_o69um3.js → handlebars-DzP0ka2z.js} +1 -1
  46. package/dist/web-ui-assets/assets/{html-BqYNxG0e.js → html-DdB3rtzD.js} +1 -1
  47. package/dist/web-ui-assets/assets/{html-derivative-DeB2KSvk.js → html-derivative-CcJQLP_P.js} +1 -1
  48. package/dist/web-ui-assets/assets/{http-OOcyLjvG.js → http-CP8M011E.js} +1 -1
  49. package/dist/web-ui-assets/assets/{hurl-DCPAj3IS.js → hurl-o1SM8lPt.js} +1 -1
  50. package/dist/web-ui-assets/assets/{index-pthro9z5.js → index-DJ-u46z7.js} +7 -7
  51. package/dist/web-ui-assets/assets/{java-Co7W3YmI.js → java-BR0fHu_H.js} +1 -1
  52. package/dist/web-ui-assets/assets/{javascript-IjfcKyHO.js → javascript-_pSghomm.js} +1 -1
  53. package/dist/web-ui-assets/assets/{jinja-DljvmCR8.js → jinja-CRWdq8zR.js} +1 -1
  54. package/dist/web-ui-assets/assets/{jison-DCjmeCwN.js → jison-CQiseqEb.js} +1 -1
  55. package/dist/web-ui-assets/assets/{json-DzU9S-UP.js → json-BpOfodKG.js} +1 -1
  56. package/dist/web-ui-assets/assets/{jsx-KxfhHT-_.js → jsx-Ccjew2ok.js} +1 -1
  57. package/dist/web-ui-assets/assets/{julia-Bp03x8Bz.js → julia-CSz79nGq.js} +1 -1
  58. package/dist/web-ui-assets/assets/{just-Dc52DuBh.js → just-Cz3DnGjE.js} +1 -1
  59. package/dist/web-ui-assets/assets/{latex-BNhO0lGH.js → latex-BbiABG_T.js} +1 -1
  60. package/dist/web-ui-assets/assets/{liquid-DLKz7b8y.js → liquid-gfzOt5Bn.js} +1 -1
  61. package/dist/web-ui-assets/assets/{lua-CDopwkdV.js → lua-DlCOWnU4.js} +1 -1
  62. package/dist/web-ui-assets/assets/{marko-BtaFL59c.js → marko-Bzaw9L2C.js} +1 -1
  63. package/dist/web-ui-assets/assets/{mdc-CSrYxDVa.js → mdc-wDmAm1Om.js} +1 -1
  64. package/dist/web-ui-assets/assets/{nginx-WOHAvtPW.js → nginx-BoSPcUOq.js} +1 -1
  65. package/dist/web-ui-assets/assets/{nim-D5OcN5EG.js → nim-DwoD51it.js} +1 -1
  66. package/dist/web-ui-assets/assets/{org-DVP9SlO4.js → org-L4Q1gPkQ.js} +1 -1
  67. package/dist/web-ui-assets/assets/{perl-hnIvCzEI.js → perl-BHu3xKoY.js} +1 -1
  68. package/dist/web-ui-assets/assets/{php-CZOlQevm.js → php-cYB1PPGg.js} +1 -1
  69. package/dist/web-ui-assets/assets/{pug-BvhXPtp4.js → pug-CSElloJZ.js} +1 -1
  70. package/dist/web-ui-assets/assets/{qml-BcaG9tx1.js → qml-CheFst18.js} +1 -1
  71. package/dist/web-ui-assets/assets/{r-Bx-N2J2G.js → r-CLm2GDP1.js} +1 -1
  72. package/dist/web-ui-assets/assets/{razor-De3-biC_.js → razor-csXWfXN8.js} +1 -1
  73. package/dist/web-ui-assets/assets/{regexp-Lve0LV-W.js → regexp-CDxoCEhv.js} +1 -1
  74. package/dist/web-ui-assets/assets/{rst-B99LXcVb.js → rst-CrBi7R0c.js} +1 -1
  75. package/dist/web-ui-assets/assets/{ruby-DK0XlCCy.js → ruby-Bm2Cqfrh.js} +1 -1
  76. package/dist/web-ui-assets/assets/{sas-BA1q30O-.js → sas-VpDWUvBs.js} +1 -1
  77. package/dist/web-ui-assets/assets/{scss-DfdOeFfY.js → scss-DbzE1AEg.js} +1 -1
  78. package/dist/web-ui-assets/assets/{shellscript-BjDTt7UI.js → shellscript-DMqzHQO2.js} +1 -1
  79. package/dist/web-ui-assets/assets/{shellsession-D3B3pN1Q.js → shellsession-BsP3mzAP.js} +1 -1
  80. package/dist/web-ui-assets/assets/{soy-BdCrClLK.js → soy-dAL10Mpa.js} +1 -1
  81. package/dist/web-ui-assets/assets/{sql-U4M9Kr7c.js → sql-CEVnP5Ud.js} +1 -1
  82. package/dist/web-ui-assets/assets/{stata-C-cvNqul.js → stata-f0E2GqhH.js} +1 -1
  83. package/dist/web-ui-assets/assets/{surrealql-DxoK36GR.js → surrealql-DRYoeLy1.js} +1 -1
  84. package/dist/web-ui-assets/assets/{svelte-gHjjEqv7.js → svelte-DfgVganm.js} +1 -1
  85. package/dist/web-ui-assets/assets/{templ-BimBR-gj.js → templ-B6uTNa2f.js} +1 -1
  86. package/dist/web-ui-assets/assets/{tex-DjQ4L5Ra.js → tex-Vde9jhFw.js} +1 -1
  87. package/dist/web-ui-assets/assets/{ts-tags-DsLuVuUq.js → ts-tags-3FUqrjIy.js} +1 -1
  88. package/dist/web-ui-assets/assets/{tsx-fBghIU1C.js → tsx-BIF7zhEz.js} +1 -1
  89. package/dist/web-ui-assets/assets/{twig-DUECNzxH.js → twig-DJHaouaB.js} +1 -1
  90. package/dist/web-ui-assets/assets/{typescript-2qMoQcvI.js → typescript-Dx9afs1j.js} +1 -1
  91. package/dist/web-ui-assets/assets/{typst-CMJiJ-T9.js → typst-_qUHAN-8.js} +1 -1
  92. package/dist/web-ui-assets/assets/{vue-BCsxOHr8.js → vue-aVwHkpKS.js} +1 -1
  93. package/dist/web-ui-assets/assets/{vue-html-CtJORVYW.js → vue-html-DFxvu7yp.js} +1 -1
  94. package/dist/web-ui-assets/assets/{vue-vine-CYhw7sN2.js → vue-vine-B0lxem20.js} +1 -1
  95. package/dist/web-ui-assets/assets/{xml-DH-0-FlK.js → xml-Bk7NGBzQ.js} +1 -1
  96. package/dist/web-ui-assets/assets/{xsl-A7Zqelbe.js → xsl-bvpkt8gh.js} +1 -1
  97. package/dist/web-ui-assets/assets/{yaml-DpMD4qKn.js → yaml-DlFZy7Qp.js} +1 -1
  98. package/dist/web-ui-assets/index.html +1 -1
  99. package/package.json +2 -2
@@ -0,0 +1,30 @@
1
+ export type GithubEventType = 'pr_comment' | 'check_failure' | 'issue_opened';
2
+ export declare const SUPPORTED_EVENT_TYPES: readonly GithubEventType[];
3
+ export interface GithubPollerOptions {
4
+ repo: string;
5
+ events: GithubEventType[];
6
+ commandTemplate: string;
7
+ pollIntervalMs?: number;
8
+ queueDir?: string;
9
+ stateDir?: string;
10
+ ghRunner?: GhRunner;
11
+ }
12
+ export type GhRunner = (path: string, extraArgs?: string[]) => Promise<unknown>;
13
+ export declare function renderCommand(template: string, eventType: GithubEventType, repo: string, eventId: string, payloadSummary: string): string;
14
+ export declare class GithubEventPoller {
15
+ private readonly repo;
16
+ private readonly events;
17
+ private readonly commandTemplate;
18
+ private readonly pollIntervalMs;
19
+ private readonly queueDir;
20
+ private readonly stateDir;
21
+ private readonly run;
22
+ private timer;
23
+ private polling;
24
+ constructor(opts: GithubPollerOptions);
25
+ start(): void;
26
+ stop(): void;
27
+ tick(): Promise<void>;
28
+ private _poll;
29
+ private _fetch;
30
+ }
@@ -0,0 +1,11 @@
1
+ export interface McpServerStateLike {
2
+ serverName: string;
3
+ status: string;
4
+ error?: string;
5
+ }
6
+ export declare function failedMcpServers(states: readonly McpServerStateLike[]): {
7
+ name: string;
8
+ reason: string;
9
+ }[];
10
+ export declare function buildMcpFailureNotice(states: readonly McpServerStateLike[]): string | undefined;
11
+ export declare function mcpUnknownToolMessage(toolName: string, states: readonly McpServerStateLike[]): string | undefined;
@@ -1,6 +1,7 @@
1
1
  export declare function sanitizeNameSegment(input: string): string;
2
2
  export declare function buildMcpToolName(serverName: string, toolName: string): string;
3
3
  export declare function isMcpToolName(name: string): boolean;
4
+ export declare function serverWirePrefixes(serverName: string): string[];
4
5
  export interface McpNameRegistry {
5
6
  tools: Map<string, {
6
7
  serverName: string;
@@ -1,3 +1,4 @@
1
+ import type { McpServerStateLike } from '../mcp/failure-notice.js';
1
2
  import { SessionStateManager } from './session-state.js';
2
3
  import { QueryInputStream } from './input-iterable.js';
3
4
  import type { AccountingAccumulator } from './accounting-accumulator.js';
@@ -25,6 +26,7 @@ export declare class ProviderInitializer {
25
26
  private readonly shutdown;
26
27
  private readonly hookRegistry;
27
28
  private readonly queueFrameworkContext;
28
- constructor(config: AgentConfig, abortSignal: AbortSignal, accounting: AccountingAccumulator, shutdown: SessionShutdown, hookRegistry: HookRegistry | undefined, queueFrameworkContext: (text: string) => void);
29
+ private readonly getMcpServerStates?;
30
+ constructor(config: AgentConfig, abortSignal: AbortSignal, accounting: AccountingAccumulator, shutdown: SessionShutdown, hookRegistry: HookRegistry | undefined, queueFrameworkContext: (text: string) => void, getMcpServerStates?: (() => readonly McpServerStateLike[]) | undefined);
29
31
  run(getProviderIterator: () => AsyncIterator<ProviderEvent>, buildTransformDeps: () => TransformDeps, stateManager: SessionStateManager): Promise<void>;
30
32
  }
@@ -10,6 +10,7 @@ import type { GrantManager } from './grant-manager.js';
10
10
  import type { PreDispatchGateDeps } from './dispatcher.pre-dispatch-gates.js';
11
11
  import type { DetachableToolRegistry } from './detach-registry.js';
12
12
  import type { ProcessJobRegistry } from '../shell-jobs/process-jobs.js';
13
+ import type { McpServerStateLike } from '../mcp/failure-notice.js';
13
14
  export interface CoreExecDeps {
14
15
  handlers: Map<string, ToolHandler>;
15
16
  hookRegistry: HookRegistry | undefined;
@@ -27,6 +28,7 @@ export interface CoreExecDeps {
27
28
  callHandlerContext: (call: ToolCall) => ToolHandlerContext;
28
29
  gateDeps: () => PreDispatchGateDeps;
29
30
  toolDefs: readonly AnthropicToolDef[];
31
+ getMcpServerStates?: () => readonly McpServerStateLike[];
30
32
  tmpdirScope?: string | undefined;
31
33
  }
32
34
  export declare function isRegisteredTool(toolName: string, deps: CoreExecDeps): boolean;
@@ -13,6 +13,7 @@ import { type ToolPermissionConfig } from './permissions.js';
13
13
  import type { CanUseTool } from '../types/sdk-types.js';
14
14
  import { type GrantSnapshot, type GrantManager } from './grant-manager.js';
15
15
  import type { TraceSink } from '../trace/index.js';
16
+ import { type GetMcpServerStates } from './dispatcher.mcp-states.js';
16
17
  import { type UserAttention } from './user-yield.js';
17
18
  import { type DetachableToolRegistry } from './detach-bash.js';
18
19
  import type { ProcessJobRegistry } from '../shell-jobs/process-jobs.js';
@@ -36,6 +37,7 @@ export interface SessionToolDispatcherOptions {
36
37
  writeRoots?: string[];
37
38
  allowAll?: boolean;
38
39
  env?: Record<string, string>;
40
+ getMcpServerStates?: GetMcpServerStates;
39
41
  sessionId?: string;
40
42
  parentSessionId?: string;
41
43
  rootSessionId?: string;
@@ -86,6 +88,7 @@ export declare class SessionToolDispatcher implements ToolDispatcher {
86
88
  private readonly repeatFailureGuard;
87
89
  private readonly toolHealthMonitor;
88
90
  private readonly strategyNudger;
91
+ private readonly _getMcpServerStates;
89
92
  private readonly grantManager;
90
93
  constructor(opts: SessionToolDispatcherOptions);
91
94
  private get handlerContext();
@@ -0,0 +1,4 @@
1
+ import type { McpServerStateLike } from '../mcp/failure-notice.js';
2
+ export type GetMcpServerStates = () => readonly McpServerStateLike[];
3
+ export declare function resolveMcpServerStates(opt: GetMcpServerStates | undefined): GetMcpServerStates;
4
+ export declare function resolveMaxOutputBytes(raw: number | undefined): number | undefined;
@@ -0,0 +1,7 @@
1
+ export type PathAccessDecision = {
2
+ kind: 'allow';
3
+ } | {
4
+ kind: 'deny';
5
+ matched: string;
6
+ };
7
+ export declare function decidePathAccess(rawPath: string, op: 'read' | 'write'): PathAccessDecision;
@@ -6,3 +6,8 @@ export declare function gateStaticCarveOuts(entries: readonly {
6
6
  source: string;
7
7
  root: string;
8
8
  }[]): string[];
9
+ export declare function gateSshPubKeyDir(resolvedBuiltinEntries: readonly {
10
+ source: string;
11
+ root: string;
12
+ }[], derivedRoots: readonly string[], piercedSource: string): string | undefined;
13
+ export declare function isSshPubKeyChild(real: string, sshDir: string): boolean;
@@ -1,5 +1,6 @@
1
1
  export declare const BUILTIN_READ_DENYLIST: readonly string[];
2
2
  export declare const READ_ALLOWLIST_REL: readonly string[];
3
+ export declare const SSH_PUBKEY_SUFFIX = ".pub";
3
4
  export declare const BUILTIN_READ_ALLOWLIST: readonly string[];
4
5
  export declare function resolveExceptionEntry(entry: string): string;
5
6
  export declare function parseReadDenylistEntries(raw: string | undefined): string[];
@@ -0,0 +1,2 @@
1
+ export declare const EXACT_REF_TAIL = "(?![\\w./\\\\*?\\[\\]{}-])(?!['\"`][\\w./\\\\*?\\[\\]{}-])";
2
+ export declare function scrubSshPubKeyRefs(text: string, home: string): string;
@@ -0,0 +1,2 @@
1
+ export declare const READ_ONLY_COMMANDS: ReadonlySet<string>;
2
+ export declare function isProvablyReadOnly(command: string): boolean;
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function registerEventsCommand(program: Command): void;