arc-1 0.9.18 → 0.9.20

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 (149) hide show
  1. package/README.md +33 -30
  2. package/dist/adt/config.d.ts +1 -1
  3. package/dist/adt/config.d.ts.map +1 -1
  4. package/dist/adt/errors.d.ts.map +1 -1
  5. package/dist/adt/errors.js +186 -25
  6. package/dist/adt/errors.js.map +1 -1
  7. package/dist/adt/http.d.ts +1 -1
  8. package/dist/adt/http.d.ts.map +1 -1
  9. package/dist/adt/http.js.map +1 -1
  10. package/dist/authz/policy.d.ts +6 -0
  11. package/dist/authz/policy.d.ts.map +1 -1
  12. package/dist/authz/policy.js +20 -0
  13. package/dist/authz/policy.js.map +1 -1
  14. package/dist/cache/cache.d.ts +25 -0
  15. package/dist/cache/cache.d.ts.map +1 -1
  16. package/dist/cache/cache.js.map +1 -1
  17. package/dist/cache/caching-layer.d.ts +31 -2
  18. package/dist/cache/caching-layer.d.ts.map +1 -1
  19. package/dist/cache/caching-layer.js +102 -2
  20. package/dist/cache/caching-layer.js.map +1 -1
  21. package/dist/cache/memory.d.ts +2 -1
  22. package/dist/cache/memory.d.ts.map +1 -1
  23. package/dist/cache/memory.js +46 -0
  24. package/dist/cache/memory.js.map +1 -1
  25. package/dist/cache/sqlite.d.ts +2 -1
  26. package/dist/cache/sqlite.d.ts.map +1 -1
  27. package/dist/cache/sqlite.js +54 -0
  28. package/dist/cache/sqlite.js.map +1 -1
  29. package/dist/cli.js +21 -3
  30. package/dist/cli.js.map +1 -1
  31. package/dist/handlers/context.d.ts.map +1 -1
  32. package/dist/handlers/context.js +27 -4
  33. package/dist/handlers/context.js.map +1 -1
  34. package/dist/handlers/dispatch.d.ts +3 -0
  35. package/dist/handlers/dispatch.d.ts.map +1 -1
  36. package/dist/handlers/dispatch.js +71 -53
  37. package/dist/handlers/dispatch.js.map +1 -1
  38. package/dist/handlers/object-types.d.ts +1 -1
  39. package/dist/handlers/object-types.d.ts.map +1 -1
  40. package/dist/handlers/object-types.js +10 -2
  41. package/dist/handlers/object-types.js.map +1 -1
  42. package/dist/handlers/read.d.ts.map +1 -1
  43. package/dist/handlers/read.js +4 -1
  44. package/dist/handlers/read.js.map +1 -1
  45. package/dist/handlers/schemas.d.ts +8 -0
  46. package/dist/handlers/schemas.d.ts.map +1 -1
  47. package/dist/handlers/schemas.js +2 -0
  48. package/dist/handlers/schemas.js.map +1 -1
  49. package/dist/handlers/tool-registry.d.ts +4 -4
  50. package/dist/handlers/tool-registry.d.ts.map +1 -1
  51. package/dist/handlers/tool-registry.js +4 -0
  52. package/dist/handlers/tool-registry.js.map +1 -1
  53. package/dist/handlers/tools.d.ts.map +1 -1
  54. package/dist/handlers/tools.js +29 -23
  55. package/dist/handlers/tools.js.map +1 -1
  56. package/dist/handlers/write/create.d.ts.map +1 -1
  57. package/dist/handlers/write/create.js +89 -4
  58. package/dist/handlers/write/create.js.map +1 -1
  59. package/dist/plugins/manifest-interpreter.d.ts +25 -0
  60. package/dist/plugins/manifest-interpreter.d.ts.map +1 -0
  61. package/dist/plugins/manifest-interpreter.js +126 -0
  62. package/dist/plugins/manifest-interpreter.js.map +1 -0
  63. package/dist/public/define-tool.d.ts +9 -0
  64. package/dist/public/define-tool.d.ts.map +1 -0
  65. package/dist/public/define-tool.js +25 -0
  66. package/dist/public/define-tool.js.map +1 -0
  67. package/dist/public/index.d.ts +9 -0
  68. package/dist/public/index.d.ts.map +1 -0
  69. package/dist/public/index.js +10 -0
  70. package/dist/public/index.js.map +1 -0
  71. package/dist/public/testing.d.ts +27 -0
  72. package/dist/public/testing.d.ts.map +1 -0
  73. package/dist/public/testing.js +52 -0
  74. package/dist/public/testing.js.map +1 -0
  75. package/dist/public/types.d.ts +87 -0
  76. package/dist/public/types.d.ts.map +1 -0
  77. package/dist/public/types.js +4 -0
  78. package/dist/public/types.js.map +1 -0
  79. package/dist/public/ui/app.js +1044 -0
  80. package/dist/public/ui/arc-mark.svg +5 -0
  81. package/dist/public/ui/index.html +43 -0
  82. package/dist/public/ui/styles.css +563 -0
  83. package/dist/registry/tool-registry.d.ts +74 -0
  84. package/dist/registry/tool-registry.d.ts.map +1 -0
  85. package/dist/registry/tool-registry.js +59 -0
  86. package/dist/registry/tool-registry.js.map +1 -0
  87. package/dist/server/app-url.d.ts +31 -0
  88. package/dist/server/app-url.d.ts.map +1 -0
  89. package/dist/server/app-url.js +50 -0
  90. package/dist/server/app-url.js.map +1 -0
  91. package/dist/server/audit.d.ts +4 -0
  92. package/dist/server/audit.d.ts.map +1 -1
  93. package/dist/server/audit.js.map +1 -1
  94. package/dist/server/config.d.ts.map +1 -1
  95. package/dist/server/config.js +92 -0
  96. package/dist/server/config.js.map +1 -1
  97. package/dist/server/http.d.ts +17 -47
  98. package/dist/server/http.d.ts.map +1 -1
  99. package/dist/server/http.js +127 -376
  100. package/dist/server/http.js.map +1 -1
  101. package/dist/server/logger.d.ts +22 -0
  102. package/dist/server/logger.d.ts.map +1 -1
  103. package/dist/server/logger.js +22 -0
  104. package/dist/server/logger.js.map +1 -1
  105. package/dist/server/plugin-loader.d.ts +19 -0
  106. package/dist/server/plugin-loader.d.ts.map +1 -0
  107. package/dist/server/plugin-loader.js +162 -0
  108. package/dist/server/plugin-loader.js.map +1 -0
  109. package/dist/server/safe-http-client.d.ts +44 -0
  110. package/dist/server/safe-http-client.d.ts.map +1 -0
  111. package/dist/server/safe-http-client.js +198 -0
  112. package/dist/server/safe-http-client.js.map +1 -0
  113. package/dist/server/server.d.ts +2 -2
  114. package/dist/server/server.d.ts.map +1 -1
  115. package/dist/server/server.js +63 -9
  116. package/dist/server/server.js.map +1 -1
  117. package/dist/server/types.d.ts +24 -0
  118. package/dist/server/types.d.ts.map +1 -1
  119. package/dist/server/types.js +6 -0
  120. package/dist/server/types.js.map +1 -1
  121. package/dist/server/ui-log-buffer.d.ts +29 -0
  122. package/dist/server/ui-log-buffer.d.ts.map +1 -0
  123. package/dist/server/ui-log-buffer.js +72 -0
  124. package/dist/server/ui-log-buffer.js.map +1 -0
  125. package/dist/server/ui-state.d.ts +32 -0
  126. package/dist/server/ui-state.d.ts.map +1 -0
  127. package/dist/server/ui-state.js +230 -0
  128. package/dist/server/ui-state.js.map +1 -0
  129. package/dist/server/ui.d.ts +20 -0
  130. package/dist/server/ui.d.ts.map +1 -0
  131. package/dist/server/ui.js +275 -0
  132. package/dist/server/ui.js.map +1 -0
  133. package/package.json +34 -14
  134. package/dist/adt/btp.d.ts +0 -140
  135. package/dist/adt/btp.d.ts.map +0 -1
  136. package/dist/adt/btp.js +0 -427
  137. package/dist/adt/btp.js.map +0 -1
  138. package/dist/server/oauth-state.d.ts +0 -92
  139. package/dist/server/oauth-state.d.ts.map +0 -1
  140. package/dist/server/oauth-state.js +0 -163
  141. package/dist/server/oauth-state.js.map +0 -1
  142. package/dist/server/stateless-client-store.d.ts +0 -173
  143. package/dist/server/stateless-client-store.d.ts.map +0 -1
  144. package/dist/server/stateless-client-store.js +0 -503
  145. package/dist/server/stateless-client-store.js.map +0 -1
  146. package/dist/server/xsuaa.d.ts +0 -188
  147. package/dist/server/xsuaa.d.ts.map +0 -1
  148. package/dist/server/xsuaa.js +0 -464
  149. package/dist/server/xsuaa.js.map +0 -1
