@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.
- package/dist/adapters/claude/questions/utils.d.ts +6 -82
- package/dist/agent.js +36 -3
- package/dist/agent.js.map +1 -1
- package/dist/posthog-api.js +2 -2
- package/dist/posthog-api.js.map +1 -1
- package/dist/server/agent-server.d.ts +7 -26
- package/dist/server/agent-server.js +38 -5
- package/dist/server/agent-server.js.map +1 -1
- package/dist/server/bin.cjs +44 -11
- package/dist/server/bin.cjs.map +1 -1
- package/package.json +2 -2
- package/src/adapters/claude/hooks.ts +50 -0
- package/src/adapters/claude/session/options.ts +5 -1
- package/src/server/bin.ts +7 -11
- package/src/server/schemas.ts +2 -2
package/dist/server/bin.cjs
CHANGED
|
@@ -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.
|
|
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: "^
|
|
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: [
|
|
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.
|
|
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
|
-
|
|
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.
|
|
13065
|
-
|
|
13066
|
-
})
|
|
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
|
-
|
|
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
|
-
|
|
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();
|