@pinixai/core 0.8.0 → 0.9.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pinixai/core",
3
- "version": "0.8.0",
4
- "description": "Clip framework for Pinix \u2014 define once, run as CLI / MCP / Pinix bridge",
3
+ "version": "0.9.0",
4
+ "description": "Clip framework for Pinix define once, run as CLI / MCP / Pinix bridge",
5
5
  "main": "src/index.ts",
6
6
  "module": "src/index.ts",
7
7
  "type": "module",
@@ -25,6 +25,7 @@
25
25
  },
26
26
  "license": "MIT",
27
27
  "devDependencies": {
28
+ "@bufbuild/protoc-gen-es": "^2.11.0",
28
29
  "@types/bun": "^1.3.11"
29
30
  },
30
31
  "peerDependencies": {
package/src/gen/hub_pb.ts CHANGED
@@ -10,7 +10,7 @@ import type { Message } from "@bufbuild/protobuf";
10
10
  * Describes the file pinix/v2/hub.proto.
11
11
  */
12
12
  export const file_pinix_v2_hub: GenFile = /*@__PURE__*/
13
- fileDesc("ChJwaW5peC92Mi9odWIucHJvdG8SCHBpbml4LnYyIikKCEh1YkVycm9yEgwKBGNvZGUYASABKAkSDwoHbWVzc2FnZRgCIAEoCSJPCgtDb21tYW5kSW5mbxIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEg0KBWlucHV0GAMgASgJEg4KBm91dHB1dBgEIAEoCSKDAgoIQ2xpcEluZm8SDAoEbmFtZRgBIAEoCRIPCgdwYWNrYWdlGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSDgoGZG9tYWluGAUgASgJEicKCGNvbW1hbmRzGAYgAygLMhUucGluaXgudjIuQ29tbWFuZEluZm8SDwoHaGFzX3dlYhgHIAEoCBIXCg90b2tlbl9wcm90ZWN0ZWQYCCABKAgSFAoMZGVwZW5kZW5jaWVzGAkgAygJEiQKBnN0YXR1cxgKIAEoDjIULnBpbml4LnYyLkNsaXBTdGF0dXMSFgoOc3RhdHVzX21lc3NhZ2UYCyABKAkirgIKDENsaXBNYW5pZmVzdBIMCgRuYW1lGAEgASgJEg8KB3BhY2thZ2UYAiABKAkSDwoHdmVyc2lvbhgDIAEoCRIOCgZkb21haW4YBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSJwoIY29tbWFuZHMYBiADKAsyFS5waW5peC52Mi5Db21tYW5kSW5mbxIUCgxkZXBlbmRlbmNpZXMYByADKAkSDwoHaGFzX3dlYhgIIAEoCBIQCghwYXR0ZXJucxgJIAMoCRI2CghlbnRpdGllcxgKIAMoCzIkLnBpbml4LnYyLkNsaXBNYW5pZmVzdC5FbnRpdGllc0VudHJ5Gi8KDUVudGl0aWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJZCgxQcm92aWRlckluZm8SDAoEbmFtZRgBIAEoCRIWCg5hY2NlcHRzX21hbmFnZRgCIAEoCBINCgVjbGlwcxgDIAMoCRIUCgxjb25uZWN0ZWRfYXQYBCABKAMiWAoRQ2xpcFN0YXR1c0NoYW5nZWQSDAoEbmFtZRgBIAEoCRIkCgZzdGF0dXMYAiABKA4yFC5waW5peC52Mi5DbGlwU3RhdHVzEg8KB21lc3NhZ2UYAyABKAki8gIKD1Byb3ZpZGVyTWVzc2FnZRItCghyZWdpc3RlchgBIAEoCzIZLnBpbml4LnYyLlJlZ2lzdGVyUmVxdWVzdEgAEikKCmNsaXBfYWRkZWQYAiABKAsyEy5waW5peC52Mi5DbGlwQWRkZWRIABItCgxjbGlwX3JlbW92ZWQYAyABKAsyFS5waW5peC52Mi5DbGlwUmVtb3ZlZEgAEi8KDWludm9rZV9yZXN1bHQYBCABKAsyFi5waW5peC52Mi5JbnZva2VSZXN1bHRIABIjCgRwaW5nGAUgASgLMhMucGluaXgudjIuSGVhcnRiZWF0SAASOQoTZ2V0X2NsaXBfd2ViX3Jlc3VsdBgHIAEoCzIaLnBpbml4LnYyLkdldENsaXBXZWJSZXN1bHRIABI6ChNjbGlwX3N0YXR1c19jaGFuZ2VkGAggASgLMhsucGluaXgudjIuQ2xpcFN0YXR1c0NoYW5nZWRIAEIJCgdwYXlsb2FkIpQCCgpIdWJNZXNzYWdlEjcKEXJlZ2lzdGVyX3Jlc3BvbnNlGAEgASgLMhoucGluaXgudjIuUmVnaXN0ZXJSZXNwb25zZUgAEjEKDmludm9rZV9jb21tYW5kGAIgASgLMhcucGluaXgudjIuSW52b2tlQ29tbWFuZEgAEi0KDGludm9rZV9pbnB1dBgDIAEoCzIVLnBpbml4LnYyLkludm9rZUlucHV0SAASIwoEcG9uZxgFIAEoCzITLnBpbml4LnYyLkhlYXJ0YmVhdEgAEjsKFGdldF9jbGlwX3dlYl9jb21tYW5kGAYgASgLMhsucGluaXgudjIuR2V0Q2xpcFdlYkNvbW1hbmRIAEIJCgdwYXlsb2FkItMBCg5SdW50aW1lTWVzc2FnZRItCghyZWdpc3RlchgBIAEoCzIZLnBpbml4LnYyLlJ1bnRpbWVSZWdpc3RlckgAEjEKDmluc3RhbGxfcmVzdWx0GAIgASgLMhcucGluaXgudjIuSW5zdGFsbFJlc3VsdEgAEi8KDXJlbW92ZV9yZXN1bHQYAyABKAsyFi5waW5peC52Mi5SZW1vdmVSZXN1bHRIABIjCgRwaW5nGAQgASgLMhMucGluaXgudjIuSGVhcnRiZWF0SABCCQoHcGF5bG9hZCLrAQoRSHViUnVudGltZU1lc3NhZ2USPgoRcmVnaXN0ZXJfcmVzcG9uc2UYASABKAsyIS5waW5peC52Mi5SdW50aW1lUmVnaXN0ZXJSZXNwb25zZUgAEjMKD2luc3RhbGxfY29tbWFuZBgCIAEoCzIYLnBpbml4LnYyLkluc3RhbGxDb21tYW5kSAASMQoOcmVtb3ZlX2NvbW1hbmQYAyABKAsyFy5waW5peC52Mi5SZW1vdmVDb21tYW5kSAASIwoEcG9uZxgEIAEoCzITLnBpbml4LnYyLkhlYXJ0YmVhdEgAQgkKB3BheWxvYWQiUwoPUmVnaXN0ZXJSZXF1ZXN0EhUKDXByb3ZpZGVyX25hbWUYASABKAkSKQoFY2xpcHMYAyADKAsyGi5waW5peC52Mi5DbGlwUmVnaXN0cmF0aW9uIs0CChBDbGlwUmVnaXN0cmF0aW9uEg0KBWFsaWFzGAEgASgJEg8KB3BhY2thZ2UYAiABKAkSDwoHdmVyc2lvbhgDIAEoCRIOCgZkb21haW4YBCABKAkSJwoIY29tbWFuZHMYBSADKAsyFS5waW5peC52Mi5Db21tYW5kSW5mbxIPCgdoYXNfd2ViGAYgASgIEhQKDGRlcGVuZGVuY2llcxgHIAMoCRIXCg90b2tlbl9wcm90ZWN0ZWQYCCABKAgSEAoEbmFtZRgJIAEoCUICGAESEAoIcGF0dGVybnMYCiADKAkSOgoIZW50aXRpZXMYCyADKAsyKC5waW5peC52Mi5DbGlwUmVnaXN0cmF0aW9uLkVudGl0aWVzRW50cnkaLwoNRW50aXRpZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIkkKCUNsaXBBZGRlZBIoCgRjbGlwGAEgASgLMhoucGluaXgudjIuQ2xpcFJlZ2lzdHJhdGlvbhISCgpyZXF1ZXN0X2lkGAIgASgJIi8KC0NsaXBSZW1vdmVkEgwKBG5hbWUYASABKAkSEgoKcmVxdWVzdF9pZBgCIAEoCSJjCgxJbnZva2VSZXN1bHQSEgoKcmVxdWVzdF9pZBgBIAEoCRIOCgZvdXRwdXQYAiABKAwSIQoFZXJyb3IYAyABKAsyEi5waW5peC52Mi5IdWJFcnJvchIMCgRkb25lGAQgASgIIn8KEUdldENsaXBXZWJDb21tYW5kEhIKCnJlcXVlc3RfaWQYASABKAkSEQoJY2xpcF9uYW1lGAIgASgJEgwKBHBhdGgYAyABKAkSDgoGb2Zmc2V0GAQgASgDEg4KBmxlbmd0aBgFIAEoAxIVCg1pZl9ub25lX21hdGNoGAYgASgJIqgBChBHZXRDbGlwV2ViUmVzdWx0EhIKCnJlcXVlc3RfaWQYASABKAkSDwoHY29udGVudBgCIAEoDBIUCgxjb250ZW50X3R5cGUYAyABKAkSDAoEZXRhZxgEIAEoCRISCgp0b3RhbF9zaXplGAUgASgDEhQKDG5vdF9tb2RpZmllZBgGIAEoCBIhCgVlcnJvchgHIAEoCzISLnBpbml4LnYyLkh1YkVycm9yIjUKEFJlZ2lzdGVyUmVzcG9uc2USEAoIYWNjZXB0ZWQYASABKAgSDwoHbWVzc2FnZRgCIAEoCSJnCg9SdW50aW1lUmVnaXN0ZXISDAoEbmFtZRgBIAEoCRIQCghob3N0bmFtZRgCIAEoCRIKCgJvcxgDIAEoCRIMCgRhcmNoGAQgASgJEhoKEnN1cHBvcnRlZF9ydW50aW1lcxgFIAMoCSI8ChdSdW50aW1lUmVnaXN0ZXJSZXNwb25zZRIQCghhY2NlcHRlZBgBIAEoCBIPCgdtZXNzYWdlGAIgASgJImoKDUludm9rZUNvbW1hbmQSEgoKcmVxdWVzdF9pZBgBIAEoCRIRCgljbGlwX25hbWUYAiABKAkSDwoHY29tbWFuZBgDIAEoCRINCgVpbnB1dBgEIAEoDBISCgpjbGlwX3Rva2VuGAUgASgJIj0KC0ludm9rZUlucHV0EhIKCnJlcXVlc3RfaWQYASABKAkSDAoEZGF0YRgCIAEoDBIMCgRkb25lGAMgASgIIlcKDkluc3RhbGxDb21tYW5kEhIKCnJlcXVlc3RfaWQYASABKAkSDgoGc291cmNlGAIgASgJEg0KBWFsaWFzGAMgASgJEhIKCmNsaXBfdG9rZW4YBCABKAkiaAoNSW5zdGFsbFJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEiEKBWVycm9yGAIgASgLMhIucGluaXgudjIuSHViRXJyb3ISIAoEY2xpcBgDIAEoCzISLnBpbml4LnYyLkNsaXBJbmZvIjIKDVJlbW92ZUNvbW1hbmQSEgoKcmVxdWVzdF9pZBgBIAEoCRINCgVhbGlhcxgCIAEoCSJFCgxSZW1vdmVSZXN1bHQSEgoKcmVxdWVzdF9pZBgBIAEoCRIhCgVlcnJvchgCIAEoCzISLnBpbml4LnYyLkh1YkVycm9yIiQKCUhlYXJ0YmVhdBIXCg9zZW50X2F0X3VuaXhfbXMYASABKAMiEgoQTGlzdENsaXBzUmVxdWVzdCI2ChFMaXN0Q2xpcHNSZXNwb25zZRIhCgVjbGlwcxgBIAMoCzISLnBpbml4LnYyLkNsaXBJbmZvIhYKFExpc3RQcm92aWRlcnNSZXF1ZXN0IkIKFUxpc3RQcm92aWRlcnNSZXNwb25zZRIpCglwcm92aWRlcnMYASADKAsyFi5waW5peC52Mi5Qcm92aWRlckluZm8iJwoSR2V0TWFuaWZlc3RSZXF1ZXN0EhEKCWNsaXBfbmFtZRgBIAEoCSI/ChNHZXRNYW5pZmVzdFJlc3BvbnNlEigKCG1hbmlmZXN0GAEgASgLMhYucGluaXgudjIuQ2xpcE1hbmlmZXN0ImsKEUdldENsaXBXZWJSZXF1ZXN0EhEKCWNsaXBfbmFtZRgBIAEoCRIMCgRwYXRoGAIgASgJEhUKDWlmX25vbmVfbWF0Y2gYAyABKAkSDgoGb2Zmc2V0GAQgASgDEg4KBmxlbmd0aBgFIAEoAyJzChJHZXRDbGlwV2ViUmVzcG9uc2USDwoHY29udGVudBgBIAEoDBIUCgxjb250ZW50X3R5cGUYAiABKAkSDAoEZXRhZxgDIAEoCRIUCgxub3RfbW9kaWZpZWQYBCABKAgSEgoKdG90YWxfc2l6ZRgFIAEoAyJWCg1JbnZva2VSZXF1ZXN0EhEKCWNsaXBfbmFtZRgBIAEoCRIPCgdjb21tYW5kGAIgASgJEg0KBWlucHV0GAMgASgMEhIKCmNsaXBfdG9rZW4YBCABKAkiQwoOSW52b2tlUmVzcG9uc2USDgoGb3V0cHV0GAEgASgMEiEKBWVycm9yGAIgASgLMhIucGluaXgudjIuSHViRXJyb3IicQoTSW52b2tlU3RyZWFtTWVzc2FnZRIoCgVzdGFydBgBIAEoCzIXLnBpbml4LnYyLkludm9rZVJlcXVlc3RIABIlCgVjaHVuaxgCIAEoCzIULnBpbml4LnYyLklucHV0Q2h1bmtIAEIJCgdwYXlsb2FkIigKCklucHV0Q2h1bmsSDAoEZGF0YRgBIAEoDBIMCgRkb25lGAIgASgIIm0KDkFkZENsaXBSZXF1ZXN0Eg4KBnNvdXJjZRgBIAEoCRIMCgRuYW1lGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhIKCmNsaXBfdG9rZW4YBCABKAkSFwoPcmVxdWVzdGVkX2FsaWFzGAUgASgJIjMKD0FkZENsaXBSZXNwb25zZRIgCgRjbGlwGAEgASgLMhIucGluaXgudjIuQ2xpcEluZm8iJgoRUmVtb3ZlQ2xpcFJlcXVlc3QSEQoJY2xpcF9uYW1lGAEgASgJIicKElJlbW92ZUNsaXBSZXNwb25zZRIRCgljbGlwX25hbWUYASABKAkqcwoKQ2xpcFN0YXR1cxIbChdDTElQX1NUQVRVU19VTlNQRUNJRklFRBAAEhcKE0NMSVBfU1RBVFVTX1JVTk5JTkcQARIYChRDTElQX1NUQVRVU19TTEVFUElORxACEhUKEUNMSVBfU1RBVFVTX0VSUk9SEAMy4QUKCkh1YlNlcnZpY2USRQoOUHJvdmlkZXJTdHJlYW0SGS5waW5peC52Mi5Qcm92aWRlck1lc3NhZ2UaFC5waW5peC52Mi5IdWJNZXNzYWdlKAEwARJKCg1SdW50aW1lU3RyZWFtEhgucGluaXgudjIuUnVudGltZU1lc3NhZ2UaGy5waW5peC52Mi5IdWJSdW50aW1lTWVzc2FnZSgBMAESRAoJTGlzdENsaXBzEhoucGluaXgudjIuTGlzdENsaXBzUmVxdWVzdBobLnBpbml4LnYyLkxpc3RDbGlwc1Jlc3BvbnNlElAKDUxpc3RQcm92aWRlcnMSHi5waW5peC52Mi5MaXN0UHJvdmlkZXJzUmVxdWVzdBofLnBpbml4LnYyLkxpc3RQcm92aWRlcnNSZXNwb25zZRJKCgtHZXRNYW5pZmVzdBIcLnBpbml4LnYyLkdldE1hbmlmZXN0UmVxdWVzdBodLnBpbml4LnYyLkdldE1hbmlmZXN0UmVzcG9uc2USRwoKR2V0Q2xpcFdlYhIbLnBpbml4LnYyLkdldENsaXBXZWJSZXF1ZXN0GhwucGluaXgudjIuR2V0Q2xpcFdlYlJlc3BvbnNlEj0KBkludm9rZRIXLnBpbml4LnYyLkludm9rZVJlcXVlc3QaGC5waW5peC52Mi5JbnZva2VSZXNwb25zZTABEksKDEludm9rZVN0cmVhbRIdLnBpbml4LnYyLkludm9rZVN0cmVhbU1lc3NhZ2UaGC5waW5peC52Mi5JbnZva2VSZXNwb25zZSgBMAESPgoHQWRkQ2xpcBIYLnBpbml4LnYyLkFkZENsaXBSZXF1ZXN0GhkucGluaXgudjIuQWRkQ2xpcFJlc3BvbnNlEkcKClJlbW92ZUNsaXASGy5waW5peC52Mi5SZW1vdmVDbGlwUmVxdWVzdBocLnBpbml4LnYyLlJlbW92ZUNsaXBSZXNwb25zZUIxWi9naXRodWIuY29tL2VwaXJhbC9waW5peC9nZW4vZ28vcGluaXgvdjI7cGluaXh2MmIGcHJvdG8z");
13
+ fileDesc("ChJwaW5peC92Mi9odWIucHJvdG8SCHBpbml4LnYyIikKCEh1YkVycm9yEgwKBGNvZGUYASABKAkSDwoHbWVzc2FnZRgCIAEoCSJPCgtDb21tYW5kSW5mbxIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEg0KBWlucHV0GAMgASgJEg4KBm91dHB1dBgEIAEoCSKDAgoIQ2xpcEluZm8SDAoEbmFtZRgBIAEoCRIPCgdwYWNrYWdlGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSDgoGZG9tYWluGAUgASgJEicKCGNvbW1hbmRzGAYgAygLMhUucGluaXgudjIuQ29tbWFuZEluZm8SDwoHaGFzX3dlYhgHIAEoCBIXCg90b2tlbl9wcm90ZWN0ZWQYCCABKAgSFAoMZGVwZW5kZW5jaWVzGAkgAygJEiQKBnN0YXR1cxgKIAEoDjIULnBpbml4LnYyLkNsaXBTdGF0dXMSFgoOc3RhdHVzX21lc3NhZ2UYCyABKAkiMgoORGVwZW5kZW5jeVNsb3QSDwoHcGFja2FnZRgBIAEoCRIPCgd2ZXJzaW9uGAIgASgJIlAKC0NsaXBCaW5kaW5nEg0KBWFsaWFzGAEgASgJEgsKA2h1YhgCIAEoCRIRCglodWJfdG9rZW4YAyABKAkSEgoKY2xpcF90b2tlbhgEIAEoCSLHAwoMQ2xpcE1hbmlmZXN0EgwKBG5hbWUYASABKAkSDwoHcGFja2FnZRgCIAEoCRIPCgd2ZXJzaW9uGAMgASgJEg4KBmRvbWFpbhgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCRInCghjb21tYW5kcxgGIAMoCzIVLnBpbml4LnYyLkNvbW1hbmRJbmZvEhQKDGRlcGVuZGVuY2llcxgHIAMoCRIPCgdoYXNfd2ViGAggASgIEhAKCHBhdHRlcm5zGAkgAygJEjYKCGVudGl0aWVzGAogAygLMiQucGluaXgudjIuQ2xpcE1hbmlmZXN0LkVudGl0aWVzRW50cnkSRQoQZGVwZW5kZW5jeV9zbG90cxgLIAMoCzIrLnBpbml4LnYyLkNsaXBNYW5pZmVzdC5EZXBlbmRlbmN5U2xvdHNFbnRyeRovCg1FbnRpdGllc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaUAoURGVwZW5kZW5jeVNsb3RzRW50cnkSCwoDa2V5GAEgASgJEicKBXZhbHVlGAIgASgLMhgucGluaXgudjIuRGVwZW5kZW5jeVNsb3Q6AjgBIlkKDFByb3ZpZGVySW5mbxIMCgRuYW1lGAEgASgJEhYKDmFjY2VwdHNfbWFuYWdlGAIgASgIEg0KBWNsaXBzGAMgAygJEhQKDGNvbm5lY3RlZF9hdBgEIAEoAyJYChFDbGlwU3RhdHVzQ2hhbmdlZBIMCgRuYW1lGAEgASgJEiQKBnN0YXR1cxgCIAEoDjIULnBpbml4LnYyLkNsaXBTdGF0dXMSDwoHbWVzc2FnZRgDIAEoCSLyAgoPUHJvdmlkZXJNZXNzYWdlEi0KCHJlZ2lzdGVyGAEgASgLMhkucGluaXgudjIuUmVnaXN0ZXJSZXF1ZXN0SAASKQoKY2xpcF9hZGRlZBgCIAEoCzITLnBpbml4LnYyLkNsaXBBZGRlZEgAEi0KDGNsaXBfcmVtb3ZlZBgDIAEoCzIVLnBpbml4LnYyLkNsaXBSZW1vdmVkSAASLwoNaW52b2tlX3Jlc3VsdBgEIAEoCzIWLnBpbml4LnYyLkludm9rZVJlc3VsdEgAEiMKBHBpbmcYBSABKAsyEy5waW5peC52Mi5IZWFydGJlYXRIABI5ChNnZXRfY2xpcF93ZWJfcmVzdWx0GAcgASgLMhoucGluaXgudjIuR2V0Q2xpcFdlYlJlc3VsdEgAEjoKE2NsaXBfc3RhdHVzX2NoYW5nZWQYCCABKAsyGy5waW5peC52Mi5DbGlwU3RhdHVzQ2hhbmdlZEgAQgkKB3BheWxvYWQilAIKCkh1Yk1lc3NhZ2USNwoRcmVnaXN0ZXJfcmVzcG9uc2UYASABKAsyGi5waW5peC52Mi5SZWdpc3RlclJlc3BvbnNlSAASMQoOaW52b2tlX2NvbW1hbmQYAiABKAsyFy5waW5peC52Mi5JbnZva2VDb21tYW5kSAASLQoMaW52b2tlX2lucHV0GAMgASgLMhUucGluaXgudjIuSW52b2tlSW5wdXRIABIjCgRwb25nGAUgASgLMhMucGluaXgudjIuSGVhcnRiZWF0SAASOwoUZ2V0X2NsaXBfd2ViX2NvbW1hbmQYBiABKAsyGy5waW5peC52Mi5HZXRDbGlwV2ViQ29tbWFuZEgAQgkKB3BheWxvYWQi0wEKDlJ1bnRpbWVNZXNzYWdlEi0KCHJlZ2lzdGVyGAEgASgLMhkucGluaXgudjIuUnVudGltZVJlZ2lzdGVySAASMQoOaW5zdGFsbF9yZXN1bHQYAiABKAsyFy5waW5peC52Mi5JbnN0YWxsUmVzdWx0SAASLwoNcmVtb3ZlX3Jlc3VsdBgDIAEoCzIWLnBpbml4LnYyLlJlbW92ZVJlc3VsdEgAEiMKBHBpbmcYBCABKAsyEy5waW5peC52Mi5IZWFydGJlYXRIAEIJCgdwYXlsb2FkIusBChFIdWJSdW50aW1lTWVzc2FnZRI+ChFyZWdpc3Rlcl9yZXNwb25zZRgBIAEoCzIhLnBpbml4LnYyLlJ1bnRpbWVSZWdpc3RlclJlc3BvbnNlSAASMwoPaW5zdGFsbF9jb21tYW5kGAIgASgLMhgucGluaXgudjIuSW5zdGFsbENvbW1hbmRIABIxCg5yZW1vdmVfY29tbWFuZBgDIAEoCzIXLnBpbml4LnYyLlJlbW92ZUNvbW1hbmRIABIjCgRwb25nGAQgASgLMhMucGluaXgudjIuSGVhcnRiZWF0SABCCQoHcGF5bG9hZCJTCg9SZWdpc3RlclJlcXVlc3QSFQoNcHJvdmlkZXJfbmFtZRgBIAEoCRIpCgVjbGlwcxgDIAMoCzIaLnBpbml4LnYyLkNsaXBSZWdpc3RyYXRpb24izQIKEENsaXBSZWdpc3RyYXRpb24SDQoFYWxpYXMYASABKAkSDwoHcGFja2FnZRgCIAEoCRIPCgd2ZXJzaW9uGAMgASgJEg4KBmRvbWFpbhgEIAEoCRInCghjb21tYW5kcxgFIAMoCzIVLnBpbml4LnYyLkNvbW1hbmRJbmZvEg8KB2hhc193ZWIYBiABKAgSFAoMZGVwZW5kZW5jaWVzGAcgAygJEhcKD3Rva2VuX3Byb3RlY3RlZBgIIAEoCBIQCgRuYW1lGAkgASgJQgIYARIQCghwYXR0ZXJucxgKIAMoCRI6CghlbnRpdGllcxgLIAMoCzIoLnBpbml4LnYyLkNsaXBSZWdpc3RyYXRpb24uRW50aXRpZXNFbnRyeRovCg1FbnRpdGllc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiSQoJQ2xpcEFkZGVkEigKBGNsaXAYASABKAsyGi5waW5peC52Mi5DbGlwUmVnaXN0cmF0aW9uEhIKCnJlcXVlc3RfaWQYAiABKAkiLwoLQ2xpcFJlbW92ZWQSDAoEbmFtZRgBIAEoCRISCgpyZXF1ZXN0X2lkGAIgASgJImMKDEludm9rZVJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEg4KBm91dHB1dBgCIAEoDBIhCgVlcnJvchgDIAEoCzISLnBpbml4LnYyLkh1YkVycm9yEgwKBGRvbmUYBCABKAgifwoRR2V0Q2xpcFdlYkNvbW1hbmQSEgoKcmVxdWVzdF9pZBgBIAEoCRIRCgljbGlwX25hbWUYAiABKAkSDAoEcGF0aBgDIAEoCRIOCgZvZmZzZXQYBCABKAMSDgoGbGVuZ3RoGAUgASgDEhUKDWlmX25vbmVfbWF0Y2gYBiABKAkiqAEKEEdldENsaXBXZWJSZXN1bHQSEgoKcmVxdWVzdF9pZBgBIAEoCRIPCgdjb250ZW50GAIgASgMEhQKDGNvbnRlbnRfdHlwZRgDIAEoCRIMCgRldGFnGAQgASgJEhIKCnRvdGFsX3NpemUYBSABKAMSFAoMbm90X21vZGlmaWVkGAYgASgIEiEKBWVycm9yGAcgASgLMhIucGluaXgudjIuSHViRXJyb3IiNQoQUmVnaXN0ZXJSZXNwb25zZRIQCghhY2NlcHRlZBgBIAEoCBIPCgdtZXNzYWdlGAIgASgJImcKD1J1bnRpbWVSZWdpc3RlchIMCgRuYW1lGAEgASgJEhAKCGhvc3RuYW1lGAIgASgJEgoKAm9zGAMgASgJEgwKBGFyY2gYBCABKAkSGgoSc3VwcG9ydGVkX3J1bnRpbWVzGAUgAygJIjwKF1J1bnRpbWVSZWdpc3RlclJlc3BvbnNlEhAKCGFjY2VwdGVkGAEgASgIEg8KB21lc3NhZ2UYAiABKAkiagoNSW52b2tlQ29tbWFuZBISCgpyZXF1ZXN0X2lkGAEgASgJEhEKCWNsaXBfbmFtZRgCIAEoCRIPCgdjb21tYW5kGAMgASgJEg0KBWlucHV0GAQgASgMEhIKCmNsaXBfdG9rZW4YBSABKAkiPQoLSW52b2tlSW5wdXQSEgoKcmVxdWVzdF9pZBgBIAEoCRIMCgRkYXRhGAIgASgMEgwKBGRvbmUYAyABKAgiVwoOSW5zdGFsbENvbW1hbmQSEgoKcmVxdWVzdF9pZBgBIAEoCRIOCgZzb3VyY2UYAiABKAkSDQoFYWxpYXMYAyABKAkSEgoKY2xpcF90b2tlbhgEIAEoCSJoCg1JbnN0YWxsUmVzdWx0EhIKCnJlcXVlc3RfaWQYASABKAkSIQoFZXJyb3IYAiABKAsyEi5waW5peC52Mi5IdWJFcnJvchIgCgRjbGlwGAMgASgLMhIucGluaXgudjIuQ2xpcEluZm8iMgoNUmVtb3ZlQ29tbWFuZBISCgpyZXF1ZXN0X2lkGAEgASgJEg0KBWFsaWFzGAIgASgJIkUKDFJlbW92ZVJlc3VsdBISCgpyZXF1ZXN0X2lkGAEgASgJEiEKBWVycm9yGAIgASgLMhIucGluaXgudjIuSHViRXJyb3IiJAoJSGVhcnRiZWF0EhcKD3NlbnRfYXRfdW5peF9tcxgBIAEoAyISChBMaXN0Q2xpcHNSZXF1ZXN0IjYKEUxpc3RDbGlwc1Jlc3BvbnNlEiEKBWNsaXBzGAEgAygLMhIucGluaXgudjIuQ2xpcEluZm8iFgoUTGlzdFByb3ZpZGVyc1JlcXVlc3QiQgoVTGlzdFByb3ZpZGVyc1Jlc3BvbnNlEikKCXByb3ZpZGVycxgBIAMoCzIWLnBpbml4LnYyLlByb3ZpZGVySW5mbyInChJHZXRNYW5pZmVzdFJlcXVlc3QSEQoJY2xpcF9uYW1lGAEgASgJIj8KE0dldE1hbmlmZXN0UmVzcG9uc2USKAoIbWFuaWZlc3QYASABKAsyFi5waW5peC52Mi5DbGlwTWFuaWZlc3QiawoRR2V0Q2xpcFdlYlJlcXVlc3QSEQoJY2xpcF9uYW1lGAEgASgJEgwKBHBhdGgYAiABKAkSFQoNaWZfbm9uZV9tYXRjaBgDIAEoCRIOCgZvZmZzZXQYBCABKAMSDgoGbGVuZ3RoGAUgASgDInMKEkdldENsaXBXZWJSZXNwb25zZRIPCgdjb250ZW50GAEgASgMEhQKDGNvbnRlbnRfdHlwZRgCIAEoCRIMCgRldGFnGAMgASgJEhQKDG5vdF9tb2RpZmllZBgEIAEoCBISCgp0b3RhbF9zaXplGAUgASgDIlYKDUludm9rZVJlcXVlc3QSEQoJY2xpcF9uYW1lGAEgASgJEg8KB2NvbW1hbmQYAiABKAkSDQoFaW5wdXQYAyABKAwSEgoKY2xpcF90b2tlbhgEIAEoCSJDCg5JbnZva2VSZXNwb25zZRIOCgZvdXRwdXQYASABKAwSIQoFZXJyb3IYAiABKAsyEi5waW5peC52Mi5IdWJFcnJvciJxChNJbnZva2VTdHJlYW1NZXNzYWdlEigKBXN0YXJ0GAEgASgLMhcucGluaXgudjIuSW52b2tlUmVxdWVzdEgAEiUKBWNodW5rGAIgASgLMhQucGluaXgudjIuSW5wdXRDaHVua0gAQgkKB3BheWxvYWQiKAoKSW5wdXRDaHVuaxIMCgRkYXRhGAEgASgMEgwKBGRvbmUYAiABKAgibQoOQWRkQ2xpcFJlcXVlc3QSDgoGc291cmNlGAEgASgJEgwKBG5hbWUYAiABKAkSEAoIcHJvdmlkZXIYAyABKAkSEgoKY2xpcF90b2tlbhgEIAEoCRIXCg9yZXF1ZXN0ZWRfYWxpYXMYBSABKAkiMwoPQWRkQ2xpcFJlc3BvbnNlEiAKBGNsaXAYASABKAsyEi5waW5peC52Mi5DbGlwSW5mbyI1ChFSZW1vdmVDbGlwUmVxdWVzdBIRCgljbGlwX25hbWUYASABKAkSDQoFcHVyZ2UYAiABKAgiJwoSUmVtb3ZlQ2xpcFJlc3BvbnNlEhEKCWNsaXBfbmFtZRgBIAEoCSInChJHZXRCaW5kaW5nc1JlcXVlc3QSEQoJY2xpcF9uYW1lGAEgASgJIrwCChNHZXRCaW5kaW5nc1Jlc3BvbnNlEj0KCGJpbmRpbmdzGAEgAygLMisucGluaXgudjIuR2V0QmluZGluZ3NSZXNwb25zZS5CaW5kaW5nc0VudHJ5EkwKEGRlcGVuZGVuY3lfc2xvdHMYAiADKAsyMi5waW5peC52Mi5HZXRCaW5kaW5nc1Jlc3BvbnNlLkRlcGVuZGVuY3lTbG90c0VudHJ5GkYKDUJpbmRpbmdzRW50cnkSCwoDa2V5GAEgASgJEiQKBXZhbHVlGAIgASgLMhUucGluaXgudjIuQ2xpcEJpbmRpbmc6AjgBGlAKFERlcGVuZGVuY3lTbG90c0VudHJ5EgsKA2tleRgBIAEoCRInCgV2YWx1ZRgCIAEoCzIYLnBpbml4LnYyLkRlcGVuZGVuY3lTbG90OgI4ASJcChFTZXRCaW5kaW5nUmVxdWVzdBIRCgljbGlwX25hbWUYASABKAkSDAoEc2xvdBgCIAEoCRImCgdiaW5kaW5nGAMgASgLMhUucGluaXgudjIuQ2xpcEJpbmRpbmciFAoSU2V0QmluZGluZ1Jlc3BvbnNlIjcKFFJlbW92ZUJpbmRpbmdSZXF1ZXN0EhEKCWNsaXBfbmFtZRgBIAEoCRIMCgRzbG90GAIgASgJIhcKFVJlbW92ZUJpbmRpbmdSZXNwb25zZSpzCgpDbGlwU3RhdHVzEhsKF0NMSVBfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFwoTQ0xJUF9TVEFUVVNfUlVOTklORxABEhgKFENMSVBfU1RBVFVTX1NMRUVQSU5HEAISFQoRQ0xJUF9TVEFUVVNfRVJST1IQAzLIBwoKSHViU2VydmljZRJFCg5Qcm92aWRlclN0cmVhbRIZLnBpbml4LnYyLlByb3ZpZGVyTWVzc2FnZRoULnBpbml4LnYyLkh1Yk1lc3NhZ2UoATABEkoKDVJ1bnRpbWVTdHJlYW0SGC5waW5peC52Mi5SdW50aW1lTWVzc2FnZRobLnBpbml4LnYyLkh1YlJ1bnRpbWVNZXNzYWdlKAEwARJECglMaXN0Q2xpcHMSGi5waW5peC52Mi5MaXN0Q2xpcHNSZXF1ZXN0GhsucGluaXgudjIuTGlzdENsaXBzUmVzcG9uc2USUAoNTGlzdFByb3ZpZGVycxIeLnBpbml4LnYyLkxpc3RQcm92aWRlcnNSZXF1ZXN0Gh8ucGluaXgudjIuTGlzdFByb3ZpZGVyc1Jlc3BvbnNlEkoKC0dldE1hbmlmZXN0EhwucGluaXgudjIuR2V0TWFuaWZlc3RSZXF1ZXN0Gh0ucGluaXgudjIuR2V0TWFuaWZlc3RSZXNwb25zZRJHCgpHZXRDbGlwV2ViEhsucGluaXgudjIuR2V0Q2xpcFdlYlJlcXVlc3QaHC5waW5peC52Mi5HZXRDbGlwV2ViUmVzcG9uc2USPQoGSW52b2tlEhcucGluaXgudjIuSW52b2tlUmVxdWVzdBoYLnBpbml4LnYyLkludm9rZVJlc3BvbnNlMAESSwoMSW52b2tlU3RyZWFtEh0ucGluaXgudjIuSW52b2tlU3RyZWFtTWVzc2FnZRoYLnBpbml4LnYyLkludm9rZVJlc3BvbnNlKAEwARI+CgdBZGRDbGlwEhgucGluaXgudjIuQWRkQ2xpcFJlcXVlc3QaGS5waW5peC52Mi5BZGRDbGlwUmVzcG9uc2USRwoKUmVtb3ZlQ2xpcBIbLnBpbml4LnYyLlJlbW92ZUNsaXBSZXF1ZXN0GhwucGluaXgudjIuUmVtb3ZlQ2xpcFJlc3BvbnNlEkoKC0dldEJpbmRpbmdzEhwucGluaXgudjIuR2V0QmluZGluZ3NSZXF1ZXN0Gh0ucGluaXgudjIuR2V0QmluZGluZ3NSZXNwb25zZRJHCgpTZXRCaW5kaW5nEhsucGluaXgudjIuU2V0QmluZGluZ1JlcXVlc3QaHC5waW5peC52Mi5TZXRCaW5kaW5nUmVzcG9uc2USUAoNUmVtb3ZlQmluZGluZxIeLnBpbml4LnYyLlJlbW92ZUJpbmRpbmdSZXF1ZXN0Gh8ucGluaXgudjIuUmVtb3ZlQmluZGluZ1Jlc3BvbnNlQjFaL2dpdGh1Yi5jb20vZXBpcmFsL3Bpbml4L2dlbi9nby9waW5peC92MjtwaW5peHYyYgZwcm90bzM");
14
14
 
15
15
  /**
16
16
  * @generated from message pinix.v2.HubError
@@ -133,6 +133,60 @@ export type ClipInfo = Message<"pinix.v2.ClipInfo"> & {
133
133
  export const ClipInfoSchema: GenMessage<ClipInfo> = /*@__PURE__*/
134
134
  messageDesc(file_pinix_v2_hub, 2);
135
135
 
136
+ /**
137
+ * @generated from message pinix.v2.DependencySlot
138
+ */
139
+ export type DependencySlot = Message<"pinix.v2.DependencySlot"> & {
140
+ /**
141
+ * @generated from field: string package = 1;
142
+ */
143
+ package: string;
144
+
145
+ /**
146
+ * @generated from field: string version = 2;
147
+ */
148
+ version: string;
149
+ };
150
+
151
+ /**
152
+ * Describes the message pinix.v2.DependencySlot.
153
+ * Use `create(DependencySlotSchema)` to create a new message.
154
+ */
155
+ export const DependencySlotSchema: GenMessage<DependencySlot> = /*@__PURE__*/
156
+ messageDesc(file_pinix_v2_hub, 3);
157
+
158
+ /**
159
+ * @generated from message pinix.v2.ClipBinding
160
+ */
161
+ export type ClipBinding = Message<"pinix.v2.ClipBinding"> & {
162
+ /**
163
+ * @generated from field: string alias = 1;
164
+ */
165
+ alias: string;
166
+
167
+ /**
168
+ * @generated from field: string hub = 2;
169
+ */
170
+ hub: string;
171
+
172
+ /**
173
+ * @generated from field: string hub_token = 3;
174
+ */
175
+ hubToken: string;
176
+
177
+ /**
178
+ * @generated from field: string clip_token = 4;
179
+ */
180
+ clipToken: string;
181
+ };
182
+
183
+ /**
184
+ * Describes the message pinix.v2.ClipBinding.
185
+ * Use `create(ClipBindingSchema)` to create a new message.
186
+ */
187
+ export const ClipBindingSchema: GenMessage<ClipBinding> = /*@__PURE__*/
188
+ messageDesc(file_pinix_v2_hub, 4);
189
+
136
190
  /**
137
191
  * @generated from message pinix.v2.ClipManifest
138
192
  */
@@ -186,6 +240,11 @@ export type ClipManifest = Message<"pinix.v2.ClipManifest"> & {
186
240
  * @generated from field: map<string, string> entities = 10;
187
241
  */
188
242
  entities: { [key: string]: string };
243
+
244
+ /**
245
+ * @generated from field: map<string, pinix.v2.DependencySlot> dependency_slots = 11;
246
+ */
247
+ dependencySlots: { [key: string]: DependencySlot };
189
248
  };
190
249
 
191
250
  /**
@@ -193,7 +252,7 @@ export type ClipManifest = Message<"pinix.v2.ClipManifest"> & {
193
252
  * Use `create(ClipManifestSchema)` to create a new message.
194
253
  */
195
254
  export const ClipManifestSchema: GenMessage<ClipManifest> = /*@__PURE__*/
196
- messageDesc(file_pinix_v2_hub, 3);
255
+ messageDesc(file_pinix_v2_hub, 5);
197
256
 
198
257
  /**
199
258
  * 当前连入的 Provider(在列表里 = 在线)。
@@ -227,7 +286,7 @@ export type ProviderInfo = Message<"pinix.v2.ProviderInfo"> & {
227
286
  * Use `create(ProviderInfoSchema)` to create a new message.
228
287
  */
229
288
  export const ProviderInfoSchema: GenMessage<ProviderInfo> = /*@__PURE__*/
230
- messageDesc(file_pinix_v2_hub, 4);
289
+ messageDesc(file_pinix_v2_hub, 6);
231
290
 
232
291
  /**
233
292
  * @generated from message pinix.v2.ClipStatusChanged
@@ -254,7 +313,7 @@ export type ClipStatusChanged = Message<"pinix.v2.ClipStatusChanged"> & {
254
313
  * Use `create(ClipStatusChangedSchema)` to create a new message.
255
314
  */
256
315
  export const ClipStatusChangedSchema: GenMessage<ClipStatusChanged> = /*@__PURE__*/
257
- messageDesc(file_pinix_v2_hub, 5);
316
+ messageDesc(file_pinix_v2_hub, 7);
258
317
 
259
318
  /**
260
319
  * @generated from message pinix.v2.ProviderMessage
@@ -313,7 +372,7 @@ export type ProviderMessage = Message<"pinix.v2.ProviderMessage"> & {
313
372
  * Use `create(ProviderMessageSchema)` to create a new message.
314
373
  */
315
374
  export const ProviderMessageSchema: GenMessage<ProviderMessage> = /*@__PURE__*/
316
- messageDesc(file_pinix_v2_hub, 6);
375
+ messageDesc(file_pinix_v2_hub, 8);
317
376
 
318
377
  /**
319
378
  * @generated from message pinix.v2.HubMessage
@@ -360,7 +419,7 @@ export type HubMessage = Message<"pinix.v2.HubMessage"> & {
360
419
  * Use `create(HubMessageSchema)` to create a new message.
361
420
  */
362
421
  export const HubMessageSchema: GenMessage<HubMessage> = /*@__PURE__*/
363
- messageDesc(file_pinix_v2_hub, 7);
422
+ messageDesc(file_pinix_v2_hub, 9);
364
423
 
365
424
  /**
366
425
  * @generated from message pinix.v2.RuntimeMessage
@@ -401,7 +460,7 @@ export type RuntimeMessage = Message<"pinix.v2.RuntimeMessage"> & {
401
460
  * Use `create(RuntimeMessageSchema)` to create a new message.
402
461
  */
403
462
  export const RuntimeMessageSchema: GenMessage<RuntimeMessage> = /*@__PURE__*/
404
- messageDesc(file_pinix_v2_hub, 8);
463
+ messageDesc(file_pinix_v2_hub, 10);
405
464
 
406
465
  /**
407
466
  * @generated from message pinix.v2.HubRuntimeMessage
@@ -442,7 +501,7 @@ export type HubRuntimeMessage = Message<"pinix.v2.HubRuntimeMessage"> & {
442
501
  * Use `create(HubRuntimeMessageSchema)` to create a new message.
443
502
  */
444
503
  export const HubRuntimeMessageSchema: GenMessage<HubRuntimeMessage> = /*@__PURE__*/
445
- messageDesc(file_pinix_v2_hub, 9);
504
+ messageDesc(file_pinix_v2_hub, 11);
446
505
 
447
506
  /**
448
507
  * @generated from message pinix.v2.RegisterRequest
@@ -464,7 +523,7 @@ export type RegisterRequest = Message<"pinix.v2.RegisterRequest"> & {
464
523
  * Use `create(RegisterRequestSchema)` to create a new message.
465
524
  */
466
525
  export const RegisterRequestSchema: GenMessage<RegisterRequest> = /*@__PURE__*/
467
- messageDesc(file_pinix_v2_hub, 10);
526
+ messageDesc(file_pinix_v2_hub, 12);
468
527
 
469
528
  /**
470
529
  * @generated from message pinix.v2.ClipRegistration
@@ -532,7 +591,7 @@ export type ClipRegistration = Message<"pinix.v2.ClipRegistration"> & {
532
591
  * Use `create(ClipRegistrationSchema)` to create a new message.
533
592
  */
534
593
  export const ClipRegistrationSchema: GenMessage<ClipRegistration> = /*@__PURE__*/
535
- messageDesc(file_pinix_v2_hub, 11);
594
+ messageDesc(file_pinix_v2_hub, 13);
536
595
 
537
596
  /**
538
597
  * @generated from message pinix.v2.ClipAdded
@@ -554,7 +613,7 @@ export type ClipAdded = Message<"pinix.v2.ClipAdded"> & {
554
613
  * Use `create(ClipAddedSchema)` to create a new message.
555
614
  */
556
615
  export const ClipAddedSchema: GenMessage<ClipAdded> = /*@__PURE__*/
557
- messageDesc(file_pinix_v2_hub, 12);
616
+ messageDesc(file_pinix_v2_hub, 14);
558
617
 
559
618
  /**
560
619
  * @generated from message pinix.v2.ClipRemoved
@@ -576,7 +635,7 @@ export type ClipRemoved = Message<"pinix.v2.ClipRemoved"> & {
576
635
  * Use `create(ClipRemovedSchema)` to create a new message.
577
636
  */
578
637
  export const ClipRemovedSchema: GenMessage<ClipRemoved> = /*@__PURE__*/
579
- messageDesc(file_pinix_v2_hub, 13);
638
+ messageDesc(file_pinix_v2_hub, 15);
580
639
 
581
640
  /**
582
641
  * @generated from message pinix.v2.InvokeResult
@@ -608,7 +667,7 @@ export type InvokeResult = Message<"pinix.v2.InvokeResult"> & {
608
667
  * Use `create(InvokeResultSchema)` to create a new message.
609
668
  */
610
669
  export const InvokeResultSchema: GenMessage<InvokeResult> = /*@__PURE__*/
611
- messageDesc(file_pinix_v2_hub, 14);
670
+ messageDesc(file_pinix_v2_hub, 16);
612
671
 
613
672
  /**
614
673
  * @generated from message pinix.v2.GetClipWebCommand
@@ -650,7 +709,7 @@ export type GetClipWebCommand = Message<"pinix.v2.GetClipWebCommand"> & {
650
709
  * Use `create(GetClipWebCommandSchema)` to create a new message.
651
710
  */
652
711
  export const GetClipWebCommandSchema: GenMessage<GetClipWebCommand> = /*@__PURE__*/
653
- messageDesc(file_pinix_v2_hub, 15);
712
+ messageDesc(file_pinix_v2_hub, 17);
654
713
 
655
714
  /**
656
715
  * @generated from message pinix.v2.GetClipWebResult
@@ -697,7 +756,7 @@ export type GetClipWebResult = Message<"pinix.v2.GetClipWebResult"> & {
697
756
  * Use `create(GetClipWebResultSchema)` to create a new message.
698
757
  */
699
758
  export const GetClipWebResultSchema: GenMessage<GetClipWebResult> = /*@__PURE__*/
700
- messageDesc(file_pinix_v2_hub, 16);
759
+ messageDesc(file_pinix_v2_hub, 18);
701
760
 
702
761
  /**
703
762
  * @generated from message pinix.v2.RegisterResponse
@@ -719,7 +778,7 @@ export type RegisterResponse = Message<"pinix.v2.RegisterResponse"> & {
719
778
  * Use `create(RegisterResponseSchema)` to create a new message.
720
779
  */
721
780
  export const RegisterResponseSchema: GenMessage<RegisterResponse> = /*@__PURE__*/
722
- messageDesc(file_pinix_v2_hub, 17);
781
+ messageDesc(file_pinix_v2_hub, 19);
723
782
 
724
783
  /**
725
784
  * @generated from message pinix.v2.RuntimeRegister
@@ -756,7 +815,7 @@ export type RuntimeRegister = Message<"pinix.v2.RuntimeRegister"> & {
756
815
  * Use `create(RuntimeRegisterSchema)` to create a new message.
757
816
  */
758
817
  export const RuntimeRegisterSchema: GenMessage<RuntimeRegister> = /*@__PURE__*/
759
- messageDesc(file_pinix_v2_hub, 18);
818
+ messageDesc(file_pinix_v2_hub, 20);
760
819
 
761
820
  /**
762
821
  * @generated from message pinix.v2.RuntimeRegisterResponse
@@ -778,7 +837,7 @@ export type RuntimeRegisterResponse = Message<"pinix.v2.RuntimeRegisterResponse"
778
837
  * Use `create(RuntimeRegisterResponseSchema)` to create a new message.
779
838
  */
780
839
  export const RuntimeRegisterResponseSchema: GenMessage<RuntimeRegisterResponse> = /*@__PURE__*/
781
- messageDesc(file_pinix_v2_hub, 19);
840
+ messageDesc(file_pinix_v2_hub, 21);
782
841
 
783
842
  /**
784
843
  * @generated from message pinix.v2.InvokeCommand
@@ -815,7 +874,7 @@ export type InvokeCommand = Message<"pinix.v2.InvokeCommand"> & {
815
874
  * Use `create(InvokeCommandSchema)` to create a new message.
816
875
  */
817
876
  export const InvokeCommandSchema: GenMessage<InvokeCommand> = /*@__PURE__*/
818
- messageDesc(file_pinix_v2_hub, 20);
877
+ messageDesc(file_pinix_v2_hub, 22);
819
878
 
820
879
  /**
821
880
  * @generated from message pinix.v2.InvokeInput
@@ -842,7 +901,7 @@ export type InvokeInput = Message<"pinix.v2.InvokeInput"> & {
842
901
  * Use `create(InvokeInputSchema)` to create a new message.
843
902
  */
844
903
  export const InvokeInputSchema: GenMessage<InvokeInput> = /*@__PURE__*/
845
- messageDesc(file_pinix_v2_hub, 21);
904
+ messageDesc(file_pinix_v2_hub, 23);
846
905
 
847
906
  /**
848
907
  * @generated from message pinix.v2.InstallCommand
@@ -874,7 +933,7 @@ export type InstallCommand = Message<"pinix.v2.InstallCommand"> & {
874
933
  * Use `create(InstallCommandSchema)` to create a new message.
875
934
  */
876
935
  export const InstallCommandSchema: GenMessage<InstallCommand> = /*@__PURE__*/
877
- messageDesc(file_pinix_v2_hub, 22);
936
+ messageDesc(file_pinix_v2_hub, 24);
878
937
 
879
938
  /**
880
939
  * @generated from message pinix.v2.InstallResult
@@ -901,7 +960,7 @@ export type InstallResult = Message<"pinix.v2.InstallResult"> & {
901
960
  * Use `create(InstallResultSchema)` to create a new message.
902
961
  */
903
962
  export const InstallResultSchema: GenMessage<InstallResult> = /*@__PURE__*/
904
- messageDesc(file_pinix_v2_hub, 23);
963
+ messageDesc(file_pinix_v2_hub, 25);
905
964
 
906
965
  /**
907
966
  * @generated from message pinix.v2.RemoveCommand
@@ -923,7 +982,7 @@ export type RemoveCommand = Message<"pinix.v2.RemoveCommand"> & {
923
982
  * Use `create(RemoveCommandSchema)` to create a new message.
924
983
  */
925
984
  export const RemoveCommandSchema: GenMessage<RemoveCommand> = /*@__PURE__*/
926
- messageDesc(file_pinix_v2_hub, 24);
985
+ messageDesc(file_pinix_v2_hub, 26);
927
986
 
928
987
  /**
929
988
  * @generated from message pinix.v2.RemoveResult
@@ -945,7 +1004,7 @@ export type RemoveResult = Message<"pinix.v2.RemoveResult"> & {
945
1004
  * Use `create(RemoveResultSchema)` to create a new message.
946
1005
  */
947
1006
  export const RemoveResultSchema: GenMessage<RemoveResult> = /*@__PURE__*/
948
- messageDesc(file_pinix_v2_hub, 25);
1007
+ messageDesc(file_pinix_v2_hub, 27);
949
1008
 
950
1009
  /**
951
1010
  * @generated from message pinix.v2.Heartbeat
@@ -962,7 +1021,7 @@ export type Heartbeat = Message<"pinix.v2.Heartbeat"> & {
962
1021
  * Use `create(HeartbeatSchema)` to create a new message.
963
1022
  */
964
1023
  export const HeartbeatSchema: GenMessage<Heartbeat> = /*@__PURE__*/
965
- messageDesc(file_pinix_v2_hub, 26);
1024
+ messageDesc(file_pinix_v2_hub, 28);
966
1025
 
967
1026
  /**
968
1027
  * @generated from message pinix.v2.ListClipsRequest
@@ -975,7 +1034,7 @@ export type ListClipsRequest = Message<"pinix.v2.ListClipsRequest"> & {
975
1034
  * Use `create(ListClipsRequestSchema)` to create a new message.
976
1035
  */
977
1036
  export const ListClipsRequestSchema: GenMessage<ListClipsRequest> = /*@__PURE__*/
978
- messageDesc(file_pinix_v2_hub, 27);
1037
+ messageDesc(file_pinix_v2_hub, 29);
979
1038
 
980
1039
  /**
981
1040
  * @generated from message pinix.v2.ListClipsResponse
@@ -992,7 +1051,7 @@ export type ListClipsResponse = Message<"pinix.v2.ListClipsResponse"> & {
992
1051
  * Use `create(ListClipsResponseSchema)` to create a new message.
993
1052
  */
994
1053
  export const ListClipsResponseSchema: GenMessage<ListClipsResponse> = /*@__PURE__*/
995
- messageDesc(file_pinix_v2_hub, 28);
1054
+ messageDesc(file_pinix_v2_hub, 30);
996
1055
 
997
1056
  /**
998
1057
  * @generated from message pinix.v2.ListProvidersRequest
@@ -1005,7 +1064,7 @@ export type ListProvidersRequest = Message<"pinix.v2.ListProvidersRequest"> & {
1005
1064
  * Use `create(ListProvidersRequestSchema)` to create a new message.
1006
1065
  */
1007
1066
  export const ListProvidersRequestSchema: GenMessage<ListProvidersRequest> = /*@__PURE__*/
1008
- messageDesc(file_pinix_v2_hub, 29);
1067
+ messageDesc(file_pinix_v2_hub, 31);
1009
1068
 
1010
1069
  /**
1011
1070
  * @generated from message pinix.v2.ListProvidersResponse
@@ -1022,7 +1081,7 @@ export type ListProvidersResponse = Message<"pinix.v2.ListProvidersResponse"> &
1022
1081
  * Use `create(ListProvidersResponseSchema)` to create a new message.
1023
1082
  */
1024
1083
  export const ListProvidersResponseSchema: GenMessage<ListProvidersResponse> = /*@__PURE__*/
1025
- messageDesc(file_pinix_v2_hub, 30);
1084
+ messageDesc(file_pinix_v2_hub, 32);
1026
1085
 
1027
1086
  /**
1028
1087
  * @generated from message pinix.v2.GetManifestRequest
@@ -1039,7 +1098,7 @@ export type GetManifestRequest = Message<"pinix.v2.GetManifestRequest"> & {
1039
1098
  * Use `create(GetManifestRequestSchema)` to create a new message.
1040
1099
  */
1041
1100
  export const GetManifestRequestSchema: GenMessage<GetManifestRequest> = /*@__PURE__*/
1042
- messageDesc(file_pinix_v2_hub, 31);
1101
+ messageDesc(file_pinix_v2_hub, 33);
1043
1102
 
1044
1103
  /**
1045
1104
  * @generated from message pinix.v2.GetManifestResponse
@@ -1056,7 +1115,7 @@ export type GetManifestResponse = Message<"pinix.v2.GetManifestResponse"> & {
1056
1115
  * Use `create(GetManifestResponseSchema)` to create a new message.
1057
1116
  */
1058
1117
  export const GetManifestResponseSchema: GenMessage<GetManifestResponse> = /*@__PURE__*/
1059
- messageDesc(file_pinix_v2_hub, 32);
1118
+ messageDesc(file_pinix_v2_hub, 34);
1060
1119
 
1061
1120
  /**
1062
1121
  * @generated from message pinix.v2.GetClipWebRequest
@@ -1093,7 +1152,7 @@ export type GetClipWebRequest = Message<"pinix.v2.GetClipWebRequest"> & {
1093
1152
  * Use `create(GetClipWebRequestSchema)` to create a new message.
1094
1153
  */
1095
1154
  export const GetClipWebRequestSchema: GenMessage<GetClipWebRequest> = /*@__PURE__*/
1096
- messageDesc(file_pinix_v2_hub, 33);
1155
+ messageDesc(file_pinix_v2_hub, 35);
1097
1156
 
1098
1157
  /**
1099
1158
  * @generated from message pinix.v2.GetClipWebResponse
@@ -1130,7 +1189,7 @@ export type GetClipWebResponse = Message<"pinix.v2.GetClipWebResponse"> & {
1130
1189
  * Use `create(GetClipWebResponseSchema)` to create a new message.
1131
1190
  */
1132
1191
  export const GetClipWebResponseSchema: GenMessage<GetClipWebResponse> = /*@__PURE__*/
1133
- messageDesc(file_pinix_v2_hub, 34);
1192
+ messageDesc(file_pinix_v2_hub, 36);
1134
1193
 
1135
1194
  /**
1136
1195
  * @generated from message pinix.v2.InvokeRequest
@@ -1162,7 +1221,7 @@ export type InvokeRequest = Message<"pinix.v2.InvokeRequest"> & {
1162
1221
  * Use `create(InvokeRequestSchema)` to create a new message.
1163
1222
  */
1164
1223
  export const InvokeRequestSchema: GenMessage<InvokeRequest> = /*@__PURE__*/
1165
- messageDesc(file_pinix_v2_hub, 35);
1224
+ messageDesc(file_pinix_v2_hub, 37);
1166
1225
 
1167
1226
  /**
1168
1227
  * @generated from message pinix.v2.InvokeResponse
@@ -1184,7 +1243,7 @@ export type InvokeResponse = Message<"pinix.v2.InvokeResponse"> & {
1184
1243
  * Use `create(InvokeResponseSchema)` to create a new message.
1185
1244
  */
1186
1245
  export const InvokeResponseSchema: GenMessage<InvokeResponse> = /*@__PURE__*/
1187
- messageDesc(file_pinix_v2_hub, 36);
1246
+ messageDesc(file_pinix_v2_hub, 38);
1188
1247
 
1189
1248
  /**
1190
1249
  * @generated from message pinix.v2.InvokeStreamMessage
@@ -1213,7 +1272,7 @@ export type InvokeStreamMessage = Message<"pinix.v2.InvokeStreamMessage"> & {
1213
1272
  * Use `create(InvokeStreamMessageSchema)` to create a new message.
1214
1273
  */
1215
1274
  export const InvokeStreamMessageSchema: GenMessage<InvokeStreamMessage> = /*@__PURE__*/
1216
- messageDesc(file_pinix_v2_hub, 37);
1275
+ messageDesc(file_pinix_v2_hub, 39);
1217
1276
 
1218
1277
  /**
1219
1278
  * @generated from message pinix.v2.InputChunk
@@ -1235,7 +1294,7 @@ export type InputChunk = Message<"pinix.v2.InputChunk"> & {
1235
1294
  * Use `create(InputChunkSchema)` to create a new message.
1236
1295
  */
1237
1296
  export const InputChunkSchema: GenMessage<InputChunk> = /*@__PURE__*/
1238
- messageDesc(file_pinix_v2_hub, 38);
1297
+ messageDesc(file_pinix_v2_hub, 40);
1239
1298
 
1240
1299
  /**
1241
1300
  * @generated from message pinix.v2.AddClipRequest
@@ -1272,7 +1331,7 @@ export type AddClipRequest = Message<"pinix.v2.AddClipRequest"> & {
1272
1331
  * Use `create(AddClipRequestSchema)` to create a new message.
1273
1332
  */
1274
1333
  export const AddClipRequestSchema: GenMessage<AddClipRequest> = /*@__PURE__*/
1275
- messageDesc(file_pinix_v2_hub, 39);
1334
+ messageDesc(file_pinix_v2_hub, 41);
1276
1335
 
1277
1336
  /**
1278
1337
  * @generated from message pinix.v2.AddClipResponse
@@ -1289,7 +1348,7 @@ export type AddClipResponse = Message<"pinix.v2.AddClipResponse"> & {
1289
1348
  * Use `create(AddClipResponseSchema)` to create a new message.
1290
1349
  */
1291
1350
  export const AddClipResponseSchema: GenMessage<AddClipResponse> = /*@__PURE__*/
1292
- messageDesc(file_pinix_v2_hub, 40);
1351
+ messageDesc(file_pinix_v2_hub, 42);
1293
1352
 
1294
1353
  /**
1295
1354
  * @generated from message pinix.v2.RemoveClipRequest
@@ -1299,6 +1358,11 @@ export type RemoveClipRequest = Message<"pinix.v2.RemoveClipRequest"> & {
1299
1358
  * @generated from field: string clip_name = 1;
1300
1359
  */
1301
1360
  clipName: string;
1361
+
1362
+ /**
1363
+ * @generated from field: bool purge = 2;
1364
+ */
1365
+ purge: boolean;
1302
1366
  };
