@ionite/ecv 0.0.24-beta.20260930.19 → 0.0.24-beta.20261003.16
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/index.d.ts +8 -47
- package/dist/index.js +1 -1
- package/dist/shared/ecv-gg4mz9dm.js +9 -0
- package/dist/vitest.d.ts +0 -30
- package/dist/vitest.js +1 -1
- package/package.json +7 -7
- package/dist/shared/ecv-e1pn2rgg.js +0 -9
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { AppUnderTest, StartAppOptions, WaitForReadyOptions } from "@ionite/devtools";
|
|
2
|
+
import { startAppUnderTest, waitForReady } from "@ionite/devtools";
|
|
3
|
+
import { ConfigLocator, EnterpriseExtension, Ionite } from "@ionite/server";
|
|
1
4
|
/** Serializable connection details provided by the ECV server control API. */
|
|
2
5
|
interface SerializedEcvServerHandle {
|
|
3
6
|
baseUrl: string;
|
|
@@ -8,7 +11,6 @@ interface SerializedEcvServerHandle {
|
|
|
8
11
|
ION_VAULT_URL: string;
|
|
9
12
|
ION_VAULT_TOKEN: string;
|
|
10
13
|
ION_VAULT_PATH: string;
|
|
11
|
-
ION_ECV_CONTROL_TOKEN: string;
|
|
12
14
|
REDIS_URL?: string;
|
|
13
15
|
};
|
|
14
16
|
configLocator: {
|
|
@@ -42,7 +44,6 @@ interface OaaPushRecord {
|
|
|
42
44
|
}
|
|
43
45
|
interface EcvServerHandle extends SerializedEcvServerHandle {
|
|
44
46
|
reset(): Promise<void>;
|
|
45
|
-
decideAccessRequest(id: string, status: "approved" | "denied"): Promise<void>;
|
|
46
47
|
setTestUser(user: TestUser): Promise<void>;
|
|
47
48
|
mintTmHandle(input: {
|
|
48
49
|
audience: string;
|
|
@@ -60,7 +61,6 @@ interface EcvServerHandle extends SerializedEcvServerHandle {
|
|
|
60
61
|
/** Restore control methods after a handle crosses Vitest's serializable `provide` boundary. */
|
|
61
62
|
declare function ecvHandleFrom(serialized: SerializedEcvServerHandle): EcvServerHandle;
|
|
62
63
|
declare function connectEcvServer(baseUrl: string, token?: string): Promise<EcvServerHandle>;
|
|
63
|
-
import { ConfigLocator, EnterpriseExtension, Ionite } from "@ionite/server";
|
|
64
64
|
/**
|
|
65
65
|
* ionite Validator Types
|
|
66
66
|
*
|
|
@@ -435,26 +435,6 @@ interface ValidationReport {
|
|
|
435
435
|
*/
|
|
436
436
|
duration: number;
|
|
437
437
|
}
|
|
438
|
-
interface EcvAccessRequestVariantOptions {
|
|
439
|
-
/** App-owned ECV endpoint that submits and reads access requests for this principal kind. */
|
|
440
|
-
accessRequestsPath: string;
|
|
441
|
-
/** App-owned ECV endpoint that probes the requested permission with this principal's session. */
|
|
442
|
-
permissionProbePath: string;
|
|
443
|
-
/** Principal represented by the matching ECV mock IdP identity. */
|
|
444
|
-
subject: string;
|
|
445
|
-
/** Requestable catalog target whose approval should add an entitlement claim. */
|
|
446
|
-
target: string;
|
|
447
|
-
/** CIAM provider key when the App has multiple customer access-request destinations. */
|
|
448
|
-
provider?: string;
|
|
449
|
-
}
|
|
450
|
-
interface EcvAccessRequestsOptions {
|
|
451
|
-
/** Validate workforce/SSO IdP-governed assignment. */
|
|
452
|
-
users?: EcvAccessRequestVariantOptions;
|
|
453
|
-
/** Validate customer/CIAM IdP-governed assignment. */
|
|
454
|
-
customers?: EcvAccessRequestVariantOptions;
|
|
455
|
-
}
|
|
456
|
-
import { AppUnderTest, StartAppOptions, WaitForReadyOptions } from "@ionite/devtools";
|
|
457
|
-
import { startAppUnderTest, waitForReady } from "@ionite/devtools";
|
|
458
438
|
declare function createAuthzClosureTests(): {
|
|
459
439
|
tests: TestDef[];
|
|
460
440
|
};
|
|
@@ -467,7 +447,7 @@ declare function createOaaProjectionTests(config: AuthzValidationConfig): TestDe
|
|
|
467
447
|
/**
|
|
468
448
|
* Workload OAuth-scope tests (require the ECV mock server for JWKS + token minting). They validate
|
|
469
449
|
* the two authorization sources for a workload: explicit `hasScope*` (token claims) and the
|
|
470
|
-
* config-gated `
|
|
450
|
+
* config-gated `scopesAsEntitlements` auto-honor inside `has*`.
|
|
471
451
|
*/
|
|
472
452
|
declare function createWorkloadScopeTests(config: AuthzValidationConfig): TestDef[];
|
|
473
453
|
/**
|
|
@@ -529,15 +509,6 @@ declare function buildEcvTenantCatalog(config: ECVCatalogConfig, options?: EcvTe
|
|
|
529
509
|
/** Options specific to one explicitly registered capability unit. */
|
|
530
510
|
interface EcvUnitCatalogOptions {
|
|
531
511
|
expectedCallbackErrorPattern?: RegExp;
|
|
532
|
-
ssoClaimsAuthz?: {
|
|
533
|
-
permissionProbePath: string;
|
|
534
|
-
group: string;
|
|
535
|
-
};
|
|
536
|
-
ciamClaimsAuthz?: {
|
|
537
|
-
permissionProbePath: string;
|
|
538
|
-
group: string;
|
|
539
|
-
};
|
|
540
|
-
accessRequests?: EcvAccessRequestsOptions;
|
|
541
512
|
}
|
|
542
513
|
/** Build the static entries for one capability selected by the suite builder. */
|
|
543
514
|
declare function buildEcvUnitCatalog(config: ECVCatalogConfig, unit: CapabilityKey2, options?: EcvUnitCatalogOptions): EcvCatalogEntry[];
|
|
@@ -601,7 +572,7 @@ declare class EcvContainer {
|
|
|
601
572
|
}
|
|
602
573
|
/**
|
|
603
574
|
* Canonical `ion:*` scope strings the ECV harness embeds in workload tokens so deny-by-default SDK
|
|
604
|
-
* endpoints (AUDIT_HISTORY.md §1.32) authorize via `
|
|
575
|
+
* endpoints (AUDIT_HISTORY.md §1.32) authorize via `scopesAsEntitlements`. They mirror the SDK-owned Permission
|
|
605
576
|
* ids so they can never drift from the gate.
|
|
606
577
|
*/
|
|
607
578
|
/** All three SCIM scopes (read + user/group writes) — the IAM suite reads and writes with one token. */
|
|
@@ -616,7 +587,7 @@ declare const ION_TENANT_SCOPE: string;
|
|
|
616
587
|
* identity.
|
|
617
588
|
*
|
|
618
589
|
* The SDK gates its protected endpoints deny-by-default (AUDIT_HISTORY.md §1.32). When the app under test enables
|
|
619
|
-
* `
|
|
590
|
+
* `RemoteConfig.authz.scopesAsEntitlements` (the ECV mock vault does), the requested `scope` is honored
|
|
620
591
|
* as the matching entitlement — so pass the `ion:*` permission id(s) the endpoint requires (e.g.
|
|
621
592
|
* `ion:tenant:manage`, `ion:capabilitiez:read`, or the IAM scopes). Omit `scope` to mint an
|
|
622
593
|
* authenticated-but-unauthorized token (useful for asserting 403 denial).
|
|
@@ -911,7 +882,7 @@ declare function validateVaultWebSocketTransport(): Promise<ValidationSuiteResul
|
|
|
911
882
|
*
|
|
912
883
|
* Keep this synchronized with packages/ecv/package.json via publish.ts.
|
|
913
884
|
*/
|
|
914
|
-
declare const ECV_VERSION = "0.0.24-beta.
|
|
885
|
+
declare const ECV_VERSION = "0.0.24-beta.20261003.16";
|
|
915
886
|
/**
|
|
916
887
|
* Runs all Workload validation tests
|
|
917
888
|
*/
|
|
@@ -962,12 +933,6 @@ interface EcvSsoLoginOptions {
|
|
|
962
933
|
/** Register a named assertion that failed callbacks expose this generic error marker. */
|
|
963
934
|
expectedCallbackErrorPattern?: RegExp;
|
|
964
935
|
}
|
|
965
|
-
interface EcvClaimsAuthzOptions {
|
|
966
|
-
/** App-owned endpoint that returns 200 when the principal holds the tested permission and 403 otherwise. */
|
|
967
|
-
permissionProbePath: string;
|
|
968
|
-
/** Catalog group id the configured issuer's `groups` claim expands. */
|
|
969
|
-
group: string;
|
|
970
|
-
}
|
|
971
936
|
type EcvTenantsOptions = EcvTenantCatalogOptions;
|
|
972
937
|
/** Navigable ECV unit registrar returned by {@link ecvSuite}. */
|
|
973
938
|
interface EcvSuite {
|
|
@@ -976,14 +941,12 @@ interface EcvSuite {
|
|
|
976
941
|
jit: () => void;
|
|
977
942
|
logout: () => void;
|
|
978
943
|
back_channel_logout: () => void;
|
|
979
|
-
claims_authz: (options: EcvClaimsAuthzOptions) => void;
|
|
980
944
|
};
|
|
981
945
|
ciam: {
|
|
982
946
|
customer: () => void;
|
|
983
947
|
magic_link: () => void;
|
|
984
948
|
oidc_login: () => void;
|
|
985
949
|
logout: () => void;
|
|
986
|
-
claims_authz: (options: EcvClaimsAuthzOptions) => void;
|
|
987
950
|
};
|
|
988
951
|
iam: {
|
|
989
952
|
users: () => void;
|
|
@@ -994,11 +957,9 @@ interface EcvSuite {
|
|
|
994
957
|
workload: {
|
|
995
958
|
incoming: () => void;
|
|
996
959
|
outgoing: () => void;
|
|
997
|
-
claims_authz: () => void;
|
|
998
960
|
};
|
|
999
961
|
authz: {
|
|
1000
962
|
oaa: () => void;
|
|
1001
|
-
access_requests: (options: EcvAccessRequestsOptions) => void;
|
|
1002
963
|
};
|
|
1003
964
|
/** Register root tenant-management and cross-tenant isolation assertions. */
|
|
1004
965
|
tenants: (options?: EcvTenantsOptions) => void;
|
|
@@ -1015,4 +976,4 @@ interface EcvSuite {
|
|
|
1015
976
|
declare function ecvSuite(config: EcvSuiteOptions): EcvSuite;
|
|
1016
977
|
/** Print the legacy structured report used by the deferred standalone runner. */
|
|
1017
978
|
declare function printReport(report: ValidationReport): void;
|
|
1018
|
-
export { AppUnderTest, AuthzValidationConfig, CIAMValidationConfig, ECVCatalogConfig, ECV_VERSION,
|
|
979
|
+
export { AppUnderTest, AuthzValidationConfig, CIAMValidationConfig, ECVCatalogConfig, ECV_VERSION, EcvCatalogEntry, EcvCatalogUnit, EcvContainer, EcvContainerOptions, EcvPostgresOptions, EcvServerHandle, EcvSsoLoginOptions, EcvSuite, EcvSuiteHooks, EcvSuiteOptions, EcvSuiteSetup, EcvTenantCatalogOptions, EcvTenantsOptions, EcvTestContext, EcvTestEnvironmentOptions, EcvUnitCatalogOptions, IAMValidationConfig, ION_CAPABILITIEZ_SCOPE, ION_IAM_SCOPES, ION_TENANT_SCOPE, OaaPushRecord, ProvisionTenantOptions, ProvisionedTenant, QUARANTINED_SDK_VERSIONS, SSOValidationConfig, SUPPORTED_SDK_RANGE, SerializedEcvServerHandle, StartAppOptions, StartedEcvContainer, StartedEcvTestEnvironment, TenantManagementTestConfig, TenantValidationConfig, TenantValidationProfile, TestDef, TestUser, ValidationConfig, ValidationReport, ValidationResult, ValidationSuiteResult, WaitForReadyOptions, WorkloadValidationConfig, assert, assertEqual, assertValid, buildEcvMetaCatalog, buildEcvSdkCatalog, buildEcvTenantCatalog, buildEcvUnitCatalog, completeLoginFlow, connectEcvServer, createAuthzClosureTests, createCIAMTests, createConfigBoundaryTests, createConfigLifecycleTests, createConfigRetryTests, createDisplayCookieTests, createFetcher, createHarnessSelfTests, createIAMTests, createIamDeltaPatchTests, createIamPrincipalPullTests, createKmsTests, createLfvCallbackTests, createOaaProjectionTests, createOtelTests, createPerformanceTuningTests, createProtocolSurfaceTests, createRedisStoreTests, createSSOTests, createSecretsHardeningTests, createSessionEntriesTests, createSsoControlContractTests, createSsoIdTokenVerificationTests, createSsoSessionWindowTests, createSsoTokenClientAuthTests, createTenantAccessTests, createTenantLifecycleTests, createTenantManagementTests, createTenantTests, createValidatorParityTests, createVaultCoordinationTests, createVaultWebSocketTransportTests, createWorkloadScopeTests, createWorkloadTests, ecvHandleFrom, ecvSuite, fetchCapabilitiezManifest, getTenantAuthToken, printReport, provisionTenant, resolveBaseUrl, runLoginToCallback, runTest, satisfiesSdkRange, skipTest, startAppUnderTest, startEcvTestEnvironment, validateAuthz, validateCIAM, validateDisplayCookies, validateIAM, validateIamDelta, validateIamPrincipals, validateKms, validateLfvDelivery, validateOtel, validatePerformanceTuning, validateProtocolSurface, validateRedisStores, validateSSO, validateSecretsHardening, validateSessionEntries, validateSsoControlContract, validateSsoIdTokenVerification, validateSsoSessionWindow, validateSsoTokenClientAuth, validateTenant, validateTenantAccess, validateTenantLifecycle, validateValidatorParity, validateVaultCoordination, validateVaultWebSocketTransport, validateWorkload, waitForReady };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{$ as aa,A,Aa as Ba,B,Ba as Ca,C,Ca as Da,D,Da as Ea,E,Ea as Fa,F,Fa as Ga,G,Ga as Ha,H,Ha as Ia,I,Ia as Ja,J,Ja as Ka,K,Ka as La,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,a,aa as ba,b,ba as ca,c,ca as da,d,da as ea,e,ea as fa,f,fa as ga,g,ga as ha,h,ha as ia,i,ia as ja,j,ja as ka,k,ka as la,l,la as ma,m,ma as na,n,na as oa,o,oa as pa,p,pa as qa,q,qa as ra,r,ra as sa,s,sa as ta,t,ta as ua,u,ua as va,v,va as wa,w,wa as xa,x,xa as ya,y,ya as za,z,za as Aa}from"./shared/ecv-gg4mz9dm.js";export{H as ECV_VERSION,Aa as EcvContainer,v as ION_CAPABILITIEZ_SCOPE,u as ION_IAM_SCOPES,w as ION_TENANT_SCOPE,J as QUARANTINED_SDK_VERSIONS,I as SUPPORTED_SDK_RANGE,za as StartedEcvContainer,g as assert,h as assertEqual,i as assertValid,ta as buildEcvMetaCatalog,ua as buildEcvSdkCatalog,va as buildEcvTenantCatalog,wa as buildEcvUnitCatalog,V as completeLoginFlow,ya as connectEcvServer,j as createAuthzClosureTests,o as createCIAMTests,s as createConfigBoundaryTests,r as createConfigLifecycleTests,t as createConfigRetryTests,Z as createDisplayCookieTests,d as createFetcher,y as createHarnessSelfTests,A as createIAMTests,B as createIamDeltaPatchTests,D as createIamPrincipalPullTests,F as createKmsTests,p as createLfvCallbackTests,k as createOaaProjectionTests,L as createOtelTests,Ca as createPerformanceTuningTests,N as createProtocolSurfaceTests,Ea as createRedisStoreTests,U as createSSOTests,P as createSecretsHardeningTests,R as createSessionEntriesTests,X as createSsoControlContractTests,aa as createSsoIdTokenVerificationTests,ca as createSsoSessionWindowTests,ea as createSsoTokenClientAuthTests,ka as createTenantAccessTests,Ga as createTenantLifecycleTests,ja as createTenantManagementTests,ia as createTenantTests,Ia as createValidatorParityTests,ma as createVaultCoordinationTests,oa as createVaultWebSocketTransportTests,l as createWorkloadScopeTests,ra as createWorkloadTests,xa as ecvHandleFrom,Ka as ecvSuite,sa as fetchCapabilitiezManifest,x as getTenantAuthToken,La as printReport,ga as provisionTenant,c as resolveBaseUrl,W as runLoginToCallback,e as runTest,K as satisfiesSdkRange,f as skipTest,a as startAppUnderTest,Ba as startEcvTestEnvironment,m as validateAuthz,n as validateCIAM,_ as validateDisplayCookies,z as validateIAM,C as validateIamDelta,E as validateIamPrincipals,G as validateKms,q as validateLfvDelivery,M as validateOtel,Da as validatePerformanceTuning,O as validateProtocolSurface,Fa as validateRedisStores,T as validateSSO,Q as validateSecretsHardening,S as validateSessionEntries,Y as validateSsoControlContract,ba as validateSsoIdTokenVerification,da as validateSsoSessionWindow,fa as validateSsoTokenClientAuth,ha as validateTenant,la as validateTenantAccess,Ha as validateTenantLifecycle,Ja as validateValidatorParity,na as validateVaultCoordination,pa as validateVaultWebSocketTransport,qa as validateWorkload,b as waitForReady};
|