hackwriter 0.0.10 → 0.0.12

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 (104) hide show
  1. package/README.md +29 -59
  2. package/dist/agent/CompactionPrompt.d.ts +0 -7
  3. package/dist/agent/CompactionPrompt.d.ts.map +1 -1
  4. package/dist/agent/CompactionPrompt.js +1 -1
  5. package/dist/agent/CompactionPrompt.js.map +1 -1
  6. package/dist/agent/ConversationContext.d.ts +9 -0
  7. package/dist/agent/ConversationContext.d.ts.map +1 -1
  8. package/dist/agent/ConversationContext.js +16 -1
  9. package/dist/agent/ConversationContext.js.map +1 -1
  10. package/dist/agent/ModelFactory.d.ts.map +1 -1
  11. package/dist/agent/ModelFactory.js +4 -1
  12. package/dist/agent/ModelFactory.js.map +1 -1
  13. package/dist/cli.js +40 -2
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands/setup.d.ts.map +1 -1
  16. package/dist/commands/setup.js +70 -24
  17. package/dist/commands/setup.js.map +1 -1
  18. package/dist/config/ConfigSchema.d.ts +2 -36
  19. package/dist/config/ConfigSchema.d.ts.map +1 -1
  20. package/dist/config/ConfigSchema.js +5 -11
  21. package/dist/config/ConfigSchema.js.map +1 -1
  22. package/dist/config/ConfigurationLoader.d.ts.map +1 -1
  23. package/dist/config/ConfigurationLoader.js +41 -6
  24. package/dist/config/ConfigurationLoader.js.map +1 -1
  25. package/dist/config/HackMDConfigLoader.d.ts +20 -0
  26. package/dist/config/HackMDConfigLoader.d.ts.map +1 -0
  27. package/dist/config/HackMDConfigLoader.js +51 -0
  28. package/dist/config/HackMDConfigLoader.js.map +1 -0
  29. package/dist/config/OpenAIDiscovery.d.ts.map +1 -1
  30. package/dist/config/OpenAIDiscovery.js +4 -1
  31. package/dist/config/OpenAIDiscovery.js.map +1 -1
  32. package/dist/config/ProviderRegistry.d.ts +2 -3
  33. package/dist/config/ProviderRegistry.d.ts.map +1 -1
  34. package/dist/config/ProviderRegistry.js +0 -6
  35. package/dist/config/ProviderRegistry.js.map +1 -1
  36. package/dist/config/constants.d.ts +5 -5
  37. package/dist/config/constants.d.ts.map +1 -1
  38. package/dist/config/constants.js +6 -7
  39. package/dist/config/constants.js.map +1 -1
  40. package/dist/mcp/MCPClient.d.ts +13 -2
  41. package/dist/mcp/MCPClient.d.ts.map +1 -1
  42. package/dist/mcp/MCPClient.js +58 -7
  43. package/dist/mcp/MCPClient.js.map +1 -1
  44. package/dist/mcp/MCPToolAdapter.d.ts +2 -1
  45. package/dist/mcp/MCPToolAdapter.d.ts.map +1 -1
  46. package/dist/mcp/index.d.ts +1 -1
  47. package/dist/mcp/index.d.ts.map +1 -1
  48. package/dist/mcp/index.js.map +1 -1
  49. package/dist/messaging/MessageBus.d.ts +6 -1
  50. package/dist/messaging/MessageBus.d.ts.map +1 -1
  51. package/dist/messaging/MessageBus.js +6 -0
  52. package/dist/messaging/MessageBus.js.map +1 -1
  53. package/dist/tools/base/Tool.d.ts +0 -1
  54. package/dist/tools/base/Tool.d.ts.map +1 -1
  55. package/dist/tools/base/Tool.js.map +1 -1
  56. package/dist/tools/file/ListFilesTool.d.ts.map +1 -1
  57. package/dist/tools/file/ListFilesTool.js +10 -8
  58. package/dist/tools/file/ListFilesTool.js.map +1 -1
  59. package/dist/tools/file/ReadFileTool.d.ts.map +1 -1
  60. package/dist/tools/file/ReadFileTool.js +9 -8
  61. package/dist/tools/file/ReadFileTool.js.map +1 -1
  62. package/dist/tools/file/WriteFileTool.d.ts.map +1 -1
  63. package/dist/tools/file/WriteFileTool.js +9 -7
  64. package/dist/tools/file/WriteFileTool.js.map +1 -1
  65. package/dist/ui/shell/InteractiveShell.d.ts +6 -1
  66. package/dist/ui/shell/InteractiveShell.d.ts.map +1 -1
  67. package/dist/ui/shell/InteractiveShell.js +10 -0
  68. package/dist/ui/shell/InteractiveShell.js.map +1 -1
  69. package/dist/utils/AsyncPackageLoader.d.ts +29 -0
  70. package/dist/utils/AsyncPackageLoader.d.ts.map +1 -0
  71. package/dist/utils/AsyncPackageLoader.js +56 -0
  72. package/dist/utils/AsyncPackageLoader.js.map +1 -0
  73. package/dist/utils/BatchWriter.d.ts +42 -0
  74. package/dist/utils/BatchWriter.d.ts.map +1 -0
  75. package/dist/utils/BatchWriter.js +130 -0
  76. package/dist/utils/BatchWriter.js.map +1 -0
  77. package/dist/utils/Logger.d.ts.map +1 -1
  78. package/dist/utils/Logger.js +14 -4
  79. package/dist/utils/Logger.js.map +1 -1
  80. package/dist/utils/PathValidator.d.ts +35 -0
  81. package/dist/utils/PathValidator.d.ts.map +1 -0
  82. package/dist/utils/PathValidator.js +70 -0
  83. package/dist/utils/PathValidator.js.map +1 -0
  84. package/dist/utils/RateLimiter.d.ts +3 -1
  85. package/dist/utils/RateLimiter.d.ts.map +1 -1
  86. package/dist/utils/RateLimiter.js +9 -24
  87. package/dist/utils/RateLimiter.js.map +1 -1
  88. package/dist/utils/ResourceManager.d.ts +7 -0
  89. package/dist/utils/ResourceManager.d.ts.map +1 -0
  90. package/dist/utils/ResourceManager.js +2 -0
  91. package/dist/utils/ResourceManager.js.map +1 -0
  92. package/dist/utils/RetryPolicy.d.ts +29 -0
  93. package/dist/utils/RetryPolicy.d.ts.map +1 -0
  94. package/dist/utils/RetryPolicy.js +73 -0
  95. package/dist/utils/RetryPolicy.js.map +1 -0
  96. package/dist/utils/SensitiveDataRedactor.d.ts +40 -0
  97. package/dist/utils/SensitiveDataRedactor.d.ts.map +1 -0
  98. package/dist/utils/SensitiveDataRedactor.js +122 -0
  99. package/dist/utils/SensitiveDataRedactor.js.map +1 -0
  100. package/dist/utils/SlidingWindowRateLimiter.d.ts +36 -0
  101. package/dist/utils/SlidingWindowRateLimiter.d.ts.map +1 -0
  102. package/dist/utils/SlidingWindowRateLimiter.js +74 -0
  103. package/dist/utils/SlidingWindowRateLimiter.js.map +1 -0
  104. package/package.json +15 -12
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Quick Start
6
6
 
