@valon-technologies/gestalt 0.0.1-alpha.35 → 0.0.1-alpha.37
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 +1 -1
- package/src/agent-access.ts +2 -5
- package/src/agent-conversions.ts +29 -2
- package/src/agent.ts +90 -26
- package/src/api.ts +45 -1
- package/src/app-access.ts +5 -2
- package/src/authorization.ts +258 -0
- package/src/index.ts +1 -1
- package/src/internal/gen/v1/agent_pb.ts +77 -2
- package/src/internal/gen/v1/app_pb.ts +184 -23
- package/src/internal/gen/v1/runtime_pb.ts +6 -1
- package/src/internal/gen/v1/test_pb.ts +66 -0
- package/src/internal/gen/v1/workflow_pb.ts +77 -2
- package/src/invocation-context.ts +20 -7
- package/src/runtime.ts +50 -24
- package/src/workflow-access.ts +26 -43
- package/src/workflow.ts +94 -14
|
@@ -8,7 +8,7 @@ import type { EmptySchema, Timestamp, Value } from "@bufbuild/protobuf/wkt";
|
|
|
8
8
|
import { file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
9
9
|
import type { AgentOutput } from "./agent_pb";
|
|
10
10
|
import { file_v1_agent } from "./agent_pb";
|
|
11
|
-
import type { AgentToolRef, SubjectContext } from "./app_pb";
|
|
11
|
+
import type { AgentToolRef, RequestContext, SubjectContext } from "./app_pb";
|
|
12
12
|
import { file_v1_app } from "./app_pb";
|
|
13
13
|
import type { JsonObject, Message } from "@bufbuild/protobuf";
|
|
14
14
|
|
|
@@ -16,7 +16,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
|
|
|
16
16
|
* Describes the file v1/workflow.proto.
|
|
17
17
|
*/
|
|
18
18
|
export const file_v1_workflow: GenFile = /*@__PURE__*/
|
|
19
|
-
fileDesc("ChF2MS93b3JrZmxvdy5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSJNChNCb3VuZFdvcmtmbG93VGFyZ2V0EjAKBXN0ZXBzGAggAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBKBAgBEAgivQMKDFdvcmtmbG93U3RlcBIKCgJpZBgBIAEoCRI9CgZpbnB1dHMYAiADKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U3RlcC5JbnB1dHNFbnRyeRIzCgR3aGVuGAMgASgLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBXaGVuEhcKD3RpbWVvdXRfc2Vjb25kcxgEIAEoBRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNwoDYXBwGAogASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBBcHBDYWxsSAASOwoFYWdlbnQYCyABKAsyKi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U3RlcEFnZW50VHVybkgAGlEKC0lucHV0c0VudHJ5EgsKA2tleRgBIAEoCRIxCgV2YWx1ZRgCIAEoCzIiLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dWYWx1ZToCOAFCCAoGYWN0aW9uSgQIBRAGSgQIBxAISgQICBAJSgQICRAKIqgBChNXb3JrZmxvd1N0ZXBBcHBDYWxsEgwKBG5hbWUYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEjEKBWlucHV0GAMgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1ZhbHVlEhIKCmNvbm5lY3Rpb24YBCABKAkSEAoIaW5zdGFuY2UYBSABKAkSFwoPY3JlZGVudGlhbF9tb2RlGAYgASgJItECChVXb3JrZmxvd1N0ZXBBZ2VudFR1cm4SEAoIcHJvdmlkZXIYASABKAkSDQoFbW9kZWwYAiABKAkSEwoLc2Vzc2lvbl9rZXkYAyABKAkSMQoGcHJvbXB0GAQgASgLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1RleHQSOwoIbWVzc2FnZXMYBSADKAsyKS5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93QWdlbnRNZXNzYWdlEjAKBXRvb2xzGAYgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYSMAoGb3V0cHV0GAcgASgLMiAuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE91dHB1dBIuCg1tb2RlbF9vcHRpb25zGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKAAQoUV29ya2Zsb3dBZ2VudE1lc3NhZ2USDAoEcm9sZRgBIAEoCRIvCgR0ZXh0GAIgASgLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1RleHQSKQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IiAKDFdvcmtmbG93VGV4dBIQCgh0ZW1wbGF0ZRgBIAEoCSJtChBXb3JrZmxvd1N0ZXBXaGVuEjEKBXZhbHVlGAEgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1ZhbHVlEiYKBmVxdWFscxgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSL8AwoNV29ya2Zsb3dWYWx1ZRIpCgdsaXRlcmFsGAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAASNQoGb2JqZWN0GAIgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd09iamVjdEgAEjMKBWFycmF5GAMgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0FycmF5SAASNQoIdGVtcGxhdGUYBCABKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93VGV4dEgAEjgKBWlucHV0GAUgASgLMicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1BhdGhTb3VyY2VIABI5CgZzaWduYWwYBiABKAsyJy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UGF0aFNvdXJjZUgAEkQKC3N0ZXBfb3V0cHV0GAkgASgLMi0uZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBPdXRwdXRTb3VyY2VIABJCCgpzdGVwX2lucHV0GAwgASgLMiwuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBJbnB1dFNvdXJjZUgAQgYKBGtpbmRKBAgHEAhKBAgIEAlKBAgKEAtKBAgLEAwipAEKDldvcmtmbG93T2JqZWN0Ej8KBmZpZWxkcxgBIAMoCzIvLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dPYmplY3QuRmllbGRzRW50cnkaUQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEjEKBXZhbHVlGAIgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1ZhbHVlOgI4ASJDCg1Xb3JrZmxvd0FycmF5EjIKBnZhbHVlcxgBIAMoCzIiLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dWYWx1ZSIiChJXb3JrZmxvd1BhdGhTb3VyY2USDAoEcGF0aBgBIAEoCSI5ChhXb3JrZmxvd1N0ZXBPdXRwdXRTb3VyY2USDwoHc3RlcF9pZBgBIAEoCRIMCgRwYXRoGAIgASgJIjgKF1dvcmtmbG93U3RlcElucHV0U291cmNlEg8KB3N0ZXBfaWQYASABKAkSDAoEcGF0aBgCIAEoCSLdAgoNV29ya2Zsb3dFdmVudBIKCgJpZBgBIAEoCRIOCgZzb3VyY2UYAiABKAkSFAoMc3BlY192ZXJzaW9uGAMgASgJEgwKBHR5cGUYBCABKAkSDwoHc3ViamVjdBgFIAEoCRIoCgR0aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9kYXRhY29udGVudHR5cGUYByABKAkSJQoEZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSRgoKZXh0ZW5zaW9ucxgJIAMoCzIyLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dFdmVudC5FeHRlbnNpb25zRW50cnkaSQoPRXh0ZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEiQwoSV29ya2Zsb3dFdmVudE1hdGNoEgwKBHR5cGUYASABKAkSDgoGc291cmNlGAIgASgJEg8KB3N1YmplY3QYAyABKAkiPAoaV29ya2Zsb3dTY2hlZHVsZUFjdGl2YXRpb24SDAoEY3JvbhgBIAEoCRIQCgh0aW1lem9uZRgCIAEoCSJRChdXb3JrZmxvd0V2ZW50QWN0aXZhdGlvbhI2CgVtYXRjaBgBIAEoCzInLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dFdmVudE1hdGNoIvIBChJXb3JrZmxvd0FjdGl2YXRpb24SCgoCaWQYASABKAkSMQoFaW5wdXQYAiABKAsyIi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93VmFsdWUSDgoGcGF1c2VkGAMgASgIEkMKCHNjaGVkdWxlGAQgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1NjaGVkdWxlQWN0aXZhdGlvbkgAEj0KBWV2ZW50GAUgASgLMiwuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0V2ZW50QWN0aXZhdGlvbkgAQgkKB3RyaWdnZXIi4QEKFldvcmtmbG93RGVmaW5pdGlvblNwZWMSCgoCaWQYASABKAkSOAoGdGFyZ2V0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5Cb3VuZFdvcmtmbG93VGFyZ2V0EjwKC2FjdGl2YXRpb25zGAMgAygLMicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0FjdGl2YXRpb24SDgoGcGF1c2VkGAQgASgIEjMKBnJ1bl9hcxgFIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuU3ViamVjdENvbnRleHQihwMKEldvcmtmbG93RGVmaW5pdGlvbhIKCgJpZBgBIAEoCRISCgpnZW5lcmF0aW9uGAIgASgDEjgKBnRhcmdldBgDIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQm91bmRXb3JrZmxvd1RhcmdldBI8CgthY3RpdmF0aW9ucxgEIAMoCzInLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dBY3RpdmF0aW9uEg4KBnBhdXNlZBgFIAEoCBIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNcHJvdmlkZXJfbmFtZRgJIAEoCRIzCgZydW5fYXMYCiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0IhcKFVdvcmtmbG93TWFudWFsVHJpZ2dlciJjChdXb3JrZmxvd1NjaGVkdWxlVHJpZ2dlchIVCg1hY3RpdmF0aW9uX2lkGAEgASgJEjEKDXNjaGVkdWxlZF9mb3IYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImoKHldvcmtmbG93RXZlbnRUcmlnZ2VySW52b2NhdGlvbhIVCg1hY3RpdmF0aW9uX2lkGAEgASgJEjEKBWV2ZW50GAIgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0V2ZW50IuIBChJXb3JrZmxvd1J1blRyaWdnZXISPAoGbWFudWFsGAEgASgLMiouZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd01hbnVhbFRyaWdnZXJIABJACghzY2hlZHVsZRgCIAEoCzIsLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dTY2hlZHVsZVRyaWdnZXJIABJECgVldmVudBgDIAEoCzIzLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dFdmVudFRyaWdnZXJJbnZvY2F0aW9uSABCBgoEa2luZCK8AgoTV29ya2Zsb3dTdGVwQXR0ZW1wdBIKCgJpZBgBIAEoCRI3CgZzdGF0dXMYAiABKA4yJy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U3RlcFN0YXR1cxIXCg9pZGVtcG90ZW5jeV9rZXkYAyABKAkSJQoFaW5wdXQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJgoGb3V0cHV0GAUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhYKDnN0YXR1c19tZXNzYWdlGAYgASgJEi4KCnN0YXJ0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi+wIKFVdvcmtmbG93U3RlcEV4ZWN1dGlvbhIPCgdzdGVwX2lkGAEgASgJEjcKBnN0YXR1cxgCIAEoDjInLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dTdGVwU3RhdHVzEjoKCGF0dGVtcHRzGAMgAygLMiguZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBBdHRlbXB0EiUKBWlucHV0GAQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiYKBm91dHB1dBgFIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIWCg5zdGF0dXNfbWVzc2FnZRgGIAEoCRITCgtza2lwX3JlYXNvbhgHIAEoCRIuCgpzdGFydGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsoFCgtXb3JrZmxvd1J1bhIKCgJpZBgBIAEoCRI2CgZzdGF0dXMYAiABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UnVuU3RhdHVzEjgKBnRhcmdldBgDIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQm91bmRXb3JrZmxvd1RhcmdldBI4Cgd0cmlnZ2VyGAQgASgLMicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1J1blRyaWdnZXISLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5zdGF0dXNfbWVzc2FnZRgIIAEoCRImCgZvdXRwdXQYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSHQoVY3JlYXRlZF9ieV9zdWJqZWN0X2lkGAogASgJEhQKDHdvcmtmbG93X2tleRgMIAEoCRIVCg1wcm92aWRlcl9uYW1lGA0gASgJEhUKDWRlZmluaXRpb25faWQYDiABKAkSMwoGcnVuX2FzGA8gASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBImCgVpbnB1dBgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHQoVZGVmaW5pdGlvbl9nZW5lcmF0aW9uGBEgASgDEhcKD2N1cnJlbnRfc3RlcF9pZBgSIAEoCRI5CgVzdGVwcxgTIAMoCzIqLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dTdGVwRXhlY3V0aW9uIvkBCg5Xb3JrZmxvd1NpZ25hbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEigKB3BheWxvYWQYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYBSABKAkSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPaWRlbXBvdGVuY3lfa2V5GAcgASgJEhAKCHNlcXVlbmNlGAggASgDIs4BCiZBcHBseVdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUmVxdWVzdBIVCg1wcm92aWRlcl9uYW1lGAEgASgJEjkKBHNwZWMYAiABKAsyKy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93RGVmaW5pdGlvblNwZWMSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYBCABKAkSHwoXcmVxdWVzdGVkX2J5X3N1YmplY3RfaWQYBSABKAkiVwokR2V0V29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25SZXF1ZXN0EhUKDWRlZmluaXRpb25faWQYASABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgCIAEoCSJCCiZMaXN0V29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25zUmVxdWVzdBIYChBpbnZvY2F0aW9uX3Rva2VuGAEgASgJImcKJ0xpc3RXb3JrZmxvd1Byb3ZpZGVyRGVmaW5pdGlvbnNSZXNwb25zZRI8CgtkZWZpbml0aW9ucxgBIAMoCzInLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dEZWZpbml0aW9uIo4BCipTZXRXb3JrZmxvd1Byb3ZpZGVyRGVmaW5pdGlvblBhdXNlZFJlcXVlc3QSFQoNZGVmaW5pdGlvbl9pZBgBIAEoCRIOCgZwYXVzZWQYAiABKAgSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCRIfChdyZXF1ZXN0ZWRfYnlfc3ViamVjdF9pZBgEIAEoCSKlAQoqU2V0V29ya2Zsb3dQcm92aWRlckFjdGl2YXRpb25QYXVzZWRSZXF1ZXN0EhUKDWRlZmluaXRpb25faWQYASABKAkSFQoNYWN0aXZhdGlvbl9pZBgCIAEoCRIOCgZwYXVzZWQYAyABKAgSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCRIfChdyZXF1ZXN0ZWRfYnlfc3ViamVjdF9pZBgFIAEoCSJaCidEZWxldGVXb3JrZmxvd1Byb3ZpZGVyRGVmaW5pdGlvblJlcXVlc3QSFQoNZGVmaW5pdGlvbl9pZBgBIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAIgASgJIsICCh9TdGFydFdvcmtmbG93UHJvdmlkZXJSdW5SZXF1ZXN0EhcKD2lkZW1wb3RlbmN5X2tleRgCIAEoCRIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYBCABKAkSFAoMd29ya2Zsb3dfa2V5GAYgASgJEhUKDXByb3ZpZGVyX25hbWUYByABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgIIAEoCRIVCg1kZWZpbml0aW9uX2lkGAkgASgJEjMKBnJ1bl9hcxgKIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuU3ViamVjdENvbnRleHQSJgoFaW5wdXQYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKHmV4cGVjdGVkX2RlZmluaXRpb25fZ2VuZXJhdGlvbhgMIAEoA0oECAEQAiJJCh1HZXRXb3JrZmxvd1Byb3ZpZGVyUnVuUmVxdWVzdBIOCgZydW5faWQYAiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCSKuAQofTGlzdFdvcmtmbG93UHJvdmlkZXJSdW5zUmVxdWVzdBIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCRI2CgZzdGF0dXMYAyABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UnVuU3RhdHVzEhgKEGludm9jYXRpb25fdG9rZW4YBCABKAkSEgoKdGFyZ2V0X2FwcBgFIAEoCSJrCiBMaXN0V29ya2Zsb3dQcm92aWRlclJ1bnNSZXNwb25zZRIuCgRydW5zGAEgAygLMiAuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1J1bhIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiXAogQ2FuY2VsV29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QSDgoGcnVuX2lkGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAQgASgJIoEBCiBTaWduYWxXb3JrZmxvd1Byb3ZpZGVyUnVuUmVxdWVzdBIOCgZydW5faWQYASABKAkSMwoGc2lnbmFsGAIgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1NpZ25hbBIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJIv8CCidTaWduYWxPclN0YXJ0V29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QSFAoMd29ya2Zsb3dfa2V5GAEgASgJEhcKD2lkZW1wb3RlbmN5X2tleRgDIAEoCRIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYBCABKAkSMwoGc2lnbmFsGAYgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1NpZ25hbBIVCg1wcm92aWRlcl9uYW1lGAcgASgJEhgKEGludm9jYXRpb25fdG9rZW4YCCABKAkSFQoNZGVmaW5pdGlvbl9pZBgJIAEoCRIzCgZydW5fYXMYCiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EiYKBWlucHV0GAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCh5leHBlY3RlZF9kZWZpbml0aW9uX2dlbmVyYXRpb24YDCABKANKBAgCEAMiqgEKGVNpZ25hbFdvcmtmbG93UnVuUmVzcG9uc2USLQoDcnVuGAEgASgLMiAuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1J1bhIzCgZzaWduYWwYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U2lnbmFsEhMKC3N0YXJ0ZWRfcnVuGAMgASgIEhQKDHdvcmtmbG93X2tleRgEIAEoCSK8AQojRGVsaXZlcldvcmtmbG93UHJvdmlkZXJFdmVudFJlcXVlc3QSEAoIYXBwX25hbWUYASABKAkSMQoFZXZlbnQYAiABKAsyIi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93RXZlbnQSHwoXZGVsaXZlcmVkX2J5X3N1YmplY3RfaWQYAyABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCRIVCg1wcm92aWRlcl9uYW1lGAUgASgJIqQBChBXb3JrZmxvd1J1bkV2ZW50EgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIPCgdzdGVwX2lkGAMgASgJEgwKBHR5cGUYBCABKAkSJQoEZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiTwojR2V0V29ya2Zsb3dQcm92aWRlclJ1bkV2ZW50c1JlcXVlc3QSDgoGcnVuX2lkGAEgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAiABKAkiXQokR2V0V29ya2Zsb3dQcm92aWRlclJ1bkV2ZW50c1Jlc3BvbnNlEjUKBmV2ZW50cxgBIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dSdW5FdmVudCJPCiNHZXRXb3JrZmxvd1Byb3ZpZGVyUnVuT3V0cHV0UmVxdWVzdBIOCgZydW5faWQYASABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgCIAEoCSJOCiRHZXRXb3JrZmxvd1Byb3ZpZGVyUnVuT3V0cHV0UmVzcG9uc2USJgoGb3V0cHV0GAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlKt8BChFXb3JrZmxvd1J1blN0YXR1cxIjCh9XT1JLRkxPV19SVU5fU1RBVFVTX1VOU1BFQ0lGSUVEEAASHwobV09SS0ZMT1dfUlVOX1NUQVRVU19QRU5ESU5HEAESHwobV09SS0ZMT1dfUlVOX1NUQVRVU19SVU5OSU5HEAISIQodV09SS0ZMT1dfUlVOX1NUQVRVU19TVUNDRUVERUQQAxIeChpXT1JLRkxPV19SVU5fU1RBVFVTX0ZBSUxFRBAEEiAKHFdPUktGTE9XX1JVTl9TVEFUVVNfQ0FOQ0VMRUQQBSqHAgoSV29ya2Zsb3dTdGVwU3RhdHVzEiQKIFdPUktGTE9XX1NURVBfU1RBVFVTX1VOU1BFQ0lGSUVEEAASIAocV09SS0ZMT1dfU1RFUF9TVEFUVVNfUEVORElORxABEiAKHFdPUktGTE9XX1NURVBfU1RBVFVTX1JVTk5JTkcQAhIgChxXT1JLRkxPV19TVEVQX1NUQVRVU19TS0lQUEVEEAMSIgoeV09SS0ZMT1dfU1RFUF9TVEFUVVNfU1VDQ0VFREVEEAQSHwobV09SS0ZMT1dfU1RFUF9TVEFUVVNfRkFJTEVEEAUSIAocV09SS0ZMT1dfU1RFUF9TVEFUVVNfVU5LTk9XThAGMo8OChBXb3JrZmxvd1Byb3ZpZGVyEncKD0FwcGx5RGVmaW5pdGlvbhI7Lmdlc3RhbHQucHJvdmlkZXIudjEuQXBwbHlXb3JrZmxvd1Byb3ZpZGVyRGVmaW5pdGlvblJlcXVlc3QaJy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93RGVmaW5pdGlvbhJzCg1HZXREZWZpbml0aW9uEjkuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRXb3JrZmxvd1Byb3ZpZGVyRGVmaW5pdGlvblJlcXVlc3QaJy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93RGVmaW5pdGlvbhKMAQoPTGlzdERlZmluaXRpb25zEjsuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0V29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25zUmVxdWVzdBo8Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdFdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uc1Jlc3BvbnNlEn8KE1NldERlZmluaXRpb25QYXVzZWQSPy5nZXN0YWx0LnByb3ZpZGVyLnYxLlNldFdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUGF1c2VkUmVxdWVzdBonLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dEZWZpbml0aW9uEn8KE1NldEFjdGl2YXRpb25QYXVzZWQSPy5nZXN0YWx0LnByb3ZpZGVyLnYxLlNldFdvcmtmbG93UHJvdmlkZXJBY3RpdmF0aW9uUGF1c2VkUmVxdWVzdBonLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dEZWZpbml0aW9uEmgKEERlbGV0ZURlZmluaXRpb24SPC5nZXN0YWx0LnByb3ZpZGVyLnYxLkRlbGV0ZVdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJiCghTdGFydFJ1bhI0Lmdlc3RhbHQucHJvdmlkZXIudjEuU3RhcnRXb3JrZmxvd1Byb3ZpZGVyUnVuUmVxdWVzdBogLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dSdW4SdwoITGlzdFJ1bnMSNC5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RXb3JrZmxvd1Byb3ZpZGVyUnVuc1JlcXVlc3QaNS5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RXb3JrZmxvd1Byb3ZpZGVyUnVuc1Jlc3BvbnNlEl4KBkdldFJ1bhIyLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0V29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QaIC5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UnVuEoMBCgxHZXRSdW5FdmVudHMSOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldFdvcmtmbG93UHJvdmlkZXJSdW5FdmVudHNSZXF1ZXN0GjkuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRXb3JrZmxvd1Byb3ZpZGVyUnVuRXZlbnRzUmVzcG9uc2USgwEKDEdldFJ1bk91dHB1dBI4Lmdlc3RhbHQucHJvdmlkZXIudjEuR2V0V29ya2Zsb3dQcm92aWRlclJ1bk91dHB1dFJlcXVlc3QaOS5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldFdvcmtmbG93UHJvdmlkZXJSdW5PdXRwdXRSZXNwb25zZRJkCglDYW5jZWxSdW4SNS5nZXN0YWx0LnByb3ZpZGVyLnYxLkNhbmNlbFdvcmtmbG93UHJvdmlkZXJSdW5SZXF1ZXN0GiAuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1J1bhJyCglTaWduYWxSdW4SNS5nZXN0YWx0LnByb3ZpZGVyLnYxLlNpZ25hbFdvcmtmbG93UHJvdmlkZXJSdW5SZXF1ZXN0Gi4uZ2VzdGFsdC5wcm92aWRlci52MS5TaWduYWxXb3JrZmxvd1J1blJlc3BvbnNlEoABChBTaWduYWxPclN0YXJ0UnVuEjwuZ2VzdGFsdC5wcm92aWRlci52MS5TaWduYWxPclN0YXJ0V29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QaLi5nZXN0YWx0LnByb3ZpZGVyLnYxLlNpZ25hbFdvcmtmbG93UnVuUmVzcG9uc2USbAoMRGVsaXZlckV2ZW50EjguZ2VzdGFsdC5wcm92aWRlci52MS5EZWxpdmVyV29ya2Zsb3dQcm92aWRlckV2ZW50UmVxdWVzdBoiLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dFdmVudGIGcHJvdG8z", [file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_agent, file_v1_app]);
|
|
19
|
+
fileDesc("ChF2MS93b3JrZmxvdy5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSJNChNCb3VuZFdvcmtmbG93VGFyZ2V0EjAKBXN0ZXBzGAggAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBKBAgBEAgivQMKDFdvcmtmbG93U3RlcBIKCgJpZBgBIAEoCRI9CgZpbnB1dHMYAiADKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U3RlcC5JbnB1dHNFbnRyeRIzCgR3aGVuGAMgASgLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBXaGVuEhcKD3RpbWVvdXRfc2Vjb25kcxgEIAEoBRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSNwoDYXBwGAogASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBBcHBDYWxsSAASOwoFYWdlbnQYCyABKAsyKi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U3RlcEFnZW50VHVybkgAGlEKC0lucHV0c0VudHJ5EgsKA2tleRgBIAEoCRIxCgV2YWx1ZRgCIAEoCzIiLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dWYWx1ZToCOAFCCAoGYWN0aW9uSgQIBRAGSgQIBxAISgQICBAJSgQICRAKIqgBChNXb3JrZmxvd1N0ZXBBcHBDYWxsEgwKBG5hbWUYASABKAkSEQoJb3BlcmF0aW9uGAIgASgJEjEKBWlucHV0GAMgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1ZhbHVlEhIKCmNvbm5lY3Rpb24YBCABKAkSEAoIaW5zdGFuY2UYBSABKAkSFwoPY3JlZGVudGlhbF9tb2RlGAYgASgJItECChVXb3JrZmxvd1N0ZXBBZ2VudFR1cm4SEAoIcHJvdmlkZXIYASABKAkSDQoFbW9kZWwYAiABKAkSEwoLc2Vzc2lvbl9rZXkYAyABKAkSMQoGcHJvbXB0GAQgASgLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1RleHQSOwoIbWVzc2FnZXMYBSADKAsyKS5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93QWdlbnRNZXNzYWdlEjAKBXRvb2xzGAYgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYSMAoGb3V0cHV0GAcgASgLMiAuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE91dHB1dBIuCg1tb2RlbF9vcHRpb25zGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKAAQoUV29ya2Zsb3dBZ2VudE1lc3NhZ2USDAoEcm9sZRgBIAEoCRIvCgR0ZXh0GAIgASgLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1RleHQSKQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IiAKDFdvcmtmbG93VGV4dBIQCgh0ZW1wbGF0ZRgBIAEoCSJtChBXb3JrZmxvd1N0ZXBXaGVuEjEKBXZhbHVlGAEgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1ZhbHVlEiYKBmVxdWFscxgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSL8AwoNV29ya2Zsb3dWYWx1ZRIpCgdsaXRlcmFsGAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAASNQoGb2JqZWN0GAIgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd09iamVjdEgAEjMKBWFycmF5GAMgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0FycmF5SAASNQoIdGVtcGxhdGUYBCABKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93VGV4dEgAEjgKBWlucHV0GAUgASgLMicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1BhdGhTb3VyY2VIABI5CgZzaWduYWwYBiABKAsyJy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UGF0aFNvdXJjZUgAEkQKC3N0ZXBfb3V0cHV0GAkgASgLMi0uZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBPdXRwdXRTb3VyY2VIABJCCgpzdGVwX2lucHV0GAwgASgLMiwuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBJbnB1dFNvdXJjZUgAQgYKBGtpbmRKBAgHEAhKBAgIEAlKBAgKEAtKBAgLEAwipAEKDldvcmtmbG93T2JqZWN0Ej8KBmZpZWxkcxgBIAMoCzIvLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dPYmplY3QuRmllbGRzRW50cnkaUQoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEjEKBXZhbHVlGAIgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1ZhbHVlOgI4ASJDCg1Xb3JrZmxvd0FycmF5EjIKBnZhbHVlcxgBIAMoCzIiLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dWYWx1ZSIiChJXb3JrZmxvd1BhdGhTb3VyY2USDAoEcGF0aBgBIAEoCSI5ChhXb3JrZmxvd1N0ZXBPdXRwdXRTb3VyY2USDwoHc3RlcF9pZBgBIAEoCRIMCgRwYXRoGAIgASgJIjgKF1dvcmtmbG93U3RlcElucHV0U291cmNlEg8KB3N0ZXBfaWQYASABKAkSDAoEcGF0aBgCIAEoCSLdAgoNV29ya2Zsb3dFdmVudBIKCgJpZBgBIAEoCRIOCgZzb3VyY2UYAiABKAkSFAoMc3BlY192ZXJzaW9uGAMgASgJEgwKBHR5cGUYBCABKAkSDwoHc3ViamVjdBgFIAEoCRIoCgR0aW1lGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9kYXRhY29udGVudHR5cGUYByABKAkSJQoEZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSRgoKZXh0ZW5zaW9ucxgJIAMoCzIyLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dFdmVudC5FeHRlbnNpb25zRW50cnkaSQoPRXh0ZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEiQwoSV29ya2Zsb3dFdmVudE1hdGNoEgwKBHR5cGUYASABKAkSDgoGc291cmNlGAIgASgJEg8KB3N1YmplY3QYAyABKAkiPAoaV29ya2Zsb3dTY2hlZHVsZUFjdGl2YXRpb24SDAoEY3JvbhgBIAEoCRIQCgh0aW1lem9uZRgCIAEoCSJRChdXb3JrZmxvd0V2ZW50QWN0aXZhdGlvbhI2CgVtYXRjaBgBIAEoCzInLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dFdmVudE1hdGNoIvIBChJXb3JrZmxvd0FjdGl2YXRpb24SCgoCaWQYASABKAkSMQoFaW5wdXQYAiABKAsyIi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93VmFsdWUSDgoGcGF1c2VkGAMgASgIEkMKCHNjaGVkdWxlGAQgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1NjaGVkdWxlQWN0aXZhdGlvbkgAEj0KBWV2ZW50GAUgASgLMiwuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0V2ZW50QWN0aXZhdGlvbkgAQgkKB3RyaWdnZXIi4QEKFldvcmtmbG93RGVmaW5pdGlvblNwZWMSCgoCaWQYASABKAkSOAoGdGFyZ2V0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5Cb3VuZFdvcmtmbG93VGFyZ2V0EjwKC2FjdGl2YXRpb25zGAMgAygLMicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0FjdGl2YXRpb24SDgoGcGF1c2VkGAQgASgIEjMKBnJ1bl9hcxgFIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuU3ViamVjdENvbnRleHQihwMKEldvcmtmbG93RGVmaW5pdGlvbhIKCgJpZBgBIAEoCRISCgpnZW5lcmF0aW9uGAIgASgDEjgKBnRhcmdldBgDIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQm91bmRXb3JrZmxvd1RhcmdldBI8CgthY3RpdmF0aW9ucxgEIAMoCzInLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dBY3RpdmF0aW9uEg4KBnBhdXNlZBgFIAEoCBIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYBiABKAkSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNcHJvdmlkZXJfbmFtZRgJIAEoCRIzCgZydW5fYXMYCiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0IhcKFVdvcmtmbG93TWFudWFsVHJpZ2dlciJjChdXb3JrZmxvd1NjaGVkdWxlVHJpZ2dlchIVCg1hY3RpdmF0aW9uX2lkGAEgASgJEjEKDXNjaGVkdWxlZF9mb3IYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImoKHldvcmtmbG93RXZlbnRUcmlnZ2VySW52b2NhdGlvbhIVCg1hY3RpdmF0aW9uX2lkGAEgASgJEjEKBWV2ZW50GAIgASgLMiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0V2ZW50IuIBChJXb3JrZmxvd1J1blRyaWdnZXISPAoGbWFudWFsGAEgASgLMiouZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd01hbnVhbFRyaWdnZXJIABJACghzY2hlZHVsZRgCIAEoCzIsLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dTY2hlZHVsZVRyaWdnZXJIABJECgVldmVudBgDIAEoCzIzLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dFdmVudFRyaWdnZXJJbnZvY2F0aW9uSABCBgoEa2luZCK8AgoTV29ya2Zsb3dTdGVwQXR0ZW1wdBIKCgJpZBgBIAEoCRI3CgZzdGF0dXMYAiABKA4yJy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U3RlcFN0YXR1cxIXCg9pZGVtcG90ZW5jeV9rZXkYAyABKAkSJQoFaW5wdXQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJgoGb3V0cHV0GAUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEhYKDnN0YXR1c19tZXNzYWdlGAYgASgJEi4KCnN0YXJ0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi+wIKFVdvcmtmbG93U3RlcEV4ZWN1dGlvbhIPCgdzdGVwX2lkGAEgASgJEjcKBnN0YXR1cxgCIAEoDjInLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dTdGVwU3RhdHVzEjoKCGF0dGVtcHRzGAMgAygLMiguZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1N0ZXBBdHRlbXB0EiUKBWlucHV0GAQgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiYKBm91dHB1dBgFIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIWCg5zdGF0dXNfbWVzc2FnZRgGIAEoCRITCgtza2lwX3JlYXNvbhgHIAEoCRIuCgpzdGFydGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsoFCgtXb3JrZmxvd1J1bhIKCgJpZBgBIAEoCRI2CgZzdGF0dXMYAiABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UnVuU3RhdHVzEjgKBnRhcmdldBgDIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQm91bmRXb3JrZmxvd1RhcmdldBI4Cgd0cmlnZ2VyGAQgASgLMicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1J1blRyaWdnZXISLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5zdGF0dXNfbWVzc2FnZRgIIAEoCRImCgZvdXRwdXQYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSHQoVY3JlYXRlZF9ieV9zdWJqZWN0X2lkGAogASgJEhQKDHdvcmtmbG93X2tleRgMIAEoCRIVCg1wcm92aWRlcl9uYW1lGA0gASgJEhUKDWRlZmluaXRpb25faWQYDiABKAkSMwoGcnVuX2FzGA8gASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBImCgVpbnB1dBgQIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSHQoVZGVmaW5pdGlvbl9nZW5lcmF0aW9uGBEgASgDEhcKD2N1cnJlbnRfc3RlcF9pZBgSIAEoCRI5CgVzdGVwcxgTIAMoCzIqLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dTdGVwRXhlY3V0aW9uIvkBCg5Xb3JrZmxvd1NpZ25hbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEigKB3BheWxvYWQYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYBSABKAkSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPaWRlbXBvdGVuY3lfa2V5GAcgASgJEhAKCHNlcXVlbmNlGAggASgDIoQCCiZBcHBseVdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUmVxdWVzdBIVCg1wcm92aWRlcl9uYW1lGAEgASgJEjkKBHNwZWMYAiABKAsyKy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93RGVmaW5pdGlvblNwZWMSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYBCABKAkSHwoXcmVxdWVzdGVkX2J5X3N1YmplY3RfaWQYBSABKAkSNAoHY29udGV4dBgGIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQijQEKJEdldFdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUmVxdWVzdBIVCg1kZWZpbml0aW9uX2lkGAEgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAiABKAkSNAoHY29udGV4dBgDIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQieAomTGlzdFdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uc1JlcXVlc3QSGAoQaW52b2NhdGlvbl90b2tlbhgBIAEoCRI0Cgdjb250ZXh0GAIgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5SZXF1ZXN0Q29udGV4dCJnCidMaXN0V29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25zUmVzcG9uc2USPAoLZGVmaW5pdGlvbnMYASADKAsyJy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93RGVmaW5pdGlvbiLEAQoqU2V0V29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25QYXVzZWRSZXF1ZXN0EhUKDWRlZmluaXRpb25faWQYASABKAkSDgoGcGF1c2VkGAIgASgIEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSHwoXcmVxdWVzdGVkX2J5X3N1YmplY3RfaWQYBCABKAkSNAoHY29udGV4dBgFIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQi2wEKKlNldFdvcmtmbG93UHJvdmlkZXJBY3RpdmF0aW9uUGF1c2VkUmVxdWVzdBIVCg1kZWZpbml0aW9uX2lkGAEgASgJEhUKDWFjdGl2YXRpb25faWQYAiABKAkSDgoGcGF1c2VkGAMgASgIEhgKEGludm9jYXRpb25fdG9rZW4YBCABKAkSHwoXcmVxdWVzdGVkX2J5X3N1YmplY3RfaWQYBSABKAkSNAoHY29udGV4dBgGIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQikAEKJ0RlbGV0ZVdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUmVxdWVzdBIVCg1kZWZpbml0aW9uX2lkGAEgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAiABKAkSNAoHY29udGV4dBgDIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHQi+AIKH1N0YXJ0V29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QSFwoPaWRlbXBvdGVuY3lfa2V5GAIgASgJEh0KFWNyZWF0ZWRfYnlfc3ViamVjdF9pZBgEIAEoCRIUCgx3b3JrZmxvd19rZXkYBiABKAkSFQoNcHJvdmlkZXJfbmFtZRgHIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAggASgJEhUKDWRlZmluaXRpb25faWQYCSABKAkSMwoGcnVuX2FzGAogASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5TdWJqZWN0Q29udGV4dBImCgVpbnB1dBgLIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJgoeZXhwZWN0ZWRfZGVmaW5pdGlvbl9nZW5lcmF0aW9uGAwgASgDEjQKB2NvbnRleHQYDSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0SgQIARACIn8KHUdldFdvcmtmbG93UHJvdmlkZXJSdW5SZXF1ZXN0Eg4KBnJ1bl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJEjQKB2NvbnRleHQYBCABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0IuQBCh9MaXN0V29ya2Zsb3dQcm92aWRlclJ1bnNSZXF1ZXN0EhEKCXBhZ2Vfc2l6ZRgBIAEoBRISCgpwYWdlX3Rva2VuGAIgASgJEjYKBnN0YXR1cxgDIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dSdW5TdGF0dXMSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCRISCgp0YXJnZXRfYXBwGAUgASgJEjQKB2NvbnRleHQYBiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0ImsKIExpc3RXb3JrZmxvd1Byb3ZpZGVyUnVuc1Jlc3BvbnNlEi4KBHJ1bnMYASADKAsyIC5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UnVuEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKSAQogQ2FuY2VsV29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QSDgoGcnVuX2lkGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAQgASgJEjQKB2NvbnRleHQYBSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0IrcBCiBTaWduYWxXb3JrZmxvd1Byb3ZpZGVyUnVuUmVxdWVzdBIOCgZydW5faWQYASABKAkSMwoGc2lnbmFsGAIgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1NpZ25hbBIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJEjQKB2NvbnRleHQYBCABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0IrUDCidTaWduYWxPclN0YXJ0V29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QSFAoMd29ya2Zsb3dfa2V5GAEgASgJEhcKD2lkZW1wb3RlbmN5X2tleRgDIAEoCRIdChVjcmVhdGVkX2J5X3N1YmplY3RfaWQYBCABKAkSMwoGc2lnbmFsGAYgASgLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1NpZ25hbBIVCg1wcm92aWRlcl9uYW1lGAcgASgJEhgKEGludm9jYXRpb25fdG9rZW4YCCABKAkSFQoNZGVmaW5pdGlvbl9pZBgJIAEoCRIzCgZydW5fYXMYCiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlN1YmplY3RDb250ZXh0EiYKBWlucHV0GAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCh5leHBlY3RlZF9kZWZpbml0aW9uX2dlbmVyYXRpb24YDCABKAMSNAoHY29udGV4dBgNIAEoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuUmVxdWVzdENvbnRleHRKBAgCEAMiqgEKGVNpZ25hbFdvcmtmbG93UnVuUmVzcG9uc2USLQoDcnVuGAEgASgLMiAuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1J1bhIzCgZzaWduYWwYAiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93U2lnbmFsEhMKC3N0YXJ0ZWRfcnVuGAMgASgIEhQKDHdvcmtmbG93X2tleRgEIAEoCSLyAQojRGVsaXZlcldvcmtmbG93UHJvdmlkZXJFdmVudFJlcXVlc3QSEAoIYXBwX25hbWUYASABKAkSMQoFZXZlbnQYAiABKAsyIi5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93RXZlbnQSHwoXZGVsaXZlcmVkX2J5X3N1YmplY3RfaWQYAyABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCRIVCg1wcm92aWRlcl9uYW1lGAUgASgJEjQKB2NvbnRleHQYBiABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0IqQBChBXb3JrZmxvd1J1bkV2ZW50EgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIPCgdzdGVwX2lkGAMgASgJEgwKBHR5cGUYBCABKAkSJQoEZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihQEKI0dldFdvcmtmbG93UHJvdmlkZXJSdW5FdmVudHNSZXF1ZXN0Eg4KBnJ1bl9pZBgBIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAIgASgJEjQKB2NvbnRleHQYAyABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0Il0KJEdldFdvcmtmbG93UHJvdmlkZXJSdW5FdmVudHNSZXNwb25zZRI1CgZldmVudHMYASADKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UnVuRXZlbnQihQEKI0dldFdvcmtmbG93UHJvdmlkZXJSdW5PdXRwdXRSZXF1ZXN0Eg4KBnJ1bl9pZBgBIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAIgASgJEjQKB2NvbnRleHQYAyABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlcXVlc3RDb250ZXh0Ik4KJEdldFdvcmtmbG93UHJvdmlkZXJSdW5PdXRwdXRSZXNwb25zZRImCgZvdXRwdXQYASABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUq3wEKEVdvcmtmbG93UnVuU3RhdHVzEiMKH1dPUktGTE9XX1JVTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIfChtXT1JLRkxPV19SVU5fU1RBVFVTX1BFTkRJTkcQARIfChtXT1JLRkxPV19SVU5fU1RBVFVTX1JVTk5JTkcQAhIhCh1XT1JLRkxPV19SVU5fU1RBVFVTX1NVQ0NFRURFRBADEh4KGldPUktGTE9XX1JVTl9TVEFUVVNfRkFJTEVEEAQSIAocV09SS0ZMT1dfUlVOX1NUQVRVU19DQU5DRUxFRBAFKocCChJXb3JrZmxvd1N0ZXBTdGF0dXMSJAogV09SS0ZMT1dfU1RFUF9TVEFUVVNfVU5TUEVDSUZJRUQQABIgChxXT1JLRkxPV19TVEVQX1NUQVRVU19QRU5ESU5HEAESIAocV09SS0ZMT1dfU1RFUF9TVEFUVVNfUlVOTklORxACEiAKHFdPUktGTE9XX1NURVBfU1RBVFVTX1NLSVBQRUQQAxIiCh5XT1JLRkxPV19TVEVQX1NUQVRVU19TVUNDRUVERUQQBBIfChtXT1JLRkxPV19TVEVQX1NUQVRVU19GQUlMRUQQBRIgChxXT1JLRkxPV19TVEVQX1NUQVRVU19VTktOT1dOEAYyjw4KEFdvcmtmbG93UHJvdmlkZXISdwoPQXBwbHlEZWZpbml0aW9uEjsuZ2VzdGFsdC5wcm92aWRlci52MS5BcHBseVdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUmVxdWVzdBonLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dEZWZpbml0aW9uEnMKDUdldERlZmluaXRpb24SOS5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldFdvcmtmbG93UHJvdmlkZXJEZWZpbml0aW9uUmVxdWVzdBonLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dEZWZpbml0aW9uEowBCg9MaXN0RGVmaW5pdGlvbnMSOy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RXb3JrZmxvd1Byb3ZpZGVyRGVmaW5pdGlvbnNSZXF1ZXN0GjwuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0V29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25zUmVzcG9uc2USfwoTU2V0RGVmaW5pdGlvblBhdXNlZBI/Lmdlc3RhbHQucHJvdmlkZXIudjEuU2V0V29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25QYXVzZWRSZXF1ZXN0GicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0RlZmluaXRpb24SfwoTU2V0QWN0aXZhdGlvblBhdXNlZBI/Lmdlc3RhbHQucHJvdmlkZXIudjEuU2V0V29ya2Zsb3dQcm92aWRlckFjdGl2YXRpb25QYXVzZWRSZXF1ZXN0GicuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0RlZmluaXRpb24SaAoQRGVsZXRlRGVmaW5pdGlvbhI8Lmdlc3RhbHQucHJvdmlkZXIudjEuRGVsZXRlV29ya2Zsb3dQcm92aWRlckRlZmluaXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EmIKCFN0YXJ0UnVuEjQuZ2VzdGFsdC5wcm92aWRlci52MS5TdGFydFdvcmtmbG93UHJvdmlkZXJSdW5SZXF1ZXN0GiAuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd1J1bhJ3CghMaXN0UnVucxI0Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdFdvcmtmbG93UHJvdmlkZXJSdW5zUmVxdWVzdBo1Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdFdvcmtmbG93UHJvdmlkZXJSdW5zUmVzcG9uc2USXgoGR2V0UnVuEjIuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRXb3JrZmxvd1Byb3ZpZGVyUnVuUmVxdWVzdBogLmdlc3RhbHQucHJvdmlkZXIudjEuV29ya2Zsb3dSdW4SgwEKDEdldFJ1bkV2ZW50cxI4Lmdlc3RhbHQucHJvdmlkZXIudjEuR2V0V29ya2Zsb3dQcm92aWRlclJ1bkV2ZW50c1JlcXVlc3QaOS5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldFdvcmtmbG93UHJvdmlkZXJSdW5FdmVudHNSZXNwb25zZRKDAQoMR2V0UnVuT3V0cHV0EjguZ2VzdGFsdC5wcm92aWRlci52MS5HZXRXb3JrZmxvd1Byb3ZpZGVyUnVuT3V0cHV0UmVxdWVzdBo5Lmdlc3RhbHQucHJvdmlkZXIudjEuR2V0V29ya2Zsb3dQcm92aWRlclJ1bk91dHB1dFJlc3BvbnNlEmQKCUNhbmNlbFJ1bhI1Lmdlc3RhbHQucHJvdmlkZXIudjEuQ2FuY2VsV29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QaIC5nZXN0YWx0LnByb3ZpZGVyLnYxLldvcmtmbG93UnVuEnIKCVNpZ25hbFJ1bhI1Lmdlc3RhbHQucHJvdmlkZXIudjEuU2lnbmFsV29ya2Zsb3dQcm92aWRlclJ1blJlcXVlc3QaLi5nZXN0YWx0LnByb3ZpZGVyLnYxLlNpZ25hbFdvcmtmbG93UnVuUmVzcG9uc2USgAEKEFNpZ25hbE9yU3RhcnRSdW4SPC5nZXN0YWx0LnByb3ZpZGVyLnYxLlNpZ25hbE9yU3RhcnRXb3JrZmxvd1Byb3ZpZGVyUnVuUmVxdWVzdBouLmdlc3RhbHQucHJvdmlkZXIudjEuU2lnbmFsV29ya2Zsb3dSdW5SZXNwb25zZRJsCgxEZWxpdmVyRXZlbnQSOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkRlbGl2ZXJXb3JrZmxvd1Byb3ZpZGVyRXZlbnRSZXF1ZXN0GiIuZ2VzdGFsdC5wcm92aWRlci52MS5Xb3JrZmxvd0V2ZW50YgZwcm90bzM", [file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_agent, file_v1_app]);
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* @generated from message gestalt.provider.v1.BoundWorkflowTarget
|
|
@@ -1058,6 +1058,11 @@ export type ApplyWorkflowProviderDefinitionRequest = Message<"gestalt.provider.v
|
|
|
1058
1058
|
* @generated from field: string requested_by_subject_id = 5;
|
|
1059
1059
|
*/
|
|
1060
1060
|
requestedBySubjectId: string;
|
|
1061
|
+
|
|
1062
|
+
/**
|
|
1063
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 6;
|
|
1064
|
+
*/
|
|
1065
|
+
context?: RequestContext | undefined;
|
|
1061
1066
|
};
|
|
1062
1067
|
|
|
1063
1068
|
/**
|
|
@@ -1080,6 +1085,11 @@ export type GetWorkflowProviderDefinitionRequest = Message<"gestalt.provider.v1.
|
|
|
1080
1085
|
* @generated from field: string invocation_token = 2;
|
|
1081
1086
|
*/
|
|
1082
1087
|
invocationToken: string;
|
|
1088
|
+
|
|
1089
|
+
/**
|
|
1090
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 3;
|
|
1091
|
+
*/
|
|
1092
|
+
context?: RequestContext | undefined;
|
|
1083
1093
|
};
|
|
1084
1094
|
|
|
1085
1095
|
/**
|
|
@@ -1097,6 +1107,11 @@ export type ListWorkflowProviderDefinitionsRequest = Message<"gestalt.provider.v
|
|
|
1097
1107
|
* @generated from field: string invocation_token = 1;
|
|
1098
1108
|
*/
|
|
1099
1109
|
invocationToken: string;
|
|
1110
|
+
|
|
1111
|
+
/**
|
|
1112
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 2;
|
|
1113
|
+
*/
|
|
1114
|
+
context?: RequestContext | undefined;
|
|
1100
1115
|
};
|
|
1101
1116
|
|
|
1102
1117
|
/**
|
|
@@ -1146,6 +1161,11 @@ export type SetWorkflowProviderDefinitionPausedRequest = Message<"gestalt.provid
|
|
|
1146
1161
|
* @generated from field: string requested_by_subject_id = 4;
|
|
1147
1162
|
*/
|
|
1148
1163
|
requestedBySubjectId: string;
|
|
1164
|
+
|
|
1165
|
+
/**
|
|
1166
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 5;
|
|
1167
|
+
*/
|
|
1168
|
+
context?: RequestContext | undefined;
|
|
1149
1169
|
};
|
|
1150
1170
|
|
|
1151
1171
|
/**
|
|
@@ -1183,6 +1203,11 @@ export type SetWorkflowProviderActivationPausedRequest = Message<"gestalt.provid
|
|
|
1183
1203
|
* @generated from field: string requested_by_subject_id = 5;
|
|
1184
1204
|
*/
|
|
1185
1205
|
requestedBySubjectId: string;
|
|
1206
|
+
|
|
1207
|
+
/**
|
|
1208
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 6;
|
|
1209
|
+
*/
|
|
1210
|
+
context?: RequestContext | undefined;
|
|
1186
1211
|
};
|
|
1187
1212
|
|
|
1188
1213
|
/**
|
|
@@ -1205,6 +1230,11 @@ export type DeleteWorkflowProviderDefinitionRequest = Message<"gestalt.provider.
|
|
|
1205
1230
|
* @generated from field: string invocation_token = 2;
|
|
1206
1231
|
*/
|
|
1207
1232
|
invocationToken: string;
|
|
1233
|
+
|
|
1234
|
+
/**
|
|
1235
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 3;
|
|
1236
|
+
*/
|
|
1237
|
+
context?: RequestContext | undefined;
|
|
1208
1238
|
};
|
|
1209
1239
|
|
|
1210
1240
|
/**
|
|
@@ -1262,6 +1292,11 @@ export type StartWorkflowProviderRunRequest = Message<"gestalt.provider.v1.Start
|
|
|
1262
1292
|
* @generated from field: int64 expected_definition_generation = 12;
|
|
1263
1293
|
*/
|
|
1264
1294
|
expectedDefinitionGeneration: bigint;
|
|
1295
|
+
|
|
1296
|
+
/**
|
|
1297
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 13;
|
|
1298
|
+
*/
|
|
1299
|
+
context?: RequestContext | undefined;
|
|
1265
1300
|
};
|
|
1266
1301
|
|
|
1267
1302
|
/**
|
|
@@ -1284,6 +1319,11 @@ export type GetWorkflowProviderRunRequest = Message<"gestalt.provider.v1.GetWork
|
|
|
1284
1319
|
* @generated from field: string invocation_token = 3;
|
|
1285
1320
|
*/
|
|
1286
1321
|
invocationToken: string;
|
|
1322
|
+
|
|
1323
|
+
/**
|
|
1324
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 4;
|
|
1325
|
+
*/
|
|
1326
|
+
context?: RequestContext | undefined;
|
|
1287
1327
|
};
|
|
1288
1328
|
|
|
1289
1329
|
/**
|
|
@@ -1321,6 +1361,11 @@ export type ListWorkflowProviderRunsRequest = Message<"gestalt.provider.v1.ListW
|
|
|
1321
1361
|
* @generated from field: string target_app = 5;
|
|
1322
1362
|
*/
|
|
1323
1363
|
targetApp: string;
|
|
1364
|
+
|
|
1365
|
+
/**
|
|
1366
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 6;
|
|
1367
|
+
*/
|
|
1368
|
+
context?: RequestContext | undefined;
|
|
1324
1369
|
};
|
|
1325
1370
|
|
|
1326
1371
|
/**
|
|
@@ -1370,6 +1415,11 @@ export type CancelWorkflowProviderRunRequest = Message<"gestalt.provider.v1.Canc
|
|
|
1370
1415
|
* @generated from field: string invocation_token = 4;
|
|
1371
1416
|
*/
|
|
1372
1417
|
invocationToken: string;
|
|
1418
|
+
|
|
1419
|
+
/**
|
|
1420
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 5;
|
|
1421
|
+
*/
|
|
1422
|
+
context?: RequestContext | undefined;
|
|
1373
1423
|
};
|
|
1374
1424
|
|
|
1375
1425
|
/**
|
|
@@ -1397,6 +1447,11 @@ export type SignalWorkflowProviderRunRequest = Message<"gestalt.provider.v1.Sign
|
|
|
1397
1447
|
* @generated from field: string invocation_token = 3;
|
|
1398
1448
|
*/
|
|
1399
1449
|
invocationToken: string;
|
|
1450
|
+
|
|
1451
|
+
/**
|
|
1452
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 4;
|
|
1453
|
+
*/
|
|
1454
|
+
context?: RequestContext | undefined;
|
|
1400
1455
|
};
|
|
1401
1456
|
|
|
1402
1457
|
/**
|
|
@@ -1459,6 +1514,11 @@ export type SignalOrStartWorkflowProviderRunRequest = Message<"gestalt.provider.
|
|
|
1459
1514
|
* @generated from field: int64 expected_definition_generation = 12;
|
|
1460
1515
|
*/
|
|
1461
1516
|
expectedDefinitionGeneration: bigint;
|
|
1517
|
+
|
|
1518
|
+
/**
|
|
1519
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 13;
|
|
1520
|
+
*/
|
|
1521
|
+
context?: RequestContext | undefined;
|
|
1462
1522
|
};
|
|
1463
1523
|
|
|
1464
1524
|
/**
|
|
@@ -1528,6 +1588,11 @@ export type DeliverWorkflowProviderEventRequest = Message<"gestalt.provider.v1.D
|
|
|
1528
1588
|
* @generated from field: string provider_name = 5;
|
|
1529
1589
|
*/
|
|
1530
1590
|
providerName: string;
|
|
1591
|
+
|
|
1592
|
+
/**
|
|
1593
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 6;
|
|
1594
|
+
*/
|
|
1595
|
+
context?: RequestContext | undefined;
|
|
1531
1596
|
};
|
|
1532
1597
|
|
|
1533
1598
|
/**
|
|
@@ -1592,6 +1657,11 @@ export type GetWorkflowProviderRunEventsRequest = Message<"gestalt.provider.v1.G
|
|
|
1592
1657
|
* @generated from field: string invocation_token = 2;
|
|
1593
1658
|
*/
|
|
1594
1659
|
invocationToken: string;
|
|
1660
|
+
|
|
1661
|
+
/**
|
|
1662
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 3;
|
|
1663
|
+
*/
|
|
1664
|
+
context?: RequestContext | undefined;
|
|
1595
1665
|
};
|
|
1596
1666
|
|
|
1597
1667
|
/**
|
|
@@ -1631,6 +1701,11 @@ export type GetWorkflowProviderRunOutputRequest = Message<"gestalt.provider.v1.G
|
|
|
1631
1701
|
* @generated from field: string invocation_token = 2;
|
|
1632
1702
|
*/
|
|
1633
1703
|
invocationToken: string;
|
|
1704
|
+
|
|
1705
|
+
/**
|
|
1706
|
+
* @generated from field: gestalt.provider.v1.RequestContext context = 3;
|
|
1707
|
+
*/
|
|
1708
|
+
context?: RequestContext | undefined;
|
|
1634
1709
|
};
|
|
1635
1710
|
|
|
1636
1711
|
/**
|
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
import type { Request } from "./api.ts";
|
|
2
2
|
|
|
3
3
|
export function hostInvocationContext(requestOrToken: Request | string) {
|
|
4
|
-
const invocationToken = (
|
|
4
|
+
const invocationToken = (
|
|
5
|
+
typeof requestOrToken === "string"
|
|
6
|
+
? requestOrToken
|
|
7
|
+
: requestOrToken.invocationToken
|
|
8
|
+
).trim();
|
|
5
9
|
if (typeof requestOrToken === "string") {
|
|
6
|
-
return { invocationToken };
|
|
10
|
+
return { invocationToken, context: undefined };
|
|
7
11
|
}
|
|
8
|
-
const providerName =
|
|
12
|
+
const providerName =
|
|
13
|
+
stringValue(requestOrToken.workflow.providerName) ||
|
|
14
|
+
stringValue(requestOrToken.workflow.provider);
|
|
9
15
|
const runId = stringValue(requestOrToken.workflow.runId);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
const workflow =
|
|
17
|
+
providerName && runId
|
|
18
|
+
? { provider: providerName, providerName, runId }
|
|
19
|
+
: undefined;
|
|
20
|
+
return {
|
|
21
|
+
invocationToken,
|
|
22
|
+
...(workflow === undefined ? {} : { workflow }),
|
|
23
|
+
context: requestOrToken.__requestContext,
|
|
24
|
+
};
|
|
13
25
|
}
|
|
14
26
|
|
|
15
|
-
const stringValue = (value: unknown) =>
|
|
27
|
+
const stringValue = (value: unknown) =>
|
|
28
|
+
typeof value === "string" ? value.trim() : "";
|
package/src/runtime.ts
CHANGED
|
@@ -55,6 +55,8 @@ import {
|
|
|
55
55
|
type HTTPSubjectRequest as ProtoHTTPSubjectRequest,
|
|
56
56
|
type RequestContext as ProtoRequestContext,
|
|
57
57
|
type ResolveHTTPSubjectRequest as ProtoResolveHTTPSubjectRequest,
|
|
58
|
+
type SubjectContext as ProtoSubjectContext,
|
|
59
|
+
type SubjectPermissionContext as ProtoSubjectPermissionContext,
|
|
58
60
|
AppProvider as AppProviderService,
|
|
59
61
|
StartProviderResponseSchema,
|
|
60
62
|
type ExecuteRequest,
|
|
@@ -75,7 +77,14 @@ import {
|
|
|
75
77
|
} from "./internal/gen/v1/runtime_pb.ts";
|
|
76
78
|
import { S3 as S3Service } from "./internal/gen/v1/s3_pb.ts";
|
|
77
79
|
import { WorkflowProvider as WorkflowProviderService } from "./internal/gen/v1/workflow_pb.ts";
|
|
78
|
-
import {
|
|
80
|
+
import {
|
|
81
|
+
errorMessage,
|
|
82
|
+
parseSubjectId,
|
|
83
|
+
type OperationResult,
|
|
84
|
+
type Request,
|
|
85
|
+
type Subject,
|
|
86
|
+
type SubjectPermission,
|
|
87
|
+
} from "./api.ts";
|
|
79
88
|
import {
|
|
80
89
|
AgentProvider,
|
|
81
90
|
createAgentProviderService,
|
|
@@ -582,17 +591,17 @@ export function createProviderService(
|
|
|
582
591
|
},
|
|
583
592
|
async execute(request: ExecuteRequest) {
|
|
584
593
|
return operationResultToProto(
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
594
|
+
await provider.execute(
|
|
595
|
+
request.operation,
|
|
596
|
+
objectFromUnknown(request.params),
|
|
597
|
+
providerRequest(
|
|
598
|
+
request.token,
|
|
599
|
+
request.connectionParams,
|
|
600
|
+
request.context,
|
|
601
|
+
request.invocationToken,
|
|
602
|
+
request.idempotencyKey,
|
|
603
|
+
),
|
|
604
|
+
),
|
|
596
605
|
);
|
|
597
606
|
},
|
|
598
607
|
async resolveHTTPSubject(request: ProtoResolveHTTPSubjectRequest) {
|
|
@@ -620,6 +629,7 @@ export function createProviderService(
|
|
|
620
629
|
id: subject.id,
|
|
621
630
|
credentialSubjectId: subject.credentialSubjectId ?? "",
|
|
622
631
|
email: subject.email ?? "",
|
|
632
|
+
displayName: subject.displayName ?? "",
|
|
623
633
|
},
|
|
624
634
|
}
|
|
625
635
|
: {});
|
|
@@ -821,8 +831,6 @@ function providerRequest(
|
|
|
821
831
|
invocationToken = "",
|
|
822
832
|
idempotencyKey = "",
|
|
823
833
|
): Request {
|
|
824
|
-
const subject = requestContext?.subject;
|
|
825
|
-
const agentSubject = requestContext?.agentSubject;
|
|
826
834
|
const credential = requestContext?.credential;
|
|
827
835
|
const access = requestContext?.access;
|
|
828
836
|
const host = requestContext?.host;
|
|
@@ -831,16 +839,8 @@ function providerRequest(
|
|
|
831
839
|
connectionParams: {
|
|
832
840
|
...connectionParams,
|
|
833
841
|
},
|
|
834
|
-
subject:
|
|
835
|
-
|
|
836
|
-
credentialSubjectId: subject?.credentialSubjectId ?? "",
|
|
837
|
-
email: subject?.email ?? "",
|
|
838
|
-
},
|
|
839
|
-
agentSubject: {
|
|
840
|
-
id: agentSubject?.id ?? "",
|
|
841
|
-
credentialSubjectId: agentSubject?.credentialSubjectId ?? "",
|
|
842
|
-
email: agentSubject?.email ?? "",
|
|
843
|
-
},
|
|
842
|
+
subject: providerSubject(requestContext?.subject),
|
|
843
|
+
agentSubject: providerSubject(requestContext?.agentSubject),
|
|
844
844
|
credential: {
|
|
845
845
|
mode: credential?.mode ?? "",
|
|
846
846
|
subjectId: credential?.subjectId ?? "",
|
|
@@ -860,10 +860,36 @@ function providerRequest(
|
|
|
860
860
|
publicBaseUrl: host?.publicBaseUrl ?? "",
|
|
861
861
|
},
|
|
862
862
|
invocationToken,
|
|
863
|
+
__requestContext: requestContext,
|
|
863
864
|
idempotencyKey: idempotencyKey.trim(),
|
|
864
865
|
};
|
|
865
866
|
}
|
|
866
867
|
|
|
868
|
+
function providerSubject(subject?: ProtoSubjectContext): Subject {
|
|
869
|
+
return {
|
|
870
|
+
id: subject?.id ?? "",
|
|
871
|
+
credentialSubjectId: subject?.credentialSubjectId ?? "",
|
|
872
|
+
email: subject?.email ?? "",
|
|
873
|
+
displayName: subject?.displayName ?? "",
|
|
874
|
+
scopes: [...(subject?.scopes ?? [])],
|
|
875
|
+
permissions: subjectPermissionsFromProto(subject?.permissions),
|
|
876
|
+
kind: subjectKind(subject?.id ?? ""),
|
|
877
|
+
};
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
function subjectPermissionsFromProto(
|
|
881
|
+
permissions?: readonly ProtoSubjectPermissionContext[] | undefined,
|
|
882
|
+
): SubjectPermission[] {
|
|
883
|
+
return permissions?.map((permission) => ({
|
|
884
|
+
app: permission.app,
|
|
885
|
+
operations: permission.allOperations ? [] : [...permission.operations],
|
|
886
|
+
})) ?? [];
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
function subjectKind(subjectID: string): string {
|
|
890
|
+
return parseSubjectId(subjectID)?.kind ?? "";
|
|
891
|
+
}
|
|
892
|
+
|
|
867
893
|
function providerRequestToolRefs(
|
|
868
894
|
requestContext?: ProtoRequestContext,
|
|
869
895
|
): AgentToolRef[] {
|
package/src/workflow-access.ts
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
ENV_HOST_SERVICE_SOCKET,
|
|
14
14
|
ENV_HOST_SERVICE_TOKEN,
|
|
15
15
|
} from "./host-service.ts";
|
|
16
|
+
import { hostInvocationContext } from "./invocation-context.ts";
|
|
16
17
|
import type { Request, SubjectInput } from "./api.ts";
|
|
17
18
|
import { jsonFromValue, structFromObject, type JsonObjectInput } from "./protocol.ts";
|
|
18
19
|
import {
|
|
@@ -179,21 +180,22 @@ export interface Workflow {
|
|
|
179
180
|
/**
|
|
180
181
|
* Client for applying workflow definitions and controlling durable runs.
|
|
181
182
|
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
* constructed from a request, mutating calls reuse the request idempotency key
|
|
185
|
-
* unless the call provides one explicitly.
|
|
183
|
+
* Mutating calls reuse the request idempotency key unless the call provides one
|
|
184
|
+
* explicitly.
|
|
186
185
|
*/
|
|
187
186
|
class WorkflowImpl implements Workflow {
|
|
188
187
|
private readonly client: Client<typeof WorkflowProviderService>;
|
|
189
|
-
private readonly
|
|
188
|
+
private readonly invocationContext: ReturnType<typeof hostInvocationContext>;
|
|
190
189
|
private readonly idempotencyKey: string;
|
|
191
190
|
|
|
192
191
|
constructor(request: Request);
|
|
193
192
|
constructor(invocationToken: string);
|
|
194
193
|
constructor(requestOrToken: Request | string) {
|
|
195
|
-
this.
|
|
196
|
-
|
|
194
|
+
this.invocationContext = hostInvocationContext(requestOrToken);
|
|
195
|
+
if (typeof requestOrToken === "string" && !this.invocationContext.invocationToken) {
|
|
196
|
+
throw new Error("workflow: invocation token is not available");
|
|
197
|
+
}
|
|
198
|
+
this.idempotencyKey = typeof requestOrToken === "string" ? "" : requestOrToken.idempotencyKey.trim();
|
|
197
199
|
|
|
198
200
|
const target = process.env[ENV_HOST_SERVICE_SOCKET]?.trim();
|
|
199
201
|
if (!target) {
|
|
@@ -220,7 +222,7 @@ class WorkflowImpl implements Workflow {
|
|
|
220
222
|
await this.client.applyDefinition({
|
|
221
223
|
providerName: request.providerName,
|
|
222
224
|
spec: workflowDefinitionSpecToProto(request.spec),
|
|
223
|
-
|
|
225
|
+
...this.invocationContext,
|
|
224
226
|
idempotencyKey: request.idempotencyKey?.trim() || this.idempotencyKey,
|
|
225
227
|
requestedBySubjectId: request.requestedBySubjectId ?? "",
|
|
226
228
|
}),
|
|
@@ -237,19 +239,19 @@ class WorkflowImpl implements Workflow {
|
|
|
237
239
|
workflowDefinitionFromProto(
|
|
238
240
|
await this.client.getDefinition({
|
|
239
241
|
definitionId: request.definitionId,
|
|
240
|
-
|
|
242
|
+
...this.invocationContext,
|
|
241
243
|
}),
|
|
242
244
|
),
|
|
243
245
|
"Workflow.getDefinition returned no definition",
|
|
244
246
|
);
|
|
245
247
|
}
|
|
246
248
|
|
|
247
|
-
/** Lists workflow definitions visible to the
|
|
249
|
+
/** Lists workflow definitions visible to the request context. */
|
|
248
250
|
async listDefinitions(
|
|
249
251
|
_request: WorkflowListDefinitions = {},
|
|
250
252
|
): Promise<readonly WorkflowDefinition[]> {
|
|
251
253
|
const response = await this.client.listDefinitions({
|
|
252
|
-
|
|
254
|
+
...this.invocationContext,
|
|
253
255
|
});
|
|
254
256
|
return response.definitions.map((definition) =>
|
|
255
257
|
requireDefinition(workflowDefinitionFromProto(definition), "Workflow.listDefinitions returned an empty definition")
|
|
@@ -265,7 +267,7 @@ class WorkflowImpl implements Workflow {
|
|
|
265
267
|
await this.client.setDefinitionPaused({
|
|
266
268
|
definitionId: request.definitionId,
|
|
267
269
|
paused: request.paused,
|
|
268
|
-
|
|
270
|
+
...this.invocationContext,
|
|
269
271
|
requestedBySubjectId: request.requestedBySubjectId ?? "",
|
|
270
272
|
}),
|
|
271
273
|
),
|
|
@@ -283,7 +285,7 @@ class WorkflowImpl implements Workflow {
|
|
|
283
285
|
definitionId: request.definitionId,
|
|
284
286
|
activationId: request.activationId,
|
|
285
287
|
paused: request.paused,
|
|
286
|
-
|
|
288
|
+
...this.invocationContext,
|
|
287
289
|
requestedBySubjectId: request.requestedBySubjectId ?? "",
|
|
288
290
|
}),
|
|
289
291
|
),
|
|
@@ -297,7 +299,7 @@ class WorkflowImpl implements Workflow {
|
|
|
297
299
|
): Promise<void> {
|
|
298
300
|
await this.client.deleteDefinition({
|
|
299
301
|
definitionId: request.definitionId,
|
|
300
|
-
|
|
302
|
+
...this.invocationContext,
|
|
301
303
|
});
|
|
302
304
|
}
|
|
303
305
|
|
|
@@ -314,7 +316,7 @@ class WorkflowImpl implements Workflow {
|
|
|
314
316
|
input: structFromObject(request.input),
|
|
315
317
|
idempotencyKey: request.idempotencyKey?.trim() || this.idempotencyKey,
|
|
316
318
|
workflowKey: request.workflowKey ?? "",
|
|
317
|
-
|
|
319
|
+
...this.invocationContext,
|
|
318
320
|
createdBySubjectId: request.createdBySubjectId ?? "",
|
|
319
321
|
runAs: subjectToProto(request.runAs),
|
|
320
322
|
}),
|
|
@@ -331,14 +333,14 @@ class WorkflowImpl implements Workflow {
|
|
|
331
333
|
workflowRunFromProto(
|
|
332
334
|
await this.client.getRun({
|
|
333
335
|
runId: request.runId,
|
|
334
|
-
|
|
336
|
+
...this.invocationContext,
|
|
335
337
|
}),
|
|
336
338
|
),
|
|
337
339
|
"Workflow.getRun returned no run",
|
|
338
340
|
);
|
|
339
341
|
}
|
|
340
342
|
|
|
341
|
-
/** Lists workflow runs visible to the
|
|
343
|
+
/** Lists workflow runs visible to the request context. */
|
|
342
344
|
async listRuns(
|
|
343
345
|
request: WorkflowListRuns = {},
|
|
344
346
|
): Promise<{ runs: readonly WorkflowRun[]; nextPageToken?: string | undefined }> {
|
|
@@ -347,7 +349,7 @@ class WorkflowImpl implements Workflow {
|
|
|
347
349
|
pageToken: request.pageToken ?? "",
|
|
348
350
|
status: request.status ?? 0,
|
|
349
351
|
targetApp: request.targetApp ?? "",
|
|
350
|
-
|
|
352
|
+
...this.invocationContext,
|
|
351
353
|
});
|
|
352
354
|
return {
|
|
353
355
|
runs: response.runs.map((run) => requireRun(workflowRunFromProto(run), "Workflow.listRuns returned an empty run")),
|
|
@@ -361,7 +363,7 @@ class WorkflowImpl implements Workflow {
|
|
|
361
363
|
): Promise<readonly WorkflowRunEvent[]> {
|
|
362
364
|
const response = await this.client.getRunEvents({
|
|
363
365
|
runId: request.runId,
|
|
364
|
-
|
|
366
|
+
...this.invocationContext,
|
|
365
367
|
});
|
|
366
368
|
return response.events.map((event) =>
|
|
367
369
|
requireRunEvent(workflowRunEventFromProto(event), "Workflow.getRunEvents returned an empty event")
|
|
@@ -374,7 +376,7 @@ class WorkflowImpl implements Workflow {
|
|
|
374
376
|
): Promise<GetWorkflowProviderRunOutputResponse> {
|
|
375
377
|
const response = await this.client.getRunOutput({
|
|
376
378
|
runId: request.runId,
|
|
377
|
-
|
|
379
|
+
...this.invocationContext,
|
|
378
380
|
});
|
|
379
381
|
return {
|
|
380
382
|
output: response.output === undefined
|
|
@@ -392,7 +394,7 @@ class WorkflowImpl implements Workflow {
|
|
|
392
394
|
await this.client.cancelRun({
|
|
393
395
|
runId: request.runId,
|
|
394
396
|
reason: request.reason ?? "",
|
|
395
|
-
|
|
397
|
+
...this.invocationContext,
|
|
396
398
|
}),
|
|
397
399
|
),
|
|
398
400
|
"Workflow.cancelRun returned no run",
|
|
@@ -408,7 +410,7 @@ class WorkflowImpl implements Workflow {
|
|
|
408
410
|
await this.client.signalRun({
|
|
409
411
|
runId: request.runId,
|
|
410
412
|
signal: workflowSignalToProto(request.signal),
|
|
411
|
-
|
|
413
|
+
...this.invocationContext,
|
|
412
414
|
}),
|
|
413
415
|
),
|
|
414
416
|
"Workflow.signalRun returned no response",
|
|
@@ -429,7 +431,7 @@ class WorkflowImpl implements Workflow {
|
|
|
429
431
|
input: structFromObject(request.input),
|
|
430
432
|
idempotencyKey: request.idempotencyKey?.trim() || this.idempotencyKey,
|
|
431
433
|
signal: workflowSignalToProto(request.signal),
|
|
432
|
-
|
|
434
|
+
...this.invocationContext,
|
|
433
435
|
createdBySubjectId: request.createdBySubjectId ?? "",
|
|
434
436
|
runAs: subjectToProto(request.runAs),
|
|
435
437
|
}),
|
|
@@ -448,7 +450,7 @@ class WorkflowImpl implements Workflow {
|
|
|
448
450
|
appName: request.appName ?? "",
|
|
449
451
|
event: workflowEventToProto(request.event),
|
|
450
452
|
deliveredBySubjectId: request.deliveredBySubjectId ?? "",
|
|
451
|
-
|
|
453
|
+
...this.invocationContext,
|
|
452
454
|
providerName: request.providerName ?? "",
|
|
453
455
|
}),
|
|
454
456
|
),
|
|
@@ -459,25 +461,6 @@ class WorkflowImpl implements Workflow {
|
|
|
459
461
|
|
|
460
462
|
export const Workflow = WorkflowImpl;
|
|
461
463
|
|
|
462
|
-
function normalizeInvocationToken(requestOrToken: Request | string): string {
|
|
463
|
-
const invocationToken =
|
|
464
|
-
typeof requestOrToken === "string"
|
|
465
|
-
? requestOrToken
|
|
466
|
-
: requestOrToken.invocationToken;
|
|
467
|
-
const trimmed = invocationToken.trim();
|
|
468
|
-
if (!trimmed) {
|
|
469
|
-
throw new Error("workflow: invocation token is not available");
|
|
470
|
-
}
|
|
471
|
-
return trimmed;
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
function normalizeIdempotencyKey(requestOrToken: Request | string): string {
|
|
475
|
-
if (typeof requestOrToken === "string") {
|
|
476
|
-
return "";
|
|
477
|
-
}
|
|
478
|
-
return requestOrToken.idempotencyKey.trim();
|
|
479
|
-
}
|
|
480
|
-
|
|
481
464
|
function generationToBigInt(value: bigint | number | undefined): bigint {
|
|
482
465
|
if (value === undefined) {
|
|
483
466
|
return 0n;
|