@inf-monkeys-tech/monkeys 1.1.34 → 1.1.36

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 (66) hide show
  1. package/README.md +13 -1
  2. package/lib/contracts/declarative-control-http.d.ts +1774 -208
  3. package/lib/contracts/declarative-control-http.d.ts.map +1 -1
  4. package/lib/contracts/declarative-control.d.ts +235 -13
  5. package/lib/contracts/declarative-control.d.ts.map +1 -1
  6. package/lib/contracts/declarative-control.js +18 -12
  7. package/lib/contracts/declarative-control.js.map +1 -1
  8. package/lib/contracts/declarative-publication-job.d.ts +472 -0
  9. package/lib/contracts/declarative-publication-job.d.ts.map +1 -1
  10. package/lib/contracts/design-board.d.ts +357 -0
  11. package/lib/contracts/design-board.d.ts.map +1 -0
  12. package/lib/contracts/design-board.js +75 -0
  13. package/lib/contracts/design-board.js.map +1 -0
  14. package/lib/contracts/index.d.ts +2 -0
  15. package/lib/contracts/index.d.ts.map +1 -1
  16. package/lib/contracts/index.js +2 -0
  17. package/lib/contracts/index.js.map +1 -1
  18. package/lib/contracts/materialized-model.d.ts +42 -0
  19. package/lib/contracts/materialized-model.d.ts.map +1 -0
  20. package/lib/contracts/materialized-model.js +37 -0
  21. package/lib/contracts/materialized-model.js.map +1 -0
  22. package/lib/contracts/menu.d.ts +5 -5
  23. package/lib/contracts/tenant.d.ts +1 -1
  24. package/lib/esm/{chunk-DDEMQXTP.mjs → chunk-2YGFLKSP.mjs} +7 -3
  25. package/lib/esm/{chunk-DDEMQXTP.mjs.map → chunk-2YGFLKSP.mjs.map} +1 -1
  26. package/lib/esm/{chunk-ZN3TO3U7.mjs → chunk-AGT4MIWF.mjs} +209 -6
  27. package/lib/esm/chunk-AGT4MIWF.mjs.map +1 -0
  28. package/lib/esm/{chunk-L5CYU6K4.mjs → chunk-GT5OGNJE.mjs} +2250 -2090
  29. package/lib/esm/chunk-GT5OGNJE.mjs.map +1 -0
  30. package/lib/esm/{chunk-IJ2W77NR.mjs → chunk-HLW3X2NX.mjs} +2 -2
  31. package/lib/esm/{chunk-EKT45BA4.mjs → chunk-LYWJTAAM.mjs} +2 -2
  32. package/lib/esm/{chunk-UWGXMF6O.mjs → chunk-UF5TNIAZ.mjs} +2 -2
  33. package/lib/esm/contracts/index.mjs +28 -4
  34. package/lib/esm/index.mjs +40 -6
  35. package/lib/esm/index.mjs.map +1 -1
  36. package/lib/esm/runtime/index.mjs +13 -3
  37. package/lib/esm/schemas/index.mjs +7 -3
  38. package/lib/json-schema/design-board-commit-command.schema.json +408 -0
  39. package/lib/json-schema/design-board-document.schema.json +380 -0
  40. package/lib/json-schema/index.json +2 -0
  41. package/lib/json-schema/page-runtime-bundle.schema.json +493 -100
  42. package/lib/json-schema/page.schema.json +261 -9
  43. package/lib/runtime/design-board.d.ts +4 -0
  44. package/lib/runtime/design-board.d.ts.map +1 -0
  45. package/lib/runtime/design-board.js +57 -0
  46. package/lib/runtime/design-board.js.map +1 -0
  47. package/lib/runtime/index.d.ts +2 -0
  48. package/lib/runtime/index.d.ts.map +1 -1
  49. package/lib/runtime/index.js +2 -0
  50. package/lib/runtime/index.js.map +1 -1
  51. package/lib/runtime/materialized-model.d.ts +23 -0
  52. package/lib/runtime/materialized-model.d.ts.map +1 -0
  53. package/lib/runtime/materialized-model.js +187 -0
  54. package/lib/runtime/materialized-model.js.map +1 -0
  55. package/lib/runtime/runtime-definition-wire.d.ts +118 -0
  56. package/lib/runtime/runtime-definition-wire.d.ts.map +1 -1
  57. package/lib/schemas/index.d.ts +210 -4
  58. package/lib/schemas/index.d.ts.map +1 -1
  59. package/lib/schemas/index.js +7 -1
  60. package/lib/schemas/index.js.map +1 -1
  61. package/package.json +1 -1
  62. package/lib/esm/chunk-L5CYU6K4.mjs.map +0 -1
  63. package/lib/esm/chunk-ZN3TO3U7.mjs.map +0 -1
  64. /package/lib/esm/{chunk-IJ2W77NR.mjs.map → chunk-HLW3X2NX.mjs.map} +0 -0
  65. /package/lib/esm/{chunk-EKT45BA4.mjs.map → chunk-LYWJTAAM.mjs.map} +0 -0
  66. /package/lib/esm/{chunk-UWGXMF6O.mjs.map → chunk-UF5TNIAZ.mjs.map} +0 -0
