@theholocron/cli 5.0.0-alpha.27 → 5.0.0-alpha.28

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/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Analytics, Auth, AuthDescription, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConnectionStringOptions, CreateAuthUserInput, DeployFunctionConfig, DeployFunctionResult, DeployScriptConfig, DeployScriptResult, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, EnsureResult, Environment, EnvironmentReviewer, Environments, Errors, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, Logs, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, PullRequest, REQUIRED_CAPABILITIES, RepoRef, RepoSettings, ResolvedCapability, Ruleset, SecretScope, Secrets, Source, StatusCategory, Storage, StorageBranch, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiDnsRecord, WikiProvisionOpts, WikiProxyConfig, Workers, isMulti } from "./plugin/capabilities.mjs";
1
+ import { Analytics, Auth, AuthDescription, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConnectionStringOptions, CreateAuthUserInput, DeployFunctionConfig, DeployFunctionResult, DeployScriptConfig, DeployScriptResult, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordRequest, DnsRecordType, EnsureResult, Environment, EnvironmentReviewer, Environments, Errors, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, Logs, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, PullRequest, REQUIRED_CAPABILITIES, RepoRef, RepoSettings, ResolvedCapability, Ruleset, SecretScope, Secrets, Source, StatusCategory, Storage, StorageBranch, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiProvisionOpts, WikiProxyConfig, Workers, isMulti } from "./plugin/capabilities.mjs";
2
2
  import { AuthError, RequestOptions, ResolveTokenConfig as ResolveTokenConfig$1, ResolveTokenInput, RestClient, RestClientConfig, createRestClient } from "@theholocron/http-client";
3
3
  import { ConfigFileError } from "@theholocron/datapad";
4
4
  import { WorkspacePackage } from "@theholocron/astromech";