@@ -0,0 +1,59 @@
1
+ // Typed tool registry — the single dispatch table for built-in AND plugin (extension) tools.
2
+ //
3
+ // FEAT-61 PR1: this replaces the hand-written `switch (toolName)` in `handleToolCall`
4
+ // (src/handlers/dispatch.ts). Built-ins register at startup with thin adapter `invoke`s that
5
+ // call their existing handlers; the shared pipeline (rate-limit, scope, Zod, audit) stays in
6
+ // `handleToolCall` and is unchanged — the registry only owns the inner dispatch.
7
+ //
8
+ // See docs/research/extension-framework-spec.md §4.
9
+ import { hasRequiredScope, OPTYPE_SCOPE } from '../authz/policy.js';
10
+ const CUSTOM_PREFIX = 'Custom_';
11
+ /**
12
+ * In-memory registry of tools. One instance per server. Built-ins are registered first (at
13
+ * startup); plugins are registered after (by the loader). Registration is fail-fast: a malformed
14
+ * entry or a name collision throws, so a bad plugin refuses server start rather than shadowing a
15
+ * built-in or silently dropping a tool.
16
+ */
17
+ export class ToolRegistry {
18
+ // Map preserves insertion order (ECMAScript guarantee), so it IS the registration order.
19
+ entries = new Map();
20
+ register(entry) {
21
+ if (!entry?.name) {
22
+ throw new Error('ToolRegistry.register: entry.name is required');
23
+ }
24
+ if (!entry.policy?.scope || !entry.policy.opType) {
25
+ throw new Error(`ToolRegistry.register: tool '${entry.name}' must declare policy.scope + policy.opType (got ${JSON.stringify(entry.policy)})`);
26
+ }
27
+ if (entry.source === 'plugin' && !entry.name.startsWith(CUSTOM_PREFIX)) {
28
+ throw new Error(`ToolRegistry.register: plugin tool '${entry.name}' must use the reserved '${CUSTOM_PREFIX}' namespace`);
29
+ }
30
+ // policy.opType↔scope consistency: the declared scope must COVER the op's required scope, so a
31
+ // plugin can't claim a benign `read` scope while declaring (and later performing) a higher op.
32
+ // Built-ins derive their policy from ACTION_POLICY (already consistent); only gate plugin entries.
33
+ if (entry.source === 'plugin') {
34
+ const needed = OPTYPE_SCOPE[entry.policy.opType];
35
+ if (!needed || !hasRequiredScope([entry.policy.scope], needed)) {
36
+ throw new Error(`ToolRegistry.register: plugin tool '${entry.name}' declares scope '${entry.policy.scope}' but opType '${entry.policy.opType}' requires scope '${needed ?? '?'}'`);
37
+ }
38
+ }
39
+ if (this.entries.has(entry.name)) {
40
+ throw new Error(`ToolRegistry.register: duplicate tool name '${entry.name}'`);
41
+ }
42
+ this.entries.set(entry.name, entry);
43
+ }
44
+ get(name) {
45
+ return this.entries.get(name);
46
+ }
47
+ has(name) {
48
+ return this.entries.has(name);
49
+ }
50
+ /** Built-ins first (registration order), then plugins (registration order). Deterministic for `tools/list`. */
51
+ list() {
52
+ const all = [...this.entries.values()];
53
+ return [...all.filter((e) => e.source === 'builtin'), ...all.filter((e) => e.source === 'plugin')];
54
+ }
55
+ size() {
56
+ return this.entries.size;
57
+ }
58
+ }
59
+ //# sourceMappingURL=tool-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/registry/tool-registry.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,EAAE;AACF,sFAAsF;AACtF,6FAA6F;AAC7F,6FAA6F;AAC7F,iFAAiF;AACjF,EAAE;AACF,oDAAoD;AAMpD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAc,MAAM,oBAAoB,CAAC;AAgDhF,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACvB,yFAAyF;IACxE,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE5D,QAAQ,CAAC,KAAoB;QAC3B,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,CAAC,IAAI,oDAAoD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAC9H,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,CAAC,IAAI,4BAA4B,aAAa,aAAa,CACxG,CAAC;QACJ,CAAC;QACD,+FAA+F;QAC/F,+FAA+F;QAC/F,mGAAmG;QACnG,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,CAAC,IAAI,qBAAqB,KAAK,CAAC,MAAM,CAAC,KAAK,iBAAiB,KAAK,CAAC,MAAM,CAAC,MAAM,qBAAqB,MAAM,IAAI,GAAG,GAAG,CAClK,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,+CAA+C,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,+GAA+G;IAC/G,IAAI;QACF,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * App public-URL resolution for ARC-1's OAuth metadata.
3
+ *
4
+ * This stays ARC-1-local (it is NOT a principal-propagation concern, so it does
5
+ * not belong in `@arc-mcp/xsuaa-auth/btp`). The package ships its own
6
+ * `resolveAppUrl`, but its fallback behavior differs (it can fall back to a
7
+ * bind-host:port) — ARC-1 deliberately returns `undefined` when neither
8
+ * ARC1_PUBLIC_URL nor VCAP_APPLICATION is set, and the caller in `http.ts`
9
+ * applies its own `http://<bindHost>:<port>` fallback. Keeping `getAppUrl`
10
+ * verbatim here preserves that behavior exactly (SPEC §10 — `getAppUrl` is
11
+ * consumer-owned).
12
+ */
13
+ /**
14
+ * Get the app's public URL.
15
+ *
16
+ * Priority:
17
+ * 1. ARC1_PUBLIC_URL env var — set this when the app is reached through a
18
+ * reverse proxy on a different hostname (e.g. SAP Integration Suite API
19
+ * Management). The value flows into every absolute URL the OAuth metadata
20
+ * endpoints emit (issuer, authorize, token, register, revoke, resource).
21
+ * May include a base-path component (e.g. https://api.example.com/arc1) —
22
+ * the path is preserved verbatim.
23
+ * 2. VCAP_APPLICATION.application_uris[0] — set automatically by CF, points
24
+ * to the app's CF route.
25
+ * 3. undefined — caller falls back to bind-host:port.
26
+ *
27
+ * The trailing slash, if present, is stripped so callers can do `${url}/path`
28
+ * consistently.
29
+ */
30
+ export declare function getAppUrl(): string | undefined;
31
+ //# sourceMappingURL=app-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-url.d.ts","sourceRoot":"","sources":["../../src/server/app-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAmB9C"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * App public-URL resolution for ARC-1's OAuth metadata.
3
+ *
4
+ * This stays ARC-1-local (it is NOT a principal-propagation concern, so it does
5
+ * not belong in `@arc-mcp/xsuaa-auth/btp`). The package ships its own
6
+ * `resolveAppUrl`, but its fallback behavior differs (it can fall back to a
7
+ * bind-host:port) — ARC-1 deliberately returns `undefined` when neither
8
+ * ARC1_PUBLIC_URL nor VCAP_APPLICATION is set, and the caller in `http.ts`
9
+ * applies its own `http://<bindHost>:<port>` fallback. Keeping `getAppUrl`
10
+ * verbatim here preserves that behavior exactly (SPEC §10 — `getAppUrl` is
11
+ * consumer-owned).
12
+ */
13
+ /**
14
+ * Get the app's public URL.
15
+ *
16
+ * Priority:
17
+ * 1. ARC1_PUBLIC_URL env var — set this when the app is reached through a
18
+ * reverse proxy on a different hostname (e.g. SAP Integration Suite API
19
+ * Management). The value flows into every absolute URL the OAuth metadata
20
+ * endpoints emit (issuer, authorize, token, register, revoke, resource).
21
+ * May include a base-path component (e.g. https://api.example.com/arc1) —
22
+ * the path is preserved verbatim.
23
+ * 2. VCAP_APPLICATION.application_uris[0] — set automatically by CF, points
24
+ * to the app's CF route.
25
+ * 3. undefined — caller falls back to bind-host:port.
26
+ *
27
+ * The trailing slash, if present, is stripped so callers can do `${url}/path`
28
+ * consistently.
29
+ */
30
+ export function getAppUrl() {
31
+ const override = process.env.ARC1_PUBLIC_URL?.trim();
32
+ if (override) {
33
+ return override.replace(/\/$/, '');
34
+ }
35
+ const vcapApp = process.env.VCAP_APPLICATION;
36
+ if (!vcapApp)
37
+ return undefined;
38
+ try {
39
+ const app = JSON.parse(vcapApp);
40
+ const uris = app.application_uris ?? app.uris;
41
+ if (Array.isArray(uris) && uris.length > 0) {
42
+ return `https://${uris[0]}`;
43
+ }
44
+ }
45
+ catch {
46
+ // Not valid JSON
47
+ }
48
+ return undefined;
49
+ }
50
+ //# sourceMappingURL=app-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-url.js","sourceRoot":"","sources":["../../src/server/app-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,SAAS;IACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,IAAI,CAAC;QAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -21,12 +21,16 @@ export interface AuditEventBase {
21
21
  export interface ToolCallStartEvent extends AuditEventBase {
22
22
  event: 'tool_call_start';
23
23
  tool: string;
24
+ /** Contributing plugin name when `tool` is a plugin-sourced `Custom_*` tool (FEAT-61). */
25
+ pluginName?: string;
24
26
  args: Record<string, unknown>;
25
27
  }
