@spottoai/types-package 1.0.2-beta.407 → 1.0.2-beta.409

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.
@@ -0,0 +1,106 @@
1
+ import { REPORT_EVIDENCE_LIMITS } from './reportEvidence.js';
2
+ export const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
3
+ export const isString = (value) => typeof value === 'string' && value.trim().length > 0;
4
+ export const isOptionalString = (value) => value === undefined || isString(value);
5
+ export const isFiniteNumber = (value) => typeof value === 'number' && Number.isFinite(value);
6
+ export const isOptionalFiniteNumber = (value) => value === undefined || isFiniteNumber(value);
7
+ export const isOptionalBoolean = (value) => value === undefined || typeof value === 'boolean';
8
+ export const isCount = (value) => isFiniteNumber(value) && Number.isInteger(value) && value >= 0;
9
+ export const isDateTime = (value) => isString(value) && Number.isFinite(Date.parse(value));
10
+ export const isStringArray = (value) => Array.isArray(value) && value.every(isString);
11
+ export const isCountRecord = (value) => isRecord(value) && Object.values(value).every(isCount);
12
+ export const countTotal = (value) => Object.values(value).reduce((total, count) => total + count, 0);
13
+ export const hasOptionalStrings = (value, keys) => keys.every(key => isOptionalString(value[key]));
14
+ export const hasOptionalNumbers = (value, keys) => keys.every(key => isOptionalFiniteNumber(value[key]));
15
+ export const isBoundedRows = (value, limit, isRow) => {
16
+ if (!isRecord(value) || !isCount(value.totalCount) || !isCount(value.omittedCount) || !Array.isArray(value.rows))
17
+ return false;
18
+ return value.rows.length <= limit && value.rows.every(isRow) && value.totalCount === value.rows.length + value.omittedCount;
19
+ };
20
+ export const isProjectionRows = (value, limit = REPORT_EVIDENCE_LIMITS.detailRows) => isBoundedRows(value, limit, isRecord);
21
+ export const hasRequiredRecords = (value, keys) => keys.every(key => isRecord(value[key]));
22
+ export const isSourceFileStatus = (value) => isRecord(value) &&
23
+ isString(value.path) &&
24
+ typeof value.available === 'boolean' &&
25
+ (value.recordCount === undefined || isCount(value.recordCount)) &&
26
+ isOptionalString(value.note);
27
+ export const isTagCoverage = (value) => isRecord(value) &&
28
+ isCount(value.withTags) &&
29
+ isCount(value.withoutTags) &&
30
+ isFiniteNumber(value.coveragePercentage) &&
31
+ Array.isArray(value.topTagKeys) &&
32
+ value.topTagKeys.every(row => isRecord(row) && isString(row.key) && isCount(row.count));
33
+ const isTopSpendResource = (value) => isRecord(value) &&
34
+ isString(value.id) &&
35
+ isString(value.name) &&
36
+ isString(value.type) &&
37
+ isOptionalString(value.location) &&
38
+ isFiniteNumber(value.spend30Days) &&
39
+ isOptionalFiniteNumber(value.spend30DaysAmortized);
40
+ export const isResourceSummary = (value) => isRecord(value) &&
41
+ isCount(value.total) &&
42
+ Array.isArray(value.byType) &&
43
+ value.byType.length <= REPORT_EVIDENCE_LIMITS.summaryDimensions &&
44
+ value.byType.every(row => isRecord(row) && isString(row.type) && isCount(row.count) && isOptionalFiniteNumber(row.spend30Days)) &&
45
+ Array.isArray(value.byLocation) &&
46
+ value.byLocation.length <= REPORT_EVIDENCE_LIMITS.summaryDimensions &&
47
+ value.byLocation.every(row => isRecord(row) && isString(row.location) && isCount(row.count) && isOptionalFiniteNumber(row.spend30Days)) &&
48
+ isRecord(value.tagCoverage) &&
49
+ isTagCoverage(value.tagCoverage) &&
50
+ Array.isArray(value.tagCoverage.topTagKeys) &&
51
+ value.tagCoverage.topTagKeys.length <= REPORT_EVIDENCE_LIMITS.summaryRows &&
52
+ Array.isArray(value.topSpendResources) &&
53
+ value.topSpendResources.length <= REPORT_EVIDENCE_LIMITS.summaryRows &&
54
+ value.topSpendResources.every(isTopSpendResource);
55
+ export const isCostSummary = (value) => {
56
+ if (!isRecord(value) || !isRecord(value.sourceMetadata) || !Array.isArray(value.topSpendResources))
57
+ return false;
58
+ if (!hasOptionalStrings(value, ['currency', 'currencySymbol']) ||
59
+ !hasOptionalNumbers(value, ['spend30Days', 'spend30DaysAmortized', 'totalRetailCost', 'miscCost', 'rollingCostRecordCount']) ||
60
+ (value.budget !== undefined && !isRecord(value.budget)) ||
61
+ !isString(value.sourceMetadata.spend30DaysSource) ||
62
+ !isString(value.sourceMetadata.spend30DaysAmortizedSource) ||
63
+ !isString(value.sourceMetadata.totalRetailCostSource) ||
64
+ !isString(value.sourceMetadata.rollingCostFile) ||
65
+ !isOptionalFiniteNumber(value.sourceMetadata.rollingCostRecordCount) ||
66
+ !value.topSpendResources.every(isTopSpendResource)) {
67
+ return false;
68
+ }
69
+ return (value.period === undefined ||
70
+ (isRecord(value.period) &&
71
+ value.period.type === 'rolling_30_days' &&
72
+ isString(value.period.source) &&
73
+ hasOptionalStrings(value.period, ['startDate', 'endDate'])));
74
+ };
75
+ export const isRecommendationSummary = (value) => isRecord(value) &&
76
+ isCount(value.total) &&
77
+ isCountRecord(value.byPillar) &&
78
+ isCountRecord(value.byImpact) &&
79
+ isCountRecord(value.byEffort) &&
80
+ isStringArray(value.topRecommendationIds) &&
81
+ value.topRecommendationIds.length <= REPORT_EVIDENCE_LIMITS.topRecommendationIds &&
82
+ isRecord(value.topRecommendationIdsByPillar) &&
83
+ Object.values(value.topRecommendationIdsByPillar).every(ids => isStringArray(ids) && ids.length <= REPORT_EVIDENCE_LIMITS.topRecommendationIdsPerPillar);
84
+ export const isRetirementSummary = (value) => isRecord(value) &&
85
+ isCount(value.total) &&
86
+ isCount(value.sourceRecordCount) &&
87
+ isCount(value.excludedUnlinked) &&
88
+ isCount(value.excludedCommitmentExpiries) &&
89
+ isCount(value.within180Days) &&
90
+ isCount(value.expiredOrPastDue) &&
91
+ Array.isArray(value.upcoming) &&
92
+ value.upcoming.length <= REPORT_EVIDENCE_LIMITS.upcomingEvents &&
93
+ value.upcoming.every(row => isRecord(row) && isOptionalString(row.id) && isOptionalString(row.title) && isOptionalString(row.retirementDate) && isCount(row.resourceCount));
94
+ export const isCommitmentExpirySummary = (value) => isRecord(value) &&
95
+ isCount(value.total) &&
96
+ isCount(value.sourceRecordCount) &&
97
+ isCount(value.within180Days) &&
98
+ isCount(value.expiredOrPastDue) &&
99
+ Array.isArray(value.upcoming) &&
100
+ value.upcoming.length <= REPORT_EVIDENCE_LIMITS.upcomingEvents &&
101
+ value.upcoming.every(row => isRecord(row) && isOptionalString(row.id) && isOptionalString(row.title) && isOptionalString(row.expiryDate) && isCount(row.resourceCount));
102
+ export const isEvidenceReference = (value) => isRecord(value) &&
103
+ isString(value.source) &&
104
+ isString(value.summary) &&
105
+ (value.value === undefined || ['string', 'number', 'boolean'].includes(typeof value.value)) &&
106
+ (typeof value.value !== 'number' || Number.isFinite(value.value));
@@ -1,5 +1,5 @@
1
1
  import { ENVIRONMENT_ARTIFACT_KINDS_V1, ENVIRONMENT_CONTRACT_LIMITS_V1, ENVIRONMENT_DOCUMENT_NAMES_V1, ENVIRONMENT_EFFORTS_V1, ENVIRONMENT_FINDING_KINDS_V1, ENVIRONMENT_IMPACTS_V1, ENVIRONMENT_PILLARS_V1, ENVIRONMENT_SEVERITIES_V1, } from './contracts.js';
