@posthog/agent 2.3.159 → 2.3.167

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.
@@ -904,7 +904,7 @@ var import_hono = require("hono");
904
904
  // package.json
905
905
  var package_default = {
906
906
  name: "@posthog/agent",
907
- version: "2.3.159",
907
+ version: "2.3.167",
908
908
  repository: "https://github.com/PostHog/code",
909
909
  description: "TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog",
910
910
  exports: {
@@ -1016,7 +1016,7 @@ var package_default = {
1016
1016
  tar: "^7.5.0",
1017
1017
  uuid: "13.0.0",
1018
1018
  "yoga-wasm-web": "^0.3.3",
1019
- zod: "^3.24.1"
1019
+ zod: "^4.2.0"
1020
1020
  },
1021
1021
  files: [
1022
1022
  "dist/**/*",
@@ -1635,6 +1635,36 @@ var createPostToolUseHook = ({ onModeChange, logger }) => async (input, toolUseI
1635
1635
  }
1636
1636
  return { continue: true };
1637
1637
  };
1638
+ var SUBAGENT_REWRITES = {
1639
+ Explore: "ph-explore"
1640
+ };
1641
+ var createSubagentRewriteHook = (logger) => async (input, _toolUseID) => {
1642
+ if (input.hook_event_name !== "PreToolUse") {
1643
+ return { continue: true };
1644
+ }
1645
+ if (input.tool_name !== "Agent") {
1646
+ return { continue: true };
1647
+ }
1648
+ const toolInput = input.tool_input;
1649
+ const subagentType = toolInput?.subagent_type;
1650
+ if (typeof subagentType !== "string" || !SUBAGENT_REWRITES[subagentType]) {
1651
+ return { continue: true };
1652
+ }
1653
+ const target = SUBAGENT_REWRITES[subagentType];
1654
+ logger.info(
1655
+ `[SubagentRewriteHook] Rewriting subagent_type: ${subagentType} \u2192 ${target}`
1656
+ );
1657
+ return {
1658
+ continue: true,
1659
+ hookSpecificOutput: {
1660
+ hookEventName: "PreToolUse",
1661
+ updatedInput: {
1662
+ ...toolInput,
1663
+ subagent_type: target
1664
+ }
1665
+ }
1666
+ };
1667
+ };
1638
1668
  var createPreToolUseHook = (settingsManager, logger) => async (input, _toolUseID) => {
1639
1669
  if (input.hook_event_name !== "PreToolUse") {
1640
1670
  return { continue: true };
@@ -3664,7 +3694,10 @@ function buildHooks(userHooks, onModeChange, settingsManager, logger) {
3664
3694
  PreToolUse: [
3665
3695
  ...userHooks?.PreToolUse || [],
3666
3696
  {
3667
- hooks: [createPreToolUseHook(settingsManager, logger)]
3697
+ hooks: [
3698
+ createPreToolUseHook(settingsManager, logger),
3699
+ createSubagentRewriteHook(logger)
3700
+ ]
3668
3701
  }
3669
3702
  ]
3670
3703
  };
@@ -11803,7 +11836,7 @@ var httpHeaderSchema = import_zod3.z.object({
11803
11836
  var remoteMcpServerSchema = import_zod3.z.object({
11804
11837
  type: import_zod3.z.enum(["http", "sse"]),
11805
11838
  name: import_zod3.z.string().min(1, "MCP server name is required"),
11806
- url: import_zod3.z.string().url("MCP server url must be a valid URL"),
11839
+ url: import_zod3.z.url({ error: "MCP server url must be a valid URL" }),
11807
11840
  headers: import_zod3.z.array(httpHeaderSchema).default([])
11808
11841
  });
11809
11842
  var mcpServersSchema = import_zod3.z.array(remoteMcpServerSchema);
@@ -11821,7 +11854,7 @@ var claudeCodeConfigSchema = import_zod3.z.object({
11821
11854
  var jsonRpcRequestSchema = import_zod3.z.object({
11822
11855
  jsonrpc: import_zod3.z.literal("2.0"),
11823
11856
  method: import_zod3.z.string(),
11824
- params: import_zod3.z.record(import_zod3.z.unknown()).optional(),
11857
+ params: import_zod3.z.record(import_zod3.z.string(), import_zod3.z.unknown()).optional(),
11825
11858
  id: import_zod3.z.union([import_zod3.z.string(), import_zod3.z.number()]).optional()
11826
11859
  });
11827
11860
  var userMessageParamsSchema = import_zod3.z.object({
@@ -13059,16 +13092,16 @@ ${attributionInstructions}
13059
13092
  // src/server/bin.ts
13060
13093
  var envSchema = import_zod4.z.object({
13061
13094
  JWT_PUBLIC_KEY: import_zod4.z.string({
13062
- required_error: "JWT_PUBLIC_KEY is required for authenticating client connections"
13095
+ error: "JWT_PUBLIC_KEY is required for authenticating client connections"
13063
13096
  }).min(1, "JWT_PUBLIC_KEY cannot be empty"),
13064
- POSTHOG_API_URL: import_zod4.z.string({
13065
- required_error: "POSTHOG_API_URL is required for LLM gateway communication"
13066
- }).url("POSTHOG_API_URL must be a valid URL"),
13097
+ POSTHOG_API_URL: import_zod4.z.url({
13098
+ error: "POSTHOG_API_URL is required for LLM gateway communication"
13099
+ }),
13067
13100
  POSTHOG_PERSONAL_API_KEY: import_zod4.z.string({
13068
- required_error: "POSTHOG_PERSONAL_API_KEY is required for authenticating with PostHog services"
13101
+ error: "POSTHOG_PERSONAL_API_KEY is required for authenticating with PostHog services"
13069
13102
  }).min(1, "POSTHOG_PERSONAL_API_KEY cannot be empty"),
13070
13103
  POSTHOG_PROJECT_ID: import_zod4.z.string({
13071
- required_error: "POSTHOG_PROJECT_ID is required for routing requests to the correct project"
13104
+ error: "POSTHOG_PROJECT_ID is required for routing requests to the correct project"
13072
13105
  }).regex(/^\d+$/, "POSTHOG_PROJECT_ID must be a numeric string").transform((val) => parseInt(val, 10))
13073
13106
  });
13074
13107
  var program = new import_commander.Command();