@prmichaelsen/remember-mcp 2.7.10 → 2.8.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 (76) hide show
  1. package/.env.example +6 -0
  2. package/AGENT.md +224 -21
  3. package/CHANGELOG.md +47 -912
  4. package/README.md +35 -0
  5. package/agent/commands/acp.command-create.md +373 -0
  6. package/agent/commands/acp.design-create.md +225 -0
  7. package/agent/commands/acp.init.md +40 -5
  8. package/agent/commands/acp.package-create.md +895 -0
  9. package/agent/commands/acp.package-info.md +212 -0
  10. package/agent/commands/acp.package-install.md +207 -33
  11. package/agent/commands/acp.package-list.md +280 -0
  12. package/agent/commands/acp.package-publish.md +541 -0
  13. package/agent/commands/acp.package-remove.md +293 -0
  14. package/agent/commands/acp.package-search.md +307 -0
  15. package/agent/commands/acp.package-update.md +361 -0
  16. package/agent/commands/acp.package-validate.md +540 -0
  17. package/agent/commands/acp.pattern-create.md +327 -0
  18. package/agent/commands/acp.plan.md +553 -0
  19. package/agent/commands/acp.proceed.md +112 -86
  20. package/agent/commands/acp.project-create.md +673 -0
  21. package/agent/commands/acp.project-list.md +225 -0
  22. package/agent/commands/acp.project-set.md +227 -0
  23. package/agent/commands/acp.report.md +3 -0
  24. package/agent/commands/acp.resume.md +238 -0
  25. package/agent/commands/acp.status.md +1 -0
  26. package/agent/commands/acp.sync.md +56 -15
  27. package/agent/commands/acp.task-create.md +391 -0
  28. package/agent/commands/acp.update.md +1 -0
  29. package/agent/commands/acp.validate.md +62 -10
  30. package/agent/commands/acp.version-check-for-updates.md +6 -5
  31. package/agent/commands/acp.version-check.md +7 -6
  32. package/agent/commands/acp.version-update.md +7 -6
  33. package/agent/commands/command.template.md +48 -0
  34. package/agent/commands/git.commit.md +6 -3
  35. package/agent/commands/git.init.md +1 -0
  36. package/agent/manifest.template.yaml +13 -0
  37. package/agent/package.template.yaml +53 -0
  38. package/agent/progress.template.yaml +3 -0
  39. package/agent/progress.yaml +103 -5
  40. package/agent/scripts/acp.common.sh +1536 -0
  41. package/agent/scripts/acp.install.sh +293 -0
  42. package/agent/scripts/acp.package-create.sh +925 -0
  43. package/agent/scripts/acp.package-info.sh +270 -0
  44. package/agent/scripts/acp.package-install.sh +675 -0
  45. package/agent/scripts/acp.package-list.sh +263 -0
  46. package/agent/scripts/acp.package-publish.sh +420 -0
  47. package/agent/scripts/acp.package-remove.sh +272 -0
  48. package/agent/scripts/acp.package-search.sh +156 -0
  49. package/agent/scripts/acp.package-update.sh +438 -0
  50. package/agent/scripts/acp.package-validate.sh +954 -0
  51. package/agent/scripts/acp.project-list.sh +121 -0
  52. package/agent/scripts/acp.project-set.sh +138 -0
  53. package/agent/scripts/{uninstall.sh → acp.uninstall.sh} +25 -15
  54. package/agent/scripts/{check-for-updates.sh → acp.version-check-for-updates.sh} +24 -14
  55. package/agent/scripts/{version.sh → acp.version-check.sh} +20 -8
  56. package/agent/scripts/{update.sh → acp.version-update.sh} +44 -25
  57. package/agent/scripts/acp.yaml-parser.sh +853 -0
  58. package/agent/scripts/acp.yaml-validate.sh +205 -0
  59. package/agent/tasks/task-68-fix-missing-space-properties.md +192 -0
  60. package/agent/tasks/task-69-add-comprehensive-tool-debugging.md +454 -0
  61. package/dist/config.d.ts +18 -0
  62. package/dist/server-factory.js +296 -19
  63. package/dist/server.js +296 -19
  64. package/dist/utils/debug.d.ts +52 -0
  65. package/dist/utils/debug.spec.d.ts +5 -0
  66. package/dist/weaviate/client.d.ts +1 -1
  67. package/package.json +1 -1
  68. package/src/config.ts +33 -0
  69. package/src/tools/confirm.ts +70 -7
  70. package/src/tools/publish.ts +19 -1
  71. package/src/tools/query-space.ts +36 -3
  72. package/src/tools/search-space.ts +36 -3
  73. package/src/utils/debug.spec.ts +257 -0
  74. package/src/utils/debug.ts +138 -0
  75. package/src/weaviate/client.ts +42 -3
  76. package/agent/scripts/install.sh +0 -157
