arc-1 0.9.17 → 0.9.19

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 (118) hide show
  1. package/README.md +26 -26
  2. package/dist/adt/config.d.ts +1 -1
  3. package/dist/adt/config.d.ts.map +1 -1
  4. package/dist/adt/discovery.js +1 -1
  5. package/dist/adt/discovery.js.map +1 -1
  6. package/dist/adt/features.d.ts.map +1 -1
  7. package/dist/adt/features.js +8 -8
  8. package/dist/adt/features.js.map +1 -1
  9. package/dist/adt/http.d.ts +11 -1
  10. package/dist/adt/http.d.ts.map +1 -1
  11. package/dist/adt/http.js +6 -1
  12. package/dist/adt/http.js.map +1 -1
  13. package/dist/adt/source-diff.d.ts +19 -0
  14. package/dist/adt/source-diff.d.ts.map +1 -0
  15. package/dist/adt/source-diff.js +39 -0
  16. package/dist/adt/source-diff.js.map +1 -0
  17. package/dist/adt/version-diff.d.ts +28 -0
  18. package/dist/adt/version-diff.d.ts.map +1 -0
  19. package/dist/adt/version-diff.js +119 -0
  20. package/dist/adt/version-diff.js.map +1 -0
  21. package/dist/authz/policy.d.ts +6 -0
  22. package/dist/authz/policy.d.ts.map +1 -1
  23. package/dist/authz/policy.js +20 -0
  24. package/dist/authz/policy.js.map +1 -1
  25. package/dist/cli.js +21 -3
  26. package/dist/cli.js.map +1 -1
  27. package/dist/handlers/dispatch.d.ts +3 -0
  28. package/dist/handlers/dispatch.d.ts.map +1 -1
  29. package/dist/handlers/dispatch.js +71 -53
  30. package/dist/handlers/dispatch.js.map +1 -1
  31. package/dist/handlers/read.d.ts.map +1 -1
  32. package/dist/handlers/read.js +27 -0
  33. package/dist/handlers/read.js.map +1 -1
  34. package/dist/handlers/schemas.d.ts +16 -5
  35. package/dist/handlers/schemas.d.ts.map +1 -1
  36. package/dist/handlers/schemas.js +17 -0
  37. package/dist/handlers/schemas.js.map +1 -1
  38. package/dist/handlers/tools.d.ts.map +1 -1
  39. package/dist/handlers/tools.js +18 -1
  40. package/dist/handlers/tools.js.map +1 -1
  41. package/dist/handlers/transport.d.ts.map +1 -1
  42. package/dist/handlers/transport.js +27 -1
  43. package/dist/handlers/transport.js.map +1 -1
  44. package/dist/plugins/manifest-interpreter.d.ts +25 -0
  45. package/dist/plugins/manifest-interpreter.d.ts.map +1 -0
  46. package/dist/plugins/manifest-interpreter.js +124 -0
  47. package/dist/plugins/manifest-interpreter.js.map +1 -0
  48. package/dist/public/define-tool.d.ts +9 -0
  49. package/dist/public/define-tool.d.ts.map +1 -0
  50. package/dist/public/define-tool.js +25 -0
  51. package/dist/public/define-tool.js.map +1 -0
  52. package/dist/public/index.d.ts +9 -0
  53. package/dist/public/index.d.ts.map +1 -0
  54. package/dist/public/index.js +10 -0
  55. package/dist/public/index.js.map +1 -0
  56. package/dist/public/testing.d.ts +26 -0
  57. package/dist/public/testing.d.ts.map +1 -0
  58. package/dist/public/testing.js +39 -0
  59. package/dist/public/testing.js.map +1 -0
  60. package/dist/public/types.d.ts +87 -0
  61. package/dist/public/types.d.ts.map +1 -0
  62. package/dist/public/types.js +4 -0
  63. package/dist/public/types.js.map +1 -0
  64. package/dist/registry/tool-registry.d.ts +74 -0
  65. package/dist/registry/tool-registry.d.ts.map +1 -0
  66. package/dist/registry/tool-registry.js +59 -0
  67. package/dist/registry/tool-registry.js.map +1 -0
  68. package/dist/server/app-url.d.ts +31 -0
  69. package/dist/server/app-url.d.ts.map +1 -0
  70. package/dist/server/app-url.js +50 -0
  71. package/dist/server/app-url.js.map +1 -0
  72. package/dist/server/audit.d.ts +4 -0
  73. package/dist/server/audit.d.ts.map +1 -1
  74. package/dist/server/audit.js.map +1 -1
  75. package/dist/server/config.d.ts.map +1 -1
  76. package/dist/server/config.js +19 -0
  77. package/dist/server/config.js.map +1 -1
  78. package/dist/server/http.d.ts +15 -46
  79. package/dist/server/http.d.ts.map +1 -1
  80. package/dist/server/http.js +105 -375
  81. package/dist/server/http.js.map +1 -1
  82. package/dist/server/logger.d.ts +22 -0
  83. package/dist/server/logger.d.ts.map +1 -1
  84. package/dist/server/logger.js +22 -0
  85. package/dist/server/logger.js.map +1 -1
  86. package/dist/server/plugin-loader.d.ts +19 -0
  87. package/dist/server/plugin-loader.d.ts.map +1 -0
  88. package/dist/server/plugin-loader.js +162 -0
  89. package/dist/server/plugin-loader.js.map +1 -0
  90. package/dist/server/safe-http-client.d.ts +38 -0
  91. package/dist/server/safe-http-client.d.ts.map +1 -0
  92. package/dist/server/safe-http-client.js +129 -0
  93. package/dist/server/safe-http-client.js.map +1 -0
  94. package/dist/server/server.d.ts +2 -2
  95. package/dist/server/server.d.ts.map +1 -1
  96. package/dist/server/server.js +36 -7
  97. package/dist/server/server.js.map +1 -1
  98. package/dist/server/types.d.ts +8 -0
  99. package/dist/server/types.d.ts.map +1 -1
  100. package/dist/server/types.js +2 -0
  101. package/dist/server/types.js.map +1 -1
  102. package/package.json +28 -9
  103. package/dist/adt/btp.d.ts +0 -140
  104. package/dist/adt/btp.d.ts.map +0 -1
  105. package/dist/adt/btp.js +0 -427
  106. package/dist/adt/btp.js.map +0 -1
  107. package/dist/server/oauth-state.d.ts +0 -92
  108. package/dist/server/oauth-state.d.ts.map +0 -1
  109. package/dist/server/oauth-state.js +0 -163
  110. package/dist/server/oauth-state.js.map +0 -1
  111. package/dist/server/stateless-client-store.d.ts +0 -173
  112. package/dist/server/stateless-client-store.d.ts.map +0 -1
  113. package/dist/server/stateless-client-store.js +0 -503
  114. package/dist/server/stateless-client-store.js.map +0 -1
  115. package/dist/server/xsuaa.d.ts +0 -188
  116. package/dist/server/xsuaa.d.ts.map +0 -1
  117. package/dist/server/xsuaa.js +0 -464
  118. package/dist/server/xsuaa.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ import { AdtApiError } from './errors.js';