2
- import { CURRENCY_PATTERN, DECIMAL_PATTERN, ENVIRONMENT_RUN_ID_PATTERN, SHA256_PATTERN, hasExactKeys, hasSafeContainerShape, isBoundedString, isCanonicalUtcTimestamp, isCustomerString, isNonNegativeInteger, isRecord, isSafeLabel, isScopeIdentifier, isSourceIdentity, utf8ByteLength, } from './internal.js';
2
+ import { CURRENCY_PATTERN, DECIMAL_PATTERN, ENVIRONMENT_RUN_ID_PATTERN, SHA256_PATTERN, hasControlCharacter, hasExactKeys, hasSafeContainerShape, isBoundedString, isCanonicalUtcTimestamp, isCustomerString, isNonNegativeInteger, isRecord, isSafeLabel, isScopeIdentifier, isSourceIdentity, utf8ByteLength, } from './internal.js';
3
3
  import { deriveEnvironmentAzureResourceTypeV1, isEnvironmentLogicalEvidenceReferenceV1, isEnvironmentLogicalResourceReferenceV1, parseEnvironmentLogicalResourceReferenceV1, } from './references.js';
4
4
  const DOCUMENT_NAMES = new Set(ENVIRONMENT_DOCUMENT_NAMES_V1);
5
5
  const SIGNED_DECIMAL_PATTERN = /^-?(?:0|[1-9]\d*)(?:\.\d+)?$/u;