7
- ```bash
7
+ ```sh
8
8
  npx hackwriter
9
9
  ```
10
10
 
@@ -16,40 +16,26 @@ If you don't have API keys configured, the setup wizard will guide you through i
16
16
 
17
17
  ## Installation
18
18
 
19
- **One-time use**:
20
- ```bash
21
- npx hackwriter
22
- ```
23
-
24
- **Global install**:
25
- ```bash
19
+ ```sh
26
20
  npm i -g hackwriter
27
21
 
28
22
  hackwriter
29
23
  ```
30
24
 
31
- ---
32
-
33
25
  ## Features
34
26
 
35
- **Zero-Config** - detected existing environment variables
36
- **Multi-Provider** - Anthropic, OpenAI, Ollama (auto-detected)
37
- **Model Switching** - Switch models on-the-fly with `/model`
38
- **Session Persistence** - Resume your work anytime
39
- **Smart Approvals** - Confirms destructive actions
40
-
41
- **HackMD Operations**:
42
- - List, read, create, update, delete notes
43
- - Personal & team notes support
44
- - Search and export notes
45
-
46
- ---
27
+ - **Zero-Config** - detected existing environment variables
28
+ - **Multi-Provider** - Anthropic, OpenAI, Ollama (auto-detected)
29
+ - **Model Switching** - Switch models on-the-fly with `/model`
30
+ - **Session Persistence** - Resume your work anytime
31
+ - **Smart Approvals** - Confirms destructive actions
47
32
 
