@mdfriday/foundry 26.4.12 → 26.4.13

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.
Files changed (42) hide show
  1. package/dist/cli.js +1 -1
  2. package/dist/index.d.ts +8 -1
  3. package/dist/index.js +2 -2
  4. package/dist/internal/interfaces/obsidian/adapters/identity-adapter.d.ts +5 -0
  5. package/dist/internal/interfaces/obsidian/adapters/index.d.ts +2 -0
  6. package/dist/internal/interfaces/obsidian/adapters/workspace-adapter.d.ts +8 -0
  7. package/dist/internal/interfaces/obsidian/desktop/adapters/identity-adapter.d.ts +6 -0
  8. package/dist/internal/interfaces/obsidian/desktop/adapters/index.d.ts +2 -0
  9. package/dist/internal/interfaces/obsidian/desktop/adapters/workspace-adapter.d.ts +12 -0
  10. package/dist/internal/interfaces/obsidian/{container.d.ts → desktop/container.d.ts} +2 -3
  11. package/dist/internal/interfaces/obsidian/desktop/index.d.ts +22 -0
  12. package/dist/internal/interfaces/obsidian/index.d.ts +2 -12
  13. package/dist/internal/interfaces/obsidian/mobile/adapters/identity-adapter.d.ts +9 -0
  14. package/dist/internal/interfaces/obsidian/mobile/adapters/index.d.ts +2 -0
  15. package/dist/internal/interfaces/obsidian/mobile/adapters/workspace-adapter.d.ts +13 -0
  16. package/dist/internal/interfaces/obsidian/{mobile-container.d.ts → mobile/container.d.ts} +1 -1
  17. package/dist/internal/interfaces/obsidian/mobile/index.d.ts +16 -0
  18. package/dist/internal/interfaces/obsidian/mobile.d.ts +2 -10
  19. package/dist/internal/interfaces/obsidian/services/auth.service.d.ts +11 -0
  20. package/dist/internal/interfaces/obsidian/services/build.service.d.ts +8 -0
  21. package/dist/internal/interfaces/obsidian/{config.d.ts → services/config.service.d.ts} +6 -24
  22. package/dist/internal/interfaces/obsidian/services/domain.service.d.ts +15 -0
  23. package/dist/internal/interfaces/obsidian/services/license.service.d.ts +22 -0
  24. package/dist/internal/interfaces/obsidian/services/project.service.d.ts +17 -0
  25. package/dist/internal/interfaces/obsidian/services/publish.service.d.ts +11 -0
  26. package/dist/internal/interfaces/obsidian/services/serve.service.d.ts +17 -0
  27. package/dist/internal/interfaces/obsidian/services/workspace.service.d.ts +9 -0
  28. package/dist/internal/interfaces/obsidian/types/auth.d.ts +27 -0
  29. package/dist/internal/interfaces/obsidian/{build.d.ts → types/build.d.ts} +0 -8
  30. package/dist/internal/interfaces/obsidian/types/config.d.ts +16 -0
  31. package/dist/internal/interfaces/obsidian/{domain.d.ts → types/domain.d.ts} +0 -13
  32. package/dist/internal/interfaces/obsidian/types/index.d.ts +9 -0
  33. package/dist/internal/interfaces/obsidian/{license.d.ts → types/license.d.ts} +0 -23
  34. package/dist/internal/interfaces/obsidian/{project.d.ts → types/project.d.ts} +0 -17
  35. package/dist/internal/interfaces/obsidian/{publish.d.ts → types/publish.d.ts} +0 -11
  36. package/dist/internal/interfaces/obsidian/{serve.d.ts → types/serve.d.ts} +1 -19
  37. package/dist/internal/interfaces/obsidian/types/workspace.d.ts +27 -0
  38. package/dist/obsidian/mobile.js +2 -5827
  39. package/package.json +1 -1
  40. package/dist/internal/interfaces/obsidian/auth.d.ts +0 -39
  41. package/dist/internal/interfaces/obsidian/workspace.d.ts +0 -41
  42. /package/dist/internal/interfaces/obsidian/{mobile-config-types.d.ts → mobile/config-types.d.ts} +0 -0
