Jaidyn Ann
7be6b396ee
Begin CLOS-based system for JSON-LD encoding/etc
...
So far, defining a JSON-LD node-type automagically
defines a CLOS class and a YASON-encoder; what
remains is the decoder.
… and also @context-propagation in the encoder.
2024-08-16 22:35:36 -05:00
Jaidyn Ann
0f93516cab
Support terms with ld-keywords as values
...
Like “type” → “@type”
2024-07-07 16:16:35 -05:00
Jaidyn Ann
29a9814008
Support parsing of expanded term definitions
...
Also adds some descriptive conditions used in
parsing; and changes the format of context
hash-tables.
2024-07-07 10:42:54 -05:00
Jaidyn Ann
a5567e043e
Reorganization, commenting; no functional change
2024-06-30 09:45:20 -05:00
Jaidyn Ann
66e70f327e
Support for remote JSON-LD contexts
2024-06-29 23:03:44 -05:00
Jaidyn Ann
1340707f1c
Begin a “good-enough” JSON-LD parser
2024-06-29 19:11:29 -05:00
Jaidyn Ann
54a5b1f434
Add new @id & @type slots, make @context a method
2024-06-28 00:08:07 -05:00
Jaidyn Ann
71f0c6442c
Retain unsupported ActivityStreams properties
...
So that parsing foreign objects at least doesn’t
cause us to lose any data.
2024-06-24 15:22:59 -05:00
Jaidyn Ann
16613eba51
ActivityVocabulary class and example-test tweaks
2024-06-23 22:49:11 -05:00
Jaidyn Ann
bb361465c3
Parse even unknown ActivityStreams classes
...
By means of a *default-class* that is a catch-all.
2024-06-23 22:47:55 -05:00
Jaidyn Ann
a2aec426ab
Add tests for remaining ActivityVocabulary types
2024-06-23 21:02:16 -05:00
Jaidyn Ann
56d4706557
Split activity-vocab package into two
...
Now, ACTIVITY-VOCABULARY solely contains class
definitions; all parsing/encoding is handled by
the ACTIVITY-STREAMS package.
2024-06-23 14:56:19 -05:00
Jaidyn Ann
5f1903b741
Add comprehensive testing package
...
… actually, this should’ve been committed a few
commits back. I guess I forgot to add the file!
Well, no need to edit git history just for that.
2024-06-23 12:58:01 -05:00
Jaidyn Ann
39b941e013
Rename project to activity-servist
...
Slightly less wrong, feels slightly less redundant!
2024-06-23 12:49:58 -05:00
Jaidyn Ann
4c9de6677e
Fix testing of nested objects
2024-06-23 12:18:41 -05:00
Jaidyn Ann
3f3370c194
Add base class AS-OBJECT in the hierarchy
...
This way, LINK (which as per ActivityVocabulary
spec doesn’t inherent OBJECT) can still be
generalized.
2024-06-23 12:17:40 -05:00
Jaidyn Ann
2501e3e0de
Fix handling of keys w multiple-words-like-this.
2024-06-23 12:16:56 -05:00
Jaidyn Ann
373f8a1194
Improve Makefile “test”, add general TEST package
2024-06-22 17:44:08 -05:00
Jaidyn Ann
bf404c7605
Add core object tests to ACTIVITY-VOCABULARY
...
… also add RUN function to both test packages.
2024-06-22 15:07:58 -05:00
Jaidyn Ann
fdbda3672f
Fix JSON serialization issue with double-commas
...
… I forgot to add an output to YASON:ENCODE!
2024-06-22 13:33:05 -05:00
Jaidyn Ann
8e58c7b1a4
Remove unused function, ALIST-REMOVE-KEYS
2024-06-22 00:33:28 -05:00
Jaidyn Ann
ddc3add769
Fix serializing @context & type in nested objects
2024-06-21 18:15:47 -05:00
Jaidyn Ann
299a529151
Formatting tweaks, no functional change
2024-06-19 22:13:49 -05:00
Jaidyn Ann
75e3a964a8
Begin parsing of ActivityPub JSON objects
...
It is naïve and error-prone, but it works somewhat well!
What remains, primarily, is error-handling.
2024-06-19 22:13:33 -05:00
Jaidyn Ann
780951faaa
Merge @contexts of nested JSON-LD objects
2024-06-19 19:07:22 -05:00
Jaidyn Ann
a12e02c51b
Re-organization, no functional change
2024-06-16 22:52:11 -05:00
Jaidyn Ann
b6582e2537
Encode AV object’s “type” into JSON objects
2024-06-16 22:51:09 -05:00
Jaidyn Ann
df994f3240
JSON tweaks: Objects-in-objects, ignore nil slots
2024-06-16 22:25:59 -05:00
Jaidyn Ann
c205dff8ea
Actually define a YASON encoder for every class
...
… I’m not even sure what I committed earlier.
2024-06-16 21:10:36 -05:00
Jaidyn Ann
f694f44f3b
Export all ActivityVocabulary slot accessors
2024-06-16 20:58:19 -05:00
Jaidyn Ann
c2a97ba600
Use slot for JSON @context; default slots to nil
2024-06-16 20:56:45 -05:00
Jaidyn Ann
41c09bd7e7
Define a base-bones YASON encoder for every type
...
Using macros and MOP… talk about overkill! But I
was too lazy to do it otherwise. =w=
2024-06-16 20:52:30 -05:00
Jaidyn Ann
963c03db89
Export classes from activity-vocabulary package
2024-06-12 22:36:13 -05:00
Jaidyn Ann
8cf27ed4d4
Add classes for ActivityVocab extended link types
2024-06-12 22:30:01 -05:00
Jaidyn Ann
b46f81caf3
Add ActivityVocab extended object types’ classes
2024-06-12 22:29:27 -05:00
Jaidyn Ann
e1aec19a43
Add classes for ActivityVocab extended Actor types
2024-06-12 22:21:48 -05:00
Jaidyn Ann
a604d74b5b
Classes for ActivityVocab’s extended Activities
2024-06-12 22:20:05 -05:00
Jaidyn Ann
984b3d5b2a
Begin work on ActivityVocabulary classes
2024-06-12 16:06:45 -05:00
Jaidyn Ann
4339dca96e
Rename OpenSSL signature more generically
2024-06-12 16:06:01 -05:00
Jaidyn Ann
4287ff4cd3
Add first unit test; also fix sha256sum
2024-06-10 22:16:54 -05:00
Jaidyn Ann
ee06e1e80d
Tweak system definitions
2024-06-10 19:28:18 -05:00
Jaidyn Ann
94ff3fa326
Formatting tweaks (No functional change)
2024-06-10 19:28:05 -05:00
Jaidyn Ann
566b5e696c
Split HTTP-signature functions into own package
...
Modularization!
2024-06-10 18:10:19 -05:00
Jaidyn Ann
6852d63a43
Fix system definition, move hard-coded key paths
2024-06-08 16:12:37 -05:00
Jaidyn Ann
a62cf06f1b
Fix HTTP-signatures vis-a-vis Pleroma
2024-06-08 16:12:02 -05:00
Jaidyn Ann
7adda41c71
Functional HTTP signatures
...
… using extenal binary of OpenSSL. Not ideal, but
it works for now!
2024-06-06 23:53:43 -05:00
Jaidyn Ann
b66c166aff
Move *.lisp to src/
2024-06-06 21:39:27 -05:00
Jaidyn Ann
dc2d58677f
Fix Content-type used
...
application/activity+json over
application/ld+json, which Pleroma doesn’t seem to
like.
2024-03-24 10:58:09 -05:00
Jaidyn Ann
05fd026c84
Begin authorization; tweak webfinger & user-profs
...
Tweaks webfinger output & user-profile data to be
more along the lines of Mastodon et. al.
Also contains the beginnings of
signature-generation required for actually sending
messages.
2023-12-19 23:37:33 -06:00
Jaidyn Ann
f48d5ed8c2
Basic support for .well-known/host-meta
2023-11-03 15:42:58 -05:00