@secondlayer/cli 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- // @bun
1
+ import { createRequire } from "node:module";
2
2
  var __create = Object.create;
3
3
  var __getProtoOf = Object.getPrototypeOf;
4
4
  var __defProp = Object.defineProperty;
@@ -15,10 +15,9 @@ var __toESM = (mod, isNodeMode, target) => {
15
15
  });
16
16
  return to;
17
17
  };
18
- var __require = import.meta.require;
18
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
19
 
20
20
  // src/core/plugin-manager.ts
21
- import { format } from "prettier";
22
21
  import { promises as fs } from "fs";
23
22
  import path from "path";
24
23
  import { validateStacksAddress } from "@stacks/transactions";
@@ -253,15 +252,15 @@ ${JSON.stringify(content, null, 2)}`;
253
252
  }
254
253
  createLogger() {
255
254
  return {
256
- info: (message) => console.log(`\u2139\uFE0F ${message}`),
257
- warn: (message) => console.warn(`\u26A0\uFE0F ${message}`),
258
- error: (message) => console.error(`\u274C ${message}`),
255
+ info: (message) => console.log(`ℹ️ ${message}`),
256
+ warn: (message) => console.warn(`⚠️ ${message}`),
257
+ error: (message) => console.error(`❌ ${message}`),
259
258
  debug: (message) => {
260
259
  if (process.env.DEBUG) {
261
260
  console.log(`\uD83D\uDC1B ${message}`);
262
261
  }
263
262
  },
264
- success: (message) => console.log(`\u2705 ${message}`)
263
+ success: (message) => console.log(`✅ ${message}`)
265
264
  };
266
265
  }
267
266
  createUtils() {
@@ -280,6 +279,7 @@ ${JSON.stringify(content, null, 2)}`;
280
279
  return { address, contractName };
281
280
  },
