@aopslabs/aops-server 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/THIRD_PARTY_NOTICES +110 -35
  2. package/THIRD_PARTY_NOTICES.inventory.json +41 -25
  3. package/build/client/_app/immutable/chunks/C5WqdkdM.js +1 -0
  4. package/build/client/_app/immutable/entry/{app.wWpgS-lj.js → app.RfBghRbl.js} +2 -2
  5. package/build/client/_app/immutable/entry/start.DeqJycy8.js +1 -0
  6. package/build/client/_app/immutable/nodes/{1.ClIe_uwH.js → 1.dRPl3Pbi.js} +1 -1
  7. package/build/client/_app/version.json +1 -1
  8. package/build/handler.js +10 -3
  9. package/build/index.js +10 -3
  10. package/build/server/chunks/{agent-gateway-runtime-D6-UoKQA.js → chunks/agent-gateway-runtime.js-ftdwqFXq.js} +2 -2
  11. package/build/server/chunks/{discovery-BaEpDyWT.js → chunks/discovery.js-CVLocQvp.js} +3 -3
  12. package/build/server/chunks/chunks/exports.js-BoBrqMaZ.js +215 -0
  13. package/build/server/chunks/chunks/internal.js-CQ9L-Epg.js +126 -0
  14. package/build/server/chunks/chunks/json-request-body.js-ewKk-XAX.js +18 -0
  15. package/build/server/chunks/{registry-3GWqIriK.js → chunks/registry.js-U3x77b7r.js} +5 -5
  16. package/build/server/chunks/{request-context-9wzBoKrz.js → chunks/request-context.js-Y9Hk40z6.js} +3 -3
  17. package/build/server/chunks/chunks/root.js-Di8SnzYO.js +4187 -0
  18. package/build/server/chunks/chunks/server.js-Bf8x1V_n.js +15 -0
  19. package/build/server/chunks/chunks/uneval.js-BnYgIxRU.js +521 -0
  20. package/build/server/chunks/chunks/utils.js-DjaWGEhn.js +1623 -0
  21. package/build/server/chunks/chunks/utils2.js-BQzn9ikS.js +37 -0
  22. package/build/server/chunks/{_server.ts-WWdSLatP.js → entries/endpoints/api/_domain_/_...path_/_server.ts.js-ujk9Lc9B.js} +9 -7
  23. package/build/server/chunks/{_server.ts-5PfufGhQ.js → entries/endpoints/api/_server.ts.js-sSJl5nE9.js} +3 -1
  24. package/build/server/chunks/{_server.ts-CCrjMhLK.js → entries/endpoints/api/agent/discovery.json/_server.ts.js-eYRl3j62.js} +10 -8
  25. package/build/server/chunks/{_server.ts-BXCdUW6X.js → entries/endpoints/api/agent/openapi.json/_server.ts.js-BfttnM60.js} +9 -7
  26. package/build/server/chunks/{_server.ts-ClvARLzg.js → entries/endpoints/api/agent/tools/_server.ts.js-DtF6u5j-.js} +10 -8
  27. package/build/server/chunks/{_server.ts-Dy3zDemo.js → entries/endpoints/api/agent/tools/_toolId_/_server.ts.js-D4_OCEFF.js} +10 -8
  28. package/build/server/chunks/{_server.ts-C6tCqRgY.js → entries/endpoints/api/agent/tools/_toolId_/invoke/_server.ts.js-DLRXs4Li.js} +21 -19
  29. package/build/server/chunks/{_server.ts-BJ4evpqP.js → entries/endpoints/api/aops/docman/flows/_server.ts.js-6aWYpXk6.js} +12 -13
  30. package/build/server/chunks/{_server.ts-CGIpzS6K.js → entries/endpoints/api/aops/projectman/flows/_server.ts.js-D_-6ferA.js} +12 -13
  31. package/build/server/chunks/{_server.ts-CNd_VT19.js → entries/endpoints/api/aops/settings/database/status/_server.ts.js-Owz6c-s3.js} +5 -3
  32. package/build/server/chunks/{_server.ts-7-tcIJf2.js → entries/endpoints/api/auth/me/_server.ts.js-CSjwLMYe.js} +4 -2
  33. package/build/server/chunks/{_server.ts-DCkBCaJM.js → entries/endpoints/api/health/_server.ts.js-CqZW_cm6.js} +6 -4
  34. package/build/server/chunks/entries/endpoints/api/hello/_server.ts.js-CF4gShRZ.js +11 -0
  35. package/build/server/chunks/{_server.ts-C7O3p1BG.js → entries/endpoints/api/host-admin/plugins/_server.ts.js-BJBnC_mP.js} +7 -5
  36. package/build/server/chunks/entries/endpoints/api/host-admin/runtime-config/_server.ts.js-BbVXEK2o.js +12 -0
  37. package/build/server/chunks/{_server.ts-CuifGJTF.js → entries/endpoints/api/host-admin/runtime-config/test/_server.ts.js-4KY0tKLf.js} +5 -3
  38. package/build/server/chunks/{_server.ts-BzHZDsLU.js → entries/endpoints/api-info.json/_server.ts.js-DklaS6fp.js} +10 -8
  39. package/build/server/chunks/{_server.ts-AJ0imKUc.js → entries/endpoints/openapi.json/_server.ts.js-ixf1Z8a2.js} +9 -7
  40. package/build/server/chunks/{error.svelte-B5_Vjwmk.js → entries/fallbacks/error.svelte.js-D7yKTuER.js} +5 -1
  41. package/build/server/chunks/{hooks.server-B8q2QwIQ.js → entries/hooks.server.js-0eTKxvgl.js} +4 -2
  42. package/build/server/chunks/{handler-BsClyvu7.js → handler-CejpfyJh.js} +3 -2
  43. package/build/server/chunks/index.js-CBv9Rsqj.js +4103 -0
  44. package/build/server/chunks/{manifest.js-zg9yAX8Y.js → manifest.js-Bl7KqFbu.js} +24 -24
  45. package/build/server/chunks/{1-CCFGO3E8.js → nodes/1.js-BMByn53B.js} +2 -2
  46. package/npm-shrinkwrap.json +56 -50
  47. package/package.json +12 -12
  48. package/runtime/agentspace-host-adapter.mjs +19 -5
  49. package/runtime/agentspace-tooling.mjs +23 -23
  50. package/runtime/docman-host-adapter.mjs +33 -3
  51. package/runtime-closure.package.json +22 -20
  52. package/build/client/_app/immutable/chunks/DOP91BI2.js +0 -1
  53. package/build/client/_app/immutable/entry/start.B6IoXHM8.js +0 -1
  54. package/build/server/chunks/_server.ts-CHX_s-fT.js +0 -9
  55. package/build/server/chunks/_server.ts-DGOwt3F3.js +0 -10
  56. package/build/server/chunks/index.js--6zD1xCG.js +0 -10803
  57. /package/build/server/chunks/{aops-runtime-config-CHpDUCdE.js → chunks/aops-runtime-config.js-CHpDUCdE.js} +0 -0
  58. /package/build/server/chunks/{auth-provider-C07OUlnz.js → chunks/auth-provider.js-C07OUlnz.js} +0 -0
  59. /package/build/server/chunks/{commercial-admission-loader-ZGZHRPLe.js → chunks/commercial-admission-loader.js-ZGZHRPLe.js} +0 -0
  60. /package/build/server/chunks/{plugin-error-normalize-DNeRsopQ.js → chunks/plugin-error-normalize.js-DNeRsopQ.js} +0 -0
  61. /package/build/server/chunks/{project-alias-BdnRxWft.js → chunks/project-alias.js-BdnRxWft.js} +0 -0
  62. /package/build/server/chunks/{request-base-url-zKJpVUv5.js → chunks/request-base-url.js-zKJpVUv5.js} +0 -0
  63. /package/build/server/chunks/{xf-result-BRDjvftr.js → chunks/xf-result.js-BRDjvftr.js} +0 -0
  64. /package/build/server/chunks/{_server.ts-Bly8fCZa.js → entries/endpoints/_server.ts.js-Bly8fCZa.js} +0 -0
  65. /package/build/server/chunks/{_server.ts-DbdAfdYo.js → entries/endpoints/api/chatv3/v1/rooms/_roomId_/stream/_server.ts.js-DbdAfdYo.js} +0 -0
  66. /package/build/server/chunks/{_server.ts-Cv-yaXZI.js → entries/endpoints/api-info/_server.ts.js-Cv-yaXZI.js} +0 -0
  67. /package/build/server/chunks/{0-RfB6m2nq.js → nodes/0.js-RfB6m2nq.js} +0 -0