48
33
  ## Configuration
49
34
 
50
35
  ### Automatic Setup
51
36
 
52
37
  Run `hackwriter` and follow the setup wizard. It will ask for:
38
+
53
39
  - LLM provider (Anthropic, OpenAI, or Ollama) API key (if needed)
54
40
  - HackMD API token
55
41
 
@@ -63,11 +49,21 @@ export HACKMD_API_TOKEN=your-token
63
49
  hackwriter # Starts immediately!
64
50
  ```
65
51
 
66
- | Variable | Description |
67
- |----------|-------------|
68
- | `ANTHROPIC_API_KEY` | Anthropic API key (optional) |
69
- | `OPENAI_API_KEY` | OpenAI API key (optional) |
70
- | `HACKMD_API_TOKEN` | HackMD API token (required) |
52
+ | Variable | Description |
53
+ | ------------------- | -------------------------------------------------------------- |
54
+ | `ANTHROPIC_API_KEY` | Anthropic API key (optional) |
55
+ | `OPENAI_API_KEY` | OpenAI API key (optional) |
56
+ | `HACKMD_API_TOKEN` | HackMD API token (required) |
57
+ | `HACKMD_API_URL` | HackMD API URL (optional, default: <https://api.hackmd.io/v1>) |
58
+
59
+ **HackMD CLI Compatibility** - Also supports HackMD CLI environment variables:
60
+
61
+ ```bash
62
+ export HMD_API_ACCESS_TOKEN=your-token # Same as HACKMD_API_TOKEN
63
+ export HMD_API_ENDPOINT_URL=https://... # Same as HACKMD_API_URL
64
+ ```
65
+
66
+ > **Note:** If you're already using [HackMD CLI](https://github.com/hackmdio/hackmd-cli), HackWriter will automatically detect and use your existing `HMD_API_ACCESS_TOKEN` environment variable. No additional configuration needed!
71
67
 
72
68
  **Config File** - Override defaults with `~/.hackwriter/config.json`:
73
69
 
@@ -125,52 +121,26 @@ hackwriter --yolo # Skip all confirmations
125
121
  ## Supported Providers
126
122
 
127
123
  ### Anthropic
124
+
128
125
  ```bash
129
126
  export ANTHROPIC_API_KEY=sk-ant-xxx
130
127
  ```
128
+
131
129
  Models: Claude 3.5 Haiku, Sonnet, Opus 4
132
130
 
133
131
  ### OpenAI
132
+
134
133
  ```bash
135
134
  export OPENAI_API_KEY=sk-xxx
136
135
  ```
136
+
137
137
  Models: GPT-4o, GPT-4o-mini, o1
138
138
 
139
139
  ### Ollama (Local)
140
+
140
141
  ```bash
141
142
  # Ollama auto-detected if running
142
143
  ollama serve
