@redaksjon/protokoll 0.3.0 → 1.0.0

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 (36) hide show
  1. package/.kronologi/config.yaml +10 -0
  2. package/.kronologi/jobs/monthly-summary/config.yaml +40 -0
  3. package/.kronologi/jobs/monthly-summary/instructions.md +23 -0
  4. package/.kronologi/jobs/monthly-summary/persona.md +11 -0
  5. package/.kronologi/jobs/weekly-summary/config.yaml +42 -0
  6. package/.kronologi/jobs/weekly-summary/instructions.md +21 -0
  7. package/.kronologi/jobs/weekly-summary/persona.md +10 -0
  8. package/README.md +41 -0
  9. package/activity/2026/4/test-activity.md +10 -0
  10. package/dist/main.js +2 -2
  11. package/dist/mcp/prompts/batch_transcription.md +3 -0
  12. package/dist/mcp/prompts/edit_entity.md +9 -0
  13. package/dist/mcp/prompts/enrich_entity.md +3 -0
  14. package/dist/mcp/prompts/find_and_analyze.md +3 -0
  15. package/dist/mcp/prompts/review_transcript.md +13 -0
  16. package/dist/mcp/prompts/setup_project.md +12 -0
  17. package/dist/mcp/prompts/transcribe_with_context.md +8 -0
  18. package/dist/mcp/server.js +2314 -2416
  19. package/dist/mcp/server.js.map +1 -1
  20. package/dist/term-assist.js +11 -3
  21. package/dist/term-assist.js.map +1 -1
  22. package/dist/term-context.js +10 -2
  23. package/dist/term-context.js.map +1 -1
  24. package/dist/transcript.js +168 -124
  25. package/dist/transcript.js.map +1 -1
  26. package/guide/index.md +6 -0
  27. package/guide/quickstart.md +26 -1
  28. package/package.json +1 -1
  29. package/summary/2026/4/completion.json +16 -0
  30. package/summary/2026/4/inputs.json +60 -0
  31. package/summary/2026/4/summary.md +26 -0
  32. package/.cursor/rules/definition-of-done.md +0 -90
  33. package/.cursor/rules/no-auto-summary-files.md +0 -43
  34. package/.cursor/rules/no-emoticons.md +0 -57
  35. package/nodemon.json +0 -14
  36. package/tsconfig.tsbuildinfo +0 -1
package/guide/index.md CHANGED
@@ -190,6 +190,12 @@ export OPENAI_API_KEY="sk-..."
190
190
  export ANTHROPIC_API_KEY="sk-ant-..."
191
191
  ```
192
192
 
193
+ ### System Requirements
194
+
195
+ - **Node.js 18+** and **npm 9+**
196
+ - **ffmpeg** for audio format conversion (install with `brew install ffmpeg`, `apt-get install ffmpeg`, or from [ffmpeg.org](https://ffmpeg.org))
197
+ - **OpenAI API key** (required for transcription)
198
+
193
199
  ## For AI Assistants
194
200
 
195
201
  If you're an AI helping someone use Protokoll:
@@ -6,10 +6,26 @@ Get Protokoll working in 5 minutes.
6
6
 
7
7
  - Node.js 18+
8
8
  - npm 9+
9
+ - ffmpeg (for audio format conversion)
9
10
  - OpenAI API key
10
11
 
11
12
  ## Installation
12
13
 
14
+ ### 1. Install ffmpeg
15
+
16
+ ```bash
17
+ # macOS
18
+ brew install ffmpeg
19
+
20
+ # Ubuntu/Debian
21
+ sudo apt-get install ffmpeg
22
+
23
+ # Windows
24
+ # Download from https://ffmpeg.org/download.html
25
+ ```
26
+
27
+ ### 2. Install Protokoll
28
+
13
29
  ```bash
14
30
  npm install -g @redaksjon/protokoll
15
31
  ```
@@ -34,7 +50,16 @@ export OPENAI_API_KEY='sk-...'
34
50
  export ANTHROPIC_API_KEY='sk-ant-...'
35
51
  ```
36
52
 
37
- ### 2. Create Config (optional)
53
+ ### 2. Verify ffmpeg Installation
54
+
55
+ ```bash
56
+ ffmpeg -version
57
+ # Should show version info
58
+ ```
59
+
60
+ If you see "command not found", make sure ffmpeg is installed and in your PATH.
61
+
62
+ ### 3. Create Config (optional)
38
63
 
