@troykelly/openclaw-projects 0.0.1

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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +389 -0
  3. package/dist/api-client.d.ts +81 -0
  4. package/dist/api-client.d.ts.map +1 -0
  5. package/dist/api-client.js +216 -0
  6. package/dist/api-client.js.map +1 -0
  7. package/dist/cli.d.ts +112 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +233 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/config.d.ts +324 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +287 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/context.d.ts +87 -0
  16. package/dist/context.d.ts.map +1 -0
  17. package/dist/context.js +144 -0
  18. package/dist/context.js.map +1 -0
  19. package/dist/gateway/rpc-methods.d.ts +93 -0
  20. package/dist/gateway/rpc-methods.d.ts.map +1 -0
  21. package/dist/gateway/rpc-methods.js +145 -0
  22. package/dist/gateway/rpc-methods.js.map +1 -0
  23. package/dist/hooks.d.ts +86 -0
  24. package/dist/hooks.d.ts.map +1 -0
  25. package/dist/hooks.js +314 -0
  26. package/dist/hooks.js.map +1 -0
  27. package/dist/index.d.ts +106 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +221 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/logger.d.ts +22 -0
  32. package/dist/logger.d.ts.map +1 -0
  33. package/dist/logger.js +78 -0
  34. package/dist/logger.js.map +1 -0
  35. package/dist/register-openclaw.d.ts +43 -0
  36. package/dist/register-openclaw.d.ts.map +1 -0
  37. package/dist/register-openclaw.js +1838 -0
  38. package/dist/register-openclaw.js.map +1 -0
  39. package/dist/secrets.d.ts +56 -0
  40. package/dist/secrets.d.ts.map +1 -0
  41. package/dist/secrets.js +161 -0
  42. package/dist/secrets.js.map +1 -0
  43. package/dist/services/notification-service.d.ts +60 -0
  44. package/dist/services/notification-service.d.ts.map +1 -0
  45. package/dist/services/notification-service.js +145 -0
  46. package/dist/services/notification-service.js.map +1 -0
  47. package/dist/tools/contacts.d.ts +139 -0
  48. package/dist/tools/contacts.d.ts.map +1 -0
  49. package/dist/tools/contacts.js +333 -0
  50. package/dist/tools/contacts.js.map +1 -0
  51. package/dist/tools/email-send.d.ts +71 -0
  52. package/dist/tools/email-send.d.ts.map +1 -0
  53. package/dist/tools/email-send.js +132 -0
  54. package/dist/tools/email-send.js.map +1 -0
  55. package/dist/tools/file-share.d.ts +64 -0
  56. package/dist/tools/file-share.d.ts.map +1 -0
  57. package/dist/tools/file-share.js +133 -0
  58. package/dist/tools/file-share.js.map +1 -0
  59. package/dist/tools/index.d.ts +22 -0
  60. package/dist/tools/index.d.ts.map +1 -0
  61. package/dist/tools/index.js +33 -0
  62. package/dist/tools/index.js.map +1 -0
  63. package/dist/tools/memory-forget.d.ts +69 -0
  64. package/dist/tools/memory-forget.d.ts.map +1 -0
  65. package/dist/tools/memory-forget.js +224 -0
  66. package/dist/tools/memory-forget.js.map +1 -0
  67. package/dist/tools/memory-recall.d.ts +82 -0
  68. package/dist/tools/memory-recall.d.ts.map +1 -0
  69. package/dist/tools/memory-recall.js +161 -0
  70. package/dist/tools/memory-recall.js.map +1 -0
  71. package/dist/tools/memory-store.d.ts +80 -0
  72. package/dist/tools/memory-store.d.ts.map +1 -0
  73. package/dist/tools/memory-store.js +172 -0
  74. package/dist/tools/memory-store.js.map +1 -0
  75. package/dist/tools/message-search.d.ts +85 -0
  76. package/dist/tools/message-search.d.ts.map +1 -0
  77. package/dist/tools/message-search.js +137 -0
  78. package/dist/tools/message-search.js.map +1 -0
  79. package/dist/tools/notebooks.d.ts +155 -0
  80. package/dist/tools/notebooks.d.ts.map +1 -0
  81. package/dist/tools/notebooks.js +287 -0
  82. package/dist/tools/notebooks.js.map +1 -0
  83. package/dist/tools/notes.d.ts +272 -0
  84. package/dist/tools/notes.d.ts.map +1 -0
  85. package/dist/tools/notes.js +530 -0
  86. package/dist/tools/notes.js.map +1 -0
  87. package/dist/tools/projects.d.ts +139 -0
  88. package/dist/tools/projects.d.ts.map +1 -0
  89. package/dist/tools/projects.js +280 -0
  90. package/dist/tools/projects.js.map +1 -0
  91. package/dist/tools/relationships.d.ts +133 -0
  92. package/dist/tools/relationships.d.ts.map +1 -0
  93. package/dist/tools/relationships.js +281 -0
  94. package/dist/tools/relationships.js.map +1 -0
  95. package/dist/tools/sms-send.d.ts +62 -0
  96. package/dist/tools/sms-send.d.ts.map +1 -0
  97. package/dist/tools/sms-send.js +121 -0
  98. package/dist/tools/sms-send.js.map +1 -0
  99. package/dist/tools/threads.d.ts +127 -0
  100. package/dist/tools/threads.d.ts.map +1 -0
  101. package/dist/tools/threads.js +202 -0
  102. package/dist/tools/threads.js.map +1 -0
  103. package/dist/tools/todos.d.ts +142 -0
  104. package/dist/tools/todos.d.ts.map +1 -0
  105. package/dist/tools/todos.js +308 -0
  106. package/dist/tools/todos.js.map +1 -0
  107. package/dist/types/openclaw-api.d.ts +215 -0
  108. package/dist/types/openclaw-api.d.ts.map +1 -0
  109. package/dist/types/openclaw-api.js +10 -0
  110. package/dist/types/openclaw-api.js.map +1 -0
  111. package/dist/utils/zod-to-json-schema.d.ts +19 -0
  112. package/dist/utils/zod-to-json-schema.d.ts.map +1 -0
  113. package/dist/utils/zod-to-json-schema.js +132 -0
  114. package/dist/utils/zod-to-json-schema.js.map +1 -0
  115. package/openclaw.plugin.json +229 -0
  116. package/package.json +69 -0
  117. package/skills/contact-lookup/SKILL.md +30 -0
  118. package/skills/daily-summary/SKILL.md +23 -0
  119. package/skills/project-status/SKILL.md +33 -0
  120. package/skills/send-reminder/SKILL.md +42 -0
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@troykelly/openclaw-projects",
3
+ "version": "0.0.1",
4
+ "description": "OpenClaw memory plugin with projects, todos, and contacts integration",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ },
13
+ "./register": {
14
+ "types": "./dist/register-openclaw.d.ts",
15
+ "import": "./dist/register-openclaw.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "openclaw.plugin.json",
21
+ "skills"
22
+ ],
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/troykelly/openclaw-projects.git",
26
+ "directory": "packages/openclaw-plugin"
27
+ },
28
+ "bugs": {
29
+ "url": "https://github.com/troykelly/openclaw-projects/issues"
30
+ },
31
+ "homepage": "https://github.com/troykelly/openclaw-projects/tree/main/packages/openclaw-plugin#readme",
32
+ "keywords": [
33
+ "openclaw",
34
+ "plugin",
35
+ "memory",
36
+ "projects",
37
+ "todos",
38
+ "contacts"
39
+ ],
40
+ "author": "Troy Kelly",
41
+ "license": "MIT",
42
+ "dependencies": {
43
+ "zod": "^3.24.0"
44
+ },
45
+ "peerDependencies": {
46
+ "openclaw": "*"
47
+ },
48
+ "peerDependenciesMeta": {
49
+ "openclaw": {
50
+ "optional": true
51
+ }
52
+ },
53
+ "devDependencies": {
54
+ "@types/node": "^22.0.0",
55
+ "typescript": "^5.0.0",
56
+ "vitest": "^4.0.0"
57
+ },
58
+ "engines": {
59
+ "node": ">=20.0.0"
60
+ },
61
+ "scripts": {
62
+ "build": "tsc",
63
+ "clean": "rm -rf dist",
64
+ "test": "vitest run",
65
+ "test:watch": "vitest",
66
+ "typecheck": "tsc --noEmit",
67
+ "lint": "echo 'lint placeholder'"
68
+ }
69
+ }
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: contact-lookup
3
+ description: Look up contact information and recent communications
4
+ args:
5
+ - name: name
6
+ description: Contact name to search for
7
+ required: true
8
+ ---
9
+
10
+ Search for contact "{{name}}" and show:
11
+
12
+ 1. **Contact Details**
13
+ - Use `contact_search` to find matching contacts
14
+ - Use `contact_get` to retrieve full details (name, email, phone, notes)
15
+ - If multiple matches found, list them and ask for clarification
16
+
17
+ 2. **Recent Communications**
18
+ - Use `message_search` with the contact ID to find recent messages
19
+ - Show the last few messages exchanged (both sent and received)
20
+ - Note the channels used (SMS, email)
21
+
22
+ 3. **Related Projects and Tasks**
23
+ - Check if there are any todos or projects associated with this contact
24
+ - Use `todo_list` and `project_list` to find related items
25
+
26
+ 4. **Stored Memories**
27
+ - Use `memory_recall` with the contact's name to find relevant memories
28
+ - Show any stored preferences, facts, or context about this person
29
+
30
+ Present the information in a clear, organized format to help understand the full context of this contact relationship.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: daily-summary
3
+ description: Get a summary of today's tasks, messages, and activities
4
+ ---
5
+
6
+ Please provide a summary of my day including:
7
+
8
+ 1. **Tasks due today or overdue**
9
+ - Use `todo_list` with status filter to find pending items
10
+ - Highlight any items past their due date
11
+
12
+ 2. **Recent messages received**
13
+ - Use `message_search` to find today's messages
14
+ - Summarize key communications
15
+
16
+ 3. **Upcoming deadlines this week**
17
+ - Use `todo_list` to identify tasks with near-term due dates
18
+
19
+ 4. **Items requiring my attention**
20
+ - Note any urgent or high-priority tasks
21
+ - Flag any unanswered messages
22
+
23
+ Use the available tools to gather this information and present it in a clear, actionable format.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: project-status
3
+ description: Get status overview of a specific project
4
+ args:
5
+ - name: project
6
+ description: Project name or ID
7
+ required: true
8
+ ---
9
+
10
+ Please provide a status report for project "{{project}}" including:
11
+
12
+ 1. **Project Overview**
13
+ - Use `project_list` to find the project by name, or `project_get` if ID is provided
14
+ - Show project name, status, and description
15
+
16
+ 2. **Task Breakdown**
17
+ - Use `todo_list` with the project ID to get all tasks
18
+ - Count tasks by status (pending, in progress, completed)
19
+ - Calculate overall completion percentage
20
+
21
+ 3. **Recent Activity**
22
+ - List recently completed tasks
23
+ - Show tasks currently in progress
24
+
25
+ 4. **Blockers and Risks**
26
+ - Identify any overdue tasks
27
+ - Note any high-priority pending items
28
+
29
+ 5. **Next Steps**
30
+ - Recommend the next tasks to focus on
31
+ - Suggest any follow-up actions needed
32
+
33
+ Present the report in a clear, organized format suitable for stakeholder updates.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: send-reminder
3
+ description: Send a reminder message to a contact
4
+ args:
5
+ - name: contact
6
+ description: Contact name or phone/email
7
+ required: true
8
+ - name: message
9
+ description: Reminder message content
10
+ required: true
11
+ - name: channel
12
+ description: Channel to use (sms or email)
13
+ default: sms
14
+ ---
15
+
16
+ Send a reminder to {{contact}} via {{channel}}:
17
+
18
+ **Message:** {{message}}
19
+
20
+ ## Steps:
21
+
22
+ 1. **Look up the contact**
23
+ - Use `contact_search` to find the contact by name
24
+ - If phone/email provided directly, verify the format
25
+
26
+ 2. **Verify their {{channel}} endpoint**
27
+ - For SMS: Ensure they have a valid phone number in E.164 format
28
+ - For Email: Ensure they have a valid email address
29
+ - If the preferred channel isn't available, suggest an alternative
30
+
31
+ 3. **Send the message**
32
+ - For SMS: Use `sms_send` with the phone number and message
33
+ - For Email: Use `email_send` with appropriate subject line
34
+
35
+ 4. **Confirm delivery**
36
+ - Report the message status (queued, sent, etc.)
37
+ - Store a memory of this communication if appropriate
38
+
39
+ ## Important Notes:
40
+ - Always confirm before sending to prevent accidental messages
41
+ - For email, generate an appropriate subject line based on the message content
42
+ - Be mindful of message length limits (1600 chars for SMS)