pybao-xc-sdk 1.5.279 → 1.5.281
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/lib/runtime-resolver.cjs +153 -140
- package/package.json +269 -268
package/lib/runtime-resolver.cjs
CHANGED
|
@@ -1,140 +1,153 @@
|
|
|
1
|
-
const fs = require('node:fs')
|
|
2
|
-
const path = require('node:path')
|
|
3
|
-
const { spawnSync } = require('node:child_process')
|
|
4
|
-
const {
|
|
5
|
-
detectRuntimePlatform,
|
|
6
|
-
getRuntimeBinaryName,
|
|
7
|
-
getRuntimePackageName,
|
|
8
|
-
} = require('./platform.cjs')
|
|
9
|
-
|
|
10
|
-
function findPackageRoot(startDir) {
|
|
11
|
-
let dir = startDir
|
|
12
|
-
for (let i = 0; i < 25; i += 1) {
|
|
13
|
-
if (fs.existsSync(path.join(dir, 'package.json'))) return dir
|
|
14
|
-
const parent = path.dirname(dir)
|
|
15
|
-
if (parent === dir) break
|
|
16
|
-
dir = parent
|
|
17
|
-
}
|
|
18
|
-
return startDir
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function resolveRuntimeFromOptionalDependency(packageRoot, packageName) {
|
|
22
|
-
try {
|
|
23
|
-
const manifestPath = require.resolve(`${packageName}/manifest.json`, {
|
|
24
|
-
paths: [packageRoot],
|
|
25
|
-
})
|
|
26
|
-
const manifestDir = path.dirname(manifestPath)
|
|
27
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'))
|
|
28
|
-
const binary = manifest?.binary
|
|
29
|
-
const resourcesRoot = manifest?.resourcesRoot
|
|
30
|
-
if (typeof binary !== 'string' || !binary.trim()) {
|
|
31
|
-
throw new Error(`invalid runtime manifest in ${packageName}: missing binary`)
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
runtimeRoot: manifestDir,
|
|
35
|
-
binaryPath: path.resolve(manifestDir, binary),
|
|
36
|
-
resourcesRoot:
|
|
37
|
-
typeof resourcesRoot === 'string' && resourcesRoot.trim()
|
|
38
|
-
? path.resolve(manifestDir, resourcesRoot)
|
|
39
|
-
: path.resolve(manifestDir, 'resources'),
|
|
40
|
-
source: 'optionalDependency',
|
|
41
|
-
}
|
|
42
|
-
} catch {
|
|
43
|
-
return null
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function resolveRuntimeFromPackageDir(runtimeRoot, source) {
|
|
48
|
-
const manifestPath = path.join(runtimeRoot, 'manifest.json')
|
|
49
|
-
if (!fs.existsSync(manifestPath)) return null
|
|
50
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'))
|
|
51
|
-
const binary = manifest?.binary
|
|
52
|
-
const resourcesRoot = manifest?.resourcesRoot
|
|
53
|
-
if (typeof binary !== 'string' || !binary.trim()) {
|
|
54
|
-
throw new Error(`invalid runtime manifest in ${runtimeRoot}: missing binary`)
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
runtimeRoot,
|
|
58
|
-
binaryPath: path.resolve(runtimeRoot, binary),
|
|
59
|
-
resourcesRoot:
|
|
60
|
-
typeof resourcesRoot === 'string' && resourcesRoot.trim()
|
|
61
|
-
? path.resolve(runtimeRoot, resourcesRoot)
|
|
62
|
-
: path.resolve(runtimeRoot, 'resources'),
|
|
63
|
-
source,
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function resolveRuntimeFromLocalCache(packageRoot, platformSuffix) {
|
|
68
|
-
return (
|
|
69
|
-
resolveRuntimeFromPackageDir(
|
|
70
|
-
path.join(packageRoot, 'native', 'runtime-packages', platformSuffix),
|
|
71
|
-
'localPackage',
|
|
72
|
-
) ||
|
|
73
|
-
resolveRuntimeFromPackageDir(path.join(packageRoot, 'runtime', platformSuffix), 'localCache')
|
|
74
|
-
)
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function resolveRuntime(packageRoot) {
|
|
78
|
-
const platformSuffix = detectRuntimePlatform()
|
|
79
|
-
if (!platformSuffix) {
|
|
80
|
-
throw new Error(`Unsupported platform: ${process.platform}-${process.arch}`)
|
|
81
|
-
}
|
|
82
|
-
const packageName = getRuntimePackageName(platformSuffix)
|
|
83
|
-
const explicitRuntimeRoot = process.env.PYB_RUNTIME_PACKAGE_ROOT?.trim()
|
|
84
|
-
if (explicitRuntimeRoot) {
|
|
85
|
-
const explicitRuntime = resolveRuntimeFromPackageDir(
|
|
86
|
-
path.resolve(explicitRuntimeRoot),
|
|
87
|
-
'explicitRuntimePackageRoot',
|
|
88
|
-
)
|
|
89
|
-
if (explicitRuntime) {
|
|
90
|
-
return { ...explicitRuntime, platformSuffix, packageName }
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
const dependencyRuntime =
|
|
94
|
-
packageName && resolveRuntimeFromOptionalDependency(packageRoot, packageName)
|
|
95
|
-
if (dependencyRuntime) {
|
|
96
|
-
return { ...dependencyRuntime, platformSuffix, packageName }
|
|
97
|
-
}
|
|
98
|
-
const localRuntime = resolveRuntimeFromLocalCache(packageRoot, platformSuffix)
|
|
99
|
-
if (localRuntime) {
|
|
100
|
-
return { ...localRuntime, platformSuffix, packageName }
|
|
101
|
-
}
|
|
102
|
-
throw new Error(
|
|
103
|
-
[
|
|
104
|
-
`Runtime package for ${platformSuffix} is not installed.`,
|
|
105
|
-
`Expected optional dependency: ${packageName}`,
|
|
106
|
-
'Reinstall or ensure the platform runtime package is available.',
|
|
107
|
-
].join('\n'),
|
|
108
|
-
)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function runResolvedBinary(options = {}) {
|
|
112
|
-
const packageRoot = options.packageRoot ?? findPackageRoot(__dirname)
|
|
113
|
-
const passthroughArgs = Array.isArray(options.args) ? options.args : process.argv.slice(2)
|
|
114
|
-
const prependArgs = Array.isArray(options.prependArgs) ? options.prependArgs : []
|
|
115
|
-
const runtime = resolveRuntime(packageRoot)
|
|
116
|
-
const runtimeNodeModules = path.join(runtime.runtimeRoot, 'node_modules')
|
|
117
|
-
const pathDelimiter = process.platform === 'win32' ? ';' : ':'
|
|
118
|
-
const nodePath = process.env.NODE_PATH?.trim()
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
1
|
+
const fs = require('node:fs')
|
|
2
|
+
const path = require('node:path')
|
|
3
|
+
const { spawnSync } = require('node:child_process')
|
|
4
|
+
const {
|
|
5
|
+
detectRuntimePlatform,
|
|
6
|
+
getRuntimeBinaryName,
|
|
7
|
+
getRuntimePackageName,
|
|
8
|
+
} = require('./platform.cjs')
|
|
9
|
+
|
|
10
|
+
function findPackageRoot(startDir) {
|
|
11
|
+
let dir = startDir
|
|
12
|
+
for (let i = 0; i < 25; i += 1) {
|
|
13
|
+
if (fs.existsSync(path.join(dir, 'package.json'))) return dir
|
|
14
|
+
const parent = path.dirname(dir)
|
|
15
|
+
if (parent === dir) break
|
|
16
|
+
dir = parent
|
|
17
|
+
}
|
|
18
|
+
return startDir
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function resolveRuntimeFromOptionalDependency(packageRoot, packageName) {
|
|
22
|
+
try {
|
|
23
|
+
const manifestPath = require.resolve(`${packageName}/manifest.json`, {
|
|
24
|
+
paths: [packageRoot],
|
|
25
|
+
})
|
|
26
|
+
const manifestDir = path.dirname(manifestPath)
|
|
27
|
+
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'))
|
|
28
|
+
const binary = manifest?.binary
|
|
29
|
+
const resourcesRoot = manifest?.resourcesRoot
|
|
30
|
+
if (typeof binary !== 'string' || !binary.trim()) {
|
|
31
|
+
throw new Error(`invalid runtime manifest in ${packageName}: missing binary`)
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
runtimeRoot: manifestDir,
|
|
35
|
+
binaryPath: path.resolve(manifestDir, binary),
|
|
36
|
+
resourcesRoot:
|
|
37
|
+
typeof resourcesRoot === 'string' && resourcesRoot.trim()
|
|
38
|
+
? path.resolve(manifestDir, resourcesRoot)
|
|
39
|
+
: path.resolve(manifestDir, 'resources'),
|
|
40
|
+
source: 'optionalDependency',
|
|
41
|
+
}
|
|
42
|
+
} catch {
|
|
43
|
+
return null
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function resolveRuntimeFromPackageDir(runtimeRoot, source) {
|
|
48
|
+
const manifestPath = path.join(runtimeRoot, 'manifest.json')
|
|
49
|
+
if (!fs.existsSync(manifestPath)) return null
|
|
50
|
+
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'))
|
|
51
|
+
const binary = manifest?.binary
|
|
52
|
+
const resourcesRoot = manifest?.resourcesRoot
|
|
53
|
+
if (typeof binary !== 'string' || !binary.trim()) {
|
|
54
|
+
throw new Error(`invalid runtime manifest in ${runtimeRoot}: missing binary`)
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
runtimeRoot,
|
|
58
|
+
binaryPath: path.resolve(runtimeRoot, binary),
|
|
59
|
+
resourcesRoot:
|
|
60
|
+
typeof resourcesRoot === 'string' && resourcesRoot.trim()
|
|
61
|
+
? path.resolve(runtimeRoot, resourcesRoot)
|
|
62
|
+
: path.resolve(runtimeRoot, 'resources'),
|
|
63
|
+
source,
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function resolveRuntimeFromLocalCache(packageRoot, platformSuffix) {
|
|
68
|
+
return (
|
|
69
|
+
resolveRuntimeFromPackageDir(
|
|
70
|
+
path.join(packageRoot, 'native', 'runtime-packages', platformSuffix),
|
|
71
|
+
'localPackage',
|
|
72
|
+
) ||
|
|
73
|
+
resolveRuntimeFromPackageDir(path.join(packageRoot, 'runtime', platformSuffix), 'localCache')
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function resolveRuntime(packageRoot) {
|
|
78
|
+
const platformSuffix = detectRuntimePlatform()
|
|
79
|
+
if (!platformSuffix) {
|
|
80
|
+
throw new Error(`Unsupported platform: ${process.platform}-${process.arch}`)
|
|
81
|
+
}
|
|
82
|
+
const packageName = getRuntimePackageName(platformSuffix)
|
|
83
|
+
const explicitRuntimeRoot = process.env.PYB_RUNTIME_PACKAGE_ROOT?.trim()
|
|
84
|
+
if (explicitRuntimeRoot) {
|
|
85
|
+
const explicitRuntime = resolveRuntimeFromPackageDir(
|
|
86
|
+
path.resolve(explicitRuntimeRoot),
|
|
87
|
+
'explicitRuntimePackageRoot',
|
|
88
|
+
)
|
|
89
|
+
if (explicitRuntime) {
|
|
90
|
+
return { ...explicitRuntime, platformSuffix, packageName }
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const dependencyRuntime =
|
|
94
|
+
packageName && resolveRuntimeFromOptionalDependency(packageRoot, packageName)
|
|
95
|
+
if (dependencyRuntime) {
|
|
96
|
+
return { ...dependencyRuntime, platformSuffix, packageName }
|
|
97
|
+
}
|
|
98
|
+
const localRuntime = resolveRuntimeFromLocalCache(packageRoot, platformSuffix)
|
|
99
|
+
if (localRuntime) {
|
|
100
|
+
return { ...localRuntime, platformSuffix, packageName }
|
|
101
|
+
}
|
|
102
|
+
throw new Error(
|
|
103
|
+
[
|
|
104
|
+
`Runtime package for ${platformSuffix} is not installed.`,
|
|
105
|
+
`Expected optional dependency: ${packageName}`,
|
|
106
|
+
'Reinstall or ensure the platform runtime package is available.',
|
|
107
|
+
].join('\n'),
|
|
108
|
+
)
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function runResolvedBinary(options = {}) {
|
|
112
|
+
const packageRoot = options.packageRoot ?? findPackageRoot(__dirname)
|
|
113
|
+
const passthroughArgs = Array.isArray(options.args) ? options.args : process.argv.slice(2)
|
|
114
|
+
const prependArgs = Array.isArray(options.prependArgs) ? options.prependArgs : []
|
|
115
|
+
const runtime = resolveRuntime(packageRoot)
|
|
116
|
+
const runtimeNodeModules = path.join(runtime.runtimeRoot, 'node_modules')
|
|
117
|
+
const pathDelimiter = process.platform === 'win32' ? ';' : ':'
|
|
118
|
+
const nodePath = process.env.NODE_PATH?.trim()
|
|
119
|
+
// Absolute-entry env channel (same pattern as PYB_NATIVE_LOCK_NODE_PATH):
|
|
120
|
+
// ESM dynamic import ignores NODE_PATH, so point straight at the embedded
|
|
121
|
+
// sharp entry file inside the runtime package resources (Node's import()
|
|
122
|
+
// does not resolve package directories, only files).
|
|
123
|
+
const embeddedSharpEntry = path.join(
|
|
124
|
+
runtime.resourcesRoot,
|
|
125
|
+
'sharp-node',
|
|
126
|
+
'node_modules',
|
|
127
|
+
'sharp',
|
|
128
|
+
'lib',
|
|
129
|
+
'index.js',
|
|
130
|
+
)
|
|
131
|
+
const env = {
|
|
132
|
+
...process.env,
|
|
133
|
+
PYB_RUNTIME_ROOT: runtime.runtimeRoot,
|
|
134
|
+
PYB_RUNTIME_EXECUTOR: runtime.source,
|
|
135
|
+
PYB_PACKAGED: process.env.PYB_PACKAGED || '1',
|
|
136
|
+
PYB_SHARP_ENTRY: fs.existsSync(embeddedSharpEntry) ? embeddedSharpEntry : '',
|
|
137
|
+
NODE_PATH: nodePath ? `${runtimeNodeModules}${pathDelimiter}${nodePath}` : runtimeNodeModules,
|
|
138
|
+
}
|
|
139
|
+
const result = spawnSync(runtime.binaryPath, [...prependArgs, ...passthroughArgs], {
|
|
140
|
+
stdio: 'inherit',
|
|
141
|
+
env,
|
|
142
|
+
})
|
|
143
|
+
if (result.error) {
|
|
144
|
+
throw result.error
|
|
145
|
+
}
|
|
146
|
+
return typeof result.status === 'number' ? result.status : 1
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
module.exports = {
|
|
150
|
+
findPackageRoot,
|
|
151
|
+
resolveRuntime,
|
|
152
|
+
runResolvedBinary,
|
|
153
|
+
}
|
package/package.json
CHANGED
|
@@ -1,268 +1,269 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "pybao-xc-sdk",
|
|
3
|
-
"version": "1.5.
|
|
4
|
-
"bin": {
|
|
5
|
-
"pyb": "bin/pyb.js",
|
|
6
|
-
"pyb-acp": "bin/pyb-acp.js"
|
|
7
|
-
},
|
|
8
|
-
"engines": {
|
|
9
|
-
"node": ">=20.18.1"
|
|
10
|
-
},
|
|
11
|
-
"main": "lib/runtime-resolver.cjs",
|
|
12
|
-
"author": "PYB-XC",
|
|
13
|
-
"license": "MIT",
|
|
14
|
-
"description": "PYB-CLI - Minimal AI Agent with multi-model support and CLI interface",
|
|
15
|
-
"workspaces": [
|
|
16
|
-
"packages/sdk"
|
|
17
|
-
],
|
|
18
|
-
"keywords": [
|
|
19
|
-
"ai",
|
|
20
|
-
"agent",
|
|
21
|
-
"minimal",
|
|
22
|
-
"claude"
|
|
23
|
-
],
|
|
24
|
-
"homepage": "https://github.com/pyb-xc/pyb-ts",
|
|
25
|
-
"repository": {
|
|
26
|
-
"type": "git",
|
|
27
|
-
"url": "git+https://github.com/pyb-xc/pyb-ts.git"
|
|
28
|
-
},
|
|
29
|
-
"bugs": {
|
|
30
|
-
"url": "https://github.com/pyb-xc/pyb-ts/issues"
|
|
31
|
-
},
|
|
32
|
-
"files": [
|
|
33
|
-
"bin/pyb.js",
|
|
34
|
-
"bin/pyb-acp.js",
|
|
35
|
-
"lib/**/*",
|
|
36
|
-
"install.cjs",
|
|
37
|
-
"README.md",
|
|
38
|
-
"LICENSE"
|
|
39
|
-
],
|
|
40
|
-
"scripts": {
|
|
41
|
-
"dev": "bun run ./src/entrypoints/cli.tsx --verbose",
|
|
42
|
-
"dev:server": "bun --eval \"import { startServer } from './src/server/index.ts'; await startServer({ port: 4096 }); await new Promise(() => {});\"",
|
|
43
|
-
"build:npm": "bun scripts/build.mjs",
|
|
44
|
-
"build": "npm run build:npm",
|
|
45
|
-
"build:sdk": "npm --prefix ./packages/sdk run build",
|
|
46
|
-
"generate:sdk": "node scripts/sdk-generate.mjs",
|
|
47
|
-
"check:sdk-generated": "node scripts/sdk-check-generated.mjs",
|
|
48
|
-
"check:compat-window": "node scripts/sdk-compat-window-gate.mjs",
|
|
49
|
-
"generate:legacy-mapping": "node scripts/sdk-legacy-mapping-report.mjs",
|
|
50
|
-
"check:legacy-usage": "node scripts/sdk-legacy-usage-gate.mjs",
|
|
51
|
-
"report:legacy-usage-trend": "node scripts/sdk-legacy-usage-trend-report.mjs",
|
|
52
|
-
"check:legacy-window": "node scripts/sdk-legacy-window-gate.mjs",
|
|
53
|
-
"check:docs-consistency": "node scripts/sdk-docs-consistency-gate.mjs",
|
|
54
|
-
"check:major-cutover": "node scripts/sdk-major-cutover-gate.mjs",
|
|
55
|
-
"check:facade-closeout": "node scripts/sdk-facade-closeout-gate.mjs",
|
|
56
|
-
"check:sdk-consistency": "node scripts/sdk-consistency-gate.mjs",
|
|
57
|
-
"check:sdk-contract-consistency": "node scripts/sdk-contract-consistency-gate.mjs",
|
|
58
|
-
"check:sdk-legacy-semantics": "node scripts/sdk-legacy-semantics-gate.mjs",
|
|
59
|
-
"build:binary": "bun scripts/build-binary.mjs",
|
|
60
|
-
"build:runtime-audit": "bun scripts/build-runtime-audit-binary.mjs",
|
|
61
|
-
"build:runtime-package": "bun scripts/build-runtime-package.mjs",
|
|
62
|
-
"verify:runtime-isolation": "node scripts/runtime-isolation-smoke.mjs",
|
|
63
|
-
"smoke:commit-floor": "node scripts/commit-floor-smoke.mjs",
|
|
64
|
-
"smoke:runtime-isolation": "npm run build:binary && npm run build:runtime-package && npm run build:runtime-audit && npm run verify:runtime-isolation",
|
|
65
|
-
"build:native-lock": "node scripts/build-native-lock.mjs",
|
|
66
|
-
"clean": "node scripts/clean.mjs",
|
|
67
|
-
"prepublishOnly": "bun scripts/sync-runtime-package-metadata.mjs && node scripts/prepublish-check.js",
|
|
68
|
-
"postinstall": "node install.cjs || true",
|
|
69
|
-
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\" \"tests/**/*.{ts,tsx,js,jsx,json}\"",
|
|
70
|
-
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json}\" \"tests/**/*.{ts,tsx,js,jsx,json}\"",
|
|
71
|
-
"lint": "eslint . --ext .ts,.tsx,.js --max-warnings 0",
|
|
72
|
-
"lint:fix": "eslint . --ext .ts,.tsx,.js --fix",
|
|
73
|
-
"test": "bun test tests",
|
|
74
|
-
"test:all": "bun test",
|
|
75
|
-
"test:unit": "bun test --preload ./tests/setup/native-lock-test-setup.ts tests/unit && node scripts/assert-project-identity-boundary.mjs",
|
|
76
|
-
"test:integration": "bun test tests/integration",
|
|
77
|
-
"test:e2e": "bun test tests/e2e",
|
|
78
|
-
"smoke:builtin-mcp": "bun test tests/contract/p4c-builtin-mcp-inventory.contract.test.ts tests/contract/builtin-browser-capability.contract.test.ts tests/contract/builtin-desktop-capability.contract.test.ts tests/contract/p27-mcp-permission-module.contract.test.ts tests/unit/builtin-browser-diagnostics.test.ts tests/unit/builtin-desktop-diagnostics.test.ts tests/unit/p4b-desktop-permission-request.test.tsx tests/integration/builtin-browser-inmemory-client.test.ts tests/integration/builtin-desktop-inmemory-client.test.ts",
|
|
79
|
-
"test:server": "bun test tests/unit/sdk-batch-a-closure.test.ts tests/unit/sdk-batch-b-queryrunner.test.ts tests/unit/sdk-batch-c-sse.test.ts tests/unit/sdk-batch-d-openapi.test.ts tests/unit/sdk-batch-e-capability.test.ts tests/unit/sdk-batch-f-release.test.ts tests/unit/sdk-batch-g-generation.test.ts tests/unit/sdk-batch-h-facade.test.ts tests/unit/sdk-batch-i-lifecycle.test.ts tests/unit/sdk-batch-j-sse-first-class.test.ts tests/unit/sdk-batch-k-release-gate.test.ts tests/unit/sdk-batch-l-mapping-baseline.test.ts tests/unit/sdk-batch-m-docs-deprecate.test.ts tests/unit/sdk-batch-n-window-block.test.ts tests/unit/sdk-batch-o-major-cutover.test.ts tests/unit/sdk-batch-p-governance-closeout.test.ts tests/unit/sdk-batch-q1-runtime-guard.test.ts tests/unit/sdk-batch-q2-contract-capability.test.ts tests/unit/sdk-batch-q3-legacy-semantics.test.ts tests/unit/sdk-batch-r-model-platform-a0.test.ts tests/unit/sdk-batch-r-model-platform-a-read-routes.test.ts tests/unit/sdk-batch-r-model-platform-b-facade.test.ts tests/unit/sdk-batch-r-model-platform-c-auth-write.test.ts tests/unit/sdk-batch-r-model-platform-d-default-model-write.test.ts tests/unit/sdk-batch-r-model-platform-mp0-contract-freeze.test.ts tests/unit/sdk-batch-r-model-platform-mp1-source-resolver.test.ts tests/unit/sdk-batch-r-model-platform-mp2-provider-catalog.test.ts tests/unit/sdk-batch-r-model-platform-mp3-auth-kernel.test.ts tests/unit/sdk-batch-r-model-platform-mp4-model-catalog-policy.test.ts tests/unit/sdk-batch-r-model-platform-mp5-facade-drift-guard.test.ts tests/unit/sdk-batch-r-model-platform-pm0-runtime-core-freeze.test.ts tests/unit/sdk-batch-r-model-platform-pm1-source-merge.test.ts tests/unit/sdk-batch-r-model-platform-pm2-provider-registry.test.ts tests/unit/sdk-batch-r-model-platform-pm3-model-catalog.test.ts tests/unit/sdk-batch-r-model-platform-pm4-provider-runtime-factory.test.ts tests/unit/sdk-batch-r-model-platform-pm5-sdk-runtime-facade.test.ts tests/unit/sdk-batch-s0-a0-publish-baseline.test.ts tests/unit/sdk-batch-s0-a-publish-gate.test.ts tests/unit/sdk-batch-s0-b-version-single-source.test.ts tests/unit/sdk-batch-s0-c-config-validation.test.ts tests/unit/sdk-batch-s0-d-error-model.test.ts tests/unit/cowork-m1-a0-session-cwd-baseline.test.ts tests/unit/cowork-m1-a-session-cwd-contract.test.ts tests/unit/cowork-m1-b-session-cwd-scope.test.ts tests/unit/cowork-m1-c-session-cwd-concurrency.test.ts tests/unit/cowork-m1-d-consumer-workspace-gate.test.ts",
|
|
80
|
-
"gate:runtime-assets": "bun run scripts/runtime-assets-gate-check.mjs",
|
|
81
|
-
"preflight:runtime-assets": "node scripts/runtime-assets-preflight.mjs",
|
|
82
|
-
"verify:runtime-assets": "node scripts/runtime-assets-verify.mjs",
|
|
83
|
-
"validate:runtime-assets-contract": "node scripts/runtime-assets-schema-validate.mjs",
|
|
84
|
-
"gate:runtime-assets-threshold": "node scripts/runtime-assets-threshold-gate.mjs",
|
|
85
|
-
"gate:runtime-assets-trend-store": "node scripts/runtime-assets-trend-store.mjs",
|
|
86
|
-
"gate:runtime-assets-trend": "node scripts/runtime-assets-trend-gate.mjs",
|
|
87
|
-
"report:runtime-assets-trend": "node scripts/runtime-assets-trend-report.mjs",
|
|
88
|
-
"gate:model-platform-closeout": "node scripts/model-platform-closeout-gate.mjs",
|
|
89
|
-
"gate:typed-compat-retirement": "node scripts/typed-compat-retirement-gate.mjs",
|
|
90
|
-
"gate:query-adapter-boundary": "node scripts/query-adapter-boundary-gate.mjs",
|
|
91
|
-
"gate:session-contract": "node scripts/session-contract-gate.mjs",
|
|
92
|
-
"gate:session-behavior-invariant": "node scripts/session-behavior-invariant-gate.mjs",
|
|
93
|
-
"gate:session-project": "node scripts/session-project-gate.mjs",
|
|
94
|
-
"gate:protected-tool-names": "node scripts/protected-tool-names-gate.mjs",
|
|
95
|
-
"gate:lsp-semantic-unknown-ratio": "node scripts/lsp-semantic-unknown-ratio-gate.mjs",
|
|
96
|
-
"gate:lsp-a0-baseline": "node scripts/lsp-a0-baseline-gate.mjs --samples-file tests/fixtures/lsp/a0-baseline-samples.json --min-total 120 --min-per-operation 30",
|
|
97
|
-
"gate:tool-name-a0-baseline": "node scripts/tool-name-a0-baseline-gate.mjs",
|
|
98
|
-
"gate:lsp-a2prime-behavior-invariant": "node scripts/lsp-a2prime-behavior-invariant-gate.mjs --mode run",
|
|
99
|
-
"plan:typed-compat-retirement": "node scripts/typed-compat-retirement-plan.mjs",
|
|
100
|
-
"enforce:typed-compat-retirement": "node scripts/typed-compat-retirement-enforce.mjs",
|
|
101
|
-
"gate:typed-sql-release": "node scripts/typed-sql-release-gate.mjs",
|
|
102
|
-
"gate:typed-sql-schema": "node scripts/typed-sql-schema-guard.mjs",
|
|
103
|
-
"smoke:typed-sql-install": "node scripts/typed-sql-install-smoke.mjs",
|
|
104
|
-
"gate:typed-sql-no-fallback": "node scripts/typed-sql-no-fallback-gate.mjs",
|
|
105
|
-
"benchmark:typed-part-baseline": "bun scripts/typed-part-baseline-benchmark.mjs",
|
|
106
|
-
"gate:typed-part-performance": "node scripts/typed-part-performance-gate.mjs",
|
|
107
|
-
"typecheck": "tsc --noEmit",
|
|
108
|
-
"release:gate": "npm run generate:sdk && npm run check:sdk-generated && npm run generate:legacy-mapping && npm run check:legacy-usage && npm run report:legacy-usage-trend && npm run check:legacy-window && npm run check:docs-consistency && npm run check:major-cutover && npm run check:facade-closeout && npm run check:sdk-consistency && npm run check:sdk-contract-consistency && npm run check:sdk-legacy-semantics && npm run check:compat-window && npm run build:sdk && npm run test:server && npm run lint && npm run typecheck",
|
|
109
|
-
"prepare": "bun run scripts/install-hooks.mjs",
|
|
110
|
-
"sync:native-lock": "node scripts/sync-native-lock-versions.mjs",
|
|
111
|
-
"sync:
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"publish:
|
|
116
|
-
"
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"@anthropic-ai/sdk": "^0.
|
|
121
|
-
"@anthropic-ai/
|
|
122
|
-
"@
|
|
123
|
-
"@
|
|
124
|
-
"@
|
|
125
|
-
"@
|
|
126
|
-
"@
|
|
127
|
-
"@
|
|
128
|
-
"@
|
|
129
|
-
"@types/
|
|
130
|
-
"@
|
|
131
|
-
"@
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"cli-
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"ink
|
|
154
|
-
"ink-
|
|
155
|
-
"ink-
|
|
156
|
-
"
|
|
157
|
-
"
|
|
158
|
-
"
|
|
159
|
-
"
|
|
160
|
-
"
|
|
161
|
-
"
|
|
162
|
-
"
|
|
163
|
-
"
|
|
164
|
-
"
|
|
165
|
-
"
|
|
166
|
-
"
|
|
167
|
-
"
|
|
168
|
-
"
|
|
169
|
-
"
|
|
170
|
-
"
|
|
171
|
-
"
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
"
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
"
|
|
180
|
-
"vscode-
|
|
181
|
-
"
|
|
182
|
-
"
|
|
183
|
-
"
|
|
184
|
-
"
|
|
185
|
-
"
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
"@
|
|
190
|
-
"@types/
|
|
191
|
-
"@types/
|
|
192
|
-
"@types/
|
|
193
|
-
"@
|
|
194
|
-
"@typescript-eslint/
|
|
195
|
-
"
|
|
196
|
-
"
|
|
197
|
-
"
|
|
198
|
-
"
|
|
199
|
-
"
|
|
200
|
-
"eslint
|
|
201
|
-
"
|
|
202
|
-
"
|
|
203
|
-
"
|
|
204
|
-
"
|
|
205
|
-
"
|
|
206
|
-
"tree-sitter-
|
|
207
|
-
"tree-sitter-
|
|
208
|
-
"tree-sitter-
|
|
209
|
-
"tree-sitter-
|
|
210
|
-
"tree-sitter-
|
|
211
|
-
"tree-sitter-
|
|
212
|
-
"tree-sitter-
|
|
213
|
-
"tree-sitter-
|
|
214
|
-
"tree-sitter-
|
|
215
|
-
"tree-sitter-
|
|
216
|
-
"tree-sitter-
|
|
217
|
-
"tree-sitter-
|
|
218
|
-
"tree-sitter-
|
|
219
|
-
"tree-sitter-
|
|
220
|
-
"
|
|
221
|
-
"
|
|
222
|
-
"
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
"@
|
|
227
|
-
"
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
"@puyib-cli/lock-darwin-
|
|
232
|
-
"@puyib-cli/lock-
|
|
233
|
-
"@puyib-cli/lock-linux-
|
|
234
|
-
"@puyib-cli/lock-linux-
|
|
235
|
-
"@puyib-cli/lock-linux-x64-
|
|
236
|
-
"@puyib-cli/lock-
|
|
237
|
-
"@puyib-cli/lock-win32-
|
|
238
|
-
"
|
|
239
|
-
"pyb-runtime-darwin-
|
|
240
|
-
"pyb-runtime-
|
|
241
|
-
"pyb-runtime-linux-
|
|
242
|
-
"pyb-runtime-linux-
|
|
243
|
-
"pyb-runtime-linux-x64-
|
|
244
|
-
"pyb-runtime-
|
|
245
|
-
"pyb-runtime-win32-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
"win32-
|
|
250
|
-
"
|
|
251
|
-
"linux-x64-
|
|
252
|
-
"linux-
|
|
253
|
-
"linux-
|
|
254
|
-
"
|
|
255
|
-
"darwin-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
"
|
|
259
|
-
|
|
260
|
-
"win32-
|
|
261
|
-
"
|
|
262
|
-
"linux-x64-
|
|
263
|
-
"linux-
|
|
264
|
-
"linux-
|
|
265
|
-
"
|
|
266
|
-
"darwin-
|
|
267
|
-
|
|
268
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "pybao-xc-sdk",
|
|
3
|
+
"version": "1.5.281",
|
|
4
|
+
"bin": {
|
|
5
|
+
"pyb": "bin/pyb.js",
|
|
6
|
+
"pyb-acp": "bin/pyb-acp.js"
|
|
7
|
+
},
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=20.18.1"
|
|
10
|
+
},
|
|
11
|
+
"main": "lib/runtime-resolver.cjs",
|
|
12
|
+
"author": "PYB-XC",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"description": "PYB-CLI - Minimal AI Agent with multi-model support and CLI interface",
|
|
15
|
+
"workspaces": [
|
|
16
|
+
"packages/sdk"
|
|
17
|
+
],
|
|
18
|
+
"keywords": [
|
|
19
|
+
"ai",
|
|
20
|
+
"agent",
|
|
21
|
+
"minimal",
|
|
22
|
+
"claude"
|
|
23
|
+
],
|
|
24
|
+
"homepage": "https://github.com/pyb-xc/pyb-ts",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/pyb-xc/pyb-ts.git"
|
|
28
|
+
},
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/pyb-xc/pyb-ts/issues"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"bin/pyb.js",
|
|
34
|
+
"bin/pyb-acp.js",
|
|
35
|
+
"lib/**/*",
|
|
36
|
+
"install.cjs",
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE"
|
|
39
|
+
],
|
|
40
|
+
"scripts": {
|
|
41
|
+
"dev": "bun run ./src/entrypoints/cli.tsx --verbose",
|
|
42
|
+
"dev:server": "bun --eval \"import { startServer } from './src/server/index.ts'; await startServer({ port: 4096 }); await new Promise(() => {});\"",
|
|
43
|
+
"build:npm": "bun scripts/build.mjs",
|
|
44
|
+
"build": "npm run build:npm",
|
|
45
|
+
"build:sdk": "npm --prefix ./packages/sdk run build",
|
|
46
|
+
"generate:sdk": "node scripts/sdk-generate.mjs",
|
|
47
|
+
"check:sdk-generated": "node scripts/sdk-check-generated.mjs",
|
|
48
|
+
"check:compat-window": "node scripts/sdk-compat-window-gate.mjs",
|
|
49
|
+
"generate:legacy-mapping": "node scripts/sdk-legacy-mapping-report.mjs",
|
|
50
|
+
"check:legacy-usage": "node scripts/sdk-legacy-usage-gate.mjs",
|
|
51
|
+
"report:legacy-usage-trend": "node scripts/sdk-legacy-usage-trend-report.mjs",
|
|
52
|
+
"check:legacy-window": "node scripts/sdk-legacy-window-gate.mjs",
|
|
53
|
+
"check:docs-consistency": "node scripts/sdk-docs-consistency-gate.mjs",
|
|
54
|
+
"check:major-cutover": "node scripts/sdk-major-cutover-gate.mjs",
|
|
55
|
+
"check:facade-closeout": "node scripts/sdk-facade-closeout-gate.mjs",
|
|
56
|
+
"check:sdk-consistency": "node scripts/sdk-consistency-gate.mjs",
|
|
57
|
+
"check:sdk-contract-consistency": "node scripts/sdk-contract-consistency-gate.mjs",
|
|
58
|
+
"check:sdk-legacy-semantics": "node scripts/sdk-legacy-semantics-gate.mjs",
|
|
59
|
+
"build:binary": "bun scripts/build-binary.mjs",
|
|
60
|
+
"build:runtime-audit": "bun scripts/build-runtime-audit-binary.mjs",
|
|
61
|
+
"build:runtime-package": "bun scripts/build-runtime-package.mjs",
|
|
62
|
+
"verify:runtime-isolation": "node scripts/runtime-isolation-smoke.mjs",
|
|
63
|
+
"smoke:commit-floor": "node scripts/commit-floor-smoke.mjs",
|
|
64
|
+
"smoke:runtime-isolation": "npm run build:binary && npm run build:runtime-package && npm run build:runtime-audit && npm run verify:runtime-isolation",
|
|
65
|
+
"build:native-lock": "node scripts/build-native-lock.mjs",
|
|
66
|
+
"clean": "node scripts/clean.mjs",
|
|
67
|
+
"prepublishOnly": "bun scripts/sync-runtime-package-metadata.mjs && node scripts/prepublish-check.js",
|
|
68
|
+
"postinstall": "node install.cjs || true",
|
|
69
|
+
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\" \"tests/**/*.{ts,tsx,js,jsx,json}\"",
|
|
70
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json}\" \"tests/**/*.{ts,tsx,js,jsx,json}\"",
|
|
71
|
+
"lint": "eslint . --ext .ts,.tsx,.js --max-warnings 0",
|
|
72
|
+
"lint:fix": "eslint . --ext .ts,.tsx,.js --fix",
|
|
73
|
+
"test": "bun test tests",
|
|
74
|
+
"test:all": "bun test",
|
|
75
|
+
"test:unit": "bun test --preload ./tests/setup/native-lock-test-setup.ts tests/unit && node scripts/assert-project-identity-boundary.mjs",
|
|
76
|
+
"test:integration": "bun test tests/integration",
|
|
77
|
+
"test:e2e": "bun test tests/e2e",
|
|
78
|
+
"smoke:builtin-mcp": "bun test tests/contract/p4c-builtin-mcp-inventory.contract.test.ts tests/contract/builtin-browser-capability.contract.test.ts tests/contract/builtin-desktop-capability.contract.test.ts tests/contract/p27-mcp-permission-module.contract.test.ts tests/unit/builtin-browser-diagnostics.test.ts tests/unit/builtin-desktop-diagnostics.test.ts tests/unit/p4b-desktop-permission-request.test.tsx tests/integration/builtin-browser-inmemory-client.test.ts tests/integration/builtin-desktop-inmemory-client.test.ts",
|
|
79
|
+
"test:server": "bun test tests/unit/sdk-batch-a-closure.test.ts tests/unit/sdk-batch-b-queryrunner.test.ts tests/unit/sdk-batch-c-sse.test.ts tests/unit/sdk-batch-d-openapi.test.ts tests/unit/sdk-batch-e-capability.test.ts tests/unit/sdk-batch-f-release.test.ts tests/unit/sdk-batch-g-generation.test.ts tests/unit/sdk-batch-h-facade.test.ts tests/unit/sdk-batch-i-lifecycle.test.ts tests/unit/sdk-batch-j-sse-first-class.test.ts tests/unit/sdk-batch-k-release-gate.test.ts tests/unit/sdk-batch-l-mapping-baseline.test.ts tests/unit/sdk-batch-m-docs-deprecate.test.ts tests/unit/sdk-batch-n-window-block.test.ts tests/unit/sdk-batch-o-major-cutover.test.ts tests/unit/sdk-batch-p-governance-closeout.test.ts tests/unit/sdk-batch-q1-runtime-guard.test.ts tests/unit/sdk-batch-q2-contract-capability.test.ts tests/unit/sdk-batch-q3-legacy-semantics.test.ts tests/unit/sdk-batch-r-model-platform-a0.test.ts tests/unit/sdk-batch-r-model-platform-a-read-routes.test.ts tests/unit/sdk-batch-r-model-platform-b-facade.test.ts tests/unit/sdk-batch-r-model-platform-c-auth-write.test.ts tests/unit/sdk-batch-r-model-platform-d-default-model-write.test.ts tests/unit/sdk-batch-r-model-platform-mp0-contract-freeze.test.ts tests/unit/sdk-batch-r-model-platform-mp1-source-resolver.test.ts tests/unit/sdk-batch-r-model-platform-mp2-provider-catalog.test.ts tests/unit/sdk-batch-r-model-platform-mp3-auth-kernel.test.ts tests/unit/sdk-batch-r-model-platform-mp4-model-catalog-policy.test.ts tests/unit/sdk-batch-r-model-platform-mp5-facade-drift-guard.test.ts tests/unit/sdk-batch-r-model-platform-pm0-runtime-core-freeze.test.ts tests/unit/sdk-batch-r-model-platform-pm1-source-merge.test.ts tests/unit/sdk-batch-r-model-platform-pm2-provider-registry.test.ts tests/unit/sdk-batch-r-model-platform-pm3-model-catalog.test.ts tests/unit/sdk-batch-r-model-platform-pm4-provider-runtime-factory.test.ts tests/unit/sdk-batch-r-model-platform-pm5-sdk-runtime-facade.test.ts tests/unit/sdk-batch-s0-a0-publish-baseline.test.ts tests/unit/sdk-batch-s0-a-publish-gate.test.ts tests/unit/sdk-batch-s0-b-version-single-source.test.ts tests/unit/sdk-batch-s0-c-config-validation.test.ts tests/unit/sdk-batch-s0-d-error-model.test.ts tests/unit/cowork-m1-a0-session-cwd-baseline.test.ts tests/unit/cowork-m1-a-session-cwd-contract.test.ts tests/unit/cowork-m1-b-session-cwd-scope.test.ts tests/unit/cowork-m1-c-session-cwd-concurrency.test.ts tests/unit/cowork-m1-d-consumer-workspace-gate.test.ts",
|
|
80
|
+
"gate:runtime-assets": "bun run scripts/runtime-assets-gate-check.mjs",
|
|
81
|
+
"preflight:runtime-assets": "node scripts/runtime-assets-preflight.mjs",
|
|
82
|
+
"verify:runtime-assets": "node scripts/runtime-assets-verify.mjs",
|
|
83
|
+
"validate:runtime-assets-contract": "node scripts/runtime-assets-schema-validate.mjs",
|
|
84
|
+
"gate:runtime-assets-threshold": "node scripts/runtime-assets-threshold-gate.mjs",
|
|
85
|
+
"gate:runtime-assets-trend-store": "node scripts/runtime-assets-trend-store.mjs",
|
|
86
|
+
"gate:runtime-assets-trend": "node scripts/runtime-assets-trend-gate.mjs",
|
|
87
|
+
"report:runtime-assets-trend": "node scripts/runtime-assets-trend-report.mjs",
|
|
88
|
+
"gate:model-platform-closeout": "node scripts/model-platform-closeout-gate.mjs",
|
|
89
|
+
"gate:typed-compat-retirement": "node scripts/typed-compat-retirement-gate.mjs",
|
|
90
|
+
"gate:query-adapter-boundary": "node scripts/query-adapter-boundary-gate.mjs",
|
|
91
|
+
"gate:session-contract": "node scripts/session-contract-gate.mjs",
|
|
92
|
+
"gate:session-behavior-invariant": "node scripts/session-behavior-invariant-gate.mjs",
|
|
93
|
+
"gate:session-project": "node scripts/session-project-gate.mjs",
|
|
94
|
+
"gate:protected-tool-names": "node scripts/protected-tool-names-gate.mjs",
|
|
95
|
+
"gate:lsp-semantic-unknown-ratio": "node scripts/lsp-semantic-unknown-ratio-gate.mjs",
|
|
96
|
+
"gate:lsp-a0-baseline": "node scripts/lsp-a0-baseline-gate.mjs --samples-file tests/fixtures/lsp/a0-baseline-samples.json --min-total 120 --min-per-operation 30",
|
|
97
|
+
"gate:tool-name-a0-baseline": "node scripts/tool-name-a0-baseline-gate.mjs",
|
|
98
|
+
"gate:lsp-a2prime-behavior-invariant": "node scripts/lsp-a2prime-behavior-invariant-gate.mjs --mode run",
|
|
99
|
+
"plan:typed-compat-retirement": "node scripts/typed-compat-retirement-plan.mjs",
|
|
100
|
+
"enforce:typed-compat-retirement": "node scripts/typed-compat-retirement-enforce.mjs",
|
|
101
|
+
"gate:typed-sql-release": "node scripts/typed-sql-release-gate.mjs",
|
|
102
|
+
"gate:typed-sql-schema": "node scripts/typed-sql-schema-guard.mjs",
|
|
103
|
+
"smoke:typed-sql-install": "node scripts/typed-sql-install-smoke.mjs",
|
|
104
|
+
"gate:typed-sql-no-fallback": "node scripts/typed-sql-no-fallback-gate.mjs",
|
|
105
|
+
"benchmark:typed-part-baseline": "bun scripts/typed-part-baseline-benchmark.mjs",
|
|
106
|
+
"gate:typed-part-performance": "node scripts/typed-part-performance-gate.mjs",
|
|
107
|
+
"typecheck": "tsc --noEmit",
|
|
108
|
+
"release:gate": "npm run generate:sdk && npm run check:sdk-generated && npm run generate:legacy-mapping && npm run check:legacy-usage && npm run report:legacy-usage-trend && npm run check:legacy-window && npm run check:docs-consistency && npm run check:major-cutover && npm run check:facade-closeout && npm run check:sdk-consistency && npm run check:sdk-contract-consistency && npm run check:sdk-legacy-semantics && npm run check:compat-window && npm run build:sdk && npm run test:server && npm run lint && npm run typecheck",
|
|
109
|
+
"prepare": "bun run scripts/install-hooks.mjs",
|
|
110
|
+
"sync:native-lock": "node scripts/sync-native-lock-versions.mjs",
|
|
111
|
+
"sync:sharp-resources": "node scripts/sync-sharp-resources.mjs",
|
|
112
|
+
"sync:runtime-package-metadata": "bun scripts/sync-runtime-package-metadata.mjs",
|
|
113
|
+
"publish:native-lock": "node scripts/publish-native-lock.mjs",
|
|
114
|
+
"verify:native-lock": "node scripts/verify-native-lock.mjs",
|
|
115
|
+
"publish:dev": "bun run scripts/publish-dev.js",
|
|
116
|
+
"publish:release": "bun run scripts/publish-release.js",
|
|
117
|
+
"test:identity": "node scripts/assert-project-identity-boundary.mjs"
|
|
118
|
+
},
|
|
119
|
+
"dependencies": {
|
|
120
|
+
"@anthropic-ai/bedrock-sdk": "^0.12.6",
|
|
121
|
+
"@anthropic-ai/sdk": "^0.39.0",
|
|
122
|
+
"@anthropic-ai/vertex-sdk": "^0.7.0",
|
|
123
|
+
"@astrojs/language-server": "2.16.2",
|
|
124
|
+
"@aws-sdk/client-bedrock-runtime": "3.797.0",
|
|
125
|
+
"@commander-js/extra-typings": "^13.1.0",
|
|
126
|
+
"@inkjs/ui": "^2.0.0",
|
|
127
|
+
"@modelcontextprotocol/sdk": "^1.15.1",
|
|
128
|
+
"@prisma/language-server": "31.3.4",
|
|
129
|
+
"@types/lodash-es": "^4.17.12",
|
|
130
|
+
"@types/react": "^19.1.8",
|
|
131
|
+
"@vscode/ripgrep": "^1.17.0",
|
|
132
|
+
"@vue/language-server": "3.2.2",
|
|
133
|
+
"ajv": "^8.17.1",
|
|
134
|
+
"ansi-escapes": "^7.0.0",
|
|
135
|
+
"bash-language-server": "5.6.0",
|
|
136
|
+
"chalk": "^5.4.1",
|
|
137
|
+
"cli-highlight": "^2.1.11",
|
|
138
|
+
"cli-table3": "^0.6.5",
|
|
139
|
+
"commander": "^13.1.0",
|
|
140
|
+
"debug": "^4.4.1",
|
|
141
|
+
"diff": "^8.0.4",
|
|
142
|
+
"dockerfile-language-server-nodejs": "0.15.0",
|
|
143
|
+
"dotenv": "^16.6.1",
|
|
144
|
+
"env-paths": "^3.0.0",
|
|
145
|
+
"fflate": "^0.8.2",
|
|
146
|
+
"figures": "^6.1.0",
|
|
147
|
+
"glob": "^11.0.3",
|
|
148
|
+
"graphql-language-service-cli": "3.5.0",
|
|
149
|
+
"gray-matter": "^4.0.3",
|
|
150
|
+
"highlight.js": "^11.11.1",
|
|
151
|
+
"hono": "4.12.32",
|
|
152
|
+
"ignore": "^7.0.5",
|
|
153
|
+
"ink": "5.2.1",
|
|
154
|
+
"ink-link": "^4.1.0",
|
|
155
|
+
"ink-select-input": "^6.2.0",
|
|
156
|
+
"ink-text-input": "^6.0.0",
|
|
157
|
+
"intelephense": "1.16.3",
|
|
158
|
+
"js-yaml": "^4.1.1",
|
|
159
|
+
"lodash-es": "^4.17.21",
|
|
160
|
+
"lru-cache": "^11.1.0",
|
|
161
|
+
"marked": "^15.0.12",
|
|
162
|
+
"minimatch": "^10.1.1",
|
|
163
|
+
"nanoid": "^5.1.5",
|
|
164
|
+
"node-html-parser": "^7.0.1",
|
|
165
|
+
"openai": "4.104.0",
|
|
166
|
+
"pptxgenjs": "4.0.1",
|
|
167
|
+
"pyright": "1.1.408",
|
|
168
|
+
"react": "18.3.1",
|
|
169
|
+
"semver": "^7.7.2",
|
|
170
|
+
"shell-quote": "1.8.3",
|
|
171
|
+
"spawn-rx": "^5.1.2",
|
|
172
|
+
"sqlite-vec": "0.1.9",
|
|
173
|
+
"string-width": "^7.2.0",
|
|
174
|
+
"strip-ansi": "^7.1.0",
|
|
175
|
+
"svelte-language-server": "0.17.23",
|
|
176
|
+
"tree-kill": "1.2.2",
|
|
177
|
+
"tsx": "^4.20.3",
|
|
178
|
+
"typescript-language-server": "5.1.3",
|
|
179
|
+
"undici": "^7.11.0",
|
|
180
|
+
"vscode-jsonrpc": "8.2.1",
|
|
181
|
+
"vscode-langservers-extracted": "4.10.0",
|
|
182
|
+
"web-tree-sitter": "0.25.10",
|
|
183
|
+
"which": "^6.0.0",
|
|
184
|
+
"wrap-ansi": "^9.0.0",
|
|
185
|
+
"yaml-language-server": "1.19.2",
|
|
186
|
+
"zod": "^4.3.6"
|
|
187
|
+
},
|
|
188
|
+
"devDependencies": {
|
|
189
|
+
"@alcalzone/ansi-tokenize": "0.3.0",
|
|
190
|
+
"@types/bun": "1.3.14",
|
|
191
|
+
"@types/jest": "^30.0.0",
|
|
192
|
+
"@types/node": "^24.1.0",
|
|
193
|
+
"@types/which": "^3.0.4",
|
|
194
|
+
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
195
|
+
"@typescript-eslint/parser": "^8.50.1",
|
|
196
|
+
"abort-controller": "3.0.0",
|
|
197
|
+
"bun-types": "1.3.14",
|
|
198
|
+
"cheerio": "1.1.2",
|
|
199
|
+
"esbuild": "^0.25.9",
|
|
200
|
+
"eslint": "8.57.0",
|
|
201
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
202
|
+
"ink-testing-library": "4.0.0",
|
|
203
|
+
"node-fetch": "3.3.2",
|
|
204
|
+
"prettier": "^3.6.2",
|
|
205
|
+
"react-devtools-core": "^7.0.1",
|
|
206
|
+
"tree-sitter-bash": "0.25.1",
|
|
207
|
+
"tree-sitter-c-sharp": "0.23.1",
|
|
208
|
+
"tree-sitter-clojure": "0.4.0",
|
|
209
|
+
"tree-sitter-cpp": "0.23.4",
|
|
210
|
+
"tree-sitter-go": "0.25.0",
|
|
211
|
+
"tree-sitter-haskell": "0.23.1",
|
|
212
|
+
"tree-sitter-java": "0.23.5",
|
|
213
|
+
"tree-sitter-julia": "0.23.1",
|
|
214
|
+
"tree-sitter-nix": "0.0.2",
|
|
215
|
+
"tree-sitter-ocaml": "0.24.2",
|
|
216
|
+
"tree-sitter-python": "0.25.0",
|
|
217
|
+
"tree-sitter-rust": "0.24.0",
|
|
218
|
+
"tree-sitter-scala": "0.24.0",
|
|
219
|
+
"tree-sitter-swift": "0.7.1",
|
|
220
|
+
"tree-sitter-typescript": "0.23.2",
|
|
221
|
+
"turndown": "7.2.2",
|
|
222
|
+
"typescript": "^5.9.2",
|
|
223
|
+
"uuid": "^9.0.1"
|
|
224
|
+
},
|
|
225
|
+
"overrides": {
|
|
226
|
+
"@aws-sdk/client-bedrock-runtime": "3.797.0",
|
|
227
|
+
"@smithy/smithy-client": "2.5.1",
|
|
228
|
+
"parse5-htmlparser2-tree-adapter": "6.0.1"
|
|
229
|
+
},
|
|
230
|
+
"optionalDependencies": {
|
|
231
|
+
"@puyib-cli/lock-darwin-arm64": "1.4.55",
|
|
232
|
+
"@puyib-cli/lock-darwin-x64": "1.4.55",
|
|
233
|
+
"@puyib-cli/lock-linux-arm64-gnu": "1.4.55",
|
|
234
|
+
"@puyib-cli/lock-linux-armv7-gnueabihf": "1.4.55",
|
|
235
|
+
"@puyib-cli/lock-linux-x64-gnu": "1.4.55",
|
|
236
|
+
"@puyib-cli/lock-linux-x64-musl": "1.4.55",
|
|
237
|
+
"@puyib-cli/lock-win32-arm64-msvc": "1.4.55",
|
|
238
|
+
"@puyib-cli/lock-win32-x64-msvc": "1.4.55",
|
|
239
|
+
"pyb-runtime-darwin-arm64": "1.5.281",
|
|
240
|
+
"pyb-runtime-darwin-x64": "1.5.281",
|
|
241
|
+
"pyb-runtime-linux-arm64-gnu": "1.5.281",
|
|
242
|
+
"pyb-runtime-linux-armv7-gnueabihf": "1.5.281",
|
|
243
|
+
"pyb-runtime-linux-x64-gnu": "1.5.281",
|
|
244
|
+
"pyb-runtime-linux-x64-musl": "1.5.281",
|
|
245
|
+
"pyb-runtime-win32-arm64-msvc": "1.5.281",
|
|
246
|
+
"pyb-runtime-win32-x64-msvc": "1.5.281"
|
|
247
|
+
},
|
|
248
|
+
"pybRuntimePlatforms": [
|
|
249
|
+
"win32-x64-msvc",
|
|
250
|
+
"win32-arm64-msvc",
|
|
251
|
+
"linux-x64-gnu",
|
|
252
|
+
"linux-x64-musl",
|
|
253
|
+
"linux-arm64-gnu",
|
|
254
|
+
"linux-armv7-gnueabihf",
|
|
255
|
+
"darwin-x64",
|
|
256
|
+
"darwin-arm64"
|
|
257
|
+
],
|
|
258
|
+
"pybRuntimeBundledNodeModules": {},
|
|
259
|
+
"pybNativeLockPlatforms": [
|
|
260
|
+
"win32-x64-msvc",
|
|
261
|
+
"win32-arm64-msvc",
|
|
262
|
+
"linux-x64-gnu",
|
|
263
|
+
"linux-x64-musl",
|
|
264
|
+
"linux-arm64-gnu",
|
|
265
|
+
"linux-armv7-gnueabihf",
|
|
266
|
+
"darwin-x64",
|
|
267
|
+
"darwin-arm64"
|
|
268
|
+
]
|
|
269
|
+
}
|