@nepopsx/cli 0.0.2 → 0.0.4

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 (106) hide show
  1. package/dist/commands/install.d.ts.map +1 -1
  2. package/dist/commands/install.js +113 -24
  3. package/dist/commands/install.js.map +1 -1
  4. package/dist/commands/login.d.ts +7 -0
  5. package/dist/commands/login.d.ts.map +1 -0
  6. package/dist/commands/login.js +108 -0
  7. package/dist/commands/login.js.map +1 -0
  8. package/dist/commands/scan.d.ts +2 -0
  9. package/dist/commands/scan.d.ts.map +1 -0
  10. package/dist/commands/scan.js +405 -0
  11. package/dist/commands/scan.js.map +1 -0
  12. package/dist/commands/sync.d.ts +2 -0
  13. package/dist/commands/sync.d.ts.map +1 -1
  14. package/dist/commands/sync.js +68 -120
  15. package/dist/commands/sync.js.map +1 -1
  16. package/dist/generator/builtin-templates.d.ts +2 -1
  17. package/dist/generator/builtin-templates.d.ts.map +1 -1
  18. package/dist/generator/builtin-templates.js +161 -2
  19. package/dist/generator/builtin-templates.js.map +1 -1
  20. package/dist/generator/package-renderer.d.ts +37 -0
  21. package/dist/generator/package-renderer.d.ts.map +1 -0
  22. package/dist/generator/package-renderer.js +143 -0
  23. package/dist/generator/package-renderer.js.map +1 -0
  24. package/dist/generator/render.d.ts +11 -54
  25. package/dist/generator/render.d.ts.map +1 -1
  26. package/dist/generator/render.js +18 -174
  27. package/dist/generator/render.js.map +1 -1
  28. package/dist/index.js +32 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/licensing/fingerprint.test.d.ts +2 -0
  31. package/dist/licensing/fingerprint.test.d.ts.map +1 -0
  32. package/dist/licensing/fingerprint.test.js +41 -0
  33. package/dist/licensing/fingerprint.test.js.map +1 -0
  34. package/dist/licensing/installer.d.ts +43 -0
  35. package/dist/licensing/installer.d.ts.map +1 -0
  36. package/dist/licensing/installer.js +98 -0
  37. package/dist/licensing/installer.js.map +1 -0
  38. package/dist/scan/__tests__/context-gatherer.test.d.ts +2 -0
  39. package/dist/scan/__tests__/context-gatherer.test.d.ts.map +1 -0
  40. package/dist/scan/__tests__/context-gatherer.test.js +111 -0
  41. package/dist/scan/__tests__/context-gatherer.test.js.map +1 -0
  42. package/dist/scan/__tests__/merge.test.d.ts +2 -0
  43. package/dist/scan/__tests__/merge.test.d.ts.map +1 -0
  44. package/dist/scan/__tests__/merge.test.js +163 -0
  45. package/dist/scan/__tests__/merge.test.js.map +1 -0
  46. package/dist/scan/config.d.ts +24 -0
  47. package/dist/scan/config.d.ts.map +1 -0
  48. package/dist/scan/config.js +77 -0
  49. package/dist/scan/config.js.map +1 -0
  50. package/dist/scan/context/gatherer.d.ts +13 -0
  51. package/dist/scan/context/gatherer.d.ts.map +1 -0
  52. package/dist/scan/context/gatherer.js +97 -0
  53. package/dist/scan/context/gatherer.js.map +1 -0
  54. package/dist/scan/context/gitignore.d.ts +9 -0
  55. package/dist/scan/context/gitignore.d.ts.map +1 -0
  56. package/dist/scan/context/gitignore.js +50 -0
  57. package/dist/scan/context/gitignore.js.map +1 -0
  58. package/dist/scan/context/patterns.d.ts +14 -0
  59. package/dist/scan/context/patterns.d.ts.map +1 -0
  60. package/dist/scan/context/patterns.js +159 -0
  61. package/dist/scan/context/patterns.js.map +1 -0
  62. package/dist/scan/customs/writer.d.ts +6 -0
  63. package/dist/scan/customs/writer.d.ts.map +1 -0
  64. package/dist/scan/customs/writer.js +149 -0
  65. package/dist/scan/customs/writer.js.map +1 -0
  66. package/dist/scan/llm/anthropic.d.ts +11 -0
  67. package/dist/scan/llm/anthropic.d.ts.map +1 -0
  68. package/dist/scan/llm/anthropic.js +98 -0
  69. package/dist/scan/llm/anthropic.js.map +1 -0
  70. package/dist/scan/llm/factory.d.ts +4 -0
  71. package/dist/scan/llm/factory.d.ts.map +1 -0
  72. package/dist/scan/llm/factory.js +20 -0
  73. package/dist/scan/llm/factory.js.map +1 -0
  74. package/dist/scan/llm/ollama.d.ts +11 -0
  75. package/dist/scan/llm/ollama.d.ts.map +1 -0
  76. package/dist/scan/llm/ollama.js +73 -0
  77. package/dist/scan/llm/ollama.js.map +1 -0
  78. package/dist/scan/llm/openai.d.ts +12 -0
  79. package/dist/scan/llm/openai.d.ts.map +1 -0
  80. package/dist/scan/llm/openai.js +87 -0
  81. package/dist/scan/llm/openai.js.map +1 -0
  82. package/dist/scan/llm/types.d.ts +23 -0
  83. package/dist/scan/llm/types.d.ts.map +1 -0
  84. package/dist/scan/llm/types.js +3 -0
  85. package/dist/scan/llm/types.js.map +1 -0
  86. package/dist/scan/merge/diff-display.d.ts +11 -0
  87. package/dist/scan/merge/diff-display.d.ts.map +1 -0
  88. package/dist/scan/merge/diff-display.js +72 -0
  89. package/dist/scan/merge/diff-display.js.map +1 -0
  90. package/dist/scan/prompt/agent.d.ts +23 -0
  91. package/dist/scan/prompt/agent.d.ts.map +1 -0
  92. package/dist/scan/prompt/agent.js +95 -0
  93. package/dist/scan/prompt/agent.js.map +1 -0
  94. package/dist/scan/prompt/builder.d.ts +16 -0
  95. package/dist/scan/prompt/builder.d.ts.map +1 -0
  96. package/dist/scan/prompt/builder.js +64 -0
  97. package/dist/scan/prompt/builder.js.map +1 -0
  98. package/dist/scan/prompt/schema.d.ts +7 -0
  99. package/dist/scan/prompt/schema.d.ts.map +1 -0
  100. package/dist/scan/prompt/schema.js +52 -0
  101. package/dist/scan/prompt/schema.js.map +1 -0
  102. package/dist/security/scanner.d.ts +3 -40
  103. package/dist/security/scanner.d.ts.map +1 -1
  104. package/dist/security/scanner.js +3 -169
  105. package/dist/security/scanner.js.map +1 -1
  106. package/package.json +15 -12
