arc-1 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -199
- package/dist/adt/btp.d.ts +2 -2
- package/dist/adt/btp.d.ts.map +1 -1
- package/dist/adt/btp.js +1 -1
- package/dist/adt/btp.js.map +1 -1
- package/dist/adt/client.d.ts +13 -1
- package/dist/adt/client.d.ts.map +1 -1
- package/dist/adt/client.js +39 -1
- package/dist/adt/client.js.map +1 -1
- package/dist/adt/codeintel.d.ts +41 -0
- package/dist/adt/codeintel.d.ts.map +1 -1
- package/dist/adt/codeintel.js +99 -27
- package/dist/adt/codeintel.js.map +1 -1
- package/dist/adt/config.d.ts.map +1 -1
- package/dist/adt/config.js.map +1 -1
- package/dist/adt/cookies.d.ts.map +1 -1
- package/dist/adt/cookies.js.map +1 -1
- package/dist/adt/crud.d.ts.map +1 -1
- package/dist/adt/crud.js.map +1 -1
- package/dist/adt/devtools.d.ts +14 -0
- package/dist/adt/devtools.d.ts.map +1 -1
- package/dist/adt/devtools.js +28 -3
- package/dist/adt/devtools.js.map +1 -1
- package/dist/adt/diagnostics.d.ts +101 -0
- package/dist/adt/diagnostics.d.ts.map +1 -0
- package/dist/adt/diagnostics.js +349 -0
- package/dist/adt/diagnostics.js.map +1 -0
- package/dist/adt/errors.d.ts.map +1 -1
- package/dist/adt/errors.js.map +1 -1
- package/dist/adt/features.d.ts.map +1 -1
- package/dist/adt/features.js.map +1 -1
- package/dist/adt/http.d.ts +26 -7
- package/dist/adt/http.d.ts.map +1 -1
- package/dist/adt/http.js +140 -86
- package/dist/adt/http.js.map +1 -1
- package/dist/adt/oauth.d.ts.map +1 -1
- package/dist/adt/oauth.js.map +1 -1
- package/dist/adt/safety.d.ts.map +1 -1
- package/dist/adt/safety.js.map +1 -1
- package/dist/adt/transport.d.ts.map +1 -1
- package/dist/adt/transport.js.map +1 -1
- package/dist/adt/types.d.ts +139 -0
- package/dist/adt/types.d.ts.map +1 -1
- package/dist/adt/types.js.map +1 -1
- package/dist/adt/xml-parser.d.ts +37 -1
- package/dist/adt/xml-parser.d.ts.map +1 -1
- package/dist/adt/xml-parser.js +147 -0
- package/dist/adt/xml-parser.js.map +1 -1
- package/dist/cache/cache.d.ts +47 -4
- package/dist/cache/cache.d.ts.map +1 -1
- package/dist/cache/cache.js +16 -5
- package/dist/cache/cache.js.map +1 -1
- package/dist/cache/caching-layer.d.ts +82 -0
- package/dist/cache/caching-layer.d.ts.map +1 -0
- package/dist/cache/caching-layer.js +134 -0
- package/dist/cache/caching-layer.js.map +1 -0
- package/dist/cache/memory.d.ts +14 -2
- package/dist/cache/memory.d.ts.map +1 -1
- package/dist/cache/memory.js +72 -5
- package/dist/cache/memory.js.map +1 -1
- package/dist/cache/sqlite.d.ts +10 -1
- package/dist/cache/sqlite.d.ts.map +1 -1
- package/dist/cache/sqlite.js +90 -2
- package/dist/cache/sqlite.js.map +1 -1
- package/dist/cache/warmup.d.ts +41 -0
- package/dist/cache/warmup.d.ts.map +1 -0
- package/dist/cache/warmup.js +286 -0
- package/dist/cache/warmup.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/context/cds-deps.d.ts +35 -0
- package/dist/context/cds-deps.d.ts.map +1 -0
- package/dist/context/cds-deps.js +201 -0
- package/dist/context/cds-deps.js.map +1 -0
- package/dist/context/compressor.d.ts +20 -1
- package/dist/context/compressor.d.ts.map +1 -1
- package/dist/context/compressor.js +178 -17
- package/dist/context/compressor.js.map +1 -1
- package/dist/context/contract.d.ts.map +1 -1
- package/dist/context/contract.js.map +1 -1
- package/dist/context/deps.d.ts.map +1 -1
- package/dist/context/deps.js.map +1 -1
- package/dist/context/method-surgery.d.ts +91 -0
- package/dist/context/method-surgery.d.ts.map +1 -0
- package/dist/context/method-surgery.js +441 -0
- package/dist/context/method-surgery.js.map +1 -0
- package/dist/context/types.d.ts +7 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/types.js.map +1 -1
- package/dist/handlers/hyperfocused.d.ts +35 -0
- package/dist/handlers/hyperfocused.d.ts.map +1 -0
- package/dist/handlers/hyperfocused.js +104 -0
- package/dist/handlers/hyperfocused.js.map +1 -0
- package/dist/handlers/intent.d.ts +2 -1
- package/dist/handlers/intent.d.ts.map +1 -1
- package/dist/handlers/intent.js +440 -43
- package/dist/handlers/intent.js.map +1 -1
- package/dist/handlers/tools.d.ts.map +1 -1
- package/dist/handlers/tools.js +130 -39
- package/dist/handlers/tools.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lint/config-builder.d.ts +60 -0
- package/dist/lint/config-builder.d.ts.map +1 -0
- package/dist/lint/config-builder.js +187 -0
- package/dist/lint/config-builder.js.map +1 -0
- package/dist/lint/lint.d.ts +43 -0
- package/dist/lint/lint.d.ts.map +1 -1
- package/dist/lint/lint.js +77 -2
- package/dist/lint/lint.js.map +1 -1
- package/dist/lint/presets/cloud.d.ts +16 -0
- package/dist/lint/presets/cloud.d.ts.map +1 -0
- package/dist/lint/presets/cloud.js +111 -0
- package/dist/lint/presets/cloud.js.map +1 -0
- package/dist/lint/presets/onprem.d.ts +17 -0
- package/dist/lint/presets/onprem.d.ts.map +1 -0
- package/dist/lint/presets/onprem.js +82 -0
- package/dist/lint/presets/onprem.js.map +1 -0
- package/dist/server/audit.d.ts +1 -0
- package/dist/server/audit.d.ts.map +1 -1
- package/dist/server/audit.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +12 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/elicit.d.ts.map +1 -1
- package/dist/server/elicit.js.map +1 -1
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +4 -1
- package/dist/server/http.js.map +1 -1
- package/dist/server/logger.d.ts.map +1 -1
- package/dist/server/logger.js.map +1 -1
- package/dist/server/server.d.ts +3 -2
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +90 -5
- package/dist/server/server.js.map +1 -1
- package/dist/server/sinks/btp-auditlog.d.ts.map +1 -1
- package/dist/server/sinks/btp-auditlog.js.map +1 -1
- package/dist/server/sinks/file.d.ts.map +1 -1
- package/dist/server/sinks/file.js.map +1 -1
- package/dist/server/sinks/stderr.d.ts.map +1 -1
- package/dist/server/sinks/stderr.js.map +1 -1
- package/dist/server/sinks/types.d.ts.map +1 -1
- package/dist/server/sinks/types.js.map +1 -1
- package/dist/server/types.d.ts +14 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/types.js +6 -0
- package/dist/server/types.js.map +1 -1
- package/dist/server/xsuaa.d.ts.map +1 -1
- package/dist/server/xsuaa.js.map +1 -1
- package/package.json +13 -6
package/dist/adt/types.d.ts
CHANGED
|
@@ -102,4 +102,143 @@ export interface TableField {
|
|
|
102
102
|
description: string;
|
|
103
103
|
isKey: boolean;
|
|
104
104
|
}
|
|
105
|
+
/** Short dump entry from /sap/bc/adt/runtime/dumps listing */
|
|
106
|
+
export interface DumpEntry {
|
|
107
|
+
/** Encoded dump ID (URL path segment) */
|
|
108
|
+
id: string;
|
|
109
|
+
/** ISO 8601 timestamp when the dump occurred */
|
|
110
|
+
timestamp: string;
|
|
111
|
+
/** SAP user who triggered the dump */
|
|
112
|
+
user: string;
|
|
113
|
+
/** Runtime error type (e.g., STRING_OFFSET_TOO_LARGE) */
|
|
114
|
+
error: string;
|
|
115
|
+
/** Terminated ABAP program name */
|
|
116
|
+
program: string;
|
|
117
|
+
}
|
|
118
|
+
/** Chapter within a dump detail */
|
|
119
|
+
export interface DumpChapter {
|
|
120
|
+
name: string;
|
|
121
|
+
title: string;
|
|
122
|
+
category: string;
|
|
123
|
+
}
|
|
124
|
+
/** Full dump detail from /sap/bc/adt/runtime/dump/{id} */
|
|
125
|
+
export interface DumpDetail {
|
|
126
|
+
/** Encoded dump ID */
|
|
127
|
+
id: string;
|
|
128
|
+
/** Runtime error type */
|
|
129
|
+
error: string;
|
|
130
|
+
/** Exception class (e.g., CX_SY_RANGE_OUT_OF_BOUNDS) */
|
|
131
|
+
exception: string;
|
|
132
|
+
/** Terminated ABAP program */
|
|
133
|
+
program: string;
|
|
134
|
+
/** SAP user */
|
|
135
|
+
user: string;
|
|
136
|
+
/** ISO 8601 timestamp */
|
|
137
|
+
timestamp: string;
|
|
138
|
+
/** Dump chapters (table of contents) */
|
|
139
|
+
chapters: DumpChapter[];
|
|
140
|
+
/** Full formatted plain text dump content */
|
|
141
|
+
formattedText: string;
|
|
142
|
+
/** ADT URI to the termination source location */
|
|
143
|
+
terminationUri?: string;
|
|
144
|
+
}
|
|
145
|
+
/** ABAP profiler trace entry from /sap/bc/adt/runtime/traces/abaptraces */
|
|
146
|
+
export interface TraceEntry {
|
|
147
|
+
/** Trace ID (URL path segment) */
|
|
148
|
+
id: string;
|
|
149
|
+
/** Trace title / description */
|
|
150
|
+
title: string;
|
|
151
|
+
/** ISO 8601 timestamp */
|
|
152
|
+
timestamp: string;
|
|
153
|
+
/** Trace state (e.g., completed) */
|
|
154
|
+
state?: string;
|
|
155
|
+
/** Object name being traced */
|
|
156
|
+
objectName?: string;
|
|
157
|
+
/** Total runtime in microseconds */
|
|
158
|
+
runtime?: number;
|
|
159
|
+
}
|
|
160
|
+
/** Hot spot entry from trace hitlist analysis */
|
|
161
|
+
export interface TraceHitlistEntry {
|
|
162
|
+
/** Calling program / procedure */
|
|
163
|
+
callingProgram: string;
|
|
164
|
+
/** Called program / procedure */
|
|
165
|
+
calledProgram: string;
|
|
166
|
+
/** Number of times called */
|
|
167
|
+
hitCount: number;
|
|
168
|
+
/** Gross execution time (microseconds) */
|
|
169
|
+
grossTime: number;
|
|
170
|
+
/** Net execution time (microseconds) */
|
|
171
|
+
netTime: number;
|
|
172
|
+
}
|
|
173
|
+
/** Call tree entry from trace statements analysis */
|
|
174
|
+
export interface TraceStatement {
|
|
175
|
+
/** Nesting level in the call tree */
|
|
176
|
+
callLevel: number;
|
|
177
|
+
/** Number of executions */
|
|
178
|
+
hitCount: number;
|
|
179
|
+
/** Whether this is a procedural unit (method/form/function) */
|
|
180
|
+
isProceduralUnit: boolean;
|
|
181
|
+
/** Gross execution time (microseconds) */
|
|
182
|
+
grossTime: number;
|
|
183
|
+
/** Description / program name */
|
|
184
|
+
description: string;
|
|
185
|
+
}
|
|
186
|
+
/** Database access entry from trace analysis */
|
|
187
|
+
export interface TraceDbAccess {
|
|
188
|
+
/** Table name accessed */
|
|
189
|
+
tableName: string;
|
|
190
|
+
/** SQL statement type (e.g., SELECT, INSERT) */
|
|
191
|
+
statement: string;
|
|
192
|
+
/** Access type (OpenSQL, NativeSQL) */
|
|
193
|
+
type: string;
|
|
194
|
+
/** Total number of accesses */
|
|
195
|
+
totalCount: number;
|
|
196
|
+
/** Number of buffered accesses */
|
|
197
|
+
bufferedCount: number;
|
|
198
|
+
/** Total access time (microseconds) */
|
|
199
|
+
accessTime: number;
|
|
200
|
+
}
|
|
201
|
+
/** Domain metadata from /sap/bc/adt/ddic/domains/{name} */
|
|
202
|
+
export interface DomainInfo {
|
|
203
|
+
name: string;
|
|
204
|
+
description: string;
|
|
205
|
+
dataType: string;
|
|
206
|
+
length: string;
|
|
207
|
+
decimals: string;
|
|
208
|
+
outputLength: string;
|
|
209
|
+
conversionExit: string;
|
|
210
|
+
signExists: boolean;
|
|
211
|
+
lowercase: boolean;
|
|
212
|
+
valueTable: string;
|
|
213
|
+
fixedValues: Array<{
|
|
214
|
+
low: string;
|
|
215
|
+
high: string;
|
|
216
|
+
description: string;
|
|
217
|
+
}>;
|
|
218
|
+
package: string;
|
|
219
|
+
}
|
|
220
|
+
/** Data element metadata from /sap/bc/adt/ddic/dataelements/{name} */
|
|
221
|
+
export interface DataElementInfo {
|
|
222
|
+
name: string;
|
|
223
|
+
description: string;
|
|
224
|
+
typeKind: string;
|
|
225
|
+
typeName: string;
|
|
226
|
+
dataType: string;
|
|
227
|
+
length: string;
|
|
228
|
+
decimals: string;
|
|
229
|
+
shortLabel: string;
|
|
230
|
+
mediumLabel: string;
|
|
231
|
+
longLabel: string;
|
|
232
|
+
headingLabel: string;
|
|
233
|
+
searchHelp: string;
|
|
234
|
+
defaultComponentName: string;
|
|
235
|
+
package: string;
|
|
236
|
+
}
|
|
237
|
+
/** Transaction code metadata */
|
|
238
|
+
export interface TransactionInfo {
|
|
239
|
+
code: string;
|
|
240
|
+
description: string;
|
|
241
|
+
program: string;
|
|
242
|
+
package: string;
|
|
243
|
+
}
|
|
105
244
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/adt/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adt/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,EAAE,aAAa,CAAC;IACnB,SAAS,EAAE,aAAa,CAAC;IACzB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uBAAuB;AACvB,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,0BAA0B;AAC1B,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAwB;AACxB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gCAAgC;AAChC,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,sBAAsB;AACtB,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAID,8DAA8D;AAC9D,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
package/dist/adt/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adt/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
package/dist/adt/xml-parser.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* This decouples the XML format from our internal types, making it
|
|
14
14
|
* easier to handle SAP's inconsistent XML across different endpoints.
|
|
15
15
|
*/
|
|
16
|
-
import type { AdtSearchResult, SourceSearchResult } from './types.js';
|
|
16
|
+
import type { AdtSearchResult, DataElementInfo, DomainInfo, SourceSearchResult, TransactionInfo } from './types.js';
|
|
17
17
|
/** Parse raw XML string to a JS object */
|
|
18
18
|
export declare function parseXml(xml: string): Record<string, unknown>;
|
|
19
19
|
/**
|
|
@@ -111,6 +111,42 @@ export declare function parseSystemInfo(xml: string, username: string): {
|
|
|
111
111
|
* containing match details, or an Atom-like feed. We handle both formats.
|
|
112
112
|
*/
|
|
113
113
|
export declare function parseSourceSearchResults(xml: string): SourceSearchResult[];
|
|
114
|
+
/**
|
|
115
|
+
* Parse domain metadata XML from /sap/bc/adt/ddic/domains/{name}.
|
|
116
|
+
*
|
|
117
|
+
* Domains don't have /source/main — they return structured XML with
|
|
118
|
+
* type information, output characteristics, value table, and fixed values.
|
|
119
|
+
*
|
|
120
|
+
* Expected root: <doma:domain> with nested <doma:content>.
|
|
121
|
+
*/
|
|
122
|
+
export declare function parseDomainMetadata(xml: string): DomainInfo;
|
|
123
|
+
/**
|
|
124
|
+
* Parse data element metadata XML from /sap/bc/adt/ddic/dataelements/{name}.
|
|
125
|
+
*
|
|
126
|
+
* Data elements don't have /source/main — they return structured XML with
|
|
127
|
+
* domain/type reference, field labels, search help, and other metadata.
|
|
128
|
+
*
|
|
129
|
+
* Expected root: <blue:wbobj> with nested <dtel:dataElement>.
|
|
130
|
+
*/
|
|
131
|
+
export declare function parseDataElementMetadata(xml: string): DataElementInfo;
|
|
132
|
+
/**
|
|
133
|
+
* Parse transaction metadata XML from /sap/bc/adt/vit/wb/object_type/trant/object_name/{name}.
|
|
134
|
+
*
|
|
135
|
+
* Returns basic transaction info: code, description, package.
|
|
136
|
+
* The program name is not in this endpoint — use SQL (TSTC) for full details.
|
|
137
|
+
*
|
|
138
|
+
* Expected root: <adtcore:mainObject>.
|
|
139
|
+
*/
|
|
140
|
+
export declare function parseTransactionMetadata(xml: string): TransactionInfo;
|
|
141
|
+
/**
|
|
142
|
+
* Parse service binding metadata XML into a human-readable summary.
|
|
143
|
+
*
|
|
144
|
+
* SRVB objects don't have editable source — they're structured XML with binding configuration.
|
|
145
|
+
* We extract the key fields into a JSON summary:
|
|
146
|
+
* - name, description, OData version (V2/V4), binding type (UI/Web API)
|
|
147
|
+
* - service definition reference, publish status, contract
|
|
148
|
+
*/
|
|
149
|
+
export declare function parseServiceBinding(xml: string): string;
|
|
114
150
|
/** Recursively find an array by key name, anywhere in the object tree */
|
|
115
151
|
export declare function findDeepNodes(obj: unknown, key: string): Array<Record<string, unknown>>;
|
|
116
152
|
//# sourceMappingURL=xml-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/adt/xml-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiCpH,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAUjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GACV,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAczE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAAE,CA6CrG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBnH;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAQrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CA0BvE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAkD1E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAyC3D;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CA0BrE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAYrE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAuCvD;AAcD,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoBvF"}
|
package/dist/adt/xml-parser.js
CHANGED
|
@@ -36,6 +36,9 @@ const parser = new XMLParser({
|
|
|
36
36
|
'component',
|
|
37
37
|
'objectStructureElement',
|
|
38
38
|
'task',
|
|
39
|
+
'objectType',
|
|
40
|
+
'proposal',
|
|
41
|
+
'referencedObject',
|
|
39
42
|
].includes(name);
|
|
40
43
|
},
|
|
41
44
|
parseAttributeValue: false, // Keep attributes as strings
|
|
@@ -272,6 +275,150 @@ export function parseSourceSearchResults(xml) {
|
|
|
272
275
|
}
|
|
273
276
|
return results;
|
|
274
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Parse domain metadata XML from /sap/bc/adt/ddic/domains/{name}.
|
|
280
|
+
*
|
|
281
|
+
* Domains don't have /source/main — they return structured XML with
|
|
282
|
+
* type information, output characteristics, value table, and fixed values.
|
|
283
|
+
*
|
|
284
|
+
* Expected root: <doma:domain> with nested <doma:content>.
|
|
285
|
+
*/
|
|
286
|
+
export function parseDomainMetadata(xml) {
|
|
287
|
+
const parsed = parseXml(xml);
|
|
288
|
+
// After NS strip: doma:domain → domain
|
|
289
|
+
const domain = (parsed.domain ?? {});
|
|
290
|
+
const content = (domain.content ?? {});
|
|
291
|
+
const typeInfo = (content.typeInformation ?? {});
|
|
292
|
+
const outputInfo = (content.outputInformation ?? {});
|
|
293
|
+
const valueInfo = (content.valueInformation ?? {});
|
|
294
|
+
const pkgRef = (domain.packageRef ?? {});
|
|
295
|
+
// Parse fixed values if present
|
|
296
|
+
const fixedValues = [];
|
|
297
|
+
const fvContainer = valueInfo.fixValues ?? valueInfo.fixedValues;
|
|
298
|
+
if (fvContainer && typeof fvContainer === 'object') {
|
|
299
|
+
const fvNodes = findDeepNodes(fvContainer, 'fixValue');
|
|
300
|
+
for (const fv of fvNodes) {
|
|
301
|
+
fixedValues.push({
|
|
302
|
+
low: String(fv.low ?? fv['@_low'] ?? ''),
|
|
303
|
+
high: String(fv.high ?? fv['@_high'] ?? ''),
|
|
304
|
+
description: String(fv.description ?? fv['@_description'] ?? ''),
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Parse value table reference
|
|
309
|
+
const valueTableRef = (valueInfo.valueTableRef ?? {});
|
|
310
|
+
return {
|
|
311
|
+
name: String(domain['@_name'] ?? ''),
|
|
312
|
+
description: String(domain['@_description'] ?? ''),
|
|
313
|
+
dataType: String(typeInfo.datatype ?? ''),
|
|
314
|
+
length: String(typeInfo.length ?? ''),
|
|
315
|
+
decimals: String(typeInfo.decimals ?? ''),
|
|
316
|
+
outputLength: String(outputInfo.length ?? ''),
|
|
317
|
+
conversionExit: String(outputInfo.conversionExit ?? ''),
|
|
318
|
+
signExists: String(outputInfo.signExists ?? '') === 'true',
|
|
319
|
+
lowercase: String(outputInfo.lowercase ?? '') === 'true',
|
|
320
|
+
valueTable: String(valueTableRef['@_name'] ?? ''),
|
|
321
|
+
fixedValues,
|
|
322
|
+
package: String(pkgRef['@_name'] ?? ''),
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Parse data element metadata XML from /sap/bc/adt/ddic/dataelements/{name}.
|
|
327
|
+
*
|
|
328
|
+
* Data elements don't have /source/main — they return structured XML with
|
|
329
|
+
* domain/type reference, field labels, search help, and other metadata.
|
|
330
|
+
*
|
|
331
|
+
* Expected root: <blue:wbobj> with nested <dtel:dataElement>.
|
|
332
|
+
*/
|
|
333
|
+
export function parseDataElementMetadata(xml) {
|
|
334
|
+
const parsed = parseXml(xml);
|
|
335
|
+
// After NS strip: blue:wbobj → wbobj
|
|
336
|
+
const wbobj = (parsed.wbobj ?? {});
|
|
337
|
+
const pkgRef = (wbobj.packageRef ?? {});
|
|
338
|
+
// Find the dataElement node — after NS strip: dtel:dataElement → dataElement
|
|
339
|
+
const dtelNodes = findDeepNodes(parsed, 'dataElement');
|
|
340
|
+
const dtel = dtelNodes[0] ?? {};
|
|
341
|
+
return {
|
|
342
|
+
name: String(wbobj['@_name'] ?? ''),
|
|
343
|
+
description: String(wbobj['@_description'] ?? ''),
|
|
344
|
+
typeKind: String(dtel.typeKind ?? ''),
|
|
345
|
+
typeName: String(dtel.typeName ?? ''),
|
|
346
|
+
dataType: String(dtel.dataType ?? ''),
|
|
347
|
+
length: String(dtel.dataTypeLength ?? ''),
|
|
348
|
+
decimals: String(dtel.dataTypeDecimals ?? ''),
|
|
349
|
+
shortLabel: String(dtel.shortFieldLabel ?? ''),
|
|
350
|
+
mediumLabel: String(dtel.mediumFieldLabel ?? ''),
|
|
351
|
+
longLabel: String(dtel.longFieldLabel ?? ''),
|
|
352
|
+
headingLabel: String(dtel.headingFieldLabel ?? ''),
|
|
353
|
+
searchHelp: String(dtel.searchHelp ?? ''),
|
|
354
|
+
defaultComponentName: String(dtel.defaultComponentName ?? ''),
|
|
355
|
+
package: String(pkgRef['@_name'] ?? ''),
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Parse transaction metadata XML from /sap/bc/adt/vit/wb/object_type/trant/object_name/{name}.
|
|
360
|
+
*
|
|
361
|
+
* Returns basic transaction info: code, description, package.
|
|
362
|
+
* The program name is not in this endpoint — use SQL (TSTC) for full details.
|
|
363
|
+
*
|
|
364
|
+
* Expected root: <adtcore:mainObject>.
|
|
365
|
+
*/
|
|
366
|
+
export function parseTransactionMetadata(xml) {
|
|
367
|
+
const parsed = parseXml(xml);
|
|
368
|
+
// After NS strip: adtcore:mainObject → mainObject
|
|
369
|
+
const obj = (parsed.mainObject ?? {});
|
|
370
|
+
const pkgRef = (obj.packageRef ?? {});
|
|
371
|
+
return {
|
|
372
|
+
code: String(obj['@_name'] ?? ''),
|
|
373
|
+
description: String(obj['@_description'] ?? ''),
|
|
374
|
+
program: '', // Not available from this endpoint — populated via SQL in handler
|
|
375
|
+
package: String(pkgRef['@_name'] ?? ''),
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Parse service binding metadata XML into a human-readable summary.
|
|
380
|
+
*
|
|
381
|
+
* SRVB objects don't have editable source — they're structured XML with binding configuration.
|
|
382
|
+
* We extract the key fields into a JSON summary:
|
|
383
|
+
* - name, description, OData version (V2/V4), binding type (UI/Web API)
|
|
384
|
+
* - service definition reference, publish status, contract
|
|
385
|
+
*/
|
|
386
|
+
export function parseServiceBinding(xml) {
|
|
387
|
+
const parsed = parseXml(xml);
|
|
388
|
+
const sb = (parsed.serviceBinding ?? {});
|
|
389
|
+
// Extract binding info
|
|
390
|
+
const binding = (sb.binding ?? {});
|
|
391
|
+
const services = sb.services;
|
|
392
|
+
const content = (services?.content ?? {});
|
|
393
|
+
const srvDef = (content?.serviceDefinition ?? {});
|
|
394
|
+
const pkg = (sb.packageRef ?? {});
|
|
395
|
+
const result = {
|
|
396
|
+
name: String(sb['@_name'] ?? ''),
|
|
397
|
+
description: String(sb['@_description'] ?? ''),
|
|
398
|
+
type: String(sb['@_type'] ?? ''),
|
|
399
|
+
odataVersion: String(binding['@_version'] ?? ''),
|
|
400
|
+
bindingType: String(binding['@_type'] ?? ''),
|
|
401
|
+
bindingCategory: binding['@_category'] === '0'
|
|
402
|
+
? 'UI'
|
|
403
|
+
: binding['@_category'] === '1'
|
|
404
|
+
? 'Web API'
|
|
405
|
+
: String(binding['@_category'] ?? ''),
|
|
406
|
+
published: sb['@_published'] === 'true',
|
|
407
|
+
bindingCreated: sb['@_bindingCreated'] === 'true',
|
|
408
|
+
contract: String(sb['@_contract'] ?? ''),
|
|
409
|
+
releaseSupported: sb['@_releaseSupported'] === 'true',
|
|
410
|
+
serviceDefinition: String(srvDef['@_name'] ?? ''),
|
|
411
|
+
serviceName: String(services?.['@_name'] ?? ''),
|
|
412
|
+
serviceVersion: String(content?.['@_version'] ?? ''),
|
|
413
|
+
releaseState: String(content?.['@_releaseState'] ?? ''),
|
|
414
|
+
package: String(pkg['@_name'] ?? ''),
|
|
415
|
+
implementation: String(binding.implementation?.['@_name'] ?? ''),
|
|
416
|
+
language: String(sb['@_language'] ?? ''),
|
|
417
|
+
changedAt: String(sb['@_changedAt'] ?? ''),
|
|
418
|
+
changedBy: String(sb['@_changedBy'] ?? ''),
|
|
419
|
+
};
|
|
420
|
+
return JSON.stringify(result, null, 2);
|
|
421
|
+
}
|
|
275
422
|
// ─── Helpers ────────────────────────────────────────────────────────
|
|
276
423
|
/** Safely get a nested array from parsed XML */
|
|
277
424
|
function getNestedArray(obj, parent, child) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../ts-src/adt/xml-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../src/adt/xml-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/cache/cache.d.ts
CHANGED
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
* Cache interface and types for ARC-1.
|
|
3
3
|
*
|
|
4
4
|
* Two implementations:
|
|
5
|
-
* - MemoryCache: fast, ephemeral (default)
|
|
6
|
-
* - SqliteCache: persistent, cross-session (
|
|
5
|
+
* - MemoryCache: fast, ephemeral (default for stdio)
|
|
6
|
+
* - SqliteCache: persistent, cross-session (default for http-streamable / Docker)
|
|
7
7
|
*
|
|
8
|
-
* Cache stores
|
|
9
|
-
* - Nodes: ABAP objects (class, program, table, etc.)
|
|
8
|
+
* Cache stores five types of data:
|
|
9
|
+
* - Nodes: ABAP objects (class, program, table, etc.) with metadata
|
|
10
10
|
* - Edges: Dependencies between objects (calls, uses, implements)
|
|
11
11
|
* - APIs: Released API objects (for clean core checks)
|
|
12
|
+
* - Sources: Raw source code keyed by (type, name) with content hash
|
|
13
|
+
* - Contracts: Compressed dependency contracts keyed by source hash
|
|
12
14
|
*/
|
|
13
15
|
/** Cached ABAP object */
|
|
14
16
|
export interface CacheNode {
|
|
@@ -43,6 +45,34 @@ export interface CacheStats {
|
|
|
43
45
|
nodeCount: number;
|
|
44
46
|
edgeCount: number;
|
|
45
47
|
apiCount: number;
|
|
48
|
+
sourceCount: number;
|
|
49
|
+
contractCount: number;
|
|
50
|
+
}
|
|
51
|
+
/** Cached source code entry */
|
|
52
|
+
export interface CachedSource {
|
|
53
|
+
objectType: string;
|
|
54
|
+
objectName: string;
|
|
55
|
+
source: string;
|
|
56
|
+
hash: string;
|
|
57
|
+
cachedAt: string;
|
|
58
|
+
}
|
|
59
|
+
/** Serializable contract for cache storage (matches context/types.ts Contract) */
|
|
60
|
+
export interface CachedContract {
|
|
61
|
+
name: string;
|
|
62
|
+
type: string;
|
|
63
|
+
methodCount: number;
|
|
64
|
+
source: string;
|
|
65
|
+
fullSource?: string;
|
|
66
|
+
success: boolean;
|
|
67
|
+
error?: string;
|
|
68
|
+
}
|
|
69
|
+
/** Cached dependency resolution result */
|
|
70
|
+
export interface CachedDepGraph {
|
|
71
|
+
sourceHash: string;
|
|
72
|
+
objectName: string;
|
|
73
|
+
objectType: string;
|
|
74
|
+
contracts: CachedContract[];
|
|
75
|
+
cachedAt: string;
|
|
46
76
|
}
|
|
47
77
|
/** Cache interface — both MemoryCache and SqliteCache implement this */
|
|
48
78
|
export interface Cache {
|
|
@@ -52,10 +82,23 @@ export interface Cache {
|
|
|
52
82
|
invalidateNode(id: string): void;
|
|
53
83
|
putEdge(edge: CacheEdge): void;
|
|
54
84
|
getEdgesFrom(fromId: string): CacheEdge[];
|
|
85
|
+
/** Reverse lookup: get all edges pointing TO this id */
|
|
86
|
+
getEdgesTo(toId: string): CacheEdge[];
|
|
55
87
|
putApi(api: CacheApi): void;
|
|
56
88
|
getApi(name: string, type: string): CacheApi | null;
|
|
89
|
+
putSource(objectType: string, objectName: string, source: string): void;
|
|
90
|
+
getSource(objectType: string, objectName: string): CachedSource | null;
|
|
91
|
+
invalidateSource(objectType: string, objectName: string): void;
|
|
92
|
+
putDepGraph(graph: CachedDepGraph): void;
|
|
93
|
+
getDepGraph(sourceHash: string): CachedDepGraph | null;
|
|
94
|
+
putFuncGroup(funcName: string, groupName: string): void;
|
|
95
|
+
getFuncGroup(funcName: string): string | null;
|
|
57
96
|
clear(): void;
|
|
58
97
|
stats(): CacheStats;
|
|
59
98
|
close(): void;
|
|
60
99
|
}
|
|
100
|
+
/** Compute SHA-256 hash of source code (used as dep graph cache key) */
|
|
101
|
+
export declare function hashSource(source: string): string;
|
|
102
|
+
/** Build a source cache key from type + name */
|
|
103
|
+
export declare function sourceKey(objectType: string, objectName: string): string;
|
|
61
104
|
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/cache/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/cache/cache.js
CHANGED
|
@@ -2,13 +2,24 @@
|
|
|
2
2
|
* Cache interface and types for ARC-1.
|
|
3
3
|
*
|
|
4
4
|
* Two implementations:
|
|
5
|
-
* - MemoryCache: fast, ephemeral (default)
|
|
6
|
-
* - SqliteCache: persistent, cross-session (
|
|
5
|
+
* - MemoryCache: fast, ephemeral (default for stdio)
|
|
6
|
+
* - SqliteCache: persistent, cross-session (default for http-streamable / Docker)
|
|
7
7
|
*
|
|
8
|
-
* Cache stores
|
|
9
|
-
* - Nodes: ABAP objects (class, program, table, etc.)
|
|
8
|
+
* Cache stores five types of data:
|
|
9
|
+
* - Nodes: ABAP objects (class, program, table, etc.) with metadata
|
|
10
10
|
* - Edges: Dependencies between objects (calls, uses, implements)
|
|
11
11
|
* - APIs: Released API objects (for clean core checks)
|
|
12
|
+
* - Sources: Raw source code keyed by (type, name) with content hash
|
|
13
|
+
* - Contracts: Compressed dependency contracts keyed by source hash
|
|
12
14
|
*/
|
|
13
|
-
|
|
15
|
+
import { createHash } from 'node:crypto';
|
|
16
|
+
// ─── Helpers ─────────────────────────────────────────────────────────
|
|
17
|
+
/** Compute SHA-256 hash of source code (used as dep graph cache key) */
|
|
18
|
+
export function hashSource(source) {
|
|
19
|
+
return createHash('sha256').update(source).digest('hex');
|
|
20
|
+
}
|
|
21
|
+
/** Build a source cache key from type + name */
|
|
22
|
+
export function sourceKey(objectType, objectName) {
|
|
23
|
+
return `${objectType.toUpperCase()}:${objectName.toUpperCase()}`;
|
|
24
|
+
}
|
|
14
25
|
//# sourceMappingURL=cache.js.map
|
package/dist/cache/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoHzC,wEAAwE;AAExE,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,SAAS,CAAC,UAAkB,EAAE,UAAkB;IAC9D,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Caching layer — orchestrates source + dependency caching.
|
|
3
|
+
*
|
|
4
|
+
* Sits between the intent handler / compressor and the ADT client.
|
|
5
|
+
* Provides cache-aware source fetching with hash-based dependency
|
|
6
|
+
* graph invalidation.
|
|
7
|
+
*
|
|
8
|
+
* Design:
|
|
9
|
+
* - Source code is cached by (type, name) with a SHA-256 hash.
|
|
10
|
+
* - Dependency graphs (contracts[]) are cached by source hash.
|
|
11
|
+
* When the source changes, the hash changes, and deps are re-resolved.
|
|
12
|
+
* When the source hasn't changed, ALL downstream dep fetches are skipped.
|
|
13
|
+
* - Function group mappings are cached permanently (rarely change).
|
|
14
|
+
* - Writes invalidate the source cache for the written object.
|
|
15
|
+
*
|
|
16
|
+
* Three tiers:
|
|
17
|
+
* - Tier 1 (stdio): MemoryCache, dies with process. Eliminates duplicate
|
|
18
|
+
* fetches within a session.
|
|
19
|
+
* - Tier 2 (http-streamable): SqliteCache, persists. Multiple sessions
|
|
20
|
+
* share the warm cache.
|
|
21
|
+
* - Tier 3 (Docker + warmup): SqliteCache pre-populated via TADIR scan.
|
|
22
|
+
* Enables reverse dependency lookup.
|
|
23
|
+
*/
|
|
24
|
+
import type { AdtClient } from '../adt/client.js';
|
|
25
|
+
import type { Cache, CachedDepGraph, CachedSource } from './cache.js';
|
|
26
|
+
/** Cache hit/miss statistics for a single operation */
|
|
27
|
+
export interface CacheHitInfo {
|
|
28
|
+
sourceHit: boolean;
|
|
29
|
+
depGraphHit: boolean;
|
|
30
|
+
depSourceHits: number;
|
|
31
|
+
depSourceMisses: number;
|
|
32
|
+
}
|
|
33
|
+
export declare class CachingLayer {
|
|
34
|
+
readonly cache: Cache;
|
|
35
|
+
private warmupDone;
|
|
36
|
+
constructor(cache: Cache);
|
|
37
|
+
/** Mark warmup as complete (enables reverse dep lookups) */
|
|
38
|
+
setWarmupDone(done: boolean): void;
|
|
39
|
+
/** Whether the warmup index is available */
|
|
40
|
+
get isWarmupAvailable(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Get source code, using cache if available.
|
|
43
|
+
* Returns the source and whether it was a cache hit.
|
|
44
|
+
*/
|
|
45
|
+
getSource(objectType: string, objectName: string, fetcher: () => Promise<string>): Promise<{
|
|
46
|
+
source: string;
|
|
47
|
+
hit: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Get cached source without fetching (for cache-only lookups).
|
|
51
|
+
*/
|
|
52
|
+
getCachedSource(objectType: string, objectName: string): CachedSource | null;
|
|
53
|
+
/**
|
|
54
|
+
* Check if we have a cached dep graph for the given source.
|
|
55
|
+
* The graph is keyed by the source hash — if source changed, this returns null.
|
|
56
|
+
*/
|
|
57
|
+
getCachedDepGraph(source: string): CachedDepGraph | null;
|
|
58
|
+
/**
|
|
59
|
+
* Store a resolved dep graph keyed by source hash.
|
|
60
|
+
*/
|
|
61
|
+
putDepGraph(source: string, objectName: string, objectType: string, contracts: CachedDepGraph['contracts']): void;
|
|
62
|
+
/**
|
|
63
|
+
* Resolve a function module's group, with cache.
|
|
64
|
+
*/
|
|
65
|
+
resolveFuncGroup(client: AdtClient, funcName: string): Promise<string | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Invalidate cache entries for a written object.
|
|
68
|
+
* Called after SAPWrite to ensure stale source is not served.
|
|
69
|
+
*/
|
|
70
|
+
invalidate(objectType: string, objectName: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Find all objects that depend on the given object (reverse lookup).
|
|
73
|
+
* Only available when pre-warmer has populated the edge index.
|
|
74
|
+
* Returns null if warmup hasn't run (caller should show appropriate message).
|
|
75
|
+
*/
|
|
76
|
+
getUsages(objectName: string): {
|
|
77
|
+
fromId: string;
|
|
78
|
+
edgeType: string;
|
|
79
|
+
}[] | null;
|
|
80
|
+
stats(): Cache['stats'] extends (...args: infer _A) => infer R ? R : never;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=caching-layer.d.ts.map
|