Skip to content

NOJIRA-service-agents-me-put-partial-update - #1308

Merged
pchero merged 4 commits into
mainfrom
NOJIRA-service-agents-me-put-partial-update
Sep 14, 2026
Merged

pchero merged 4 commits into
mainfrom
NOJIRA-service-agents-me-put-partial-update

Conversation

@pchero

@pchero pchero commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Fix PUT /service_agents/me (and the shared admin PUT /agents/{id}) partial-update semantics: name/detail/ring_method are now nil-means-unchanged, matching the platform-wide PUT convention (precedent 81a9a6b). Both endpoints converge on the same shared agent-basic-info update chain, so both are corrected by this single change.

  • bin-openapi-manager: Remove required: block on service_agents/me.yaml PUT body; name/detail/ring_method become pointer types with omit-to-leave-unchanged descriptions (agents/id.yaml already had no required block)
  • bin-agent-manager: agentHandler.UpdateBasicInfo/dbUpdateInfo (shared fix site) accept pointers, build a conditional field map, no-op short-circuits to AgentGet with zero DB writes and no update event; V1DataAgentsIDPut wire DTO fields become pointer+omitempty; listenhandler passes pointers through and nil-guards the name-length check
  • bin-agent-manager: agent-control CLI update-basic-info gains viper.IsSet-gated flag-conditional construction (flags default to empty so unset flags leave fields unchanged)
  • bin-common-handler: requesthandler.AgentV1AgentUpdate accepts pointers and marshals into the pointer wire DTO
  • bin-api-manager: server PutServiceAgentsMe and PutAgentsId pass request pointers straight through instead of collapsing them to zero values; servicehandler AgentUpdate/ServiceAgentMeUpdate and the shared agentUpdate helper accept pointers
  • bin-api-manager: docsdev agent_struct_agent.rst gains an Implementation Hint documenting the partial-update contract for both surfaces
  • Tests: agenthandler UpdateBasicInfo/dbUpdateInfo table tests cover all-fields, name-only, ring_method-only, and true no-op (AgentUpdate Times(0)); requesthandler/servicehandler/server/listenhandler tests updated to pointer signatures with partial and nil-field cases; revert-and-rerun confirmed the pre-fix silent full-overwrite bug (FAIL before fix, PASS after)

