/** * @baizor/gamedev-cli-core — shared CLI core for the AI Game Dev engine CLIs (Unity/Unreal/Godot). * * The security- and correctness-critical modules the three CLIs consume as thin adapters over ONE * source of truth, so every engine derives identical pins, writes identical config bytes, and follows * the same auth model (auth-fixes design D1/D4/T7): * * b2 (auth core): * - project identity / pin (v1 + v2), gated by the SAME golden vectors as the C# LIB; * - the machine credential store (`~/.ai-game-dev/credentials.json`, DPAPI/0600, atomic writes); * - the OAuth 2.1 device-grant login (RFC 8628) + the proactive/reactive refresh loop. * * b3 (shared modules + engine-adapter contract): * - the **engine-adapter contract** (`EngineAdapter`) — the single typed seam carrying every * per-engine difference (serverName, project markers, stdio support, install-dir layout, login * project-sink, client id); ZERO engine-specifics live anywhere else; * - agent-config writers (JSON + TOML) — byte-for-byte parity with the C# `AgentConfig`, golden * gated — plus the engine-neutral agents registry; * - the setup-mcp policy (pinned URL default + `--no-pin` + `--token`-only credential; T4/M7/M8); * - the install-plugin resolution policy (`path? → --path? → cwd` + marker probe; T5/B1); * - enroll (writes the v2 pin, records the AS-root serverTarget — MED-2); * - server-download (SHA256SUMS fail-closed gate + dependency-free in-process unzip); * - project-marker, validation, ui/progress utilities. * * c1/c2 + DCR (desktop browser sign-in): * - `authCodeLogin` — RFC 8252 authorization-code + PKCE (S256) login over an ephemeral * `127.0.0.1` loopback listener; * - RFC 8414 discovery + RFC 7591 **dynamic client registration**, persisted per authorization * server — `/oauth/authorize` accepts ONLY a server-minted `client_id`, so a hardcoded one can * never resolve. The device grant keeps its static id on purpose (refresh-token families are * bound to the id used at issue time). */ /** The package version, mirrored from package.json (bumped by release.yml). */ export declare const version = "0.0.0"; export { parseSemver, isValidSemver } from "./semver.js"; export type { SemVer } from "./semver.js"; export { MIN_PORT, MAX_PORT, PORT_RANGE, PIN_LENGTH, toLowerInvariant, normalize, derivePin, derivePort, deriveProjectPathHash, deriveProjectIdentity, normalizeV2, derivePinV2, derivePortV2, deriveProjectPathHashV2, deriveProjectIdentityV2, } from "./project-identity.js"; export type { ProjectIdentity } from "./project-identity.js"; export { MachineCredentialStore, MachineCredentialStoreUnreadableError, MachineCredentialStoreUnwritableError, CODEC_ENCRYPT_FAILURE_REASON, DPAPI_POWERSHELL_HOST_ENV, powerShellHostCandidates, resetPowerShellHostCache, MACHINE_STORE_DIR_NAME, CREDENTIALS_FILE_NAME, CREDENTIALS_SCHEMA_VERSION, CREDENTIALS_SCHEMA_VERSION_V1, CREDENTIALS_SCHEMA_VERSION_V2, documentSchemaVersion, applyV1CompatMirror, adoptToV2, effectiveFamilies, identityCredentialCodec, dpapiCredentialCodec, defaultCredentialCodec, } from "./machine-credentials.js"; export type { MachineCredentials, MachineCredentialFamilies, MachineTokenFamily, MachineCredentialStoreState, CredentialCodec, } from "./machine-credentials.js"; export { MachineCredentialLock, CredentialLockBusyError, parseLockContent, classifyLockDocument, CREDENTIALS_LOCK_FILE_NAME, CREDENTIALS_LOCK_TAKEOVER_FILE_NAME, REFRESH_HTTP_TIMEOUT, LOCK_STALE_MS, ACQUIRE_BUDGET, FOREIGN_LOCK_STALE_MS, } from "./credential-lock.js"; export type { CredentialLockContent, MachineCredentialLockOptions, LockDocumentClass, } from "./credential-lock.js"; export { deviceLogin, HttpDeviceAuthTransport, decodeJwtSubject, deviceAuthorizationUrl, tokenUrl, OAUTH_DEVICE_AUTHORIZATION_PATH, OAUTH_TOKEN_PATH, DEVICE_CODE_GRANT_TYPE, DEFAULT_PLUGIN_SCOPE, MCP_AGENT_SCOPE, DEFAULT_POLL_INTERVAL_MS, SLOW_DOWN_INCREMENT_MS, } from "./oauth-device-flow.js"; export type { DeviceAuthorizeResponse, DeviceTokenResponse, DeviceAuthTransport, DeviceLoginOptions, DeviceLoginResult, HttpDeviceAuthTransportOptions, } from "./oauth-device-flow.js"; export { discoverAuthorizationServer, registerClient, resolveClientRegistration, ClientRegistrationStore, ClientRegistrationError, registrationStoreKey, registrationUrl, authorizationServerMetadataUrl, fallbackAuthorizationServerMetadata, OAUTH_AS_METADATA_PATH, OAUTH_REGISTRATION_PATH, CLIENT_REGISTRATIONS_FILE_NAME, CLIENT_REGISTRATIONS_SCHEMA_VERSION, DEFAULT_CLIENT_NAME, DEFAULT_TOKEN_ENDPOINT_AUTH_METHOD, DEFAULT_REGISTRATION_GRANT_TYPES, DEFAULT_REGISTRATION_RESPONSE_TYPES, DEFAULT_DCR_TIMEOUT_MS, } from "./oauth-dcr.js"; export type { AuthorizationServerMetadata, ClientRegistration, ClientRegistrationStoreLike, DiscoverAuthorizationServerOptions, DiscoveredAuthorizationServer, RegisterClientOptions, ResolveClientRegistrationOptions, ResolvedClientRegistration, } from "./oauth-dcr.js"; export { writeFileAtomicSync, tempSiblingPathFor, ensureOwnerOnlyDirectory, OWNER_ONLY_FILE_MODE, OWNER_ONLY_DIRECTORY_MODE, RENAME_RETRY_ATTEMPTS, RENAME_RETRY_DELAY_MS, } from "./atomic-file.js"; export { authCodeLogin, HttpAuthCodeTransport, createLoopbackListener, defaultBrowserOpener, buildAuthorizeUrl, authorizeUrl, generateCodeVerifier, deriveCodeChallenge, generateState, isLoopbackHost, LoopbackTimeoutError, OAUTH_AUTHORIZE_PATH, AUTHORIZATION_CODE_GRANT_TYPE, PKCE_CODE_CHALLENGE_METHOD, DEFAULT_LOOPBACK_HOST, DEFAULT_CALLBACK_PATH, DEFAULT_AUTHCODE_TIMEOUT_MS, } from "./oauth-authcode-flow.js"; export type { AuthCodeLoginOptions, AuthCodeLoginResult, AuthCodeTransport, AuthCodeTokenResponse, ExchangeCodeParams, HttpAuthCodeTransportOptions, LoopbackListener, LoopbackListenerFactory, LoopbackRedirect, BuildAuthorizeUrlParams, RandomBytesFn, } from "./oauth-authcode-flow.js"; export { HttpTokenRefresher, normalizeServerBase, buildRefreshForm, buildRefreshResult, } from "./token-refresher.js"; export type { TokenRefresher, TokenRefreshRequest, TokenRefreshResult, HttpTokenRefresherOptions, } from "./token-refresher.js"; export { MachineCredentialProvider, LoginRequiredError, DEFAULT_REFRESH_SKEW_MS, } from "./credential-provider.js"; export type { MachineCredentialProviderOptions, CredentialPlane, CredentialFamilyName, CredentialTelemetryEvent, } from "./credential-provider.js"; export { HttpTokenExchangeClient, buildTokenExchangeForm, buildTokenExchangeResult, TOKEN_EXCHANGE_GRANT_TYPE, TOKEN_TYPE_ACCESS_TOKEN, HUB_AUDIENCE, TOKEN_EXCHANGE_MAX_CLIENT_ID_LENGTH, } from "./token-exchange.js"; export type { TokenExchangeClient, TokenExchangeRequest, TokenExchangeResponse, TokenExchangeResult, HttpTokenExchangeClientOptions, } from "./token-exchange.js"; export { commitAgentLogin, derivePluginFamily, commitToolsOnlyLogin, signOutMachineWide, evaluateAccountSwitch, runAccountSwitchGuard, commitFamilyUnderHold, revokeTokenBestEffort, revocationUrl, OAUTH_REVOCATION_PATH, } from "./login-commit.js"; export type { CommitAgentLoginOptions, CommitAgentLoginResult, DerivePluginFamilyOptions, DerivePluginFamilyResult, CommitToolsOnlyLoginOptions, CommitToolsOnlyLoginResult, CommitAbortReason, SignOutMachineWideOptions, SignOutMachineWideResult, AccountSwitchDecision, AccountSwitchGuardOptions, AccountSwitchGuardOutcome, FamilyCommitParams, FamilyCommitOutcome, RevokeTokenFn, RevokeTokenOptions, } from "./login-commit.js"; export { JsonAiAgentConfig, TomlAiAgentConfig, RawTomlValue, ValueComparisonMode, nodeFs, bodyPathSegments, DEFAULT_MCP_SERVER_NAME, DEFAULT_DEPRECATED_MCP_SERVER_NAMES, DEFAULT_IDENTITY_KEYS, DEFAULT_BODY_PATH, BODY_PATH_DELIMITER, } from "./agent-config.js"; export type { JsonNode, TomlValue, AgentConfigOptions, AgentConfigFs } from "./agent-config.js"; export { ridForPlatform, serverExecutableName, defaultStdioArgs, toAuthServerRoot, getEngineAdapter, engineAdapters, unityAdapter, unrealAdapter, godotAdapter, SERVER_BINARY_BASENAME, SERVER_ARG_NAMES, } from "./engine-adapter.js"; export type { EngineAdapter, EngineId, ProjectMarkerSpec, StdioArgsParams } from "./engine-adapter.js"; export { agentRegistry, getAgentById, getAgentIds, REQUIRED_PROP_KEYS } from "./agents-registry.js"; export type { AgentDefinition, AgentProps, AgentPropValue } from "./agents-registry.js"; export { pinUrl, stripPinFromUrl } from "./routing.js"; export { readProjectMarker, writeProjectMarker, projectMarkerPath, projectMarkerDir, PROJECT_MARKER_FILE, } from "./project-marker.js"; export type { ProjectMarker } from "./project-marker.js"; export { requireProjectPath, requireExistingPath, resolveProjectPathLadder } from "./validation.js"; export type { ValidatedPath } from "./validation.js"; export { setupMcp, resolveSetupMcpPlan, writeSetupMcpPlan, DEFAULT_HOSTED_MCP_URL, PROJECT_ARG_NAME, } from "./setup-mcp.js"; export type { SetupMcpOptions, SetupMcpResult, SetupMcpPlan, SetupMcpPlanInput, McpTransport } from "./setup-mcp.js"; export { resolveInstallTarget, probeProjectMarkers } from "./install-plugin.js"; export type { ResolveInstallTargetOptions, ResolveInstallTargetResult, MarkerProbeResult } from "./install-plugin.js"; export { runEnroll, redeemEnrollmentCode, normalizeRedeemResponse, resolveEnrollCode, upsertProjectPinIntoConfigs, EnrollmentError, DEFAULT_CLOUD_BASE_URL, } from "./enroll.js"; export type { RedeemedCredential, RedeemOptions, RunEnrollOptions, RunEnrollResult, PinUpsertResult } from "./enroll.js"; export { downloadServer, findExtractedBinary, readVersionMarker } from "./server-download.js"; export type { DownloadServerOptions, DownloadServerResult } from "./server-download.js"; export { verifyZip, parseSha256Sums, lookupDigest, verifyDigest, checksumFailureReason, serverChecksumsUrl, serverDownloadUrl, serverZipAssetName, SERVER_RELEASE_REPO, SHA256SUMS_ASSET_NAME, } from "./server-checksum.js"; export type { ChecksumVerdict } from "./server-checksum.js"; export { parseZip } from "./unzip.js"; export type { ZipEntry } from "./unzip.js"; export { renderTable, truncate } from "./ui.js"; export { emitProgress } from "./progress.js"; export type { ProgressEvent, ProgressCallback } from "./progress.js"; //# sourceMappingURL=index.d.ts.map