@@ -0,0 +1,270 @@
1
+ #!/bin/bash
2
+
3
+ # Agent Context Protocol (ACP) Package Info Script
4
+ # Shows detailed information about an installed package
5
+
6
+ set -e
7
+
8
+ # Source common utilities
9
+ SCRIPT_DIR="$(dirname "$0")"
10
+ . "${SCRIPT_DIR}/acp.common.sh"
11
+
12
+ # Initialize colors
13
+ init_colors
14
+
15
+ # Parse arguments
16
+ GLOBAL_MODE=false
17
+ PACKAGE_NAME=""
18
+
19
+ while [[ $# -gt 0 ]]; do
20
+ case $1 in
21
+ --global|-g)
22
+ GLOBAL_MODE=true
23
+ shift
24
+ ;;
25
+ *)
26
+ PACKAGE_NAME="$1"
27
+ shift
28
+ ;;
29
+ esac
30
+ done
31
+
32
+ if [ -z "$PACKAGE_NAME" ]; then
33
+ echo "${RED}Error: Package name required${NC}"
34
+ echo "Usage: $0 [--global] <package-name>"
35
+ echo ""
36
+ echo "Example: $0 firebase"
37
+ echo "Example: $0 --global firebase"
38
+ echo ""
39
+ echo "To see installed packages: ./agent/scripts/acp.package-list.sh [--global]"
40
+ exit 1
41
+ fi
42
+
43
+ # Determine manifest file based on mode
44
+ if [ "$GLOBAL_MODE" = true ]; then
45
+ MANIFEST_FILE="$HOME/.acp/manifest.yaml"
46
+ echo "${BLUE}📦 Global Package Information:${NC}"
47
+ else
48
+ MANIFEST_FILE="./agent/manifest.yaml"
49
+ echo "${BLUE}📦 Package Information:${NC}"
50
+ fi
51
+ echo ""
52
+
53
+ # Check if manifest exists
54
+ if [ ! -f "$MANIFEST_FILE" ]; then
55
+ if [ "$GLOBAL_MODE" = true ]; then
56
+ die "No global manifest found. No global packages installed."
57
+ else
58
+ die "No manifest found. No packages installed."
59
+ fi
60
+ fi
61
+
62
+ # Source YAML parser
63
+ source_yaml_parser
64
+
65
+ # Check if package is installed
66
+ if ! package_exists "$PACKAGE_NAME" "$MANIFEST_FILE"; then
67
+ die "Package not installed: $PACKAGE_NAME"
68
+ fi
69
+
70
+ # Get package metadata
71
+ version=$(awk -v pkg="$PACKAGE_NAME" '
72
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
73
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
74
+ in_pkg && /^ package_version:/ { print $2; exit }
75
+ ' "$MANIFEST_FILE")
76
+
77
+ source_url=$(awk -v pkg="$PACKAGE_NAME" '
78
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
79
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
80
+ in_pkg && /^ source:/ { print $2; exit }
81
+ ' "$MANIFEST_FILE")
82
+
83
+ commit_hash=$(awk -v pkg="$PACKAGE_NAME" '
84
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
85
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
86
+ in_pkg && /^ commit:/ { print $2; exit }
87
+ ' "$MANIFEST_FILE")
88
+
89
+ installed_at=$(awk -v pkg="$PACKAGE_NAME" '
90
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
91
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
92
+ in_pkg && /^ installed_at:/ { print $2; exit }
93
+ ' "$MANIFEST_FILE")
94
+
95
+ updated_at=$(awk -v pkg="$PACKAGE_NAME" '
96
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
97
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
98
+ in_pkg && /^ updated_at:/ { print $2; exit }
99
+ ' "$MANIFEST_FILE")
100
+
101
+ # Get location for global packages
102
+ location=""
103
+ if [ "$GLOBAL_MODE" = true ]; then
104
+ location=$(awk -v pkg="$PACKAGE_NAME" '
105
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
106
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
107
+ in_pkg && /^ location:/ { print $2; exit }
108
+ ' "$MANIFEST_FILE")
109
+ fi
110
+
111
+ # Display header
112
+ echo "${BLUE}📦 $PACKAGE_NAME${NC} (${GREEN}$version${NC})"
113
+ echo ""
114
+ if [ "$GLOBAL_MODE" = true ] && [ -n "$location" ]; then
115
+ echo "${BLUE}Location:${NC} $location"
116
+ fi
117
+ echo "${BLUE}Source:${NC} $source_url"
118
+ echo "${BLUE}Commit:${NC} $commit_hash"
119
+ echo "${BLUE}Installed:${NC} $installed_at"
120
+ if [ "$installed_at" != "$updated_at" ]; then
121
+ echo "${BLUE}Updated:${NC} $updated_at"
122
+ fi
123
+ echo ""
124
+
125
+ # Get installed files by type
126
+ patterns_files=$(awk -v pkg="$PACKAGE_NAME" '
127
+ BEGIN { in_pkg=0; in_patterns=0 }
128
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
129
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
130
+ in_pkg && /^ patterns:/ { in_patterns=1; next }
131
+ in_patterns && /^ [a-z]/ { in_patterns=0 }
132
+ in_patterns && /^ - name:/ { print $3 }
133
+ ' "$MANIFEST_FILE")
134
+
135
+ commands_files=$(awk -v pkg="$PACKAGE_NAME" '
136
+ BEGIN { in_pkg=0; in_commands=0 }
137
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
138
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
139
+ in_pkg && /^ commands:/ { in_commands=1; next }
140
+ in_commands && /^ [a-z]/ { in_commands=0 }
141
+ in_commands && /^ - name:/ { print $3 }
142
+ ' "$MANIFEST_FILE")
143
+
144
+ designs_files=$(awk -v pkg="$PACKAGE_NAME" '
145
+ BEGIN { in_pkg=0; in_designs=0 }
146
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
147
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
148
+ in_pkg && /^ designs:/ { in_designs=1; next }
149
+ in_designs && /^ [a-z]/ { in_designs=0 }
150
+ in_designs && /^ - name:/ { print $3 }
151
+ ' "$MANIFEST_FILE")
152
+
153
+ # Count files
154
+ patterns_count=$(echo "$patterns_files" | grep -c . || echo 0)
155
+ commands_count=$(echo "$commands_files" | grep -c . || echo 0)
156
+ designs_count=$(echo "$designs_files" | grep -c . || echo 0)
157
+ total_files=$((patterns_count + commands_count + designs_count))
158
+
159
+ echo "${BLUE}Contents:${NC}"
160
+ echo ""
161
+
162
+ # Display patterns
163
+ if [ "$patterns_count" -gt 0 ]; then
164
+ echo " ${GREEN}Patterns ($patterns_count):${NC}"
165
+ for file in $patterns_files; do
166
+ file_version=$(awk -v pkg="$PACKAGE_NAME" -v name="$file" '
167
+ BEGIN { in_pkg=0; in_patterns=0; in_file=0 }
168
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
169
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
170
+ in_pkg && /^ patterns:/ { in_patterns=1; next }
171
+ in_patterns && /^ [a-z]/ { in_patterns=0 }
172
+ in_patterns && /^ - name:/ {
173
+ if ($3 == name) { in_file=1 }
174
+ else { in_file=0 }
175
+ next
176
+ }
177
+ in_file && /^ version:/ { print $2; exit }
178
+ ' "$MANIFEST_FILE")
179
+
180
+ # Check if modified
181
+ if is_file_modified "$PACKAGE_NAME" "patterns" "$file"; then
182
+ echo " - $file (v$file_version) ${YELLOW}[MODIFIED]${NC}"
183
+ else
184
+ echo " - $file (v$file_version)"
185
+ fi
186
+ done
187
+ echo ""
188
+ fi
189
+
190
+ # Display commands
191
+ if [ "$commands_count" -gt 0 ]; then
192
+ echo " ${GREEN}Commands ($commands_count):${NC}"
193
+ for file in $commands_files; do
194
+ file_version=$(awk -v pkg="$PACKAGE_NAME" -v name="$file" '
195
+ BEGIN { in_pkg=0; in_commands=0; in_file=0 }
196
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
197
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
198
+ in_pkg && /^ commands:/ { in_commands=1; next }
199
+ in_commands && /^ [a-z]/ { in_commands=0 }
200
+ in_commands && /^ - name:/ {
201
+ if ($3 == name) { in_file=1 }
202
+ else { in_file=0 }
203
+ next
204
+ }
205
+ in_file && /^ version:/ { print $2; exit }
206
+ ' "$MANIFEST_FILE")
207
+
208
+ # Check if modified
209
+ if is_file_modified "$PACKAGE_NAME" "commands" "$file"; then
210
+ echo " - $file (v$file_version) ${YELLOW}[MODIFIED]${NC}"
211
+ else
212
+ echo " - $file (v$file_version)"
213
+ fi
214
+ done
215
+ echo ""
216
+ fi
217
+
218
+ # Display designs
219
+ if [ "$designs_count" -gt 0 ]; then
220
+ echo " ${GREEN}Designs ($designs_count):${NC}"
221
+ for file in $designs_files; do
222
+ file_version=$(awk -v pkg="$PACKAGE_NAME" -v name="$file" '
223
+ BEGIN { in_pkg=0; in_designs=0; in_file=0 }
224
+ $0 ~ "^ " pkg ":" { in_pkg=1; next }
225
+ in_pkg && /^ [a-z]/ { in_pkg=0 }
226
+ in_pkg && /^ designs:/ { in_designs=1; next }
227
+ in_designs && /^ [a-z]/ { in_designs=0 }
228
+ in_designs && /^ - name:/ {
229
+ if ($3 == name) { in_file=1 }
230
+ else { in_file=0 }
231
+ next
232
+ }
233
+ in_file && /^ version:/ { print $2; exit }
234
+ ' "$MANIFEST_FILE")
235
+
236
+ # Check if modified
237
+ if is_file_modified "$PACKAGE_NAME" "design" "$file"; then
238
+ echo " - $file (v$file_version) ${YELLOW}[MODIFIED]${NC}"
239
+ else
240
+ echo " - $file (v$file_version)"
241
+ fi
242
+ done
243
+ echo ""
244
+ fi
245
+
246
+ # Count modified files
247
+ modified_count=0
248
+ for file in $patterns_files; do
249
+ if is_file_modified "$PACKAGE_NAME" "patterns" "$file"; then
250
+ ((modified_count++))
251
+ fi
252
+ done
253
+ for file in $commands_files; do
254
+ if is_file_modified "$PACKAGE_NAME" "commands" "$file"; then
255
+ ((modified_count++))
256
+ fi
257
+ done
258
+ for file in $designs_files; do
259
+ if is_file_modified "$PACKAGE_NAME" "design" "$file"; then
260
+ ((modified_count++))
261
+ fi
262
+ done
263
+
264
+ if [ $modified_count -gt 0 ]; then
265
+ echo "${YELLOW}Modified Files: $modified_count${NC}"
266
+ echo ""
267
+ fi
268
+
269
+ echo "Total Files: $total_files"
270
+ echo ""