@@ -694,4 +694,4 @@ interface LoadedConfig {
694
694
  */
695
695
  declare function loadConfig(cwd: string): Promise<LoadedConfig>;
696
696
  //#endregion
697
- export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, Capability, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ComposedPreset, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, DeployFunctionConfig, DeployFunctionResult, DeployScriptConfig, DeployScriptResult, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, DeriveProfileInput, Dns, DnsRecord, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, Environment, EnvironmentReviewer, Environments, Errors, FeatureResolverConfig, HolocronConfig, HolocronProfile, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, LogConfig, Logs, MultiEntry, NormalizedAuthUser, Notifications, PackageJsonLike, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, PullRequest, REQUIRED_CAPABILITIES, RawProviderEntry, RawProvidersConfig, RepoConfig, RepoProperties, RepoProtection, RepoRef, RepoSettings, type RequestOptions, ResolveTokenConfig, type ResolveTokenInput, ResolvedCapability, ResolvedHolocronConfig, ResolvedProviderEntry, ResolvedProvidersConfig, ResolvedTuple, type RestClient, type RestClientConfig, Ruleset, SecretScope, Secrets, SingleEntry, Source, StatusCategory, Storage, StorageBranch, StorybookDeployProject, TaskEntryConfig, TeamEntry, TeamPermission, TelemetryConfig, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiDnsRecord, WikiProvisionOpts, WikiProxyConfig, Workers, WorkflowWithConfig, compose, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, deriveCapabilities, deriveCompliance, deriveProfile, deriveStack, getToken, isMulti, listStoredProviders, loadConfig, missingCapabilities, readWorkspacePackageJsons, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
697
+ export { Analytics, AppConfig, Auth, AuthDescription, AuthError, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, Capability, CapabilityConfigPackage, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, ChromaticProjectConfig, Ci, CiRun, CiRunFilter, CiRunStatus, ComposedPreset, ConfigError, ConfigFileError, ConnectionStringOptions, CreateAuthUserInput, DeployFunctionConfig, DeployFunctionResult, DeployScriptConfig, DeployScriptResult, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, DeriveProfileInput, Dns, DnsRecord, DnsRecordRequest, DnsRecordType, DocsConfig, DoctorConfig, EnsureResult, EnvConfig, Environment, EnvironmentReviewer, Environments, Errors, FeatureResolverConfig, HolocronConfig, HolocronProfile, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, LoadedConfig, LogConfig, Logs, MultiEntry, NormalizedAuthUser, Notifications, PackageJsonLike, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, ProviderOptions, PullRequest, REQUIRED_CAPABILITIES, RawProviderEntry, RawProvidersConfig, RepoConfig, RepoProperties, RepoProtection, RepoRef, RepoSettings, type RequestOptions, ResolveTokenConfig, type ResolveTokenInput, ResolvedCapability, ResolvedHolocronConfig, ResolvedProviderEntry, ResolvedProvidersConfig, ResolvedTuple, type RestClient, type RestClientConfig, Ruleset, SecretScope, Secrets, SingleEntry, Source, StatusCategory, Storage, StorageBranch, StorybookDeployProject, TaskEntryConfig, TeamEntry, TeamPermission, TelemetryConfig, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiProvisionOpts, WikiProxyConfig, Workers, WorkflowWithConfig, compose, createFeatureResolver, createResolveToken, createRestClient, defineConfig, deleteToken, deriveCapabilities, deriveCompliance, deriveProfile, deriveStack, getToken, isMulti, listStoredProviders, loadConfig, missingCapabilities, readWorkspacePackageJsons, resolveConfig, resolveEntry, resolvePluginPackage, setToken };
@@ -385,6 +385,12 @@ interface DeployFunctionResult {
385
385
  }
386
386
  interface Deployment extends ProviderIdentity {
387
387
  readonly key: "deployment";
388
+ /**
389
+ * Custom domain declared in the deployment provider's configuration.
390
+ * `holocron setup` attaches it to the configured project and hands any
391
+ * returned verification record to the `dns` capability.
392
+ */
393
+ readonly domain?: string;
388
394
  listProjects(): Promise<DeploymentProject[]>;
389
395
  /** Create if missing, otherwise return existing. Idempotent. */
390
396
  ensureProject(input: {
@@ -430,10 +436,18 @@ interface Deployment extends ProviderIdentity {
430
436
  deletePreviewDeployments?(projectId: string, deploymentIds: string[]): Promise<number>;
431
437
  /**
432
438
  * Add a custom domain (or wildcard) to the project. Idempotent — no-op
433
- * when the domain is already present. Optional: providers without a custom
434
- * domain API omit this (e.g. Vercel manages domains separately).
439
+ * when the domain is already present. Optional: providers without a
440
+ * custom domain API omit this.
441
+ *
442
+ * Returns the DNS record needed to finish verification — `null` when
443
+ * the domain is already verified, or when the provider's API doesn't
444
+ * surface DNS-challenge details at all (e.g. Cloudflare Pages, whose
445
+ * custom-domain flow doesn't expose the same per-request verification
446
+ * handshake Vercel's does). Callers hand a non-null result straight
447
+ * to `dns.upsertRecord(result.zone, result.record)` — the exact
448
+ * pattern `setup` already uses for `Wiki.dnsRecord()`.
435
449
  */
436
- ensureCustomDomain?(projectId: string, hostname: string): Promise<void>;
450
+ ensureCustomDomain?(projectId: string, hostname: string): Promise<DnsRecordRequest | null>;
437
451
  }
438
452
  interface StorageBranch {
439
453
  id: string;
@@ -601,6 +615,17 @@ interface DnsRecord {
601
615
  priority?: number;
602
616
  proxied?: boolean;
603
617
  }
618
+ /**
619
+ * A DNS record a capability wants created, plus which zone it belongs
620
+ * to — the shape `Wiki.dnsRecord()` and `Deployment.ensureCustomDomain()`
621
+ * both hand off to `Dns.upsertRecord()`. Not tied to either capability;
622
+ * any provider that needs "here's a record, go create it" returns this.
623
+ */
624
+ interface DnsRecordRequest {
625
+ /** Zone apex passed as the first argument to `dns.upsertRecord`. */
626
+ zone: string;
627
+ record: DnsRecord;
628
+ }
604
629
  interface Dns extends ProviderIdentity {
605
630
  readonly key: "dns";
606
631
  listRecords(domain: string): Promise<DnsRecord[]>;
@@ -679,18 +704,6 @@ interface WikiProvisionOpts {
679
704
  /** Project display name used in the wiki title (e.g. "Holocron"). */
680
705
  name?: string;
681
706
  }
682
- /**
683
- * DNS record that `setup` should create for a wiki custom domain.
684
- * Returned by `Wiki.dnsRecord()` when a custom domain is configured.
685
- */
686
- interface WikiDnsRecord {
687
- /** Zone apex passed as the first argument to `dns.upsertRecord`. */
688
- zone: string;
689
- /** Full hostname for the CNAME (e.g. "wiki.theholocron.dev"). */
690
- cname: string;
691
- /** CNAME target (e.g. "holocron.docs.buildwithfern.com"). */
692
- target: string;
693
- }
694
707
  /**
695
708
  * Reverse-proxy configuration returned by `Wiki.proxyConfig()`.
696
709
  * Used by `setup` to deploy a Worker that forwards traffic to the wiki
@@ -719,7 +732,7 @@ interface Wiki extends ProviderIdentity {
719
732
  * Returns null when no custom domain is set.
720
733
  * Called by `setup` to provision the CNAME via the `dns` capability.
721
734
  */
722
- dnsRecord?(): WikiDnsRecord | null;
735
+ dnsRecord?(): DnsRecordRequest | null;
723
736
  /**
724
737
  * Reverse-proxy config when the wiki provider requires a Worker-level
725
738
  * proxy in addition to the CNAME. Returns null when no proxy is needed.
@@ -791,4 +804,4 @@ type CardinalityFor<K extends CapabilityKey> = (typeof CARDINALITY)[K];
791
804
  type ResolvedCapability<K extends CapabilityKey> = CardinalityFor<K> extends "many" ? CapabilityImpls[K][] : CapabilityImpls[K];
792
805
  declare function isMulti<K extends CapabilityKey>(key: K): CardinalityFor<K> extends "many" ? true : false;
793
806
  //#endregion
794
- export { Analytics, Auth, AuthDescription, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConnectionStringOptions, CreateAuthUserInput, DeployFunctionConfig, DeployFunctionResult, DeployScriptConfig, DeployScriptResult, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordType, EnsureResult, Environment, EnvironmentReviewer, Environments, Errors, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, Logs, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, PullRequest, REQUIRED_CAPABILITIES, RepoRef, RepoSettings, ResolvedCapability, Ruleset, SecretScope, Secrets, Source, StatusCategory, Storage, StorageBranch, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiDnsRecord, WikiProvisionOpts, WikiProxyConfig, Workers, isMulti };
807
+ export { Analytics, Auth, AuthDescription, AuthEvent, AuthEventType, AuthIdentity, AuthUser, CARDINALITY, CapabilityImpls, CapabilityKey, Cardinality, CardinalityFor, Ci, CiRun, CiRunFilter, CiRunStatus, ConnectionStringOptions, CreateAuthUserInput, DeployFunctionConfig, DeployFunctionResult, DeployScriptConfig, DeployScriptResult, Deployment, DeploymentProject, DeploymentProjectSettings, DeploymentRecord, DeploymentTarget, DeploymentTrigger, Dns, DnsRecord, DnsRecordRequest, DnsRecordType, EnsureResult, Environment, EnvironmentReviewer, Environments, Errors, Issue, IssueSearchFilter, Issues, LabelDef, LifecycleResult, LifecycleSlot, Logs, NormalizedAuthUser, Notifications, PagesConfig, ParseWebhookInput, ProviderApiError, ProviderIdentity, PullRequest, REQUIRED_CAPABILITIES, RepoRef, RepoSettings, ResolvedCapability, Ruleset, SecretScope, Secrets, Source, StatusCategory, Storage, StorageBranch, TeamEntry, TeamPermission, Tooling, ToolingDoctorReport, TrackerDoctorReport, TrackerUser, Vault, WebhookDashboardInfo, WebhookVerificationError, Wiki, WikiProvisionOpts, WikiProxyConfig, Workers, isMulti };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theholocron/cli",
3
- "version": "5.0.0-alpha.27",
3
+ "version": "5.0.0-alpha.28",
4
4
  "description": "The Holocron CLI - a pluggable, capability-based orchestrator for spinning up and operating software projects.",
5
5
  "keywords": [
6
6
  "cli",
@@ -57,8 +57,8 @@
57
57
  "pino-pretty": "^13.1.3",
58
58
  "posthog-node": "^5.51.6",
59
59
  "yargs": "^18.1.0",
60
- "@theholocron/astromech": "5.0.0-alpha.27",
61
- "@theholocron/datapad": "5.0.0-alpha.27"
60
+ "@theholocron/astromech": "5.0.0-alpha.28",
61
+ "@theholocron/datapad": "5.0.0-alpha.28"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@theholocron/eslint-config": "^8.0.0",
@@ -75,7 +75,7 @@
75
75
  "tsx": "4.23.12",
76
76
  "typescript": "^5.9.3",
77
77
  "vitest": "^4.1.11",
78
- "@theholocron/rollup-plugin-transform-template": "5.0.0-alpha.27"
78
+ "@theholocron/rollup-plugin-transform-template": "5.0.0-alpha.28"
79
79
  },
80
80
  "engines": {
81
81
  "node": ">=22.0.0"