39
64
  ```bash
40
65
  mkdir -p ~/.protokoll
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redaksjon/protokoll",
3
- "version": "0.3.0",
3
+ "version": "1.0.0",
4
4
  "description": "Focused audio transcription with intelligent context integration",
5
5
  "main": "dist/main.js",
6
6
  "type": "module",
@@ -0,0 +1,16 @@
1
+ {
2
+ "choices": [
3
+ {
4
+ "message": {
5
+ "content": "**Weekly Summary: Week 4, 2026**\n\n**Overview:** \nThis week focused on resolving technical issues within the project, particularly related to model configurations and documentation updates. Significant progress was made in bug fixes and enhancing the build process.\n\n**Key Accomplishments:** \n- Resolved a critical bug concerning the model default configuration in the kronologi system.\n- Ensured built files have the correct executable permissions.\n- Updated and clarified documentation regarding the configuration hierarchy, improving overall project clarity.\n\n**Progress:** \n- Initiated testing of the newly implemented weekly summary functionality, with early results showing promise.\n- Made advancements in verifying improvements to the build process, contributing to more efficient workflows.\n\n**Decisions:** \n- It was decided to prioritize the testing of the weekly summary feature to ensure its reliability before further rollout.\n\n**Challenges:** \n- No significant blockers were reported this week; however, ongoing testing may reveal unforeseen issues that will need to be addressed.\n\n**Next Steps:** \n- Complete testing of the weekly summary functionality and gather feedback for any necessary adjustments.\n- Finalize verification of the build process improvements and implement any outstanding changes identified during testing.\n- Continue monitoring for potential issues during the implementation of updates. \n\nThis summary encapsulates the key activities and progress made during the week and sets the stage for continued advancements in the upcoming week."
6
+ },
7
+ "finish_reason": "stop"
8
+ }
9
+ ],
10
+ "usage": {
11
+ "prompt_tokens": 331,
12
+ "completion_tokens": 269,
13
+ "total_tokens": 600
14
+ },
15
+ "model": "gpt-4o-mini"
16
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "config": {
3
+ "model": "gpt-4o-mini",
4
+ "temperature": 0.7,
5
+ "maxCompletionTokens": 4000,
6
+ "parameters": {
7
+ "year": {
8
+ "type": "number",
9
+ "description": "Year for the summary",
10
+ "required": true
11
+ },
12
+ "month": {
13
+ "type": "number",
14
+ "description": "Month number (1-12) - used as week identifier for weekly summaries",
15
+ "required": true
16
+ }
17
+ },
18
+ "context": {},
19
+ "content": {
20
+ "activity": {
21
+ "type": "activity",
22
+ "name": "Weekly Activity",
23
+ "directory": "",
24
+ "pattern": "*.md"
25
+ }
26
+ },
27
+ "output": {
28
+ "summary": {
29
+ "type": "summary",
30
+ "format": "markdown",
31
+ "name": "Weekly Summary",
32
+ "pattern": "summary.md"
33
+ },
34
+ "completion": {
35
+ "type": "metadata",
36
+ "format": "json",
37
+ "pattern": "completion.json"
38
+ },
39
+ "inputs": {
40
+ "type": "metadata",
41
+ "format": "json",
42
+ "pattern": "inputs.json"
43
+ }
44
+ },
45
+ "name": "weekly-summary"
46
+ },
47
+ "request": {
48
+ "model": "gpt-4o-mini",
49
+ "messages": [
50
+ {
51
+ "role": "system",
52
+ "content": "<Weekly Summary Persona>\nYou are a professional technical writer who creates concise, informative weekly summaries.\n\nYour summaries:\n\n- Highlight key accomplishments and progress\n- Identify important decisions and changes\n- Note blockers or challenges\n- Are written in clear, professional language\n- Focus on what matters most to stakeholders\n</Weekly Summary Persona>"
53
+ },
54
+ {
55
+ "role": "user",
56
+ "content": "<Context>\n\n</Context>\n\n<Weekly Summary Instructions>\nCreate a comprehensive weekly summary based on the provided activity files.\n\n<Structure>\n- **Overview**: Brief summary of the week's focus and major themes\n- **Key Accomplishments**: What was completed or achieved\n- **Progress**: Work that advanced significantly\n- **Decisions**: Important decisions made\n- **Challenges**: Blockers or issues encountered\n- **Next Steps**: Planned work for the coming week\n</Structure>\n\n<Guidelines>\n- Be concise but informative\n- Use bullet points for easy scanning\n- Highlight the most important items\n- Include relevant context for decisions\n- Note any risks or concerns\n- Keep the tone professional and factual\n</Guidelines>\n</Weekly Summary Instructions>\n\n<Content>\n<Weekly Activity Content>\n<activity/2026/4/test-activity.md>\n# Test Activity for Week 4, 2026\n\n## Completed Tasks\n- Fixed model default configuration bug in kronologi\n- Added executable permissions to built files\n- Updated documentation for configuration hierarchy\n\n## In Progress\n- Testing weekly summary functionality\n- Verifying build process improvements\n\n</activity/2026/4/test-activity.md>\n</Weekly Activity Content>\n</Content>"
57
+ }
58
+ ]
59
+ }
60
+ }
@@ -0,0 +1,26 @@
1
+ **Weekly Summary: Week 4, 2026**
2
+
3
+ **Overview:**
4
+ This week focused on resolving technical issues within the project, particularly related to model configurations and documentation updates. Significant progress was made in bug fixes and enhancing the build process.
5
+
6
+ **Key Accomplishments:**
7
+ - Resolved a critical bug concerning the model default configuration in the kronologi system.
8
+ - Ensured built files have the correct executable permissions.
9
+ - Updated and clarified documentation regarding the configuration hierarchy, improving overall project clarity.
10
+
11
+ **Progress:**
12
+ - Initiated testing of the newly implemented weekly summary functionality, with early results showing promise.
13
+ - Made advancements in verifying improvements to the build process, contributing to more efficient workflows.
14
+
15
+ **Decisions:**
16
+ - It was decided to prioritize the testing of the weekly summary feature to ensure its reliability before further rollout.
17
+
18
+ **Challenges:**
19
+ - No significant blockers were reported this week; however, ongoing testing may reveal unforeseen issues that will need to be addressed.
20
+
21
+ **Next Steps:**
22
+ - Complete testing of the weekly summary functionality and gather feedback for any necessary adjustments.
23
+ - Finalize verification of the build process improvements and implement any outstanding changes identified during testing.
24
+ - Continue monitoring for potential issues during the implementation of updates.
25
+
26
+ This summary encapsulates the key activities and progress made during the week and sets the stage for continued advancements in the upcoming week.
@@ -1,90 +0,0 @@
1
- # Definition of DONE
2
-
3
- ## Critical Requirement
4
-
5
- **A feature, bugfix, or enhancement is NOT DONE until `npm run precommit` passes completely.**
6
-
7
- ### What `npm run precommit` Includes
8
-
9
- The precommit script runs two critical checks sequentially:
10
-
11
- 1. **Linting** (`npm run lint`)
12
- - ESLint checks for code quality issues
13
- - No console statements without explicit `@typescript-eslint/no-unused-vars` disable comments
14
- - No unused imports or variables
15
- - Proper TypeScript types and no `any` unless explicitly needed
16
- - Code style consistency
17
-
18
- 2. **Testing** (`npm run test`)
19
- - All unit tests must pass
20
- - Test coverage must meet thresholds (currently 80%+ for statements/lines, 65%+ for branches)
21
- - No failing or skipped tests (except known skips that are documented)
22
-
23
- ### The Complete Success Criteria
24
-
25
- For work to be considered complete:
26
-
27
- ```bash
28
- npm run precommit # Must exit with code 0 (success)
29
- ```
30
-
31
- This single command encompasses:
32
- - ✅ Linting passes (no errors or warnings)
33
- - ✅ All tests pass
34
- - ✅ Code coverage maintained or improved
35
- - ✅ No console statements that violate style rules
36
- - ✅ No unused imports or variables
37
-
38
- ### Common Issues and Fixes
39
-
40
- #### console.log() Statements
41
- If linting fails with "Unexpected console statement":
42
-
43
- ```typescript
44
- // WRONG - fails linting
45
- console.log("some output");
46
-
47
- // RIGHT - use eslint-disable comment
48
- // eslint-disable-next-line no-console
49
- console.log("some output");
50
- ```
51
-
52
- Or use logger instead:
53
- ```typescript
54
- logger.info('message with %s', variable);
55
- ```
56
-
57
- #### Unused Imports
58
- If linting fails with "is defined but never used":
59
- - Remove the unused import
60
- - Don't leave imports just in case they might be needed
61
-
62
- #### Test Failures
63
- If tests fail:
64
- - Run `npm test` to see detailed errors
65
- - Fix the underlying issue, not the test
66
- - Ensure edge cases are covered
67
-
68
- ### CI/CD Integration
69
-
70
- When submitting PRs or merging code:
71
- - The CI pipeline will run `npm run precommit`
72
- - If it fails, the build is blocked
73
- - This prevents broken code from reaching production
74
-
75
- ### Quality Bar
76
-
77
- This definition of DONE ensures:
78
- - Code quality is consistent across the project
79
- - Tests catch regressions early
80
- - Linting prevents common mistakes
81
- - Coverage metrics track code reliability
82
- - All code follows the same standards
83
-
84
- ### Remember
85
-
86
- **Tests passing alone is not enough.** Linting must also pass.
87
-
88
- Both are equally important to code quality.
89
-
90
-
@@ -1,43 +0,0 @@
1
- # Do Not Create Automatic Summary Files
2
-
3
- ## Rule: No Automatic Documentation or Reflection Files
4
-
5
- **NEVER** automatically create files that summarize, document, or reflect on actions taken during a conversation unless explicitly requested by the user.
6
-
7
- ### Prohibited Actions
8
-
9
- Do NOT create files with names like:
10
- - `agentic-reflection-*.md`
11
- - `summary-*.md`
12
- - `changelog-*.md`
13
- - `session-notes-*.md`
14
- - Any other automatically generated documentation files
15
-
16
- ### When This Rule Applies
17
-
18
- This rule applies to ALL interactions unless the user explicitly says:
19
- - "Create a summary file"
20
- - "Document what you did"
21
- - "Write a reflection"
22
- - Or similar explicit requests
23
-
24
- ### What You Should Do Instead
25
-
26
- 1. **Communicate directly**: Explain what you did in your response to the user
27
- 2. **Only create necessary files**: Create only the files needed to complete the actual task (source code, configuration files, etc.)
28
- 3. **Ask first**: If you think documentation would be helpful, ASK the user if they want it before creating it
29
-
30
- ### Example Scenarios
31
-
32
- ❌ **WRONG**: User asks to fix a bug → You fix it AND create `agentic-reflection-commit-2026-01-10.md`
33
-
34
- ✅ **CORRECT**: User asks to fix a bug → You fix it and explain what you did in your response
35
-
36
- ❌ **WRONG**: User asks to add a feature → You add it AND create a summary document
37
-
38
- ✅ **CORRECT**: User asks to add a feature → You add it and describe the changes in your response
39
-
40
- ### Rationale
41
-
42
- The user finds these automatically generated files cluttering the workspace. They prefer clean, focused changes that only include the files necessary for the actual task at hand.
43
-
@@ -1,57 +0,0 @@
1
- # No Emoticons in Documentation
2
-
3
- Do not use emoticons, emoji, or unicode symbols as grammatical decoration in documentation. This includes:
4
-
5
- - README.md
6
- - Guide files (guide/*.md)
7
- - Documentation files (docs/*.md)
8
- - Prompt files (src/prompt/**/*.md)
9
- - Any other markdown or documentation files
10
-
11
- ## What to Avoid
12
-
13
- **Never use emoticons or symbols for:**
14
-
15
- - Decorating headings (🚀, 🎯, 📝, etc.)
16
- - Bullet point prefixes (✅, ⭐, 👉, etc.)
17
- - Emphasis or flair in prose
18
- - Making lists look "fun" or "engaging"
19
-
20
- Emoticons add visual noise without semantic value. Professional documentation communicates through clear language, not decorative symbols.
21
-
22
- ## Acceptable Uses
23
-
24
- The following are acceptable because they convey actual meaning:
25
-
26
- - ASCII checkmarks in feature comparison tables: ✓ and ✗
27
- - Status indicators in CI/build tables where visual scanning matters
28
-
29
- These should only appear in structured data tables, never in prose, headings, or list items.
30
-
31
- ## Examples
32
-
33
- **Bad:**
34
-
35
- ```markdown
36
- ## 🚀 Getting Started
37
- ### 🎯 Features
38
- - 📝 Smart transcription
39
- - ✅ **For Developers**: Great tooling
40
- ```
41
-
42
- **Good:**
43
-
44
- ```markdown
45
- ## Getting Started
46
- ### Features
47
- - Smart transcription
48
- - **For Developers**: Great tooling
49
- ```
50
-
51
- **Acceptable (feature comparison tables only):**
52
-
53
- ```markdown
54
- | Feature | Protokoll | Other |
55
- |---------|-----------|-------|
56
- | Name Recognition | ✓ | ✗ |
57
- ```
package/nodemon.json DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "verbose": true,
3
- "ignore": [
4
- ".git",
5
- "node_modules/**/node_modules",
6
- "dist",
7
- "*.test.ts"
8
- ],
9
- "watch": [
10
- "src"
11
- ],
12
- "ext": "ts,json",
13
- "exec": "tsc && echo \"⚡ Compilation complete\""
14
- }