aiagentmarket 3.0.35 → 3.0.36

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 (121) hide show
  1. package/bin/aiagent +2 -0
  2. package/bin/aiagent-base +1 -1
  3. package/bin/aiagent10 +2 -0
  4. package/bin/aiagent100 +2 -0
  5. package/bin/aiagent11 +2 -0
  6. package/bin/aiagent12 +2 -0
  7. package/bin/aiagent13 +2 -0
  8. package/bin/aiagent14 +2 -0
  9. package/bin/aiagent15 +2 -0
  10. package/bin/aiagent16 +2 -0
  11. package/bin/aiagent17 +2 -0
  12. package/bin/aiagent18 +2 -0
  13. package/bin/aiagent19 +2 -0
  14. package/bin/aiagent2 +2 -0
  15. package/bin/aiagent20 +2 -0
  16. package/bin/aiagent21 +2 -0
  17. package/bin/aiagent22 +2 -0
  18. package/bin/aiagent23 +2 -0
  19. package/bin/aiagent24 +2 -0
  20. package/bin/aiagent25 +2 -0
  21. package/bin/aiagent26 +2 -0
  22. package/bin/aiagent27 +2 -0
  23. package/bin/aiagent28 +2 -0
  24. package/bin/aiagent29 +2 -0
  25. package/bin/aiagent3 +2 -0
  26. package/bin/aiagent30 +2 -0
  27. package/bin/aiagent31 +2 -0
  28. package/bin/aiagent32 +2 -0
  29. package/bin/aiagent33 +2 -0
  30. package/bin/aiagent34 +2 -0
  31. package/bin/aiagent35 +2 -0
  32. package/bin/aiagent36 +2 -0
  33. package/bin/aiagent37 +2 -0
  34. package/bin/aiagent38 +2 -0
  35. package/bin/aiagent39 +2 -0
  36. package/bin/aiagent4 +2 -0
  37. package/bin/aiagent40 +2 -0
  38. package/bin/aiagent41 +2 -0
  39. package/bin/aiagent42 +2 -0
  40. package/bin/aiagent43 +2 -0
  41. package/bin/aiagent44 +2 -0
  42. package/bin/aiagent45 +2 -0
  43. package/bin/aiagent46 +2 -0
  44. package/bin/aiagent47 +2 -0
  45. package/bin/aiagent48 +2 -0
  46. package/bin/aiagent49 +2 -0
  47. package/bin/aiagent5 +2 -0
  48. package/bin/aiagent50 +2 -0
  49. package/bin/aiagent51 +2 -0
  50. package/bin/aiagent52 +2 -0
  51. package/bin/aiagent53 +2 -0
  52. package/bin/aiagent54 +2 -0
  53. package/bin/aiagent55 +2 -0
  54. package/bin/aiagent56 +2 -0
  55. package/bin/aiagent57 +2 -0
  56. package/bin/aiagent58 +2 -0
  57. package/bin/aiagent59 +2 -0
  58. package/bin/aiagent6 +2 -0
  59. package/bin/aiagent60 +2 -0
  60. package/bin/aiagent61 +2 -0
  61. package/bin/aiagent62 +2 -0
  62. package/bin/aiagent63 +2 -0
  63. package/bin/aiagent64 +2 -0
  64. package/bin/aiagent65 +2 -0
  65. package/bin/aiagent66 +2 -0
  66. package/bin/aiagent67 +2 -0
  67. package/bin/aiagent68 +2 -0
  68. package/bin/aiagent69 +2 -0
  69. package/bin/aiagent7 +2 -0
  70. package/bin/aiagent70 +2 -0
  71. package/bin/aiagent71 +2 -0
  72. package/bin/aiagent72 +2 -0
  73. package/bin/aiagent73 +2 -0
  74. package/bin/aiagent74 +2 -0
  75. package/bin/aiagent75 +2 -0
  76. package/bin/aiagent76 +2 -0
  77. package/bin/aiagent77 +2 -0
  78. package/bin/aiagent78 +2 -0
  79. package/bin/aiagent79 +2 -0
  80. package/bin/aiagent8 +2 -0
  81. package/bin/aiagent80 +2 -0
  82. package/bin/aiagent81 +2 -0
  83. package/bin/aiagent82 +2 -0
  84. package/bin/aiagent83 +2 -0
  85. package/bin/aiagent84 +2 -0
  86. package/bin/aiagent85 +2 -0
  87. package/bin/aiagent86 +2 -0
  88. package/bin/aiagent87 +2 -0
  89. package/bin/aiagent88 +2 -0
  90. package/bin/aiagent89 +2 -0
  91. package/bin/aiagent9 +2 -0
  92. package/bin/aiagent90 +2 -0
  93. package/bin/aiagent91 +2 -0
  94. package/bin/aiagent92 +2 -0
  95. package/bin/aiagent93 +2 -0
  96. package/bin/aiagent94 +2 -0
  97. package/bin/aiagent95 +2 -0
  98. package/bin/aiagent96 +2 -0
  99. package/bin/aiagent97 +2 -0
  100. package/bin/aiagent98 +2 -0
  101. package/bin/aiagent99 +2 -0
  102. package/lib/mcp-server/dist/bluelamp-system.js +1 -1
  103. package/lib/mcp-server/dist/crypto-utils.js +1 -1
  104. package/lib/mcp-server/dist/database-version.js +1 -1
  105. package/lib/mcp-server/dist/index.js +1 -1
  106. package/lib/mcp-server/dist/plugins/base-plugin.js +1 -1
  107. package/lib/mcp-server/dist/plugins/plugin-manager.js +1 -1
  108. package/lib/mcp-server/dist/plugins/services/leonardo-plugin.js +1 -1
  109. package/lib/mcp-server/dist/plugins/services/leonardo-prompt-parser.js +1 -1
  110. package/lib/mcp-server/dist/plugins/services/portal-api-client.js +1 -1
  111. package/lib/mcp-server/dist/plugins/services/portal-plugin.js +1 -1
  112. package/lib/mcp-server/dist/secure-mcp-server.js +1 -1
  113. package/lib/mcp-server/dist/security/ApiKeyManager.js +1 -1
  114. package/lib/mcp-server/dist/security/InteractiveLogin.js +1 -1
  115. package/lib/mcp-server/dist/security/PortalAuthClient.js +1 -1
  116. package/lib/mcp-server/dist/security/SimpleAuthManager.js +1 -1
  117. package/lib/mcp-server/dist/security/SlotAuthClient.js +1 -1
  118. package/lib/mcp-server/dist/security/TokenManager.js +1 -1
  119. package/package.json +1 -1
  120. package/scripts/build-release.js +55 -12
  121. package/scripts/generate-aiagent-links.js +46 -36
