@mrciphersmith/keryx 0.2.33 → 0.2.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/cli.js +3651 -1285
  2. package/docs/requirements/shared-agent-context/schemas/README.md +65 -0
  3. package/docs/requirements/shared-agent-context/schemas/access-receipt.schema.json +13 -0
  4. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-accepted-transition-failed-gate.json +1 -0
  5. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-accepted-transition-no-target-write.json +1 -0
  6. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-bound-work-no-flow-ref.json +1 -0
  7. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-duplicate-roles.json +1 -0
  8. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-evidence-missing-revision.json +1 -0
  9. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-proposal.json +1 -0
  10. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-resource-egress.json +1 -0
  11. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-spoofed-viewer-mutation.json +1 -0
  12. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-stale-evidence.json +1 -0
  13. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-time-order.json +1 -0
  14. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-unsafe-uri.json +1 -0
  15. package/docs/requirements/shared-agent-context/schemas/fixtures/invalid-workspace.json +1 -0
  16. package/docs/requirements/shared-agent-context/schemas/fixtures/replay-idempotency-corpus.json +1 -0
  17. package/docs/requirements/shared-agent-context/schemas/fixtures/valid-accepted-transition.json +1 -0
  18. package/docs/requirements/shared-agent-context/schemas/fixtures/valid-access-receipt.json +1 -0
  19. package/docs/requirements/shared-agent-context/schemas/fixtures/valid-fwk-receipt.json +1 -0
  20. package/docs/requirements/shared-agent-context/schemas/fixtures/valid-proposal.json +1 -0
  21. package/docs/requirements/shared-agent-context/schemas/fixtures/valid-review-decision.json +1 -0
  22. package/docs/requirements/shared-agent-context/schemas/fixtures/valid-workspace.json +1 -0
  23. package/docs/requirements/shared-agent-context/schemas/fwk-receipt.schema.json +28 -0
  24. package/docs/requirements/shared-agent-context/schemas/review-decision.schema.json +18 -0
  25. package/docs/requirements/shared-agent-context/schemas/workspace-manifest.schema.json +37 -0
  26. package/docs/requirements/shared-agent-context/schemas/workspace-proposal.schema.json +22 -0
  27. package/package.json +8 -2
