@johpaz/hive-sdk 0.0.15 → 0.0.16
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.
- package/CHANGELOG.md +27 -1
- package/README.md +179 -57
- package/docs/API-AGENTS.md +9 -9
- package/docs/API-CONTEXT-COMPILER.md +13 -13
- package/docs/API-DAG-SCHEDULER.md +8 -8
- package/docs/API-TOOLS-SKILLS-CHANNELS.md +150 -93
- package/docs/API-WORKERS-EVENTS.md +206 -59
- package/docs/INDEX.md +99 -50
- package/docs/README.md +117 -24
- package/docs/TEMPLATE-HIVE-APP.md +360 -0
- package/package.json +13 -6
- package/packages/cli/bin/hive +2 -0
- package/packages/cli/src/commands/add-skill.ts +42 -0
- package/packages/cli/src/commands/add-tool.ts +45 -0
- package/packages/cli/src/commands/add-worker.ts +49 -0
- package/packages/cli/src/commands/create-app-utils.ts +32 -0
- package/packages/cli/src/commands/create-app.test.ts +151 -0
- package/packages/cli/src/commands/create-app.ts +35 -0
- package/packages/cli/src/index.ts +21 -5
- package/packages/cli/templates/hive-app/.env.example +17 -0
- package/packages/cli/templates/hive-app/docker-compose.yml +20 -0
- package/packages/cli/templates/hive-app/hive.config.ts +19 -0
- package/packages/cli/templates/hive-app/package.json +16 -0
- package/packages/cli/templates/hive-app/src/agents/coordinator.ts +9 -0
- package/packages/cli/templates/hive-app/src/main.ts +56 -0
- package/packages/core/src/auth/auth.ts +108 -0
- package/packages/core/src/auth/index.ts +1 -0
- package/packages/core/src/canvas/canvas.test.ts +32 -0
- package/packages/core/src/canvas/emitter.ts +1 -1
- package/packages/core/src/canvas/index.ts +3 -6
- package/packages/core/src/channels/base.ts +154 -0
- package/packages/core/src/channels/channels.test.ts +18 -0
- package/packages/core/src/channels/discord.ts +273 -0
- package/packages/core/src/channels/index.ts +7 -0
- package/packages/core/src/channels/manager.ts +450 -0
- package/packages/core/src/channels/slack.ts +323 -0
- package/packages/core/src/channels/telegram.ts +612 -0
- package/packages/core/src/channels/webchat.ts +139 -0
- package/packages/core/src/channels/whatsapp.ts +548 -0
- package/packages/core/src/events/agent-bus.ts +460 -0
- package/packages/core/src/events/event-bus.ts +169 -0
- package/packages/core/src/gateway/channel-notify.ts +32 -7
- package/packages/core/src/gateway/gateway.test.ts +38 -0
- package/packages/core/src/gateway/index.ts +2 -1
- package/packages/core/src/gateway/server.ts +139 -0
- package/packages/core/src/heartbeat/index.ts +157 -0
- package/packages/core/src/index.ts +44 -0
- package/packages/core/src/multimodal/index.ts +2 -2
- package/packages/core/src/multimodal/vision-service.ts +283 -0
- package/packages/core/src/plugins/api.ts +128 -0
- package/packages/core/src/plugins/index.ts +2 -0
- package/packages/core/src/plugins/loader.ts +365 -0
- package/packages/core/src/resilience/circuit-breaker.ts +225 -0
- package/packages/core/src/scheduler/CronScheduler.ts +699 -0
- package/packages/core/src/scheduler/dag/AgentExecutor.ts +53 -0
- package/packages/core/src/scheduler/dag/DAGScheduler.ts +250 -0
- package/packages/core/src/scheduler/dag/EventBridge.ts +122 -0
- package/packages/core/src/scheduler/dag/TaskGraph.ts +192 -0
- package/packages/core/src/scheduler/dag/TaskNode.ts +97 -0
- package/packages/core/src/scheduler/dag/TaskResult.ts +22 -0
- package/packages/core/src/scheduler/dag/errors.ts +37 -0
- package/packages/core/src/scheduler/dag/index.ts +26 -0
- package/packages/core/src/scheduler/dag/presets/ResearchPreset.ts +97 -0
- package/packages/core/src/scheduler/dag/strategies/ParallelStrategy.ts +21 -0
- package/packages/core/src/scheduler/dag/strategies/PriorityStrategy.ts +46 -0
- package/packages/core/src/scheduler/index.ts +22 -0
- package/packages/core/src/scheduler/integration.ts +237 -0
- package/packages/core/src/scheduler/scheduler.test.ts +19 -0
- package/packages/core/src/scheduler/types.ts +164 -0
- package/packages/core/src/security/google-chat.ts +269 -0
- package/packages/core/src/security/index.ts +192 -4
- package/packages/core/src/security/rate-limit.ts +270 -0
- package/packages/core/src/security/signal.ts +321 -0
- package/packages/core/src/storage/crypto.ts +198 -66
- package/packages/core/src/storage/storage.test.ts +37 -0
- package/packages/core/src/swarm/swarm.test.ts +24 -0
- package/packages/core/src/tool-runtime/index.ts +522 -0
- package/packages/core/src/tool-runtime/tool-runtime.test.ts +91 -0
- package/packages/core/src/tool-runtime/tool-worker.ts +125 -0
- package/packages/core/src/voice/index.ts +5 -18
- package/packages/core/src/workers/WorkerPool.ts +167 -0
- package/packages/core/src/workers/agent.worker.ts +68 -0
- package/packages/core/src/workers/createWorker.ts +144 -0
- package/packages/core/src/workers/index.ts +5 -0
- package/packages/core/src/workers/workers.test.ts +48 -0
- package/test/setup-db.ts +2 -2
- package/tsconfig.json +2 -1
- package/.github/CODEOWNERS +0 -9
- package/.github/workflows/publish.yml +0 -89
- package/.github/workflows/version-bump.yml +0 -102
- package/bun.lock +0 -543
- package/bunfig.toml +0 -7
- package/packages/core/src/agent/providers.ts +0 -1
- package/packages/core/src/gateway/channel-notify.test.ts +0 -14
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
name: Publish to NPM
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v*'
|
|
7
|
-
workflow_dispatch:
|
|
8
|
-
inputs:
|
|
9
|
-
version:
|
|
10
|
-
description: 'Version (e.g., 0.0.15)'
|
|
11
|
-
required: true
|
|
12
|
-
type: string
|
|
13
|
-
|
|
14
|
-
permissions:
|
|
15
|
-
contents: write
|
|
16
|
-
id-token: write
|
|
17
|
-
|
|
18
|
-
jobs:
|
|
19
|
-
publish:
|
|
20
|
-
runs-on: ubuntu-latest
|
|
21
|
-
env:
|
|
22
|
-
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
|
|
23
|
-
steps:
|
|
24
|
-
- uses: actions/checkout@v4
|
|
25
|
-
|
|
26
|
-
- name: Setup Bun
|
|
27
|
-
uses: oven-sh/setup-bun@v2
|
|
28
|
-
with:
|
|
29
|
-
bun-version: 1.3.13
|
|
30
|
-
|
|
31
|
-
- name: Install dependencies
|
|
32
|
-
run: bun install --frozen-lockfile
|
|
33
|
-
|
|
34
|
-
- name: Type check
|
|
35
|
-
run: bun run typecheck
|
|
36
|
-
|
|
37
|
-
- name: Run tests
|
|
38
|
-
run: bun test packages/core/src/ --timeout 30000
|
|
39
|
-
|
|
40
|
-
- name: Configure NPM token
|
|
41
|
-
run: |
|
|
42
|
-
if [ -z "$NPM_TOKEN" ]; then
|
|
43
|
-
echo "NPM_TOKEN secret is not set"
|
|
44
|
-
exit 1
|
|
45
|
-
fi
|
|
46
|
-
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
|
|
47
|
-
env:
|
|
48
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
49
|
-
|
|
50
|
-
- name: Publish to NPM
|
|
51
|
-
run: |
|
|
52
|
-
VERSION="${{ github.event.inputs.version || github.ref_name }}"
|
|
53
|
-
VERSION="${VERSION#v}"
|
|
54
|
-
echo "Publishing version: $VERSION"
|
|
55
|
-
|
|
56
|
-
# Sync version to root package.json
|
|
57
|
-
node -e "
|
|
58
|
-
const p=require('./package.json');
|
|
59
|
-
p.version='$VERSION';
|
|
60
|
-
delete p.private;
|
|
61
|
-
require('fs').writeFileSync('./package.json', JSON.stringify(p,null,2)+'\n')
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
# Sync version to workspace packages (for local consistency)
|
|
65
|
-
for dir in packages/core packages/cli; do
|
|
66
|
-
node -e "
|
|
67
|
-
const p=require('./$dir/package.json');
|
|
68
|
-
p.version='$VERSION';
|
|
69
|
-
require('fs').writeFileSync('./$dir/package.json', JSON.stringify(p,null,2)+'\n')
|
|
70
|
-
"
|
|
71
|
-
done
|
|
72
|
-
|
|
73
|
-
# Publish only the root package (workspace packages are NOT published separately)
|
|
74
|
-
npm publish --access public
|
|
75
|
-
|
|
76
|
-
# Restore private: true to root
|
|
77
|
-
node -e "
|
|
78
|
-
const p=require('./package.json');
|
|
79
|
-
p.private=true;
|
|
80
|
-
require('fs').writeFileSync('./package.json', JSON.stringify(p,null,2)+'\n')
|
|
81
|
-
"
|
|
82
|
-
env:
|
|
83
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
84
|
-
|
|
85
|
-
- name: Create GitHub Release
|
|
86
|
-
if: startsWith(github.ref, 'refs/tags/v')
|
|
87
|
-
env:
|
|
88
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
89
|
-
run: gh release create "${{ github.ref_name }}" --title "Release ${{ github.ref_name }}" --notes "See CHANGELOG.md for details." --draft=false
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
name: Version Bump
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
inputs:
|
|
6
|
-
bump:
|
|
7
|
-
description: 'Type of bump (patch, minor, major)'
|
|
8
|
-
required: true
|
|
9
|
-
default: 'patch'
|
|
10
|
-
type: choice
|
|
11
|
-
options:
|
|
12
|
-
- patch
|
|
13
|
-
- minor
|
|
14
|
-
- major
|
|
15
|
-
|
|
16
|
-
jobs:
|
|
17
|
-
bump:
|
|
18
|
-
runs-on: ubuntu-latest
|
|
19
|
-
outputs:
|
|
20
|
-
new_version: ${{ steps.version.outputs.new_version }}
|
|
21
|
-
tag: ${{ steps.version.outputs.tag }}
|
|
22
|
-
|
|
23
|
-
steps:
|
|
24
|
-
- uses: actions/checkout@v4
|
|
25
|
-
with:
|
|
26
|
-
fetch-depth: 0
|
|
27
|
-
|
|
28
|
-
- name: Setup Bun
|
|
29
|
-
uses: oven-sh/setup-bun@v2
|
|
30
|
-
|
|
31
|
-
- name: Calculate new version
|
|
32
|
-
id: version
|
|
33
|
-
run: |
|
|
34
|
-
current=$(node -p "require('./package.json').version")
|
|
35
|
-
echo "Current version: $current"
|
|
36
|
-
IFS='.' read -ra parts <<< "$current"
|
|
37
|
-
major=${parts[0]}; minor=${parts[1]}; patch=${parts[2]}
|
|
38
|
-
case "${{ github.event.inputs.bump }}" in
|
|
39
|
-
major) major=$((major + 1)); minor=0; patch=0 ;;
|
|
40
|
-
minor) minor=$((minor + 1)); patch=0 ;;
|
|
41
|
-
patch) patch=$((patch + 1)) ;;
|
|
42
|
-
esac
|
|
43
|
-
new_version="$major.$minor.$patch"
|
|
44
|
-
echo "New version: $new_version"
|
|
45
|
-
echo "new_version=$new_version" >> $GITHUB_OUTPUT
|
|
46
|
-
echo "tag=v$new_version" >> $GITHUB_OUTPUT
|
|
47
|
-
|
|
48
|
-
- name: Sync version to all workspace packages
|
|
49
|
-
run: |
|
|
50
|
-
VERSION="${{ steps.version.outputs.new_version }}"
|
|
51
|
-
|
|
52
|
-
# Update root
|
|
53
|
-
node -e "
|
|
54
|
-
const p = require('./package.json');
|
|
55
|
-
p.version = '$VERSION';
|
|
56
|
-
require('fs').writeFileSync('./package.json', JSON.stringify(p, null, 2) + '\n');
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
# Update each workspace package
|
|
60
|
-
for pkg in packages/*/package.json; do
|
|
61
|
-
dir=$(dirname "$pkg")
|
|
62
|
-
node -e "
|
|
63
|
-
const p = require('./$dir/package.json');
|
|
64
|
-
p.version = '$VERSION';
|
|
65
|
-
require('fs').writeFileSync('./$dir/package.json', JSON.stringify(p, null, 2) + '\n');
|
|
66
|
-
"
|
|
67
|
-
done
|
|
68
|
-
|
|
69
|
-
- name: Update CHANGELOG
|
|
70
|
-
run: |
|
|
71
|
-
date=$(date +%Y-%m-%d)
|
|
72
|
-
echo "# ${{ steps.version.outputs.new_version }} ($date)" >> CHANGELOG.md
|
|
73
|
-
echo "" >> CHANGELOG.md
|
|
74
|
-
echo "## Changes" >> CHANGELOG.md
|
|
75
|
-
echo "- Version bump" >> CHANGELOG.md
|
|
76
|
-
echo "" >> CHANGELOG.md
|
|
77
|
-
|
|
78
|
-
- name: Create Pull Request
|
|
79
|
-
uses: peter-evans/create-pull-request@v6
|
|
80
|
-
with:
|
|
81
|
-
commit-message: "chore: bump version to ${{ steps.version.outputs.new_version }}"
|
|
82
|
-
branch: bump-version
|
|
83
|
-
delete-branch: true
|
|
84
|
-
title: "Bump version to ${{ steps.version.outputs.new_version }}"
|
|
85
|
-
body: |
|
|
86
|
-
Version bump to ${{ steps.version.outputs.new_version }} for all workspace packages.
|
|
87
|
-
labels: version-bump
|
|
88
|
-
|
|
89
|
-
tag:
|
|
90
|
-
needs: bump
|
|
91
|
-
runs-on: ubuntu-latest
|
|
92
|
-
if: github.event.inputs.bump == ''
|
|
93
|
-
|
|
94
|
-
steps:
|
|
95
|
-
- uses: actions/checkout@v4
|
|
96
|
-
with:
|
|
97
|
-
ref: bump-version
|
|
98
|
-
|
|
99
|
-
- name: Create Git Tag
|
|
100
|
-
run: |
|
|
101
|
-
git tag ${{ needs.bump.outputs.tag }}
|
|
102
|
-
git push origin ${{ needs.bump.outputs.tag }}
|