@@ -289,6 +289,44 @@ async function processBinBase() {
289
289
  }
290
290
  }
291
291
 
292
+ /**
293
+ * aiagent ラッパーファイルの生成(シンボリックリンクではなく実ファイル)
294
+ * npmがシンボリックリンクをbin entryとして正しく処理しないため
295
+ */
296
+ async function generateBinWrappers() {
297
+ Logger.info('Generating bin wrapper files...');
298
+
299
+ const WRAPPER_CONTENT = `#!/usr/bin/env node
300
+ require('./aiagent-base');
301
+ `;
302
+
303
+ const outputBinDir = path.join(OUTPUT_DIR, 'bin');
304
+ await ensureDirectory(outputBinDir);
305
+
306
+ let successCount = 0;
307
+ let errorCount = 0;
308
+
309
+ // aiagent (スロット1) と aiagent2〜aiagent100 を生成
310
+ const commands = ['aiagent'];
311
+ for (let i = 2; i <= 100; i++) {
312
+ commands.push(`aiagent${i}`);
313
+ }
314
+
315
+ for (const cmd of commands) {
316
+ const filePath = path.join(outputBinDir, cmd);
317
+ try {
318
+ await fs.writeFile(filePath, WRAPPER_CONTENT, { mode: 0o755 });
319
+ successCount++;
320
+ } catch (error) {
321
+ Logger.error(`Failed to create ${cmd}: ${error.message}`);
322
+ errorCount++;
323
+ }
324
+ }
325
+
326
+ Logger.success(`Bin wrappers generated: ${successCount} success, ${errorCount} errors`);
327
+ return { successCount, errorCount };
328
+ }
329
+
292
330
  /**
293
331
  * lib/agents/*.md のコピー
294
332
  */
