@ankhorage/templates 7.0.3 → 9.0.0

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/assets/templates/capability-proof/checker.svg +1 -0
  3. package/dist/authoring/compose-category-manifest.d.ts +40 -0
  4. package/dist/authoring/compose-category-manifest.d.ts.map +1 -0
  5. package/dist/authoring/compose-category-manifest.js +150 -0
  6. package/dist/authoring/compose-category-manifest.js.map +1 -0
  7. package/dist/catalog.d.ts +4 -3
  8. package/dist/catalog.d.ts.map +1 -1
  9. package/dist/catalog.js +6 -3
  10. package/dist/catalog.js.map +1 -1
  11. package/dist/commands.d.ts +4 -6
  12. package/dist/commands.d.ts.map +1 -1
  13. package/dist/commands.js +16 -14
  14. package/dist/commands.js.map +1 -1
  15. package/dist/design/category-source.d.ts +557 -0
  16. package/dist/design/category-source.d.ts.map +1 -0
  17. package/dist/design/category-source.js +578 -0
  18. package/dist/design/category-source.js.map +1 -0
  19. package/dist/design/category-theme.d.ts +44 -0
  20. package/dist/design/category-theme.d.ts.map +1 -0
  21. package/dist/design/category-theme.js +146 -0
  22. package/dist/design/category-theme.js.map +1 -0
  23. package/dist/design/category-types.d.ts +73 -0
  24. package/dist/design/category-types.d.ts.map +1 -0
  25. package/dist/design/category-types.js +3 -0
  26. package/dist/design/category-types.js.map +1 -0
  27. package/dist/design/tone-catalog.d.ts +29 -0
  28. package/dist/design/tone-catalog.d.ts.map +1 -0
  29. package/dist/design/tone-catalog.js +254 -0
  30. package/dist/design/tone-catalog.js.map +1 -0
  31. package/dist/generators/create-category-app.d.ts.map +1 -1
  32. package/dist/generators/create-category-app.js +9 -3
  33. package/dist/generators/create-category-app.js.map +1 -1
  34. package/dist/index.d.ts +6 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +6 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/presets/category-presets.d.ts +4 -10
  39. package/dist/presets/category-presets.d.ts.map +1 -1
  40. package/dist/presets/category-presets.js +101 -209
  41. package/dist/presets/category-presets.js.map +1 -1
  42. package/dist/projectSeed.d.ts +4 -0
  43. package/dist/projectSeed.d.ts.map +1 -1
  44. package/dist/projectSeed.js +75 -5
  45. package/dist/projectSeed.js.map +1 -1
  46. package/dist/templates/shared/create-theme.d.ts +1 -0
  47. package/dist/templates/shared/create-theme.d.ts.map +1 -1
  48. package/dist/templates/shared/create-theme.js +2 -0
  49. package/dist/templates/shared/create-theme.js.map +1 -1
  50. package/dist/templates/starter/index.d.ts +2 -1
  51. package/dist/templates/starter/index.d.ts.map +1 -1
  52. package/dist/templates/starter/index.js +1 -0
  53. package/dist/templates/starter/index.js.map +1 -1
  54. package/dist/templates/starter/starter.assets.d.ts +22 -0
  55. package/dist/templates/starter/starter.assets.d.ts.map +1 -0
  56. package/dist/templates/starter/starter.assets.js +124 -0
  57. package/dist/templates/starter/starter.assets.js.map +1 -0
  58. package/dist/templates/starter/starter.registry.d.ts.map +1 -1
  59. package/dist/templates/starter/starter.registry.js +6 -11
  60. package/dist/templates/starter/starter.registry.js.map +1 -1
  61. package/dist/templates/starter/starter.template.d.ts +3 -4
  62. package/dist/templates/starter/starter.template.d.ts.map +1 -1
  63. package/dist/templates/starter/starter.template.js +5 -2
  64. package/dist/templates/starter/starter.template.js.map +1 -1
  65. package/dist/templates/starter/starter.types.d.ts +4 -0
  66. package/dist/templates/starter/starter.types.d.ts.map +1 -1
  67. package/dist/templates/starter/starter.types.js.map +1 -1
  68. package/package.json +5 -3
  69. package/dist/templates/starter/categories/fallback/default.template.d.ts +0 -4
  70. package/dist/templates/starter/categories/fallback/default.template.d.ts.map +0 -1
  71. package/dist/templates/starter/categories/fallback/default.template.js +0 -17
  72. package/dist/templates/starter/categories/fallback/default.template.js.map +0 -1
  73. package/dist/templates/starter/categories/fallback/index.d.ts +0 -8
  74. package/dist/templates/starter/categories/fallback/index.d.ts.map +0 -1
  75. package/dist/templates/starter/categories/fallback/index.js +0 -10
  76. package/dist/templates/starter/categories/fallback/index.js.map +0 -1
  77. package/dist/templates/starter/categories/fallback/routes.d.ts +0 -9
  78. package/dist/templates/starter/categories/fallback/routes.d.ts.map +0 -1
  79. package/dist/templates/starter/categories/fallback/routes.js +0 -20
  80. package/dist/templates/starter/categories/fallback/routes.js.map +0 -1
  81. package/dist/templates/starter/categories/fallback/screens.d.ts +0 -5
  82. package/dist/templates/starter/categories/fallback/screens.d.ts.map +0 -1
  83. package/dist/templates/starter/categories/fallback/screens.js +0 -133
  84. package/dist/templates/starter/categories/fallback/screens.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ankhorage/templates