@@ -0,0 +1,65 @@
1
+ # Shared Agent Context — Schemas and Fixtures
2
+ Version: 1.4.0
3
+
4
+ ## Purpose
5
+
6
+ These are the normative data contracts used by the implemented SAC phases.
7
+ They use JSON Schema Draft 2020-12. Fixtures define the minimum validator and
8
+ integration-test corpus. The
9
+ implementation must enable format assertion and run the semantic validator for
10
+ the declared `x-` invariants: canonical SubjectId topology, realpath/root
11
+ containment, timestamp ordering and ledger-level idempotency.
12
+
13
+ ## Schemas
14
+
15
+ - [Workspace manifest](workspace-manifest.schema.json)
16
+ - [FWK receipt](fwk-receipt.schema.json)
17
+ - [Access receipt](access-receipt.schema.json)
18
+ - [Workspace proposal](workspace-proposal.schema.json)
19
+ - [Review decision](review-decision.schema.json)
20
+
21
+ ## Fixtures
22
+
23
+ - [Valid workspace](fixtures/valid-workspace.json)
24
+ - [Invalid workspace](fixtures/invalid-workspace.json)
25
+ - [Valid FWK receipt](fixtures/valid-fwk-receipt.json)
26
+ - [Invalid evidence without revision](fixtures/invalid-evidence-missing-revision.json)
27
+ - [Invalid bound Work without Flow reference](fixtures/invalid-bound-work-no-flow-ref.json)
28
+ - [Valid proposal](fixtures/valid-proposal.json)
29
+ - [Invalid proposal](fixtures/invalid-proposal.json)
30
+ - [Valid accepted transition](fixtures/valid-accepted-transition.json)
31
+ - [Accepted transition with failed security gate](fixtures/invalid-accepted-transition-failed-gate.json)
32
+ - [Accepted transition without target write](fixtures/invalid-accepted-transition-no-target-write.json)
33
+ - [Valid review decision](fixtures/valid-review-decision.json)
34
+ - [Valid access receipt](fixtures/valid-access-receipt.json)
35
+ - [Invalid duplicate roles](fixtures/invalid-duplicate-roles.json)
36
+ - [Invalid unsafe URI](fixtures/invalid-unsafe-uri.json)
37
+ - [Invalid timestamp order](fixtures/invalid-time-order.json)
38
+ - [Invalid stale evidence](fixtures/invalid-stale-evidence.json)
39
+ - [Spoofed viewer mutation](fixtures/invalid-spoofed-viewer-mutation.json)
40
+ - [Denied resource egress](fixtures/invalid-resource-egress.json)
41
+ - [Replay/idempotency corpus](fixtures/replay-idempotency-corpus.json)
42
+
43
+ Positive fixtures must validate against their named schema. Negative fixtures
44
+ must fail for the documented contract reason. The replay corpus is evaluated by
45
+ the append-only ledger validator, not by an isolated JSON document. All schemas
46
+ forbid raw transcript, prompt, hidden-reasoning and secret payload fields by
47
+ using closed objects.
48
+
49
+ Phase 5 publishes its minimized learning/evaluation fixtures separately under
50
+ [`fixtures/sac-policy-experiment`](../../../../fixtures/sac-policy-experiment/).
51
+ The manifest is a closed TypeScript/runtime contract rather than an extension
52
+ of AccessReceipt: it records receipt-chain provenance, independent verifier
53
+ artifact hashes, selection/redaction/quarantine rules and deterministic
54
+ train/holdout/adversarial splits. Receipt self-report is never ground truth.
55
+
56
+ `workspace-proposal` creation also requires minimal `wrapUp` metadata. It is
57
+ only an audit pointer: runtime authorization requires the corresponding
58
+ server-issued, one-time trusted provenance capability bound to its session or
59
+ read-only Flow wrap-up source, actor, workspace, evidence and expiry.
60
+
61
+ For an accepted transition, `acceptance.targetWrite.binding` is normative and
62
+ retains the exact immutable owner receipt binding. It must repeat the proposal,
63
+ workspace, correlation/idempotency, reviewer-authority and policy-revision
64
+ values of that transition; implementations must not reduce it to a hash after
65
+ verification.
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "keryx/shared-agent-context/access-receipt/v1",
4
+ "$vocabulary": {"https://json-schema.org/draft/2020-12/vocab/format-assertion": true},
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "id", "workspaceId", "actor", "action", "decision", "recordedAt", "cost", "contextAssembly", "policy", "integrity"],
8
+ "properties": {
9
+ "schemaVersion": {"const": "1.0"}, "id": {"type": "string", "pattern": "^[a-z][a-z0-9-]{2,63}$"}, "workspaceId": {"type": "string", "pattern": "^[a-z][a-z0-9-]{2,63}$"}, "actor": {"type": "string", "pattern": "^(?:user|team|service|agent):[a-z0-9][a-z0-9._-]{0,127}$"}, "action": {"enum": ["overview", "fwk", "resource"]}, "decision": {"enum": ["allowed", "denied", "budget-exhausted", "stale"]}, "recordedAt": {"$ref": "#/$defs/utcTimestamp"}, "cost": {"type": "object", "additionalProperties": false, "required": ["toolCalls", "elapsedMs"], "properties": {"tokens": {"type": "integer", "minimum": 0}, "toolCalls": {"type": "integer", "minimum": 0}, "elapsedMs": {"type": "integer", "minimum": 0}}}, "contextAssembly": {"type": "object", "additionalProperties": false, "required": ["traceRef", "configurationRevision", "selected", "omittedOptional"], "properties": {"traceRef": {"$ref": "#/$defs/workspacePath"}, "configurationRevision": {"$ref": "#/$defs/revision"}, "selected": {"type": "array", "items": {"$ref": "#/$defs/workspacePath"}}, "omittedOptional": {"type": "array", "items": {"$ref": "#/$defs/workspacePath"}}}}, "policy": {"type": "object", "additionalProperties": false, "required": ["ref", "revision"], "properties": {"ref": {"$ref": "#/$defs/workspacePath"}, "revision": {"$ref": "#/$defs/revision"}}}, "integrity": {"type": "object", "additionalProperties": false, "required": ["recordHash", "previousRecordHash"], "properties": {"recordHash": {"type": "string", "pattern": "^[a-f0-9]{64}$"}, "previousRecordHash": {"type": "string", "pattern": "^(?:[a-f0-9]{64}|GENESIS)$"}}}, "resourceRef": {"$ref": "#/$defs/workspacePath"}, "outcome": {"enum": ["unknown", "useful", "not-useful"]}},
10
+ "allOf": [{"if": {"properties": {"action": {"const": "resource"}}, "required": ["action"]}, "then": {"required": ["resourceRef"]}, "else": {"not": {"required": ["resourceRef"]}}}],
11
+ "x-rootContainment": {"fields": ["resourceRef", "contextAssembly.traceRef", "contextAssembly.selected[]", "contextAssembly.omittedOptional[]", "policy.ref"], "root": "workspace root", "resolveSymlinks": true, "rejectEscapes": true}, "x-integrity": {"appendOnlyLedger": true, "verifyRecordHash": true, "owner": "trusted local service"},
12
+ "$defs": {"utcTimestamp": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$", "x-formatAssertionRequired": true}, "revision": {"type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$", "x-immutable": true}, "workspacePath": {"type": "string", "pattern": "^\\./(?!.*(?:^|/)\\.\\.(?:/|$))(?:[A-Za-z0-9._-]+/)*[A-Za-z0-9._-]+$"}}
13
+ }
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","recordType":"proposal-transition","eventId":"event-accepted-1","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","sequence":1,"priorEventHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","fromStatus":"proposed","toStatus":"accepted","occurredAt":"2026-08-11T00:10:00Z","idempotencyKey":"accepted-transition-0001","acceptance":{"reviewDecisionRef":"./reviews/decision-1","writeIntentRef":"./proposals/proposal-1.intent-1","reviewer":{"subject":"user:reviewer","authority":"owner","trustedPrincipalRef":"./identity/principal-1"},"security":{"gate":"fail","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"fresh","verifiedAt":"2026-08-11T00:05:00Z","maxEvidenceAgeSeconds":3600},"targetWrite":{"receiptRef":"./writes/receipt-1","targetRef":"./memory/constraint","completedAt":"2026-08-11T00:06:00Z"},"evidence":[{"kind":"memory","uri":"./memory/constraint","revision":"1","observedAt":"2026-08-11T00:00:00Z"}],"idempotencyKey":"accepted-transition-0001"}}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","recordType":"proposal-transition","eventId":"event-accepted-1","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","sequence":1,"priorEventHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","fromStatus":"proposed","toStatus":"accepted","occurredAt":"2026-08-11T00:10:00Z","idempotencyKey":"accepted-transition-0001","acceptance":{"reviewDecisionRef":"./reviews/decision-1","reviewer":{"subject":"user:reviewer","authority":"owner","trustedPrincipalRef":"./identity/principal-1"},"security":{"gate":"pass","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"fresh","verifiedAt":"2026-08-11T00:05:00Z","maxEvidenceAgeSeconds":3600},"evidence":[{"kind":"memory","uri":"./memory/constraint","revision":"1","observedAt":"2026-08-11T00:00:00Z"}],"idempotencyKey":"accepted-transition-0001"}}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","workspaceId":"payments-work","generatedAt":"2026-08-11T00:00:00Z","facts":[],"work":{"state":"bound","completed":["task-1"]},"knowHow":[],"freshness":"fresh"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"payments-work","title":"Payments work","status":"active","members":[{"subject":"team:payments","role":"owner"},{"subject":"team:payments","role":"editor"}],"resources":[],"createdAt":"2026-08-11T00:00:00Z","updatedAt":"2026-08-11T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","workspaceId":"payments-work","generatedAt":"2026-08-11T00:00:00Z","facts":[{"statement":"Flow is ready","evidence":[{"kind":"flow","uri":"./.metaproject/flows/001","observedAt":"2026-08-11T00:00:00Z","trust":"primary"}],"observedAt":"2026-08-11T00:00:00Z","expiresAt":"2026-08-12T00:00:00Z","freshness":"fresh"}],"work":{"state":"unbound"},"knowHow":[],"freshness":"fresh"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","recordType":"proposal-created","id":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","kind":"memory-entry","status":"accepted","summary":"redacted summary","evidence":[{"kind":"memory","uri":"./memory/constraint","revision":"1","observedAt":"2026-08-11T00:00:00Z"}],"author":"agent:writer","security":{"gate":"pass","redacted":true,"policyRef":"./policies/default","policyRevision":"1"},"createdAt":"2026-08-11T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"access-1","workspaceId":"payments-work","actor":"agent:release-bot","action":"resource","decision":"allowed","recordedAt":"2026-08-11T00:05:00Z","cost":{"toolCalls":1,"elapsedMs":12},"contextAssembly":{"traceRef":"./context/trace-1","configurationRevision":"1","selected":["./src/payments"],"omittedOptional":[]},"policy":{"ref":"./policies/default","revision":"1"},"integrity":{"recordHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","previousRecordHash":"GENESIS"},"resourceRef":"https://outside.invalid/resource"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"decision-1","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","decision":"accepted","reviewer":{"subject":"user:viewer","authority":"viewer","trustedPrincipalRef":"./identity/principal-1"},"decidedAt":"2026-08-11T00:05:00Z","idempotencyKey":"review-decision-0001","security":{"gate":"pass","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"fresh","verifiedAt":"2026-08-11T00:05:00Z","evidenceRevision":"1"},"targetWrite":{"receiptRef":"./writes/receipt-1","targetRef":"./memory/constraint","completedAt":"2026-08-11T00:06:00Z"}}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"decision-1","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","decision":"accepted","reviewer":{"subject":"user:reviewer","authority":"owner","trustedPrincipalRef":"./identity/principal-1"},"decidedAt":"2026-08-11T00:05:00Z","idempotencyKey":"review-decision-0001","security":{"gate":"pass","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"stale","verifiedAt":"2026-08-11T00:05:00Z","evidenceRevision":"1"},"targetWrite":{"receiptRef":"./writes/receipt-1","targetRef":"./memory/constraint","completedAt":"2026-08-11T00:06:00Z"}}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"payments-work","title":"Payments work","status":"active","members":[{"subject":"team:payments","role":"owner"}],"resources":[],"createdAt":"2026-08-12T00:00:00Z","updatedAt":"2026-08-11T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"payments-work","title":"Payments work","status":"active","members":[{"subject":"team:payments","role":"owner"}],"resources":[{"kind":"component","uri":"https://outside.invalid/resource"}],"createdAt":"2026-08-11T00:00:00Z","updatedAt":"2026-08-11T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"payments-work","title":"Payments work","status":"active","members":[{"subject":"team:payments","role":"owner"}],"resources":[{"kind":"component","uri":"src/no-prefix"}],"createdAt":"2026-08-11T00:00:00Z","updatedAt":"2026-08-11T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"x-fixturePurpose":"integration negative corpus for x-appendOnly and x-idempotencyScope; each event is individually schema-valid but the pair must be rejected by the ledger validator as a replay","events":[{"schemaVersion":"1.0","recordType":"proposal-transition","eventId":"event-accepted-1","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","sequence":1,"priorEventHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","fromStatus":"proposed","toStatus":"accepted","occurredAt":"2026-08-11T00:10:00Z","idempotencyKey":"accepted-transition-0001","acceptance":{"reviewDecisionRef":"./reviews/decision-1","reviewer":{"subject":"user:reviewer","authority":"owner","trustedPrincipalRef":"./identity/principal-1"},"security":{"gate":"pass","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"fresh","verifiedAt":"2026-08-11T00:05:00Z","maxEvidenceAgeSeconds":3600},"targetWrite":{"receiptRef":"./writes/receipt-1","targetRef":"./memory/constraint","completedAt":"2026-08-11T00:06:00Z"},"evidence":[{"kind":"memory","uri":"./memory/constraint","revision":"1","observedAt":"2026-08-11T00:00:00Z"}],"idempotencyKey":"accepted-transition-0001"}},{"schemaVersion":"1.0","recordType":"proposal-transition","eventId":"event-accepted-2","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","sequence":2,"priorEventHash":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","fromStatus":"proposed","toStatus":"accepted","occurredAt":"2026-08-11T00:11:00Z","idempotencyKey":"accepted-transition-0001","acceptance":{"reviewDecisionRef":"./reviews/decision-2","reviewer":{"subject":"user:reviewer","authority":"owner","trustedPrincipalRef":"./identity/principal-1"},"security":{"gate":"pass","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"fresh","verifiedAt":"2026-08-11T00:05:00Z","maxEvidenceAgeSeconds":3600},"targetWrite":{"receiptRef":"./writes/receipt-2","targetRef":"./memory/constraint","completedAt":"2026-08-11T00:06:00Z"},"evidence":[{"kind":"memory","uri":"./memory/constraint","revision":"1","observedAt":"2026-08-11T00:00:00Z"}],"idempotencyKey":"accepted-transition-0001"}}]}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","recordType":"proposal-transition","eventId":"event-accepted-1","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","sequence":1,"priorEventHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","fromStatus":"proposed","toStatus":"accepted","occurredAt":"2026-08-11T00:10:00Z","idempotencyKey":"accepted-transition-0001","acceptance":{"reviewDecisionRef":"./reviews/decision-1","writeIntentRef":"./proposals/proposal-1.intent-1","reviewer":{"subject":"user:reviewer","authority":"owner","trustedPrincipalRef":"./identity/principal-1"},"security":{"gate":"pass","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"fresh","verifiedAt":"2026-08-11T00:05:00Z","maxEvidenceAgeSeconds":3600},"targetWrite":{"receiptRef":"./writes/receipt-1","targetRef":"./memory/constraint","completedAt":"2026-08-11T00:06:00Z","binding":{"owner":"memory","bindingHash":"a62eb99d2270853152d5bc625268f384905b8c558ad704e8e77f2d601c60f66f","intentRef":"./proposals/proposal-1.intent-1","proposalId":"proposal-1","proposalRevision":"1","workspaceId":"payments-work","correlationId":"proposal-correlation-0001","idempotencyKey":"accepted-transition-0001","reviewerSubject":"user:reviewer","reviewerAuthority":"owner","policyRevision":"1"}},"evidence":[{"kind":"memory","uri":"./memory/constraint","revision":"1","observedAt":"2026-08-11T00:00:00Z"}],"idempotencyKey":"accepted-transition-0001"}}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"access-1","workspaceId":"payments-work","actor":"agent:release-bot","action":"resource","decision":"allowed","recordedAt":"2026-08-11T00:05:00Z","cost":{"toolCalls":1,"elapsedMs":12},"contextAssembly":{"traceRef":"./context/trace-1","configurationRevision":"1","selected":["./src/payments"],"omittedOptional":[]},"policy":{"ref":"./policies/default","revision":"1"},"integrity":{"recordHash":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","previousRecordHash":"GENESIS"},"resourceRef":"./src/payments"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","workspaceId":"payments-work","generatedAt":"2026-08-11T00:00:00Z","facts":[{"statement":"Flow is ready","evidence":[{"kind":"flow","uri":"./.metaproject/flows/001","revision":"1","observedAt":"2026-08-11T00:00:00Z","trust":"primary"}],"observedAt":"2026-08-11T00:00:00Z","expiresAt":"2026-08-12T00:00:00Z","freshness":"fresh"}],"work":{"state":"unbound"},"knowHow":[{"kind":"memory","uri":"./.metaproject/memory/constraint","revision":"2","trust":"accepted","status":"fresh"}],"freshness":"fresh"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","recordType":"proposal-created","id":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","kind":"memory-entry","status":"proposed","summary":"Redacted reusable constraint","evidence":[{"kind":"memory","uri":"./memory/constraint","revision":"1","observedAt":"2026-08-11T00:00:00Z"}],"wrapUp":{"id":"wrapup-1","source":"flow","sourceRef":"./flows/payments-wrapup","sourceRevision":"1","issuedAt":"2026-08-11T00:00:00Z","expiresAt":"2026-08-11T01:00:00Z"},"author":"agent:writer","security":{"gate":"pass","redacted":true,"policyRef":"./policies/default","policyRevision":"1"},"createdAt":"2026-08-11T00:00:00Z"}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"decision-1","proposalId":"proposal-1","proposalRevision":"1","correlationId":"proposal-correlation-0001","workspaceId":"payments-work","decision":"accepted","reviewer":{"subject":"user:reviewer","authority":"owner","trustedPrincipalRef":"./identity/principal-1"},"decidedAt":"2026-08-11T00:05:00Z","idempotencyKey":"review-decision-0001","security":{"gate":"pass","policyRef":"./policies/default","policyRevision":"1"},"freshness":{"state":"fresh","verifiedAt":"2026-08-11T00:05:00Z","evidenceRevision":"1"},"targetWrite":{"receiptRef":"./writes/receipt-1","targetRef":"./memory/constraint","completedAt":"2026-08-11T00:06:00Z"}}
@@ -0,0 +1 @@
1
+ {"schemaVersion":"1.0","id":"payments-work","title":"Payments work","status":"active","members":[{"subject":"team:payments","role":"owner"},{"subject":"agent:release-bot","role":"editor"}],"resources":[{"kind":"component","uri":"./src/payments","revision":"abc123"}],"createdAt":"2026-08-11T00:00:00Z","updatedAt":"2026-08-11T00:00:00Z"}
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "keryx/shared-agent-context/fwk-receipt/v1",
4
+ "$vocabulary": {"https://json-schema.org/draft/2020-12/vocab/format-assertion": true},
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "workspaceId", "generatedAt", "facts", "work", "knowHow", "freshness"],
8
+ "properties": {
9
+ "schemaVersion": {"const": "1.0"},
10
+ "workspaceId": {"type": "string", "pattern": "^[a-z][a-z0-9-]{2,63}$"},
11
+ "generatedAt": {"$ref": "#/$defs/utcTimestamp"},
12
+ "facts": {"type": "array", "items": {"$ref": "#/$defs/fact"}},
13
+ "work": {"$ref": "#/$defs/work"},
14
+ "knowHow": {"type": "array", "items": {"$ref": "#/$defs/knowHow"}},
15
+ "freshness": {"enum": ["fresh", "stale", "partial", "denied"]}
16
+ },
17
+ "x-temporalOrder": [{"earlier": "facts[].observedAt", "laterOrEqual": "facts[].expiresAt"}, {"earlier": "facts[].observedAt", "laterOrEqual": "generatedAt"}],
18
+ "$defs": {
19
+ "utcTimestamp": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$", "x-formatAssertionRequired": true},
20
+ "immutableRevision": {"type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$", "x-immutable": true},
21
+ "workspacePath": {"type": "string", "pattern": "^\\./(?!.*(?:^|/)\\.\\.(?:/|$))(?:[A-Za-z0-9._-]+/)*[A-Za-z0-9._-]+$", "x-rootContainment": "workspace root realpath"},
22
+ "evidence": {"type": "object", "additionalProperties": false, "required": ["kind", "uri", "revision", "observedAt", "trust"], "properties": {"kind": {"enum": ["code", "flow", "wiki", "memory", "test", "health", "artifact"]}, "uri": {"$ref": "#/$defs/workspacePath"}, "revision": {"$ref": "#/$defs/immutableRevision"}, "observedAt": {"$ref": "#/$defs/utcTimestamp"}, "trust": {"enum": ["primary", "accepted", "reviewed"]}}},
23
+ "fact": {"type": "object", "additionalProperties": false, "required": ["statement", "evidence", "observedAt", "expiresAt", "freshness"], "properties": {"statement": {"type": "string", "minLength": 1, "maxLength": 4000}, "evidence": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/evidence"}}, "observedAt": {"$ref": "#/$defs/utcTimestamp"}, "expiresAt": {"$ref": "#/$defs/utcTimestamp"}, "freshness": {"enum": ["fresh", "stale", "expired", "denied"]}, "confidence": {"type": "number", "minimum": 0, "maximum": 1}}},
24
+ "flowRef": {"type": "object", "additionalProperties": false, "required": ["uri", "snapshot", "revision"], "properties": {"uri": {"$ref": "#/$defs/workspacePath"}, "snapshot": {"type": "string", "minLength": 1, "maxLength": 256}, "revision": {"$ref": "#/$defs/immutableRevision"}}},
25
+ "work": {"oneOf": [{"type": "object", "additionalProperties": false, "required": ["state", "flowRef"], "properties": {"state": {"const": "bound"}, "flowRef": {"$ref": "#/$defs/flowRef"}, "completed": {"type": "array", "items": {"type": "string"}}, "next": {"type": "array", "items": {"type": "string"}}, "blocked": {"type": "array", "items": {"type": "string"}}, "evidence": {"type": "array", "items": {"$ref": "#/$defs/evidence"}}}}, {"type": "object", "additionalProperties": false, "required": ["state"], "properties": {"state": {"const": "unbound"}}, "x-forbids": ["flowRef", "completed", "next", "blocked", "evidence"]}]},
26
+ "knowHow": {"type": "object", "additionalProperties": false, "required": ["kind", "uri", "revision", "trust", "status"], "properties": {"kind": {"enum": ["wiki", "memory", "skill"]}, "uri": {"$ref": "#/$defs/workspacePath"}, "revision": {"$ref": "#/$defs/immutableRevision"}, "trust": {"enum": ["accepted", "reviewed"]}, "status": {"enum": ["fresh", "stale", "withdrawn", "denied"]}, "applicability": {"type": "string", "maxLength": 1000}}}
27
+ }
28
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "keryx/shared-agent-context/review-decision/v1",
4
+ "$vocabulary": {"https://json-schema.org/draft/2020-12/vocab/format-assertion": true},
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "id", "proposalId", "proposalRevision", "correlationId", "workspaceId", "decision", "reviewer", "decidedAt", "idempotencyKey"],
8
+ "properties": {
9
+ "schemaVersion": {"const": "1.0"}, "id": {"$ref": "#/$defs/id"}, "proposalId": {"$ref": "#/$defs/id"}, "proposalRevision": {"$ref": "#/$defs/revision"}, "correlationId": {"$ref": "#/$defs/correlationId"}, "workspaceId": {"$ref": "#/$defs/id"}, "decision": {"enum": ["accepted", "rejected", "dismissed"]}, "reviewer": {"$ref": "#/$defs/actorContext"}, "decidedAt": {"$ref": "#/$defs/utcTimestamp"}, "idempotencyKey": {"$ref": "#/$defs/idempotencyKey"}, "security": {"$ref": "#/$defs/security"}, "freshness": {"$ref": "#/$defs/freshness"}, "targetWrite": {"$ref": "#/$defs/targetWrite"}, "reason": {"type": "string", "minLength": 1, "maxLength": 2000}
10
+ },
11
+ "allOf": [{"if": {"properties": {"decision": {"const": "accepted"}}, "required": ["decision"]}, "then": {"required": ["security", "freshness", "targetWrite"]}, "else": {"required": ["reason"], "not": {"anyOf": [{"required": ["targetWrite"]}, {"required": ["freshness"]}]}}}],
12
+ "x-appendOnly": {"stream": "proposalId", "idempotencyScope": "workspaceId+proposalId", "authoritativeTransition": true},
13
+ "$defs": {
14
+ "id": {"type": "string", "pattern": "^[a-z][a-z0-9-]{2,63}$"}, "revision": {"type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$", "x-immutable": true}, "correlationId": {"type": "string", "minLength": 16, "maxLength": 256, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{15,255}$", "x-immutable": true}, "utcTimestamp": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$", "x-formatAssertionRequired": true}, "workspacePath": {"type": "string", "pattern": "^\\./(?!.*(?:^|/)\\.\\.(?:/|$))(?:[A-Za-z0-9._-]+/)*[A-Za-z0-9._-]+$", "x-rootContainment": "workspace root realpath"}, "idempotencyKey": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{15,255}$"},
15
+ "actorContext": {"type": "object", "additionalProperties": false, "required": ["subject", "authority", "trustedPrincipalRef"], "properties": {"subject": {"type": "string", "pattern": "^(?:user|team|service|agent):[a-z0-9][a-z0-9._-]{0,127}$"}, "authority": {"enum": ["owner", "editor"]}, "trustedPrincipalRef": {"$ref": "#/$defs/workspacePath"}}},
16
+ "security": {"type": "object", "additionalProperties": false, "required": ["gate", "policyRef", "policyRevision"], "properties": {"gate": {"const": "pass"}, "policyRef": {"$ref": "#/$defs/workspacePath"}, "policyRevision": {"$ref": "#/$defs/revision"}}}, "freshness": {"type": "object", "additionalProperties": false, "required": ["state", "verifiedAt", "evidenceRevision"], "properties": {"state": {"const": "fresh"}, "verifiedAt": {"$ref": "#/$defs/utcTimestamp"}, "evidenceRevision": {"$ref": "#/$defs/revision"}}}, "targetWrite": {"type": "object", "additionalProperties": false, "required": ["receiptRef", "targetRef", "completedAt"], "properties": {"receiptRef": {"$ref": "#/$defs/workspacePath"}, "targetRef": {"$ref": "#/$defs/workspacePath"}, "completedAt": {"$ref": "#/$defs/utcTimestamp"}}}
17
+ }
18
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "keryx/shared-agent-context/workspace-manifest/v1",
4
+ "$vocabulary": {"https://json-schema.org/draft/2020-12/vocab/format-assertion": true},
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "id", "title", "status", "members", "resources", "createdAt", "updatedAt"],
8
+ "properties": {
9
+ "schemaVersion": {"const": "1.0"},
10
+ "id": {"type": "string", "pattern": "^[a-z][a-z0-9-]{2,63}$"},
11
+ "title": {"type": "string", "minLength": 1, "maxLength": 160},
12
+ "status": {"enum": ["active", "archived"]},
13
+ "members": {
14
+ "type": "array",
15
+ "minItems": 1,
16
+ "uniqueItems": true,
17
+ "items": {"$ref": "#/$defs/member"},
18
+ "contains": {"properties": {"role": {"const": "owner"}}, "required": ["role"]},
19
+ "minContains": 1,
20
+ "maxContains": 1,
21
+ "x-uniqueBy": "subject",
22
+ "x-roleTopology": "exactly-one-owner; each canonical subject has one role"
23
+ },
24
+ "resources": {"type": "array", "items": {"$ref": "#/$defs/resourceRef"}, "x-uniqueBy": "uri"},
25
+ "createdAt": {"$ref": "#/$defs/utcTimestamp"},
26
+ "updatedAt": {"$ref": "#/$defs/utcTimestamp"}
27
+ },
28
+ "x-temporalOrder": [{"earlier": "createdAt", "laterOrEqual": "updatedAt"}],
29
+ "x-rootContainment": {"fields": ["resources[].uri"], "root": "workspace root", "resolveSymlinks": true, "rejectEscapes": true},
30
+ "$defs": {
31
+ "utcTimestamp": {"type": "string", "format": "date-time", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$", "x-formatAssertionRequired": true},
32
+ "subjectId": {"type": "string", "pattern": "^(?:user|team|service|agent):[a-z0-9][a-z0-9._-]{0,127}$"},
33
+ "member": {"type": "object", "additionalProperties": false, "required": ["subject", "role"], "properties": {"subject": {"$ref": "#/$defs/subjectId"}, "role": {"enum": ["owner", "editor", "viewer"]}}},
34
+ "workspacePath": {"type": "string", "pattern": "^\\./(?!.*(?:^|/)\\.\\.(?:/|$))(?:[A-Za-z0-9._-]+/)*[A-Za-z0-9._-]+$", "x-canonicalize": "realpath within workspace root"},
35
+ "resourceRef": {"type": "object", "additionalProperties": false, "required": ["kind", "uri"], "properties": {"kind": {"enum": ["component", "repository", "flow", "wiki", "memory", "skill", "evidence", "worktree", "session"]}, "uri": {"$ref": "#/$defs/workspacePath"}, "revision": {"type": "string", "minLength": 1, "maxLength": 256}}}
36
+ }
37
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "keryx/shared-agent-context/workspace-proposal/v1",
4
+ "$vocabulary": {"https://json-schema.org/draft/2020-12/vocab/format-assertion": true},
5
+ "oneOf": [{"$ref":"#/$defs/creation"},{"$ref":"#/$defs/writeIntent"},{"$ref":"#/$defs/transition"}],
6
+ "$defs": {
7
+ "id":{"type":"string","pattern":"^[a-z][a-z0-9-]{2,63}$"},
8
+ "utc":{"type":"string","format":"date-time","pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(?:\\.[0-9]+)?Z$","x-formatAssertionRequired":true},
9
+ "revision":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$","x-immutable":true},
10
+ "correlationId":{"type":"string","minLength":16,"maxLength":256,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{15,255}$","x-immutable":true},
11
+ "key":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{15,255}$"},
12
+ "path":{"type":"string","pattern":"^\\./(?!.*(?:^|/)\\.\\.(?:/|$))(?:[A-Za-z0-9._-]+/)*[A-Za-z0-9._-]+$","x-rootContainment":"workspace root realpath"},
13
+ "evidence":{"type":"object","additionalProperties":false,"required":["kind","uri","revision","observedAt"],"properties":{"kind":{"type":"string","minLength":1,"maxLength":64},"uri":{"$ref":"#/$defs/path"},"revision":{"$ref":"#/$defs/revision"},"observedAt":{"$ref":"#/$defs/utc"}}},
14
+ "actor":{"type":"object","additionalProperties":false,"required":["subject","authority","trustedPrincipalRef"],"properties":{"subject":{"type":"string","pattern":"^(?:user|team|service|agent):[a-z0-9][a-z0-9._-]{0,127}$"},"authority":{"enum":["owner","editor"]},"trustedPrincipalRef":{"$ref":"#/$defs/path"}}},
15
+ "security":{"type":"object","additionalProperties":false,"required":["gate","policyRef","policyRevision"],"properties":{"gate":{"const":"pass"},"policyRef":{"$ref":"#/$defs/path"},"policyRevision":{"$ref":"#/$defs/revision"}}},
16
+ "creation":{"type":"object","additionalProperties":false,"required":["schemaVersion","recordType","id","proposalRevision","correlationId","workspaceId","kind","status","summary","evidence","wrapUp","author","security","createdAt"],"properties":{"schemaVersion":{"const":"1.0"},"recordType":{"const":"proposal-created"},"id":{"$ref":"#/$defs/id"},"proposalRevision":{"$ref":"#/$defs/revision"},"correlationId":{"$ref":"#/$defs/correlationId"},"workspaceId":{"$ref":"#/$defs/id"},"kind":{"enum":["decision","wiki-update","memory-entry","follow-up","contract-change","risk"]},"status":{"const":"proposed"},"summary":{"type":"string","minLength":1,"maxLength":8000},"evidence":{"type":"array","minItems":1,"items":{"$ref":"#/$defs/evidence"}},"wrapUp":{"type":"object","additionalProperties":false,"required":["id","source","sourceRef","sourceRevision","issuedAt","expiresAt"],"properties":{"id":{"$ref":"#/$defs/id"},"source":{"enum":["session","flow"]},"sourceRef":{"$ref":"#/$defs/path"},"sourceRevision":{"$ref":"#/$defs/revision"},"issuedAt":{"$ref":"#/$defs/utc"},"expiresAt":{"$ref":"#/$defs/utc"}}},"author":{"type":"string","pattern":"^(?:user|team|service|agent):[a-z0-9][a-z0-9._-]{0,127}$"},"security":{"type":"object","additionalProperties":false,"required":["gate","redacted","policyRef","policyRevision"],"properties":{"gate":{"enum":["pass","needs-approval"]},"redacted":{"const":true},"policyRef":{"$ref":"#/$defs/path"},"policyRevision":{"$ref":"#/$defs/revision"}}},"createdAt":{"$ref":"#/$defs/utc"}},"x-immutableRecord":true},
17
+ "writeIntent":{"type":"object","additionalProperties":false,"required":["schemaVersion","recordType","intentId","proposalId","proposalRevision","correlationId","workspaceId","sequence","priorEventHash","idempotencyKey","reviewer","approvalRef","security","evidence","createdAt"],"properties":{"schemaVersion":{"const":"1.0"},"recordType":{"const":"proposal-write-intent"},"intentId":{"$ref":"#/$defs/id"},"proposalId":{"$ref":"#/$defs/id"},"proposalRevision":{"$ref":"#/$defs/revision"},"correlationId":{"$ref":"#/$defs/correlationId"},"workspaceId":{"$ref":"#/$defs/id"},"sequence":{"type":"integer","minimum":1},"priorEventHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"idempotencyKey":{"$ref":"#/$defs/key"},"reviewer":{"$ref":"#/$defs/actor"},"approvalRef":{"$ref":"#/$defs/path"},"security":{"$ref":"#/$defs/security"},"evidence":{"type":"array","minItems":1,"items":{"$ref":"#/$defs/evidence"}},"createdAt":{"$ref":"#/$defs/utc"}},"x-appendOnly":{"stream":"proposalId","strictSequence":true,"recovery":"owner-idempotency-key"}},
18
+ "transition":{"type":"object","additionalProperties":false,"required":["schemaVersion","recordType","eventId","proposalId","proposalRevision","correlationId","workspaceId","sequence","priorEventHash","fromStatus","toStatus","occurredAt","idempotencyKey"],"properties":{"schemaVersion":{"const":"1.0"},"recordType":{"const":"proposal-transition"},"eventId":{"$ref":"#/$defs/id"},"proposalId":{"$ref":"#/$defs/id"},"proposalRevision":{"$ref":"#/$defs/revision"},"correlationId":{"$ref":"#/$defs/correlationId"},"workspaceId":{"$ref":"#/$defs/id"},"sequence":{"type":"integer","minimum":1},"priorEventHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"fromStatus":{"const":"proposed"},"toStatus":{"enum":["accepted","rejected","dismissed","stale"]},"occurredAt":{"$ref":"#/$defs/utc"},"idempotencyKey":{"$ref":"#/$defs/key"},"acceptance":{"$ref":"#/$defs/acceptance"},"reason":{"type":"string","minLength":1,"maxLength":2000}},"allOf":[{"if":{"properties":{"toStatus":{"const":"accepted"}},"required":["toStatus"]},"then":{"required":["acceptance"]},"else":{"required":["reason"],"not":{"required":["acceptance"]}}}]},
19
+ "receiptBinding":{"type":"object","additionalProperties":false,"required":["owner","bindingHash","intentRef","proposalId","proposalRevision","workspaceId","correlationId","idempotencyKey","reviewerSubject","reviewerAuthority","policyRevision"],"properties":{"owner":{"enum":["wiki","memory","skill"]},"bindingHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"intentRef":{"$ref":"#/$defs/path"},"proposalId":{"$ref":"#/$defs/id"},"proposalRevision":{"$ref":"#/$defs/revision"},"workspaceId":{"$ref":"#/$defs/id"},"correlationId":{"$ref":"#/$defs/correlationId"},"idempotencyKey":{"$ref":"#/$defs/key"},"reviewerSubject":{"type":"string","pattern":"^(?:user|team|service|agent):[a-z0-9][a-z0-9._-]{0,127}$"},"reviewerAuthority":{"enum":["owner","editor"]},"policyRevision":{"$ref":"#/$defs/revision"}}},
20
+ "acceptance":{"type":"object","additionalProperties":false,"required":["reviewDecisionRef","writeIntentRef","reviewer","security","freshness","targetWrite","evidence","idempotencyKey"],"properties":{"reviewDecisionRef":{"$ref":"#/$defs/path"},"writeIntentRef":{"$ref":"#/$defs/path"},"reviewer":{"$ref":"#/$defs/actor"},"security":{"$ref":"#/$defs/security"},"freshness":{"type":"object","additionalProperties":false,"required":["state","verifiedAt","maxEvidenceAgeSeconds"],"properties":{"state":{"const":"fresh"},"verifiedAt":{"$ref":"#/$defs/utc"},"maxEvidenceAgeSeconds":{"type":"integer","minimum":1,"maximum":86400}}},"targetWrite":{"type":"object","additionalProperties":false,"required":["receiptRef","targetRef","completedAt","binding"],"properties":{"receiptRef":{"$ref":"#/$defs/path"},"targetRef":{"$ref":"#/$defs/path"},"completedAt":{"$ref":"#/$defs/utc"},"binding":{"$ref":"#/$defs/receiptBinding"}}},"evidence":{"type":"array","minItems":1,"items":{"$ref":"#/$defs/evidence"}},"idempotencyKey":{"$ref":"#/$defs/key"}},"x-temporalOrder":[{"earlier":"evidence[].observedAt","laterOrEqual":"freshness.verifiedAt"},{"earlier":"freshness.verifiedAt","laterOrEqual":"targetWrite.completedAt"}]}
21
+ }
22
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrciphersmith/keryx",
3
- "version": "0.2.33",
3
+ "version": "0.2.35",
4
4
  "description": "Version-controlled project context for AI coding agents: code graph, architecture wiki, project memory, relevant tests, quality signals, and task flows.",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -45,6 +45,7 @@
45
45
  },
46
46
  "files": [
47
47
  "dist",
48
+ "docs/requirements/shared-agent-context/schemas",
48
49
  "src/gdgraph",
49
50
  "src/gdskills/bundled",
50
51
  "src/gdskills/contracts",
@@ -60,10 +61,15 @@
60
61
  },
61
62
  "devDependencies": {
62
63
  "@types/bun": "latest",
64
+ "@xenova/transformers": "^2.17.2",
63
65
  "bun-types": "latest",
64
66
  "typescript": "^5"
65
67
  },
66
68
  "engines": {
67
69
  "bun": ">=1.1.0"
68
- }
70
+ },
71
+ "trustedDependencies": [
72
+ "protobufjs",
73
+ "sharp"
74
+ ]
69
75
  }