1303
1367
 
1304
1368
  /**
@@ -1306,7 +1370,7 @@ export type RemoveClipRequest = Message<"pinix.v2.RemoveClipRequest"> & {
1306
1370
  * Use `create(RemoveClipRequestSchema)` to create a new message.
1307
1371
  */
1308
1372
  export const RemoveClipRequestSchema: GenMessage<RemoveClipRequest> = /*@__PURE__*/
1309
- messageDesc(file_pinix_v2_hub, 41);
1373
+ messageDesc(file_pinix_v2_hub, 43);
1310
1374
 
1311
1375
  /**
1312
1376
  * @generated from message pinix.v2.RemoveClipResponse
@@ -1323,7 +1387,121 @@ export type RemoveClipResponse = Message<"pinix.v2.RemoveClipResponse"> & {
1323
1387
  * Use `create(RemoveClipResponseSchema)` to create a new message.
1324
1388
  */
1325
1389
  export const RemoveClipResponseSchema: GenMessage<RemoveClipResponse> = /*@__PURE__*/
1326
- messageDesc(file_pinix_v2_hub, 42);
1390
+ messageDesc(file_pinix_v2_hub, 44);
1391
+
1392
+ /**
1393
+ * @generated from message pinix.v2.GetBindingsRequest
1394
+ */
1395
+ export type GetBindingsRequest = Message<"pinix.v2.GetBindingsRequest"> & {
1396
+ /**
1397
+ * @generated from field: string clip_name = 1;
1398
+ */
1399
+ clipName: string;
1400
+ };
1401
+
1402
+ /**
1403
+ * Describes the message pinix.v2.GetBindingsRequest.
1404
+ * Use `create(GetBindingsRequestSchema)` to create a new message.
1405
+ */
1406
+ export const GetBindingsRequestSchema: GenMessage<GetBindingsRequest> = /*@__PURE__*/
1407
+ messageDesc(file_pinix_v2_hub, 45);
1408
+
1409
+ /**
1410
+ * @generated from message pinix.v2.GetBindingsResponse
1411
+ */
1412
+ export type GetBindingsResponse = Message<"pinix.v2.GetBindingsResponse"> & {
1413
+ /**
1414
+ * @generated from field: map<string, pinix.v2.ClipBinding> bindings = 1;
1415
+ */
1416
+ bindings: { [key: string]: ClipBinding };
1417
+
1418
+ /**
1419
+ * @generated from field: map<string, pinix.v2.DependencySlot> dependency_slots = 2;
1420
+ */
1421
+ dependencySlots: { [key: string]: DependencySlot };
1422
+ };
1423
+
1424
+ /**
1425
+ * Describes the message pinix.v2.GetBindingsResponse.
1426
+ * Use `create(GetBindingsResponseSchema)` to create a new message.
1427
+ */
1428
+ export const GetBindingsResponseSchema: GenMessage<GetBindingsResponse> = /*@__PURE__*/
1429
+ messageDesc(file_pinix_v2_hub, 46);
1430
+
1431
+ /**
1432
+ * @generated from message pinix.v2.SetBindingRequest
1433
+ */
1434
+ export type SetBindingRequest = Message<"pinix.v2.SetBindingRequest"> & {
1435
+ /**
1436
+ * @generated from field: string clip_name = 1;
1437
+ */
1438
+ clipName: string;
1439
+
1440
+ /**
1441
+ * @generated from field: string slot = 2;
1442
+ */
1443
+ slot: string;
1444
+
1445
+ /**
1446
+ * @generated from field: pinix.v2.ClipBinding binding = 3;
1447
+ */
1448
+ binding?: ClipBinding;
1449
+ };
1450
+
1451
+ /**
1452
+ * Describes the message pinix.v2.SetBindingRequest.
1453
+ * Use `create(SetBindingRequestSchema)` to create a new message.
1454
+ */
1455
+ export const SetBindingRequestSchema: GenMessage<SetBindingRequest> = /*@__PURE__*/
1456
+ messageDesc(file_pinix_v2_hub, 47);
1457
+
1458
+ /**
1459
+ * @generated from message pinix.v2.SetBindingResponse
1460
+ */
1461
+ export type SetBindingResponse = Message<"pinix.v2.SetBindingResponse"> & {
1462
+ };
1463
+
1464
+ /**
1465
+ * Describes the message pinix.v2.SetBindingResponse.
1466
+ * Use `create(SetBindingResponseSchema)` to create a new message.
1467
+ */
1468
+ export const SetBindingResponseSchema: GenMessage<SetBindingResponse> = /*@__PURE__*/
1469
+ messageDesc(file_pinix_v2_hub, 48);
1470
+
1471
+ /**
1472
+ * @generated from message pinix.v2.RemoveBindingRequest
1473
+ */
1474
+ export type RemoveBindingRequest = Message<"pinix.v2.RemoveBindingRequest"> & {
1475
+ /**
1476
+ * @generated from field: string clip_name = 1;
1477
+ */
1478
+ clipName: string;
1479
+
1480
+ /**
1481
+ * @generated from field: string slot = 2;
1482
+ */
1483
+ slot: string;
1484
+ };
1485
+
1486
+ /**
1487
+ * Describes the message pinix.v2.RemoveBindingRequest.
1488
+ * Use `create(RemoveBindingRequestSchema)` to create a new message.
1489
+ */
1490
+ export const RemoveBindingRequestSchema: GenMessage<RemoveBindingRequest> = /*@__PURE__*/
1491
+ messageDesc(file_pinix_v2_hub, 49);
1492
+
1493
+ /**
1494
+ * @generated from message pinix.v2.RemoveBindingResponse
1495
+ */
1496
+ export type RemoveBindingResponse = Message<"pinix.v2.RemoveBindingResponse"> & {
1497
+ };
1498
+
1499
+ /**
1500
+ * Describes the message pinix.v2.RemoveBindingResponse.
1501
+ * Use `create(RemoveBindingResponseSchema)` to create a new message.
1502
+ */
1503
+ export const RemoveBindingResponseSchema: GenMessage<RemoveBindingResponse> = /*@__PURE__*/
1504
+ messageDesc(file_pinix_v2_hub, 50);
1327
1505
 