2
+ import { checkOperation, OperationType } from './safety.js';
3
+ import { unifiedDiff } from './source-diff.js';
4
+ /** Object types whose source diff is supported (plain-text `/source/main` endpoints). Local — only used in the rejection message; the switch in fetchSourceByType is the authoritative gate. */
5
+ const DIFF_SUPPORTED_TYPES = [
6
+ 'PROG',
7
+ 'CLAS',
8
+ 'INTF',
9
+ 'FUNC',
10
+ 'FUGR',
11
+ 'INCL',
12
+ 'DDLS',
13
+ 'DCLS',
14
+ 'BDEF',
15
+ 'SRVD',
16
+ 'DDLX',
17
+ 'TABL',
18
+ ];
19
+ /**
20
+ * Diff two source versions of one object on a single system.
21
+ * `from`/`to` accept `active`, `inactive`, a revision id (from the VERSIONS feed),
22
+ * or a full revision URI (`/sap/bc/adt/...`).
23
+ */
24
+ export async function getVersionDiff(client, type, name, from, to, opts = {}) {
25
+ checkOperation(client.safety, OperationType.Read, 'GetVersionDiff');
26
+ // Resolve the FUNC group ONCE up front so both the revision feed and the active/inactive
27
+ // reads agree — otherwise a bare-id FUNC diff hits getRevisions with no group and throws.
28
+ let group = opts.group;
29
+ if (type === 'FUNC' && !group) {
30
+ group = (await client.resolveFunctionGroup(name)) ?? undefined;
31
+ if (!group) {
32
+ throw new AdtApiError(`Cannot resolve function group for FUNC "${name}". Pass group=<function group>.`, 400, '');
33
+ }
34
+ }
35
+ const resolved = { include: opts.include, group };
36
+ // Fetch the revisions feed at most once, and only if a bare id needs resolving.
37
+ // Cache the promise (not the result) so concurrent from/to id lookups share one fetch.
38
+ let revListPromise;
39
+ const revList = () => {
40
+ revListPromise ??= client.getRevisions(type, name, resolved).then((r) => r.revisions);
41
+ return revListPromise;
42
+ };
43
+ const [fromSrc, toSrc] = await Promise.all([
44
+ resolveDiffSource(client, type, name, from, resolved, revList),
45
+ resolveDiffSource(client, type, name, to, resolved, revList),
46
+ ]);
47
+ return unifiedDiff(fromSrc, toSrc, `${name} (${from})`, `${name} (${to})`);
48
+ }
49
+ /** Resolve one diff ref to raw source text. */
50
+ async function resolveDiffSource(client, type, name, ref, opts, revList) {
51
+ if (ref === 'active' || ref === 'inactive') {
52
+ return fetchSourceByType(client, type, name, { version: ref, include: opts.include, group: opts.group });
53
+ }
54
+ if (ref.startsWith('/sap/bc/adt/')) {
55
+ return client.getRevisionSource(ref);
56
+ }
57
+ // Bare revision id → resolve via the feed. Some diff-supported types (FUGR, DDLX) have no
58
+ // revisions endpoint; getRevisions throws a plain Error for those — turn it into clear guidance.
59
+ // Real HTTP failures surface as AdtApiError and propagate unchanged.
60
+ let revs;
61
+ try {
62
+ revs = await revList();
63
+ }
64
+ catch (err) {
65
+ if (err instanceof AdtApiError)
66
+ throw err;
67
+ throw new AdtApiError(`Revision-id diff is not available for type ${type}. Use "active"/"inactive", or pass a full /sap/bc/adt/ revision URI.`, 400, '');
68
+ }
69
+ const match = revs.find((r) => r.id === ref);
70
+ if (!match) {
71
+ const available = revs.map((r) => r.id).join(', ') || '(none)';
72
+ throw new AdtApiError(`Revision "${ref}" not found for ${type} ${name}. Available revision ids: ${available}. ` +
73
+ 'Use "active", "inactive", a revision id from SAPRead(type="VERSIONS"), or a full /sap/bc/adt/ URI.', 404, '');
74
+ }
75
+ return client.getRevisionSource(match.uri);
76
+ }
77
+ /** Fetch raw active/inactive source for a source-bearing type via its existing reader. */
78
+ async function fetchSourceByType(client, type, name, opts) {
79
+ const base = { version: opts.version };
80
+ switch (type) {
81
+ case 'PROG':
82
+ return (await client.getProgram(name, base)).source;
83
+ case 'CLAS':
84
+ // Non-main includes must use the RAW reader: getClass(name, include) prepends a
85
+ // "=== include ===" marker, but revision sources are raw — mixing them is a false diff.
86
+ return opts.include && opts.include.toLowerCase() !== 'main'
87
+ ? (await client.getClassInclude(name, opts.include, base)).source
88
+ : (await client.getClass(name, undefined, base)).source;
89
+ case 'INTF':
90
+ return (await client.getInterface(name, base)).source;
91
+ case 'FUNC': {
92
+ // Group is pre-resolved in getVersionDiff (so the revision feed and this read agree).
93
+ if (!opts.group) {
94
+ throw new AdtApiError(`Cannot resolve function group for FUNC "${name}". Pass group=<function group>.`, 400, '');
95
+ }
96
+ return (await client.getFunction(opts.group, name, base)).source;
97
+ }
98
+ case 'FUGR':
99
+ return (await client.getFunctionGroupSource(name, base)).source;
100
+ case 'INCL':
101
+ return (await client.getInclude(name, base)).source;
102
+ case 'DDLS':
103
+ return (await client.getDdls(name, base)).source;
104
+ case 'DCLS':
105
+ return (await client.getDcl(name, base)).source;
106
+ case 'BDEF':
107
+ return (await client.getBdef(name, base)).source;
108
+ case 'SRVD':
109
+ return (await client.getSrvd(name, base)).source;
110
+ case 'DDLX':
111
+ return (await client.getDdlx(name, base)).source;
112
+ case 'TABL':
113
+ // /ddic/tables|structures/<name>/source/main returns DDL text ("define table …") — diffable.
114
+ return (await client.getTabl(name, base)).source;
115
+ default:
116
+ throw new AdtApiError(`Version diff is not supported for type "${type}". Supported: ${DIFF_SUPPORTED_TYPES.join(', ')}.`, 400, '');
117
+ }
118
+ }
119
+ //# sourceMappingURL=version-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-diff.js","sourceRoot":"","sources":["../../src/adt/version-diff.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,12 @@ export interface ActionPolicy {
24
24
  opType: OperationTypeCode;
