@bike4mind/cli 0.2.11-feat-cli-no-project-config-flag.17320 → 0.2.11-feat-api-key-rate-limiting.17322

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.
@@ -36,24 +36,16 @@ const argv = yargs(hideBin(process.argv))
36
36
  description: 'Show debug logs in console',
37
37
  default: false,
38
38
  })
39
- .option('no-project-config', {
40
- type: 'boolean',
41
- description: 'Disable loading project-specific configuration (.bike4mind/)',
42
- default: false,
43
- })
44
39
  .help()
45
40
  .alias('help', 'h')
46
41
  .version()
47
42
  .alias('version', 'V')
48
43
  .parse();
49
44
 
50
- // Set environment variables from CLI flags
45
+ // Set environment variable for verbose mode
51
46
  if (argv.verbose) {
52
47
  process.env.B4M_VERBOSE = '1';
53
48
  }
54
- if (argv['no-project-config']) {
55
- process.env.B4M_NO_PROJECT_CONFIG = '1';
56
- }
57
49
 
58
50
  // Auto-detect environment: prefer production mode when dist exists
59
51
  const distPath = join(__dirname, '../dist/index.js');
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-3OX632TE.js";
4
+ } from "./chunk-W22IP7HD.js";
5
5
  import "./chunk-PDX44BCA.js";
6
6
 
7
7
  // ../../b4m-core/packages/services/dist/src/notebookCurationService/artifactExtractor.js
@@ -16,7 +16,7 @@ import {
16
16
  dayjsConfig_default,
17
17
  extractSnippetMeta,
18
18
  settingsMap
19
- } from "./chunk-3OX632TE.js";
19
+ } from "./chunk-W22IP7HD.js";
20
20
 
21
21
  // ../../b4m-core/packages/utils/dist/src/storage/S3Storage.js
22
22
  import { S3Client, PutObjectCommand, DeleteObjectCommand, GetObjectCommand, HeadObjectCommand } from "@aws-sdk/client-s3";
@@ -2,15 +2,16 @@
2
2
  import {
3
3
  BadRequestError,
4
4
  secureParameters
5
- } from "./chunk-JYH72REB.js";
5
+ } from "./chunk-42246NG4.js";
6
6
  import {
7
+ CompletionApiUsageTransaction,
7
8
  GenericCreditDeductTransaction,
8
9
  ImageEditUsageTransaction,
9
10
  ImageGenerationUsageTransaction,
10
11
  RealtimeVoiceUsageTransaction,
11
12
  TextGenerationUsageTransaction,
12
13
  TransferCreditTransaction
13
- } from "./chunk-3OX632TE.js";
14
+ } from "./chunk-W22IP7HD.js";
14
15
 
15
16
  // ../../b4m-core/packages/services/dist/src/creditService/subtractCredits.js
16
17
  import { z } from "zod";
@@ -20,6 +21,7 @@ var SubtractCreditsSchema = z.discriminatedUnion("type", [
20
21
  ImageGenerationUsageTransaction.omit({ createdAt: true, updatedAt: true }),
21
22
  RealtimeVoiceUsageTransaction.omit({ createdAt: true, updatedAt: true }),
22
23
  ImageEditUsageTransaction.omit({ createdAt: true, updatedAt: true }),
24
+ CompletionApiUsageTransaction.omit({ createdAt: true, updatedAt: true }),
23
25
  TransferCreditTransaction.omit({ createdAt: true, updatedAt: true })
24
26
  ]);
