@alisaitteke/photoshop-mcp 1.7.15 → 1.7.16

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/README.md CHANGED
@@ -136,6 +136,12 @@ next. Common fixes: [`docs/troubleshooting.md`](docs/troubleshooting.md).
136
136
 
137
137
  Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a PR.
138
138
 
139
+ ## ❤️ Contributors & Credits
140
+
141
+ Thanks to all our contributors!
142
+
143
+ <a href="https://github.com/alisaitteke/photoshop-mcp/graphs/contributors"><img src="https://contrib.rocks/image?repo=alisaitteke/photoshop-mcp" alt="Contributors" /></a>
144
+
139
145
  ## Maintainer
140
146
 
141
147
  Built by **[Ali Sait Teke](https://alisait.com)** — [GitHub](https://github.com/alisaitteke) · [LinkedIn](https://www.linkedin.com/in/alisait/).
@@ -2,7 +2,7 @@ import { captureBetaChatTurn } from './beta-telemetry.js';
2
2
  import { getAppVersion } from './app-version.js';
3
3
  import { getBetaTelemetryState, setBetaTelemetryChoice } from './identity.js';
4
4
  import { onMcpClientConnected, onMcpClientDisconnected } from './mcp-client.js';
5
- import { captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, recordMcpToolCall, startMcpAnalyticsSession } from './mcp-session.js';
5
+ import { captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, recordMcpToolCall, startLogicalMcpAnalyticsSession, startMcpAnalyticsSession } from './mcp-session.js';
6
6
  import { getAnalytics, resetAnalyticsProvider } from './provider.js';
7
7
  import type { AnalyticsEvent, AnalyticsProvider, AnalyticsRuntimeConfig, BetaTelemetryState, UsageSurface } from './types.js';
8
8
  export type { McpShutdownReason } from './mcp-session.js';
@@ -20,6 +20,6 @@ export declare function shutdownAnalytics(): Promise<void>;
20
20
  export declare function getAnalyticsRuntimeConfig(): AnalyticsRuntimeConfig;
21
21
  export { captureAnalyticsMilestoneOnce } from './milestones.js';
22
22
  export type { AnalyticsMilestone } from './milestones.js';
23
- export { captureBetaChatTurn, captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, getAnalytics, getAppVersion, getBetaTelemetryState, onMcpClientConnected, onMcpClientDisconnected, recordMcpToolCall, resetAnalyticsProvider, setBetaTelemetryChoice, startMcpAnalyticsSession, };
23
+ export { captureBetaChatTurn, captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, getAnalytics, getAppVersion, getBetaTelemetryState, onMcpClientConnected, onMcpClientDisconnected, recordMcpToolCall, resetAnalyticsProvider, setBetaTelemetryChoice, startLogicalMcpAnalyticsSession, startMcpAnalyticsSession, };
24
24
  export type { AnalyticsEvent, AnalyticsProvider, AnalyticsRuntimeConfig, BetaTelemetryState, UsageSurface, };
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EACL,qBAAqB,EAIrB,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAA2B,MAAM,eAAe,CAAC;AAC9F,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,sFAAsF;AACtF,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,IAAI,CAON;AAED,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAalF;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9D;AAED,4FAA4F;AAC5F,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYhF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvD;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAYlE;AACD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,CAAC;AACF,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EACL,qBAAqB,EAIrB,sBAAsB,EACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAA2B,MAAM,eAAe,CAAC;AAC9F,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,sFAAsF;AACtF,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,IAAI,CAON;AAED,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAalF;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG9D;AAED,4FAA4F;AAC5F,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYhF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvD;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAYlE;AACD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,GACzB,CAAC;AACF,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,GACb,CAAC"}
@@ -5,7 +5,7 @@ import { buildPersonIdentifyProperties, buildRuntimeProperties } from './events.
5
5
  import { applyInstallCohortPersonOnce } from './install-cohorts.js';
6
6
  import { getBetaTelemetryState, getOrCreateDistinctId, isAnalyticsEnabled, recordUsageSurface, setBetaTelemetryChoice, } from './identity.js';
7
7
  import { onMcpClientConnected, onMcpClientDisconnected } from './mcp-client.js';
8
- import { captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, recordMcpToolCall, startMcpAnalyticsSession, } from './mcp-session.js';
8
+ import { captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, recordMcpToolCall, startLogicalMcpAnalyticsSession, startMcpAnalyticsSession, } from './mcp-session.js';
9
9
  import { getAnalytics, resetAnalyticsProvider, shutdownAnalyticsClient } from './provider.js';
10
10
  /** Persist the install ID and register one anonymous analytics person per process. */
11
11
  export function ensureAnalyticsIdentity() {
@@ -75,5 +75,5 @@ export function getAnalyticsRuntimeConfig() {
75
75
  };
76
76
  }
77
77
  export { captureAnalyticsMilestoneOnce } from './milestones.js';
78
- export { captureBetaChatTurn, captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, getAnalytics, getAppVersion, getBetaTelemetryState, onMcpClientConnected, onMcpClientDisconnected, recordMcpToolCall, resetAnalyticsProvider, setBetaTelemetryChoice, startMcpAnalyticsSession, };
78
+ export { captureBetaChatTurn, captureMcpPageleave, captureMcpPageview, endMcpAnalyticsSession, getAnalytics, getAppVersion, getBetaTelemetryState, onMcpClientConnected, onMcpClientDisconnected, recordMcpToolCall, resetAnalyticsProvider, setBetaTelemetryChoice, startLogicalMcpAnalyticsSession, startMcpAnalyticsSession, };
79
79
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAU9F,sFAAsF;AACtF,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO;IACxD,qBAAqB,EAAE,CAAC;IACxB,YAAY,EAAE,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,IAAY,EACZ,UAAoC,EACpC,OAA+B;IAE/B,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI;QACJ,UAAU,EAAE,sBAAsB,CAAC,UAAU,CAAC;QAC9C,QAAQ,EAAE,OAAO,EAAE,QAAQ;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAoC;IAC1E,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO;IACxD,MAAM,KAAK,GAAG,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,cAAc,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC,aAAa,CAAC;IAC7B,CAAC;IACD,4BAA4B,CAAC;QAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/F,CAAC,CAAC;IACH,YAAY,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAC9C,uBAAuB,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,wBAAwB,CAAC,UAAkB,EAAE,KAAa;IACxE,uBAAuB,CAAC;QACtB,aAAa,EAAE,QAAQ;QACvB,eAAe,EAAE,UAAU;QAC3B,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;KAC3B,CAAC,CAAC;IACH,OAAO,CAAC,mBAAmB,EAAE;QAC3B,WAAW,EAAE,UAAU;QACvB,KAAK;QACL,YAAY,EAAE,QAAQ;KACvB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,uBAAuB,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAAG,kBAAkB,EAAE,IAAI,eAAe,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;IACrC,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,mBAAmB,EAAE;QAC7B,aAAa,EAAE,0BAA0B,EAAE;QAC3C,UAAU,EAAE,qBAAqB,EAAE;QACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;KAC9D,CAAC;AACJ,CAAC;AACD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /** Cursor often respawns stdio; treat activity inside this window as one session. */
2
+ export declare const MCP_LOGICAL_SESSION_IDLE_MS: number;
3
+ export interface LogicalSessionRecord {
4
+ id: string;
5
+ startedAt: number;
6
+ lastSeenAt: number;
7
+ clientName?: string;
8
+ clientVersion?: string;
9
+ connectCount: number;
10
+ }
11
+ export interface ClosedLogicalSession {
12
+ durationMs: number;
13
+ shutdownReason: 'idle_timeout';
14
+ }
15
+ export interface BeginLogicalSessionResult {
16
+ isNew: boolean;
17
+ session: LogicalSessionRecord;
18
+ closedPrevious?: ClosedLogicalSession;
19
+ }
20
+ export declare function beginLogicalSession(now?: number): BeginLogicalSessionResult;
21
+ export declare function noteLogicalSessionActivity(now?: number): void;
22
+ export declare function bindLogicalSessionClient(client: {
23
+ name?: string;
24
+ version?: string;
25
+ }, now?: number): {
26
+ emitConnected: boolean;
27
+ connectCount: number;
28
+ };
29
+ export declare function getLogicalSession(): LogicalSessionRecord | null;
30
+ /** Clears in-process state so tests can switch `PHOTOSHOP_MCP_HOME`. */
31
+ export declare function resetLogicalSessionForTests(): void;
32
+ //# sourceMappingURL=logical-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logical-session.d.ts","sourceRoot":"","sources":["../../src/analytics/logical-session.ts"],"names":[],"mappings":"AAKA,qFAAqF;AACrF,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAI1D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAwCD,wBAAgB,mBAAmB,CAAC,GAAG,SAAa,GAAG,yBAAyB,CAuB/E;AAED,wBAAgB,0BAA0B,CAAC,GAAG,SAAa,GAAG,IAAI,CAIjE;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3C,GAAG,SAAa,GACf;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAwBlD;AAED,wBAAgB,iBAAiB,IAAI,oBAAoB,GAAG,IAAI,CAE/D;AAED,wEAAwE;AACxE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -0,0 +1,99 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { getPhotoshopMcpHomeDir } from '../lib/export-paths.js';
5
+ /** Cursor often respawns stdio; treat activity inside this window as one session. */
6
+ export const MCP_LOGICAL_SESSION_IDLE_MS = 30 * 60 * 1000;
7
+ const STORE_FILE = 'mcp-logical-session.json';
8
+ let memory = null;
9
+ function storePath() {
10
+ return join(getPhotoshopMcpHomeDir(), STORE_FILE);
11
+ }
12
+ function readStore() {
13
+ if (memory)
14
+ return memory;
15
+ try {
16
+ const raw = JSON.parse(readFileSync(storePath(), 'utf8'));
17
+ if (raw &&
18
+ typeof raw.id === 'string' &&
19
+ typeof raw.startedAt === 'number' &&
20
+ typeof raw.lastSeenAt === 'number') {
21
+ memory = {
22
+ id: raw.id,
23
+ startedAt: raw.startedAt,
24
+ lastSeenAt: raw.lastSeenAt,
25
+ connectCount: typeof raw.connectCount === 'number' ? raw.connectCount : 0,
26
+ ...(typeof raw.clientName === 'string' ? { clientName: raw.clientName } : {}),
27
+ ...(typeof raw.clientVersion === 'string' ? { clientVersion: raw.clientVersion } : {}),
28
+ };
29
+ return memory;
30
+ }
31
+ }
32
+ catch {
33
+ // Missing or corrupt store — start a new logical session.
34
+ }
35
+ return null;
36
+ }
37
+ function writeStore(record) {
38
+ memory = record;
39
+ mkdirSync(getPhotoshopMcpHomeDir(), { recursive: true, mode: 0o700 });
40
+ writeFileSync(storePath(), JSON.stringify(record), { mode: 0o600 });
41
+ }
42
+ export function beginLogicalSession(now = Date.now()) {
43
+ const existing = readStore();
44
+ if (existing && now - existing.lastSeenAt < MCP_LOGICAL_SESSION_IDLE_MS) {
45
+ const session = { ...existing, lastSeenAt: now };
46
+ writeStore(session);
47
+ return { isNew: false, session };
48
+ }
49
+ const closedPrevious = existing
50
+ ? {
51
+ durationMs: Math.max(0, existing.lastSeenAt - existing.startedAt),
52
+ shutdownReason: 'idle_timeout',
53
+ }
54
+ : undefined;
55
+ const session = {
56
+ id: randomUUID(),
57
+ startedAt: now,
58
+ lastSeenAt: now,
59
+ connectCount: 0,
60
+ };
61
+ writeStore(session);
62
+ return { isNew: true, session, closedPrevious };
63
+ }
64
+ export function noteLogicalSessionActivity(now = Date.now()) {
65
+ const existing = readStore();
66
+ if (!existing)
67
+ return;
68
+ writeStore({ ...existing, lastSeenAt: now });
69
+ }
70
+ export function bindLogicalSessionClient(client, now = Date.now()) {
71
+ let session = readStore();
72
+ if (!session) {
73
+ session = beginLogicalSession(now).session;
74
+ }
75
+ const name = client.name?.trim() || 'unknown';
76
+ const version = client.version?.trim() || 'unknown';
77
+ const sameClient = session.clientName === name && session.clientVersion === version;
78
+ if (sameClient) {
79
+ writeStore({ ...session, lastSeenAt: now });
80
+ return { emitConnected: false, connectCount: session.connectCount };
81
+ }
82
+ const connectCount = session.connectCount + 1;
83
+ writeStore({
84
+ ...session,
85
+ lastSeenAt: now,
86
+ clientName: name,
87
+ clientVersion: version,
88
+ connectCount,
89
+ });
90
+ return { emitConnected: true, connectCount };
91
+ }
92
+ export function getLogicalSession() {
93
+ return readStore();
94
+ }
95
+ /** Clears in-process state so tests can switch `PHOTOSHOP_MCP_HOME`. */
96
+ export function resetLogicalSessionForTests() {
97
+ memory = null;
98
+ }
99
+ //# sourceMappingURL=logical-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logical-session.js","sourceRoot":"","sources":["../../src/analytics/logical-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,qFAAqF;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1D,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAsB9C,IAAI,MAAM,GAAgC,IAAI,CAAC;AAE/C,SAAS,SAAS;IAChB,OAAO,IAAI,CAAC,sBAAsB,EAAE,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAkC,CAAC;QAC3F,IACE,GAAG;YACH,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;YAC1B,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;YACjC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAClC,CAAC;YACD,MAAM,GAAG;gBACP,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,YAAY,EAAE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACzE,GAAG,CAAC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,GAAG,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvF,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,MAA4B;IAC9C,MAAM,GAAG,MAAM,CAAC;IAChB,SAAS,CAAC,sBAAsB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAClD,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,IAAI,QAAQ,IAAI,GAAG,GAAG,QAAQ,CAAC,UAAU,GAAG,2BAA2B,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACjD,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ;QAC7B,CAAC,CAAC;YACE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC;YACjE,cAAc,EAAE,cAAuB;SACxC;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,OAAO,GAAyB;QACpC,EAAE,EAAE,UAAU,EAAE;QAChB,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC;IACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACzD,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,UAAU,CAAC,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA2C,EAC3C,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC;IAEpF,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;IAC9C,UAAU,CAAC;QACT,GAAG,OAAO;QACV,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,OAAO;QACtB,YAAY;KACb,CAAC,CAAC;IACH,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,2BAA2B;IACzC,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/analytics/mcp-client.ts"],"names":[],"mappings":"AAoCA;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACpD,IAAI,CAsBN;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,IAAI,IAAI,CAc9C"}
1
+ {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/analytics/mcp-client.ts"],"names":[],"mappings":"AAkCA;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACpD,IAAI,CA2BN;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C"}
@@ -2,10 +2,10 @@ import { hasAnalyticsKey } from './config.js';
2
2
  import { buildPersonIdentifyProperties, buildRuntimeProperties } from './events.js';
3
3
  import { applyInstallCohortPersonOnce } from './install-cohorts.js';
4
4
  import { isAnalyticsEnabled, recordUsageSurface } from './identity.js';
5
- import { clearActiveMcpClient, getActiveMcpClient, hasActiveMcpClient, setActiveMcpClient, } from './mcp-client-state.js';
5
+ import { bindLogicalSessionClient, noteLogicalSessionActivity } from './logical-session.js';
6
+ import { clearActiveMcpClient, hasActiveMcpClient, setActiveMcpClient, } from './mcp-client-state.js';
6
7
  import { flushMcpToolBatchOnClientDisconnect } from './mcp-session.js';
7
8
  import { flushAnalyticsClient, getAnalytics } from './provider.js';
8
- let clientConnectCount = 0;
9
9
  function captureMcpClientEvent(name, properties) {
10
10
  if (!isAnalyticsEnabled() || !hasAnalyticsKey())
11
11
  return;
@@ -29,14 +29,19 @@ function identifyMcpClientPerson(properties) {
29
29
  * See docs/anonymous-usage-analytics.md — distinguishes real client usage from process-only starts.
30
30
  */
31
31
  export function onMcpClientConnected(client) {
32
- clientConnectCount += 1;
33
32
  setActiveMcpClient(client);
34
- captureMcpClientEvent('mcp_client_connected', {
35
- mcp_client_name: client?.name ?? 'unknown',
36
- mcp_client_version: client?.version ?? 'unknown',
37
- mcp_client_connect_count: clientConnectCount,
38
- event_source: 'mcp',
33
+ const { emitConnected, connectCount } = bindLogicalSessionClient({
34
+ name: client?.name,
35
+ version: client?.version,
39
36
  });
37
+ if (emitConnected) {
38
+ captureMcpClientEvent('mcp_client_connected', {
39
+ mcp_client_name: client?.name ?? 'unknown',
40
+ mcp_client_version: client?.version ?? 'unknown',
41
+ mcp_client_connect_count: connectCount,
42
+ event_source: 'mcp',
43
+ });
44
+ }
40
45
  applyInstallCohortPersonOnce({
41
46
  usageSurface: 'mcp',
42
47
  mcpClientName: client?.name,
@@ -52,13 +57,8 @@ export function onMcpClientConnected(client) {
52
57
  export function onMcpClientDisconnected() {
53
58
  if (!hasActiveMcpClient())
54
59
  return;
55
- const client = getActiveMcpClient();
56
60
  flushMcpToolBatchOnClientDisconnect();
57
- captureMcpClientEvent('mcp_client_disconnected', {
58
- ...(client.name ? { mcp_client_name: client.name } : {}),
59
- ...(client.version ? { mcp_client_version: client.version } : {}),
60
- event_source: 'mcp',
61
- });
61
+ noteLogicalSessionActivity();
62
62
  clearActiveMcpClient();
63
63
  void flushAnalyticsClient().catch(() => { });
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/analytics/mcp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../src/analytics/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mCAAmC,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnE,SAAS,qBAAqB,CAC5B,IAAY,EACZ,UAAmC;IAEnC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO;IACxD,YAAY,EAAE,CAAC,OAAO,CAAC;QACrB,IAAI;QACJ,UAAU,EAAE,sBAAsB,CAAC,UAAU,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAmC;IAClE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;QAAE,OAAO;IACxD,MAAM,KAAK,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;IAChC,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC5C,KAAK,CAAC,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC,aAAa,CAAC;IAC7B,CAAC;IACD,YAAY,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAqD;IAErD,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,wBAAwB,CAAC;QAC/D,IAAI,EAAE,MAAM,EAAE,IAAI;QAClB,OAAO,EAAE,MAAM,EAAE,OAAO;KACzB,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,qBAAqB,CAAC,sBAAsB,EAAE;YAC5C,eAAe,EAAE,MAAM,EAAE,IAAI,IAAI,SAAS;YAC1C,kBAAkB,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS;YAChD,wBAAwB,EAAE,YAAY;YACtC,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAAC;QAC3B,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,MAAM,EAAE,IAAI;KAC5B,CAAC,CAAC;IAEH,uBAAuB,CAAC;QACtB,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,MAAM,EAAE,IAAI,IAAI,SAAS;QAC1C,kBAAkB,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS;QAChD,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,uBAAuB;IACrC,IAAI,CAAC,kBAAkB,EAAE;QAAE,OAAO;IAElC,mCAAmC,EAAE,CAAC;IACtC,0BAA0B,EAAE,CAAC;IAC7B,oBAAoB,EAAE,CAAC;IACvB,KAAK,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,10 +1,15 @@
1
- export type McpShutdownReason = 'sigint' | 'sigterm' | 'error' | 'stdio_closed';
1
+ export type McpShutdownReason = 'sigint' | 'sigterm' | 'error' | 'stdio_closed' | 'idle_timeout';
2
2
  export type McpToolBatchFlushReason = 'debounce' | 'max_hold' | 'shutdown' | 'client_disconnect';
3
3
  /** Virtual /mcp hit so MCP-only installs show up next to UI traffic. */
4
4
  export declare function captureMcpPageview(): void;
5
5
  export declare function captureMcpPageleave(durationMs: number, reason: string): void;
6
6
  export declare function flushMcpToolBatch(reason: McpToolBatchFlushReason): void;
7
7
  export declare function startMcpAnalyticsSession(): void;
8
+ /** Process start: emit session/pageview only when the 30m logical window is new. */
9
+ export declare function startLogicalMcpAnalyticsSession(properties: {
10
+ photoshop_detected: boolean;
11
+ tools_registered_count: number;
12
+ }): void;
8
13
  export declare function recordMcpToolCall(params: {
9
14
  toolName: string;
10
15
  ok: boolean;
@@ -12,5 +17,5 @@ export declare function recordMcpToolCall(params: {
12
17
  durationMs: number;
13
18
  }): void;
14
19
  export declare function flushMcpToolBatchOnClientDisconnect(): void;
15
- export declare function endMcpAnalyticsSession(reason: McpShutdownReason): void;
20
+ export declare function endMcpAnalyticsSession(_reason: McpShutdownReason): void;
16
21
  //# sourceMappingURL=mcp-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-session.d.ts","sourceRoot":"","sources":["../../src/analytics/mcp-session.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,mBAAmB,CAAC;AAyCjG,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ5E;AAwDD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAoCvE;AAmBD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CA2BP;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CActE"}
1
+ {"version":3,"file":"mcp-session.d.ts","sourceRoot":"","sources":["../../src/analytics/mcp-session.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,CAAC;AACjG,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,mBAAmB,CAAC;AAwCjG,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,IAAI,CAOzC;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ5E;AAwDD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAoCvE;AAmBD,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,oFAAoF;AACpF,wBAAgB,+BAA+B,CAAC,UAAU,EAAE;IAC1D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;CAChC,GAAG,IAAI,CAmBP;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CA4BP;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAKvE"}
@@ -1,6 +1,7 @@
1
1
  import { hasAnalyticsKey } from './config.js';
2
2
  import { buildRuntimeProperties } from './events.js';
3
3
  import { isAnalyticsEnabled } from './identity.js';
4
+ import { beginLogicalSession, noteLogicalSessionActivity } from './logical-session.js';
4
5
  import { getActiveMcpClient } from './mcp-client-state.js';
5
6
  import { captureAnalyticsMilestoneOnce } from './milestones.js';
6
7
  import { flushAnalyticsClient, getAnalytics } from './provider.js';
@@ -10,7 +11,6 @@ const DEBOUNCE_FLUSH_MS = 3_000;
10
11
  /** Force flush during long uninterrupted tool chains (no debounce gap). */
11
12
  const MAX_BATCH_HOLD_MS = 60_000;
12
13
  const MAX_SUMMARY_LENGTH = 800;
13
- let startedAt = null;
14
14
  let toolBatch = new Map();
15
15
  let debounceFlushTimer = null;
16
16
  let maxHoldFlushTimer = null;
@@ -150,7 +150,27 @@ function scheduleBatchFlush() {
150
150
  }
151
151
  }
152
152
  export function startMcpAnalyticsSession() {
153
- startedAt = Date.now();
153
+ beginLogicalSession();
154
+ }
155
+ /** Process start: emit session/pageview only when the 30m logical window is new. */
156
+ export function startLogicalMcpAnalyticsSession(properties) {
157
+ const result = beginLogicalSession();
158
+ if (result.closedPrevious) {
159
+ captureMcpPageleave(result.closedPrevious.durationMs, result.closedPrevious.shutdownReason);
160
+ captureMcpEvent('mcp_session_ended', {
161
+ duration_ms: result.closedPrevious.durationMs,
162
+ shutdown_reason: result.closedPrevious.shutdownReason,
163
+ event_source: 'mcp',
164
+ });
165
+ }
166
+ if (!result.isNew)
167
+ return;
168
+ captureMcpPageview();
169
+ captureMcpEvent('mcp_session_started', {
170
+ photoshop_detected: properties.photoshop_detected,
171
+ tools_registered_count: properties.tools_registered_count,
172
+ event_source: 'mcp',
173
+ });
154
174
  }
155
175
  export function recordMcpToolCall(params) {
156
176
  const existing = toolBatch.get(params.toolName) ?? {
@@ -170,6 +190,7 @@ export function recordMcpToolCall(params) {
170
190
  }
171
191
  existing.durationMs += params.durationMs;
172
192
  toolBatch.set(params.toolName, existing);
193
+ noteLogicalSessionActivity();
173
194
  if (params.ok) {
174
195
  captureAnalyticsMilestoneOnce('mcp_first_tool_success', {
175
196
  tool_name: params.toolName,
@@ -181,16 +202,9 @@ export function recordMcpToolCall(params) {
181
202
  export function flushMcpToolBatchOnClientDisconnect() {
182
203
  flushMcpToolBatch('client_disconnect');
183
204
  }
184
- export function endMcpAnalyticsSession(reason) {
205
+ export function endMcpAnalyticsSession(_reason) {
185
206
  flushMcpToolBatch('shutdown');
186
- const durationMs = startedAt !== null ? Date.now() - startedAt : 0;
187
- captureMcpPageleave(durationMs, reason);
188
- captureMcpEvent('mcp_session_ended', {
189
- duration_ms: durationMs,
190
- shutdown_reason: reason,
191
- event_source: 'mcp',
192
- });
193
- startedAt = null;
207
+ noteLogicalSessionActivity();
194
208
  toolBatch.clear();
195
209
  clearFlushTimers();
196
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-session.js","sourceRoot":"","sources":["../../src/analytics/mcp-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-session.js","sourceRoot":"","sources":["../../src/analytics/mcp-session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAAO;gBAEf,MAAM,GAAE,aAAkB;IAYhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAuB3B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,aAAa,IAAI,mBAAmB;IAIpC,mBAAmB,IAAI,OAAO;IAI9B,eAAe,IAAI,IAAI;IAIvB,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,sBAAsB;YAehB,+BAA+B;IAS7C,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,YAAY,CAAO;gBAEf,MAAM,GAAE,aAAkB;IAYhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAoB3B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAqB7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,aAAa,IAAI,mBAAmB;IAIpC,mBAAmB,IAAI,OAAO;IAI9B,eAAe,IAAI,IAAI;IAIvB,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,sBAAsB;YAehB,+BAA+B;IAS7C,OAAO,CAAC,KAAK;CAGd"}
@@ -20,27 +20,38 @@ export class Session {
20
20
  }
21
21
  async initialize() {
22
22
  this.logger.info('Initializing session...');
23
- if (this.config.autoConnect) {
24
- const connected = await this.connect();
25
- this.captureConnectionEvent(connected);
23
+ this.connection.setOnFreshDetect((ok) => {
24
+ this.isConnected = ok;
25
+ if (ok) {
26
+ this.updateActivity();
27
+ void this.refreshPhotoshopVersionOnPerson();
28
+ }
29
+ this.captureConnectionEvent(ok);
30
+ });
31
+ if (!this.config.autoConnect)
32
+ return;
33
+ if (this.connection.hydrateFromCache()) {
34
+ this.isConnected = true;
35
+ this.updateActivity();
36
+ this.logger.info('Using cached Photoshop detection');
37
+ void this.refreshPhotoshopVersionOnPerson();
38
+ return;
26
39
  }
40
+ this.logger.debug('Photoshop detection deferred until first tool');
27
41
  }
28
42
  async connect() {
29
43
  try {
30
44
  this.logger.info('Connecting to Photoshop...');
31
45
  const connected = await this.connection.ping();
46
+ this.isConnected = connected;
32
47
  if (connected) {
33
- this.isConnected = true;
34
48
  this.updateActivity();
35
49
  this.logger.info('Successfully connected to Photoshop');
36
50
  void this.refreshPhotoshopVersionOnPerson();
37
51
  return true;
38
52
  }
39
- else {
40
- this.isConnected = false;
41
- this.logger.warn('Failed to connect to Photoshop');
42
- return false;
43
- }
53
+ this.logger.warn('Failed to connect to Photoshop');
54
+ return false;
44
55
  }
45
56
  catch (error) {
46
57
  this.logger.error('Connection error:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { capture, captureMcpPageview, endMcpAnalyticsSession, ensureAnalyticsIdentity, getAppVersion, identifyAnalyticsPerson, onMcpClientDisconnected, shutdownAnalytics, startMcpAnalyticsSession, } from './analytics/index.js';
2
+ import { capture, endMcpAnalyticsSession, ensureAnalyticsIdentity, getAppVersion, identifyAnalyticsPerson, onMcpClientDisconnected, shutdownAnalytics, startLogicalMcpAnalyticsSession, } from './analytics/index.js';
3
3
  import { PhotoshopMCPServer } from './core/server.js';
4
4
  import { Logger } from './utils/logger.js';
5
5
  const logger = new Logger('Main');
@@ -17,12 +17,9 @@ async function main() {
17
17
  event_source: 'mcp',
18
18
  ...(photoshopVersion ? { photoshop_version: photoshopVersion } : {}),
19
19
  });
20
- startMcpAnalyticsSession();
21
- captureMcpPageview();
22
- capture('mcp_session_started', {
20
+ startLogicalMcpAnalyticsSession({
23
21
  photoshop_detected: mcpServer.isPhotoshopConnected(),
24
22
  tools_registered_count: mcpServer.getToolCount(),
25
- event_source: 'mcp',
26
23
  });
27
24
  logger.info('Photoshop MCP Server is running');
28
25
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,17 @@ export declare class PhotoshopConnection {
10
10
  private executor;
11
11
  private photoshopInfo;
12
12
  private macosExecutor?;
13
+ private onFreshDetect?;
13
14
  constructor();
14
15
  /** Returns the platform executor, initializing it on first call. */
15
16
  private getExecutor;
17
+ /** Register a listener for a real detect() — not a cache hydrate. */
18
+ setOnFreshDetect(callback: (ok: boolean) => void): void;
19
+ /** Load a valid on-disk detect without Spotlight/registry. */
20
+ hydrateFromCache(): boolean;
21
+ private notifyFreshDetect;
22
+ private applyCachedInfo;
23
+ private resolvePhotoshopInfo;
16
24
  ping(): Promise<boolean>;
17
25
  getVersion(): Promise<string>;
18
26
  executeScript(script: string, timeout?: number): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/platform/connection.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAAC,CAAgB;;IAUtC,oEAAoE;IACpE,OAAO,CAAC,WAAW;IAeb,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAiBxB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAa7B,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BvE,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIlC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAc7C;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/platform/connection.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAwB;;IAU9C,oEAAoE;IACpE,OAAO,CAAC,WAAW;IAenB,qEAAqE;IACrE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAIvD,8DAA8D;IAC9D,gBAAgB,IAAI,OAAO;IAc3B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;YAST,oBAAoB;IA4B5B,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAWxB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BvE,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIlC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7C;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CAK1B"}