# Conflicts:
#	bin-api-manager/docsdev/build/doctrees/accesskey.doctree
#	bin-api-manager/docsdev/build/doctrees/accesskey_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/accesskey_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/accesskey_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/activeflow_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/activeflow_struct_activeflow.doctree
#	bin-api-manager/docsdev/build/doctrees/activeflow_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/agent.doctree
#	bin-api-manager/docsdev/build/doctrees/agent_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/agent_struct_agent.doctree
#	bin-api-manager/docsdev/build/doctrees/agent_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/ai.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_ai.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_aiaudit.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_aiprompthistory.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_aipromptproposal.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_mcpserver.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_message.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_participant.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_summary.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_struct_tool.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_tutorial_prompt_proposal.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_voice_agent_integration.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_voice_agent_integration_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/ai_voice_agent_integration_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/aicall_struct_aicall.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_backend.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_communication.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_data.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_dataflow.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_deployment.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_flow.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_rtc.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_security.doctree
#	bin-api-manager/docsdev/build/doctrees/architecture_sequences.doctree
#	bin-api-manager/docsdev/build/doctrees/auth.doctree
#	bin-api-manager/docsdev/build/doctrees/auth_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/availablenumber_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/billing_account.doctree
#	bin-api-manager/docsdev/build/doctrees/billing_account_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/billing_account_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/billing_account_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/billing_struct_billing.doctree
#	bin-api-manager/docsdev/build/doctrees/call.doctree
#	bin-api-manager/docsdev/build/doctrees/call_groupcall.doctree
#	bin-api-manager/docsdev/build/doctrees/call_media.doctree
#	bin-api-manager/docsdev/build/doctrees/call_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/call_scenarios.doctree
#	bin-api-manager/docsdev/build/doctrees/call_sequences.doctree
#	bin-api-manager/docsdev/build/doctrees/call_struct_call.doctree
#	bin-api-manager/docsdev/build/doctrees/call_struct_groupcall.doctree
#	bin-api-manager/docsdev/build/doctrees/call_transfer.doctree
#	bin-api-manager/docsdev/build/doctrees/call_troubleshooting.doctree
#	bin-api-manager/docsdev/build/doctrees/call_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/campaign.doctree
#	bin-api-manager/docsdev/build/doctrees/campaign_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/campaign_struct_campaign.doctree
#	bin-api-manager/docsdev/build/doctrees/campaign_struct_campaigncall.doctree
#	bin-api-manager/docsdev/build/doctrees/campaign_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/common.doctree
#	bin-api-manager/docsdev/build/doctrees/common_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/common_struct_address.doctree
#	bin-api-manager/docsdev/build/doctrees/conference.doctree
#	bin-api-manager/docsdev/build/doctrees/conference_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/conference_struct_conference.doctree
#	bin-api-manager/docsdev/build/doctrees/conference_struct_conferencecall.doctree
#	bin-api-manager/docsdev/build/doctrees/conference_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/contact.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_address_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_address_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_case_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_case_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_peer_event_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_peer_event_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_struct_contact.doctree
#	bin-api-manager/docsdev/build/doctrees/contact_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/conversation.doctree
#	bin-api-manager/docsdev/build/doctrees/conversation_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/conversation_struct_account.doctree
#	bin-api-manager/docsdev/build/doctrees/conversation_struct_conversation.doctree
#	bin-api-manager/docsdev/build/doctrees/conversation_struct_message.doctree
#	bin-api-manager/docsdev/build/doctrees/conversation_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/customer.doctree
#	bin-api-manager/docsdev/build/doctrees/customer_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/customer_struct_customer.doctree
#	bin-api-manager/docsdev/build/doctrees/customer_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/direct_hash.doctree
#	bin-api-manager/docsdev/build/doctrees/email.doctree
#	bin-api-manager/docsdev/build/doctrees/email_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/email_struct_attachment.doctree
#	bin-api-manager/docsdev/build/doctrees/email_struct_email.doctree
#	bin-api-manager/docsdev/build/doctrees/email_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/environment.pickle
#	bin-api-manager/docsdev/build/doctrees/extension.doctree
#	bin-api-manager/docsdev/build/doctrees/extension_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/extension_struct_extension.doctree
#	bin-api-manager/docsdev/build/doctrees/extension_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/flow.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_advanced_patterns.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_best_practices.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_debugging.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_execution_internals.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_struct_action.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_struct_flow.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_tutorial_basic.doctree
#	bin-api-manager/docsdev/build/doctrees/flow_tutorial_scenario.doctree
#	bin-api-manager/docsdev/build/doctrees/glossary.doctree
#	bin-api-manager/docsdev/build/doctrees/index.doctree
#	bin-api-manager/docsdev/build/doctrees/intro.doctree
#	bin-api-manager/docsdev/build/doctrees/mediastream.doctree
#	bin-api-manager/docsdev/build/doctrees/mediastream_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/mediastream_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/message.doctree
#	bin-api-manager/docsdev/build/doctrees/message_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/message_struct_message.doctree
#	bin-api-manager/docsdev/build/doctrees/message_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/number.doctree
#	bin-api-manager/docsdev/build/doctrees/number_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/number_struct_number.doctree
#	bin-api-manager/docsdev/build/doctrees/number_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/outbound_config.doctree
#	bin-api-manager/docsdev/build/doctrees/outbound_config_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/outbound_config_struct_outbound_config.doctree
#	bin-api-manager/docsdev/build/doctrees/outbound_config_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/outdial.doctree
#	bin-api-manager/docsdev/build/doctrees/outdial_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/outdial_struct_outdial.doctree
#	bin-api-manager/docsdev/build/doctrees/outdial_struct_outdialtarget.doctree
#	bin-api-manager/docsdev/build/doctrees/outdial_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/outplan.doctree
#	bin-api-manager/docsdev/build/doctrees/outplan_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/outplan_struct_outplan.doctree
#	bin-api-manager/docsdev/build/doctrees/outplan_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/provider.doctree
#	bin-api-manager/docsdev/build/doctrees/provider_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/provider_struct_provider.doctree
#	bin-api-manager/docsdev/build/doctrees/provider_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/providercall.doctree
#	bin-api-manager/docsdev/build/doctrees/providercall_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/providercall_struct_providercall.doctree
#	bin-api-manager/docsdev/build/doctrees/providercall_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/queue.doctree
#	bin-api-manager/docsdev/build/doctrees/queue_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/queue_struct_queue.doctree
#	bin-api-manager/docsdev/build/doctrees/queue_struct_queuecall.doctree
#	bin-api-manager/docsdev/build/doctrees/queue_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/quickstart.doctree
#	bin-api-manager/docsdev/build/doctrees/quickstart_email.doctree
#	bin-api-manager/docsdev/build/doctrees/quickstart_message.doctree
#	bin-api-manager/docsdev/build/doctrees/quickstart_queue.doctree
#	bin-api-manager/docsdev/build/doctrees/quickstart_transcribe.doctree
#	bin-api-manager/docsdev/build/doctrees/rag.doctree
#	bin-api-manager/docsdev/build/doctrees/rag_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/rag_struct_rag.doctree
#	bin-api-manager/docsdev/build/doctrees/rag_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/recording.doctree
#	bin-api-manager/docsdev/build/doctrees/recording_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/recording_struct_recording.doctree
#	bin-api-manager/docsdev/build/doctrees/recording_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/restful_api.doctree
#	bin-api-manager/docsdev/build/doctrees/restful_api_errors.doctree
#	bin-api-manager/docsdev/build/doctrees/route.doctree
#	bin-api-manager/docsdev/build/doctrees/route_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/route_struct_route.doctree
#	bin-api-manager/docsdev/build/doctrees/route_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/sdk.doctree
#	bin-api-manager/docsdev/build/doctrees/self_hosting.doctree
#	bin-api-manager/docsdev/build/doctrees/self_hosting_configuration.doctree
#	bin-api-manager/docsdev/build/doctrees/self_hosting_envvars.doctree
#	bin-api-manager/docsdev/build/doctrees/self_hosting_install.doctree
#	bin-api-manager/docsdev/build/doctrees/self_hosting_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/self_hosting_prerequisites.doctree
#	bin-api-manager/docsdev/build/doctrees/self_hosting_troubleshooting.doctree
#	bin-api-manager/docsdev/build/doctrees/service_agent.doctree
#	bin-api-manager/docsdev/build/doctrees/service_agent_case_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/service_agent_case_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/service_agent_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/service_agent_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/speaking.doctree
#	bin-api-manager/docsdev/build/doctrees/speaking_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/speaking_struct_speaking.doctree
#	bin-api-manager/docsdev/build/doctrees/speaking_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/storage.doctree
#	bin-api-manager/docsdev/build/doctrees/storage_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/storage_struct_account.doctree
#	bin-api-manager/docsdev/build/doctrees/storage_struct_file.doctree
#	bin-api-manager/docsdev/build/doctrees/streaming_struct_streaming.doctree
#	bin-api-manager/docsdev/build/doctrees/support.doctree
#	bin-api-manager/docsdev/build/doctrees/tag.doctree
#	bin-api-manager/docsdev/build/doctrees/tag_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/tag_struct_tag.doctree
#	bin-api-manager/docsdev/build/doctrees/tag_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/talk.doctree
#	bin-api-manager/docsdev/build/doctrees/talk_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/talk_struct_message.doctree
#	bin-api-manager/docsdev/build/doctrees/talk_struct_participant.doctree
#	bin-api-manager/docsdev/build/doctrees/talk_struct_talk.doctree
#	bin-api-manager/docsdev/build/doctrees/talk_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/team.doctree
#	bin-api-manager/docsdev/build/doctrees/team_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/team_struct_team.doctree
#	bin-api-manager/docsdev/build/doctrees/team_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/timeline.doctree
#	bin-api-manager/docsdev/build/doctrees/timeline_analysis.doctree
#	bin-api-manager/docsdev/build/doctrees/timeline_analysis_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/timeline_analysis_struct_timeline_analysis.doctree
#	bin-api-manager/docsdev/build/doctrees/timeline_analysis_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/timeline_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/timeline_struct_event.doctree
#	bin-api-manager/docsdev/build/doctrees/transcribe.doctree
#	bin-api-manager/docsdev/build/doctrees/transcribe_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/transcribe_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/transcribe_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/transcript_struct_transcript.doctree
#	bin-api-manager/docsdev/build/doctrees/transfer_struct_transfer.doctree
#	bin-api-manager/docsdev/build/doctrees/trunk.doctree
#	bin-api-manager/docsdev/build/doctrees/trunk_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/trunk_overview_domain_name.doctree
#	bin-api-manager/docsdev/build/doctrees/trunk_overview_trunking.doctree
#	bin-api-manager/docsdev/build/doctrees/trunk_struct_trunk.doctree
#	bin-api-manager/docsdev/build/doctrees/variable.doctree
#	bin-api-manager/docsdev/build/doctrees/variable_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/variable_variable.doctree
#	bin-api-manager/docsdev/build/doctrees/webchat.doctree
#	bin-api-manager/docsdev/build/doctrees/webchat_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/webchat_struct_message.doctree
#	bin-api-manager/docsdev/build/doctrees/webchat_struct_session.doctree
#	bin-api-manager/docsdev/build/doctrees/webchat_struct_widget.doctree
#	bin-api-manager/docsdev/build/doctrees/webhook.doctree
#	bin-api-manager/docsdev/build/doctrees/webhook_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/webhook_struct_webhook.doctree
#	bin-api-manager/docsdev/build/doctrees/webhook_tutorial.doctree
#	bin-api-manager/docsdev/build/doctrees/websocket.doctree
#	bin-api-manager/docsdev/build/doctrees/websocket_overview.doctree
#	bin-api-manager/docsdev/build/doctrees/websocket_struct.doctree
#	bin-api-manager/docsdev/build/doctrees/websocket_tutorial.doctree
#	bin-api-manager/docsdev/build/html/searchindex.js
@pchero
pchero merged commit d54d947 into main Sep 14, 2026
2 of 3 checks passed
@pchero
pchero deleted the NOJIRA-service-agents-me-put-partial-update branch September 14, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant