Skip to content

Commit

Permalink
Start in on the bones
Browse files Browse the repository at this point in the history
  • Loading branch information
expede committed Oct 16, 2023
1 parent 46db571 commit 2fdcf04
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 32 deletions.
21 changes: 18 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,31 @@

- [DAG-CBOR]
- [DID]
- [UCAN Delegation]
- [UCAN Invocation]

## Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [BCP 14] when, and only when, they appear in all capitals, as shown here.

# 0 Abstract

This specification describes a mechanism for extending UCAN [Invocation]s with distributed [promise pipeline]s.

# 5 Prior Art
# 1 Introduction

## 1.1 Motivation

# 2 Format

| Tag | Type | Description |
|---------------|---------|-------------|
| `await/*` | `&Task` | |
| `await/ok` | `&Task` | |
| `await/error` | `&Task` | |

# 3 Resolution

# 4 Prior Art

[ucanto RPC] from [DAG House] is a production system that uses UCAN as the basis for an RPC layer.

Expand All @@ -36,7 +51,7 @@ The Object Capability Network ([OCapN]) protocol extends [CapTP] with a generali

[Cap 'n Proto RPC] is an influential RPC framework based on concepts from [CapTP].

# 6 Acknowledgements
# 5 Acknowledgements

Many thanks to [Mark Miller] for his [trail blazing work][erights] on [capability systems].

Expand Down
34 changes: 5 additions & 29 deletions promise.ipldsch
Original file line number Diff line number Diff line change
@@ -1,29 +1,5 @@
type Invocation struct {
inv &InvocationPayload
sig Signature
}

type InvocationPayload struct {
uiv SemVer

iss DID
aud DID

run &Task
cse optional &Receipt
}

type Task struct {
act &Command
mta {String : Any}
prf [&Delegation]
exp optional Integer
}

type Action {
cmd Command
arg {String : Any}
nnc String

sub optional DID
}
type Promise union {
| &Task "await/*"
| &Task "await/ok"
| &Task "await/error"
} representation keyed

0 comments on commit 2fdcf04

Please sign in to comment.