openclawdreams 1.2.3 → 1.3.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 (99) hide show
  1. package/.claude/worktrees/agent-afbdc8b5/.claude/settings.local.json +9 -0
  2. package/.claude/worktrees/agent-afbdc8b5/.env.example +14 -0
  3. package/.claude/worktrees/agent-afbdc8b5/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
  4. package/.claude/worktrees/agent-afbdc8b5/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  5. package/.claude/worktrees/agent-afbdc8b5/.github/dependabot.yml +17 -0
  6. package/.claude/worktrees/agent-afbdc8b5/.github/pull_request_template.md +19 -0
  7. package/.claude/worktrees/agent-afbdc8b5/.github/workflows/build.yml +30 -0
  8. package/.claude/worktrees/agent-afbdc8b5/.github/workflows/claude-code-review.yml +43 -0
  9. package/.claude/worktrees/agent-afbdc8b5/.github/workflows/claude.yml +50 -0
  10. package/.claude/worktrees/agent-afbdc8b5/.github/workflows/release.yml +110 -0
  11. package/.claude/worktrees/agent-afbdc8b5/.prettierignore +4 -0
  12. package/.claude/worktrees/agent-afbdc8b5/.prettierrc +7 -0
  13. package/.claude/worktrees/agent-afbdc8b5/.versionrc.json +26 -0
  14. package/.claude/worktrees/agent-afbdc8b5/AGENTS.md +286 -0
  15. package/.claude/worktrees/agent-afbdc8b5/CHANGELOG.md +288 -0
  16. package/.claude/worktrees/agent-afbdc8b5/CODE_OF_CONDUCT.md +41 -0
  17. package/.claude/worktrees/agent-afbdc8b5/CONTRIBUTING.md +95 -0
  18. package/.claude/worktrees/agent-afbdc8b5/LICENSE +21 -0
  19. package/.claude/worktrees/agent-afbdc8b5/README.md +396 -0
  20. package/.claude/worktrees/agent-afbdc8b5/SECURITY.md +39 -0
  21. package/.claude/worktrees/agent-afbdc8b5/bin/openclawdreams.ts +5 -0
  22. package/.claude/worktrees/agent-afbdc8b5/docs/screenshots/dream.png +0 -0
  23. package/.claude/worktrees/agent-afbdc8b5/docs/screenshots/post.png +0 -0
  24. package/.claude/worktrees/agent-afbdc8b5/docs/screenshots/reflect.png +0 -0
  25. package/.claude/worktrees/agent-afbdc8b5/docs/screenshots/status.png +0 -0
  26. package/.claude/worktrees/agent-afbdc8b5/eslint.config.js +35 -0
  27. package/.claude/worktrees/agent-afbdc8b5/openclaw.plugin.json +62 -0
  28. package/.claude/worktrees/agent-afbdc8b5/package-lock.json +14659 -0
  29. package/.claude/worktrees/agent-afbdc8b5/package.json +72 -0
  30. package/.claude/worktrees/agent-afbdc8b5/skills/openclawdreams.skill.md +69 -0
  31. package/.claude/worktrees/agent-afbdc8b5/skills/setup-guide/SKILL.md +303 -0
  32. package/.claude/worktrees/agent-afbdc8b5/src/budget.ts +104 -0
  33. package/.claude/worktrees/agent-afbdc8b5/src/cli.ts +361 -0
  34. package/.claude/worktrees/agent-afbdc8b5/src/config.ts +141 -0
  35. package/.claude/worktrees/agent-afbdc8b5/src/crypto.ts +82 -0
  36. package/.claude/worktrees/agent-afbdc8b5/src/dreamer.ts +344 -0
  37. package/.claude/worktrees/agent-afbdc8b5/src/filter.ts +146 -0
  38. package/.claude/worktrees/agent-afbdc8b5/src/identity.ts +92 -0
  39. package/.claude/worktrees/agent-afbdc8b5/src/index.ts +559 -0
  40. package/.claude/worktrees/agent-afbdc8b5/src/llm.ts +61 -0
  41. package/.claude/worktrees/agent-afbdc8b5/src/logger.ts +46 -0
  42. package/.claude/worktrees/agent-afbdc8b5/src/memory.ts +276 -0
  43. package/.claude/worktrees/agent-afbdc8b5/src/moltbook-search.ts +116 -0
  44. package/.claude/worktrees/agent-afbdc8b5/src/moltbook.ts +235 -0
  45. package/.claude/worktrees/agent-afbdc8b5/src/notify.ts +124 -0
  46. package/.claude/worktrees/agent-afbdc8b5/src/persona.ts +204 -0
  47. package/.claude/worktrees/agent-afbdc8b5/src/reflection.ts +150 -0
  48. package/.claude/worktrees/agent-afbdc8b5/src/state.ts +44 -0
  49. package/.claude/worktrees/agent-afbdc8b5/src/synthesis.ts +157 -0
  50. package/.claude/worktrees/agent-afbdc8b5/src/topics.ts +103 -0
  51. package/.claude/worktrees/agent-afbdc8b5/src/types.ts +205 -0
  52. package/.claude/worktrees/agent-afbdc8b5/src/waking.ts +199 -0
  53. package/.claude/worktrees/agent-afbdc8b5/src/web-search.ts +88 -0
  54. package/.claude/worktrees/agent-afbdc8b5/test/budget.test.ts +316 -0
  55. package/.claude/worktrees/agent-afbdc8b5/test/crypto.test.ts +112 -0
  56. package/.claude/worktrees/agent-afbdc8b5/test/dreamer.test.ts +95 -0
  57. package/.claude/worktrees/agent-afbdc8b5/test/filter.test.ts +115 -0
  58. package/.claude/worktrees/agent-afbdc8b5/test/memory.test.ts +182 -0
  59. package/.claude/worktrees/agent-afbdc8b5/test/moltbook.test.ts +209 -0
  60. package/.claude/worktrees/agent-afbdc8b5/test/persona.test.ts +59 -0
  61. package/.claude/worktrees/agent-afbdc8b5/test/reflection.test.ts +71 -0
  62. package/.claude/worktrees/agent-afbdc8b5/test/state.test.ts +57 -0
  63. package/.claude/worktrees/agent-afbdc8b5/test/waking.test.ts +214 -0
  64. package/.claude/worktrees/agent-afbdc8b5/tsconfig.json +20 -0
  65. package/CHANGELOG.md +26 -0
  66. package/README.md +0 -4
  67. package/dist/src/config.d.ts +1 -0
  68. package/dist/src/config.d.ts.map +1 -1
  69. package/dist/src/config.js +1 -0
  70. package/dist/src/config.js.map +1 -1
  71. package/dist/src/dreamer.d.ts.map +1 -1
  72. package/dist/src/dreamer.js +43 -5
  73. package/dist/src/dreamer.js.map +1 -1
  74. package/dist/src/index.d.ts.map +1 -1
  75. package/dist/src/index.js +71 -11
  76. package/dist/src/index.js.map +1 -1
  77. package/dist/src/memory.d.ts.map +1 -1
  78. package/dist/src/memory.js +4 -1
  79. package/dist/src/memory.js.map +1 -1
  80. package/dist/src/notify.d.ts +2 -2
  81. package/dist/src/notify.d.ts.map +1 -1
  82. package/dist/src/notify.js +35 -24
  83. package/dist/src/notify.js.map +1 -1
  84. package/dist/src/persona.d.ts +4 -3
  85. package/dist/src/persona.d.ts.map +1 -1
  86. package/dist/src/persona.js +21 -3
  87. package/dist/src/persona.js.map +1 -1
  88. package/dist/src/types.d.ts +14 -1
  89. package/dist/src/types.d.ts.map +1 -1
  90. package/openclaw.plugin.json +1 -1
  91. package/package.json +1 -1
  92. package/src/config.ts +1 -0
  93. package/src/dreamer.ts +54 -4
  94. package/src/index.ts +94 -13
  95. package/src/memory.ts +5 -1
  96. package/src/notify.ts +37 -26
  97. package/src/persona.ts +22 -3
  98. package/src/types.ts +12 -1
  99. package/ROADMAP.md +0 -121