@@ -1,14 +1,16 @@
1
- import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
1
+ import { existsSync, readFileSync, readdirSync, statSync, writeFileSync, mkdirSync } from 'node:fs';
2
2
  import { resolve, join, relative } from 'node:path';
3
3
  import { parse } from 'yaml';
4
4
  import chalk from 'chalk';
5
5
  import { validateWorkspaceConfig, scanConfigSecrets } from '@nepopsx/core';
6
- import { renderTemplate, registerAgentPartialsFromMap, clearPartialNames, setPhilosophyBlock, setCustomInstructions, setWatermarkData, applyLicenseWatermark } from '../generator/render.js';
6
+ import { renderTemplate, setPhilosophyBlock, setCustomInstructions, setWatermarkData, applyLicenseWatermark } from '../generator/render.js';
7
+ import { renderAgentBundle } from '../generator/package-renderer.js';
7
8
  import { writeGeneratedFiles, printWriteResult } from '../generator/writer.js';
8
9
  import { getBuiltinTemplates } from '../generator/builtin-templates.js';
9
10
  import { philosophyToInstructions } from '../generator/philosophy.js';
10
11
  import { scanCustomInstructions, scanPhilosophyCustom, formatThreats, generateManifest } from '../security/index.js';
11
12
  import { validateLicense, enforceTierLimits, fetchRemoteTemplates, isDevMode, readLicense } from '../licensing/index.js';