26
28
  /** MCP tool call completed (success or error) */
27
29
  export interface ToolCallEndEvent extends AuditEventBase {
28
30
  event: 'tool_call_end';
29
31
  tool: string;
32
+ /** Contributing plugin name when `tool` is a plugin-sourced `Custom_*` tool (FEAT-61). */
33
+ pluginName?: string;
30
34
  durationMs: number;
31
35
  status: 'success' | 'error';
32
36
  errorClass?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuOH,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,aAAa,GAAG;QACpB,UAAU;QACV,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,MAAM;QACN,QAAQ;QACR,SAAS;QACT,WAAW;QACX,gBAAgB;KACjB,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,KAAK,CAAC,MAAM,SAAS,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/server/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA2OH,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAA6B;IACxD,MAAM,aAAa,GAAG;QACpB,UAAU;QACV,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,MAAM;QACN,QAAQ;QACR,SAAS;QACT,WAAW;QACX,gBAAgB;KACjB,CAAC;IACF,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,KAAK,CAAC,MAAM,SAAS,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAiB,YAAY,EAAiB,MAAM,YAAY,CAAC;AAG3F;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA2E1D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BjF;AAwDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CAwX7G;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAEtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAkDzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAiB,YAAY,EAAyB,MAAM,YAAY,CAAC;AAGnG;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA2E1D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BjF;AAoED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,CAsb7G;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAEtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAgFzD"}
@@ -124,6 +124,21 @@ export function parseApiKeys(raw) {
124
124
  }
125
125
  return entries;
126
126
  }