@@ -0,0 +1,5 @@
1
+ import { HttpClient } from '@internal/domain/identity';
2
+ import { IdentityAppService } from '@internal/application/identity';
3
+ export interface IdentityAdapter {
4
+ getIdentityService(workspacePath: string, httpClient: HttpClient): Promise<IdentityAppService>;
5
+ }
@@ -0,0 +1,2 @@
1
+ export type { IdentityAdapter } from './identity-adapter';
2
+ export type { WorkspaceAdapter } from './workspace-adapter';
@@ -0,0 +1,8 @@
1
+ import { WorkspaceAppService } from '@internal/application/workspace';
2
+ import { WorkspaceFactory } from '@internal/domain/workspace';
3
+ import { FileSystemRepository } from '@internal/domain/workspace/repository';
4
+ export interface WorkspaceAdapter {
5
+ getWorkspaceAppService(): WorkspaceAppService;
6
+ getWorkspaceFactory(): WorkspaceFactory;
7
+ getFileSystemRepository(): FileSystemRepository;
8
+ }
@@ -0,0 +1,6 @@
1
+ import { HttpClient } from '@internal/domain/identity';
2
+ import { IdentityAppService } from '@internal/application/identity';
3
+ import type { IdentityAdapter } from '../../adapters';
4
+ export declare class DesktopIdentityAdapter implements IdentityAdapter {
5
+ getIdentityService(workspacePath: string, httpClient: HttpClient): Promise<IdentityAppService>;
6
+ }
@@ -0,0 +1,2 @@
1
+ export { DesktopIdentityAdapter } from './identity-adapter';
2
+ export { DesktopWorkspaceAdapter } from './workspace-adapter';
@@ -0,0 +1,12 @@
1
+ import { WorkspaceAppService } from '@internal/application/workspace';
2
+ import { WorkspaceFactory } from '@internal/domain/workspace';
3
+ import { FileSystemRepository } from '@internal/domain/workspace/repository';
4
+ import type { WorkspaceAdapter } from '../../adapters';
5
+ export declare class DesktopWorkspaceAdapter implements WorkspaceAdapter {
6
+ private workspaceAppService?;
7
+ private workspaceFactory?;
8
+ private fileSystemRepo?;
9
+ getWorkspaceAppService(): WorkspaceAppService;
10
+ getWorkspaceFactory(): WorkspaceFactory;
11
+ getFileSystemRepository(): FileSystemRepository;
12
+ }
@@ -1,8 +1,7 @@
1
- import type { ObsidianEnvironmentConfig } from './config-types';
2
1
  import { HttpClient } from '@internal/domain/identity';
3
2
  import { IdentityAppService } from '@internal/application';
4
3
  import { WorkspaceAppService } from '@internal/application/workspace';
5
4
  export { createWorkspaceFactory, createWorkspaceAppService, createIdentityService, createPublishAppService, } from '@internal/application/container';
6
- export declare function createObsidianWorkspaceAppService(config?: ObsidianEnvironmentConfig): WorkspaceAppService;
7
- export declare function createObsidianIdentityService(workspacePath: string, httpClient: HttpClient, config?: ObsidianEnvironmentConfig): Promise<IdentityAppService>;
5
+ export declare function createObsidianWorkspaceAppService(): WorkspaceAppService;
6
+ export declare function createObsidianIdentityService(workspacePath: string, httpClient: HttpClient): Promise<IdentityAppService>;
8
7
  export declare function getIdentityService(workspacePath: string, httpClient: HttpClient): Promise<IdentityAppService>;
@@ -0,0 +1,22 @@
1
+ import { HttpClient } from '@internal/domain/identity';
2
+ import { HttpClient as PublishHttpClient } from '@internal/domain/publish/repository/http-client';
3
+ import { ObsidianAuthService } from '../services/auth.service';
4
+ import { ObsidianLicenseService } from '../services/license.service';
5
+ import { ObsidianWorkspaceService } from '../services/workspace.service';
6
+ import { ObsidianGlobalConfigService, ObsidianProjectConfigService } from '../services/config.service';
7
+ import { ObsidianProjectService } from '../services/project.service';
8
+ import { ObsidianBuildService } from '../services/build.service';
9
+ import { ObsidianServeService } from '../services/serve.service';
10
+ import { ObsidianPublishService } from '../services/publish.service';
11
+ import { ObsidianDomainService } from '../services/domain.service';
12
+ export declare function createObsidianWorkspaceService(): ObsidianWorkspaceService;
13
+ export declare function createObsidianAuthService(httpClient: HttpClient): ObsidianAuthService;
14
+ export declare function createObsidianLicenseService(httpClient: HttpClient): ObsidianLicenseService;
15
+ export declare function createObsidianGlobalConfigService(): ObsidianGlobalConfigService;
16
+ export declare function createObsidianProjectConfigService(): ObsidianProjectConfigService;
17
+ export declare function createObsidianProjectService(): ObsidianProjectService;
18
+ export declare function createObsidianBuildService(): ObsidianBuildService;
19
+ export declare function createObsidianServeService(httpClient?: PublishHttpClient): ObsidianServeService;
20
+ export declare function createObsidianPublishService(httpClient: PublishHttpClient): ObsidianPublishService;
21
+ export declare function createObsidianDomainService(httpClient: HttpClient): ObsidianDomainService;
22
+ export { createWorkspaceFactory, createWorkspaceAppService, createIdentityService, createPublishAppService, createObsidianWorkspaceAppService, createObsidianIdentityService, getIdentityService, } from './container';
@@ -1,18 +1,8 @@
1
+ export * from './types';
1
2
  export type { ObsidianEnvironmentConfig, ObsidianFullPersistenceConfig, ObsidianBasicPersistenceConfig, } from './config-types';
2
3
  export { isFullPersistenceConfig } from './config-types';
3
4
  export type { WorkspaceRepository, ProjectRepository, SnapshotRepository, FileSystemRepository, WorkspaceMetadataData, ProjectMetadataData, FolderStructure, FolderScanResult, ContentFolderInfo, StaticFolderInfo, SymlinkResult, } from '@internal/domain/workspace/repository';