282
281
  formatCode: async (code) => {
282
+ const { format } = await import("prettier");
283
283
  return format(code, {
284
284
  parser: "typescript",
285
285
  singleQuote: true,
@@ -315,7 +315,7 @@ ${JSON.stringify(content, null, 2)}`;
315
315
  import { initSimnet } from "@hirosystems/clarinet-sdk";
316
316
 
317
317
  // src/generators/contract.ts
318
- import { format as format2 } from "prettier";
318
+ import { format } from "prettier";
319
319
  async function generateContractInterface(contracts) {
320
320
  const imports = `import { Cl, validateStacksAddress } from '@stacks/transactions'`;
321
321
  const header = `/**
@@ -330,7 +330,7 @@ async function generateContractInterface(contracts) {
330
330
  ${header}
331
331
 
332
332
  ${contractsCode}`;
333
- const formatted = await format2(code, {
333
+ const formatted = await format(code, {
334
334
  parser: "typescript",
335
335
  singleQuote: true,
336
336
  semi: true,
@@ -645,7 +645,7 @@ var clarinet = (options = {}) => {
645
645
  } catch (error) {
646
646
  const err = error;
647
647
  if (options.debug) {
648
- console.warn(`\u26A0\uFE0F Clarinet plugin failed to load contracts: ${err.message}`);
648
+ console.warn(`⚠️ Clarinet plugin failed to load contracts: ${err.message}`);
649
649
  }
650
650
  return config;
651
651
  }
@@ -1022,7 +1022,7 @@ ${indentedHelpersCode}
1022
1022
  });
1023
1023
  }
1024
1024
  // src/plugins/react/provider/index.ts
1025
- import { format as format3 } from "prettier";
1025
+ import { format as format2 } from "prettier";
1026
1026
  async function generateProvider() {
1027
1027
  const code = `/**
1028
1028
  * Generated Stacks React Provider
@@ -1110,7 +1110,7 @@ export function useStacksConfig(): StacksReactConfig {
1110
1110
 
1111
1111
  return context
1112
1112
  }`;
1113
- const formatted = await format3(code, {
1113
+ const formatted = await format2(code, {
1114
1114
  parser: "typescript",
1115
1115
  singleQuote: true,
1116
1116
  semi: false,
@@ -1121,7 +1121,7 @@ export function useStacksConfig(): StacksReactConfig {
1121
1121
  }
1122
1122
 
1123
1123
  // src/plugins/react/generators/generic.ts
1124
- import { format as format4 } from "prettier";
1124
+ import { format as format3 } from "prettier";
1125
1125
  var GENERIC_HOOKS = [
1126
1126
  "useAccount",
1127
1127
  "useConnect",
@@ -1157,7 +1157,7 @@ import type { ExtractFunctionArgs, ExtractFunctionNames, ClarityContract } from
1157
1157
  ${header}
1158
1158
 
1159
1159
  ${hooksCode}`;
1160
- const formatted = await format4(code, {
1160
+ const formatted = await format3(code, {
1161
1161
  parser: "typescript",
1162
1162
  singleQuote: true,
1163
1163
  semi: false,
@@ -1929,7 +1929,7 @@ function generateGenericHook(hookName) {
1929
1929
  }
1930
1930
 
1931
1931
  // src/plugins/react/generators/contract.ts
1932
- import { format as format5 } from "prettier";
1932
+ import { format as format4 } from "prettier";
1933
1933
 
1934
1934
  // src/plugins/react/generators/utils.ts
1935
1935
  function toCamelCase4(str) {
@@ -2042,7 +2042,7 @@ import { ${contracts.map((c) => c.name).join(", ")} } from './contracts'`;
2042
2042
  ${header}
2043
2043
 
2044
2044
  ${hooksCode}`;
2045
- const formatted = await format5(code, {
2045
+ const formatted = await format4(code, {
2046
2046
  parser: "typescript",
2047
2047
  singleQuote: true,
2048
2048
  semi: false,
@@ -2651,5 +2651,5 @@ export {
2651
2651
  PluginManager
2652
2652
  };
2653
2653
 
2654
- //# debugId=944FF0A218B7401F64756E2164756E21
2654
+ //# debugId=CABE7BED1349452C64756E2164756E21
2655
2655
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/core/plugin-manager.ts", "../src/plugins/clarinet/index.ts", "../src/generators/contract.ts", "../src/plugins/actions/generators.ts", "../src/plugins/actions/index.ts", "../src/plugins/react/provider/index.ts", "../src/plugins/react/generators/generic.ts", "../src/plugins/react/generators/contract.ts", "../src/plugins/react/generators/utils.ts", "../src/plugins/react/index.ts", "../src/plugins/testing/generators.ts", "../src/plugins/testing/index.ts", "../src/plugins/index.ts"],
4
4
  "sourcesContent": [
5
- "/**\n * Plugin Manager for @secondlayer/cli\n * Handles plugin registration, lifecycle execution, and output management\n */\n\nimport { format } from \"prettier\";\nimport { promises as fs } from \"fs\";\nimport path from \"path\";\nimport { validateStacksAddress } from \"@stacks/transactions\";\nimport type {\n StacksCodegenPlugin,\n UserConfig,\n ResolvedConfig,\n GenerateContext,\n Logger,\n PluginUtils,\n GeneratedOutput,\n ProcessedContract,\n ContractConfig,\n HookResult,\n PluginExecutionContext,\n} from \"../types/plugin\";\n\n/**\n * Core plugin manager that orchestrates plugin execution\n */\nexport class PluginManager {\n private plugins: StacksCodegenPlugin[] = [];\n private logger: Logger;\n private utils: PluginUtils;\n private executionContext: PluginExecutionContext;\n\n constructor() {\n this.logger = this.createLogger();\n this.utils = this.createUtils();\n this.executionContext = {\n phase: \"config\",\n startTime: Date.now(),\n results: new Map(),\n };\n }\n\n /**\n * Register a plugin\n */\n register(plugin: StacksCodegenPlugin): void {\n // Validate plugin\n if (!plugin.name || !plugin.version) {\n throw new Error(\"Plugin must have a name and version\");\n }\n\n // Check for duplicate plugin names\n const existing = this.plugins.find((p) => p.name === plugin.name);\n if (existing) {\n throw new Error(\n `Plugin \"${plugin.name}\" is already registered (version ${existing.version})`\n );\n }\n\n this.plugins.push(plugin);\n this.logger.debug(`Registered plugin: ${plugin.name}@${plugin.version}`);\n }\n\n /**\n * Get all registered plugins\n */\n getPlugins(): StacksCodegenPlugin[] {\n return [...this.plugins];\n }\n\n /**\n * Transform user config through all plugins\n */\n async transformConfig(config: UserConfig): Promise<ResolvedConfig> {\n this.executionContext.phase = \"config\";\n let transformedConfig = { ...config };\n\n for (const plugin of this.plugins) {\n if (plugin.transformConfig) {\n this.executionContext.currentPlugin = plugin;\n try {\n const result = await plugin.transformConfig(transformedConfig);\n transformedConfig = result;\n this.recordHookResult(plugin.name, \"transformConfig\", {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, \"transformConfig\", {\n success: false,\n error: err,\n });\n throw new Error(\n `Plugin \"${plugin.name}\" failed during config transformation: ${err.message}`\n );\n }\n }\n }\n\n // Add plugins array to resolved config\n const resolvedConfig: ResolvedConfig = {\n ...transformedConfig,\n plugins: this.plugins,\n };\n\n return resolvedConfig;\n }\n\n /**\n * Transform contracts through all plugins\n */\n async transformContracts(\n contracts: ContractConfig[],\n _config: ResolvedConfig\n ): Promise<ProcessedContract[]> {\n const processedContracts: ProcessedContract[] = [];\n\n for (let contract of contracts) {\n // Handle special case for Clarinet plugin contracts\n if ((contract as any)._clarinetSource && contract.abi) {\n // Convert Clarinet contracts directly to ProcessedContract format\n const address =\n typeof contract.address === \"string\" ? contract.address : \"\";\n const [contractAddress, contractName] = address.split(\".\");\n const processed: ProcessedContract = {\n name: contract.name || contractName,\n address: contractAddress,\n contractName: contractName,\n abi: contract.abi,\n source: \"local\" as const,\n metadata: { source: \"clarinet\" },\n };\n processedContracts.push(processed);\n continue;\n }\n\n // Handle direct file mode contracts (already have ABIs parsed)\n if ((contract as any)._directFile && contract.abi) {\n const address =\n typeof contract.address === \"string\" ? contract.address : \"\";\n const [contractAddress, contractName] = address.split(\".\");\n const processed: ProcessedContract = {\n name: contract.name || contractName,\n address: contractAddress,\n contractName: contractName,\n abi: contract.abi,\n source: \"local\" as const,\n metadata: { source: \"direct\" },\n };\n processedContracts.push(processed);\n continue;\n }\n\n // Transform through each plugin\n for (const plugin of this.plugins) {\n if (plugin.transformContract) {\n this.executionContext.currentPlugin = plugin;\n try {\n contract = await plugin.transformContract(contract);\n this.recordHookResult(plugin.name, \"transformContract\", {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, \"transformContract\", {\n success: false,\n error: err,\n });\n this.logger.warn(\n `Plugin \"${plugin.name}\" failed to transform contract: ${err.message}`\n );\n }\n }\n }\n\n // Convert to ProcessedContract\n if (contract.abi) {\n const processed: ProcessedContract = {\n name: contract.name || \"unknown\",\n address:\n typeof contract.address === \"string\"\n ? contract.address.split(\".\")[0]\n : \"unknown\",\n contractName: contract.name || \"unknown\",\n abi: contract.abi,\n source: \"api\" as const, // Use \"api\" as default for plugin-processed contracts\n metadata: contract.metadata,\n };\n processedContracts.push(processed);\n }\n }\n\n return processedContracts;\n }\n\n /**\n * Execute lifecycle hooks\n */\n async executeHook(\n hookName: keyof StacksCodegenPlugin,\n context: any\n ): Promise<void> {\n for (const plugin of this.plugins) {\n const hook = plugin[hookName];\n if (typeof hook === \"function\") {\n this.executionContext.currentPlugin = plugin;\n try {\n await (hook as any).call(plugin, context);\n this.recordHookResult(plugin.name, hookName as string, {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, hookName as string, {\n success: false,\n error: err,\n });\n this.logger.error(\n `Plugin \"${plugin.name}\" failed during ${hookName as string}: ${err.message}`\n );\n // Don't throw - allow other plugins to continue\n }\n }\n }\n }\n\n /**\n * Execute generation phase with full context\n */\n async executeGeneration(\n contracts: ProcessedContract[],\n config: ResolvedConfig\n ): Promise<Map<string, GeneratedOutput>> {\n this.executionContext.phase = \"generate\";\n const outputs = new Map<string, GeneratedOutput>();\n\n // Create generation context\n const context: GenerateContext = {\n config,\n logger: this.logger,\n utils: this.utils,\n contracts,\n outputs,\n augment: (outputKey: string, contractName: string, content: any) => {\n this.augmentOutput(outputs, outputKey, contractName, content);\n },\n addOutput: (key: string, output: GeneratedOutput) => {\n outputs.set(key, output);\n },\n };\n\n // Execute beforeGenerate hooks\n await this.executeHook(\"beforeGenerate\", context);\n\n // Execute generate hooks\n await this.executeHook(\"generate\", context);\n\n // Execute afterGenerate hooks\n await this.executeHook(\"afterGenerate\", context);\n\n return outputs;\n }\n\n /**\n * Transform outputs through plugins\n */\n async transformOutputs(\n outputs: Map<string, GeneratedOutput>\n ): Promise<Map<string, GeneratedOutput>> {\n this.executionContext.phase = \"output\";\n const transformedOutputs = new Map<string, GeneratedOutput>();\n\n for (const [key, output] of outputs) {\n let transformedContent = output.content;\n\n for (const plugin of this.plugins) {\n if (plugin.transformOutput) {\n this.executionContext.currentPlugin = plugin;\n try {\n transformedContent = await plugin.transformOutput(\n transformedContent,\n output.type || \"other\"\n );\n this.recordHookResult(plugin.name, \"transformOutput\", {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, \"transformOutput\", {\n success: false,\n error: err,\n });\n this.logger.warn(\n `Plugin \"${plugin.name}\" failed to transform output: ${err.message}`\n );\n }\n }\n }\n\n transformedOutputs.set(key, {\n ...output,\n content: transformedContent,\n });\n }\n\n return transformedOutputs;\n }\n\n /**\n * Write outputs to disk\n */\n async writeOutputs(outputs: Map<string, GeneratedOutput>): Promise<void> {\n for (const [, output] of outputs) {\n try {\n const resolvedPath = path.resolve(process.cwd(), output.path);\n await this.utils.ensureDir(path.dirname(resolvedPath));\n await this.utils.writeFile(resolvedPath, output.content);\n // Don't log here - let the main command handle success messaging\n } catch (error) {\n const err = error as Error;\n this.logger.error(`Failed to write ${output.path}: ${err.message}`);\n throw err;\n }\n }\n }\n\n /**\n * Get execution results for debugging\n */\n getExecutionResults(): Map<string, HookResult[]> {\n return new Map(this.executionContext.results);\n }\n\n /**\n * Augment existing output with additional content\n */\n private augmentOutput(\n outputs: Map<string, GeneratedOutput>,\n outputKey: string,\n contractName: string,\n content: any\n ): void {\n const existing = outputs.get(outputKey);\n if (!existing) {\n this.logger.warn(`Cannot augment non-existent output: ${outputKey}`);\n return;\n }\n\n // Simple augmentation - append content\n // In a real implementation, this would be more sophisticated\n const augmentedContent = `${existing.content}\\n\\n// Augmented by plugin for ${contractName}\\n${JSON.stringify(content, null, 2)}`;\n\n outputs.set(outputKey, {\n ...existing,\n content: augmentedContent,\n });\n }\n\n /**\n * Record hook execution result\n */\n private recordHookResult(\n pluginName: string,\n hookName: string,\n result: Omit<HookResult, \"plugin\">\n ): void {\n const key = `${pluginName}:${hookName}`;\n const existing = this.executionContext.results.get(key) || [];\n existing.push({ ...result, plugin: pluginName });\n this.executionContext.results.set(key, existing);\n }\n\n /**\n * Create logger instance\n */\n private createLogger(): Logger {\n return {\n info: (message: string) => console.log(`ℹ️ ${message}`),\n warn: (message: string) => console.warn(`⚠️ ${message}`),\n error: (message: string) => console.error(`❌ ${message}`),\n debug: (message: string) => {\n if (process.env.DEBUG) {\n console.log(`🐛 ${message}`);\n }\n },\n success: (message: string) => console.log(`✅ ${message}`),\n };\n }\n\n /**\n * Create utils instance\n */\n private createUtils(): PluginUtils {\n return {\n toCamelCase: (str: string) => {\n return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n },\n\n toKebabCase: (str: string) => {\n return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);\n },\n\n validateAddress: (address: string) => {\n return validateStacksAddress(address.split(\".\")[0]);\n },\n\n parseContractId: (contractId: string) => {\n const [address, contractName] = contractId.split(\".\");\n return { address, contractName };\n },\n\n formatCode: async (code: string) => {\n return format(code, {\n parser: \"typescript\",\n singleQuote: true,\n semi: true,\n printWidth: 100,\n trailingComma: \"es5\",\n });\n },\n\n resolvePath: (relativePath: string) => {\n return path.resolve(process.cwd(), relativePath);\n },\n\n fileExists: async (filePath: string) => {\n try {\n await fs.access(filePath);\n return true;\n } catch {\n return false;\n }\n },\n\n readFile: async (filePath: string) => {\n return fs.readFile(filePath, \"utf-8\");\n },\n\n writeFile: async (filePath: string, content: string) => {\n await fs.writeFile(filePath, content, \"utf-8\");\n },\n\n ensureDir: async (dirPath: string) => {\n await fs.mkdir(dirPath, { recursive: true });\n },\n };\n }\n}\n",
5
+ "/**\n * Plugin Manager for @secondlayer/cli\n * Handles plugin registration, lifecycle execution, and output management\n */\n\nimport { promises as fs } from \"fs\";\nimport path from \"path\";\nimport { validateStacksAddress } from \"@stacks/transactions\";\nimport type {\n StacksCodegenPlugin,\n UserConfig,\n ResolvedConfig,\n GenerateContext,\n Logger,\n PluginUtils,\n GeneratedOutput,\n ProcessedContract,\n ContractConfig,\n HookResult,\n PluginExecutionContext,\n} from \"../types/plugin\";\n\n/**\n * Core plugin manager that orchestrates plugin execution\n */\nexport class PluginManager {\n private plugins: StacksCodegenPlugin[] = [];\n private logger: Logger;\n private utils: PluginUtils;\n private executionContext: PluginExecutionContext;\n\n constructor() {\n this.logger = this.createLogger();\n this.utils = this.createUtils();\n this.executionContext = {\n phase: \"config\",\n startTime: Date.now(),\n results: new Map(),\n };\n }\n\n /**\n * Register a plugin\n */\n register(plugin: StacksCodegenPlugin): void {\n // Validate plugin\n if (!plugin.name || !plugin.version) {\n throw new Error(\"Plugin must have a name and version\");\n }\n\n // Check for duplicate plugin names\n const existing = this.plugins.find((p) => p.name === plugin.name);\n if (existing) {\n throw new Error(\n `Plugin \"${plugin.name}\" is already registered (version ${existing.version})`\n );\n }\n\n this.plugins.push(plugin);\n this.logger.debug(`Registered plugin: ${plugin.name}@${plugin.version}`);\n }\n\n /**\n * Get all registered plugins\n */\n getPlugins(): StacksCodegenPlugin[] {\n return [...this.plugins];\n }\n\n /**\n * Transform user config through all plugins\n */\n async transformConfig(config: UserConfig): Promise<ResolvedConfig> {\n this.executionContext.phase = \"config\";\n let transformedConfig = { ...config };\n\n for (const plugin of this.plugins) {\n if (plugin.transformConfig) {\n this.executionContext.currentPlugin = plugin;\n try {\n const result = await plugin.transformConfig(transformedConfig);\n transformedConfig = result;\n this.recordHookResult(plugin.name, \"transformConfig\", {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, \"transformConfig\", {\n success: false,\n error: err,\n });\n throw new Error(\n `Plugin \"${plugin.name}\" failed during config transformation: ${err.message}`\n );\n }\n }\n }\n\n // Add plugins array to resolved config\n const resolvedConfig: ResolvedConfig = {\n ...transformedConfig,\n plugins: this.plugins,\n };\n\n return resolvedConfig;\n }\n\n /**\n * Transform contracts through all plugins\n */\n async transformContracts(\n contracts: ContractConfig[],\n _config: ResolvedConfig\n ): Promise<ProcessedContract[]> {\n const processedContracts: ProcessedContract[] = [];\n\n for (let contract of contracts) {\n // Handle special case for Clarinet plugin contracts\n if ((contract as any)._clarinetSource && contract.abi) {\n // Convert Clarinet contracts directly to ProcessedContract format\n const address =\n typeof contract.address === \"string\" ? contract.address : \"\";\n const [contractAddress, contractName] = address.split(\".\");\n const processed: ProcessedContract = {\n name: contract.name || contractName,\n address: contractAddress,\n contractName: contractName,\n abi: contract.abi,\n source: \"local\" as const,\n metadata: { source: \"clarinet\" },\n };\n processedContracts.push(processed);\n continue;\n }\n\n // Handle direct file mode contracts (already have ABIs parsed)\n if ((contract as any)._directFile && contract.abi) {\n const address =\n typeof contract.address === \"string\" ? contract.address : \"\";\n const [contractAddress, contractName] = address.split(\".\");\n const processed: ProcessedContract = {\n name: contract.name || contractName,\n address: contractAddress,\n contractName: contractName,\n abi: contract.abi,\n source: \"local\" as const,\n metadata: { source: \"direct\" },\n };\n processedContracts.push(processed);\n continue;\n }\n\n // Transform through each plugin\n for (const plugin of this.plugins) {\n if (plugin.transformContract) {\n this.executionContext.currentPlugin = plugin;\n try {\n contract = await plugin.transformContract(contract);\n this.recordHookResult(plugin.name, \"transformContract\", {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, \"transformContract\", {\n success: false,\n error: err,\n });\n this.logger.warn(\n `Plugin \"${plugin.name}\" failed to transform contract: ${err.message}`\n );\n }\n }\n }\n\n // Convert to ProcessedContract\n if (contract.abi) {\n const processed: ProcessedContract = {\n name: contract.name || \"unknown\",\n address:\n typeof contract.address === \"string\"\n ? contract.address.split(\".\")[0]\n : \"unknown\",\n contractName: contract.name || \"unknown\",\n abi: contract.abi,\n source: \"api\" as const, // Use \"api\" as default for plugin-processed contracts\n metadata: contract.metadata,\n };\n processedContracts.push(processed);\n }\n }\n\n return processedContracts;\n }\n\n /**\n * Execute lifecycle hooks\n */\n async executeHook(\n hookName: keyof StacksCodegenPlugin,\n context: any\n ): Promise<void> {\n for (const plugin of this.plugins) {\n const hook = plugin[hookName];\n if (typeof hook === \"function\") {\n this.executionContext.currentPlugin = plugin;\n try {\n await (hook as any).call(plugin, context);\n this.recordHookResult(plugin.name, hookName as string, {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, hookName as string, {\n success: false,\n error: err,\n });\n this.logger.error(\n `Plugin \"${plugin.name}\" failed during ${hookName as string}: ${err.message}`\n );\n // Don't throw - allow other plugins to continue\n }\n }\n }\n }\n\n /**\n * Execute generation phase with full context\n */\n async executeGeneration(\n contracts: ProcessedContract[],\n config: ResolvedConfig\n ): Promise<Map<string, GeneratedOutput>> {\n this.executionContext.phase = \"generate\";\n const outputs = new Map<string, GeneratedOutput>();\n\n // Create generation context\n const context: GenerateContext = {\n config,\n logger: this.logger,\n utils: this.utils,\n contracts,\n outputs,\n augment: (outputKey: string, contractName: string, content: any) => {\n this.augmentOutput(outputs, outputKey, contractName, content);\n },\n addOutput: (key: string, output: GeneratedOutput) => {\n outputs.set(key, output);\n },\n };\n\n // Execute beforeGenerate hooks\n await this.executeHook(\"beforeGenerate\", context);\n\n // Execute generate hooks\n await this.executeHook(\"generate\", context);\n\n // Execute afterGenerate hooks\n await this.executeHook(\"afterGenerate\", context);\n\n return outputs;\n }\n\n /**\n * Transform outputs through plugins\n */\n async transformOutputs(\n outputs: Map<string, GeneratedOutput>\n ): Promise<Map<string, GeneratedOutput>> {\n this.executionContext.phase = \"output\";\n const transformedOutputs = new Map<string, GeneratedOutput>();\n\n for (const [key, output] of outputs) {\n let transformedContent = output.content;\n\n for (const plugin of this.plugins) {\n if (plugin.transformOutput) {\n this.executionContext.currentPlugin = plugin;\n try {\n transformedContent = await plugin.transformOutput(\n transformedContent,\n output.type || \"other\"\n );\n this.recordHookResult(plugin.name, \"transformOutput\", {\n success: true,\n });\n } catch (error) {\n const err = error as Error;\n this.recordHookResult(plugin.name, \"transformOutput\", {\n success: false,\n error: err,\n });\n this.logger.warn(\n `Plugin \"${plugin.name}\" failed to transform output: ${err.message}`\n );\n }\n }\n }\n\n transformedOutputs.set(key, {\n ...output,\n content: transformedContent,\n });\n }\n\n return transformedOutputs;\n }\n\n /**\n * Write outputs to disk\n */\n async writeOutputs(outputs: Map<string, GeneratedOutput>): Promise<void> {\n for (const [, output] of outputs) {\n try {\n const resolvedPath = path.resolve(process.cwd(), output.path);\n await this.utils.ensureDir(path.dirname(resolvedPath));\n await this.utils.writeFile(resolvedPath, output.content);\n // Don't log here - let the main command handle success messaging\n } catch (error) {\n const err = error as Error;\n this.logger.error(`Failed to write ${output.path}: ${err.message}`);\n throw err;\n }\n }\n }\n\n /**\n * Get execution results for debugging\n */\n getExecutionResults(): Map<string, HookResult[]> {\n return new Map(this.executionContext.results);\n }\n\n /**\n * Augment existing output with additional content\n */\n private augmentOutput(\n outputs: Map<string, GeneratedOutput>,\n outputKey: string,\n contractName: string,\n content: any\n ): void {\n const existing = outputs.get(outputKey);\n if (!existing) {\n this.logger.warn(`Cannot augment non-existent output: ${outputKey}`);\n return;\n }\n\n // Simple augmentation - append content\n // In a real implementation, this would be more sophisticated\n const augmentedContent = `${existing.content}\\n\\n// Augmented by plugin for ${contractName}\\n${JSON.stringify(content, null, 2)}`;\n\n outputs.set(outputKey, {\n ...existing,\n content: augmentedContent,\n });\n }\n\n /**\n * Record hook execution result\n */\n private recordHookResult(\n pluginName: string,\n hookName: string,\n result: Omit<HookResult, \"plugin\">\n ): void {\n const key = `${pluginName}:${hookName}`;\n const existing = this.executionContext.results.get(key) || [];\n existing.push({ ...result, plugin: pluginName });\n this.executionContext.results.set(key, existing);\n }\n\n /**\n * Create logger instance\n */\n private createLogger(): Logger {\n return {\n info: (message: string) => console.log(`ℹ️ ${message}`),\n warn: (message: string) => console.warn(`⚠️ ${message}`),\n error: (message: string) => console.error(`❌ ${message}`),\n debug: (message: string) => {\n if (process.env.DEBUG) {\n console.log(`🐛 ${message}`);\n }\n },\n success: (message: string) => console.log(`✅ ${message}`),\n };\n }\n\n /**\n * Create utils instance\n */\n private createUtils(): PluginUtils {\n return {\n toCamelCase: (str: string) => {\n return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n },\n\n toKebabCase: (str: string) => {\n return str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);\n },\n\n validateAddress: (address: string) => {\n return validateStacksAddress(address.split(\".\")[0]);\n },\n\n parseContractId: (contractId: string) => {\n const [address, contractName] = contractId.split(\".\");\n return { address, contractName };\n },\n\n formatCode: async (code: string) => {\n const { format } = await import(\"prettier\");\n return format(code, {\n parser: \"typescript\",\n singleQuote: true,\n semi: true,\n printWidth: 100,\n trailingComma: \"es5\",\n });\n },\n\n resolvePath: (relativePath: string) => {\n return path.resolve(process.cwd(), relativePath);\n },\n\n fileExists: async (filePath: string) => {\n try {\n await fs.access(filePath);\n return true;\n } catch {\n return false;\n }\n },\n\n readFile: async (filePath: string) => {\n return fs.readFile(filePath, \"utf-8\");\n },\n\n writeFile: async (filePath: string, content: string) => {\n await fs.writeFile(filePath, content, \"utf-8\");\n },\n\n ensureDir: async (dirPath: string) => {\n await fs.mkdir(dirPath, { recursive: true });\n },\n };\n }\n}\n",
6
6
  "/**\n * Clarinet Plugin for @secondlayer/cli\n * Generates type-safe contract interfaces from local Clarity contracts using Clarinet SDK\n */\n\nimport { initSimnet } from \"@hirosystems/clarinet-sdk\";\nimport { generateContractInterface } from \"../../generators/contract\";\nimport type {\n PluginFactory,\n // StacksCodegenPlugin,\n UserConfig,\n GenerateContext,\n // ProcessedContract,\n} from \"../../types/plugin\";\n\nexport interface ClarinetPluginOptions {\n /** Path to Clarinet.toml file */\n path?: string;\n\n /** Include only specific contracts */\n include?: string[];\n\n /** Exclude specific contracts */\n exclude?: string[];\n\n /** Enable debug output */\n debug?: boolean;\n}\n\n/**\n * Convert contract name to camelCase for JavaScript export\n */\nfunction toCamelCase(str: string): string {\n return str\n .replace(/-([a-z])/g, (_, letter) => letter.toUpperCase()) // Convert -a to A\n .replace(/-([A-Z])/g, (_, letter) => letter) // Convert -A to A\n .replace(/-(\\d)/g, (_, digit) => digit) // Convert -1 to 1\n .replace(/-/g, \"\") // Remove any remaining hyphens\n .replace(/^\\d/, \"_$&\"); // Prefix with underscore if starts with digit\n}\n\n/**\n * Sanitize contract name to be a valid JavaScript identifier using camelCase\n */\nfunction sanitizeContractName(name: string): string {\n return toCamelCase(name);\n}\n\n/**\n * Check if a contract is a user-defined contract (not a system contract)\n */\nasync function isUserDefinedContract(\n contractId: string,\n manifestPath: string\n): Promise<boolean> {\n const [address, contractName] = contractId.split(\".\");\n\n try {\n // Read Clarinet.toml to get user-defined contracts\n const { promises: fs } = await import(\"fs\");\n const tomlContent = await fs.readFile(manifestPath, \"utf-8\");\n\n // Simple TOML parsing to find [contracts.CONTRACT_NAME] sections\n const contractSectionRegex = /^\\[contracts\\.([^\\]]+)\\]/gm;\n const userContracts = new Set<string>();\n\n let match;\n while ((match = contractSectionRegex.exec(tomlContent)) !== null) {\n userContracts.add(match[1]);\n }\n\n // If the contract is explicitly defined in Clarinet.toml, it's user-defined\n if (userContracts.has(contractName)) {\n return true;\n }\n } catch (error) {\n // If we can't read the TOML file, fall back to pattern matching\n }\n\n // Fallback: System contracts typically have specific addresses or are in the boot contracts\n // Common system contract patterns:\n const systemContractPatterns = [\n /^pox-\\d+$/, // pox-2, pox-3, etc.\n /^bns$/, // Blockchain Name System\n /^costs-\\d+$/, // costs-2, costs-3, etc.\n /^lockup$/, // lockup contract\n ];\n\n // Check if it matches any system contract pattern\n if (systemContractPatterns.some((pattern) => pattern.test(contractName))) {\n return false;\n }\n\n // System contracts often use specific addresses\n const systemAddresses = [\n \"SP000000000000000000002Q6VF78\", // Boot contracts address\n \"ST000000000000000000002AMW42H\", // Boot contracts address (testnet)\n ];\n\n if (systemAddresses.includes(address)) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Clarinet plugin factory\n */\nexport const clarinet: PluginFactory<ClarinetPluginOptions> = (\n options = {}\n) => {\n const manifestPath = options.path || \"./Clarinet.toml\";\n let simnet: any;\n\n return {\n name: \"@secondlayer/cli/plugin-clarinet\",\n version: \"1.0.0\",\n\n async transformConfig(config: UserConfig): Promise<UserConfig> {\n try {\n // Initialize simnet to extract contract ABIs\n simnet = await initSimnet(manifestPath);\n\n // Get contract interfaces from Clarinet\n const contractInterfaces = simnet.getContractsInterfaces();\n const contracts = [];\n\n for (const [contractId, abi] of contractInterfaces) {\n const [_, contractName] = contractId.split(\".\");\n\n // Skip system contracts\n if (!(await isUserDefinedContract(contractId, manifestPath))) {\n if (options.debug) {\n console.log(`🚫 Skipping system contract: ${contractId}`);\n }\n continue;\n }\n\n // Apply user filters\n if (options.include && !options.include.includes(contractName)) {\n continue;\n }\n if (options.exclude && options.exclude.includes(contractName)) {\n continue;\n }\n\n // Sanitize the contract name for JavaScript export\n const sanitizedName = sanitizeContractName(contractName);\n\n // Don't set source field to avoid conflict with file resolution\n // Instead, we'll track this in metadata during processing\n contracts.push({\n name: sanitizedName,\n address: contractId,\n abi: abi,\n // Remove source field - this was causing the path resolution issue\n _clarinetSource: true, // Internal flag for our plugin\n });\n }\n\n if (options.debug) {\n console.log(\n `🔍 Clarinet plugin found ${contracts.length} user-defined contracts`\n );\n }\n\n return {\n ...config,\n contracts: [...(config.contracts || []), ...contracts],\n };\n } catch (error) {\n const err = error as Error;\n if (options.debug) {\n console.warn(\n `⚠️ Clarinet plugin failed to load contracts: ${err.message}`\n );\n }\n // If Clarinet.toml doesn't exist or fails, just return config unchanged\n return config;\n }\n },\n\n async generate(context: GenerateContext): Promise<void> {\n // Filter contracts that came from Clarinet\n const clarinetContracts = context.contracts.filter(\n (contract) => contract.metadata?.source === \"clarinet\"\n );\n\n if (clarinetContracts.length === 0) {\n return;\n }\n\n if (options.debug) {\n context.logger.debug(\n `Generating interfaces for ${clarinetContracts.length} Clarinet contracts`\n );\n }\n\n // Generate the main contracts file using existing generator\n const contractsCode = await generateContractInterface(clarinetContracts);\n\n context.addOutput(\"contracts\", {\n path: context.config.out,\n content: contractsCode,\n type: \"contracts\",\n });\n\n // Don't log success here - let the main command handle it\n },\n };\n};\n\n/**\n * Utility function to check if a Clarinet project exists\n */\nexport async function hasClarinetProject(\n path = \"./Clarinet.toml\"\n): Promise<boolean> {\n try {\n const { promises: fs } = await import(\"fs\");\n await fs.access(path);\n return true;\n } catch {\n return false;\n }\n}\n",
7
7
  "import { format } from \"prettier\";\nimport type { ResolvedContract } from \"../types/config\";\nimport type { ClarityFunction } from \"@secondlayer/clarity-types\";\n\n/**\n * Code generator for contract interfaces\n */\n\nexport async function generateContractInterface(\n contracts: ResolvedContract[]\n): Promise<string> {\n const imports = `import { Cl, validateStacksAddress } from '@stacks/transactions'`;\n\n const header = `/**\n * Generated by @secondlayer/cli\n * DO NOT EDIT MANUALLY\n */`;\n\n const contractsCode = contracts\n .map((contract) => generateContract(contract))\n .join(\"\\n\\n\");\n\n const code = `${imports}\\n\\n${header}\\n\\n${contractsCode}`;\n\n const formatted = await format(code, {\n parser: \"typescript\",\n singleQuote: true,\n semi: true,\n printWidth: 100,\n trailingComma: \"es5\",\n });\n\n return formatted;\n}\n\nfunction generateContract(contract: ResolvedContract): string {\n const { name, address, contractName, abi } = contract;\n\n const abiCode = generateAbiConstant(name, abi);\n\n const methods = abi.functions\n .filter((func: ClarityFunction) => func.access !== \"private\")\n .map((func: ClarityFunction) => generateMethod(func, address, contractName))\n .join(\",\\n\\n \");\n\n const contractCode = `export const ${name} = {\n address: '${address}',\n contractAddress: '${address}',\n contractName: '${contractName}',\n \n ${methods}\n} as const`;\n\n return `${abiCode}\\n\\n${contractCode}`;\n}\n\nfunction generateAbiConstant(name: string, abi: any): string {\n const abiJson = JSON.stringify(abi, null, 2)\n .replace(/\"([a-zA-Z_$][a-zA-Z0-9_$]*)\":/g, \"$1:\") // Only remove quotes from valid JS identifiers\n .replace(/\"/g, \"'\"); // Use single quotes\n\n return `export const ${name}Abi = ${abiJson} as const`;\n}\n\nfunction generateMethod(\n func: ClarityFunction,\n address: string,\n contractName: string\n): string {\n const methodName = toCamelCase(func.name);\n\n if (func.args.length === 0) {\n return `${methodName}() {\n return {\n contractAddress: '${address}',\n contractName: '${contractName}',\n functionName: '${func.name}',\n functionArgs: []\n }\n }`;\n }\n\n if (func.args.length === 1) {\n const originalArgName = func.args[0].name;\n const argName = toCamelCase(originalArgName);\n const argType = getTypeForArg(func.args[0]);\n const clarityConversion = generateClarityConversion(argName, func.args[0]);\n\n return `${methodName}(...args: [{ ${argName}: ${argType} }] | [${argType}]) {\n const ${argName} = args.length === 1 && typeof args[0] === 'object' && args[0] !== null && '${argName}' in args[0]\n ? args[0].${argName}\n : args[0] as ${argType}\n \n return {\n contractAddress: '${address}',\n contractName: '${contractName}',\n functionName: '${func.name}',\n functionArgs: [${clarityConversion}]\n }\n }`;\n }\n\n const argsList = func.args.map((arg) => toCamelCase(arg.name)).join(\", \");\n const argsTypes = func.args\n .map((arg) => {\n const camelName = toCamelCase(arg.name);\n return `${camelName}: ${getTypeForArg(arg)}`;\n })\n .join(\"; \");\n const argsArray = func.args\n .map((arg) => {\n const argName = toCamelCase(arg.name);\n return generateClarityConversion(argName, arg);\n })\n .join(\", \");\n const objectAccess = func.args\n .map((arg) => {\n const camelName = toCamelCase(arg.name);\n return `args[0].${camelName}`;\n })\n .join(\", \");\n const positionTypes = func.args.map((arg) => getTypeForArg(arg)).join(\", \");\n\n return `${methodName}(...args: [{ ${argsTypes} }] | [${positionTypes}]) {\n const [${argsList}] = args.length === 1 && typeof args[0] === 'object' && args[0] !== null\n ? [${objectAccess}]\n : args as [${positionTypes}]\n \n return {\n contractAddress: '${address}',\n contractName: '${contractName}',\n functionName: '${func.name}',\n functionArgs: [${argsArray}]\n }\n }`;\n}\n\nfunction getTypeForArg(arg: any): string {\n const type = arg.type;\n\n if (typeof type === \"string\") {\n switch (type) {\n case \"uint128\":\n case \"int128\":\n return \"bigint\";\n case \"bool\":\n return \"boolean\";\n case \"principal\":\n case \"trait_reference\":\n return \"string\";\n default:\n return \"any\";\n }\n }\n\n if (type[\"string-ascii\"] || type[\"string-utf8\"]) {\n return \"string\";\n }\n\n if (type.buff) {\n // Support flexible buffer input types\n return \"Uint8Array | string | { type: 'ascii' | 'utf8' | 'hex'; value: string }\";\n }\n\n if (type.optional) {\n const innerType = getTypeForArg({ type: type.optional });\n return `${innerType} | null`;\n }\n\n if (type.list) {\n const innerType = getTypeForArg({ type: type.list.type });\n return `${innerType}[]`;\n }\n\n if (type.tuple) {\n const fields = type.tuple\n .map(\n (field: any) =>\n `${toCamelCase(field.name)}: ${getTypeForArg({ type: field.type })}`\n )\n .join(\"; \");\n return `{ ${fields} }`;\n }\n\n if (type.response) {\n const okType = getTypeForArg({ type: type.response.ok });\n const errType = getTypeForArg({ type: type.response.error });\n return `{ ok: ${okType} } | { err: ${errType} }`;\n }\n\n return \"any\";\n}\n\nfunction toCamelCase(str: string): string {\n return str\n .replace(/-([a-z])/g, (_, letter) => letter.toUpperCase()) // Convert -a to A\n .replace(/-([A-Z])/g, (_, letter) => letter) // Convert -A to A\n .replace(/-(\\d)/g, (_, digit) => digit) // Convert -1 to 1\n .replace(/-/g, \"\"); // Remove any remaining hyphens\n}\n\n/**\n * Convert TypeScript value to ClarityValue based on the argument type\n */\nfunction generateClarityConversion(argName: string, argType: any): string {\n const type = argType.type;\n\n if (typeof type === \"string\") {\n switch (type) {\n case \"uint128\":\n return `Cl.uint(${argName})`;\n case \"int128\":\n return `Cl.int(${argName})`;\n case \"bool\":\n return `Cl.bool(${argName})`;\n case \"principal\":\n case \"trait_reference\":\n return `(() => {\n const [address, contractName] = ${argName}.split(\".\") as [string, string];\n if (!validateStacksAddress(address)) {\n throw new Error(\"Invalid Stacks address format\");\n }\n if (${argName}.includes(\".\")) {\n return Cl.contractPrincipal(address, contractName);\n } else {\n return Cl.standardPrincipal(${argName});\n }\n })()`;\n default:\n return `${argName}`; // fallback for unknown types\n }\n }\n\n if (type[\"string-ascii\"]) {\n return `Cl.stringAscii(${argName})`;\n }\n\n if (type[\"string-utf8\"]) {\n return `Cl.stringUtf8(${argName})`;\n }\n\n if (type.buff) {\n // Generate flexible buffer conversion code that matches the hooks implementation\n return `(() => {\n const value = ${argName};\n // Direct Uint8Array\n if (value instanceof Uint8Array) {\n return Cl.buffer(value);\n }\n // Object notation with explicit type\n if (typeof value === 'object' && value !== null && value.type && value.value) {\n switch (value.type) {\n case 'ascii':\n return Cl.bufferFromAscii(value.value);\n case 'utf8':\n return Cl.bufferFromUtf8(value.value);\n case 'hex':\n return Cl.bufferFromHex(value.value);\n default:\n throw new Error(\\`Unsupported buffer type: \\${value.type}\\`);\n }\n }\n // Auto-detect string type\n if (typeof value === 'string') {\n // Check for hex (0x prefix or pure hex pattern)\n if (value.startsWith('0x') || /^[0-9a-fA-F]+$/.test(value)) {\n return Cl.bufferFromHex(value);\n }\n // Check for non-ASCII characters (UTF-8)\n if (!/^[\\\\x00-\\\\x7F]*$/.test(value)) {\n return Cl.bufferFromUtf8(value);\n }\n // Default to ASCII for simple ASCII strings\n return Cl.bufferFromAscii(value);\n }\n throw new Error(\\`Invalid buffer value: \\${value}\\`);\n })()`;\n }\n\n if (type.optional) {\n const innerConversion = generateClarityConversion(argName, {\n type: type.optional,\n });\n return `${argName} !== null ? Cl.some(${innerConversion.replace(argName, `${argName}`)}) : Cl.none()`;\n }\n\n if (type.list) {\n const innerConversion = generateClarityConversion(\"item\", {\n type: type.list.type,\n });\n return `Cl.list(${argName}.map(item => ${innerConversion}))`;\n }\n\n if (type.tuple) {\n const fields = type.tuple\n .map((field: any) => {\n const camelFieldName = toCamelCase(field.name);\n const fieldConversion = generateClarityConversion(\n `${argName}.${camelFieldName}`,\n { type: field.type }\n );\n return `\"${field.name}\": ${fieldConversion}`;\n })\n .join(\", \");\n return `Cl.tuple({ ${fields} })`;\n }\n\n if (type.response) {\n // For response types, we expect the user to pass { ok: value } or { err: value }\n const okConversion = generateClarityConversion(`${argName}.ok`, {\n type: type.response.ok,\n });\n const errConversion = generateClarityConversion(`${argName}.err`, {\n type: type.response.error,\n });\n return `'ok' in ${argName} ? Cl.ok(${okConversion.replace(`${argName}.ok`, `${argName}.ok`)}) : Cl.error(${errConversion.replace(`${argName}.err`, `${argName}.err`)})`;\n }\n\n // Default fallback\n return `${argName}`;\n}\n",
8
8
  "/**\n * Action generators for read and write helper functions\n */\n\nimport type { ProcessedContract } from \"../../types/plugin\";\nimport type { ClarityFunction } from \"@secondlayer/clarity-types\";\nimport type { ActionsPluginOptions } from \"./index\";\n\n/**\n * Convert string to camelCase (enhanced version from old generator)\n */\nfunction toCamelCase(str: string): string {\n return str\n .replace(/-([a-z])/g, (_, letter) => letter.toUpperCase())\n .replace(/-([A-Z])/g, (_, letter) => letter)\n .replace(/-(\\d)/g, (_, digit) => digit)\n .replace(/-/g, \"\")\n .replace(/^\\d/, \"_$&\");\n}\n\n/**\n * Generate TypeScript type for Clarity argument (from old generator)\n */\nfunction getTypeForArg(arg: any): string {\n const type = arg.type;\n\n if (typeof type === \"string\") {\n switch (type) {\n case \"uint128\":\n case \"int128\":\n return \"bigint\";\n case \"bool\":\n return \"boolean\";\n case \"principal\":\n case \"trait_reference\":\n return \"string\";\n default:\n return \"any\";\n }\n }\n\n if (type[\"string-ascii\"] || type[\"string-utf8\"]) {\n return \"string\";\n }\n\n if (type.buff) {\n return \"Uint8Array | string | { type: 'ascii' | 'utf8' | 'hex'; value: string }\";\n }\n\n if (type.optional) {\n const innerType = getTypeForArg({ type: type.optional });\n return `${innerType} | null`;\n }\n\n if (type.list) {\n const innerType = getTypeForArg({ type: type.list.type });\n return `${innerType}[]`;\n }\n\n if (type.tuple) {\n const fields = type.tuple\n .map(\n (field: any) =>\n `${toCamelCase(field.name)}: ${getTypeForArg({ type: field.type })}`\n )\n .join(\"; \");\n return `{ ${fields} }`;\n }\n\n if (type.response) {\n const okType = getTypeForArg({ type: type.response.ok });\n const errType = getTypeForArg({ type: type.response.error });\n return `{ ok: ${okType} } | { err: ${errType} }`;\n }\n\n return \"any\";\n}\n\n/**\n * Generate arguments signature for helper functions\n */\nfunction generateArgsSignature(args: readonly any[]): string {\n if (args.length === 0) return \"\";\n\n const argsTypes = args\n .map((arg) => {\n const camelName = toCamelCase(arg.name);\n return `${camelName}: ${getTypeForArg(arg)}`;\n })\n .join(\"; \");\n\n return `args: { ${argsTypes} }, `;\n}\n\n/**\n * Generate Clarity arguments for function calls\n */\nfunction generateClarityArgs(\n args: readonly any[],\n _contractName: string\n): string {\n if (args.length === 0) return \"\";\n\n return args\n .map((arg) => {\n const argName = `args.${toCamelCase(arg.name)}`;\n return generateClarityConversion(argName, arg);\n })\n .join(\", \");\n}\n\n/**\n * Convert TypeScript value to ClarityValue based on the argument type (from old generator)\n */\nfunction generateClarityConversion(argName: string, argType: any): string {\n const type = argType.type;\n\n if (typeof type === \"string\") {\n switch (type) {\n case \"uint128\":\n return `Cl.uint(${argName})`;\n case \"int128\":\n return `Cl.int(${argName})`;\n case \"bool\":\n return `Cl.bool(${argName})`;\n case \"principal\":\n case \"trait_reference\":\n return `(() => {\n const [address, contractName] = ${argName}.split(\".\") as [string, string];\n if (!validateStacksAddress(address)) {\n throw new Error(\"Invalid Stacks address format\");\n }\n if (${argName}.includes(\".\")) {\n return Cl.contractPrincipal(address, contractName);\n } else {\n return Cl.standardPrincipal(${argName});\n }\n })()`;\n default:\n return `${argName}`;\n }\n }\n\n if (type[\"string-ascii\"]) {\n return `Cl.stringAscii(${argName})`;\n }\n\n if (type[\"string-utf8\"]) {\n return `Cl.stringUtf8(${argName})`;\n }\n\n if (type.buff) {\n return `(() => {\n const value = ${argName};\n if (value instanceof Uint8Array) {\n return Cl.buffer(value);\n }\n if (typeof value === 'object' && value !== null && value.type && value.value) {\n switch (value.type) {\n case 'ascii':\n return Cl.bufferFromAscii(value.value);\n case 'utf8':\n return Cl.bufferFromUtf8(value.value);\n case 'hex':\n return Cl.bufferFromHex(value.value);\n default:\n throw new Error(\\`Unsupported buffer type: \\${value.type}\\`);\n }\n }\n if (typeof value === 'string') {\n if (value.startsWith('0x') || /^[0-9a-fA-F]+$/.test(value)) {\n return Cl.bufferFromHex(value);\n }\n if (!/^[\\\\x00-\\\\x7F]*$/.test(value)) {\n return Cl.bufferFromUtf8(value);\n }\n return Cl.bufferFromAscii(value);\n }\n throw new Error(\\`Invalid buffer value: \\${value}\\`);\n })()`;\n }\n\n if (type.optional) {\n const innerConversion = generateClarityConversion(argName, {\n type: type.optional,\n });\n return `${argName} !== null ? Cl.some(${innerConversion.replace(argName, `${argName}`)}) : Cl.none()`;\n }\n\n if (type.list) {\n const innerConversion = generateClarityConversion(\"item\", {\n type: type.list.type,\n });\n return `Cl.list(${argName}.map(item => ${innerConversion}))`;\n }\n\n if (type.tuple) {\n const fields = type.tuple\n .map((field: any) => {\n const camelFieldName = toCamelCase(field.name);\n const fieldConversion = generateClarityConversion(\n `${argName}.${camelFieldName}`,\n { type: field.type }\n );\n return `\"${field.name}\": ${fieldConversion}`;\n })\n .join(\", \");\n return `Cl.tuple({ ${fields} })`;\n }\n\n if (type.response) {\n const okConversion = generateClarityConversion(`${argName}.ok`, {\n type: type.response.ok,\n });\n const errConversion = generateClarityConversion(`${argName}.err`, {\n type: type.response.error,\n });\n return `'ok' in ${argName} ? Cl.ok(${okConversion.replace(`${argName}.ok`, `${argName}.ok`)}) : Cl.error(${errConversion.replace(`${argName}.err`, `${argName}.err`)})`;\n }\n\n return `${argName}`;\n}\n\n/**\n * Generate read helper functions for a contract (fixed version)\n */\nfunction generateReadHelpers(\n contract: ProcessedContract,\n options: ActionsPluginOptions\n): string {\n const { abi, name } = contract;\n const functions = abi.functions || [];\n\n const readOnlyFunctions = functions.filter(\n (f: ClarityFunction) =>\n (f.access as any) === \"read_only\" || f.access === \"read-only\"\n );\n\n if (readOnlyFunctions.length === 0) {\n return \"\";\n }\n\n // Apply function filters\n const filteredFunctions = readOnlyFunctions.filter(\n (func: ClarityFunction) => {\n if (\n options.includeFunctions &&\n !options.includeFunctions.includes(func.name)\n ) {\n return false;\n }\n if (\n options.excludeFunctions &&\n options.excludeFunctions.includes(func.name)\n ) {\n return false;\n }\n return true;\n }\n );\n\n if (filteredFunctions.length === 0) {\n return \"\";\n }\n\n const helpers = filteredFunctions.map((func: ClarityFunction) => {\n const methodName = toCamelCase(func.name);\n const argsSignature = generateArgsSignature(func.args);\n const clarityArgs = generateClarityArgs(func.args, name);\n\n return `async ${methodName}(${argsSignature}options?: { \n network?: 'mainnet' | 'testnet' | 'devnet';\n senderAddress?: string;\n }) {\n return await fetchCallReadOnlyFunction({\n contractAddress: '${contract.address}',\n contractName: '${contract.contractName}',\n functionName: '${func.name}',\n functionArgs: [${clarityArgs}],\n network: options?.network || 'mainnet',\n senderAddress: options?.senderAddress || 'SP000000000000000000002Q6VF78'\n });\n }`;\n });\n\n return `read: {\n ${helpers.join(\",\\n\\n \")}\n }`;\n}\n\n/**\n * Generate write helper functions for a contract (fixed version)\n */\nfunction generateWriteHelpers(\n contract: ProcessedContract,\n options: ActionsPluginOptions\n): string {\n const { abi, name } = contract;\n const functions = abi.functions || [];\n\n const publicFunctions = functions.filter(\n (f: ClarityFunction) => f.access === \"public\"\n );\n\n if (publicFunctions.length === 0) {\n return \"\";\n }\n\n // Apply function filters\n const filteredFunctions = publicFunctions.filter((func: ClarityFunction) => {\n if (\n options.includeFunctions &&\n !options.includeFunctions.includes(func.name)\n ) {\n return false;\n }\n if (\n options.excludeFunctions &&\n options.excludeFunctions.includes(func.name)\n ) {\n return false;\n }\n return true;\n });\n\n if (filteredFunctions.length === 0) {\n return \"\";\n }\n\n const helpers = filteredFunctions.map((func: ClarityFunction) => {\n const methodName = toCamelCase(func.name);\n const argsSignature = generateArgsSignature(func.args);\n const clarityArgs = generateClarityArgs(func.args, name);\n\n return `async ${methodName}(${argsSignature}options: {\n senderKey: string;\n network?: 'mainnet' | 'testnet' | 'devnet';\n fee?: string | number | undefined;\n nonce?: bigint;\n anchorMode?: 1 | 2 | 3; // AnchorMode: OnChainOnly = 1, OffChainOnly = 2, Any = 3\n postConditions?: any[]; // TODO: Add proper PostCondition types\n validateWithAbi?: boolean;\n }) {\n const { senderKey, network = 'mainnet', ...txOptions } = options;\n \n return await makeContractCall({\n contractAddress: '${contract.address}',\n contractName: '${contract.contractName}',\n functionName: '${func.name}',\n functionArgs: [${clarityArgs}],\n senderKey,\n network,\n validateWithAbi: true,\n ...txOptions\n });\n }`;\n });\n\n return `write: {\n ${helpers.join(\",\\n\\n \")}\n }`;\n}\n\n/**\n * Generate action helpers (read and write functions) for a contract\n */\nexport async function generateActionHelpers(\n contract: ProcessedContract,\n options: ActionsPluginOptions\n): Promise<string> {\n const readHelpers = generateReadHelpers(contract, options);\n const writeHelpers = generateWriteHelpers(contract, options);\n\n if (!readHelpers && !writeHelpers) {\n return \"\";\n }\n\n const helpers = [readHelpers, writeHelpers].filter(Boolean);\n return helpers.join(\",\\n\\n\");\n}\n",
@@ -16,7 +16,7 @@
16
16
  "/**\n * Testing plugin for @secondlayer/cli\n * Generates type-safe helpers for Clarinet SDK unit tests\n */\n\nimport type { PluginFactory, GenerateContext } from \"../../types/plugin\";\nimport { generateTestingHelpers } from \"./generators\";\n\nexport interface TestingPluginOptions {\n /** Include only specific contracts */\n include?: string[];\n\n /** Exclude specific contracts */\n exclude?: string[];\n\n /** Output path for generated testing helpers (default: ./src/generated/testing.ts) */\n out?: string;\n\n /** Include private function helpers (default: false) */\n includePrivate?: boolean;\n\n /** Enable debug output */\n debug?: boolean;\n}\n\nexport const testing: PluginFactory<TestingPluginOptions> = (options = {}) => {\n return {\n name: \"@secondlayer/cli/plugin-testing\",\n version: \"1.0.0\",\n\n async generate(context: GenerateContext): Promise<void> {\n const { contracts } = context;\n\n // Filter contracts based on options\n const filteredContracts = contracts.filter((contract) => {\n if (options.include && !options.include.includes(contract.name)) {\n return false;\n }\n if (options.exclude && options.exclude.includes(contract.name)) {\n return false;\n }\n return true;\n });\n\n if (filteredContracts.length === 0) {\n if (options.debug) {\n context.logger.debug(\"Testing plugin: No contracts to process\");\n }\n return;\n }\n\n if (options.debug) {\n context.logger.debug(\n `Testing plugin: Generating helpers for ${filteredContracts.length} contracts`\n );\n }\n\n // Generate testing helpers\n const testingCode = await generateTestingHelpers(\n filteredContracts,\n options\n );\n\n const outputPath = options.out || \"./src/generated/testing.ts\";\n\n context.addOutput(\"testing\", {\n path: outputPath,\n content: testingCode,\n type: \"utils\",\n });\n\n if (options.debug) {\n context.logger.debug(\n `Testing plugin: Generated helpers for ${filteredContracts.length} contracts`\n );\n }\n },\n };\n};\n",
17
17
  "/**\n * Plugin exports for @secondlayer/cli\n * This will be expanded as plugins are implemented\n */\n\nimport type { StacksCodegenPlugin } from \"../types/plugin\";\n\n// Re-export plugin types for convenience\nexport type {\n StacksCodegenPlugin,\n PluginFactory,\n PluginOptions,\n GenerateContext,\n PluginContext,\n Logger,\n PluginUtils,\n} from \"../types/plugin\";\n\n// Plugin utilities\nexport { PluginManager } from \"../core/plugin-manager\";\n\n// Base plugin options interface\nexport interface BasePluginOptions {\n /** Include only specific contracts/functions */\n include?: string[];\n\n /** Exclude specific contracts/functions */\n exclude?: string[];\n\n /** Enable debug output */\n debug?: boolean;\n}\n\n/**\n * Utility function to filter contracts/functions based on include/exclude options\n */\nexport function filterByOptions<T extends { name: string }>(\n items: T[],\n options: BasePluginOptions = {}\n): T[] {\n let filtered = items;\n\n if (options.include && options.include.length > 0) {\n filtered = filtered.filter((item) =>\n options.include!.some(\n (pattern) =>\n item.name.includes(pattern) || item.name.match(new RegExp(pattern))\n )\n );\n }\n\n if (options.exclude && options.exclude.length > 0) {\n filtered = filtered.filter(\n (item) =>\n !options.exclude!.some(\n (pattern) =>\n item.name.includes(pattern) || item.name.match(new RegExp(pattern))\n )\n );\n }\n\n return filtered;\n}\n\n/**\n * Utility function to create a simple plugin\n */\nexport function createPlugin(\n name: string,\n version: string,\n implementation: Partial<StacksCodegenPlugin>\n): StacksCodegenPlugin {\n return {\n name,\n version,\n ...implementation,\n };\n}\n\n// Plugin exports\nexport { clarinet, hasClarinetProject } from \"./clarinet/index\";\nexport type { ClarinetPluginOptions } from \"./clarinet/index\";\n\nexport { actions } from \"./actions/index\";\nexport type { ActionsPluginOptions } from \"./actions/index\";\n\nexport { react } from \"./react/index\";\nexport type { ReactPluginOptions } from \"./react/index\";\n\nexport { testing } from \"./testing/index\";\nexport type { TestingPluginOptions } from \"./testing/index\";\n\n"
18
18
  ],
19
- "mappings": "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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAmEJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAsCJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAsCJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SA2BJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAgSJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SA6CJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAcJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAcJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAcJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAwBJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAkEJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAuDJ;AAAA,MACH,OAAO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",
20
- "debugId": "944FF0A218B7401F64756E2164756E21",
19
+ "mappings": "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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAmEJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAsCJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAsCJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SA2BJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAgSJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SA6CJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAcJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAcJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAcJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAwBJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAkEJ;AAAA,MACH,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAuDJ;A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",
20
+ "debugId": "CABE7BED1349452C64756E2164756E21",
21
21
  "names": []
22
22
  }
@@ -1,6 +1,23 @@
1
- // @bun
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
+
2
20
  // src/core/plugin-manager.ts
3
- import { format } from "prettier";
4
21
  import { promises as fs } from "fs";
5
22
  import path from "path";
6
23
  import { validateStacksAddress } from "@stacks/transactions";
@@ -235,15 +252,15 @@ ${JSON.stringify(content, null, 2)}`;
235
252
  }
236
253
  createLogger() {
237
254
  return {
238
- info: (message) => console.log(`\u2139\uFE0F ${message}`),
239
- warn: (message) => console.warn(`\u26A0\uFE0F ${message}`),
240
- error: (message) => console.error(`\u274C ${message}`),
255
+ info: (message) => console.log(`ℹ️ ${message}`),
256
+ warn: (message) => console.warn(`⚠️ ${message}`),
257
+ error: (message) => console.error(`❌ ${message}`),
241
258
  debug: (message) => {
242
259
  if (process.env.DEBUG) {
243
260
  console.log(`\uD83D\uDC1B ${message}`);
244
261
  }
245
262
  },
246
- success: (message) => console.log(`\u2705 ${message}`)
263
+ success: (message) => console.log(`✅ ${message}`)
247
264
  };
248
265
  }
249
266
  createUtils() {
@@ -262,6 +279,7 @@ ${JSON.stringify(content, null, 2)}`;
262
279
  return { address, contractName };
263
280
  },
264
281
  formatCode: async (code) => {
282
+ const { format } = await import("prettier");
265
283
  return format(code, {
266
284
  parser: "typescript",
267
285
  singleQuote: true,
@@ -297,5 +315,5 @@ export {
297
315
  PluginManager
298
316
  };
299
317
 
300
- //# debugId=5975310D6EA97DB264756E2164756E21
318
+ //# debugId=F62F21B052A6C9FF64756E2164756E21
301
319
  //# sourceMappingURL=plugin-manager.js.map