1328
1506
  /**
1329
1507
  * Hub 路由表中的 Clip 条目。
@@ -1445,6 +1623,30 @@ export const HubService: GenService<{
1445
1623
  input: typeof RemoveClipRequestSchema;
1446
1624
  output: typeof RemoveClipResponseSchema;
1447
1625
  },
1626
+ /**
1627
+ * @generated from rpc pinix.v2.HubService.GetBindings
1628
+ */
1629
+ getBindings: {
1630
+ methodKind: "unary";
1631
+ input: typeof GetBindingsRequestSchema;
1632
+ output: typeof GetBindingsResponseSchema;
1633
+ },
1634
+ /**
1635
+ * @generated from rpc pinix.v2.HubService.SetBinding
1636
+ */
1637
+ setBinding: {
1638
+ methodKind: "unary";
1639
+ input: typeof SetBindingRequestSchema;
1640
+ output: typeof SetBindingResponseSchema;
1641
+ },
1642
+ /**
1643
+ * @generated from rpc pinix.v2.HubService.RemoveBinding
1644
+ */
1645
+ removeBinding: {
1646
+ methodKind: "unary";
1647
+ input: typeof RemoveBindingRequestSchema;
1648
+ output: typeof RemoveBindingResponseSchema;
1649
+ },
1448
1650
  }> = /*@__PURE__*/