127
+ function parseUiMode(raw, transport) {
128
+ const value = raw.trim().toLowerCase();
129
+ if (value === '')
130
+ return 'off';
131
+ if (['0', 'false', 'no', 'off'].includes(value))
132
+ return 'off';
133
+ if (['local', 'sidecar'].includes(value))
134
+ return 'local';
135
+ if (['web', 'http', 'server'].includes(value))
136
+ return 'web';
137
+ if (['1', 'true', 'yes', 'on'].includes(value)) {
138
+ return transport === 'stdio' ? 'local' : 'web';
139
+ }
140
+ throw new Error('Invalid ARC1_UI value: expected off, local, web, true, or false');
141
+ }
127
142
  /** Map of legacy env-var names → human-readable migration hint. */
128
143
  const LEGACY_ENV_VARS = {
129
144
  SAP_READ_ONLY: 'Replaced by SAP_ALLOW_WRITES (inverted). Set SAP_ALLOW_WRITES=true to enable writes.',
@@ -184,6 +199,18 @@ export function resolveConfig(args) {
184
199
  }
185
200
  return undefined;
186
201
  };
202
+ const getOptionalFlagValue = (name) => {
203
+ const prefix = `--${name}=`;
204
+ for (let i = 0; i < args.length; i++) {
205
+ if (args[i] === `--${name}`) {
206
+ const next = args[i + 1];
207
+ return next && !next.startsWith('--') ? next : 'true';
208
+ }
209
+ if (args[i]?.startsWith(prefix))
210
+ return args[i].slice(prefix.length);
211
+ }
212
+ return undefined;
213
+ };
187
214
  // An empty flag/env value (a cleared install-dialog field, or a shell-expanded unset $VAR) is