2
2
 
3
+ ## 9.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 0dcc320: Return starter-template artifacts with verified bundled image descriptors and materialize their bytes into generated projects.
8
+
9
+ ## 8.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - 407303f: Make Templates the canonical owner of reconciled category design presets, the exhaustive mode-aware tone-pair catalog, ZORA-compiled category theme resolution, and deterministic manifest authoring diagnostics. Replace the former singular `primaryColor` and `harmony` preset fields with ordered reviewed recommendations, add durable intent/font/density/shape direction, and remove the invalid unknown-category fallback.
14
+
15
+ CHANGE REQUIRED: update `@ankhorage/zora` from `^3.3.3` to `^4.0.0` and add the direct `@ankhorage/color-theory` dependency used to construct branded compiler contrast inputs. Templates now consumes the ZORA 4 theme compiler and canonical MissingElement metadata.
16
+
17
+ VERIFIED: NO CHANGE REQUIRED for ZORA 3.3.4; that release only refreshed Surface and introduced no Templates API migration beyond the ZORA 4 compiler adoption above.
18
+
3
19
  ## 7.0.3
4
20
 
5
21
  ### Patch Changes
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="2" height="2" viewBox="0 0 2 2"><path fill="#7c3aed" d="M0 0h1v1H0zM1 1h1v1H1z"/></svg>
@@ -0,0 +1,40 @@
1
+ import { type AppCategory, type AppManifest, type ComponentDataBindingRegistry, type DataSourceRegistry, type NavigatorSpec, type ScreenSpec } from '@ankhorage/contracts';
2
+ import { type CategoryDesignOverrides } from '../design/category-theme';
3
+ export type TemplateAuthoringState = 'draft' | 'release';
4
+ export type TemplateCompositionStatus = 'blocked' | 'ready';
5
+ export type TemplateCompositionDiagnosticCode = 'invalid-manifest' | 'missing-element' | 'missing-route-screen' | 'theme-compilation-error' | 'theme-intent-warning';
6
+ export interface TemplateCompositionDiagnostic {
7
+ readonly code: TemplateCompositionDiagnosticCode;
8
+ readonly severity: 'error' | 'warning';
9
+ readonly path: string;
10
+ readonly message: string;
11
+ readonly nodeId?: string;
12
+ readonly requestedCapability?: string;
13
+ }
14
+ export interface ComposeCategoryAppManifestInput {
15
+ readonly category: AppCategory;
16
+ readonly name?: string;
17
+ readonly slug?: string;
18
+ readonly version?: string;
19
+ readonly navigator: NavigatorSpec;
20
+ readonly screens: Readonly<Record<string, ScreenSpec>>;
21
+ readonly dataSources?: DataSourceRegistry;
22
+ readonly dataBindings?: ComponentDataBindingRegistry;
23
+ readonly modules?: readonly string[];
24
+ readonly modulesConfig?: Readonly<Record<string, unknown>>;
25
+ readonly theme?: CategoryDesignOverrides;
26
+ readonly authoringState?: TemplateAuthoringState;
27
+ }
28
+ export interface CategoryAppManifestComposition {
29
+ readonly manifest: AppManifest;
30
+ readonly diagnostics: readonly TemplateCompositionDiagnostic[];
31
+ readonly status: TemplateCompositionStatus;
32
+ readonly authoringState: TemplateAuthoringState;
33
+ }
34
+ /*** Validate one canonical manifest for catalog registration or release finalization. */
35
+ export declare function validateTemplateManifest(manifest: AppManifest, authoringState?: TemplateAuthoringState): CategoryAppManifestComposition;
36
+ /*** Compose canonical manifest inputs with a category/theme shell and explicit diagnostics. */
37
+ export declare function composeCategoryAppManifest(input: ComposeCategoryAppManifestInput): CategoryAppManifestComposition;
38
+ /*** Fail catalog registration or release finalization while any blocker remains. */
39
+ export declare function assertTemplateManifestReady(composition: CategoryAppManifestComposition): AppManifest;
40
+ //# sourceMappingURL=compose-category-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-category-manifest.d.ts","sourceRoot":"","sources":["../../src/authoring/compose-category-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,UAAU,EAEhB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,0BAA0B,CAAC;AAI/F,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,OAAO,CAAC;AAC5D,MAAM,MAAM,iCAAiC,GACzC,kBAAkB,GAClB,iBAAiB,GACjB,sBAAsB,GACtB,yBAAyB,GACzB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,iCAAiC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,4BAA4B,CAAC;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAClD;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;CACjD;AAED,yFAAyF;AACzF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,WAAW,EACrB,cAAc,GAAE,sBAAkC,GACjD,8BAA8B,CAsBhC;AA+FD,+FAA+F;AAC/F,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,+BAA+B,GACrC,8BAA8B,CAmChC;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,8BAA8B,GAC1C,WAAW,CAUb"}
@@ -0,0 +1,150 @@
1
+ import { parseAppManifest, } from '@ankhorage/contracts';
2
+ import { ZORA_COMPONENT_META } from '@ankhorage/zora/metadata';
3
+ import { compileCategoryDesign } from '../design/category-theme';
4
+ import { BASE_INFRA, BASE_SETTINGS, DEFAULT_TEMPLATE_VERSION } from '../internal/defaults';
5
+ import { createManifestShell } from '../templates/shared/create-manifest-shell';
6
+ /*** Validate one canonical manifest for catalog registration or release finalization. */
7
+ export function validateTemplateManifest(manifest, authoringState = 'release') {
8
+ const parsed = parseAppManifest(manifest);
9
+ const diagnostics = [
10
+ ...collectRouteDiagnostics(manifest.navigator, manifest.screens),
11
+ ...collectMissingElementDiagnostics(manifest.screens),
12
+ ...(parsed.ok
13
+ ? []
14
+ : [
15
+ {
16
+ code: 'invalid-manifest',
17
+ severity: 'error',
18
+ path: 'manifest',
19
+ message: parsed.message,
20
+ },
21
+ ]),
22
+ ];
23
+ return {
24
+ manifest,
25
+ diagnostics,
26
+ status: diagnostics.some((diagnostic) => diagnostic.severity === 'error') ? 'blocked' : 'ready',
27
+ authoringState,
28
+ };
29
+ }
30
+ /*** Read a manifest string prop without treating arbitrary values as valid authoring metadata. */
31
+ function resolveStringProp(node, key) {
32
+ const value = Reflect.get(node.props ?? {}, key);
33
+ return typeof value === 'string' && value.trim() ? value : undefined;
34
+ }
35
+ /*** Ask ZORA metadata whether a manifest node is the canonical draft placeholder. */
36
+ function isMissingElement(node) {
37
+ const metadata = ZORA_COMPONENT_META.MissingElement;
38
+ if (!metadata)
39
+ throw new Error('ZORA metadata does not expose MissingElement.');
40
+ return node.type === metadata.name;
41
+ }
42
+ /*** Visit every manifest child branch, including repeat empty-state nodes. */
43
+ function visitNode(node, path, visitor) {
44
+ visitor(node, path);
45
+ node.children?.forEach((child, index) => visitNode(child, `${path}.children[${index}]`, visitor));
46
+ node.repeat?.empty?.forEach((child, index) => visitNode(child, `${path}.repeat.empty[${index}]`, visitor));
47
+ }
48
+ /*** Report every canonical ZORA MissingElement with its requested capability and location. */
49
+ function collectMissingElementDiagnostics(screens) {
50
+ const diagnostics = [];
51
+ for (const [screenId, screen] of Object.entries(screens)) {
52
+ visitNode(screen.root, `screens.${screenId}.root`, (node, path) => {
53
+ if (!isMissingElement(node))
54
+ return;
55
+ const requestedCapability = resolveStringProp(node, 'requestedCapability') ?? 'Unspecified interface capability';
56
+ diagnostics.push({
57
+ code: 'missing-element',
58
+ severity: 'error',
59
+ path,
60
+ nodeId: node.id,
61
+ requestedCapability,
62
+ message: `Node "${node.id}" requires missing capability "${requestedCapability}".`,
63
+ });
64
+ });
65
+ }
66
+ return diagnostics;
67
+ }
68
+ /*** Validate every route target recursively against the canonical screen registry. */
69
+ function collectRouteDiagnostics(navigator, screens, path = 'navigator') {
70
+ return navigator.routes.flatMap((route, index) => {
71
+ const routePath = `${path}.routes[${index}]`;
72
+ const own = route.screenId && !Reflect.has(screens, route.screenId)
73
+ ? [
74
+ {
75
+ code: 'missing-route-screen',
76
+ severity: 'error',
77
+ path: `${routePath}.screenId`,
78
+ message: `Route "${route.name}" references unknown screen "${route.screenId}".`,
79
+ },
80
+ ]
81
+ : [];
82
+ return route.navigator
83
+ ? [...own, ...collectRouteDiagnostics(route.navigator, screens, `${routePath}.navigator`)]
84
+ : own;
85
+ });
86
+ }
87
+ /*** Convert owner theme evidence into template composition diagnostics. */
88
+ function collectThemeDiagnostics(design) {
89
+ const intent = design.diagnostics.map((diagnostic) => ({
90
+ code: 'theme-intent-warning',
91
+ severity: diagnostic.severity,
92
+ path: `theme.${diagnostic.path}`,
93
+ message: diagnostic.message,
94
+ }));
95
+ const compilation = design.computedTheme.diagnostics.map((diagnostic) => ({
96
+ code: 'theme-compilation-error',
97
+ severity: 'error',
98
+ path: `theme.${diagnostic.path}`,
99
+ message: diagnostic.message,
100
+ }));
101
+ return [...intent, ...compilation];
102
+ }
103
+ /*** Compose canonical manifest inputs with a category/theme shell and explicit diagnostics. */
104
+ export function composeCategoryAppManifest(input) {
105
+ const design = compileCategoryDesign(input.category, input.theme);
106
+ const { preset } = design;
107
+ const manifest = {
108
+ ...createManifestShell({
109
+ seed: {
110
+ category: input.category,
111
+ appName: input.name ?? preset.defaultName,
112
+ slug: input.slug ?? preset.defaultSlug,
113
+ },
114
+ theme: design.themeConfig,
115
+ version: input.version ?? DEFAULT_TEMPLATE_VERSION,
116
+ navigator: input.navigator,
117
+ screens: { ...input.screens },
118
+ }),
119
+ infra: {
120
+ ...structuredClone(BASE_INFRA),
121
+ modules: [...(input.modules ?? [])],
122
+ ...(input.modulesConfig ? { modulesConfig: structuredClone(input.modulesConfig) } : {}),
123
+ },
124
+ settings: structuredClone(BASE_SETTINGS),
125
+ ...(input.dataSources ? { dataSources: structuredClone(input.dataSources) } : {}),
126
+ ...(input.dataBindings ? { dataBindings: structuredClone(input.dataBindings) } : {}),
127
+ };
128
+ const validation = validateTemplateManifest(manifest, input.authoringState);
129
+ const diagnostics = [
130
+ ...collectThemeDiagnostics(design),
131
+ ...validation.diagnostics,
132
+ ];
133
+ return {
134
+ manifest,
135
+ diagnostics,
136
+ status: diagnostics.some((diagnostic) => diagnostic.severity === 'error') ? 'blocked' : 'ready',
137
+ authoringState: validation.authoringState,
138
+ };
139
+ }
140
+ /*** Fail catalog registration or release finalization while any blocker remains. */
141
+ export function assertTemplateManifestReady(composition) {
142
+ if (composition.status === 'blocked' || composition.authoringState !== 'release') {
143
+ const reasons = composition.diagnostics
144
+ .filter((diagnostic) => diagnostic.severity === 'error')
145
+ .map((diagnostic) => `${diagnostic.path}: ${diagnostic.message}`);
146
+ throw new Error(`Template manifest is not release-ready.${reasons.length ? ` ${reasons.join(' ')}` : ''}`);
147
+ }
148
+ return composition.manifest;
149
+ }
150
+ //# sourceMappingURL=compose-category-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-category-manifest.js","sourceRoot":"","sources":["../../src/authoring/compose-category-manifest.ts"],"names":[],"mappings":"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"}
package/dist/catalog.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import type { AppCategory, AppManifest } from '@ankhorage/contracts';
1
+ import type { AppCategory } from '@ankhorage/contracts';
2
+ import { type StarterTemplateArtifact } from './templates/starter/index.js';
2
3
  import type { ParsedTemplateSelector } from './templateSelector.js';