143
144
  ```
144
- All local models automatically discovered
145
-
146
- ---
147
145
 
148
- ## Advanced
149
-
150
- ### Custom Ollama Models
151
-
152
- ```json
153
- {
154
- "models": {
155
- "llama": {
156
- "provider": "ollama",
157
- "model": "llama3.1:70b",
158
- "maxContextSize": 128000
159
- }
160
- },
161
- "providers": {
162
- "ollama": {
163
- "type": "ollama",
164
- "baseUrl": "http://localhost:11434/api"
165
- }
166
- }
167
- }
168
- ```
169
-
170
- ### Model Management
171
-
172
- ```bash
173
- /model # Show all available models
174
- /model anthropic-* # List Anthropic models
175
- /model ollama-llama3.1 # Switch to specific model
176
- ```
146
+ All local models automatically discovered
@@ -1,10 +1,3 @@
1
- /**
2
- * System prompt template for context compaction
3
- *
4
- * This prompt instructs the model to compress conversation history while
5
- * preserving essential information for continued execution.
6
- */
7
- export declare const COMPACTION_PROMPT_TEMPLATE = "You are tasked with compacting a conversation context. Focus on:\n1. Current task state and goals\n2. Important errors and solutions\n3. Key decisions made\n4. Pending TODO items\n\nContext to compress:\n{{HISTORY}}\n\nProvide a concise summary that preserves essential information.";
8
1
  /**
9
2
  * Build the compaction prompt with given history
10
3
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CompactionPrompt.d.ts","sourceRoot":"","sources":["../../src/agent/CompactionPrompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,+RASyB,CAAC;AAEjE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"CompactionPrompt.d.ts","sourceRoot":"","sources":["../../src/agent/CompactionPrompt.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjE"}
@@ -4,7 +4,7 @@
4
4
  * This prompt instructs the model to compress conversation history while
5
5
  * preserving essential information for continued execution.
6
6
  */
7
- export const COMPACTION_PROMPT_TEMPLATE = `You are tasked with compacting a conversation context. Focus on:
7
+ const COMPACTION_PROMPT_TEMPLATE = `You are tasked with compacting a conversation context. Focus on:
8
8
  1. Current task state and goals
9
9
  2. Important errors and solutions
10
10
  3. Key decisions made
@@ -1 +1 @@
1
- {"version":3,"file":"CompactionPrompt.js","sourceRoot":"","sources":["../../src/agent/CompactionPrompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;gEASsB,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"CompactionPrompt.js","sourceRoot":"","sources":["../../src/agent/CompactionPrompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;gEAS6B,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,OAAO,0BAA0B,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACxE,CAAC"}
@@ -5,6 +5,7 @@ export declare class ConversationContext {
5
5
  private checkpointCounter;
6
6
  private storageFile;
7
7
  private isMemoryMode;
8
+ private batchWriter;
8
9
  constructor(storageFile: string);
9
10
  loadFromDisk(): Promise<boolean>;
10
11
  createCheckpoint(): Promise<number>;
@@ -15,5 +16,13 @@ export declare class ConversationContext {
15
16
  get tokenCount(): number;
16
17
  get checkpointCount(): number;
17
18
  private persistRecord;
19
+ /**
20
+ * Flush any pending writes to disk
21
+ */
22
+ flush(): Promise<void>;
23
+ /**
24
+ * Close the conversation context and flush remaining data
25
+ */
26
+ close(): Promise<void>;
18
27
  }
19
28
  //# sourceMappingURL=ConversationContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationContext.d.ts","sourceRoot":"","sources":["../../src/agent/ConversationContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAQvC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAU;gBAElB,WAAW,EAAE,MAAM;IAKzB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAgDhC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMnC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C7D,UAAU,IAAI,YAAY,EAAE;IAI5B,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;YAEa,aAAa;CAM5B"}
1
+ {"version":3,"file":"ConversationContext.d.ts","sourceRoot":"","sources":["../../src/agent/ConversationContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AASvC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,EAAE,MAAM;IAMzB,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAgDhC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMnC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C7D,UAAU,IAAI,YAAY,EAAE;IAI5B,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;YAEa,aAAa;IAO3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
@@ -1,14 +1,17 @@
1
1
  import { promises as fs } from "fs";
2
2
  import { Logger } from "../utils/Logger.js";
3
+ import { BatchWriter } from "../utils/BatchWriter.js";
3
4
  export class ConversationContext {
4
5
  messages = [];
5
6
  _tokenCount = 0;
6
7
  checkpointCounter = 0;
7
8
  storageFile;
8
9
  isMemoryMode;
10
+ batchWriter;
9
11
  constructor(storageFile) {
10
12
  this.storageFile = storageFile;
11
13
  this.isMemoryMode = storageFile === ":memory:";
14
+ this.batchWriter = new BatchWriter(storageFile);
12
15
  }
13
16
  async loadFromDisk() {
14
17
  if (this.isMemoryMode) {
@@ -116,7 +119,19 @@ export class ConversationContext {
116
119
  if (this.isMemoryMode) {
117
120
  return;
118
121
  }
119
- await fs.appendFile(this.storageFile, JSON.stringify(data) + "\n", "utf-8");
122
+ await this.batchWriter.write(JSON.stringify(data) + "\n");
123
+ }
124
+ /**
125
+ * Flush any pending writes to disk
126
+ */
127
+ async flush() {
128
+ await this.batchWriter.flush();
129
+ }
130
+ /**
131
+ * Close the conversation context and flush remaining data
132
+ */
133
+ async close() {
134
+ await this.batchWriter.close();
120
135
  }
121
136
  }
122
137
  //# sourceMappingURL=ConversationContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationContext.js","sourceRoot":"","sources":["../../src/agent/ConversationContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConversationContext.js","sourceRoot":"","sources":["../../src/agent/ConversationContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelFactory.d.ts","sourceRoot":"","sources":["../../src/agent/ModelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,GACd,aAAa,CAoCf"}
1
+ {"version":3,"file":"ModelFactory.d.ts","sourceRoot":"","sources":["../../src/agent/ModelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI9D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,GACd,aAAa,CAsCf"}
@@ -2,12 +2,15 @@ import { createAnthropic } from "@ai-sdk/anthropic";
2
2
  import { createOpenAI } from "@ai-sdk/openai";
3
3
  import { createOllama } from "ollama-ai-provider-v2";
4
4
  import { Logger } from "../utils/Logger.js";
5
+ import { SensitiveDataRedactor } from "../utils/SensitiveDataRedactor.js";
5
6
  export function buildLanguageModel(provider, modelId) {
7
+ // Redact sensitive data before logging
8
+ const redactedProvider = SensitiveDataRedactor.redact(provider);
6
9
  Logger.debug("ModelFactory", "Building language model", {
7
10
  providerType: provider.type,
8
11
  modelId,
9
12
  hasApiKey: !!provider.apiKey,
10
- baseUrl: provider.baseUrl,
13
+ provider: redactedProvider,
11
14
  });
12
15
  switch (provider.type) {
13
16
  case "anthropic": {
@@ -1 +1 @@
1
- {"version":3,"file":"ModelFactory.js","sourceRoot":"","sources":["../../src/agent/ModelFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,UAAU,kBAAkB,CAChC,QAAqB,EACrB,OAAe;IAEf,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,EAAE;QACtD,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,OAAO;QACP,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;QAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO;KAC1B,CAAC,CAAC;IAEH,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,SAAS,GAAG,eAAe,CAAC;gBAChC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,YAAY,EAAE,QAAQ,CAAC,cAAc;gBACrC,OAAO,EAAE,QAAQ,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,4BAA4B;aAC1D,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,CAA6B,CAAC;QACrD,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CACb,8BAA+B,QAA6B,CAAC,IAAI,EAAE,CACpE,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ModelFactory.js","sourceRoot":"","sources":["../../src/agent/ModelFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,UAAU,kBAAkB,CAChC,QAAqB,EACrB,OAAe;IAEf,uCAAuC;IACvC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,yBAAyB,EAAE;QACtD,YAAY,EAAE,QAAQ,CAAC,IAAI;QAC3B,OAAO;QACP,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;IAEH,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,SAAS,GAAG,eAAe,CAAC;gBAChC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,YAAY,EAAE,QAAQ,CAAC,cAAc;gBACrC,OAAO,EAAE,QAAQ,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,4BAA4B;aAC1D,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,CAA6B,CAAC;QACrD,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CACb,8BAA+B,QAA6B,CAAC,IAAI,EAAE,CACpE,CAAC;IACN,CAAC;AACH,CAAC"}
package/dist/cli.js CHANGED
@@ -16,6 +16,7 @@ import { setupCommand } from "./commands/setup.js";
16
16
  import { buildLanguageModel } from "./agent/ModelFactory.js";
17
17
  import { Logger } from "./utils/Logger.js";
18
18
  import { ErrorFactory } from "./utils/ErrorTypes.js";
19
+ import { SensitiveDataRedactor } from "./utils/SensitiveDataRedactor.js";
19
20
  import { ListNotesTool, ReadNoteTool, CreateNoteTool, UpdateNoteTool, DeleteNoteTool, GetUserInfoTool, ListTeamsTool, GetHistoryTool, SearchNotesTool, ExportNoteTool, } from "./tools/hackmd/index.js";
20
21
  import { ReadFileTool, WriteFileTool, ListFilesTool, } from "./tools/file/index.js";
21
22
  const __filename = fileURLToPath(import.meta.url);
@@ -33,6 +34,8 @@ program
33
34
  .option("-m, --model <name>", "LLM model to use")
34
35
  .action(async (options) => {
35
36
  try {
37
+ // Setup cleanup on exit
38
+ setupCleanupHandlers();
36
39
  await runAgent(options);
37
40
  }
38
41
  catch (error) {
@@ -62,7 +65,7 @@ program
62
65
  program
63
66
  .command("setup")
64
67
  .description("Configure HackWriter for first-time use")
65
- .action(setupCommand);
68
+ .action(() => setupCommand(false));
66
69
  async function runAgent(options) {
67
70
  if (options.debug) {
68
71
  Logger.setLevel("debug");
@@ -93,7 +96,7 @@ async function runAgent(options) {
93
96
  const modelName = options.model ?? config.defaultModel;
94
97
  const modelConfig = config.models[modelName];
95
98
  if (!modelConfig) {
96
- throw ErrorFactory.configuration(`Model "${modelName}" not found in configuration`, `Available models: ${Object.keys(config.models).join(', ')}`);
99
+ throw ErrorFactory.configuration(`Model "${modelName}" not found in configuration. Available models: ${Object.keys(config.models).join(', ')}`);
97
100
  }
98
101
  Logger.debug("CLI", `Model: ${modelConfig.provider}/${modelConfig.model}`);
99
102
  const providerConfig = config.providers[modelConfig.provider];
@@ -204,5 +207,40 @@ function registerLocalHackMDTools(toolRegistry, apiToken, approvalManager) {
204
207
  toolRegistry.register(new ExportNoteTool(hackmdClient));
205
208
  Logger.debug("CLI", "Registered local HackMD tools");
206
209
  }
210
+ /**
211
+ * Setup cleanup handlers to clear sensitive data on exit
212
+ */
213
+ function setupCleanupHandlers() {
214
+ const cleanup = () => {
215
+ Logger.debug("CLI", "Cleaning up sensitive data from memory");
216
+ // Clear environment variables containing sensitive data
217
+ if (process.env.ANTHROPIC_API_KEY) {
218
+ SensitiveDataRedactor.clearMemory({ ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY });
219
+ delete process.env.ANTHROPIC_API_KEY;
220
+ }
221
+ if (process.env.OPENAI_API_KEY) {
222
+ SensitiveDataRedactor.clearMemory({ OPENAI_API_KEY: process.env.OPENAI_API_KEY });
223
+ delete process.env.OPENAI_API_KEY;
224
+ }
225
+ if (process.env.HACKMD_API_TOKEN) {
226
+ SensitiveDataRedactor.clearMemory({ HACKMD_API_TOKEN: process.env.HACKMD_API_TOKEN });
227
+ delete process.env.HACKMD_API_TOKEN;
228
+ }
229
+ if (process.env.HMD_API_ACCESS_TOKEN) {
230
+ SensitiveDataRedactor.clearMemory({ HMD_API_ACCESS_TOKEN: process.env.HMD_API_ACCESS_TOKEN });
231
+ delete process.env.HMD_API_ACCESS_TOKEN;
232
+ }
233
+ };
234
+ // Register cleanup handlers
235
+ process.on('exit', cleanup);
236
+ process.on('SIGINT', () => {
237
+ cleanup();
238
+ process.exit(0);
239
+ });
240
+ process.on('SIGTERM', () => {
241
+ cleanup();
242
+ process.exit(0);
243
+ });
244
+ }
207
245
  program.parse();
208
246
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAOA,wBAAsB,YAAY,CAAC,eAAe,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHzE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAQA,wBAAsB,YAAY,CAAC,eAAe,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8JzE"}
@@ -2,6 +2,7 @@ import { password, select } from '@inquirer/prompts';
2
2
  import chalk from 'chalk';
3
3
  import { ConfigurationLoader } from '../config/ConfigurationLoader.js';
4
4
  import { discoverProviders, discoverModels } from '../config/ProviderDiscovery.js';
5
+ import { loadHackMDCLIConfig } from '../config/HackMDConfigLoader.js';
5
6
  import { DEFAULT_MAX_STEPS_PER_RUN, DEFAULT_MAX_RETRIES_PER_STEP } from '../config/constants.js';
6
7
  export async function setupCommand(isAutoTriggered = false) {
7
8
  console.log(chalk.bold.cyan('\n🔧 HackWriter Setup\n'));
@@ -27,12 +28,23 @@ export async function setupCommand(isAutoTriggered = false) {
27
28
  console.log(chalk.green(` ✓ ${modelCount} model(s) available\n`));
28
29
  }
29
30
  }
31
+ // 2. HackMD token (check all sources)
32
+ // Priority: HackWriter env > HackMD CLI env > HackMD CLI config file
33
+ let hackmdToken = process.env.HACKMD_API_TOKEN ?? process.env.HMD_API_ACCESS_TOKEN;
34
+ let tokenSource = null;
35
+ // Check HackMD CLI config file if no env var
36
+ if (!hackmdToken) {
37
+ const hackmdCLIConfig = await loadHackMDCLIConfig();
38
+ if (hackmdCLIConfig?.accessToken) {
39
+ hackmdToken = hackmdCLIConfig.accessToken;
40
+ tokenSource = 'config-cli';
41
+ }
42
+ }
30
43
  else {
31
- console.log(chalk.yellow('No providers detected in environment\n'));
44
+ tokenSource = process.env.HACKMD_API_TOKEN ? 'env-hackwriter' : 'env-cli';
32
45
  }
33
- // 2. HackMD token (only if not in env)
34
- let hackmdToken = process.env.HACKMD_API_TOKEN;
35
46
  if (!hackmdToken) {
47
+ console.log(chalk.yellow('Configuration needed:\n'));
36
48
  hackmdToken = await password({
37
49
  message: 'Enter HackMD API token',
38
50
  mask: '*',
@@ -41,16 +53,26 @@ export async function setupCommand(isAutoTriggered = false) {
41
53
  console.log(chalk.red('\n❌ HackMD token is required'));
42
54
  process.exit(1);
43
55
  }
56
+ tokenSource = 'prompt';
44
57
  }
45
58
  else {
46
59
  console.log(chalk.green('Configuration:'));
47
- console.log(chalk.green(' ✓ HACKMD_API_TOKEN found\n'));
60
+ // Show which source was detected
61
+ if (tokenSource === 'env-hackwriter') {
62
+ console.log(chalk.green(' ✓ HACKMD_API_TOKEN found'));
63
+ }
64
+ else if (tokenSource === 'env-cli') {
65
+ console.log(chalk.green(' ✓ HMD_API_ACCESS_TOKEN found (HackMD CLI compatible)'));
66
+ }
67
+ else if (tokenSource === 'config-cli') {
68
+ console.log(chalk.green(' ✓ HackMD CLI config found (~/.hackmd/config.json)'));
69
+ }
70
+ console.log();
48
71
  }
49
72
  // 3. If no models available, prompt user to add LLM provider
50
73
  let llmApiKey;
51
74
  let llmProvider;
52
75
  if (Object.keys(models).length === 0) {
53
- console.log(chalk.yellow('⚠️ No LLM providers configured\n'));
54
76
  const providerChoice = await select({
55
77
  message: 'Select an LLM provider to configure:',
56
78
  choices: [
@@ -79,29 +101,53 @@ export async function setupCommand(isAutoTriggered = false) {
79
101
  }
80
102
  console.log(chalk.green(`\n✓ ${providerName} API key configured`));
81
103
  }
82
- // 4. Save configuration
83
- const configToSave = {
84
- services: {
85
- hackmd: {
86
- apiToken: hackmdToken,
104
+ // 4. Save configuration (only if token was entered via prompt)
105
+ if (tokenSource === 'prompt') {
106
+ const configToSave = {
107
+ services: {
108
+ hackmd: {
109
+ apiToken: hackmdToken,
110
+ },
87
111
  },
88
- },
89
- loopControl: {
90
- maxStepsPerRun: DEFAULT_MAX_STEPS_PER_RUN,
91
- maxRetriesPerStep: DEFAULT_MAX_RETRIES_PER_STEP,
92
- },
93
- };
94
- // Add LLM provider if configured
95
- if (llmProvider && llmApiKey) {
96
- configToSave.providers = {
97
- [llmProvider]: {
98
- type: llmProvider,
99
- apiKey: llmApiKey,
112
+ loopControl: {
113
+ maxStepsPerRun: DEFAULT_MAX_STEPS_PER_RUN,
114
+ maxRetriesPerStep: DEFAULT_MAX_RETRIES_PER_STEP,
100
115
  },
101
116
  };
117
+ // Add LLM provider if configured
118
+ if (llmProvider && llmApiKey) {
119
+ configToSave.providers = {
120
+ [llmProvider]: {
121
+ type: llmProvider,
122
+ apiKey: llmApiKey,
123
+ },
124
+ };
125
+ }
126
+ await ConfigurationLoader.save(configToSave);
127
+ console.log(chalk.green('\n✅ Configuration saved!\n'));
128
+ }
129
+ else {
130
+ // Token from env or HackMD CLI config - only save LLM provider if configured
131
+ if (llmProvider && llmApiKey) {
132
+ const configToSave = {
133
+ providers: {
134
+ [llmProvider]: {
135
+ type: llmProvider,
136
+ apiKey: llmApiKey,
137
+ },
138
+ },
139
+ loopControl: {
140
+ maxStepsPerRun: DEFAULT_MAX_STEPS_PER_RUN,
141
+ maxRetriesPerStep: DEFAULT_MAX_RETRIES_PER_STEP,
142
+ },
143
+ };
144
+ await ConfigurationLoader.save(configToSave);
145
+ console.log(chalk.green('\n✅ Configuration saved!\n'));
146
+ }
147
+ else {
148
+ console.log(chalk.green('\n✅ All set!\n'));
149
+ }
102
150
  }
103
- await ConfigurationLoader.save(configToSave);
104
- console.log(chalk.green('\n✅ Configuration saved!\n'));
105
151
  if (isAutoTriggered) {
106
152
  console.log(chalk.cyan('🚀 Starting HackWriter...\n'));
107
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,5 @@
1
1
  import { z } from "zod";
2
- /**
3
- * Zod schemas for runtime configuration validation
4
- */
5
- export declare const HackMDConfigSchema: z.ZodObject<{
6
- apiBaseUrl: z.ZodOptional<z.ZodURL>;
7
- mcpBaseUrl: z.ZodOptional<z.ZodURL>;
8
- apiToken: z.ZodString;
9
- }, z.core.$strip>;
10
- export declare const LLMProviderSchema: z.ZodObject<{
11
- type: z.ZodEnum<{
12
- anthropic: "anthropic";
13
- openai: "openai";
14
- ollama: "ollama";
15
- }>;
16
- apiKey: z.ZodOptional<z.ZodString>;
17
- baseUrl: z.ZodOptional<z.ZodURL>;
18
- organizationId: z.ZodOptional<z.ZodString>;
19
- projectId: z.ZodOptional<z.ZodString>;
20
- }, z.core.$strip>;
21
- export declare const LLMModelSchema: z.ZodObject<{
22
- provider: z.ZodString;
23
- model: z.ZodString;
24
- maxContextSize: z.ZodNumber;
25
- }, z.core.$strip>;
26
- export declare const LoopControlSchema: z.ZodObject<{
27
- maxStepsPerRun: z.ZodDefault<z.ZodNumber>;
28
- maxRetriesPerStep: z.ZodDefault<z.ZodNumber>;
29
- }, z.core.$strip>;
30
- export declare const ConfigurationSchema: z.ZodObject<{
2
+ declare const ConfigurationSchema: z.ZodObject<{
31
3
  defaultModel: z.ZodString;
32
4
  models: z.ZodRecord<z.ZodString, z.ZodObject<{
33
5
  provider: z.ZodString;
@@ -58,13 +30,6 @@ export declare const ConfigurationSchema: z.ZodObject<{
58
30
  }, z.core.$strip>;
59
31
  }, z.core.$strip>;
60
32
  export type ValidatedConfiguration = z.infer<typeof ConfigurationSchema>;
61
- export type ValidatedHackMDConfig = z.infer<typeof HackMDConfigSchema>;
62
- export type ValidatedLLMProvider = z.infer<typeof LLMProviderSchema>;
63
- export type ValidatedLLMModel = z.infer<typeof LLMModelSchema>;
64
- /**
65
- * Validate configuration object
66
- */
67
- export declare function validateConfiguration(data: unknown): ValidatedConfiguration;
68
33
  /**
69
34
  * Safely validate configuration with detailed error messages
70
35
  */
@@ -76,4 +41,5 @@ export declare function safeValidateConfiguration(data: unknown): {
76
41
  message: string;
77
42
  }[];
78
43
  };
44
+ export {};
79
45
  //# sourceMappingURL=ConfigSchema.d.ts.map