@adminide-stack/core 13.5.25-alpha.9 → 13.5.26-alpha.3
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/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{AUTH_RETURN_TO_PARAM,NATS_HEMERA_ADMINIDE_WORKSPACE,NATS_HEMERA_ADMINIDE_WORKSPACE_UPDATER}from'./constants/constants.js';export{ALL_COUNTRIES_LIMIT,COMMON_COUNTRIES,getCommonCountriesCriteria}from'./constants/countries.js';export{DEFAULT_CPU,DEFAULT_HDD,DEFAULT_RAM}from'./constants/default-workspace-config.js';export{DEFAULT_CONTRIBUTION_TENANT_ID,DEFAULT_TENANT_ID,GLOBAL_CONFIGURATION_FILE,OVERRIDE_IDENTIFIER_PATTERN,OVERRIDE_PATTERN_WITH_SUBSTITUTION,OVERRIDE_PROPERTY,OVERRIDE_PROPERTY_PATTERN,SETTINGS_OVERRRIDE_NODE_ID,USER_CONFIGURATION_FILE}from'./constants/configuration.js';export{ASANA_WEBHOOK_ENDPOINT,ORG_BASE_PATH,ORG_STD_ROUTES}from'./constants/urls.js';export{IntegrationConfigurationRoute,hasOrganizationContext}from'./constants/routes.js';export{BillingPlan}from'./constants/billing-plan.js';export{DEFAULT_ADDON_CATEGORY_TAG_TYPE_ID,DEFAULT_ANONYMOUS_ACCOUNT_ID,DEFAULT_ANONYMOUS_EMAIL,DEFAULT_ANONYMOUS_PUBLISHER_DISPLAY_NAME,DEFAULT_ANONYMOUS_PUBLISHER_ID,DEFAULT_ANONYMOUS_PUBLISHER_NAME,DEFAULT_ANONYMOUS_USERNAME,DEFAULT_APP_ID,DEFAULT_APP_TENANT_ID,DEFAULT_DEVELOPMENT_TAG_ID,DEFAULT_ENVIRONMENT_TAG_TYPE_ID,DEFAULT_ISSUE_TAG_TYPE_ID,DEFAULT_PRODUCTION_TAG_ID,DEFAULT_STAGING_TAG_ID,DEFAULT_SYSTEM_ACCOUNT_ID,DEFAULT_SYSTEM_EMAIL,DEFAULT_SYSTEM_USERNAME,VAULT_DEFAULT_DIR}from'./constants/defaultIds.js';export{LOCAL_MACHINE_SCOPES,ORGANIZATION_SCOPES,REMOTE_MACHINE_SCOPES,RESOURCE_SCOPES,USER_SCOPES}from'./interfaces/configuration/configuration.js';export{ApplicationState,IOrganizationContext,IOrganizationResource}from'./interfaces/organization/organization-context.js';export{Extensions}from'@workbench-stack/core/lib/constants/extensions.js';export{LifecyclePhase,ShutdownReason,StartupKind}from'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';export{PermissionBehavior}from'./interfaces/permissions.js';export*from'common/lib/generated/generated-models.js';export{getFilteredRoutes,getFilteredTabs,getTtl}from'./utils/utils.js';export{configureForCurrentBranch,configureForUpcomingBranch,convertToResourceUri,createDirectResourceUri,createStandardResourceUri,generateHashId,normalizeResourceUri,resourcePath,setupResourceUriConfiguration,strictConvertToResourceUri}from'./utils/resourceUriConversion.js';export{generateApplicationUri,generateMachineUri,generateOrgUri,generateOrgUriById,generateProxyUserUri,generateResourceUri,generateUri,generateUserUri}from'./utils/generate-uri.js';export{RESERVED_CDECODE_PARAMS,determineConfigurationTarget,formatResourceIdWithIdField,generateCdecodeUri,isReservedCdecodeParam,parseCdecodeUri,parseResourceIdWithIdField,validateUserQueryParams}from'./utils/cdecodeUri.js';export{generateApplicationRoleResource,generateRegisteredRoleURI}from'./utils/roles-utils.js';export{getScopes}from'./utils/configuration-utils.js';export{omitDeep}from'./utils/omit-deep.js';export{generateSettingsId}from'./utils/generated-settings-id.js';export{validateEmail}from'./utils/validations.js';export{toMilliSeconds}from'./utils/date-utils.js';export{expand,flatten,flattenObject}from'./utils/flatten-utils.js';export{generateUserAlias}from'./utils/generateUserAlias.js';export{getUserAlias}from'./utils/getUserAlias.js';export{getLogger}from'./utils/getLogger.js';export{FileNameToTarget,SettingsFileName,determineSchemaFromUri,extractExtensionNameFromFragment,extractExtensionNameFromPathSegments,extractFileNameFromPath,generateDefaultConfigurationUri,generateEffectiveExtensionsUri,generateInstalledExtensionsUri,generatePublicExtensionsUri,generateSystemDefaultsUri,getDefaultSettingsURI,getEditableSettingsURI,getOpenSettings,getSettingsFileName,getTargetFromFileName,getTargetFromSettingsUri,isDefaultSettingsUri,mapAuthorityToSchemaId,mapFragmentToSchemaId,mapSchemaIdToAuthority,mapStringToSchemaId,parseDefaultConfigurationUri,parseExtensionFromDefaultSettingsUri}from'./utils/preferenceUri.js';export{reviveUri}from'./utils/reviveUri.js';export{buildExtensionNodeContext,buildExtensionSettingsNodeContext,buildNodeContext,buildPermissionNodeContext,buildPolicyNodeContext,buildRoleNodeContext,buildUiLayoutNodeContext,isSystemContribution}from'./utils/nodeContext.js';export{CONTEXT_ROOT,configurationContextPath,contextPath}from'./utils/context-path.js';export{splitCdecodeUri,splitOrgUri}from'./utils/splitCdecodeUri.js';export{generatePath}from'./utils/generatePath.js';export{resolveContextPlaceholders,resolvePlaceholdersSync,resolveResourceParamsPlaceholders}from'./utils/resolveContextPlaceholders.js';export{SLUG_REGEX,SLUG_VALIDATION_MESSAGE,SLUG_VALIDATOR_CONFIG,getSlugValidationMessage,isValidSlug,slugValidator,slugify}from'./utils/slug-utils.js';export{pubSub}from'./utils/pubsub-utility.js';export{denylistKey,isTokenRevoked}from'./utils/secret-api-token-denylist.js';export{APPROVED_SURFACE_APEXES,isAllowedSurfaceOrigin,surfaceDisplayName}from'./utils/surface-origin.js';export{Disposable,DisposableCollection}from'./core/disposable.js';export{BaseDisposable}from'./core/BaseDisposable.js';export{Emitter,Event,WaitUntilEvent}from'./core/event.js';export{Path}from'./core/path.js';export{OrganizationContext,OrganizationResource,toOrganizationResource,toOrganizationResources,toUri}from'./core/organization/organization.js';export{OrganizationConfiguration}from'./core/organization/configuration.js';export{isOrganizationIdentifier,isRawFileOrganizationResource,isRawUriOrganizationResource,isSingleResourceOrganizationIdentifier,isSingleResourceOrganizationInitializationPayload}from'./core/organization/helpers/organization-helpers.js';export{ConfigurationTargetConfigurationMapper,ConfigurationTargetToString,SettingsTypeToConfiguraitonTarget,addToValueTree,getConfigurationValue,getMigratedSettingValue,isConfigurationOverrides,keyFromOverrideIdentifier,merge,overrideIdentifierFromKey,removeFromValueTree,toValuesTree}from'./core/configurations/helpers/configuration.js';export{ConfigurationModel}from'./core/configurations/models/ConfigurationModel.js';export{EnhancedConfigurationModel}from'./core/configurations/models/ConfigurationModelWrapper.js';export{Configuration,OVERRIDE_PROPERTY_REGEX,compare,overrideIdentifiersFromKey}from'./core/configurations/configuration.js';export{ConfigurationChangeEvent}from'./core/configurations/events/ConfigurationChangeEvent.js';export{parseConfiguration}from'./core/configurations/parser/configurationParser.js';export{createConfigurationModel,extractConfiguration,extractConfigurationWithModel,extractIdentifiersFromKey,getBaseKeys,getOverrideByIdentifier,getOverrideKeys,hasOverrides,isBracketKey,removeOverrideKeys}from'./core/configurations/utils/configurationExtractor.js';export{CdeCodeProvider}from'./core/in-memory-providers/cde-code-provider.js';export{AuthError}from'./errors/auth-error.js';export{AbstractOrganizationContextService}from'./services/abstract-organization-context-service.js';export{AbstractOrganizationConfigurationClientService}from'./services/abstract-configuration.js';export{PreDefineAccountPermissions}from'./modules/account-api/enums/index.js';export{BillingModules,PreDefineBillingPermissions}from'./modules/billing-api/enums/index.js';export{URI,uriToFsPath}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';export{ConfigurationScope}from'common';//# sourceMappingURL=index.js.map
|
|
1
|
+
export{AUTH_RETURN_TO_PARAM,NATS_HEMERA_ADMINIDE_WORKSPACE,NATS_HEMERA_ADMINIDE_WORKSPACE_UPDATER}from'./constants/constants.js';export{ALL_COUNTRIES_LIMIT,COMMON_COUNTRIES,getCommonCountriesCriteria}from'./constants/countries.js';export{DEFAULT_CPU,DEFAULT_HDD,DEFAULT_RAM}from'./constants/default-workspace-config.js';export{DEFAULT_CONTRIBUTION_TENANT_ID,DEFAULT_TENANT_ID,GLOBAL_CONFIGURATION_FILE,OVERRIDE_IDENTIFIER_PATTERN,OVERRIDE_PATTERN_WITH_SUBSTITUTION,OVERRIDE_PROPERTY,OVERRIDE_PROPERTY_PATTERN,SETTINGS_OVERRRIDE_NODE_ID,USER_CONFIGURATION_FILE}from'./constants/configuration.js';export{ASANA_WEBHOOK_ENDPOINT,ORG_BASE_PATH,ORG_STD_ROUTES}from'./constants/urls.js';export{IntegrationConfigurationRoute,hasOrganizationContext}from'./constants/routes.js';export{BillingPlan}from'./constants/billing-plan.js';export{DEFAULT_ADDON_CATEGORY_TAG_TYPE_ID,DEFAULT_ANONYMOUS_ACCOUNT_ID,DEFAULT_ANONYMOUS_EMAIL,DEFAULT_ANONYMOUS_PUBLISHER_DISPLAY_NAME,DEFAULT_ANONYMOUS_PUBLISHER_ID,DEFAULT_ANONYMOUS_PUBLISHER_NAME,DEFAULT_ANONYMOUS_USERNAME,DEFAULT_APP_ID,DEFAULT_APP_TENANT_ID,DEFAULT_DEVELOPMENT_TAG_ID,DEFAULT_ENVIRONMENT_TAG_TYPE_ID,DEFAULT_ISSUE_TAG_TYPE_ID,DEFAULT_PRODUCTION_TAG_ID,DEFAULT_STAGING_TAG_ID,DEFAULT_SYSTEM_ACCOUNT_ID,DEFAULT_SYSTEM_EMAIL,DEFAULT_SYSTEM_USERNAME,VAULT_DEFAULT_DIR}from'./constants/defaultIds.js';export{LOCAL_MACHINE_SCOPES,ORGANIZATION_SCOPES,REMOTE_MACHINE_SCOPES,RESOURCE_SCOPES,USER_SCOPES}from'./interfaces/configuration/configuration.js';export{ApplicationState,IOrganizationContext,IOrganizationResource}from'./interfaces/organization/organization-context.js';export{Extensions}from'@workbench-stack/core/lib/constants/extensions.js';export{LifecyclePhase,ShutdownReason,StartupKind}from'@workbench-stack/core/lib/interfaces/lifecycle/lifecycle.js';export{PermissionBehavior}from'./interfaces/permissions.js';export*from'common/lib/generated/generated-models.js';export{getFilteredRoutes,getFilteredTabs,getTtl}from'./utils/utils.js';export{configureForCurrentBranch,configureForUpcomingBranch,convertToResourceUri,createDirectResourceUri,createStandardResourceUri,generateHashId,normalizeResourceUri,resourcePath,setupResourceUriConfiguration,strictConvertToResourceUri}from'./utils/resourceUriConversion.js';export{generateApplicationUri,generateMachineUri,generateOrgUri,generateOrgUriById,generateProxyUserUri,generateResourceUri,generateUri,generateUserUri}from'./utils/generate-uri.js';export{RESERVED_CDECODE_PARAMS,determineConfigurationTarget,formatResourceIdWithIdField,generateCdecodeUri,isReservedCdecodeParam,parseCdecodeUri,parseResourceIdWithIdField,validateUserQueryParams}from'./utils/cdecodeUri.js';export{generateApplicationRoleResource,generateRegisteredRoleURI}from'./utils/roles-utils.js';export{getScopes}from'./utils/configuration-utils.js';export{omitDeep}from'./utils/omit-deep.js';export{generateSettingsId}from'./utils/generated-settings-id.js';export{validateEmail}from'./utils/validations.js';export{toMilliSeconds}from'./utils/date-utils.js';export{expand,flatten,flattenObject}from'./utils/flatten-utils.js';export{generateUserAlias}from'./utils/generateUserAlias.js';export{getUserAlias}from'./utils/getUserAlias.js';export{getLogger}from'./utils/getLogger.js';export{FileNameToTarget,SettingsFileName,determineSchemaFromUri,extractExtensionNameFromFragment,extractExtensionNameFromPathSegments,extractFileNameFromPath,generateDefaultConfigurationUri,generateEffectiveExtensionsUri,generateInstalledExtensionsUri,generatePublicExtensionsUri,generateSystemDefaultsUri,getDefaultSettingsURI,getEditableSettingsURI,getOpenSettings,getSettingsFileName,getTargetFromFileName,getTargetFromSettingsUri,isDefaultSettingsUri,mapAuthorityToSchemaId,mapFragmentToSchemaId,mapSchemaIdToAuthority,mapStringToSchemaId,parseDefaultConfigurationUri,parseExtensionFromDefaultSettingsUri}from'./utils/preferenceUri.js';export{reviveUri}from'./utils/reviveUri.js';export{buildExtensionNodeContext,buildExtensionSettingsNodeContext,buildNodeContext,buildPermissionNodeContext,buildPolicyNodeContext,buildRoleNodeContext,buildUiLayoutNodeContext,isSystemContribution}from'./utils/nodeContext.js';export{CONTEXT_ROOT,configurationContextPath,contextPath}from'./utils/context-path.js';export{splitCdecodeUri,splitOrgUri}from'./utils/splitCdecodeUri.js';export{generatePath}from'./utils/generatePath.js';export{resolveContextPlaceholders,resolvePlaceholdersSync,resolveResourceParamsPlaceholders}from'./utils/resolveContextPlaceholders.js';export{SLUG_REGEX,SLUG_VALIDATION_MESSAGE,SLUG_VALIDATOR_CONFIG,getSlugValidationMessage,isValidSlug,slugValidator,slugify}from'./utils/slug-utils.js';export{pubSub}from'./utils/pubsub-utility.js';export{denylistKey,isTokenRevoked}from'./utils/secret-api-token-denylist.js';export{APPROVED_SITE_PAGES,APPROVED_SURFACE_APEXES,isAllowedSurfaceOrigin,surfaceDisplayName}from'./utils/surface-origin.js';export{Disposable,DisposableCollection}from'./core/disposable.js';export{BaseDisposable}from'./core/BaseDisposable.js';export{Emitter,Event,WaitUntilEvent}from'./core/event.js';export{Path}from'./core/path.js';export{OrganizationContext,OrganizationResource,toOrganizationResource,toOrganizationResources,toUri}from'./core/organization/organization.js';export{OrganizationConfiguration}from'./core/organization/configuration.js';export{isOrganizationIdentifier,isRawFileOrganizationResource,isRawUriOrganizationResource,isSingleResourceOrganizationIdentifier,isSingleResourceOrganizationInitializationPayload}from'./core/organization/helpers/organization-helpers.js';export{ConfigurationTargetConfigurationMapper,ConfigurationTargetToString,SettingsTypeToConfiguraitonTarget,addToValueTree,getConfigurationValue,getMigratedSettingValue,isConfigurationOverrides,keyFromOverrideIdentifier,merge,overrideIdentifierFromKey,removeFromValueTree,toValuesTree}from'./core/configurations/helpers/configuration.js';export{ConfigurationModel}from'./core/configurations/models/ConfigurationModel.js';export{EnhancedConfigurationModel}from'./core/configurations/models/ConfigurationModelWrapper.js';export{Configuration,OVERRIDE_PROPERTY_REGEX,compare,overrideIdentifiersFromKey}from'./core/configurations/configuration.js';export{ConfigurationChangeEvent}from'./core/configurations/events/ConfigurationChangeEvent.js';export{parseConfiguration}from'./core/configurations/parser/configurationParser.js';export{createConfigurationModel,extractConfiguration,extractConfigurationWithModel,extractIdentifiersFromKey,getBaseKeys,getOverrideByIdentifier,getOverrideKeys,hasOverrides,isBracketKey,removeOverrideKeys}from'./core/configurations/utils/configurationExtractor.js';export{CdeCodeProvider}from'./core/in-memory-providers/cde-code-provider.js';export{AuthError}from'./errors/auth-error.js';export{AbstractOrganizationContextService}from'./services/abstract-organization-context-service.js';export{AbstractOrganizationConfigurationClientService}from'./services/abstract-configuration.js';export{PreDefineAccountPermissions}from'./modules/account-api/enums/index.js';export{BillingModules,PreDefineBillingPermissions}from'./modules/billing-api/enums/index.js';export{URI,uriToFsPath}from'@vscode-alt/monaco-editor/esm/vs/base/common/uri.js';export{ConfigurationScope}from'common';//# sourceMappingURL=index.js.map
|
|
@@ -15,13 +15,28 @@
|
|
|
15
15
|
* frontend IS the apex (`yantra.app`, `clockbook.com`), so that rule yields the
|
|
16
16
|
* PUBLIC SUFFIX — `app`, `com` — and silently widens the allowlist to
|
|
17
17
|
* `*-surface.app` / `*-surface.com`, domains anyone can register.
|
|
18
|
+
*
|
|
19
|
+
* Besides surface hosts, a short list of first-party SITE PAGES: a page of one of
|
|
20
|
+
* our own sites that runs a surface as itself (clockbook.com's home is the
|
|
21
|
+
* clockbook-home surface, chat included, served by the clock-tik site). Each is
|
|
22
|
+
* one exact page - origin and path - never the site as a whole: the rest of
|
|
23
|
+
* clockbook.com is the business site, which has no business holding a token.
|
|
18
24
|
*/
|
|
19
25
|
/** Apexes whose `*-surface` hosts are trusted with a delivered credential. */
|
|
20
26
|
export declare const APPROVED_SURFACE_APEXES: string[];
|
|
27
|
+
/**
|
|
28
|
+
* First-party site pages trusted with a delivered credential, each with the name
|
|
29
|
+
* the consent screen shows. Exact pages: the query may vary, nothing else may.
|
|
30
|
+
*/
|
|
31
|
+
export declare const APPROVED_SITE_PAGES: ReadonlyArray<{
|
|
32
|
+
url: string;
|
|
33
|
+
name: string;
|
|
34
|
+
}>;
|
|
21
35
|
/**
|
|
22
36
|
* A Yantra surface origin: an https host on an approved apex whose leftmost
|
|
23
37
|
* label is a `*-surface` name, in either shape the deploy lane emits —
|
|
24
|
-
* `notion-surface.yantra.app` or `notion-surface.yantra-app-v1.cdebase.dev
|
|
38
|
+
* `notion-surface.yantra.app` or `notion-surface.yantra-app-v1.cdebase.dev` -
|
|
39
|
+
* or exactly one of the {@link APPROVED_SITE_PAGES}.
|
|
25
40
|
*
|
|
26
41
|
* Accepts a `URL` or a string; a string that does not parse is refused rather
|
|
27
42
|
* than guessed at.
|
|
@@ -30,7 +45,8 @@ export declare function isAllowedSurfaceOrigin(input: URL | string): boolean;
|
|
|
30
45
|
/**
|
|
31
46
|
* What a person calls the surface an origin serves, for the consent screen:
|
|
32
47
|
* `telephony-surface.yantra.app` is "Telephony", `document-sign-surface.…` is
|
|
33
|
-
* "Document Sign"
|
|
34
|
-
*
|
|
48
|
+
* "Document Sign", an approved site page is its listed name ("Clockbook"). Only
|
|
49
|
+
* an origin `isAllowedSurfaceOrigin` accepts gets a name, so the page never
|
|
50
|
+
* names a host a token cannot be delivered to.
|
|
35
51
|
*/
|
|
36
52
|
export declare function surfaceDisplayName(input: URL | string): string | null;
|
|
@@ -15,13 +15,43 @@
|
|
|
15
15
|
* frontend IS the apex (`yantra.app`, `clockbook.com`), so that rule yields the
|
|
16
16
|
* PUBLIC SUFFIX — `app`, `com` — and silently widens the allowlist to
|
|
17
17
|
* `*-surface.app` / `*-surface.com`, domains anyone can register.
|
|
18
|
+
*
|
|
19
|
+
* Besides surface hosts, a short list of first-party SITE PAGES: a page of one of
|
|
20
|
+
* our own sites that runs a surface as itself (clockbook.com's home is the
|
|
21
|
+
* clockbook-home surface, chat included, served by the clock-tik site). Each is
|
|
22
|
+
* one exact page - origin and path - never the site as a whole: the rest of
|
|
23
|
+
* clockbook.com is the business site, which has no business holding a token.
|
|
18
24
|
*/
|
|
19
25
|
/** Apexes whose `*-surface` hosts are trusted with a delivered credential. */
|
|
20
26
|
const APPROVED_SURFACE_APEXES = ['yantra.app', 'cdebase.com', 'clockbook.com', 'cdebase.dev'];
|
|
27
|
+
/**
|
|
28
|
+
* First-party site pages trusted with a delivered credential, each with the name
|
|
29
|
+
* the consent screen shows. Exact pages: the query may vary, nothing else may.
|
|
30
|
+
*/
|
|
31
|
+
const APPROVED_SITE_PAGES = [
|
|
32
|
+
// clockbook.com's home: the clockbook-home surface, served by clock-tik.
|
|
33
|
+
{
|
|
34
|
+
url: 'https://clockbook.com/',
|
|
35
|
+
name: 'Clockbook'
|
|
36
|
+
},
|
|
37
|
+
// The same page on the dev cluster (clock-tik in clockbook-app-v10).
|
|
38
|
+
{
|
|
39
|
+
url: 'https://clocktik.clockbook-app-v10.cdebase.dev/',
|
|
40
|
+
name: 'Clockbook'
|
|
41
|
+
}];
|
|
42
|
+
/** The approved site page `url` is, or null. https only; no credentials in the URL. */
|
|
43
|
+
function approvedSitePage(url) {
|
|
44
|
+
if (url.protocol !== 'https:' || url.username || url.password) return null;
|
|
45
|
+
return APPROVED_SITE_PAGES.find(page => {
|
|
46
|
+
const approved = new URL(page.url);
|
|
47
|
+
return approved.origin === url.origin && approved.pathname === url.pathname;
|
|
48
|
+
}) ?? null;
|
|
49
|
+
}
|
|
21
50
|
/**
|
|
22
51
|
* A Yantra surface origin: an https host on an approved apex whose leftmost
|
|
23
52
|
* label is a `*-surface` name, in either shape the deploy lane emits —
|
|
24
|
-
* `notion-surface.yantra.app` or `notion-surface.yantra-app-v1.cdebase.dev
|
|
53
|
+
* `notion-surface.yantra.app` or `notion-surface.yantra-app-v1.cdebase.dev` -
|
|
54
|
+
* or exactly one of the {@link APPROVED_SITE_PAGES}.
|
|
25
55
|
*
|
|
26
56
|
* Accepts a `URL` or a string; a string that does not parse is refused rather
|
|
27
57
|
* than guessed at.
|
|
@@ -33,6 +63,7 @@ function isAllowedSurfaceOrigin(input) {
|
|
|
33
63
|
} catch {
|
|
34
64
|
return false;
|
|
35
65
|
}
|
|
66
|
+
if (approvedSitePage(url)) return true;
|
|
36
67
|
if (url.protocol !== 'https:') return false;
|
|
37
68
|
const host = url.hostname.toLowerCase();
|
|
38
69
|
return APPROVED_SURFACE_APEXES.some(apex => {
|
|
@@ -49,14 +80,17 @@ function isAllowedSurfaceOrigin(input) {
|
|
|
49
80
|
/**
|
|
50
81
|
* What a person calls the surface an origin serves, for the consent screen:
|
|
51
82
|
* `telephony-surface.yantra.app` is "Telephony", `document-sign-surface.…` is
|
|
52
|
-
* "Document Sign"
|
|
53
|
-
*
|
|
83
|
+
* "Document Sign", an approved site page is its listed name ("Clockbook"). Only
|
|
84
|
+
* an origin `isAllowedSurfaceOrigin` accepts gets a name, so the page never
|
|
85
|
+
* names a host a token cannot be delivered to.
|
|
54
86
|
*/
|
|
55
87
|
function surfaceDisplayName(input) {
|
|
56
88
|
if (!isAllowedSurfaceOrigin(input)) return null;
|
|
57
89
|
const url = typeof input === 'string' ? new URL(input) : input;
|
|
90
|
+
const sitePage = approvedSitePage(url);
|
|
91
|
+
if (sitePage) return sitePage.name;
|
|
58
92
|
const slug = url.hostname.toLowerCase().split('.')[0].replace(/-surface$/, '');
|
|
59
93
|
const words = slug.split('-').filter(Boolean);
|
|
60
94
|
if (!words.length) return null;
|
|
61
95
|
return words.map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
|
|
62
|
-
}export{APPROVED_SURFACE_APEXES,isAllowedSurfaceOrigin,surfaceDisplayName};//# sourceMappingURL=surface-origin.js.map
|
|
96
|
+
}export{APPROVED_SITE_PAGES,APPROVED_SURFACE_APEXES,isAllowedSurfaceOrigin,surfaceDisplayName};//# sourceMappingURL=surface-origin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-origin.js","sources":["../../src/utils/surface-origin.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"surface-origin.js","sources":["../../src/utils/surface-origin.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AAEH;AACO,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa;AAEnG;;;AAGG;AACI,MAAM,mBAAmB,GAAiD;;AAE7E;KACA,EAAA,wBAAA;AACA,EAAA,IAAE;CACL;AAED;AACA;AACI,EAAA,GAAA,EAAA,iDAAoD;AAAW,EAAA,IAAA,EAAA;;;AAIvD,SAAA,gBAAgB,CAAA,GAAA,EAAM;AAC1B,EAAA,IAAE,GAAA,CAAI,QACR,KAAA,QAAA,IAAA,GAAA,CAAA,QAAA,IAAA,GAAA,CAAA,QAAA,EAAA,OAAA,IAAA;AACN,EAAC,OAAA,mBAAA,CAAA,IAAA,CAAA,IAAA,IAAA;AAED,IAAA,MAAA,QAAA,GAAA,IAAA,GAAA,CAAA,IAAA,CAAA,GAAA,CAAA;;;;;;;;AAQG;AACH;AACI;AACA;AACI;AACH,SAAA,sBAAA,CAAA,KAAA,EAAA;AAAC,EAAA,IAAA,GAAA;AACE,EAAA,IAAA;IACJ,GAAC,GAAA,OAAA,KAAA,KAAA,QAAA,GAAA,IAAA,GAAA,CAAA,KAAA,CAAA,GAAA,KAAA;IACD,MAAI;AAAuB,IAAA,OAAA;AAC3B,EAAA;AAA+B,EAAA,IAAA,gBAAa,CAAA,GAAA,CAAA,EAAA,OAAA,IAAA;MAC5C,GAAA,CAAM,QAAO,aAAa,EAAA,OAAA,KAAc;AACxC,EAAA,MAAA,+BAAmC,EAAE;SACjC,uBAAuB,CAAA,IAAM,CAAC,IAAA,IAAA;AAAE,IAAA,IAAA,CAAA,IAAA,CAAA,UAAY,CAAC,EAAA,IAAA,CAAA,CAAA,CAAA,EAAA,OAAA,KAAA;;;;UAI7C,MAAM,GAAA,IAAS,CAAA,SAAU,EAAE,IAAI,CAAA,MAAK,GAAA,CAAM,CAAA,CAAA,CAAG,KAAI,CAAA,GAAK,CAAC;QACvD,MAAI,CAAA,MAAO,GAAA,CAAM,IAAI,MAAI,CAAA,MAAO,GAAA,CAAM,EAAA,OAAI,KAAA;AAAE,IAAA,IAAA,CAAA,sBAAa,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,EAAA,OAAA,KAAA;WACzD,qCAAwC,CAAC,IAAE,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAE,EAAA,CAAA,CAAA;AAC7C;AACJ;AACJ;AAEA;;;;;;AAMG,EAAA,IAAA,CAAA,sBAAA,CAAA,KAAA,CAAA,EAAA,OAAA,IAAA;AACH,EAAA,MAAM,GAAA,GAAA,OAAU,KAAA,KAAA,QAAmB,GAAmB,IAAA,GAAA,CAAA,KAAA,CAAA,GAAA,KAAA;AAClD,EAAA,MAAI,QAAC,GAAA,gBAAuB,CAAA,GAAM,CAAA;AAAE,EAAA,IAAA,QAAA,SAAY,QAAA,CAAA,IAAA;AAChD,EAAA,MAAA,OAAS,GAAG,CAAA,SAAY,WAAK,EAAQ,CAAC,KAAE,CAAI,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,mBAAe,EAAA,EAAA,CAAA;AAC/D,EAAA,MAAA,YAAc,CAAG,KAAA,CAAA,GAAA,CAAA,CAAA,MAAiB,CAAA,OAAK,CAAA;AACvC,EAAA,IAAA,CAAA,KAAI,CAAA,MAAQ,EAAA,OAAA,IAAA;SAAE,KAAA,CAAO,GAAA,CAAA,CAAA,IAAS,CAAA,CAAA,MAAK,CAAA,CAAA,CAAA,CAAA,WAAA,EAAA,GAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,GAAA,CAAA;AACnC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adminide-stack/core",
|
|
3
|
-
"version": "13.5.
|
|
3
|
+
"version": "13.5.26-alpha.3",
|
|
4
4
|
"description": "AdminIDE core for higher packages to depend on",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "adminide-stack-user",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"vscode-uri": "^3.0.8"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"common": "13.5.
|
|
33
|
+
"common": "13.5.26-alpha.0"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@common-stack/server-core": ">=9.2.1-alpha.0",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"typescript": {
|
|
40
40
|
"definition": "lib/index.d.ts"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "1d5ad1ecec56b47b2ac28996cb110e0c47a8bb72"
|
|
43
43
|
}
|