@tickernelz/paperclip-pro-adapter-omp-local 2026.930.5 → 2026.1001.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,yCAAyC,CAAC;AA8CjD,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AA6FrB,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAE9E;AAoCD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBzB;AAyQD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAMN;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,KAAK,EAAE,uBAAuB,CAAC,cAAc,CAAC,EAC9C,GAAG,EAAE,uBAAuB,CAAC,YAAY,CAAC,GACzC,MAAM,CAgCR;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,QAAQ,EAAE,wBAAwB,EAClC,QAAQ,GAAE,MAAM,GAAG,IAAwB,GAC1C,IAAI,CAKN;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuqB3F"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC5B,MAAM,yCAAyC,CAAC;AA8CjD,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AA8FrB,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAE9E;AAoCD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuBzB;AAyQD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAMN;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,KAAK,EAAE,uBAAuB,CAAC,cAAc,CAAC,EAC9C,GAAG,EAAE,uBAAuB,CAAC,YAAY,CAAC,GACzC,MAAM,CAgCR;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,QAAQ,EAAE,wBAAwB,EAClC,QAAQ,GAAE,MAAM,GAAG,IAAwB,GAC1C,IAAI,CAKN;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwrB3F"}
@@ -15,6 +15,7 @@ import { registerAdapterSteerTarget } from "@tickernelz/paperclip-pro-adapter-ut
15
15
  import { ensureOmpSkills } from "./skills.js";
16
16
  import { writeOmpSettingsOverlay } from "./settings-overlay.js";
17
17
  import { writeOmpToolGuardExtension } from "./tool-guard.js";
18
+ import { prependPythonPath, writeOmpPythonEnvBridge } from "./python-env.js";
18
19
  import { PAPERCLIP_MCP_BIN, PAPERCLIP_MCP_CREDENTIAL_CODE, PAPERCLIP_MCP_CONNECT_FAILURE_RE, PAPERCLIP_MCP_TRANSIENT_FAILURE_RE, PAPERCLIP_MCP_SERVER_NAME, PAPERCLIP_MCP_TOOLSETS_ENV, PAPERCLIP_MCP_UNAVAILABLE_CODE, paperclipMcpUnavailableRecovery, paperclipMcpGuidance, paperclipMcpEndpoint, paperclipMcpTransport, probePaperclipMcpEndpoint, paperclipMcpToolsets, probePaperclipMcpServer, resolvePaperclipMcpServerCommand, writePaperclipMcpExtension, } from "./paperclip-mcp.js";
19
20
  const RESULT_TRANSCRIPT_MAX_CHARS = 16 * 1024;
20
21
  const RESULT_TOOL_CALL_MAX_CHARS = 4 * 1024;