3
4
  export interface TemplateCatalogEntry {
4
5
  readonly selector: string;
@@ -9,9 +10,9 @@ export interface TemplateCatalogEntry {
9
10
  }
10
11
  export declare function listTemplateCatalog(category?: AppCategory): readonly TemplateCatalogEntry[];
11
12
  export declare function resolveTemplateCatalogEntry(selector: ParsedTemplateSelector): TemplateCatalogEntry;
12
- export declare function createManifestForSelector(args: {
13
+ export declare function createTemplateArtifactForSelector(args: {
13
14
  readonly selector: ParsedTemplateSelector;
14
15
  readonly projectSlug: string;
15
16
  readonly displayName: string;
16
- }): AppManifest;
17
+ }): StarterTemplateArtifact;
17
18
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,oBAAoB,EAAE,CAQ3F;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,sBAAsB,GAC/B,oBAAoB,CAoBtB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,WAAW,CAUd"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAGL,KAAK,uBAAuB,EAG7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,SAAS,oBAAoB,EAAE,CAQ3F;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,sBAAsB,GAC/B,oBAAoB,CAoBtB;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GAAG,uBAAuB,CAU1B"}
package/dist/catalog.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { resolveCategoryDesignPreset } from './design/category-theme.js';
1
2
  import { CATEGORY_PRESETS } from './presets/category-presets.js';