188
215
  // treated as "not provided" and falls through to the default instead of overriding it with "".
189
216
  // This stops non-empty defaults (e.g. SAP_CLIENT=100, SAP_LANGUAGE=EN) from being silently
@@ -283,6 +310,33 @@ export function resolveConfig(args) {
283
310
  config.httpAddr = `${addrHost}:${parsedPort}`;
284
311
  sources.httpAddr = getFlag('port') !== undefined ? { flag: '--port' } : { env: 'ARC1_PORT' };
285
312
  }
313
+ // ── Read-only Admin UI ────────────────────────────────────────────
314
+ const uiFlag = getOptionalFlagValue('ui');
315
+ const uiEnv = process.env.ARC1_UI;
316
+ if (uiFlag !== undefined) {
317
+ config.uiMode = parseUiMode(uiFlag, config.transport);
318
+ sources.uiMode = { flag: '--ui' };
319
+ }
320
+ else if (uiEnv !== undefined && uiEnv !== '') {
321
+ config.uiMode = parseUiMode(uiEnv, config.transport);
322
+ sources.uiMode = { env: 'ARC1_UI' };
323
+ }
324
+ else {
325
+ config.uiMode = 'off';
326
+ sources.uiMode = 'default';
327
+ }
328
+ config.uiAddr = resolveStr('ui-addr', 'ARC1_UI_ADDR', DEFAULT_CONFIG.uiAddr, 'uiAddr');
329
+ const uiPortOverride = getFlag('ui-port') ?? process.env.ARC1_UI_PORT;
330
+ if (uiPortOverride) {
331
+ const parsedPort = Number.parseInt(uiPortOverride, 10);
332
+ if (Number.isNaN(parsedPort) || parsedPort < 1 || parsedPort > 65535) {
333
+ throw new Error(`Invalid UI port '${uiPortOverride}': must be a number between 1 and 65535`);
334
+ }
335
+ const addrHost = config.uiAddr.includes(':') ? config.uiAddr.split(':')[0] : '127.0.0.1';
336
+ config.uiAddr = `${addrHost}:${parsedPort}`;
337
+ sources.uiAddr = getFlag('ui-port') !== undefined ? { flag: '--ui-port' } : { env: 'ARC1_UI_PORT' };
338
+ }
339
+ config.uiOpen = resolveBool('ui-open', 'ARC1_UI_OPEN', false, 'uiOpen');
286
340
  // ── Safety (positive opt-ins) ──────────────────────────────────────