13
+ import { resolveApiBase } from '../config/api-config.js';
12
14
  export async function syncCommand(options) {
13
15
  const cwd = process.cwd();
14
16
  const configPath = resolve(cwd, options.config);
@@ -22,12 +24,27 @@ export async function syncCommand(options) {
22
24
  console.log(chalk.yellow(' [dev mode — license checks bypassed]\n'));
23
25
  }
24
26
  // 1. Load and validate config
25
- if (!existsSync(configPath)) {
26
- console.log(chalk.red(`Config not found: ${options.config}`));
27
- console.log(chalk.dim(`Run ${chalk.cyan('nepopsx init')} first.\n`));
28
- process.exit(1);
27
+ let raw;
28
+ if (options.remote) {
29
+ // Remote mode: fetch config from backend API using license key
30
+ console.log(chalk.dim('Fetching workspace config from backend...'));
31
+ raw = await fetchRemoteConfig(cwd, options.workspace);
32
+ // Also write to disk so subsequent local syncs work
33
+ const configDir = resolve(cwd, '.nepopsx');
34
+ if (!existsSync(configDir))
35
+ mkdirSync(configDir, { recursive: true });
36
+ const { stringify } = await import('yaml');
37
+ writeFileSync(configPath, stringify(raw), 'utf-8');
38
+ console.log(chalk.dim(`Config saved to ${options.config}`));
39
+ }
40
+ else {
41
+ if (!existsSync(configPath)) {
42
+ console.log(chalk.red(`Config not found: ${options.config}`));
43
+ console.log(chalk.dim(`Run ${chalk.cyan('nepopsx init')} first, or use ${chalk.cyan('--remote')} to fetch from backend.\n`));
44
+ process.exit(1);
45
+ }
46
+ raw = parse(readFileSync(configPath, 'utf-8'));
29
47
  }
30
- const raw = parse(readFileSync(configPath, 'utf-8'));
31
48
  const validation = validateWorkspaceConfig(raw);
32
49
  if (!validation.valid) {
33
50
  console.log(chalk.red('Invalid workspace config:'));
@@ -126,9 +143,9 @@ export async function syncCommand(options) {
126
143
  if (customs.length > 0) {
127
144
  console.log(chalk.dim(`Custom instructions: ${customs.length} file(s) from ${config.customs_dir ?? 'customs/'}`));
128
145
  }
129
- // 2b. Builtin templates (copilot-instructions.md, AGENTS.md, Makefile)
146
+ // 2b. Builtin templates (copilot-instructions.md, AGENTS.md, CLAUDE.md, Makefile, per-language instructions)
130
147
  console.log(chalk.dim('\nRendering base templates...'));
131
- const builtins = getBuiltinTemplates();
148
+ const builtins = getBuiltinTemplates(config);
132
149
  for (const { outputPath, template, source } of builtins) {
133
150
  const content = renderTemplate(template, config);
134
151
  operations.push({ path: outputPath, content, source });
@@ -179,121 +196,11 @@ async function loadAgentTemplates(rootDir, agentName, agentCfg, config, license)
179
196
  return [];
180
197
  }
181
198
  console.log(chalk.dim(` ↳ using remote template bundle (${remoteBundle.version})`));
182
- return loadAgentTemplatesFromBundle(remoteBundle, config, {
199
+ return renderAgentBundle(remoteBundle, config, {
183
200
  name: agentName,
184
201
  version: remoteBundle.version,
185
202
  });
186
203
  }
187
- function loadAgentTemplatesFromBundle(bundle, config, agentMeta) {
188
- const operations = [];
189
- const partialNames = registerAgentPartialsFromMap(bundle.templates, config, agentMeta);
190
- const templateDirs = [
191
- { prefix: 'agents/', output: '.github/agents' },
192
- { prefix: 'prompts/', output: '.github/prompts' },
193
- { prefix: 'instructions/', output: '.github/instructions' },
194
- ];
195
- for (const { prefix, output } of templateDirs) {
196
- for (const [relativePath, templateSource] of Object.entries(bundle.templates)) {
197
- if (!relativePath.startsWith(prefix) || !relativePath.endsWith('.hbs'))
198
- continue;
199
- const outputFileName = relativePath.slice(prefix.length).replace(/\.hbs$/, '');
200
- const content = renderTemplate(templateSource, config, agentMeta);
201
- if (content.trim().length === 0)
202
- continue;
203
- operations.push({
204
- path: join(output, outputFileName),
205
- content,
206
- source: `remote:${bundle.agent}/${relativePath}`,
207
- });
208
- }
209
- }
210
- copySchemaFilesFromBundle(bundle.templates, config, agentMeta, operations);
211
- clearPartialNames(partialNames);
212
- return operations;
213
- }
214
- function copySchemaFilesFromBundle(templateMap, config, agentMeta, operations) {
215
- const schemaContent = templateMap['schemas/schema.yaml'];
216
- if (schemaContent) {
217
- operations.push({
218
- path: `openspec/schemas/${agentMeta.name}/schema.yaml`,
219
- content: renderTemplate(schemaContent, config, agentMeta),
220
- source: `remote:${agentMeta.name}/schemas/schema.yaml`,
221
- });
222
- }
223
- for (const [relativePath, rawContent] of Object.entries(templateMap)) {
224
- if (!relativePath.startsWith('schemas/templates/'))
225
- continue;
226
- const outputName = relativePath.slice('schemas/templates/'.length).replace(/\.hbs$/, '');
227
- const content = relativePath.endsWith('.hbs')
228
- ? renderTemplate(rawContent, config, agentMeta)
229
- : rawContent;
230
- operations.push({
231
- path: `openspec/schemas/${agentMeta.name}/templates/${outputName}`,
232
- content,
233
- source: `remote:${agentMeta.name}/${relativePath}`,
234
- });
235
- }
236
- const configTemplate = `schema: {{agent.name}}
237
- context: |
238
- {{config.workspace.name}} platform services:
239
- {{#each config.services}}
240
- - {{name}} ({{language}}{{#if framework}}/{{framework}}{{/if}}) — {{path}}/ {{maturityBadge maturity}}
241
- {{/each}}
242
- {{#if config.execution_order}}
243
- Change order: {{join config.execution_order " → "}}
244
- {{/if}}
245
- `;
246
- operations.push({
247
- path: 'openspec/config.yaml',
248
- content: renderTemplate(configTemplate, config, agentMeta),
249
- source: `remote:${agentMeta.name}/openspec-config`,
250
- });
251
- }
252
- function copySchemaFiles(schemasDir, config, agentMeta, operations) {
253
- // Copy schema.yaml
254
- const schemaFile = join(schemasDir, 'schema.yaml');
255
- if (existsSync(schemaFile)) {
256
- const content = renderTemplate(readFileSync(schemaFile, 'utf-8'), config, agentMeta);
257
- operations.push({
258
- path: `openspec/schemas/${agentMeta.name}/schema.yaml`,
259
- content,
260
- source: `agent:${agentMeta.name}/schemas/schema.yaml`,
261
- });
262
- }
263
- // Copy templates
264
- const templatesDir = join(schemasDir, 'templates');
265
- if (existsSync(templatesDir)) {
266
- for (const file of readdirSync(templatesDir)) {
267
- const src = join(templatesDir, file);
268
- const isTemplate = file.endsWith('.hbs');
269
- const outputName = isTemplate ? file.replace('.hbs', '') : file;
270
- const content = isTemplate
271
- ? renderTemplate(readFileSync(src, 'utf-8'), config, agentMeta)
272
- : readFileSync(src, 'utf-8');
273
- operations.push({
274
- path: `openspec/schemas/${agentMeta.name}/templates/${outputName}`,
275
- content,
276
- source: `agent:${agentMeta.name}/schemas/templates/${file}`,
277
- });
278
- }
279
- }
280
- // Generate openspec/config.yaml
281
- const configTemplate = `schema: {{agent.name}}
282
- context: |
283
- {{config.workspace.name}} platform services:
284
- {{#each config.services}}
285
- - {{name}} ({{language}}{{#if framework}}/{{framework}}{{/if}}) — {{path}}/ {{maturityBadge maturity}}
286
- {{/each}}
287
- {{#if config.execution_order}}
288
- Change order: {{join config.execution_order " → "}}
289
- {{/if}}
290
- `;
291
- operations.push({
292
- path: 'openspec/config.yaml',
293
- content: renderTemplate(configTemplate, config, agentMeta),
294
- source: `agent:${agentMeta.name}/openspec-config`,
295
- });
296
- }
297
204
  /**
298
205
  * Load custom instruction files from the customs/ directory.
299
206
  * Supports YAML frontmatter for scoping (applies_to, scope).
@@ -349,4 +256,45 @@ function parseFrontmatter(raw) {
349
256
  return { content: raw.trim() };
350
257
  }
351
258
  }
259
+ /**
260
+ * Fetch workspace config from the backend API using the local license key.
261
+ */
262
+ async function fetchRemoteConfig(rootDir, workspaceSlug) {
263
+ const license = readLicense(rootDir);
264
+ if (!license) {
265
+ console.log(chalk.red('No license found. Run nepopsx activate first.'));
266
+ process.exit(1);
267
+ }
268
+ const apiBase = resolveApiBase(rootDir);
269
+ const url = new URL(`${apiBase}/workspaces/config`);
270
+ if (workspaceSlug)
271
+ url.searchParams.set('workspace', workspaceSlug);
272
+ const controller = new AbortController();
273
+ const timeout = setTimeout(() => controller.abort(), 15_000);
274
+ try {
275
+ const res = await fetch(url.toString(), {
276
+ headers: { Authorization: `Bearer ${license.key}` },
277
+ signal: controller.signal,
278
+ });
279
+ if (!res.ok) {
280
+ const body = await res.text().catch(() => '');
281
+ console.log(chalk.red(`Backend returned ${res.status}: ${body}`));
282
+ process.exit(1);
283
+ }
284
+ return await res.json();
285
+ }
286
+ catch (err) {
287
+ if (err instanceof Error && err.name === 'AbortError') {
288
+ console.log(chalk.red('Request timed out. Is the backend reachable?'));
289
+ console.log(chalk.dim(` URL: ${url.toString()}`));
290
+ }
291
+ else {
292
+ console.log(chalk.red(`Failed to fetch remote config: ${err instanceof Error ? err.message : String(err)}`));
293
+ }
294
+ process.exit(1);
295
+ }
296
+ finally {
297
+ clearTimeout(timeout);
298
+ }
299
+ }
352
300
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAA4E,MAAM,eAAe,CAAC;AACrJ,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAA0B,MAAM,wBAAwB,CAAC;AACpK,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAuB,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,SAAS,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AAC9I,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAUzD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAEpD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,8BAA8B;IAC9B,IAAI,GAAY,CAAC;IAEjB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,+DAA+D;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACpE,GAAG,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACtD,oDAAoD;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAC7H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,UAAU,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAO,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAErF,IAAI,aAAa,GAAmB,IAAI,CAAC;IAEzC,4CAA4C;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;YACtE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC,CAAC;YAChH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,aAAa,CAAC,GAAG,KAAK,aAAa,CAAC,IAAI,OAAO,aAAa,CAAC,cAAc,aAAa,CAAC,CAAC,CAAC;QAC7H,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAEjC,8CAA8C;QAC9C,MAAM,aAAa,GAAkB;YACnC,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,aAAa,CAAC,GAAG;YACtB,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvG,WAAW,EAAE,aAAa,CAAC,WAAW;SACvC,CAAC;QACF,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,wCAAwC;IACxC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAChF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,kCAAkC;IAClC,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,4CAA4C;IAC5C,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC/B,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAC;IACrI,CAAC;IAED,sDAAsD;IACtD,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9C,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAEpD,oDAAoD;IACpD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAChD,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,MAAM,iBAAiB,MAAM,CAAC,WAAW,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,6GAA6G;IAC7G,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,sBAAsB;IACtB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,SAAS;YAEhC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,SAAS,KAAK,CAAC,CAAC,CAAC;YAEzD,kDAAkD;YAClD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAC3F,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,EAAE,CAAC,OAAO,GAAG,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,iCAAiC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,MAAM,4CAA4C,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAC/B,OAAe,EACf,SAAiB,EACjB,QAAqB,EACrB,MAAuB,EACvB,OAAuB;IAEvB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC;IACrD,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAEjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,SAAS,2DAA2D,CAAC,CAAC,CAAC;QAC3G,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,OAAO,EACP,OAAO,EACP,SAAS,EACT,gBAAgB,CACjB,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,SAAS,mDAAmD,CAAC,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAC/F,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACrF,OAAO,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE;QAC7C,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,YAAY,CAAC,OAAO;KAC9B,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,UAAkB;IAChD,MAAM,YAAY,GAAwB,EAAE,CAAC;IAE7C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,YAAY,CAAC;IAEjD,MAAM,OAAO,GAAG,CAAC,GAAW,EAAQ,EAAE;QACpC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEhC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,wCAAwC;gBAC3D,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,WAAW;gBAAE,SAAS;YAE9D,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAErC,YAAY,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU;gBAC1C,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK;gBAChC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,UAAU,CAAC,CAAC;IACpB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,OAAO,GAAG,mCAAmC,CAAC;IACpD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACxB,WAAW,EAAE;gBACX,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACrE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAC5D;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;QACrD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,aAAsB;IACtE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;IACpD,IAAI,aAAa;QAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,GAAG,EAAE,EAAE;YACnD,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -2,11 +2,12 @@
2
2
  * Builtin templates that are generated for every workspace regardless of agents.
3
3
  * These provide the base workspace context files.
4
4
  */
5
+ import type { WorkspaceConfig } from '@nepopsx/core';
5
6
  interface BuiltinTemplate {
6
7
  outputPath: string;
7
8
  template: string;
8
9
  source: string;
9
10
  }
10
- export declare function getBuiltinTemplates(): BuiltinTemplate[];
11
+ export declare function getBuiltinTemplates(config?: WorkspaceConfig): BuiltinTemplate[];
11
12
  export {};
12
13
  //# sourceMappingURL=builtin-templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-templates.d.ts","sourceRoot":"","sources":["../../src/generator/builtin-templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAkBvD"}
1
+ {"version":3,"file":"builtin-templates.d.ts","sourceRoot":"","sources":["../../src/generator/builtin-templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,UAAU,eAAe;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAuC/E"}
@@ -2,8 +2,8 @@
2
2
  * Builtin templates that are generated for every workspace regardless of agents.
3
3
  * These provide the base workspace context files.
4
4
  */
5
- export function getBuiltinTemplates() {
6
- return [
5
+ export function getBuiltinTemplates(config) {
6
+ const templates = [
7
7
  {
8
8
  outputPath: '.github/copilot-instructions.md',
9
9
  template: COPILOT_INSTRUCTIONS_TEMPLATE,
@@ -14,12 +14,31 @@ export function getBuiltinTemplates() {
14
14
  template: AGENTS_MD_TEMPLATE,
15
15
  source: 'builtin:agents-md',
16
16
  },
17
+ {
18
+ outputPath: 'CLAUDE.md',
19
+ template: CLAUDE_MD_TEMPLATE,
20
+ source: 'builtin:claude-md',
21
+ },
17
22
  {
18
23
  outputPath: 'Makefile',
19
24
  template: MAKEFILE_TEMPLATE,
20
25
  source: 'builtin:makefile',
21
26
  },
22
27
  ];
28
+ // Per-language instruction files (only for languages present in workspace)
29
+ if (config?.services) {
30
+ const languages = new Set(config.services.map((s) => s.language));
31
+ for (const [lang, tpl] of Object.entries(LANGUAGE_INSTRUCTIONS)) {
32
+ if (languages.has(lang)) {
33
+ templates.push({
34
+ outputPath: `.github/instructions/${lang}.instructions.md`,
35
+ template: tpl,
36
+ source: `builtin:instructions-${lang}`,
37
+ });
38
+ }
39
+ }
40
+ }
41
+ return templates;
23
42
  }
24
43
  // ─── copilot-instructions.md ────────────────────────────────
25
44
  const COPILOT_INSTRUCTIONS_TEMPLATE = `# {{config.workspace.name}} — Copilot Instructions
@@ -41,6 +60,12 @@ const COPILOT_INSTRUCTIONS_TEMPLATE = `# {{config.workspace.name}} — Copilot I
41
60
  | {{name}} | {{language}} | {{#if framework}}{{framework}}{{else}}—{{/if}} | \`{{path}}/\` | {{maturityBadge maturity}} |
42
61
  {{/each}}
43
62
 
63
+ {{#each config.services}}
64
+ {{#if description}}
65
+ **{{name}}**: {{description}}{{#if databases}} Uses: {{#each databases}}{{this}}{{#unless @last}}, {{/unless}}{{/each}}.{{/if}}
66
+ {{/if}}
67
+ {{/each}}
68
+
44
69
  {{#if config.execution_order}}
45
70
  ### Multi-Service Change Order
46
71
 
@@ -138,6 +163,16 @@ const AGENTS_MD_TEMPLATE = `# AI Agent Instructions — {{config.workspace.name}
138
163
  | {{name}} | {{language}} | {{#if framework}}{{framework}}{{else}}—{{/if}} | \`{{path}}/\` | {{#if port}}{{port}}{{else}}—{{/if}} | {{maturityBadge maturity}} |
139
164
  {{/each}}
140
165
 
166
+ {{#each config.services}}
167
+ {{#if description}}
168
+ ### {{name}}
169
+
170
+ {{description}}{{#if databases}}
171
+
172
+ **Databases:** {{#each databases}}{{this}}{{#unless @last}}, {{/unless}}{{/each}}{{/if}}
173
+ {{/if}}
174
+ {{/each}}
175
+
141
176
  ## Common Commands
142
177
 
143
178
  {{#each config.services}}
@@ -161,6 +196,22 @@ cd {{path}}
161
196
  # Lint
162
197
  {{commands.lint}}
163
198
  {{/if}}
199
+ {{#if commands.format}}
200
+ # Format
201
+ {{commands.format}}
202
+ {{/if}}
203
+ {{#if commands.typecheck}}
204
+ # Typecheck
205
+ {{commands.typecheck}}
206
+ {{/if}}
207
+ {{#if commands.migrate}}
208
+ # Migrate
209
+ {{commands.migrate}}
210
+ {{/if}}
211
+ {{#if commands.seed}}
212
+ # Seed
213
+ {{commands.seed}}
214
+ {{/if}}
164
215
  \`\`\`
165
216
 
166
217
  {{/each}}
@@ -248,4 +299,112 @@ env-state: ## Check service ports
248
299
  {{/if}}
249
300
  {{/each}}
250
301
  `;
302
+ // ─── CLAUDE.md ──────────────────────────────────────────────
303
+ const CLAUDE_MD_TEMPLATE = `# CLAUDE.md — {{config.workspace.name}}
304
+
305
+ <!-- Auto-generated by NEPOPSX CLI ({{timestamp}}). Do not edit manually. -->
306
+ <!-- Regenerate with: npx @nepopsx/cli sync -->
307
+
308
+ @.github/copilot-instructions.md
309
+ @AGENTS.md
310
+
311
+ {{#if config.workspace.description}}
312
+ ## Overview
313
+
314
+ {{config.workspace.description}}
315
+ {{/if}}
316
+
317
+ ## Services
318
+
319
+ {{#each config.services}}
320
+ ### {{name}} ({{language}}{{#if framework}}/{{framework}}{{/if}}) — \`{{path}}/\`
321
+
322
+ {{#if description}}{{description}}{{/if}}
323
+
324
+ {{#if commands.dev}}Dev: \`cd {{path}} && {{commands.dev}}\`{{/if}}
325
+ {{#if commands.build}}Build: \`cd {{path}} && {{commands.build}}\`{{/if}}
326
+ {{#if commands.test}}Test: \`cd {{path}} && {{commands.test}}\`{{/if}}
327
+ {{#if commands.lint}}Lint: \`cd {{path}} && {{commands.lint}}\`{{/if}}
328
+ {{#if commands.typecheck}}Typecheck: \`cd {{path}} && {{commands.typecheck}}\`{{/if}}
329
+ {{#if commands.migrate}}Migrate: \`cd {{path}} && {{commands.migrate}}\`{{/if}}
330
+
331
+ {{/each}}
332
+
333
+ {{#if config.databases}}
334
+ ## Databases
335
+
336
+ {{#each config.databases}}
337
+ - **{{name}}** ({{type}}){{#if description}} — {{description}}{{/if}}
338
+ {{/each}}
339
+ {{/if}}
340
+
341
+ {{#if config.execution_order}}
342
+ ## Change Order
343
+
344
+ Modify services in this order: {{join config.execution_order " → "}}
345
+ {{/if}}
346
+ `;
347
+ // ─── Per-language instruction templates ─────────────────────
348
+ /* eslint-disable no-useless-escape */
349
+ function langTemplate(applyTo, lang, standards) {
350
+ return [
351
+ '---',
352
+ `applyTo: "${applyTo}"`,
353
+ '---',
354
+ `# ${lang} Instructions — {{config.workspace.name}}`,
355
+ '',
356
+ '<!-- Auto-generated by NEPOPSX CLI. Regenerate with: npx @nepopsx/cli sync -->',
357
+ '',
358
+ `## ${lang} Services`,
359
+ '',
360
+ `{{#servicesByLang config.services "${lang.toLowerCase()}"}}`,
361
+ '### {{name}}{{#if framework}} ({{framework}}){{/if}}',
362
+ '',
363
+ '{{#if description}}{{description}}{{/if}}',
364
+ '- Path: `{{path}}/`',
365
+ '{{#if commands.build}}- Build: `cd {{path}} && {{commands.build}}`{{/if}}',
366
+ '{{#if commands.test}}- Test: `cd {{path}} && {{commands.test}}`{{/if}}',
367
+ '{{#if commands.lint}}- Lint: `cd {{path}} && {{commands.lint}}`{{/if}}',
368
+ '{{#if commands.typecheck}}- Typecheck: `cd {{path}} && {{commands.typecheck}}`{{/if}}',
369
+ '{{#if commands.format}}- Format: `cd {{path}} && {{commands.format}}`{{/if}}',
370
+ '',
371
+ '{{/servicesByLang}}',
372
+ '',
373
+ '## Standards',
374
+ '',
375
+ standards,
376
+ ].join('\n');
377
+ }
378
+ const LANGUAGE_INSTRUCTIONS = {
379
+ typescript: langTemplate('**/*.ts,**/*.tsx', 'TypeScript', [
380
+ '- Strict TypeScript — explicit return types on exported functions',
381
+ '- Prefer `unknown` over `any`, narrow with type guards',
382
+ '- Use path aliases where configured (e.g., `@/`)',
383
+ '- Named exports only (no default exports)',
384
+ '- Functional patterns, const assertions, immutable by default',
385
+ ].join('\n')),
386
+ python: langTemplate('**/*.py', 'Python', [
387
+ '- Type hints on all public functions and methods',
388
+ '- Follow PEP 8, use project formatter (Black/Ruff)',
389
+ '- Prefer dataclasses or Pydantic models over raw dicts',
390
+ '- Use `pathlib.Path` over string paths',
391
+ ].join('\n')),
392
+ go: langTemplate('**/*.go', 'Go', [
393
+ '- Standard project layout: `cmd/`, `internal/`, `pkg/`',
394
+ '- Wrap errors with context (`fmt.Errorf("...: %w", err)`)',
395
+ '- Return errors, don\'t panic',
396
+ '- Table-driven tests',
397
+ '- Use `gofmt` / `goimports` before commit',
398
+ ].join('\n')),
399
+ java: langTemplate('**/*.java,**/*.kt', 'Java', [
400
+ '- Follow framework conventions (Spring Boot, etc.)',
401
+ '- Use dependency injection',
402
+ '- Prefer immutable types where possible',
403
+ ].join('\n')),
404
+ rust: langTemplate('**/*.rs', 'Rust', [
405
+ '- Use clippy for linting: `cargo clippy`',
406
+ '- Prefer `Result` over `unwrap()`/`expect()` in library code',
407
+ '- Use `thiserror` for error types',
408
+ ].join('\n')),
409
+ };
251
410
  //# sourceMappingURL=builtin-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-templates.js","sourceRoot":"","sources":["../../src/generator/builtin-templates.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL;YACE,UAAU,EAAE,iCAAiC;YAC7C,QAAQ,EAAE,6BAA6B;YACvC,MAAM,EAAE,8BAA8B;SACvC;QACD;YACE,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,mBAAmB;SAC5B;QACD;YACE,UAAU,EAAE,UAAU;YACtB,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,kBAAkB;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,+DAA+D;AAE/D,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGrC,CAAC;AAEF,+DAA+D;AAE/D,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgE1B,CAAC;AAEF,+DAA+D;AAE/D,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDzB,CAAC"}
1
+ {"version":3,"file":"builtin-templates.js","sourceRoot":"","sources":["../../src/generator/builtin-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Package renderer — renders agent template bundles into WriteOperations.
3
+ *
4
+ * Two rendering modes:
5
+ * renderBundleForInstall — all files land under .github/ (preserves bundle layout)
6
+ * renderAgentBundle — remaps schemas to openspec/ (used by sync)
7
+ *
8
+ * Both render .hbs templates with Handlebars and strip the .hbs extension.
9
+ * Decrypted templates are never written to disk — only the final rendered output is.
10
+ */
11
+ import type { WorkspaceConfig } from '@nepopsx/core';
12
+ import type { TemplateBundle } from '../licensing/index.js';
13
+ import type { WriteOperation } from './writer.js';
14
+ /**
15
+ * Render a downloaded agent bundle for `nepopsx install`.
16
+ *
17
+ * All files are written under `.github/<relativePath>` with .hbs stripped.
18
+ * This preserves the bundle's directory layout (agents/, prompts/, schemas/,
19
+ * partials/) exactly as the agent author designed.
20
+ *
21
+ * Decrypted .hbs source is kept in memory only — never touches disk.
22
+ */
23
+ export declare function renderBundleForInstall(bundle: TemplateBundle, config: WorkspaceConfig, agentMeta: {
24
+ name: string;
25
+ version: string;
26
+ }): WriteOperation[];
27
+ /**
28
+ * Render all templates from an agent bundle for `nepopsx sync`.
29
+ *
30
+ * Uses prefix-based remapping so schemas land in openspec/ and
31
+ * generated agent/prompt files land under .github/.
32
+ */
33
+ export declare function renderAgentBundle(bundle: TemplateBundle, config: WorkspaceConfig, agentMeta: {
34
+ name: string;
35
+ version: string;
36
+ }): WriteOperation[];
37
+ //# sourceMappingURL=package-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-renderer.d.ts","sourceRoot":"","sources":["../../src/generator/package-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C,cAAc,EAAE,CA0BlB;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C,cAAc,EAAE,CA4DlB"}