Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
827 commits
Select commit Hold shift + click to select a range
d721c19
new commit
Olagoke22 Jun 29, 2026
3f78cde
new commit
Olagoke22 Jun 29, 2026
fb343ab
Merge branch 'main' into main
Olagoke22 Jun 29, 2026
aa7e3b4
neww
Olagoke22 Jun 29, 2026
7a9bf84
#145 feat(core): integrate HashiCorp Vault for key retrieval FIXED (#…
veloura-dev Jun 29, 2026
68e19c0
#145 feat(core): integrate HashiCorp Vault for key retrieval FIXED (#…
veloura-dev Jun 29, 2026
cf81d70
#157 feat(core): decode Stellar Asset Contract (SAC) balances FIXED (…
veloura-dev Jun 29, 2026
156d642
#157 feat(core): decode Stellar Asset Contract (SAC) balances FIXED (…
veloura-dev Jun 29, 2026
e89a5b6
feat(docker): add devnet sandbox compose template and TDD tests
Fale1278 Jun 29, 2026
7cf8b0d
Merge branch 'main' into main
Fale1278 Jun 29, 2026
2e90a75
feat(core): implement MCP server with stdio transport
OkonkwoEmeka Jun 29, 2026
cad2d88
next
Olagoke22 Jun 29, 2026
243d328
Merge branch 'main' into transaction
Olagoke22 Jun 29, 2026
f4b9ee4
feat(ci): add composite GitHub Action definition for TTL checks
Power70 Jun 29, 2026
00963ca
feat(core): add stateless checkContractTTL for one-shot RPC TTL q…
Power70 Jun 29, 2026
b156a44
feat(cli): add check command with threshold exit-code and json output
Power70 Jun 29, 2026
85f634a
feat(action): add testable action runner mapping check result to …
Power70 Jun 29, 2026
0953c4e
l feat(ci): add PR workflow using sorokeep TTL check action
Power70 Jun 29, 2026
9c13d12
chore: register check command in CLI entry point
Power70 Jun 29, 2026
2445cd8
feat(action): add bash entrypoint to build, run check, and set GH out…
Power70 Jun 29, 2026
123e3a4
action.test.ts test(action): add action runner tests covering exit…
Power70 Jun 29, 2026
ca473cc
test(core): add unit tests for checkContractTTL pass/fail and err…
Power70 Jun 29, 2026
8d5f7c5
newest
Olagoke22 Jun 29, 2026
18e5cf5
newest
Olagoke22 Jun 29, 2026
b6670d3
feat(core): implement auto-extension rate limiter and parse resource …
Bokky73 Jun 29, 2026
a4c865a
feat(db): add budget_tracking table to SQLite
Stephan-Thomas Jun 29, 2026
6c04823
feat(core): enforce budget limits before auto-extension
Stephan-Thomas Jun 29, 2026
4efe0b3
Merge branch 'main' into feat/budget-tracking
jacintaaugustine Jun 29, 2026
72d88ab
Merge branch 'main' into feat-poll-interval-overrides
Stephan-Thomas Jun 29, 2026
85074eb
Merge branch 'main' into commands
farouqyakubu6-creator Jun 30, 2026
fc3d916
Merge branch 'main' into limiting
farouqyakubu6-creator Jun 30, 2026
af0c188
Merge branch 'main' into resolve-alert
farouqyakubu6-creator Jun 30, 2026
3913b02
fix: address CodeRabbit review for PR 216
AbdulmalikAlayande Jun 30, 2026
84e5b6d
chore: fix schema.sql encoding
AbdulmalikAlayande Jun 30, 2026
67d0e57
chore: fix schema.sql encoding
AbdulmalikAlayande Jun 30, 2026
0a77b16
Merge main into pr-246
AbdulmalikAlayande Jun 30, 2026
5ba92cb
update
lightnoor890 Jun 30, 2026
8435912
docs: write complete CLI reference manual
lightnoor890 Jun 30, 2026
c037e93
feat(cli): add --dry-run flag to guard command
lightnoor890 Jun 30, 2026
1d9226b
fix: resolve schema corruption and linting bypasses
AbdulmalikAlayande Jun 30, 2026
de2e29b
feat(db): add resource_usage_logs table with repository functions (#246)
funds0033-cmyk Jun 30, 2026
593ba76
feat(db): add resource_usage_logs table with repository functions (#246)
funds0033-cmyk Jun 30, 2026
786d748
Merge branch 'main' into feat/budget-tracking
jacintaaugustine Jun 30, 2026
fec2112
test(cli): add tests for alerts test command (#281)
Tijesunimi004 Jun 30, 2026
c6f8f3c
test(cli): add tests for alerts test command (#281)
Tijesunimi004 Jun 30, 2026
dccb85d
feat(alerts): implement webhook delivery channel (#110) (#289)
daveades Jun 30, 2026
aba812e
feat(alerts): implement webhook delivery channel (#110) (#289)
daveades Jun 30, 2026
e404b50
feat(core): implement ExtendFootprintTTLOp with simulation and fee pa…
daveades Jun 30, 2026
e1c0abe
feat(core): implement ExtendFootprintTTLOp with simulation and fee pa…
daveades Jun 30, 2026
48be30e
feat(cli): implement restore command with fee output (#119) (#287)
daveades Jun 30, 2026
b041ec0
feat(cli): implement restore command with fee output (#119) (#287)
daveades Jun 30, 2026
260f3d2
feat(cli): add database maintenance commands (#294)
OkonkwoEmeka Jun 30, 2026
a26cbbd
feat(cli): add database maintenance commands (#294)
OkonkwoEmeka Jun 30, 2026
6ba24cf
Merge branch 'main' into feat-poll-interval-overrides
Stephan-Thomas Jun 30, 2026
2dd5dc8
fix: restore schema.sql and add poll_interval_seconds
Stephan-Thomas Jun 30, 2026
cecf938
fix(core): add missing assertSimulationSuccess and fix tests
AbdulmalikAlayande Jun 30, 2026
e626b6e
Update e2e-sandbox.md (#306)
judithJn Jun 30, 2026
41ddde6
Update e2e-sandbox.md (#306)
judithJn Jun 30, 2026
3240c4e
Merge branch 'main' into fix/issue-137-simulation-failures
neyij Jun 30, 2026
973d7c8
fix(test): resolve simulation failures
Stephan-Thomas Jun 30, 2026
9ff1fdb
fix(rpc): catch simulation error in simulateExtension
Stephan-Thomas Jun 30, 2026
12ffb9b
fix(rpc): remove unused CostSummary import from client.ts
Stephan-Thomas Jun 30, 2026
077a3ef
fix(core): resolve TS compilation errors and ESLint interface errors
AbdulmalikAlayande Jun 30, 2026
5edd582
feat(core): build ledger entry key decoder (#256)
probablyABug Jun 30, 2026
16192a4
feat(core): build ledger entry key decoder (#256)
probablyABug Jun 30, 2026
2fde0e7
spec: draft get_monitored_keys() contract convention (#255)
Stephan-Thomas Jun 30, 2026
f8d406a
spec: draft get_monitored_keys() contract convention (#255)
Stephan-Thomas Jun 30, 2026
823bee6
fix: correct fee bump and sponsor secret resolution
AbdulmalikAlayande Jun 30, 2026
fe55c53
fix: address CodeRabbit review for rate limiter
AbdulmalikAlayande Jun 30, 2026
806f0d5
fix: address CodeRabbit review for rate limiter
AbdulmalikAlayande Jun 30, 2026
910574e
feat(cli): add inspect command for decoded entry values (#299)
Faizehy Jun 30, 2026
8acedb1
feat(cli): add inspect command for decoded entry values (#299)
Faizehy Jun 30, 2026
e86ad8d
fix: address CodeRabbit rate limiter and resource estimate feedback
AbdulmalikAlayande Jun 30, 2026
5d6af4e
feat: add guard command tests for --auto-extend policy registration (…
JClark011 Jun 30, 2026
4a56ea3
feat: add guard command tests for --auto-extend policy registration (…
JClark011 Jun 30, 2026
1d882d7
fix(core): atomic budget enforcement, fee calculation, and test updates
AbdulmalikAlayande Jun 30, 2026
90e8acd
fix(action): pin checkout, fix stderr propagation, fail closed on mis…
AbdulmalikAlayande Jun 30, 2026
19e2eac
docs: write complete CLI reference manual (#304)
lightnoor890 Jun 30, 2026
6bbe989
docs: write complete CLI reference manual (#304)
lightnoor890 Jun 30, 2026
e8c8245
fix(cli): guard test suite issue with mock bleeding
AbdulmalikAlayande Jun 30, 2026
e9613b6
fix: preserve error cause in schemaFormatter
The-Big-Danny Jul 1, 2026
d0aa8c5
fix(alerts): resolve dispatcher import path
dee-john Jul 1, 2026
5cbc2f0
Fix linting errors
Truphile Jul 1, 2026
f49b539
Merge branch 'main' into limiting
farouqyakubu6-creator Jul 1, 2026
445c18f
feat(core): enforce budget limits before auto-extension
Stephan-Thomas Jun 29, 2026
abb29cd
feat: implement budget persistence schema and repository core modules
The-Big-Danny Jul 1, 2026
474399c
fix(db): correctly export budget functions from repositories
The-Big-Danny Jul 2, 2026
1ce0d04
restore test file
The-Big-Danny Jul 2, 2026
575424f
feat(budget): implement budget persistence and enforcement
The-Big-Danny Jul 2, 2026
08b15fa
fix(tests): remove hardcoded Vault secret literals from vault.test.ts
farouqyakubu6-creator Jul 3, 2026
8dbd0e8
fix(test): remove secrets from tests
The-Big-Danny Jul 2, 2026
997657d
Merge branch 'main' into feat/key-resolution-chain
jacintaaugustine Jul 4, 2026
42b4b9a
Fix tests for rate limiter and budget extensions
AbdulmalikAlayande Jul 4, 2026
60ee4a0
Merge branch 'feat/133-142-rate-limiter'
AbdulmalikAlayande Jul 4, 2026
05265b7
Add script to process PRs sequentially
AbdulmalikAlayande Jul 4, 2026
e8dc112
Merge main into pr-210, resolving conflicts
AbdulmalikAlayande Jul 4, 2026
c6fb1b6
Merge PR #216 with manual conflict resolution for fee bump sponsorshi…
AbdulmalikAlayande Jul 4, 2026
555d4e6
chore: remove temporary diff files
AbdulmalikAlayande Jul 4, 2026
755700a
Merge branch 'main' into pr-246
AbdulmalikAlayande Jul 4, 2026
7167dd3
Merge branch 'main' into pr-247
AbdulmalikAlayande Jul 4, 2026
f07c5af
Merge branch 'main' into pr-248
AbdulmalikAlayande Jul 4, 2026
0bc7845
fix: add missing alertConfigId to resolveAlerts test calls
AbdulmalikAlayande Jul 4, 2026
7fc1263
Merge main into pr-249 and resolve conflicts
AbdulmalikAlayande Jul 4, 2026
b0a8a4e
Merge main into pr-251 and resolve conflicts
AbdulmalikAlayande Jul 4, 2026
13d3a62
Merge main into pr-252 and resolve conflicts
AbdulmalikAlayande Jul 4, 2026
f379e14
Resolve conflicts for pr-253
AbdulmalikAlayande Jul 4, 2026
76d277a
Resolve conflicts in pr-254
AbdulmalikAlayande Jul 4, 2026
48c08c1
Merge branch 'main' into pr-255
AbdulmalikAlayande Jul 4, 2026
f684ae0
Merge branch 'main' into pr-256
AbdulmalikAlayande Jul 4, 2026
e752584
Fix decoder tests
AbdulmalikAlayande Jul 4, 2026
dbedc6f
Resolve merge conflicts
AbdulmalikAlayande Jul 4, 2026
296c264
Resolve merge conflicts
AbdulmalikAlayande Jul 4, 2026
bba6886
Merge branch 'main' into pr-262
AbdulmalikAlayande Jul 4, 2026
e28af5c
Merge branch 'main' into pr-263
AbdulmalikAlayande Jul 4, 2026
6cf1fbc
Fix conflicts and test errors in pr-263
AbdulmalikAlayande Jul 4, 2026
43f762b
Resolve merge conflicts in pr-264
AbdulmalikAlayande Jul 4, 2026
35dd669
Fix schema.sql encoding issue
AbdulmalikAlayande Jul 4, 2026
ff9fb4c
Resolve merge conflicts in pr-265
AbdulmalikAlayande Jul 4, 2026
8d1a05a
Merge branch 'main' into pr-271
AbdulmalikAlayande Jul 4, 2026
e366792
Fix syntax error in discovery.test.ts
AbdulmalikAlayande Jul 4, 2026
8842d53
docs: update README with current project state
AbdulmalikAlayande Jul 4, 2026
2551e78
Resolve merge conflicts in pr-274
AbdulmalikAlayande Jul 4, 2026
319a1a1
Resolve merge conflicts in pr-275
AbdulmalikAlayande Jul 4, 2026
2eb0f91
Fix committed merge conflict in decoder.test.ts
AbdulmalikAlayande Jul 4, 2026
d17c86c
Fixing bugs and merging PRs
AbdulmalikAlayande Jul 4, 2026
aff2bfb
Resolve merge conflicts in pr-276
AbdulmalikAlayande Jul 4, 2026
5075b04
Resolve merge conflicts in pr-282
AbdulmalikAlayande Jul 4, 2026
2ac9b5a
Fix tests to pass feeSponsorSecret to mock functions and remove stand…
AbdulmalikAlayande Jul 4, 2026
c865fb6
Resolve merge conflicts in pr-283
AbdulmalikAlayande Jul 4, 2026
0fafeab
Fix SQLite CHECK constraint to include discord and telegram
AbdulmalikAlayande Jul 4, 2026
e336a03
Fix eslint error in decoder.ts
AbdulmalikAlayande Jul 4, 2026
5c0f713
docs: accurately reflect current project scope, metrics, and architec…
AbdulmalikAlayande Jul 4, 2026
a5cca04
Resolve merge conflicts in pr-297
AbdulmalikAlayande Jul 4, 2026
0ae1fa8
Resolve merge conflicts in pr-298
AbdulmalikAlayande Jul 4, 2026
d8e9eb3
docs: remove personal milestone from README
AbdulmalikAlayande Jul 4, 2026
6e2f0b9
Resolve merge conflicts in pr-300
AbdulmalikAlayande Jul 4, 2026
fb7c4d4
feat(db): add budget_tracking table to SQLite
Stephan-Thomas Jun 29, 2026
519eba0
Merge branch 'main' into pr-300
AbdulmalikAlayande Jul 4, 2026
a2753ac
Fixing bugs and merging PRs
AbdulmalikAlayande Jul 4, 2026
cec4b4c
fix(db): add missing budget_tracking table and fix test sql syntax
AbdulmalikAlayande Jul 4, 2026
db1bf81
Merge branch 'main' of https://github.com/AbdulmalikAlayande/sorokeep
AbdulmalikAlayande Jul 4, 2026
e13f561
Merge branch 'main' into pr-300
AbdulmalikAlayande Jul 4, 2026
bb66d11
fix(budget): properly enforce dynamic billing cycle in tests and fix …
AbdulmalikAlayande Jul 4, 2026
f999b1c
Merge main into pr-301
AbdulmalikAlayande Jul 4, 2026
de9c315
fix(db): add missing closing brace in repositories.ts
AbdulmalikAlayande Jul 4, 2026
4c68e72
fix(db): remove duplicate budget functions from repositories.ts
AbdulmalikAlayande Jul 4, 2026
69eec94
Merge branch 'main' into commands
farouqyakubu6-creator Jul 4, 2026
cbabe26
Merge branch 'main' into feat/key-resolution-chain
jacintaaugustine Jul 4, 2026
9e90018
fix(alerts): address CodeRabbit review comments
AbdulmalikAlayande Jul 4, 2026
cb5ae84
Merge branch 'feat/simulation-traffic-cache'
AbdulmalikAlayande Jul 4, 2026
fef7989
Fix status/costs command syntax and secret-test placeholders
farouqyakubu6-creator Jul 4, 2026
75ecc42
Fix costs command regression tests
farouqyakubu6-creator Jul 4, 2026
049819e
Fix status command test fixture typo
farouqyakubu6-creator Jul 4, 2026
d1d13d3
Merge branch 'main' into pr-303
AbdulmalikAlayande Jul 4, 2026
7fe57b4
Merge branch 'main' into pr-304
AbdulmalikAlayande Jul 4, 2026
f984c1a
Merge branch 'main' into feat-poll-interval-overrides
Stephan-Thomas Jul 4, 2026
9a9f66d
fix(completion/costs): resolve explicit string type guards for compil…
The-Big-Danny Jul 5, 2026
85cece9
fix(cli): preserve original caught error reference for eslint rule
The-Big-Danny Jul 5, 2026
f57d1ab
feat: config fallback, slack webhook, unwatch, pause/resume monitoring
Jul 5, 2026
6f75142
Resolve merge conflicts in dispatcher.ts
AbdulmalikAlayande Jul 5, 2026
cc7a88c
Resolve merge conflicts in dispatcher.ts
AbdulmalikAlayande Jul 5, 2026
fd3cb17
Merge branch 'main' into pr-291
AbdulmalikAlayande Jul 5, 2026
c4d85a1
Merge main into pr-295
AbdulmalikAlayande Jul 5, 2026
c55e954
Merge main into pr-296
AbdulmalikAlayande Jul 5, 2026
e468b79
Fix tests after merge
AbdulmalikAlayande Jul 5, 2026
c3765e3
Resolve merge conflicts in src/index.ts
AbdulmalikAlayande Jul 5, 2026
d79abce
Resolve conflicts in client.test.ts
AbdulmalikAlayande Jul 5, 2026
6cda20d
Resolve conflicts in costs.test.ts
AbdulmalikAlayande Jul 5, 2026
d4865ed
Fix tests
AbdulmalikAlayande Jul 5, 2026
c3e3d08
Remove duplicate submitRestore
AbdulmalikAlayande Jul 5, 2026
17aea2c
Fix tests and duplicate methods
AbdulmalikAlayande Jul 5, 2026
90c9c6e
Merge branch 'main' into pr-261
AbdulmalikAlayande Jul 5, 2026
a80a30d
Fix duplicate column in schema
AbdulmalikAlayande Jul 5, 2026
9ca303a
Resolve merge conflicts
AbdulmalikAlayande Jul 5, 2026
dbe9f52
Remove duplicate assertSimulationSuccess function
AbdulmalikAlayande Jul 5, 2026
9217105
Resolve merge conflict in discovery.test.ts
AbdulmalikAlayande Jul 5, 2026
b68a95c
Merge branch 'main' into pr-285
AbdulmalikAlayande Jul 5, 2026
5902b50
Fix SCVal translator to use nativeToScVal and scValToNative
AbdulmalikAlayande Jul 5, 2026
eff06a3
Merge branch 'main' into pr-286
AbdulmalikAlayande Jul 5, 2026
4512bec
Resolve merge conflict in config.ts
AbdulmalikAlayande Jul 5, 2026
ab63d20
Install handlebars
AbdulmalikAlayande Jul 5, 2026
36c55bd
Resolve merge conflict in index.ts
AbdulmalikAlayande Jul 5, 2026
11be0e9
Fix StdioServerTransport constructor args
AbdulmalikAlayande Jul 5, 2026
777a0da
Fix invalid json test regex
AbdulmalikAlayande Jul 5, 2026
178d50e
Resolve merge conflicts in pr-300
AbdulmalikAlayande Jul 5, 2026
7ace334
Fix multiple export errors
AbdulmalikAlayande Jul 5, 2026
953c785
Fix budget tracking tests and schema
AbdulmalikAlayande Jul 5, 2026
db777d2
Resolve merge conflicts in pr-302
AbdulmalikAlayande Jul 6, 2026
72d7e8b
Resolve merge conflicts in pr-305
AbdulmalikAlayande Jul 6, 2026
8363a78
Resolve merge conflicts in pr-308
AbdulmalikAlayande Jul 6, 2026
94fd470
Merge PR 309: Alerting system overhaul with CodeRabbit fixes
AbdulmalikAlayande Jul 6, 2026
04b648e
Fix SQL injection in LIMIT clauses, add missing channel types, and sc…
AbdulmalikAlayande Jul 7, 2026
ed558f0
Fix stopDaemon re-entrance bug and remove dead introspection call
AbdulmalikAlayande Jul 7, 2026
d6aa987
Standardize webhook alert timeout to 10s matching other channels
AbdulmalikAlayande Jul 7, 2026
f3b8d8d
Add missing indexes and widen resource_alert_configs channel constraint
AbdulmalikAlayande Jul 7, 2026
85097d4
Add npm audit step to CI pipeline
AbdulmalikAlayande Jul 7, 2026
484234a
Change no-explicit-any ESLint rule from off to warn
AbdulmalikAlayande Jul 7, 2026
7fd65a4
Update webhook timeout tests to match new 10s timeout
AbdulmalikAlayande Jul 7, 2026
53af1ed
Fixed git conflicts
AbdulmalikAlayande Jul 7, 2026
e05b481
Fixed git conflicts
AbdulmalikAlayande Jul 7, 2026
3c4b922
Fixed git conflicts
AbdulmalikAlayande Jul 7, 2026
591fc9e
Clean up .gitignore: add database/config entries, remove stale Rust a…
AbdulmalikAlayande Jul 7, 2026
911426c
Use npm ci for deterministic CI builds instead of deleting lockfile
AbdulmalikAlayande Jul 7, 2026
c6eb220
Guard non-null assertions on txHash and ledger in auto-extension
AbdulmalikAlayande Jul 7, 2026
809a26e
Log resolution notification failures instead of silently dropping them
AbdulmalikAlayande Jul 7, 2026
2a5a26c
Remove build tools from production Docker image and unused EXPOSE 3000
AbdulmalikAlayande Jul 7, 2026
5e46533
Move pino-pretty to devDependencies and remove outdated @types/pino
AbdulmalikAlayande Jul 7, 2026
2441f3c
Update Dockerfile tests to verify no unused ports and no leaked build…
AbdulmalikAlayande Jul 7, 2026
7165e27
Add tests for parameterized LIMIT, discord/telegram channels, and cos…
AbdulmalikAlayande Jul 8, 2026
6d5754d
Add test for combined limit and since parameters in getResourceUsageLogs
AbdulmalikAlayande Jul 8, 2026
11a398a
Add tests for daemon re-entrance guard after stopDaemon mid-cycle
AbdulmalikAlayande Jul 8, 2026
c6a1fb1
Add test for extension txHash/ledger null guard in runAutoExtensions
AbdulmalikAlayande Jul 8, 2026
93535ca
Add test for resolution notification failure logging in monitor cycle
AbdulmalikAlayande Jul 8, 2026
2c69b7c
Upgrade @stellar/stellar-sdk to v16 and fix vitest vulnerability
AbdulmalikAlayande Jul 10, 2026
4eb1603
feat: define alert event types and helper functions for notification …
AbdulmalikAlayande Jul 10, 2026
08630ea
Fix useless assignment lint errors in alert template context builder
AbdulmalikAlayande Jul 10, 2026
9e320e4
Fix unnecessary escape lint errors in zsh completion script generation
AbdulmalikAlayande Jul 10, 2026
82bd1e9
Fix TypeScript type narrowing for StateChangeAlertEvent in template c…
AbdulmalikAlayande Jul 10, 2026
0a6e53d
Remove unused CostSummary import and fix sequence type for stellar-sd…
AbdulmalikAlayande Jul 10, 2026
fa568df
Fix envelopeXdr type for stellar-sdk v16 GetTransactionResponse
AbdulmalikAlayande Jul 10, 2026
f498cab
Fix error type narrowing in status command catch block
AbdulmalikAlayande Jul 10, 2026
439316c
Bump version to 1.0.0 and remove unnecessary optional dependency
AbdulmalikAlayande Jul 10, 2026
4df6c32
Add auto-release workflow on version bump
AbdulmalikAlayande Jul 10, 2026
7ce208b
Fix release workflow to use tag-based version detection
AbdulmalikAlayande Jul 10, 2026
6df3ba2
Consolidate publish into release workflow and remove publish.yml
AbdulmalikAlayande Jul 10, 2026
5ebd335
Add security policy for vulnerability disclosure
AbdulmalikAlayande Jul 27, 2026
9e3feaf
Add code of conduct
AbdulmalikAlayande Jul 27, 2026
5f97176
Add bug report and feature request issue templates
AbdulmalikAlayande Jul 27, 2026
fb97e8c
Add pull request template
AbdulmalikAlayande Jul 27, 2026
b76d86a
Add CODEOWNERS with mandatory review on key-handling paths
AbdulmalikAlayande Jul 27, 2026
51169eb
Add architecture doc explaining the daemon cycle data flow
AbdulmalikAlayande Jul 27, 2026
3a43318
Link ARCHITECTURE.md, SECURITY.md, and CODE_OF_CONDUCT.md from CONTRI…
AbdulmalikAlayande Jul 27, 2026
7d5147c
Link new governance docs and expand roadmap in README
AbdulmalikAlayande Jul 27, 2026
569352e
Move dispatcher.test.ts into the active tests/ tree
AbdulmalikAlayande Jul 27, 2026
13f9a44
Add tests for alert channel registry
AbdulmalikAlayande Jul 27, 2026
ef55404
Add alert channel registry
AbdulmalikAlayande Jul 27, 2026
fb947ae
Add tests for built-in alert channel registration
AbdulmalikAlayande Jul 27, 2026
dfbfcf0
Register the five built-in alert channels via the registry
AbdulmalikAlayande Jul 27, 2026
cda333e
Source dispatcher's default channel map from the registry
AbdulmalikAlayande Jul 27, 2026
71e8c83
Add tests for relaxed channel_type CHECK constraints
AbdulmalikAlayande Jul 27, 2026
616b98d
Relax channel_type CHECK constraints for pluggable alert channels
AbdulmalikAlayande Jul 27, 2026
b50e46b
Fix CRLF-unsafe comment-stripping regex and add channel_type live mig…
AbdulmalikAlayande Jul 27, 2026
14cba90
Widen channel_type types from fixed unions to string
AbdulmalikAlayande Jul 27, 2026
4069c5c
Remove dead per-test schema rebuild and add plugin channel_type tests
AbdulmalikAlayande Jul 27, 2026
7c2df98
Add tests for registry-driven CLI channel resolution
AbdulmalikAlayande Jul 27, 2026
68312bc
Make 'alerts add' channel resolution registry-driven
AbdulmalikAlayande Jul 27, 2026
7f3d72e
Add contributor guide for adding a new alert channel
AbdulmalikAlayande Jul 27, 2026
4938e16
Update ARCHITECTURE.md's contribution table for the alert channel reg…
AbdulmalikAlayande Jul 27, 2026
35d9237
Update good-first-issue example to reflect the alert channel registry
AbdulmalikAlayande Jul 27, 2026
044d91b
added a madarin readme
SpacePanda7077 Jul 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 19 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.git
.gitignore
node_modules
dist
tests
coverage
*.log
.env
.env.*
.env.example
.npmrc
README.md
CONTRIBUTING.md
LICENSE
stdout
docker-compose*.yaml
systemd/
docs/
templates/
39 changes: 39 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# ─────────────────────────────────────────────────────────────────────────────
# sorokeep — environment variable reference
#
# Copy this file to .env and fill in the values for your deployment target.
# Docker Compose will automatically load variables from a .env file in the
# same directory as docker-compose.yaml.
# ─────────────────────────────────────────────────────────────────────────────

# ── Network ───────────────────────────────────────────────────────────────────
# Which Stellar network the daemon will monitor.
# Accepted values: mainnet | testnet | standalone
SOROKEEP_NETWORK=standalone

# ── Soroban RPC endpoint ──────────────────────────────────────────────────────
# Full URL to the Soroban RPC endpoint.
# When running alongside the Quickstart container, the service name "stellar"
# resolves inside the Docker bridge network.
#
# Local devnet (default):
SOROKEEP_RPC_URL=http://stellar:8000/soroban/rpc
#
# Stellar Testnet public endpoint:
# SOROKEEP_RPC_URL=https://soroban-testnet.stellar.org

# ── Polling interval ──────────────────────────────────────────────────────────
# How often (in milliseconds) the daemon checks contract TTLs.
# Minimum: 10000 (10 seconds)
# Default: 300000 (5 minutes)
# Recommended for local devnet: 30000 (30 seconds)
SOROKEEP_POLLING_INTERVAL=300000

# ── Logging ───────────────────────────────────────────────────────────────────
# Log verbosity level (debug | info | warn | error).
# Set to "debug" for local development / devnet runs.
LOG_LEVEL=info

# ── Node environment ──────────────────────────────────────────────────────────
# Keep "production" unless you are actively hacking on the daemon itself.
NODE_ENV=production
13 changes: 13 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Default owner for everything in the repo, unless a more specific rule below matches.
* @AbdulmalikAlayande

# Anything touching secret-key handling or transaction submission gets
# mandatory review — see SECURITY.md for why these paths are sensitive.
/src/core/extension.ts @AbdulmalikAlayande
/src/core/channels.ts @AbdulmalikAlayande
/src/core/vault.ts @AbdulmalikAlayande
/src/core/aws_secrets.ts @AbdulmalikAlayande
/src/db/schema.sql @AbdulmalikAlayande

/.github/ @AbdulmalikAlayande
/SECURITY.md @AbdulmalikAlayande
80 changes: 80 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Bug Report
description: Something in sorokeep isn't working as expected
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
Before filing, check the [open issues](https://github.com/AbdulmalikAlayande/sorokeep/issues) for a duplicate.
If this is a security vulnerability (key leakage, unintended transactions, signature bypass), do **not** file it here — use [Security Advisories](https://github.com/AbdulmalikAlayande/sorokeep/security/advisories/new) instead.

- type: input
id: version
attributes:
label: Sorokeep version
description: Output of `sorokeep --version` or the npm version installed
placeholder: "1.0.0"
validations:
required: true

- type: dropdown
id: command
attributes:
label: Which command or component?
options:
- watch
- status
- daemon
- alerts
- guard (auto-extension)
- costs
- restore
- resources
- budget
- channels
- inspect
- check
- db
- MCP server
- Other / not command-specific
validations:
required: true

- type: textarea
id: what-happened
attributes:
label: What happened?
description: What you expected vs. what actually happened
validations:
required: true

- type: textarea
id: repro
attributes:
label: Steps to reproduce
description: Minimal steps, including the exact command(s) run. Redact contract IDs/secrets if they're sensitive.
placeholder: |
1. sorokeep watch C... --network testnet
2. sorokeep guard C... --keypair-env STELLAR_SECRET_KEY --auto-extend
3. ...
validations:
required: true

- type: textarea
id: logs
attributes:
label: Relevant logs or error output
description: Paste any error output or daemon logs. Sorokeep never logs secret keys, but double-check before pasting.
render: shell

- type: input
id: network
attributes:
label: Network
placeholder: "testnet / mainnet / local sandbox"

- type: input
id: node-version
attributes:
label: Node.js version
placeholder: "22.x"
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Feature Request
description: Propose a new capability or improvement
labels: ["enhancement", "needs-discussion"]
body:
- type: markdown
attributes:
value: |
Per [CONTRIBUTING.md](https://github.com/AbdulmalikAlayande/sorokeep/blob/main/CONTRIBUTING.md#larger-contributions), open an issue and get alignment **before** writing code for anything beyond a small fix — especially new CLI commands, schema changes, or changes to the monitor/daemon cycle. This template is that discussion.

- type: textarea
id: problem
attributes:
label: What problem does this solve?
description: Describe the gap or pain point. Prefer a real scenario over an abstract one.
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed solution
description: What would you build? A new command, a new alert channel, a schema change, etc.
validations:
required: true

- type: dropdown
id: area
attributes:
label: Which area does this touch?
options:
- New alert channel
- CLI command / UX
- Database schema
- Monitor / daemon cycle
- Auto-extension logic
- MCP server / tools
- Docs
- CI/CD / release process
- Other
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Anything else you thought about, including "do nothing" if relevant

- type: checkboxes
id: willing
attributes:
label: Contribution
options:
- label: I'm willing to implement this myself with guidance
- label: I'm proposing this for someone else to pick up
26 changes: 26 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## What does this PR do?

<!-- One or two sentences. Link the issue this addresses, if any: Closes #123 -->
Comment on lines +1 to +3

## Why?

<!-- The motivation — what problem this solves or what it enables. -->

## Does this touch secret-key handling or transaction submission?

<!-- If yes (extension.ts, channels.ts, restore, key resolution from env/AWS/Vault), say so explicitly — reviewers will scrutinize this path per SECURITY.md. -->

- [ ] Yes — see notes above
- [ ] No

## Checklist

- [ ] Tests pass (`npm test`)
- [ ] Type check passes (`npx tsc --noEmit`)
- [ ] Lint passes (`npm run lint`)
- [ ] Tests cover the new functionality (TDD preferred — see [CONTRIBUTING.md](../CONTRIBUTING.md#test-driven-development))
- [ ] No unnecessary dependencies added
- [ ] Commit messages follow [conventional format](../CONTRIBUTING.md#commits)
- [ ] No `console.log` in core logic
- [ ] ADR added if this is a significant design decision (see [docs/adr](../docs/adr))
- [ ] E2E sandbox tested, if this touches RPC or daemon behavior (see [docs/e2e-sandbox.md](../docs/e2e-sandbox.md))
50 changes: 37 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,47 @@
name: CI
name: CI Pipeline

on:
push:
branches: [main]
branches: [ "main" ]
pull_request:
branches: [main]
branches: [ "main" ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
test:
build-and-test:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22]
node-version: [22.x]

steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- run: npx vitest run
- run: npx tsc --noEmit
- name: Checkout Repository
uses: actions/checkout@v4

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Clean Install Dependencies
run: npm ci

- name: Audit Dependencies
run: npm audit --audit-level=high

- name: Lint Code
run: npm run lint

- name: Run Tests
run: npm run test -- --coverage

- name: Build Project
run: npm run build
59 changes: 0 additions & 59 deletions .github/workflows/publish.yml

This file was deleted.

Loading
Loading