25
27
  async function subtractCredits(parameters, { db, creditHolderMethods, skipBalanceUpdate, currentCreditHolder }) {
@@ -63,6 +65,20 @@ async function subtractCredits(parameters, { db, creditHolderMethods, skipBalanc
63
65
  inputTokens: params.inputTokens,
64
66
  outputTokens: params.outputTokens
65
67
  });
68
+ } else if (type === "completion_api_usage") {
69
+ await db.creditTransactions.createTransaction("completion_api_usage", {
70
+ ownerId,
71
+ ownerType,
72
+ credits: -Math.abs(credits),
73
+ // Negative for usage
74
+ description: description || "Completion API usage",
75
+ metadata,
76
+ model: params.model,
77
+ apiKeyId: params.apiKeyId,
78
+ // Optional - present for API key auth, undefined for JWT
79
+ inputTokens: params.inputTokens,
80
+ outputTokens: params.outputTokens
81
+ });
66
82
  } else if (type === "image_generation_usage") {
67
83
  await db.creditTransactions.createTransaction("image_generation_usage", {
68
84
  ownerId,
@@ -6,12 +6,12 @@ import {
6
6
  getSettingsByNames,
7
7
  obfuscateApiKey,
8
8
  secureParameters
9
- } from "./chunk-JYH72REB.js";
9
+ } from "./chunk-42246NG4.js";
10
10
  import {
11
11
  ApiKeyType,
12
12
  MementoTier,
13
13
  isSupportedEmbeddingModel
14
- } from "./chunk-3OX632TE.js";
14
+ } from "./chunk-W22IP7HD.js";
15
15
 
16
16
  // ../../b4m-core/packages/services/dist/src/apiKeyService/get.js
17
17
  import { z } from "zod";
@@ -7,11 +7,11 @@ import {
7
7
  getSettingsMap,
8
8
  getSettingsValue,
9
9
  secureParameters
10
- } from "./chunk-JYH72REB.js";
10
+ } from "./chunk-42246NG4.js";
11
11
  import {
12
12
  KnowledgeType,
13
13
  SupportedFabFileMimeTypes
14
- } from "./chunk-3OX632TE.js";
14
+ } from "./chunk-W22IP7HD.js";
15
15
 
16
16
  // ../../b4m-core/packages/services/dist/src/fabFileService/create.js
17
17
  import { z } from "zod";
@@ -672,6 +672,14 @@ var RealtimeVoiceUsageTransaction = BaseCreditTransaction.extend({
672
672
  model: z7.string(),
673
673
  sessionId: z7.string()
674
674
  });
675
+ var CompletionApiUsageTransaction = BaseCreditTransaction.extend({
676
+ type: z7.literal("completion_api_usage"),
677
+ model: z7.string(),
678
+ apiKeyId: z7.string().optional(),
679
+ // Optional - present for API key auth, undefined for JWT
680
+ inputTokens: z7.number(),
681
+ outputTokens: z7.number()
682
+ });
675
683
  var TransferCreditTransaction = BaseCreditTransaction.extend({
676
684
  type: z7.literal("transfer_credit"),
677
685
  recipientId: z7.string(),
@@ -686,6 +694,7 @@ var CreditTransaction = z7.discriminatedUnion("type", [
686
694
  ImageGenerationUsageTransaction,
687
695
  ImageEditUsageTransaction,
688
696
  RealtimeVoiceUsageTransaction,
697
+ CompletionApiUsageTransaction,
689
698
  TransferCreditTransaction,
690
699
  ReceivedCreditTransaction
691
700
  ]);
@@ -700,6 +709,7 @@ var CREDIT_DEDUCT_TRANSACTION_TYPES = [
700
709
  "image_generation_usage",
701
710
  "image_edit_usage",
702
711
  "realtime_voice_usage",
712
+ "completion_api_usage",
703
713
  "transfer_credit",
704
714
  "generic_deduct"
705
715
  ];
@@ -3830,6 +3840,8 @@ var AiEvents;
3830
3840
  AiEvents2["NOTEBOOK_SUMMARIZATION"] = "Notebook Summarization Completed";
3831
3841
  AiEvents2["AI_VOICE_SESSION_STARTED"] = "AI Voice Session Started";
3832
3842
  AiEvents2["WHATS_NEW_MODAL_GENERATED"] = "What's New Modal Generated";
3843
+ AiEvents2["COMPLETION_API_COMPLETED"] = "Completion API Completed";
3844
+ AiEvents2["COMPLETION_API_FAILED"] = "Completion API Failed";
3833
3845
  })(AiEvents || (AiEvents = {}));
