Michael Muré
3cf1de6b67
policy: fix distrinction between "no data" and "optional not data"
2024-11-04 11:15:32 +01:00
Michael Muré
400f689a85
literal: some better typing
2024-11-04 11:15:12 +01:00
Fabio Bozzo
6717a3a89c
refactor: simplify optional selector handling
...
Let Select() handle optional selectors by checking its nil return value, rather than explicitly checking IsOptional()
Applied this pattern consistently across all statement kinds (Equal, Like, All, Any, etc)
2024-11-04 10:56:06 +01:00
Fabio Bozzo
9e9c632ded
revert typo
2024-11-01 17:47:47 +01:00
Fabio Bozzo
b210c69173
tests for partial match
2024-11-01 17:43:55 +01:00
Fabio Bozzo
6d85b2ba3c
additional tests for optional selectors
2024-11-01 13:07:46 +01:00
Fabio Bozzo
76c015e78b
feat(meta): values symmetric encryption
2024-10-31 18:24:54 +01:00
Michael Muré
7662fe34db
policy: implement partial matching, to evaluate in multiple steps with fail early
2024-10-24 16:21:57 +02:00
Michael Muré
6d0fbd4d5a
minor cleanups
2024-10-24 14:46:01 +02:00
Michael Muré
e76354fb0a
Merge pull request #47 from ucan-wg/simplify-literal
...
literal: simplify package with built-in functions
2024-10-24 14:33:33 +02:00
Michael Muré
a1c2c5c067
literal: simplify package with built-in functions
2024-10-24 12:55:06 +02:00
Fabio Bozzo
2ea9f8c93b
clamp start idx to length for out of bound
2024-10-24 12:44:25 +02:00
Fabio Bozzo
00ff88ef23
add slicing/indexing for bytes kind
2024-10-24 12:27:01 +02:00
Michael Muré
a8780f750c
policy: remove remnant of policy matching, that concept doesn't really work with complex policies
...
Maybe it will be revived later.
2024-10-24 11:17:38 +02:00
Michael Muré
c70f68b886
selector: remove incorrect tests
...
https://github.com/ucan-wg/delegation/issues/5#issuecomment-2434713564
My understanding is that a few of those example are now incorrect/obsolete:
String Index: as per @expede, indexing on strings is now disallowed, to match jq
Optional Iterator, .[][]?: the spec says that iterator on arrays are no-op. It makes sense imho, as jq output multiple values with that, which we can't.
Nested Iterator, .[][]: same reason
2024-10-24 11:11:25 +02:00
Michael Muré
a27eb258e5
selector: remove remnant of policy matching, that concept doesn't really work with complex policies
...
Maybe it will be revived later.
2024-10-24 11:07:00 +02:00
Fabio Bozzo
866683347f
disable support for string indexing
2024-10-23 18:25:16 +02:00
Fabio Bozzo
2fafbe7bf3
enable string indexing/slicing and new selector tests
2024-10-23 17:01:00 +02:00
Fabio Bozzo
1728bf29b8
add more parsing tests
2024-10-23 16:37:35 +02:00
Michael Muré
8fac97b7e7
fix some edge cases:
...
- slicing is start:end, not start:length, but importantly start to *excluded* end
- backward slicing is illegal
- slicing on string is allowed
- slicing on strings operates on runes, not bytes
2024-10-23 12:18:03 +02:00
Michael Muré
7ad940844c
selector: disallow backward slicing
2024-10-23 11:31:41 +02:00
Fabio Bozzo
52ae2eaf60
fix inconsistent test expectations
2024-10-23 11:25:07 +02:00
Michael Muré
570bcdcb6c
policy: comment out "filtering" of policies, concept that doesn't really work
2024-10-23 11:25:07 +02:00
Michael Muré
5abb870462
policy: follow the changes in selector, operate on a single returned node
2024-10-23 11:25:07 +02:00
Fabio Bozzo
4ec675861d
propose fix for inconsistent test expectations
2024-10-22 17:33:28 +02:00
Fabio Bozzo
b941b507e0
fix optional identity parsing (no idempotent)
2024-10-22 14:13:12 +02:00
Michael Muré
e66beb662e
selector: rework to match the spec, cleanup lots of edge cases
...
- removed field selection against a list
- a selector return exactly one node, or nil
- implemented the full set of slicing, including negative indexes
- plenty of other cleanup and simplification
2024-10-22 13:47:53 +02:00
Michael Muré
7fa3ba1492
policy: add a way to filter policies with a path
...
Based on exploration work https://github.com/ucan-wg/go-ucan/pull/27
2024-10-16 13:48:01 +02:00
Michael Muré
081d382028
selector: Select is now a method
2024-10-15 17:26:49 +02:00
Michael Muré
2ad3aeb6da
policy: match is now a method of Policy
2024-10-15 16:53:06 +02:00
Michael Muré
51e8d5ce04
policy: fluent construction
2024-10-15 13:06:46 +02:00
Michael Muré
5f2877f0ff
delegation: make the examples more examply, less testy
2024-10-14 12:46:28 +02:00
Michael Muré
100a510097
pkg/container: harden the CAR file round-trip with fuzzing
2024-10-09 18:38:35 +02:00
Michael Muré
3e3c5a83cc
command: make the type a string, for easier equality test
2024-10-09 17:53:05 +02:00
Michael Muré
40639b6715
container: add readme, remove extra formats, remove go-ipld-cbor dependency
2024-10-07 18:46:19 +02:00
Michael Muré
60922ced96
container: split into reader+writer
2024-10-02 13:43:17 +02:00
Michael Muré
f7b4b48791
container: more experiments
2024-10-02 13:43:17 +02:00
Michael Muré
346efbd31d
container: add cbor serialisation
2024-10-02 13:43:17 +02:00
Michael Muré
df9beadf9c
add a token container with serialization as CARv1 file
2024-10-02 13:43:16 +02:00
Steve Moyer
6075c19957
feat: reorganize packages
2024-09-24 11:40:28 -04:00
Michael Muré
4749243e3c
delegation: use the fancy Meta
2024-09-19 10:48:25 +02:00
Michael Muré
989f409fd0
add a pkg to handle meta values
2024-09-18 10:02:17 +02:00