287
341
  config.allowWrites = resolveBool('allow-writes', 'SAP_ALLOW_WRITES', false, 'allowWrites');
288
342
  config.allowDataPreview = resolveBool('allow-data-preview', 'SAP_ALLOW_DATA_PREVIEW', false, 'allowDataPreview');
@@ -420,6 +474,18 @@ export function resolveConfig(args) {
420
474
  // ── Tool Mode ──────────────────────────────────────────────────────
421
475
  const toolMode = resolveStr('tool-mode', 'ARC1_TOOL_MODE', 'standard', 'toolMode');
422
476
  config.toolMode = (toolMode === 'hyperfocused' ? 'hyperfocused' : 'standard');
477
+ // ── Extensions (FEAT-61) ───────────────────────────────────────────
478
+ // CSV of absolute paths to extension plugins (local dirs/files, NOT npm names). Loaded at startup.
479
+ const pluginsRaw = getFlag('plugins') ?? process.env.ARC1_PLUGINS;
480
+ config.plugins = (pluginsRaw ?? '')
481
+ .split(',')
482
+ .map((s) => s.trim())
483
+ .filter(Boolean);
484
+ // Opt-in: let plugin tools execute ABAP console classes (ctx.run.classRun). Also needs allowWrites.
485
+ config.allowPluginExecute = resolveBool('allow-plugin-execute', 'SAP_ALLOW_PLUGIN_EXECUTE', false, 'allowPluginExecute');
486
+ // Opt-in: let plugin tools write (ctx.http.post/put/delete) to non-ADT (OData/ICF) paths. Also
487
+ // needs allowWrites; ADT object writes are always refused (no package gate on this raw surface).
488
+ config.allowPluginRawWrites = resolveBool('allow-plugin-raw-writes', 'SAP_ALLOW_PLUGIN_RAW_WRITES', false, 'allowPluginRawWrites');
423
489
  // ── Lint ───────────────────────────────────────────────────────────
424
490
  config.abaplintConfig = resolveOptionalStr('abaplint-config', 'SAP_ABAPLINT_CONFIG', 'abaplintConfig');
425
491
  config.lintBeforeWrite = resolveBool('lint-before-write', 'SAP_LINT_BEFORE_WRITE', true, 'lintBeforeWrite');
@@ -509,6 +575,16 @@ export function parseArgs(args) {
509
575
  * Fails fast at startup for invalid or dangerous config combinations.
510
576
  */
511
577
  export function validateConfig(config) {
578
+ // SAP client (MANDT) is a canonical 3-digit value (CHAR 3, range 000-999). SAP
579
+ // does NOT zero-pad the sap-client URL parameter, so a 1-2 digit value like '10'
580
+ // authenticates against a different (or non-existent) client and surfaces as a
581
+ // confusing 401 — not an obvious config error. Fail fast with a clear hint instead.
582
+ // Empty is skipped here: resolveConfig already substitutes the '100' default for it.
583
+ if (config.client && !/^\d{3}$/.test(config.client)) {
584
+ throw new Error(`Invalid SAP_CLIENT '${config.client}': must be a 3-digit SAP client (000-999). ` +
585
+ `SAP does not pad the client number — write it with leading zeros, ` +
586
+ `e.g. '010' for client 10 or '100' for client 100.`);
587
+ }
512
588
  if (config.oidcIssuer && !config.oidcAudience) {
513
589
  throw new Error('SAP_OIDC_AUDIENCE is required when SAP_OIDC_ISSUER is set — ' +
514
590
  'audience validation prevents token confusion across services (RFC 9700 §2.3)');
@@ -537,5 +613,21 @@ export function validateConfig(config) {
537
613
  if (config.dcrSigningSecret && !config.xsuaaAuth) {
538
614
  console.error('[warn] ARC1_DCR_SIGNING_SECRET is set but SAP_XSUAA_AUTH=false — the secret is unused. Unset it to reduce attack surface, or enable XSUAA OAuth proxy mode (SAP_XSUAA_AUTH=true).');
539
615
  }
616
+ if (config.transport === 'stdio' && config.uiMode === 'web') {
617
+ throw new Error('ARC1_UI=web requires SAP_TRANSPORT=http-streamable. Use ARC1_UI=local for stdio clients.');
618
+ }
619
+ const hasAdminApiKey = config.apiKeys?.some((entry) => entry.profile === 'admin') ?? false;
620
+ if (config.uiMode === 'web' && !(hasAdminApiKey || config.oidcIssuer || config.xsuaaAuth)) {
621
+ throw new Error('ARC1_UI=web requires HTTP authentication: set ARC1_API_KEYS with an admin key, SAP_OIDC_ISSUER/SAP_OIDC_AUDIENCE, or SAP_XSUAA_AUTH=true.');
622
+ }
623
+ if (config.uiMode === 'local' && !isLoopbackAddr(config.uiAddr)) {
624
+ throw new Error(`ARC1_UI=local must bind to a loopback address, got '${config.uiAddr}'. Use ARC1_UI=web with HTTP transport for network-exposed deployments.`);
625
+ }
626
+ }
627
+ function isLoopbackAddr(addr) {
628
+ if (/^\d+$/.test(addr))
629
+ return true;
630
+ const host = addr.includes(':') ? addr.split(':')[0] : addr;
631
+ return host === 'localhost' || host === '::1' || host.startsWith('127.') || host === '';
540
632
  }
541
633
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/server/config.ts"],"names":[],"mappings":"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"}
@@ -24,45 +24,11 @@
24
24
  *
25
25
  * 4. Health endpoint is always unauthenticated — needed for CF health checks.
26
26
  */
27
+ import type { XsuaaCredentials } from '@arc-mcp/xsuaa-auth';
27
28
  import type { Server as McpServer } from '@modelcontextprotocol/sdk/server/index.js';
28
- import type { Request, Response } from 'express';
29
29
  import express from 'express';
30
- import type { OAuthStateCodec } from './oauth-state.js';
31
- import type { StatelessDcrClientStore } from './stateless-client-store.js';
32
30
  import type { ServerConfig } from './types.js';
33
- import type { XsuaaCredentials } from './xsuaa.js';
34
- /**
35
- * Express handler for ARC-1's `/oauth/callback`, the second half of the
36
- * XSUAA callback proxy that fixes the `+`-in-state bug (issue #214).
37
- *
38
- * XSUAA redirects here (not to the client) with an opaque base64url `state`
39
- * token that ARC-1's `authorize()` minted. We verify + decode it to recover
40
- * the client's ORIGINAL `redirect_uri` and `state`, then 302 to the client
41
- * re-emitting the state via `URL.searchParams` — whose serializer encodes a
42
- * literal `+` as `%2B`, exactly the encoding the client's parser expects.
43
- *
44
- * Removal condition + upstream tracking (XSUAA root cause, arc-1#214,
45
- * vscode#314715) are documented at the top of `oauth-state.ts`.
46
- *
47
- * SECURITY (authorization-code interception, security audit 2026-06): the
48
- * signed state carries the originating DCR `client_id` (`decoded.clientId`).
49
- * Before forwarding the auth code (or an error) to `decoded.clientRedirectUri`,
50
- * we verify that redirect_uri is actually registered for that client. The
51
- * signature alone is insufficient: all DCR clients share one XSUAA app, so a
52
- * forged-state attack is blocked by the HMAC, but the redirect target must
53
- * still belong to the client that will exchange the code. For stateless DCR
54
- * clients (`arc1-…`) the registered redirect_uris are baked immutably into the
55
- * signed `client_id`, so this check deterministically rejects an attacker who
56
- * substitutes their own redirect_uri on a victim's `client_id`. For the shared
57
- * pre-registered XSUAA default client the redirect_uri is checked against the
58
- * static allowlist (mirrors xs-security.json) instead — `clientStore` makes
59
- * both decisions via `checkRedirectUri`.
60
- *
61
- * Exported for unit tests; mounted in `startHttpServer`. When `clientStore` is
62
- * omitted (legacy unit tests of the issue-#214 round-trip) the binding check is
63
- * skipped; production always passes it.
64
- */
65
- export declare function createOAuthCallbackHandler(stateCodec: OAuthStateCodec, clientStore?: StatelessDcrClientStore): (req: Request, res: Response) => Promise<void>;
31
+ import { type UiServerDeps } from './ui.js';
66
32
  /**
67
33
  * Apply security headers (helmet) and opt-in CORS to an Express app.
68
34
  *
@@ -90,19 +56,23 @@ export declare function applySecurityMiddleware(app: express.Application, allowe
90
56
  /**
91
57
  * Start the HTTP Streamable server.
92
58
  */
93
- export declare function startHttpServer(serverFactory: () => McpServer, config: ServerConfig, xsuaaCredentials?: XsuaaCredentials): Promise<void>;
59
+ export declare function startHttpServer(serverFactory: () => McpServer, config: ServerConfig, xsuaaCredentials?: XsuaaCredentials, uiDeps?: UiServerDeps): Promise<void>;
94
60
  /**
95
61
  * Create a token verifier for standard auth mode (API key + OIDC).
96
- * Returns AuthInfo so the MCP SDK populates extra.authInfo on the request,
97
- * enabling scope enforcement, per-request safety, and principal propagation.
98
- */
99
- export declare function createStandardVerifier(config: ServerConfig): (token: string) => Promise<import('@modelcontextprotocol/sdk/server/auth/types.js').AuthInfo>;
100
- /**
101
- * Extract scopes from an OIDC JWT payload.
102
62
  *
103
- * Tries `scope` (space-separated string, standard OIDC) then `scp` (array, Azure AD style).
104
- * Filters to known scopes, applies implied scope expansion, and falls back to read-only
105
- * when no scope claims are present (safe default for providers that don't emit scopes).
63
+ * Built entirely from the `@arc-mcp/xsuaa-auth` package's chained verifier
64
+ * (constant-time api-key compare + hardened OIDC), mirroring how XSUAA mode wires
65
+ * its chain minus the XSUAA verifier, which standard mode doesn't have. The
66
+ * chain order is XSUAA → OIDC → api-key; with no XSUAA verifier that collapses to
67
+ * OIDC → api-key, which is order-immaterial here (token types are disjoint) and
68
+ * preserves the previous behavior (api-key matched first only mattered because
69
+ * the two paths never overlap). Returns `AuthInfo` so the MCP SDK populates
70
+ * `extra.authInfo` on the request context, enabling scope enforcement,
71
+ * per-request safety, and principal propagation.
72
+ *
73
+ * Async because the package is dynamic-imported (lazy, consistent with the rest
74
+ * of this module); the returned verifier itself is the package's sync-built
75
+ * chained verifier.
106
76
  */
107
- export declare function extractOidcScopes(payload: Record<string, unknown>): string[];
77
+ export declare function createStandardVerifier(config: ServerConfig): Promise<import('@arc-mcp/xsuaa-auth').Verifier>;
108
78
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAGrF,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,OAAO,MAAM,SAAS,CAAC;AAK9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA0DnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,uBAAuB,IAC7F,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAG,OAAO,CAAC,IAAI,CAAC,CA+H1D;AAoCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CA6DhG;AAuCD;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,SAAS,EAC9B,MAAM,EAAE,YAAY,EACpB,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC,CAqXf;AAID;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,GACnB,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,gDAAgD,EAAE,QAAQ,CAAC,CAsD/F;AA0CD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAiC5E"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/server/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAIrF,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AA2B3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CA6DhG;AAuCD;;GAEG;AACH,wBAAsB,eAAe,CACnC,aAAa,EAAE,MAAM,SAAS,EAC9B,MAAM,EAAE,YAAY,EACpB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAoaf;AAkDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,qBAAqB,EAAE,QAAQ,CAAC,CAOlH"}