@@ -24,16 +24,41 @@ const SAVINGS_PROJECTIONS = new Set(['projected-monthly', 'observed-period', 'un
24
24
  const DATE_WINDOW_PATTERN = /^\d{4}-\d{2}-\d{2}\/\d{4}-\d{2}-\d{2}$/u;
25
25
  const CHANGE_DIRECTIONS = new Set(['increase', 'decrease', 'unchanged', 'unknown']);
26
26
  const scopesEqual = (left, right) => left.kind === right.kind && left.tenantId === right.tenantId && left.companyId === right.companyId && left.subscriptionId === right.subscriptionId;
27
+ const isScopedEnvironmentDetailRoute = (value) => {
28
+ const match = /^\/company\/([A-Za-z0-9_-]+)\/(dashboard|resources|recommendations|cost-analysis|commitments-planning|security|tags|backups|health|perimeter-insights|change-monitoring)(?:\/([^/?#]+))?(?:\?subscriptions=([A-Za-z0-9_-]+))?$/u.exec(value);
29
+ if (!match)
30
+ return false;
31
+ const [, , page, subject, subscriptionId] = match;
32
+ if (!subject)
33
+ return Boolean(subscriptionId);
34
+ try {
35
+ const decoded = decodeURIComponent(subject);
36
+ // Decode once only. Encoded separators are permitted solely inside an ARM ID,
37
+ // never in the company, page, subscription selection or recommendation ID.
38
+ if (encodeURIComponent(decoded) !== subject || /[%\\?#]/u.test(decoded) || hasControlCharacter(decoded))
39
+ return false;
40
+ if (decoded.split('/').some(segment => segment === '.' || segment === '..'))
41
+ return false;
42
+ if (page === 'recommendations')
43
+ return Boolean(subscriptionId) && /^[A-Za-z0-9_~.-]+$/u.test(decoded);
44
+ if (page !== 'resources')
45
+ return false;
46
+ const resource = /^\/subscriptions\/([A-Za-z0-9_-]+)\/resourcegroups\/[^/]+\/providers\/[^/]+\/.+/iu.exec(decoded);
47
+ return Boolean(resource && (!subscriptionId || resource[1].toLowerCase() === subscriptionId.toLowerCase()));
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ };
27
53
  /** Validates a bounded, local Portal route suitable for client-visible evidence. */
28
54
  export const isEnvironmentPortalRouteV1 = (value) => isBoundedString(value, ENVIRONMENT_CONTRACT_LIMITS_V1.customerStringScalars, { trimmed: true, controls: true }) &&
29
55
  value.startsWith('/') &&
30
56
  !value.startsWith('//') &&
31
57
  !value.includes('\\') &&
32
58
  !value.includes('://') &&
33
- !value.includes('?') &&
34
59
  !value.includes('#') &&
35
- !value.includes('%') &&
36
- value.split('/').every(segment => segment !== '.' && segment !== '..');
60
+ ((!value.includes('?') && !value.includes('%') && value.split('/').every(segment => segment !== '.' && segment !== '..')) ||
61
+ isScopedEnvironmentDetailRoute(value));
37
62
  const isGeneralKey = (value) => isBoundedString(value, ENVIRONMENT_CONTRACT_LIMITS_V1.safeLabelScalars, { trimmed: true, controls: true });
38
63
  const isReferenceArray = (value) => Array.isArray(value) &&
39
64
  value.length <= ENVIRONMENT_CONTRACT_LIMITS_V1.boundedListItems &&
package/dist/esm/index.js CHANGED
@@ -30,6 +30,8 @@ export * from './azure/recommendationState.js';
30
30
  export * from './azure/regulatoryCompliance.js';
31
31
  export * from './azure/resources.js';
32
32
  export * from './azure/reports.js';
33
+ export * from './azure/reportEvidence.js';
34
+ export * from './azure/reportEvidenceValidation.js';
33
35
  export * from './azure/reportingTemplates.js';
34
36
  export * from './azure/reviewChecklist.js';
35
37
  export * from './azure/advisorScore.js';
package/dist/index.d.ts CHANGED
@@ -30,6 +30,8 @@ export * from './azure/recommendationState';
30
30
  export * from './azure/regulatoryCompliance';
31
31
  export * from './azure/resources';
32
32
  export * from './azure/reports';
33
+ export * from './azure/reportEvidence';
34
+ export * from './azure/reportEvidenceValidation';
33
35
  export * from './azure/reportingTemplates';
34
36
  export * from './azure/reviewChecklist';
35
37
  export * from './azure/advisorScore';
@@ -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,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,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,2BAA2B,CAAC;AAC1C,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,eAAe,CAAC;AAC9B,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,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,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,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,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,2BAA2B,CAAC;AAC1C,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,eAAe,CAAC;AAC9B,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
@@ -46,6 +46,8 @@ __exportStar(require("./azure/recommendationState"), exports);
46
46
  __exportStar(require("./azure/regulatoryCompliance"), exports);
47
47
  __exportStar(require("./azure/resources"), exports);
48
48
  __exportStar(require("./azure/reports"), exports);
49
+ __exportStar(require("./azure/reportEvidence"), exports);
50
+ __exportStar(require("./azure/reportEvidenceValidation"), exports);
49
51
  __exportStar(require("./azure/reportingTemplates"), exports);
50
52
  __exportStar(require("./azure/reviewChecklist"), exports);
51
53
  __exportStar(require("./azure/advisorScore"), 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,gEAA8C;AAC9C,uDAAqC;AACrC,8DAA4C;AAC5C,wEAAsD;AACtD,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,4DAA0C;AAC1C,wCAAsB;AACtB,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,4DAA0C;AAC1C,4CAA0B;AAC1B,qDAAmC;AACnC,8CAA4B;AAC5B,uCAAqB;AACrB,gDAA8B;AAC9B,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,gEAA8C;AAC9C,uDAAqC;AACrC,8DAA4C;AAC5C,wEAAsD;AACtD,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,yDAAuC;AACvC,mEAAiD;AACjD,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,4DAA0C;AAC1C,wCAAsB;AACtB,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,4DAA0C;AAC1C,4CAA0B;AAC1B,qDAAmC;AACnC,8CAA4B;AAC5B,uCAAqB;AACrB,gDAA8B;AAC9B,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.407",
3
+ "version": "1.0.2-beta.409",
4
4
  "description": "Shared TypeScript interfaces for SpottoAI",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",