4
- export type { ProjectRegistry, ProjectEntry, BuildHistoryEntry, } from '@internal/domain/workspace/type';
5
- export type { SnapshotMetadata } from '@internal/domain/workspace/type';
6
- export { ObsidianWorkspaceService, createObsidianWorkspaceService, ObsidianWorkspaceInitOptions, ObsidianWorkspaceInfo, ObsidianWorkspaceResult, } from './workspace';
7
- export { ObsidianProjectService, createObsidianProjectService, ObsidianProjectCreateOptions, ObsidianProjectInfo, ObsidianProjectResult, } from './project';
8
- export { ObsidianBuildService, createObsidianBuildService, ObsidianBuildOptions, ObsidianBuildResult, } from './build';
9
- export { ObsidianGlobalConfigService, ObsidianProjectConfigService, createObsidianGlobalConfigService, createObsidianProjectConfigService, ObsidianConfigResult, ConfigGetResult, ConfigListResult, } from './config';
10
- export { ObsidianPublishService, createObsidianPublishService, ObsidianPublishMethod, ObsidianPublishOptions, ObsidianPublishProgress, ObsidianPublishResult, ObsidianTestConnectionResult, } from './publish';
11
- export { ObsidianServeService, createObsidianServeService, ObsidianServeOptions, ObsidianServeResult, ObsidianServeProgress, } from './serve';
12
- export { ObsidianLicenseService, createObsidianLicenseService, ObsidianLicenseInfo, ObsidianLicenseUsage, ObsidianLicenseResult, } from './license';
13
- export { ObsidianAuthService, createObsidianAuthService, ObsidianAuthStatus, ObsidianSyncConfig, ObsidianServerConfig, ObsidianAuthResult, } from './auth';
14
- export { ObsidianDomainService, createObsidianDomainService, ObsidianDomainInfo, ObsidianSubdomainCheckResult, ObsidianSubdomainUpdateResult, ObsidianCustomDomainCheckResult, ObsidianCustomDomainAddResult, ObsidianHttpsCertificate, ObsidianHttpsStatusResult, ObsidianDomainResult, } from './domain';
15
- export { createObsidianWorkspaceAppService, createObsidianIdentityService, createWorkspaceFactory, createWorkspaceAppService, createIdentityService, createPublishAppService, } from './container';
5
+ export type { ProjectRegistry, ProjectEntry, BuildHistoryEntry, SnapshotMetadata, } from '@internal/domain/workspace/type';
16
6
  export type { HttpClient as PublishHttpClient, HttpResponse as PublishHttpResponse } from '@internal/domain/publish/repository/http-client';
17
7
  export type { HttpClient as IdentityHttpClient, HttpResponse as IdentityHttpResponse } from '@internal/domain/identity';
18
8
  export type { AnyPublishConfig, FTPConfig, NetlifyConfig, MDFridayConfig, } from '@internal/domain/publish';
@@ -0,0 +1,9 @@
1
+ import { HttpClient } from '@internal/domain/identity';
2
+ import { IdentityAppService } from '@internal/application/identity';
3
+ import type { IdentityAdapter } from '../../adapters';
4
+ import type { ObsidianMobileEnvironmentConfig } from '../config-types';
5
+ export declare class MobileIdentityAdapter implements IdentityAdapter {
6
+ private readonly config;
7
+ constructor(config: ObsidianMobileEnvironmentConfig);
8
+ getIdentityService(workspacePath: string, httpClient: HttpClient): Promise<IdentityAppService>;
9
+ }
@@ -0,0 +1,2 @@
1
+ export { MobileIdentityAdapter } from './identity-adapter';
2
+ export { MobileWorkspaceAdapter } from './workspace-adapter';
@@ -0,0 +1,13 @@
1
+ import { WorkspaceAppService } from '@internal/application/workspace';
2
+ import { WorkspaceFactory } from '@internal/domain/workspace';
3
+ import { FileSystemRepository } from '@internal/domain/workspace/repository';
4
+ import type { WorkspaceAdapter } from '../../adapters';
5
+ import type { ObsidianMobileEnvironmentConfig } from '../config-types';
6
+ export declare class MobileWorkspaceAdapter implements WorkspaceAdapter {
7
+ private readonly config;
8
+ private workspaceAppService?;
9
+ constructor(config: ObsidianMobileEnvironmentConfig);
10
+ getWorkspaceAppService(): WorkspaceAppService;
11
+ getWorkspaceFactory(): WorkspaceFactory;
12
+ getFileSystemRepository(): FileSystemRepository;
13
+ }
@@ -1,4 +1,4 @@
1
- import type { ObsidianMobileEnvironmentConfig } from './mobile-config-types';
1
+ import type { ObsidianMobileEnvironmentConfig } from './config-types';
2
2
  import { HttpClient } from '@internal/domain/identity';
3
3
  import { IdentityAppService } from '@internal/application/identity';
4
4
  import { WorkspaceAppService } from '@internal/application/workspace';
