@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
package/build/index.js
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import http from 'node:http';
|
|
2
|
+
import fs__default from 'node:fs';
|
|
3
|
+
import process from 'node:process';
|
|
4
|
+
import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-BN3-p5rP.js';
|
|
5
|
+
import { env, timeout_env } from './env.js';
|
|
6
|
+
import { rm } from 'node:fs/promises';
|
|
7
|
+
import './shims.js';
|
|
8
|
+
import 'node:buffer';
|
|
9
|
+
import 'node:crypto';
|
|
10
|
+
import 'node:path';
|
|
11
|
+
import 'node:timers';
|
|
12
|
+
import 'node:querystring';
|
|
13
|
+
import 'node:stream';
|
|
14
|
+
import './server/chunks/index.js-nbqdVuWC.js';
|
|
15
|
+
import './server/chunks/manifest.js-_Re-Wj-y.js';
|
|
16
|
+
import 'node:url';
|
|
17
|
+
|
|
18
|
+
const path = env('SOCKET_PATH', false);
|
|
19
|
+
const host = env('HOST', '0.0.0.0');
|
|
20
|
+
const port = env('PORT', !path && '3000');
|
|
21
|
+
|
|
22
|
+
const shutdown_timeout = parseInt(env('SHUTDOWN_TIMEOUT', '30'));
|
|
23
|
+
const idle_timeout = parseInt(env('IDLE_TIMEOUT', '0'));
|
|
24
|
+
const listen_pid = parseInt(env('LISTEN_PID', '0'));
|
|
25
|
+
const listen_fds = parseInt(env('LISTEN_FDS', '0'));
|
|
26
|
+
// https://www.freedesktop.org/software/systemd/man/latest/sd_listen_fds.html
|
|
27
|
+
const SD_LISTEN_FDS_START = 3;
|
|
28
|
+
|
|
29
|
+
if (listen_pid !== 0 && listen_pid !== process.pid) {
|
|
30
|
+
throw new Error(`received LISTEN_PID ${listen_pid} but current process id is ${process.pid}`);
|
|
31
|
+
}
|
|
32
|
+
if (listen_fds > 1) {
|
|
33
|
+
throw new Error(
|
|
34
|
+
`only one socket is allowed for socket activation, but LISTEN_FDS was set to ${listen_fds}`
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const socket_activation = listen_pid === process.pid && listen_fds === 1;
|
|
39
|
+
|
|
40
|
+
let requests = 0;
|
|
41
|
+
/** @type {NodeJS.Timeout | void} */
|
|
42
|
+
let shutdown_timeout_id;
|
|
43
|
+
/** @type {NodeJS.Timeout | void} */
|
|
44
|
+
let idle_timeout_id;
|
|
45
|
+
|
|
46
|
+
// Initialize the HTTP server here so that we can set properties before starting to listen.
|
|
47
|
+
// Otherwise, polka delays creating the server until listen() is called. Settings these
|
|
48
|
+
// properties after the server has started listening could lead to race conditions.
|
|
49
|
+
const httpServer = http.createServer();
|
|
50
|
+
|
|
51
|
+
const keep_alive_timeout = timeout_env('KEEP_ALIVE_TIMEOUT');
|
|
52
|
+
if (keep_alive_timeout !== undefined) {
|
|
53
|
+
// Convert the keep-alive timeout from seconds to milliseconds (the unit Node.js expects).
|
|
54
|
+
httpServer.keepAliveTimeout = keep_alive_timeout * 1000;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const headers_timeout = timeout_env('HEADERS_TIMEOUT');
|
|
58
|
+
if (headers_timeout !== undefined) {
|
|
59
|
+
// Convert the headers timeout from seconds to milliseconds (the unit Node.js expects).
|
|
60
|
+
httpServer.headersTimeout = headers_timeout * 1000;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const server = polka({ server: httpServer }).use(handler);
|
|
64
|
+
|
|
65
|
+
if (socket_activation) {
|
|
66
|
+
server.listen({ fd: SD_LISTEN_FDS_START }, () => {
|
|
67
|
+
console.log(`Listening on file descriptor ${SD_LISTEN_FDS_START}`);
|
|
68
|
+
});
|
|
69
|
+
} else {
|
|
70
|
+
if (path) {
|
|
71
|
+
try {
|
|
72
|
+
if (fs__default.statSync(path).size === 0) {
|
|
73
|
+
await rm(path);
|
|
74
|
+
}
|
|
75
|
+
} catch {
|
|
76
|
+
// ignore
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
server.listen({ path, host, port }, () => {
|
|
81
|
+
console.log(`Listening on ${format_listening_address(path, host, port, httpServer.address())}`);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** @param {'SIGINT' | 'SIGTERM' | 'IDLE'} reason */
|
|
86
|
+
function graceful_shutdown(reason) {
|
|
87
|
+
if (shutdown_timeout_id) return;
|
|
88
|
+
|
|
89
|
+
// If a connection was opened with a keep-alive header close() will wait for the connection to
|
|
90
|
+
// time out rather than close it even if it is not handling any requests, so call this first
|
|
91
|
+
httpServer.closeIdleConnections();
|
|
92
|
+
|
|
93
|
+
httpServer.close((error) => {
|
|
94
|
+
// occurs if the server is already closed
|
|
95
|
+
if (error) return;
|
|
96
|
+
|
|
97
|
+
if (shutdown_timeout_id) {
|
|
98
|
+
clearTimeout(shutdown_timeout_id);
|
|
99
|
+
}
|
|
100
|
+
if (idle_timeout_id) {
|
|
101
|
+
clearTimeout(idle_timeout_id);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// @ts-expect-error custom events cannot be typed
|
|
105
|
+
process.emit('sveltekit:shutdown', reason);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
shutdown_timeout_id = setTimeout(() => httpServer.closeAllConnections(), shutdown_timeout * 1000);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
httpServer.on(
|
|
112
|
+
'request',
|
|
113
|
+
/** @param {import('node:http').IncomingMessage} req */
|
|
114
|
+
(req) => {
|
|
115
|
+
requests++;
|
|
116
|
+
|
|
117
|
+
if (socket_activation && idle_timeout_id) {
|
|
118
|
+
idle_timeout_id = clearTimeout(idle_timeout_id);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
req.on('close', () => {
|
|
122
|
+
requests--;
|
|
123
|
+
|
|
124
|
+
if (shutdown_timeout_id) {
|
|
125
|
+
// close connections as soon as they become idle, so they don't accept new requests
|
|
126
|
+
httpServer.closeIdleConnections();
|
|
127
|
+
}
|
|
128
|
+
if (requests === 0 && socket_activation && idle_timeout) {
|
|
129
|
+
idle_timeout_id = setTimeout(() => graceful_shutdown('IDLE'), idle_timeout * 1000);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
process.on('SIGTERM', graceful_shutdown);
|
|
136
|
+
process.on('SIGINT', graceful_shutdown);
|
|
137
|
+
|
|
138
|
+
export { host, path, port, server };
|
|
139
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../.svelte-kit/adapter-node/entries/index.js"],"sourcesContent":["import http from 'node:http';\nimport fs__default from 'node:fs';\nimport process from 'node:process';\nimport { handler } from './handler.js';\nimport { env, timeout_env } from './env.js';\nimport { p as polka } from './chunks/vendor.js';\nimport { rm } from 'node:fs/promises';\nimport { format_listening_address } from './utils.js';\n\nconst path = env('SOCKET_PATH', false);\nconst host = env('HOST', '0.0.0.0');\nconst port = env('PORT', !path && '3000');\n\nconst shutdown_timeout = parseInt(env('SHUTDOWN_TIMEOUT', '30'));\nconst idle_timeout = parseInt(env('IDLE_TIMEOUT', '0'));\nconst listen_pid = parseInt(env('LISTEN_PID', '0'));\nconst listen_fds = parseInt(env('LISTEN_FDS', '0'));\n// https://www.freedesktop.org/software/systemd/man/latest/sd_listen_fds.html\nconst SD_LISTEN_FDS_START = 3;\n\nif (listen_pid !== 0 && listen_pid !== process.pid) {\n\tthrow new Error(`received LISTEN_PID ${listen_pid} but current process id is ${process.pid}`);\n}\nif (listen_fds > 1) {\n\tthrow new Error(\n\t\t`only one socket is allowed for socket activation, but LISTEN_FDS was set to ${listen_fds}`\n\t);\n}\n\nconst socket_activation = listen_pid === process.pid && listen_fds === 1;\n\nlet requests = 0;\n/** @type {NodeJS.Timeout | void} */\nlet shutdown_timeout_id;\n/** @type {NodeJS.Timeout | void} */\nlet idle_timeout_id;\n\n// Initialize the HTTP server here so that we can set properties before starting to listen.\n// Otherwise, polka delays creating the server until listen() is called. Settings these\n// properties after the server has started listening could lead to race conditions.\nconst httpServer = http.createServer();\n\nconst keep_alive_timeout = timeout_env('KEEP_ALIVE_TIMEOUT');\nif (keep_alive_timeout !== undefined) {\n\t// Convert the keep-alive timeout from seconds to milliseconds (the unit Node.js expects).\n\thttpServer.keepAliveTimeout = keep_alive_timeout * 1000;\n}\n\nconst headers_timeout = timeout_env('HEADERS_TIMEOUT');\nif (headers_timeout !== undefined) {\n\t// Convert the headers timeout from seconds to milliseconds (the unit Node.js expects).\n\thttpServer.headersTimeout = headers_timeout * 1000;\n}\n\nconst server = polka({ server: httpServer }).use(handler);\n\nif (socket_activation) {\n\tserver.listen({ fd: SD_LISTEN_FDS_START }, () => {\n\t\tconsole.log(`Listening on file descriptor ${SD_LISTEN_FDS_START}`);\n\t});\n} else {\n\tif (path) {\n\t\ttry {\n\t\t\tif (fs__default.statSync(path).size === 0) {\n\t\t\t\tawait rm(path);\n\t\t\t}\n\t\t} catch {\n\t\t\t// ignore\n\t\t}\n\t}\n\n\tserver.listen({ path, host, port }, () => {\n\t\tconsole.log(`Listening on ${format_listening_address(path, host, port, httpServer.address())}`);\n\t});\n}\n\n/** @param {'SIGINT' | 'SIGTERM' | 'IDLE'} reason */\nfunction graceful_shutdown(reason) {\n\tif (shutdown_timeout_id) return;\n\n\t// If a connection was opened with a keep-alive header close() will wait for the connection to\n\t// time out rather than close it even if it is not handling any requests, so call this first\n\thttpServer.closeIdleConnections();\n\n\thttpServer.close((error) => {\n\t\t// occurs if the server is already closed\n\t\tif (error) return;\n\n\t\tif (shutdown_timeout_id) {\n\t\t\tclearTimeout(shutdown_timeout_id);\n\t\t}\n\t\tif (idle_timeout_id) {\n\t\t\tclearTimeout(idle_timeout_id);\n\t\t}\n\n\t\t// @ts-expect-error custom events cannot be typed\n\t\tprocess.emit('sveltekit:shutdown', reason);\n\t});\n\n\tshutdown_timeout_id = setTimeout(() => httpServer.closeAllConnections(), shutdown_timeout * 1000);\n}\n\nhttpServer.on(\n\t'request',\n\t/** @param {import('node:http').IncomingMessage} req */\n\t(req) => {\n\t\trequests++;\n\n\t\tif (socket_activation && idle_timeout_id) {\n\t\t\tidle_timeout_id = clearTimeout(idle_timeout_id);\n\t\t}\n\n\t\treq.on('close', () => {\n\t\t\trequests--;\n\n\t\t\tif (shutdown_timeout_id) {\n\t\t\t\t// close connections as soon as they become idle, so they don't accept new requests\n\t\t\t\thttpServer.closeIdleConnections();\n\t\t\t}\n\t\t\tif (requests === 0 && socket_activation && idle_timeout) {\n\t\t\t\tidle_timeout_id = setTimeout(() => graceful_shutdown('IDLE'), idle_timeout * 1000);\n\t\t\t}\n\t\t});\n\t}\n);\n\nprocess.on('SIGTERM', graceful_shutdown);\nprocess.on('SIGINT', graceful_shutdown);\n\nexport { host, path, port, server };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const index = 0;
|
|
2
|
+
const imports = ["_app/immutable/nodes/0.BYBfjxZ5.js","_app/immutable/chunks/rqnVXeyB.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/3DOfIKW0.js"];
|
|
3
|
+
const stylesheets = [];
|
|
4
|
+
const fonts = [];
|
|
5
|
+
|
|
6
|
+
export { fonts, imports, index, stylesheets };
|
|
7
|
+
//# sourceMappingURL=0-RfB6m2nq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"0-RfB6m2nq.js","sources":["../../../.svelte-kit/output/server/nodes/0.js"],"sourcesContent":["\n\nexport const index = 0;\nexport const imports = [\"_app/immutable/nodes/0.BYBfjxZ5.js\",\"_app/immutable/chunks/rqnVXeyB.js\",\"_app/immutable/chunks/2_TffmqH.js\",\"_app/immutable/chunks/3DOfIKW0.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACT,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5J,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const index = 1;
|
|
2
|
+
let component_cache;
|
|
3
|
+
const component = async () => component_cache ??= (await import('./error.svelte-DgUOqi-L.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/1.BNXFXajG.js","_app/immutable/chunks/rqnVXeyB.js","_app/immutable/chunks/2_TffmqH.js","_app/immutable/chunks/CMkIcmi1.js","_app/immutable/chunks/sZYZbj9W.js","_app/immutable/chunks/B2EkC-sy.js"];
|
|
5
|
+
const stylesheets = [];
|
|
6
|
+
const fonts = [];
|
|
7
|
+
|
|
8
|
+
export { component, fonts, imports, index, stylesheets };
|
|
9
|
+
//# sourceMappingURL=1-_gg8Q0UT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1-_gg8Q0UT.js","sources":["../../../.svelte-kit/output/server/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.BNXFXajG.js\",\"_app/immutable/chunks/rqnVXeyB.js\",\"_app/immutable/chunks/2_TffmqH.js\",\"_app/immutable/chunks/CMkIcmi1.js\",\"_app/immutable/chunks/sZYZbj9W.js\",\"_app/immutable/chunks/B2EkC-sy.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpO,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { j as json } from './index.js-nbqdVuWC.js';
|
|
2
|
+
import { t as testRuntimeConfigAdminTarget, g as getResolvedAopsServerRuntimeConfig } from './aops-runtime-config-wpVmg7T-.js';
|
|
3
|
+
import { o as okResult } from './xf-result-BRDjvftr.js';
|
|
4
|
+
import 'node:fs';
|
|
5
|
+
import 'node:path';
|
|
6
|
+
import 'pg';
|
|
7
|
+
|
|
8
|
+
function toSafeErrorMessage(_error, fallback = "PostgreSQL status probe failed.") {
|
|
9
|
+
return fallback;
|
|
10
|
+
}
|
|
11
|
+
async function getDbAdminStatus() {
|
|
12
|
+
const runtime = getResolvedAopsServerRuntimeConfig();
|
|
13
|
+
if (!runtime.repoUrl) {
|
|
14
|
+
return {
|
|
15
|
+
checkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
16
|
+
env: { repoUrlEnv: "AOPS_PG_URL", repoUrlPresent: false },
|
|
17
|
+
connection: { ok: false, databaseName: null, message: "AOPS_PG_URL is required.", redactedUrl: null },
|
|
18
|
+
schema: { verificationLevel: "sentinel-relations-only", ready: false, sentinelsPresent: false, configuredRelationCount: 5, existingRelationCount: 0, existingRelations: [], missingRelations: ["projects", "docman_documents", "projectman_kanban_boards", "chatv3-rooms", "sys_event_stores"] },
|
|
19
|
+
capabilities: { status: true, probe: true, reset: false, backup: false, restore: false }
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const probe = await testRuntimeConfigAdminTarget();
|
|
24
|
+
return {
|
|
25
|
+
checkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
26
|
+
env: { repoUrlEnv: "AOPS_PG_URL", repoUrlPresent: true },
|
|
27
|
+
connection: { ...probe.connection, redactedUrl: probe.target.redactedRepoUrl },
|
|
28
|
+
schema: probe.schema,
|
|
29
|
+
capabilities: { status: true, probe: true, reset: false, backup: false, restore: false }
|
|
30
|
+
};
|
|
31
|
+
} catch (error) {
|
|
32
|
+
return {
|
|
33
|
+
checkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
34
|
+
env: { repoUrlEnv: "AOPS_PG_URL", repoUrlPresent: true },
|
|
35
|
+
connection: { ok: false, databaseName: null, message: toSafeErrorMessage(), redactedUrl: null },
|
|
36
|
+
schema: { verificationLevel: "sentinel-relations-only", ready: false, sentinelsPresent: false, configuredRelationCount: 5, existingRelationCount: 0, existingRelations: [], missingRelations: ["projects", "docman_documents", "projectman_kanban_boards", "chatv3-rooms", "sys_event_stores"] },
|
|
37
|
+
capabilities: { status: true, probe: true, reset: false, backup: false, restore: false }
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const GET = async () => json(okResult(await getDbAdminStatus()), { status: 200 });
|
|
42
|
+
|
|
43
|
+
export { GET };
|
|
44
|
+
//# sourceMappingURL=_server.ts-6276EQIF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-6276EQIF.js","sources":["../../../.svelte-kit/output/server/entries/endpoints/api/aops/settings/database/status/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { t as testRuntimeConfigAdminTarget, g as getResolvedAopsServerRuntimeConfig } from \"../../../../../../../chunks/aops-runtime-config.js\";\nimport { o as okResult } from \"../../../../../../../chunks/xf-result.js\";\nfunction toSafeErrorMessage(_error, fallback = \"PostgreSQL status probe failed.\") {\n return fallback;\n}\nasync function getDbAdminStatus() {\n const runtime = getResolvedAopsServerRuntimeConfig();\n if (!runtime.repoUrl) {\n return {\n checkedAt: (/* @__PURE__ */ new Date()).toISOString(),\n env: { repoUrlEnv: \"AOPS_PG_URL\", repoUrlPresent: false },\n connection: { ok: false, databaseName: null, message: \"AOPS_PG_URL is required.\", redactedUrl: null },\n schema: { verificationLevel: \"sentinel-relations-only\", ready: false, sentinelsPresent: false, configuredRelationCount: 5, existingRelationCount: 0, existingRelations: [], missingRelations: [\"projects\", \"docman_documents\", \"projectman_kanban_boards\", \"chatv3-rooms\", \"sys_event_stores\"] },\n capabilities: { status: true, probe: true, reset: false, backup: false, restore: false }\n };\n }\n try {\n const probe = await testRuntimeConfigAdminTarget();\n return {\n checkedAt: (/* @__PURE__ */ new Date()).toISOString(),\n env: { repoUrlEnv: \"AOPS_PG_URL\", repoUrlPresent: true },\n connection: { ...probe.connection, redactedUrl: probe.target.redactedRepoUrl },\n schema: probe.schema,\n capabilities: { status: true, probe: true, reset: false, backup: false, restore: false }\n };\n } catch (error) {\n return {\n checkedAt: (/* @__PURE__ */ new Date()).toISOString(),\n env: { repoUrlEnv: \"AOPS_PG_URL\", repoUrlPresent: true },\n connection: { ok: false, databaseName: null, message: toSafeErrorMessage(), redactedUrl: null },\n schema: { verificationLevel: \"sentinel-relations-only\", ready: false, sentinelsPresent: false, configuredRelationCount: 5, existingRelationCount: 0, existingRelations: [], missingRelations: [\"projects\", \"docman_documents\", \"projectman_kanban_boards\", \"chatv3-rooms\", \"sys_event_stores\"] },\n capabilities: { status: true, probe: true, reset: false, backup: false, restore: false }\n };\n }\n}\nconst GET = async () => json(okResult(await getDbAdminStatus()), { status: 200 });\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { j as json } from './index.js-nbqdVuWC.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { g as getAgentGateway } from './agent-gateway-runtime-DTZ4SxaC.js';
|
|
4
|
+
import { n as normalizePluginFailure, i as inferFailureStatusFromPayload, c as classifyInvokeFailureMessage } from './plugin-error-normalize-Bq14Qbz3.js';
|
|
5
|
+
import { a as attachResolvedProjectScope, r as resolveHostRequestContext } from './request-context-tNeFQjgb.js';
|
|
6
|
+
import '@aopslab/host-core';
|
|
7
|
+
import '@aopslab/manifest';
|
|
8
|
+
import 'node:path';
|
|
9
|
+
import 'node:child_process';
|
|
10
|
+
import 'node:module';
|
|
11
|
+
import 'node:url';
|
|
12
|
+
import 'node:util';
|
|
13
|
+
import 'node:crypto';
|
|
14
|
+
import './project-alias-DqE2v58Q.js';
|
|
15
|
+
import 'ajv';
|
|
16
|
+
import './registry-5amIZito.js';
|
|
17
|
+
import './aops-runtime-config-wpVmg7T-.js';
|
|
18
|
+
import 'node:fs';
|
|
19
|
+
import 'pg';
|
|
20
|
+
import '@aopslab/xf-dm-kits/appConfig';
|
|
21
|
+
import '@aopslab/xf-dm-kits';
|
|
22
|
+
import '@aopslab/domain-kit-agentspace';
|
|
23
|
+
import './xf-result-BRDjvftr.js';
|
|
24
|
+
import 'effect';
|
|
25
|
+
|
|
26
|
+
const invokeEnvelopeSchema = z.object({
|
|
27
|
+
sourceId: z.string().trim().min(1).optional(),
|
|
28
|
+
input: z.unknown().optional(),
|
|
29
|
+
preview: z.boolean().optional(),
|
|
30
|
+
apply: z.boolean().optional(),
|
|
31
|
+
confirm: z.boolean().optional(),
|
|
32
|
+
idempotencyKey: z.string().trim().min(1).max(200).optional()
|
|
33
|
+
}).strict();
|
|
34
|
+
function isRecord(value) {
|
|
35
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
36
|
+
}
|
|
37
|
+
function normalizeErrorMessage(error) {
|
|
38
|
+
return error instanceof Error ? error.message : String(error ?? "unknown_error");
|
|
39
|
+
}
|
|
40
|
+
function sanitizeInvokeHeaders(input) {
|
|
41
|
+
const headers = new Headers();
|
|
42
|
+
if (!input) return headers;
|
|
43
|
+
for (const [nameRaw, value] of Object.entries(input)) {
|
|
44
|
+
const name = nameRaw.trim().toLowerCase();
|
|
45
|
+
if (!name) continue;
|
|
46
|
+
if (name === "content-length" || name === "content-type" || name === "transfer-encoding" || name === "connection" || name === "keep-alive" || name === "content-encoding") {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
headers.set(name, value);
|
|
50
|
+
}
|
|
51
|
+
return headers;
|
|
52
|
+
}
|
|
53
|
+
function hasClientProvidedContext(input) {
|
|
54
|
+
return isRecord(input) && Object.prototype.hasOwnProperty.call(input, "context");
|
|
55
|
+
}
|
|
56
|
+
function resolveActivitySourceKind(event) {
|
|
57
|
+
const candidate = String(event.request.headers.get("x-activity-source-kind") ?? "").trim().toLowerCase();
|
|
58
|
+
if (candidate === "aops-cli" || candidate === "desktop" || candidate === "runner" || candidate === "system") {
|
|
59
|
+
return candidate;
|
|
60
|
+
}
|
|
61
|
+
return "system";
|
|
62
|
+
}
|
|
63
|
+
async function parseInvokePayload(event) {
|
|
64
|
+
try {
|
|
65
|
+
const rawText = await event.request.text();
|
|
66
|
+
if (!rawText.trim()) {
|
|
67
|
+
return { ok: true, input: void 0 };
|
|
68
|
+
}
|
|
69
|
+
const rawPayload = JSON.parse(rawText);
|
|
70
|
+
const shouldParseEnvelope = isRecord(rawPayload) && ("input" in rawPayload || "preview" in rawPayload || "apply" in rawPayload || "confirm" in rawPayload || "idempotencyKey" in rawPayload || Object.keys(rawPayload).every(
|
|
71
|
+
(key) => key === "sourceId" || key === "input" || key === "preview" || key === "apply" || key === "confirm" || key === "idempotencyKey"
|
|
72
|
+
));
|
|
73
|
+
if (!shouldParseEnvelope) {
|
|
74
|
+
if (hasClientProvidedContext(rawPayload)) {
|
|
75
|
+
return {
|
|
76
|
+
ok: false,
|
|
77
|
+
error: "invalid_input",
|
|
78
|
+
message: "invalid_invoke_payload:context_not_allowed"
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
return { ok: true, input: rawPayload };
|
|
82
|
+
}
|
|
83
|
+
const parsedEnvelope = invokeEnvelopeSchema.safeParse(rawPayload);
|
|
84
|
+
if (!parsedEnvelope.success) {
|
|
85
|
+
return {
|
|
86
|
+
ok: false,
|
|
87
|
+
error: "invalid_input",
|
|
88
|
+
message: `invalid_invoke_payload:${parsedEnvelope.error.issues[0]?.message ?? "invalid_envelope"}`
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
if (hasClientProvidedContext(parsedEnvelope.data.input)) {
|
|
92
|
+
return {
|
|
93
|
+
ok: false,
|
|
94
|
+
error: "invalid_input",
|
|
95
|
+
message: "invalid_invoke_payload:input.context_not_allowed"
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
ok: true,
|
|
100
|
+
sourceId: parsedEnvelope.data.sourceId?.trim().toLowerCase(),
|
|
101
|
+
input: parsedEnvelope.data.input,
|
|
102
|
+
preview: parsedEnvelope.data.preview,
|
|
103
|
+
apply: parsedEnvelope.data.apply,
|
|
104
|
+
confirm: parsedEnvelope.data.confirm,
|
|
105
|
+
idempotencyKey: parsedEnvelope.data.idempotencyKey?.trim()
|
|
106
|
+
};
|
|
107
|
+
} catch {
|
|
108
|
+
return {
|
|
109
|
+
ok: false,
|
|
110
|
+
error: "invalid_input",
|
|
111
|
+
message: "invalid_json_body"
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const POST = async (event) => {
|
|
116
|
+
await attachResolvedProjectScope(event);
|
|
117
|
+
const toolId = event.params.toolId?.trim().toLowerCase();
|
|
118
|
+
if (!toolId) {
|
|
119
|
+
return json({ ok: false, error: "missing_tool_id" }, { status: 400 });
|
|
120
|
+
}
|
|
121
|
+
const gateway = getAgentGateway();
|
|
122
|
+
const parsedPayload = await parseInvokePayload(event);
|
|
123
|
+
if (!parsedPayload.ok) {
|
|
124
|
+
return json({ ok: false, error: parsedPayload.error, message: parsedPayload.message }, { status: 400 });
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
const result = await gateway.invokeTool({
|
|
128
|
+
toolId,
|
|
129
|
+
sourceId: parsedPayload.sourceId,
|
|
130
|
+
input: parsedPayload.input,
|
|
131
|
+
preview: parsedPayload.preview,
|
|
132
|
+
apply: parsedPayload.apply,
|
|
133
|
+
confirm: parsedPayload.confirm,
|
|
134
|
+
idempotencyKey: parsedPayload.idempotencyKey,
|
|
135
|
+
context: {
|
|
136
|
+
...resolveHostRequestContext(event),
|
|
137
|
+
activitySourceKind: resolveActivitySourceKind(event)
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
const normalized = normalizePluginFailure(result.status, result.data);
|
|
141
|
+
if (normalized.sanitized) {
|
|
142
|
+
const details = normalized.payload && typeof normalized.payload === "object" && !Array.isArray(normalized.payload) ? normalized.payload : {};
|
|
143
|
+
console.warn("[agent-invoke] sanitized plugin error response", {
|
|
144
|
+
toolId,
|
|
145
|
+
errorCode: String(details.errorCode ?? ""),
|
|
146
|
+
domain: String(details.domain ?? ""),
|
|
147
|
+
operation: String(details.operation ?? ""),
|
|
148
|
+
message: normalized.originalMessage ?? ""
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
const effectiveStatus = inferFailureStatusFromPayload(normalized.payload, normalized.status);
|
|
152
|
+
const payloadOk = isRecord(normalized.payload) ? normalized.payload.ok !== false : true;
|
|
153
|
+
const responseOk = effectiveStatus < 400 && payloadOk;
|
|
154
|
+
return json(
|
|
155
|
+
{
|
|
156
|
+
ok: responseOk,
|
|
157
|
+
tool: result.tool,
|
|
158
|
+
data: normalized.payload,
|
|
159
|
+
response: normalized.payload
|
|
160
|
+
},
|
|
161
|
+
{ status: effectiveStatus, headers: sanitizeInvokeHeaders(result.headers) }
|
|
162
|
+
);
|
|
163
|
+
} catch (error) {
|
|
164
|
+
const message = normalizeErrorMessage(error);
|
|
165
|
+
const classification = classifyInvokeFailureMessage(message);
|
|
166
|
+
return json(
|
|
167
|
+
{ ok: false, error: classification.error, message },
|
|
168
|
+
{ status: classification.status }
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
export { POST };
|
|
174
|
+
//# sourceMappingURL=_server.ts-B59WFQzX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-B59WFQzX.js","sources":["../../../.svelte-kit/output/server/entries/endpoints/api/agent/tools/_toolId_/invoke/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { g as getAgentGateway } from \"../../../../../../../chunks/agent-gateway-runtime.js\";\nimport { n as normalizePluginFailure, i as inferFailureStatusFromPayload, c as classifyInvokeFailureMessage } from \"../../../../../../../chunks/plugin-error-normalize.js\";\nimport { a as attachResolvedProjectScope, r as resolveHostRequestContext } from \"../../../../../../../chunks/request-context.js\";\nconst invokeEnvelopeSchema = z.object({\n sourceId: z.string().trim().min(1).optional(),\n input: z.unknown().optional(),\n preview: z.boolean().optional(),\n apply: z.boolean().optional(),\n confirm: z.boolean().optional(),\n idempotencyKey: z.string().trim().min(1).max(200).optional()\n}).strict();\nfunction isRecord(value) {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction normalizeErrorMessage(error) {\n return error instanceof Error ? error.message : String(error ?? \"unknown_error\");\n}\nfunction sanitizeInvokeHeaders(input) {\n const headers = new Headers();\n if (!input) return headers;\n for (const [nameRaw, value] of Object.entries(input)) {\n const name = nameRaw.trim().toLowerCase();\n if (!name) continue;\n if (name === \"content-length\" || name === \"content-type\" || name === \"transfer-encoding\" || name === \"connection\" || name === \"keep-alive\" || name === \"content-encoding\") {\n continue;\n }\n headers.set(name, value);\n }\n return headers;\n}\nfunction hasClientProvidedContext(input) {\n return isRecord(input) && Object.prototype.hasOwnProperty.call(input, \"context\");\n}\nfunction resolveActivitySourceKind(event) {\n const candidate = String(event.request.headers.get(\"x-activity-source-kind\") ?? \"\").trim().toLowerCase();\n if (candidate === \"aops-cli\" || candidate === \"desktop\" || candidate === \"runner\" || candidate === \"system\") {\n return candidate;\n }\n return \"system\";\n}\nasync function parseInvokePayload(event) {\n try {\n const rawText = await event.request.text();\n if (!rawText.trim()) {\n return { ok: true, input: void 0 };\n }\n const rawPayload = JSON.parse(rawText);\n const shouldParseEnvelope = isRecord(rawPayload) && (\"input\" in rawPayload || \"preview\" in rawPayload || \"apply\" in rawPayload || \"confirm\" in rawPayload || \"idempotencyKey\" in rawPayload || Object.keys(rawPayload).every(\n (key) => key === \"sourceId\" || key === \"input\" || key === \"preview\" || key === \"apply\" || key === \"confirm\" || key === \"idempotencyKey\"\n ));\n if (!shouldParseEnvelope) {\n if (hasClientProvidedContext(rawPayload)) {\n return {\n ok: false,\n error: \"invalid_input\",\n message: \"invalid_invoke_payload:context_not_allowed\"\n };\n }\n return { ok: true, input: rawPayload };\n }\n const parsedEnvelope = invokeEnvelopeSchema.safeParse(rawPayload);\n if (!parsedEnvelope.success) {\n return {\n ok: false,\n error: \"invalid_input\",\n message: `invalid_invoke_payload:${parsedEnvelope.error.issues[0]?.message ?? \"invalid_envelope\"}`\n };\n }\n if (hasClientProvidedContext(parsedEnvelope.data.input)) {\n return {\n ok: false,\n error: \"invalid_input\",\n message: \"invalid_invoke_payload:input.context_not_allowed\"\n };\n }\n return {\n ok: true,\n sourceId: parsedEnvelope.data.sourceId?.trim().toLowerCase(),\n input: parsedEnvelope.data.input,\n preview: parsedEnvelope.data.preview,\n apply: parsedEnvelope.data.apply,\n confirm: parsedEnvelope.data.confirm,\n idempotencyKey: parsedEnvelope.data.idempotencyKey?.trim()\n };\n } catch {\n return {\n ok: false,\n error: \"invalid_input\",\n message: \"invalid_json_body\"\n };\n }\n}\nconst POST = async (event) => {\n await attachResolvedProjectScope(event);\n const toolId = event.params.toolId?.trim().toLowerCase();\n if (!toolId) {\n return json({ ok: false, error: \"missing_tool_id\" }, { status: 400 });\n }\n const gateway = getAgentGateway();\n const parsedPayload = await parseInvokePayload(event);\n if (!parsedPayload.ok) {\n return json({ ok: false, error: parsedPayload.error, message: parsedPayload.message }, { status: 400 });\n }\n try {\n const result = await gateway.invokeTool({\n toolId,\n sourceId: parsedPayload.sourceId,\n input: parsedPayload.input,\n preview: parsedPayload.preview,\n apply: parsedPayload.apply,\n confirm: parsedPayload.confirm,\n idempotencyKey: parsedPayload.idempotencyKey,\n context: {\n ...resolveHostRequestContext(event),\n activitySourceKind: resolveActivitySourceKind(event)\n }\n });\n const normalized = normalizePluginFailure(result.status, result.data);\n if (normalized.sanitized) {\n const details = normalized.payload && typeof normalized.payload === \"object\" && !Array.isArray(normalized.payload) ? normalized.payload : {};\n console.warn(\"[agent-invoke] sanitized plugin error response\", {\n toolId,\n errorCode: String(details.errorCode ?? \"\"),\n domain: String(details.domain ?? \"\"),\n operation: String(details.operation ?? \"\"),\n message: normalized.originalMessage ?? \"\"\n });\n }\n const effectiveStatus = inferFailureStatusFromPayload(normalized.payload, normalized.status);\n const payloadOk = isRecord(normalized.payload) ? normalized.payload.ok !== false : true;\n const responseOk = effectiveStatus < 400 && payloadOk;\n return json(\n {\n ok: responseOk,\n tool: result.tool,\n data: normalized.payload,\n response: normalized.payload\n },\n { status: effectiveStatus, headers: sanitizeInvokeHeaders(result.headers) }\n );\n } catch (error) {\n const message = normalizeErrorMessage(error);\n const classification = classifyInvokeFailureMessage(message);\n return json(\n { ok: false, error: classification.error, message },\n { status: classification.status }\n );\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { j as json } from './index.js-nbqdVuWC.js';
|
|
2
|
+
import { a as getAgentToolDetailDocument } from './discovery-D9JnSgfu.js';
|
|
3
|
+
import { r as resolveRequestBaseUrl } from './request-base-url-BDdrsaga.js';
|
|
4
|
+
import './agent-gateway-runtime-DTZ4SxaC.js';
|
|
5
|
+
import '@aopslab/host-core';
|
|
6
|
+
import '@aopslab/manifest';
|
|
7
|
+
import 'node:path';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:module';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:util';
|
|
12
|
+
import 'node:crypto';
|
|
13
|
+
import './project-alias-DqE2v58Q.js';
|
|
14
|
+
import 'ajv';
|
|
15
|
+
import 'zod';
|
|
16
|
+
import './registry-5amIZito.js';
|
|
17
|
+
import './aops-runtime-config-wpVmg7T-.js';
|
|
18
|
+
import 'node:fs';
|
|
19
|
+
import 'pg';
|
|
20
|
+
|
|
21
|
+
const GET = async ({ params, request, url }) => {
|
|
22
|
+
const toolId = params.toolId?.trim().toLowerCase();
|
|
23
|
+
if (!toolId) {
|
|
24
|
+
return json({ ok: false, error: "missing_tool_id" }, { status: 400 });
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const serverBaseUrl = resolveRequestBaseUrl(request, url);
|
|
28
|
+
const detail = await getAgentToolDetailDocument({ toolId, serverBaseUrl });
|
|
29
|
+
if (!detail) {
|
|
30
|
+
return json({ ok: false, error: "tool_not_found", toolId }, { status: 404 });
|
|
31
|
+
}
|
|
32
|
+
return json(detail, { status: 200 });
|
|
33
|
+
} catch (error) {
|
|
34
|
+
const message = error instanceof Error ? error.message : String(error ?? "unknown_error");
|
|
35
|
+
return json({ ok: false, error: "tool_detail_failed", message }, { status: 500 });
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { GET };
|
|
40
|
+
//# sourceMappingURL=_server.ts-BauJsLZI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BauJsLZI.js","sources":["../../../.svelte-kit/output/server/entries/endpoints/api/agent/tools/_toolId_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { a as getAgentToolDetailDocument } from \"../../../../../../chunks/discovery.js\";\nimport { r as resolveRequestBaseUrl } from \"../../../../../../chunks/request-base-url.js\";\nconst GET = async ({ params, request, url }) => {\n const toolId = params.toolId?.trim().toLowerCase();\n if (!toolId) {\n return json({ ok: false, error: \"missing_tool_id\" }, { status: 400 });\n }\n try {\n const serverBaseUrl = resolveRequestBaseUrl(request, url);\n const detail = await getAgentToolDetailDocument({ toolId, serverBaseUrl });\n if (!detail) {\n return json({ ok: false, error: \"tool_not_found\", toolId }, { status: 404 });\n }\n return json(detail, { status: 200 });\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error ?? \"unknown_error\");\n return json({ ok: false, error: \"tool_detail_failed\", message }, { status: 500 });\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;AAChD,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE;AACpD,EAAE,IAAI,CAAC,MAAM,EAAE;AACf,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzE,EAAE;AACF,EAAE,IAAI;AACN,IAAI,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC;AAC7D,IAAI,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAC9E,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAClF,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACxC,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC;AAC7F,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrF,EAAE;AACF;;;;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { j as json } from './index.js-nbqdVuWC.js';
|
|
2
|
+
import { g as getAgentGateway } from './agent-gateway-runtime-DTZ4SxaC.js';
|
|
3
|
+
import { r as resolveRequestBaseUrl, g as getAuthProvider, i as isTrustedLocalAuthProvider } from './request-base-url-BDdrsaga.js';
|
|
4
|
+
import '@aopslab/host-core';
|
|
5
|
+
import '@aopslab/manifest';
|
|
6
|
+
import 'node:path';
|
|
7
|
+
import 'node:child_process';
|
|
8
|
+
import 'node:module';
|
|
9
|
+
import 'node:url';
|
|
10
|
+
import 'node:util';
|
|
11
|
+
import 'node:crypto';
|
|
12
|
+
import './project-alias-DqE2v58Q.js';
|
|
13
|
+
import 'ajv';
|
|
14
|
+
import 'zod';
|
|
15
|
+
import './registry-5amIZito.js';
|
|
16
|
+
import './aops-runtime-config-wpVmg7T-.js';
|
|
17
|
+
import 'node:fs';
|
|
18
|
+
import 'pg';
|
|
19
|
+
|
|
20
|
+
const GET = async ({ request, url }) => {
|
|
21
|
+
const gateway = getAgentGateway();
|
|
22
|
+
const domain = url.searchParams.get("domain")?.trim().toLowerCase() || void 0;
|
|
23
|
+
const serverBaseUrl = resolveRequestBaseUrl(request, url);
|
|
24
|
+
const withDomain = (path) => domain ? `${path}${path.includes("?") ? "&" : "?"}domain=${encodeURIComponent(domain)}` : path;
|
|
25
|
+
try {
|
|
26
|
+
const authProvider = getAuthProvider();
|
|
27
|
+
const usesTrustedLocalAuth = isTrustedLocalAuthProvider(authProvider);
|
|
28
|
+
const openApi = await gateway.getOpenApi({ domain, serverBaseUrl });
|
|
29
|
+
openApi["x-agent-discovery"] = {
|
|
30
|
+
landingPage: serverBaseUrl ? `${serverBaseUrl}${withDomain("/api-info")}` : withDomain("/api-info"),
|
|
31
|
+
document: serverBaseUrl ? `${serverBaseUrl}${withDomain("/api-info.json")}` : withDomain("/api-info.json"),
|
|
32
|
+
rawDocument: serverBaseUrl ? `${serverBaseUrl}${withDomain("/api/agent/discovery.json")}` : withDomain("/api/agent/discovery.json"),
|
|
33
|
+
toolCatalog: serverBaseUrl ? `${serverBaseUrl}${withDomain("/api/agent/tools")}` : withDomain("/api/agent/tools"),
|
|
34
|
+
toolDetailTemplate: serverBaseUrl ? `${serverBaseUrl}/api/agent/tools/{toolId}` : "/api/agent/tools/{toolId}",
|
|
35
|
+
invokeTemplate: serverBaseUrl ? `${serverBaseUrl}/api/agent/tools/{toolId}/invoke` : "/api/agent/tools/{toolId}/invoke",
|
|
36
|
+
publicOpenApi: serverBaseUrl ? `${serverBaseUrl}${withDomain("/openapi.json")}` : withDomain("/openapi.json"),
|
|
37
|
+
rawOpenApi: serverBaseUrl ? `${serverBaseUrl}${withDomain("/api/agent/openapi.json")}` : withDomain("/api/agent/openapi.json"),
|
|
38
|
+
bodyModes: ["raw-input", "envelope"],
|
|
39
|
+
canonicalSource: "Domain Capability Manifest (DCM)",
|
|
40
|
+
discoveryMetadataContract: {
|
|
41
|
+
domainSummary: {
|
|
42
|
+
preferred: "manifest.docs.domain.summary",
|
|
43
|
+
fallback: "manifest.domain.description"
|
|
44
|
+
},
|
|
45
|
+
humanReadableResources: {
|
|
46
|
+
preferred: [
|
|
47
|
+
"manifest.capabilities.resources[].title",
|
|
48
|
+
"manifest.docs.resources[resourceId].summary"
|
|
49
|
+
],
|
|
50
|
+
fallback: ["resource:* tag", "service:* tag", "operationId prefix"]
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
system: {
|
|
54
|
+
kind: "manifest-synced-tooling-host",
|
|
55
|
+
firstContactStatement: "AOPS stands for Agentic Operations System. Treat it as a manifest-synced tool gateway and discovery surface, not as an internal architecture map.",
|
|
56
|
+
notThis: [
|
|
57
|
+
"Do not treat this endpoint as a microservice architecture description.",
|
|
58
|
+
"Do not infer event-driven topology or internal service boundaries from this endpoint."
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
usageProtocol: {
|
|
62
|
+
helpFirstRule: "If a sibling help-like tool exists (`*.help`, `*.describe`, `*.usage`), inspect that first. Otherwise use tool detail and OpenAPI before invoke.",
|
|
63
|
+
steps: [
|
|
64
|
+
"GET /api-info.json",
|
|
65
|
+
"GET /api/agent/tools",
|
|
66
|
+
"GET /api/agent/tools/{toolId}",
|
|
67
|
+
"GET /openapi.json only if schema detail is needed",
|
|
68
|
+
usesTrustedLocalAuth ? "POST /api/agent/tools/{toolId}/invoke (trusted-local runtime principal)" : "POST /api/agent/tools/{toolId}/invoke with auth"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
authProvider
|
|
72
|
+
};
|
|
73
|
+
return json(openApi, { status: 200 });
|
|
74
|
+
} catch (error) {
|
|
75
|
+
const message = error instanceof Error ? error.message : String(error ?? "unknown_error");
|
|
76
|
+
return json({ ok: false, error: "openapi_generation_failed", message }, { status: 500 });
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { GET };
|
|
81
|
+
//# sourceMappingURL=_server.ts-BnGzJw2-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BnGzJw2-.js","sources":["../../../.svelte-kit/output/server/entries/endpoints/openapi.json/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { g as getAgentGateway } from \"../../../chunks/agent-gateway-runtime.js\";\nimport { r as resolveRequestBaseUrl, g as getAuthProvider, i as isTrustedLocalAuthProvider } from \"../../../chunks/request-base-url.js\";\nconst GET = async ({ request, url }) => {\n const gateway = getAgentGateway();\n const domain = url.searchParams.get(\"domain\")?.trim().toLowerCase() || void 0;\n const serverBaseUrl = resolveRequestBaseUrl(request, url);\n const withDomain = (path) => domain ? `${path}${path.includes(\"?\") ? \"&\" : \"?\"}domain=${encodeURIComponent(domain)}` : path;\n try {\n const authProvider = getAuthProvider();\n const usesTrustedLocalAuth = isTrustedLocalAuthProvider(authProvider);\n const openApi = await gateway.getOpenApi({ domain, serverBaseUrl });\n openApi[\"x-agent-discovery\"] = {\n landingPage: serverBaseUrl ? `${serverBaseUrl}${withDomain(\"/api-info\")}` : withDomain(\"/api-info\"),\n document: serverBaseUrl ? `${serverBaseUrl}${withDomain(\"/api-info.json\")}` : withDomain(\"/api-info.json\"),\n rawDocument: serverBaseUrl ? `${serverBaseUrl}${withDomain(\"/api/agent/discovery.json\")}` : withDomain(\"/api/agent/discovery.json\"),\n toolCatalog: serverBaseUrl ? `${serverBaseUrl}${withDomain(\"/api/agent/tools\")}` : withDomain(\"/api/agent/tools\"),\n toolDetailTemplate: serverBaseUrl ? `${serverBaseUrl}/api/agent/tools/{toolId}` : \"/api/agent/tools/{toolId}\",\n invokeTemplate: serverBaseUrl ? `${serverBaseUrl}/api/agent/tools/{toolId}/invoke` : \"/api/agent/tools/{toolId}/invoke\",\n publicOpenApi: serverBaseUrl ? `${serverBaseUrl}${withDomain(\"/openapi.json\")}` : withDomain(\"/openapi.json\"),\n rawOpenApi: serverBaseUrl ? `${serverBaseUrl}${withDomain(\"/api/agent/openapi.json\")}` : withDomain(\"/api/agent/openapi.json\"),\n bodyModes: [\"raw-input\", \"envelope\"],\n canonicalSource: \"Domain Capability Manifest (DCM)\",\n discoveryMetadataContract: {\n domainSummary: {\n preferred: \"manifest.docs.domain.summary\",\n fallback: \"manifest.domain.description\"\n },\n humanReadableResources: {\n preferred: [\n \"manifest.capabilities.resources[].title\",\n \"manifest.docs.resources[resourceId].summary\"\n ],\n fallback: [\"resource:* tag\", \"service:* tag\", \"operationId prefix\"]\n }\n },\n system: {\n kind: \"manifest-synced-tooling-host\",\n firstContactStatement: \"AOPS stands for Agentic Operations System. Treat it as a manifest-synced tool gateway and discovery surface, not as an internal architecture map.\",\n notThis: [\n \"Do not treat this endpoint as a microservice architecture description.\",\n \"Do not infer event-driven topology or internal service boundaries from this endpoint.\"\n ]\n },\n usageProtocol: {\n helpFirstRule: \"If a sibling help-like tool exists (`*.help`, `*.describe`, `*.usage`), inspect that first. Otherwise use tool detail and OpenAPI before invoke.\",\n steps: [\n \"GET /api-info.json\",\n \"GET /api/agent/tools\",\n \"GET /api/agent/tools/{toolId}\",\n \"GET /openapi.json only if schema detail is needed\",\n usesTrustedLocalAuth ? \"POST /api/agent/tools/{toolId}/invoke (trusted-local runtime principal)\" : \"POST /api/agent/tools/{toolId}/invoke with auth\"\n ]\n },\n authProvider\n };\n return json(openApi, { status: 200 });\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error ?? \"unknown_error\");\n return json({ ok: false, error: \"openapi_generation_failed\", message }, { status: 500 });\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { j as json } from './index.js-nbqdVuWC.js';
|
|
2
|
+
import { g as getAgentDiscoveryDocument } from './discovery-D9JnSgfu.js';
|
|
3
|
+
import { r as resolveRequestBaseUrl } from './request-base-url-BDdrsaga.js';
|
|
4
|
+
import './agent-gateway-runtime-DTZ4SxaC.js';
|
|
5
|
+
import '@aopslab/host-core';
|
|
6
|
+
import '@aopslab/manifest';
|
|
7
|
+
import 'node:path';
|
|
8
|
+
import 'node:child_process';
|
|
9
|
+
import 'node:module';
|
|
10
|
+
import 'node:url';
|
|
11
|
+
import 'node:util';
|
|
12
|
+
import 'node:crypto';
|
|
13
|
+
import './project-alias-DqE2v58Q.js';
|
|
14
|
+
import 'ajv';
|
|
15
|
+
import 'zod';
|
|
16
|
+
import './registry-5amIZito.js';
|
|
17
|
+
import './aops-runtime-config-wpVmg7T-.js';
|
|
18
|
+
import 'node:fs';
|
|
19
|
+
import 'pg';
|
|
20
|
+
|
|
21
|
+
const GET = async ({ request, url }) => {
|
|
22
|
+
try {
|
|
23
|
+
const domain = url.searchParams.get("domain")?.trim().toLowerCase() || void 0;
|
|
24
|
+
const serverBaseUrl = resolveRequestBaseUrl(request, url);
|
|
25
|
+
const discovery = await getAgentDiscoveryDocument({ domain, serverBaseUrl });
|
|
26
|
+
return json(discovery, { status: 200 });
|
|
27
|
+
} catch (error) {
|
|
28
|
+
const message = error instanceof Error ? error.message : String(error ?? "unknown_error");
|
|
29
|
+
return json({ ok: false, error: "agent_discovery_failed", message }, { status: 500 });
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { GET };
|
|
34
|
+
//# sourceMappingURL=_server.ts-CP7qM24V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-CP7qM24V.js","sources":["../../../.svelte-kit/output/server/entries/endpoints/api/agent/discovery.json/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { g as getAgentDiscoveryDocument } from \"../../../../../chunks/discovery.js\";\nimport { r as resolveRequestBaseUrl } from \"../../../../../chunks/request-base-url.js\";\nconst GET = async ({ request, url }) => {\n try {\n const domain = url.searchParams.get(\"domain\")?.trim().toLowerCase() || void 0;\n const serverBaseUrl = resolveRequestBaseUrl(request, url);\n const discovery = await getAgentDiscoveryDocument({ domain, serverBaseUrl });\n return json(discovery, { status: 200 });\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error ?? \"unknown_error\");\n return json({ ok: false, error: \"agent_discovery_failed\", message }, { status: 500 });\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;AACxC,EAAE,IAAI;AACN,IAAI,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;AACjF,IAAI,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC;AAC7D,IAAI,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAChF,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC3C,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC;AAC7F,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzF,EAAE;AACF;;;;"}
|