@@ -10,10 +10,10 @@ return {
10
10
  assets: new Set([]),
11
11
  mimeTypes: {},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.B6IoXHM8.js",app:"_app/immutable/entry/app.wWpgS-lj.js",imports:["_app/immutable/entry/start.B6IoXHM8.js","_app/immutable/chunks/DOP91BI2.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/B2EkC-sy.js","_app/immutable/entry/app.wWpgS-lj.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/CMkIcmi1.js","_app/immutable/chunks/rqnVXeyB.js","_app/immutable/chunks/B2EkC-sy.js","_app/immutable/chunks/3DOfIKW0.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
13
+ client: {start:"_app/immutable/entry/start.DeqJycy8.js",app:"_app/immutable/entry/app.RfBghRbl.js",imports:["_app/immutable/entry/start.DeqJycy8.js","_app/immutable/chunks/C5WqdkdM.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/B2EkC-sy.js","_app/immutable/entry/app.RfBghRbl.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/CMkIcmi1.js","_app/immutable/chunks/rqnVXeyB.js","_app/immutable/chunks/B2EkC-sy.js","_app/immutable/chunks/3DOfIKW0.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
- __memo(() => import('./0-RfB6m2nq.js')),
16
- __memo(() => import('./1-CCFGO3E8.js'))
15
+ __memo(() => import('./nodes/0.js-RfB6m2nq.js')),
16
+ __memo(() => import('./nodes/1.js-BMByn53B.js'))
17
17
  ],
18
18
  remotes: {
19
19
 
@@ -24,147 +24,147 @@ return {
24
24
  pattern: /^\/$/,
25
25
  params: [],
26
26
  page: null,
27
- endpoint: __memo(() => import('./_server.ts-Bly8fCZa.js'))
27
+ endpoint: __memo(() => import('./entries/endpoints/_server.ts.js-Bly8fCZa.js'))
28
28
  },
29
29
  {
30
30
  id: "/api-info.json",
31
31
  pattern: /^\/api-info\.json\/?$/,
32
32
  params: [],
33
33
  page: null,
34
- endpoint: __memo(() => import('./_server.ts-BzHZDsLU.js'))
34
+ endpoint: __memo(() => import('./entries/endpoints/api-info.json/_server.ts.js-DklaS6fp.js'))
35
35
  },
36
36
  {
37
37
  id: "/api-info",
38
38
  pattern: /^\/api-info\/?$/,
39
39
  params: [],
40
40
  page: null,
41
- endpoint: __memo(() => import('./_server.ts-Cv-yaXZI.js'))
41
+ endpoint: __memo(() => import('./entries/endpoints/api-info/_server.ts.js-Cv-yaXZI.js'))
42
42
  },
43
43
  {
44
44
  id: "/api",
45
45
  pattern: /^\/api\/?$/,
46
46
  params: [],
47
47
  page: null,
48
- endpoint: __memo(() => import('./_server.ts-5PfufGhQ.js'))
48
+ endpoint: __memo(() => import('./entries/endpoints/api/_server.ts.js-sSJl5nE9.js'))
49
49
  },
50
50
  {
51
51
  id: "/api/agent/discovery.json",
52
52
  pattern: /^\/api\/agent\/discovery\.json\/?$/,
53
53
  params: [],
54
54
  page: null,
55
- endpoint: __memo(() => import('./_server.ts-CCrjMhLK.js'))
55
+ endpoint: __memo(() => import('./entries/endpoints/api/agent/discovery.json/_server.ts.js-eYRl3j62.js'))
56
56
  },
57
57
  {
58
58
  id: "/api/agent/openapi.json",
59
59
  pattern: /^\/api\/agent\/openapi\.json\/?$/,
60
60
  params: [],
61
61
  page: null,
62
- endpoint: __memo(() => import('./_server.ts-BXCdUW6X.js'))
62
+ endpoint: __memo(() => import('./entries/endpoints/api/agent/openapi.json/_server.ts.js-BfttnM60.js'))
63
63
  },
64
64
  {
65
65
  id: "/api/agent/tools",
66
66
  pattern: /^\/api\/agent\/tools\/?$/,
67
67
  params: [],
68
68
  page: null,
69
- endpoint: __memo(() => import('./_server.ts-ClvARLzg.js'))
69
+ endpoint: __memo(() => import('./entries/endpoints/api/agent/tools/_server.ts.js-DtF6u5j-.js'))
70
70
  },
71
71
  {
72
72
  id: "/api/agent/tools/[toolId]",
73
73
  pattern: /^\/api\/agent\/tools\/([^/]+?)\/?$/,
74
74
  params: [{"name":"toolId","optional":false,"rest":false,"chained":false}],
75
75
  page: null,
76
- endpoint: __memo(() => import('./_server.ts-Dy3zDemo.js'))
76
+ endpoint: __memo(() => import('./entries/endpoints/api/agent/tools/_toolId_/_server.ts.js-D4_OCEFF.js'))
77
77
  },
78
78
  {
79
79
  id: "/api/agent/tools/[toolId]/invoke",
80
80
  pattern: /^\/api\/agent\/tools\/([^/]+?)\/invoke\/?$/,
81
81
  params: [{"name":"toolId","optional":false,"rest":false,"chained":false}],
82
82
  page: null,
83
- endpoint: __memo(() => import('./_server.ts-C6tCqRgY.js'))
83
+ endpoint: __memo(() => import('./entries/endpoints/api/agent/tools/_toolId_/invoke/_server.ts.js-DLRXs4Li.js'))
84
84
  },
85
85
  {
86
86
  id: "/api/aops/docman/flows",
87
87
  pattern: /^\/api\/aops\/docman\/flows\/?$/,
88
88
  params: [],
89
89
  page: null,
90
- endpoint: __memo(() => import('./_server.ts-BJ4evpqP.js'))
90
+ endpoint: __memo(() => import('./entries/endpoints/api/aops/docman/flows/_server.ts.js-6aWYpXk6.js'))
91
91
  },
92
92
  {
93
93
  id: "/api/aops/projectman/flows",
94
94
  pattern: /^\/api\/aops\/projectman\/flows\/?$/,
95
95
  params: [],
96
96
  page: null,
97
- endpoint: __memo(() => import('./_server.ts-CGIpzS6K.js'))
97
+ endpoint: __memo(() => import('./entries/endpoints/api/aops/projectman/flows/_server.ts.js-D_-6ferA.js'))
98
98
  },
99
99
  {
100
100
  id: "/api/aops/settings/database/status",
101
101
  pattern: /^\/api\/aops\/settings\/database\/status\/?$/,
102
102
  params: [],
103
103
  page: null,
104
- endpoint: __memo(() => import('./_server.ts-CNd_VT19.js'))
104
+ endpoint: __memo(() => import('./entries/endpoints/api/aops/settings/database/status/_server.ts.js-Owz6c-s3.js'))
105
105
  },
106
106
  {
107
107
  id: "/api/auth/me",
108
108
  pattern: /^\/api\/auth\/me\/?$/,
109
109
  params: [],
110
110
  page: null,
111
- endpoint: __memo(() => import('./_server.ts-7-tcIJf2.js'))
111
+ endpoint: __memo(() => import('./entries/endpoints/api/auth/me/_server.ts.js-CSjwLMYe.js'))
112
112
  },
113
113
  {
114
114
  id: "/api/chatv3/v1/rooms/[roomId]/stream",
115
115
  pattern: /^\/api\/chatv3\/v1\/rooms\/([^/]+?)\/stream\/?$/,
116
116
  params: [{"name":"roomId","optional":false,"rest":false,"chained":false}],
117
117
  page: null,
118
- endpoint: __memo(() => import('./_server.ts-DbdAfdYo.js'))
118
+ endpoint: __memo(() => import('./entries/endpoints/api/chatv3/v1/rooms/_roomId_/stream/_server.ts.js-DbdAfdYo.js'))
119
119
  },
120
120
  {
121
121
  id: "/api/health",
122
122
  pattern: /^\/api\/health\/?$/,
123
123
  params: [],
124
124
  page: null,
125
- endpoint: __memo(() => import('./_server.ts-DCkBCaJM.js'))
125
+ endpoint: __memo(() => import('./entries/endpoints/api/health/_server.ts.js-CqZW_cm6.js'))
126
126
  },
127
127
  {
128
128
  id: "/api/hello",
129
129
  pattern: /^\/api\/hello\/?$/,
130
130
  params: [],
131
131
  page: null,
132
- endpoint: __memo(() => import('./_server.ts-CHX_s-fT.js'))
132
+ endpoint: __memo(() => import('./entries/endpoints/api/hello/_server.ts.js-CF4gShRZ.js'))
133
133
  },
134
134
  {
135
135
  id: "/api/host-admin/plugins",
136
136
  pattern: /^\/api\/host-admin\/plugins\/?$/,
137
137
  params: [],
138
138
  page: null,
139
- endpoint: __memo(() => import('./_server.ts-C7O3p1BG.js'))
139
+ endpoint: __memo(() => import('./entries/endpoints/api/host-admin/plugins/_server.ts.js-BJBnC_mP.js'))
140
140
  },
141
141
  {
142
142
  id: "/api/host-admin/runtime-config",
143
143
  pattern: /^\/api\/host-admin\/runtime-config\/?$/,
144
144
  params: [],
145
145
  page: null,
146
- endpoint: __memo(() => import('./_server.ts-DGOwt3F3.js'))
146
+ endpoint: __memo(() => import('./entries/endpoints/api/host-admin/runtime-config/_server.ts.js-BbVXEK2o.js'))
147
147
  },
148
148
  {
149
149
  id: "/api/host-admin/runtime-config/test",
150
150
  pattern: /^\/api\/host-admin\/runtime-config\/test\/?$/,
151
151
  params: [],
152
152
  page: null,
153
- endpoint: __memo(() => import('./_server.ts-CuifGJTF.js'))
153
+ endpoint: __memo(() => import('./entries/endpoints/api/host-admin/runtime-config/test/_server.ts.js-4KY0tKLf.js'))
154
154
  },
155
155
  {
156
156
  id: "/api/[domain]/[...path]",
157
157
  pattern: /^\/api\/([^/]+?)(?:\/([^]*))?\/?$/,
158
158
  params: [{"name":"domain","optional":false,"rest":false,"chained":false},{"name":"path","optional":false,"rest":true,"chained":true}],
159
159
  page: null,
160
- endpoint: __memo(() => import('./_server.ts-WWdSLatP.js'))
160
+ endpoint: __memo(() => import('./entries/endpoints/api/_domain_/_...path_/_server.ts.js-ujk9Lc9B.js'))
161
161
  },
162
162
  {
163
163
  id: "/openapi.json",
164
164
  pattern: /^\/openapi\.json\/?$/,
165
165
  params: [],
166
166
  page: null,
167
- endpoint: __memo(() => import('./_server.ts-AJ0imKUc.js'))
167
+ endpoint: __memo(() => import('./entries/endpoints/openapi.json/_server.ts.js-ixf1Z8a2.js'))
168
168
  }
169
169
  ],
170
170
  prerendered_routes: new Set([]),
@@ -1,7 +1,7 @@
1
1
  const index = 1;
2
2
  let component_cache;
3
- const component = async () => component_cache ??= (await import('./error.svelte-B5_Vjwmk.js')).default;
4
- const imports = ["_app/immutable/nodes/1.ClIe_uwH.js","_app/immutable/chunks/rqnVXeyB.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/CMkIcmi1.js","_app/immutable/chunks/DOP91BI2.js","_app/immutable/chunks/B2EkC-sy.js"];
3
+ const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js-D7yKTuER.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.dRPl3Pbi.js","_app/immutable/chunks/rqnVXeyB.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/CMkIcmi1.js","_app/immutable/chunks/C5WqdkdM.js","_app/immutable/chunks/B2EkC-sy.js"];
5
5
  const stylesheets = [];
6
6
  const fonts = [];
7
7
 
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@aopslab/aops-server-runtime-closure",
3
- "version": "0.2.10",
3
+ "version": "0.2.11",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@aopslab/aops-server-runtime-closure",
9
- "version": "0.2.10",
9
+ "version": "0.2.11",
10
10
  "license": "UNLICENSED",
11
11
  "dependencies": {
12
12
  "@aopslabs/aops-error-catalog": "0.2.1",
13
13
  "@aopslabs/aops-host-registration": "0.2.1",
14
14
  "@aopslabs/aops-pg-bootstrap": "0.2.2",
15
15
  "@aopslabs/artifact-trust-contracts": "0.3.1",
16
- "@aopslabs/domain-host-plugin-agentspace": "0.2.2",
17
- "@aopslabs/domain-host-plugin-chatv3": "0.2.1",
18
- "@aopslabs/domain-host-plugin-docman": "0.2.1",
19
- "@aopslabs/domain-host-plugin-projectman": "0.2.0",
20
- "@aopslabs/domain-host-plugin-sys": "0.2.0",
16
+ "@aopslabs/domain-host-plugin-agentspace": "0.3.0",
17
+ "@aopslabs/domain-host-plugin-chatv3": "0.3.0",
18
+ "@aopslabs/domain-host-plugin-docman": "0.3.0",
19
+ "@aopslabs/domain-host-plugin-projectman": "0.3.0",
20
+ "@aopslabs/domain-host-plugin-sys": "0.3.0",
21
21
  "@aopslabs/domain-kit-agentspace": "0.2.2",
22
22
  "@aopslabs/domain-kit-chatv3": "0.2.1",
23
23
  "@aopslabs/domain-kit-docman": "0.2.1",
@@ -31,13 +31,13 @@
31
31
  "@aopslabs/domain-product-projectman": "0.2.0",
32
32
  "@aopslabs/domain-runtime-config-docman": "0.2.0",
33
33
  "@aopslabs/domain-runtime-config-projectman": "0.2.0",
34
- "@aopslabs/host-adapter-sveltekit": "0.2.0",
34
+ "@aopslabs/host-adapter-sveltekit": "0.3.0",
35
35
  "@aopslabs/host-admission": "0.1.1",
36
36
  "@aopslabs/host-auth": "0.1.0",
37
- "@aopslabs/host-core": "0.2.1",
38
- "@aopslabs/host-gateway": "0.1.1",
37
+ "@aopslabs/host-core": "0.3.0",
38
+ "@aopslabs/host-gateway": "0.2.0",
39
39
  "@aopslabs/host-registration": "0.2.0",
40
- "@aopslabs/host-shell": "0.1.1",
40
+ "@aopslabs/host-shell": "0.2.0",
41
41
  "@aopslabs/manifest": "0.2.0",
42
42
  "@aopslabs/xf-dm-kits": "0.2.0",
43
43
  "@aopslabs/xf-logger": "0.2.1",
@@ -211,56 +211,56 @@
211
211
  }
212
212
  },
213
213
  "node_modules/@aopslabs/domain-host-plugin-agentspace": {
214
- "version": "0.2.2",
215
- "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-agentspace/-/domain-host-plugin-agentspace-0.2.2.tgz",
216
- "integrity": "sha512-vSMSZY+/yai0tKJp/BkD3170IjYZZ5CCK0me5GQiIM+J6XP/GYRork2fa3CU644jtSiaqAXuvM4UHxdPs/DisA==",
214
+ "version": "0.3.0",
215
+ "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-agentspace/-/domain-host-plugin-agentspace-0.3.0.tgz",
216
+ "integrity": "sha512-oj3tX1J2CaB9FBaPxMDQZJWlM2xLKpnA2CvaV4k7CfqwOEzcsq100h6+WrMg183H50BSDwBE16BC+53px1k2DQ==",
217
217
  "license": "SEE LICENSE IN LICENSE",
218
218
  "dependencies": {
219
219
  "@aopslabs/domain-kit-agentspace": "0.2.2",
220
- "@aopslabs/xf-validation": "^0.2.0",
220
+ "@aopslabs/xf-validation": "0.2.0",
221
221
  "ajv": "^8.18.0"
222
222
  }
223
223
  },
224
224
  "node_modules/@aopslabs/domain-host-plugin-chatv3": {
225
- "version": "0.2.1",
226
- "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-chatv3/-/domain-host-plugin-chatv3-0.2.1.tgz",
227
- "integrity": "sha512-qiYiCQR9fx5HmPf3fwxN/A553hjJhSaGD97KhRyp0d/p2l/iQ5rfm1DXVftVqJ22uQUSbD7u0A0+QMn4feXPkw==",
225
+ "version": "0.3.0",
226
+ "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-chatv3/-/domain-host-plugin-chatv3-0.3.0.tgz",
227
+ "integrity": "sha512-9X+L2BYpqr3k6xSv07HKg7892rwlzcEDOMLi592nQtaEfJvDOo2vI55mgfEObJ457cHNvPGpkXNm5GVV1DqE5Q==",
228
228
  "license": "SEE LICENSE IN LICENSE",
229
229
  "dependencies": {
230
- "@aopslabs/domain-dm-chatv3": "^0.2.1",
231
- "@aopslabs/domain-kit-chatv3": "^0.2.1",
232
- "@aopslabs/domain-pg-bootstrap-chatv3": "^0.2.1"
230
+ "@aopslabs/domain-dm-chatv3": "0.2.1",
231
+ "@aopslabs/domain-kit-chatv3": "0.2.1",
232
+ "@aopslabs/domain-pg-bootstrap-chatv3": "0.2.1"
233
233
  }
234
234
  },
235
235
  "node_modules/@aopslabs/domain-host-plugin-docman": {
236
- "version": "0.2.1",
237
- "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-docman/-/domain-host-plugin-docman-0.2.1.tgz",
238
- "integrity": "sha512-KaBsQ8xqEulIPwaIWbQIq+7mJtYA4i+NJIt0n/RFa6zizFLAqJ4gnNRXsFZza4t8QhyUaEJYgx3rQDdHInEo/Q==",
236
+ "version": "0.3.0",
237
+ "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-docman/-/domain-host-plugin-docman-0.3.0.tgz",
238
+ "integrity": "sha512-Do4qwa6Dp+bKbWtXhN4nlBCoOsY+iJYfR6xoC2vrMxxTi4dE+10NIL2upFibsA6GBinjqQlK583kNXb6EgwX0Q==",
239
239
  "license": "SEE LICENSE IN LICENSE",
240
240
  "dependencies": {
241
241
  "@aopslabs/domain-kit-docman": "0.2.1",
242
- "@aopslabs/xf-validation": "^0.2.0",
242
+ "@aopslabs/xf-validation": "0.2.0",
243
243
  "zod": "4.4.3"
244
244
  }
245
245
  },
246
246
  "node_modules/@aopslabs/domain-host-plugin-projectman": {
247
- "version": "0.2.0",
248
- "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-projectman/-/domain-host-plugin-projectman-0.2.0.tgz",
249
- "integrity": "sha512-tGqv8luLmKfVgVoe7/+wFTjQir81DHUlS/jBxFMZ2nJaaE6/lLYpT1S1Om398+UTmBU+Mw1KuXFYTitaejPU1A==",
247
+ "version": "0.3.0",
248
+ "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-projectman/-/domain-host-plugin-projectman-0.3.0.tgz",
249
+ "integrity": "sha512-z0bPMwR34+/Bl2aKDWIXlHSTtInBDoQTUVsvN1OAXn/zy3RtqZql6IJ4651ZWGJvlZTXUf1TT6/rqD3kgcKmfw==",
250
250
  "license": "SEE LICENSE IN LICENSE",
251
251
  "dependencies": {
252
- "@aopslabs/domain-kit-projectman": "^0.2.0",
253
- "@aopslabs/xf-validation": "^0.2.0"
252
+ "@aopslabs/domain-kit-projectman": "0.2.0",
253
+ "@aopslabs/xf-validation": "0.2.0"
254
254
  }
255
255
  },
256
256
  "node_modules/@aopslabs/domain-host-plugin-sys": {
257
- "version": "0.2.0",
258
- "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-sys/-/domain-host-plugin-sys-0.2.0.tgz",
259
- "integrity": "sha512-Ct7FFsXC6YWo98sbW5CBROtFHYbbF6QlKiCQYG2Mn7rI6fRu6zQE089AAb7B9rmULYHbZAjYHY1JpLB670/ohw==",
257
+ "version": "0.3.0",
258
+ "resolved": "https://registry.npmjs.org/@aopslabs/domain-host-plugin-sys/-/domain-host-plugin-sys-0.3.0.tgz",
259
+ "integrity": "sha512-88V6ZMQlAEY8jUOeCr8hcgHMmr/o/zwvqU6RgbPh2JFza5TpYRL9Qs6MvnFZB1+IhwD9Bczw4JG04OShViGpZA==",
260
260
  "license": "SEE LICENSE IN LICENSE",
261
261
  "dependencies": {
262
- "@aopslabs/domain-kit-sys": "^0.2.0",
263
- "@aopslabs/xf-validation": "^0.2.0",
262
+ "@aopslabs/domain-kit-sys": "0.2.0",
263
+ "@aopslabs/xf-validation": "0.2.0",
264
264
  "zod": "^4.4.3"
265
265
  }
266
266
  },
@@ -418,15 +418,15 @@
418
418
  "license": "SEE LICENSE IN LICENSE"
419
419
  },