@@ -420,6 +421,7 @@ export async function execute(ctx) {
420
421
  let settingsOverlay = null;
421
422
  let mcpExtension = null;
422
423
  let toolGuardExtension = null;
424
+ let pythonEnvBridge = null;
423
425
  try {
424
426
  await ensureOmpSkills(config, preparedConfig.agentDir ?? undefined);
425
427
  const configuredEnv = parseObject(config.env);
@@ -680,6 +682,20 @@ export async function execute(ctx) {
680
682
  timeoutSec,
681
683
  graceSec,
682
684
  });
685
+ pythonEnvBridge = await writeOmpPythonEnvBridge({
686
+ runId,
687
+ target: runtimeTarget,
688
+ remote,
689
+ env: invocationEnv,
690
+ remoteRootDir: runtimeRootDir,
691
+ cwd: remote ? effectiveExecutionCwd : cwd,
692
+ timeoutSec,
693
+ graceSec,
694
+ });
695
+ if (!remote) {
696
+ invocationEnv.PYTHONPATH = prependPythonPath(pythonEnvBridge.dir, invocationEnv.PYTHONPATH, path.delimiter);
697
+ }
698
+ const launchOmp = pythonEnvBridge.launch;
683
699
  const mcpArmed = mcpEnabled && mcpExtension !== null;
684
700
  const paperclipAccess = mcpArmed ? "mcp" : "rest";
685
701
  const prompts = await buildPrompts({
@@ -836,12 +852,13 @@ export async function execute(ctx) {
836
852
  const releaseSteerTarget = steerSession
837
853
  ? registerAdapterSteerTarget(runId, steerSession)
838
854
  : null;
855
+ const launch = launchOmp(command, args);
839
856
  try {
840
857
  if (rpcActive && steerSession) {
841
858
  const rpcRun = await runOmpRpcSession({
842
859
  runId,
843
- command,
844
- args,
860
+ command: launch.command,
861
+ args: launch.args,
845
862
  cwd,
846
863
  env: invocationEnv,
847
864
  timeoutSec,
@@ -860,7 +877,7 @@ export async function execute(ctx) {
860
877
  rpcProtocolVersion = rpcRun.protocolVersion;
861
878
  }
862
879
  else {
863
- proc = await runAdapterExecutionTargetProcess(runId, runtimeTarget, command, args, {
880
+ proc = await runAdapterExecutionTargetProcess(runId, runtimeTarget, launch.command, launch.args, {
864
881
  cwd,
865
882
  env: invocationEnv,
866
883
  timeoutSec,
@@ -1027,6 +1044,7 @@ export async function execute(ctx) {
1027
1044
  await settingsOverlay?.cleanup().catch(() => { });
1028
1045
  await mcpExtension?.cleanup().catch(() => { });
1029
1046
  await toolGuardExtension?.cleanup().catch(() => { });
1047
+ await pythonEnvBridge?.cleanup().catch(() => { });
1030
1048
  await preparedConfig.cleanup();
1031
1049
  }
1032
1050
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ vi.mock("./paperclip-mcp.js", async (importOriginal) => {
12
12
  });
13
13
  import { execute } from "./execute.js";
14
14
  import { OMP_TOOL_GUARD_FILE_NAME } from "./tool-guard.js";
15
+ import { OMP_PYTHON_ENV_FILE_NAME, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME } from "./python-env.js";
15
16
  import { PAPERCLIP_MCP_BIN, PAPERCLIP_MCP_PACKAGE, PAPERCLIP_MCP_CREDENTIAL_CODE, PAPERCLIP_MCP_UNAVAILABLE_CODE, buildPaperclipMcpServerEntry, paperclipMcpEndpoint, paperclipMcpToolsets, probePaperclipMcpEndpoint, probePaperclipMcpServer, resolvePaperclipMcpServerCommand, } from "./paperclip-mcp.js";
16
17
  import { runAdapterExecutionTargetProcess } from "@tickernelz/paperclip-pro-adapter-utils/execution-target";
17
18
  const runProcessMock = vi.mocked(runAdapterExecutionTargetProcess);
@@ -54,6 +55,19 @@ describe("OMP local Paperclip MCP wiring", () => {
54
55
  mcpServer = JSON.parse(raw)
55
56
  .mcpServers.paperclip ?? null;
56
57
  }
58
+ const pythonDir = (options.env.PYTHONPATH ?? "").split(path.delimiter)[0] ?? "";
59
+ const dataFile = path.join(pythonDir, OMP_PYTHON_ENV_FILE_NAME);
60
+ const dataStat = pythonDir ? await fs.stat(dataFile).catch(() => null) : null;
61
+ const pythonEnv = dataStat
62
+ ? {
63
+ dir: pythonDir,
64
+ dataMode: dataStat.mode & 0o777,
65
+ data: JSON.parse(await fs.readFile(dataFile, "utf8")),
66
+ hasSitecustomize: await fs
67
+ .access(path.join(pythonDir, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME))
68
+ .then(() => true, () => false),
69
+ }
70
+ : null;
57
71
  const promptIndex = args.indexOf("--append-system-prompt");
58
72
  captured = {
59
73
  args,
@@ -62,6 +76,7 @@ describe("OMP local Paperclip MCP wiring", () => {
62
76
  toolGuardPath,
63
77
  mcpDir,
64
78
  mcpServer,
79
+ pythonEnv,
65
80
  systemPrompt: promptIndex >= 0 ? (args[promptIndex + 1] ?? "") : "",
66
81
  userPrompt: args.at(-1) ?? "",
67
82
  };
@@ -144,6 +159,30 @@ describe("OMP local Paperclip MCP wiring", () => {
144
159
  expect(invocation.toolGuardPath).toBeTruthy();
145
160
  await expect(fs.access(invocation.toolGuardPath)).rejects.toThrow();
146
161
  });
162
+ it("hands the Python kernel the run's PAPERCLIP_* env through a private sitecustomize dir", async () => {
163
+ const previous = process.env.PYTHONPATH;
164
+ process.env.PYTHONPATH = "/opt/existing-site";
165
+ try {
166
+ const invocation = await run({});
167
+ const bridge = invocation.pythonEnv;
168
+ expect(bridge).not.toBeNull();
169
+ expect(invocation.env.PYTHONPATH).toBe([bridge.dir, "/opt/existing-site"].join(path.delimiter));
170
+ expect(bridge.hasSitecustomize).toBe(true);
171
+ expect(bridge.dataMode).toBe(0o600);
172
+ const forwarded = Object.fromEntries(Object.entries(invocation.env).filter(([key]) => key.startsWith("PAPERCLIP_")));
173
+ expect(bridge.data).toEqual(forwarded);
174
+ expect(bridge.data.PAPERCLIP_API_KEY).toBe("run-jwt");
175
+ expect(invocation.args.join("\n")).not.toContain("run-jwt");
176
+ expect(invocation.env.PYTHONPATH).not.toContain("run-jwt");
177
+ await expect(fs.access(bridge.dir)).rejects.toThrow();
178
+ }
179
+ finally {
180
+ if (previous === undefined)
181
+ delete process.env.PYTHONPATH;
182
+ else
183
+ process.env.PYTHONPATH = previous;
184
+ }
185
+ });
147
186
  it("falls back to the bundled stdio server when configured", async () => {
148
187
  const invocation = await run({ paperclipMcpTransport: "stdio" });
149
188
  expect(invocation.mcpServer).toMatchObject({ type: "stdio", enabled: true });
@@ -1 +1 @@
1
- {"version":3,"file":"execute.mcp.test.js","sourceRoot":"","sources":["../../src/server/execute.mcp.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.mcp.test.js","sourceRoot":"","sources":["../../src/server/execute.mcp.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,EAAE,CAAC,IAAI,CAAC,0DAA0D,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,EAAE,CAA4B,CAAC;IACnE,OAAO,EAAE,GAAG,MAAM,EAAE,gCAAgC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,EAAE,CAA4B,CAAC;IACnE,OAAO,EAAE,GAAG,MAAM,EAAE,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7F,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,kCAAkC,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0DAA0D,CAAC;AAG5G,MAAM,cAAc,GAAG,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;AACnE,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AACrD,MAAM,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,YAAY,CAA4B,oBAAoB,CAAC,CAAC;AAcvF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,IAAI,IAAY,CAAC;IACjB,IAAI,WAAmB,CAAC;IACxB,IAAI,YAAoB,CAAC;IACzB,IAAI,QAA2B,CAAC;IAEhC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAC3E,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5C,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC/D,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACnC,QAAQ,GAAG,IAAI,CAAC;QAChB,SAAS,CAAC,SAAS,EAAE,CAAC;QACtB,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACjG,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1G,cAAc,CAAC,SAAS,EAAE,CAAC;QAC3B,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,EACtC,MAAc,EACd,OAAgB,EAChB,QAAgB,EAChB,IAAc,EACd,OAAwC,EACxC,EAAE;YACF,MAAM,aAAa,GAAG,IAAI;iBACvB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;iBACzC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC;iBAChD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,wBAAwB,CAAC,IAAI,IAAI,CAAC;YAC/G,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;YAC/E,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,IAAI,SAAS,GAAmC,IAAI,CAAC;YACrD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBAC9C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,GAAG,KAAK,IAAI;oBAAE,SAAS;gBAC3B,MAAM,GAAG,GAAG,CAAC;gBACb,SAAS,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6D;qBACrF,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC;YAClC,CAAC;YACD,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9E,MAAM,SAAS,GAAG,QAAQ;gBACxB,CAAC,CAAC;oBACE,GAAG,EAAE,SAAS;oBACd,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK;oBAC/B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAA2B;oBAC/E,gBAAgB,EAAE,MAAM,EAAE;yBACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;yBAChE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC;iBACjC;gBACH,CAAC,CAAC,IAAI,CAAC;YACT,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC3D,QAAQ,GAAG;gBACT,IAAI;gBACJ,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,aAAa;gBACb,aAAa;gBACb,MAAM;gBACN,SAAS;gBACT,SAAS;gBACT,YAAY,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;aAC9B,CAAC;YACF,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC,CAAU,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,GAAG,CAAC,MAA+B,EAAE,SAAS,GAAkB,SAAS;QACtF,MAAM,OAAO,CAAC;YACZ,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,WAAW;gBACxB,aAAa,EAAE,EAAE;aAClB;YACD,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YACxF,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE;YAC/E,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,QAAsB,CAAC;IAChC,CAAC;IAED,KAAK,UAAU,SAAS,CACtB,MAA+B,EAC/B,IAAI,GAA6C,EAAE;QAEnD,OAAO,MAAM,OAAO,CAAC;YACnB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,WAAW;gBACxB,aAAa,EAAE,EAAE;aAClB;YACD,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YACxF,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE;YAC/E,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,KAAK,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;gBAC7C,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC;YACzC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC;YACnE,OAAO,EAAE;gBACP,aAAa,EAAE,6BAA6B;gBAC5C,oBAAoB,EAAE,SAAS;aAChC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC5E,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;QAChH,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,aAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,MAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACjG,MAAM,CAAC,MAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAC/E,CAAC;YACF,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,CAAC,MAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5D,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3D,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;;gBACrD,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC;YAC9C,iBAAiB,EAAE,sBAAsB;YACzC,kBAAkB,EAAE,SAAS;YAC7B,oBAAoB,EAAE,WAAW;YACjC,gBAAgB,EAAE,SAAS;YAC3B,sBAAsB,EAAE,MAAM;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;QACtF,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QACnF,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC9F,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,IAAI,GAA6C,EAAE,CAAC;QAC1D,MAAM,SAAS,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChI,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;QACvG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,OAAO,CAAC,yBAAyB,CAAC;YAChC,GAAG,KAAK;YACR,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE,CAC9C,IAAI,OAAO,CAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACzC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAiB;SACtB,CAAC,CACH,CAAC;QACF,MAAM,IAAI,GAA6C,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,cAAwB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtF,MAAM,CAAC,YAAY,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,OAAO,CAAC,yBAAyB,CAAC;YAChC,GAAG,KAAK;YACR,SAAS,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAiB;SACpF,CAAC,CACH,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,SAAS,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CACrC,OAAO,CAAC,uBAAuB,CAAC;YAC9B,GAAG,KAAK;YACR,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;SAC3F,CAAC,CACH,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,iBAAiB,CAAC,iBAAiB,CAAC;YAClC,EAAE,EAAE,KAAK;YACT,kBAAkB,EAAE,IAAI;YACxB,MAAM,EAAE,yDAAyD;YACjE,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzE,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN;YACE,MAAM,EAAE,oCAAoC;YAC5C,WAAW,EAAE,oBAAoB;SAClC;QACD;YACE,MAAM,EAAE,gDAAgD;YACxD,WAAW,EAAE,SAAS;SACvB;KACF,CAAC,CAAC,6EAA6E,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;QAClH,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,EACtC,MAAc,EACd,OAAgB,EAChB,QAAgB,EAChB,KAAe,EACf,OAAoE,EACpE,EAAE;YACF,MAAM,OAAO,CAAC,KAAK,CACjB,QAAQ,EACR,sDAAsD,MAAM,6CAA6C,CAC1G,CAAC;YACF,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC,CAAU,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,cAAc,CAAC,kBAAkB,CAAC,CAAC,KAAK,EACtC,MAAc,EACd,OAAgB,EAChB,QAAgB,EAChB,KAAe,EACf,OAAoE,EACpE,EAAE;YACF,MAAM,OAAO,CAAC,KAAK,CACjB,QAAQ,EACR,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,4IAA4I;aACtJ,CAAC,IAAI,CACP,CAAC;YACF,OAAO;gBACL,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC,CAAU,CAAC,CAAC;QACb,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;YAC9C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1C,CAAC;gBAAS,CAAC;YACT,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,mBAAmB;QAChC,MAAM,OAAO,CAAC;YACZ,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,WAAW;gBACtB,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,WAAW;gBACxB,aAAa,EAAE,EAAE;aAClB;YACD,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YACxF,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE;YACxF,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YACrB,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE;gBACZ,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,qDAAqD;gBAC/D,WAAW,EAAE,yCAAyC;gBACtD,IAAI,EAAE;oBACJ,iBAAiB,EAAE,wDAAwD;oBAC3E,iBAAiB,EAAE,yDAAyD;iBAC7E;gBACD,WAAW,EAAE,eAAe;gBAC5B,SAAS,EAAE,0BAA0B;gBACrC,KAAK,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;aACpD;SACF,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,OAAO,QAAsB,CAAC;IAChC,CAAC;IAED,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;YACnC,6BAA6B,EAAE,eAAe;YAC9C,8CAA8C,EAAE,wDAAwD;YACxG,8CAA8C,EAAE,yDAAyD;SAC1G,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAExG,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,gCAAgC,CAAC;YAChD,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,GAAG;SACzC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,gCAAgC,CAAC;YAChD,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI;YACzC,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAG,gCAAgC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7F,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,QAAQ,GAAG,gCAAgC,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC;YACpF,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACxE,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,4BAA4B,CAAC;YACzC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACtE,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE;SACpG,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACxB,iBAAiB,EAAE,uBAAuB;YAC1C,iBAAiB,EAAE,sBAAsB;YACzC,sBAAsB,EAAE,MAAM;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,KAAK,GAAG,4BAA4B,CAAC;YACzC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACtE,QAAQ,EAAE,MAAM;YAChB,GAAG,EAAE,EAAE,iBAAiB,EAAE,oBAAoB,EAAE;SACjD,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execute.python-env.remote.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.python-env.remote.test.d.ts","sourceRoot":"","sources":["../../src/server/execute.python-env.remote.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,102 @@
1
+ import { mkdir, mkdtemp, rm } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+ import { afterEach, describe, expect, it, vi } from "vitest";
5
+ const { runAdapterExecutionTargetProcess, ensureCommandResolvable, resolveCommandForLogs, prepareWorkspaceForSshExecution, restoreWorkspaceFromSshExecution, runSshCommand, syncDirectoryToSsh, startAdapterExecutionTargetPaperclipBridge, } = vi.hoisted(() => ({
6
+ runAdapterExecutionTargetProcess: vi.fn(async () => ({
7
+ exitCode: 0,
8
+ signal: null,
9
+ timedOut: false,
10
+ stdout: "",
11
+ stderr: "",
12
+ pid: 123,
13
+ startedAt: new Date().toISOString(),
14
+ })),
15
+ ensureCommandResolvable: vi.fn(async () => undefined),
16
+ resolveCommandForLogs: vi.fn(async () => "ssh://fixture@127.0.0.1:2222/remote/workspace :: omp"),
17
+ prepareWorkspaceForSshExecution: vi.fn(async () => ({ gitBacked: false })),
18
+ restoreWorkspaceFromSshExecution: vi.fn(async () => undefined),
19
+ runSshCommand: vi.fn(async () => ({ stdout: "/home/agent", stderr: "", exitCode: 0 })),
20
+ syncDirectoryToSsh: vi.fn(async () => undefined),
21
+ startAdapterExecutionTargetPaperclipBridge: vi.fn(async () => ({
22
+ env: {
23
+ PAPERCLIP_API_URL: "http://127.0.0.1:4310",
24
+ PAPERCLIP_API_KEY: "bridge-token",
25
+ PAPERCLIP_API_BRIDGE_MODE: "queue_v1",
26
+ },
27
+ stop: async () => { },
28
+ })),
29
+ }));
30
+ vi.mock("@tickernelz/paperclip-pro-adapter-utils/server-utils", async () => {
31
+ const actual = await vi.importActual("@tickernelz/paperclip-pro-adapter-utils/server-utils");
32
+ return { ...actual, ensureCommandResolvable, resolveCommandForLogs };
33
+ });
34
+ vi.mock("@tickernelz/paperclip-pro-adapter-utils/ssh", async () => {
35
+ const actual = await vi.importActual("@tickernelz/paperclip-pro-adapter-utils/ssh");
36
+ return {
37
+ ...actual,
38
+ prepareWorkspaceForSshExecution,
39
+ restoreWorkspaceFromSshExecution,
40
+ runSshCommand,
41
+ syncDirectoryToSsh,
42
+ };
43
+ });
44
+ vi.mock("@tickernelz/paperclip-pro-adapter-utils/execution-target", async () => {
45
+ const actual = await vi.importActual("@tickernelz/paperclip-pro-adapter-utils/execution-target");
46
+ return { ...actual, runAdapterExecutionTargetProcess, startAdapterExecutionTargetPaperclipBridge };
47
+ });
48
+ import { execute } from "./execute.js";
49
+ import { OMP_PYTHON_ENV_FILE_NAME, OMP_PYTHON_LAUNCHER_FILE_NAME } from "./python-env.js";
50
+ describe("OMP remote Python env bridge", () => {
51
+ const cleanupDirs = [];
52
+ afterEach(async () => {
53
+ vi.clearAllMocks();
54
+ while (cleanupDirs.length > 0) {
55
+ const dir = cleanupDirs.pop();
56
+ if (dir)
57
+ await rm(dir, { recursive: true, force: true }).catch(() => undefined);
58
+ }
59
+ });
60
+ it("launches OMP through a remote PYTHONPATH launcher instead of a literal PYTHONPATH", async () => {
61
+ const rootDir = await mkdtemp(path.join(os.tmpdir(), "paperclip-omp-remote-pyenv-"));
62
+ cleanupDirs.push(rootDir);
63
+ const workspaceDir = path.join(rootDir, "workspace");
64
+ await mkdir(workspaceDir, { recursive: true });
65
+ await execute({
66
+ runId: "run-remote-pyenv",
67
+ agent: { id: "agent-1", companyId: "company-1", name: "OMP", adapterType: "omp_local", adapterConfig: {} },
68
+ runtime: { sessionId: null, sessionParams: null, sessionDisplayId: null, taskKey: null },
69
+ config: { command: "omp", paperclipMcp: false },
70
+ context: { paperclipWorkspace: { cwd: workspaceDir, source: "project_primary" } },
71
+ executionTransport: {
72
+ remoteExecution: {
73
+ host: "127.0.0.1",
74
+ port: 2222,
75
+ username: "fixture",
76
+ remoteWorkspacePath: "/remote/workspace",
77
+ remoteCwd: "/remote/workspace",
78
+ privateKey: "PRIVATE KEY",
79
+ knownHosts: "[127.0.0.1]:2222 ssh-ed25519 AAAA",
80
+ strictHostKeyChecking: true,
81
+ },
82
+ },
83
+ onLog: async () => { },
84
+ });
85
+ const spawn = runAdapterExecutionTargetProcess.mock.calls.at(-1);
86
+ expect(spawn).toBeDefined();
87
+ const [, , command, args, options] = spawn;
88
+ expect(options.env).not.toHaveProperty("PYTHONPATH");
89
+ expect(command).toBe("sh");
90
+ const launcherPath = args[0];
91
+ expect(path.posix.basename(launcherPath)).toBe(OMP_PYTHON_LAUNCHER_FILE_NAME);
92
+ expect(args[1]).toBe("omp");
93
+ expect(args.join(" ")).not.toContain("bridge-token");
94
+ const bridgeDir = path.posix.dirname(launcherPath);
95
+ const shellScripts = runSshCommand.mock.calls.map((call) => call[1]);
96
+ const launcherWrite = shellScripts.find((script) => script.includes(`cat > '${launcherPath}'`));
97
+ expect(launcherWrite).toContain(`PYTHONPATH='${bridgeDir}'"\${PYTHONPATH:+:$PYTHONPATH}"`);
98
+ expect(shellScripts.some((script) => script.includes(path.posix.join(bridgeDir, OMP_PYTHON_ENV_FILE_NAME)))).toBe(true);
99
+ expect(shellScripts.some((script) => script === `rm -rf '${bridgeDir}'`)).toBe(true);
100
+ });
101
+ });
102
+ //# sourceMappingURL=execute.python-env.remote.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.python-env.remote.test.js","sourceRoot":"","sources":["../../src/server/execute.python-env.remote.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { AdapterExecutionTarget } from "@tickernelz/paperclip-pro-adapter-utils/execution-target";
2
+ export declare const OMP_PYTHON_ENV_FILE_NAME = "paperclip-env.json";
3
+ export declare const OMP_PYTHON_SITECUSTOMIZE_FILE_NAME = "sitecustomize.py";
4
+ export declare const OMP_PYTHON_LAUNCHER_FILE_NAME = "paperclip-python-env.sh";
5
+ export interface OmpPythonEnvLaunch {
6
+ command: string;
7
+ args: string[];
8
+ }
9
+ export interface OmpPythonEnvBridge {
10
+ dir: string;
11
+ launch: (command: string, args: string[]) => OmpPythonEnvLaunch;
12
+ cleanup: () => Promise<void>;
13
+ }
14
+ export declare function renderOmpSitecustomize(): string;
15
+ export declare function renderOmpPythonEnvData(env: Record<string, string>): string;
16
+ export declare function prependPythonPath(dir: string, existing: string | undefined, separator: string): string;
17
+ export declare function renderOmpPythonEnvLauncher(dir: string): string;
18
+ export declare function writeOmpPythonEnvBridge(input: {
19
+ runId: string;
20
+ target: AdapterExecutionTarget | null | undefined;
21
+ remote: boolean;
22
+ env: Record<string, string>;
23
+ remoteRootDir: string | null;
24
+ cwd: string;
25
+ timeoutSec: number;
26
+ graceSec: number;
27
+ }): Promise<OmpPythonEnvBridge>;
28
+ //# sourceMappingURL=python-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-env.d.ts","sourceRoot":"","sources":["../../src/server/python-env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAGvG,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,kCAAkC,qBAAqB,CAAC;AACrE,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,kBAAkB,CAAC;IAChE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CA4E/C;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAM1E;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtG;AAMD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgD9B"}
@@ -0,0 +1,153 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { writePaperclipMcpMount } from "@tickernelz/paperclip-pro-adapter-utils/paperclip-mcp-mount";
4
+ export const OMP_PYTHON_ENV_FILE_NAME = "paperclip-env.json";
5
+ export const OMP_PYTHON_SITECUSTOMIZE_FILE_NAME = "sitecustomize.py";
6
+ export const OMP_PYTHON_LAUNCHER_FILE_NAME = "paperclip-python-env.sh";
7
+ export function renderOmpSitecustomize() {
8
+ return `import os
9
+ import sys
10
+
11
+
12
+ def _paperclip_here():
13
+ return os.path.realpath(os.path.dirname(os.path.abspath(__file__)))
14
+
15
+
16
+ def _paperclip_apply_env(here):
17
+ import json
18
+ with open(os.path.join(here, ${JSON.stringify(OMP_PYTHON_ENV_FILE_NAME)}), "r") as handle:
19
+ data = json.load(handle)
20
+ if not isinstance(data, dict):
21
+ return
22
+ for key, value in data.items():
23
+ if isinstance(key, str) and isinstance(value, str):
24
+ os.environ.setdefault(key, value)
25
+
26
+
27
+ def _paperclip_resolve(entry):
28
+ try:
29
+ return os.path.realpath(os.path.abspath(entry or os.curdir))
30
+ except Exception:
31
+ return None
32
+
33
+
34
+ def _paperclip_is_bridge(entry):
35
+ resolved = _paperclip_resolve(entry)
36
+ if resolved is None:
37
+ return False
38
+ try:
39
+ return os.path.isfile(os.path.join(resolved, ${JSON.stringify(OMP_PYTHON_ENV_FILE_NAME)}))
40
+ except Exception:
41
+ return False
42
+
43
+
44
+ def _paperclip_chain(here):
45
+ import importlib.machinery
46
+ import importlib.util
47
+ rest = [
48
+ entry for entry in sys.path
49
+ if isinstance(entry, str) and _paperclip_resolve(entry) != here and not _paperclip_is_bridge(entry)
50
+ ]
51
+ spec = importlib.machinery.PathFinder.find_spec("sitecustomize", rest)
52
+ if spec is None or spec.loader is None or not spec.origin:
53
+ return
54
+ if _paperclip_resolve(os.path.dirname(spec.origin)) == here:
55
+ return
56
+ module = importlib.util.module_from_spec(spec)
57
+ spec.loader.exec_module(module)
58
+
59
+
60
+ def _paperclip_main():
61
+ if getattr(sys, "_paperclip_env_bridge_loaded", False):
62
+ return
63
+ try:
64
+ setattr(sys, "_paperclip_env_bridge_loaded", True)
65
+ except Exception:
66
+ return
67
+ try:
68
+ here = _paperclip_here()
69
+ except Exception:
70
+ return
71
+ try:
72
+ _paperclip_apply_env(here)
73
+ except Exception:
74
+ pass
75
+ try:
76
+ _paperclip_chain(here)
77
+ except Exception:
78
+ pass
79
+
80
+
81
+ _paperclip_main()
82
+ `;
83
+ }
84
+ export function renderOmpPythonEnvData(env) {
85
+ const data = {};
86
+ for (const [key, value] of Object.entries(env)) {
87
+ if (key.startsWith("PAPERCLIP_") && typeof value === "string")
88
+ data[key] = value;
89
+ }
90
+ return `${JSON.stringify(data)}\n`;
91
+ }
92
+ export function prependPythonPath(dir, existing, separator) {
93
+ return existing ? `${dir}${separator}${existing}` : dir;
94
+ }
95
+ function shellQuoteSingle(value) {
96
+ return `'${value.replaceAll("'", "'\\''")}'`;
97
+ }
98
+ export function renderOmpPythonEnvLauncher(dir) {
99
+ return [
100
+ `PYTHONPATH=${shellQuoteSingle(dir)}"\${PYTHONPATH:+:\$PYTHONPATH}"`,
101
+ "export PYTHONPATH",
102
+ 'exec "$@"',
103
+ "",
104
+ ].join("\n");
105
+ }
106
+ export async function writeOmpPythonEnvBridge(input) {
107
+ const remoteDir = path.posix.join(input.remoteRootDir ?? path.posix.join(input.cwd, ".paperclip-runtime", "omp"), "python-env");
108
+ const mountInput = {
109
+ runId: input.runId,
110
+ target: input.target,
111
+ remote: input.remote,
112
+ localPrefix: "paperclip-omp-pyenv-",
113
+ remoteDir,
114
+ cwd: input.cwd,
115
+ env: input.env,
116
+ timeoutSec: input.timeoutSec,
117
+ graceSec: input.graceSec,
118
+ };
119
+ const data = await writePaperclipMcpMount({
120
+ ...mountInput,
121
+ content: renderOmpPythonEnvData(input.env),
122
+ fileName: OMP_PYTHON_ENV_FILE_NAME,
123
+ });
124
+ try {
125
+ if (input.remote) {
126
+ await writePaperclipMcpMount({
127
+ ...mountInput,
128
+ content: renderOmpSitecustomize(),
129
+ fileName: OMP_PYTHON_SITECUSTOMIZE_FILE_NAME,
130
+ });
131
+ const launcher = await writePaperclipMcpMount({
132
+ ...mountInput,
133
+ content: renderOmpPythonEnvLauncher(data.dir),
134
+ fileName: OMP_PYTHON_LAUNCHER_FILE_NAME,
135
+ });
136
+ return {
137
+ dir: data.dir,
138
+ launch: (command, args) => ({ command: "sh", args: [launcher.filePath, command, ...args] }),
139
+ cleanup: data.cleanup,
140
+ };
141
+ }
142
+ await fs.writeFile(path.join(data.dir, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME), renderOmpSitecustomize(), {
143
+ encoding: "utf8",
144
+ mode: 0o600,
145
+ });
146
+ }
147
+ catch (error) {
148
+ await data.cleanup().catch(() => { });
149
+ throw error;
150
+ }
151
+ return { dir: data.dir, launch: (command, args) => ({ command, args }), cleanup: data.cleanup };
152
+ }
153
+ //# sourceMappingURL=python-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-env.js","sourceRoot":"","sources":["../../src/server/python-env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=python-env.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-env.test.d.ts","sourceRoot":"","sources":["../../src/server/python-env.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,202 @@
1
+ import { afterEach, beforeEach, describe, expect, it } from "vitest";
2
+ import { spawnSync } from "node:child_process";
3
+ import fs from "node:fs/promises";
4
+ import os from "node:os";
5
+ import path from "node:path";
6
+ import { OMP_PYTHON_ENV_FILE_NAME, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME, renderOmpPythonEnvData, renderOmpSitecustomize, writeOmpPythonEnvBridge, } from "./python-env.js";
7
+ const PRINT_API_URL = 'import os;print(os.environ.get("PAPERCLIP_API_URL"))';
8
+ function strippedEnv(extra) {
9
+ const env = {};
10
+ for (const [key, value] of Object.entries(process.env)) {
11
+ if (value === undefined || key.startsWith("PAPERCLIP_") || key.startsWith("PYTHON"))
12
+ continue;
13
+ env[key] = value;
14
+ }
15
+ return { ...env, ...extra };
16
+ }
17
+ function python(code, env) {
18
+ const result = spawnSync("python3", ["-c", code], { env, encoding: "utf8" });
19
+ return { status: result.status, stdout: result.stdout.trim(), stderr: result.stderr };
20
+ }
21
+ describe("OMP Python env bridge sitecustomize", () => {
22
+ let root;
23
+ let bridgeDir;
24
+ beforeEach(async () => {
25
+ root = await fs.mkdtemp(path.join(os.tmpdir(), "paperclip-omp-pyenv-test-"));
26
+ bridgeDir = path.join(root, "bridge");
27
+ await fs.mkdir(bridgeDir);
28
+ await fs.writeFile(path.join(bridgeDir, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME), renderOmpSitecustomize(), "utf8");
29
+ await fs.writeFile(path.join(bridgeDir, OMP_PYTHON_ENV_FILE_NAME), renderOmpPythonEnvData({ PAPERCLIP_API_URL: "http://bridge.invalid/api", HOME: "/not-forwarded" }), "utf8");
30
+ });
31
+ afterEach(async () => {
32
+ await fs.rm(root, { recursive: true, force: true });
33
+ });
34
+ it("restores a PAPERCLIP_* value that the parent stripped from the environment", () => {
35
+ const withBridge = python(PRINT_API_URL, strippedEnv({ PYTHONPATH: bridgeDir }));
36
+ expect(withBridge).toEqual({ status: 0, stdout: "http://bridge.invalid/api", stderr: "" });
37
+ const withoutBridge = python(PRINT_API_URL, strippedEnv({}));
38
+ expect(withoutBridge.stdout).toBe("None");
39
+ });
40
+ it("keeps a value already present in the environment", () => {
41
+ const existing = python(PRINT_API_URL, strippedEnv({ PYTHONPATH: bridgeDir, PAPERCLIP_API_URL: "http://already.set/api" }));
42
+ expect(existing.stdout).toBe("http://already.set/api");
43
+ const absent = python(PRINT_API_URL, strippedEnv({ PYTHONPATH: bridgeDir }));
44
+ expect(absent.stdout).toBe("http://bridge.invalid/api");
45
+ });
46
+ it("only forwards PAPERCLIP_* keys into the data file", () => {
47
+ expect(JSON.parse(renderOmpPythonEnvData({ PAPERCLIP_RUN_ID: "r", HOME: "/h", PATH: "/bin" }))).toEqual({
48
+ PAPERCLIP_RUN_ID: "r",
49
+ });
50
+ });
51
+ it("stays silent when the data file is missing or malformed", async () => {
52
+ await fs.rm(path.join(bridgeDir, OMP_PYTHON_ENV_FILE_NAME));
53
+ expect(python(PRINT_API_URL, strippedEnv({ PYTHONPATH: bridgeDir }))).toEqual({
54
+ status: 0,
55
+ stdout: "None",
56
+ stderr: "",
57
+ });
58
+ await fs.writeFile(path.join(bridgeDir, OMP_PYTHON_ENV_FILE_NAME), "{not json", "utf8");
59
+ expect(python(PRINT_API_URL, strippedEnv({ PYTHONPATH: bridgeDir }))).toEqual({
60
+ status: 0,
61
+ stdout: "None",
62
+ stderr: "",
63
+ });
64
+ const naive = path.join(root, "naive");
65
+ await fs.mkdir(naive);
66
+ await fs.writeFile(path.join(naive, "sitecustomize.py"), `import os\nopen(os.path.join(os.path.dirname(__file__), ${JSON.stringify(OMP_PYTHON_ENV_FILE_NAME)}))\n`, "utf8");
67
+ const control = python(PRINT_API_URL, strippedEnv({ PYTHONPATH: naive }));
68
+ expect(control.stderr).toContain("FileNotFoundError");
69
+ });
70
+ it("chains to a later sitecustomize instead of shadowing it", async () => {
71
+ const userDir = path.join(root, "user");
72
+ await fs.mkdir(userDir);
73
+ await fs.writeFile(path.join(userDir, "sitecustomize.py"), "import os\nos.environ['USER_SITECUSTOMIZE_MARKER'] = 'ran'\n", "utf8");
74
+ const code = 'import os;print(os.environ.get("PAPERCLIP_API_URL"), os.environ.get("USER_SITECUSTOMIZE_MARKER"))';
75
+ const chained = python(code, strippedEnv({ PYTHONPATH: [bridgeDir, userDir].join(path.delimiter) }));
76
+ expect(chained).toEqual({ status: 0, stdout: "http://bridge.invalid/api ran", stderr: "" });
77
+ await fs.writeFile(path.join(bridgeDir, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME), "import os\n", "utf8");
78
+ const shadowed = python(code, strippedEnv({ PYTHONPATH: [bridgeDir, userDir].join(path.delimiter) }));
79
+ expect(shadowed.stdout).toBe("None None");
80
+ });
81
+ it("skips every bridge dir when chaining so stacked bridges run once and still reach a later sitecustomize", async () => {
82
+ const counted = (body) => `import os\nos.environ["BRIDGE_RUNS"] = str(int(os.environ.get("BRIDGE_RUNS", "0")) + 1)\n${body}`;
83
+ const naiveChainer = [
84
+ "import os, sys, importlib.machinery, importlib.util",
85
+ "here = os.path.realpath(os.path.dirname(os.path.abspath(__file__)))",
86
+ "rest = [e for e in sys.path if os.path.realpath(os.path.abspath(e or os.curdir)) != here]",
87
+ 'spec = importlib.machinery.PathFinder.find_spec("sitecustomize", rest)',
88
+ 'if spec is not None and int(os.environ["BRIDGE_RUNS"]) < 50:',
89
+ " spec.loader.exec_module(importlib.util.module_from_spec(spec))",
90
+ "",
91
+ ].join("\n");
92
+ const outerDir = path.join(root, "outer");
93
+ const laterDir = path.join(root, "later");
94
+ await fs.mkdir(outerDir);
95
+ await fs.mkdir(laterDir);
96
+ await fs.writeFile(path.join(outerDir, OMP_PYTHON_ENV_FILE_NAME), renderOmpPythonEnvData({ PAPERCLIP_API_URL: "http://outer.invalid/api" }), "utf8");
97
+ await fs.writeFile(path.join(laterDir, "sitecustomize.py"), 'import os\nos.environ["LATER_RUNS"] = str(int(os.environ.get("LATER_RUNS", "0")) + 1)\n', "utf8");
98
+ const code = 'import os;print(os.environ.get("BRIDGE_RUNS"), os.environ.get("LATER_RUNS"), os.environ.get("PAPERCLIP_API_URL"))';
99
+ const stacked = strippedEnv({ PYTHONPATH: [outerDir, bridgeDir, laterDir].join(path.delimiter) });
100
+ for (const dir of [outerDir, bridgeDir]) {
101
+ await fs.writeFile(path.join(dir, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME), counted(renderOmpSitecustomize()), "utf8");
102
+ }
103
+ expect(python(code, stacked)).toEqual({ status: 0, stdout: "1 1 http://outer.invalid/api", stderr: "" });
104
+ for (const dir of [outerDir, bridgeDir]) {
105
+ await fs.writeFile(path.join(dir, OMP_PYTHON_SITECUSTOMIZE_FILE_NAME), counted(naiveChainer), "utf8");
106
+ }
107
+ const [naiveBridgeRuns, naiveLaterRuns] = python(code, stacked).stdout.split(" ");
108
+ expect(Number(naiveBridgeRuns)).toBeGreaterThan(1);
109
+ expect(naiveLaterRuns).toBe("None");
110
+ });
111
+ it("writes both files into one private directory and removes it on cleanup", async () => {
112
+ const bridge = await writeOmpPythonEnvBridge({
113
+ runId: "run-pyenv",
114
+ target: null,
115
+ remote: false,
116
+ env: { PAPERCLIP_API_KEY: "secret-token", PATH: "/bin" },
117
+ remoteRootDir: null,
118
+ cwd: root,
119
+ timeoutSec: 0,
120
+ graceSec: 0,
121
+ });
122
+ const dataFile = path.join(bridge.dir, OMP_PYTHON_ENV_FILE_NAME);
123
+ expect((await fs.stat(bridge.dir)).mode & 0o777).toBe(0o700);
124
+ expect((await fs.stat(dataFile)).mode & 0o777).toBe(0o600);
125
+ expect(JSON.parse(await fs.readFile(dataFile, "utf8"))).toEqual({ PAPERCLIP_API_KEY: "secret-token" });
126
+ expect(bridge.launch("omp", ["--mode", "rpc"])).toEqual({ command: "omp", args: ["--mode", "rpc"] });
127
+ const visible = python('import os;print(os.environ.get("PAPERCLIP_API_KEY"))', strippedEnv({ PYTHONPATH: bridge.dir }));
128
+ expect(visible.stdout).toBe("secret-token");
129
+ await bridge.cleanup();
130
+ await expect(fs.access(bridge.dir)).rejects.toThrow();
131
+ expect(python('import os;print(os.environ.get("PAPERCLIP_API_KEY"))', strippedEnv({ PYTHONPATH: bridge.dir })).stdout)
132
+ .toBe("None");
133
+ });
134
+ it("prepends the bridge to the remote host's own PYTHONPATH after the login profile runs", async () => {
135
+ const remoteRoot = path.join(root, "remote");
136
+ const remoteHome = path.join(root, "remote-home");
137
+ const hostSite = path.join(root, "host-site");
138
+ await fs.mkdir(remoteRoot);
139
+ await fs.mkdir(remoteHome);
140
+ await fs.mkdir(hostSite);
141
+ await fs.writeFile(path.join(hostSite, "host_marker.py"), "VALUE = 'host-import-ok'\n", "utf8");
142
+ await fs.writeFile(path.join(remoteHome, ".profile"), `PYTHONPATH=${hostSite}\nexport PYTHONPATH\n`, "utf8");
143
+ const runnerCalls = [];
144
+ const runner = {
145
+ execute: async (input) => {
146
+ runnerCalls.push([input.command, ...(input.args ?? [])].join(" "));
147
+ const result = spawnSync(input.command, input.args ?? [], {
148
+ cwd: remoteRoot,
149
+ env: { ...strippedEnv({}), ...(input.env ?? {}) },
150
+ encoding: "utf8",
151
+ });
152
+ return {
153
+ exitCode: result.status,
154
+ signal: null,
155
+ timedOut: false,
156
+ stdout: result.stdout,
157
+ stderr: result.stderr,
158
+ pid: null,
159
+ startedAt: new Date().toISOString(),
160
+ };
161
+ },
162
+ };
163
+ const runEnv = { PAPERCLIP_API_URL: "http://remote.invalid/api", PAPERCLIP_API_KEY: "remote-secret" };
164
+ const bridge = await writeOmpPythonEnvBridge({
165
+ runId: "run-remote-pyenv",
166
+ target: { kind: "remote", transport: "sandbox", remoteCwd: remoteRoot, runner },
167
+ remote: true,
168
+ env: runEnv,
169
+ remoteRootDir: remoteRoot,
170
+ cwd: remoteRoot,
171
+ timeoutSec: 15,
172
+ graceSec: 5,
173
+ });
174
+ expect(bridge.dir).toBe(path.posix.join(remoteRoot, "python-env"));
175
+ const code = 'import os,host_marker;print(os.environ["PYTHONPATH"]);print(host_marker.VALUE, os.environ.get("PAPERCLIP_API_URL"))';
176
+ const launch = bridge.launch("python3", ["-c", code]);
177
+ expect(launch.command).toBe("sh");
178
+ expect(launch.args.join(" ")).not.toContain("remote-secret");
179
+ const remoteShell = (env, command, args) => {
180
+ const quoted = [command, ...args].map((part) => `'${part.replaceAll("'", "'\\''")}'`).join(" ");
181
+ const assignments = Object.entries(env).map(([key, value]) => `${key}='${value.replaceAll("'", "'\\''")}'`);
182
+ const script = assignments.length > 0 ? `exec env ${assignments.join(" ")} ${quoted}` : `exec ${quoted}`;
183
+ return spawnSync("sh", ["-lc", script], {
184
+ cwd: remoteRoot,
185
+ env: { PATH: process.env.PATH ?? "/usr/bin:/bin", HOME: remoteHome },
186
+ encoding: "utf8",
187
+ });
188
+ };
189
+ const viaLauncher = remoteShell({}, launch.command, launch.args);
190
+ expect(viaLauncher.stderr).toBe("");
191
+ expect(viaLauncher.stdout.trim().split("\n")).toEqual([
192
+ [bridge.dir, hostSite].join(":"),
193
+ "host-import-ok http://remote.invalid/api",
194
+ ]);
195
+ const literal = remoteShell({ PYTHONPATH: bridge.dir }, "python3", ["-c", code]);
196
+ expect(literal.stderr).toContain("ModuleNotFoundError");
197
+ await bridge.cleanup();
198
+ await expect(fs.access(bridge.dir)).rejects.toThrow();
199
+ expect(runnerCalls.some((call) => call.includes(`rm -rf '${bridge.dir}'`))).toBe(true);
200
+ });
201
+ });
202
+ //# sourceMappingURL=python-env.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-env.test.js","sourceRoot":"","sources":["../../src/server/python-env.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tickernelz/paperclip-pro-adapter-omp-local",
3
- "version": "2026.930.5",
3
+ "version": "2026.1001.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/tickernelz/paperclip-pro",
6
6
  "bugs": {
@@ -37,8 +37,8 @@
37
37
  "dist"
38
38
  ],
39
39
  "dependencies": {
40
- "@tickernelz/paperclip-pro-adapter-utils": "2026.930.5",
41
- "@tickernelz/paperclip-pro-mcp-server": "2026.930.5",
40
+ "@tickernelz/paperclip-pro-adapter-utils": "2026.1001.0",
41
+ "@tickernelz/paperclip-pro-mcp-server": "2026.1001.0",
42
42
  "picocolors": "^1.1.1",
43
43
  "yaml": "^2.9.0"
44
44
  },