@@ -43,12 +43,14 @@ type FunctionMeta struct {
4343 InputSchema string // JSON Schema for request body (OpenAPI 3.0.3)
4444 OutputSchema string // JSON Schema for response body (OpenAPI 3.0.3)
4545
46- Resource string // x-resource extension
47- Operation string // x-operation extension (business action key)
48- Capability string // x-capability extension
49- Execution string // x-execution extension
50- Risk string // x-risk extension
51- Permission string // x-permission extension
46+ Resource string // x-resource extension
47+ Operation string // x-operation extension (business action key)
48+ Capability string // x-capability extension
49+ Execution string // x-execution extension
50+ ApprovalRequired bool
51+ ApprovalPolicyKey string
52+ Risk string // x-risk extension
53+ Permission string // x-permission extension
5254
5355 // Full OpenAPI operation as JSON (optional, for advanced use cases)
5456 OpenAPIOperation string // Complete OpenAPI 3.0.3 Operation object as JSON string
@@ -137,21 +139,23 @@ func (s *LocalStore) Register(providerID, serviceID, addr, version string, funcs
137139 }
138140 // Store function metadata including OpenAPI schema
139141 meta := & FunctionMeta {
140- ID : fid ,
141- Version : fn .GetVersion (),
142- Tags : fn .GetTags (),
143- Summary : fn .GetSummary (),
144- Description : fn .GetDescription (),
145- OperationID : fn .GetOperationId (),
146- Deprecated : fn .GetDeprecated (),
147- InputSchema : fn .GetInputSchema (),
148- OutputSchema : fn .GetOutputSchema (),
149- Resource : fn .GetResource (),
150- Operation : fn .GetOperation (),
151- Capability : fn .GetCapability (),
152- Execution : fn .GetExecution (),
153- Risk : fn .GetRisk (),
154- Permission : fn .GetPermission (),
142+ ID : fid ,
143+ Version : fn .GetVersion (),
144+ Tags : fn .GetTags (),
145+ Summary : fn .GetSummary (),
146+ Description : fn .GetDescription (),
147+ OperationID : fn .GetOperationId (),
148+ Deprecated : fn .GetDeprecated (),
149+ InputSchema : fn .GetInputSchema (),
150+ OutputSchema : fn .GetOutputSchema (),
151+ Resource : fn .GetResource (),
152+ Operation : fn .GetOperation (),
153+ Capability : fn .GetCapability (),
154+ Execution : fn .GetExecution (),
155+ ApprovalRequired : fn .GetApprovalRequired (),
156+ ApprovalPolicyKey : fn .GetApprovalPolicyKey (),
157+ Risk : fn .GetRisk (),
158+ Permission : fn .GetPermission (),
155159 }
156160 if op , err := converter .ToOpenAPIOperation (converter.ProviderFunctionDescriptorDesc {
157161 ID : meta .ID ,
@@ -342,22 +346,24 @@ func (s *LocalStore) FunctionMetadata() map[string]*FunctionMeta {
342346 }
343347 // Copy to avoid data races
344348 cp := & FunctionMeta {
345- ID : meta .ID ,
346- Version : meta .Version ,
347- Tags : append ([]string (nil ), meta .Tags ... ),
348- Summary : meta .Summary ,
349- Description : meta .Description ,
350- OperationID : meta .OperationID ,
351- Deprecated : meta .Deprecated ,
352- InputSchema : meta .InputSchema ,
353- OutputSchema : meta .OutputSchema ,
354- Resource : meta .Resource ,
355- Operation : meta .Operation ,
356- Capability : meta .Capability ,
357- Execution : meta .Execution ,
358- Risk : meta .Risk ,
359- Permission : meta .Permission ,
360- OpenAPIOperation : meta .OpenAPIOperation ,
349+ ID : meta .ID ,
350+ Version : meta .Version ,
351+ Tags : append ([]string (nil ), meta .Tags ... ),
352+ Summary : meta .Summary ,
353+ Description : meta .Description ,
354+ OperationID : meta .OperationID ,
355+ Deprecated : meta .Deprecated ,
356+ InputSchema : meta .InputSchema ,
357+ OutputSchema : meta .OutputSchema ,
358+ Resource : meta .Resource ,
359+ Operation : meta .Operation ,
360+ Capability : meta .Capability ,
361+ Execution : meta .Execution ,
362+ ApprovalRequired : meta .ApprovalRequired ,
363+ ApprovalPolicyKey : meta .ApprovalPolicyKey ,
364+ Risk : meta .Risk ,
365+ Permission : meta .Permission ,
366+ OpenAPIOperation : meta .OpenAPIOperation ,
361367 }
362368 out [fid ] = cp
363369 }
0 commit comments