3834
3846
 
3835
3847
  // ../../b4m-core/packages/common/dist/src/schemas/analytics/events/apiKeys.js
@@ -6001,6 +6013,7 @@ export {
6001
6013
  ImageGenerationUsageTransaction,
6002
6014
  ImageEditUsageTransaction,
6003
6015
  RealtimeVoiceUsageTransaction,
6016
+ CompletionApiUsageTransaction,
6004
6017
  TransferCreditTransaction,
6005
6018
  CreditTransaction,
6006
6019
  CREDIT_ADD_TRANSACTION_TYPES,
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  createFabFile,
4
4
  createFabFileSchema
5
- } from "./chunk-HPYQM2B7.js";
6
- import "./chunk-JYH72REB.js";
5
+ } from "./chunk-OFSZXNFG.js";
6
+ import "./chunk-42246NG4.js";
7
7
  import "./chunk-AMDXHL6S.js";
8
- import "./chunk-3OX632TE.js";
8
+ import "./chunk-W22IP7HD.js";
9
9
  import "./chunk-PDX44BCA.js";
10
10
  export {
11
11
  createFabFile,
package/dist/index.js CHANGED
@@ -4,9 +4,9 @@ import {
4
4
  getEffectiveApiKey,
5
5
  getOpenWeatherKey,
6
6
  getSerperKey
7
- } from "./chunk-7JR6VASX.js";
8
- import "./chunk-7ORA6KGN.js";
9
- import "./chunk-HPYQM2B7.js";
7
+ } from "./chunk-JYKXJH7N.js";
8
+ import "./chunk-CBTG3YGJ.js";
9
+ import "./chunk-OFSZXNFG.js";
10
10
  import {
11
11
  BFLImageService,
12
12
  BaseStorage,
@@ -15,7 +15,7 @@ import {
15
15
  OpenAIBackend,
16
16
  OpenAIImageService,
17
17
  XAIImageService
18
- } from "./chunk-JYH72REB.js";
18
+ } from "./chunk-42246NG4.js";
19
19
  import {
20
20
  Logger
21
21
  } from "./chunk-AMDXHL6S.js";
@@ -73,7 +73,7 @@ import {
73
73
  XAI_IMAGE_MODELS,
74
74
  b4mLLMTools,
75
75
  getMcpProviderMetadata
76
- } from "./chunk-3OX632TE.js";
76
+ } from "./chunk-W22IP7HD.js";
77
77
  import {
78
78
  __require
79
79
  } from "./chunk-PDX44BCA.js";
@@ -2381,19 +2381,15 @@ var ConfigStore = class {
2381
2381
  throw error;
2382
2382
  }
2383
2383
  }
2384
+ this.projectConfigDir = findProjectConfigDir();
2384
2385
  let projectConfig = null;
2385
2386
  let projectLocalConfig = null;