@@ -0,0 +1,16 @@
1
+ import { HttpClient } from '@internal/domain/identity';
2
+ import { ObsidianAuthService } from '../services/auth.service';
3
+ import { ObsidianLicenseService } from '../services/license.service';
4
+ import { ObsidianWorkspaceService } from '../services/workspace.service';
5
+ import { ObsidianGlobalConfigService } from '../services/config.service';
6
+ import type { ObsidianMobileEnvironmentConfig } from './config-types';
7
+ export type { ObsidianMobileEnvironmentConfig, ObsidianMobilePersistenceConfig, ObsidianEnvironmentConfig, ObsidianBasicPersistenceConfig, } from './config-types';
8
+ export declare function createObsidianWorkspaceService(config: ObsidianMobileEnvironmentConfig): ObsidianWorkspaceService;
9
+ export declare function createObsidianAuthService(httpClient: HttpClient, config: ObsidianMobileEnvironmentConfig): ObsidianAuthService;
10
+ export declare function createObsidianLicenseService(httpClient: HttpClient, config: ObsidianMobileEnvironmentConfig): ObsidianLicenseService;
11
+ export declare function createObsidianGlobalConfigService(config: ObsidianMobileEnvironmentConfig): ObsidianGlobalConfigService;
12
+ export { createObsidianWorkspaceAppService, createObsidianIdentityService, } from './container';
13
+ export type { WorkspaceRepository, FileSystemRepository, WorkspaceMetadataData, FolderStructure, FolderScanResult, ContentFolderInfo, StaticFolderInfo, SymlinkResult, } from '@internal/domain/workspace/repository';
14
+ export type { ProjectRegistry, ProjectEntry, } from '@internal/domain/workspace/type';
15
+ export type { HttpClient as IdentityHttpClient, HttpResponse as IdentityHttpResponse } from '@internal/domain/identity';
16
+ export type { SyncConfig, SyncConfigData, } from '@internal/domain/identity';
@@ -1,10 +1,2 @@
1
- export type { ObsidianMobileEnvironmentConfig, ObsidianMobilePersistenceConfig, ObsidianEnvironmentConfig, ObsidianBasicPersistenceConfig, } from './mobile-config-types';
2
- export type { WorkspaceRepository, FileSystemRepository, WorkspaceMetadataData, FolderStructure, FolderScanResult, ContentFolderInfo, StaticFolderInfo, SymlinkResult, } from '@internal/domain/workspace/repository';
3
- export type { ProjectRegistry, ProjectEntry, } from '@internal/domain/workspace/type';
4
- export type { HttpClient as IdentityHttpClient, HttpResponse as IdentityHttpResponse } from '@internal/domain/identity';
5
- export { ObsidianWorkspaceService, createObsidianWorkspaceService, type ObsidianWorkspaceInitOptions, type ObsidianWorkspaceInfo, type ObsidianWorkspaceResult, } from './workspace';
6
- export { ObsidianAuthService, createObsidianAuthService, type ObsidianAuthStatus, type ObsidianSyncConfig, type ObsidianServerConfig, type ObsidianAuthResult, } from './auth';
7
- export { ObsidianLicenseService, createObsidianLicenseService, type ObsidianLicenseInfo, type ObsidianLicenseUsage, type ObsidianLicenseResult, } from './license';
8
- export { ObsidianGlobalConfigService, createObsidianGlobalConfigService, type ObsidianConfigResult, type ConfigGetResult, type ConfigListResult, } from './config';
9
- export { createObsidianWorkspaceAppService, createObsidianIdentityService, } from './mobile-container';
10
- export type { SyncConfig, SyncConfigData, } from '@internal/domain/identity';
1
+ export * from './mobile/index';
2
+ export * from './types';
@@ -0,0 +1,11 @@
1
+ import { HttpClient } from '@internal/domain/identity';
2
+ import type { IdentityAdapter } from '../adapters';
3
+ import type { ObsidianAuthStatus, ObsidianServerConfig, ObsidianAuthResult } from '../types';
4
+ export declare class ObsidianAuthService {
5
+ private readonly httpClient;
6
+ private readonly identityAdapter;
7
+ constructor(httpClient: HttpClient, identityAdapter: IdentityAdapter);
8
+ getStatus(workspacePath: string): Promise<ObsidianAuthResult<ObsidianAuthStatus>>;
9
+ getConfig(workspacePath: string): Promise<ObsidianAuthResult<ObsidianServerConfig>>;
10
+ updateConfig(workspacePath: string, config: ObsidianServerConfig): Promise<ObsidianAuthResult<ObsidianServerConfig>>;
11
+ }
@@ -0,0 +1,8 @@
1
+ import type { WorkspaceAdapter } from '../adapters';
2
+ import type { ObsidianBuildOptions, ObsidianBuildResult } from '../types/build';
3
+ export declare class ObsidianBuildService {
4
+ private readonly workspaceAdapter;
5
+ constructor(workspaceAdapter: WorkspaceAdapter);
6
+ buildProject(options: ObsidianBuildOptions): Promise<ObsidianBuildResult>;
7
+ private cleanOutputDir;
8
+ }
@@ -1,24 +1,8 @@
1
- import { WorkspaceAppService } from '@internal/application/workspace';
2
- import type { ObsidianMobileEnvironmentConfig } from './mobile-config-types';
3
- export interface ObsidianConfigResult<T = any> {
4
- success: boolean;
5
- message?: string;
6
- data?: T;
7
- error?: string;
8
- }
9
- export interface ConfigGetResult {
10
- key: string;
11
- value: any;
12
- project?: string;
13
- }
14
- export interface ConfigListResult {
15
- config: Record<string, any>;
16
- scope: 'global' | 'project';
17
- project?: string;
18
- }
1
+ import type { WorkspaceAdapter } from '../adapters';
2
+ import type { ObsidianConfigResult, ConfigGetResult, ConfigListResult } from '../types';
19
3
  export declare class ObsidianGlobalConfigService {
20
- private workspaceAppService;
21
- constructor(workspaceAppService: WorkspaceAppService);
4
+ private readonly workspaceAdapter;
5
+ constructor(workspaceAdapter: WorkspaceAdapter);
22
6
  get(workspacePath: string, key: string): Promise<ObsidianConfigResult<ConfigGetResult>>;
23
7
  set(workspacePath: string, key: string, value: any): Promise<ObsidianConfigResult<ConfigGetResult>>;
24
8
  list(workspacePath: string): Promise<ObsidianConfigResult<ConfigListResult>>;
@@ -30,8 +14,8 @@ export declare class ObsidianGlobalConfigService {
30
14
  }>>;
31
15
  }
