poe-code 3.0.398 → 3.0.399

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.
@@ -0,0 +1,30 @@
1
+ import type { HttpClient } from "../cli/http.js";
2
+ import type { CommandRunner } from "../utils/command-checks.js";
3
+ import { type VersionCheckResult } from "./version.js";
4
+ export type PoeCodePackageManager = "npm" | "bun" | "pnpm" | "yarn";
5
+ export interface PoeCodeUpdatePlan {
6
+ packageManager: PoeCodePackageManager;
7
+ command: string;
8
+ args: string[];
9
+ }
10
+ export interface UpdatePoeCodeOptions {
11
+ currentVersion: string;
12
+ httpClient: HttpClient;
13
+ runCommand: CommandRunner;
14
+ env: Record<string, string | undefined>;
15
+ packageManager?: PoeCodePackageManager;
16
+ force?: boolean;
17
+ checkVersion?: boolean;
18
+ }
19
+ export interface PoeCodeUpdateResult {
20
+ status: "current" | "updated";
21
+ plan: PoeCodeUpdatePlan;
22
+ version: VersionCheckResult | null;
23
+ }
24
+ export declare function detectPoeCodePackageManager(env: Record<string, string | undefined>): PoeCodePackageManager;
25
+ export declare function createPoeCodeUpdatePlan(options: {
26
+ packageManager?: PoeCodePackageManager;
27
+ env?: Record<string, string | undefined>;
28
+ }): PoeCodeUpdatePlan;
29
+ export declare function updatePoeCode(options: UpdatePoeCodeOptions): Promise<PoeCodeUpdateResult>;
30
+ export declare function formatPoeCodeUpdateCommand(plan: PoeCodeUpdatePlan): string;
@@ -0,0 +1,113 @@
1
+ import { formatCommandRunnerResult } from "../utils/command-checks.js";
2
+ import { checkForUpdate } from "./version.js";
3
+ const POE_CODE_PACKAGE = "poe-code@latest";
4
+ export function detectPoeCodePackageManager(env) {
5
+ const userAgent = env.npm_config_user_agent ?? "";
6
+ const userAgentManager = userAgent.split(" ")[0]?.split("/")[0];
7
+ const normalizedUserAgentManager = normalizePackageManager(userAgentManager);
8
+ if (normalizedUserAgentManager) {
9
+ return normalizedUserAgentManager;
10
+ }
11
+ const execPath = env.npm_execpath ?? "";
12
+ const execPathManager = detectPackageManagerFromPath(execPath);
13
+ return execPathManager ?? "npm";
14
+ }
15
+ export function createPoeCodeUpdatePlan(options) {
16
+ const packageManager = options.packageManager ?? detectPoeCodePackageManager(options.env ?? {});
17
+ if (packageManager === "bun") {
18
+ return {
19
+ packageManager,
20
+ command: "bun",
21
+ args: ["install", "-g", POE_CODE_PACKAGE]
22
+ };
23
+ }
24
+ if (packageManager === "pnpm") {
25
+ return {
26
+ packageManager,
27
+ command: "pnpm",
28
+ args: ["add", "-g", POE_CODE_PACKAGE]
29
+ };
30
+ }
31
+ if (packageManager === "yarn") {
32
+ return {
33
+ packageManager,
34
+ command: "yarn",
35
+ args: ["global", "add", POE_CODE_PACKAGE]
36
+ };
37
+ }
38
+ return {
39
+ packageManager,
40
+ command: "npm",
41
+ args: ["install", "-g", POE_CODE_PACKAGE]
42
+ };
43
+ }
44
+ export async function updatePoeCode(options) {
45
+ const plan = createPoeCodeUpdatePlan({
46
+ packageManager: options.packageManager,
47
+ env: options.env
48
+ });
49
+ const shouldCheckVersion = options.checkVersion !== false;
50
+ const version = shouldCheckVersion
51
+ ? await checkForUpdate({
52
+ currentVersion: options.currentVersion,
53
+ httpClient: options.httpClient
54
+ })
55
+ : null;
56
+ if (version && !version.updateAvailable && options.force !== true) {
57
+ return {
58
+ status: "current",
59
+ plan,
60
+ version
61
+ };
62
+ }
63
+ const result = await options.runCommand(plan.command, plan.args);
64
+ if (result.exitCode !== 0) {
65
+ throw new Error([
66
+ `poe-code update failed with exit code ${result.exitCode}: ${formatPoeCodeUpdateCommand(plan)}`,
67
+ formatCommandRunnerResult(result)
68
+ ].join("\n"));
69
+ }
70
+ return {
71
+ status: "updated",
72
+ plan,
73
+ version
74
+ };
75
+ }
76
+ export function formatPoeCodeUpdateCommand(plan) {
77
+ return [plan.command, ...plan.args].map(quoteCommandPart).join(" ");
78
+ }
79
+ function normalizePackageManager(value) {
80
+ if (value === "npm" || value === "bun" || value === "pnpm" || value === "yarn") {
81
+ return value;
82
+ }
83
+ return undefined;
84
+ }
85
+ function detectPackageManagerFromPath(value) {
86
+ const lower = value.toLowerCase();
87
+ if (lower.includes("bun")) {
88
+ return "bun";
89
+ }
90
+ if (lower.includes("pnpm")) {
91
+ return "pnpm";
92
+ }
93
+ if (lower.includes("yarn")) {
94
+ return "yarn";
95
+ }
96
+ if (lower.includes("npm")) {
97
+ return "npm";
98
+ }
99
+ return undefined;
100
+ }
101
+ function quoteCommandPart(value) {
102
+ if (value.length === 0) {
103
+ return '""';
104
+ }
105
+ if (!needsQuoting(value)) {
106
+ return value;
107
+ }
108
+ return `"${value.replaceAll('"', '\\"')}"`;
109
+ }
110
+ function needsQuoting(value) {
111
+ return value.includes(" ") || value.includes("\t") || value.includes("\n");
112
+ }
113
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/services/update.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-code",
3
- "version": "3.0.398",
3
+ "version": "3.0.399",
4
4
  "description": "CLI tool to configure Poe API for developer workflows.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",