2386
- if (process.env.B4M_NO_PROJECT_CONFIG !== "1") {
2387
- this.projectConfigDir = findProjectConfigDir();
2388
- if (this.projectConfigDir) {
2389
- projectConfig = await loadProjectConfig(this.projectConfigDir);
2390
- projectLocalConfig = await loadProjectLocalConfig(this.projectConfigDir);
2391
- if (projectConfig) {
2392
- console.log(`\u{1F4C1} Project config loaded from: ${this.projectConfigDir}/.bike4mind/`);
2393
- }
2387
+ if (this.projectConfigDir) {
2388
+ projectConfig = await loadProjectConfig(this.projectConfigDir);
2389
+ projectLocalConfig = await loadProjectLocalConfig(this.projectConfigDir);
2390
+ if (projectConfig) {
2391
+ console.log(`\u{1F4C1} Project config loaded from: ${this.projectConfigDir}/.bike4mind/`);
2394
2392
  }
2395
- } else {
2396
- this.projectConfigDir = null;
2397
2393
  }
2398
2394
  this.config = mergeConfigs(globalConfig, projectConfig, projectLocalConfig);
2399
2395
  return this.config;
@@ -11552,7 +11548,7 @@ import { isAxiosError as isAxiosError2 } from "axios";
11552
11548
  // package.json
11553
11549
  var package_default = {
11554
11550
  name: "@bike4mind/cli",
11555
- version: "0.2.11-feat-cli-no-project-config-flag.17320+1968df1c7",
11551
+ version: "0.2.11-feat-api-key-rate-limiting.17322+480770b97",
11556
11552
  type: "module",
11557
11553
  description: "Interactive CLI tool for Bike4Mind with ReAct agents",
11558
11554
  license: "UNLICENSED",
@@ -11656,10 +11652,10 @@ var package_default = {
11656
11652
  },
11657
11653
  devDependencies: {
11658
11654
  "@bike4mind/agents": "0.1.0",
11659
- "@bike4mind/common": "2.40.1-feat-cli-no-project-config-flag.17320+1968df1c7",
11660
- "@bike4mind/mcp": "1.20.5-feat-cli-no-project-config-flag.17320+1968df1c7",
11661
- "@bike4mind/services": "2.35.1-feat-cli-no-project-config-flag.17320+1968df1c7",
11662
- "@bike4mind/utils": "2.1.5-feat-cli-no-project-config-flag.17320+1968df1c7",
11655
+ "@bike4mind/common": "2.40.1-feat-api-key-rate-limiting.17322+480770b97",
11656
+ "@bike4mind/mcp": "1.20.5-feat-api-key-rate-limiting.17322+480770b97",
11657
+ "@bike4mind/services": "2.35.1-feat-api-key-rate-limiting.17322+480770b97",
11658
+ "@bike4mind/utils": "2.1.5-feat-api-key-rate-limiting.17322+480770b97",
11663
11659
  "@types/better-sqlite3": "^7.6.13",
11664
11660
  "@types/diff": "^5.0.9",
11665
11661
  "@types/jsonwebtoken": "^9.0.4",
@@ -11672,7 +11668,7 @@ var package_default = {
11672
11668
  typescript: "^5.9.3",
11673
11669
  vitest: "^3.2.4"
11674
11670
  },
11675
- gitHead: "1968df1c7e973aac79e48cd2e6dc1c418b4d47d7"
11671
+ gitHead: "480770b977d4675d6b3d5ff34a744307cd841c81"
11676
11672
  };
11677
11673
 
11678
11674
  // src/config/constants.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-3OX632TE.js";
4
+ } from "./chunk-W22IP7HD.js";
5
5
  import "./chunk-PDX44BCA.js";
6
6
 
7
7
  // ../../b4m-core/packages/services/dist/src/notebookCurationService/llmMarkdownGenerator.js
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CurationArtifactType
4
- } from "./chunk-3OX632TE.js";
4
+ } from "./chunk-W22IP7HD.js";
5
5
  import "./chunk-PDX44BCA.js";
6
6
 
7
7
  // ../../b4m-core/packages/services/dist/src/notebookCurationService/markdownGenerator.js
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  findMostSimilarMemento,
4
4
  getRelevantMementos
5
- } from "./chunk-7JR6VASX.js";
6
- import "./chunk-JYH72REB.js";
5
+ } from "./chunk-JYKXJH7N.js";
6
+ import "./chunk-42246NG4.js";
7
7
  import "./chunk-AMDXHL6S.js";
8
- import "./chunk-3OX632TE.js";
8
+ import "./chunk-W22IP7HD.js";
9
9
  import "./chunk-PDX44BCA.js";
