@utilarium/dreadcabinet 0.0.16-dev.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 (128) hide show
  1. package/.nvmrc +2 -0
  2. package/LICENSE +190 -0
  3. package/README.md +95 -0
  4. package/dist/configure.d.ts +5 -0
  5. package/dist/configure.js +44 -0
  6. package/dist/configure.js.map +1 -0
  7. package/dist/constants.d.ts +36 -0
  8. package/dist/constants.js +53 -0
  9. package/dist/constants.js.map +1 -0
  10. package/dist/defaults.d.ts +2 -0
  11. package/dist/defaults.js +32 -0
  12. package/dist/defaults.js.map +1 -0
  13. package/dist/dreadcabinet.cjs +1793 -0
  14. package/dist/dreadcabinet.cjs.map +1 -0
  15. package/dist/dreadcabinet.d.ts +131 -0
  16. package/dist/dreadcabinet.js +111 -0
  17. package/dist/dreadcabinet.js.map +1 -0
  18. package/dist/error/ArgumentError.d.ts +5 -0
  19. package/dist/error/ArgumentError.js +26 -0
  20. package/dist/error/ArgumentError.js.map +1 -0
  21. package/dist/input/input.d.ts +7 -0
  22. package/dist/input/input.js +13 -0
  23. package/dist/input/input.js.map +1 -0
  24. package/dist/input/process.d.ts +5 -0
  25. package/dist/input/process.js +36 -0
  26. package/dist/input/process.js.map +1 -0
  27. package/dist/input/structured.d.ts +15 -0
  28. package/dist/input/structured.js +324 -0
  29. package/dist/input/structured.js.map +1 -0
  30. package/dist/input/unstructured.d.ts +2 -0
  31. package/dist/input/unstructured.js +45 -0
  32. package/dist/input/unstructured.js.map +1 -0
  33. package/dist/logger.d.ts +2 -0
  34. package/dist/logger.js +19 -0
  35. package/dist/logger.js.map +1 -0
  36. package/dist/operate.d.ts +2 -0
  37. package/dist/operate.js +27 -0
  38. package/dist/operate.js.map +1 -0
  39. package/dist/output.d.ts +7 -0
  40. package/dist/output.js +99 -0
  41. package/dist/output.js.map +1 -0
  42. package/dist/read.d.ts +4 -0
  43. package/dist/read.js +30 -0
  44. package/dist/read.js.map +1 -0
  45. package/dist/util/dates.d.ts +60 -0
  46. package/dist/util/dates.js +699 -0
  47. package/dist/util/dates.js.map +1 -0
  48. package/dist/util/storage.d.ts +33 -0
  49. package/dist/util/storage.js +140 -0
  50. package/dist/util/storage.js.map +1 -0
  51. package/dist/validate.d.ts +4 -0
  52. package/dist/validate.js +134 -0
  53. package/dist/validate.js.map +1 -0
  54. package/guide/architecture.md +60 -0
  55. package/guide/configuration.md +132 -0
  56. package/guide/development.md +110 -0
  57. package/guide/index.md +62 -0
  58. package/guide/usage.md +166 -0
  59. package/output/kodrdriv/250703-0645-commit-message.md +21 -0
  60. package/output/kodrdriv/250703-0653-commit-message.md +1 -0
  61. package/output/kodrdriv/250703-0654-commit-message.md +1 -0
  62. package/output/kodrdriv/250703-0655-release-notes.md +51 -0
  63. package/output/kodrdriv/250703-0700-commit-message.md +1 -0
  64. package/output/kodrdriv/250703-0700-release-notes.md +8 -0
  65. package/output/kodrdriv/250703-0706-commit-message.md +1 -0
  66. package/output/kodrdriv/250703-0706-release-notes.md +11 -0
  67. package/output/kodrdriv/250703-0717-commit-message.md +1 -0
  68. package/output/kodrdriv/250703-0719-commit-message.md +1 -0
  69. package/output/kodrdriv/250703-0719-release-notes.md +17 -0
  70. package/output/kodrdriv/250703-0730-commit-message.md +1 -0
  71. package/output/kodrdriv/250703-0730-release-notes.md +11 -0
  72. package/output/kodrdriv/250703-1510-commit-message.md +1 -0
  73. package/output/kodrdriv/250710-0805-commit-message.md +3 -0
  74. package/output/kodrdriv/250710-0815-commit-message.md +1 -0
  75. package/output/kodrdriv/250710-0815-release-notes.md +39 -0
  76. package/output/kodrdriv/260107-2021-commit-message.md +37 -0
  77. package/output/kodrdriv/260108-0432-commit-message.md +6 -0
  78. package/output/kodrdriv/260108-0435-commit-message.md +3 -0
  79. package/output/kodrdriv/260108-0436-commit-message.md +4 -0
  80. package/output/kodrdriv/260108-0439-release-notes.md +63 -0
  81. package/output/kodrdriv/260108-0543-commit-message.md +19 -0
  82. package/output/kodrdriv/260108-0550-commit-message.md +3 -0
  83. package/output/kodrdriv/260108-0550-release-notes.md +19 -0
  84. package/output/kodrdriv/260108-0600-commit-message.md +3 -0
  85. package/output/kodrdriv/260110-0717-commit-message.md +4 -0
  86. package/output/kodrdriv/260110-1152-commit-message.md +1 -0
  87. package/output/kodrdriv/260110-1850-commit-message.md +1 -0
  88. package/output/kodrdriv/260110-1852-release-notes.md +33 -0
  89. package/output/kodrdriv/260112-2257-commit-message.md +5 -0
  90. package/output/kodrdriv/260112-2317-commit-message.md +1 -0
  91. package/output/kodrdriv/260112-2318-release-notes.md +42 -0
  92. package/output/kodrdriv/260113-0053-commit-message.md +1 -0
  93. package/output/kodrdriv/260113-0054-commit-message.md +1 -0
  94. package/output/kodrdriv/260113-0054-release-notes.md +49 -0
  95. package/output/kodrdriv/260130-1132-commit-message.md +1 -0
  96. package/output/kodrdriv/260130-1135-commit-message.md +1 -0
  97. package/output/kodrdriv/260130-1335-commit-message.md +10 -0
  98. package/output/kodrdriv/RELEASE_NOTES.md +47 -0
  99. package/output/kodrdriv/RELEASE_TITLE.md +1 -0
  100. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T04-21-54-623Z.md +372 -0
  101. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-32-36-513Z.md +55 -0
  102. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-35-58-580Z.md +105 -0
  103. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-36-05-658Z.md +53 -0
  104. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-43-55-498Z.md +178 -0
  105. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-50-10-230Z.md +53 -0
  106. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-50-35-136Z.md +52 -0
  107. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T14-00-30-772Z.md +52 -0
  108. package/output/kodrdriv/agentic-reflection-commit-2026-01-10T15-17-43-324Z.md +53 -0
  109. package/output/kodrdriv/agentic-reflection-commit-2026-01-10T19-52-47-424Z.md +97 -0
  110. package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-23-123Z.md +138 -0
  111. package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-45-038Z.md +114 -0
  112. package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-49-467Z.md +114 -0
  113. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T06-57-00-384Z.md +169 -0
  114. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T07-17-29-292Z.md +114 -0
  115. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T07-17-47-579Z.md +114 -0
  116. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-48-55-599Z.md +144 -0
  117. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-53-53-725Z.md +114 -0
  118. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-54-11-600Z.md +97 -0
  119. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T19-32-17-053Z.md +174 -0
  120. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T19-35-00-887Z.md +152 -0
  121. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T21-02-16-553Z.md +236 -0
  122. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T21-17-22-227Z.md +347 -0
  123. package/output/kodrdriv/agentic-reflection-release-2026-01-08T12-39-08-279Z.md +507 -0
  124. package/output/kodrdriv/agentic-reflection-release-2026-01-08T13-50-57-683Z.md +183 -0
  125. package/output/kodrdriv/agentic-reflection-release-2026-01-11T02-52-39-082Z.md +347 -0
  126. package/output/kodrdriv/agentic-reflection-release-2026-01-13T07-18-21-218Z.md +315 -0
  127. package/output/kodrdriv/agentic-reflection-release-2026-01-13T08-54-59-340Z.md +354 -0
  128. package/package.json +80 -0
