@awebai/oats 0.23.2 → 0.24.0

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 (158) hide show
  1. package/README.md +7 -4
  2. package/bin/oats-pi-sdk-host.mjs +17 -0
  3. package/bin/oats.mjs +442 -51
  4. package/capabilities/oats-okf/bin/oats-okf-binding.mjs +14 -0
  5. package/capabilities/oats-okf/bin/oats-okf.mjs +79 -11
  6. package/capabilities/oats-okf/lib/binding-wire.mjs +268 -0
  7. package/capabilities/oats-okf/lib/captured-worker.mjs +101 -0
  8. package/capabilities/oats-okf/lib/config.mjs +2 -1
  9. package/capabilities/oats-okf/lib/inspection.mjs +16 -1
  10. package/capabilities/oats-okf/lib/invocation-context.mjs +111 -0
  11. package/capabilities/oats-okf/lib/invocation-shape.mjs +135 -0
  12. package/capabilities/oats-okf/lib/io.mjs +1 -1
  13. package/capabilities/oats-okf/lib/portable-binding.mjs +199 -0
  14. package/capabilities/oats-okf/lib/source-contract.mjs +46 -0
  15. package/capabilities/oats-okf/lib/sources.mjs +123 -3
  16. package/capabilities/oats-okf/lib/stores.mjs +104 -25
  17. package/capabilities/oats-okf/lib/worker.mjs +69 -10
  18. package/capabilities/oats-okf/oats.json +35 -7
  19. package/capabilities/oats-okf/schemas/okf-portable-declaration.schema.json +87 -0
  20. package/capabilities/oats-okf/schemas/okf-portable-payload.schema.json +113 -0
  21. package/capabilities/oats-okf/skills/memory-harvest/SKILL.md +23 -5
  22. package/capabilities/oats-okf/skills/okf/SKILL.md +42 -1
  23. package/docs/artifact-approvals.schema.json +7 -0
  24. package/docs/capability-manifest.schema.json +37 -66
  25. package/docs/captured-invocation-context.schema.json +7 -0
  26. package/docs/captured-resolution.schema.json +7 -0
  27. package/docs/design/2026-09-14-artifact-retention-contract.md +190 -0
  28. package/docs/design/2026-09-14-portable-souls-and-git-workspaces.md +708 -0
  29. package/docs/design/2026-09-14-portable-souls-contract-amendments.md +85 -0
  30. package/docs/design/2026-09-14-portable-souls-explainer.md +750 -0
  31. package/docs/design/2026-09-15-captured-dispatch.md +127 -0
  32. package/docs/design/2026-09-15-captured-resolution-records.md +143 -0
  33. package/docs/design/2026-09-15-package-preparation.md +100 -0
  34. package/docs/design/2026-09-15-portable-data-contract.md +121 -0
  35. package/docs/design/2026-09-15-portable-declarations.md +189 -0
  36. package/docs/design/2026-09-15-portable-souls-handoff.md +150 -0
  37. package/docs/design/2026-09-15-portable-souls-implementation.md +417 -0
  38. package/docs/design/2026-09-15-selection-lock-and-approval.md +122 -0
  39. package/docs/design/2026-09-15-source-observation.md +119 -0
  40. package/docs/design/2026-09-16-captured-admission.md +77 -0
  41. package/docs/design/2026-09-16-captured-helper-dispatch.md +105 -0
  42. package/docs/design/2026-09-16-captured-launch-inputs.md +42 -0
  43. package/docs/design/2026-09-16-command-profile-preparation.md +86 -0
  44. package/docs/design/2026-09-16-fresh-install-first-rollout.md +47 -0
  45. package/docs/design/2026-09-16-fresh-operator-walkthrough.md +277 -0
  46. package/docs/design/2026-09-16-knowledge-capability-contract.md +61 -0
  47. package/docs/design/2026-09-16-messaging-capability-contract.md +59 -0
  48. package/docs/design/2026-09-16-portable-migration-evidence.md +156 -0
  49. package/docs/design/2026-09-16-portable-onboarding.md +177 -0
  50. package/docs/design/2026-09-16-prepare-request-transport.md +26 -0
  51. package/docs/design/2026-09-16-provider-binding-codecs.md +98 -0
  52. package/docs/design/2026-09-16-provider-binding-wire.md +247 -0
  53. package/docs/design/2026-09-17-capability-helper-input-contract.md +95 -0
  54. package/docs/design/2026-09-17-captured-backend-parity.md +53 -0
  55. package/docs/design/2026-09-17-captured-native-start.md +58 -0
  56. package/docs/design/2026-09-17-portable-boundary-hookup.md +19 -0
  57. package/docs/design/2026-09-17-portable-boundary-resources.md +52 -0
  58. package/docs/design/2026-09-17-public-captured-start.md +108 -0
  59. package/docs/design/2026-09-17-public-prepare-request.md +90 -0
  60. package/docs/design/2026-09-18-captured-pi-host.md +205 -0
  61. package/docs/design/2026-09-18-first-cut-release-checklist.md +131 -0
  62. package/docs/design/2026-09-18-herdr-protocol-compatibility.md +60 -0
  63. package/docs/desktop-cli-api.md +5 -2
  64. package/docs/execution-capsule.schema.json +108 -0
  65. package/docs/execution-targets.md +20 -7
  66. package/docs/oats-lock-v3.schema.json +7 -0
  67. package/docs/oats-member.schema.json +38 -0
  68. package/docs/oats-workspace.schema.json +68 -0
  69. package/docs/portable.schema.json +2512 -0
  70. package/docs/provider-check-input.schema.json +7 -0
  71. package/docs/release-notes/v0.24.0.md +104 -0
  72. package/docs/schedules.md +126 -14
  73. package/docs/soul.schema.json +82 -0
  74. package/injects/oats-portable.md +17 -0
  75. package/injects/portable-instance-boundary.md +39 -0
  76. package/injects/portable-work-directory.md +29 -0
  77. package/lib/artifact-approvals.mjs +120 -0
  78. package/lib/artifact-tree.mjs +141 -0
  79. package/lib/capability-artifacts.mjs +179 -0
  80. package/lib/capability-execution.mjs +15 -0
  81. package/lib/capability-inputs.mjs +39 -0
  82. package/lib/capability-provenance.mjs +231 -0
  83. package/lib/captured-action-shape.mjs +21 -0
  84. package/lib/captured-admission-shape.mjs +20 -0
  85. package/lib/captured-binding-file.mjs +36 -0
  86. package/lib/captured-dispatch.mjs +66 -0
  87. package/lib/captured-instance-index.mjs +277 -0
  88. package/lib/captured-invocation-context.mjs +130 -0
  89. package/lib/captured-launch-request.mjs +46 -0
  90. package/lib/captured-operation-process.mjs +15 -0
  91. package/lib/captured-pi-custody.mjs +29 -0
  92. package/lib/captured-pi-host.mjs +167 -0
  93. package/lib/captured-pi-outcome.mjs +172 -0
  94. package/lib/captured-resolutions.mjs +275 -0
  95. package/lib/captured-scaffold.mjs +87 -0
  96. package/lib/captured-selector.mjs +28 -0
  97. package/lib/captured-session-backend.mjs +52 -0
  98. package/lib/captured-source-receipt-file.mjs +72 -0
  99. package/lib/config-data.mjs +104 -0
  100. package/lib/core.mjs +918 -562
  101. package/lib/errors.mjs +7 -0
  102. package/lib/helper-injection-policy.mjs +98 -0
  103. package/lib/herdr.mjs +18 -7
  104. package/lib/instruction-composition.mjs +31 -0
  105. package/lib/legacy-lock-codec.mjs +106 -0
  106. package/lib/manifest-settings.mjs +84 -0
  107. package/lib/package-closure.mjs +48 -0
  108. package/lib/package-materialization.mjs +83 -0
  109. package/lib/pi-sdk-host.mjs +229 -0
  110. package/lib/portable-artifacts.mjs +115 -0
  111. package/lib/portable-choices.mjs +82 -0
  112. package/lib/portable-composition.mjs +136 -0
  113. package/lib/portable-digest.mjs +105 -0
  114. package/lib/portable-files.mjs +26 -0
  115. package/lib/portable-identity.mjs +40 -0
  116. package/lib/portable-lock.mjs +117 -0
  117. package/lib/portable-migration-artifacts.mjs +135 -0
  118. package/lib/portable-migration-evidence.mjs +305 -0
  119. package/lib/portable-migration-store.mjs +199 -0
  120. package/lib/portable-migration.mjs +104 -0
  121. package/lib/portable-onboarding-acceptance.mjs +66 -0
  122. package/lib/portable-onboarding-request.mjs +49 -0
  123. package/lib/portable-onboarding.mjs +230 -0
  124. package/lib/portable-package-preparation.mjs +188 -0
  125. package/lib/portable-policy.mjs +44 -0
  126. package/lib/portable-shape.mjs +35 -0
  127. package/lib/portable-soul.mjs +38 -0
  128. package/lib/portable-state.mjs +80 -0
  129. package/lib/portable-values.mjs +181 -0
  130. package/lib/prepare-composition.mjs +151 -0
  131. package/lib/prepared-bindings.mjs +78 -0
  132. package/lib/prepared-resources.mjs +127 -0
  133. package/lib/provider-binding-broker.mjs +59 -0
  134. package/lib/provider-binding-wire.mjs +110 -0
  135. package/lib/provider-binding.mjs +22 -0
  136. package/lib/repository-observation.mjs +226 -0
  137. package/lib/resolution-shape.mjs +393 -0
  138. package/lib/schedule-capsule.mjs +206 -0
  139. package/lib/schedule.mjs +259 -38
  140. package/lib/servers.mjs +15 -0
  141. package/lib/soul-constraints.mjs +40 -0
  142. package/lib/source-projection.mjs +84 -0
  143. package/lib/source-spec.mjs +189 -0
  144. package/lib/workspace-definition.mjs +126 -0
  145. package/lib/workspace-discovery.mjs +146 -0
  146. package/package-catalog.json +1 -1
  147. package/package.json +3 -2
  148. package/packages/record/lib/capture-cc.mjs +14 -6
  149. package/packages/record/lib/formats.mjs +14 -3
  150. package/packages/record/lib/native-history.mjs +277 -7
  151. package/packages/record/lib/session-snapshot.mjs +25 -5
  152. package/packages/record/lib/sessions-for-home.mjs +30 -13
  153. package/skills/oats/SKILL.md +12 -7
  154. package/skills/oats-config/SKILL.md +12 -9
  155. package/skills/oats-packages/SKILL.md +12 -8
  156. package/skills/oats-portable/SKILL.md +116 -0
  157. package/skills/oats-portable-artifacts/SKILL.md +63 -0
  158. package/skills/oats-portable-setup/SKILL.md +69 -0
