@dxos/config 0.10.0 → 0.11.0
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/lib/chunk-config.mjs +123 -0
- package/dist/lib/chunk-config.mjs.map +1 -0
- package/dist/lib/chunk-definitions.mjs +97 -0
- package/dist/lib/chunk-definitions.mjs.map +1 -0
- package/dist/lib/chunk-types.mjs +8 -0
- package/dist/lib/chunk-types.mjs.map +1 -0
- package/dist/lib/index.mjs +171 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/loaders/browser.mjs +82 -0
- package/dist/lib/loaders/browser.mjs.map +1 -0
- package/dist/lib/loaders.mjs +66 -0
- package/dist/lib/loaders.mjs.map +1 -0
- package/dist/lib/plugin/browser.mjs +8 -0
- package/dist/lib/plugin/browser.mjs.map +1 -0
- package/dist/lib/plugin/esbuild-plugin.mjs +22 -0
- package/dist/lib/plugin/esbuild-plugin.mjs.map +1 -0
- package/dist/lib/plugin/rollup-plugin.mjs +15 -0
- package/dist/lib/plugin/rollup-plugin.mjs.map +1 -0
- package/dist/lib/plugin/vite-plugin.mjs +24 -0
- package/dist/lib/plugin/vite-plugin.mjs.map +1 -0
- package/dist/lib/plugin.mjs +2 -0
- package/dist/lib/savers/browser.mjs +33 -0
- package/dist/lib/savers/browser.mjs.map +1 -0
- package/dist/lib/savers.mjs +6 -0
- package/dist/lib/savers.mjs.map +1 -0
- package/dist/{lib/node-esm/plugin/index.mjs → plugin/node-esm/chunk-PAYIP2UD.mjs} +49 -9
- package/dist/plugin/node-esm/chunk-PAYIP2UD.mjs.map +7 -0
- package/dist/plugin/node-esm/esbuild-plugin.mjs +1 -1
- package/dist/plugin/node-esm/meta.json +1 -1
- package/dist/plugin/node-esm/rollup-plugin.mjs +1 -1
- package/dist/plugin/node-esm/vite-plugin.mjs +1 -1
- package/dist/types/src/config.d.ts +0 -1
- package/dist/types/src/config.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -28
- package/src/config-service.ts +3 -3
- package/src/config.ts +0 -4
- package/src/edge-services.ts +1 -1
- package/src/preset.ts +1 -1
- package/dist/lib/browser/chunk-VQRJY4AQ.mjs +0 -11
- package/dist/lib/browser/chunk-VQRJY4AQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZY4D4E3Q.mjs +0 -146
- package/dist/lib/browser/chunk-ZY4D4E3Q.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -197
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/loaders/browser.mjs +0 -73
- package/dist/lib/browser/loaders/browser.mjs.map +0 -7
- package/dist/lib/browser/loaders/index.mjs +0 -66
- package/dist/lib/browser/loaders/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/plugin/browser.mjs +0 -8
- package/dist/lib/browser/plugin/browser.mjs.map +0 -7
- package/dist/lib/browser/plugin/index.mjs +0 -98
- package/dist/lib/browser/plugin/index.mjs.map +0 -7
- package/dist/lib/browser/savers/browser.mjs +0 -25
- package/dist/lib/browser/savers/browser.mjs.map +0 -7
- package/dist/lib/browser/savers/index.mjs +0 -7
- package/dist/lib/browser/savers/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-T6NFH3CC.mjs +0 -13
- package/dist/lib/node-esm/chunk-T6NFH3CC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WIJROCKQ.mjs +0 -148
- package/dist/lib/node-esm/chunk-WIJROCKQ.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -198
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/loaders/browser.mjs +0 -75
- package/dist/lib/node-esm/loaders/browser.mjs.map +0 -7
- package/dist/lib/node-esm/loaders/index.mjs +0 -67
- package/dist/lib/node-esm/loaders/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/plugin/browser.mjs +0 -10
- package/dist/lib/node-esm/plugin/browser.mjs.map +0 -7
- package/dist/lib/node-esm/plugin/index.mjs.map +0 -7
- package/dist/lib/node-esm/savers/browser.mjs +0 -27
- package/dist/lib/node-esm/savers/browser.mjs.map +0 -7
- package/dist/lib/node-esm/savers/index.mjs +0 -9
- package/dist/lib/node-esm/savers/index.mjs.map +0 -7
- package/dist/plugin/node-esm/chunk-XCZNYAQT.mjs +0 -221
- package/dist/plugin/node-esm/chunk-XCZNYAQT.mjs.map +0 -7
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
FILE_DEFAULTS,
|
|
4
|
-
FILE_DYNAMICS,
|
|
5
|
-
FILE_ENVS
|
|
6
|
-
} from "./chunk-T6NFH3CC.mjs";
|
|
7
|
-
import {
|
|
8
|
-
Config,
|
|
9
|
-
ConfigResource,
|
|
10
|
-
mapFromKeyValues,
|
|
11
|
-
mapToKeyValues,
|
|
12
|
-
validateConfig
|
|
13
|
-
} from "./chunk-WIJROCKQ.mjs";
|
|
14
|
-
|
|
15
|
-
// src/index.ts
|
|
16
|
-
import * as defs from "@dxos/protocols/proto/dxos/config";
|
|
17
|
-
|
|
18
|
-
// src/config-service.ts
|
|
19
|
-
import * as FileSystem from "@effect/platform/FileSystem";
|
|
20
|
-
import * as Context from "effect/Context";
|
|
21
|
-
import * as Effect from "effect/Effect";
|
|
22
|
-
import * as Layer from "effect/Layer";
|
|
23
|
-
import * as Option from "effect/Option";
|
|
24
|
-
import { dirname } from "node:path";
|
|
25
|
-
import * as Yaml from "yaml";
|
|
26
|
-
import { DX_CONFIG, DX_DATA, getProfileConfigPath, getProfilePath } from "@dxos/client-protocol";
|
|
27
|
-
import { invariant } from "@dxos/invariant";
|
|
28
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/config/src/config-service.ts";
|
|
29
|
-
var memoryConfig = new Config({
|
|
30
|
-
runtime: {
|
|
31
|
-
client: {
|
|
32
|
-
edgeFeatures: {
|
|
33
|
-
echoReplicator: true,
|
|
34
|
-
feedReplicator: true,
|
|
35
|
-
signaling: true,
|
|
36
|
-
agents: true
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
var defaultConfig = new Config({
|
|
42
|
-
runtime: {
|
|
43
|
-
client: {
|
|
44
|
-
edgeFeatures: {
|
|
45
|
-
echoReplicator: true,
|
|
46
|
-
feedReplicator: true,
|
|
47
|
-
signaling: true,
|
|
48
|
-
agents: true
|
|
49
|
-
},
|
|
50
|
-
storage: {
|
|
51
|
-
persistent: true
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
services: {
|
|
55
|
-
edge: {
|
|
56
|
-
url: "wss://edge-production.dxos.workers.dev/"
|
|
57
|
-
},
|
|
58
|
-
iceProviders: [
|
|
59
|
-
{
|
|
60
|
-
urls: "https://edge-production.dxos.workers.dev/ice"
|
|
61
|
-
}
|
|
62
|
-
],
|
|
63
|
-
ai: {
|
|
64
|
-
server: "https://ai-service.dxos.workers.dev"
|
|
65
|
-
},
|
|
66
|
-
ipfs: {
|
|
67
|
-
server: "https://api.ipfs.dxos.network/api/v0",
|
|
68
|
-
gateway: "https://gateway.ipfs.dxos.network/ipfs"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
var ConfigService = class _ConfigService extends Context.Tag("ConfigService")() {
|
|
74
|
-
static layerMemory = Layer.effect(_ConfigService, Effect.succeed(memoryConfig));
|
|
75
|
-
static fromConfig = (config) => Layer.succeed(_ConfigService, config);
|
|
76
|
-
static load = (args) => {
|
|
77
|
-
const defaultConfigPath = getProfileConfigPath(DX_CONFIG, args.profile);
|
|
78
|
-
return Effect.gen(function* () {
|
|
79
|
-
const fs = yield* FileSystem.FileSystem;
|
|
80
|
-
const configPath = Option.getOrElse(args.config, () => defaultConfigPath);
|
|
81
|
-
const configContent = yield* fs.readFileString(configPath);
|
|
82
|
-
const configValues = Yaml.parse(configContent);
|
|
83
|
-
return _ConfigService.of(new Config(configValues, profileBuiltinDefaults(args.profile).values));
|
|
84
|
-
}).pipe(
|
|
85
|
-
// If the config file doesn't exist, create it.
|
|
86
|
-
Effect.catchTag("SystemError", () => Effect.gen(function* () {
|
|
87
|
-
const configValues = defaultConfig.values;
|
|
88
|
-
const fs = yield* FileSystem.FileSystem;
|
|
89
|
-
const pathToCreate = Option.getOrElse(args.config, () => defaultConfigPath);
|
|
90
|
-
yield* fs.makeDirectory(dirname(pathToCreate), {
|
|
91
|
-
recursive: true
|
|
92
|
-
});
|
|
93
|
-
yield* fs.writeFileString(pathToCreate, Yaml.stringify(configValues));
|
|
94
|
-
return _ConfigService.of(new Config(configValues));
|
|
95
|
-
}))
|
|
96
|
-
);
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
var profileBuiltinDefaults = (profile) => {
|
|
100
|
-
invariant(!profile.endsWith(".yml"), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 86, S: void 0, A: ["!profile.endsWith('.yml')", ""] });
|
|
101
|
-
return new Config({
|
|
102
|
-
runtime: {
|
|
103
|
-
client: {
|
|
104
|
-
edgeFeatures: {
|
|
105
|
-
echoReplicator: true,
|
|
106
|
-
feedReplicator: true,
|
|
107
|
-
signaling: true,
|
|
108
|
-
agents: true
|
|
109
|
-
},
|
|
110
|
-
storage: {
|
|
111
|
-
persistent: true,
|
|
112
|
-
dataRoot: getProfilePath(DX_DATA, profile)
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
// src/edge-services.ts
|
|
120
|
-
var EdgeServiceName = Object.freeze({
|
|
121
|
-
Calls: "calls",
|
|
122
|
-
Image: "image",
|
|
123
|
-
Transcription: "transcription",
|
|
124
|
-
Discord: "discord",
|
|
125
|
-
CorsProxy: "cors-proxy",
|
|
126
|
-
ApiProxy: "api-proxy",
|
|
127
|
-
Introspect: "introspect",
|
|
128
|
-
ChatAgent: "chat-agent"
|
|
129
|
-
});
|
|
130
|
-
var EDGE_SERVICE_DEFAULTS = Object.freeze({
|
|
131
|
-
[EdgeServiceName.Calls]: "https://calls-service.dxos.workers.dev",
|
|
132
|
-
[EdgeServiceName.Image]: "https://image-service-main.dxos.workers.dev",
|
|
133
|
-
[EdgeServiceName.Transcription]: "https://calls-service.dxos.workers.dev",
|
|
134
|
-
[EdgeServiceName.Discord]: "https://discord-service.dxos.workers.dev",
|
|
135
|
-
[EdgeServiceName.CorsProxy]: "https://cors-proxy.dxos.workers.dev",
|
|
136
|
-
[EdgeServiceName.ApiProxy]: "https://api-proxy.dxos.workers.dev",
|
|
137
|
-
[EdgeServiceName.Introspect]: "https://introspect-service-labs.dxos.workers.dev/mcp",
|
|
138
|
-
[EdgeServiceName.ChatAgent]: "wss://chat-agent-labs.dxos.workers.dev"
|
|
139
|
-
});
|
|
140
|
-
var getEdgeServiceEndpoint = (config, name) => config.values.runtime?.services?.edgeServices?.findLast((service) => service.name === name)?.endpoint ?? EDGE_SERVICE_DEFAULTS[name];
|
|
141
|
-
|
|
142
|
-
// src/index.ts
|
|
143
|
-
export * from "#loaders";
|
|
144
|
-
export * from "#savers";
|
|
145
|
-
export * from "#plugin";
|
|
146
|
-
|
|
147
|
-
// src/telemetry.ts
|
|
148
|
-
import { isNode } from "@dxos/util";
|
|
149
|
-
var resolveTelemetryTag = (config) => {
|
|
150
|
-
return config?.get("runtime.app.env.DX_TELEMETRY_TAG") ?? (isNode() ? process.env.DX_TELEMETRY_TAG : void 0);
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
// src/preset.ts
|
|
154
|
-
import * as Match from "effect/Match";
|
|
155
|
-
var edgeUrl = (edge) => Match.value(edge).pipe(Match.when("local", () => "http://localhost:8787"), Match.when("dev", () => "https://edge.dxos.workers.dev"), Match.when("main", () => "https://edge-main.dxos.workers.dev"), Match.when("production", () => "https://edge-production.dxos.workers.dev"), Match.exhaustive);
|
|
156
|
-
var sandboxUrl = (sandbox) => Match.value(sandbox).pipe(Match.when("local", () => "http://localhost:8792"), Match.when("dev", () => "https://sandbox-service.dxos.workers.dev"), Match.when("main", () => "https://sandbox-service.dxos.workers.dev"), Match.when("production", () => "https://sandbox-service.dxos.workers.dev"), Match.exhaustive);
|
|
157
|
-
var configPreset = ({ edge = "main", sandbox } = {}) => new Config({
|
|
158
|
-
version: 1,
|
|
159
|
-
runtime: {
|
|
160
|
-
client: {
|
|
161
|
-
edgeFeatures: {
|
|
162
|
-
signaling: true,
|
|
163
|
-
echoReplicator: true,
|
|
164
|
-
feedReplicator: true
|
|
165
|
-
}
|
|
166
|
-
},
|
|
167
|
-
services: {
|
|
168
|
-
edge: {
|
|
169
|
-
url: edgeUrl(edge)
|
|
170
|
-
},
|
|
171
|
-
...sandbox ? {
|
|
172
|
-
sandbox: {
|
|
173
|
-
url: sandboxUrl(sandbox)
|
|
174
|
-
}
|
|
175
|
-
} : {}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
export {
|
|
180
|
-
Config,
|
|
181
|
-
ConfigResource,
|
|
182
|
-
ConfigService,
|
|
183
|
-
EDGE_SERVICE_DEFAULTS,
|
|
184
|
-
EdgeServiceName,
|
|
185
|
-
FILE_DEFAULTS,
|
|
186
|
-
FILE_DYNAMICS,
|
|
187
|
-
FILE_ENVS,
|
|
188
|
-
configPreset,
|
|
189
|
-
defaultConfig,
|
|
190
|
-
defs,
|
|
191
|
-
getEdgeServiceEndpoint,
|
|
192
|
-
mapFromKeyValues,
|
|
193
|
-
mapToKeyValues,
|
|
194
|
-
memoryConfig,
|
|
195
|
-
resolveTelemetryTag,
|
|
196
|
-
validateConfig
|
|
197
|
-
};
|
|
198
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/index.ts", "../../../src/config-service.ts", "../../../src/edge-services.ts", "../../../src/telemetry.ts", "../../../src/preset.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2021 DXOS.org\n//\n\n// TODO(burdon): Why is this exported? (Rename).\nexport * as defs from '@dxos/protocols/proto/dxos/config';\n\nexport { type Config as ConfigProto } from '@dxos/protocols/proto/dxos/config';\n\nexport * from './config';\nexport * from './config-service';\nexport * from './edge-services';\nexport * from '#loaders';\nexport * from '#savers';\nexport * from '#plugin';\nexport * from './telemetry';\nexport * from './types';\nexport * from './preset';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport { dirname } from 'node:path';\nimport * as Yaml from 'yaml';\n\nimport { DX_CONFIG, DX_DATA, getProfileConfigPath, getProfilePath } from '@dxos/client-protocol';\nimport { invariant } from '@dxos/invariant';\n\nimport { Config } from './config';\n\nexport const memoryConfig = new Config({\n runtime: {\n client: {\n edgeFeatures: {\n echoReplicator: true,\n feedReplicator: true,\n signaling: true,\n agents: true,\n },\n },\n },\n});\n\nexport const defaultConfig = new Config({\n runtime: {\n client: {\n edgeFeatures: {\n echoReplicator: true,\n feedReplicator: true,\n signaling: true,\n agents: true,\n },\n storage: {\n persistent: true,\n },\n },\n services: {\n edge: {\n url: 'wss://edge-production.dxos.workers.dev/',\n },\n iceProviders: [\n {\n urls: 'https://edge-production.dxos.workers.dev/ice',\n },\n ],\n ai: {\n server: 'https://ai-service.dxos.workers.dev',\n },\n ipfs: {\n server: 'https://api.ipfs.dxos.network/api/v0',\n gateway: 'https://gateway.ipfs.dxos.network/ipfs',\n },\n },\n },\n});\n\nexport class ConfigService extends Context.Tag('ConfigService')<ConfigService, Config>() {\n static layerMemory = Layer.effect(ConfigService, Effect.succeed(memoryConfig));\n\n static fromConfig = (config: Config) => Layer.succeed(ConfigService, config);\n\n static load = (args: { config: Option.Option<string>; profile: string }) => {\n const defaultConfigPath = getProfileConfigPath(DX_CONFIG, args.profile);\n return Effect.gen(function* () {\n const fs = yield* FileSystem.FileSystem;\n const configPath = Option.getOrElse(args.config, () => defaultConfigPath);\n const configContent = yield* fs.readFileString(configPath);\n const configValues = Yaml.parse(configContent);\n return ConfigService.of(new Config(configValues, profileBuiltinDefaults(args.profile).values));\n }).pipe(\n // If the config file doesn't exist, create it.\n Effect.catchTag('SystemError', () =>\n Effect.gen(function* () {\n const configValues = defaultConfig.values;\n const fs = yield* FileSystem.FileSystem;\n const pathToCreate = Option.getOrElse(args.config, () => defaultConfigPath);\n yield* fs.makeDirectory(dirname(pathToCreate), { recursive: true });\n yield* fs.writeFileString(pathToCreate, Yaml.stringify(configValues));\n return ConfigService.of(new Config(configValues));\n }),\n ),\n );\n };\n}\n\n/**\n * Default config for a profile.\n * Always merged with the default config.\n */\nconst profileBuiltinDefaults = (profile: string) => {\n invariant(!profile.endsWith('.yml'));\n\n return new Config({\n runtime: {\n client: {\n edgeFeatures: {\n echoReplicator: true,\n feedReplicator: true,\n signaling: true,\n agents: true,\n },\n storage: {\n persistent: true,\n dataRoot: getProfilePath(DX_DATA, profile),\n },\n },\n },\n });\n};\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { type Config } from './config';\n\n/**\n * Canonical names for EDGE (Cloudflare Worker) services.\n * Used as keys into `runtime.services.edgeServices` and {@link EDGE_SERVICE_DEFAULTS}.\n */\nexport const EdgeServiceName = Object.freeze({\n Calls: 'calls',\n Image: 'image',\n Transcription: 'transcription',\n Discord: 'discord',\n CorsProxy: 'cors-proxy',\n ApiProxy: 'api-proxy',\n Introspect: 'introspect',\n ChatAgent: 'chat-agent',\n} as const);\n\nexport type EdgeServiceName = (typeof EdgeServiceName)[keyof typeof EdgeServiceName];\n\n/**\n * Canonical dev/test default endpoints for EDGE services.\n * Single source of truth for the URLs previously hard-coded across plugins.\n * Production values are supplied per-app via `dx.yml` (`runtime.services.edgeServices`).\n */\nexport const EDGE_SERVICE_DEFAULTS: Readonly<Record<EdgeServiceName, string>> = Object.freeze({\n [EdgeServiceName.Calls]: 'https://calls-service.dxos.workers.dev',\n [EdgeServiceName.Image]: 'https://image-service-main.dxos.workers.dev',\n [EdgeServiceName.Transcription]: 'https://calls-service.dxos.workers.dev',\n [EdgeServiceName.Discord]: 'https://discord-service.dxos.workers.dev',\n [EdgeServiceName.CorsProxy]: 'https://cors-proxy.dxos.workers.dev',\n [EdgeServiceName.ApiProxy]: 'https://api-proxy.dxos.workers.dev',\n [EdgeServiceName.Introspect]: 'https://introspect-service-labs.dxos.workers.dev/mcp',\n [EdgeServiceName.ChatAgent]: 'wss://chat-agent-labs.dxos.workers.dev',\n});\n\n/**\n * Resolve the endpoint for an EDGE service.\n * Prefers the matching `runtime.services.edgeServices` entry, falling back to the canonical\n * {@link EDGE_SERVICE_DEFAULTS} entry.\n * `name` is expected to be unique; on duplicates the last entry wins so a later override is\n * not silently shadowed by an earlier one (proto cannot enforce uniqueness on a repeated field).\n */\nexport const getEdgeServiceEndpoint = (config: Config, name: EdgeServiceName): string =>\n config.values.runtime?.services?.edgeServices?.findLast((service) => service.name === name)?.endpoint ??\n EDGE_SERVICE_DEFAULTS[name];\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { isNode } from '@dxos/util';\n\nimport { type Config } from './config';\n\n/**\n * Resolves the telemetry tag used as the `X-DXOS-Client-Tag` header on edge\n * requests AND as the `ctx.tag` attribute / resource on observability traces.\n *\n * Keeping a single resolver ensures the same tag identifies a session across\n * edge and telemetry tiers. Precedence:\n *\n * 1. `config.runtime.app.env.DX_TELEMETRY_TAG` — the explicit, deterministic\n * path. Populated from `.env`/build-time by the app's config loaders.\n * 2. `process.env.DX_TELEMETRY_TAG` — Node-only, for dev/CI convenience.\n *\n * Returns `undefined` when unset; callers should no-op on undefined rather\n * than stamping empty strings.\n */\nexport const resolveTelemetryTag = (config?: Config): string | undefined => {\n return config?.get('runtime.app.env.DX_TELEMETRY_TAG') ?? (isNode() ? process.env.DX_TELEMETRY_TAG : undefined);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Match from 'effect/Match';\n\nimport { Config } from './config';\n\nexport type ConfigPresetOptions = {\n /**\n * Edge service.\n * @default main\n */\n edge?: 'local' | 'dev' | 'main' | 'production';\n\n /**\n * Sandbox service (standalone worker; API at /api/sandbox).\n */\n sandbox?: 'local' | 'dev' | 'main' | 'production';\n};\n\nconst edgeUrl = (edge: NonNullable<ConfigPresetOptions['edge']>) =>\n Match.value(edge).pipe(\n Match.when('local', () => 'http://localhost:8787'),\n Match.when('dev', () => 'https://edge.dxos.workers.dev'),\n Match.when('main', () => 'https://edge-main.dxos.workers.dev'),\n Match.when('production', () => 'https://edge-production.dxos.workers.dev'),\n Match.exhaustive,\n );\n\n// TODO(burdon): Hosted environments share a single worker until per-env deployments exist.\nconst sandboxUrl = (sandbox: NonNullable<ConfigPresetOptions['sandbox']>) =>\n Match.value(sandbox).pipe(\n Match.when('local', () => 'http://localhost:8792'),\n Match.when('dev', () => 'https://sandbox-service.dxos.workers.dev'),\n Match.when('main', () => 'https://sandbox-service.dxos.workers.dev'),\n Match.when('production', () => 'https://sandbox-service.dxos.workers.dev'),\n Match.exhaustive,\n );\n\nexport const configPreset = ({ edge = 'main', sandbox }: ConfigPresetOptions = {}) =>\n new Config({\n version: 1,\n runtime: {\n client: {\n edgeFeatures: {\n signaling: true,\n echoReplicator: true,\n feedReplicator: true,\n },\n },\n services: {\n edge: {\n url: edgeUrl(edge),\n },\n ...(sandbox ? { sandbox: { url: sandboxUrl(sandbox) } } : {}),\n },\n },\n });\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["defs", "FileSystem", "Context", "Effect", "Layer", "Option", "dirname", "Yaml", "DX_CONFIG", "DX_DATA", "getProfileConfigPath", "getProfilePath", "invariant", "memoryConfig", "client", "edgeFeatures", "echoReplicator", "feedReplicator", "signaling", "agents", "storage", "services", "url", "iceProviders", "ipfs", "gateway", "fromConfig", "succeed", "ConfigService", "config", "load", "args", "defaultConfigPath", "getProfileConfigPath", "DX_CONFIG", "Effect", "FileSystem", "configPath", "getOrElse", "configContent", "fs", "configValues", "parse", "of", "Config", "profileBuiltinDefaults", "pipe", "catchTag", "pathToCreate", "Option", "makeDirectory", "dirname", "recursive", "writeFileString", "runtime", "dataRoot", "EdgeServiceName", "Object", "freeze", "Calls", "Image", "Transcription", "Discord", "CorsProxy", "ApiProxy", "Introspect", "ChatAgent", "EDGE_SERVICE_DEFAULTS", "getEdgeServiceEndpoint", "config", "name", "values", "runtime", "services", "edgeServices", "findLast", "service", "endpoint", "isNode", "resolveTelemetryTag", "config", "get", "process", "env", "DX_TELEMETRY_TAG", "undefined", "Match", "edgeUrl", "edge", "value", "pipe", "when", "exhaustive", "sandboxUrl", "sandbox", "configPreset", "Config", "version", "runtime", "client", "edgeFeatures", "signaling", "echoReplicator", "feedReplicator", "services", "url"]
|
|
7
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// src/loaders/browser.ts
|
|
4
|
-
import localforage from "localforage";
|
|
5
|
-
import { log } from "@dxos/log";
|
|
6
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/config/src/loaders/browser.ts";
|
|
7
|
-
var CONFIG_ENDPOINT = "/.well-known/dx/config";
|
|
8
|
-
var Profile = (_profile = "default") => ({});
|
|
9
|
-
var Local = () => {
|
|
10
|
-
return typeof __CONFIG_LOCAL__ !== "undefined" ? __CONFIG_LOCAL__ : {};
|
|
11
|
-
};
|
|
12
|
-
var Dynamics = async () => {
|
|
13
|
-
const { publicUrl = "", dynamic } = __DXOS_CONFIG__;
|
|
14
|
-
if (!dynamic) {
|
|
15
|
-
log("dynamics disabled", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 14, S: void 0 });
|
|
16
|
-
return {};
|
|
17
|
-
}
|
|
18
|
-
log("fetching config...", {
|
|
19
|
-
publicUrl
|
|
20
|
-
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 17, S: void 0 });
|
|
21
|
-
return await fetch(`${publicUrl}${CONFIG_ENDPOINT}`).then((res) => res.json()).catch((error) => {
|
|
22
|
-
log.warn("Failed to fetch dynamic config.", error, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 21, S: void 0 });
|
|
23
|
-
return {};
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var Envs = (_basePath) => {
|
|
27
|
-
return typeof __CONFIG_ENVS__ !== "undefined" ? __CONFIG_ENVS__ : {};
|
|
28
|
-
};
|
|
29
|
-
var Defaults = (_basePath) => {
|
|
30
|
-
return typeof __CONFIG_DEFAULTS__ !== "undefined" ? __CONFIG_DEFAULTS__ : {};
|
|
31
|
-
};
|
|
32
|
-
var Storage = async () => {
|
|
33
|
-
try {
|
|
34
|
-
const config = await localforage.getItem("org.dxos.settings.config");
|
|
35
|
-
if (config) {
|
|
36
|
-
return config;
|
|
37
|
-
}
|
|
38
|
-
} catch (err) {
|
|
39
|
-
log.warn("Failed to load config", {
|
|
40
|
-
err
|
|
41
|
-
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 40, S: void 0 });
|
|
42
|
-
}
|
|
43
|
-
return {};
|
|
44
|
-
};
|
|
45
|
-
var Remote = (target, authenticationToken) => {
|
|
46
|
-
if (!target) {
|
|
47
|
-
return {};
|
|
48
|
-
}
|
|
49
|
-
try {
|
|
50
|
-
const url = new URL(target);
|
|
51
|
-
const protocol = url.protocol.slice(0, -1);
|
|
52
|
-
return {
|
|
53
|
-
runtime: {
|
|
54
|
-
client: {
|
|
55
|
-
// TODO(burdon): Remove vault.html.
|
|
56
|
-
remoteSource: url.origin + (protocol.startsWith("http") ? "/vault.html" : ""),
|
|
57
|
-
remoteSourceAuthenticationToken: authenticationToken
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
} catch (err) {
|
|
62
|
-
log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 63, S: void 0 });
|
|
63
|
-
return {};
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
export {
|
|
67
|
-
Defaults,
|
|
68
|
-
Dynamics,
|
|
69
|
-
Envs,
|
|
70
|
-
Local,
|
|
71
|
-
Profile,
|
|
72
|
-
Remote,
|
|
73
|
-
Storage
|
|
74
|
-
};
|
|
75
|
-
//# sourceMappingURL=browser.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/loaders/browser.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2021 DXOS.org\n//\n\n/* THIS FILE WILL BE LOADED BY CONTEXT REPLACEMENT PLUGIN IN BROWSER ENVS. */\n\nimport localforage from 'localforage';\n\nimport { log } from '@dxos/log';\nimport { type Config as ConfigProto } from '@dxos/protocols/proto/dxos/config';\n\ndeclare const __DXOS_CONFIG__: { publicUrl?: string; dynamic?: boolean };\ndeclare const __CONFIG_ENVS__: Partial<ConfigProto> | undefined;\ndeclare const __CONFIG_DEFAULTS__: Partial<ConfigProto> | undefined;\ndeclare const __CONFIG_LOCAL__: Partial<ConfigProto> | undefined;\n\nconst CONFIG_ENDPOINT = '/.well-known/dx/config';\n\nexport const Profile = (_profile = 'default'): Partial<ConfigProto> => ({});\n\nexport const Local = (): Partial<ConfigProto> => {\n return typeof __CONFIG_LOCAL__ !== 'undefined' ? __CONFIG_LOCAL__ : {};\n};\n\nexport const Dynamics = async (): Promise<Partial<ConfigProto>> => {\n const { publicUrl = '', dynamic } = __DXOS_CONFIG__;\n if (!dynamic) {\n log('dynamics disabled');\n return {};\n }\n\n log('fetching config...', { publicUrl });\n return await fetch(`${publicUrl}${CONFIG_ENDPOINT}`)\n .then((res) => res.json())\n .catch((error) => {\n log.warn('Failed to fetch dynamic config.', error);\n return {};\n });\n};\n\nexport const Envs = (_basePath?: string): Partial<ConfigProto> => {\n return typeof __CONFIG_ENVS__ !== 'undefined' ? __CONFIG_ENVS__ : {};\n};\n\nexport const Defaults = (_basePath?: string): Partial<ConfigProto> => {\n return typeof __CONFIG_DEFAULTS__ !== 'undefined' ? __CONFIG_DEFAULTS__ : {};\n};\n\n/**\n * Settings config from browser storage.\n */\nexport const Storage = async (): Promise<Partial<ConfigProto>> => {\n try {\n const config = await localforage.getItem<Partial<ConfigProto>>('org.dxos.settings.config');\n if (config) {\n return config;\n }\n } catch (err) {\n log.warn('Failed to load config', { err });\n }\n return {};\n};\n\nexport const Remote = (target: string | undefined, authenticationToken?: string): Partial<ConfigProto> => {\n if (!target) {\n return {};\n }\n\n try {\n const url = new URL(target);\n const protocol = url.protocol.slice(0, -1);\n\n return {\n runtime: {\n client: {\n // TODO(burdon): Remove vault.html.\n remoteSource: url.origin + (protocol.startsWith('http') ? '/vault.html' : ''),\n remoteSourceAuthenticationToken: authenticationToken,\n },\n },\n };\n } catch (err) {\n log.catch(err);\n return {};\n }\n};\n"],
|
|
5
|
-
"mappings": ";;;AAMA,OAAOA,iBAAiB;AAExB,SAASC,WAAW;AAQpB,IAAA,eAAMC;AAIN,IAAA,kBAAqB;AACnB,IAAO,UAAOC,CAAAA,WAAAA,eAAqB,CAAA;AACnC,IAAA,QAAA,MAAA;AAEF,SAAO,OAAMC,qBAAW,cAAA,mBAAA,CAAA;;AAEtB,IAAKC,WAAS,YAAA;QACZJ,EAAI,YAAA,IAAA,QAAA,IAAA;MACJ,CAAA,SAAQ;AACV,QAAA,qBAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AAEI,WAAA,CAAA;;AAAkC,MAAA,sBAAA;IACtC;mBAGa,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAmCK,CAAAA;SAC5C,MAAQ,MAAA,GAAA,SAAA,GAAA,eAAA,EAAA,EAAA,KAAA,CAAA,QAAA,IAAA,KAAA,CAAA,EAAA,MAAA,CAAA,UAAA;AACV,QAAA,KAAA,mCAAA,OAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACF,WAAA,CAAA;EAEF,CAAA;;AAEE,IAAA,OAAA,CAAA,cAAA;AAEF,SAAO,OAAMC,oBAAYC,cAAAA,kBAAAA,CAAAA;;AAEvB,IAAA,WAAA,CAAA,cAAA;AAEF,SAAA,OAAA,wBAAA,cAAA,sBAAA,CAAA;;AAKI,IAAMC,UAAS,YAAMT;MACrB;UACE,SAAOS,MAAAA,YAAAA,QAAAA,0BAAAA;AACT,QAAA,QAAA;AACA,aAAY;IACZR;WAAoCS,KAAAA;AAAI,QAAA,KAAA,yBAAA;MAC1C;IACA,GAAA,EAAO,YAAC,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;EACR;AAEF,SAAO,CAAA;;IAEH,SAAQ,CAAA,QAAA,wBAAA;AACV,MAAA,CAAA,QAAA;AAEI,WAAA,CAAA;;MAEF;AAEA,UAAA,MAAO,IAAA,IAAA,MAAA;UACLC,WAAS,IAAA,SAAA,MAAA,GAAA,EAAA;;eAEL;gBACAC;;UAEF,cAAA,IAAA,UAAA,SAAA,WAAA,MAAA,IAAA,gBAAA;UACF,iCAAA;QACF;MACA;IACAX;WACA,KAAQ;AACV,QAAA,MAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,WAAA,CAAA;;;",
|
|
6
|
-
"names": ["localforage", "log", "CONFIG_ENDPOINT", "__CONFIG_LOCAL__", "Dynamics", "dynamic", "error", "Defaults", "_basePath", "config", "err", "runtime", "remoteSource"]
|
|
7
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
FILE_DEFAULTS,
|
|
4
|
-
FILE_ENVS
|
|
5
|
-
} from "../chunk-T6NFH3CC.mjs";
|
|
6
|
-
import {
|
|
7
|
-
mapFromKeyValues
|
|
8
|
-
} from "../chunk-WIJROCKQ.mjs";
|
|
9
|
-
|
|
10
|
-
// src/loaders/index.ts
|
|
11
|
-
import fs from "node:fs";
|
|
12
|
-
import path from "node:path";
|
|
13
|
-
import { parse } from "yaml";
|
|
14
|
-
import { log } from "@dxos/log";
|
|
15
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/config/src/loaders/index.ts";
|
|
16
|
-
var DEFAULT_BASE_PATH = path.resolve(process.cwd(), "config");
|
|
17
|
-
var maybeLoadFile = (file) => {
|
|
18
|
-
try {
|
|
19
|
-
return parse(fs.readFileSync(file, {
|
|
20
|
-
encoding: "utf8"
|
|
21
|
-
}));
|
|
22
|
-
} catch (err) {
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
var Profile = (profile = "default") => {
|
|
26
|
-
const configFile = path.join(process.env.HOME ?? "~", `.config/dx/profile/${profile}.yml`);
|
|
27
|
-
return maybeLoadFile(configFile);
|
|
28
|
-
};
|
|
29
|
-
var Local = () => ({});
|
|
30
|
-
var Dynamics = () => ({});
|
|
31
|
-
var Envs = (basePath = DEFAULT_BASE_PATH) => {
|
|
32
|
-
const content = maybeLoadFile(path.resolve(basePath, FILE_ENVS));
|
|
33
|
-
return content ? mapFromKeyValues(content, process.env) : {};
|
|
34
|
-
};
|
|
35
|
-
var Defaults = (basePath = DEFAULT_BASE_PATH) => maybeLoadFile(path.resolve(basePath, FILE_DEFAULTS)) ?? {};
|
|
36
|
-
var Storage = async () => ({});
|
|
37
|
-
var Remote = (target, authenticationToken) => {
|
|
38
|
-
if (!target) {
|
|
39
|
-
return {};
|
|
40
|
-
}
|
|
41
|
-
try {
|
|
42
|
-
const url = new URL(target);
|
|
43
|
-
const protocol = url.protocol.slice(0, -1);
|
|
44
|
-
return {
|
|
45
|
-
runtime: {
|
|
46
|
-
client: {
|
|
47
|
-
// TODO(burdon): Remove vault.html.
|
|
48
|
-
remoteSource: url.origin + (protocol.startsWith("http") ? "/vault.html" : ""),
|
|
49
|
-
remoteSourceAuthenticationToken: authenticationToken
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
} catch (err) {
|
|
54
|
-
log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 66, S: void 0 });
|
|
55
|
-
return {};
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
export {
|
|
59
|
-
Defaults,
|
|
60
|
-
Dynamics,
|
|
61
|
-
Envs,
|
|
62
|
-
Local,
|
|
63
|
-
Profile,
|
|
64
|
-
Remote,
|
|
65
|
-
Storage
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/loaders/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2021 DXOS.org\n//\n\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { parse } from 'yaml';\n\nimport { log } from '@dxos/log';\nimport { type Config as ConfigProto } from '@dxos/protocols/proto/dxos/config';\n\nimport { mapFromKeyValues } from '../config';\nimport { FILE_DEFAULTS, FILE_ENVS } from '../types';\n\n// TODO(burdon): Move code out of index file.\n\nconst DEFAULT_BASE_PATH = path.resolve(process.cwd(), 'config');\n\nconst maybeLoadFile = (file: string): any => {\n try {\n return parse(fs.readFileSync(file, { encoding: 'utf8' }));\n } catch (err: any) {\n // Ignored.\n }\n};\n\n//\n// NOTE: Export LocalStorage and Dynamics for typescript to typecheck browser code (see ConfigPlugin).\n//\n\n/**\n * Profile\n */\nexport const Profile = (profile = 'default') => {\n const configFile = path.join(process.env.HOME ?? '~', `.config/dx/profile/${profile}.yml`);\n return maybeLoadFile(configFile) as ConfigProto;\n};\n\n/**\n * Development config.\n */\n// TODO(burdon): Rename or reconcile with Profile above?\nexport const Local = (): Partial<ConfigProto> => ({});\n\n/**\n * Provided dynamically by server.\n */\nexport const Dynamics = (): Partial<ConfigProto> => ({});\n\n/**\n * ENV variable (key/value) map.\n */\nexport const Envs = (basePath = DEFAULT_BASE_PATH): Partial<ConfigProto> => {\n const content = maybeLoadFile(path.resolve(basePath, FILE_ENVS));\n return content ? mapFromKeyValues(content, process.env) : {};\n};\n\n/**\n * JSON config.\n */\nexport const Defaults = (basePath = DEFAULT_BASE_PATH): Partial<ConfigProto> =>\n maybeLoadFile(path.resolve(basePath, FILE_DEFAULTS)) ?? {};\n\n/**\n * Load config from storage.\n */\nexport const Storage = async (): Promise<Partial<ConfigProto>> => ({});\n\nexport const Remote = (target: string | undefined, authenticationToken?: string): Partial<ConfigProto> => {\n if (!target) {\n return {};\n }\n\n try {\n const url = new URL(target);\n const protocol = url.protocol.slice(0, -1);\n return {\n runtime: {\n client: {\n // TODO(burdon): Remove vault.html.\n remoteSource: url.origin + (protocol.startsWith('http') ? '/vault.html' : ''),\n remoteSourceAuthenticationToken: authenticationToken,\n },\n },\n };\n } catch (err) {\n log.catch(err);\n return {};\n }\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;AAIA,OAAOA,QAAQ;AACf,OAAOC,UAAU;AACjB,SAASC,aAAa;AAEtB,SAASC,WAAW;AAMpB,IAAA,eAAA;IAKE,oBAAI,KAAA,QAAA,QAAA,IAAA,GAAA,QAAA;oBACWC,CAAAA,SAAGC;;AAAsC,WAAA,MAAA,GAAA,aAAA,MAAA;MACtD,UAAiB;IACjB,CAAA,CAAA;EACF,SAAA,KAAA;EAGA;AACF;AAQSC,IAAAA,UAAcC,CAAAA,UAAAA,cAAAA;AACrB,QAAA,aAAA,KAAA,KAAA,QAAA,IAAA,QAAA,KAAA,sBAAA,OAAA,MAAA;AAEF,SAAA,cAAA,UAAA;;;;AAgBSC,IAAAA,OAAUC,CAAAA,WAAAA,sBAAkCC;AACnD,QAAA,UAAA,cAAA,KAAA,QAAA,UAAA,SAAA,CAAA;AAEF,SAAA,UAAA,iBAAA,SAAA,QAAA,GAAA,IAAA,CAAA;;;AAYOC,IAAQ,UAAA,aAAA,CAAA;IACX,SAAQ,CAAA,QAAA,wBAAA;AACV,MAAA,CAAA,QAAA;AAEI,WAAA,CAAA;;MAEF;AACA,UAAA,MAAO,IAAA,IAAA,MAAA;UACLC,WAAS,IAAA,SAAA,MAAA,GAAA,EAAA;;eAEL;gBACAC;;UAEF,cAAA,IAAA,UAAA,SAAA,WAAA,MAAA,IAAA,gBAAA;UACF,iCAAA;QACF;MACA;IACAC;WACA,KAAQ;AACV,QAAA,MAAA,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AACA,WAAA,CAAA;;;",
|
|
6
|
-
"names": ["fs", "path", "parse", "log", "fs", "readFileSync", "maybeLoadFile", "configFile", "content", "mapFromKeyValues", "env", "target", "runtime", "remoteSource", "log"]
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"inputs":{"src/config.ts":{"bytes":15941,"imports":[{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"lodash.ismatch","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/config-service.ts":{"bytes":12251,"imports":[{"path":"@effect/platform/FileSystem","kind":"import-statement","external":true},{"path":"effect/Context","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Layer","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/client-protocol","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/config.ts","kind":"import-statement","original":"./config"}],"format":"esm"},"src/edge-services.ts":{"bytes":6244,"imports":[],"format":"esm"},"src/telemetry.ts":{"bytes":2724,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types.ts":{"bytes":2665,"imports":[],"format":"esm"},"src/preset.ts":{"bytes":5424,"imports":[{"path":"effect/Match","kind":"import-statement","external":true},{"path":"src/config.ts","kind":"import-statement","original":"./config"}],"format":"esm"},"src/index.ts":{"bytes":1517,"imports":[{"path":"@dxos/protocols/proto/dxos/config","kind":"import-statement","external":true},{"path":"src/config.ts","kind":"import-statement","original":"./config"},{"path":"src/config-service.ts","kind":"import-statement","original":"./config-service"},{"path":"src/edge-services.ts","kind":"import-statement","original":"./edge-services"},{"path":"#loaders","kind":"import-statement","external":true},{"path":"#savers","kind":"import-statement","external":true},{"path":"#plugin","kind":"import-statement","external":true},{"path":"src/telemetry.ts","kind":"import-statement","original":"./telemetry"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/preset.ts","kind":"import-statement","original":"./preset"}],"format":"esm"},"src/loaders/index.ts":{"bytes":8152,"imports":[{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"src/config.ts","kind":"import-statement","original":"../config"},{"path":"src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/loaders/browser.ts":{"bytes":8287,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/savers/index.ts":{"bytes":589,"imports":[],"format":"esm"},"src/savers/browser.ts":{"bytes":2564,"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"src/plugin/definitions.ts":{"bytes":11702,"imports":[{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"pkg-up","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/config.ts","kind":"import-statement","original":"../config"}],"format":"esm"},"src/plugin/index.ts":{"bytes":427,"imports":[{"path":"src/plugin/definitions.ts","kind":"import-statement","original":"./definitions"}],"format":"esm"},"src/plugin/browser.ts":{"bytes":924,"imports":[],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13403},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-T6NFH3CC.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-WIJROCKQ.mjs","kind":"import-statement"},{"path":"@dxos/protocols/proto/dxos/config","kind":"import-statement","external":true},{"path":"@effect/platform/FileSystem","kind":"import-statement","external":true},{"path":"effect/Context","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Layer","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/client-protocol","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"#loaders","kind":"import-statement","external":true},{"path":"#savers","kind":"import-statement","external":true},{"path":"#plugin","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Match","kind":"import-statement","external":true}],"exports":["Config","ConfigResource","ConfigService","EDGE_SERVICE_DEFAULTS","EdgeServiceName","FILE_DEFAULTS","FILE_DYNAMICS","FILE_ENVS","configPreset","defaultConfig","defs","getEdgeServiceEndpoint","mapFromKeyValues","mapToKeyValues","memoryConfig","resolveTelemetryTag","validateConfig"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":135},"src/config-service.ts":{"bytesInOutput":3247},"src/edge-services.ts":{"bytesInOutput":1060},"src/telemetry.ts":{"bytesInOutput":192},"src/preset.ts":{"bytesInOutput":1106}},"bytes":6509},"dist/lib/node-esm/loaders/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3508},"dist/lib/node-esm/loaders/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-T6NFH3CC.mjs","kind":"import-statement"},{"path":"dist/lib/node-esm/chunk-WIJROCKQ.mjs","kind":"import-statement"},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["Defaults","Dynamics","Envs","Local","Profile","Remote","Storage"],"entryPoint":"src/loaders/index.ts","inputs":{"src/loaders/index.ts":{"bytesInOutput":1521}},"bytes":1887},"dist/lib/node-esm/chunk-T6NFH3CC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1815},"dist/lib/node-esm/chunk-T6NFH3CC.mjs":{"imports":[],"exports":["FILE_DEFAULTS","FILE_DYNAMICS","FILE_ENVS"],"inputs":{"src/types.ts":{"bytesInOutput":102}},"bytes":314},"dist/lib/node-esm/loaders/browser.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4099},"dist/lib/node-esm/loaders/browser.mjs":{"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["Defaults","Dynamics","Envs","Local","Profile","Remote","Storage"],"entryPoint":"src/loaders/browser.ts","inputs":{"src/loaders/browser.ts":{"bytesInOutput":2028}},"bytes":2268},"dist/lib/node-esm/savers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":360},"dist/lib/node-esm/savers/index.mjs":{"imports":[],"exports":["SaveConfig"],"entryPoint":"src/savers/index.ts","inputs":{"src/savers/index.ts":{"bytesInOutput":35}},"bytes":211},"dist/lib/node-esm/savers/browser.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1304},"dist/lib/node-esm/savers/browser.mjs":{"imports":[{"path":"localforage","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"exports":["SaveConfig"],"entryPoint":"src/savers/browser.ts","inputs":{"src/savers/browser.ts":{"bytesInOutput":694}},"bytes":874},"dist/lib/node-esm/plugin/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5415},"dist/lib/node-esm/plugin/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-WIJROCKQ.mjs","kind":"import-statement"},{"path":"node:child_process","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"pkg-up","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["definitions"],"entryPoint":"src/plugin/index.ts","inputs":{"src/plugin/definitions.ts":{"bytesInOutput":3073},"src/plugin/index.ts":{"bytesInOutput":0}},"bytes":3316},"dist/lib/node-esm/chunk-WIJROCKQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7813},"dist/lib/node-esm/chunk-WIJROCKQ.mjs":{"imports":[{"path":"lodash.defaultsdeep","kind":"import-statement","external":true},{"path":"lodash.ismatch","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["Config","ConfigResource","mapFromKeyValues","mapToKeyValues","validateConfig"],"inputs":{"src/config.ts":{"bytesInOutput":4083}},"bytes":4333},"dist/lib/node-esm/plugin/browser.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":496},"dist/lib/node-esm/plugin/browser.mjs":{"imports":[],"exports":["definitions"],"entryPoint":"src/plugin/browser.ts","inputs":{"src/plugin/browser.ts":{"bytesInOutput":110}},"bytes":291}}}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// src/plugin/browser.ts
|
|
4
|
-
var definitions = () => {
|
|
5
|
-
throw new Error("Config plugin definitions are not available in the browser");
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
definitions
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=browser.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugin/browser.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\n// Browser stub for plugin module - plugins are build-time only.\n\nexport type * from './types';\n\nexport const definitions = (): Record<string, unknown> => {\n throw new Error('Config plugin definitions are not available in the browser');\n};\n"],
|
|
5
|
-
"mappings": ";;;AAQO,IAAMA,cAAc,MAAA;AACzB,QAAM,IAAIC,MAAM,4DAAA;AAClB;",
|
|
6
|
-
"names": ["definitions", "Error"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/plugin/definitions.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { execSync } from 'node:child_process';\nimport { readFileSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport pkgUp from 'pkg-up';\nimport { parse } from 'yaml';\n\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { setDeep } from '@dxos/util';\n\nimport { mapFromKeyValues } from '../config';\nimport { type ConfigPluginOpts } from './types';\n\nconst CWD = process.cwd();\n\nexport const definitions = ({\n configPath,\n envPath,\n devPath,\n mode = process.env.NODE_ENV,\n publicUrl = '',\n env,\n}: ConfigPluginOpts) => {\n const KEYS_TO_FILE = {\n __CONFIG_DEFAULTS__: configPath?.length ? configPath : resolve(CWD, 'dx.yml'),\n __CONFIG_ENVS__: envPath?.length ? envPath : resolve(CWD, 'dx-env.yml'),\n } as { [key: string]: string };\n if (mode !== 'production') {\n KEYS_TO_FILE.__CONFIG_LOCAL__ = devPath ?? resolve(CWD, 'dx-local.yml');\n }\n\n return Object.entries(KEYS_TO_FILE).reduce(\n (prev, [key, value]) => {\n invariant(key);\n let content = {};\n try {\n content = parse(readFileSync(value, 'utf-8')) as any;\n\n // Map environment variables to config values.\n if (key === '__CONFIG_ENVS__') {\n content = mapFromKeyValues(content, process.env);\n }\n\n if (key === '__CONFIG_DEFAULTS__') {\n // Load app environment variables into default config.\n Object.entries(process.env).forEach(([key, value]) => {\n if (key.startsWith('DX_') || env?.includes(key)) {\n setDeep(content, ['runtime', 'app', 'env', key], value);\n }\n });\n\n // Set build info automatically if available.\n try {\n const timestamp = new Date().toISOString();\n const commitHash =\n process.env.DX_COMMIT_HASH ??\n execSync('git rev-parse --short HEAD', { encoding: 'utf-8' }).replace('\\n', '');\n const packagePath = pkgUp.sync();\n const packageJson = packagePath && JSON.parse(readFileSync(packagePath, 'utf-8'));\n setDeep(content, ['runtime', 'app', 'build', 'timestamp'], timestamp);\n setDeep(content, ['runtime', 'app', 'build', 'commitHash'], commitHash);\n setDeep(content, ['runtime', 'app', 'build', 'version'], packageJson?.version);\n } catch {}\n }\n } catch (err: any) {\n if (err.message.includes('YAMLException')) {\n log.error(`Failed to parse file ${value}:`, err);\n } else {\n log(`Failed to load file ${value}:`, err);\n }\n\n if (key === '__CONFIG_DEFAULTS__') {\n // Default config is required.\n throw new Error(`Failed to load default config file from ${value}`);\n }\n }\n\n return {\n ...prev,\n [key]: content,\n };\n },\n {\n __CONFIG_DEFAULTS__: {},\n __CONFIG_ENVS__: {},\n __CONFIG_LOCAL__: {},\n __DXOS_CONFIG__: { dynamic: mode === 'production', publicUrl },\n },\n );\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,SAASA,gBAAgB;AACzB,SAASC,oBAAoB;AAC7B,SAASC,eAAe;AACxB,OAAOC,WAAW;AAClB,SAASC,aAAa;AAEtB,SAASC,iBAAiB;AAC1B,SAASC,WAAW;AACpB,SAASC,eAAe;AAKxB,IAAA,eAAYC;IAUV,MAAMC,QAAAA,IAAAA;IACJC,cAAAA,CAAAA,EAAqBC,YAAYC,SAASD,SAAAA,OAAaE,QAAQC,IAAK,UAAA,YAAA,IAAA,IAAA,MAAA;QACpEC,eAAiBC;IACnB,qBAAA,YAAA,SAAA,aAAA,QAAA,KAAA,QAAA;IACIC,iBAAS,SAAc,SAAA,UAAA,QAAA,KAAA,YAAA;;AAE3B,MAAA,SAAA,cAAA;AAEA,iBAAcC,mBAAsBC,WACjCC,QAAOC,KAAKC,cAAM;;SAEjB,OAAIC,QAAW,YAAA,EAAA,OAAA,CAAA,MAAA,CAAA,KAAA,KAAA,MAAA;AACf,cAAI,KAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,QAAA,GAAA,CAAA,OAAA,EAAA,EAAA,CAAA;QACFA,UAAUC,CAAAA;QAEV;AACA,gBAAIH,MAAQ,aAAA,OAAmB,OAAA,CAAA;AAE/B,UAAA,QAAA,mBAAA;AAEIA,kBAAQ,iBAAA,SAAuB,QAAA,GAAA;;UAEjCI,QAAOP,uBAAqBQ;uBAExBC,QAAQJ,GAAS,EAAA,QAAA,CAAA,CAAAF,MAAAC,MAAA,MAAA;mBAAC,WAAA,KAAA,KAAA,KAAA,SAAAD,IAAA,GAAA;oBAAW,SAAA;cAAO;cAAOA;cAAMC;cACnDD;YACF,GAAAC,MAAA;UAEA;QACA,CAAA;YAEE;gBAE2CM,aAAU,oBAAA,KAAA,GAAA,YAAA;AAAQ,gBAAGC,aAAc,QAAA,IAAA,kBAAA,SAAA,8BAAA;YAC9E,UAAMC;UACN,CAAA,EAAA,QAAMC,MAAAA,EAAAA;AACNJ,gBAAAA,cAAiB,MAAA,KAAA;gBAAC,cAAA,eAAA,KAAA,MAAA,aAAA,aAAA,OAAA,CAAA;kBAAW,SAAA;YAAO;YAAS;YAAcK;YAC3DL;sBAAkB;kBAAW,SAAA;YAAO;YAAS;YAAeM;YAC5DN;uBAAkB;kBAAW,SAAA;YAAO;YAAS;YAAYI;YACzD;UACJ,GAAA,aAAA,OAAA;QACA,QAAiB;QAAA;MACjB;aACEG,KAAIC;AACN,UAAA,IAAO,QAAA,SAAA,eAAA,GAAA;AACLD,YAAI,MAAC,wBAA6B,KAAGE,KAAAA,KAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,OAAAA,CAAAA;MACvC,OAAA;AAEIf,YAAAA,uBAAQ,KAAuB,KAAA,KAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;;UAEjC,QAAM,uBAAW;AAErB,cAAA,IAAA,MAAA,2CAAA,KAAA,EAAA;MAEA;;WAEGA;MACH,GAAA;MAEF,CAAA,GAAA,GAAA;IACEX;;IAEA2B,qBAAmB,CAAA;IACnBC,iBAAiB,CAAA;sBAAWrB,CAAAA;qBAAuBsB;MAAU,SAAA,SAAA;MAC/D;IAEF;;;",
|
|
6
|
-
"names": ["execSync", "readFileSync", "resolve", "pkgUp", "parse", "invariant", "log", "setDeep", "process", "KEYS_TO_FILE", "__CONFIG_DEFAULTS__", "configPath", "length", "resolve", "CWD", "__CONFIG_ENVS__", "envPath", "mode", "entries", "reduce", "prev", "key", "value", "content", "parse", "Object", "forEach", "setDeep", "encoding", "replace", "packagePath", "packageJson", "timestamp", "commitHash", "log", "error", "err", "__CONFIG_LOCAL__", "__DXOS_CONFIG__", "publicUrl"]
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
|
|
3
|
-
// src/savers/browser.ts
|
|
4
|
-
import localforage from "localforage";
|
|
5
|
-
import { log } from "@dxos/log";
|
|
6
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/sdk/config/src/savers/browser.ts";
|
|
7
|
-
var PERFORMING_CONFIG_SAVE = false;
|
|
8
|
-
var SaveConfig = async (config) => {
|
|
9
|
-
if (PERFORMING_CONFIG_SAVE) {
|
|
10
|
-
log.warn("Already performing config save", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 9, S: void 0 });
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
PERFORMING_CONFIG_SAVE = true;
|
|
14
|
-
try {
|
|
15
|
-
await localforage.setItem("org.dxos.settings.config", config);
|
|
16
|
-
} catch (err) {
|
|
17
|
-
log.warn("Failed to save config", {
|
|
18
|
-
err
|
|
19
|
-
}, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 16, S: void 0 });
|
|
20
|
-
} finally {
|
|
21
|
-
PERFORMING_CONFIG_SAVE = false;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
export {
|
|
25
|
-
SaveConfig
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=browser.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/savers/browser.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2021 DXOS.org\n//\n\n/* THIS FILE WILL BE LOADED BY CONTEXT REPLACEMENT PLUGIN IN BROWSER ENVS. */\n\nimport localforage from 'localforage';\n\nimport { log } from '@dxos/log';\nimport { type Config as ConfigProto } from '@dxos/protocols/proto/dxos/config';\n\nlet PERFORMING_CONFIG_SAVE = false;\n\nexport const SaveConfig = async (config: ConfigProto): Promise<void> => {\n if (PERFORMING_CONFIG_SAVE) {\n log.warn('Already performing config save');\n return;\n }\n PERFORMING_CONFIG_SAVE = true;\n\n try {\n await localforage.setItem('org.dxos.settings.config', config);\n } catch (err) {\n log.warn('Failed to save config', { err });\n } finally {\n PERFORMING_CONFIG_SAVE = false;\n }\n};\n"],
|
|
5
|
-
"mappings": ";;;AAMA,OAAOA,iBAAiB;AAExB,SAASC,WAAW;AAGpB,IAAIC,eAAAA;IAGF,yBAAIA;IACEC,aAAK,OAAA,WAAA;MACT,wBAAA;AACF,QAAA,KAAA,kCAAA,QAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,GAAA,GAAA,OAAA,CAAA;AACAD;EAEA;2BACoBE;AACpB,MAAE;AACAH,UAAIE,YAAK,QAAA,4BAAyB,MAAA;WAAEE,KAAAA;AAAI,QAAA,KAAA,yBAAA;MAC1C;IACEH,GAAAA,EAAAA,YAAAA,YAAyB,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;EAC3B,UAAA;AACA,6BAAA;;;",
|
|
6
|
-
"names": ["localforage", "log", "PERFORMING_CONFIG_SAVE", "warn", "setItem", "err"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/savers/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Config as ConfigProto } from '@dxos/protocols/proto/dxos/config';\n\nexport const SaveConfig = async (_: ConfigProto) => {};\n"],
|
|
5
|
-
"mappings": ";;;AAMO,IAAMA,aAAa,OAAOC,MAAAA;AAAoB;",
|
|
6
|
-
"names": ["SaveConfig", "_"]
|
|
7
|
-
}
|