420
420
  "node_modules/@aopslabs/host-adapter-sveltekit": {
421
- "version": "0.2.0",
422
- "resolved": "https://registry.npmjs.org/@aopslabs/host-adapter-sveltekit/-/host-adapter-sveltekit-0.2.0.tgz",
423
- "integrity": "sha512-b6bswtymNVnabH2CmpgvzCceydNZjCE3DKQas5NaTQ0jWAoiAb3hXZRDDIyXV+thzg7GxPrlTT911680Vaz7jw==",
421
+ "version": "0.3.0",
422
+ "resolved": "https://registry.npmjs.org/@aopslabs/host-adapter-sveltekit/-/host-adapter-sveltekit-0.3.0.tgz",
423
+ "integrity": "sha512-EroA8FWaQ4414JKs9o6gLX2dv+ALP+QV9IIvOHJ3ZX7OoO29ztXeY7RonX3TQixlfR/SeDz0b5TBBN0Fr8M6DQ==",
424
424
  "license": "SEE LICENSE IN LICENSE",
425
425
  "dependencies": {
426
- "@aopslabs/host-core": "^0.2.0"
426
+ "@aopslabs/host-core": "0.3.0"
427
427
  },
428
428
  "peerDependencies": {
429
- "@sveltejs/kit": "^2.70.2"
429
+ "@sveltejs/kit": "*"
430
430
  }
431
431
  },
