poe-code 2.0.6 → 2.0.8

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
@@ -51,6 +51,12 @@ npx poe-code@latest remove codex
51
51
 
52
52
  Removes the Codex settings previously applied by `npx poe-code@latest configure codex`.
53
53
 
54
+ ### Test Configuration
55
+
56
+ ```bash
57
+ npx poe-code@latest test codex
58
+ ```
59
+
54
60
  ### Spawn a coding agent
55
61
 
56
62
  ```bash
@@ -61,5 +67,4 @@ npx poe-code@latest spawn claude-code "Explain this error message"
61
67
  ### Optional Flags
62
68
 
63
69
  - `--dry-run` – show every mutation without touching disk.
64
- - `--verbose` – print shell commands as they run.
65
70
  - `--yes` – accept defaults for prompts.
@@ -4,7 +4,7 @@ import { createServiceRegistry, type ProviderService } from "./service-registry.
4
4
  import { type CommandContextFactory } from "./context.js";
5
5
  import { createPromptLibrary } from "./prompts.js";
6
6
  import { type OptionResolvers } from "./options.js";
7
- import { type LoggerFactory, type ScopedLogger } from "./logger.js";
7
+ import { type LoggerFactory } from "./logger.js";
8
8
  import { ErrorLogger } from "./error-logger.js";
9
9
  import type { PromptFn, LoggerFn } from "./types.js";
10
10
  import type { HttpClient } from "./http.js";
@@ -36,7 +36,6 @@ export interface CliContainer {
36
36
  readonly registry: ReturnType<typeof createServiceRegistry>;
37
37
  readonly httpClient: HttpClient;
38
38
  readonly commandRunner: CommandRunner;
39
- readonly telemetryLogger: ScopedLogger;
40
39
  readonly providers: ProviderService[];
41
40
  readonly dependencies: CliDependencies;
42
41
  }
@@ -7,7 +7,6 @@ import { createPromptLibrary } from "./prompts.js";
7
7
  import { createOptionResolvers } from "./options.js";
8
8
  import { createLoggerFactory } from "./logger.js";
9
9
  import { ErrorLogger } from "./error-logger.js";
10
- import { createTelemetryClient } from "./telemetry.js";
11
10
  import { createDefaultCommandRunner } from "./command-runner.js";
12
11
  import { getDefaultProviders } from "../providers/index.js";
13
12
  export function createCliContainer(dependencies) {
@@ -55,13 +54,7 @@ export function createCliContainer(dependencies) {
55
54
  })
56
55
  }
57
56
  });
58
- const telemetryLogger = loggerFactory.create({
59
- scope: "telemetry",
60
- verbose: true
61
- });
62
- const registry = createServiceRegistry({
63
- telemetry: createTelemetryClient(telemetryLogger)
64
- });
57
+ const registry = createServiceRegistry();
65
58
  const providers = getDefaultProviders().filter((adapter) => !adapter.disabled);
66
59
  for (const adapter of providers) {
67
60
  registry.register(adapter);
@@ -78,7 +71,6 @@ export function createCliContainer(dependencies) {
78
71
  registry,
79
72
  httpClient,
80
73
  commandRunner,
81
- telemetryLogger,
82
74
  providers,
83
75
  dependencies
84
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/cli/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/cli/container.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { CliEnvironment } from "./environment.js";
2
2
  import type { CommandContext } from "./context.js";
3
3
  import type { ScopedLogger } from "./logger.js";
4
- import type { ProviderOperation, TelemetryClient } from "./telemetry.js";
5
4
  import type { FileSystem } from "../utils/file-system.js";
6
5
  import type { CommandCheck } from "../utils/command-checks.js";
7
6
  import type { ModelPromptInput, ReasoningPromptInput } from "./prompts.js";
@@ -50,6 +49,7 @@ export interface ProviderService<TPaths extends Record<string, unknown> = Record
50
49
  test?(context: ProviderContext<TPaths>): Promise<void>;
51
50
  resolveVersion?(context: ProviderContext<TPaths>): Promise<ProviderVersionResolution<TPaths, TConfigure, TRemove, TSpawn>>;
52
51
  }
52
+ export type ProviderOperation = "install" | "configure" | "remove" | "spawn" | "test";
53
53
  export interface ServiceRegistry {
54
54
  register(adapter: ProviderService): void;
55
55
  discover(adapters: ProviderService[]): void;
@@ -58,7 +58,4 @@ export interface ServiceRegistry {
58
58
  list(): ProviderService[];
59
59
  invoke<T>(serviceName: string, operation: ProviderOperation, runner: (adapter: ProviderService) => Promise<T>): Promise<T>;
60
60
  }
61
- export interface ServiceRegistryInit {
62
- telemetry?: TelemetryClient;
63
- }
64
- export declare function createServiceRegistry(init?: ServiceRegistryInit): ServiceRegistry;
61
+ export declare function createServiceRegistry(): ServiceRegistry;
@@ -1,4 +1,4 @@
1
- export function createServiceRegistry(init = {}) {
1
+ export function createServiceRegistry() {
2
2
  const adapters = new Map();
3
3
  const register = (adapter) => {
4
4
  if (adapters.has(adapter.name)) {
@@ -25,9 +25,6 @@ export function createServiceRegistry(init = {}) {
25
25
  const list = () => Array.from(adapters.values());
26
26
  const invoke = async (serviceName, operation, runner) => {
27
27
  const adapter = require(serviceName);
28
- if (init.telemetry) {
29
- return await init.telemetry.wrap(serviceName, operation, () => runner(adapter));
30
- }
31
28
  return await runner(adapter);
32
29
  };
33
30
  return { register, discover, get, require, list, invoke };
@@ -1 +1 @@
1
- {"version":3,"file":"service-registry.js","sourceRoot":"","sources":["../../src/cli/service-registry.ts"],"names":[],"mappings":"AAuGA,MAAM,UAAU,qBAAqB,CACnC,OAA4B,EAAE;IAE9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,MAAM,QAAQ,GAAG,CAAC,OAAwB,EAAQ,EAAE;QAClD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,UAA6B,EAAQ,EAAE;QACvD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,IAAY,EAA+B,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,CAAC,IAAY,EAAmB,EAAE;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,GAAsB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,KAAK,EAClB,WAAmB,EACnB,SAA4B,EAC5B,MAAgD,EACpC,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,CAC5D,MAAM,CAAC,OAAO,CAAC,CAChB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"service-registry.js","sourceRoot":"","sources":["../../src/cli/service-registry.ts"],"names":[],"mappings":"AAyGA,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,MAAM,QAAQ,GAAG,CAAC,OAAwB,EAAQ,EAAE;QAClD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACvE,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,UAA6B,EAAQ,EAAE;QACvD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,CAAC,IAAY,EAA+B,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,CAAC,IAAY,EAAmB,EAAE;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,GAAsB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpE,MAAM,MAAM,GAAG,KAAK,EAClB,WAAmB,EACnB,SAA4B,EAC5B,MAAgD,EACpC,EAAE;QACd,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-code",
3
- "version": "2.0.6",
3
+ "version": "2.0.8",
4
4
  "description": "CLI tool to configure Poe API for developer workflows.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,15 +0,0 @@
1
- import type { ScopedLogger } from "./logger.js";
2
- export type ProviderOperation = "install" | "configure" | "remove" | "spawn" | "test";
3
- export type TelemetryStatus = "success" | "failure";
4
- export interface TelemetryEvent {
5
- service: string;
6
- operation: ProviderOperation;
7
- status: TelemetryStatus;
8
- durationMs: number;
9
- error?: unknown;
10
- }
11
- export interface TelemetryClient {
12
- record(event: TelemetryEvent): void;
13
- wrap<T>(service: string, operation: ProviderOperation, task: () => Promise<T>): Promise<T>;
14
- }
15
- export declare function createTelemetryClient(logger: ScopedLogger): TelemetryClient;
@@ -1,45 +0,0 @@
1
- export function createTelemetryClient(logger) {
2
- const record = (event) => {
3
- const prefix = `${event.operation}:${event.service}`;
4
- const suffix = event.status === "success"
5
- ? `completed in ${event.durationMs.toFixed(0)}ms`
6
- : `failed in ${event.durationMs.toFixed(0)}ms`;
7
- const message = `${prefix} ${suffix}`;
8
- if (event.status === "success") {
9
- logger.verbose(message);
10
- }
11
- else {
12
- logger.error(message);
13
- if (event.error) {
14
- logger.error(event.error instanceof Error
15
- ? event.error.message
16
- : String(event.error));
17
- }
18
- }
19
- };
20
- const wrap = async (service, operation, task) => {
21
- const start = Date.now();
22
- try {
23
- const result = await task();
24
- record({
25
- service,
26
- operation,
27
- status: "success",
28
- durationMs: Date.now() - start
29
- });
30
- return result;
31
- }
32
- catch (error) {
33
- record({
34
- service,
35
- operation,
36
- status: "failure",
37
- durationMs: Date.now() - start,
38
- error
39
- });
40
- throw error;
41
- }
42
- };
43
- return { record, wrap };
44
- }
45
- //# sourceMappingURL=telemetry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"AA4BA,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACxD,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC7C,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACrD,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,KAAK,SAAS;YACxB,CAAC,CAAC,gBAAgB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACjD,CAAC,CAAC,aAAa,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CACV,KAAK,CAAC,KAAK,YAAY,KAAK;oBAC1B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;oBACrB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CACxB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,KAAK,EAChB,OAAe,EACf,SAA4B,EAC5B,IAAsB,EACV,EAAE;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;YAC5B,MAAM,CAAC;gBACL,OAAO;gBACP,SAAS;gBACT,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;aAC/B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC;gBACL,OAAO;gBACP,SAAS;gBACT,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC9B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}