@aopslab/aops-server 0.1.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/LICENSE +202 -0
- package/NOTICE +6 -0
- package/README.md +21 -0
- package/aops-server-runtime.json +11 -0
- package/build/client/_app/immutable/chunks/2_TffmqH.js +1 -0
- package/build/client/_app/immutable/chunks/3DOfIKW0.js +1 -0
- package/build/client/_app/immutable/chunks/B2EkC-sy.js +1 -0
- package/build/client/_app/immutable/chunks/CMkIcmi1.js +2 -0
- package/build/client/_app/immutable/chunks/rqnVXeyB.js +1 -0
- package/build/client/_app/immutable/chunks/sZYZbj9W.js +1 -0
- package/build/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
- package/build/client/_app/immutable/entry/app.C7STLTX8.js +2 -0
- package/build/client/_app/immutable/entry/start.BC94hOaC.js +1 -0
- package/build/client/_app/immutable/nodes/0.BYBfjxZ5.js +1 -0
- package/build/client/_app/immutable/nodes/1.BNXFXajG.js +1 -0
- package/build/client/_app/version.json +1 -0
- package/build/env.js +70 -0
- package/build/env.js.map +1 -0
- package/build/handler.js +16 -0
- package/build/handler.js.map +1 -0
- package/build/index.js +139 -0
- package/build/index.js.map +1 -0
- package/build/server/chunks/0-RfB6m2nq.js +7 -0
- package/build/server/chunks/0-RfB6m2nq.js.map +1 -0
- package/build/server/chunks/1-_gg8Q0UT.js +9 -0
- package/build/server/chunks/1-_gg8Q0UT.js.map +1 -0
- package/build/server/chunks/_server.ts-6276EQIF.js +44 -0
- package/build/server/chunks/_server.ts-6276EQIF.js.map +1 -0
- package/build/server/chunks/_server.ts-B59WFQzX.js +174 -0
- package/build/server/chunks/_server.ts-B59WFQzX.js.map +1 -0
- package/build/server/chunks/_server.ts-BauJsLZI.js +40 -0
- package/build/server/chunks/_server.ts-BauJsLZI.js.map +1 -0
- package/build/server/chunks/_server.ts-BnGzJw2-.js +81 -0
- package/build/server/chunks/_server.ts-BnGzJw2-.js.map +1 -0
- package/build/server/chunks/_server.ts-CP7qM24V.js +34 -0
- package/build/server/chunks/_server.ts-CP7qM24V.js.map +1 -0
- package/build/server/chunks/_server.ts-Cbq_u99d.js +9 -0
- package/build/server/chunks/_server.ts-Cbq_u99d.js.map +1 -0
- package/build/server/chunks/_server.ts-Ch8fPT-o.js +92 -0
- package/build/server/chunks/_server.ts-Ch8fPT-o.js.map +1 -0
- package/build/server/chunks/_server.ts-Cv-yaXZI.js +7 -0
- package/build/server/chunks/_server.ts-Cv-yaXZI.js.map +1 -0
- package/build/server/chunks/_server.ts-D6lBwOON.js +34 -0
- package/build/server/chunks/_server.ts-D6lBwOON.js.map +1 -0
- package/build/server/chunks/_server.ts-D84K3pp9.js +11 -0
- package/build/server/chunks/_server.ts-D84K3pp9.js.map +1 -0
- package/build/server/chunks/_server.ts-DNzU1ToA.js +277 -0
- package/build/server/chunks/_server.ts-DNzU1ToA.js.map +1 -0
- package/build/server/chunks/_server.ts-DQQnw77t.js +17 -0
- package/build/server/chunks/_server.ts-DQQnw77t.js.map +1 -0
- package/build/server/chunks/_server.ts-DSxr5l15.js +18 -0
- package/build/server/chunks/_server.ts-DSxr5l15.js.map +1 -0
- package/build/server/chunks/_server.ts-DZYokvuR.js +80 -0
- package/build/server/chunks/_server.ts-DZYokvuR.js.map +1 -0
- package/build/server/chunks/_server.ts-Dcqwpz2t.js +144 -0
- package/build/server/chunks/_server.ts-Dcqwpz2t.js.map +1 -0
- package/build/server/chunks/_server.ts-Di9VJnF4.js +81 -0
- package/build/server/chunks/_server.ts-Di9VJnF4.js.map +1 -0
- package/build/server/chunks/_server.ts-FBEHFT8b.js +33 -0
- package/build/server/chunks/_server.ts-FBEHFT8b.js.map +1 -0
- package/build/server/chunks/_server.ts-gZytCuiJ.js +10 -0
- package/build/server/chunks/_server.ts-gZytCuiJ.js.map +1 -0
- package/build/server/chunks/_server.ts-tNULLyEO.js +261 -0
- package/build/server/chunks/_server.ts-tNULLyEO.js.map +1 -0
- package/build/server/chunks/agent-gateway-runtime-DTZ4SxaC.js +2598 -0
- package/build/server/chunks/agent-gateway-runtime-DTZ4SxaC.js.map +1 -0
- package/build/server/chunks/aops-runtime-config-wpVmg7T-.js +179 -0
- package/build/server/chunks/aops-runtime-config-wpVmg7T-.js.map +1 -0
- package/build/server/chunks/discovery-D9JnSgfu.js +894 -0
- package/build/server/chunks/discovery-D9JnSgfu.js.map +1 -0
- package/build/server/chunks/error.svelte-DgUOqi-L.js +45 -0
- package/build/server/chunks/error.svelte-DgUOqi-L.js.map +1 -0
- package/build/server/chunks/handler-BN3-p5rP.js +1733 -0
- package/build/server/chunks/handler-BN3-p5rP.js.map +1 -0
- package/build/server/chunks/hooks.server-C4wxiH5m.js +52 -0
- package/build/server/chunks/hooks.server-C4wxiH5m.js.map +1 -0
- package/build/server/chunks/index.js-nbqdVuWC.js +10698 -0
- package/build/server/chunks/index.js-nbqdVuWC.js.map +1 -0
- package/build/server/chunks/manifest.js-_Re-Wj-y.js +167 -0
- package/build/server/chunks/manifest.js-_Re-Wj-y.js.map +1 -0
- package/build/server/chunks/plugin-error-normalize-Bq14Qbz3.js +297 -0
- package/build/server/chunks/plugin-error-normalize-Bq14Qbz3.js.map +1 -0
- package/build/server/chunks/project-alias-DqE2v58Q.js +29 -0
- package/build/server/chunks/project-alias-DqE2v58Q.js.map +1 -0
- package/build/server/chunks/registry-5amIZito.js +289 -0
- package/build/server/chunks/registry-5amIZito.js.map +1 -0
- package/build/server/chunks/request-base-url-BDdrsaga.js +24 -0
- package/build/server/chunks/request-base-url-BDdrsaga.js.map +1 -0
- package/build/server/chunks/request-context-tNeFQjgb.js +422 -0
- package/build/server/chunks/request-context-tNeFQjgb.js.map +1 -0
- package/build/server/chunks/xf-result-BRDjvftr.js +17 -0
- package/build/server/chunks/xf-result-BRDjvftr.js.map +1 -0
- package/build/shims.js +33 -0
- package/build/shims.js.map +1 -0
- package/cockpit/.vite/manifest.json +198 -0
- package/cockpit/assets/dm-sans-latin-400-normal-BwCSEQnW.woff +0 -0
- package/cockpit/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-500-normal-Dr3UlScf.woff +0 -0
- package/cockpit/assets/dm-sans-latin-700-normal-CUSSCpQX.woff +0 -0
- package/cockpit/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff +0 -0
- package/cockpit/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2 +0 -0
- package/cockpit/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff +0 -0
- package/cockpit/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff +0 -0
- package/cockpit/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2 +0 -0
- package/cockpit/assets/index-DDswO4B1.css +1 -0
- package/cockpit/assets/index-bovtnZ98.js +18 -0
- package/cockpit/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
- package/cockpit/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
- package/cockpit/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- package/cockpit/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
- package/cockpit/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
- package/cockpit/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
- package/cockpit/assets/outfit-latin-400-normal-BGsTXAXT.woff2 +0 -0
- package/cockpit/assets/outfit-latin-400-normal-DMwTpYkH.woff +0 -0
- package/cockpit/assets/outfit-latin-600-normal-B7SfZ07L.woff2 +0 -0
- package/cockpit/assets/outfit-latin-600-normal-BEfTtDA7.woff +0 -0
- package/cockpit/assets/outfit-latin-ext-400-normal-5tcqmc2S.woff2 +0 -0
- package/cockpit/assets/outfit-latin-ext-400-normal-DHm7mdGe.woff +0 -0
- package/cockpit/assets/outfit-latin-ext-600-normal-B85nYjL1.woff2 +0 -0
- package/cockpit/assets/outfit-latin-ext-600-normal-CWJcPgd7.woff +0 -0
- package/cockpit/assets/unbounded-cyrillic-600-normal-B-s5c2Kn.woff +0 -0
- package/cockpit/assets/unbounded-cyrillic-600-normal-DW6uzIMB.woff2 +0 -0
- package/cockpit/assets/unbounded-latin-600-normal-BPdB_PEv.woff +0 -0
- package/cockpit/assets/unbounded-latin-600-normal-oRSANpZr.woff2 +0 -0
- package/cockpit/assets/unbounded-latin-ext-600-normal-0iZLtTDV.woff2 +0 -0
- package/cockpit/assets/unbounded-latin-ext-600-normal-ClMPf-bu.woff +0 -0
- package/cockpit/assets/unbounded-vietnamese-600-normal-BzfrgZ_C.woff +0 -0
- package/cockpit/assets/unbounded-vietnamese-600-normal-Cx2bTSHN.woff2 +0 -0
- package/cockpit/community.module-inventory.json +2389 -0
- package/cockpit/index.html +14 -0
- package/community-postgres.json +13 -0
- package/migrations/agentspace/0000_thin_carlie_cooper.sql +764 -0
- package/migrations/agentspace/meta/0000_snapshot.json +6885 -0
- package/migrations/agentspace/meta/_journal.json +13 -0
- package/migrations/chatv3/0000_dry_ego.sql +218 -0
- package/migrations/chatv3/0001_nosy_obadiah_stane.sql +35 -0
- package/migrations/chatv3/0002_narrow_darkhawk.sql +4 -0
- package/migrations/chatv3/0003_damp_zarek.sql +2 -0
- package/migrations/chatv3/0004_nervous_martin_li.sql +60 -0
- package/migrations/chatv3/0005_chatv3_server_encrypted_mode.sql +1 -0
- package/migrations/chatv3/meta/0000_snapshot.json +1887 -0
- package/migrations/chatv3/meta/0001_snapshot.json +2175 -0
- package/migrations/chatv3/meta/0002_snapshot.json +2229 -0
- package/migrations/chatv3/meta/0003_snapshot.json +2241 -0
- package/migrations/chatv3/meta/0004_snapshot.json +2746 -0
- package/migrations/chatv3/meta/_journal.json +48 -0
- package/migrations/docman/0000_curvy_valeria_richards.sql +257 -0
- package/migrations/docman/0001_massive_risque.sql +2 -0
- package/migrations/docman/0002_simple_logan.sql +50 -0
- package/migrations/docman/0003_quick_index.sql +45 -0
- package/migrations/docman/0004_known_summary.sql +9 -0
- package/migrations/docman/0005_vector_signal.sql +9 -0
- package/migrations/docman/0006_document_version_current_invariant.sql +15 -0
- package/migrations/docman/meta/_journal.json +55 -0
- package/migrations/projectman/0000_smooth_klaw.sql +257 -0
- package/migrations/projectman/0001_worthless_zodiak.sql +9 -0
- package/migrations/projectman/0002_board_rename.sql +108 -0
- package/migrations/projectman/0003_review_request.sql +62 -0
- package/migrations/projectman/0004_review_request_idempotency.sql +3 -0
- package/migrations/projectman/0005_allow_multi_sprint_per_task.sql +1 -0
- package/migrations/projectman/meta/_journal.json +48 -0
- package/migrations/sys/0000_loose_praxagora.sql +31 -0
- package/migrations/sys/0001_awesome_ronan.sql +2 -0
- package/migrations/sys/0002_steady_maximus.sql +2 -0
- package/migrations/sys/0003_escalating_rate_limiter.sql +2 -0
- package/migrations/sys/0004_rate_limiter_timestamptz.sql +22 -0
- package/migrations/sys/0005_sys_counters.sql +21 -0
- package/migrations/sys/meta/_journal.json +48 -0
- package/npm-shrinkwrap.json +4375 -0
- package/package.json +62 -0
- package/runtime/agentspace-host-adapter.mjs +64 -0
- package/runtime/agentspace-tooling.mjs +389 -0
- package/runtime/docman-host-adapter.mjs +177 -0
- package/runtime/docman-policy.mjs +450 -0
- package/runtime/docman-tooling.mjs +20 -0
- package/runtime/projectman-host-adapter.mjs +597 -0
- package/runtime/scope-context.mjs +99 -0
- package/scripts/community-host.mjs +626 -0
- package/scripts/community-migration-policy-v1.json +296 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { pathToFileURL } from 'node:url';
|
|
4
|
+
import { validateHostConfig, DomainPluginRegistry, normalizeDomainName } from '@aopslab/host-core';
|
|
5
|
+
import { p as private_env } from './index.js-nbqdVuWC.js';
|
|
6
|
+
import './aops-runtime-config-wpVmg7T-.js';
|
|
7
|
+
|
|
8
|
+
const host = { "name": "aops-community-server", "apiBasePath": "/api" };
|
|
9
|
+
const runtime = { "env": { "AOPS_PG_URL": { "fromEnv": "AOPS_PG_URL", "required": true } } };
|
|
10
|
+
const pluginLoader = { "strictAllowlist": true, "tolerantBootstrap": false, "allowlist": ["@aopslab/domain-host-plugin-sys", "./runtime/agentspace-host-adapter.mjs", "./runtime/docman-host-adapter.mjs", "./runtime/projectman-host-adapter.mjs", "@aopslab/domain-host-plugin-chatv3"] };
|
|
11
|
+
const diagnostics = { "exposePluginBootstrap": true };
|
|
12
|
+
const agentGateway = { "enabled": true, "includeLocal": true, "catalog": { "enabled": true, "manifestProviders": [{ "id": "sys-dcm", "domain": "sys", "enabled": true, "module": "@aopslab/domain-kit-sys", "exportName": "buildSysDomainCapabilityManifest", "options": { "domainVersion": "0.0.1", "includeDocs": true } }, { "id": "agentspace-dcm", "domain": "agentspace", "enabled": true, "module": "./runtime/agentspace-tooling.mjs", "exportName": "buildCommunityAgentspaceDomainCapabilityManifest", "options": { "domainVersion": "0.0.4", "includeDocs": true } }, { "id": "docman-dcm", "domain": "docman", "enabled": true, "module": "./runtime/docman-tooling.mjs", "exportName": "buildAopsDocmanDomainCapabilityManifest", "options": { "domainVersion": "0.1.3", "includeDocs": true } }, { "id": "projectman-dcm", "domain": "projectman", "enabled": true, "module": "@aopslab/domain-kit-projectman", "exportName": "buildProjectmanDomainCapabilityManifest", "options": { "domainVersion": "0.1.2", "includeDocs": true } }, { "id": "chatv3-dcm", "domain": "chatv3", "enabled": true, "module": "@aopslab/domain-kit-chatv3", "exportName": "buildChatv3DomainCapabilityManifest", "options": { "domainVersion": "0.1.0", "includeDocs": true } }] }, "sources": [] };
|
|
13
|
+
const plugins = [{ "domain": "sys", "enabled": true, "module": "@aopslab/domain-host-plugin-sys", "factory": "createSysPlugin" }, { "domain": "agentspace", "enabled": true, "module": "./runtime/agentspace-host-adapter.mjs", "factory": "createCommunityAgentspacePlugin", "options": { "defaultTenantId": "123e4567-e89b-41d4-a000-000000000001" } }, { "domain": "docman", "enabled": true, "module": "./runtime/docman-host-adapter.mjs", "factory": "createDocmanPlugin", "options": { "defaultScopeId": "00000000-0000-4000-8000-000000000000" } }, { "domain": "projectman", "enabled": true, "module": "./runtime/projectman-host-adapter.mjs", "factory": "createProjectmanPlugin", "options": { "defaultProjectId": "123e4567-e89b-41d4-a000-000000000000", "enableAopsWriteback": true, "failOnWritebackError": false } }, { "domain": "chatv3", "enabled": true, "module": "@aopslab/domain-host-plugin-chatv3", "factory": "createChatv3Plugin" }];
|
|
14
|
+
const configRaw = {
|
|
15
|
+
host,
|
|
16
|
+
runtime,
|
|
17
|
+
pluginLoader,
|
|
18
|
+
diagnostics,
|
|
19
|
+
agentGateway,
|
|
20
|
+
plugins
|
|
21
|
+
};
|
|
22
|
+
const COMMUNITY_DOMAINS = Object.freeze(["sys", "agentspace", "docman", "projectman", "chatv3"]);
|
|
23
|
+
const COMMUNITY_PLUGIN_MODULES = Object.freeze([
|
|
24
|
+
"@aopslab/domain-host-plugin-sys",
|
|
25
|
+
"./runtime/agentspace-host-adapter.mjs",
|
|
26
|
+
"./runtime/docman-host-adapter.mjs",
|
|
27
|
+
"./runtime/projectman-host-adapter.mjs",
|
|
28
|
+
"@aopslab/domain-host-plugin-chatv3"
|
|
29
|
+
]);
|
|
30
|
+
const COMMUNITY_RUNTIME_ENV_KEYS = Object.freeze(["AOPS_PG_URL"]);
|
|
31
|
+
const codepointCompare = (left, right) => left < right ? -1 : left > right ? 1 : 0;
|
|
32
|
+
const sorted = (values) => [...values].sort(codepointCompare);
|
|
33
|
+
const normalize = (value) => String(value ?? "").trim().toLowerCase();
|
|
34
|
+
function exactSet(label, actual, expected) {
|
|
35
|
+
const left = sorted(actual.map(normalize).filter(Boolean));
|
|
36
|
+
const right = sorted(expected.map(normalize).filter(Boolean));
|
|
37
|
+
if (new Set(left).size !== left.length || new Set(right).size !== right.length || left.length !== right.length || !left.every((value, index) => value === right[index])) {
|
|
38
|
+
throw new Error(`community_host_config_set_mismatch:${label}:expected=${right.join(",")}:actual=${left.join(",")}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function inventory(config) {
|
|
42
|
+
return {
|
|
43
|
+
pluginDomains: (config.plugins ?? []).map((plugin) => normalize(plugin.domain)).filter(Boolean),
|
|
44
|
+
manifestProviderDomains: (config.agentGateway?.catalog?.manifestProviders ?? []).map((provider) => normalize(provider.domain)).filter(Boolean),
|
|
45
|
+
sourceDomains: (config.agentGateway?.sources ?? []).map((source) => normalize(source.domain)).filter(Boolean)
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function validateStaticCommunityConfig(input) {
|
|
49
|
+
const issues = validateHostConfig(input);
|
|
50
|
+
if (issues.length > 0) {
|
|
51
|
+
const first = issues[0];
|
|
52
|
+
throw new Error(`host_config_invalid:${first.code}:${first.path}`);
|
|
53
|
+
}
|
|
54
|
+
const config = structuredClone(input);
|
|
55
|
+
const domains = inventory(config);
|
|
56
|
+
exactSet("plugins", domains.pluginDomains, COMMUNITY_DOMAINS);
|
|
57
|
+
exactSet("manifest-providers", domains.manifestProviderDomains, COMMUNITY_DOMAINS);
|
|
58
|
+
exactSet("remote-sources", domains.sourceDomains, []);
|
|
59
|
+
exactSet("plugin-loader", config.pluginLoader?.allowlist ?? [], COMMUNITY_PLUGIN_MODULES);
|
|
60
|
+
exactSet("runtime-env", Object.keys(config.runtime?.env ?? {}), COMMUNITY_RUNTIME_ENV_KEYS);
|
|
61
|
+
if (config.pluginLoader?.strictAllowlist !== true || config.pluginLoader?.tolerantBootstrap !== false || config.agentGateway?.enabled !== true || config.agentGateway?.includeLocal !== true || config.agentGateway?.catalog?.enabled !== true) {
|
|
62
|
+
throw new Error("community_host_config_policy_mismatch");
|
|
63
|
+
}
|
|
64
|
+
return config;
|
|
65
|
+
}
|
|
66
|
+
const STATIC_HOST_CONFIG = validateStaticCommunityConfig(configRaw);
|
|
67
|
+
const EMPTY_INVENTORY = Object.freeze({
|
|
68
|
+
pluginDomains: [],
|
|
69
|
+
manifestProviderDomains: [],
|
|
70
|
+
sourceDomains: []
|
|
71
|
+
});
|
|
72
|
+
function getHostConfig() {
|
|
73
|
+
return structuredClone(STATIC_HOST_CONFIG);
|
|
74
|
+
}
|
|
75
|
+
function getHostRegistrationDiagnostics() {
|
|
76
|
+
const explicit = inventory(STATIC_HOST_CONFIG);
|
|
77
|
+
return {
|
|
78
|
+
registrationsDir: "<disabled:community-static-host-config>",
|
|
79
|
+
count: 0,
|
|
80
|
+
precedence: ["host.config.json"],
|
|
81
|
+
explicit,
|
|
82
|
+
installed: structuredClone(EMPTY_INVENTORY),
|
|
83
|
+
effective: structuredClone(explicit),
|
|
84
|
+
registrations: []
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function applyHostRuntimeEnv(config) {
|
|
88
|
+
const processEnv = process.env;
|
|
89
|
+
const bindings = config.runtime?.env ?? {};
|
|
90
|
+
exactSet("runtime-env-apply", Object.keys(bindings), COMMUNITY_RUNTIME_ENV_KEYS);
|
|
91
|
+
for (const [targetKey, binding] of Object.entries(bindings)) {
|
|
92
|
+
const resolved = (typeof binding.value === "string" ? binding.value : void 0) ?? (typeof binding.fromEnv === "string" ? private_env[binding.fromEnv] ?? processEnv[binding.fromEnv] : void 0) ?? (typeof binding.default === "string" ? binding.default : void 0);
|
|
93
|
+
if ((!resolved || resolved.trim().length === 0) && binding.required === true) {
|
|
94
|
+
throw new Error(`host_runtime_env_required:${targetKey}`);
|
|
95
|
+
}
|
|
96
|
+
if (resolved && resolved.trim().length > 0) processEnv[targetKey] = resolved;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const runtimeImport = new Function("specifier", "return import(specifier)");
|
|
100
|
+
const nodeRequire = createRequire(import.meta.url);
|
|
101
|
+
let pluginImportVersion = 0;
|
|
102
|
+
const DEFAULT_DIAGNOSTICS = {
|
|
103
|
+
attempt: 0,
|
|
104
|
+
state: "idle",
|
|
105
|
+
loadedDomains: [],
|
|
106
|
+
plugins: []
|
|
107
|
+
};
|
|
108
|
+
let singletonPromise = null;
|
|
109
|
+
let bootstrapAttempt = 0;
|
|
110
|
+
let registryDiagnostics = { ...DEFAULT_DIAGNOSTICS };
|
|
111
|
+
function extractErrorMessage(error) {
|
|
112
|
+
if (error instanceof Error) return error.message;
|
|
113
|
+
return String(error ?? "unknown_error");
|
|
114
|
+
}
|
|
115
|
+
function resolveModuleSpecifier(moduleName) {
|
|
116
|
+
const trimmed = moduleName.trim();
|
|
117
|
+
if (!trimmed) return trimmed;
|
|
118
|
+
if (trimmed.startsWith("file://")) return trimmed;
|
|
119
|
+
if (path.isAbsolute(trimmed)) return pathToFileURL(trimmed).href;
|
|
120
|
+
if (!trimmed.startsWith(".")) {
|
|
121
|
+
const resolvePaths = [process.cwd(), path.resolve(process.cwd(), "apps/aops-server")];
|
|
122
|
+
try {
|
|
123
|
+
const resolved = nodeRequire.resolve(trimmed, { paths: resolvePaths });
|
|
124
|
+
return pathToFileURL(resolved).href;
|
|
125
|
+
} catch {
|
|
126
|
+
return trimmed;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const absolutePath = path.resolve(process.cwd(), trimmed);
|
|
130
|
+
return pathToFileURL(absolutePath).href;
|
|
131
|
+
}
|
|
132
|
+
function withImportVersion(specifier) {
|
|
133
|
+
if (!specifier.startsWith("file://")) return specifier;
|
|
134
|
+
const url = new URL(specifier);
|
|
135
|
+
url.searchParams.set("v", String(pluginImportVersion));
|
|
136
|
+
return url.href;
|
|
137
|
+
}
|
|
138
|
+
function isModuleAllowed(moduleName, resolvedSpecifier, policy) {
|
|
139
|
+
const allowlist = policy.allowlist ?? [];
|
|
140
|
+
if (allowlist.length === 0) return policy.strictAllowlist === false;
|
|
141
|
+
return allowlist.includes(moduleName) || allowlist.includes(resolvedSpecifier);
|
|
142
|
+
}
|
|
143
|
+
function assertModuleAllowed(moduleName, resolvedSpecifier, pluginConfig, policy) {
|
|
144
|
+
if (isModuleAllowed(moduleName, resolvedSpecifier, policy)) return;
|
|
145
|
+
if ((policy.allowlist ?? []).length === 0 && policy.strictAllowlist) {
|
|
146
|
+
throw new Error(`plugin_module_allowlist_empty:${pluginConfig.domain}`);
|
|
147
|
+
}
|
|
148
|
+
throw new Error(`plugin_module_not_allowed:${pluginConfig.domain}:${moduleName}`);
|
|
149
|
+
}
|
|
150
|
+
async function createPluginFromConfig(pluginConfig, policy) {
|
|
151
|
+
const moduleName = pluginConfig.module;
|
|
152
|
+
if (!moduleName) {
|
|
153
|
+
throw new Error(`plugin_module_missing:${pluginConfig.domain}`);
|
|
154
|
+
}
|
|
155
|
+
const resolvedSpecifier = resolveModuleSpecifier(moduleName);
|
|
156
|
+
assertModuleAllowed(moduleName, resolvedSpecifier, pluginConfig, policy);
|
|
157
|
+
const exportName = pluginConfig.factory?.trim() || "createPlugin";
|
|
158
|
+
let mod;
|
|
159
|
+
try {
|
|
160
|
+
mod = await runtimeImport(withImportVersion(resolvedSpecifier));
|
|
161
|
+
} catch (error) {
|
|
162
|
+
throw new Error(
|
|
163
|
+
`plugin_module_import_failed:${pluginConfig.domain}:${moduleName}:${extractErrorMessage(error)}`
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
const maybeFactory = mod[exportName] ?? mod.default;
|
|
167
|
+
if (typeof maybeFactory !== "function") {
|
|
168
|
+
throw new Error(`plugin_factory_not_found:${pluginConfig.domain}:${moduleName}#${exportName}`);
|
|
169
|
+
}
|
|
170
|
+
const instance = await Promise.resolve(
|
|
171
|
+
maybeFactory(pluginConfig.options)
|
|
172
|
+
);
|
|
173
|
+
if (!instance || typeof instance !== "object") {
|
|
174
|
+
throw new Error(`plugin_factory_invalid_result:${pluginConfig.domain}`);
|
|
175
|
+
}
|
|
176
|
+
const configDomain = normalizeDomainName(pluginConfig.domain);
|
|
177
|
+
const pluginDomain = normalizeDomainName(instance.domain ?? "");
|
|
178
|
+
if (configDomain && pluginDomain && configDomain !== pluginDomain) {
|
|
179
|
+
throw new Error(`plugin_config_domain_mismatch:${configDomain}:${pluginDomain}`);
|
|
180
|
+
}
|
|
181
|
+
return instance;
|
|
182
|
+
}
|
|
183
|
+
async function buildRegistry() {
|
|
184
|
+
const registry = new DomainPluginRegistry();
|
|
185
|
+
const config = getHostConfig();
|
|
186
|
+
const policy = config.pluginLoader ?? {
|
|
187
|
+
allowlist: [],
|
|
188
|
+
strictAllowlist: false,
|
|
189
|
+
tolerantBootstrap: false
|
|
190
|
+
};
|
|
191
|
+
const tolerantBootstrap = policy.tolerantBootstrap === true;
|
|
192
|
+
const plugins2 = config.plugins ?? [];
|
|
193
|
+
const diagnostics2 = {
|
|
194
|
+
attempt: ++bootstrapAttempt,
|
|
195
|
+
state: "building",
|
|
196
|
+
startedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
197
|
+
loadedDomains: [],
|
|
198
|
+
plugins: []
|
|
199
|
+
};
|
|
200
|
+
registryDiagnostics = diagnostics2;
|
|
201
|
+
applyHostRuntimeEnv(config);
|
|
202
|
+
const failedDomains = [];
|
|
203
|
+
try {
|
|
204
|
+
for (const pluginConfig of plugins2) {
|
|
205
|
+
const pluginStart = Date.now();
|
|
206
|
+
const domain = normalizeDomainName(pluginConfig.domain ?? "");
|
|
207
|
+
const moduleName = pluginConfig.module?.trim() || null;
|
|
208
|
+
const factoryName = pluginConfig.factory?.trim() || "createPlugin";
|
|
209
|
+
if (pluginConfig.enabled === false) {
|
|
210
|
+
diagnostics2.plugins.push({
|
|
211
|
+
domain,
|
|
212
|
+
module: moduleName,
|
|
213
|
+
factory: factoryName,
|
|
214
|
+
status: "skipped",
|
|
215
|
+
durationMs: Date.now() - pluginStart
|
|
216
|
+
});
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
try {
|
|
220
|
+
const plugin = await createPluginFromConfig(pluginConfig, policy);
|
|
221
|
+
registry.register(plugin);
|
|
222
|
+
diagnostics2.plugins.push({
|
|
223
|
+
domain: normalizeDomainName(plugin.domain ?? domain),
|
|
224
|
+
module: moduleName,
|
|
225
|
+
factory: factoryName,
|
|
226
|
+
status: "loaded",
|
|
227
|
+
durationMs: Date.now() - pluginStart
|
|
228
|
+
});
|
|
229
|
+
} catch (error) {
|
|
230
|
+
const message = extractErrorMessage(error);
|
|
231
|
+
diagnostics2.plugins.push({
|
|
232
|
+
domain,
|
|
233
|
+
module: moduleName,
|
|
234
|
+
factory: factoryName,
|
|
235
|
+
status: "failed",
|
|
236
|
+
durationMs: Date.now() - pluginStart,
|
|
237
|
+
error: message
|
|
238
|
+
});
|
|
239
|
+
if (tolerantBootstrap) {
|
|
240
|
+
failedDomains.push(domain);
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
throw new Error(`plugin_bootstrap_failed:${domain}:${message}`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
diagnostics2.state = "ready";
|
|
247
|
+
if (failedDomains.length > 0) {
|
|
248
|
+
diagnostics2.error = `plugin_bootstrap_partial_failure:${failedDomains.join(",")}`;
|
|
249
|
+
}
|
|
250
|
+
diagnostics2.loadedDomains = registry.listDomains();
|
|
251
|
+
diagnostics2.finishedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
252
|
+
registryDiagnostics = diagnostics2;
|
|
253
|
+
return registry;
|
|
254
|
+
} catch (error) {
|
|
255
|
+
diagnostics2.state = "failed";
|
|
256
|
+
diagnostics2.error = extractErrorMessage(error);
|
|
257
|
+
diagnostics2.loadedDomains = registry.listDomains();
|
|
258
|
+
diagnostics2.finishedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
259
|
+
registryDiagnostics = diagnostics2;
|
|
260
|
+
throw error;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
async function getHostPluginRegistry() {
|
|
264
|
+
if (singletonPromise) return singletonPromise;
|
|
265
|
+
singletonPromise = buildRegistry().catch((error) => {
|
|
266
|
+
singletonPromise = null;
|
|
267
|
+
throw error;
|
|
268
|
+
});
|
|
269
|
+
return singletonPromise;
|
|
270
|
+
}
|
|
271
|
+
function getHostPluginRegistryDiagnostics() {
|
|
272
|
+
return {
|
|
273
|
+
...registryDiagnostics,
|
|
274
|
+
loadedDomains: [...registryDiagnostics.loadedDomains],
|
|
275
|
+
plugins: registryDiagnostics.plugins.map((plugin) => ({ ...plugin }))
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
function resetHostPluginRegistry() {
|
|
279
|
+
singletonPromise = null;
|
|
280
|
+
pluginImportVersion += 1;
|
|
281
|
+
registryDiagnostics = {
|
|
282
|
+
...DEFAULT_DIAGNOSTICS,
|
|
283
|
+
loadedDomains: [],
|
|
284
|
+
plugins: []
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
export { getHostRegistrationDiagnostics as a, getHostPluginRegistryDiagnostics as b, getHostPluginRegistry as c, getHostConfig as g, resetHostPluginRegistry as r };
|
|
289
|
+
//# sourceMappingURL=registry-5amIZito.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-5amIZito.js","sources":["../../../.svelte-kit/output/server/chunks/registry.js"],"sourcesContent":["import path from \"node:path\";\nimport { createRequire } from \"node:module\";\nimport { pathToFileURL } from \"node:url\";\nimport { validateHostConfig, DomainPluginRegistry, normalizeDomainName } from \"@aopslab/host-core\";\nimport { p as private_env } from \"./shared-server.js\";\nimport \"./aops-runtime-config.js\";\nconst host = { \"name\": \"aops-community-server\", \"apiBasePath\": \"/api\" };\nconst runtime = { \"env\": { \"AOPS_PG_URL\": { \"fromEnv\": \"AOPS_PG_URL\", \"required\": true } } };\nconst pluginLoader = { \"strictAllowlist\": true, \"tolerantBootstrap\": false, \"allowlist\": [\"@aopslab/domain-host-plugin-sys\", \"./runtime/agentspace-host-adapter.mjs\", \"./runtime/docman-host-adapter.mjs\", \"./runtime/projectman-host-adapter.mjs\", \"@aopslab/domain-host-plugin-chatv3\"] };\nconst diagnostics = { \"exposePluginBootstrap\": true };\nconst agentGateway = { \"enabled\": true, \"includeLocal\": true, \"catalog\": { \"enabled\": true, \"manifestProviders\": [{ \"id\": \"sys-dcm\", \"domain\": \"sys\", \"enabled\": true, \"module\": \"@aopslab/domain-kit-sys\", \"exportName\": \"buildSysDomainCapabilityManifest\", \"options\": { \"domainVersion\": \"0.0.1\", \"includeDocs\": true } }, { \"id\": \"agentspace-dcm\", \"domain\": \"agentspace\", \"enabled\": true, \"module\": \"./runtime/agentspace-tooling.mjs\", \"exportName\": \"buildCommunityAgentspaceDomainCapabilityManifest\", \"options\": { \"domainVersion\": \"0.0.4\", \"includeDocs\": true } }, { \"id\": \"docman-dcm\", \"domain\": \"docman\", \"enabled\": true, \"module\": \"./runtime/docman-tooling.mjs\", \"exportName\": \"buildAopsDocmanDomainCapabilityManifest\", \"options\": { \"domainVersion\": \"0.1.3\", \"includeDocs\": true } }, { \"id\": \"projectman-dcm\", \"domain\": \"projectman\", \"enabled\": true, \"module\": \"@aopslab/domain-kit-projectman\", \"exportName\": \"buildProjectmanDomainCapabilityManifest\", \"options\": { \"domainVersion\": \"0.1.2\", \"includeDocs\": true } }, { \"id\": \"chatv3-dcm\", \"domain\": \"chatv3\", \"enabled\": true, \"module\": \"@aopslab/domain-kit-chatv3\", \"exportName\": \"buildChatv3DomainCapabilityManifest\", \"options\": { \"domainVersion\": \"0.1.0\", \"includeDocs\": true } }] }, \"sources\": [] };\nconst plugins = [{ \"domain\": \"sys\", \"enabled\": true, \"module\": \"@aopslab/domain-host-plugin-sys\", \"factory\": \"createSysPlugin\" }, { \"domain\": \"agentspace\", \"enabled\": true, \"module\": \"./runtime/agentspace-host-adapter.mjs\", \"factory\": \"createCommunityAgentspacePlugin\", \"options\": { \"defaultTenantId\": \"123e4567-e89b-41d4-a000-000000000001\" } }, { \"domain\": \"docman\", \"enabled\": true, \"module\": \"./runtime/docman-host-adapter.mjs\", \"factory\": \"createDocmanPlugin\", \"options\": { \"defaultScopeId\": \"00000000-0000-4000-8000-000000000000\" } }, { \"domain\": \"projectman\", \"enabled\": true, \"module\": \"./runtime/projectman-host-adapter.mjs\", \"factory\": \"createProjectmanPlugin\", \"options\": { \"defaultProjectId\": \"123e4567-e89b-41d4-a000-000000000000\", \"enableAopsWriteback\": true, \"failOnWritebackError\": false } }, { \"domain\": \"chatv3\", \"enabled\": true, \"module\": \"@aopslab/domain-host-plugin-chatv3\", \"factory\": \"createChatv3Plugin\" }];\nconst configRaw = {\n host,\n runtime,\n pluginLoader,\n diagnostics,\n agentGateway,\n plugins\n};\nconst COMMUNITY_DOMAINS = Object.freeze([\"sys\", \"agentspace\", \"docman\", \"projectman\", \"chatv3\"]);\nconst COMMUNITY_PLUGIN_MODULES = Object.freeze([\n \"@aopslab/domain-host-plugin-sys\",\n \"./runtime/agentspace-host-adapter.mjs\",\n \"./runtime/docman-host-adapter.mjs\",\n \"./runtime/projectman-host-adapter.mjs\",\n \"@aopslab/domain-host-plugin-chatv3\"\n]);\nconst COMMUNITY_RUNTIME_ENV_KEYS = Object.freeze([\"AOPS_PG_URL\"]);\nconst codepointCompare = (left, right) => left < right ? -1 : left > right ? 1 : 0;\nconst sorted = (values) => [...values].sort(codepointCompare);\nconst normalize = (value) => String(value ?? \"\").trim().toLowerCase();\nfunction exactSet(label, actual, expected) {\n const left = sorted(actual.map(normalize).filter(Boolean));\n const right = sorted(expected.map(normalize).filter(Boolean));\n if (new Set(left).size !== left.length || new Set(right).size !== right.length || left.length !== right.length || !left.every((value, index) => value === right[index])) {\n throw new Error(`community_host_config_set_mismatch:${label}:expected=${right.join(\",\")}:actual=${left.join(\",\")}`);\n }\n}\nfunction inventory(config) {\n return {\n pluginDomains: (config.plugins ?? []).map((plugin) => normalize(plugin.domain)).filter(Boolean),\n manifestProviderDomains: (config.agentGateway?.catalog?.manifestProviders ?? []).map((provider) => normalize(provider.domain)).filter(Boolean),\n sourceDomains: (config.agentGateway?.sources ?? []).map((source) => normalize(source.domain)).filter(Boolean)\n };\n}\nfunction validateStaticCommunityConfig(input) {\n const issues = validateHostConfig(input);\n if (issues.length > 0) {\n const first = issues[0];\n throw new Error(`host_config_invalid:${first.code}:${first.path}`);\n }\n const config = structuredClone(input);\n const domains = inventory(config);\n exactSet(\"plugins\", domains.pluginDomains, COMMUNITY_DOMAINS);\n exactSet(\"manifest-providers\", domains.manifestProviderDomains, COMMUNITY_DOMAINS);\n exactSet(\"remote-sources\", domains.sourceDomains, []);\n exactSet(\"plugin-loader\", config.pluginLoader?.allowlist ?? [], COMMUNITY_PLUGIN_MODULES);\n exactSet(\"runtime-env\", Object.keys(config.runtime?.env ?? {}), COMMUNITY_RUNTIME_ENV_KEYS);\n if (config.pluginLoader?.strictAllowlist !== true || config.pluginLoader?.tolerantBootstrap !== false || config.agentGateway?.enabled !== true || config.agentGateway?.includeLocal !== true || config.agentGateway?.catalog?.enabled !== true) {\n throw new Error(\"community_host_config_policy_mismatch\");\n }\n return config;\n}\nconst STATIC_HOST_CONFIG = validateStaticCommunityConfig(configRaw);\nconst EMPTY_INVENTORY = Object.freeze({\n pluginDomains: [],\n manifestProviderDomains: [],\n sourceDomains: []\n});\nfunction getHostConfig() {\n return structuredClone(STATIC_HOST_CONFIG);\n}\nfunction getHostRegistrationDiagnostics() {\n const explicit = inventory(STATIC_HOST_CONFIG);\n return {\n registrationsDir: \"<disabled:community-static-host-config>\",\n count: 0,\n precedence: [\"host.config.json\"],\n explicit,\n installed: structuredClone(EMPTY_INVENTORY),\n effective: structuredClone(explicit),\n registrations: []\n };\n}\nfunction applyHostRuntimeEnv(config) {\n const processEnv = process.env;\n const bindings = config.runtime?.env ?? {};\n exactSet(\"runtime-env-apply\", Object.keys(bindings), COMMUNITY_RUNTIME_ENV_KEYS);\n for (const [targetKey, binding] of Object.entries(bindings)) {\n const resolved = (typeof binding.value === \"string\" ? binding.value : void 0) ?? (typeof binding.fromEnv === \"string\" ? private_env[binding.fromEnv] ?? processEnv[binding.fromEnv] : void 0) ?? (typeof binding.default === \"string\" ? binding.default : void 0);\n if ((!resolved || resolved.trim().length === 0) && binding.required === true) {\n throw new Error(`host_runtime_env_required:${targetKey}`);\n }\n if (resolved && resolved.trim().length > 0) processEnv[targetKey] = resolved;\n }\n}\nconst runtimeImport = new Function(\"specifier\", \"return import(specifier)\");\nconst nodeRequire = createRequire(import.meta.url);\nlet pluginImportVersion = 0;\nconst DEFAULT_DIAGNOSTICS = {\n attempt: 0,\n state: \"idle\",\n loadedDomains: [],\n plugins: []\n};\nlet singletonPromise = null;\nlet bootstrapAttempt = 0;\nlet registryDiagnostics = { ...DEFAULT_DIAGNOSTICS };\nfunction extractErrorMessage(error) {\n if (error instanceof Error) return error.message;\n return String(error ?? \"unknown_error\");\n}\nfunction resolveModuleSpecifier(moduleName) {\n const trimmed = moduleName.trim();\n if (!trimmed) return trimmed;\n if (trimmed.startsWith(\"file://\")) return trimmed;\n if (path.isAbsolute(trimmed)) return pathToFileURL(trimmed).href;\n if (!trimmed.startsWith(\".\")) {\n const resolvePaths = [process.cwd(), path.resolve(process.cwd(), \"apps/aops-server\")];\n try {\n const resolved = nodeRequire.resolve(trimmed, { paths: resolvePaths });\n return pathToFileURL(resolved).href;\n } catch {\n return trimmed;\n }\n }\n const absolutePath = path.resolve(process.cwd(), trimmed);\n return pathToFileURL(absolutePath).href;\n}\nfunction withImportVersion(specifier) {\n if (!specifier.startsWith(\"file://\")) return specifier;\n const url = new URL(specifier);\n url.searchParams.set(\"v\", String(pluginImportVersion));\n return url.href;\n}\nfunction isModuleAllowed(moduleName, resolvedSpecifier, policy) {\n const allowlist = policy.allowlist ?? [];\n if (allowlist.length === 0) return policy.strictAllowlist === false;\n return allowlist.includes(moduleName) || allowlist.includes(resolvedSpecifier);\n}\nfunction assertModuleAllowed(moduleName, resolvedSpecifier, pluginConfig, policy) {\n if (isModuleAllowed(moduleName, resolvedSpecifier, policy)) return;\n if ((policy.allowlist ?? []).length === 0 && policy.strictAllowlist) {\n throw new Error(`plugin_module_allowlist_empty:${pluginConfig.domain}`);\n }\n throw new Error(`plugin_module_not_allowed:${pluginConfig.domain}:${moduleName}`);\n}\nasync function createPluginFromConfig(pluginConfig, policy) {\n const moduleName = pluginConfig.module;\n if (!moduleName) {\n throw new Error(`plugin_module_missing:${pluginConfig.domain}`);\n }\n const resolvedSpecifier = resolveModuleSpecifier(moduleName);\n assertModuleAllowed(moduleName, resolvedSpecifier, pluginConfig, policy);\n const exportName = pluginConfig.factory?.trim() || \"createPlugin\";\n let mod;\n try {\n mod = await runtimeImport(withImportVersion(resolvedSpecifier));\n } catch (error) {\n throw new Error(\n `plugin_module_import_failed:${pluginConfig.domain}:${moduleName}:${extractErrorMessage(error)}`\n );\n }\n const maybeFactory = mod[exportName] ?? mod.default;\n if (typeof maybeFactory !== \"function\") {\n throw new Error(`plugin_factory_not_found:${pluginConfig.domain}:${moduleName}#${exportName}`);\n }\n const instance = await Promise.resolve(\n maybeFactory(pluginConfig.options)\n );\n if (!instance || typeof instance !== \"object\") {\n throw new Error(`plugin_factory_invalid_result:${pluginConfig.domain}`);\n }\n const configDomain = normalizeDomainName(pluginConfig.domain);\n const pluginDomain = normalizeDomainName(instance.domain ?? \"\");\n if (configDomain && pluginDomain && configDomain !== pluginDomain) {\n throw new Error(`plugin_config_domain_mismatch:${configDomain}:${pluginDomain}`);\n }\n return instance;\n}\nasync function buildRegistry() {\n const registry = new DomainPluginRegistry();\n const config = getHostConfig();\n const policy = config.pluginLoader ?? {\n allowlist: [],\n strictAllowlist: false,\n tolerantBootstrap: false\n };\n const tolerantBootstrap = policy.tolerantBootstrap === true;\n const plugins2 = config.plugins ?? [];\n const diagnostics2 = {\n attempt: ++bootstrapAttempt,\n state: \"building\",\n startedAt: (/* @__PURE__ */ new Date()).toISOString(),\n loadedDomains: [],\n plugins: []\n };\n registryDiagnostics = diagnostics2;\n applyHostRuntimeEnv(config);\n const failedDomains = [];\n try {\n for (const pluginConfig of plugins2) {\n const pluginStart = Date.now();\n const domain = normalizeDomainName(pluginConfig.domain ?? \"\");\n const moduleName = pluginConfig.module?.trim() || null;\n const factoryName = pluginConfig.factory?.trim() || \"createPlugin\";\n if (pluginConfig.enabled === false) {\n diagnostics2.plugins.push({\n domain,\n module: moduleName,\n factory: factoryName,\n status: \"skipped\",\n durationMs: Date.now() - pluginStart\n });\n continue;\n }\n try {\n const plugin = await createPluginFromConfig(pluginConfig, policy);\n registry.register(plugin);\n diagnostics2.plugins.push({\n domain: normalizeDomainName(plugin.domain ?? domain),\n module: moduleName,\n factory: factoryName,\n status: \"loaded\",\n durationMs: Date.now() - pluginStart\n });\n } catch (error) {\n const message = extractErrorMessage(error);\n diagnostics2.plugins.push({\n domain,\n module: moduleName,\n factory: factoryName,\n status: \"failed\",\n durationMs: Date.now() - pluginStart,\n error: message\n });\n if (tolerantBootstrap) {\n failedDomains.push(domain);\n continue;\n }\n throw new Error(`plugin_bootstrap_failed:${domain}:${message}`);\n }\n }\n diagnostics2.state = \"ready\";\n if (failedDomains.length > 0) {\n diagnostics2.error = `plugin_bootstrap_partial_failure:${failedDomains.join(\",\")}`;\n }\n diagnostics2.loadedDomains = registry.listDomains();\n diagnostics2.finishedAt = (/* @__PURE__ */ new Date()).toISOString();\n registryDiagnostics = diagnostics2;\n return registry;\n } catch (error) {\n diagnostics2.state = \"failed\";\n diagnostics2.error = extractErrorMessage(error);\n diagnostics2.loadedDomains = registry.listDomains();\n diagnostics2.finishedAt = (/* @__PURE__ */ new Date()).toISOString();\n registryDiagnostics = diagnostics2;\n throw error;\n }\n}\nasync function getHostPluginRegistry() {\n if (singletonPromise) return singletonPromise;\n singletonPromise = buildRegistry().catch((error) => {\n singletonPromise = null;\n throw error;\n });\n return singletonPromise;\n}\nfunction getHostPluginRegistryDiagnostics() {\n return {\n ...registryDiagnostics,\n loadedDomains: [...registryDiagnostics.loadedDomains],\n plugins: registryDiagnostics.plugins.map((plugin) => ({ ...plugin }))\n };\n}\nfunction resetHostPluginRegistry() {\n singletonPromise = null;\n pluginImportVersion += 1;\n registryDiagnostics = {\n ...DEFAULT_DIAGNOSTICS,\n loadedDomains: [],\n plugins: []\n };\n}\nexport {\n getHostConfig as a,\n getHostRegistrationDiagnostics as b,\n getHostPluginRegistryDiagnostics as c,\n getHostPluginRegistry as g,\n resetHostPluginRegistry as r\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const AUTH_PROVIDER = "trusted-local";
|
|
2
|
+
function getAuthProvider() {
|
|
3
|
+
return AUTH_PROVIDER;
|
|
4
|
+
}
|
|
5
|
+
function isTrustedLocalAuthProvider(_authProvider = AUTH_PROVIDER) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
function isLoopbackHostname(value) {
|
|
9
|
+
const hostname = value.trim().toLowerCase();
|
|
10
|
+
if (hostname === "localhost" || hostname === "[::1]") return true;
|
|
11
|
+
const match = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(hostname);
|
|
12
|
+
if (!match) return false;
|
|
13
|
+
const octets = match.slice(1).map(Number);
|
|
14
|
+
return octets[0] === 127 && octets.every((octet) => octet >= 0 && octet <= 255);
|
|
15
|
+
}
|
|
16
|
+
function resolveRequestBaseUrl(_request, url) {
|
|
17
|
+
if (url.protocol !== "http:" && url.protocol !== "https:" || url.username || url.password || !isLoopbackHostname(url.hostname)) {
|
|
18
|
+
throw new Error("community_server_loopback_request_origin_required");
|
|
19
|
+
}
|
|
20
|
+
return url.origin;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { getAuthProvider as g, isTrustedLocalAuthProvider as i, resolveRequestBaseUrl as r };
|
|
24
|
+
//# sourceMappingURL=request-base-url-BDdrsaga.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-base-url-BDdrsaga.js","sources":["../../../.svelte-kit/output/server/chunks/request-base-url.js"],"sourcesContent":["const AUTH_PROVIDER = \"trusted-local\";\nfunction getAuthProvider() {\n return AUTH_PROVIDER;\n}\nfunction isTrustedLocalAuthProvider(_authProvider = AUTH_PROVIDER) {\n return true;\n}\nfunction isLoopbackHostname(value) {\n const hostname = value.trim().toLowerCase();\n if (hostname === \"localhost\" || hostname === \"[::1]\") return true;\n const match = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/.exec(hostname);\n if (!match) return false;\n const octets = match.slice(1).map(Number);\n return octets[0] === 127 && octets.every((octet) => octet >= 0 && octet <= 255);\n}\nfunction resolveRequestBaseUrl(_request, url) {\n if (url.protocol !== \"http:\" && url.protocol !== \"https:\" || url.username || url.password || !isLoopbackHostname(url.hostname)) {\n throw new Error(\"community_server_loopback_request_origin_required\");\n }\n return url.origin;\n}\nexport {\n getAuthProvider as g,\n isTrustedLocalAuthProvider as i,\n resolveRequestBaseUrl as r\n};\n"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,eAAe;AACrC,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,aAAa;AACtB;AACA,SAAS,0BAA0B,CAAC,aAAa,GAAG,aAAa,EAAE;AACnE,EAAE,OAAO,IAAI;AACb;AACA,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AAC7C,EAAE,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,OAAO,EAAE,OAAO,IAAI;AACnE,EAAE,MAAM,KAAK,GAAG,8CAA8C,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7E,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK;AAC1B,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AAC3C,EAAE,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC;AACjF;AACA,SAAS,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE;AAC9C,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAClI,IAAI,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;AACxE,EAAE;AACF,EAAE,OAAO,GAAG,CAAC,MAAM;AACnB;;;;"}
|