Commit Graph

55 Commits

Author SHA1 Message Date
53883c04f1 fix: correct Gitea Alpine package registry upload URL
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:15:08 +02:00
c12452fff1 fix: use abuild-keygen key for signing instead of mismatched openssl key
All checks were successful
Build and Publish APK Package / build-apk (push) Successful in 45s
Build and Push Docker Container / build-and-push (push) Successful in 1m48s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:09:59 +02:00
4374befa42 refactor: remove AX_DB_PATH env var support from store layer
Some checks failed
Build and Push Docker Container / build-and-push (push) Has been cancelled
Build and Publish APK Package / build-apk (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 03:07:42 +02:00
595bb78599 Fix APKBUILD: use direct srcdir path in build function
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 49s
Build and Push Docker Container / build-and-push (push) Successful in 1m49s
2026-04-02 03:03:06 +02:00
e6a2e01d9d Fix apk-publish: add build-base dep, net option, and apk update
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 15s
Build and Push Docker Container / build-and-push (push) Successful in 1m48s
2026-04-02 02:58:34 +02:00
1e6c58a0cb Fix apk-publish workflow: place source tarball in APKBUILD directory
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 15s
Build and Push Docker Container / build-and-push (push) Has been cancelled
2026-04-02 02:56:54 +02:00
f11d1d0cac Fix apk-publish workflow: add git safe.directory config
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 17s
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
2026-04-02 02:54:07 +02:00
c17952e6ac Fix apk-publish workflow: create source tarball from local git checkout
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 14s
Build and Push Docker Container / build-and-push (push) Has been cancelled
2026-04-02 02:52:31 +02:00
aa5f124b5f Fix apk-publish workflow: run abuild as non-root user
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 17s
Build and Push Docker Container / build-and-push (push) Has been cancelled
2026-04-02 02:50:33 +02:00
58b8fef731 Fix apk-publish workflow: add nodejs dependency and use dynamic home path
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 14s
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
2026-04-02 02:46:43 +02:00
cac3221bbf Add Alpine APK packaging and update CI for versioned releases
Some checks failed
Build and Publish APK Package / build-apk (push) Failing after 18s
Build and Push Docker Container / build-and-push (push) Successful in 1m48s
2026-04-02 02:41:47 +02:00
64d4a9fe90 rename ax server docker file
All checks were successful
Build and Push Docker Container / build-and-push (push) Successful in 1m47s
2026-04-02 02:36:54 +02:00
4461c4fcff add docker build pipeline
All checks were successful
Build and Push Docker Container / build-and-push (push) Successful in 4m38s
2026-04-02 02:28:19 +02:00
252503a572 refactor: move e2e tests into src/e2e directory 2026-04-02 02:23:00 +02:00
6821112c8f refactor: remove AX_DB_PATH env var, fix Dockerfile for src/ layout 2026-04-02 02:19:48 +02:00
921f4913f8 fix: correct GetProperty bug, init to use .ax/, add default aliases, split e2e tests, add due date tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:58:48 +02:00
5969a2591c feat: reduce default node ID length to 3 and auto-grow when exhausted
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:21:00 +02:00
2a48ea046b fix: invert FindAndOpenSQLiteStore existence check
The condition was backwards — it exited with "database already exists"
when the file was found, and tried to open it when it did not exist.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 01:09:38 +02:00
51341eeb84 refactor: remove service factory wrappers, call store init methods directly
Replace InitNodeService/GetNodeService/GetNodeServiceForUser with thin
NewLocalNodeService/NewRemoteNodeService constructors; move wiring logic
into cmd/root.go (getNodeService helper) and an inline closure in serve.go.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 00:56:45 +02:00
03a896d23f refactor: consolidate packages - move output to cmd, config/session to store, rename Store to GraphStore 2026-04-02 00:42:55 +02:00
2bcc310c6d move funcs from cmd/rel.go to cmd/root.go 2026-04-01 22:39:44 +02:00
706baf81aa add gitignore 2026-04-01 22:30:01 +02:00
e42397cc7a move src file to seperate direcotry 2026-04-01 22:29:20 +02:00
228cefb921 feat: replace namespace permissions with per-node graph permission model (can_read/can_create_rel/can_write/has_ownership)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 22:11:15 +02:00
52a975b66d feat: add OIDC authentication for server mode 2026-04-01 19:33:15 +02:00
7bce56384f add dockerfiler 2026-04-01 15:12:00 +02:00
7292751ef7 feat: add remote NodeService client backed by the HTTP API
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 13:18:31 +02:00
3dfc46c3ff feat: add ax serve command with JSON API backed by NodeService
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 13:04:29 +02:00
9e5194893e fix: bootstrap namespace self-ref and write access when created explicitly via --type namespace
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 12:55:21 +02:00
6288879468 refactor: unify tags and edges into single rels table 2026-04-01 12:50:45 +02:00
27c72db042 clean up node.go 2026-04-01 00:39:20 +02:00
77d3205e12 refactor: simplify Node struct with public Tags/Relations fields 2026-04-01 00:13:43 +02:00
4020e5dab3 feat: add namespace-based access control with read/write permissions 2026-03-31 23:52:24 +02:00
4a2e868150 refactor: bind NodeService to a user and expose User() on the interface
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 23:18:36 +02:00
cb16bda200 refactor: simplify service interface to use tags/rels for all node properties
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 23:10:56 +02:00
4404518f50 test: add e2e test suite and fix namespace/mention/assignee flags
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 22:36:49 +02:00
8d831d131b refactor: clean up NodeService interface; move all integrity logic behind it 2026-03-31 15:55:47 +02:00
ed9117951f refactor: introduce store.Store graph interface with SQLite implementation 2026-03-31 15:38:06 +02:00
d569a4dea9 test: add e2e test suite and fix namespace/mention/assignee flags 2026-03-29 23:56:43 +02:00
dadd3d9e13 refactor: add tag and relation methods to node to enforce integrity 2026-03-29 23:16:44 +02:00
4ebcb88628 refactor: remove db package and move database logic to service layer 2026-03-29 21:28:27 +02:00
6ff013dd2a refactor: convert inbox command to default alias 2026-03-29 19:56:15 +02:00
535626d198 feat: rename create and delete commands to add and del 2026-03-29 19:46:43 +02:00
68f4b67283 fix: properties like type were not correctly replaced when updating a node 2026-03-29 19:27:18 +02:00
55fd63be15 refactor: remove unused db relational methods 2026-03-29 19:24:06 +02:00
a04750dd15 refactor: simplify db and cmd flags, reduce code duplication
- Abstract property flags into addPropertyFlags in cmd/root.go and apply to commands
- Remove unused GetUserByUsername from db.go (it's redundant with service.resolveUserIDByName)
- Use configured user in WithMentions directly in inbox command
- Refactor resolve methods in node_service_sqlite.go to reduce duplication
2026-03-29 19:22:44 +02:00
05261522a0 fix: alias argument expansion with flags and spaces
Fixes an issue where alias arguments containing spaces or flags were being split incorrectly by using strings.Fields on the substituted command string. Instead, the command string is tokenized first and then substitution happens on each token.

Also disables Cobra flag parsing for aliases dynamically so that arguments and flags correctly cascade down to the target command instead of throwing unknown flag errors.
2026-03-29 19:09:06 +02:00
13b4c4b651 Fix assignee filter bug in List 2026-03-29 18:58:34 +02:00
9e8c37564f switch mentions from _inbox tags to mentions relation 2026-03-29 15:51:46 +02:00
f907657c6f switch namespaces from tags to relations with auto-creation 2026-03-28 04:15:36 +01:00