@spottoai/types-package 1.0.2-beta.360 → 1.0.2-beta.364
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 +38 -0
- package/dist/azure/billingArtifactCanonicalization.d.ts +3 -1
- package/dist/azure/billingArtifactCanonicalization.d.ts.map +1 -1
- package/dist/azure/billingArtifactCanonicalization.js +123 -43
- package/dist/azure/billingArtifactCanonicalization.js.map +1 -1
- package/dist/azure/billingArtifactGeneration.d.ts +53 -1
- package/dist/azure/billingArtifactGeneration.d.ts.map +1 -1
- package/dist/azure/billingArtifactGeneration.js +190 -25
- package/dist/azure/billingArtifactGeneration.js.map +1 -1
- package/dist/azure/billingArtifactLimits.d.ts +19 -0
- package/dist/azure/billingArtifactLimits.d.ts.map +1 -0
- package/dist/azure/billingArtifactLimits.js +22 -0
- package/dist/azure/billingArtifactLimits.js.map +1 -0
- package/dist/azure/billingPlots.d.ts +26 -3
- package/dist/azure/billingPlots.d.ts.map +1 -1
- package/dist/azure/billingPlots.js +257 -10
- package/dist/azure/billingPlots.js.map +1 -1
- package/dist/azure/views.d.ts +60 -0
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/azure/views.js +280 -4
- package/dist/azure/views.js.map +1 -1
- package/dist/common/artifactControlData.d.ts +16 -2
- package/dist/common/artifactControlData.d.ts.map +1 -1
- package/dist/common/artifactControlData.js +129 -23
- package/dist/common/artifactControlData.js.map +1 -1
- package/dist/esm/azure/billingArtifactCanonicalization.js +121 -42
- package/dist/esm/azure/billingArtifactGeneration.js +186 -25
- package/dist/esm/azure/billingArtifactLimits.js +18 -0
- package/dist/esm/azure/billingPlots.js +253 -10
- package/dist/esm/azure/views.js +278 -4
- package/dist/esm/common/artifactControlData.js +127 -22
- package/dist/esm/index.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
|
@@ -15,6 +15,7 @@ const FORBIDDEN_SENSITIVE_FIELDS = new Set([
|
|
|
15
15
|
'sharedaccesssignature',
|
|
16
16
|
'token',
|
|
17
17
|
]);
|
|
18
|
+
const FORBIDDEN_PROTOTYPE_FIELDS = new Set(['proto', 'prototype', 'constructor']);
|
|
18
19
|
const PHYSICAL_REFERENCE_FIELDS = new Set([
|
|
19
20
|
'artifactpath',
|
|
20
21
|
'blobpath',
|
|
@@ -43,13 +44,16 @@ const PHYSICAL_REFERENCE_FIELDS = new Set([
|
|
|
43
44
|
]);
|
|
44
45
|
const PERCENT_ENCODED_BYTE_PATTERN = /%[0-9A-Fa-f]{2}/;
|
|
45
46
|
const URI_SCHEME_PATTERN = /^[A-Za-z][A-Za-z0-9+.-]*:/;
|
|
47
|
+
const SHA256_PATTERN = /^[0-9A-Fa-f]{64}$/;
|
|
48
|
+
export const ARTIFACT_CONTROL_DATA_MAX_VISITED_NODES = 100000;
|
|
46
49
|
const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
47
50
|
const hasControlCharacters = (value) => Array.from(value).some(character => character.charCodeAt(0) < 32 || character.charCodeAt(0) === 127);
|
|
48
51
|
const normalizeFieldName = (key) => key.replace(/[-_\s]/g, '').toLowerCase();
|
|
49
52
|
const hasDotTraversal = (value) => value.split(/[\\/]/).some(segment => segment === '.' || segment === '..');
|
|
50
|
-
const isForbiddenReferenceValue = (value, allowUriScheme = false) => hasControlCharacters(value) ||
|
|
53
|
+
const isForbiddenReferenceValue = (value, allowUriScheme = false, allowDigestLike = false, rejectDigestLikeValues = false) => hasControlCharacters(value) ||
|
|
51
54
|
PERCENT_ENCODED_BYTE_PATTERN.test(value) ||
|
|
52
55
|
(!allowUriScheme && URI_SCHEME_PATTERN.test(value)) ||
|
|
56
|
+
(rejectDigestLikeValues && !allowDigestLike && SHA256_PATTERN.test(value)) ||
|
|
53
57
|
value.startsWith('/') ||
|
|
54
58
|
value.startsWith('\\\\') ||
|
|
55
59
|
/^[A-Za-z]:[\\/]/.test(value) ||
|
|
@@ -69,27 +73,128 @@ const isSafeAzureResourceId = (key, value) => {
|
|
|
69
73
|
export const allowedArtifactReferenceField = (object, key) => isRecord(object) ? [{ object, key }] : [];
|
|
70
74
|
/** Marks a structurally validated identity field whose value is allowed by its owning schema. */
|
|
71
75
|
export const allowedArtifactIdentityField = (object, key) => isRecord(object) ? [{ object, key, allowUriScheme: true }] : [];
|
|
72
|
-
/**
|
|
73
|
-
export const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
/** Marks an exact schema edge whose descendants may use object-indexed field allowances. */
|
|
77
|
+
export const allowedArtifactTraversalField = (object, key) => isRecord(object) ? [{ object, key, allowChildArtifactFields: true }] : [];
|
|
78
|
+
const indexAllowedArtifactFields = (allowedReferenceFields) => {
|
|
79
|
+
const index = new WeakMap();
|
|
80
|
+
for (const field of allowedReferenceFields) {
|
|
81
|
+
let objectFields = index.get(field.object);
|
|
82
|
+
if (!objectFields) {
|
|
83
|
+
objectFields = new Map();
|
|
84
|
+
index.set(field.object, objectFields);
|
|
85
|
+
}
|
|
86
|
+
const existing = objectFields.get(field.key);
|
|
87
|
+
objectFields.set(field.key, {
|
|
88
|
+
object: field.object,
|
|
89
|
+
key: field.key,
|
|
90
|
+
allowUriScheme: existing?.allowUriScheme || field.allowUriScheme,
|
|
91
|
+
allowUriSchemeInStringArray: existing?.allowUriSchemeInStringArray || field.allowUriSchemeInStringArray,
|
|
92
|
+
allowDigestLike: existing?.allowDigestLike || field.allowDigestLike,
|
|
93
|
+
allowControlField: existing?.allowControlField || field.allowControlField,
|
|
94
|
+
allowChildArtifactFields: existing?.allowChildArtifactFields || field.allowChildArtifactFields,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
return index;
|
|
98
|
+
};
|
|
99
|
+
const containsForbiddenArtifactControlDataWithIndex = (value, allowedReferenceFields, options) => {
|
|
100
|
+
const pending = [{ kind: 'visit', value, allowIndexedFields: true }];
|
|
101
|
+
const activeContainers = new WeakSet();
|
|
102
|
+
const completedScanPolicies = new WeakMap();
|
|
103
|
+
let visitedNodeCount = 0;
|
|
104
|
+
const hasCompletedStricterScan = (container, scanPolicy) => completedScanPolicies.get(container)?.some(completedPolicy => (completedPolicy & scanPolicy) === completedPolicy) ?? false;
|
|
105
|
+
const completeScan = (container, scanPolicy) => {
|
|
106
|
+
const completedPolicies = completedScanPolicies.get(container) ?? [];
|
|
107
|
+
if (completedPolicies.some(completedPolicy => (completedPolicy & scanPolicy) === completedPolicy))
|
|
108
|
+
return;
|
|
109
|
+
completedScanPolicies.set(container, [...completedPolicies.filter(completedPolicy => (scanPolicy & completedPolicy) !== scanPolicy), scanPolicy]);
|
|
110
|
+
};
|
|
111
|
+
while (pending.length > 0) {
|
|
112
|
+
const candidate = pending.pop();
|
|
113
|
+
if (candidate.kind === 'leave') {
|
|
114
|
+
activeContainers.delete(candidate.container);
|
|
115
|
+
completeScan(candidate.container, candidate.scanPolicy);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (typeof candidate.value === 'string') {
|
|
119
|
+
if (isForbiddenReferenceValue(candidate.value, false, false, options.rejectDigestLikeValues))
|
|
120
|
+
return true;
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (Array.isArray(candidate.value)) {
|
|
124
|
+
visitedNodeCount += 1;
|
|
125
|
+
if (visitedNodeCount > ARTIFACT_CONTROL_DATA_MAX_VISITED_NODES)
|
|
126
|
+
return true;
|
|
127
|
+
if (activeContainers.has(candidate.value))
|
|
128
|
+
return true;
|
|
129
|
+
const scanPolicy = (candidate.allowIndexedFields ? 1 : 0) |
|
|
130
|
+
(candidate.allowedStringArrayField ? 2 : 0) |
|
|
131
|
+
(candidate.allowedStringArrayField?.allowDigestLike ? 4 : 0);
|
|
132
|
+
if (hasCompletedStricterScan(candidate.value, scanPolicy))
|
|
133
|
+
continue;
|
|
134
|
+
activeContainers.add(candidate.value);
|
|
135
|
+
pending.push({ kind: 'leave', container: candidate.value, scanPolicy });
|
|
136
|
+
for (let index = candidate.value.length - 1; index >= 0; index -= 1) {
|
|
137
|
+
const child = candidate.value[index];
|
|
138
|
+
if (candidate.allowedStringArrayField && typeof child === 'string') {
|
|
139
|
+
if (isForbiddenReferenceValue(child, true, candidate.allowedStringArrayField.allowDigestLike, options.rejectDigestLikeValues)) {
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
pending.push({ kind: 'visit', value: child, allowIndexedFields: candidate.allowIndexedFields });
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (!isRecord(candidate.value))
|
|
150
|
+
continue;
|
|
151
|
+
visitedNodeCount += 1;
|
|
152
|
+
if (visitedNodeCount > ARTIFACT_CONTROL_DATA_MAX_VISITED_NODES)
|
|
85
153
|
return true;
|
|
86
|
-
|
|
87
|
-
if (allowedField?.allowUriScheme && typeof child === 'string')
|
|
88
|
-
return isForbiddenReferenceValue(child, true);
|
|
89
|
-
if (PHYSICAL_REFERENCE_FIELDS.has(normalizedKey) && !allowedField)
|
|
154
|
+
if (activeContainers.has(candidate.value))
|
|
90
155
|
return true;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
156
|
+
const scanPolicy = candidate.allowIndexedFields ? 1 : 0;
|
|
157
|
+
if (hasCompletedStricterScan(candidate.value, scanPolicy))
|
|
158
|
+
continue;
|
|
159
|
+
activeContainers.add(candidate.value);
|
|
160
|
+
pending.push({ kind: 'leave', container: candidate.value, scanPolicy });
|
|
161
|
+
for (const [key, child] of Object.entries(candidate.value)) {
|
|
162
|
+
if (hasControlCharacters(key))
|
|
163
|
+
return true;
|
|
164
|
+
const normalizedKey = normalizeFieldName(key);
|
|
165
|
+
if (FORBIDDEN_PROTOTYPE_FIELDS.has(normalizedKey))
|
|
166
|
+
return true;
|
|
167
|
+
if (FORBIDDEN_SENSITIVE_FIELDS.has(normalizedKey))
|
|
168
|
+
return true;
|
|
169
|
+
const allowedField = candidate.allowIndexedFields ? allowedReferenceFields.get(candidate.value)?.get(key) : undefined;
|
|
170
|
+
if (options.forbiddenControlFields?.has(normalizedKey) && !allowedField?.allowControlField)
|
|
171
|
+
return true;
|
|
172
|
+
if (options.requireSafeAzureResourceIds && normalizedKey === 'resourceid') {
|
|
173
|
+
if (!isSafeAzureResourceId(key, child))
|
|
174
|
+
return true;
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
if (allowedField && typeof child === 'string' && (allowedField.allowUriScheme || allowedField.allowDigestLike)) {
|
|
178
|
+
if (isForbiddenReferenceValue(child, allowedField.allowUriScheme, allowedField.allowDigestLike, options.rejectDigestLikeValues))
|
|
179
|
+
return true;
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (allowedField?.allowUriSchemeInStringArray && Array.isArray(child)) {
|
|
183
|
+
pending.push({ kind: 'visit', value: child, allowedStringArrayField: allowedField });
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
if (PHYSICAL_REFERENCE_FIELDS.has(normalizedKey) && !allowedField)
|
|
187
|
+
return true;
|
|
188
|
+
if (isSafeAzureResourceId(key, child))
|
|
189
|
+
continue;
|
|
190
|
+
pending.push({
|
|
191
|
+
kind: 'visit',
|
|
192
|
+
value: child,
|
|
193
|
+
allowIndexedFields: !options.requireAllowedFieldTraversalContext || Boolean(candidate.allowIndexedFields && allowedField?.allowChildArtifactFields),
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return false;
|
|
95
198
|
};
|
|
199
|
+
/** Rejects normalized sensitive fields and physical-reference control data with bounded traversal. */
|
|
200
|
+
export const containsForbiddenArtifactControlData = (value, allowedReferenceFields = [], options = {}) => containsForbiddenArtifactControlDataWithIndex(value, indexAllowedArtifactFields(allowedReferenceFields), options);
|
package/dist/esm/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export * from './azure/activityLogs.js';
|
|
|
5
5
|
export * from './azure/budgets.js';
|
|
6
6
|
export * from './azure/billingGeneration.js';
|
|
7
7
|
export * from './azure/billingArtifactGeneration.js';
|
|
8
|
+
export * from './azure/billingArtifactLimits.js';
|
|
8
9
|
export * from './azure/billingArtifactCanonicalization.js';
|
|
9
10
|
export * from './azure/billingPlots.js';
|
|
10
11
|
export * from './azure/benefits.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from './azure/activityLogs';
|
|
|
5
5
|
export * from './azure/budgets';
|
|
6
6
|
export * from './azure/billingGeneration';
|
|
7
7
|
export * from './azure/billingArtifactGeneration';
|
|
8
|
+
export * from './azure/billingArtifactLimits';
|
|
8
9
|
export * from './azure/billingArtifactCanonicalization';
|
|
9
10
|
export * from './azure/billingPlots';
|
|
10
11
|
export * from './azure/benefits';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yCAAyC,CAAC;AACxD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ __exportStar(require("./azure/activityLogs"), exports);
|
|
|
21
21
|
__exportStar(require("./azure/budgets"), exports);
|
|
22
22
|
__exportStar(require("./azure/billingGeneration"), exports);
|
|
23
23
|
__exportStar(require("./azure/billingArtifactGeneration"), exports);
|
|
24
|
+
__exportStar(require("./azure/billingArtifactLimits"), exports);
|
|
24
25
|
__exportStar(require("./azure/billingArtifactCanonicalization"), exports);
|
|
25
26
|
__exportStar(require("./azure/billingPlots"), exports);
|
|
26
27
|
__exportStar(require("./azure/benefits"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAAiE;AACjE,iDAA+B;AAC/B,0DAAwC;AACxC,uDAAqC;AACrC,kDAAgC;AAChC,4DAA0C;AAC1C,oEAAkD;AAClD,0EAAwD;AACxD,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,0DAAwC;AACxC,yDAAuC;AACvC,iDAA+B;AAC/B,wDAAsC;AACtC,0DAAwC;AACxC,+DAA6C;AAC7C,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAC5C,+DAA6C;AAC7C,oDAAkC;AAClC,kDAAgC;AAChC,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,yDAAuC;AACvC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,4DAA0C;AAC1C,iEAA+C;AAC/C,0EAAwD;AACxD,+DAA6C;AAC7C,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,yDAAuC;AACvC,wCAAsB;AACtB,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,4DAA0C;AAC1C,4CAA0B;AAC1B,qDAAmC;AACnC,8CAA4B;AAC5B,uCAAqB;AACrB,2CAAyB;AACzB,iDAA+B;AAC/B,6CAA2B;AAC3B,6DAA2C;AAC3C,yCAAuB;AACvB,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAAiE;AACjE,iDAA+B;AAC/B,0DAAwC;AACxC,uDAAqC;AACrC,kDAAgC;AAChC,4DAA0C;AAC1C,oEAAkD;AAClD,gEAA8C;AAC9C,0EAAwD;AACxD,uDAAqC;AACrC,mDAAiC;AACjC,8DAA4C;AAC5C,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC;AACjC,0DAAwC;AACxC,yDAAuC;AACvC,iDAA+B;AAC/B,wDAAsC;AACtC,0DAAwC;AACxC,+DAA6C;AAC7C,8DAA4C;AAC5C,iEAA+C;AAC/C,8DAA4C;AAC5C,+DAA6C;AAC7C,oDAAkC;AAClC,kDAAgC;AAChC,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,yDAAuC;AACvC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,4DAA0C;AAC1C,iEAA+C;AAC/C,0EAAwD;AACxD,+DAA6C;AAC7C,4DAA0C;AAC1C,qDAAmC;AACnC,4DAA0C;AAC1C,yDAAuC;AACvC,wCAAsB;AACtB,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,4DAA0C;AAC1C,4CAA0B;AAC1B,qDAAmC;AACnC,8CAA4B;AAC5B,uCAAqB;AACrB,2CAAyB;AACzB,iDAA+B;AAC/B,6CAA2B;AAC3B,6DAA2C;AAC3C,yCAAuB;AACvB,8CAA4B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spottoai/types-package",
|
|
3
|
-
"version": "1.0.2-beta.
|
|
3
|
+
"version": "1.0.2-beta.364",
|
|
4
4
|
"description": "Shared TypeScript interfaces for SpottoAI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -65,6 +65,8 @@
|
|
|
65
65
|
"dev": "tsc --watch",
|
|
66
66
|
"clean": "rimraf dist",
|
|
67
67
|
"check:artifact-evidence-contracts": "node scripts/check-artifact-evidence-contracts.mjs",
|
|
68
|
+
"check:billing-artifact-object-boundaries": "node scripts/check-billing-artifact-object-boundaries.mjs",
|
|
69
|
+
"check:billing-cost-analysis-read-responses": "node scripts/check-billing-cost-analysis-read-responses.mjs",
|
|
68
70
|
"check:packed-exports": "node scripts/check-packed-aws-exports.mjs",
|
|
69
71
|
"check:aws-examples": "node scripts/check-aws-example-identifiers.mjs",
|
|
70
72
|
"check:plugin-public-artifacts": "node scripts/check-plugin-public-artifacts.mjs",
|
|
@@ -74,7 +76,7 @@
|
|
|
74
76
|
"check:capability-passport-contracts": "node scripts/check-capability-passport-contracts.mjs",
|
|
75
77
|
"check:commitments-planning": "node scripts/check-commitments-planning.mjs",
|
|
76
78
|
"prepublishOnly": "npm run clean && npm run build && npm test",
|
|
77
|
-
"test": "npm run build && npm run check:artifact-evidence-contracts && npm run check:aws-examples && npm run check:plugin-public-artifacts && npm run check:portal-public-artifacts && npm run check:relationship-public-artifacts && npm run check:azure-view-set-contracts && npm run check:capability-passport-contracts && npm run check:commitments-planning && npm run check:packed-exports",
|
|
79
|
+
"test": "npm run build && npm run check:artifact-evidence-contracts && npm run check:billing-artifact-object-boundaries && npm run check:billing-cost-analysis-read-responses && npm run check:aws-examples && npm run check:plugin-public-artifacts && npm run check:portal-public-artifacts && npm run check:relationship-public-artifacts && npm run check:azure-view-set-contracts && npm run check:capability-passport-contracts && npm run check:commitments-planning && npm run check:packed-exports",
|
|
78
80
|
"lint": "eslint src --ext .ts",
|
|
79
81
|
"lint:fix": "eslint src --ext .ts --fix",
|
|
80
82
|
"format": "prettier --write \"src/**/*.{ts,js,json}\"",
|