@@ -0,0 +1,9 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(git status:*)",
5
+ "Bash(mv:*)",
6
+ "Bash(git push:*)"
7
+ ]
8
+ }
9
+ }
@@ -0,0 +1,14 @@
1
+ # Agent identity
2
+ AGENT_NAME=ElectricSheep
3
+ AGENT_MODEL=claude-sonnet-4-5-20250929
4
+
5
+ # Dream cycle encryption key (auto-generated on first run)
6
+ # DO NOT give this to the waking agent process
7
+ DREAM_ENCRYPTION_KEY=
8
+
9
+ # Daily token budget kill switch (0 to disable)
10
+ # Default 800000 ≈ $20/day at Opus 4.5 output pricing ($25/1M tokens)
11
+ MAX_DAILY_TOKENS=800000
12
+
13
+ # Optional: override data directory (defaults to ./data)
14
+ ELECTRICSHEEP_DATA_DIR=
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Report something that isn't working correctly
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+ ---
8
+
9
+ **Describe the bug**
10
+ A clear description of what's wrong.
11
+
12
+ **To reproduce**
13
+ Steps to reproduce:
14
+ 1. Run `...`
15
+ 2. See error
16
+
17
+ **Expected behavior**
18
+ What you expected to happen.
19
+
20
+ **Environment**
21
+ - Node.js version:
22
+ - OS:
23
+ - Running as: standalone CLI / OpenClaw extension
24
+ - OpenClaw version (if applicable):
25
+
26
+ **Logs**
27
+ Paste relevant output or attach `data/openclawdreams.log`.
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest an idea or improvement
4
+ title: ''
5
+ labels: enhancement
6
+ assignees: ''
7
+ ---
8
+
9
+ **What problem does this solve?**
10
+ A clear description of the problem or gap.
11
+
12
+ **Proposed solution**
13
+ How you'd like it to work.
14
+
15
+ **Alternatives considered**
16
+ Other approaches you've thought about.
17
+
18
+ **Additional context**
19
+ Anything else — screenshots, links, related issues.
@@ -0,0 +1,17 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: npm
4
+ directory: /
5
+ schedule:
6
+ interval: weekly
7
+ open-pull-requests-limit: 10
8
+ groups:
9
+ dev-dependencies:
10
+ dependency-type: development
11
+ production-dependencies:
12
+ dependency-type: production
13
+
14
+ - package-ecosystem: github-actions
15
+ directory: /
16
+ schedule:
17
+ interval: weekly
@@ -0,0 +1,19 @@
1
+ ## What does this PR do?
2
+
3
+ Brief description of the change.
4
+
5
+ ## Why?
6
+
7
+ Context on motivation — link to issue if applicable.
8
+
9
+ ## How to test
10
+
11
+ Steps to verify this works:
12
+ 1. `npm run build`
13
+ 2. ...
14
+
15
+ ## Checklist
16
+
17
+ - [ ] `npm run build` passes
18
+ - [ ] Tested manually via CLI or OpenClaw
19
+ - [ ] Updated docs if behavior changed
@@ -0,0 +1,30 @@
1
+ name: Build
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+
13
+ strategy:
14
+ matrix:
15
+ node-version: [24]
16
+
17
+ steps:
18
+ - uses: actions/checkout@v6
19
+
20
+ - name: Use Node.js ${{ matrix.node-version }}
21
+ uses: actions/setup-node@v6
22
+ with:
23
+ node-version: ${{ matrix.node-version }}
24
+ cache: npm
25
+
26
+ - run: npm ci
27
+ - run: npm run build
28
+ - run: npm run lint
29
+ - run: npm run format:check
30
+ - run: npm test
@@ -0,0 +1,43 @@
1
+ name: Claude Code Review
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, synchronize, ready_for_review, reopened]
6
+ # Optional: Only run on specific file changes
7
+ # paths:
8
+ # - "src/**/*.ts"
9
+ # - "src/**/*.tsx"
10
+ # - "src/**/*.js"
11
+ # - "src/**/*.jsx"
12
+
13
+ jobs:
14
+ claude-review:
15
+ # Optional: Filter by PR author
16
+ # if: |
17
+ # github.event.pull_request.user.login == 'external-contributor' ||
18
+ # github.event.pull_request.user.login == 'new-developer' ||
19
+ # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
20
+
21
+ runs-on: ubuntu-latest
22
+ permissions:
23
+ contents: read
24
+ pull-requests: write
25
+ issues: read
26
+ id-token: write
27
+
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@v6
31
+ with:
32
+ fetch-depth: 1
33
+
34
+ - name: Run Claude Code Review
35
+ id: claude-review
36
+ uses: anthropics/claude-code-action@v1
37
+ with:
38
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
39
+ plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
40
+ plugins: 'code-review@claude-code-plugins'
41
+ prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
42
+ allow_bots: true
43
+
@@ -0,0 +1,50 @@
1
+ name: Claude Code
2
+
3
+ on:
4
+ issue_comment:
5
+ types: [created]
6
+ pull_request_review_comment:
7
+ types: [created]
8
+ issues:
9
+ types: [opened, assigned]
10
+ pull_request_review:
11
+ types: [submitted]
12
+
13
+ jobs:
14
+ claude:
15
+ if: |
16
+ (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17
+ (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18
+ (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19
+ (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20
+ runs-on: ubuntu-latest
21
+ permissions:
22
+ contents: read
23
+ pull-requests: read
24
+ issues: read
25
+ id-token: write
26
+ actions: read # Required for Claude to read CI results on PRs
27
+ steps:
28
+ - name: Checkout repository
29
+ uses: actions/checkout@v6
30
+ with:
31
+ fetch-depth: 1
32
+
33
+ - name: Run Claude Code
34
+ id: claude
35
+ uses: anthropics/claude-code-action@v1
36
+ with:
37
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38
+
39
+ # This is an optional setting that allows Claude to read CI results on PRs
40
+ additional_permissions: |
41
+ actions: read
42
+
43
+ # Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44
+ # prompt: 'Update the pull request description to include a summary of changes.'
45
+
46
+ # Optional: Add claude_args to customize behavior and configuration
47
+ # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48
+ # or https://code.claude.com/docs/en/cli-reference for available options
49
+ # claude_args: '--allowed-tools Bash(gh pr:*)'
50
+
@@ -0,0 +1,110 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+
7
+ jobs:
8
+ release:
9
+ # Skip if this is a release commit (prevents infinite loop)
10
+ if: "!contains(github.event.head_commit.message, 'chore(release):')"
11
+ runs-on: ubuntu-latest
12
+
13
+ permissions:
14
+ contents: write
15
+ pull-requests: write
16
+
17
+ steps:
18
+ - uses: actions/checkout@v6
19
+ with:
20
+ fetch-depth: 0
21
+ token: ${{ secrets.GITHUB_TOKEN }}
22
+
23
+ - name: Use Node.js 24
24
+ uses: actions/setup-node@v6
25
+ with:
26
+ node-version: 24
27
+ cache: npm
28
+
29
+ - run: npm ci
30
+
31
+ - name: Configure git
32
+ run: |
33
+ git config user.name "github-actions[bot]"
34
+ git config user.email "github-actions[bot]@users.noreply.github.com"
35
+
36
+ - name: Determine version bump
37
+ id: bump
38
+ env:
39
+ COMMIT_MSG: ${{ github.event.head_commit.message }}
40
+ run: |
41
+ MSG="$COMMIT_MSG"
42
+ # Get first line of commit message
43
+ FIRST_LINE=$(echo "$MSG" | head -n 1)
44
+
45
+ # Check for major bump
46
+ if [[ "$FIRST_LINE" =~ ^major: ]] || [[ "$FIRST_LINE" =~ ^major\( ]] || [[ "$MSG" =~ BREAKING[[:space:]]CHANGE ]]; then
47
+ echo "type=major" >> $GITHUB_OUTPUT
48
+ echo "Detected: MAJOR bump"
49
+ # Check for minor bump (feat, refactor)
50
+ elif [[ "$FIRST_LINE" =~ ^feat: ]] || [[ "$FIRST_LINE" =~ ^feat\( ]] || [[ "$FIRST_LINE" =~ ^refactor: ]] || [[ "$FIRST_LINE" =~ ^refactor\( ]]; then
51
+ echo "type=minor" >> $GITHUB_OUTPUT
52
+ echo "Detected: MINOR bump"
53
+ # Everything else is a patch (fix, bug, docs, chore, etc.)
54
+ else
55
+ echo "type=patch" >> $GITHUB_OUTPUT
56
+ echo "Detected: PATCH bump"
57
+ fi
58
+
59
+ - name: Clean up stale tag if exists
60
+ run: |
61
+ CURRENT=$(node -p "require('./package.json').version")
62
+ BUMP_TYPE="${{ steps.bump.outputs.type }}"
63
+
64
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT"
65
+ if [ "$BUMP_TYPE" = "major" ]; then
66
+ NEXT="$((MAJOR + 1)).0.0"
67
+ elif [ "$BUMP_TYPE" = "minor" ]; then
68
+ NEXT="${MAJOR}.$((MINOR + 1)).0"
69
+ else
70
+ NEXT="${MAJOR}.${MINOR}.$((PATCH + 1))"
71
+ fi
72
+
73
+ TAG="v${NEXT}"
74
+ echo "Expected next tag: $TAG"
75
+
76
+ if git rev-parse "$TAG" >/dev/null 2>&1; then
77
+ echo "Tag $TAG already exists locally, deleting..."
78
+ git tag -d "$TAG"
79
+ fi
80
+
81
+ if git ls-remote --tags origin "refs/tags/$TAG" | grep -q "$TAG"; then
82
+ echo "Tag $TAG exists on remote, deleting..."
83
+ git push origin ":refs/tags/$TAG"
84
+ fi
85
+
86
+ - name: Run standard-version
87
+ run: npx standard-version --release-as ${{ steps.bump.outputs.type }}
88
+
89
+ - name: Push release branch and tag
90
+ id: release
91
+ run: |
92
+ VERSION=$(node -p "require('./package.json').version")
93
+ echo "version=${VERSION}" >> $GITHUB_OUTPUT
94
+ BRANCH="release/v${VERSION}"
95
+ git checkout -b "$BRANCH"
96
+ git push origin "$BRANCH" "v${VERSION}"
97
+
98
+ - name: Create release PR
99
+ run: |
100
+ VERSION="${{ steps.release.outputs.version }}"
101
+ BRANCH="release/v${VERSION}"
102
+ gh pr create \
103
+ --title "chore(release): v${VERSION}" \
104
+ --body "Automated version bump to v${VERSION}" \
105
+ --base main \
106
+ --head "$BRANCH"
107
+ # Auto-merge once CI passes (requires repo auto-merge setting)
108
+ gh pr merge "$BRANCH" --auto --squash || echo "Auto-merge not available, PR requires manual merge"
109
+ env:
110
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,4 @@
1
+ dist/
2
+ node_modules/
3
+ data/
4
+ package-lock.json
@@ -0,0 +1,7 @@
1
+ {
2
+ "semi": true,
3
+ "singleQuote": false,
4
+ "trailingComma": "es5",
5
+ "printWidth": 90,
6
+ "tabWidth": 2
7
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "bumpFiles": [
3
+ {
4
+ "filename": "package.json",
5
+ "type": "json"
6
+ },
7
+ {
8
+ "filename": "openclaw.plugin.json",
9
+ "type": "json"
10
+ }
11
+ ],
12
+ "types": [
13
+ { "type": "feat", "section": "Features" },
14
+ { "type": "fix", "section": "Bug Fixes" },
15
+ { "type": "refactor", "section": "Refactoring" },
16
+ { "type": "perf", "section": "Performance" },
17
+ { "type": "docs", "section": "Documentation" },
18
+ { "type": "test", "section": "Tests" },
19
+ { "type": "chore", "hidden": true },
20
+ { "type": "style", "hidden": true },
21
+ { "type": "ci", "hidden": true },
22
+ { "type": "build", "hidden": true }
23
+ ],
24
+ "commitUrlFormat": "{{host}}/{{owner}}/{{repository}}/commit/{{hash}}",
25
+ "compareUrlFormat": "{{host}}/{{owner}}/{{repository}}/compare/{{previousTag}}...{{currentTag}}"
26
+ }