1449
1651
  serviceDesc(file_pinix_v2_hub, 0);
1450
1652
 
package/src/hub.ts CHANGED
@@ -1,15 +1,23 @@
1
- import { createClient } from "@connectrpc/connect";
1
+ import { createClient, type Interceptor } from "@connectrpc/connect";
2
2
  import { createConnectTransport } from "@connectrpc/connect-web";
3
3
  import { HubService, type ClipInfo } from "./gen/hub_pb";
4
4
 
5
- function getTransport(hubUrl?: string) {
5
+ function authInterceptor(token: string): Interceptor {
6
+ return (next) => (req) => {
7
+ req.header.set("Authorization", `Bearer ${token}`);
8
+ return next(req);
9
+ };
10
+ }
11
+
12
+ function getTransport(hubUrl?: string, authToken?: string) {
6
13
  return createConnectTransport({
7
14
  baseUrl: hubUrl ?? process.env.PINIX_URL ?? "http://127.0.0.1:9000",
15
+ interceptors: authToken ? [authInterceptor(authToken)] : [],
8
16
  });
9
17
  }
10
18
 
11
- function getClient(hubUrl?: string) {
12
- return createClient(HubService, getTransport(hubUrl));
19
+ function getClient(hubUrl?: string, authToken?: string) {
20
+ return createClient(HubService, getTransport(hubUrl, authToken));
13
21
  }
14
22
 
15
23
  const encoder = new TextEncoder();
@@ -25,8 +33,9 @@ export async function hubInvoke(
25
33
  input: unknown,
26
34
  clipToken?: string,
27
35
  hubUrl?: string,
36
+ authToken?: string,
28
37
  ): Promise<unknown> {
29
- const client = getClient(hubUrl);
38
+ const client = getClient(hubUrl, authToken);
30
39
  const inputBytes = encoder.encode(JSON.stringify(input));
31
40
 
32
41
  let outputBytes = new Uint8Array(0);
@@ -61,8 +70,8 @@ export async function hubInvoke(
61
70
  /**
62
71
  * List all clips registered on the Hub.
63
72
  */
64
- export async function hubListClips(hubUrl?: string): Promise<ClipInfo[]> {
65
- const client = getClient(hubUrl);
73
+ export async function hubListClips(hubUrl?: string, authToken?: string): Promise<ClipInfo[]> {
74
+ const client = getClient(hubUrl, authToken);
66
75
  const response = await client.listClips({});
67
76
  return response.clips;
68
77
  }