@serviceme/devtools-core 0.3.2 → 0.3.4

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.
@@ -184,6 +184,24 @@ declare class StubGitSpawner implements GitSpawner {
184
184
  * RepoManager's `localSeed` use case.
185
185
  */
186
186
  declare function toFileUrl(absolutePath: string): string;
187
+ /** Path suffix appended to a server base URL to reach its git-proxy route. */
188
+ declare const GIT_PROXY_PATH_SUFFIX = "/git-proxy";
189
+ /**
190
+ * Single source of truth for deriving a {@link GitClientOptions.serverProxyBase}
191
+ * from an already-resolved, non-empty server base URL (e.g. the extension's
192
+ * verified marketplace server). Callers that derive `serverProxyBase` from a
193
+ * known server base URL — extension bootstrap, the sync scheduler, the CLI
194
+ * bridge subprocess env — should go through this helper instead of
195
+ * re-deriving the `/git-proxy` suffix locally, so the route contract only
196
+ * lives in one place. (Standalone CLI defaults such as
197
+ * `http://127.0.0.1:3000/git-proxy`, used when no server base URL is known
198
+ * at all, are a separate concern and don't go through this helper.)
199
+ *
200
+ * Callers MUST guard against an empty/falsy `serverBaseUrl` before calling —
201
+ * this function does not validate its input and will happily return the
202
+ * non-URL `"/git-proxy"` for an empty string.
203
+ */
204
+ declare function buildGitProxyBase(serverBaseUrl: string): string;
187
205
 
188
206
  /**
189
207
  * Skill & Agent v2 — SubmitClient Types (M4)
@@ -288,4 +306,4 @@ declare class SubmitClient {
288
306
  submit(repoId: string, skillName: string, files: SkillFile[], opts?: SubmitOptions): Promise<SubmitResult>;
289
307
  }
290
308
 
291
- export { GitClient as G, NodeGitSpawner as N, type PullResult as P, StubGitSpawner as S, GitError as a, SubmitClient as b, type SubmitClientOptions as c, SubmitError as d, type SubmitOptions as e, type SubmitResult as f, toFileUrl as t };
309
+ export { GitClient as G, NodeGitSpawner as N, type PullResult as P, StubGitSpawner as S, GIT_PROXY_PATH_SUFFIX as a, GitError as b, SubmitClient as c, type SubmitClientOptions as d, SubmitError as e, type SubmitOptions as f, type SubmitResult as g, buildGitProxyBase as h, toFileUrl as t };
package/dist/index.d.mts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as _serviceme_devtools_protocol from '@serviceme/devtools-protocol';
2
2
  import { AgentMarketplaceEntry, AgentMutationRequest, AgentPermissionSummary, CopilotDoctorResult, CopilotPromptOptions, CopilotPromptResult, EnvironmentCheckResult, KnownEnvironmentTool, ToolCheckResult, ServiceMeImageValidationResult, ServiceMeImageInfo, ServiceMeImageCompressOptions, ServiceMeImageCompressResult, JsonSortOptions, JsonValidationResult, AgentToolRiskLevel, AgentToolPermission, ServiceMeProjectExtractTemplateInput, ServiceMeProjectExtractTemplateResult, ServiceMeProjectInstallDepsResult, ServiceMeProjectMakeScriptsExecutableResult, ServiceMeProjectGitInitResult, ServiceMeProjectScaffoldPruneResult, TaskExecutionStatus, ScheduledTaskType, TaskPayload, TaskWorkspaceRef, ScheduledTasksConfig, ScheduledTask, TaskExecutionLog, TaskStartedEventParams, TaskOutputEventParams, TaskCompletedEventParams, TaskFailedEventParams, TaskCancelledEventParams, TaskExecutionSnapshot, RunningTaskInfo, SkillMarketplaceEntry, SkillMutationRequest } from '@serviceme/devtools-protocol';
3
3
  import * as fs from 'node:fs/promises';
4
- export { AccessCheckResult, AccessControl, AccessControlOptions, AuthCore, AuthCoreOptions, AuthStateManager, AuthStateManagerOptions, CancellationCheck, DeviceFlowUiCallback, GitHubAuthProvider, GitHubAuthProviderConfig, IAuthProvider, IAuthProviderSession, IAuthProviderUserInfo, InMemoryKeychainAuthTokenStore, KeyValueStore, KeychainAccountKey, KeychainAuthTokenStore, KeychainTokenEnvelope, KeychainTokenMetadata, KeychainUnavailableError, MicrosoftAuthProvider, MicrosoftProviderNotHostedError, OrgMembershipFetcher, ProviderRegistry, buildGitHubLocalEmail, isGitHubLocalEmail, resolvePrimaryEmail } from './auth.mjs';
4
+ export { A as AccessCheckResult, a as AccessControl, b as AccessControlOptions, c as AuthCore, d as AuthCoreOptions, e as AuthStateManager, f as AuthStateManagerOptions, C as CancellationCheck, D as DeviceFlowUiCallback, G as GitHubAuthProvider, g as GitHubAuthProviderConfig, I as IAuthProvider, h as IAuthProviderSession, i as IAuthProviderUserInfo, j as InMemoryKeychainAuthTokenStore, K as KeyValueStore, k as KeychainAccountKey, l as KeychainAuthTokenStore, m as KeychainTokenEnvelope, n as KeychainTokenMetadata, o as KeychainUnavailableError, M as MicrosoftAuthProvider, p as MicrosoftProviderNotHostedError, O as OrgMembershipFetcher, P as ProviderRegistry, S as ServiceMeLogger, q as buildGitHubLocalEmail, r as createConsoleLogger, s as isGitHubLocalEmail, t as noopLogger, u as resolvePrimaryEmail } from './index-87-_JvQi.mjs';
5
5
  export { AtomicWriteResult, BuildSignedHeadersParams, DEVICE_JSON_SCHEMA_VERSION, DeviceAuthHeaders, DeviceCore, DeviceCoreOptions, DeviceReenrollRequiresAuthError, DeviceRequestSignatureParams, DeviceSecretVersionMismatchError, DeviceSignedHeaders, EnrollRequestFn, EnrollResponse, Enroller, EnrollerOptions, FsIdentityFileBackend, IdentityFileBackend, IdentityStore, IdentityStoreHooks, IdentityStoreOptions, PersistedDeviceIdentity, buildSignedHeaders, createDeviceRequestSignature, deriveInstallationId, fingerprintSource, randomInstallationId } from './device.mjs';
6
6
  import { c as SkillKind, b as SkillFile } from './types-B9gk3dXH.mjs';
7
- import { G as GitClient, P as PullResult } from './index-GAigCT0j.mjs';
8
- export { a as GitError, N as NodeGitSpawner, S as StubGitSpawner, b as SubmitClient, c as SubmitClientOptions, d as SubmitError, e as SubmitOptions, f as SubmitResult, t as toFileUrl } from './index-GAigCT0j.mjs';
7
+ import { G as GitClient, P as PullResult } from './index-CXvNx2fp.mjs';
8
+ export { a as GIT_PROXY_PATH_SUFFIX, b as GitError, N as NodeGitSpawner, S as StubGitSpawner, c as SubmitClient, d as SubmitClientOptions, e as SubmitError, f as SubmitOptions, g as SubmitResult, h as buildGitProxyBase, t as toFileUrl } from './index-CXvNx2fp.mjs';
9
9
  import * as fs$1 from 'node:fs';
10
10
  import { z } from 'zod';
11
11
  export { BUILTIN_DEFAULT_TOOLS, DefaultToolImmutableError, DefaultToolSeed, FsToolboxFileBackend, PersistedToolbox, ResolvedToolbox, TOOLBOX_JSON_SCHEMA_VERSION, ToolboxCore, ToolboxCoreOptions, ToolboxFileBackend, ToolboxPatch, ToolboxStore, ToolboxStoreHooks, ToolboxStoreOptions, WORKSPACE_TOOLBOX_RELATIVE_PATH, mergeWithDefaults, reindexOrder, sortByRecentFirst, sortByUserOrder, touchLastUsedAt } from './toolbox.mjs';
@@ -254,14 +254,23 @@ interface EnvironmentInspectorOptions {
254
254
  * use this to exercise the Windows-specific branches of the inspector.
255
255
  */
256
256
  platform?: NodeJS.Platform;
257
+ /**
258
+ * Override the value returned by `$SHELL` for POSIX login-shell
259
+ * fallbacks. Defaults to `process.env.SHELL`. Tests pin this so the
260
+ * fallback chain stays deterministic regardless of the developer's
261
+ * host machine.
262
+ */
263
+ shell?: string;
257
264
  }
