@posthog/agent 2.3.280 → 2.3.281

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/agent",
3
- "version": "2.3.280",
3
+ "version": "2.3.281",
4
4
  "repository": "https://github.com/PostHog/code",
5
5
  "description": "TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog",
6
6
  "exports": {
@@ -0,0 +1,21 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { getAvailableCodexModes, getAvailableModes } from "./execution-mode";
3
+
4
+ describe("execution modes", () => {
5
+ it("includes auto-accept permissions for claude sessions", () => {
6
+ expect(getAvailableModes().map((mode) => mode.id)).toEqual([
7
+ "default",
8
+ "acceptEdits",
9
+ "plan",
10
+ "bypassPermissions",
11
+ ]);
12
+ });
13
+
14
+ it("includes full access for codex sessions", () => {
15
+ expect(getAvailableCodexModes().map((mode) => mode.id)).toEqual([
16
+ "read-only",
17
+ "auto",
18
+ "full-access",
19
+ ]);
20
+ });
21
+ });
@@ -35,8 +35,8 @@ const availableModes: ModeInfo[] = [
35
35
  if (ALLOW_BYPASS) {
36
36
  availableModes.push({
37
37
  id: "bypassPermissions",
38
- name: "Bypass Permissions",
39
- description: "Bypass all permission prompts",
38
+ name: "Auto-accept Permissions",
39
+ description: "Auto-accept all permission requests",
40
40
  });
41
41
  }
42
42
 
@@ -51,8 +51,11 @@ export const CODE_EXECUTION_MODES = [
51
51
 
52
52
  export type CodeExecutionMode = (typeof CODE_EXECUTION_MODES)[number];
53
53
 
54
+ export function isCodeExecutionMode(mode: string): mode is CodeExecutionMode {
55
+ return (CODE_EXECUTION_MODES as readonly string[]).includes(mode);
56
+ }
57
+
54
58
  export function getAvailableModes(): ModeInfo[] {
55
- // When IS_ROOT, do not allow bypassPermissions
56
59
  return IS_ROOT
57
60
  ? availableModes.filter((m) => m.id !== "bypassPermissions")
58
61
  : availableModes;
@@ -67,6 +70,10 @@ export type CodexNativeMode = (typeof CODEX_NATIVE_MODES)[number];
67
70
  /** Union of all permission mode IDs across adapters */
68
71
  export type PermissionMode = CodeExecutionMode | CodexNativeMode;
69
72
 
73
+ export function isCodexNativeMode(mode: string): mode is CodexNativeMode {
74
+ return (CODEX_NATIVE_MODES as readonly string[]).includes(mode);
75
+ }
76
+
70
77
  const codexModes: ModeInfo[] = [
71
78
  {
72
79
  id: "read-only",
@@ -84,7 +91,7 @@ if (ALLOW_BYPASS) {
84
91
  codexModes.push({
85
92
  id: "full-access",
86
93
  name: "Full Access",
87
- description: "Bypass all permission prompts",
94
+ description: "Auto-accept all permission requests",
88
95
  });
89
96
  }
90
97