@teamnetwork/vsa-mcp-server 0.1.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +12 -0
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/datetime.d.ts +6 -0
- package/dist/datetime.d.ts.map +1 -0
- package/dist/datetime.js +93 -0
- package/dist/datetime.js.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/agents.d.ts.map +1 -1
- package/dist/tools/agents.js +4 -3
- package/dist/tools/agents.js.map +1 -1
- package/dist/tools/assets.d.ts.map +1 -1
- package/dist/tools/assets.js +4 -3
- package/dist/tools/assets.js.map +1 -1
- package/dist/tools/audit.d.ts.map +1 -1
- package/dist/tools/audit.js +3 -2
- package/dist/tools/audit.js.map +1 -1
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js +2 -1
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/procedures.d.ts.map +1 -1
- package/dist/tools/procedures.js +3 -2
- package/dist/tools/procedures.js.map +1 -1
- package/dist/tools/system.d.ts.map +1 -1
- package/dist/tools/system.js +3 -2
- package/dist/tools/system.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export declare class VsaClient {
|
|
|
8
8
|
authenticate(): Promise<void>;
|
|
9
9
|
private authHeader;
|
|
10
10
|
private request;
|
|
11
|
+
isReadWrite(): boolean;
|
|
12
|
+
private assertWritePermitted;
|
|
11
13
|
get<T>(path: string, params?: ODataParams & Record<string, unknown>): Promise<T>;
|
|
12
14
|
post<T>(path: string, body: unknown): Promise<T>;
|
|
13
15
|
put<T>(path: string, body?: unknown): Promise<T>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAe,WAAW,EAAc,MAAM,YAAY,CAAC;AAElE,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAQvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,OAAO,CAAC,UAAU;YAKJ,OAAO;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAe,WAAW,EAAc,MAAM,YAAY,CAAC;AAElE,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAQvB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,OAAO,CAAC,UAAU;YAKJ,OAAO;IAkCrB,WAAW,IAAI,OAAO;IAItB,OAAO,CAAC,oBAAoB;IAQtB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhF,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAKhD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAKjD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMzC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI7D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW;CAGpD"}
|
package/dist/client.js
CHANGED
|
@@ -55,19 +55,31 @@ export class VsaClient {
|
|
|
55
55
|
throw err;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
isReadWrite() {
|
|
59
|
+
return this.config.readWrite;
|
|
60
|
+
}
|
|
61
|
+
assertWritePermitted() {
|
|
62
|
+
if (!this.config.readWrite) {
|
|
63
|
+
throw new Error('This operation requires write access. Set VSA_READWRITE=true to enable write operations.');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
58
66
|
async get(path, params) {
|
|
59
67
|
return this.request('GET', path, undefined, params);
|
|
60
68
|
}
|
|
61
69
|
async post(path, body) {
|
|
70
|
+
this.assertWritePermitted();
|
|
62
71
|
return this.request('POST', path, body);
|
|
63
72
|
}
|
|
64
73
|
async put(path, body) {
|
|
74
|
+
this.assertWritePermitted();
|
|
65
75
|
return this.request('PUT', path, body ?? {});
|
|
66
76
|
}
|
|
67
77
|
async patch(path, body) {
|
|
78
|
+
this.assertWritePermitted();
|
|
68
79
|
return this.request('PATCH', path, body);
|
|
69
80
|
}
|
|
70
81
|
async delete(path) {
|
|
82
|
+
this.assertWritePermitted();
|
|
71
83
|
return this.request('DELETE', path);
|
|
72
84
|
}
|
|
73
85
|
// OData helpers
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,UAAU,IAAI,SAAS,CA4BtC"}
|
package/dist/config.js
CHANGED
|
@@ -12,10 +12,17 @@ export function loadConfig() {
|
|
|
12
12
|
if (missing.length > 0) {
|
|
13
13
|
throw new Error(`Missing required environment variables: ${missing.join(', ')}`);
|
|
14
14
|
}
|
|
15
|
+
const readWrite = process.env.VSA_READWRITE?.toLowerCase() === 'true';
|
|
16
|
+
// VSA_DATETIMEFORMAT controls timezone handling for all date/time values.
|
|
17
|
+
// "local" (default): use the system local timezone.
|
|
18
|
+
// Any IANA name (e.g. "Pacific/Auckland", "America/New_York", "UTC"): use that timezone.
|
|
19
|
+
// Input datetime literals in OData filters are converted from this TZ → UTC before sending.
|
|
20
|
+
// Output datetime strings from the API are converted UTC → this TZ before display.
|
|
15
21
|
return {
|
|
16
22
|
baseUrl: baseUrl.replace(/\/$/, ''),
|
|
17
23
|
username: username,
|
|
18
24
|
personalToken: personalToken,
|
|
25
|
+
readWrite,
|
|
19
26
|
};
|
|
20
27
|
}
|
|
21
28
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,UAAU;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC1C,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAErD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5C,IAAI,CAAC,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC;IAEtE,0EAA0E;IAC1E,oDAAoD;IACpD,yFAAyF;IACzF,4FAA4F;IAC5F,mFAAmF;IAEnF,OAAO;QACL,OAAO,EAAE,OAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACpC,QAAQ,EAAE,QAAS;QACnB,aAAa,EAAE,aAAc;QAC7B,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function getConfiguredTz(): string;
|
|
2
|
+
export declare function fromUtc(str: string | null | undefined): string;
|
|
3
|
+
export declare function toUtc(str: string): string;
|
|
4
|
+
export declare function maybeFromUtc(val: unknown): unknown;
|
|
5
|
+
export declare function convertFilterDates(filter: string | undefined): string | undefined;
|
|
6
|
+
//# sourceMappingURL=datetime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../src/datetime.ts"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,IAAI,MAAM,CAGxC;AAGD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAuB9D;AAqBD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBzC;AAGD,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGlD;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKjF"}
|
package/dist/datetime.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// Reads VSA_DATETIMEFORMAT (default: "local").
|
|
2
|
+
// "local" → system local timezone (Intl.DateTimeFormat default)
|
|
3
|
+
// <tz> → any IANA timezone name, e.g. "Pacific/Auckland", "America/New_York", "UTC"
|
|
4
|
+
const ISO_RE = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?(Z|[+-]\d{2}:?\d{2})?$/;
|
|
5
|
+
const NAIVE_RE = /^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(:\d{2}(\.\d+)?)?$/;
|
|
6
|
+
export function getConfiguredTz() {
|
|
7
|
+
const fmt = process.env.VSA_DATETIMEFORMAT ?? 'local';
|
|
8
|
+
return fmt === 'local' ? Intl.DateTimeFormat().resolvedOptions().timeZone : fmt;
|
|
9
|
+
}
|
|
10
|
+
// Convert a UTC datetime string from the API into a display string in the configured timezone.
|
|
11
|
+
export function fromUtc(str) {
|
|
12
|
+
if (!str)
|
|
13
|
+
return '';
|
|
14
|
+
try {
|
|
15
|
+
const d = new Date(str);
|
|
16
|
+
if (isNaN(d.getTime()))
|
|
17
|
+
return str;
|
|
18
|
+
const tz = getConfiguredTz();
|
|
19
|
+
const parts = new Intl.DateTimeFormat('en-CA', {
|
|
20
|
+
timeZone: tz,
|
|
21
|
+
year: 'numeric',
|
|
22
|
+
month: '2-digit',
|
|
23
|
+
day: '2-digit',
|
|
24
|
+
hour: '2-digit',
|
|
25
|
+
minute: '2-digit',
|
|
26
|
+
second: '2-digit',
|
|
27
|
+
hour12: false,
|
|
28
|
+
timeZoneName: 'short',
|
|
29
|
+
}).formatToParts(d);
|
|
30
|
+
const get = (type) => parts.find(p => p.type === type)?.value ?? '';
|
|
31
|
+
const h = get('hour') === '24' ? '00' : get('hour');
|
|
32
|
+
return `${get('year')}-${get('month')}-${get('day')} ${h}:${get('minute')}:${get('second')} ${get('timeZoneName')}`;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return str ?? '';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Returns the UTC offset in minutes for `tz` at `date` (positive = ahead of UTC).
|
|
39
|
+
function getUtcOffset(date, tz) {
|
|
40
|
+
const parts = new Intl.DateTimeFormat('en-US', {
|
|
41
|
+
timeZone: tz,
|
|
42
|
+
year: 'numeric',
|
|
43
|
+
month: 'numeric',
|
|
44
|
+
day: 'numeric',
|
|
45
|
+
hour: 'numeric',
|
|
46
|
+
minute: 'numeric',
|
|
47
|
+
second: 'numeric',
|
|
48
|
+
hour12: false,
|
|
49
|
+
}).formatToParts(date);
|
|
50
|
+
const get = (type) => Number(parts.find(p => p.type === type)?.value ?? 0);
|
|
51
|
+
const localAsUtc = Date.UTC(get('year'), get('month') - 1, get('day'), get('hour') % 24, get('minute'), get('second'));
|
|
52
|
+
return (localAsUtc - date.getTime()) / 60000;
|
|
53
|
+
}
|
|
54
|
+
// Convert a naive datetime string (assumed to be in the configured timezone) to a UTC ISO string.
|
|
55
|
+
// If the string already has explicit timezone info it is preserved as-is.
|
|
56
|
+
export function toUtc(str) {
|
|
57
|
+
if (!str)
|
|
58
|
+
return str;
|
|
59
|
+
const s = str.trim();
|
|
60
|
+
try {
|
|
61
|
+
if (!NAIVE_RE.test(s)) {
|
|
62
|
+
// Has tz info or is not a recognisable datetime — parse and normalise to ISO
|
|
63
|
+
const d = new Date(s);
|
|
64
|
+
return isNaN(d.getTime()) ? str : d.toISOString();
|
|
65
|
+
}
|
|
66
|
+
const tz = getConfiguredTz();
|
|
67
|
+
// Parse as if UTC to get an approximate reference time
|
|
68
|
+
const approx = new Date(s.replace(' ', 'T') + 'Z');
|
|
69
|
+
if (isNaN(approx.getTime()))
|
|
70
|
+
return str;
|
|
71
|
+
const offset = getUtcOffset(approx, tz);
|
|
72
|
+
return new Date(approx.getTime() - offset * 60000).toISOString();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return str;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Apply fromUtc to any string that looks like an ISO datetime; pass other values through unchanged.
|
|
79
|
+
export function maybeFromUtc(val) {
|
|
80
|
+
if (typeof val !== 'string')
|
|
81
|
+
return val;
|
|
82
|
+
return ISO_RE.test(val.trim()) ? fromUtc(val) : val;
|
|
83
|
+
}
|
|
84
|
+
// Scan an OData $filter expression for datetime literals in the configured timezone and convert them to UTC.
|
|
85
|
+
// Handles: OData datetime'...' literals and quoted ISO-like strings e.g. '2024-01-15T14:30:00'
|
|
86
|
+
export function convertFilterDates(filter) {
|
|
87
|
+
if (!filter)
|
|
88
|
+
return filter;
|
|
89
|
+
return filter
|
|
90
|
+
.replace(/\bdatetime'([^']+)'/g, (_, dt) => `datetime'${toUtc(dt)}'`)
|
|
91
|
+
.replace(/'(\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)'/g, (_, dt) => `'${toUtc(dt)}'`);
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../src/datetime.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -39,5 +39,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
39
39
|
});
|
|
40
40
|
const transport = new StdioServerTransport();
|
|
41
41
|
await server.connect(transport);
|
|
42
|
-
|
|
42
|
+
const mode = config.readWrite ? '✏️ read-write' : '🔒 read-only';
|
|
43
|
+
process.stderr.write(`VSA MCP server started — ${allTools.length} tools registered. Targeting: ${config.baseUrl} [${mode}]\n`);
|
|
43
44
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAC5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AAErC,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC5C,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;KAC5C,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;SAC1E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,iCAAiC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAS,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAS,MAAM,aAAa,CAAC;AAYpD,eAAO,MAAM,UAAU,EAAE,cAAc,EAiCtC,CAAC"}
|
package/dist/tools/agents.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { fromUtc, maybeFromUtc, convertFilterDates } from '../datetime.js';
|
|
2
3
|
const odataArgs = {
|
|
3
4
|
orgId: z.string().optional().describe('Filter by OrgId (numeric string, Edm.Decimal). Use vsa_list_orgs to find OrgId values. More reliable than orgName.'),
|
|
4
5
|
orgName: z.string().optional().describe('Filter by MachineGroup path (e.g. "root.acme-ltd"). Use vsa_list_orgs OrgRef prefixed with "root." to build this.'),
|
|
@@ -17,7 +18,7 @@ export const agentTools = [
|
|
|
17
18
|
const result = await client.get('/assetmgmt/agents', params);
|
|
18
19
|
if (!result?.length)
|
|
19
20
|
return 'No agents found.';
|
|
20
|
-
const rows = result.map((a) => `| ${a.AgentId} | ${a.ComputerName ?? ''} | ${a.IPAddress ?? ''} | ${a.MachineGroup ?? ''} | ${a.Online === 1 ? '🟢 Online' : '🔴 Offline'} | ${a.LastCheckInTime
|
|
21
|
+
const rows = result.map((a) => `| ${a.AgentId} | ${a.ComputerName ?? ''} | ${a.IPAddress ?? ''} | ${a.MachineGroup ?? ''} | ${a.Online === 1 ? '🟢 Online' : '🔴 Offline'} | ${fromUtc(a.LastCheckInTime)} |`);
|
|
21
22
|
return [
|
|
22
23
|
`**Agents (${result.length})**\n`,
|
|
23
24
|
'| Agent ID | Computer Name | IP Address | Org / Group | Status | Last Check-in |',
|
|
@@ -48,7 +49,7 @@ function buildOData(args) {
|
|
|
48
49
|
if (args.filter)
|
|
49
50
|
filters.push(args.filter);
|
|
50
51
|
if (filters.length)
|
|
51
|
-
p['$filter'] = filters.join(' and ');
|
|
52
|
+
p['$filter'] = convertFilterDates(filters.join(' and '));
|
|
52
53
|
if (args.orderBy)
|
|
53
54
|
p['$orderby'] = args.orderBy;
|
|
54
55
|
if (args.skip !== undefined)
|
|
@@ -60,7 +61,7 @@ function buildOData(args) {
|
|
|
60
61
|
function formatObject(label, obj) {
|
|
61
62
|
const lines = Object.entries(obj)
|
|
62
63
|
.filter(([, v]) => v !== null && v !== undefined && v !== '')
|
|
63
|
-
.map(([k, v]) => `- **${k}**: ${JSON.stringify(v)}`);
|
|
64
|
+
.map(([k, v]) => `- **${k}**: ${JSON.stringify(maybeFromUtc(v))}`);
|
|
64
65
|
return `**${label}**\n\n${lines.join('\n')}`;
|
|
65
66
|
}
|
|
66
67
|
//# sourceMappingURL=agents.js.map
|
package/dist/tools/agents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/tools/assets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAsB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/tools/assets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAsB,MAAM,aAAa,CAAC;AAUjE,eAAO,MAAM,UAAU,EAAE,cAAc,EAsDtC,CAAC"}
|
package/dist/tools/assets.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { fromUtc, maybeFromUtc, convertFilterDates } from '../datetime.js';
|
|
2
3
|
const odataArgs = {
|
|
3
4
|
filter: z.string().optional().describe('OData $filter expression'),
|
|
4
5
|
orderBy: z.string().optional().describe('OData $orderby expression'),
|
|
@@ -15,7 +16,7 @@ export const assetTools = [
|
|
|
15
16
|
const result = await client.get('/assetmgmt/assets', params);
|
|
16
17
|
if (!result?.length)
|
|
17
18
|
return 'No assets found.';
|
|
18
|
-
const rows = result.map((a) => `| ${a.AssetId} | ${a.DisplayName ?? a.AssetName ?? ''} | ${a.MachineGroup ?? ''} | ${a.OSName ?? ''} | ${a.IPAddresses ?? ''} | ${a.LastSeenDate
|
|
19
|
+
const rows = result.map((a) => `| ${a.AssetId} | ${a.DisplayName ?? a.AssetName ?? ''} | ${a.MachineGroup ?? ''} | ${a.OSName ?? ''} | ${a.IPAddresses ?? ''} | ${fromUtc(a.LastSeenDate)} |`);
|
|
19
20
|
return [
|
|
20
21
|
`**Assets (${result.length})**\n`,
|
|
21
22
|
'| Asset ID | Name | Org / Group | OS | IP | Last Seen |',
|
|
@@ -58,7 +59,7 @@ export const assetTools = [
|
|
|
58
59
|
function buildOData(args) {
|
|
59
60
|
const p = {};
|
|
60
61
|
if (args.filter)
|
|
61
|
-
p['$filter'] = args.filter;
|
|
62
|
+
p['$filter'] = convertFilterDates(args.filter);
|
|
62
63
|
if (args.orderBy)
|
|
63
64
|
p['$orderby'] = args.orderBy;
|
|
64
65
|
if (args.skip !== undefined)
|
|
@@ -70,7 +71,7 @@ function buildOData(args) {
|
|
|
70
71
|
function formatObject(label, obj) {
|
|
71
72
|
const lines = Object.entries(obj)
|
|
72
73
|
.filter(([, v]) => v !== null && v !== undefined && v !== '')
|
|
73
|
-
.map(([k, v]) => `- **${k}**: ${JSON.stringify(v)}`);
|
|
74
|
+
.map(([k, v]) => `- **${k}**: ${JSON.stringify(maybeFromUtc(v))}`);
|
|
74
75
|
return `**${label}**\n\n${lines.join('\n')}`;
|
|
75
76
|
}
|
|
76
77
|
//# sourceMappingURL=assets.js.map
|
package/dist/tools/assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/tools/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/tools/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA4B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAA4B,MAAM,aAAa,CAAC;AAYvE,eAAO,MAAM,UAAU,EAAE,cAAc,EAuEtC,CAAC"}
|
package/dist/tools/audit.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { fromUtc, convertFilterDates } from '../datetime.js';
|
|
2
3
|
const odataArgs = {
|
|
3
4
|
orgName: z.string().optional().describe('Filter by organisation/group name. Use vsa_list_orgs to find valid names.'),
|
|
4
5
|
agentId: z.string().optional().describe('Filter to a specific agent by AgentGuid/AgentId.'),
|
|
@@ -21,7 +22,7 @@ export const auditTools = [
|
|
|
21
22
|
const disk = a.TotalSize
|
|
22
23
|
? `${((a.FreeSpace ?? 0) / 1024).toFixed(0)}GB free / ${(a.TotalSize / 1024).toFixed(0)}GB`
|
|
23
24
|
: '';
|
|
24
|
-
return `| ${a.AgentGuid} | ${a.ComputerName ?? ''} | ${a.GroupName ?? ''} | ${a.OsInfo ?? ''} | ${a.RamMBytes ? Math.round(a.RamMBytes / 1024) + 'GB' : ''} | ${disk} | ${a.LastCheckinTime
|
|
25
|
+
return `| ${a.AgentGuid} | ${a.ComputerName ?? ''} | ${a.GroupName ?? ''} | ${a.OsInfo ?? ''} | ${a.RamMBytes ? Math.round(a.RamMBytes / 1024) + 'GB' : ''} | ${disk} | ${fromUtc(a.LastCheckinTime)} |`;
|
|
25
26
|
});
|
|
26
27
|
return [
|
|
27
28
|
`**Audit Summary (${result.length})**\n`,
|
|
@@ -88,7 +89,7 @@ function buildOData(args) {
|
|
|
88
89
|
if (args.filter)
|
|
89
90
|
filters.push(args.filter);
|
|
90
91
|
if (filters.length)
|
|
91
|
-
p['$filter'] = filters.join(' and ');
|
|
92
|
+
p['$filter'] = convertFilterDates(filters.join(' and '));
|
|
92
93
|
if (args.orderBy)
|
|
93
94
|
p['$orderby'] = args.orderBy;
|
|
94
95
|
if (args.skip !== undefined)
|
package/dist/tools/audit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,cAAc,EAWrC,CAAC"}
|
package/dist/tools/auth.js
CHANGED
|
@@ -6,7 +6,8 @@ export const authTools = [
|
|
|
6
6
|
inputSchema: z.object({}).strict(),
|
|
7
7
|
handler: async (client) => {
|
|
8
8
|
const result = await client.get('/echo');
|
|
9
|
-
|
|
9
|
+
const mode = client.isReadWrite() ? '✏️ read-write' : '🔒 read-only (set VSA_READWRITE=true to enable write operations)';
|
|
10
|
+
return `VSA connection successful. Mode: ${mode}\nServer response: ${JSON.stringify(result)}`;
|
|
10
11
|
},
|
|
11
12
|
},
|
|
12
13
|
];
|
package/dist/tools/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,SAAS,GAAqB;IACzC;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,2EAA2E;QACxF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAS,OAAO,CAAC,CAAC;YACjD,OAAO
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,SAAS,GAAqB;IACzC;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,2EAA2E;QACxF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAS,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kEAAkE,CAAC;YACzH,OAAO,oCAAoC,IAAI,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAChG,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/tools/procedures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAoC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/tools/procedures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAoC,MAAM,aAAa,CAAC;AAU/E,eAAO,MAAM,cAAc,EAAE,cAAc,EAoE1C,CAAC"}
|
package/dist/tools/procedures.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { fromUtc, convertFilterDates } from '../datetime.js';
|
|
2
3
|
const odataArgs = {
|
|
3
4
|
filter: z.string().optional().describe('OData $filter expression'),
|
|
4
5
|
orderBy: z.string().optional().describe('OData $orderby expression'),
|
|
@@ -55,7 +56,7 @@ export const procedureTools = [
|
|
|
55
56
|
const result = await client.get(`/automation/agentprocs/${procId}/history`, params);
|
|
56
57
|
if (!result?.length)
|
|
57
58
|
return `No execution history found for procedure ${procId}.`;
|
|
58
|
-
const rows = result.map((h) => `| ${h.AgentId ?? ''} | ${h.ExecutionTime
|
|
59
|
+
const rows = result.map((h) => `| ${h.AgentId ?? ''} | ${fromUtc(h.ExecutionTime)} | ${h.Status ?? ''} |`);
|
|
59
60
|
return [
|
|
60
61
|
`**Execution History for procedure ${procId} (${result.length})**\n`,
|
|
61
62
|
'| Agent ID | Execution Time | Status |',
|
|
@@ -68,7 +69,7 @@ export const procedureTools = [
|
|
|
68
69
|
function buildOData(args) {
|
|
69
70
|
const p = {};
|
|
70
71
|
if (args.filter)
|
|
71
|
-
p['$filter'] = args.filter;
|
|
72
|
+
p['$filter'] = convertFilterDates(args.filter);
|
|
72
73
|
if (args.orderBy)
|
|
73
74
|
p['$orderby'] = args.orderBy;
|
|
74
75
|
if (args.skip !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/tools/procedures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/tools/procedures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAWhE,eAAO,MAAM,WAAW,EAAE,cAAc,EAiDvC,CAAC"}
|
package/dist/tools/system.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { maybeFromUtc, convertFilterDates } from '../datetime.js';
|
|
2
3
|
// Note: /tenantmanagement/tenants returns 403 on single-tenant on-prem VSA instances
|
|
3
4
|
const odataArgs = {
|
|
4
5
|
filter: z.string().optional().describe('OData $filter expression'),
|
|
@@ -55,7 +56,7 @@ export const systemTools = [
|
|
|
55
56
|
function buildOData(args) {
|
|
56
57
|
const p = {};
|
|
57
58
|
if (args.filter)
|
|
58
|
-
p['$filter'] = args.filter;
|
|
59
|
+
p['$filter'] = convertFilterDates(args.filter);
|
|
59
60
|
if (args.orderBy)
|
|
60
61
|
p['$orderby'] = args.orderBy;
|
|
61
62
|
if (args.skip !== undefined)
|
|
@@ -67,7 +68,7 @@ function buildOData(args) {
|
|
|
67
68
|
function formatObject(label, obj) {
|
|
68
69
|
const lines = Object.entries(obj)
|
|
69
70
|
.filter(([, v]) => v !== null && v !== undefined && v !== '')
|
|
70
|
-
.map(([k, v]) => `- **${k}**: ${JSON.stringify(v)}`);
|
|
71
|
+
.map(([k, v]) => `- **${k}**: ${JSON.stringify(maybeFromUtc(v))}`);
|
|
71
72
|
return `**${label}**\n\n${lines.join('\n')}`;
|
|
72
73
|
}
|
|
73
74
|
//# sourceMappingURL=system.js.map
|
package/dist/tools/system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qFAAqF;AAErF,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC1F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC3F,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC3F,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;QACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAY,eAAe,EAAE,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE,MAAM;gBAAE,OAAO,iBAAiB,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,CACpI,CAAC;YACF,OAAO;gBACL,gBAAgB,MAAM,CAAC,MAAM,OAAO;gBACpC,8CAA8C;gBAC9C,uBAAuB;gBACvB,GAAG,IAAI;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;KACF;IAED;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAU,iBAAiB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,OAAO,YAAY,CAAC,MAAM,EAAE,MAAiC,CAAC,CAAC;QACjE,CAAC;KACF;IAED;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAa,mBAAmB,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,EAAE,MAAM;gBAAE,OAAO,sBAAsB,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,KAAK,CAAC,CAAC,UAAU,IAAI,EAAE,MAAM,CAAC,CAAC,YAAY,IAAI,EAAE,MAAM,CAAC,CAAC,mBAAmB,IAAI,EAAE,IAAI,CACvF,CAAC;YACF,OAAO;gBACL,iBAAiB,MAAM,CAAC,MAAM,OAAO;gBACrC,6BAA6B;gBAC7B,eAAe;gBACf,GAAG,IAAI;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;KACF;CACF,CAAC;AAEF,SAAS,UAAU,CAAC,IAKnB;IACC,MAAM,CAAC,GAA4B,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM;QAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,qFAAqF;AAErF,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAClE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC1F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC3F,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CAC3F,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,gEAAgE;QAC7E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;QACzC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAY,eAAe,EAAE,MAAM,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE,MAAM;gBAAE,OAAO,iBAAiB,CAAC;YAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,CACpI,CAAC;YACF,OAAO;gBACL,gBAAgB,MAAM,CAAC,MAAM,OAAO;gBACpC,8CAA8C;gBAC9C,uBAAuB;gBACvB,GAAG,IAAI;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;KACF;IAED;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uDAAuD;QACpE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAU,iBAAiB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,OAAO,YAAY,CAAC,MAAM,EAAE,MAAiC,CAAC,CAAC;QACjE,CAAC;KACF;IAED;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAa,mBAAmB,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,EAAE,MAAM;gBAAE,OAAO,sBAAsB,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,KAAK,CAAC,CAAC,UAAU,IAAI,EAAE,MAAM,CAAC,CAAC,YAAY,IAAI,EAAE,MAAM,CAAC,CAAC,mBAAmB,IAAI,EAAE,IAAI,CACvF,CAAC;YACF,OAAO;gBACL,iBAAiB,MAAM,CAAC,MAAM,OAAO;gBACrC,6BAA6B;gBAC7B,eAAe;gBACf,GAAG,IAAI;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;KACF;CACF,CAAC;AAEF,SAAS,UAAU,CAAC,IAKnB;IACC,MAAM,CAAC,GAA4B,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM;QAAE,CAAC,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,OAAO;QAAE,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;QAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IACjD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,GAA4B;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,KAAK,KAAK,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC"}
|