432
432
  "node_modules/@aopslabs/host-admission": {
@@ -456,20 +456,26 @@
456
456
  "@aopslabs/host-core": "^0.2.0"
457
457
  }
458
458
  },
459
- "node_modules/@aopslabs/host-core": {
459
+ "node_modules/@aopslabs/host-auth/node_modules/@aopslabs/host-core": {
460
460
  "version": "0.2.1",
461
461
  "resolved": "https://registry.npmjs.org/@aopslabs/host-core/-/host-core-0.2.1.tgz",
462
462
  "integrity": "sha512-IvaHw8CXBk0sP6QwuH1yZBGy4eJRQJCglS6agbZcdo5J9iCjU92CGw8j+1kaBeatWUMPKD/GNqaOYFy+h8M2Mw==",
463
463
  "license": "SEE LICENSE IN LICENSE"
464
464
  },
465
+ "node_modules/@aopslabs/host-core": {
466
+ "version": "0.3.0",
467
+ "resolved": "https://registry.npmjs.org/@aopslabs/host-core/-/host-core-0.3.0.tgz",
468
+ "integrity": "sha512-nU++fcUUzUlG6vb7vma5yTKMZsGjvoY/yK4w0K6bQujNPsuk1nt/uL6pGN8ecgdM7nbFw0mJG/IYQWZNouC+Ng==",
469
+ "license": "SEE LICENSE IN LICENSE"
470
+ },
465
471
  "node_modules/@aopslabs/host-gateway": {
466
- "version": "0.1.1",
467
- "resolved": "https://registry.npmjs.org/@aopslabs/host-gateway/-/host-gateway-0.1.1.tgz",
468
- "integrity": "sha512-zFlK40HQDgmsU+vGMsCMpakJmC1awvzlX9RdpLHbFuApeY8KF8dLtnBm0iPd17GFZAkdcit550miyRZXzeao5g==",
472
+ "version": "0.2.0",
473
+ "resolved": "https://registry.npmjs.org/@aopslabs/host-gateway/-/host-gateway-0.2.0.tgz",
474
+ "integrity": "sha512-ce5q0zAPnvcUxWDa81gZ/iElMdqyhKZu+d+wfDaygs2TqLQ1dGEWHiMcU11B6x6PJctPFOd7s3sxBC2iL8jmzg==",
469
475
  "license": "SEE LICENSE IN LICENSE",
470
476
  "dependencies": {
471
477
  "@aopslabs/host-admission": "0.1.0",
472
- "@aopslabs/host-core": "0.2.1"
478
+ "@aopslabs/host-core": "0.3.0"
473
479
  }
474
480
  },
475
481
  "node_modules/@aopslabs/host-gateway/node_modules/@aopslabs/artifact-trust-contracts": {
@@ -497,15 +503,15 @@
497
503
  "license": "SEE LICENSE IN LICENSE"
498
504
  },
499
505
  "node_modules/@aopslabs/host-shell": {
500
- "version": "0.1.1",
501
- "resolved": "https://registry.npmjs.org/@aopslabs/host-shell/-/host-shell-0.1.1.tgz",
502
- "integrity": "sha512-Pf4HtMMvFLbLADGpVWZtZfbsbol6iTd8gMmuJOHg8Su4K+GdNsMDZY7MHpjUoAyoFLmxXFsgZW+r2RRWFtMZGg==",
506
+ "version": "0.2.0",
507
+ "resolved": "https://registry.npmjs.org/@aopslabs/host-shell/-/host-shell-0.2.0.tgz",
508
+ "integrity": "sha512-68177DeI2SwCQgtKmImcKJsqXVs5VGtsL8vMHsmzj8ysebFU43jK2exPHYzj8IPPMiktZ+wtTnpVf2P9EUqpSw==",
503
509
  "license": "SEE LICENSE IN LICENSE",
504
510
  "dependencies": {
505
511
  "@aopslabs/host-admission": "0.1.0",
506
512
  "@aopslabs/host-auth": "0.1.0",
507
- "@aopslabs/host-core": "0.2.1",
508
- "@aopslabs/host-gateway": "0.1.1",
513
+ "@aopslabs/host-core": "0.3.0",
514
+ "@aopslabs/host-gateway": "0.2.0",
509
515
  "@aopslabs/host-registration": "0.2.0"
510
516
  }
511
517
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aopslabs/aops-server",
3
- "version": "0.2.10",
3
+ "version": "0.2.11",
4
4
  "type": "module",
5
5
  "description": "AOPS server runtime.",
6
6
  "keywords": [
@@ -23,14 +23,14 @@
23
23
  "dev": "node ./scripts/dev.mjs",
24
24
  "build": "svelte-kit sync && vite build && node ./scripts/build-commercial-integrity-worker.mjs && node ./scripts/prune-production-sourcemaps.mjs",
25
25
  "test:dev": "pnpm --dir ../.. --filter @aopslabs/aops-runtime-config run build && node --test test/community-dev.test.mjs",
26
- "test:host": "node --test --experimental-strip-types test/community-host.test.mjs test/community-manifest-providers.test.mjs test/request-base-url.test.mjs test/runtime-config.test.mjs",
26
+ "test:host": "node --test --experimental-strip-types test/community-adapter-contracts.test.mjs test/community-host.test.mjs test/community-manifest-providers.test.mjs test/request-base-url.test.mjs test/runtime-config.test.mjs",
27
27
  "test:semantic-contract": "node ./scripts/check-community-migration-policy-closure.mjs && node --test test/community-migration-policy-closure.test.mjs test/community-semantic-contract.test.mjs",
28
28
  "test:migration-policy-closure": "node ./scripts/check-community-migration-policy-closure.mjs && node --test test/community-migration-policy-closure.test.mjs",
29
29
  "test:gateway": "pnpm --filter @aopslabs/artifact-trust-contracts run build && node --test --experimental-strip-types src/lib/agent-gateway/helpers.test.ts src/lib/agent-gateway/invoke-idempotency-fingerprint.test.ts",
30
30
  "test:kernel": "node --test --experimental-strip-types src/lib/kernel-runtime.test.ts",
31
31
  "test:commercial-admission-loader": "node ./scripts/build-commercial-integrity-worker.mjs --check && node --test --experimental-strip-types src/lib/commercial-admission-loader.test.ts src/lib/admission-runtime.test.ts",
32
32
  "test:commercial-admission-guard": "node --test --experimental-strip-types src/lib/host-plugins/commercial-admission-guard.test.ts",
33
- "test:plugin-error-normalize": "node --test --experimental-strip-types src/lib/server/plugin-error-normalize.test.ts",
33
+ "test:plugin-error-normalize": "node --test --experimental-strip-types src/lib/server/plugin-error-normalize.test.ts src/lib/server/json-request-body.test.ts",
34
34
  "maintain:semantic-contract": "node ./scripts/refresh-community-semantic-contract.mjs",
35
35
  "typecheck": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
36
36
  "start": "node ./scripts/community-host.mjs",
@@ -43,11 +43,11 @@
43
43
  "@aopslabs/aops-host-registration": "0.2.1",
44
44
  "@aopslabs/aops-pg-bootstrap": "0.2.2",
45
45
  "@aopslabs/artifact-trust-contracts": "0.3.1",
46
- "@aopslabs/domain-host-plugin-agentspace": "0.2.2",
47
- "@aopslabs/domain-host-plugin-chatv3": "0.2.1",
48
- "@aopslabs/domain-host-plugin-docman": "0.2.1",
49
- "@aopslabs/domain-host-plugin-projectman": "0.2.0",
50
- "@aopslabs/domain-host-plugin-sys": "0.2.0",
46
+ "@aopslabs/domain-host-plugin-agentspace": "0.3.0",
47
+ "@aopslabs/domain-host-plugin-chatv3": "0.3.0",
48
+ "@aopslabs/domain-host-plugin-docman": "0.3.0",
49
+ "@aopslabs/domain-host-plugin-projectman": "0.3.0",
50
+ "@aopslabs/domain-host-plugin-sys": "0.3.0",
51
51
  "@aopslabs/domain-kit-agentspace": "0.2.2",
52
52
  "@aopslabs/domain-kit-chatv3": "0.2.1",
53
53
  "@aopslabs/domain-pg-bootstrap-chatv3": "0.2.1",
@@ -61,13 +61,13 @@
61
61
  "@aopslabs/domain-product-projectman": "0.2.0",
62
62
  "@aopslabs/domain-runtime-config-docman": "0.2.0",
63
63
  "@aopslabs/domain-runtime-config-projectman": "0.2.0",
64
- "@aopslabs/host-adapter-sveltekit": "0.2.0",
64
+ "@aopslabs/host-adapter-sveltekit": "0.3.0",
65
65
  "@aopslabs/host-admission": "0.1.1",
66
66
  "@aopslabs/host-auth": "0.1.0",
67
- "@aopslabs/host-core": "0.2.1",
68
- "@aopslabs/host-gateway": "0.1.1",
67
+ "@aopslabs/host-core": "0.3.0",
68
+ "@aopslabs/host-gateway": "0.2.0",
69
69
  "@aopslabs/host-registration": "0.2.0",
70
- "@aopslabs/host-shell": "0.1.1",
70
+ "@aopslabs/host-shell": "0.2.0",
71
71
  "@aopslabs/manifest": "0.2.0",
72
72
  "@aopslabs/xf-dm-kits": "0.2.0",
73
73
  "@aopslabs/xf-logger": "0.2.1",
@@ -1,6 +1,7 @@
1
1
  // Generated during the public source projection.
2
2
  // The base plugin retains input validation/runtime setup; this adapter only narrows its manifest and execution gate.
3
3
  import { createAgentspacePlugin as createBaseAgentspacePlugin } from '@aopslabs/domain-host-plugin-agentspace';
4
+ import { HOST_INPUT_CONTRACT_V1, ROUTE_SAFETY_CAPABILITY_V2 } from '@aopslabs/host-core';
4
5
  import {
5
6
  COMMUNITY_AGENTSPACE_ALLOWED_RESOURCE_IDS,
6
7
  buildCommunityAgentspaceProjection,
@@ -22,10 +23,22 @@ export function createCommunityAgentspacePlugin(options = {}) {
22
23
  });
23
24
  const baseHealth = basePlugin.health;
24
25
  const baseExecute = basePlugin.execute;
26
+ const baseExecuteCanonical = basePlugin.executeCanonical;
25
27
  if (typeof baseExecute !== 'function') throw new Error('community_agentspace_base_execute_missing');
28
+ if (typeof baseExecuteCanonical !== 'function') throw new Error('community_agentspace_base_execute_canonical_missing');
29
+ const assertAllowedOperation = (args) => {
30
+ const operationId = normalizeId(args?.match?.route?.operation);
31
+ if (!allowedOperationIds.has(operationId)) {
32
+ throw new Error('operation_route_not_found:agentspace:' + (operationId || 'missing'));
33
+ }
34
+ };
26
35
  return {
27
36
  ...basePlugin,
28
- capabilities: [...COMMUNITY_AGENTSPACE_ALLOWED_RESOURCE_IDS],
37
+ capabilities: [
38
+ ...COMMUNITY_AGENTSPACE_ALLOWED_RESOURCE_IDS,
39
+ ROUTE_SAFETY_CAPABILITY_V2,
40
+ HOST_INPUT_CONTRACT_V1,
41
+ ],
29
42
  manifest: {
30
43
  ...basePlugin.manifest,
31
44
  routes,
@@ -52,12 +65,13 @@ export function createCommunityAgentspacePlugin(options = {}) {
52
65
  };
53
66
  } : baseHealth,
54
67
  execute: async (args) => {
55
- const operationId = normalizeId(args?.match?.route?.operation);
56
- if (!allowedOperationIds.has(operationId)) {
57
- throw new Error('operation_route_not_found:agentspace:' + (operationId || 'missing'));
58
- }
68
+ assertAllowedOperation(args);
59
69
  return baseExecute(args);
60
70
  },
71
+ executeCanonical: async (args) => {
72
+ assertAllowedOperation(args);
73
+ return baseExecuteCanonical(args);
74
+ },
61
75
  };
62
76
  }
63
77
 
@@ -15,11 +15,6 @@ export const COMMUNITY_AGENTSPACE_ALLOWED_RESOURCE_IDS = Object.freeze([
15
15
  "agent-profile",
16
16
  "artifact",
17
17
  "artifact-link",
18
- "chat",
19
- "chat-binding",
20
- "chat-member",
21
- "chat-message",
22
- "chat-room",
23
18
  "discussion-output",
24
19
  "discussion-topic",
25
20
  "discussion-turn",
@@ -40,6 +35,11 @@ export const COMMUNITY_AGENTSPACE_DENIED_RESOURCE_IDS = Object.freeze([
40
35
  "agent-run",
41
36
  "agent-run-event",
42
37
  "agent-session",
38
+ "chat",
39
+ "chat-binding",
40
+ "chat-member",
41
+ "chat-message",
42
+ "chat-room",
43
43
  "codex-chat-message",
44
44
  "codex-chat-setting",
45
45
  "codex-chat-thread",
@@ -58,6 +58,22 @@ export const COMMUNITY_AGENTSPACE_REVIEWED_UNCLASSIFIED_RESOURCE_IDS = Object.fr
58
58
  "task-comment"
59
59
  ]);
60
60
  export const COMMUNITY_AGENTSPACE_DENIED_OPERATION_IDS = Object.freeze([
61
+ "chat-binding.add",
62
+ "chat-binding.remove",
63
+ "chat-member.add",
64
+ "chat-member.remove",
65
+ "chat-member.update",
66
+ "chat-message.list",
67
+ "chat-message.send",
68
+ "chat-room.archive",
69
+ "chat-room.create",
70
+ "chat-room.export-manifest",
71
+ "chat-room.get-by-id",
72
+ "chat-room.list",
73
+ "chat-room.open-dm",
74
+ "chat-room.update",
75
+ "chat.catchup",
76
+ "chat.mark-read",
61
77
  "project.delete-cascade",
62
78
  "skill-version.import-skill-package",
63
79
  "skill-version.materialize-skill-package"
@@ -91,22 +107,6 @@ export const COMMUNITY_AGENTSPACE_ALLOWED_OPERATION_IDS = Object.freeze([
91
107
  "artifact.list-artifacts-by-ref",
92
108
  "artifact.remove-artifact",
93
109
  "artifact.store-artifact",
94
- "chat-binding.add",
95
- "chat-binding.remove",
96
- "chat-member.add",
97
- "chat-member.remove",
98
- "chat-member.update",
99
- "chat-message.list",
100
- "chat-message.send",
101
- "chat-room.archive",
102
- "chat-room.create",
103
- "chat-room.export-manifest",
104
- "chat-room.get-by-id",
105
- "chat-room.list",
106
- "chat-room.open-dm",
107
- "chat-room.update",
108
- "chat.catchup",
109
- "chat.mark-read",
110
110
  "discussion-output.set",
111
111
  "discussion-topic.abandon",
112
112
  "discussion-topic.conclude",
@@ -200,8 +200,8 @@ const ALLOWED_RESOURCE_SET = new Set(COMMUNITY_AGENTSPACE_ALLOWED_RESOURCE_IDS);
200
200
  const DENIED_RESOURCE_SET = new Set(COMMUNITY_AGENTSPACE_DENIED_RESOURCE_IDS);
201
201
  const DENIED_OPERATION_SET = new Set(COMMUNITY_AGENTSPACE_DENIED_OPERATION_IDS);
202
202
  const ALLOWED_OPERATION_SET = new Set(COMMUNITY_AGENTSPACE_ALLOWED_OPERATION_IDS);
203
- const COMMUNITY_DOMAIN_DESCRIPTION = "Community context services for projects, prompts, skills, memory, rooms, discussions, missions, playbooks, experiences, resources, artifacts, profiles, tags, and activity items.";
204
- const COMMUNITY_DOMAIN_DOCS = Object.freeze({"summary":"Manage the reviewed Community Agentspace surface for projects, reusable context, coordination rooms, discussions, missions, and activity records.","notes":["This Community projection is an exact operation and schema allowlist.","Skill discovery and immutable published-package export are read-only; package import and server filesystem materialization are not exposed.","Project cascade deletion and private runtime/session records are not exposed."]});
203
+ const COMMUNITY_DOMAIN_DESCRIPTION = "Community context services for projects, prompts, skills, memory, discussions, missions, playbooks, experiences, resources, artifacts, profiles, tags, and activity items.";
204
+ const COMMUNITY_DOMAIN_DOCS = Object.freeze({"summary":"Manage the reviewed Community Agentspace surface for projects, reusable context, discussions, missions, and activity records.","notes":["This Community projection is an exact operation and schema allowlist.","ChatV3 is the sole active chat system; legacy Agentspace chat resources remain unprojected and any stored rows remain dormant.","Skill discovery and immutable published-package export are read-only; package import and server filesystem materialization are not exposed.","Project cascade deletion and private runtime/session records are not exposed."]});
205
205
  const normalizeId = (value) => String(value ?? '').trim().toLowerCase();
206
206
  const codepointCompare = (left, right) => left < right ? -1 : left > right ? 1 : 0;
207
207
  const sorted = (values) => [...values].sort(codepointCompare);