Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 67 additions & 4 deletions openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,10 @@
"type": "string",
"description": "The item's identifier at its source. With `source`, it is the item's natural key. Absent if the writer set none."
},
"read_only": {
"type": "boolean",
"description": "`true` if every connector with a live write key for the item's type that owns or claims its `source` lists the type in `read_only_types`, so it puts back an edit made in Marfa on its next run. Marfa doesn't refuse the edit."
},
"capture_latitude": {
"type": "number",
"description": "The latitude where the item was captured. Absent if the writer set none."
Expand Down Expand Up @@ -511,6 +515,7 @@
"version",
"schema_version",
"source",
"read_only",
"occurred_at",
"created_at",
"updated_at",
Expand Down Expand Up @@ -4258,6 +4263,13 @@
}
]
},
"conflicts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TypeConflict"
},
"description": "The fields this type declares in another shape than a type above it. Present only while there are some, and it clears once the type declares the shape above. Items of the type stay readable."
},
"own_roles": {
"type": "array",
"items": {
Expand Down Expand Up @@ -4481,6 +4493,39 @@
"additionalProperties": {},
"description": "One member of the entries of an `array` field."
},
"TypeConflict": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "The name of the field the type declares."
},
"attribute": {
"type": "string",
"description": "The first part of the field's shape that differs, such as `type`."
},
"inherited_from": {
"type": "string",
"description": "The ID of the type above this one that declares the field."
},
"inherited": {
"type": "string",
"description": "What the types above give the field, such as `type \"string\"`."
},
"declared": {
"type": "string",
"description": "What this type declares, such as `type \"number\"`."
}
},
"required": [
"field",
"attribute",
"inherited_from",
"inherited",
"declared"
],
"description": "A field this type declares in a shape a type above it declares differently."
},
"TypeDefinition": {
"type": "object",
"properties": {
Expand Down Expand Up @@ -6687,7 +6732,7 @@
},
"updated_at": {
"type": "string",
"description": "When the connector's name or description was last set."
"description": "When the connector's name, description or `read_only_types` was last set."
},
"last_heartbeat_at": {
"type": [
Expand All @@ -6696,6 +6741,14 @@
],
"description": "When the connector last sent a heartbeat; `null` if never."
},
"read_only_types": {
"type": "array",
"items": {
"type": "string",
"example": "app.github.issue"
},
"description": "The types whose items the connector holds read only, putting back any edit made in Marfa. `[]` if it declared none."
},
"last_run": {
"anyOf": [
{
Expand Down Expand Up @@ -6734,6 +6787,7 @@
"registered_at",
"updated_at",
"last_heartbeat_at",
"read_only_types",
"last_run",
"problems",
"hold_expires_at"
Expand Down Expand Up @@ -42037,7 +42091,7 @@
"Connectors"
],
"summary": "Register a connector",
"description": "Registers your key as a connector and returns it. Repeating registration updates its name and description and keeps its ID. A successor key inherits its own source's inbound endpoints and retained deliveries.",
"description": "Registers your key as a connector and returns it. Repeating registration replaces its name, description and `read_only_types` and keeps its ID. A successor key inherits its own source's inbound endpoints and retained deliveries.",
"security": [
{
"bearerAuth": []
Expand All @@ -42060,6 +42114,15 @@
"type": "string",
"maxLength": 2000,
"description": "What the connector does. Leave it out for none: registering again without it clears the old one."
},
"read_only_types": {
"type": "array",
"items": {
"type": "string",
"example": "app.github.issue"
},
"maxItems": 1000,
"description": "The types whose items the connector holds read only, putting back any edit made in Marfa. An item reads `read_only` as `true` when every connector for its source whose live key may write its type lists the type. The types needn't be registered. Leaving it out clears the list."
}
},
"required": [
Expand All @@ -42072,7 +42135,7 @@
},
"responses": {
"200": {
"description": "Returns the existing connector with its name and description updated. Its `id` and `registered_at` don't change.",
"description": "Returns the existing connector with its name, description and `read_only_types` replaced. Its `id` and `registered_at` don't change.",
"content": {
"application/json": {
"schema": {
Expand Down Expand Up @@ -42126,7 +42189,7 @@
}
},
"400": {
"description": "- `missing_required_field`: `name` is missing.\n- `validation_error`: `name` isn't 1 to 200 characters, `description` is over 2,000 characters, or the body has a top-level field this endpoint doesn't take.",
"description": "- `missing_required_field`: `name` is missing.\n- `validation_error`: `name` isn't 1 to 200 characters, `description` is over 2,000 characters, `read_only_types` holds a malformed type identifier or over 1,000 entries, or the body has a top-level field this endpoint doesn't take.",
"content": {
"application/json": {
"schema": {
Expand Down
2 changes: 1 addition & 1 deletion scripts/sync-from-marfa.sh
Original file line number Diff line number Diff line change
Expand Up @@ -943,7 +943,7 @@ ITEM_GROUPS = (
("Identity", ("id", "type", "tier")),
("Content", ("properties", "edges", "extensions")),
("Origin", ("source", "source_id", "capture_latitude", "capture_longitude")),
("State", ("state", "trashed_at", "trashed_by_cascade", "trashed_with")),
("State", ("state", "read_only", "trashed_at", "trashed_by_cascade", "trashed_with")),
("Version", ("version", "schema_version")),
("Time", ("occurred_at", "created_at", "updated_at")),
)
Expand Down
1 change: 1 addition & 0 deletions src/generated/catalog/item-fields.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
| Field | Kind | Description |
| -------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `state` | `enum` | The item's lifecycle state. Values: `active`, `archived`, `trashed`, `revoked`. |
| `read_only` | `boolean` | `true` if every connector with a live write key for the item's type that owns or claims its `source` lists the type in `read_only_types`, so it puts back an edit made in Marfa on its next run. Marfa doesn't refuse the edit. |
| `trashed_at` | `string` or `null` | When the item went to the trash, in UTC, or when a `system.*` item was revoked. A later write to the item leaves it as it is, and a restore clears it. `null` for an item outside the trash, and for one an archive restored to the trash without a time. |
| `trashed_by_cascade` | `boolean` | Always `true` where present: the item went to the trash with another item, through a cascading edge such as `parent-of`. Present while it stays in the trash. Absent on an item trashed on its own. |
| `trashed_with` | `string` | The ID of the item whose trash took this one into the trash, beside `trashed_by_cascade`, whatever became of that item since. Present only if you can read that item's type. |
Expand Down
2 changes: 1 addition & 1 deletion src/generated/cli-download.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
```bash
curl -fsSL https://github.com/withmarfa/marfa/releases/download/v0.0.53/marfa-0.0.53-darwin-arm64.tar.gz | tar -xz
curl -fsSL https://github.com/withmarfa/marfa/releases/download/v0.0.54/marfa-0.0.54-darwin-arm64.tar.gz | tar -xz
sudo mkdir -p /usr/local/bin
sudo mv marfa /usr/local/bin/
marfa --version
Expand Down
39 changes: 32 additions & 7 deletions src/generated/contract-index.json
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@
"blobs/file-size-stale-merges": "c37426d88dbbe3ff"
},
"connectors": {
"connectors/register-created": "ba618cc8e54e96b6",
"connectors/register-created": "258e0a50d90b2c50",
"connectors/register-key-and-source": "7d2909342595c103",
"connectors/register-fresh-nulls": "bd12c3bbe22c1420",
"connectors/register-name-bounds": "eabf90995cee557e",
Expand All @@ -183,6 +183,12 @@
"connectors/register-repeat": "b00578633899b3a2",
"connectors/register-repeat-sets": "117e7d545249c9cc",
"connectors/register-repeat-no-description": "092de9e197f29461",
"connectors/read-only-types-stored": "84d55d45af86a01b",
"connectors/read-only-types-unregistered": "be080777e57cf6d5",
"connectors/read-only-types-malformed": "68cd30d01bd4bb3d",
"connectors/read-only-types-bounds": "3eca21d856fc0b67",
"connectors/read-only-types-repeat": "b4e23460d512f16f",
"connectors/read-only-types-cleared": "bf9351b933d79639",
"connectors/register-repeat-registered-at": "c61983ecb87d5920",
"connectors/register-repeat-updated-at": "7e3d0142a868b988",
"connectors/register-concurrent": "89cc0faeca95d28a",
Expand Down Expand Up @@ -1736,7 +1742,8 @@
"errors/bin-unreadable": "85d70e71d99c23a2",
"errors/bin-read": "97919e6b48ca0bef",
"errors/item-missing-bare": "86f57c491885dd44",
"errors/internal-error": "7c94f359aa098c88",
"errors/internal-error": "540061a5baf8b22d",
"errors/client-closed-request": "0d9f8838ff09afab",
"errors/internal-error-body": "371c885f3048a548",
"errors/internal-error-entry": "acb21fc45530648f",
"errors/internal-error-atomic": "e8b7f89a5fd029ae",
Expand Down Expand Up @@ -3616,7 +3623,7 @@
"instance/stop-within-eight": "41a6282b962dd665",
"instance/stop-exit-1-open-request": "c3195e3308645e64",
"instance/stop-slow-run-exit-0": "2b7bbfc0d1cc2a91",
"instance/long-job-health": "062c9b345f2495a1",
"instance/long-job-health": "5b684625c3144f02",
"instance/root-page": "c1c32057467c83fa",
"instance/root-description": "1a23cea416e66416",
"instance/root-vary": "83d7f57713e419b5",
Expand Down Expand Up @@ -3683,10 +3690,16 @@
"instance/test-contract-version": "9abf49b28dff9d7f",
"instance/test-migration-needs-hooks": "6c7d014c12578bba",
"instance/test-faults-cleared-at-start": "ebf3cdbd390b3e35",
"instance/telemetry-instance-id": "74c9710ddade37ea",
"instance/telemetry-exception-id": "49c3f87daa82ad6c",
"instance/telemetry-attributes": "60305bf4a7a14b60",
"instance/telemetry-service-name": "d2e0b09a92842b4c",
"instance/telemetry-exception-report": "70e8e4387f4ce705",
"instance/telemetry-exception-reporting-off": "3fe6efa0f6fadfb8",
"instance/telemetry-disabled": "c49d91a63150c421",
"instance/telemetry-exception-host-unusable": "93e850a271c7a46b",
"instance/telemetry-exception-host-unusable-traces": "55b6236b7bea2056",
"instance/telemetry-host-unusable-warning": "8a1348c4f2199217",
"instance/telemetry-instance-id": "104d18b36988ac9b",
"instance/telemetry-exception-id": "490572ef2bb816ed",
"instance/telemetry-attributes": "aea0c04105e182f1",
"instance/telemetry-service-name": "438ce1f7198badaf",
"instance/telemetry-error-environment": "d31ebd162b0f35b7",
"instance/settings-edge-accepted": "91747bce5932bd24",
"instance/settings-refused-exit": "98cf782ae12ae06b",
Expand All @@ -3706,6 +3719,14 @@
},
"items": {
"items/read-authorized-state": "65088fe42a188b8f",
"items/read-only-answered": "4b8173274f299f1e",
"items/read-only-true": "ce7dd7a72a2b2179",
"items/read-only-false": "884c143399738c59",
"items/read-only-key-gone": "e334c727cbc33dd2",
"items/read-only-key-may-write": "f92912663ee072cb",
"items/read-only-current": "82dabe34cf6ee11f",
"items/read-only-replay": "b6fb8fbbc27c435c",
"items/read-only-writable": "85162be94f427fd0",
"items/refusal-writes-nothing": "2a2c1664e8494de7",
"items/create": "673d6e04323545e2",
"items/create-defaults": "e6a85d81f383bc90",
Expand Down Expand Up @@ -5645,6 +5666,10 @@
"types/compatible-with-refused": "5e13ad050091e8ff",
"types/compatible-with-preserved": "aad48a3c912965b4",
"types/custom-lifecycle": "7d7376591002eb2b",
"types/conflict-listed": "1e31ad6b6d93690e",
"types/conflict-absent": "2ede08ccb9c24555",
"types/conflict-items-served": "8d7eb4c86d66b5a9",
"types/conflict-clears": "773cfb8fd1328e51",
"types/merge-policy": "25831575b00f0059",
"types/merge-policy-refused": "e4417faff5ba9518",
"types/field-grammar": "44363bba20ec8365",
Expand Down
2 changes: 1 addition & 1 deletion src/generated/marfa-release.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"version":"v0.0.53"}
{"version":"v0.0.54"}
4 changes: 2 additions & 2 deletions src/generated/server-image.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
```bash
docker pull ghcr.io/withmarfa/marfa-server:0.0.53
docker pull ghcr.io/withmarfa/marfa-server:0.0.54
docker run --name marfa -d --restart unless-stopped -p 127.0.0.1:8600:8600 \
-v marfa-data:/data --env-file marfa.env ghcr.io/withmarfa/marfa-server:0.0.53
-v marfa-data:/data --env-file marfa.env ghcr.io/withmarfa/marfa-server:0.0.54
```
Loading
Loading