Skip to content
Open
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
26 changes: 0 additions & 26 deletions .changeset/reference-repeater-contract.md

This file was deleted.

8 changes: 8 additions & 0 deletions packages/agent-runtime/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @cloudhal/agent-runtime

## 0.8.0

### Patch Changes

- Updated dependencies [b6cf70f]
- @cloudhal/core-contracts@0.8.0
- @cloudhal/storage@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/agent-runtime/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/agent-runtime",
"version": "0.7.3",
"version": "0.8.0",
"description": "Cloudhal agent runtime: policy engine (actors, scopes, approvals), skill loader, audit log",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
8 changes: 8 additions & 0 deletions packages/analytics/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @cloudhal/analytics

## 0.8.0

### Patch Changes

- Updated dependencies [b6cf70f]
- @cloudhal/core-contracts@0.8.0
- @cloudhal/storage@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/analytics/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/analytics",
"version": "0.7.3",
"version": "0.8.0",
"description": "Cloudhal site analytics (RFC-0006): query model, classifiers, beacon handler, SQLite/D1 store, daily rollups and Workers Analytics Engine adapters. Worker-safe.",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
34 changes: 34 additions & 0 deletions packages/api/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# @cloudhal/api

## 0.8.0

### Patch Changes

- b6cf70f: The contract gains two field types for collections, `reference` and `repeater` (RFC-0045 §1, rollout step 1, #114). Every write path still refuses them, so existing sites behave exactly as before.

- **Contract.** `FieldDefinition` gains `ReferenceField` and `RepeaterField`. A new `SubFieldDefinition` union holds a repeater's sub-fields: scalar values only, so a repeater cannot contain a repeater. `FieldMigration.fromType` gains both types, and `FieldMigration` gains an optional `sub`. There is no `schemaVersion` bump, and existing documents stay valid.
- **The gate.** Until rollout step 7 enables them, a reference or repeater definition, or a migration marker that names one, is refused with `fields_unsupported`: API status 409, with an MCP hint. The refusal covers:
- site creates and updates, so Studio, MCP and the API;
- field operations;
- every bundle `importSite` takes: import, pull, push, `cloudhal import --replace` and `--revert`, snapshot restores and edition copies.

`checkBundle` gained `assertFieldTypes`. It checks the working site row, and `prepareImport` checks every snapshot site body the import writes once it has been verified (bodies the target already holds are its own), and refuses the types when no capability is given. A push answers `409 fields_unsupported` with its issues, not `400 bad_request`.
- **Pure core** (`@cloudhal/core-ts/fields`), with no effect on stored data yet:
- the definition rules: `reference_target_unknown`, `where`, `itemLabel`, and caps on sub-fields and leaves;
- value checks for both types, the per-item `requiredToPublish`, and `too_many_references`;
- `resolveFields` skips types it does not know;
- `fieldsJsonSchema(…, { strict: true })` and `strictSchemaCost`;
- `pickMember`, `referenceIssues`, and `FIELD_QUERY_OPS` and structured-data entries that make neither type listable or mappable.

`FIELD_TYPES` keeps the nine enabled types (`EnabledFieldType`). `ALL_FIELD_TYPES` lists all eleven.
- **MCP.** `update_collection`'s input now builds its `$defs` with `defsClosure` and offers only the enabled types. A test checks that every `$ref` in every tool's input and output schema resolves. Before this change, `pnpm gen` alone would have left the input pointing at `$defs` it did not carry.
- **Fix, existing sites:** block props and typed-field objects no longer accept keys named after `Object.prototype` members (`constructor`, `toString`, `__proto__`, …) as known props. The props interpreter (`validateProps`) now checks and reads own keys only. Such keys are refused as unknown, and a prop the value leaves out is absent, not the prototype's function. `toLocaleString`, `isPrototypeOf` and `propertyIsEnumerable` join the reserved field keys, beside `toString`, `valueOf` and `hasOwnProperty`.
- Updated dependencies [b6cf70f]
- @cloudhal/core-contracts@0.8.0
- @cloudhal/core-ts@0.8.0
- @cloudhal/mcp-server@0.8.0
- @cloudhal/agent-runtime@0.8.0
- @cloudhal/analytics@0.8.0
- @cloudhal/astro-renderer@0.8.0
- @cloudhal/comments@0.8.0
- @cloudhal/schedules@0.8.0
- @cloudhal/storage@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/api/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/api",
"version": "0.7.3",
"version": "0.8.0",
"description": "Cloudhal HTTP API (Hono): sites, pages, entries, snapshots, auth — runs on Node and Cloudflare Workers",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
11 changes: 11 additions & 0 deletions packages/astro-renderer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# @cloudhal/astro-renderer

## 0.8.0

### Patch Changes

- Updated dependencies [b6cf70f]
- @cloudhal/core-contracts@0.8.0
- @cloudhal/core-ts@0.8.0
- @cloudhal/analytics@0.8.0
- @cloudhal/comments@0.8.0
- @cloudhal/storage@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/astro-renderer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/astro-renderer",
"version": "0.7.3",
"version": "0.8.0",
"description": "Render a Cloudhal Site Graph with Astro: data sources (live/snapshot), section components and the cloudhal() integration",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
17 changes: 17 additions & 0 deletions packages/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# @cloudhal/cli

## 0.8.0

### Patch Changes

- Updated dependencies [b6cf70f]
- @cloudhal/core-contracts@0.8.0
- @cloudhal/core-ts@0.8.0
- @cloudhal/mcp-server@0.8.0
- @cloudhal/api@0.8.0
- @cloudhal/agent-runtime@0.8.0
- @cloudhal/analytics@0.8.0
- @cloudhal/astro-renderer@0.8.0
- @cloudhal/comments@0.8.0
- @cloudhal/schedules@0.8.0
- @cloudhal/storage@0.8.0
- @cloudhal/cloudflare@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/cli",
"version": "0.7.3",
"version": "0.8.0",
"description": "cloudhal — create, run and build Cloudhal sites locally",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
14 changes: 14 additions & 0 deletions packages/cloudflare/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# @cloudhal/cloudflare

## 0.8.0

### Patch Changes

- Updated dependencies [b6cf70f]
- @cloudhal/core-ts@0.8.0
- @cloudhal/mcp-server@0.8.0
- @cloudhal/api@0.8.0
- @cloudhal/agent-runtime@0.8.0
- @cloudhal/analytics@0.8.0
- @cloudhal/comments@0.8.0
- @cloudhal/schedules@0.8.0
- @cloudhal/storage@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/cloudflare/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/cloudflare",
"version": "0.7.3",
"version": "0.8.0",
"description": "Cloudhal on Cloudflare: the admin Worker (API, auth, MCP, Studio) over D1 + R2",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
9 changes: 9 additions & 0 deletions packages/comments/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @cloudhal/comments

## 0.8.0

### Patch Changes

- Updated dependencies [b6cf70f]
- @cloudhal/core-contracts@0.8.0
- @cloudhal/core-ts@0.8.0
- @cloudhal/storage@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/comments/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/comments",
"version": "0.7.3",
"version": "0.8.0",
"description": "Cloudhal reader comments (RFC-0007): settings and thread state, text normalising and content rules, linkify, first-party proof of work, the submission pipeline, purge planner, retention plan and the SQLite/D1 store. Worker-safe.",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
24 changes: 24 additions & 0 deletions packages/core-contracts/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# @cloudhal/core-contracts

## 0.8.0

### Minor Changes

- b6cf70f: The contract gains two field types for collections, `reference` and `repeater` (RFC-0045 §1, rollout step 1, #114). Every write path still refuses them, so existing sites behave exactly as before.

- **Contract.** `FieldDefinition` gains `ReferenceField` and `RepeaterField`. A new `SubFieldDefinition` union holds a repeater's sub-fields: scalar values only, so a repeater cannot contain a repeater. `FieldMigration.fromType` gains both types, and `FieldMigration` gains an optional `sub`. There is no `schemaVersion` bump, and existing documents stay valid.
- **The gate.** Until rollout step 7 enables them, a reference or repeater definition, or a migration marker that names one, is refused with `fields_unsupported`: API status 409, with an MCP hint. The refusal covers:
- site creates and updates, so Studio, MCP and the API;
- field operations;
- every bundle `importSite` takes: import, pull, push, `cloudhal import --replace` and `--revert`, snapshot restores and edition copies.

`checkBundle` gained `assertFieldTypes`. It checks the working site row, and `prepareImport` checks every snapshot site body the import writes once it has been verified (bodies the target already holds are its own), and refuses the types when no capability is given. A push answers `409 fields_unsupported` with its issues, not `400 bad_request`.
- **Pure core** (`@cloudhal/core-ts/fields`), with no effect on stored data yet:
- the definition rules: `reference_target_unknown`, `where`, `itemLabel`, and caps on sub-fields and leaves;
- value checks for both types, the per-item `requiredToPublish`, and `too_many_references`;
- `resolveFields` skips types it does not know;
- `fieldsJsonSchema(…, { strict: true })` and `strictSchemaCost`;
- `pickMember`, `referenceIssues`, and `FIELD_QUERY_OPS` and structured-data entries that make neither type listable or mappable.

`FIELD_TYPES` keeps the nine enabled types (`EnabledFieldType`). `ALL_FIELD_TYPES` lists all eleven.
- **MCP.** `update_collection`'s input now builds its `$defs` with `defsClosure` and offers only the enabled types. A test checks that every `$ref` in every tool's input and output schema resolves. Before this change, `pnpm gen` alone would have left the input pointing at `$defs` it did not carry.
- **Fix, existing sites:** block props and typed-field objects no longer accept keys named after `Object.prototype` members (`constructor`, `toString`, `__proto__`, …) as known props. The props interpreter (`validateProps`) now checks and reads own keys only. Such keys are refused as unknown, and a prop the value leaves out is absent, not the prototype's function. `toLocaleString`, `isPrototypeOf` and `propertyIsEnumerable` join the reserved field keys, beside `toString`, `valueOf` and `hasOwnProperty`.

## 0.7.3

No changes in this release.
Expand Down
2 changes: 1 addition & 1 deletion packages/core-contracts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/core-contracts",
"version": "0.7.3",
"version": "0.8.0",
"description": "Cloudhal domain contracts: JSON Schema source of truth plus generated TypeScript types",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
28 changes: 28 additions & 0 deletions packages/core-ts/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# @cloudhal/core-ts

## 0.8.0

### Patch Changes

- b6cf70f: The contract gains two field types for collections, `reference` and `repeater` (RFC-0045 §1, rollout step 1, #114). Every write path still refuses them, so existing sites behave exactly as before.

- **Contract.** `FieldDefinition` gains `ReferenceField` and `RepeaterField`. A new `SubFieldDefinition` union holds a repeater's sub-fields: scalar values only, so a repeater cannot contain a repeater. `FieldMigration.fromType` gains both types, and `FieldMigration` gains an optional `sub`. There is no `schemaVersion` bump, and existing documents stay valid.
- **The gate.** Until rollout step 7 enables them, a reference or repeater definition, or a migration marker that names one, is refused with `fields_unsupported`: API status 409, with an MCP hint. The refusal covers:
- site creates and updates, so Studio, MCP and the API;
- field operations;
- every bundle `importSite` takes: import, pull, push, `cloudhal import --replace` and `--revert`, snapshot restores and edition copies.

`checkBundle` gained `assertFieldTypes`. It checks the working site row, and `prepareImport` checks every snapshot site body the import writes once it has been verified (bodies the target already holds are its own), and refuses the types when no capability is given. A push answers `409 fields_unsupported` with its issues, not `400 bad_request`.
- **Pure core** (`@cloudhal/core-ts/fields`), with no effect on stored data yet:
- the definition rules: `reference_target_unknown`, `where`, `itemLabel`, and caps on sub-fields and leaves;
- value checks for both types, the per-item `requiredToPublish`, and `too_many_references`;
- `resolveFields` skips types it does not know;
- `fieldsJsonSchema(…, { strict: true })` and `strictSchemaCost`;
- `pickMember`, `referenceIssues`, and `FIELD_QUERY_OPS` and structured-data entries that make neither type listable or mappable.

`FIELD_TYPES` keeps the nine enabled types (`EnabledFieldType`). `ALL_FIELD_TYPES` lists all eleven.
- **MCP.** `update_collection`'s input now builds its `$defs` with `defsClosure` and offers only the enabled types. A test checks that every `$ref` in every tool's input and output schema resolves. Before this change, `pnpm gen` alone would have left the input pointing at `$defs` it did not carry.
- **Fix, existing sites:** block props and typed-field objects no longer accept keys named after `Object.prototype` members (`constructor`, `toString`, `__proto__`, …) as known props. The props interpreter (`validateProps`) now checks and reads own keys only. Such keys are refused as unknown, and a prop the value leaves out is absent, not the prototype's function. `toLocaleString`, `isPrototypeOf` and `propertyIsEnumerable` join the reserved field keys, beside `toString`, `valueOf` and `hasOwnProperty`.
- Updated dependencies [b6cf70f]
- @cloudhal/core-contracts@0.8.0
- @cloudhal/schedules@0.8.0
- @cloudhal/storage@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/core-ts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cloudhal/core-ts",
"version": "0.7.3",
"version": "0.8.0",
"description": "Cloudhal Site Graph core (TypeScript): load/save nodes with optimistic locking, snapshots, diff, publish and rollback; taxonomies, terms, redirects and menus",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
6 changes: 6 additions & 0 deletions packages/create-cloudhal/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# create-cloudhal

## 0.8.0

### Patch Changes

- @cloudhal/cli@0.8.0

## 0.7.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/create-cloudhal/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-cloudhal",
"version": "0.7.3",
"version": "0.8.0",
"description": "Create a Cloudhal site: npm create cloudhal@latest",
"license": "Apache-2.0",
"homepage": "https://cloudhal.dev",
Expand Down
Loading