32
16
  export declare class ObsidianProjectConfigService {
33
- private workspaceAppService;
34
- constructor(workspaceAppService: WorkspaceAppService);
17
+ private readonly workspaceAdapter;
18
+ constructor(workspaceAdapter: WorkspaceAdapter);
35
19
  get(workspacePath: string, projectName: string, key: string): Promise<ObsidianConfigResult<ConfigGetResult>>;
36
20
  set(workspacePath: string, projectName: string, key: string, value: any): Promise<ObsidianConfigResult<ConfigGetResult>>;
37
21
  setAll(workspacePath: string, projectName: string, config: Record<string, any>): Promise<ObsidianConfigResult<ConfigListResult>>;
@@ -45,5 +29,3 @@ export declare class ObsidianProjectConfigService {
45
29
  project: string;
46
30
  }>>;
47
31
  }
48
- export declare function createObsidianGlobalConfigService(config?: ObsidianMobileEnvironmentConfig): ObsidianGlobalConfigService;
49
- export declare function createObsidianProjectConfigService(config?: ObsidianMobileEnvironmentConfig): ObsidianProjectConfigService;
@@ -0,0 +1,15 @@
1
+ import type { IdentityAdapter } from '../adapters';
2
+ import type { ObsidianDomainInfo, ObsidianSubdomainCheckResult, ObsidianSubdomainUpdateResult, ObsidianCustomDomainCheckResult, ObsidianCustomDomainAddResult, ObsidianHttpsStatusResult, ObsidianDomainResult } from '../types/domain';
3
+ import { HttpClient } from '@internal/domain/identity';
4
+ export declare class ObsidianDomainService {
5
+ private readonly httpClient;
6
+ private readonly identityAdapter;
7
+ constructor(httpClient: HttpClient, identityAdapter: IdentityAdapter);
8
+ private getIdentityService;
9
+ getDomainInfo(workspacePath: string): Promise<ObsidianDomainResult<ObsidianDomainInfo>>;
10
+ checkSubdomain(workspacePath: string, subdomain: string): Promise<ObsidianDomainResult<ObsidianSubdomainCheckResult>>;
11
+ updateSubdomain(workspacePath: string, newSubdomain: string): Promise<ObsidianDomainResult<ObsidianSubdomainUpdateResult>>;
12
+ checkCustomDomain(workspacePath: string, domain: string): Promise<ObsidianDomainResult<ObsidianCustomDomainCheckResult>>;
13
+ addCustomDomain(workspacePath: string, domain: string): Promise<ObsidianDomainResult<ObsidianCustomDomainAddResult>>;
14
+ checkHttpsStatus(workspacePath: string, domain: string): Promise<ObsidianDomainResult<ObsidianHttpsStatusResult>>;
15
+ }
@@ -0,0 +1,22 @@
1
+ import { HttpClient } from '@internal/domain/identity';
2
+ import type { IdentityAdapter } from '../adapters';
3
+ import type { ObsidianLicenseInfo, ObsidianLicenseUsage, ObsidianLicenseResult } from '../types';
4
+ export declare class ObsidianLicenseService {
5
+ private readonly httpClient;
6
+ private readonly identityAdapter;
7
+ constructor(httpClient: HttpClient, identityAdapter: IdentityAdapter);
8
+ requestTrial(workspacePath: string, email: string): Promise<ObsidianLicenseResult<{
9
+ email: string;
10
+ licenseKey: string;
11
+ password: string;
12
+ validityDays: number;
13
+ }>>;
14
+ requestAndActivateTrial(workspacePath: string, email: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
15
+ loginWithLicense(workspacePath: string, licenseKey: string): Promise<ObsidianLicenseResult<{}>>;
16
+ activateLicense(workspacePath: string, licenseKey: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
17
+ getLicenseInfo(workspacePath: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
18
+ getLicenseUsage(workspacePath: string): Promise<ObsidianLicenseResult<ObsidianLicenseUsage>>;
19
+ resetUsage(workspacePath: string, force: boolean): Promise<ObsidianLicenseResult<any>>;
20
+ hasActiveLicense(workspacePath: string): Promise<boolean>;
21
+ private buildLicenseInfo;
22
+ }
@@ -0,0 +1,17 @@
1
+ import type { WorkspaceAdapter } from '../adapters';
2
+ import type { ObsidianProjectCreateOptions, ObsidianProjectInfo, ObsidianProjectResult, ObsidianFolderStructureInfo } from '../types/project';
3
+ export declare class ObsidianProjectService {
4
+ private readonly workspaceAdapter;
5
+ constructor(workspaceAdapter: WorkspaceAdapter);
6
+ createProject(options: ObsidianProjectCreateOptions): Promise<ObsidianProjectResult<ObsidianProjectInfo>>;
7
+ private createProjectFromFile;
8
+ private createProjectFromFolder;
9
+ private createEmptyProject;
10
+ private buildProjectInfo;
11
+ listProjects(workspacePath: string): Promise<ObsidianProjectResult<ObsidianProjectInfo[]>>;
12
+ getProjectInfo(workspacePath: string, projectName: string): Promise<ObsidianProjectResult<ObsidianProjectInfo>>;
13
+ deleteProject(workspacePath: string, projectIdOrName: string, options?: {
14
+ deleteFiles?: boolean;
15
+ }): Promise<ObsidianProjectResult<void>>;
16
+ scanFolderStructure(folderPath: string): Promise<ObsidianProjectResult<ObsidianFolderStructureInfo>>;
17
+ }
@@ -0,0 +1,11 @@
1
+ import { PublishAppService } from '@internal/application/publish';
2
+ import type { WorkspaceAdapter } from '../adapters';
3
+ import type { ObsidianPublishOptions, ObsidianPublishResult, ObsidianPublishProgress, ObsidianTestConnectionResult } from '../types/publish';
4
+ import { AnyPublishConfig } from '@internal/domain/publish';
5
+ export declare class ObsidianPublishService {
6
+ private readonly workspaceAdapter;
7
+ private publishAppService;
8
+ constructor(publishAppService: PublishAppService, workspaceAdapter: WorkspaceAdapter);
9
+ publish(options: ObsidianPublishOptions, onProgress?: (progress: ObsidianPublishProgress) => void): Promise<ObsidianPublishResult>;
10
+ testConnection(workspacePath: string, projectName: string, config: AnyPublishConfig): Promise<ObsidianTestConnectionResult>;
11
+ }
@@ -0,0 +1,17 @@
1
+ import type { WorkspaceAdapter } from '../adapters';
2
+ import type { ObsidianServeOptions, ObsidianServeResult, ObsidianServeProgress } from '../types/serve';
3
+ import { PublishAppService } from '@internal/application/publish';
4
+ export declare class ObsidianServeService {
5
+ private readonly workspaceAdapter;
6
+ private publishAppService;
7
+ private coordinator?;
8
+ private publishTimer?;
9
+ private hasAutoPublish;
10
+ constructor(workspaceAdapter: WorkspaceAdapter, publishAppService?: PublishAppService);
11
+ private calculateOverallProgress;
12
+ private createProgressCallback;
13
+ startServer(options: ObsidianServeOptions, onProgress?: (progress: ObsidianServeProgress) => void): Promise<ObsidianServeResult>;
14
+ stopServer(): Promise<boolean>;
15
+ isRunning(): boolean;
16
+ private autoPublish;
17
+ }
@@ -0,0 +1,9 @@
1
+ import type { WorkspaceAdapter } from '../adapters';
2
+ import type { ObsidianWorkspaceInitOptions, ObsidianWorkspaceInfo, ObsidianWorkspaceResult } from '../types';
3
+ export declare class ObsidianWorkspaceService {
4
+ private readonly workspaceAdapter;
5
+ constructor(workspaceAdapter: WorkspaceAdapter);
6
+ initWorkspace(workspacePath: string, options?: ObsidianWorkspaceInitOptions): Promise<ObsidianWorkspaceResult<ObsidianWorkspaceInfo>>;
7
+ getWorkspaceInfo(workspacePath: string): Promise<ObsidianWorkspaceResult<ObsidianWorkspaceInfo>>;
8
+ workspaceExists(workspacePath: string): Promise<ObsidianWorkspaceResult<boolean>>;
9
+ }
@@ -0,0 +1,27 @@
1
+ export interface ObsidianSyncConfig {
2
+ dbEndpoint: string;
3
+ dbName: string;
4
+ email: string;
5
+ userDir: string;
6
+ status: string;
7
+ isActive: boolean;
8
+ }
9
+ export interface ObsidianAuthStatus {
10
+ isAuthenticated: boolean;
11
+ email?: string;
12
+ serverUrl: string;
13
+ token?: string;
14
+ license?: string;
15
+ hasSyncConfig: boolean;
16
+ syncConfig?: ObsidianSyncConfig;
17
+ }
18
+ export interface ObsidianServerConfig {
19
+ apiUrl: string;
20
+ websiteUrl?: string;
21
+ }
22
+ export interface ObsidianAuthResult<T = void> {
23
+ success: boolean;
24
+ message: string;
25
+ data?: T;
26
+ error?: string;
27
+ }
@@ -1,4 +1,3 @@
1
- import { WorkspaceAppService } from '@internal/application/workspace';
2
1
  export interface ObsidianBuildOptions {
3
2
  workspacePath: string;
4
3
  projectNameOrPath: string;
@@ -22,10 +21,3 @@ export interface ObsidianBuildResult {
22
21
  };
23
22
  error?: string;
24
23
  }
25
- export declare class ObsidianBuildService {
26
- private workspaceAppService;
27
- constructor(workspaceAppService: WorkspaceAppService);
28
- buildProject(options: ObsidianBuildOptions): Promise<ObsidianBuildResult>;
29
- private cleanOutputDir;
30
- }
31
- export declare function createObsidianBuildService(): ObsidianBuildService;
@@ -0,0 +1,16 @@
1
+ export interface ObsidianConfigResult<T = any> {
2
+ success: boolean;
3
+ message?: string;
4
+ data?: T;
5
+ error?: string;
6
+ }
7
+ export interface ConfigGetResult {
8
+ key: string;
9
+ value: any;
10
+ project?: string;
11
+ }
12
+ export interface ConfigListResult {
13
+ config: Record<string, any>;
14
+ scope: 'global' | 'project';
15
+ project?: string;
16
+ }
@@ -1,4 +1,3 @@
1
- import { HttpClient } from '@internal/domain/identity';
2
1
  export interface ObsidianDomainInfo {
3
2
  subdomain: string;
4
3
  fullDomain: string;
@@ -45,15 +44,3 @@ export interface ObsidianDomainResult<T = void> {
45
44
  data?: T;
46
45
  error?: string;
47
46
  }
48
- export declare class ObsidianDomainService {
49
- private readonly httpClient;
50
- constructor(httpClient: HttpClient);
51
- private getIdentityService;
52
- getDomainInfo(workspacePath: string): Promise<ObsidianDomainResult<ObsidianDomainInfo>>;
53
- checkSubdomain(workspacePath: string, subdomain: string): Promise<ObsidianDomainResult<ObsidianSubdomainCheckResult>>;
54
- updateSubdomain(workspacePath: string, newSubdomain: string): Promise<ObsidianDomainResult<ObsidianSubdomainUpdateResult>>;
55
- checkCustomDomain(workspacePath: string, domain: string): Promise<ObsidianDomainResult<ObsidianCustomDomainCheckResult>>;
56
- addCustomDomain(workspacePath: string, domain: string): Promise<ObsidianDomainResult<ObsidianCustomDomainAddResult>>;
57
- checkHttpsStatus(workspacePath: string, domain: string): Promise<ObsidianDomainResult<ObsidianHttpsStatusResult>>;
58
- }
59
- export declare function createObsidianDomainService(httpClient: HttpClient): ObsidianDomainService;
@@ -0,0 +1,9 @@
1
+ export * from './auth';
2
+ export * from './license';
3
+ export * from './workspace';
4
+ export * from './config';
5
+ export * from './project';
6
+ export * from './build';
7
+ export * from './serve';
8
+ export * from './publish';
9
+ export * from './domain';
@@ -1,5 +1,3 @@
1
- import type { ObsidianMobileEnvironmentConfig } from './mobile-config-types';
2
- import { HttpClient } from '@internal/domain/identity';
3
1
  export interface ObsidianLicenseInfo {
4
2
  key: string;
5
3
  plan: string;
@@ -87,24 +85,3 @@ export interface ObsidianLicenseResult<T = any> {
87
85
  data?: T;
88
86
  error?: string;
89
87
  }
90
- export declare class ObsidianLicenseService {
91
- private readonly httpClient;
92
- private readonly config;
93
- constructor(httpClient: HttpClient, config?: ObsidianMobileEnvironmentConfig);
94
- private getIdentityService;
95
- requestTrial(workspacePath: string, email: string): Promise<ObsidianLicenseResult<{
96
- email: string;
97
- licenseKey: string;
98
- password: string;
99
- validityDays: number;
100
- }>>;
101
- requestAndActivateTrial(workspacePath: string, email: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
102
- loginWithLicense(workspacePath: string, licenseKey: string): Promise<ObsidianLicenseResult<{}>>;
103
- activateLicense(workspacePath: string, licenseKey: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
104
- getLicenseInfo(workspacePath: string): Promise<ObsidianLicenseResult<ObsidianLicenseInfo>>;
105
- getLicenseUsage(workspacePath: string): Promise<ObsidianLicenseResult<ObsidianLicenseUsage>>;
106
- resetUsage(workspacePath: string, force: boolean): Promise<ObsidianLicenseResult<any>>;
107
- hasActiveLicense(workspacePath: string): Promise<boolean>;
108
- private buildLicenseInfo;
109
- }
110
- export declare function createObsidianLicenseService(httpClient: HttpClient, config?: ObsidianMobileEnvironmentConfig): ObsidianLicenseService;
@@ -1,4 +1,3 @@
1
- import { WorkspaceAppService } from '@internal/application/workspace';
2
1
  export interface ObsidianProjectCreateOptions {
3
2
  name: string;
4
3
  workspacePath: string;
@@ -55,19 +54,3 @@ export interface ObsidianFolderStructureInfo {
55
54
  defaultLanguage?: string | undefined;
56
55
  summary: string;
57
56
  }
58
- export declare class ObsidianProjectService {
59
- private workspaceAppService;
60
- constructor(workspaceAppService: WorkspaceAppService);
61
- createProject(options: ObsidianProjectCreateOptions): Promise<ObsidianProjectResult<ObsidianProjectInfo>>;
62
- private createProjectFromFile;
63
- private createProjectFromFolder;
64
- private createEmptyProject;
65
- private buildProjectInfo;
66
- listProjects(workspacePath: string): Promise<ObsidianProjectResult<ObsidianProjectInfo[]>>;
67
- getProjectInfo(workspacePath: string, projectName: string): Promise<ObsidianProjectResult<ObsidianProjectInfo>>;
68
- deleteProject(workspacePath: string, projectIdOrName: string, options?: {
69
- deleteFiles?: boolean;
70
- }): Promise<ObsidianProjectResult<void>>;
71
- scanFolderStructure(folderPath: string): Promise<ObsidianProjectResult<ObsidianFolderStructureInfo>>;
72
- }
73
- export declare function createObsidianProjectService(): ObsidianProjectService;
@@ -1,7 +1,4 @@
1
- import { PublishAppService } from '@internal/application/publish';
2
- import { WorkspaceAppService } from '@internal/application/workspace';
3
1
  import { AnyPublishConfig } from '@internal/domain/publish';
4
- import { HttpClient } from '@internal/domain/publish/repository/http-client';
5
2
  export type ObsidianPublishMethod = 'ftp' | 'netlify' | 'mdfriday';
6
3
  export interface ObsidianPublishOptions {
7
4
  workspacePath: string;
@@ -34,11 +31,3 @@ export interface ObsidianTestConnectionResult {
34
31
  success: boolean;
35
32
  error?: string;
36
33
  }
37
- export declare class ObsidianPublishService {
38
- private publishAppService;
39
- private workspaceAppService;
40
- constructor(publishAppService: PublishAppService, workspaceAppService: WorkspaceAppService);
41
- publish(options: ObsidianPublishOptions, onProgress?: (progress: ObsidianPublishProgress) => void): Promise<ObsidianPublishResult>;
42
- testConnection(workspacePath: string, projectName: string, config: AnyPublishConfig): Promise<ObsidianTestConnectionResult>;
43
- }
44
- export declare function createObsidianPublishService(httpClient: HttpClient): ObsidianPublishService;
@@ -1,8 +1,5 @@
1
- import { WorkspaceAppService } from '@internal/application/workspace';
2
- import { PublishAppService } from '@internal/application/publish';
3
- import { HttpClient } from '@internal/domain/publish/repository/http-client';
4
- import { MarkdownRenderer } from '@internal/domain/markdown';
5
1
  import { AnyPublishConfig } from '@internal/domain/publish';
2
+ import { MarkdownRenderer } from '@internal/domain/markdown';
6
3
  export interface ObsidianServeOptions {
7
4
  workspacePath: string;
8
5
  projectName: string;
@@ -47,18 +44,3 @@ export interface ObsidianServeProgress {
47
44
  method?: 'ftp' | 'netlify' | 'mdfriday';
48
45
  };
49
46
  }
50
- export declare class ObsidianServeService {
51
- private workspaceAppService;
52
- private publishAppService;
53
- private coordinator?;
54
- private publishTimer?;
55
- private hasAutoPublish;
56
- constructor(workspaceAppService: WorkspaceAppService, publishAppService?: PublishAppService);
57
- private calculateOverallProgress;
58
- private createProgressCallback;
59
- startServer(options: ObsidianServeOptions, onProgress?: (progress: ObsidianServeProgress) => void): Promise<ObsidianServeResult>;
60
- stopServer(): Promise<boolean>;
61
- isRunning(): boolean;
62
- private autoPublish;
63
- }
64
- export declare function createObsidianServeService(httpClient?: HttpClient): ObsidianServeService;
@@ -0,0 +1,27 @@
1
+ export interface ObsidianWorkspaceInitOptions {
2
+ name?: string;
3
+ modulesDir?: string;
4
+ projectsDir?: string;
5
+ }
6
+ export interface ObsidianWorkspaceInfo {
7
+ id: string;
8
+ name: string;
9
+ path: string;
10
+ createdAt: string;
11
+ modulesDir: string;
12
+ projectsDir: string;
13
+ projectCount: number;
14
+ projects: Array<{
15
+ id: string;
16
+ name: string;
17
+ path: string;
18
+ createdAt: string;
19
+ lastBuild?: string;
20
+ }>;
21
+ }
22
+ export interface ObsidianWorkspaceResult<T = any> {
23
+ success: boolean;
24
+ message?: string;
25
+ data?: T;
26
+ error?: string;
27
+ }