@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
@@ -3506,6 +3506,22 @@ export interface paths {
3506
3506
  patch?: never;
3507
3507
  trace?: never;
3508
3508
  };
3509
+ "/marketplace/plugins/{pluginID}/{version}/provenance.json": {
3510
+ parameters: {
3511
+ query?: never;
3512
+ header?: never;
3513
+ path?: never;
3514
+ cookie?: never;
3515
+ };
3516
+ get: operations["getPublicMarketplacePluginProvenance"];
3517
+ put?: never;
3518
+ post?: never;
3519
+ delete?: never;
3520
+ options?: never;
3521
+ head?: never;
3522
+ patch?: never;
3523
+ trace?: never;
3524
+ };
3509
3525
  "/plugins/marketplace": {
3510
3526
  parameters: {
3511
3527
  query?: never;
@@ -3746,6 +3762,102 @@ export interface paths {
3746
3762
  patch?: never;
3747
3763
  trace?: never;
3748
3764
  };
3765
+ "/plugins/{pluginID}/activate": {
3766
+ parameters: {
3767
+ query?: never;
3768
+ header?: never;
3769
+ path?: never;
3770
+ cookie?: never;
3771
+ };
3772
+ get?: never;
3773
+ put?: never;
3774
+ post: operations["activateInstalledPlugin"];
3775
+ delete?: never;
3776
+ options?: never;
3777
+ head?: never;
3778
+ patch?: never;
3779
+ trace?: never;
3780
+ };
3781
+ "/plugins/{pluginID}/rollback": {
3782
+ parameters: {
3783
+ query?: never;
3784
+ header?: never;
3785
+ path?: never;
3786
+ cookie?: never;
3787
+ };
3788
+ get?: never;
3789
+ put?: never;
3790
+ post: operations["rollbackInstalledPlugin"];
3791
+ delete?: never;
3792
+ options?: never;
3793
+ head?: never;
3794
+ patch?: never;
3795
+ trace?: never;
3796
+ };
3797
+ "/plugins/{pluginID}/assets/{assetPath}": {
3798
+ parameters: {
3799
+ query?: never;
3800
+ header?: never;
3801
+ path?: never;
3802
+ cookie?: never;
3803
+ };
3804
+ get: operations["getInstalledPluginAsset"];
3805
+ put?: never;
3806
+ post?: never;
3807
+ delete?: never;
3808
+ options?: never;
3809
+ head?: never;
3810
+ patch?: never;
3811
+ trace?: never;
3812
+ };
3813
+ "/companion/profile": {
3814
+ parameters: {
3815
+ query?: never;
3816
+ header?: never;
3817
+ path?: never;
3818
+ cookie?: never;
3819
+ };
3820
+ get: operations["getCompanionProfile"];
3821
+ put?: never;
3822
+ post?: never;
3823
+ delete?: never;
3824
+ options?: never;
3825
+ head?: never;
3826
+ patch?: never;
3827
+ trace?: never;
3828
+ };
3829
+ "/companion/interactions": {
3830
+ parameters: {
3831
+ query?: never;
3832
+ header?: never;
3833
+ path?: never;
3834
+ cookie?: never;
3835
+ };
3836
+ get?: never;
3837
+ put?: never;
3838
+ post: operations["recordCompanionInteraction"];
3839
+ delete?: never;
3840
+ options?: never;
3841
+ head?: never;
3842
+ patch?: never;
3843
+ trace?: never;
3844
+ };
3845
+ "/companion/profile/reset": {
3846
+ parameters: {
3847
+ query?: never;
3848
+ header?: never;
3849
+ path?: never;
3850
+ cookie?: never;
3851
+ };
3852
+ get?: never;
3853
+ put?: never;
3854
+ post: operations["resetCompanionProfile"];
3855
+ delete?: never;
3856
+ options?: never;
3857
+ head?: never;
3858
+ patch?: never;
3859
+ trace?: never;
3860
+ };
3749
3861
  "/ai/agent-providers/catalog": {
3750
3862
  parameters: {
3751
3863
  query?: never;
@@ -11503,6 +11615,113 @@ export interface components {
11503
11615
  agentProfiles?: string[];
11504
11616
  gatewayPolicyPacks?: string[];
11505
11617
  };
11618
+ CompanionAsset: {
11619
+ path: string;
11620
+ /** @enum {string} */
11621
+ kind: "entry" | "model" | "texture" | "motion" | "expression" | "physics" | "pose" | "thumbnail" | "audio";
11622
+ /** @enum {string} */
11623
+ contentType: "application/json" | "application/octet-stream" | "image/png" | "image/jpeg" | "image/webp" | "image/svg+xml" | "audio/mpeg" | "audio/ogg";
11624
+ /** Format: int64 */
11625
+ sizeBytes: number;
11626
+ sha256: string;
11627
+ };
11628
+ CompanionAnimationBindings: {
11629
+ idle?: string;
11630
+ listening?: string;
11631
+ thinking?: string;
11632
+ speaking?: string;
11633
+ error?: string;
11634
+ dragging?: string;
11635
+ hover?: string;
11636
+ tap?: string;
11637
+ };
11638
+ CompanionInteractionDefinition: {
11639
+ id: string;
11640
+ label?: string;
11641
+ /** @enum {string} */
11642
+ action: "tap" | "pet" | "feed" | "play" | "greet";
11643
+ animation?: string;
11644
+ cooldownSeconds?: number;
11645
+ rewardXp?: number;
11646
+ rewardAffinity?: number;
11647
+ };
11648
+ CompanionUnlockDefinition: {
11649
+ id: string;
11650
+ /** @enum {string} */
11651
+ kind: "interaction" | "animation" | "expression" | "asset";
11652
+ level: number;
11653
+ ref: string;
11654
+ };
11655
+ CompanionPackLicense: {
11656
+ name: string;
11657
+ spdxId?: string;
11658
+ /** Format: uri */
11659
+ url: string;
11660
+ /** Format: uri */
11661
+ sourceUrl?: string;
11662
+ attribution?: string;
11663
+ /** @enum {boolean} */
11664
+ redistributionAllowed: true;
11665
+ commercialUseAllowed: boolean;
11666
+ };
11667
+ CompanionPackManifest: {
11668
+ /** @enum {string} */
11669
+ renderer: "svg" | "sprite" | "live2d-cubism";
11670
+ entryAsset: string;
11671
+ thumbnailAsset?: string;
11672
+ modelFormatVersion?: string;
11673
+ assets: components["schemas"]["CompanionAsset"][];
11674
+ animations?: components["schemas"]["CompanionAnimationBindings"];
11675
+ interactions?: components["schemas"]["CompanionInteractionDefinition"][];
11676
+ unlocks?: components["schemas"]["CompanionUnlockDefinition"][];
11677
+ license: components["schemas"]["CompanionPackLicense"];
11678
+ };
11679
+ PluginPackageDescriptor: {
11680
+ /** Format: uri */
11681
+ url: string;
11682
+ /** @enum {string} */
11683
+ contentType: "application/zip" | "application/gzip" | "application/x-tar";
11684
+ /** Format: int64 */
11685
+ sizeBytes: number;
11686
+ sha256: string;
11687
+ signature?: string;
11688
+ /** @enum {string} */
11689
+ signatureAlgorithm?: "ed25519";
11690
+ signingKeyId?: string;
11691
+ /** Format: uri */
11692
+ provenanceUrl?: string;
11693
+ /** Format: uri */
11694
+ sbomUrl?: string;
11695
+ };
11696
+ /** @description The Ed25519 signature covers UTF-8 lines subjectSha256, builderId, sourceUri, sourceCommit, and builtAt in that order, joined with LF and without a trailing LF. */
11697
+ PluginProvenanceStatement: {
11698
+ subjectSha256: string;
11699
+ builderId: string;
11700
+ /** Format: uri */
11701
+ sourceUri: string;
11702
+ sourceCommit: string;
11703
+ /** Format: date-time */
11704
+ builtAt: string;
11705
+ signingKeyId: string;
11706
+ /** @enum {string} */
11707
+ signatureAlgorithm: "ed25519";
11708
+ signature: string;
11709
+ };
11710
+ PluginArtifactRecord: {
11711
+ version: string;
11712
+ sha256: string;
11713
+ /** Format: int64 */
11714
+ sizeBytes: number;
11715
+ /** @enum {string} */
11716
+ checksumStatus: "verified" | "mismatch";
11717
+ /** @enum {string} */
11718
+ signatureStatus: "verified" | "not_provided" | "untrusted" | "invalid";
11719
+ /** @enum {string} */
11720
+ provenanceStatus: "verified" | "not_provided" | "invalid";
11721
+ active: boolean;
11722
+ /** Format: date-time */
11723
+ installedAt?: string;
11724
+ };
11506
11725
  PluginCompatibility: {
11507
11726
  soha?: string;
11508
11727
  contracts?: string;
@@ -11687,6 +11906,7 @@ export interface components {
11687
11906
  packageUrl?: string;
11688
11907
  checksum?: string;
11689
11908
  signature?: string;
11909
+ package?: components["schemas"]["PluginPackageDescriptor"];
11690
11910
  /** Format: date-time */
11691
11911
  publishedAt?: string;
11692
11912
  deprecated?: boolean;
@@ -11725,7 +11945,7 @@ export interface components {
11725
11945
  version: string;
11726
11946
  publisher: string;
11727
11947
  /** @enum {string} */
11728
- type: "skill" | "skill-pack" | "mcp-preset" | "connector" | "ai-provider-adapter" | "agent-profile" | "gateway-policy-pack" | "diagnostic" | "resource-extension" | "observability-provider" | "metric-extension" | "notification-channel" | "identity-template" | "ui-extension";
11948
+ type: "skill" | "skill-pack" | "mcp-preset" | "connector" | "ai-provider-adapter" | "agent-profile" | "gateway-policy-pack" | "diagnostic" | "resource-extension" | "observability-provider" | "metric-extension" | "notification-channel" | "identity-template" | "ui-extension" | "companion-pack";
11729
11949
  description?: string;
11730
11950
  homepage?: string;
11731
11951
  compatibility?: components["schemas"]["PluginCompatibility"];
@@ -11737,6 +11957,7 @@ export interface components {
11737
11957
  };
11738
11958
  integrity?: components["schemas"]["PluginIntegrity"];
11739
11959
  runtime?: components["schemas"]["PluginRuntimeSpec"];
11960
+ companionPack?: components["schemas"]["CompanionPackManifest"];
11740
11961
  configSchema?: components["schemas"]["JSONSchema"];
11741
11962
  extensionPoints?: components["schemas"]["PluginExtensionPoints"];
11742
11963
  metadata?: {
@@ -11863,6 +12084,8 @@ export interface components {
11863
12084
  manifest: components["schemas"]["PluginManifest"];
11864
12085
  checksumStatus: string;
11865
12086
  signatureStatus?: string;
12087
+ activeVersion?: string;
12088
+ artifacts?: components["schemas"]["PluginArtifactRecord"][];
11866
12089
  requestedPermissions?: components["schemas"]["PluginPermissionRequest"];
11867
12090
  configuredSecretRefs?: {
11868
12091
  [key: string]: string;
@@ -11888,8 +12111,59 @@ export interface components {
11888
12111
  version?: string;
11889
12112
  manifest?: components["schemas"]["PluginManifest"];
11890
12113
  expectedChecksum?: string;
12114
+ package?: components["schemas"]["PluginPackageDescriptor"];
11891
12115
  enable?: boolean;
11892
12116
  };
12117
+ CompanionActivationRequest: {
12118
+ version?: string;
12119
+ };
12120
+ CompanionRollbackRequest: {
12121
+ version: string;
12122
+ reason?: string;
12123
+ };
12124
+ CompanionProfile: {
12125
+ id: string;
12126
+ ownerId: string;
12127
+ activePluginId: string;
12128
+ activeVersion: string;
12129
+ level: number;
12130
+ xp: number;
12131
+ affinity: number;
12132
+ unlockedIds: string[];
12133
+ /** Format: int64 */
12134
+ revision: number;
12135
+ /** Format: date-time */
12136
+ lastInteractionAt?: string;
12137
+ /** Format: date-time */
12138
+ createdAt: string;
12139
+ /** Format: date-time */
12140
+ updatedAt: string;
12141
+ };
12142
+ CompanionInteractionRequest: {
12143
+ pluginId: string;
12144
+ interactionId: string;
12145
+ sessionId?: string;
12146
+ messageId?: string;
12147
+ /** Format: int64 */
12148
+ clientRevision?: number;
12149
+ };
12150
+ CompanionInteractionReceipt: {
12151
+ idempotencyKey: string;
12152
+ applied: boolean;
12153
+ xpAwarded: number;
12154
+ affinityAwarded: number;
12155
+ unlockedIds: string[];
12156
+ profile: components["schemas"]["CompanionProfile"];
12157
+ };
12158
+ CompanionProfileResetRequest: {
12159
+ pluginId?: string;
12160
+ };
12161
+ CompanionProfileEnvelope: {
12162
+ data: components["schemas"]["CompanionProfile"];
12163
+ };
12164
+ CompanionInteractionReceiptEnvelope: {
12165
+ data: components["schemas"]["CompanionInteractionReceipt"];
12166
+ };
11893
12167
  PluginConfigRequest: {
11894
12168
  enabled?: boolean;
11895
12169
  secretRefs?: {
@@ -12545,6 +12819,8 @@ export interface components {
12545
12819
  OperationID: string;
12546
12820
  ProviderID: string;
12547
12821
  PluginID: string;
12822
+ /** @description Slash-separated relative path declared by the active companion pack. */
12823
+ PluginAssetPath: string;
12548
12824
  KnowledgeBaseID: string;
12549
12825
  KnowledgeSourceID: string;
12550
12826
  KnowledgeConnectorID: string;
@@ -13422,6 +13698,15 @@ export type AnthropicModel = components['schemas']['AnthropicModel'];
13422
13698
  export type AnthropicModelsResponse = components['schemas']['AnthropicModelsResponse'];
13423
13699
  export type AnthropicMessagesRequest = components['schemas']['AnthropicMessagesRequest'];
13424
13700
  export type PluginAssetSnapshot = components['schemas']['PluginAssetSnapshot'];
13701
+ export type CompanionAsset = components['schemas']['CompanionAsset'];
13702
+ export type CompanionAnimationBindings = components['schemas']['CompanionAnimationBindings'];
13703
+ export type CompanionInteractionDefinition = components['schemas']['CompanionInteractionDefinition'];
13704
+ export type CompanionUnlockDefinition = components['schemas']['CompanionUnlockDefinition'];
13705
+ export type CompanionPackLicense = components['schemas']['CompanionPackLicense'];
13706
+ export type CompanionPackManifest = components['schemas']['CompanionPackManifest'];
13707
+ export type PluginPackageDescriptor = components['schemas']['PluginPackageDescriptor'];
13708
+ export type PluginProvenanceStatement = components['schemas']['PluginProvenanceStatement'];
13709
+ export type PluginArtifactRecord = components['schemas']['PluginArtifactRecord'];
13425
13710
  export type PluginCompatibility = components['schemas']['PluginCompatibility'];
13426
13711
  export type PluginCapabilityRequest = components['schemas']['PluginCapabilityRequest'];
13427
13712
  export type PluginPermissionRequest = components['schemas']['PluginPermissionRequest'];
@@ -13464,6 +13749,14 @@ export type SoftwareStorage = components['schemas']['SoftwareStorage'];
13464
13749
  export type SoftwareStorageEnvelope = components['schemas']['SoftwareStorageEnvelope'];
13465
13750
  export type InstalledPlugin = components['schemas']['InstalledPlugin'];
13466
13751
  export type PluginInstallRequest = components['schemas']['PluginInstallRequest'];
13752
+ export type CompanionActivationRequest = components['schemas']['CompanionActivationRequest'];
13753
+ export type CompanionRollbackRequest = components['schemas']['CompanionRollbackRequest'];
13754
+ export type CompanionProfile = components['schemas']['CompanionProfile'];
13755
+ export type CompanionInteractionRequest = components['schemas']['CompanionInteractionRequest'];
13756
+ export type CompanionInteractionReceipt = components['schemas']['CompanionInteractionReceipt'];
13757
+ export type CompanionProfileResetRequest = components['schemas']['CompanionProfileResetRequest'];
13758
+ export type CompanionProfileEnvelope = components['schemas']['CompanionProfileEnvelope'];
13759
+ export type CompanionInteractionReceiptEnvelope = components['schemas']['CompanionInteractionReceiptEnvelope'];
13467
13760
  export type PluginConfigRequest = components['schemas']['PluginConfigRequest'];
13468
13761
  export type PluginManifestEnvelope = components['schemas']['PluginManifestEnvelope'];
13469
13762
  export type MarketplacePluginEnvelope = components['schemas']['MarketplacePluginEnvelope'];
@@ -13593,6 +13886,7 @@ export type ParameterOidcState = components['parameters']['OIDCState'];
13593
13886
  export type ParameterOperationId = components['parameters']['OperationID'];
13594
13887
  export type ParameterProviderId = components['parameters']['ProviderID'];
13595
13888
  export type ParameterPluginId = components['parameters']['PluginID'];
13889
+ export type ParameterPluginAssetPath = components['parameters']['PluginAssetPath'];
13596
13890
  export type ParameterKnowledgeBaseId = components['parameters']['KnowledgeBaseID'];
13597
13891
  export type ParameterKnowledgeSourceId = components['parameters']['KnowledgeSourceID'];
13598
13892
  export type ParameterKnowledgeConnectorId = components['parameters']['KnowledgeConnectorID'];
@@ -20659,6 +20953,29 @@ export interface operations {
20659
20953
  };
20660
20954
  };
20661
20955
  };
20956
+ getPublicMarketplacePluginProvenance: {
20957
+ parameters: {
20958
+ query?: never;
20959
+ header?: never;
20960
+ path: {
20961
+ pluginID: components["parameters"]["PluginID"];
20962
+ version: string;
20963
+ };
20964
+ cookie?: never;
20965
+ };
20966
+ requestBody?: never;
20967
+ responses: {
20968
+ /** @description Immutable signed provenance statement for a plugin package. */
20969
+ 200: {
20970
+ headers: {
20971
+ [name: string]: unknown;
20972
+ };
20973
+ content: {
20974
+ "application/json": components["schemas"]["PluginProvenanceStatement"];
20975
+ };
20976
+ };
20977
+ };
20978
+ };
20662
20979
  listMarketplacePlugins: {
20663
20980
  parameters: {
20664
20981
  query?: {
@@ -21077,6 +21394,203 @@ export interface operations {
21077
21394
  };
21078
21395
  };
21079
21396
  };
21397
+ activateInstalledPlugin: {
21398
+ parameters: {
21399
+ query?: never;
21400
+ header: {
21401
+ "Idempotency-Key": components["parameters"]["IdempotencyKey"];
21402
+ };
21403
+ path: {
21404
+ pluginID: components["parameters"]["PluginID"];
21405
+ };
21406
+ cookie?: never;
21407
+ };
21408
+ requestBody?: {
21409
+ content: {
21410
+ "application/json": components["schemas"]["CompanionActivationRequest"];
21411
+ };
21412
+ };
21413
+ responses: {
21414
+ /** @description Companion pack version activated. */
21415
+ 200: {
21416
+ headers: {
21417
+ [name: string]: unknown;
21418
+ };
21419
+ content: {
21420
+ "application/json": components["schemas"]["InstalledPluginEnvelope"];
21421
+ };
21422
+ };
21423
+ 401: components["responses"]["Error"];
21424
+ 403: components["responses"]["Error"];
21425
+ 404: components["responses"]["Error"];
21426
+ 409: components["responses"]["Error"];
21427
+ 422: components["responses"]["Error"];
21428
+ 503: components["responses"]["Error"];
21429
+ };
21430
+ };
21431
+ rollbackInstalledPlugin: {
21432
+ parameters: {
21433
+ query?: never;
21434
+ header: {
21435
+ "Idempotency-Key": components["parameters"]["IdempotencyKey"];
21436
+ };
21437
+ path: {
21438
+ pluginID: components["parameters"]["PluginID"];
21439
+ };
21440
+ cookie?: never;
21441
+ };
21442
+ requestBody?: {
21443
+ content: {
21444
+ "application/json": components["schemas"]["CompanionRollbackRequest"];
21445
+ };
21446
+ };
21447
+ responses: {
21448
+ /** @description Companion pack rolled back to a retained verified version. */
21449
+ 200: {
21450
+ headers: {
21451
+ [name: string]: unknown;
21452
+ };
21453
+ content: {
21454
+ "application/json": components["schemas"]["InstalledPluginEnvelope"];
21455
+ };
21456
+ };
21457
+ 401: components["responses"]["Error"];
21458
+ 403: components["responses"]["Error"];
21459
+ 404: components["responses"]["Error"];
21460
+ 409: components["responses"]["Error"];
21461
+ 422: components["responses"]["Error"];
21462
+ 503: components["responses"]["Error"];
21463
+ };
21464
+ };
21465
+ getInstalledPluginAsset: {
21466
+ parameters: {
21467
+ query?: never;
21468
+ header?: never;
21469
+ path: {
21470
+ pluginID: components["parameters"]["PluginID"];
21471
+ /** @description Slash-separated relative path declared by the active companion pack. */
21472
+ assetPath: components["parameters"]["PluginAssetPath"];
21473
+ };
21474
+ cookie?: never;
21475
+ };
21476
+ requestBody?: never;
21477
+ responses: {
21478
+ /** @description Immutable verified asset from the active companion pack. */
21479
+ 200: {
21480
+ headers: {
21481
+ "Cache-Control"?: string;
21482
+ [name: string]: unknown;
21483
+ };
21484
+ content: {
21485
+ "application/octet-stream": string;
21486
+ "application/json": string;
21487
+ "image/png": string;
21488
+ "image/jpeg": string;
21489
+ "image/webp": string;
21490
+ "image/svg+xml": string;
21491
+ };
21492
+ };
21493
+ 401: components["responses"]["Error"];
21494
+ 403: components["responses"]["Error"];
21495
+ 404: components["responses"]["Error"];
21496
+ };
21497
+ };
21498
+ getCompanionProfile: {
21499
+ parameters: {
21500
+ query?: never;
21501
+ header?: never;
21502
+ path?: never;
21503
+ cookie?: never;
21504
+ };
21505
+ requestBody?: never;
21506
+ responses: {
21507
+ /** @description Current principal's companion profile. */
21508
+ 200: {
21509
+ headers: {
21510
+ [name: string]: unknown;
21511
+ };
21512
+ content: {
21513
+ "application/json": components["schemas"]["CompanionProfileEnvelope"];
21514
+ };
21515
+ };
21516
+ 401: components["responses"]["Error"];
21517
+ 403: components["responses"]["Error"];
21518
+ 503: components["responses"]["Error"];
21519
+ };
21520
+ };
21521
+ recordCompanionInteraction: {
21522
+ parameters: {
21523
+ query?: never;
21524
+ header: {
21525
+ "Idempotency-Key": components["parameters"]["IdempotencyKey"];
21526
+ };
21527
+ path?: never;
21528
+ cookie?: never;
21529
+ };
21530
+ requestBody: {
21531
+ content: {
21532
+ "application/json": components["schemas"]["CompanionInteractionRequest"];
21533
+ };
21534
+ };
21535
+ responses: {
21536
+ /** @description Existing idempotent interaction result. */
21537
+ 200: {
21538
+ headers: {
21539
+ [name: string]: unknown;
21540
+ };
21541
+ content: {
21542
+ "application/json": components["schemas"]["CompanionInteractionReceiptEnvelope"];
21543
+ };
21544
+ };
21545
+ /** @description Interaction applied to the companion profile. */
21546
+ 201: {
21547
+ headers: {
21548
+ [name: string]: unknown;
21549
+ };
21550
+ content: {
21551
+ "application/json": components["schemas"]["CompanionInteractionReceiptEnvelope"];
21552
+ };
21553
+ };
21554
+ 400: components["responses"]["Error"];
21555
+ 401: components["responses"]["Error"];
21556
+ 403: components["responses"]["Error"];
21557
+ 404: components["responses"]["Error"];
21558
+ 409: components["responses"]["Error"];
21559
+ 422: components["responses"]["Error"];
21560
+ 503: components["responses"]["Error"];
21561
+ };
21562
+ };
21563
+ resetCompanionProfile: {
21564
+ parameters: {
21565
+ query?: never;
21566
+ header: {
21567
+ "Idempotency-Key": components["parameters"]["IdempotencyKey"];
21568
+ };
21569
+ path?: never;
21570
+ cookie?: never;
21571
+ };
21572
+ requestBody?: {
21573
+ content: {
21574
+ "application/json": components["schemas"]["CompanionProfileResetRequest"];
21575
+ };
21576
+ };
21577
+ responses: {
21578
+ /** @description Companion progression reset for the selected pack. */
21579
+ 200: {
21580
+ headers: {
21581
+ [name: string]: unknown;
21582
+ };
21583
+ content: {
21584
+ "application/json": components["schemas"]["CompanionProfileEnvelope"];
21585
+ };
21586
+ };
21587
+ 401: components["responses"]["Error"];
21588
+ 403: components["responses"]["Error"];
21589
+ 404: components["responses"]["Error"];
21590
+ 409: components["responses"]["Error"];
21591
+ 503: components["responses"]["Error"];
21592
+ };
21593
+ };
21080
21594
  getAgentProviderCatalog: {
21081
21595
  parameters: {
21082
21596
  query?: never;