UNPKG

consortium

Version:

Remote control and session sharing CLI for AI coding agents

78 lines (74 loc) 2.49 kB
'use strict'; var fs = require('node:fs'); var path = require('node:path'); var os = require('node:os'); var persistence = require('./types-B_i6lpTn.cjs'); var constants = require('./constants-E1WsKKcj.cjs'); require('axios'); require('chalk'); require('fs'); require('node:events'); require('socket.io-client'); require('zod'); require('node:crypto'); require('tweetnacl'); require('child_process'); require('util'); require('fs/promises'); require('crypto'); require('path'); require('url'); require('os'); require('node:child_process'); require('node:fs/promises'); require('node:module'); require('node:util'); require('expo-server-sdk'); function getPiAgentDir() { const envDir = process.env[constants.PI_CODING_AGENT_DIR_ENV]; if (envDir && envDir.trim().length > 0) return envDir; return path.join(os.homedir(), ".pi", "agent"); } function getSettingsPath() { return path.join(getPiAgentDir(), "settings.json"); } function readPiSettings() { const path = getSettingsPath(); if (!fs.existsSync(path)) return {}; try { return JSON.parse(fs.readFileSync(path, "utf-8")); } catch (err) { persistence.logger.debug(`[Pi] Failed to parse settings at ${path}:`, err); return {}; } } function getInitialPiProviderAndModel() { const settings = readPiSettings(); return { provider: settings.defaultProvider ?? constants.getDefaultPiProvider(), model: settings.defaultModel ?? constants.DEFAULT_PI_MODEL, thinking: settings.defaultThinking }; } function savePiDefaults(patch) { const dir = getPiAgentDir(); const path = getSettingsPath(); try { if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true }); const current = readPiSettings(); const next = { ...current, ...patch.provider !== void 0 && { defaultProvider: patch.provider }, ...patch.model !== void 0 && { defaultModel: patch.model } }; if (patch.thinking) next.defaultThinking = patch.thinking; fs.writeFileSync(path, JSON.stringify(next, null, 2), "utf-8"); persistence.logger.debug(`[Pi] Saved defaults to ${path}: ${patch.provider ?? "(unchanged)"}/${patch.model ?? "(unchanged)"}${patch.thinking ? `/${patch.thinking}` : ""}`); } catch (err) { persistence.logger.debug(`[Pi] Failed to save defaults to ${path}:`, err); } } exports.getInitialPiProviderAndModel = getInitialPiProviderAndModel; exports.getPiAgentDir = getPiAgentDir; exports.readPiSettings = readPiSettings; exports.savePiDefaults = savePiDefaults;