10
10
  export {
11
11
  findMostSimilarMemento,
@@ -120,7 +120,7 @@ import {
120
120
  validateMermaidSyntax,
121
121
  warmUpSettingsCache,
122
122
  withRetry
123
- } from "./chunk-JYH72REB.js";
123
+ } from "./chunk-42246NG4.js";
124
124
  import {
125
125
  Logger,
126
126
  NotificationDeduplicator,
@@ -129,7 +129,7 @@ import {
129
129
  postLowCreditsNotificationToSlack,
130
130
  postMessageToSlack
131
131
  } from "./chunk-AMDXHL6S.js";
132
- import "./chunk-3OX632TE.js";
132
+ import "./chunk-W22IP7HD.js";
133
133
  import "./chunk-PDX44BCA.js";
134
134
  export {
135
135
  AWSBackend,
@@ -40,6 +40,7 @@ import {
40
40
  CitableSourceSchema,
41
41
  ClaudeArtifactMimeTypes,
42
42
  CollectionType,
43
+ CompletionApiUsageTransaction,
43
44
  CompletionRequestSchema,
44
45
  ConfluenceApi,
45
46
  CreateFabFileRequestInput,
@@ -293,7 +294,7 @@ import {
293
294
  validateQuestMasterArtifactV2,
294
295
  validateReactArtifactV2,
295
296
  validateSvgArtifactV2
296
- } from "./chunk-3OX632TE.js";
297
+ } from "./chunk-W22IP7HD.js";
297
298
  import "./chunk-PDX44BCA.js";
298
299
  export {
299
300
  ALL_IMAGE_MODELS,
@@ -336,6 +337,7 @@ export {
336
337
  CitableSourceSchema,
337
338
  ClaudeArtifactMimeTypes,
338
339
  CollectionType,
340
+ CompletionApiUsageTransaction,
339
341
  CompletionRequestSchema,
340
342
  ConfluenceApi,
341
343
  CreateFabFileRequestInput,
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  SubtractCreditsSchema,
4
4
  subtractCredits
5
- } from "./chunk-7ORA6KGN.js";
6
- import "./chunk-JYH72REB.js";
5
+ } from "./chunk-CBTG3YGJ.js";
6
+ import "./chunk-42246NG4.js";
7
7
  import "./chunk-AMDXHL6S.js";
8
- import "./chunk-3OX632TE.js";
8
+ import "./chunk-W22IP7HD.js";
9
9
  import "./chunk-PDX44BCA.js";
10
10
  export {
11
11
  SubtractCreditsSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bike4mind/cli",
3
- "version": "0.2.11-feat-cli-no-project-config-flag.17320+1968df1c7",
3
+ "version": "0.2.11-feat-api-key-rate-limiting.17322+480770b97",
4
4
  "type": "module",
5
5
  "description": "Interactive CLI tool for Bike4Mind with ReAct agents",
6
6
  "license": "UNLICENSED",
@@ -104,10 +104,10 @@
104
104
  },
105
105
  "devDependencies": {
106
106
  "@bike4mind/agents": "0.1.0",
107
- "@bike4mind/common": "2.40.1-feat-cli-no-project-config-flag.17320+1968df1c7",
108
- "@bike4mind/mcp": "1.20.5-feat-cli-no-project-config-flag.17320+1968df1c7",
109
- "@bike4mind/services": "2.35.1-feat-cli-no-project-config-flag.17320+1968df1c7",
110
- "@bike4mind/utils": "2.1.5-feat-cli-no-project-config-flag.17320+1968df1c7",
107
+ "@bike4mind/common": "2.40.1-feat-api-key-rate-limiting.17322+480770b97",
108
+ "@bike4mind/mcp": "1.20.5-feat-api-key-rate-limiting.17322+480770b97",
109
+ "@bike4mind/services": "2.35.1-feat-api-key-rate-limiting.17322+480770b97",
110
+ "@bike4mind/utils": "2.1.5-feat-api-key-rate-limiting.17322+480770b97",
111
111
  "@types/better-sqlite3": "^7.6.13",
112
112
  "@types/diff": "^5.0.9",
113
113
  "@types/jsonwebtoken": "^9.0.4",
@@ -120,5 +120,5 @@
120
120
  "typescript": "^5.9.3",
121
121
  "vitest": "^3.2.4"
122
122
  },
123
- "gitHead": "1968df1c7e973aac79e48cd2e6dc1c418b4d47d7"
123
+ "gitHead": "480770b977d4675d6b3d5ff34a744307cd841c81"
124
124
  }