2
3
  import { createStarterTemplate, listStarterTemplateSummaries, } from './templates/starter/index.js';
3
4
  import { createTemplateSelector } from './templateSelector.js';
@@ -19,7 +20,7 @@ export function resolveTemplateCatalogEntry(selector) {
19
20
  }
20
21
  throw new Error(`Unknown template selector "${selector.selector}". Available selectors: ${availableSelectors.join(', ')}.`);
21
22
  }
22
- export function createManifestForSelector(args) {
23
+ export function createTemplateArtifactForSelector(args) {
23
24
  const seed = createTemplateSeed({
24
25
  category: args.selector.category,
25
26
  displayName: args.displayName,
@@ -43,6 +44,7 @@ function createTemplateCatalogEntry(summary) {
43
44
  }
44
45
  function createTemplateSeed(args) {
45
46
  const preset = CATEGORY_PRESETS[args.category];
47
+ const design = resolveCategoryDesignPreset(args.category);
46
48
  return {
47
49
  category: args.category,
48
50
  categoryLabel: preset.label,
@@ -50,8 +52,9 @@ function createTemplateSeed(args) {
50
52
  slug: args.projectSlug,
51
53
  summary: preset.summary,
52
54
  focusAreas: preset.focusAreas,
53
- primaryColor: preset.primaryColor,
54
- harmony: preset.harmony,
55
+ primaryColor: design.primaryColor,
56
+ harmony: design.harmony,
57
+ theme: design.themeConfig,
55
58
  };
56
59
  }
57
60
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAG7B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAU/D,MAAM,UAAU,mBAAmB,CAAC,QAAsB;IACxD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAE/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAgC;IAEhC,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CACvD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,CAC5D,CAAC;IAEF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CACnE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAClC,CAAC;IAEF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,QAAQ,kCAAkC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,CAAC,QAAQ,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAIzC;IACC,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAChC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC;IAEH,OAAO,qBAAqB,CAAC,IAAI,EAAE;QACjC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;KACrC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B;IACnC,OAAO,4BAA4B,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA+B;IACjE,OAAO;QACL,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC9D,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,EAAE;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAI3B;IACC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,MAAM,CAAC,KAAK;QAC3B,OAAO,EAAE,IAAI,CAAC,WAAW;QACzB,IAAI,EAAE,IAAI,CAAC,WAAW;QACtB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { AppCategory } from '@ankhorage/contracts';
2
2
  import type { AnkhCapabilityId } from '@ankhorage/contracts/cli';
3
- import { createManifestForSelector, resolveTemplateCatalogEntry, type TemplateCatalogEntry } from './catalog.js';
3
+ import { createTemplateArtifactForSelector, resolveTemplateCatalogEntry, type TemplateCatalogEntry } from './catalog.js';
4
4
  import type { TemplatesCommandContext, TemplatesCommandRunResult } from './commandContext.js';
5
- import { type CreateProjectSeedRequest, type ProjectSeedDependencies } from './projectSeed.js';
5
+ import { type CreateProjectSeedRequest, type CreateProjectSeedResult, type ProjectSeedDependencies } from './projectSeed.js';
6
6
  type TemplatesCommandName = 'create' | 'inspect' | 'list';
7
7
  interface TemplatesCommandRunRequest {
8
8
  readonly context: TemplatesCommandContext;
@@ -21,10 +21,8 @@ export interface TemplatesCommandInvocation {
21
21
  readonly context: TemplatesCommandContext;
22
22
  }
23
23
  interface TemplatesCommandServices {
24
- readonly createManifestForSelector: typeof createManifestForSelector;
25
- readonly createProjectSeed: (request: CreateProjectSeedRequest, dependencies?: Partial<ProjectSeedDependencies>) => Promise<{
26
- readonly projectPath: string;
27
- }>;
24
+ readonly createTemplateArtifactForSelector: typeof createTemplateArtifactForSelector;
25
+ readonly createProjectSeed: (request: CreateProjectSeedRequest, dependencies?: Partial<ProjectSeedDependencies>) => Promise<CreateProjectSeedResult>;
28
26
  readonly listTemplateCatalog: (category?: AppCategory) => readonly TemplateCatalogEntry[];
29
27
  readonly resolveTemplateCatalogEntry: typeof resolveTemplateCatalogEntry;
30
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/commands.js CHANGED
@@ -1,6 +1,7 @@
1
- import { createManifestForSelector, listTemplateCatalog, resolveTemplateCatalogEntry, } from './catalog.js';
1
+ import { createTemplateArtifactForSelector, listTemplateCatalog, resolveTemplateCatalogEntry, } from './catalog.js';
2
2
  import { TEMPLATES_CAPABILITIES, TEMPLATES_COMMAND_CATEGORY, TEMPLATES_PACKAGE_NAME, TEMPLATES_PACKAGE_VERSION, } from './packageMetadata.js';
3
3
  import { createProjectSeed, } from './projectSeed.js';
4
+ import { summarizeStarterTemplateAssets } from './templates/starter/index.js';
4
5
  import { deriveDisplayNameFromSlug, parseProjectSlug, parseTemplateCategory, parseTemplateSelector, } from './templateSelector.js';
5
6
  const COMMAND_CAPABILITIES = {
6
7
  list: TEMPLATES_CAPABILITIES[0],
@@ -103,7 +104,7 @@ function renderCommandHelp(command) {
103
104
  }
104
105
  function createTemplatesCommandServices(overrides = {}) {
105
106
  return {
106
- createManifestForSelector: overrides.createManifestForSelector ?? createManifestForSelector,
107
+ createTemplateArtifactForSelector: overrides.createTemplateArtifactForSelector ?? createTemplateArtifactForSelector,
107
108
  createProjectSeed: overrides.createProjectSeed ?? createProjectSeed,
108
109
  listTemplateCatalog: overrides.listTemplateCatalog ?? listTemplateCatalog,
109
110
  resolveTemplateCatalogEntry: overrides.resolveTemplateCatalogEntry ?? resolveTemplateCatalogEntry,
@@ -118,19 +119,19 @@ function runListCommand(request, services, argv) {
118
119
  function runInspectCommand(request, services, argv) {
119
120
  const selector = parseInspectArguments(argv);
120
121
  const entry = services.resolveTemplateCatalogEntry(selector);
121
- const manifest = services.createManifestForSelector({
122
+ const artifact = services.createTemplateArtifactForSelector({
122
123
  selector,
123
124
  projectSlug: 'template-preview',
124
125
  displayName: 'Template Preview',
125
126
  });
126
- request.context.writeStdout(renderTemplateInspection(entry, manifest));
127
+ request.context.writeStdout(renderTemplateInspection(entry, artifact));
127
128
  return Promise.resolve({ exitCode: 0 });
128
129
  }
129
130
  async function runCreateCommand(request, services, argv) {
130
131
  const { projectSlug, selector } = parseCreateArguments(argv);
131
132
  const entry = services.resolveTemplateCatalogEntry(selector);
132
133
  const displayName = deriveDisplayNameFromSlug(projectSlug);
133
- const manifest = services.createManifestForSelector({
134
+ const artifact = services.createTemplateArtifactForSelector({
134
135
  selector,
135
136
  projectSlug,
136
137
  displayName,
@@ -153,9 +154,10 @@ async function runCreateCommand(request, services, argv) {
153
154
  templateId: entry.templateId,
154
155
  selector: entry.selector,
155
156
  },
156
- manifest,
157
+ manifest: artifact.manifest,
158
+ assets: artifact.assets,
157
159
  });
158
- request.context.writeStdout(renderCreateSuccess(result.projectPath));
160
+ request.context.writeStdout(renderCreateSuccess(result.projectPath, result.createdFiles));
159
161
  return { exitCode: 0 };
160
162
  }
161
163
  function parseListArguments(argv) {
@@ -190,25 +192,25 @@ function renderTemplateList(entries) {
190
192
  const lines = entries.map((entry) => ` ${entry.selector} - ${entry.label}: ${entry.description}`);
191
193
  return ['Available templates:', '', ...lines, ''].join('\n');
192
194
  }
193
- function renderTemplateInspection(entry, manifest) {
195
+ function renderTemplateInspection(entry, artifact) {
194
196
  return `${JSON.stringify({
195
197
  selector: entry.selector,
196
198
  category: entry.category,
197
199
  templateId: entry.templateId,
198
200
  label: entry.label,
199
201
  description: entry.description,
200
- manifestVersion: manifest.metadata.version,
201
- manifest,
202
+ assetCount: artifact.assets.length,
203
+ assets: summarizeStarterTemplateAssets(artifact.assets),
204
+ manifestVersion: artifact.manifest.metadata.version,
205
+ manifest: artifact.manifest,
202
206
  }, null, 2)}\n`;
203
207
  }
204
- function renderCreateSuccess(projectPath) {
208
+ function renderCreateSuccess(projectPath, createdFiles) {
205
209
  return [
206
210
  `Created manifest-first project seed at ${projectPath}`,
207
211
  '',
208
212
  'Files:',
209
- ' ankh.config.json',
210
- ' ankh.template.json',
211
- ' README.md',
213
+ ...createdFiles.map((filePath) => ` ${filePath}`),
212
214
  '',
213
215
  ].join('\n');
214
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}