@@ -464,36 +502,40 @@ async function main() {
464
502
 
465
503
  try {
466
504
  // Step 1: TypeScriptビルド
467
- Logger.step(1, 8, 'Building TypeScript...');
505
+ Logger.step(1, 9, 'Building TypeScript...');
468
506
  buildTypeScript();
469
507
 
470
508
  // Step 2: クリーンアップ
471
- Logger.step(2, 8, 'Cleaning release directory...');
509
+ Logger.step(2, 9, 'Cleaning release directory...');
472
510
  await removeDirectory(OUTPUT_DIR);
473
511
  await ensureDirectory(OUTPUT_DIR);
474
512
 
475
513
  // Step 3: lib/mcp-server/dist/*.js の難読化
476
- Logger.step(3, 8, 'Obfuscating dist/*.js files...');
514
+ Logger.step(3, 9, 'Obfuscating dist/*.js files...');
477
515
  const distResult = await processDistFiles();
478
516
 
479
517
  // Step 4: bin/aiagent-base の難読化
480
- Logger.step(4, 8, 'Obfuscating bin/aiagent-base...');
518
+ Logger.step(4, 9, 'Obfuscating bin/aiagent-base...');
481
519
  await processBinBase();
482
520
 
483
- // Step 5: lib/agents/*.md のコピー
484
- Logger.step(5, 8, 'Copying agents/*.md files...');
521
+ // Step 5: bin ラッパーファイル生成(aiagent, aiagent2...aiagent100)
522
+ Logger.step(5, 9, 'Generating bin wrapper files...');
523
+ const binResult = await generateBinWrappers();
524
+
525
+ // Step 6: lib/agents/*.md のコピー
526
+ Logger.step(6, 9, 'Copying agents/*.md files...');
485
527
  const agentsResult = await copyAgentsFiles();
486
528
 
487
- // Step 6: package.json生成
488
- Logger.step(6, 8, 'Generating release package.json...');
529
+ // Step 7: package.json生成
530
+ Logger.step(7, 9, 'Generating release package.json...');
489
531
  await generateReleasePackageJson();
490
532
 
491
- // Step 7: その他ファイルのコピー
492
- Logger.step(7, 8, 'Copying other files...');
533
+ // Step 8: その他ファイルのコピー
534
+ Logger.step(8, 9, 'Copying other files...');
493
535
  await copyOtherFiles();
494
536
 
495
- // Step 8: RELEASE_README.md作成
496
- Logger.step(8, 8, 'Creating RELEASE_README.md...');
537
+ // Step 9: RELEASE_README.md作成
538
+ Logger.step(9, 9, 'Creating RELEASE_README.md...');
497
539
  await createReleaseReadme();
498
540
 
499
541
  const endTime = Date.now();
@@ -502,6 +544,7 @@ async function main() {
502
544
  Logger.success('✅ Release build completed successfully!');
503
545
  Logger.info(`📊 Summary:`);
504
546
  Logger.info(` - Dist files: ${distResult.successCount} processed`);
547
+ Logger.info(` - Bin wrappers: ${binResult.successCount} generated`);
505
548
  Logger.info(` - Agents files: ${agentsResult.successCount} copied`);
506
549
  Logger.info(`⏱️ Build time: ${duration} seconds`);
507
550
  Logger.info(`📦 Release package: ${OUTPUT_DIR}`);
@@ -1,11 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * AI Agent シンボリックリンク生成スクリプト
5
- *
6
- * aiagent-baseから以下のシンボリックリンクを生成:
4
+ * AI Agent ラッパーファイル生成スクリプト
5
+ *
6
+ * aiagent-baseを呼び出す小さなラッパーファイルを生成:
7
7
  * - aiagent (スロット1用)
8
8
  * - aiagent2〜aiagent100 (スロット2-100用)
9
+ *
10
+ * 注意: シンボリックリンクではなく実ファイルを使用
11
+ * (npmがシンボリックリンクをbin entryとして正しく処理しないため)
9
12
  */
10
13
 
11
14
  const fs = require('fs');
@@ -15,7 +18,12 @@ const path = require('path');
15
18
  const binDir = path.join(__dirname, '..', 'bin');
16
19
  const baseScript = path.join(binDir, 'aiagent-base');
17
20
 
18
- console.log('🔧 AI Agent シンボリックリンク生成開始...');
21
+ // ラッパーファイルの内容(bluelamp-vscode方式)
22
+ const WRAPPER_CONTENT = `#!/usr/bin/env node
23
+ require('./aiagent-base');
24
+ `;
25
+
26
+ console.log('🔧 AI Agent ラッパーファイル生成開始...');
19
27
  console.log(`Base script: ${baseScript}`);
20
28
  console.log(`Target directory: ${binDir}`);
21
29
  console.log('');
@@ -30,52 +38,54 @@ let successCount = 0;
30
38
  let errorCount = 0;
31
39
  const errors = [];
32
40
 
33
- // aiagent (スロット1) のシンボリックリンクを作成
34
- const aiagentLink = path.join(binDir, 'aiagent');
35
- try {
36
- // 既存のファイル・リンクが存在する場合は削除
37
- if (fs.existsSync(aiagentLink)) {
38
- fs.unlinkSync(aiagentLink);
41
+ /**
42
+ * ラッパーファイルを作成
43
+ */
44
+ function createWrapper(filename) {
45
+ const filePath = path.join(binDir, filename);
46
+
47
+ try {
48
+ // 既存のファイル・リンクが存在する場合は削除
49
+ if (fs.existsSync(filePath)) {
50
+ fs.unlinkSync(filePath);
51
+ }
52
+
53
+ // ラッパーファイルを作成
54
+ fs.writeFileSync(filePath, WRAPPER_CONTENT, { mode: 0o755 });
55
+ return true;
56
+ } catch (error) {
57
+ errors.push(`${filename}: ${error.message}`);
58
+ return false;
39
59
  }
40
-
41
- // シンボリックリンクを作成(相対パス使用)
42
- fs.symlinkSync('aiagent-base', aiagentLink);
43
- console.log(`✅ aiagent → aiagent-base (スロット1)`);
60
+ }
61
+
62
+ // aiagent (スロット1) のラッパーファイルを作成
63
+ if (createWrapper('aiagent')) {
64
+ console.log(`✅ aiagent (スロット1)`);
44
65
  successCount++;
45
- } catch (error) {
46
- console.error(`❌ aiagent: ${error.message}`);
47
- errors.push(`aiagent: ${error.message}`);
66
+ } else {
67
+ console.error(`❌ aiagent: 作成失敗`);
48
68
  errorCount++;
49
69
  }
50
70
 
51
- // aiagent2〜aiagent100 のシンボリックリンクを作成
71
+ // aiagent2〜aiagent100 のラッパーファイルを作成
52
72
  for (let i = 2; i <= 100; i++) {
53
- const linkName = `aiagent${i}`;
54
- const linkPath = path.join(binDir, linkName);
55
-
56
- try {
57
- // 既存のファイル・リンクが存在する場合は削除
58
- if (fs.existsSync(linkPath)) {
59
- fs.unlinkSync(linkPath);
60
- }
61
-
62
- // シンボリックリンクを作成(相対パス使用)
63
- fs.symlinkSync('aiagent-base', linkPath);
64
-
73
+ const filename = `aiagent${i}`;
74
+
75
+ if (createWrapper(filename)) {
65
76
  // 進捗表示(10個ごと)
66
77
  if (i % 10 === 0) {
67
78
  console.log(`✅ aiagent2〜aiagent${i} 完了 (スロット2-${i})`);
68
79
  }
69
80
  successCount++;
70
- } catch (error) {
71
- console.error(`❌ ${linkName}: ${error.message}`);
72
- errors.push(`${linkName}: ${error.message}`);
81
+ } else {
82
+ console.error(`❌ ${filename}: 作成失敗`);
73
83
  errorCount++;
74
84
  }
75
85
  }
76
86
 
77
87
  console.log('');
78
- console.log('🎯 シンボリックリンク生成結果:');
88
+ console.log('🎯 ラッパーファイル生成結果:');
79
89
  console.log(`✅ 成功: ${successCount} 個`);
80
90
  console.log(`❌ 失敗: ${errorCount} 個`);
81
91
 
@@ -86,7 +96,7 @@ if (errorCount > 0) {
86
96
  process.exit(1);
87
97
  } else {
88
98
  console.log('');
89
- console.log('🎉 すべてのシンボリックリンクが正常に作成されました!');
99
+ console.log('🎉 すべてのラッパーファイルが正常に作成されました!');
90
100
  console.log('');
91
101
  console.log('利用可能なコマンド:');
92
102
  console.log(' aiagent → スロット1');
@@ -94,4 +104,4 @@ if (errorCount > 0) {
94
104
  console.log(' aiagent3 → スロット3');
95
105
  console.log(' ... ...');
96
106
  console.log(' aiagent100 → スロット100');
97
- }
107
+ }