/** Shared list command shell; each type supplies its own rows and document. */ import * as Effect from "effect/Effect"; import type * as Schema from "effect/Schema"; import { Command } from "effect/cli"; import type { InstallableExtensionType } from "@agentxm/extension-model/unstable/extensions/installable-types"; import { type ExtensionInventory } from "@agentxm/workspace-kernel/workspace-state"; import type { TypeListResult } from "@agentxm/workspace-features/inspection"; import { type ExpectedCliError } from "../../cli-runtime/index.js"; import { type ViewColumn } from "../../screen/index.js"; interface ListDefinition { readonly type: InstallableExtensionType; readonly query: (agents: ReadonlyArray) => Effect.Effect<{ readonly document: Schema.Schema.Type; readonly rows: ReadonlyArray; }, E, R>; readonly schema: S; readonly columns: ReadonlyArray>; readonly summary: (document: Schema.Schema.Type, rows: ReadonlyArray) => string; readonly agentFilter: boolean; } export declare const inventoryList: (type: InstallableExtensionType, list: (agents: ReadonlyArray) => Effect.Effect, E, R>) => { query: (agents: ReadonlyArray) => Effect.Effect<{ document: { readonly items: readonly { readonly name: string; readonly type: "hook" | "skill" | "subagent" | "mcp-server" | "rule" | "knowledge" | "pack"; readonly scope: "user" | "project"; readonly agentOutcomes: readonly { readonly name: string; readonly reason: string; readonly extensionType: "hook" | "skill" | "subagent" | "mcp-server" | "rule" | "knowledge" | "pack"; readonly agentId: string; readonly outcome: "blocked" | "failed" | "projected" | "current" | "not-applicable" | "unsupported"; readonly reasonCode: string; readonly path?: string | undefined; readonly mechanism?: string | undefined; readonly nativeUnitKeys?: readonly string[] | undefined; readonly hook?: { readonly implementationId: string; readonly protocol: string; readonly bindings: readonly { readonly id: string; readonly event: string; readonly runtime: string; readonly entrypoint: string; readonly requiredOutcomes: readonly string[]; readonly requiredOperations: readonly string[]; readonly matcher?: string; }[]; readonly conditions: readonly string[]; readonly configuration: { readonly status: "valid" | "invalid" | "not-evaluated"; readonly fields: readonly { readonly key: string; readonly source: "default" | "consumer" | "unset"; readonly value: string | number | boolean | null; readonly redacted: boolean; }[]; readonly issues: readonly { readonly key: string; readonly message: string; }[]; }; readonly runtimeAvailability: "unverified"; readonly nativeInvocation: "not-observed"; readonly fixtureEvidence: { readonly reason: string; readonly state: "absent" | "invalid" | "stale" | "historical"; readonly receipt?: { readonly kind: "fixture-execution"; readonly package: string; readonly version: string; readonly contentHash: string; readonly configurationHash: string; readonly startedAt: number; readonly completedAt: number; readonly cwd: "package-root"; readonly scope: "user" | "project"; readonly platform: { readonly os: string; readonly architecture: string; }; readonly environment: readonly string[]; readonly environmentFreshness: "historical-only"; readonly nativeInvocation: "not-observed"; readonly sandboxed: false; readonly fixtures: readonly { readonly fixture: string; readonly implementation: string; readonly binding: string; readonly protocol: string; readonly runtime: string; readonly runtimeVersion: string | null; readonly outcome: "failed" | "passed"; readonly expectedExitCode: number; readonly observedExitCode: number | null; readonly stdoutMatches: boolean | null; readonly stderrMatches: boolean | null; readonly detail: string; }[]; readonly passed: boolean; readonly receiptPath: string; }; }; }; }[]; readonly agents: readonly string[]; readonly enabled: boolean | null; readonly paths: readonly string[]; readonly classification: { readonly kind: "lifecycle"; readonly lifecycle: "unmanaged" | "configured" | "implicit" | "leftover" | "undeclared"; }; readonly installed: boolean; readonly origins: readonly string[]; readonly status?: string; readonly owner?: string; readonly version?: string; readonly source?: string; readonly nativeLocations?: readonly { readonly state: "unchanged" | "blocked" | "retained" | "created" | "updated" | "removed" | "absent" | "unverified"; readonly aliases: readonly string[]; readonly scope: "user" | "project"; readonly address: { readonly kind: "entry"; readonly path: string; } | { readonly kind: "key-path"; readonly path: string; readonly keys: readonly [string, ...string[]]; } | { readonly kind: "region"; readonly path: string; readonly region: string; } | { readonly kind: "file"; readonly path: string; }; readonly configuredConsumers: readonly string[]; readonly potentialReaders: readonly string[]; readonly policyReasons: readonly string[]; readonly ownership: "absent" | "unverified" | "owned" | "unowned"; readonly availability: readonly { readonly agentId: string; readonly state: "unavailable" | "unverified" | "verified"; readonly reason?: string | undefined; }[]; readonly reason?: string | undefined; readonly mechanism?: "symlink" | "copied-directory" | "structured-entry" | "managed-region" | "generated-file" | undefined; readonly proof?: string | undefined; }[]; readonly locked?: boolean; readonly transport?: string; readonly duplicateDiscoveries?: readonly { readonly agentId: string; readonly nativeUnitKeys: readonly string[]; }[]; readonly sourceType?: string; }[]; readonly count: number; readonly configuredCount: number; readonly implicitCount: number; readonly installedCount: number; readonly leftoverCount: number; readonly undeclaredCount: number; readonly unmanagedCount: number; readonly nativeLocationCounts?: { readonly units: number; readonly physicalLocations: number; readonly configuredConsumers: number; readonly unverifiedExtensions: number; }; }; rows: readonly Row[]; }, E, R>; schema: Schema.Struct<{ readonly items: Schema.$Array; readonly name: Schema.String; readonly agentId: Schema.String; readonly outcome: Schema.Literals; readonly reasonCode: Schema.String; readonly reason: Schema.String; readonly mechanism: Schema.optional; readonly path: Schema.optional; readonly nativeUnitKeys: Schema.optional>; readonly hook: Schema.optionalKey; readonly runtime: Schema.String; readonly entrypoint: Schema.String; readonly requiredOutcomes: Schema.$Array; readonly requiredOperations: Schema.$Array; }>>; readonly conditions: Schema.$Array; readonly configuration: Schema.Struct<{ readonly status: Schema.Literals; readonly fields: Schema.$Array; readonly value: Schema.NullOr>; readonly redacted: Schema.Boolean; }>>; readonly issues: Schema.$Array>; }>; readonly runtimeAvailability: Schema.Literal<"unverified">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly fixtureEvidence: Schema.Struct<{ readonly state: Schema.Literals; readonly receipt: Schema.optionalKey; readonly package: Schema.String; readonly version: Schema.String; readonly contentHash: Schema.String; readonly configurationHash: Schema.String; readonly startedAt: Schema.Number; readonly completedAt: Schema.Number; readonly cwd: Schema.Literal<"package-root">; readonly scope: Schema.Literals; readonly platform: Schema.Struct<{ readonly os: Schema.String; readonly architecture: Schema.String; }>; readonly environment: Schema.$Array; readonly environmentFreshness: Schema.Literal<"historical-only">; readonly nativeInvocation: Schema.Literal<"not-observed">; readonly sandboxed: Schema.Literal; readonly fixtures: Schema.$Array; readonly outcome: Schema.Literals; readonly expectedExitCode: Schema.Number; readonly observedExitCode: Schema.NullOr; readonly stdoutMatches: Schema.NullOr; readonly stderrMatches: Schema.NullOr; readonly detail: Schema.String; }>>; readonly passed: Schema.Boolean; readonly receiptPath: Schema.String; }>>; readonly reason: Schema.String; }>; }>>; }>>; readonly nativeLocations: Schema.optionalKey; readonly address: Schema.Union; readonly path: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"key-path">; readonly path: Schema.String; readonly keys: Schema.NonEmptyArray; }>, Schema.Struct<{ readonly kind: Schema.Literal<"region">; readonly path: Schema.String; readonly region: Schema.String; }>, Schema.Struct<{ readonly kind: Schema.Literal<"file">; readonly path: Schema.String; }>]>; readonly aliases: Schema.$Array; readonly configuredConsumers: Schema.$Array; readonly potentialReaders: Schema.$Array; readonly policyReasons: Schema.$Array; readonly ownership: Schema.Literals; readonly proof: Schema.optional; readonly state: Schema.Literals; readonly mechanism: Schema.optional>; readonly availability: Schema.$Array; readonly reason: Schema.optional; }>>; readonly reason: Schema.optional; }>>>; readonly duplicateDiscoveries: Schema.optionalKey; }>>>; readonly version: Schema.optionalKey; readonly owner: Schema.optionalKey; readonly transport: Schema.optionalKey; readonly status: Schema.optionalKey; readonly locked: Schema.optionalKey; readonly sourceType: Schema.optionalKey; readonly scope: Schema.Literals; readonly type: Schema.Literals; readonly name: Schema.String; readonly classification: Schema.Struct<{ readonly kind: Schema.Literal<"lifecycle">; readonly lifecycle: Schema.Literals; }>; readonly enabled: Schema.NullOr; readonly installed: Schema.Boolean; readonly agents: Schema.$Array; readonly origins: Schema.$Array; readonly paths: Schema.$Array; readonly source: Schema.optionalKey; }>>; readonly count: Schema.Number; readonly configuredCount: Schema.Number; readonly implicitCount: Schema.Number; readonly installedCount: Schema.Number; readonly leftoverCount: Schema.Number; readonly undeclaredCount: Schema.Number; readonly unmanagedCount: Schema.Number; readonly nativeLocationCounts: Schema.optionalKey>; }>; summary: (inventory: ExtensionInventory) => string; }; export declare const makePerTypeListCommand: (definition: ListDefinition) => { handler: (args?: { readonly agents: ReadonlyArray; } | undefined) => Effect.Effect, import("@agentxm/registry-client").OperationExtractionBudget>, import("@agentxm/registry-client").OperationBufferedArchiveBudget>, import("@agentxm/registry-client").OperationScratchBudget>, import("@agentxm/registry-client").RegistryRetryObservation>, import("@agentxm/workspace-kernel/operations").OperationLifecycle>, never>, import("effect/Scope").Scope> | S["EncodingServices"]>; command: Command.Command<"list", { readonly scope: "user" | "project"; readonly agent: readonly ("adal" | "fx" | "muse-code" | "mimo-code" | "coder-agents" | "aider-desk" | "amp" | "antigravity" | "antigravity-cli" | "augment" | "claude-code" | "cline" | "codearts-agent" | "codebuddy" | "codemaker" | "codestudio" | "codex" | "command-code" | "continue" | "cortex" | "crush" | "cursor" | "deepagents" | "devin" | "dexto" | "droid" | "firebender" | "forgecode" | "gemini-cli" | "github-copilot-cli" | "goose" | "grok-cli" | "hermes" | "ibm-bob" | "iflow-cli" | "junie" | "lingma" | "kilo" | "kimi-cli" | "kiro-cli" | "kode" | "mcpjam" | "minimax-code" | "mistral-vibe" | "mux" | "neovate" | "openclaw" | "opencode" | "openhands" | "ona" | "pi" | "vscode" | "pochi" | "qoder" | "qoder-cn" | "qwen-code" | "replit" | "roo" | "rovodev" | "tabnine-cli" | "trae-cn" | "trae" | "warp" | "windsurf" | "zencoder" | "zed" | "zenflow")[]; }, {}, import("../../app-error/app-error.ts").AppError | import("../../screen/streams.ts").OutputWriteFailed, import("effect/FileSystem").FileSystem | import("effect/Path").Path | "effect/cli/GlobalFlag/axm-non-interactive" | "effect/cli/GlobalFlag/axm-json" | "effect/cli/GlobalFlag/axm-quiet" | "effect/cli/GlobalFlag/axm-verbose" | "effect/cli/GlobalFlag/axm-debug" | import("../../telemetry/client.ts").TelemetryClient | import("@agentxm/registry-access/authentication").DeviceLoginInteraction | "effect/cli/GlobalFlag/axm-directory">; }; export {}; //# sourceMappingURL=list-command.d.ts.map