@@ -0,0 +1,68 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://oats.dev/schemas/workspace-v1.json",
4
+ "title": "Portable workspace definition v1",
5
+ "description": "Data shape only; hosting identity, reciprocal membership and provider readiness are verified separately.",
6
+ "type": "object",
7
+ "required": ["schemaVersion", "name"],
8
+ "additionalProperties": false,
9
+ "properties": {
10
+ "schemaVersion": { "const": 1 },
11
+ "name": { "type": "string", "minLength": 1 },
12
+ "members": { "type": "array", "items": { "$ref": "#/$defs/repository" } },
13
+ "defaults": { "$ref": "https://oats.dev/schemas/soul-v1.json#/$defs/defaults" },
14
+ "knowledge": {
15
+ "type": "object", "required": ["stores"], "additionalProperties": false,
16
+ "properties": { "stores": { "type": "array", "items": { "$ref": "https://oats.dev/schemas/soul-v1.json#/properties/knowledge" } } }
17
+ },
18
+ "teams": {
19
+ "type": "object", "propertyNames": { "$ref": "#/$defs/alias" },
20
+ "properties": { "private": { "const": "per-human" } },
21
+ "additionalProperties": {
22
+ "type": "object", "required": ["provider", "id"], "additionalProperties": false,
23
+ "properties": { "provider": { "$ref": "https://oats.dev/schemas/soul-v1.json#/$defs/capability" }, "id": { "type": "string", "minLength": 1 } }
24
+ }
25
+ },
26
+ "catalogs": {
27
+ "type": "array", "items": {
28
+ "type": "object", "required": ["source"], "additionalProperties": false,
29
+ "properties": { "source": { "$ref": "#/$defs/source" }, "revision": { "$ref": "#/$defs/revision" }, "path": { "$ref": "#/$defs/path" } }
30
+ }
31
+ },
32
+ "imports": { "type": "array", "items": { "$ref": "#/$defs/import" } }
33
+ },
34
+ "$defs": {
35
+ "source": { "type": "string", "pattern": "^git:.+$" },
36
+ "revision": { "type": "string", "minLength": 1 },
37
+ "path": { "type": "string", "minLength": 1, "description": "Canonical contained repository-relative path; the shared source codec enforces semantic path rules." },
38
+ "alias": { "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" },
39
+ "repository": {
40
+ "type": "object", "required": ["source"], "additionalProperties": false,
41
+ "properties": { "source": { "$ref": "#/$defs/source" }, "revision": { "$ref": "#/$defs/revision" } }
42
+ },
43
+ "import": {
44
+ "type": "object", "required": ["source", "soul", "revision", "alias"], "additionalProperties": false,
45
+ "properties": {
46
+ "source": { "$ref": "#/$defs/source" },
47
+ "soul": { "$ref": "#/$defs/path" },
48
+ "revision": { "$ref": "#/$defs/revision" },
49
+ "alias": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" },
50
+ "adoption": {
51
+ "type": "object", "additionalProperties": false,
52
+ "properties": {
53
+ "teamAliases": { "type": "object", "propertyNames": { "$ref": "#/$defs/alias" }, "additionalProperties": { "$ref": "#/$defs/alias" } },
54
+ "providers": {
55
+ "type": "object", "additionalProperties": false,
56
+ "properties": {
57
+ "knowledge": { "$ref": "https://oats.dev/schemas/soul-v1.json#/$defs/defaultProvider" },
58
+ "messaging": { "$ref": "https://oats.dev/schemas/soul-v1.json#/$defs/defaultProvider" },
59
+ "tasks": { "$ref": "https://oats.dev/schemas/soul-v1.json#/$defs/defaultProvider" }
60
+ }
61
+ },
62
+ "bindings": { "type": "object" }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }