@opensoha/contracts 0.1.7 → 0.1.8

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 (30) hide show
  1. package/compat/json-schema-ecosystem-0.1.0.json +1 -1
  2. package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
  3. package/fixtures/json-schema/companion-pack/invalid/traversal.json +19 -0
  4. package/fixtures/json-schema/companion-pack/valid/svg.json +47 -0
  5. package/fixtures/json-schema/companion-provenance/invalid/missing-source.json +8 -0
  6. package/fixtures/json-schema/companion-provenance/valid/minimal.json +10 -0
  7. package/fixtures/json-schema/marketplace-catalog/valid/companion-pack.json +39 -0
  8. package/fixtures/json-schema/plugin-manifest/invalid/companion-pack-without-assets.json +17 -0
  9. package/fixtures/json-schema/plugin-manifest/valid/companion-pack.json +28 -0
  10. package/fixtures/openapi/CompanionInteractionReceiptEnvelope/invalid/missing-profile.json +9 -0
  11. package/fixtures/openapi/CompanionInteractionReceiptEnvelope/valid/applied.json +22 -0
  12. package/fixtures/openapi/CompanionInteractionRequest/invalid/client-reward.json +5 -0
  13. package/fixtures/openapi/CompanionInteractionRequest/valid/pet.json +5 -0
  14. package/fixtures/openapi/CompanionPackManifest/invalid/external-entry.json +11 -0
  15. package/fixtures/openapi/CompanionPackManifest/valid/svg.json +20 -0
  16. package/fixtures/openapi/CompanionProfileEnvelope/invalid/level-zero.json +15 -0
  17. package/fixtures/openapi/CompanionProfileEnvelope/valid/default.json +15 -0
  18. package/fixtures/openapi/PluginProvenanceStatement/invalid/algorithm.json +10 -0
  19. package/fixtures/openapi/PluginProvenanceStatement/valid/minimal.json +10 -0
  20. package/gen/go/sohaapi/client.go +1 -1
  21. package/gen/go/sohaapi/types.go +532 -18
  22. package/gen/ts/sohaapi/index.ts +515 -1
  23. package/openapi/soha-api.json +1040 -2
  24. package/openapi/soha-api.yaml +464 -1
  25. package/openapi/spec_generated.go +3 -3
  26. package/package.json +3 -1
  27. package/plugins/companion-pack.schema.json +118 -0
  28. package/plugins/companion-provenance.schema.json +19 -0
  29. package/plugins/marketplace-catalog.schema.json +20 -0
  30. package/plugins/plugin-manifest.schema.json +19 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.7",
