@spottoai/types-package 1.0.2-beta.366 → 1.0.2-beta.367
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/azure/artifactRunReference.d.ts +11 -0
- package/dist/azure/artifactRunReference.d.ts.map +1 -0
- package/dist/azure/artifactRunReference.js +90 -0
- package/dist/azure/artifactRunReference.js.map +1 -0
- package/dist/azure/billingArtifactGeneration.d.ts +55 -0
- package/dist/azure/billingArtifactGeneration.d.ts.map +1 -1
- package/dist/azure/billingArtifactGeneration.js +75 -1
- package/dist/azure/billingArtifactGeneration.js.map +1 -1
- package/dist/azure/views.d.ts +19 -10
- package/dist/azure/views.d.ts.map +1 -1
- package/dist/azure/views.js +68 -18
- package/dist/azure/views.js.map +1 -1
- package/dist/common/artifactEvidence.d.ts +7 -0
- package/dist/common/artifactEvidence.d.ts.map +1 -1
- package/dist/common/artifactEvidence.js +27 -1
- package/dist/common/artifactEvidence.js.map +1 -1
- package/dist/esm/azure/artifactRunReference.js +83 -0
- package/dist/esm/azure/billingArtifactGeneration.js +71 -0
- package/dist/esm/azure/views.js +69 -19
- package/dist/esm/common/artifactEvidence.js +25 -0
- 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 +3 -2
|
@@ -83,6 +83,11 @@ const hasMatchingIdentity = (subscriptionId, generationId, ownership, revision,
|
|
|
83
83
|
return false;
|
|
84
84
|
return !enforceable || isEnforceableArtifactOwnershipBinding(ownership);
|
|
85
85
|
};
|
|
86
|
+
const hasEpochFreeMatchingIdentity = (subscriptionId, generationId, ownership, revision) => hasMatchingIdentity(subscriptionId, generationId, ownership, revision, false) &&
|
|
87
|
+
isRecord(ownership) &&
|
|
88
|
+
isRecord(revision) &&
|
|
89
|
+
!Object.prototype.hasOwnProperty.call(ownership, 'ownershipEpochRevision') &&
|
|
90
|
+
!Object.prototype.hasOwnProperty.call(revision, 'ownershipEpochRevision');
|
|
86
91
|
const isSha256 = (value) => typeof value === 'string' && SHA256_PATTERN.test(value);
|
|
87
92
|
const hasDiagnosticObservationDiscriminant = (value) => value.authority === 'diagnostic-only' ||
|
|
88
93
|
(value.publicationMode === 'observe' &&
|
|
@@ -226,6 +231,22 @@ export const isBillingAnalyzerInputCurrentPointerV1 = (value) => {
|
|
|
226
231
|
isSha256(value.manifestDigest) &&
|
|
227
232
|
isCanonicalIsoTimestamp(value.completedAt));
|
|
228
233
|
};
|
|
234
|
+
/** Validates the latest epoch-free current pointer for one analyzer input generation. */
|
|
235
|
+
export const isBillingAnalyzerInputCurrentPointerV2 = (value) => {
|
|
236
|
+
if (!isRecord(value) ||
|
|
237
|
+
hasDiagnosticObservationDiscriminant(value) ||
|
|
238
|
+
containsForbiddenBillingArtifactControlData(value, allowedArtifactReferenceField(value, 'manifestPath'))) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
if (value.schemaVersion !== 2 || value.status !== 'completed')
|
|
242
|
+
return false;
|
|
243
|
+
if (!hasEpochFreeMatchingIdentity(value.subscriptionId, value.generationId, value.ownership, value.revision))
|
|
244
|
+
return false;
|
|
245
|
+
return (isStrictLogicalArtifactReference(value.manifestPath) &&
|
|
246
|
+
value.manifestPath === inputManifestPath(value.subscriptionId, value.generationId) &&
|
|
247
|
+
isSha256(value.manifestDigest) &&
|
|
248
|
+
isCanonicalIsoTimestamp(value.completedAt));
|
|
249
|
+
};
|
|
229
250
|
/** Validates the V2 queue envelope and its immutable input-manifest binding. */
|
|
230
251
|
export const isBillingAnalyzerRequestV2 = (value) => {
|
|
231
252
|
if (!isRecord(value) || containsForbiddenBillingArtifactControlData(value, allowedArtifactReferenceField(value, 'inputManifestPath')))
|
|
@@ -247,6 +268,29 @@ export const isBillingAnalyzerRequestV2 = (value) => {
|
|
|
247
268
|
return false;
|
|
248
269
|
return value.displayMetadata === undefined || isJsonMetadata(value.displayMetadata);
|
|
249
270
|
};
|
|
271
|
+
/** Validates the latest-only V3 queue envelope and immutable input-manifest binding. */
|
|
272
|
+
export const isBillingAnalyzerRequestV3 = (value) => {
|
|
273
|
+
if (!isRecord(value) ||
|
|
274
|
+
Object.prototype.hasOwnProperty.call(value, 'publicationMode') ||
|
|
275
|
+
containsForbiddenBillingArtifactControlData(value, allowedArtifactReferenceField(value, 'inputManifestPath'))) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
if (value.schemaVersion !== 3)
|
|
279
|
+
return false;
|
|
280
|
+
if (!hasEpochFreeMatchingIdentity(value.subscriptionId, value.generationId, value.ownership, value.revision))
|
|
281
|
+
return false;
|
|
282
|
+
if (![value.eventId, value.correlationId].every(isNonEmptyString) || !isSha256(value.messageId) || !isSha256(value.idempotencyKey))
|
|
283
|
+
return false;
|
|
284
|
+
if (value.idempotencyKey !== value.messageId || !isCanonicalIsoTimestamp(value.occurredAt))
|
|
285
|
+
return false;
|
|
286
|
+
if (!isStrictLogicalArtifactReference(value.inputManifestPath) ||
|
|
287
|
+
value.inputManifestPath !== inputManifestPath(value.subscriptionId, value.generationId)) {
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
if (!isSha256(value.inputManifestDigest))
|
|
291
|
+
return false;
|
|
292
|
+
return value.displayMetadata === undefined || isJsonMetadata(value.displayMetadata);
|
|
293
|
+
};
|
|
250
294
|
/** Validates a diagnostic-only latest-enqueued pointer; it is never customer authority. */
|
|
251
295
|
export const isBillingAnalyzerInputObservationPointerV1 = (value) => {
|
|
252
296
|
if (!isRecord(value) || containsForbiddenBillingArtifactControlData(value, allowedArtifactReferenceField(value, 'inputManifestPath')))
|
|
@@ -338,6 +382,33 @@ export const isBillingAnalysisCurrentPointerV1 = (value) => {
|
|
|
338
382
|
return (isBillingCompletedArtifactPublicationDecision(value.publicationDecision, value.generationId, value.inputManifestDigest) &&
|
|
339
383
|
isCanonicalIsoTimestamp(value.completedAt));
|
|
340
384
|
};
|
|
385
|
+
/** Validates the latest epoch-free promoted authority pointer for completed billing analysis. */
|
|
386
|
+
export const isBillingAnalysisCurrentPointerV2 = (value) => {
|
|
387
|
+
if (!isRecord(value) ||
|
|
388
|
+
hasDiagnosticObservationDiscriminant(value) ||
|
|
389
|
+
containsForbiddenBillingArtifactControlData(value, [
|
|
390
|
+
...allowedArtifactReferenceField(value, 'inputManifestPath'),
|
|
391
|
+
...allowedArtifactReferenceField(value, 'outputManifestPath'),
|
|
392
|
+
])) {
|
|
393
|
+
return false;
|
|
394
|
+
}
|
|
395
|
+
if (value.schemaVersion !== 2 || value.status !== 'completed')
|
|
396
|
+
return false;
|
|
397
|
+
if (!hasEpochFreeMatchingIdentity(value.subscriptionId, value.generationId, value.ownership, value.revision))
|
|
398
|
+
return false;
|
|
399
|
+
if (!isStrictLogicalArtifactReference(value.inputManifestPath) ||
|
|
400
|
+
value.inputManifestPath !== inputManifestPath(value.subscriptionId, value.generationId)) {
|
|
401
|
+
return false;
|
|
402
|
+
}
|
|
403
|
+
if (!isStrictLogicalArtifactReference(value.outputManifestPath) ||
|
|
404
|
+
value.outputManifestPath !== outputManifestPath(value.subscriptionId, value.generationId)) {
|
|
405
|
+
return false;
|
|
406
|
+
}
|
|
407
|
+
if (!isSha256(value.inputManifestDigest) || !isSha256(value.outputManifestDigest))
|
|
408
|
+
return false;
|
|
409
|
+
return (isBillingCompletedArtifactPublicationDecision(value.publicationDecision, value.generationId, value.inputManifestDigest) &&
|
|
410
|
+
isCanonicalIsoTimestamp(value.completedAt));
|
|
411
|
+
};
|
|
341
412
|
/** Validates an immutable diagnostic-only promotion evaluation. */
|
|
342
413
|
export const isBillingAnalysisPromotionObservationV1 = (value) => {
|
|
343
414
|
if (!isRecord(value) ||
|
package/dist/esm/azure/views.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { allowedArtifactReferenceField, allowedArtifactTraversalField, containsForbiddenArtifactControlData, } from '../common/artifactControlData.js';
|
|
1
|
+
import { allowedArtifactIdentityField, allowedArtifactReferenceField, allowedArtifactTraversalField, containsForbiddenArtifactControlData, } from '../common/artifactControlData.js';
|
|
2
2
|
import { isArtifactOwnershipBinding, isArtifactPublicationDecision, isEnforceableArtifactOwnershipBinding, } from '../common/artifactEvidence.js';
|
|
3
3
|
import { isArtifactRevisionVector, isStrictLogicalArtifactReference } from '../common/artifactEvidenceValidation.js';
|
|
4
|
+
import { encodeArtifactRunReferenceV1, isRawArtifactRunIdV1 } from './artifactRunReference.js';
|
|
4
5
|
export const PUBLISHED_VIEW_OBJECT_LIMITS_V1 = {
|
|
5
6
|
maxArtifacts: 512,
|
|
6
7
|
maxClaims: 128,
|
|
@@ -52,6 +53,34 @@ const allowedViewArtifactPaths = (artifacts) => Array.isArray(artifacts) ? artif
|
|
|
52
53
|
const containsForbiddenViewArtifactControlData = (value, allowedReferenceFields = []) => containsForbiddenArtifactControlData(value, allowedReferenceFields, {
|
|
53
54
|
requireAllowedFieldTraversalContext: true,
|
|
54
55
|
});
|
|
56
|
+
const allowedPublicationDecisionIdentityFields = (decision) => {
|
|
57
|
+
if (!isRecord(decision))
|
|
58
|
+
return [];
|
|
59
|
+
const dependencies = Array.isArray(decision.dependencies) ? decision.dependencies : [];
|
|
60
|
+
return [
|
|
61
|
+
...allowedArtifactTraversalField(decision, 'dependencies'),
|
|
62
|
+
...dependencies.flatMap(dependency => allowedArtifactIdentityField(dependency, 'generationId')),
|
|
63
|
+
];
|
|
64
|
+
};
|
|
65
|
+
const allowedPublishedCostSavingsIdentityFields = (manifest) => {
|
|
66
|
+
if (!isRecord(manifest) || !isRecord(manifest.costSavings))
|
|
67
|
+
return [];
|
|
68
|
+
const costSavings = manifest.costSavings;
|
|
69
|
+
const diagnostics = costSavings.stableWholeResourceDeletionBackfill;
|
|
70
|
+
return [
|
|
71
|
+
...allowedArtifactTraversalField(manifest, 'costSavings'),
|
|
72
|
+
...allowedArtifactTraversalField(costSavings, 'stableWholeResourceDeletionBackfill'),
|
|
73
|
+
...(isRecord(diagnostics)
|
|
74
|
+
? [
|
|
75
|
+
{
|
|
76
|
+
object: diagnostics,
|
|
77
|
+
key: 'missingStableSpendResourceSamples',
|
|
78
|
+
allowUriSchemeInStringArray: true,
|
|
79
|
+
},
|
|
80
|
+
]
|
|
81
|
+
: []),
|
|
82
|
+
];
|
|
83
|
+
};
|
|
55
84
|
const isSafePathSegment = (value) => isStrictNonEmptyString(value) && !/[\\/?#%]/.test(value) && value !== '.' && value !== '..';
|
|
56
85
|
const isStrictCanonicalIsoTimestamp = (value) => {
|
|
57
86
|
if (!isStrictNonEmptyString(value))
|
|
@@ -71,10 +100,15 @@ const hasMatchingViewOwnership = (subscriptionId, ownership, revision, enforceab
|
|
|
71
100
|
return false;
|
|
72
101
|
return ownership.ownershipEpochRevision === revision.ownershipEpochRevision;
|
|
73
102
|
};
|
|
74
|
-
const
|
|
103
|
+
const isEpochFreeAzureViewOwnership = (value) => isArtifactOwnershipBinding(value) && value.provider === 'azure' && !Object.prototype.hasOwnProperty.call(value, 'ownershipEpochRevision');
|
|
104
|
+
const isEpochFreeViewRevision = (value) => isArtifactRevisionVector(value) && !Object.prototype.hasOwnProperty.call(value, 'ownershipEpochRevision');
|
|
105
|
+
const hasEpochFreeMatchingViewOwnership = (subscriptionId, ownership, revision) => isEpochFreeAzureViewOwnership(ownership) &&
|
|
106
|
+
isEpochFreeViewRevision(revision) &&
|
|
107
|
+
hasMatchingViewOwnership(subscriptionId, ownership, revision, false);
|
|
108
|
+
const isViewArtifactDescriptor = (value, runId, runReference = runId) => isRecord(value) &&
|
|
75
109
|
isStrictLogicalArtifactReference(value.path) &&
|
|
76
|
-
value.path.startsWith(`runs/${
|
|
77
|
-
value.path.length > `runs/${
|
|
110
|
+
value.path.startsWith(`runs/${runReference}/`) &&
|
|
111
|
+
value.path.length > `runs/${runReference}/`.length &&
|
|
78
112
|
isStrictNonEmptyString(value.name) &&
|
|
79
113
|
value.mediaType === 'application/json' &&
|
|
80
114
|
typeof value.contentEncoding === 'string' &&
|
|
@@ -137,9 +171,10 @@ const hasUnambiguousPublishedClaimSections = (decision) => {
|
|
|
137
171
|
return true;
|
|
138
172
|
};
|
|
139
173
|
const isPublishedViewArtifactDescriptor = (value, runId) => {
|
|
140
|
-
|
|
174
|
+
const runReference = encodeArtifactRunReferenceV1(runId);
|
|
175
|
+
if (!isViewArtifactDescriptor(value, runId, runReference) || !isRecord(value))
|
|
141
176
|
return false;
|
|
142
|
-
const runPrefix = `runs/${
|
|
177
|
+
const runPrefix = `runs/${runReference}/`;
|
|
143
178
|
if (value.name !== value.path.slice(runPrefix.length))
|
|
144
179
|
return false;
|
|
145
180
|
if (!Array.isArray(value.claimBindings) ||
|
|
@@ -286,18 +321,26 @@ const isPublishedDecisionForCoverage = (decision, coverage) => {
|
|
|
286
321
|
}
|
|
287
322
|
return (decision.publication === 'partial' && decision.evidence === 'partial' && completedClaimCount > 0 && completedClaimCount < decision.claims.length);
|
|
288
323
|
};
|
|
289
|
-
/** Validates a claim-projected portal or plugin generation
|
|
324
|
+
/** Validates a claim-projected portal or plugin generation under the latest epoch-free authority contract. */
|
|
290
325
|
export const isPublishedViewManifestV4 = (value) => {
|
|
291
|
-
|
|
292
|
-
|
|
326
|
+
const allowedReferences = isRecord(value)
|
|
327
|
+
? [
|
|
328
|
+
...allowedArtifactIdentityField(value, 'runId'),
|
|
329
|
+
...allowedArtifactTraversalField(value, 'artifactGeneration'),
|
|
330
|
+
...allowedArtifactIdentityField(value.artifactGeneration, 'runId'),
|
|
293
331
|
...allowedArtifactTraversalField(value, 'artifacts'),
|
|
294
332
|
...allowedViewArtifactPaths(value.artifacts),
|
|
295
|
-
|
|
333
|
+
...allowedArtifactTraversalField(value, 'publicationDecision'),
|
|
334
|
+
...allowedPublicationDecisionIdentityFields(value.publicationDecision),
|
|
335
|
+
...allowedPublishedCostSavingsIdentityFields(value),
|
|
336
|
+
]
|
|
337
|
+
: [];
|
|
338
|
+
if (!isRecord(value) || containsForbiddenViewArtifactControlData(value, allowedReferences)) {
|
|
296
339
|
return false;
|
|
297
340
|
}
|
|
298
341
|
if (value.schemaVersion !== 4 || value.status !== 'published' || !isPublishedViewCoverage(value.coverage))
|
|
299
342
|
return false;
|
|
300
|
-
if (!
|
|
343
|
+
if (!isRawArtifactRunIdV1(value.runId) || !hasEpochFreeMatchingViewOwnership(value.subscriptionId, value.ownership, value.revision))
|
|
301
344
|
return false;
|
|
302
345
|
if (!isRecord(value.artifactGeneration) ||
|
|
303
346
|
value.artifactGeneration.runId !== value.runId ||
|
|
@@ -355,15 +398,17 @@ const isViewSetV2SurfaceReference = (value, surface, subscriptionId, ownership,
|
|
|
355
398
|
isStrictCanonicalIsoTimestamp(value.completedAt));
|
|
356
399
|
};
|
|
357
400
|
const isPublishedViewSetV3SurfaceReference = (value, surface, subscriptionId, ownership, revision, compositeDependencyDigest) => {
|
|
358
|
-
if (!isRecord(value) || !
|
|
401
|
+
if (!isRecord(value) || !isRawArtifactRunIdV1(value.runId) || !isPublishedViewCoverage(value.coverage))
|
|
359
402
|
return false;
|
|
360
403
|
const expectedManifestName = surface === 'portal' ? 'published-view-manifest.json' : 'published-plugin-generation.json';
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
if (!isEnforceableAzureOwnershipBinding(value.ownership) || !isArtifactRevisionVector(value.revision))
|
|
404
|
+
const runReference = encodeArtifactRunReferenceV1(value.runId);
|
|
405
|
+
if (value.manifestPath !== `runs/${runReference}/${expectedManifestName}` || !isStrictLogicalArtifactReference(value.manifestPath))
|
|
364
406
|
return false;
|
|
365
|
-
if (!
|
|
407
|
+
if (!isEpochFreeAzureViewOwnership(value.ownership) ||
|
|
408
|
+
!isEpochFreeViewRevision(value.revision) ||
|
|
409
|
+
!hasEpochFreeMatchingViewOwnership(subscriptionId, value.ownership, value.revision)) {
|
|
366
410
|
return false;
|
|
411
|
+
}
|
|
367
412
|
if (!hasSameOwnership(ownership, value.ownership) || !hasSameRevision(revision, value.revision))
|
|
368
413
|
return false;
|
|
369
414
|
return (isSha256(value.manifestDigest) &&
|
|
@@ -417,10 +462,15 @@ export const isCompletedAzureViewSetV2 = (value) => {
|
|
|
417
462
|
export const isPublishedAzureViewSetV3 = (value) => {
|
|
418
463
|
const allowedReferences = isRecord(value)
|
|
419
464
|
? [
|
|
465
|
+
...allowedArtifactIdentityField(value, 'publicationId'),
|
|
420
466
|
...allowedArtifactTraversalField(value, 'portal'),
|
|
421
467
|
...allowedArtifactTraversalField(value, 'plugin'),
|
|
468
|
+
...allowedArtifactIdentityField(value.portal, 'runId'),
|
|
469
|
+
...allowedArtifactIdentityField(value.plugin, 'runId'),
|
|
422
470
|
...allowedArtifactReferenceField(value.portal, 'manifestPath'),
|
|
423
471
|
...allowedArtifactReferenceField(value.plugin, 'manifestPath'),
|
|
472
|
+
...allowedArtifactTraversalField(value, 'publicationDecision'),
|
|
473
|
+
...allowedPublicationDecisionIdentityFields(value.publicationDecision),
|
|
424
474
|
]
|
|
425
475
|
: [];
|
|
426
476
|
if (!isRecord(value) || containsForbiddenViewArtifactControlData(value, allowedReferences))
|
|
@@ -429,9 +479,9 @@ export const isPublishedAzureViewSetV3 = (value) => {
|
|
|
429
479
|
return false;
|
|
430
480
|
if (!isSafePathSegment(value.subscriptionId) ||
|
|
431
481
|
!isStrictNonEmptyString(value.publicationId) ||
|
|
432
|
-
!
|
|
433
|
-
!
|
|
434
|
-
!
|
|
482
|
+
!isEpochFreeAzureViewOwnership(value.ownership) ||
|
|
483
|
+
!isEpochFreeViewRevision(value.revision) ||
|
|
484
|
+
!hasEpochFreeMatchingViewOwnership(value.subscriptionId, value.ownership, value.revision)) {
|
|
435
485
|
return false;
|
|
436
486
|
}
|
|
437
487
|
if (!isSha256(value.compositeDependencyDigest) || !isStrictCanonicalIsoTimestamp(value.completedAt))
|
|
@@ -171,3 +171,28 @@ export const compareArtifactRevisionVector = (left, right) => {
|
|
|
171
171
|
return 'older';
|
|
172
172
|
return 'incomparable';
|
|
173
173
|
};
|
|
174
|
+
/**
|
|
175
|
+
* Compares latest epoch-free authority revisions under a fixed policy revision.
|
|
176
|
+
* A policy mismatch is intentionally incomparable so a policy rollout cannot
|
|
177
|
+
* silently reuse source ordering without a separate contract decision.
|
|
178
|
+
*/
|
|
179
|
+
export const compareEpochFreeArtifactRevisionVector = (left, right) => {
|
|
180
|
+
if (left.ownershipEpochRevision !== undefined || right.ownershipEpochRevision !== undefined)
|
|
181
|
+
return 'incomparable';
|
|
182
|
+
if (!Number.isSafeInteger(left.sourceRevision) ||
|
|
183
|
+
left.sourceRevision < 1 ||
|
|
184
|
+
!Number.isSafeInteger(right.sourceRevision) ||
|
|
185
|
+
right.sourceRevision < 1 ||
|
|
186
|
+
!Number.isSafeInteger(left.policyRevision) ||
|
|
187
|
+
left.policyRevision < 1 ||
|
|
188
|
+
!Number.isSafeInteger(right.policyRevision) ||
|
|
189
|
+
right.policyRevision < 1 ||
|
|
190
|
+
left.policyRevision !== right.policyRevision) {
|
|
191
|
+
return 'incomparable';
|
|
192
|
+
}
|
|
193
|
+
if (left.sourceRevision > right.sourceRevision)
|
|
194
|
+
return 'newer';
|
|
195
|
+
if (left.sourceRevision < right.sourceRevision)
|
|
196
|
+
return 'older';
|
|
197
|
+
return 'equal';
|
|
198
|
+
};
|
package/dist/esm/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export * from './azure/billingGeneration.js';
|
|
|
7
7
|
export * from './azure/billingArtifactGeneration.js';
|
|
8
8
|
export * from './azure/billingArtifactLimits.js';
|
|
9
9
|
export * from './azure/billingArtifactCanonicalization.js';
|
|
10
|
+
export * from './azure/artifactRunReference.js';
|
|
10
11
|
export * from './azure/billingPlots.js';
|
|
11
12
|
export * from './azure/benefits.js';
|
|
12
13
|
export * from './azure/commitmentsPlanning.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './azure/billingGeneration';
|
|
|
7
7
|
export * from './azure/billingArtifactGeneration';
|
|
8
8
|
export * from './azure/billingArtifactLimits';
|
|
9
9
|
export * from './azure/billingArtifactCanonicalization';
|
|
10
|
+
export * from './azure/artifactRunReference';
|
|
10
11
|
export * from './azure/billingPlots';
|
|
11
12
|
export * from './azure/benefits';
|
|
12
13
|
export * from './azure/commitmentsPlanning';
|
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,+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,iBAAiB,CAAC;AAChC,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,8BAA8B,CAAC;AAC7C,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,iBAAiB,CAAC;AAChC,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
|
@@ -23,6 +23,7 @@ __exportStar(require("./azure/billingGeneration"), exports);
|
|
|
23
23
|
__exportStar(require("./azure/billingArtifactGeneration"), exports);
|
|
24
24
|
__exportStar(require("./azure/billingArtifactLimits"), exports);
|
|
25
25
|
__exportStar(require("./azure/billingArtifactCanonicalization"), exports);
|
|
26
|
+
__exportStar(require("./azure/artifactRunReference"), exports);
|
|
26
27
|
__exportStar(require("./azure/billingPlots"), exports);
|
|
27
28
|
__exportStar(require("./azure/benefits"), exports);
|
|
28
29
|
__exportStar(require("./azure/commitmentsPlanning"), 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,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,kDAAgC;AAChC,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,+DAA6C;AAC7C,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,kDAAgC;AAChC,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.367",
|
|
4
4
|
"description": "Shared TypeScript interfaces for SpottoAI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -73,10 +73,11 @@
|
|
|
73
73
|
"check:portal-public-artifacts": "node scripts/check-portal-public-artifacts.mjs",
|
|
74
74
|
"check:relationship-public-artifacts": "node scripts/check-relationship-public-artifacts.mjs",
|
|
75
75
|
"check:azure-view-set-contracts": "node scripts/check-azure-view-set-contracts.mjs",
|
|
76
|
+
"check:dev-1135-latest-contracts": "node scripts/check-dev-1135-latest-contracts.mjs",
|
|
76
77
|
"check:capability-passport-contracts": "node scripts/check-capability-passport-contracts.mjs",
|
|
77
78
|
"check:commitments-planning": "node scripts/check-commitments-planning.mjs",
|
|
78
79
|
"prepublishOnly": "npm run clean && npm run build && npm test",
|
|
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",
|
|
80
|
+
"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:dev-1135-latest-contracts && npm run check:capability-passport-contracts && npm run check:commitments-planning && npm run check:packed-exports",
|
|
80
81
|
"lint": "eslint src --ext .ts",
|
|
81
82
|
"lint:fix": "eslint src --ext .ts --fix",
|
|
82
83
|
"format": "prettier --write \"src/**/*.{ts,js,json}\"",
|