25
25
  featureGate?: FeatureGate;
26
26
  }
27
+ /**
28
+ * The scope each operation class minimally requires — the same opType↔scope consistency the built-in
29
+ * ACTION_POLICY rows satisfy. Used to validate that a plugin's declared `policy.scope` actually
30
+ * covers its declared `policy.opType` (a tool can't claim `read` while declaring a write op).
31
+ */
32
+ export declare const OPTYPE_SCOPE: Record<OperationTypeCode, Scope>;
27
33
  /** The central policy matrix — all tools, all actions/types. */
28
34
  export declare const ACTION_POLICY: Record<string, ActionPolicy>;
29
35
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/authz/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA2KtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMvF;AAED,oFAAoF;AACpF,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAavD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,OAAO,CAG3E"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/authz/policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC;AAE3E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAczD,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA2KtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAMvF;AAED,oFAAoF;AACpF,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAavD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,OAAO,CAG3E"}
@@ -17,6 +17,26 @@
17
17
  * you if you forgot.
18
18
  */
19
19
  import { OperationType } from '../adt/safety.js';
20
+ /**
21
+ * The scope each operation class minimally requires — the same opType↔scope consistency the built-in
22
+ * ACTION_POLICY rows satisfy. Used to validate that a plugin's declared `policy.scope` actually
23
+ * covers its declared `policy.opType` (a tool can't claim `read` while declaring a write op).
24
+ */
25
+ export const OPTYPE_SCOPE = {
26
+ [OperationType.Read]: 'read',
27
+ [OperationType.Search]: 'read',
28
+ [OperationType.Intelligence]: 'read',
29
+ [OperationType.Test]: 'read',
30
+ [OperationType.Lock]: 'read',
31
+ [OperationType.Query]: 'data',
32
+ [OperationType.FreeSQL]: 'sql',
33
+ [OperationType.Create]: 'write',
34
+ [OperationType.Update]: 'write',
35
+ [OperationType.Delete]: 'write',
36
+ [OperationType.Activate]: 'write',
37
+ [OperationType.Workflow]: 'write',
38
+ [OperationType.Transport]: 'transports',
39
+ };
20
40
  /** The central policy matrix — all tools, all actions/types. */