@@ -0,0 +1,183 @@
1
+ # Agentic Workflow - Self-Reflection Report
2
+
3
+ Generated: 2026-01-08T13:50:57.684Z
4
+
5
+ ## Execution Summary
6
+
7
+ - **Iterations**: 2
8
+ - **Tool Calls**: 6
9
+ - **Unique Tools**: 5
10
+
11
+ ## Tool Effectiveness Analysis
12
+
13
+ | Tool | Calls | Success | Failures | Success Rate | Avg Duration |
14
+ |------|-------|---------|----------|--------------|--------------|
15
+ | get_file_content | 2 | 2 | 0 | 100.0% | 0ms |
16
+ | get_release_stats | 1 | 1 | 0 | 100.0% | 50ms |
17
+ | analyze_commit_patterns | 1 | 1 | 0 | 100.0% | 11ms |
18
+ | get_breaking_changes | 1 | 1 | 0 | 100.0% | 21ms |
19
+ | get_file_dependencies | 1 | 1 | 0 | 100.0% | 23ms |
20
+
21
+ ### Tool Performance Insights
22
+
23
+ **Most Frequently Used:**
24
+ - get_release_stats: 1 calls
25
+ - analyze_commit_patterns: 1 calls
26
+ - get_breaking_changes: 1 calls
27
+
28
+ ## Recommendations for Improvement
29
+
30
+ - **Underutilized Tools**: Many tools were called only once. Consider whether all tools are necessary or if the agent needs better guidance on when to use them.
31
+
32
+ ## Detailed Execution Timeline
33
+
34
+ | Time | Iteration | Tool | Result | Duration |
35
+ |------|-----------|------|--------|----------|
36
+ | 5:50:45 AM | 1 | get_release_stats | ✅ Success | 50ms |
37
+ | 5:50:45 AM | 1 | analyze_commit_patterns | ✅ Success | 11ms |
38
+ | 5:50:45 AM | 1 | get_breaking_changes | ✅ Success | 21ms |
39
+ | 5:50:45 AM | 1 | get_file_content | ✅ Success | 0ms |
40
+ | 5:50:45 AM | 1 | get_file_content | ✅ Success | 0ms |
41
+ | 5:50:46 AM | 1 | get_file_dependencies | ✅ Success | 23ms |
42
+
43
+ ## Conversation History
44
+
45
+ <details>
46
+ <summary>Click to expand full agentic interaction</summary>
47
+
48
+ ```json
49
+ [
50
+ {
51
+ "role": "system",
52
+ "content": "You are a professional software engineer writing release notes for your team and users.\n\n## Available Tools\n\n### General\n\n**get_file_history**\nGet git commit history for one or more files to understand their evolution and past changes\n\nParameters:\n- `filePaths` (required): Array of file paths to get history for\n- `limit`: Maximum number of commits to return (default: 10)\n- `format`: Output format: \"summary\" for brief or \"detailed\" for full messages\n\n**When to use:** Get git commit history for one or more files to understand their evolution and past changes\n\n---\n\n**get_file_content**\nGet the complete current content of a file to understand context around changes. Returns a message if the file does not exist (e.g., if it was deleted).\n\nParameters:\n- `filePath` (required): Path to the file\n- `includeLineNumbers`: Include line numbers in output (default: false)\n\n**When to use:** Get the complete current content of a file to understand context around changes. Returns a message if the file does not exist (e.g., if it was deleted).\n\n---\n\n**search_codebase**\nSearch for code patterns, function names, or text across the codebase using git grep\n\nParameters:\n- `query` (required): Search pattern (can be plain text or regex)\n- `fileTypes`: Limit search to specific file extensions (e.g., [\"ts\", \"js\"])\n- `contextLines`: Number of context lines to show around matches (default: 2)\n\n**When to use:** Search for code patterns, function names, or text across the codebase using git grep\n\n---\n\n**get_related_tests**\nFind test files related to production files to understand what the code is supposed to do\n\nParameters:\n- `filePaths` (required): Production file paths\n\n**When to use:** Find test files related to production files to understand what the code is supposed to do\n\n---\n\n**get_file_dependencies**\nFind which files import or depend on the changed files to assess change impact\n\nParameters:\n- `filePaths` (required): Files to analyze dependencies for\n\n**When to use:** Find which files import or depend on the changed files to assess change impact\n\n---\n\n**analyze_diff_section**\nGet expanded context around specific lines in a file to better understand changes\n\nParameters:\n- `filePath` (required): File containing the section to analyze\n- `startLine` (required): Starting line number\n- `endLine` (required): Ending line number\n- `contextLines`: Number of additional context lines to show before and after (default: 10)\n\n**When to use:** Get expanded context around specific lines in a file to better understand changes\n\n---\n\n**get_recent_commits**\nGet recent commits that modified the same files to understand recent work in this area\n\nParameters:\n- `filePaths` (required): Files to check for recent commits\n- `since`: Time period to look back (e.g., \"1 week ago\", \"2 days ago\")\n- `limit`: Maximum number of commits to return (default: 5)\n\n**When to use:** Get recent commits that modified the same files to understand recent work in this area\n\n---\n\n**group_files_by_concern**\nAnalyze changed files and suggest logical groupings that might represent separate concerns\n\nParameters:\n- `filePaths` (required): All changed files to analyze\n\n**When to use:** Analyze changed files and suggest logical groupings that might represent separate concerns\n\n---\n\n### Release Analysis\n\n**get_tag_history** _(cheap)_\nGet the history of previous release tags to understand release patterns and versioning\n\nParameters:\n- `limit`: Number of recent tags to retrieve (default: 10)\n- `pattern`: Filter tags by pattern (e.g., \"v*\" for version tags)\n\n**When to use:** Get the history of previous release tags to understand release patterns and versioning\n\n**Examples:**\n- Check recent version tags: `get_tag_history({\"limit\":5,\"pattern\":\"v*\"})`\n\n---\n\n**compare_previous_release** _(moderate)_\nCompare this release with a previous release to understand what changed between versions\n\nParameters:\n- `previousTag` (required): Previous release tag to compare against\n- `currentRef`: Current reference (default: HEAD)\n- `statsOnly`: Return only statistics, not full diff (default: true)\n\n**When to use:** Compare this release with a previous release to understand what changed between versions\n\n**Examples:**\n- Compare with last release: `compare_previous_release({\"previousTag\":\"v1.0.0\",\"currentRef\":\"HEAD\"})`\n\n---\n\n**get_release_stats** _(moderate)_\nGet comprehensive statistics about the release including contributors, file changes, and commit patterns\n\nParameters:\n- `fromRef` (required): Starting reference for the release range\n- `toRef`: Ending reference for the release range (default: HEAD)\n\n**When to use:** Get comprehensive statistics about the release including contributors, file changes, and commit patterns\n\n**Examples:**\n- Get release overview: `get_release_stats({\"fromRef\":\"v1.0.0\",\"toRef\":\"HEAD\"})`\n\n---\n\n**get_breaking_changes** _(expensive)_\nSearch for potential breaking changes by looking for specific patterns in commits and diffs\n\nParameters:\n- `fromRef` (required): Starting reference for the release range\n- `toRef`: Ending reference for the release range (default: HEAD)\n\n**When to use:** Search for potential breaking changes by looking for specific patterns in commits and diffs\n\n**Examples:**\n- Check for breaking changes: `get_breaking_changes({\"fromRef\":\"v1.0.0\",\"toRef\":\"HEAD\"})`\n\n---\n\n**analyze_commit_patterns** _(cheap)_\nAnalyze commit messages to identify patterns and themes in the release\n\nParameters:\n- `fromRef` (required): Starting reference for the release range\n- `toRef`: Ending reference for the release range (default: HEAD)\n\n**When to use:** Analyze commit messages to identify patterns and themes in the release\n\n**Examples:**\n- Find commit themes: `analyze_commit_patterns({\"fromRef\":\"v1.0.0\",\"toRef\":\"HEAD\"})`\n\n---\n\n\n\n## Your Task\n\nWrite release notes that clearly explain what's in this release and why it matters. Your notes should help users and developers understand what changed without needing to read every commit.\n\nFocus on:\n- What problems does this release solve?\n- What new capabilities does it add?\n- What's the impact on users and developers?\n- Are there breaking changes or important considerations?\n\nUse the available tools to investigate the changes. The more you understand, the better your notes will be.\n\n**Important**: If additional context is provided (from context files or other sources), use your judgment:\n- If the context is relevant to this specific package/release, incorporate it appropriately\n- If the context describes changes in other packages or unrelated work, ignore it\n- Don't fabricate connections between this package and unrelated context\n- Be honest about what changed - only mention what actually happened in this release\n- Context is supplemental information, not a requirement to include\n\n## Investigation Approach\n\nUse tools based on what you need to know:\n\n**Context:**\n- get_tag_history - understand release patterns\n- get_release_stats - quantify scope\n- compare_previous_release - see how this compares\n\n**Understanding:**\n- group_files_by_concern - identify themes\n- analyze_commit_patterns - detect patterns\n- get_file_content - see full context\n- analyze_diff_section - expand unclear changes\n- get_file_history - understand evolution\n\n**Impact:**\n- get_file_dependencies - assess reach\n- search_codebase - find usage patterns\n- get_related_tests - understand behavior changes\n- get_breaking_changes - identify breaking changes (always use)\n\n## Writing Style\n\nWrite naturally and directly:\n- Use plain language that users can understand\n- Be specific about what changed and why\n- Avoid marketing speak and buzzwords\n- No emojis or excessive punctuation\n- No phrases like \"we're excited to announce\"\n- No meta-commentary about the release itself\n- Focus on facts and implications, not enthusiasm\n\nStructure your notes logically:\n- Start with the most important changes\n- Group related changes together\n- Explain breaking changes clearly\n- Include practical examples when helpful\n\n## Output Format\n\nWhen ready, format your response as JSON:\n\nRELEASE_NOTES:\n{\n \"title\": \"Clear, factual title describing the main changes\",\n \"body\": \"Detailed release notes in Markdown format\"\n}\n\nOutput only the JSON. No conversational remarks or follow-up offers."
53
+ },
54
+ {
55
+ "role": "user",
56
+ "content": "I need comprehensive release notes for changes from main to HEAD.\n\n## Commit Log\ncommit c2aade330d27a7ddc1a55ac50cc36d68e80b6976\nAuthor: Tim O'Brien <tobrien@discursive.com>\nDate: Thu Jan 8 05:50:35 2026 -0800\n\n chore(release): 0.0.12\n \n - Promote version from 0.0.12-dev.0 to 0.0.12 for the stable release/publish\n\ncommit 647ee7d7ecc5486ad30e7bfca37178e57fb0ebc2\nAuthor: Tim O'Brien <tobrien@discursive.com>\nDate: Thu Jan 8 05:50:10 2026 -0800\n\n docs(readme): update License line\n \n - Append “TEST” to the README License attribution line\n - Add a trailing newline at end of file\n\ncommit c36f12190094db51cccc9583742126f14b632a26\nAuthor: Tim O'Brien <tobrien@discursive.com>\nDate: Thu Jan 8 05:47:02 2026 -0800\n\n 0.0.12-dev.0\n\n\n## Diff Summary\ndiff --git a/README.md b/README.md\nindex 4511e9d..203b5d6 100644\n--- a/README.md\n+++ b/README.md\n@@ -92,4 +92,4 @@ We welcome contributions! Please see our [Contributing Guide](https://utilarium.\n \n ## License\n \n-[Apache-2.0](./LICENSE) © 2025 Tim O'Brien \n\\n+[Apache-2.0](./LICENSE) © 2025 Tim O'Brien TEST\ndiff --git a/package.json b/package.json\nindex af4496e..3816b92 100644\n--- a/package.json\n+++ b/package.json\n@@ -1,6 +1,6 @@\n {\n \"name\": \"@theunwalked/dreadcabinet\",\n- \"version\": \"0.0.11\",\n+ \"version\": \"0.0.12\",\n \"description\": \"dreadcabinet organizes the chaos.\",\n \"main\": \"dist/dreadcabinet.cjs\",\n \"module\": \"dist/dreadcabinet.js\",\n\n\nAnalyze these changes and write clear release notes. Consider:\n- What's the main story of this release?\n- What problems does it solve?\n- What's the impact on users and developers?\n- Are there breaking changes?\n\nIf context information is provided, use it only if relevant to this specific package.\nDon't force connections that don't exist - if context describes changes in other packages\nor unrelated features, simply ignore it and focus on what actually changed in this release.\n\nInvestigate as needed to write accurate, helpful release notes."
57
+ },
58
+ {
59
+ "role": "assistant",
60
+ "content": null,
61
+ "tool_calls": [
62
+ {
63
+ "id": "call_vvxEYx5qGVz9oM1F9ZCBn2IB",
64
+ "type": "function",
65
+ "function": {
66
+ "name": "get_release_stats",
67
+ "arguments": "{\"fromRef\": \"main\", \"toRef\": \"HEAD\"}"
68
+ }
69
+ },
70
+ {
71
+ "id": "call_UfTLTB3TNcVS28vwzjbNYgGG",
72
+ "type": "function",
73
+ "function": {
74
+ "name": "analyze_commit_patterns",
75
+ "arguments": "{\"fromRef\": \"main\", \"toRef\": \"HEAD\"}"
76
+ }
77
+ },
78
+ {
79
+ "id": "call_RGENIo0Hy0Cmgycf7GZeBS6R",
80
+ "type": "function",
81
+ "function": {
82
+ "name": "get_breaking_changes",
83
+ "arguments": "{\"fromRef\": \"main\", \"toRef\": \"HEAD\"}"
84
+ }
85
+ },
86
+ {
87
+ "id": "call_zDSURtddFqbnShXjDDMtWwyQ",
88
+ "type": "function",
89
+ "function": {
90
+ "name": "get_file_content",
91
+ "arguments": "{\"filePath\": \"package.json\", \"includeLineNumbers\": false}"
92
+ }
93
+ },
94
+ {
95
+ "id": "call_iph63Sbq7zIbkOcO8lW3C2JI",
96
+ "type": "function",
97
+ "function": {
98
+ "name": "get_file_content",
99
+ "arguments": "{\"filePath\": \"README.md\", \"includeLineNumbers\": false}"
100
+ }
101
+ },
102
+ {
103
+ "id": "call_Q6OCQbvLy9lGJ2QNLpc2zBoU",
104
+ "type": "function",
105
+ "function": {
106
+ "name": "get_file_dependencies",
107
+ "arguments": "{\"filePaths\": [\"package.json\", \"README.md\"]}"
108
+ }
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "role": "tool",
114
+ "tool_call_id": "call_vvxEYx5qGVz9oM1F9ZCBn2IB",
115
+ "content": "Total commits: 3\n\nContributors:\n 3\tTim O'Brien\n\n\nFile changes: 3 files changed, 4 insertions(+), 4 deletions(-)\n\nTop 10 most changed files:\n README.md | 2 +-\n package.json | 2 +-\n package-lock.json | 4 ++--\n 3 files changed, 4 insertions(+), 4 deletions(-)\n",
116
+ "name": "get_release_stats"
117
+ },
118
+ {
119
+ "role": "tool",
120
+ "tool_call_id": "call_UfTLTB3TNcVS28vwzjbNYgGG",
121
+ "content": "Commit types:\n chore: 1\n docs: 1\n\nTop keywords in commits:\n chore: 1\n release: 1\n readme: 1\n update: 1\n license: 1",
122
+ "name": "analyze_commit_patterns"
123
+ },
124
+ {
125
+ "role": "tool",
126
+ "tool_call_id": "call_RGENIo0Hy0Cmgycf7GZeBS6R",
127
+ "content": "No obvious breaking changes detected. Manual review recommended for API changes.",
128
+ "name": "get_breaking_changes"
129
+ },
130
+ {
131
+ "role": "tool",
132
+ "tool_call_id": "call_zDSURtddFqbnShXjDDMtWwyQ",
133
+ "content": "{\n \"name\": \"@theunwalked/dreadcabinet\",\n \"version\": \"0.0.12\",\n \"description\": \"dreadcabinet organizes the chaos.\",\n \"main\": \"dist/dreadcabinet.cjs\",\n \"module\": \"dist/dreadcabinet.js\",\n \"type\": \"module\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/utilarium/dreadcabinet.git\"\n },\n \"homepage\": \"https://utilarium.github.io/dreadcabinet/\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/dreadcabinet.d.ts\",\n \"import\": \"./dist/dreadcabinet.js\",\n \"require\": \"./dist/dreadcabinet.cjs\"\n }\n },\n \"scripts\": {\n \"build\": \"npm run lint && tsc --noEmit && vite build\",\n \"start\": \"dist/main.js\",\n \"dev\": \"vite build --watch\",\n \"watch\": \"npm run dev\",\n \"test\": \"npm run test:coverage && npm run test:readme\",\n \"test:coverage\": \"vitest run --coverage\",\n \"test:readme\": \"doccident -c .markdown-doctest-setup.mjs README.md\",\n \"lint\": \"eslint . --ext .ts\",\n \"lint:fix\": \"eslint . --ext .ts --fix\",\n \"precommit\": \"npm run build && npm run test\",\n \"clean\": \"rm -rf dist\",\n \"prepublishOnly\": \"npm run clean && npm run build\"\n },\n \"keywords\": [\n \"focus\",\n \"productivity\",\n \"notes\",\n \"genai\"\n ],\n \"author\": \"Tim O'Brien <tobrien@discursive.com>\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@theunwalked/dreadcabinet\": \"^0.0.10\",\n \"commander\": \"^14.0.0\",\n \"dayjs\": \"^1.11.13\",\n \"glob\": \"^11.0.3\",\n \"zod\": \"^4.0.2\"\n },\n \"devDependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.27.1\",\n \"@babel/plugin-transform-typescript\": \"^7.28.0\",\n \"@babel/preset-typescript\": \"^7.27.1\",\n \"@doccident/doccident\": \"^0.0.7\",\n \"@eslint/eslintrc\": \"^3.3.1\",\n \"@eslint/js\": \"^9.30.1\",\n \"@rollup/plugin-replace\": \"^6.0.2\",\n \"@swc/core\": \"^1.12.11\",\n \"@theunwalked/cardigantime\": \"^0.0.16\",\n \"@types/node\": \"^24.0.12\",\n \"@typescript-eslint/eslint-plugin\": \"^8.36.0\",\n \"@typescript-eslint/parser\": \"^8.36.0\",\n \"@vitest/coverage-v8\": \"^3.2.4\",\n \"eslint\": \"^9.30.1\",\n \"eslint-plugin-import\": \"^2.32.0\",\n \"globals\": \"^16.3.0\",\n \"mockdate\": \"^3.0.5\",\n \"typescript\": \"^5.8.3\",\n \"vite\": \"^7.0.4\",\n \"vite-plugin-dts\": \"^4.5.4\",\n \"vite-plugin-node\": \"^7.0.0\",\n \"vitest\": \"^3.2.4\"\n },\n \"overrides\": {\n \"wrap-ansi\": \"7.0.0\"\n }\n}\n",
134
+ "name": "get_file_content"
135
+ },
136
+ {
137
+ "role": "tool",
138
+ "tool_call_id": "call_iph63Sbq7zIbkOcO8lW3C2JI",
139
+ "content": "# DreadCabinet\n\n> A powerful tool that brings order to your digital chaos, one file at a time!\n> Organize, rename, and transform your notes or files based on date, subject, and other metadata—all within your own CLI applications.\n\n## Features\n\n- **Date-based organization** – Place files into folders by year, month, or day (or no structure at all). \n- **Flexible filename generation** – Include date, time, and a subject in filenames. \n- **Recursion** – Process all subdirectories (or just the top level) as you prefer. \n- **Timezone support** – Convert file timestamps or metadata to a specific timezone for naming. \n- **Extension filtering** – Restrict processing to certain file types. \n- **No destructive operations** – Original files remain untouched; DreadCabinet only creates copies in a new directory structure.\n- **Concurrent processing** – Process multiple files in parallel for improved performance.\n\n## Installation\n\n```bash\nnpm install @theunwalked/dreadcabinet\n```\n\n*Or with other package managers:*\n\n```console\n# yarn\nyarn add @theunwalked/dreadcabinet\n```\n\n## Quick Start\n\nDreadCabinet is a library designed to be integrated into your own CLI tools. Here's a basic example:\n\n```javascript\nimport { Command } from 'commander';\nimport * as DreadCabinet from '@theunwalked/dreadcabinet';\n\n// Create a new instance with options\nconst instance = DreadCabinet.create({\n defaults: {\n timezone: 'America/New_York',\n extensions: ['md', 'txt'],\n outputStructure: 'month',\n outputDirectory: './dist',\n }\n});\n\n// Configure your command\nconst program = new Command();\nawait instance.configure(program);\n\n// Parse arguments and process\nprogram.parse(process.argv);\nconst cliArgs = program.opts();\nconst config = await instance.read(cliArgs);\nconst finalConfig = instance.applyDefaults(config);\nawait instance.validate(finalConfig);\n\n// Use the operator to process files\nconst operator = await instance.operate(finalConfig);\nawait operator.process(async (file) => {\n // Your file processing logic here\n});\n```\n\nOnce integrated, users can process files with commands like:\n\n```console\nmy-app \\\n --input-directory . \\\n --output-directory ./organized \\\n --output-structure month \\\n --extensions md\n```\n\n## Documentation\n\nFor complete documentation, including detailed configuration options, advanced usage examples, and integration guides, visit:\n\n**[📖 DreadCabinet Documentation](https://utilarium.github.io/dreadcabinet/)**\n\n### Quick Links\n\n- [Getting Started Guide](https://utilarium.github.io/dreadcabinet/#getting-started)\n- [CLI Options Reference](https://utilarium.github.io/dreadcabinet/#cli-options)\n- [Configuration Files](https://utilarium.github.io/dreadcabinet/#configuration-files)\n- [Advanced Usage](https://utilarium.github.io/dreadcabinet/#advanced-usage)\n- [API Reference](https://utilarium.github.io/dreadcabinet/#api-reference)\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](https://utilarium.github.io/dreadcabinet/#contributing) for details.\n\n## License\n\n[Apache-2.0](./LICENSE) © 2025 Tim O'Brien TEST\n",
140
+ "name": "get_file_content"
141
+ },
142
+ {
143
+ "role": "tool",
144
+ "tool_call_id": "call_Q6OCQbvLy9lGJ2QNLpc2zBoU",
145
+ "content": "No files found that import the specified files",
146
+ "name": "get_file_dependencies"
147
+ },
148
+ {
149
+ "role": "assistant",
150
+ "content": "RELEASE_NOTES:\n{\n \"title\": \"v0.0.12 — Stable publish (no functional changes)\",\n \"body\": \"## Summary\\nThis release promotes `0.0.12-dev.0` to the stable `0.0.12` publish. It does **not** introduce code or API changes; updates are limited to package metadata and documentation.\\n\\n## Changes\\n- **Release/versioning**\\n - Bumped package version from `0.0.11` → `0.0.12` in `package.json`.\\n - Updated the lockfile as part of the release/publish workflow.\\n- **Documentation**\\n - Updated the README license attribution line (appended `TEST`) and added a trailing newline.\\n\\n## Impact\\n- **Users:** No behavioral changes expected. Safe to upgrade.\\n - Upgrade: `npm i @theunwalked/dreadcabinet@0.0.12`\\n- **Developers:** No API changes; primarily a publish/version bump plus a README tweak.\\n\\n## Breaking changes\\n- None detected in this release range.\"\n}"
151
+ }
152
+ ]
153
+ ```
154
+
155
+ </details>
156
+
157
+ ## Generated Release Notes
158
+
159
+ ### Title
160
+ ```
161
+ v0.0.12 — Stable publish (no functional changes)
162
+ ```
163
+
164
+ ### Body
165
+ ```markdown
166
+ ## Summary
167
+ This release promotes `0.0.12-dev.0` to the stable `0.0.12` publish. It does **not** introduce code or API changes; updates are limited to package metadata and documentation.
168
+
169
+ ## Changes
170
+ - **Release/versioning**
171
+ - Bumped package version from `0.0.11` → `0.0.12` in `package.json`.
172
+ - Updated the lockfile as part of the release/publish workflow.
173
+ - **Documentation**
174
+ - Updated the README license attribution line (appended `TEST`) and added a trailing newline.
175
+
176
+ ## Impact
177
+ - **Users:** No behavioral changes expected. Safe to upgrade.
178
+ - Upgrade: `npm i @theunwalked/dreadcabinet@0.0.12`
179
+ - **Developers:** No API changes; primarily a publish/version bump plus a README tweak.
180
+
181
+ ## Breaking changes
182
+ - None detected in this release range.
183
+ ```