2
+ "version": "0.1.8",
3
3
  "schemas": {
4
4
  "plugins/plugin-manifest.schema.json": {
5
5
  "rootRequired": ["id", "name", "publisher", "type", "version"],
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.7",
2
+ "version": "0.1.8",
3
3
  "generatedFrom": "openapi/soha-api.yaml",
4
4
  "entries": [
5
5
  {
@@ -0,0 +1,19 @@
1
+ {
2
+ "renderer": "live2d-cubism",
3
+ "entryAsset": "../model/model3.json",
4
+ "assets": [
5
+ {
6
+ "path": "../model/model3.json",
7
+ "kind": "entry",
8
+ "contentType": "application/json",
9
+ "sizeBytes": 1024,
10
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
+ }
12
+ ],
13
+ "license": {
14
+ "name": "Unknown",
15
+ "url": "https://example.invalid/license",
16
+ "redistributionAllowed": true,
17
+ "commercialUseAllowed": false
18
+ }
19
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "renderer": "svg",
3
+ "entryAsset": "model/soha.svg",
4
+ "thumbnailAsset": "thumbnail.png",
5
+ "assets": [
6
+ {
7
+ "path": "model/soha.svg",
8
+ "kind": "entry",
9
+ "contentType": "image/svg+xml",
10
+ "sizeBytes": 2048,
11
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
12
+ },
13
+ {
14
+ "path": "thumbnail.png",
15
+ "kind": "thumbnail",
16
+ "contentType": "image/png",
17
+ "sizeBytes": 1024,
18
+ "sha256": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
19
+ }
20
+ ],
21
+ "animations": {
22
+ "idle": "breathe",
23
+ "thinking": "ponder",
24
+ "speaking": "talk"
25
+ },
26
+ "interactions": [
27
+ {
28
+ "id": "pet",
29
+ "label": "Pet",
30
+ "action": "pet",
31
+ "animation": "happy",
32
+ "cooldownSeconds": 5,
33
+ "rewardXp": 2,
34
+ "rewardAffinity": 1
35
+ }
36
+ ],
37
+ "unlocks": [
38
+ { "id": "happy", "kind": "animation", "level": 2, "ref": "happy" }
39
+ ],
40
+ "license": {
41
+ "name": "Apache License 2.0",
42
+ "spdxId": "Apache-2.0",
43
+ "url": "https://www.apache.org/licenses/LICENSE-2.0",
44
+ "redistributionAllowed": true,
45
+ "commercialUseAllowed": true
46
+ }
47
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "subjectSha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
+ "builderId": "local",
4
+ "builtAt": "2026-08-08T00:00:00Z",
5
+ "signingKeyId": "opensoha.release",
6
+ "signatureAlgorithm": "ed25519",
7
+ "signature": "c2lnbmF0dXJl"
8
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "subjectSha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
+ "builderId": "https://github.com/opensoha/soha-cloud/actions/runs/1",
4
+ "sourceUri": "https://github.com/opensoha/companion-packs",
5
+ "sourceCommit": "0123456789abcdef0123456789abcdef01234567",
6
+ "builtAt": "2026-08-08T00:00:00Z",
7
+ "signingKeyId": "opensoha.release",
8
+ "signatureAlgorithm": "ed25519",
9
+ "signature": "c2lnbmF0dXJl"
10
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "schemaVersion": "marketplace.opensoha.io/v1",
3
+ "generatedAt": "2026-08-08T00:00:00Z",
4
+ "sourceId": "opensoha-official",
5
+ "plugins": [
6
+ {
7
+ "id": "opensoha.soha-companion",
8
+ "name": "Soha Companion",
9
+ "version": "0.1.0",
10
+ "publisher": "opensoha",
11
+ "type": "companion-pack",
12
+ "source": "marketplace:opensoha/soha-companion",
13
+ "versions": [
14
+ {
15
+ "version": "0.1.0",
16
+ "manifestUrl": "https://marketplace.opensoha.dev/plugins/opensoha.soha-companion/0.1.0/plugin.manifest.json",
17
+ "package": {
18
+ "url": "https://marketplace.opensoha.dev/plugins/opensoha.soha-companion/0.1.0/companion.zip",
19
+ "contentType": "application/zip",
20
+ "sizeBytes": 4096,
21
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
22
+ "signature": "c2lnbmF0dXJl",
23
+ "signatureAlgorithm": "ed25519",
24
+ "signingKeyId": "opensoha.release",
25
+ "provenanceUrl": "https://marketplace.opensoha.dev/plugins/opensoha.soha-companion/0.1.0/provenance.json",
26
+ "sbomUrl": "https://marketplace.opensoha.dev/plugins/opensoha.soha-companion/0.1.0/sbom.json"
27
+ }
28
+ }
29
+ ],
30
+ "manifest": {
31
+ "id": "opensoha.soha-companion",
32
+ "name": "Soha Companion",
33
+ "version": "0.1.0",
34
+ "publisher": "opensoha",
35
+ "type": "companion-pack"
36
+ }
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "id": "opensoha.empty-companion",
3
+ "name": "Empty Companion",
4
+ "version": "0.1.0",
5
+ "publisher": "opensoha",
6
+ "type": "companion-pack",
7
+ "companionPack": {
8
+ "renderer": "svg",
9
+ "entryAsset": "model.svg",
10
+ "license": {
11
+ "name": "Apache License 2.0",
12
+ "url": "https://www.apache.org/licenses/LICENSE-2.0",
13
+ "redistributionAllowed": true,
14
+ "commercialUseAllowed": true
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "id": "opensoha.soha-companion",
3
+ "name": "Soha Companion",
4
+ "version": "0.1.0",
5
+ "publisher": "opensoha",
6
+ "type": "companion-pack",
7
+ "runtime": { "mode": "manifest-only" },
8
+ "companionPack": {
9
+ "renderer": "svg",
10
+ "entryAsset": "model/soha.svg",
11
+ "assets": [
12
+ {
13
+ "path": "model/soha.svg",
14
+ "kind": "entry",
15
+ "contentType": "image/svg+xml",
16
+ "sizeBytes": 2048,
17
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
18
+ }
19
+ ],
20
+ "license": {
21
+ "name": "Apache License 2.0",
22
+ "spdxId": "Apache-2.0",
23
+ "url": "https://www.apache.org/licenses/LICENSE-2.0",
24
+ "redistributionAllowed": true,
25
+ "commercialUseAllowed": true
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "data": {
3
+ "idempotencyKey": "interaction-0001",
4
+ "applied": true,
5
+ "xpAwarded": 2,
6
+ "affinityAwarded": 1,
7
+ "unlockedIds": []
8
+ }
9
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "data": {
3
+ "idempotencyKey": "interaction-0001",
4
+ "applied": true,
5
+ "xpAwarded": 2,
6
+ "affinityAwarded": 1,
7
+ "unlockedIds": [],
8
+ "profile": {
9
+ "id": "companion:user-1",
10
+ "ownerId": "user-1",
11
+ "activePluginId": "opensoha.soha-companion",
12
+ "activeVersion": "0.1.0",
13
+ "level": 1,
14
+ "xp": 2,
15
+ "affinity": 1,
16
+ "unlockedIds": [],
17
+ "revision": 2,
18
+ "createdAt": "2026-08-08T00:00:00Z",
19
+ "updatedAt": "2026-08-08T00:00:01Z"
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "pluginId": "opensoha.soha-companion",
3
+ "interactionId": "pet",
4
+ "rewardXp": 100000
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "pluginId": "opensoha.soha-companion",
3
+ "interactionId": "pet",
4
+ "clientRevision": 3
5
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "renderer": "live2d-cubism",
3
+ "entryAsset": "https://cdn.example.com/model.json",
4
+ "assets": [],
5
+ "license": {
6
+ "name": "Unknown",
7
+ "url": "https://example.com/license",
8
+ "redistributionAllowed": true,
9
+ "commercialUseAllowed": false
10
+ }
11
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "renderer": "svg",
3
+ "entryAsset": "model/soha.svg",
4
+ "assets": [
5
+ {
6
+ "path": "model/soha.svg",
7
+ "kind": "entry",
8
+ "contentType": "image/svg+xml",
9
+ "sizeBytes": 2048,
10
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
+ }
12
+ ],
13
+ "license": {
14
+ "name": "Apache License 2.0",
15
+ "spdxId": "Apache-2.0",
16
+ "url": "https://www.apache.org/licenses/LICENSE-2.0",
17
+ "redistributionAllowed": true,
18
+ "commercialUseAllowed": true
19
+ }
20
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "data": {
3
+ "id": "companion:user-1",
4
+ "ownerId": "user-1",
5
+ "activePluginId": "builtin.soha-companion",
6
+ "activeVersion": "builtin",
7
+ "level": 0,
8
+ "xp": 0,
9
+ "affinity": 0,
10
+ "unlockedIds": [],
11
+ "revision": 1,
12
+ "createdAt": "2026-08-08T00:00:00Z",
13
+ "updatedAt": "2026-08-08T00:00:00Z"
14
+ }
15
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "data": {
3
+ "id": "companion:user-1",
4
+ "ownerId": "user-1",
5
+ "activePluginId": "builtin.soha-companion",
6
+ "activeVersion": "builtin",
7
+ "level": 1,
8
+ "xp": 0,
9
+ "affinity": 0,
10
+ "unlockedIds": [],
11
+ "revision": 1,
12
+ "createdAt": "2026-08-08T00:00:00Z",
13
+ "updatedAt": "2026-08-08T00:00:00Z"
14
+ }
15
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "subjectSha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
+ "builderId": "local",
4
+ "sourceUri": "https://github.com/opensoha/companion-packs",
5
+ "sourceCommit": "0123456",
6
+ "builtAt": "2026-08-08T00:00:00Z",
7
+ "signingKeyId": "opensoha.release",
8
+ "signatureAlgorithm": "sha256",
9
+ "signature": "c2lnbmF0dXJl"
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "subjectSha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
+ "builderId": "https://github.com/opensoha/soha-cloud/actions/runs/1",
4
+ "sourceUri": "https://github.com/opensoha/companion-packs",
5
+ "sourceCommit": "0123456789abcdef0123456789abcdef01234567",
6
+ "builtAt": "2026-08-08T00:00:00Z",
7
+ "signingKeyId": "opensoha.release",
8
+ "signatureAlgorithm": "ed25519",
9
+ "signature": "c2lnbmF0dXJl"
10
+ }
@@ -14,7 +14,7 @@ import (
14
14
  "time"
15
15
  )
16
16
 
17
- const defaultUserAgent = "opensoha-contracts/0.1.7"
17
+ const defaultUserAgent = "opensoha-contracts/0.1.8"
18
18
 
19
19
  type Client struct {
20
20
  BaseURL string