This procedure is defined in the server but not documented via ad_proc or proc_doc and may be intended as a private interface.
The procedure is defined as:
proc ::nsmcp::codeUpstreamMapping {path mappings} {
codeUpstreamPath $path
set selected {}; set longest -1
foreach mapping $mappings {
foreach key {localPrefix repository upstreamPrefix ref} {if {![dict exists $mapping $key]} {error "invalid-upstream-mapping"}}
set prefix [codeUpstreamPath [dict get $mapping localPrefix]]
if {[string index $prefix end] ne "/"} {error "upstream-local-prefix-must-end-in-slash"}
set repo [dict get $mapping repository]
if {![regexp {^[A-Za-z0-9][A-Za-z0-9_.-]*/[A-Za-z0-9][A-Za-z0-9_.-]*$} $repo]} {error "invalid-upstream-repository"}
set remote [codeUpstreamPath [dict get $mapping upstreamPrefix] true]
if {$remote ne {} && [string index $remote end] ne "/"} {error "upstream-prefix-must-end-in-slash"}
codeUpstreamRef [dict get $mapping ref]
if {[dict exists $mapping baselineRef] && [dict get $mapping baselineRef] ne {}} {codeUpstreamRef [dict get $mapping baselineRef]}
if {[string first $prefix $path]==0 && [string length $prefix]>$longest} {
set selected $mapping; set longest [string length $prefix]
dict set selected path $remote[string range $path $longest end]
}
}
if {$selected eq {}} {error "upstream-mapping-not-configured"}
codeUpstreamPath [dict get $selected path]
return $selected
}