@serviceme/devtools-shared 0.4.10 → 0.4.11
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 +127 -11
- package/dist/index.d.ts +127 -11
- package/dist/index.js +37 -1
- package/dist/index.mjs +33 -1
- package/package.json +4 -1
package/dist/index.d.mts
CHANGED
|
@@ -929,6 +929,67 @@ interface CertificateBundleEnvironmentSupport {
|
|
|
929
929
|
defaultPassword: string;
|
|
930
930
|
}
|
|
931
931
|
|
|
932
|
+
/**
|
|
933
|
+
* Medalsoft-internal infrastructure addresses.
|
|
934
|
+
*
|
|
935
|
+
* These are **private-network only** endpoints — reachable from the
|
|
936
|
+
* company LAN/VPN, NOT from the public internet. External users must
|
|
937
|
+
* use the public equivalents (`nexus.servicemecloud.com`, …). Keeping
|
|
938
|
+
* them as named constants here (instead of inlined literals) gives a
|
|
939
|
+
* single place to update when the internal fleet moves, and makes the
|
|
940
|
+
* "this is an internal address" intent explicit at every use site.
|
|
941
|
+
*
|
|
942
|
+
* NOTE: `packages/serviceme-core` keeps its own copies of the ones it
|
|
943
|
+
* needs — ADL-003 forbids core → shared. Keep those in lock-step.
|
|
944
|
+
*/
|
|
945
|
+
/** Medalsoft 内网 LLM 网关(OpenAI-compatible `/v1`),仅办公网可达。 */
|
|
946
|
+
declare const MEDALSOFT_PRIVATE_GATEWAY_URL = "http://10.10.10.249:3000/v1";
|
|
947
|
+
/** Medalsoft 私有 NuGet 源,仅办公网可达。 */
|
|
948
|
+
declare const MEDALSOFT_NUGET_PRIVATE_SOURCE = "http://192.168.20.209:10010/nuget";
|
|
949
|
+
|
|
950
|
+
/**
|
|
951
|
+
* Device-auth wire contract shared by the extension (signer) and the
|
|
952
|
+
* server (verifier).
|
|
953
|
+
*
|
|
954
|
+
* Single source of truth for the `x-ms-device-*` header names and the
|
|
955
|
+
* HMAC-SHA-256 request-signature algorithm. Previously the same
|
|
956
|
+
* constants + function were copy-pasted in three places
|
|
957
|
+
* (extension `services/device/deviceAuth.ts`, core `device/deviceAuth.ts`,
|
|
958
|
+
* server `lib/auth/device-signature-guard.ts`) and kept in sync by
|
|
959
|
+
* comments alone. Server and extension now import from here.
|
|
960
|
+
*
|
|
961
|
+
* NOTE: `packages/serviceme-core/src/device/deviceAuth.ts` keeps its own
|
|
962
|
+
* copy — ADL-003 forbids core → shared (and shared → core) so the core
|
|
963
|
+
* copy is a documented boundary exception. Keep it in lock-step with
|
|
964
|
+
* this file. See `docs/architecture/phase-5-device-header-spec.md` §5
|
|
965
|
+
* for the wire format.
|
|
966
|
+
*/
|
|
967
|
+
/** Canonical header names — MUST match the server's verifier. */
|
|
968
|
+
declare const DeviceAuthHeaders: {
|
|
969
|
+
readonly deviceId: "x-ms-device-id";
|
|
970
|
+
readonly deviceSecret: "x-ms-device-secret";
|
|
971
|
+
readonly signature: "x-ms-device-signature";
|
|
972
|
+
readonly timestamp: "x-ms-device-timestamp";
|
|
973
|
+
readonly secretVersion: "x-ms-device-secret-version";
|
|
974
|
+
};
|
|
975
|
+
interface DeviceRequestSignatureParams {
|
|
976
|
+
method: string;
|
|
977
|
+
path: string;
|
|
978
|
+
timestamp: number;
|
|
979
|
+
body: string;
|
|
980
|
+
secret: string;
|
|
981
|
+
}
|
|
982
|
+
/**
|
|
983
|
+
* Basis is `METHOD\nPATH\nTIMESTAMP\nBODY\nSECRET` (LF-joined, NOT JSON).
|
|
984
|
+
* Output is lowercase hex SHA-256.
|
|
985
|
+
*
|
|
986
|
+
* Uses `js-sha256` (pure JS, synchronous, browser + Node) instead of
|
|
987
|
+
* `node:crypto` so this module stays importable from the webview (the
|
|
988
|
+
* shared barrel is consumed by browser bundles — `node:crypto` breaks
|
|
989
|
+
* the vite/rollup build).
|
|
990
|
+
*/
|
|
991
|
+
declare function createDeviceRequestSignature(params: DeviceRequestSignatureParams): string;
|
|
992
|
+
|
|
932
993
|
/**
|
|
933
994
|
* Git URL Utilities
|
|
934
995
|
*
|
|
@@ -1299,6 +1360,52 @@ interface BridgeRepoSyncPull {
|
|
|
1299
1360
|
error?: string;
|
|
1300
1361
|
}
|
|
1301
1362
|
|
|
1363
|
+
/**
|
|
1364
|
+
* Webview ↔ extension message-contract types.
|
|
1365
|
+
*
|
|
1366
|
+
* These three payload shapes travel across the postMessage boundary
|
|
1367
|
+
* (broadcast messages like `updateExternalTools` / `updateAzureProfiles`
|
|
1368
|
+
* / `updateApiConfig`). They used to live in
|
|
1369
|
+
* `apps/webview-ui/src/types` only — the extension-side handlers typed
|
|
1370
|
+
* them implicitly via `data` destructuring, so the contract was
|
|
1371
|
+
* duplicated by convention and drifted silently. Moving them here makes
|
|
1372
|
+
* `@serviceme/devtools-shared` the single source of truth, and lets the
|
|
1373
|
+
* `WebviewInboundMessage` discriminated union (messages.ts) type the
|
|
1374
|
+
* corresponding broadcast variants without a `as` cast at the consumer.
|
|
1375
|
+
*
|
|
1376
|
+
* NOTE: `apps/webview-ui/src/types/index.ts` re-exports these so
|
|
1377
|
+
* existing webview imports keep working unchanged.
|
|
1378
|
+
*/
|
|
1379
|
+
interface ExternalTool {
|
|
1380
|
+
id: string;
|
|
1381
|
+
name: string;
|
|
1382
|
+
url: string;
|
|
1383
|
+
description?: string;
|
|
1384
|
+
icon?: string;
|
|
1385
|
+
isDefault?: boolean;
|
|
1386
|
+
}
|
|
1387
|
+
interface AzureProfile {
|
|
1388
|
+
id: string;
|
|
1389
|
+
name: string;
|
|
1390
|
+
method: "FTP" | "MSDeploy";
|
|
1391
|
+
host: string;
|
|
1392
|
+
username?: string;
|
|
1393
|
+
password?: string;
|
|
1394
|
+
remotePath?: string;
|
|
1395
|
+
port?: number;
|
|
1396
|
+
}
|
|
1397
|
+
interface ApiConfig {
|
|
1398
|
+
schemaPath: string;
|
|
1399
|
+
requestLibPath?: string;
|
|
1400
|
+
projectName?: string;
|
|
1401
|
+
namespace?: string;
|
|
1402
|
+
serversPath?: string;
|
|
1403
|
+
apiPrefix?: string;
|
|
1404
|
+
mock?: boolean;
|
|
1405
|
+
templatesFolder?: string;
|
|
1406
|
+
enumStyle?: "string-literal" | "enum";
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1302
1409
|
declare enum WebviewMessageType {
|
|
1303
1410
|
WebviewReady = "webviewReady",
|
|
1304
1411
|
Ready = "ready",
|
|
@@ -1645,18 +1752,15 @@ interface ByomProviderToggles {
|
|
|
1645
1752
|
cacheEnabled: boolean;
|
|
1646
1753
|
}
|
|
1647
1754
|
/**
|
|
1648
|
-
* Strict-typed shape for the inbound messages
|
|
1649
|
-
* `useAppMessages`.
|
|
1650
|
-
*
|
|
1651
|
-
*
|
|
1652
|
-
* `
|
|
1653
|
-
*
|
|
1654
|
-
* `apps/webview-ui/src/types` (ExternalTool, AzureProfile, ApiConfig) stay
|
|
1655
|
-
* on the enum path for now — moving those types into `@serviceme/devtools-shared` is
|
|
1656
|
-
* its own refactor and not in scope.
|
|
1755
|
+
* Strict-typed shape for the inbound messages handled by
|
|
1756
|
+
* `useAppMessages`. Covers the 8 variants whose payload types now live
|
|
1757
|
+
* in `@serviceme/devtools-shared` (`webview-contract.ts` holds the
|
|
1758
|
+
* ExternalTool / AzureProfile / ApiConfig shapes). The string-keyed
|
|
1759
|
+
* `WebviewMessageType` enum stays in place for the remaining enum-path
|
|
1760
|
+
* call sites across `apps/webview-ui` and `apps/extension`.
|
|
1657
1761
|
*
|
|
1658
1762
|
* Each variant lists ONLY the fields the hook actually reads; optional
|
|
1659
|
-
* fields are explicit (`
|
|
1763
|
+
* fields are explicit (`tools?` / `profiles?` / `workspaceOpen`).
|
|
1660
1764
|
*/
|
|
1661
1765
|
type WebviewInboundMessage = {
|
|
1662
1766
|
type: typeof WebviewMessageType.UpdateRepositoryList;
|
|
@@ -1672,6 +1776,18 @@ type WebviewInboundMessage = {
|
|
|
1672
1776
|
type: typeof WebviewMessageType.UpdateLinkedSkills;
|
|
1673
1777
|
links: LinkedSkillPayloadEntry[];
|
|
1674
1778
|
kind: "skill" | "agent";
|
|
1779
|
+
} | {
|
|
1780
|
+
type: typeof WebviewMessageType.UpdateExternalTools;
|
|
1781
|
+
tools?: ExternalTool[];
|
|
1782
|
+
} | {
|
|
1783
|
+
type: typeof WebviewMessageType.UpdateNgrokStatus;
|
|
1784
|
+
isRunning: boolean;
|
|
1785
|
+
} | {
|
|
1786
|
+
type: typeof WebviewMessageType.UpdateAzureProfiles;
|
|
1787
|
+
profiles?: AzureProfile[];
|
|
1788
|
+
} | {
|
|
1789
|
+
type: typeof WebviewMessageType.UpdateApiConfig;
|
|
1790
|
+
config: ApiConfig;
|
|
1675
1791
|
};
|
|
1676
1792
|
/**
|
|
1677
1793
|
* One entry inside the `UpdateLinkedSkills.links` array. Mirrors the
|
|
@@ -1744,4 +1860,4 @@ declare function asAbortSignal(input: unknown): AbortSignal | undefined;
|
|
|
1744
1860
|
*/
|
|
1745
1861
|
declare function safeJson<T>(text: string, fallback: T): T;
|
|
1746
1862
|
|
|
1747
|
-
export { type AIModelConfig, type AIModelInfo, type AgentPermissionSummary, type AgentToolPermission, type AgentToolRiskLevel, BUILTIN_PROVIDER_PRESETS, type BalanceEntry, type BridgeLinkMode, type BridgeLinkedSkill, type BridgeRepoEntry, type BridgeRepoSyncPull, type BridgeSkillKind, type BridgeSkillRepoEntry, type BridgeSkillRepoFile, type ByomProviderToggles, ByomSettingsResponse, type ByomSettingsSnapshot, type ByomTogglePayload, CERTIFICATE_BUNDLE_FORMATS, CachedServerUrlResponse, type CachedServerUrlSnapshot, type CertificateBundleEnvironmentSupport, type CertificateBundleFormat, type CertificateBundleFormatDescriptor, type CodingPlanUsage, type CommandPayload, type CuratedModelMetadata, type DeepseekBalanceEntry, type DeepseekUsage, type DownloadCertificateBundleRequest, type DownloadCertificateBundleResponse, GIT_REMOTE_HOST_ALIASES, type GenericBalanceUsage, GetByomSettings, GetCachedServerUrl, GetServerProxyState, GetUtilityModels, type GitHubOrgMembershipCheckResult, type GitHubOrgMembershipStatus, type GitHubUser, type GithubCopilotCliPayload, type HttpRequestPayload, type ILogger, LISTABLE_PRESET_MODELS, type LinkedSkillPayloadEntry, LogLevel, MODEL_METADATA, type MinimaxUsage, type ModelDetail, type ModelPriceCategory, type ModelPricing, type ModelThinkingSchema, NAMESPACE_ALIASES, NAMESPACE_ALIAS_FAMILY, PRESET_MODEL_FAMILIES, PROVIDER_BASE_URL_PRESETS, PROVIDER_CACHE_CONTROL_METADATA, type PresetModelFamilyGroup, type PresetModelListing, type ProviderBaseUrlPreset, type ProviderCacheControlMetadata, type ProviderConfig, type ProviderModel, type ProviderMutationPayload, type ProviderTestResult, type ProviderType, type ProviderUsageData, type ProviderUsageKind, type ProviderUsageResult, type ProviderVisionMode, type ProviderWireProtocol, type ProvidersResponsePayload, type PublicProvider, type ScheduledTask, type ScheduledTaskType, type ScheduledTaskV1, type ScheduledTasksConfig, type ScheduledTasksLogFile, type ServerProxyAllowOverridePayload, type ServerProxySnapshot, ServerProxyStateResponse, type ServerProxySupportMode, type ServerProxyTogglePayload, SetCacheControlEnabled, SetServerProxyAllowOverride, SetServerProxyEnabled, type ShellPayload, type TaskExecutionLog, type TaskExecutionState, type TaskExecutionStatus, type TaskPayload, type TaskRunStatus, type TaskWorkspaceRef, UpdateUtilityModels, type UpdateUtilityModelsPayload, type UsageWindow, type UtilityModelScope, type UtilityModelsEffective, UtilityModelsResponse, type UtilityModelsSnapshot, type UtilityModelsSource, type WebviewInboundMessage, WebviewMessageType, __internal, asAbortSignal, buildGitHubLocalEmail, buildPresetModel, checkGitHubOrgMembership, createConsoleLogger, currencyForBaseUrl, effectiveAdapterType, fetchGitHubUser, getBuiltinProviderPreset, getGitHubOrgMembership, getPresetModelDisplayName, getProviderBaseUrlPresets, isGitHubLocalEmail, isProviderCacheControlAware, isValidCanonicalSlug, listPresetModelGroups, lookupModelMetadata, normalizeCanonicalSlug, normalizeErrorForLog, normalizeGitUrl, parsePayload, protocolForBaseUrl, resolvePrimaryEmail, safeJson, unionProviderModelWithPreset };
|
|
1863
|
+
export { type AIModelConfig, type AIModelInfo, type AgentPermissionSummary, type AgentToolPermission, type AgentToolRiskLevel, type ApiConfig, type AzureProfile, BUILTIN_PROVIDER_PRESETS, type BalanceEntry, type BridgeLinkMode, type BridgeLinkedSkill, type BridgeRepoEntry, type BridgeRepoSyncPull, type BridgeSkillKind, type BridgeSkillRepoEntry, type BridgeSkillRepoFile, type ByomProviderToggles, ByomSettingsResponse, type ByomSettingsSnapshot, type ByomTogglePayload, CERTIFICATE_BUNDLE_FORMATS, CachedServerUrlResponse, type CachedServerUrlSnapshot, type CertificateBundleEnvironmentSupport, type CertificateBundleFormat, type CertificateBundleFormatDescriptor, type CodingPlanUsage, type CommandPayload, type CuratedModelMetadata, type DeepseekBalanceEntry, type DeepseekUsage, DeviceAuthHeaders, type DeviceRequestSignatureParams, type DownloadCertificateBundleRequest, type DownloadCertificateBundleResponse, type ExternalTool, GIT_REMOTE_HOST_ALIASES, type GenericBalanceUsage, GetByomSettings, GetCachedServerUrl, GetServerProxyState, GetUtilityModels, type GitHubOrgMembershipCheckResult, type GitHubOrgMembershipStatus, type GitHubUser, type GithubCopilotCliPayload, type HttpRequestPayload, type ILogger, LISTABLE_PRESET_MODELS, type LinkedSkillPayloadEntry, LogLevel, MEDALSOFT_NUGET_PRIVATE_SOURCE, MEDALSOFT_PRIVATE_GATEWAY_URL, MODEL_METADATA, type MinimaxUsage, type ModelDetail, type ModelPriceCategory, type ModelPricing, type ModelThinkingSchema, NAMESPACE_ALIASES, NAMESPACE_ALIAS_FAMILY, PRESET_MODEL_FAMILIES, PROVIDER_BASE_URL_PRESETS, PROVIDER_CACHE_CONTROL_METADATA, type PresetModelFamilyGroup, type PresetModelListing, type ProviderBaseUrlPreset, type ProviderCacheControlMetadata, type ProviderConfig, type ProviderModel, type ProviderMutationPayload, type ProviderTestResult, type ProviderType, type ProviderUsageData, type ProviderUsageKind, type ProviderUsageResult, type ProviderVisionMode, type ProviderWireProtocol, type ProvidersResponsePayload, type PublicProvider, type ScheduledTask, type ScheduledTaskType, type ScheduledTaskV1, type ScheduledTasksConfig, type ScheduledTasksLogFile, type ServerProxyAllowOverridePayload, type ServerProxySnapshot, ServerProxyStateResponse, type ServerProxySupportMode, type ServerProxyTogglePayload, SetCacheControlEnabled, SetServerProxyAllowOverride, SetServerProxyEnabled, type ShellPayload, type TaskExecutionLog, type TaskExecutionState, type TaskExecutionStatus, type TaskPayload, type TaskRunStatus, type TaskWorkspaceRef, UpdateUtilityModels, type UpdateUtilityModelsPayload, type UsageWindow, type UtilityModelScope, type UtilityModelsEffective, UtilityModelsResponse, type UtilityModelsSnapshot, type UtilityModelsSource, type WebviewInboundMessage, WebviewMessageType, __internal, asAbortSignal, buildGitHubLocalEmail, buildPresetModel, checkGitHubOrgMembership, createConsoleLogger, createDeviceRequestSignature, currencyForBaseUrl, effectiveAdapterType, fetchGitHubUser, getBuiltinProviderPreset, getGitHubOrgMembership, getPresetModelDisplayName, getProviderBaseUrlPresets, isGitHubLocalEmail, isProviderCacheControlAware, isValidCanonicalSlug, listPresetModelGroups, lookupModelMetadata, normalizeCanonicalSlug, normalizeErrorForLog, normalizeGitUrl, parsePayload, protocolForBaseUrl, resolvePrimaryEmail, safeJson, unionProviderModelWithPreset };
|
package/dist/index.d.ts
CHANGED
|
@@ -929,6 +929,67 @@ interface CertificateBundleEnvironmentSupport {
|
|
|
929
929
|
defaultPassword: string;
|
|
930
930
|
}
|
|
931
931
|
|
|
932
|
+
/**
|
|
933
|
+
* Medalsoft-internal infrastructure addresses.
|
|
934
|
+
*
|
|
935
|
+
* These are **private-network only** endpoints — reachable from the
|
|
936
|
+
* company LAN/VPN, NOT from the public internet. External users must
|
|
937
|
+
* use the public equivalents (`nexus.servicemecloud.com`, …). Keeping
|
|
938
|
+
* them as named constants here (instead of inlined literals) gives a
|
|
939
|
+
* single place to update when the internal fleet moves, and makes the
|
|
940
|
+
* "this is an internal address" intent explicit at every use site.
|
|
941
|
+
*
|
|
942
|
+
* NOTE: `packages/serviceme-core` keeps its own copies of the ones it
|
|
943
|
+
* needs — ADL-003 forbids core → shared. Keep those in lock-step.
|
|
944
|
+
*/
|
|
945
|
+
/** Medalsoft 内网 LLM 网关(OpenAI-compatible `/v1`),仅办公网可达。 */
|
|
946
|
+
declare const MEDALSOFT_PRIVATE_GATEWAY_URL = "http://10.10.10.249:3000/v1";
|
|
947
|
+
/** Medalsoft 私有 NuGet 源,仅办公网可达。 */
|
|
948
|
+
declare const MEDALSOFT_NUGET_PRIVATE_SOURCE = "http://192.168.20.209:10010/nuget";
|
|
949
|
+
|
|
950
|
+
/**
|
|
951
|
+
* Device-auth wire contract shared by the extension (signer) and the
|
|
952
|
+
* server (verifier).
|
|
953
|
+
*
|
|
954
|
+
* Single source of truth for the `x-ms-device-*` header names and the
|
|
955
|
+
* HMAC-SHA-256 request-signature algorithm. Previously the same
|
|
956
|
+
* constants + function were copy-pasted in three places
|
|
957
|
+
* (extension `services/device/deviceAuth.ts`, core `device/deviceAuth.ts`,
|
|
958
|
+
* server `lib/auth/device-signature-guard.ts`) and kept in sync by
|
|
959
|
+
* comments alone. Server and extension now import from here.
|
|
960
|
+
*
|
|
961
|
+
* NOTE: `packages/serviceme-core/src/device/deviceAuth.ts` keeps its own
|
|
962
|
+
* copy — ADL-003 forbids core → shared (and shared → core) so the core
|
|
963
|
+
* copy is a documented boundary exception. Keep it in lock-step with
|
|
964
|
+
* this file. See `docs/architecture/phase-5-device-header-spec.md` §5
|
|
965
|
+
* for the wire format.
|
|
966
|
+
*/
|
|
967
|
+
/** Canonical header names — MUST match the server's verifier. */
|
|
968
|
+
declare const DeviceAuthHeaders: {
|
|
969
|
+
readonly deviceId: "x-ms-device-id";
|
|
970
|
+
readonly deviceSecret: "x-ms-device-secret";
|
|
971
|
+
readonly signature: "x-ms-device-signature";
|
|
972
|
+
readonly timestamp: "x-ms-device-timestamp";
|
|
973
|
+
readonly secretVersion: "x-ms-device-secret-version";
|
|
974
|
+
};
|
|
975
|
+
interface DeviceRequestSignatureParams {
|
|
976
|
+
method: string;
|
|
977
|
+
path: string;
|
|
978
|
+
timestamp: number;
|
|
979
|
+
body: string;
|
|
980
|
+
secret: string;
|
|
981
|
+
}
|
|
982
|
+
/**
|
|
983
|
+
* Basis is `METHOD\nPATH\nTIMESTAMP\nBODY\nSECRET` (LF-joined, NOT JSON).
|
|
984
|
+
* Output is lowercase hex SHA-256.
|
|
985
|
+
*
|
|
986
|
+
* Uses `js-sha256` (pure JS, synchronous, browser + Node) instead of
|
|
987
|
+
* `node:crypto` so this module stays importable from the webview (the
|
|
988
|
+
* shared barrel is consumed by browser bundles — `node:crypto` breaks
|
|
989
|
+
* the vite/rollup build).
|
|
990
|
+
*/
|
|
991
|
+
declare function createDeviceRequestSignature(params: DeviceRequestSignatureParams): string;
|
|
992
|
+
|
|
932
993
|
/**
|
|
933
994
|
* Git URL Utilities
|
|
934
995
|
*
|
|
@@ -1299,6 +1360,52 @@ interface BridgeRepoSyncPull {
|
|
|
1299
1360
|
error?: string;
|
|
1300
1361
|
}
|
|
1301
1362
|
|
|
1363
|
+
/**
|
|
1364
|
+
* Webview ↔ extension message-contract types.
|
|
1365
|
+
*
|
|
1366
|
+
* These three payload shapes travel across the postMessage boundary
|
|
1367
|
+
* (broadcast messages like `updateExternalTools` / `updateAzureProfiles`
|
|
1368
|
+
* / `updateApiConfig`). They used to live in
|
|
1369
|
+
* `apps/webview-ui/src/types` only — the extension-side handlers typed
|
|
1370
|
+
* them implicitly via `data` destructuring, so the contract was
|
|
1371
|
+
* duplicated by convention and drifted silently. Moving them here makes
|
|
1372
|
+
* `@serviceme/devtools-shared` the single source of truth, and lets the
|
|
1373
|
+
* `WebviewInboundMessage` discriminated union (messages.ts) type the
|
|
1374
|
+
* corresponding broadcast variants without a `as` cast at the consumer.
|
|
1375
|
+
*
|
|
1376
|
+
* NOTE: `apps/webview-ui/src/types/index.ts` re-exports these so
|
|
1377
|
+
* existing webview imports keep working unchanged.
|
|
1378
|
+
*/
|
|
1379
|
+
interface ExternalTool {
|
|
1380
|
+
id: string;
|
|
1381
|
+
name: string;
|
|
1382
|
+
url: string;
|
|
1383
|
+
description?: string;
|
|
1384
|
+
icon?: string;
|
|
1385
|
+
isDefault?: boolean;
|
|
1386
|
+
}
|
|
1387
|
+
interface AzureProfile {
|
|
1388
|
+
id: string;
|
|
1389
|
+
name: string;
|
|
1390
|
+
method: "FTP" | "MSDeploy";
|
|
1391
|
+
host: string;
|
|
1392
|
+
username?: string;
|
|
1393
|
+
password?: string;
|
|
1394
|
+
remotePath?: string;
|
|
1395
|
+
port?: number;
|
|
1396
|
+
}
|
|
1397
|
+
interface ApiConfig {
|
|
1398
|
+
schemaPath: string;
|
|
1399
|
+
requestLibPath?: string;
|
|
1400
|
+
projectName?: string;
|
|
1401
|
+
namespace?: string;
|
|
1402
|
+
serversPath?: string;
|
|
1403
|
+
apiPrefix?: string;
|
|
1404
|
+
mock?: boolean;
|
|
1405
|
+
templatesFolder?: string;
|
|
1406
|
+
enumStyle?: "string-literal" | "enum";
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1302
1409
|
declare enum WebviewMessageType {
|
|
1303
1410
|
WebviewReady = "webviewReady",
|
|
1304
1411
|
Ready = "ready",
|
|
@@ -1645,18 +1752,15 @@ interface ByomProviderToggles {
|
|
|
1645
1752
|
cacheEnabled: boolean;
|
|
1646
1753
|
}
|
|
1647
1754
|
/**
|
|
1648
|
-
* Strict-typed shape for the inbound messages
|
|
1649
|
-
* `useAppMessages`.
|
|
1650
|
-
*
|
|
1651
|
-
*
|
|
1652
|
-
* `
|
|
1653
|
-
*
|
|
1654
|
-
* `apps/webview-ui/src/types` (ExternalTool, AzureProfile, ApiConfig) stay
|
|
1655
|
-
* on the enum path for now — moving those types into `@serviceme/devtools-shared` is
|
|
1656
|
-
* its own refactor and not in scope.
|
|
1755
|
+
* Strict-typed shape for the inbound messages handled by
|
|
1756
|
+
* `useAppMessages`. Covers the 8 variants whose payload types now live
|
|
1757
|
+
* in `@serviceme/devtools-shared` (`webview-contract.ts` holds the
|
|
1758
|
+
* ExternalTool / AzureProfile / ApiConfig shapes). The string-keyed
|
|
1759
|
+
* `WebviewMessageType` enum stays in place for the remaining enum-path
|
|
1760
|
+
* call sites across `apps/webview-ui` and `apps/extension`.
|
|
1657
1761
|
*
|
|
1658
1762
|
* Each variant lists ONLY the fields the hook actually reads; optional
|
|
1659
|
-
* fields are explicit (`
|
|
1763
|
+
* fields are explicit (`tools?` / `profiles?` / `workspaceOpen`).
|
|
1660
1764
|
*/
|
|
1661
1765
|
type WebviewInboundMessage = {
|
|
1662
1766
|
type: typeof WebviewMessageType.UpdateRepositoryList;
|
|
@@ -1672,6 +1776,18 @@ type WebviewInboundMessage = {
|
|
|
1672
1776
|
type: typeof WebviewMessageType.UpdateLinkedSkills;
|
|
1673
1777
|
links: LinkedSkillPayloadEntry[];
|
|
1674
1778
|
kind: "skill" | "agent";
|
|
1779
|
+
} | {
|
|
1780
|
+
type: typeof WebviewMessageType.UpdateExternalTools;
|
|
1781
|
+
tools?: ExternalTool[];
|
|
1782
|
+
} | {
|
|
1783
|
+
type: typeof WebviewMessageType.UpdateNgrokStatus;
|
|
1784
|
+
isRunning: boolean;
|
|
1785
|
+
} | {
|
|
1786
|
+
type: typeof WebviewMessageType.UpdateAzureProfiles;
|
|
1787
|
+
profiles?: AzureProfile[];
|
|
1788
|
+
} | {
|
|
1789
|
+
type: typeof WebviewMessageType.UpdateApiConfig;
|
|
1790
|
+
config: ApiConfig;
|
|
1675
1791
|
};
|
|
1676
1792
|
/**
|
|
1677
1793
|
* One entry inside the `UpdateLinkedSkills.links` array. Mirrors the
|
|
@@ -1744,4 +1860,4 @@ declare function asAbortSignal(input: unknown): AbortSignal | undefined;
|
|
|
1744
1860
|
*/
|
|
1745
1861
|
declare function safeJson<T>(text: string, fallback: T): T;
|
|
1746
1862
|
|
|
1747
|
-
export { type AIModelConfig, type AIModelInfo, type AgentPermissionSummary, type AgentToolPermission, type AgentToolRiskLevel, BUILTIN_PROVIDER_PRESETS, type BalanceEntry, type BridgeLinkMode, type BridgeLinkedSkill, type BridgeRepoEntry, type BridgeRepoSyncPull, type BridgeSkillKind, type BridgeSkillRepoEntry, type BridgeSkillRepoFile, type ByomProviderToggles, ByomSettingsResponse, type ByomSettingsSnapshot, type ByomTogglePayload, CERTIFICATE_BUNDLE_FORMATS, CachedServerUrlResponse, type CachedServerUrlSnapshot, type CertificateBundleEnvironmentSupport, type CertificateBundleFormat, type CertificateBundleFormatDescriptor, type CodingPlanUsage, type CommandPayload, type CuratedModelMetadata, type DeepseekBalanceEntry, type DeepseekUsage, type DownloadCertificateBundleRequest, type DownloadCertificateBundleResponse, GIT_REMOTE_HOST_ALIASES, type GenericBalanceUsage, GetByomSettings, GetCachedServerUrl, GetServerProxyState, GetUtilityModels, type GitHubOrgMembershipCheckResult, type GitHubOrgMembershipStatus, type GitHubUser, type GithubCopilotCliPayload, type HttpRequestPayload, type ILogger, LISTABLE_PRESET_MODELS, type LinkedSkillPayloadEntry, LogLevel, MODEL_METADATA, type MinimaxUsage, type ModelDetail, type ModelPriceCategory, type ModelPricing, type ModelThinkingSchema, NAMESPACE_ALIASES, NAMESPACE_ALIAS_FAMILY, PRESET_MODEL_FAMILIES, PROVIDER_BASE_URL_PRESETS, PROVIDER_CACHE_CONTROL_METADATA, type PresetModelFamilyGroup, type PresetModelListing, type ProviderBaseUrlPreset, type ProviderCacheControlMetadata, type ProviderConfig, type ProviderModel, type ProviderMutationPayload, type ProviderTestResult, type ProviderType, type ProviderUsageData, type ProviderUsageKind, type ProviderUsageResult, type ProviderVisionMode, type ProviderWireProtocol, type ProvidersResponsePayload, type PublicProvider, type ScheduledTask, type ScheduledTaskType, type ScheduledTaskV1, type ScheduledTasksConfig, type ScheduledTasksLogFile, type ServerProxyAllowOverridePayload, type ServerProxySnapshot, ServerProxyStateResponse, type ServerProxySupportMode, type ServerProxyTogglePayload, SetCacheControlEnabled, SetServerProxyAllowOverride, SetServerProxyEnabled, type ShellPayload, type TaskExecutionLog, type TaskExecutionState, type TaskExecutionStatus, type TaskPayload, type TaskRunStatus, type TaskWorkspaceRef, UpdateUtilityModels, type UpdateUtilityModelsPayload, type UsageWindow, type UtilityModelScope, type UtilityModelsEffective, UtilityModelsResponse, type UtilityModelsSnapshot, type UtilityModelsSource, type WebviewInboundMessage, WebviewMessageType, __internal, asAbortSignal, buildGitHubLocalEmail, buildPresetModel, checkGitHubOrgMembership, createConsoleLogger, currencyForBaseUrl, effectiveAdapterType, fetchGitHubUser, getBuiltinProviderPreset, getGitHubOrgMembership, getPresetModelDisplayName, getProviderBaseUrlPresets, isGitHubLocalEmail, isProviderCacheControlAware, isValidCanonicalSlug, listPresetModelGroups, lookupModelMetadata, normalizeCanonicalSlug, normalizeErrorForLog, normalizeGitUrl, parsePayload, protocolForBaseUrl, resolvePrimaryEmail, safeJson, unionProviderModelWithPreset };
|
|
1863
|
+
export { type AIModelConfig, type AIModelInfo, type AgentPermissionSummary, type AgentToolPermission, type AgentToolRiskLevel, type ApiConfig, type AzureProfile, BUILTIN_PROVIDER_PRESETS, type BalanceEntry, type BridgeLinkMode, type BridgeLinkedSkill, type BridgeRepoEntry, type BridgeRepoSyncPull, type BridgeSkillKind, type BridgeSkillRepoEntry, type BridgeSkillRepoFile, type ByomProviderToggles, ByomSettingsResponse, type ByomSettingsSnapshot, type ByomTogglePayload, CERTIFICATE_BUNDLE_FORMATS, CachedServerUrlResponse, type CachedServerUrlSnapshot, type CertificateBundleEnvironmentSupport, type CertificateBundleFormat, type CertificateBundleFormatDescriptor, type CodingPlanUsage, type CommandPayload, type CuratedModelMetadata, type DeepseekBalanceEntry, type DeepseekUsage, DeviceAuthHeaders, type DeviceRequestSignatureParams, type DownloadCertificateBundleRequest, type DownloadCertificateBundleResponse, type ExternalTool, GIT_REMOTE_HOST_ALIASES, type GenericBalanceUsage, GetByomSettings, GetCachedServerUrl, GetServerProxyState, GetUtilityModels, type GitHubOrgMembershipCheckResult, type GitHubOrgMembershipStatus, type GitHubUser, type GithubCopilotCliPayload, type HttpRequestPayload, type ILogger, LISTABLE_PRESET_MODELS, type LinkedSkillPayloadEntry, LogLevel, MEDALSOFT_NUGET_PRIVATE_SOURCE, MEDALSOFT_PRIVATE_GATEWAY_URL, MODEL_METADATA, type MinimaxUsage, type ModelDetail, type ModelPriceCategory, type ModelPricing, type ModelThinkingSchema, NAMESPACE_ALIASES, NAMESPACE_ALIAS_FAMILY, PRESET_MODEL_FAMILIES, PROVIDER_BASE_URL_PRESETS, PROVIDER_CACHE_CONTROL_METADATA, type PresetModelFamilyGroup, type PresetModelListing, type ProviderBaseUrlPreset, type ProviderCacheControlMetadata, type ProviderConfig, type ProviderModel, type ProviderMutationPayload, type ProviderTestResult, type ProviderType, type ProviderUsageData, type ProviderUsageKind, type ProviderUsageResult, type ProviderVisionMode, type ProviderWireProtocol, type ProvidersResponsePayload, type PublicProvider, type ScheduledTask, type ScheduledTaskType, type ScheduledTaskV1, type ScheduledTasksConfig, type ScheduledTasksLogFile, type ServerProxyAllowOverridePayload, type ServerProxySnapshot, ServerProxyStateResponse, type ServerProxySupportMode, type ServerProxyTogglePayload, SetCacheControlEnabled, SetServerProxyAllowOverride, SetServerProxyEnabled, type ShellPayload, type TaskExecutionLog, type TaskExecutionState, type TaskExecutionStatus, type TaskPayload, type TaskRunStatus, type TaskWorkspaceRef, UpdateUtilityModels, type UpdateUtilityModelsPayload, type UsageWindow, type UtilityModelScope, type UtilityModelsEffective, UtilityModelsResponse, type UtilityModelsSnapshot, type UtilityModelsSource, type WebviewInboundMessage, WebviewMessageType, __internal, asAbortSignal, buildGitHubLocalEmail, buildPresetModel, checkGitHubOrgMembership, createConsoleLogger, createDeviceRequestSignature, currencyForBaseUrl, effectiveAdapterType, fetchGitHubUser, getBuiltinProviderPreset, getGitHubOrgMembership, getPresetModelDisplayName, getProviderBaseUrlPresets, isGitHubLocalEmail, isProviderCacheControlAware, isValidCanonicalSlug, listPresetModelGroups, lookupModelMetadata, normalizeCanonicalSlug, normalizeErrorForLog, normalizeGitUrl, parsePayload, protocolForBaseUrl, resolvePrimaryEmail, safeJson, unionProviderModelWithPreset };
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,7 @@ __export(index_exports, {
|
|
|
24
24
|
ByomSettingsResponse: () => ByomSettingsResponse,
|
|
25
25
|
CERTIFICATE_BUNDLE_FORMATS: () => CERTIFICATE_BUNDLE_FORMATS,
|
|
26
26
|
CachedServerUrlResponse: () => CachedServerUrlResponse,
|
|
27
|
+
DeviceAuthHeaders: () => DeviceAuthHeaders,
|
|
27
28
|
GIT_REMOTE_HOST_ALIASES: () => GIT_REMOTE_HOST_ALIASES,
|
|
28
29
|
GetByomSettings: () => GetByomSettings,
|
|
29
30
|
GetCachedServerUrl: () => GetCachedServerUrl,
|
|
@@ -31,6 +32,8 @@ __export(index_exports, {
|
|
|
31
32
|
GetUtilityModels: () => GetUtilityModels,
|
|
32
33
|
LISTABLE_PRESET_MODELS: () => LISTABLE_PRESET_MODELS,
|
|
33
34
|
LogLevel: () => LogLevel,
|
|
35
|
+
MEDALSOFT_NUGET_PRIVATE_SOURCE: () => MEDALSOFT_NUGET_PRIVATE_SOURCE,
|
|
36
|
+
MEDALSOFT_PRIVATE_GATEWAY_URL: () => MEDALSOFT_PRIVATE_GATEWAY_URL,
|
|
34
37
|
MODEL_METADATA: () => MODEL_METADATA,
|
|
35
38
|
NAMESPACE_ALIASES: () => NAMESPACE_ALIASES,
|
|
36
39
|
NAMESPACE_ALIAS_FAMILY: () => NAMESPACE_ALIAS_FAMILY,
|
|
@@ -50,6 +53,7 @@ __export(index_exports, {
|
|
|
50
53
|
buildPresetModel: () => buildPresetModel,
|
|
51
54
|
checkGitHubOrgMembership: () => checkGitHubOrgMembership,
|
|
52
55
|
createConsoleLogger: () => createConsoleLogger,
|
|
56
|
+
createDeviceRequestSignature: () => createDeviceRequestSignature,
|
|
53
57
|
currencyForBaseUrl: () => currencyForBaseUrl,
|
|
54
58
|
effectiveAdapterType: () => effectiveAdapterType,
|
|
55
59
|
fetchGitHubUser: () => fetchGitHubUser,
|
|
@@ -89,6 +93,10 @@ function effectiveAdapterType(configuredType, baseUrl) {
|
|
|
89
93
|
return configuredType;
|
|
90
94
|
}
|
|
91
95
|
|
|
96
|
+
// src/constants.ts
|
|
97
|
+
var MEDALSOFT_PRIVATE_GATEWAY_URL = "http://10.10.10.249:3000/v1";
|
|
98
|
+
var MEDALSOFT_NUGET_PRIVATE_SOURCE = "http://192.168.20.209:10010/nuget";
|
|
99
|
+
|
|
92
100
|
// src/ai/providers.base-url.ts
|
|
93
101
|
var PROVIDER_BASE_URL_PRESETS = {
|
|
94
102
|
"openai-compatible": [],
|
|
@@ -170,7 +178,11 @@ var PROVIDER_BASE_URL_PRESETS = {
|
|
|
170
178
|
{ label: "\u5168\u7403", baseUrl: "https://apihub.agnes-ai.com/v1" }
|
|
171
179
|
],
|
|
172
180
|
// Medalsoft internal LLM gateway — single OpenAI-compatible endpoint.
|
|
173
|
-
|
|
181
|
+
// 内网地址见 `constants.ts`(仅办公网可达);外网走 nexus。
|
|
182
|
+
medalsoft: [
|
|
183
|
+
{ label: "\u5185\u7F51", baseUrl: MEDALSOFT_PRIVATE_GATEWAY_URL },
|
|
184
|
+
{ label: "\u5916\u7F51", baseUrl: "https://nexus.servicemecloud.com/v1" }
|
|
185
|
+
],
|
|
174
186
|
"vscode-builtin": []
|
|
175
187
|
};
|
|
176
188
|
function getProviderBaseUrlPresets(type) {
|
|
@@ -1607,6 +1619,26 @@ var CERTIFICATE_BUNDLE_FORMATS = [
|
|
|
1607
1619
|
}
|
|
1608
1620
|
];
|
|
1609
1621
|
|
|
1622
|
+
// src/device-auth.ts
|
|
1623
|
+
var import_js_sha256 = require("js-sha256");
|
|
1624
|
+
var DeviceAuthHeaders = {
|
|
1625
|
+
deviceId: "x-ms-device-id",
|
|
1626
|
+
deviceSecret: "x-ms-device-secret",
|
|
1627
|
+
signature: "x-ms-device-signature",
|
|
1628
|
+
timestamp: "x-ms-device-timestamp",
|
|
1629
|
+
secretVersion: "x-ms-device-secret-version"
|
|
1630
|
+
};
|
|
1631
|
+
function createDeviceRequestSignature(params) {
|
|
1632
|
+
const basis = [
|
|
1633
|
+
params.method.toUpperCase(),
|
|
1634
|
+
params.path,
|
|
1635
|
+
String(params.timestamp),
|
|
1636
|
+
params.body,
|
|
1637
|
+
params.secret
|
|
1638
|
+
].join("\n");
|
|
1639
|
+
return (0, import_js_sha256.sha256)(basis);
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1610
1642
|
// src/git-utils.ts
|
|
1611
1643
|
var GIT_REMOTE_HOST_ALIASES = {
|
|
1612
1644
|
"github-msc": "github.com"
|
|
@@ -2076,6 +2108,7 @@ function safeJson(text, fallback) {
|
|
|
2076
2108
|
ByomSettingsResponse,
|
|
2077
2109
|
CERTIFICATE_BUNDLE_FORMATS,
|
|
2078
2110
|
CachedServerUrlResponse,
|
|
2111
|
+
DeviceAuthHeaders,
|
|
2079
2112
|
GIT_REMOTE_HOST_ALIASES,
|
|
2080
2113
|
GetByomSettings,
|
|
2081
2114
|
GetCachedServerUrl,
|
|
@@ -2083,6 +2116,8 @@ function safeJson(text, fallback) {
|
|
|
2083
2116
|
GetUtilityModels,
|
|
2084
2117
|
LISTABLE_PRESET_MODELS,
|
|
2085
2118
|
LogLevel,
|
|
2119
|
+
MEDALSOFT_NUGET_PRIVATE_SOURCE,
|
|
2120
|
+
MEDALSOFT_PRIVATE_GATEWAY_URL,
|
|
2086
2121
|
MODEL_METADATA,
|
|
2087
2122
|
NAMESPACE_ALIASES,
|
|
2088
2123
|
NAMESPACE_ALIAS_FAMILY,
|
|
@@ -2102,6 +2137,7 @@ function safeJson(text, fallback) {
|
|
|
2102
2137
|
buildPresetModel,
|
|
2103
2138
|
checkGitHubOrgMembership,
|
|
2104
2139
|
createConsoleLogger,
|
|
2140
|
+
createDeviceRequestSignature,
|
|
2105
2141
|
currencyForBaseUrl,
|
|
2106
2142
|
effectiveAdapterType,
|
|
2107
2143
|
fetchGitHubUser,
|
package/dist/index.mjs
CHANGED
|
@@ -14,6 +14,10 @@ function effectiveAdapterType(configuredType, baseUrl) {
|
|
|
14
14
|
return configuredType;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
// src/constants.ts
|
|
18
|
+
var MEDALSOFT_PRIVATE_GATEWAY_URL = "http://10.10.10.249:3000/v1";
|
|
19
|
+
var MEDALSOFT_NUGET_PRIVATE_SOURCE = "http://192.168.20.209:10010/nuget";
|
|
20
|
+
|
|
17
21
|
// src/ai/providers.base-url.ts
|
|
18
22
|
var PROVIDER_BASE_URL_PRESETS = {
|
|
19
23
|
"openai-compatible": [],
|
|
@@ -95,7 +99,11 @@ var PROVIDER_BASE_URL_PRESETS = {
|
|
|
95
99
|
{ label: "\u5168\u7403", baseUrl: "https://apihub.agnes-ai.com/v1" }
|
|
96
100
|
],
|
|
97
101
|
// Medalsoft internal LLM gateway — single OpenAI-compatible endpoint.
|
|
98
|
-
|
|
102
|
+
// 内网地址见 `constants.ts`(仅办公网可达);外网走 nexus。
|
|
103
|
+
medalsoft: [
|
|
104
|
+
{ label: "\u5185\u7F51", baseUrl: MEDALSOFT_PRIVATE_GATEWAY_URL },
|
|
105
|
+
{ label: "\u5916\u7F51", baseUrl: "https://nexus.servicemecloud.com/v1" }
|
|
106
|
+
],
|
|
99
107
|
"vscode-builtin": []
|
|
100
108
|
};
|
|
101
109
|
function getProviderBaseUrlPresets(type) {
|
|
@@ -1532,6 +1540,26 @@ var CERTIFICATE_BUNDLE_FORMATS = [
|
|
|
1532
1540
|
}
|
|
1533
1541
|
];
|
|
1534
1542
|
|
|
1543
|
+
// src/device-auth.ts
|
|
1544
|
+
import { sha256 } from "js-sha256";
|
|
1545
|
+
var DeviceAuthHeaders = {
|
|
1546
|
+
deviceId: "x-ms-device-id",
|
|
1547
|
+
deviceSecret: "x-ms-device-secret",
|
|
1548
|
+
signature: "x-ms-device-signature",
|
|
1549
|
+
timestamp: "x-ms-device-timestamp",
|
|
1550
|
+
secretVersion: "x-ms-device-secret-version"
|
|
1551
|
+
};
|
|
1552
|
+
function createDeviceRequestSignature(params) {
|
|
1553
|
+
const basis = [
|
|
1554
|
+
params.method.toUpperCase(),
|
|
1555
|
+
params.path,
|
|
1556
|
+
String(params.timestamp),
|
|
1557
|
+
params.body,
|
|
1558
|
+
params.secret
|
|
1559
|
+
].join("\n");
|
|
1560
|
+
return sha256(basis);
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1535
1563
|
// src/git-utils.ts
|
|
1536
1564
|
var GIT_REMOTE_HOST_ALIASES = {
|
|
1537
1565
|
"github-msc": "github.com"
|
|
@@ -2000,6 +2028,7 @@ export {
|
|
|
2000
2028
|
ByomSettingsResponse,
|
|
2001
2029
|
CERTIFICATE_BUNDLE_FORMATS,
|
|
2002
2030
|
CachedServerUrlResponse,
|
|
2031
|
+
DeviceAuthHeaders,
|
|
2003
2032
|
GIT_REMOTE_HOST_ALIASES,
|
|
2004
2033
|
GetByomSettings,
|
|
2005
2034
|
GetCachedServerUrl,
|
|
@@ -2007,6 +2036,8 @@ export {
|
|
|
2007
2036
|
GetUtilityModels,
|
|
2008
2037
|
LISTABLE_PRESET_MODELS,
|
|
2009
2038
|
LogLevel,
|
|
2039
|
+
MEDALSOFT_NUGET_PRIVATE_SOURCE,
|
|
2040
|
+
MEDALSOFT_PRIVATE_GATEWAY_URL,
|
|
2010
2041
|
MODEL_METADATA,
|
|
2011
2042
|
NAMESPACE_ALIASES,
|
|
2012
2043
|
NAMESPACE_ALIAS_FAMILY,
|
|
@@ -2026,6 +2057,7 @@ export {
|
|
|
2026
2057
|
buildPresetModel,
|
|
2027
2058
|
checkGitHubOrgMembership,
|
|
2028
2059
|
createConsoleLogger,
|
|
2060
|
+
createDeviceRequestSignature,
|
|
2029
2061
|
currencyForBaseUrl,
|
|
2030
2062
|
effectiveAdapterType,
|
|
2031
2063
|
fetchGitHubUser,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serviceme/devtools-shared",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.11",
|
|
4
4
|
"description": "Shared webview↔extension message contracts and cross-package data models used by SERVICEME.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"repository": {
|
|
@@ -37,6 +37,9 @@
|
|
|
37
37
|
"tsup": "^8.5.1",
|
|
38
38
|
"typescript": "^5.9.3"
|
|
39
39
|
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"js-sha256": "^1.0.0"
|
|
42
|
+
},
|
|
40
43
|
"scripts": {
|
|
41
44
|
"watch": "tsup src/index.ts --format cjs,esm --dts --watch",
|
|
42
45
|
"build": "tsup src/index.ts --format cjs,esm --dts",
|