@clowder-ai/plugin-contract 0.1.0-beta.8 → 0.2.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 (144) hide show
  1. package/dist/codegen/generate-contract.d.ts +7 -0
  2. package/dist/codegen/generate-contract.d.ts.map +1 -1
  3. package/dist/codegen/generate-contract.js +350 -19
  4. package/dist/codegen/generate-contract.js.map +1 -1
  5. package/dist/conformance/fixtures.d.ts +3 -1
  6. package/dist/conformance/fixtures.d.ts.map +1 -1
  7. package/dist/conformance/fixtures.js +2 -1
  8. package/dist/conformance/fixtures.js.map +1 -1
  9. package/dist/conformance/index.d.ts +2 -1
  10. package/dist/conformance/index.d.ts.map +1 -1
  11. package/dist/conformance/index.js +2 -1
  12. package/dist/conformance/index.js.map +1 -1
  13. package/dist/conformance/messaging-behavior-fixture.d.ts +12 -0
  14. package/dist/conformance/messaging-behavior-fixture.d.ts.map +1 -0
  15. package/dist/conformance/messaging-behavior-fixture.js +30 -0
  16. package/dist/conformance/messaging-behavior-fixture.js.map +1 -0
  17. package/dist/conformance/runner.d.ts.map +1 -1
  18. package/dist/conformance/runner.js +23 -3
  19. package/dist/conformance/runner.js.map +1 -1
  20. package/dist/conformance/stdio-harness/wire-shape.d.ts +1 -1
  21. package/dist/docx-materialization.d.ts +8 -0
  22. package/dist/docx-materialization.d.ts.map +1 -0
  23. package/dist/docx-materialization.js +19 -0
  24. package/dist/docx-materialization.js.map +1 -0
  25. package/dist/generated/contract.generated.d.ts +1665 -33
  26. package/dist/generated/contract.generated.d.ts.map +1 -1
  27. package/dist/generated/contract.generated.js +72 -3
  28. package/dist/generated/contract.generated.js.map +1 -1
  29. package/dist/index.d.ts +2 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +2 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/validation/catalog.d.ts +21 -0
  34. package/dist/validation/catalog.d.ts.map +1 -0
  35. package/dist/validation/catalog.js +140 -0
  36. package/dist/validation/catalog.js.map +1 -0
  37. package/dist/validation/cloud-conversation-host.d.ts +18 -0
  38. package/dist/validation/cloud-conversation-host.d.ts.map +1 -0
  39. package/dist/validation/cloud-conversation-host.js +83 -0
  40. package/dist/validation/cloud-conversation-host.js.map +1 -0
  41. package/dist/validation/companion-bridge.d.ts +6 -0
  42. package/dist/validation/companion-bridge.d.ts.map +1 -0
  43. package/dist/validation/companion-bridge.js +198 -0
  44. package/dist/validation/companion-bridge.js.map +1 -0
  45. package/dist/validation/docx-materialization.d.ts +6 -0
  46. package/dist/validation/docx-materialization.d.ts.map +1 -0
  47. package/dist/validation/docx-materialization.js +36 -0
  48. package/dist/validation/docx-materialization.js.map +1 -0
  49. package/dist/validation/index.d.ts +9 -0
  50. package/dist/validation/index.d.ts.map +1 -1
  51. package/dist/validation/index.js +9 -0
  52. package/dist/validation/index.js.map +1 -1
  53. package/dist/validation/manifest.d.ts.map +1 -1
  54. package/dist/validation/manifest.js +324 -1
  55. package/dist/validation/manifest.js.map +1 -1
  56. package/dist/validation/members.d.ts +4 -0
  57. package/dist/validation/members.d.ts.map +1 -0
  58. package/dist/validation/members.js +11 -0
  59. package/dist/validation/members.js.map +1 -0
  60. package/dist/validation/messaging-semantic.d.ts.map +1 -1
  61. package/dist/validation/messaging-semantic.js +98 -0
  62. package/dist/validation/messaging-semantic.js.map +1 -1
  63. package/dist/validation/messaging-wire.d.ts +42 -0
  64. package/dist/validation/messaging-wire.d.ts.map +1 -0
  65. package/dist/validation/messaging-wire.js +184 -0
  66. package/dist/validation/messaging-wire.js.map +1 -0
  67. package/dist/validation/operation-rows.d.ts +25 -0
  68. package/dist/validation/operation-rows.d.ts.map +1 -0
  69. package/dist/validation/operation-rows.js +135 -0
  70. package/dist/validation/operation-rows.js.map +1 -0
  71. package/dist/validation/signals.d.ts +17 -0
  72. package/dist/validation/signals.d.ts.map +1 -0
  73. package/dist/validation/signals.js +32 -0
  74. package/dist/validation/signals.js.map +1 -0
  75. package/dist/variant.d.ts +114 -0
  76. package/dist/variant.d.ts.map +1 -0
  77. package/dist/variant.js +305 -0
  78. package/dist/variant.js.map +1 -0
  79. package/dist/wire/constants.d.ts +2 -1
  80. package/dist/wire/constants.d.ts.map +1 -1
  81. package/dist/wire/constants.js +2 -1
  82. package/dist/wire/constants.js.map +1 -1
  83. package/dist/wire/dispatch.d.ts +49 -0
  84. package/dist/wire/dispatch.d.ts.map +1 -0
  85. package/dist/wire/dispatch.js +880 -0
  86. package/dist/wire/dispatch.js.map +1 -0
  87. package/dist/wire/disposition-fixtures.d.ts +10 -0
  88. package/dist/wire/disposition-fixtures.d.ts.map +1 -1
  89. package/dist/wire/disposition-fixtures.js +661 -75
  90. package/dist/wire/disposition-fixtures.js.map +1 -1
  91. package/dist/wire/envelope.d.ts +31 -0
  92. package/dist/wire/envelope.d.ts.map +1 -1
  93. package/dist/wire/envelope.js +48 -1
  94. package/dist/wire/envelope.js.map +1 -1
  95. package/dist/wire/errors.d.ts +31 -1
  96. package/dist/wire/errors.d.ts.map +1 -1
  97. package/dist/wire/errors.js +36 -0
  98. package/dist/wire/errors.js.map +1 -1
  99. package/dist/wire/grants.d.ts +4 -4
  100. package/dist/wire/grants.js +3 -3
  101. package/dist/wire/handshake-byte-bounds.d.ts.map +1 -1
  102. package/dist/wire/handshake-byte-bounds.js +5 -2
  103. package/dist/wire/handshake-byte-bounds.js.map +1 -1
  104. package/dist/wire/handshake.d.ts +6 -0
  105. package/dist/wire/handshake.d.ts.map +1 -1
  106. package/dist/wire/handshake.js +6 -3
  107. package/dist/wire/handshake.js.map +1 -1
  108. package/dist/wire/index.d.ts +13 -6
  109. package/dist/wire/index.d.ts.map +1 -1
  110. package/dist/wire/index.js +31 -6
  111. package/dist/wire/index.js.map +1 -1
  112. package/dist/wire/lifecycle-byte-bounds.d.ts +40 -0
  113. package/dist/wire/lifecycle-byte-bounds.d.ts.map +1 -0
  114. package/dist/wire/lifecycle-byte-bounds.js +149 -0
  115. package/dist/wire/lifecycle-byte-bounds.js.map +1 -0
  116. package/dist/wire/messaging-byte-bounds.d.ts +62 -0
  117. package/dist/wire/messaging-byte-bounds.d.ts.map +1 -0
  118. package/dist/wire/messaging-byte-bounds.js +581 -0
  119. package/dist/wire/messaging-byte-bounds.js.map +1 -0
  120. package/dist/wire/registry.d.ts +63 -77
  121. package/dist/wire/registry.d.ts.map +1 -1
  122. package/dist/wire/registry.js +47 -76
  123. package/dist/wire/registry.js.map +1 -1
  124. package/dist/wire/row-shapes.d.ts +87 -70
  125. package/dist/wire/row-shapes.d.ts.map +1 -1
  126. package/dist/wire/row-shapes.js +31 -4
  127. package/dist/wire/row-shapes.js.map +1 -1
  128. package/fixtures/behavior/messaging/adversarial-invariants.json +92 -2
  129. package/fixtures/manifest/invalid/duplicate-signal-type.json +35 -0
  130. package/fixtures/manifest/invalid/icon-package-escape.json +22 -0
  131. package/fixtures/manifest/valid/localized-product-metadata.json +27 -0
  132. package/fixtures/messaging/valid/subscription-delivery.json +1 -1
  133. package/fixtures/signals/invalid/dynamic-schema-url.json +10 -0
  134. package/fixtures/signals/invalid/forbidden-raw-privacy.json +10 -0
  135. package/fixtures/signals/valid/remote-service-declaration.json +10 -0
  136. package/package.json +17 -3
  137. package/src/schemas/behavior-fixture.schema.json +903 -116
  138. package/src/schemas/catalog.schema.json +91 -0
  139. package/src/schemas/companion-bridge.schema.json +2256 -0
  140. package/src/schemas/docx-materialization.schema.json +302 -0
  141. package/src/schemas/manifest.schema.json +2276 -88
  142. package/src/schemas/messaging.schema.json +692 -41
  143. package/src/schemas/plugin-metadata.schema.json +62 -0
  144. package/src/schemas/signal.schema.json +119 -0
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://clowder-ai.dev/schemas/plugin-metadata/v1",
4
+ "title": "Clowder AI Plugin Product Metadata (v1)",
5
+ "description": "Manifest-owned static product metadata projected into the repository catalog for Agent, Console, and Marketplace discovery.",
6
+ "$defs": {
7
+ "LocalizedDescriptionObject": {
8
+ "type": "object",
9
+ "properties": {
10
+ "default": { "type": "string", "minLength": 1, "maxLength": 4096 },
11
+ "translations": {
12
+ "type": "object",
13
+ "propertyNames": {
14
+ "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$"
15
+ },
16
+ "additionalProperties": { "type": "string", "minLength": 1, "maxLength": 4096 },
17
+ "minProperties": 1,
18
+ "maxProperties": 32
19
+ }
20
+ },
21
+ "required": ["default", "translations"],
22
+ "additionalProperties": false
23
+ },
24
+ "LocalizedDescription": {
25
+ "oneOf": [
26
+ { "type": "string", "minLength": 1, "maxLength": 4096 },
27
+ { "$ref": "#/$defs/LocalizedDescriptionObject" }
28
+ ]
29
+ },
30
+ "PackageAssetPath": {
31
+ "type": "string",
32
+ "minLength": 1,
33
+ "maxLength": 256,
34
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(/[A-Za-z0-9][A-Za-z0-9._-]*)*$"
35
+ },
36
+ "PackageIcon": {
37
+ "type": "object",
38
+ "properties": {
39
+ "type": { "type": "string", "enum": ["svg", "png"] },
40
+ "src": { "$ref": "#/$defs/PackageAssetPath" }
41
+ },
42
+ "required": ["type", "src"],
43
+ "additionalProperties": false,
44
+ "allOf": [
45
+ {
46
+ "if": { "properties": { "type": { "const": "svg" } }, "required": ["type"] },
47
+ "then": { "properties": { "src": { "pattern": "\\.svg$" } } }
48
+ },
49
+ {
50
+ "if": { "properties": { "type": { "const": "png" } }, "required": ["type"] },
51
+ "then": { "properties": { "src": { "pattern": "\\.png$" } } }
52
+ }
53
+ ]
54
+ },
55
+ "PluginIcon": {
56
+ "oneOf": [
57
+ { "const": "github" },
58
+ { "$ref": "#/$defs/PackageIcon" }
59
+ ]
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://clowder-ai.dev/schemas/signals/v0.2",
4
+ "title": "Clowder AI Signal Declarations",
5
+ "description": "Manifest-only signal declarations and contribution metadata. Runtime publication is not part of this schema.",
6
+ "x-clowder-forbidden-privacy-classes": [
7
+ "av-raw",
8
+ "input-raw"
9
+ ],
10
+ "x-clowder-forbidden-source-classes": [
11
+ "av-capture",
12
+ "input-hardware"
13
+ ],
14
+ "$defs": {
15
+ "SignalType": {
16
+ "type": "string",
17
+ "minLength": 3,
18
+ "maxLength": 128,
19
+ "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_-]*)+$"
20
+ },
21
+ "SignalSchemaRef": {
22
+ "type": "string",
23
+ "description": "Package-local content schema reference declared in manifest metadata.",
24
+ "minLength": 21,
25
+ "maxLength": 256,
26
+ "pattern": "^schemas/([A-Za-z0-9][A-Za-z0-9._-]*/)*[A-Za-z0-9][A-Za-z0-9._-]*\\.schema\\.json$"
27
+ },
28
+ "SignalEpistemicStatus": {
29
+ "type": "string",
30
+ "enum": [
31
+ "observation",
32
+ "inference"
33
+ ]
34
+ },
35
+ "SignalPrivacyClass": {
36
+ "type": "string",
37
+ "enum": [
38
+ "behavioral",
39
+ "content-adjacent",
40
+ "content",
41
+ "av-raw",
42
+ "input-raw"
43
+ ]
44
+ },
45
+ "AdmissibleSignalPrivacyClass": {
46
+ "type": "string",
47
+ "enum": [
48
+ "behavioral",
49
+ "content-adjacent",
50
+ "content"
51
+ ]
52
+ },
53
+ "SignalSourceClass": {
54
+ "type": "string",
55
+ "enum": [
56
+ "os-metadata",
57
+ "accessibility-api",
58
+ "remote-service",
59
+ "av-capture",
60
+ "input-hardware"
61
+ ]
62
+ },
63
+ "AdmissibleSignalSourceClass": {
64
+ "type": "string",
65
+ "enum": [
66
+ "os-metadata",
67
+ "accessibility-api",
68
+ "remote-service"
69
+ ]
70
+ },
71
+ "SignalDeclaration": {
72
+ "type": "object",
73
+ "properties": {
74
+ "type": {
75
+ "$ref": "#/$defs/SignalType"
76
+ },
77
+ "schemaRef": {
78
+ "$ref": "#/$defs/SignalSchemaRef"
79
+ },
80
+ "epistemicStatus": {
81
+ "$ref": "#/$defs/SignalEpistemicStatus"
82
+ },
83
+ "privacyClass": {
84
+ "$ref": "#/$defs/AdmissibleSignalPrivacyClass"
85
+ },
86
+ "sourceClass": {
87
+ "$ref": "#/$defs/AdmissibleSignalSourceClass"
88
+ }
89
+ },
90
+ "required": [
91
+ "type",
92
+ "schemaRef",
93
+ "epistemicStatus",
94
+ "privacyClass",
95
+ "sourceClass"
96
+ ],
97
+ "additionalProperties": false
98
+ },
99
+ "SignalContribution": {
100
+ "type": "object",
101
+ "properties": {
102
+ "provides": {
103
+ "type": "array",
104
+ "items": {
105
+ "$ref": "#/$defs/SignalDeclaration"
106
+ },
107
+ "minItems": 1,
108
+ "maxItems": 64,
109
+ "uniqueItems": true
110
+ }
111
+ },
112
+ "required": [
113
+ "provides"
114
+ ],
115
+ "additionalProperties": false
116
+ }
117
+ },
118
+ "$ref": "#/$defs/SignalContribution"
119
+ }