258
265
  declare class EnvironmentInspector {
259
266
  private readonly runCommandFn;
260
267
  private readonly platform;
268
+ private readonly shell;
261
269
  constructor(options?: EnvironmentInspectorOptions);
262
270
  checkEnvironment(): Promise<EnvironmentCheckResult>;
263
271
  checkTool(toolName: KnownEnvironmentTool): Promise<ToolCheckResult>;
264
272
  private getToolPath;
273
+ private getToolPathFromLoginShell;
265
274
  /**
266
275
  * On Windows, prefer the `.cmd` shim for npm/pnpm/nrm. nvm4w registers
267
276
  * BOTH an extensionless entry (pointing to node.exe) and a `<tool>.cmd`
@@ -270,6 +279,7 @@ declare class EnvironmentInspector {
270
279
  */
271
280
  private getToolShimPath;
272
281
  private getToolVersion;
282
+ private shouldUsePosixLoginShellFallback;
273
283
  private checkNvm;
274
284
  private checkNuget;
275
285
  private getVersionInvocation;
@@ -298,15 +308,6 @@ interface JsonTools {
298
308
  }
299
309
  declare function createJsonTools(): JsonTools;
300
310
 
301
- interface ServiceMeLogger {
302
- debug(message: string, ...args: unknown[]): void;
303
- info(message: string, ...args: unknown[]): void;
304
- warn(message: string, ...args: unknown[]): void;
305
- error(message: string, ...args: unknown[]): void;
306
- }
307
- declare const noopLogger: ServiceMeLogger;
308
- declare function createConsoleLogger(prefix?: string): ServiceMeLogger;
309
-
310
311
  /**
311
312
  * SERVICEME user home directory helpers.
312
313
  *
@@ -669,10 +670,10 @@ declare const defaultRepoSchema: z.ZodObject<{
669
670
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
670
671
  lastSyncError: z.ZodOptional<z.ZodString>;
671
672
  }, "strip", z.ZodTypeAny, {
673
+ name: string;
672
674
  id: string;
673
675
  description: string;
674
676
  source: "default";
675
- name: string;
676
677
  url: string;
677
678
  branch: string;
678
679
  enabled: boolean;
@@ -684,10 +685,10 @@ declare const defaultRepoSchema: z.ZodObject<{
684
685
  lastSyncStatus?: "ok" | "error" | undefined;
685
686
  lastSyncError?: string | undefined;
686
687
  }, {
688
+ name: string;
687
689
  id: string;
688
690
  description: string;
689
691
  source: "default";
690
- name: string;
691
692
  url: string;
692
693
  branch: string;
693
694
  enabled: boolean;
@@ -714,9 +715,9 @@ declare const userRepoSchema: z.ZodObject<{
714
715
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
715
716
  lastSyncError: z.ZodOptional<z.ZodString>;
716
717
  }, "strip", z.ZodTypeAny, {
718
+ name: string;
717
719
  id: string;
718
720
  source: "user";
719
- name: string;
720
721
  url: string;
721
722
  branch: string;
722
723
  enabled: boolean;
@@ -728,9 +729,9 @@ declare const userRepoSchema: z.ZodObject<{
728
729
  lastSyncStatus?: "ok" | "error" | undefined;
729
730
  lastSyncError?: string | undefined;
730
731
  }, {
732
+ name: string;
731
733
  id: string;
732
734
  source: "user";
733
- name: string;
734
735
  url: string;
735
736
  branch: string;
736
737
  enabled: boolean;
@@ -758,10 +759,10 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
758
759
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
759
760
  lastSyncError: z.ZodOptional<z.ZodString>;
760
761
  }, "strip", z.ZodTypeAny, {
762
+ name: string;
761
763
  id: string;
762
764
  description: string;
763
765
  source: "default";
764
- name: string;
765
766
  url: string;
766
767
  branch: string;
767
768
  enabled: boolean;
@@ -773,10 +774,10 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
773
774
  lastSyncStatus?: "ok" | "error" | undefined;
774
775
  lastSyncError?: string | undefined;
775
776
  }, {
777
+ name: string;
776
778
  id: string;
777
779
  description: string;
778
780
  source: "default";
779
- name: string;
780
781
  url: string;
781
782
  branch: string;
782
783
  enabled: boolean;
@@ -802,9 +803,9 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
802
803
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
803
804
  lastSyncError: z.ZodOptional<z.ZodString>;
804
805
  }, "strip", z.ZodTypeAny, {
806
+ name: string;
805
807
  id: string;
806
808
  source: "user";
807
- name: string;
808
809
  url: string;
809
810
  branch: string;
810
811
  enabled: boolean;
@@ -816,9 +817,9 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
816
817
  lastSyncStatus?: "ok" | "error" | undefined;
817
818
  lastSyncError?: string | undefined;
818
819
  }, {
820
+ name: string;
819
821
  id: string;
820
822
  source: "user";
821
- name: string;
822
823
  url: string;
823
824
  branch: string;
824
825
  enabled: boolean;
@@ -849,10 +850,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
849
850
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
850
851
  lastSyncError: z.ZodOptional<z.ZodString>;
851
852
  }, "strip", z.ZodTypeAny, {
853
+ name: string;
852
854
  id: string;
853
855
  description: string;
854
856
  source: "default";
855
- name: string;
856
857
  url: string;
857
858
  branch: string;
858
859
  enabled: boolean;
@@ -864,10 +865,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
864
865
  lastSyncStatus?: "ok" | "error" | undefined;
865
866
  lastSyncError?: string | undefined;
866
867
  }, {
868
+ name: string;
867
869
  id: string;
868
870
  description: string;
869
871
  source: "default";
870
- name: string;
871
872
  url: string;
872
873
  branch: string;
873
874
  enabled: boolean;
@@ -893,9 +894,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
893
894
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
894
895
  lastSyncError: z.ZodOptional<z.ZodString>;
895
896
  }, "strip", z.ZodTypeAny, {
897
+ name: string;
896
898
  id: string;
897
899
  source: "user";
898
- name: string;
899
900
  url: string;
900
901
  branch: string;
901
902
  enabled: boolean;
@@ -907,9 +908,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
907
908
  lastSyncStatus?: "ok" | "error" | undefined;
908
909
  lastSyncError?: string | undefined;
909
910
  }, {
911
+ name: string;
910
912
  id: string;
911
913
  source: "user";
912
- name: string;
913
914
  url: string;
914
915
  branch: string;
915
916
  enabled: boolean;
@@ -924,10 +925,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
924
925
  }, "strip", z.ZodTypeAny, {
925
926
  version: 1;
926
927
  repos: ({
928
+ name: string;
927
929
  id: string;
928
930
  description: string;
929
931
  source: "default";
930
- name: string;
931
932
  url: string;
932
933
  branch: string;
933
934
  enabled: boolean;
@@ -939,9 +940,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
939
940
  lastSyncStatus?: "ok" | "error" | undefined;
940
941
  lastSyncError?: string | undefined;
941
942
  } | {
943
+ name: string;
942
944
  id: string;
943
945
  source: "user";
944
- name: string;
945
946
  url: string;
946
947
  branch: string;
947
948
  enabled: boolean;
@@ -957,10 +958,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
957
958
  }, {
958
959
  version: 1;
959
960
  repos: ({
961
+ name: string;
960
962
  id: string;
961
963
  description: string;
962
964
  source: "default";
963
- name: string;
964
965
  url: string;
965
966
  branch: string;
966
967
  enabled: boolean;
@@ -972,9 +973,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
972
973
  lastSyncStatus?: "ok" | "error" | undefined;
973
974
  lastSyncError?: string | undefined;
974
975
  } | {
976
+ name: string;
975
977
  id: string;
976
978
  source: "user";
977
- name: string;
978
979
  url: string;
979
980
  branch: string;
980
981
  enabled: boolean;
@@ -990,10 +991,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
990
991
  }>, {
991
992
  version: 1;
992
993
  repos: ({
994
+ name: string;
993
995
  id: string;
994
996
  description: string;
995
997
  source: "default";
996
- name: string;
997
998
  url: string;
998
999
  branch: string;
999
1000
  enabled: boolean;
@@ -1005,9 +1006,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
1005
1006
  lastSyncStatus?: "ok" | "error" | undefined;
1006
1007
  lastSyncError?: string | undefined;
1007
1008
  } | {
1009
+ name: string;
1008
1010
  id: string;
1009
1011
  source: "user";
1010
- name: string;
1011
1012
  url: string;
1012
1013
  branch: string;
1013
1014
  enabled: boolean;
@@ -1023,10 +1024,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
1023
1024
  }, {
1024
1025
  version: 1;
1025
1026
  repos: ({
1027
+ name: string;
1026
1028
  id: string;
1027
1029
  description: string;
1028
1030
  source: "default";
1029
- name: string;
1030
1031
  url: string;
1031
1032
  branch: string;
1032
1033
  enabled: boolean;
@@ -1038,9 +1039,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
1038
1039
  lastSyncStatus?: "ok" | "error" | undefined;
1039
1040
  lastSyncError?: string | undefined;
1040
1041
  } | {
1042
+ name: string;
1041
1043
  id: string;
1042
1044
  source: "user";
1043
- name: string;
1044
1045
  url: string;
1045
1046
  branch: string;
1046
1047
  enabled: boolean;
@@ -1929,4 +1930,4 @@ declare class SkillStore {
1929
1930
  declare const unzipFile: (zipPath: string, dest: string) => Promise<void>;
1930
1931
  declare const moveFiles: (sourceDir: string, destDir: string, overwrite?: boolean) => Promise<void>;
1931
1932
 
1932
- export { AGENT_DRAFTS_SUBDIR, type AddUserRepoInput, type AddUserRepoResult, type AgentCatalog, AgentCatalogClient, type AgentCatalogClientOptions, type AgentDownloadFile, type AgentInstallScope, type AgentMutateResult, AgentReconciler, type AgentReconcilerDependencies, AgentStore, type AgentStoreFileSystem, type AgentStoreOptions, type AgentsStateFile, type AnyRepoConfig, type AppendLogInput, type BootstrapPhase5Result, CACHE_SUBDIR, CREDENTIALS_CONFIG_FILENAME, CannotRemoveDefaultRepoError, type CreateTaskInput, FIXED_ADDED_AT as DEFAULT_REPO_FIXED_ADDED_AT, DEFAULT_REPO_ID, DEVICE_JSON_FILENAME, DRAFTS_SUBDIR, DaemonLogger, type DefaultRepoConfig, type DraftDetail, DraftNotFoundError, type DraftSummary, DraftsError, DraftsStore, type EditTaskInput, EnvironmentInspector, type EnvironmentInspectorOptions, type ExecutorResult, type FsWatcherCallbacks, type FsWatcherHandle, GitClient, GithubCopilotCliExecutor, HttpRequestExecutor, ImageTools, type InstalledAgent, InvalidDraftError, InvalidRepoUrlError, type IsoTimestamp, type JsonTools, KNOWN_WORKSPACES_FILENAME, type LoadResult, MACHINE_ID_FILENAME, MIGRATION_FAILURES_FILENAME, type MigrateToGlobalOptions, type MigrationResult, type OutputEventCallback, PROFILES_JSON_FILENAME, PidManager, type ProbeError, type ProbeOptions, type ProbeResult, ProjectTools, REPOS_CONFIG_FILENAME, REPOS_SUBDIR, RepoAlreadyExistsError, RepoCloneConflictError, type RepoConfig, RepoManager, RepoManagerError, type RepoManagerOptions, RepoNotFoundError, RepoNotInStoreError, type RepoSource, type ReposFile, type ReposFileInput, ReposLoader, type ReposLoaderFileSystem, type ReposLoaderOptions, ReposStore, type ReposStoreChange, type ReposStoreFileSystem, type ReposStoreListener, type ReposStoreOptions, SAFE_REPO_ID_PATTERN, SCHEDULED_TASKS_CONFIG_FILENAME, SCHEDULED_TASKS_LOG_FILENAME, SCHEDULER_LOCK_FILENAME, SCHEDULER_LOG_FILENAME, SCHEDULER_PID_FILENAME, SERVER_PROXY_GLOBAL_FILENAME, SERVICEME_DIR_NAME, SERVICEME_HOME_ENV, SKILL_DRAFTS_SUBDIR, type SaveDraftOptions, SchedulerDaemon, SchedulerDaemonV2, type SchedulerDaemonV2Options, type ServerProxyGlobalPatch, type ServerProxyGlobalState, type ServiceMeLogger, ShellExecutor, type SkillCatalog, SkillCatalogClient, type SkillCatalogClientOptions, type SkillDownloadFile, type SkillMutateResult, SkillReconciler, type SkillReconcilerDependencies, SkillStore, type SkillStoreFileSystem, type SkillStoreOptions, type StreamingExecutorHandle, type StreamingTaskExecutor, type SyncReport, type SyncStatus, TOOLBOX_JSON_FILENAME, TOOL_RISK_MAP, TaskConfigManager, type TaskEventListener, TaskExecutionEngine, type TaskExecutor, TaskLogManager, type UserRepoConfig, WorkspaceProbe, repoSchema as anyRepoConfigSchema, assertSafeRepoId, bootstrapDefaults, bootstrapPhase5Placeholders, buildDefaultReposFile, copilotDoctor, copilotPrompt, createConsoleLogger, createCopilotAuthRequiredError, createCopilotNotInstalledError, createImageTools, createJsonTools, createProjectTools, createReposStore, defaultRepoSchema as defaultRepoConfigSchema, ensureDefaultsInstalled, generateDraftId, getAgentDraftsDir, getAllDefaultRepoConfigs, getCacheDir, getCredentialsConfigPath, getDefaultRepoConfig, getDeviceJsonPath, getDraftsDir, getExecutor, getHomeDir, getHomePlatform, getKnownWorkspacesPath, getMachineIdPath, getMigrationFailuresPath, getProfilesJsonPath, getRepoCacheDir, getRepoDir, getReposConfigPath, getReposDir, getScheduledTasksConfigPath, getScheduledTasksLogPath, getSchedulerLockPath, getSchedulerLogPath, getSchedulerPidPath, getServerProxyGlobalPath, getServicemeHome, getSkillDraftsDir, getToolboxJsonPath, isCopilotAuthenticated, isDefaultRepo, isStreamingTaskExecutor, isUserRepo, matchesCron, migrateLegacyServerProxyEnabled, migrateToGlobal, moveFiles, narrowRepoConfig, noopLogger, parseAgentToolPermissions, parseIntervalMs, readServerProxyGlobal, reposFileSchema, resetUserHomeOverrides, resolveDraftDir, resolveTaskExecutionPayload, setUserHomeOverrides, unzipFile, userRepoSchema as userRepoConfigSchema, validateReposFile, validateTaskPayload, writeServerProxyGlobal };
1933
+ export { AGENT_DRAFTS_SUBDIR, type AddUserRepoInput, type AddUserRepoResult, type AgentCatalog, AgentCatalogClient, type AgentCatalogClientOptions, type AgentDownloadFile, type AgentInstallScope, type AgentMutateResult, AgentReconciler, type AgentReconcilerDependencies, AgentStore, type AgentStoreFileSystem, type AgentStoreOptions, type AgentsStateFile, type AnyRepoConfig, type AppendLogInput, type BootstrapPhase5Result, CACHE_SUBDIR, CREDENTIALS_CONFIG_FILENAME, CannotRemoveDefaultRepoError, type CreateTaskInput, FIXED_ADDED_AT as DEFAULT_REPO_FIXED_ADDED_AT, DEFAULT_REPO_ID, DEVICE_JSON_FILENAME, DRAFTS_SUBDIR, DaemonLogger, type DefaultRepoConfig, type DraftDetail, DraftNotFoundError, type DraftSummary, DraftsError, DraftsStore, type EditTaskInput, EnvironmentInspector, type EnvironmentInspectorOptions, type ExecutorResult, type FsWatcherCallbacks, type FsWatcherHandle, GitClient, GithubCopilotCliExecutor, HttpRequestExecutor, ImageTools, type InstalledAgent, InvalidDraftError, InvalidRepoUrlError, type IsoTimestamp, type JsonTools, KNOWN_WORKSPACES_FILENAME, type LoadResult, MACHINE_ID_FILENAME, MIGRATION_FAILURES_FILENAME, type MigrateToGlobalOptions, type MigrationResult, type OutputEventCallback, PROFILES_JSON_FILENAME, PidManager, type ProbeError, type ProbeOptions, type ProbeResult, ProjectTools, REPOS_CONFIG_FILENAME, REPOS_SUBDIR, RepoAlreadyExistsError, RepoCloneConflictError, type RepoConfig, RepoManager, RepoManagerError, type RepoManagerOptions, RepoNotFoundError, RepoNotInStoreError, type RepoSource, type ReposFile, type ReposFileInput, ReposLoader, type ReposLoaderFileSystem, type ReposLoaderOptions, ReposStore, type ReposStoreChange, type ReposStoreFileSystem, type ReposStoreListener, type ReposStoreOptions, SAFE_REPO_ID_PATTERN, SCHEDULED_TASKS_CONFIG_FILENAME, SCHEDULED_TASKS_LOG_FILENAME, SCHEDULER_LOCK_FILENAME, SCHEDULER_LOG_FILENAME, SCHEDULER_PID_FILENAME, SERVER_PROXY_GLOBAL_FILENAME, SERVICEME_DIR_NAME, SERVICEME_HOME_ENV, SKILL_DRAFTS_SUBDIR, type SaveDraftOptions, SchedulerDaemon, SchedulerDaemonV2, type SchedulerDaemonV2Options, type ServerProxyGlobalPatch, type ServerProxyGlobalState, ShellExecutor, type SkillCatalog, SkillCatalogClient, type SkillCatalogClientOptions, type SkillDownloadFile, type SkillMutateResult, SkillReconciler, type SkillReconcilerDependencies, SkillStore, type SkillStoreFileSystem, type SkillStoreOptions, type StreamingExecutorHandle, type StreamingTaskExecutor, type SyncReport, type SyncStatus, TOOLBOX_JSON_FILENAME, TOOL_RISK_MAP, TaskConfigManager, type TaskEventListener, TaskExecutionEngine, type TaskExecutor, TaskLogManager, type UserRepoConfig, WorkspaceProbe, repoSchema as anyRepoConfigSchema, assertSafeRepoId, bootstrapDefaults, bootstrapPhase5Placeholders, buildDefaultReposFile, copilotDoctor, copilotPrompt, createCopilotAuthRequiredError, createCopilotNotInstalledError, createImageTools, createJsonTools, createProjectTools, createReposStore, defaultRepoSchema as defaultRepoConfigSchema, ensureDefaultsInstalled, generateDraftId, getAgentDraftsDir, getAllDefaultRepoConfigs, getCacheDir, getCredentialsConfigPath, getDefaultRepoConfig, getDeviceJsonPath, getDraftsDir, getExecutor, getHomeDir, getHomePlatform, getKnownWorkspacesPath, getMachineIdPath, getMigrationFailuresPath, getProfilesJsonPath, getRepoCacheDir, getRepoDir, getReposConfigPath, getReposDir, getScheduledTasksConfigPath, getScheduledTasksLogPath, getSchedulerLockPath, getSchedulerLogPath, getSchedulerPidPath, getServerProxyGlobalPath, getServicemeHome, getSkillDraftsDir, getToolboxJsonPath, isCopilotAuthenticated, isDefaultRepo, isStreamingTaskExecutor, isUserRepo, matchesCron, migrateLegacyServerProxyEnabled, migrateToGlobal, moveFiles, narrowRepoConfig, parseAgentToolPermissions, parseIntervalMs, readServerProxyGlobal, reposFileSchema, resetUserHomeOverrides, resolveDraftDir, resolveTaskExecutionPayload, setUserHomeOverrides, unzipFile, userRepoSchema as userRepoConfigSchema, validateReposFile, validateTaskPayload, writeServerProxyGlobal };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as _serviceme_devtools_protocol from '@serviceme/devtools-protocol';
2
2
  import { AgentMarketplaceEntry, AgentMutationRequest, AgentPermissionSummary, CopilotDoctorResult, CopilotPromptOptions, CopilotPromptResult, EnvironmentCheckResult, KnownEnvironmentTool, ToolCheckResult, ServiceMeImageValidationResult, ServiceMeImageInfo, ServiceMeImageCompressOptions, ServiceMeImageCompressResult, JsonSortOptions, JsonValidationResult, AgentToolRiskLevel, AgentToolPermission, ServiceMeProjectExtractTemplateInput, ServiceMeProjectExtractTemplateResult, ServiceMeProjectInstallDepsResult, ServiceMeProjectMakeScriptsExecutableResult, ServiceMeProjectGitInitResult, ServiceMeProjectScaffoldPruneResult, TaskExecutionStatus, ScheduledTaskType, TaskPayload, TaskWorkspaceRef, ScheduledTasksConfig, ScheduledTask, TaskExecutionLog, TaskStartedEventParams, TaskOutputEventParams, TaskCompletedEventParams, TaskFailedEventParams, TaskCancelledEventParams, TaskExecutionSnapshot, RunningTaskInfo, SkillMarketplaceEntry, SkillMutationRequest } from '@serviceme/devtools-protocol';
3
3
  import * as fs from 'node:fs/promises';
4
- export { AccessCheckResult, AccessControl, AccessControlOptions, AuthCore, AuthCoreOptions, AuthStateManager, AuthStateManagerOptions, CancellationCheck, DeviceFlowUiCallback, GitHubAuthProvider, GitHubAuthProviderConfig, IAuthProvider, IAuthProviderSession, IAuthProviderUserInfo, InMemoryKeychainAuthTokenStore, KeyValueStore, KeychainAccountKey, KeychainAuthTokenStore, KeychainTokenEnvelope, KeychainTokenMetadata, KeychainUnavailableError, MicrosoftAuthProvider, MicrosoftProviderNotHostedError, OrgMembershipFetcher, ProviderRegistry, buildGitHubLocalEmail, isGitHubLocalEmail, resolvePrimaryEmail } from './auth.js';
4
+ export { A as AccessCheckResult, a as AccessControl, b as AccessControlOptions, c as AuthCore, d as AuthCoreOptions, e as AuthStateManager, f as AuthStateManagerOptions, C as CancellationCheck, D as DeviceFlowUiCallback, G as GitHubAuthProvider, g as GitHubAuthProviderConfig, I as IAuthProvider, h as IAuthProviderSession, i as IAuthProviderUserInfo, j as InMemoryKeychainAuthTokenStore, K as KeyValueStore, k as KeychainAccountKey, l as KeychainAuthTokenStore, m as KeychainTokenEnvelope, n as KeychainTokenMetadata, o as KeychainUnavailableError, M as MicrosoftAuthProvider, p as MicrosoftProviderNotHostedError, O as OrgMembershipFetcher, P as ProviderRegistry, S as ServiceMeLogger, q as buildGitHubLocalEmail, r as createConsoleLogger, s as isGitHubLocalEmail, t as noopLogger, u as resolvePrimaryEmail } from './index-87-_JvQi.js';
5
5
  export { AtomicWriteResult, BuildSignedHeadersParams, DEVICE_JSON_SCHEMA_VERSION, DeviceAuthHeaders, DeviceCore, DeviceCoreOptions, DeviceReenrollRequiresAuthError, DeviceRequestSignatureParams, DeviceSecretVersionMismatchError, DeviceSignedHeaders, EnrollRequestFn, EnrollResponse, Enroller, EnrollerOptions, FsIdentityFileBackend, IdentityFileBackend, IdentityStore, IdentityStoreHooks, IdentityStoreOptions, PersistedDeviceIdentity, buildSignedHeaders, createDeviceRequestSignature, deriveInstallationId, fingerprintSource, randomInstallationId } from './device.js';
6
6
  import { c as SkillKind, b as SkillFile } from './types-B9gk3dXH.js';
7
- import { G as GitClient, P as PullResult } from './index-BmxS1A9G.js';
8
- export { a as GitError, N as NodeGitSpawner, S as StubGitSpawner, b as SubmitClient, c as SubmitClientOptions, d as SubmitError, e as SubmitOptions, f as SubmitResult, t as toFileUrl } from './index-BmxS1A9G.js';
7
+ import { G as GitClient, P as PullResult } from './index-CR1hbAnO.js';
8
+ export { a as GIT_PROXY_PATH_SUFFIX, b as GitError, N as NodeGitSpawner, S as StubGitSpawner, c as SubmitClient, d as SubmitClientOptions, e as SubmitError, f as SubmitOptions, g as SubmitResult, h as buildGitProxyBase, t as toFileUrl } from './index-CR1hbAnO.js';
9
9
  import * as fs$1 from 'node:fs';
10
10
  import { z } from 'zod';
11
11
  export { BUILTIN_DEFAULT_TOOLS, DefaultToolImmutableError, DefaultToolSeed, FsToolboxFileBackend, PersistedToolbox, ResolvedToolbox, TOOLBOX_JSON_SCHEMA_VERSION, ToolboxCore, ToolboxCoreOptions, ToolboxFileBackend, ToolboxPatch, ToolboxStore, ToolboxStoreHooks, ToolboxStoreOptions, WORKSPACE_TOOLBOX_RELATIVE_PATH, mergeWithDefaults, reindexOrder, sortByRecentFirst, sortByUserOrder, touchLastUsedAt } from './toolbox.js';
@@ -254,14 +254,23 @@ interface EnvironmentInspectorOptions {
254
254
  * use this to exercise the Windows-specific branches of the inspector.
255
255
  */
256
256
  platform?: NodeJS.Platform;
257
+ /**
258
+ * Override the value returned by `$SHELL` for POSIX login-shell
259
+ * fallbacks. Defaults to `process.env.SHELL`. Tests pin this so the
260
+ * fallback chain stays deterministic regardless of the developer's
261
+ * host machine.
262
+ */
263
+ shell?: string;
257
264
  }
