@posthog/agent 2.0.3 → 2.1.5

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/types.d.ts CHANGED
@@ -101,6 +101,8 @@ interface AgentConfig {
101
101
  posthog?: PostHogAPIConfig;
102
102
  /** OTEL transport config for shipping logs to PostHog Logs */
103
103
  otelTransport?: OtelTransportConfig;
104
+ /** Skip session log persistence (e.g. for preview sessions with no real task) */
105
+ skipLogPersistence?: boolean;
104
106
  debug?: boolean;
105
107
  onLog?: OnLogCallback;
106
108
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/agent",
3
- "version": "2.0.3",
3
+ "version": "2.1.5",
4
4
  "repository": "https://github.com/PostHog/twig",
5
5
  "description": "TypeScript agent framework wrapping Claude Agent SDK with Git-based task execution for PostHog",
6
6
  "exports": {
@@ -138,7 +138,11 @@ export class ClaudeAcpAgent extends BaseAcpAgent {
138
138
 
139
139
  const meta = params._meta as NewSessionMeta | undefined;
140
140
  const internalSessionId = uuidv7();
141
- const permissionMode: TwigExecutionMode = "default";
141
+ const permissionMode: TwigExecutionMode =
142
+ meta?.permissionMode &&
143
+ TWIG_EXECUTION_MODES.includes(meta.permissionMode as TwigExecutionMode)
144
+ ? (meta.permissionMode as TwigExecutionMode)
145
+ : "default";
142
146
 
143
147
  const mcpServers = parseMcpServers(params);
144
148
  await fetchMcpToolMetadata(mcpServers, this.logger);
@@ -203,10 +207,16 @@ export class ClaudeAcpAgent extends BaseAcpAgent {
203
207
  const mcpServers = parseMcpServers(params);
204
208
  await fetchMcpToolMetadata(mcpServers, this.logger);
205
209
 
210
+ const permissionMode: TwigExecutionMode =
211
+ meta?.permissionMode &&
212
+ TWIG_EXECUTION_MODES.includes(meta.permissionMode as TwigExecutionMode)
213
+ ? (meta.permissionMode as TwigExecutionMode)
214
+ : "default";
215
+
206
216
  const { query: q, session } = await this.initializeQuery({
207
217
  internalSessionId,
208
218
  cwd: params.cwd,
209
- permissionMode: "default",
219
+ permissionMode,
210
220
  mcpServers,
211
221
  systemPrompt: buildSystemPrompt(meta?.systemPrompt),
212
222
  userProvidedOptions: meta?.claudeCode?.options,
@@ -55,6 +55,7 @@ export type NewSessionMeta = {
55
55
  disableBuiltInTools?: boolean;
56
56
  systemPrompt?: unknown;
57
57
  sessionId?: string;
58
+ permissionMode?: string;
58
59
  claudeCode?: {
59
60
  options?: Options;
60
61
  };
package/src/agent.ts CHANGED
@@ -32,22 +32,24 @@ export class Agent {
32
32
  this.posthogAPI = new PostHogAPIClient(config.posthog);
33
33
  }
34
34
 
35
- if (config.otelTransport) {
36
- // OTEL pipeline: use OtelLogWriter only (no S3 writer)
37
- this.sessionLogWriter = new SessionLogWriter({
38
- otelConfig: {
39
- posthogHost: config.otelTransport.host,
40
- apiKey: config.otelTransport.apiKey,
41
- logsPath: config.otelTransport.logsPath,
42
- },
43
- logger: this.logger.child("SessionLogWriter"),
44
- });
45
- } else if (config.posthog) {
46
- // Legacy: use S3 writer via PostHog API
47
- this.sessionLogWriter = new SessionLogWriter({
48
- posthogAPI: this.posthogAPI,
49
- logger: this.logger.child("SessionLogWriter"),
50
- });
35
+ if (!config.skipLogPersistence) {
36
+ if (config.otelTransport) {
37
+ // OTEL pipeline: use OtelLogWriter only (no S3 writer)
38
+ this.sessionLogWriter = new SessionLogWriter({
39
+ otelConfig: {
40
+ posthogHost: config.otelTransport.host,
41
+ apiKey: config.otelTransport.apiKey,
42
+ logsPath: config.otelTransport.logsPath,
43
+ },
44
+ logger: this.logger.child("SessionLogWriter"),
45
+ });
46
+ } else if (config.posthog) {
47
+ // Legacy: use S3 writer via PostHog API
48
+ this.sessionLogWriter = new SessionLogWriter({
49
+ posthogAPI: this.posthogAPI,
50
+ logger: this.logger.child("SessionLogWriter"),
51
+ });
52
+ }
51
53
  }
52
54
  }
53
55
 
package/src/types.ts CHANGED
@@ -141,6 +141,8 @@ export interface AgentConfig {
141
141
  posthog?: PostHogAPIConfig;
142
142
  /** OTEL transport config for shipping logs to PostHog Logs */
143
143
  otelTransport?: OtelTransportConfig;
144
+ /** Skip session log persistence (e.g. for preview sessions with no real task) */
145
+ skipLogPersistence?: boolean;
144
146
  debug?: boolean;
145
147
  onLog?: OnLogCallback;
146
148
  }