From d21ba92f693e249503f8832931a570040fb76e7e Mon Sep 17 00:00:00 2001 From: Alfonso Noriega Date: Tue, 17 Mar 2026 11:07:54 +0100 Subject: [PATCH 1/2] Add admin hoted app local spec --- .../models/extensions/extension-instance.ts | 5 ++- .../models/extensions/load-specifications.ts | 2 ++ .../models/extensions/specifications/admin.ts | 36 +++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 packages/app/src/cli/models/extensions/specifications/admin.ts diff --git a/packages/app/src/cli/models/extensions/extension-instance.ts b/packages/app/src/cli/models/extensions/extension-instance.ts index 898079bdf9f..ed1894fb474 100644 --- a/packages/app/src/cli/models/extensions/extension-instance.ts +++ b/packages/app/src/cli/models/extensions/extension-instance.ts @@ -11,6 +11,7 @@ import {PrivacyComplianceWebhooksSpecIdentifier} from './specifications/app_conf import {WebhooksSpecIdentifier} from './specifications/app_config_webhook.js' import {WebhookSubscriptionSpecIdentifier} from './specifications/app_config_webhook_subscription.js' import {EventsSpecIdentifier} from './specifications/app_config_events.js' +import {AdminSpecIdentifier} from './specifications/admin.js' import {ExtensionBuildOptions, bundleFunctionExtension} from '../../services/build/extension.js' import {bundleThemeExtension} from '../../services/extensions/bundle.js' import {Identifiers} from '../app/identifiers.js' @@ -41,9 +42,9 @@ export const CONFIG_EXTENSION_IDS: string[] = [ WebhookSubscriptionSpecIdentifier, WebhooksSpecIdentifier, EventsSpecIdentifier, + AdminSpecIdentifier, // Hardcoded identifiers that don't exist locally. 'data', - 'admin', ] /** @@ -541,6 +542,8 @@ export class ExtensionInstance [], +}) + +export default adminSpecificationSpec From 9bb0683dd1866093857f023a7e20989fd30327bf Mon Sep 17 00:00:00 2001 From: Alfonso Noriega Date: Tue, 17 Mar 2026 16:51:01 +0100 Subject: [PATCH 2/2] Fix channel_config uid strategy to use single mode for consistent output folder Co-Authored-By: Claude Sonnet 4.6 --- packages/app/src/cli/models/extensions/specifications/channel.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/app/src/cli/models/extensions/specifications/channel.ts b/packages/app/src/cli/models/extensions/specifications/channel.ts index abe89c4a4e0..a52710c4f4c 100644 --- a/packages/app/src/cli/models/extensions/specifications/channel.ts +++ b/packages/app/src/cli/models/extensions/specifications/channel.ts @@ -6,6 +6,7 @@ const FILE_EXTENSIONS = ['json', 'toml', 'yaml', 'yml', 'svg'] const channelSpecificationSpec = createContractBasedModuleSpecification({ identifier: 'channel_config', + uidStrategy: 'single', buildConfig: { mode: 'copy_files', filePatterns: FILE_EXTENSIONS.map((ext) => joinPath(SUBDIRECTORY_NAME, '**', `*.${ext}`)),