package/README.md CHANGED
@@ -132,7 +132,15 @@ Page expression declarations use `PAGE_EXPRESSION_LIMITS`: 4,096 nodes, 1 MiB of
132
132
 
133
133
  The plan retains no row contexts or results. Source declaration edits do not change an existing plan: prepare a new one when the Page revision changes. Literal objects in returned models are isolated from the private snapshot. `projectPageProperties(base, bindings, context)` remains available for one-shot calls and observes declaration edits on each invocation. Hosts using older SDK releases can keep that path until the prepared API is installed.
134
134
 
135
- ### Stable runtime contracts
135
+ ### Materialized target models
136
+
137
+ Server query bindings may replace `targetProjection.expression` with `targetProjection.materialized` while keeping the exact target input-port `schemaRevisionRef`. `kind: 'value'` selects a JSON object at `path`. `kind: 'chunks'` declares `rowsPath`, per-row `valuePath`, `modelPath`, batch/index/count paths, and one or more collection paths with expected totals and optional unique item keys. Indexes are zero-based; every chunk must be present, batch identities and non-collection model headers must agree. Arrays merge in chunk order. Inputs and outputs remain isolated.
138
+
139
+ Optional `pagination: { maxPages }` exhausts the binding's ordinary cursor query before publication. It retains the same authorization, parameters and abort signal, rejects repeated cursors, and never publishes a partial snapshot. Use binding `pagination: 'cursor'`, without a cursor window. Each response keeps the ordinary query verification; the assembled model also passes the exact target schema validator. No expression, script, aggregation, ranking, forecast or business filtering runs in this transport.
140
+
141
+ `budget` independently configures `maxRows` (default 1,000; ceiling 10,000), `maxItems` per collection (10,000; ceiling 50,000), `maxNodes` (200,000; ceiling 1,000,000), and conservative `maxBytes` (8 MiB; ceiling 16 MiB). Depth is capped at 64; page count at 100. Unsafe paths and non-JSON values fail closed. Existing expression bindings and their execution budgets are unchanged. SDK readers/compilers and host runtimes must be upgraded before publishing this declaration.
142
+
143
+ ### Stable runtime contract validation
136
144
 
137
145
  `runtimeContractVersion` is a provider-owned public contract identifier, independent of implementation revisions. `resolvePage` and `compileWorkbenchRuntimeBundle` derive it from exact governed registrations. The Page compiler rejects user-supplied contract labels that disagree with those registrations. A compatible implementation can serve a previously compiled RenderNode without changing the published definition or its dependency hashes.
138
146
 
@@ -141,3 +149,7 @@ The plan retains no row contexts or results. Source declaration edits do not cha
141
149
  `assertCompatibleCapabilityUpgrade` guards catalog activation and package publication. Compatible inputs accept every historical value; outputs must remain valid for historical consumers. Optional input properties, optional ports, enum widening and documentation annotations are supported; unknown Schema changes fail closed. Provider identity, lifecycle, effects, placement and access requirements remain protected. Breaking changes require a separate capability/provider identity with the existing implementation retained. Behavioral regression tests remain necessary alongside Schema checks.
142
150
 
143
151
  `sameSchemaContract` compares stable identity, tenant scope, Schema version and content hash, allowing a different metadata revision for identical Schema content. Raw query results, permissions, command validation and immutable snapshot verification must continue to use their owning validators.
152
+
153
+ ### Design Board documents
154
+
155
+ `DesignBoardDocumentSchema` validates versioned Excalidraw scenes and their pages, nodes, connections and managed file references. `DesignBoardCommitCommandSchema` carries a board ID, expected revision, request ID and bounded changes; the consuming service owns authorization, conflict checks and persistence. `diffDesignBoardDocuments` and `applyDesignBoardChanges` preserve untouched pages and canvas preferences. Files use canonical `file://` references; inline binary file dictionaries are rejected.