6c92f85d10
Bring the Nexus/Praxis/Hexis integration in line with MAVEN_ECOSYSTEM_ARCHITECTURE.md: - Praxis over HTTP: drop the in-process praxis.db open (praxisstore/ praxistools) and call praxisd's /api/v1/tools/* API via a new praxisClient. Honors the "no component reads another's DB" invariant (AC#12). PraxisConfig.DBPath -> URL. - Hexis confirmation gate: mutating capabilities (ReadOnly=false) now park a bound pendingHexis confirmation and require a spoken "да" before executing; read-only run immediately (AC#7, no auto attention->action). - Capability safety: >1 verb match is ambiguous -> ask instead of firing the first; ambiguous Nexus resolution asks for clarification (AC#2). - Correlation IDs on Hexis execute, recorded in the cross-service trace. - Bug: importance arrives as JSON float64 over HTTP, not int. - Tests: confirm-gate, decline, read-only, and ambiguity paths. Build: vendor/ bakes in the hexis client (replace-directed at a sibling repo outside the Docker context); Dockerfile builds from vendor and no longer `go mod download`s the unreachable replace paths. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
82 lines
2.7 KiB
Go
82 lines
2.7 KiB
Go
// Code generated by modernc.org/undup from the per-target sqlite_*.go files; DO NOT EDIT.
|
|
|
|
//go:build (freebsd && arm64) || (linux && arm64) || (linux && ppc64le) || (linux && riscv64) || (openbsd && arm64)
|
|
|
|
package sqlite3
|
|
|
|
import (
|
|
"unsafe"
|
|
|
|
"modernc.org/libc"
|
|
)
|
|
|
|
// C documentation
|
|
//
|
|
// /*
|
|
// ** Compile the UTF-16 encoded SQL statement zSql into a statement handle.
|
|
// */
|
|
func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags Tu32, ppStmt uintptr, pzTail uintptr) (r int32) {
|
|
bp := tls.Alloc(16)
|
|
defer tls.Free(16)
|
|
var chars_parsed, rc, sz, sz1 int32
|
|
var z, z1, zSql8 uintptr
|
|
var _ /* zTail8 at bp+0 */ uintptr
|
|
_, _, _, _, _, _, _ = chars_parsed, rc, sz, sz1, z, z1, zSql8
|
|
**(**uintptr)(__ccgo_up(bp)) = uintptr(0)
|
|
rc = SQLITE_OK
|
|
**(**uintptr)(__ccgo_up(ppStmt)) = uintptr(0)
|
|
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
|
|
return _sqlite3MisuseError(tls, int32(148902))
|
|
}
|
|
/* Make sure nBytes is non-negative and correct. It should be the
|
|
** number of bytes until the end of the input buffer or until the first
|
|
** U+0000 character. If the input nBytes is odd, convert it into
|
|
** an even number. If the input nBytes is negative, then the input
|
|
** must be terminated by at least one U+0000 character */
|
|
if nBytes >= 0 {
|
|
z = zSql
|
|
sz = 0
|
|
for {
|
|
if !(sz < nBytes && (libc.Int32FromUint8(**(**uint8)(__ccgo_up(z + uintptr(sz)))) != 0 || libc.Int32FromUint8(**(**uint8)(__ccgo_up(z + uintptr(sz+int32(1))))) != 0)) {
|
|
break
|
|
}
|
|
goto _1
|
|
_1:
|
|
;
|
|
sz = sz + int32(2)
|
|
}
|
|
nBytes = sz
|
|
} else {
|
|
z1 = zSql
|
|
sz1 = 0
|
|
for {
|
|
if !(libc.Int32FromUint8(**(**uint8)(__ccgo_up(z1 + uintptr(sz1)))) != 0 || libc.Int32FromUint8(**(**uint8)(__ccgo_up(z1 + uintptr(sz1+int32(1))))) != 0) {
|
|
break
|
|
}
|
|
goto _2
|
|
_2:
|
|
;
|
|
sz1 = sz1 + int32(2)
|
|
}
|
|
nBytes = sz1
|
|
}
|
|
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
|
|
zSql8 = _sqlite3Utf16to8(tls, db, zSql, nBytes, uint8(SQLITE_UTF16LE))
|
|
if zSql8 != 0 {
|
|
rc = _sqlite3LockAndPrepare(tls, db, zSql8, -int32(1), prepFlags, uintptr(0), ppStmt, bp)
|
|
}
|
|
if **(**uintptr)(__ccgo_up(bp)) != 0 && pzTail != 0 {
|
|
/* If sqlite3_prepare returns a tail pointer, we calculate the
|
|
** equivalent pointer into the UTF-16 string by counting the unicode
|
|
** characters between zSql8 and zTail8, and then returning a pointer
|
|
** the same number of characters into the UTF-16 string.
|
|
*/
|
|
chars_parsed = _sqlite3Utf8CharLen(tls, zSql8, int32(int64(**(**uintptr)(__ccgo_up(bp)))-int64(zSql8)))
|
|
**(**uintptr)(__ccgo_up(pzTail)) = zSql + uintptr(_sqlite3Utf16ByteLen(tls, zSql, nBytes, chars_parsed))
|
|
}
|
|
_sqlite3DbFree(tls, db, zSql8)
|
|
rc = _sqlite3ApiExit(tls, db, rc)
|
|
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
|
|
return rc
|
|
}
|