21
41
  export const ACTION_POLICY = {
22
42
  // ── SAPRead ──────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/authz/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/authz/policy.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -21,11 +21,12 @@ import { Command, Option } from 'commander';
21
21
  import { config } from 'dotenv';
22
22
  import { AdtClient } from './adt/client.js';
23
23
  import { buildArgs } from './cli-args.js';
24
- import { handleToolCall } from './handlers/dispatch.js';
24
+ import { getToolRegistry, handleToolCall } from './handlers/dispatch.js';
25
25
  import { getToolDefinitions } from './handlers/tools.js';
26
26
  import { detectFilename, lintAbapSource } from './lint/lint.js';
27
27
  import { parseArgs, resolveConfig } from './server/config.js';
28
28
  import { initLogger } from './server/logger.js';
29
+ import { loadPlugins } from './server/plugin-loader.js';
29
30
  import { buildAdtConfig, VERSION } from './server/server.js';
30
31
  // Load .env without printing dotenv tips to stdout.
31
32
  config({ quiet: true });
@@ -77,9 +78,18 @@ program
77
78
  program
78
79
  .command('tools [tool]')
79
80
  .description('List MCP tools, or show the JSON input schema for a specific tool')
80
- .action((tool) => {
81
+ .action(async (tool) => {
81
82
  const { config: serverConfig } = resolveCliContext();
82
- const defs = getToolDefinitions(serverConfig);
83
+ // FEAT-61: load plugins so `tools` discovery matches `call` invocation (both see Custom_* tools).
84
+ if (serverConfig.plugins?.length) {
85
+ await loadPlugins(serverConfig.plugins, getToolRegistry());
86
+ }
87
+ const pluginDefs = getToolRegistry()
88
+ .list()
89
+ .flatMap((e) => e.source === 'plugin' && e.listing
90
+ ? [{ name: e.name, description: e.listing.description, inputSchema: e.listing.inputSchema }]
91
+ : []);
92
+ const defs = [...getToolDefinitions(serverConfig), ...pluginDefs];
83
93
  if (!tool) {
84
94
  for (const def of defs) {
85
95
  const firstLine = def.description.split('\n')[0].trim();
@@ -300,7 +310,15 @@ function resolveCliContext() {
300
310
  }
301
311
  async function runToolCall(toolName, args, outputMode) {
302
312
  const { client, config: serverConfig } = resolveCliContext();
313
+ // FEAT-61: load extension plugins so `arc1-cli call Custom_*` reaches the same registry the server uses.
314
+ if (serverConfig.plugins?.length) {
315
+ await loadPlugins(serverConfig.plugins, getToolRegistry());
316
+ }
303
317
  const available = new Set(getToolDefinitions(serverConfig).map((t) => t.name));
318
+ for (const e of getToolRegistry().list()) {
319
+ if (e.source === 'plugin')
320
+ available.add(e.name);
321
+ }
304
322
  if (!available.has(toolName)) {
305
323
  console.error(`Unknown tool: ${toolName}`);
306
324
  console.error(`Available tools: ${[...available].join(', ')}`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
8
8
  import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
9
9
  import type { AdtClient } from '../adt/client.js';
10
10
  import type { CachingLayer } from '../cache/caching-layer.js';
11
+ import { ToolRegistry } from '../registry/tool-registry.js';
11
12
  import { type McpRateLimiter } from '../server/mcp-rate-limit.js';
12
13
  import type { ServerConfig } from '../server/types.js';
13
14
  import { type ToolResult } from './shared.js';
@@ -20,6 +21,8 @@ export declare const TOOL_SCOPES: Record<string, string>;
20
21
  * Check if authInfo has the required scope, routing through policy.hasRequiredScope.
21
22
  */
22
23
  export declare function hasRequiredScope(authInfo: AuthInfo, requiredScope: string): boolean;
24
+ /** The process-wide tool registry, lazily seeded with the built-ins. Exported for tests. */
25
+ export declare function getToolRegistry(): ToolRegistry;
23
26
  /**
24
27
  * Handle an MCP tool call.
25
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/handlers/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAgBlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,EAAE,KAAK,cAAc,EAA2B,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBvD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAKlF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAe9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAKnF;AA4XD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,eAAe,CAAC,EAAE,OAAO,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,UAAU,CAAC,CAoRrB;AAID,4DAA4D;AAE5D;;;;;sBAKsB"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/handlers/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAgBlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAgD,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAI1G,OAAO,EAAE,KAAK,cAAc,EAA2B,MAAM,6BAA6B,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBvD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAKlF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAe9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAKnF;AAmYD,4FAA4F;AAC5F,wBAAgB,eAAe,IAAI,YAAY,CAoC9C;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,eAAe,CAAC,EAAE,OAAO,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,UAAU,CAAC,CAqPrB;AAID,4DAA4D;AAE5D;;;;;sBAKsB"}
@@ -19,6 +19,7 @@ import { AdtApiError, AdtNetworkError, AdtSafetyError, classifySapDomainError }
19
19
  * getActionPolicy, hasRequiredScope). This module routes through them.
20
20
  */
21
21
  import { getActionPolicy, hasRequiredScope as hasScopeHelper } from '../authz/policy.js';
22
+ import { ToolRegistry } from '../registry/tool-registry.js';
22
23
  import { sanitizeArgs } from '../server/audit.js';
23
24
  import { generateRequestId, requestContext } from '../server/context.js';
24
25
  import { logger } from '../server/logger.js';
@@ -373,6 +374,44 @@ function classifyError(err) {
373
374
  return err.constructor.name;
374
375
  return 'Unknown';
375
376
  }
377
+ // ─── Tool registry (FEAT-61) ─────────────────────────────────────────
378
+ // The 12 built-ins register through the same ToolRegistry that plugin (Custom_*) tools use. Each
379
+ // built-in `invoke` is a thin adapter over its existing handler — the shared pipeline (rate-limit,
380
+ // scope, deny, Zod, audit) stays in handleToolCall; the registry only owns the inner dispatch that
381
+ // used to be a `switch`. See docs/research/extension-framework-spec.md §4.
382
+ let _toolRegistry;
383
+ /** The process-wide tool registry, lazily seeded with the built-ins. Exported for tests. */
384
+ export function getToolRegistry() {
385
+ if (_toolRegistry)
386
+ return _toolRegistry;
387
+ const r = new ToolRegistry();
388
+ const reg = (name, invoke) => {
389
+ const policy = getActionPolicy(name);
390
+ if (!policy)
391
+ throw new Error(`Built-in tool '${name}' has no ACTION_POLICY entry`);
392
+ r.register({ name, source: 'builtin', policy, invoke });
393
+ };
394
+ reg('SAPRead', (ctx) => handleSAPRead(ctx.client, ctx.args, ctx.cache, ctx.cacheSecurity));
395
+ reg('SAPSearch', (ctx) => handleSAPSearch(ctx.client, ctx.args));
396
+ reg('SAPQuery', (ctx) => handleSAPQuery(ctx.client, ctx.args));
397
+ reg('SAPWrite', (ctx) => handleSAPWrite(ctx.client, ctx.args, ctx.config, ctx.cache, ctx.cacheSecurity));
398
+ reg('SAPActivate', (ctx) => handleSAPActivate(ctx.client, ctx.args, ctx.cache, ctx.cacheSecurity));
399
+ reg('SAPNavigate', (ctx) => handleSAPNavigate(ctx.client, ctx.args));
400
+ reg('SAPLint', (ctx) => handleSAPLint(ctx.client, ctx.args, ctx.config));
401
+ reg('SAPDiagnose', (ctx) => handleSAPDiagnose(ctx.client, ctx.args));
402
+ reg('SAPTransport', (ctx) => handleSAPTransport(ctx.client, ctx.args));
403
+ reg('SAPGit', (ctx) => handleSAPGit(ctx.client, ctx.args, ctx.authInfo));
404
+ reg('SAPContext', (ctx) => handleSAPContext(ctx.client, ctx.args, ctx.cache, ctx.cacheSecurity));
405
+ reg('SAPManage', (ctx) => handleSAPManage(ctx.client, ctx.config, ctx.args, ctx.cache, ctx.isPerUserClient));
406
+ reg('SAP', async (ctx) => {
407
+ const expanded = expandHyperfocusedArgs(ctx.args);
408
+ if ('error' in expanded)
409
+ return errorResult(expanded.error);
410
+ return handleToolCall(ctx.client, ctx.config, expanded.toolName, expanded.expandedArgs, ctx.authInfo, ctx.server, ctx.cache, ctx.isPerUserClient);
411
+ });
412
+ _toolRegistry = r;
413
+ return r;
414
+ }
376
415
  /**
377
416
  * Handle an MCP tool call.
378
417
  *
@@ -387,6 +426,8 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
387
426
  // Build user context for audit logging
388
427
  const user = authInfo?.extra?.userName;
389
428
  const clientId = authInfo?.clientId;
429
+ // For plugin (Custom_*) tools, tag every audit event with the contributing plugin (spec §9).
430
+ const pluginName = getToolRegistry().get(toolName)?.pluginName;
390
431
  // Emit tool_call_start audit event
391
432
  logger.emitAudit({
392
433
  timestamp: new Date().toISOString(),
@@ -396,6 +437,7 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
396
437
  user,
397
438
  clientId,
398
439
  tool: toolName,
440
+ pluginName,
399
441
  args: sanitizeArgs(args),
400
442
  });
401
443
  // ─── Layer 2: per-user MCP tool-call rate limit ─────────────────────
@@ -471,7 +513,9 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
471
513
  actionOrType = `tadir_lookup_${src}`;
472
514
  }
473
515
  }
474
- const policy = getActionPolicy(toolName, actionOrType);
516
+ // Built-in policy from ACTION_POLICY; plugin (Custom_*) policy from the registry (FEAT-61).
517
+ // Kept here (not inside getActionPolicy) so validate-action-policy.ts stays built-ins-only.
518
+ const policy = getActionPolicy(toolName, actionOrType) ?? getToolRegistry().get(toolName)?.policy;
475
519
  if (authInfo && policy) {
476
520
  if (!hasRequiredScope(authInfo, policy.scope)) {
477
521
  logger.emitAudit({
@@ -534,59 +578,31 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
534
578
  // Run within request context so HTTP-level logs get the requestId
535
579
  return requestContext.run({ requestId: reqId, user, tool: toolName }, async () => {
536
580
  try {
537
- let result;
538
581
  const cacheSecurity = buildCacheSecurityContext(authInfo, isPerUserClient);
539
- switch (toolName) {
540
- case 'SAPRead':
541
- result = await handleSAPRead(client, args, cachingLayer, cacheSecurity);
542
- break;
543
- case 'SAPSearch':
544
- result = await handleSAPSearch(client, args);
545
- break;
546
- case 'SAPQuery':
547
- result = await handleSAPQuery(client, args);
548
- break;
549
- case 'SAPWrite':
550
- result = await handleSAPWrite(client, args, config, cachingLayer, cacheSecurity);
551
- break;
552
- case 'SAPActivate':
553
- result = await handleSAPActivate(client, args, cachingLayer, cacheSecurity);
554
- break;
555
- case 'SAPNavigate':
556
- result = await handleSAPNavigate(client, args);
557
- break;
558
- case 'SAPLint':
559
- result = await handleSAPLint(client, args, config);
560
- break;
561
- case 'SAPDiagnose':
562
- result = await handleSAPDiagnose(client, args);
563
- break;
564
- case 'SAPTransport':
565
- result = await handleSAPTransport(client, args);
566
- break;
567
- case 'SAPGit':
568
- result = await handleSAPGit(client, args, authInfo);
569
- break;
570
- case 'SAPContext':
571
- result = await handleSAPContext(client, args, cachingLayer, cacheSecurity);
572
- break;
573
- case 'SAPManage':
574
- result = await handleSAPManage(client, config, args, cachingLayer, isPerUserClient);
575
- break;
576
- case 'SAP': {
577
- // Hyperfocused mode: route to the appropriate handler
578
- const expanded = expandHyperfocusedArgs(args);
579
- if ('error' in expanded) {
580
- result = errorResult(expanded.error);
581
- break;
582
- }
583
- // Delegate to the real handler (recursive call, but with the mapped tool name)
584
- // The concrete tool/action policy is enforced by the recursive call.
585
- result = await handleToolCall(client, config, expanded.toolName, expanded.expandedArgs, authInfo, _server, cachingLayer, isPerUserClient);
586
- break;
587
- }
588
- default:
589
- result = errorResult(`Unknown tool: ${toolName}`);
582
+ // FEAT-61: inner dispatch is owned by the ToolRegistry (built-ins + plugin Custom_* tools).
583
+ // The shared pipeline above (rate-limit, scope, deny, Zod, audit) is unchanged; the registry
584
+ // only replaces the former `switch (toolName)`. See extension-framework-spec.md §4.
585
+ const entry = getToolRegistry().get(toolName);
586
+ let result;
587
+ // Plugin (Custom_*) tools are out of scope for hyperfocused mode (spec §1): hidden from
588
+ // tools/list AND not directly invocable, so a client that knows a Custom_ name can't reach a
589
+ // plugin tool here either. Built-ins (incl. the `SAP` wrapper) dispatch normally.
590
+ if (!entry || (config.toolMode === 'hyperfocused' && entry.source === 'plugin')) {
591
+ result = errorResult(`Unknown tool: ${toolName}`);
592
+ }
593
+ else {
594
+ const dispatchCtx = {
595
+ client,
596
+ config,
597
+ args,
598
+ cache: cachingLayer,
599
+ authInfo,
600
+ isPerUserClient,
601
+ cacheSecurity,
602
+ server: _server,
603
+ requestId: reqId,
604
+ };
605
+ result = await entry.invoke(dispatchCtx);
590
606
  }
591
607
  const durationMs = Date.now() - start;
592
608
  const fullText = result.content.map((c) => c.text).join('');
@@ -600,6 +616,7 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
600
616
  user,
601
617
  clientId,
602
618
  tool: toolName,
619
+ pluginName,
603
620
  durationMs,
604
621
  status: result.isError ? 'error' : 'success',
605
622
  errorMessage: result.isError ? result.content[0]?.text : undefined,
@@ -620,6 +637,7 @@ export async function handleToolCall(client, config, toolName, args, authInfo, _
620
637
  user,
621
638
  clientId,
622
639
  tool: toolName,
640
+ pluginName,
623
641
  durationMs,
624
642
  status: 'error',
625
643
  errorClass: classifyError(err),