arc-1 0.9.3 → 0.9.5

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 (71) hide show
  1. package/README.md +4 -4
  2. package/dist/adt/client.d.ts +35 -1
  3. package/dist/adt/client.d.ts.map +1 -1
  4. package/dist/adt/client.js +194 -1
  5. package/dist/adt/client.js.map +1 -1
  6. package/dist/adt/devtools.d.ts.map +1 -1
  7. package/dist/adt/devtools.js +191 -51
  8. package/dist/adt/devtools.js.map +1 -1
  9. package/dist/adt/diagnostics.d.ts +21 -1
  10. package/dist/adt/diagnostics.d.ts.map +1 -1
  11. package/dist/adt/diagnostics.js +72 -0
  12. package/dist/adt/diagnostics.js.map +1 -1
  13. package/dist/adt/fm-signature.d.ts +77 -0
  14. package/dist/adt/fm-signature.d.ts.map +1 -0
  15. package/dist/adt/fm-signature.js +343 -0
  16. package/dist/adt/fm-signature.js.map +1 -0
  17. package/dist/adt/http.d.ts +9 -1
  18. package/dist/adt/http.d.ts.map +1 -1
  19. package/dist/adt/http.js +8 -7
  20. package/dist/adt/http.js.map +1 -1
  21. package/dist/adt/rap-generate.d.ts +110 -0
  22. package/dist/adt/rap-generate.d.ts.map +1 -0
  23. package/dist/adt/rap-generate.js +262 -0
  24. package/dist/adt/rap-generate.js.map +1 -0
  25. package/dist/adt/rap-handlers.d.ts +55 -0
  26. package/dist/adt/rap-handlers.d.ts.map +1 -1
  27. package/dist/adt/rap-handlers.js +119 -9
  28. package/dist/adt/rap-handlers.js.map +1 -1
  29. package/dist/adt/types.d.ts +81 -1
  30. package/dist/adt/types.d.ts.map +1 -1
  31. package/dist/adt/xml-parser.d.ts.map +1 -1
  32. package/dist/adt/xml-parser.js +14 -0
  33. package/dist/adt/xml-parser.js.map +1 -1
  34. package/dist/authz/policy.d.ts.map +1 -1
  35. package/dist/authz/policy.js +17 -0
  36. package/dist/authz/policy.js.map +1 -1
  37. package/dist/context/method-surgery.d.ts +27 -0
  38. package/dist/context/method-surgery.d.ts.map +1 -1
  39. package/dist/context/method-surgery.js +104 -7
  40. package/dist/context/method-surgery.js.map +1 -1
  41. package/dist/handlers/intent.d.ts.map +1 -1
  42. package/dist/handlers/intent.js +748 -80
  43. package/dist/handlers/intent.js.map +1 -1
  44. package/dist/handlers/schemas.d.ts +144 -28
  45. package/dist/handlers/schemas.d.ts.map +1 -1
  46. package/dist/handlers/schemas.js +182 -11
  47. package/dist/handlers/schemas.js.map +1 -1
  48. package/dist/handlers/tools.d.ts.map +1 -1
  49. package/dist/handlers/tools.js +155 -32
  50. package/dist/handlers/tools.js.map +1 -1
  51. package/dist/server/config.d.ts.map +1 -1
  52. package/dist/server/config.js +25 -8
  53. package/dist/server/config.js.map +1 -1
  54. package/dist/server/http.d.ts.map +1 -1
  55. package/dist/server/http.js +1 -0
  56. package/dist/server/http.js.map +1 -1
  57. package/dist/server/server.d.ts +1 -1
  58. package/dist/server/server.js +1 -1
  59. package/dist/server/stateless-client-store.d.ts +11 -3
  60. package/dist/server/stateless-client-store.d.ts.map +1 -1
  61. package/dist/server/stateless-client-store.js +39 -9
  62. package/dist/server/stateless-client-store.js.map +1 -1
  63. package/dist/server/types.d.ts +19 -5
  64. package/dist/server/types.d.ts.map +1 -1
  65. package/dist/server/types.js +1 -1
  66. package/dist/server/types.js.map +1 -1
  67. package/dist/server/xsuaa.d.ts +10 -1
  68. package/dist/server/xsuaa.d.ts.map +1 -1
  69. package/dist/server/xsuaa.js +38 -5
  70. package/dist/server/xsuaa.js.map +1 -1
  71. package/package.json +3 -3