258
265
  declare class EnvironmentInspector {
259
266
  private readonly runCommandFn;
260
267
  private readonly platform;
268
+ private readonly shell;
261
269
  constructor(options?: EnvironmentInspectorOptions);
262
270
  checkEnvironment(): Promise<EnvironmentCheckResult>;
263
271
  checkTool(toolName: KnownEnvironmentTool): Promise<ToolCheckResult>;
264
272
  private getToolPath;
273
+ private getToolPathFromLoginShell;
265
274
  /**
266
275
  * On Windows, prefer the `.cmd` shim for npm/pnpm/nrm. nvm4w registers
267
276
  * BOTH an extensionless entry (pointing to node.exe) and a `<tool>.cmd`
@@ -270,6 +279,7 @@ declare class EnvironmentInspector {
270
279
  */
271
280
  private getToolShimPath;
272
281
  private getToolVersion;
282
+ private shouldUsePosixLoginShellFallback;
273
283
  private checkNvm;
274
284
  private checkNuget;
275
285
  private getVersionInvocation;
@@ -298,15 +308,6 @@ interface JsonTools {
298
308
  }
299
309
  declare function createJsonTools(): JsonTools;
300
310
 
301
- interface ServiceMeLogger {
302
- debug(message: string, ...args: unknown[]): void;
303
- info(message: string, ...args: unknown[]): void;
304
- warn(message: string, ...args: unknown[]): void;
305
- error(message: string, ...args: unknown[]): void;
306
- }
307
- declare const noopLogger: ServiceMeLogger;
308
- declare function createConsoleLogger(prefix?: string): ServiceMeLogger;
309
-
310
311
  /**
311
312
  * SERVICEME user home directory helpers.
312
313
  *
@@ -669,10 +670,10 @@ declare const defaultRepoSchema: z.ZodObject<{
669
670
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
670
671
  lastSyncError: z.ZodOptional<z.ZodString>;
671
672
  }, "strip", z.ZodTypeAny, {
673
+ name: string;
672
674
  id: string;
673
675
  description: string;
674
676
  source: "default";
675
- name: string;
676
677
  url: string;
677
678
  branch: string;
678
679
  enabled: boolean;
@@ -684,10 +685,10 @@ declare const defaultRepoSchema: z.ZodObject<{
684
685
  lastSyncStatus?: "ok" | "error" | undefined;
685
686
  lastSyncError?: string | undefined;
686
687
  }, {
688
+ name: string;
687
689
  id: string;
688
690
  description: string;
689
691
  source: "default";
690
- name: string;
691
692
  url: string;
692
693
  branch: string;
693
694
  enabled: boolean;
@@ -714,9 +715,9 @@ declare const userRepoSchema: z.ZodObject<{
714
715
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
715
716
  lastSyncError: z.ZodOptional<z.ZodString>;
716
717
  }, "strip", z.ZodTypeAny, {
718
+ name: string;
717
719
  id: string;
718
720
  source: "user";
719
- name: string;
720
721
  url: string;
721
722
  branch: string;
722
723
  enabled: boolean;
@@ -728,9 +729,9 @@ declare const userRepoSchema: z.ZodObject<{
728
729
  lastSyncStatus?: "ok" | "error" | undefined;
729
730
  lastSyncError?: string | undefined;
730
731
  }, {
732
+ name: string;
731
733
  id: string;
732
734
  source: "user";
733
- name: string;
734
735
  url: string;
735
736
  branch: string;
736
737
  enabled: boolean;
@@ -758,10 +759,10 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
758
759
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
759
760
  lastSyncError: z.ZodOptional<z.ZodString>;
760
761
  }, "strip", z.ZodTypeAny, {
762
+ name: string;
761
763
  id: string;
762
764
  description: string;
763
765
  source: "default";
764
- name: string;
765
766
  url: string;
766
767
  branch: string;
767
768
  enabled: boolean;
@@ -773,10 +774,10 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
773
774
  lastSyncStatus?: "ok" | "error" | undefined;
774
775
  lastSyncError?: string | undefined;
775
776
  }, {
777
+ name: string;
776
778
  id: string;
777
779
  description: string;
778
780
  source: "default";
779
- name: string;
780
781
  url: string;
781
782
  branch: string;
782
783
  enabled: boolean;
@@ -802,9 +803,9 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
802
803
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
803
804
  lastSyncError: z.ZodOptional<z.ZodString>;
804
805
  }, "strip", z.ZodTypeAny, {
806
+ name: string;
805
807
  id: string;
806
808
  source: "user";
807
- name: string;
808
809
  url: string;
809
810
  branch: string;
810
811
  enabled: boolean;
@@ -816,9 +817,9 @@ declare const repoSchema: z.ZodDiscriminatedUnion<"source", [z.ZodObject<{
816
817
  lastSyncStatus?: "ok" | "error" | undefined;
817
818
  lastSyncError?: string | undefined;
818
819
  }, {
820
+ name: string;
819
821
  id: string;
820
822
  source: "user";
821
- name: string;
822
823
  url: string;
823
824
  branch: string;
824
825
  enabled: boolean;
@@ -849,10 +850,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
849
850
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
850
851
  lastSyncError: z.ZodOptional<z.ZodString>;
851
852
  }, "strip", z.ZodTypeAny, {
853
+ name: string;
852
854
  id: string;
853
855
  description: string;
854
856
  source: "default";
855
- name: string;
856
857
  url: string;
857
858
  branch: string;
858
859
  enabled: boolean;
@@ -864,10 +865,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
864
865
  lastSyncStatus?: "ok" | "error" | undefined;
865
866
  lastSyncError?: string | undefined;
866
867
  }, {
868
+ name: string;
867
869
  id: string;
868
870
  description: string;
869
871
  source: "default";
870
- name: string;
871
872
  url: string;
872
873
  branch: string;
873
874
  enabled: boolean;
@@ -893,9 +894,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
893
894
  lastSyncStatus: z.ZodOptional<z.ZodEnum<["ok", "error"]>>;
894
895
  lastSyncError: z.ZodOptional<z.ZodString>;
895
896
  }, "strip", z.ZodTypeAny, {
897
+ name: string;
896
898
  id: string;
897
899
  source: "user";
898
- name: string;
899
900
  url: string;
900
901
  branch: string;
901
902
  enabled: boolean;
@@ -907,9 +908,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
907
908
  lastSyncStatus?: "ok" | "error" | undefined;
908
909
  lastSyncError?: string | undefined;
909
910
  }, {
911
+ name: string;
910
912
  id: string;
911
913
  source: "user";
912
- name: string;
913
914
  url: string;
914
915
  branch: string;
915
916
  enabled: boolean;
@@ -924,10 +925,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
924
925
  }, "strip", z.ZodTypeAny, {
925
926
  version: 1;
926
927
  repos: ({
928
+ name: string;
927
929
  id: string;
928
930
  description: string;
929
931
  source: "default";
930
- name: string;
931
932
  url: string;
932
933
  branch: string;
933
934
  enabled: boolean;
@@ -939,9 +940,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
939
940
  lastSyncStatus?: "ok" | "error" | undefined;
940
941
  lastSyncError?: string | undefined;
941
942
  } | {
943
+ name: string;
942
944
  id: string;
943
945
  source: "user";
944
- name: string;
945
946
  url: string;
946
947
  branch: string;
947
948
  enabled: boolean;
@@ -957,10 +958,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
957
958
  }, {
958
959
  version: 1;
959
960
  repos: ({
961
+ name: string;
960
962
  id: string;
961
963
  description: string;
962
964
  source: "default";
963
- name: string;
964
965
  url: string;
965
966
  branch: string;
966
967
  enabled: boolean;
@@ -972,9 +973,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
972
973
  lastSyncStatus?: "ok" | "error" | undefined;
973
974
  lastSyncError?: string | undefined;
974
975
  } | {
976
+ name: string;
975
977
  id: string;
976
978
  source: "user";
977
- name: string;
978
979
  url: string;
979
980
  branch: string;
980
981
  enabled: boolean;
@@ -990,10 +991,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
990
991
  }>, {
991
992
  version: 1;
992
993
  repos: ({
994
+ name: string;
993
995
  id: string;
994
996
  description: string;
995
997
  source: "default";
996
- name: string;
997
998
  url: string;
998
999
  branch: string;
999
1000
  enabled: boolean;
@@ -1005,9 +1006,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
1005
1006
  lastSyncStatus?: "ok" | "error" | undefined;
1006
1007
  lastSyncError?: string | undefined;
1007
1008
  } | {
1009
+ name: string;
1008
1010
  id: string;
1009
1011
  source: "user";
1010
- name: string;
1011
1012
  url: string;
1012
1013
  branch: string;
1013
1014
  enabled: boolean;
@@ -1023,10 +1024,10 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
1023
1024
  }, {
1024
1025
  version: 1;
1025
1026
  repos: ({
1027
+ name: string;
1026
1028
  id: string;
1027
1029
  description: string;
1028
1030
  source: "default";
1029
- name: string;
1030
1031
  url: string;
1031
1032
  branch: string;
1032
1033
  enabled: boolean;
@@ -1038,9 +1039,9 @@ declare const reposFileSchema: z.ZodEffects<z.ZodObject<{
1038
1039
  lastSyncStatus?: "ok" | "error" | undefined;
1039
1040
  lastSyncError?: string | undefined;
1040
1041
  } | {
1042
+ name: string;
1041
1043
  id: string;
1042
1044
  source: "user";
1043
- name: string;
1044
1045
  url: string;
1045
1046
  branch: string;
1046
1047
  enabled: boolean;
@@ -1929,4 +1930,4 @@ declare class SkillStore {
1929
1930
  declare const unzipFile: (zipPath: string, dest: string) => Promise<void>;
1930
1931
  declare const moveFiles: (sourceDir: string, destDir: string, overwrite?: boolean) => Promise<void>;
1931
1932
 
1932
- export { AGENT_DRAFTS_SUBDIR, type AddUserRepoInput, type AddUserRepoResult, type AgentCatalog, AgentCatalogClient, type AgentCatalogClientOptions, type AgentDownloadFile, type AgentInstallScope, type AgentMutateResult, AgentReconciler, type AgentReconcilerDependencies, AgentStore, type AgentStoreFileSystem, type AgentStoreOptions, type AgentsStateFile, type AnyRepoConfig, type AppendLogInput, type BootstrapPhase5Result, CACHE_SUBDIR, CREDENTIALS_CONFIG_FILENAME, CannotRemoveDefaultRepoError, type CreateTaskInput, FIXED_ADDED_AT as DEFAULT_REPO_FIXED_ADDED_AT, DEFAULT_REPO_ID, DEVICE_JSON_FILENAME, DRAFTS_SUBDIR, DaemonLogger, type DefaultRepoConfig, type DraftDetail, DraftNotFoundError, type DraftSummary, DraftsError, DraftsStore, type EditTaskInput, EnvironmentInspector, type EnvironmentInspectorOptions, type ExecutorResult, type FsWatcherCallbacks, type FsWatcherHandle, GitClient, GithubCopilotCliExecutor, HttpRequestExecutor, ImageTools, type InstalledAgent, InvalidDraftError, InvalidRepoUrlError, type IsoTimestamp, type JsonTools, KNOWN_WORKSPACES_FILENAME, type LoadResult, MACHINE_ID_FILENAME, MIGRATION_FAILURES_FILENAME, type MigrateToGlobalOptions, type MigrationResult, type OutputEventCallback, PROFILES_JSON_FILENAME, PidManager, type ProbeError, type ProbeOptions, type ProbeResult, ProjectTools, REPOS_CONFIG_FILENAME, REPOS_SUBDIR, RepoAlreadyExistsError, RepoCloneConflictError, type RepoConfig, RepoManager, RepoManagerError, type RepoManagerOptions, RepoNotFoundError, RepoNotInStoreError, type RepoSource, type ReposFile, type ReposFileInput, ReposLoader, type ReposLoaderFileSystem, type ReposLoaderOptions, ReposStore, type ReposStoreChange, type ReposStoreFileSystem, type ReposStoreListener, type ReposStoreOptions, SAFE_REPO_ID_PATTERN, SCHEDULED_TASKS_CONFIG_FILENAME, SCHEDULED_TASKS_LOG_FILENAME, SCHEDULER_LOCK_FILENAME, SCHEDULER_LOG_FILENAME, SCHEDULER_PID_FILENAME, SERVER_PROXY_GLOBAL_FILENAME, SERVICEME_DIR_NAME, SERVICEME_HOME_ENV, SKILL_DRAFTS_SUBDIR, type SaveDraftOptions, SchedulerDaemon, SchedulerDaemonV2, type SchedulerDaemonV2Options, type ServerProxyGlobalPatch, type ServerProxyGlobalState, type ServiceMeLogger, ShellExecutor, type SkillCatalog, SkillCatalogClient, type SkillCatalogClientOptions, type SkillDownloadFile, type SkillMutateResult, SkillReconciler, type SkillReconcilerDependencies, SkillStore, type SkillStoreFileSystem, type SkillStoreOptions, type StreamingExecutorHandle, type StreamingTaskExecutor, type SyncReport, type SyncStatus, TOOLBOX_JSON_FILENAME, TOOL_RISK_MAP, TaskConfigManager, type TaskEventListener, TaskExecutionEngine, type TaskExecutor, TaskLogManager, type UserRepoConfig, WorkspaceProbe, repoSchema as anyRepoConfigSchema, assertSafeRepoId, bootstrapDefaults, bootstrapPhase5Placeholders, buildDefaultReposFile, copilotDoctor, copilotPrompt, createConsoleLogger, createCopilotAuthRequiredError, createCopilotNotInstalledError, createImageTools, createJsonTools, createProjectTools, createReposStore, defaultRepoSchema as defaultRepoConfigSchema, ensureDefaultsInstalled, generateDraftId, getAgentDraftsDir, getAllDefaultRepoConfigs, getCacheDir, getCredentialsConfigPath, getDefaultRepoConfig, getDeviceJsonPath, getDraftsDir, getExecutor, getHomeDir, getHomePlatform, getKnownWorkspacesPath, getMachineIdPath, getMigrationFailuresPath, getProfilesJsonPath, getRepoCacheDir, getRepoDir, getReposConfigPath, getReposDir, getScheduledTasksConfigPath, getScheduledTasksLogPath, getSchedulerLockPath, getSchedulerLogPath, getSchedulerPidPath, getServerProxyGlobalPath, getServicemeHome, getSkillDraftsDir, getToolboxJsonPath, isCopilotAuthenticated, isDefaultRepo, isStreamingTaskExecutor, isUserRepo, matchesCron, migrateLegacyServerProxyEnabled, migrateToGlobal, moveFiles, narrowRepoConfig, noopLogger, parseAgentToolPermissions, parseIntervalMs, readServerProxyGlobal, reposFileSchema, resetUserHomeOverrides, resolveDraftDir, resolveTaskExecutionPayload, setUserHomeOverrides, unzipFile, userRepoSchema as userRepoConfigSchema, validateReposFile, validateTaskPayload, writeServerProxyGlobal };
1933
+ export { AGENT_DRAFTS_SUBDIR, type AddUserRepoInput, type AddUserRepoResult, type AgentCatalog, AgentCatalogClient, type AgentCatalogClientOptions, type AgentDownloadFile, type AgentInstallScope, type AgentMutateResult, AgentReconciler, type AgentReconcilerDependencies, AgentStore, type AgentStoreFileSystem, type AgentStoreOptions, type AgentsStateFile, type AnyRepoConfig, type AppendLogInput, type BootstrapPhase5Result, CACHE_SUBDIR, CREDENTIALS_CONFIG_FILENAME, CannotRemoveDefaultRepoError, type CreateTaskInput, FIXED_ADDED_AT as DEFAULT_REPO_FIXED_ADDED_AT, DEFAULT_REPO_ID, DEVICE_JSON_FILENAME, DRAFTS_SUBDIR, DaemonLogger, type DefaultRepoConfig, type DraftDetail, DraftNotFoundError, type DraftSummary, DraftsError, DraftsStore, type EditTaskInput, EnvironmentInspector, type EnvironmentInspectorOptions, type ExecutorResult, type FsWatcherCallbacks, type FsWatcherHandle, GitClient, GithubCopilotCliExecutor, HttpRequestExecutor, ImageTools, type InstalledAgent, InvalidDraftError, InvalidRepoUrlError, type IsoTimestamp, type JsonTools, KNOWN_WORKSPACES_FILENAME, type LoadResult, MACHINE_ID_FILENAME, MIGRATION_FAILURES_FILENAME, type MigrateToGlobalOptions, type MigrationResult, type OutputEventCallback, PROFILES_JSON_FILENAME, PidManager, type ProbeError, type ProbeOptions, type ProbeResult, ProjectTools, REPOS_CONFIG_FILENAME, REPOS_SUBDIR, RepoAlreadyExistsError, RepoCloneConflictError, type RepoConfig, RepoManager, RepoManagerError, type RepoManagerOptions, RepoNotFoundError, RepoNotInStoreError, type RepoSource, type ReposFile, type ReposFileInput, ReposLoader, type ReposLoaderFileSystem, type ReposLoaderOptions, ReposStore, type ReposStoreChange, type ReposStoreFileSystem, type ReposStoreListener, type ReposStoreOptions, SAFE_REPO_ID_PATTERN, SCHEDULED_TASKS_CONFIG_FILENAME, SCHEDULED_TASKS_LOG_FILENAME, SCHEDULER_LOCK_FILENAME, SCHEDULER_LOG_FILENAME, SCHEDULER_PID_FILENAME, SERVER_PROXY_GLOBAL_FILENAME, SERVICEME_DIR_NAME, SERVICEME_HOME_ENV, SKILL_DRAFTS_SUBDIR, type SaveDraftOptions, SchedulerDaemon, SchedulerDaemonV2, type SchedulerDaemonV2Options, type ServerProxyGlobalPatch, type ServerProxyGlobalState, ShellExecutor, type SkillCatalog, SkillCatalogClient, type SkillCatalogClientOptions, type SkillDownloadFile, type SkillMutateResult, SkillReconciler, type SkillReconcilerDependencies, SkillStore, type SkillStoreFileSystem, type SkillStoreOptions, type StreamingExecutorHandle, type StreamingTaskExecutor, type SyncReport, type SyncStatus, TOOLBOX_JSON_FILENAME, TOOL_RISK_MAP, TaskConfigManager, type TaskEventListener, TaskExecutionEngine, type TaskExecutor, TaskLogManager, type UserRepoConfig, WorkspaceProbe, repoSchema as anyRepoConfigSchema, assertSafeRepoId, bootstrapDefaults, bootstrapPhase5Placeholders, buildDefaultReposFile, copilotDoctor, copilotPrompt, createCopilotAuthRequiredError, createCopilotNotInstalledError, createImageTools, createJsonTools, createProjectTools, createReposStore, defaultRepoSchema as defaultRepoConfigSchema, ensureDefaultsInstalled, generateDraftId, getAgentDraftsDir, getAllDefaultRepoConfigs, getCacheDir, getCredentialsConfigPath, getDefaultRepoConfig, getDeviceJsonPath, getDraftsDir, getExecutor, getHomeDir, getHomePlatform, getKnownWorkspacesPath, getMachineIdPath, getMigrationFailuresPath, getProfilesJsonPath, getRepoCacheDir, getRepoDir, getReposConfigPath, getReposDir, getScheduledTasksConfigPath, getScheduledTasksLogPath, getSchedulerLockPath, getSchedulerLogPath, getSchedulerPidPath, getServerProxyGlobalPath, getServicemeHome, getSkillDraftsDir, getToolboxJsonPath, isCopilotAuthenticated, isDefaultRepo, isStreamingTaskExecutor, isUserRepo, matchesCron, migrateLegacyServerProxyEnabled, migrateToGlobal, moveFiles, narrowRepoConfig, parseAgentToolPermissions, parseIntervalMs, readServerProxyGlobal, reposFileSchema, resetUserHomeOverrides, resolveDraftDir, resolveTaskExecutionPayload, setUserHomeOverrides, unzipFile, userRepoSchema as userRepoConfigSchema, validateReposFile, validateTaskPayload, writeServerProxyGlobal };