@@ -133,9 +133,14 @@ ${refs}
133
133
  const phase1DurationMs = Date.now() - phase1Start;
134
134
  const outcome = parseActivationOutcome(resp.body);
135
135
  if (outcome.kind !== 'preaudit' || !preaudit) {
136
- return outcomeToResult(outcome);
136
+ const result = outcomeToResult(outcome);
137
+ return retryBatchActivationIndividuallyAfterEd064(http, safety, objects, result, options);
137
138
  }
138
- return confirmPreaudit(http, outcome.refs, objects.map((o) => o.name).join(', '), phase1DurationMs);
139
+ return confirmPreaudit(http, outcome.refs, objects.map((o) => o.name).join(', '), phase1DurationMs, {
140
+ ed064RetryObjects: objects,
141
+ preaudit: options?.preaudit,
142
+ safety,
143
+ });
139
144
  }
140
145
  catch (err) {
141
146
  return rethrowOrLockHint(err, objects.map((o) => o.name).join(', '));
@@ -146,7 +151,7 @@ ${refs}
146
151
  * Emits an `activation_preaudit_completed` audit event so SIEM/audit consumers can correlate
147
152
  * the two http_request events as one logical handshake instead of greppping for the
148
153
  * preauditRequested=true→false pattern. */
149
- async function confirmPreaudit(http, refs, objectLabel, phase1DurationMs) {
154
+ async function confirmPreaudit(http, refs, objectLabel, phase1DurationMs, options) {
150
155
  logger.debug('Activation preaudit: SAP returned inactive objects, confirming with preauditRequested=false', {
151
156
  count: refs.length,
152
157
  objects: refs.map((r) => ({ name: r.name, uri: r.uri })),
@@ -163,6 +168,9 @@ ${refLines}
163
168
  try {
164
169
  const resp = await http.post('/sap/bc/adt/activation?method=activate&preauditRequested=false', body, 'application/*', { Accept: 'application/xml' });
165
170
  result = outcomeToResult(parseActivationOutcome(resp.body));
171
+ if (options?.ed064RetryObjects) {
172
+ result = await retryBatchActivationIndividuallyAfterEd064(http, options.safety, options.ed064RetryObjects, result, { preaudit: options.preaudit });
173
+ }
166
174
  return result;
167
175
  }
168
176
  finally {
@@ -178,6 +186,59 @@ ${refLines}
178
186
  });
179
187
  }
180
188
  }
189
+ function isEd064Text(text) {
190
+ const normalized = text.toLowerCase();
191
+ return /\bed0?64\b/.test(normalized) || (normalized.includes('no next') && normalized.includes('previous object'));
192
+ }
193
+ function isRecoverableEd064BatchQuirk(result) {
194
+ if (result.success)
195
+ return false;
196
+ const errorTexts = result.details
197
+ .filter((d) => d.severity === 'error')
198
+ .map((d) => d.text)
199
+ .filter(Boolean);
200
+ if (errorTexts.length === 0) {
201
+ const messages = result.messages.filter(Boolean);
202
+ return messages.length > 0 && messages.every(isEd064Text);
203
+ }
204
+ return errorTexts.every(isEd064Text);
205
+ }
206
+ async function retryBatchActivationIndividuallyAfterEd064(http, safety, objects, original, options) {
207
+ if (!isRecoverableEd064BatchQuirk(original) || objects.length === 0)
208
+ return original;
209
+ logger.debug('Batch activation returned ED064 only; retrying original objects individually', {
210
+ count: objects.length,
211
+ objects: objects.map((o) => ({ name: o.name, uri: o.url })),
212
+ });
213
+ const retryResults = [];
214
+ for (const object of objects) {
215
+ const result = await activate(http, safety, object.url, { name: object.name, preaudit: options?.preaudit });
216
+ retryResults.push({ object, result });
217
+ }
218
+ const note = `Batch activation returned ED064 "no next/previous object found"; ` +
219
+ `retried ${objects.length} object${objects.length === 1 ? '' : 's'} individually.`;
220
+ const retryMessages = retryResults.flatMap(({ object, result }) => result.messages.map((message) => `${object.name}: ${message}`));
221
+ const retryDetails = retryResults.flatMap(({ object, result }) => result.details.map((detail) => ({
222
+ ...detail,
223
+ text: `${object.name}: ${detail.text}`,
224
+ })));
225
+ if (retryResults.every(({ result }) => result.success)) {
226
+ return {
227
+ success: true,
228
+ messages: [note, ...retryMessages],
229
+ details: [
230
+ { severity: 'warning', text: note },
231
+ ...original.details.map((detail) => detail.severity === 'error' ? { ...detail, severity: 'warning' } : detail),
232
+ ...retryDetails,
233
+ ],
234
+ };
235
+ }
236
+ return {
237
+ success: false,
238
+ messages: [...original.messages, note, ...retryMessages],
239
+ details: [...original.details, { severity: 'info', text: note }, ...retryDetails],
240
+ };
241
+ }
181
242
  // NW 7.50 lock-conflict-as-auth-error quirk:
182
243
  // The activation handler raises CX_ADT_RES_NO_ACCESS (→ 403) for lock conflicts.
183
244
  // With cookie auth (no Basic Auth header), ICM transforms 403 → 401 "no logon data".
@@ -350,16 +411,22 @@ export async function getFixProposals(http, safety, sourceUri, source, line, col
350
411
  export async function applyFixProposal(http, safety, proposal, sourceUri, source, line, column) {
351
412
  checkOperation(safety, OperationType.Read, 'ApplyFixProposal');
352
413
  const uriWithStart = `${sourceUri}#start=${line},${column}`;
414
+ const userContent = proposal.userContent === undefined
415
+ ? ''
416
+ : `
417
+ <userContent>${escapeXmlText(proposal.userContent)}</userContent>`;
418
+ const affectedObjects = serializeAffectedObjects(proposal.affectedObjects);
419
+ // quickfixes.xsd uses elementFormDefault="unqualified"; only the root and imported adtcore
420
+ // elements are prefixed.
353
421
  const body = `<?xml version="1.0" encoding="UTF-8"?>
354
422
  <quickfixes:proposalRequest xmlns:quickfixes="http://www.sap.com/adt/quickfixes" xmlns:adtcore="http://www.sap.com/adt/core">
355
423
  <input>
356
424
  <content>${escapeXmlText(source)}</content>
357
425
  <adtcore:objectReference adtcore:uri="${escapeXmlAttr(uriWithStart)}"/>
358
- </input>
359
- <userContent>${escapeXmlText(proposal.userContent)}</userContent>
426
+ </input>${affectedObjects}${userContent}
360
427
  </quickfixes:proposalRequest>`;
361
- const resp = await http.post(proposal.uri, body, 'application/*', {
362
- Accept: 'application/*',
428
+ const resp = await http.post(proposal.uri, body, 'application/xml', {
429
+ Accept: 'application/xml',
363
430
  });
364
431
  return parseFixDeltas(resp.body);
365
432
  }
@@ -610,6 +677,75 @@ function readNodeText(node) {
610
677
  .map(([, v]) => readNodeText(v))
611
678
  .join('');
612
679
  }
680
+ function nodeRecords(value) {
681
+ if (!value)
682
+ return [];
683
+ if (Array.isArray(value)) {
684
+ return value.filter((item) => item != null && typeof item === 'object');
685
+ }
686
+ return typeof value === 'object' ? [value] : [];
687
+ }
688
+ function readObjectReference(value) {
689
+ const objectRef = toNodeRecord(value);
690
+ const uri = String(objectRef?.['@_uri'] ?? '');
691
+ if (!uri)
692
+ return undefined;
693
+ const affected = { uri };
694
+ const type = objectRef?.['@_type'];
695
+ const name = objectRef?.['@_name'];
696
+ const description = objectRef?.['@_description'];
697
+ if (type != null)
698
+ affected.type = String(type);
699
+ if (name != null)
700
+ affected.name = String(name);
701
+ if (description != null)
702
+ affected.description = String(description);
703
+ return affected;
704
+ }
705
+ function parseAffectedObjects(value) {
706
+ const affectedNode = toNodeRecord(value);
707
+ if (!affectedNode)
708
+ return undefined;
709
+ const affected = [];
710
+ for (const unit of nodeRecords(affectedNode.unit)) {
711
+ const ref = readObjectReference(unit.objectReference);
712
+ if (!ref)
713
+ continue;
714
+ if (unit.content !== undefined)
715
+ ref.content = readNodeText(unit.content);
716
+ affected.push(ref);
717
+ }
718
+ for (const objectRef of nodeRecords(affectedNode.objectReference)) {
719
+ const ref = readObjectReference(objectRef);
720
+ if (ref)
721
+ affected.push(ref);
722
+ }
723
+ return affected.length > 0 ? affected : undefined;
724
+ }
725
+ function serializeObjectReferenceAttrs(ref) {
726
+ const attrs = [`adtcore:uri="${escapeXmlAttr(ref.uri)}"`];
727
+ if (ref.type !== undefined)
728
+ attrs.push(`adtcore:type="${escapeXmlAttr(ref.type)}"`);
729
+ if (ref.name !== undefined)
730
+ attrs.push(`adtcore:name="${escapeXmlAttr(ref.name)}"`);
731
+ if (ref.description !== undefined)
732
+ attrs.push(`adtcore:description="${escapeXmlAttr(ref.description)}"`);
733
+ return attrs.join(' ');
734
+ }
735
+ function serializeAffectedObjects(affectedObjects) {
736
+ const units = (affectedObjects ?? [])
737
+ .filter((affected) => affected.uri && affected.content !== undefined)
738
+ .map((affected) => ` <unit>
739
+ <content>${escapeXmlText(affected.content ?? '')}</content>
740
+ <adtcore:objectReference ${serializeObjectReferenceAttrs(affected)}/>
741
+ </unit>`);
742
+ if (units.length === 0)
743
+ return '';
744
+ return `
745
+ <affectedObjects>
746
+ ${units.join('\n')}
747
+ </affectedObjects>`;
748
+ }
613
749
  function parseFixProposals(xml) {
614
750
  const parsed = parseXml(xml);
615
751
  const results = findDeepNodes(parsed, 'evaluationResult');
@@ -618,12 +754,14 @@ function parseFixProposals(xml) {
618
754
  return results
619
755
  .map((result) => {
620
756
  const objectRef = toNodeRecord(result.objectReference);
757
+ const affectedObjects = parseAffectedObjects(result.affectedObjects);
621
758
  return {
622
759
  uri: String(objectRef?.['@_uri'] ?? ''),
623
760
  type: String(objectRef?.['@_type'] ?? ''),
624
761
  name: String(objectRef?.['@_name'] ?? ''),
625
762
  description: String(objectRef?.['@_description'] ?? ''),
626
763
  userContent: readNodeText(result.userContent),
764
+ ...(affectedObjects ? { affectedObjects } : {}),
627
765
  };
628
766
  })
629
767
  .filter((proposal) => proposal.uri.length > 0);
@@ -635,7 +773,7 @@ function parseIntOrUndefined(value) {
635
773
  return Number.isNaN(parsed) ? undefined : parsed;
636
774
  }
637
775
  function parsePositionFragment(uri, key) {
638
- const re = key === 'start' ? /#start=(\d+),(\d+)/ : /#end=(\d+),(\d+)/;
776
+ const re = key === 'start' ? /(?:#|[;&])start=(\d+),(\d+)/ : /(?:#|[;&])end=(\d+),(\d+)/;
639
777
  const match = uri.match(re);
640
778
  if (!match?.[1] || !match[2])
641
779
  return undefined;
@@ -644,8 +782,52 @@ function parsePositionFragment(uri, key) {
644
782
  column: Number.parseInt(match[2], 10),
645
783
  };
646
784
  }
785
+ function parseFixDeltaNode(node) {
786
+ const objectRef = toNodeRecord(node.objectReference);
787
+ const startNode = toNodeRecord(node.start ?? node.from ?? node.sourceStart);
788
+ const endNode = toNodeRecord(node.end ?? node.to ?? node.sourceEnd);
789
+ const uri = String(node['@_uri'] ?? objectRef?.['@_uri'] ?? '');
790
+ const startFromUri = parsePositionFragment(uri, 'start');
791
+ const endFromUri = parsePositionFragment(uri, 'end');
792
+ const startLine = parseIntOrUndefined(node['@_startLine']) ??
793
+ parseIntOrUndefined(node['@_startline']) ??
794
+ parseIntOrUndefined(startNode?.['@_line']) ??
795
+ startFromUri?.line ??
796
+ 0;
797
+ const startColumn = parseIntOrUndefined(node['@_startColumn']) ??
798
+ parseIntOrUndefined(node['@_startCol']) ??
799
+ parseIntOrUndefined(node['@_startcolumn']) ??
800
+ parseIntOrUndefined(startNode?.['@_column']) ??
801
+ parseIntOrUndefined(startNode?.['@_col']) ??
802
+ startFromUri?.column ??
803
+ 0;
804
+ const endLine = parseIntOrUndefined(node['@_endLine']) ??
805
+ parseIntOrUndefined(node['@_endline']) ??
806
+ parseIntOrUndefined(endNode?.['@_line']) ??
807
+ endFromUri?.line ??
808
+ startLine;
809
+ const endColumn = parseIntOrUndefined(node['@_endColumn']) ??
810
+ parseIntOrUndefined(node['@_endCol']) ??
811
+ parseIntOrUndefined(node['@_endcolumn']) ??
812
+ parseIntOrUndefined(endNode?.['@_column']) ??
813
+ parseIntOrUndefined(endNode?.['@_col']) ??
814
+ endFromUri?.column ??
815
+ startColumn;
816
+ const content = readNodeText(node.content ?? node.replacement ?? node.newText ?? node.text ?? node['#text']);
817
+ return {
818
+ uri,
819
+ range: {
820
+ start: { line: startLine, column: startColumn },
821
+ end: { line: endLine, column: endColumn },
822
+ },
823
+ content,
824
+ };
825
+ }
647
826
  function parseFixDeltas(xml) {
648
827
  const parsed = parseXml(xml);
828
+ const unitNodes = findDeepNodes(parsed, 'deltas').flatMap((deltas) => nodeRecords(deltas.unit));
829
+ if (unitNodes.length > 0)
830
+ return unitNodes.map(parseFixDeltaNode);
649
831
  const candidateKeys = ['delta', 'edit', 'textEdit', 'replacement', 'replace'];
650
832
  let nodes = [];
651
833
  for (const key of candidateKeys) {
@@ -653,49 +835,7 @@ function parseFixDeltas(xml) {
653
835
  if (nodes.length > 0)
654
836
  break;
655
837
  }
656
- if (nodes.length === 0)
657
- return [];
658
- return nodes.map((node) => {
659
- const objectRef = toNodeRecord(node.objectReference);
660
- const startNode = toNodeRecord(node.start ?? node.from ?? node.sourceStart);
661
- const endNode = toNodeRecord(node.end ?? node.to ?? node.sourceEnd);
662
- const uri = String(node['@_uri'] ?? objectRef?.['@_uri'] ?? '');
663
- const startFromUri = parsePositionFragment(uri, 'start');
664
- const endFromUri = parsePositionFragment(uri, 'end');
665
- const startLine = parseIntOrUndefined(node['@_startLine']) ??
666
- parseIntOrUndefined(node['@_startline']) ??
667
- parseIntOrUndefined(startNode?.['@_line']) ??
668
- startFromUri?.line ??
669
- 0;
670
- const startColumn = parseIntOrUndefined(node['@_startColumn']) ??
671
- parseIntOrUndefined(node['@_startCol']) ??
672
- parseIntOrUndefined(node['@_startcolumn']) ??
673
- parseIntOrUndefined(startNode?.['@_column']) ??
674
- parseIntOrUndefined(startNode?.['@_col']) ??
675
- startFromUri?.column ??
676
- 0;
677
- const endLine = parseIntOrUndefined(node['@_endLine']) ??
678
- parseIntOrUndefined(node['@_endline']) ??
679
- parseIntOrUndefined(endNode?.['@_line']) ??
680
- endFromUri?.line ??
681
- startLine;
682
- const endColumn = parseIntOrUndefined(node['@_endColumn']) ??
683
- parseIntOrUndefined(node['@_endCol']) ??
684
- parseIntOrUndefined(node['@_endcolumn']) ??
685
- parseIntOrUndefined(endNode?.['@_column']) ??
686
- parseIntOrUndefined(endNode?.['@_col']) ??
687
- endFromUri?.column ??
688
- startColumn;
689
- const content = readNodeText(node.content ?? node.replacement ?? node.newText ?? node.text ?? node['#text']);
690
- return {
691
- uri,
692
- range: {
693
- start: { line: startLine, column: startColumn },
694
- end: { line: endLine, column: endColumn },
695
- },
696
- content,
697
- };
698
- });
838
+ return nodes.map(parseFixDeltaNode);
699
839
  }
700
840
  function parseAtcFindings(xml) {
701
841
  const parsed = parseXml(xml);
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/adt/devtools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/adt/devtools.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import type { AdtHttpClient } from './http.js';
11
11
  import { type SafetyConfig } from './safety.js';
12
- import type { DumpDetail, DumpEntry, GatewayErrorDetail, GatewayErrorEntry, SystemMessageEntry, TraceDbAccess, TraceEntry, TraceHitlistEntry, TraceStatement } from './types.js';
12
+ import type { DumpDetail, DumpEntry, GatewayErrorDetail, GatewayErrorEntry, ObjectStateResult, SystemMessageEntry, TraceDbAccess, TraceEntry, TraceHitlistEntry, TraceStatement } from './types.js';
13
13
  export interface ListDumpsOptions {
14
14
  /** Filter by SAP user (uppercase) */
15
15
  user?: string;
@@ -26,6 +26,26 @@ export interface ListSystemMessagesOptions extends FeedQueryOptions {
26
26
  }
27
27
  export interface ListGatewayErrorsOptions extends FeedQueryOptions {
28
28
  }
29
+ export interface ObjectStateSectionInput {
30
+ section: string;
31
+ uri: string;
32
+ /** Treat missing endpoints as unavailable instead of failing the whole diagnostic */
33
+ optional?: boolean;
34
+ }
35
+ export interface GetObjectStateOptions {
36
+ type: string;
37
+ name: string;
38
+ sections: ObjectStateSectionInput[];
39
+ }
40
+ /**
41
+ * Compare active and inactive source versions for one ADT object.
42
+ *
43
+ * ARC-1 uses this as a compact diagnostic for activation mysteries where
44
+ * SAPRead "looks right" but the activator still sees stale or divergent
45
+ * source includes. The result intentionally returns hashes and byte counts,
46
+ * not full source, so the diagnostic stays cheap and safe to paste into chat.
47
+ */
48
+ export declare function getObjectState(http: AdtHttpClient, safety: SafetyConfig, options: GetObjectStateOptions): Promise<ObjectStateResult>;
29
49
  /**
30
50
  * List ABAP short dumps (ST22 equivalent).
31
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/adt/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/adt/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@
7
7
  * All operations are read-only (GET requests).
8
8
  * Follows the same pure-function pattern as devtools.ts.
9
9
  */
10
+ import { createHash } from 'node:crypto';
11
+ import { AdtApiError } from './errors.js';
10
12
  import { checkOperation, OperationType } from './safety.js';
11
13
  import { findDeepNodes, parseXml } from './xml-parser.js';
12
14
  // ─── Short Dumps ────────────────────────────────────────────────────
@@ -14,6 +16,76 @@ const DEFAULT_DUMP_MAX_RESULTS = 50;
14
16
  const DEFAULT_SYSTEM_MESSAGE_MAX_RESULTS = 50;
15
17
  const DEFAULT_GATEWAY_ERROR_MAX_RESULTS = 50;
16
18
  const MAX_RESULTS_CAP = 200;
19
+ /**
20
+ * Compare active and inactive source versions for one ADT object.
21
+ *
22
+ * ARC-1 uses this as a compact diagnostic for activation mysteries where
23
+ * SAPRead "looks right" but the activator still sees stale or divergent
24
+ * source includes. The result intentionally returns hashes and byte counts,
25
+ * not full source, so the diagnostic stays cheap and safe to paste into chat.
26
+ */
27
+ export async function getObjectState(http, safety, options) {
28
+ checkOperation(safety, OperationType.Read, 'GetObjectState');
29
+ const sections = await Promise.all(options.sections.map(async (input) => {
30
+ const [active, inactive] = await Promise.all([
31
+ readObjectStateVersion(http, input.uri, 'active', input.optional),
32
+ readObjectStateVersion(http, input.uri, 'inactive', input.optional),
33
+ ]);
34
+ return {
35
+ section: input.section,
36
+ uri: input.uri,
37
+ active,
38
+ inactive,
39
+ divergent: sourceVersionsDiverge(active, inactive),
40
+ };
41
+ }));
42
+ return {
43
+ type: options.type,
44
+ name: options.name,
45
+ checkedAt: new Date().toISOString(),
46
+ hasInactiveDivergence: sections.some((section) => section.divergent),
47
+ sections,
48
+ };
49
+ }
50
+ async function readObjectStateVersion(http, uri, version, optional = false) {
51
+ const versionedUri = appendQueryParam(uri, 'version', version);
52
+ try {
53
+ const resp = await http.get(versionedUri, {
54
+ Accept: 'text/plain, */*;q=0.8',
55
+ });
56
+ return {
57
+ available: true,
58
+ statusCode: resp.statusCode,
59
+ etag: resp.headers.etag,
60
+ byteLength: Buffer.byteLength(resp.body, 'utf8'),
61
+ sha256: createHash('sha256').update(resp.body, 'utf8').digest('hex'),
62
+ };
63
+ }
64
+ catch (err) {
65
+ if (optional && err instanceof AdtApiError && err.statusCode === 404) {
66
+ return {
67
+ available: false,
68
+ statusCode: 404,
69
+ };
70
+ }
71
+ throw err;
72
+ }
73
+ }
74
+ function sourceVersionsDiverge(active, inactive) {
75
+ if (active.available !== inactive.available)
76
+ return true;
77
+ if (!active.available || !inactive.available)
78
+ return false;
79
+ return active.sha256 !== inactive.sha256;
80
+ }
81
+ function appendQueryParam(path, key, value) {
82
+ const [baseAndQuery, fragment] = path.split('#', 2);
83
+ const [base, query = ''] = (baseAndQuery ?? path).split('?', 2);
84
+ const params = new URLSearchParams(query);
85
+ params.set(key, value);
86
+ const queryString = params.toString();
87
+ return `${base}${queryString ? `?${queryString}` : ''}${fragment ? `#${fragment}` : ''}`;
88
+ }
17
89
  /**
18
90
  * List ABAP short dumps (ST22 equivalent).
19
91
  *