@kb-labs/shared 1.1.0
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/.cursorrules +32 -0
- package/.github/workflows/ci.yml +13 -0
- package/.github/workflows/deploy.yml +28 -0
- package/.github/workflows/docker-build.yml +25 -0
- package/.github/workflows/drift-check.yml +10 -0
- package/.github/workflows/profiles-validate.yml +16 -0
- package/.github/workflows/release.yml +8 -0
- package/.kb/devkit/agents/devkit-maintainer/context.globs +15 -0
- package/.kb/devkit/agents/devkit-maintainer/permissions.yml +17 -0
- package/.kb/devkit/agents/devkit-maintainer/prompt.md +28 -0
- package/.kb/devkit/agents/devkit-maintainer/runbook.md +31 -0
- package/.kb/devkit/agents/docs-crafter/prompt.md +24 -0
- package/.kb/devkit/agents/docs-crafter/runbook.md +18 -0
- package/.kb/devkit/agents/release-manager/context.globs +7 -0
- package/.kb/devkit/agents/release-manager/prompt.md +27 -0
- package/.kb/devkit/agents/release-manager/runbook.md +17 -0
- package/.kb/devkit/agents/test-generator/context.globs +7 -0
- package/.kb/devkit/agents/test-generator/prompt.md +27 -0
- package/.kb/devkit/agents/test-generator/runbook.md +18 -0
- package/.vscode/settings.json +23 -0
- package/CHANGELOG.md +33 -0
- package/CONTRIBUTING.md +117 -0
- package/LICENSE +21 -0
- package/README.md +306 -0
- package/docs/DECLARATIVE-FLAGS-AND-ENV.md +622 -0
- package/docs/DOCUMENTATION.md +70 -0
- package/docs/adr/0000-template.md +52 -0
- package/docs/adr/0001-architecture-and-repository-layout.md +31 -0
- package/docs/adr/0002-plugins-and-extensibility.md +44 -0
- package/docs/adr/0003-package-and-module-boundaries.md +35 -0
- package/docs/adr/0004-versioning-and-release-policy.md +36 -0
- package/docs/adr/0005-reactive-loader-pattern.md +179 -0
- package/docs/adr/0006-declarative-flags-and-env-systems.md +376 -0
- package/eslint.config.js +27 -0
- package/kb-labs.config.json +5 -0
- package/package.json +88 -0
- package/package.json.bin +25 -0
- package/package.json.lib +30 -0
- package/packages/shared-cli-ui/CHANGELOG.md +20 -0
- package/packages/shared-cli-ui/README.md +342 -0
- package/packages/shared-cli-ui/docs/ARCHITECTURE.md +105 -0
- package/packages/shared-cli-ui/eslint.config.js +27 -0
- package/packages/shared-cli-ui/package.json +72 -0
- package/packages/shared-cli-ui/src/__tests__/artifacts-display.spec.ts +89 -0
- package/packages/shared-cli-ui/src/__tests__/format.spec.ts +44 -0
- package/packages/shared-cli-ui/src/__tests__/loader-json-mode.test.ts +119 -0
- package/packages/shared-cli-ui/src/artifacts-display.ts +266 -0
- package/packages/shared-cli-ui/src/cli-auto-discovery.ts +120 -0
- package/packages/shared-cli-ui/src/colors.ts +142 -0
- package/packages/shared-cli-ui/src/command-discovery.ts +72 -0
- package/packages/shared-cli-ui/src/command-output.ts +153 -0
- package/packages/shared-cli-ui/src/command-result.ts +267 -0
- package/packages/shared-cli-ui/src/command-runner.ts +310 -0
- package/packages/shared-cli-ui/src/command-suggestions.ts +204 -0
- package/packages/shared-cli-ui/src/debug/components/output.ts +141 -0
- package/packages/shared-cli-ui/src/debug/components/trace.ts +101 -0
- package/packages/shared-cli-ui/src/debug/components/tree.ts +88 -0
- package/packages/shared-cli-ui/src/debug/formatters/ai.ts +17 -0
- package/packages/shared-cli-ui/src/debug/formatters/human.ts +98 -0
- package/packages/shared-cli-ui/src/debug/formatters/timeline.ts +94 -0
- package/packages/shared-cli-ui/src/debug/index.ts +56 -0
- package/packages/shared-cli-ui/src/debug/types.ts +57 -0
- package/packages/shared-cli-ui/src/debug/utilities.ts +203 -0
- package/packages/shared-cli-ui/src/dynamic-command-discovery.ts +131 -0
- package/packages/shared-cli-ui/src/format.ts +412 -0
- package/packages/shared-cli-ui/src/index.ts +34 -0
- package/packages/shared-cli-ui/src/loader.ts +196 -0
- package/packages/shared-cli-ui/src/manifest-parser.ts +151 -0
- package/packages/shared-cli-ui/src/modern-format.ts +271 -0
- package/packages/shared-cli-ui/src/multi-cli-suggestions.ts +159 -0
- package/packages/shared-cli-ui/src/table.ts +134 -0
- package/packages/shared-cli-ui/src/timing-tracker.ts +68 -0
- package/packages/shared-cli-ui/src/utils/context.ts +12 -0
- package/packages/shared-cli-ui/src/utils/env.ts +164 -0
- package/packages/shared-cli-ui/src/utils/flags.ts +269 -0
- package/packages/shared-cli-ui/src/utils/path.ts +8 -0
- package/packages/shared-cli-ui/tsconfig.build.json +15 -0
- package/packages/shared-cli-ui/tsconfig.json +9 -0
- package/packages/shared-cli-ui/tsup.config.ts +11 -0
- package/packages/shared-cli-ui/vitest.config.ts +15 -0
- package/packages/shared-command-kit/CHANGELOG.md +20 -0
- package/packages/shared-command-kit/LICENSE +22 -0
- package/packages/shared-command-kit/README.md +1030 -0
- package/packages/shared-command-kit/docs/HIGH-LEVEL-API.md +89 -0
- package/packages/shared-command-kit/docs/LOW-LEVEL-API.md +105 -0
- package/packages/shared-command-kit/docs/MIGRATION-GUIDE.md +135 -0
- package/packages/shared-command-kit/eslint.config.js +27 -0
- package/packages/shared-command-kit/eslint.config.ts +14 -0
- package/packages/shared-command-kit/package.json +76 -0
- package/packages/shared-command-kit/prettierrc.json +5 -0
- package/packages/shared-command-kit/src/__tests__/define-command.spec.ts +294 -0
- package/packages/shared-command-kit/src/__tests__/define-route.test.ts +285 -0
- package/packages/shared-command-kit/src/__tests__/define-system-command.spec.ts +508 -0
- package/packages/shared-command-kit/src/__tests__/define-webhook.test.ts +156 -0
- package/packages/shared-command-kit/src/__tests__/define-websocket.test.ts +316 -0
- package/packages/shared-command-kit/src/__tests__/errors.spec.ts +45 -0
- package/packages/shared-command-kit/src/__tests__/flags.spec.ts +353 -0
- package/packages/shared-command-kit/src/__tests__/platform-api.test.ts +135 -0
- package/packages/shared-command-kit/src/__tests__/plugin-context-v3.snapshot.spec.ts +240 -0
- package/packages/shared-command-kit/src/__tests__/ws-types.test.ts +359 -0
- package/packages/shared-command-kit/src/analytics/index.ts +6 -0
- package/packages/shared-command-kit/src/analytics/with-analytics.ts +195 -0
- package/packages/shared-command-kit/src/define-action.ts +100 -0
- package/packages/shared-command-kit/src/define-command.ts +113 -0
- package/packages/shared-command-kit/src/define-route.ts +113 -0
- package/packages/shared-command-kit/src/define-system-command.ts +362 -0
- package/packages/shared-command-kit/src/define-webhook.ts +115 -0
- package/packages/shared-command-kit/src/define-websocket.ts +308 -0
- package/packages/shared-command-kit/src/errors/factory.ts +282 -0
- package/packages/shared-command-kit/src/errors/format-validation.ts +144 -0
- package/packages/shared-command-kit/src/errors/format.ts +92 -0
- package/packages/shared-command-kit/src/errors/index.ts +9 -0
- package/packages/shared-command-kit/src/errors/types.ts +32 -0
- package/packages/shared-command-kit/src/flags/define.ts +92 -0
- package/packages/shared-command-kit/src/flags/index.ts +9 -0
- package/packages/shared-command-kit/src/flags/types.ts +153 -0
- package/packages/shared-command-kit/src/flags/validate.ts +358 -0
- package/packages/shared-command-kit/src/helpers/context.ts +8 -0
- package/packages/shared-command-kit/src/helpers/flags.ts +84 -0
- package/packages/shared-command-kit/src/helpers/index.ts +42 -0
- package/packages/shared-command-kit/src/helpers/patterns.ts +464 -0
- package/packages/shared-command-kit/src/helpers/platform.ts +335 -0
- package/packages/shared-command-kit/src/helpers/use-analytics.ts +95 -0
- package/packages/shared-command-kit/src/helpers/use-cache.ts +97 -0
- package/packages/shared-command-kit/src/helpers/use-config.ts +99 -0
- package/packages/shared-command-kit/src/helpers/use-embeddings.ts +49 -0
- package/packages/shared-command-kit/src/helpers/use-llm.ts +316 -0
- package/packages/shared-command-kit/src/helpers/use-logger.ts +77 -0
- package/packages/shared-command-kit/src/helpers/use-platform.ts +111 -0
- package/packages/shared-command-kit/src/helpers/use-resource-broker.ts +106 -0
- package/packages/shared-command-kit/src/helpers/use-storage.ts +71 -0
- package/packages/shared-command-kit/src/helpers/use-vector-store.ts +49 -0
- package/packages/shared-command-kit/src/helpers/validation.ts +398 -0
- package/packages/shared-command-kit/src/index.ts +410 -0
- package/packages/shared-command-kit/src/jobs.ts +132 -0
- package/packages/shared-command-kit/src/lifecycle/define-handlers.ts +366 -0
- package/packages/shared-command-kit/src/lifecycle/index.ts +6 -0
- package/packages/shared-command-kit/src/manifest.ts +127 -0
- package/packages/shared-command-kit/src/rest/define-handler.ts +187 -0
- package/packages/shared-command-kit/src/rest/index.ts +11 -0
- package/packages/shared-command-kit/src/studio/index.ts +12 -0
- package/packages/shared-command-kit/src/validation/index.ts +6 -0
- package/packages/shared-command-kit/src/validation/schema-builders.ts +409 -0
- package/packages/shared-command-kit/src/ws-types.ts +106 -0
- package/packages/shared-command-kit/tsconfig.build.json +15 -0
- package/packages/shared-command-kit/tsconfig.json +9 -0
- package/packages/shared-command-kit/tsup.config.ts +30 -0
- package/packages/shared-command-kit/vitest.config.ts +4 -0
- package/packages/shared-http/package.json +67 -0
- package/packages/shared-http/src/__tests__/log-correlation.test.ts +81 -0
- package/packages/shared-http/src/__tests__/operation-metrics-tracker.test.ts +55 -0
- package/packages/shared-http/src/http-observability-collector.ts +363 -0
- package/packages/shared-http/src/index.ts +36 -0
- package/packages/shared-http/src/log-correlation.ts +89 -0
- package/packages/shared-http/src/operation-metrics-tracker.ts +107 -0
- package/packages/shared-http/src/register-openapi.ts +108 -0
- package/packages/shared-http/src/resolve-schema-ref.ts +75 -0
- package/packages/shared-http/src/schemas.ts +29 -0
- package/packages/shared-http/src/service-observability.ts +63 -0
- package/packages/shared-http/tsconfig.build.json +15 -0
- package/packages/shared-http/tsconfig.json +9 -0
- package/packages/shared-http/tsup.config.ts +23 -0
- package/packages/shared-http/vitest.config.ts +13 -0
- package/packages/shared-perm-presets/CHANGELOG.md +20 -0
- package/packages/shared-perm-presets/README.md +78 -0
- package/packages/shared-perm-presets/eslint.config.js +27 -0
- package/packages/shared-perm-presets/package.json +45 -0
- package/packages/shared-perm-presets/src/__tests__/combine.test.ts +403 -0
- package/packages/shared-perm-presets/src/__tests__/presets.test.ts +205 -0
- package/packages/shared-perm-presets/src/combine.ts +278 -0
- package/packages/shared-perm-presets/src/index.ts +18 -0
- package/packages/shared-perm-presets/src/presets/ci-environment.ts +34 -0
- package/packages/shared-perm-presets/src/presets/full-env.ts +16 -0
- package/packages/shared-perm-presets/src/presets/git-workflow.ts +40 -0
- package/packages/shared-perm-presets/src/presets/index.ts +8 -0
- package/packages/shared-perm-presets/src/presets/kb-platform.ts +30 -0
- package/packages/shared-perm-presets/src/presets/llm-access.ts +29 -0
- package/packages/shared-perm-presets/src/presets/minimal.ts +21 -0
- package/packages/shared-perm-presets/src/presets/npm-publish.ts +48 -0
- package/packages/shared-perm-presets/src/presets/vector-store.ts +40 -0
- package/packages/shared-perm-presets/src/types.ts +192 -0
- package/packages/shared-perm-presets/tsconfig.build.json +15 -0
- package/packages/shared-perm-presets/tsconfig.json +9 -0
- package/packages/shared-perm-presets/tsup.config.ts +8 -0
- package/packages/shared-perm-presets/vitest.config.ts +9 -0
- package/packages/shared-testing/CHANGELOG.md +20 -0
- package/packages/shared-testing/README.md +430 -0
- package/packages/shared-testing/package.json +51 -0
- package/packages/shared-testing/src/__tests__/create-test-context.test.ts +199 -0
- package/packages/shared-testing/src/__tests__/mock-cache.test.ts +174 -0
- package/packages/shared-testing/src/__tests__/mock-llm.test.ts +212 -0
- package/packages/shared-testing/src/__tests__/setup-platform.test.ts +90 -0
- package/packages/shared-testing/src/__tests__/test-command.test.ts +557 -0
- package/packages/shared-testing/src/create-test-context.ts +550 -0
- package/packages/shared-testing/src/index.ts +77 -0
- package/packages/shared-testing/src/mock-cache.ts +179 -0
- package/packages/shared-testing/src/mock-llm.ts +319 -0
- package/packages/shared-testing/src/mock-logger.ts +97 -0
- package/packages/shared-testing/src/mock-storage.ts +108 -0
- package/packages/shared-testing/src/setup-platform.ts +101 -0
- package/packages/shared-testing/src/test-command.ts +288 -0
- package/packages/shared-testing/tsconfig.build.json +15 -0
- package/packages/shared-testing/tsconfig.json +9 -0
- package/packages/shared-testing/tsup.config.ts +20 -0
- package/packages/shared-testing/vitest.config.ts +3 -0
- package/packages/shared-tool-kit/CHANGELOG.md +20 -0
- package/packages/shared-tool-kit/package.json +47 -0
- package/packages/shared-tool-kit/src/__tests__/factory.test.ts +103 -0
- package/packages/shared-tool-kit/src/__tests__/mock-tool.test.ts +95 -0
- package/packages/shared-tool-kit/src/factory.ts +126 -0
- package/packages/shared-tool-kit/src/index.ts +32 -0
- package/packages/shared-tool-kit/src/testing/index.ts +84 -0
- package/packages/shared-tool-kit/tsconfig.build.json +15 -0
- package/packages/shared-tool-kit/tsconfig.json +9 -0
- package/packages/shared-tool-kit/tsup.config.ts +21 -0
- package/pnpm-workspace.yaml +11070 -0
- package/prettierrc.json +1 -0
- package/scripts/devkit-sync.mjs +37 -0
- package/scripts/hooks/post-push +9 -0
- package/scripts/hooks/pre-commit +9 -0
- package/scripts/hooks/pre-push +9 -0
- package/tsconfig.base.json +9 -0
- package/tsconfig.build.json +15 -0
- package/tsconfig.json +9 -0
- package/tsconfig.paths.json +50 -0
- package/tsconfig.tools.json +18 -0
- package/tsup.config.bin.ts +34 -0
- package/tsup.config.cli.ts +41 -0
- package/tsup.config.dual.ts +46 -0
- package/tsup.config.ts +36 -0
- package/tsup.external.json +104 -0
- package/vitest.config.ts +48 -0
package/prettierrc.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "extends": "@kb-labs/devkit/prettier" }
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { access } from 'node:fs/promises';
|
|
4
|
+
import { spawn } from 'node:child_process';
|
|
5
|
+
|
|
6
|
+
async function tryApi(args) {
|
|
7
|
+
try {
|
|
8
|
+
const mod = await import('@kb-labs/devkit/sync');
|
|
9
|
+
if (typeof mod.run === 'function') {
|
|
10
|
+
const code = await mod.run({ args });
|
|
11
|
+
if (typeof code === 'number' && code !== 0) process.exit(code);
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
} catch { }
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async function tryBin(args) {
|
|
19
|
+
const isWin = process.platform === 'win32';
|
|
20
|
+
const binName = isWin ? 'kb-devkit-sync.cmd' : 'kb-devkit-sync';
|
|
21
|
+
const binPath = resolve(process.cwd(), 'node_modules', '.bin', binName);
|
|
22
|
+
try { await access(binPath); } catch { return false; }
|
|
23
|
+
|
|
24
|
+
await new Promise((res, rej) => {
|
|
25
|
+
const cp = spawn(binPath, args, { stdio: 'inherit', shell: false });
|
|
26
|
+
cp.on('close', (code) => (code === 0 ? res() : rej(Object.assign(new Error('sync failed'), { code }))));
|
|
27
|
+
});
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
(async () => {
|
|
32
|
+
const args = process.argv.slice(2);
|
|
33
|
+
if (await tryApi(args)) process.exit(0);
|
|
34
|
+
if (await tryBin(args)) process.exit(0);
|
|
35
|
+
console.error('[devkit-sync] DevKit is not installed. Add @kb-labs/devkit to devDependencies.');
|
|
36
|
+
process.exit(1);
|
|
37
|
+
})();
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Post-push hook — managed by kb-labs-devkit, do not edit manually.
|
|
3
|
+
#
|
|
4
|
+
# Note: DevLink undo was removed here — npm switch no longer runs
|
|
5
|
+
# during push, so there is nothing to restore. npm mode is only
|
|
6
|
+
# used during `npm publish` (managed by Release Manager).
|
|
7
|
+
|
|
8
|
+
# No-op for now. Add project-specific post-push actions here if needed.
|
|
9
|
+
exit 0
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Pre-commit hook — managed by kb-labs-devkit, do not edit manually.
|
|
3
|
+
#
|
|
4
|
+
# Note: DevLink npm switch was removed — npm mode is only needed
|
|
5
|
+
# for `npm publish`, not for git commits. Release Manager handles
|
|
6
|
+
# the npm switch during the publish flow.
|
|
7
|
+
|
|
8
|
+
# No-op for now. Add project-specific pre-commit checks here if needed.
|
|
9
|
+
exit 0
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Pre-push hook — managed by kb-labs-devkit, do not edit manually.
|
|
3
|
+
#
|
|
4
|
+
# Note: DevLink npm switch was removed — git push only contains
|
|
5
|
+
# submodule pointers or source code, not published package.json.
|
|
6
|
+
# npm mode switch is only needed during `npm publish` (Release Manager).
|
|
7
|
+
|
|
8
|
+
# No-op for now. Add project-specific pre-push checks here if needed.
|
|
9
|
+
exit 0
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"baseUrl": ".",
|
|
5
|
+
"paths": {
|
|
6
|
+
"@kb-labs/core-platform": [
|
|
7
|
+
"../kb-labs-core/packages/core-platform/src/index.ts"
|
|
8
|
+
],
|
|
9
|
+
"@kb-labs/core-platform/*": [
|
|
10
|
+
"../kb-labs-core/packages/core-platform/src/*"
|
|
11
|
+
],
|
|
12
|
+
"@kb-labs/core-resource-broker": [
|
|
13
|
+
"../kb-labs-core/packages/core-resource-broker/src/index.ts"
|
|
14
|
+
],
|
|
15
|
+
"@kb-labs/core-resource-broker/*": [
|
|
16
|
+
"../kb-labs-core/packages/core-resource-broker/src/*"
|
|
17
|
+
],
|
|
18
|
+
"@kb-labs/core-runtime": [
|
|
19
|
+
"../kb-labs-core/packages/core-runtime/src/index.ts"
|
|
20
|
+
],
|
|
21
|
+
"@kb-labs/core-runtime/*": [
|
|
22
|
+
"../kb-labs-core/packages/core-runtime/src/*"
|
|
23
|
+
],
|
|
24
|
+
"@kb-labs/plugin-contracts": [
|
|
25
|
+
"../../infra/kb-labs-plugin/packages/plugin-contracts/src/index.ts"
|
|
26
|
+
],
|
|
27
|
+
"@kb-labs/plugin-contracts/*": [
|
|
28
|
+
"../../infra/kb-labs-plugin/packages/plugin-contracts/src/*"
|
|
29
|
+
],
|
|
30
|
+
"@kb-labs/plugin-runtime": [
|
|
31
|
+
"../../infra/kb-labs-plugin/packages/plugin-runtime/src/index.ts"
|
|
32
|
+
],
|
|
33
|
+
"@kb-labs/plugin-runtime/*": [
|
|
34
|
+
"../../infra/kb-labs-plugin/packages/plugin-runtime/src/*"
|
|
35
|
+
],
|
|
36
|
+
"@kb-labs/shared-cli-ui": [
|
|
37
|
+
"packages/shared-cli-ui/src/index.ts"
|
|
38
|
+
],
|
|
39
|
+
"@kb-labs/shared-cli-ui/*": [
|
|
40
|
+
"packages/shared-cli-ui/src/*"
|
|
41
|
+
],
|
|
42
|
+
"@kb-labs/studio-contracts": [
|
|
43
|
+
"../kb-labs-studio/packages/studio-contracts/src/index.ts"
|
|
44
|
+
],
|
|
45
|
+
"@kb-labs/studio-contracts/*": [
|
|
46
|
+
"../kb-labs-studio/packages/studio-contracts/src/*"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "@kb-labs/devkit/tsconfig/node.json",
|
|
3
|
+
"files": [],
|
|
4
|
+
"references": [
|
|
5
|
+
{ "path": "packages/shared-boundaries" },
|
|
6
|
+
{ "path": "packages/shared-diff" },
|
|
7
|
+
{ "path": "packages/profiles" },
|
|
8
|
+
{ "path": "packages/shared-textops" },
|
|
9
|
+
{ "path": "apps/demo" }
|
|
10
|
+
],
|
|
11
|
+
"compilerOptions": {
|
|
12
|
+
"composite": false,
|
|
13
|
+
"declaration": false,
|
|
14
|
+
"declarationMap": false,
|
|
15
|
+
"emitDeclarationOnly": false,
|
|
16
|
+
"noEmit": true
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard tsup configuration template for CLI binaries
|
|
3
|
+
*
|
|
4
|
+
* This template is for packages that provide executable binaries.
|
|
5
|
+
* Examples: cli-bin, core-state-daemon, any standalone executables
|
|
6
|
+
*
|
|
7
|
+
* DO NOT modify this file locally - it is synced from @kb-labs/devkit
|
|
8
|
+
*
|
|
9
|
+
* Key differences from library template:
|
|
10
|
+
* - Uses binPreset instead of nodePreset
|
|
11
|
+
* - Bundles ALL dependencies into standalone executable
|
|
12
|
+
* - Outputs .cjs format (CommonJS)
|
|
13
|
+
* - No type generation (dts: false)
|
|
14
|
+
* - Adds shebang automatically
|
|
15
|
+
*
|
|
16
|
+
* @see https://github.com/kb-labs/devkit#binary-packages
|
|
17
|
+
*/
|
|
18
|
+
import { defineConfig } from 'tsup';
|
|
19
|
+
import binPreset from '@kb-labs/devkit/tsup/bin.js';
|
|
20
|
+
|
|
21
|
+
export default defineConfig({
|
|
22
|
+
...binPreset,
|
|
23
|
+
|
|
24
|
+
// REQUIRED: Use build-specific tsconfig (convention)
|
|
25
|
+
tsconfig: 'tsconfig.build.json',
|
|
26
|
+
|
|
27
|
+
// REQUIRED: Entry point for binary
|
|
28
|
+
// Output will be dist/bin.cjs
|
|
29
|
+
entry: { bin: 'src/bin.ts' },
|
|
30
|
+
|
|
31
|
+
// binPreset already sets dts: false (binaries don't need types)
|
|
32
|
+
// binPreset already adds shebang banner
|
|
33
|
+
// binPreset already bundles everything
|
|
34
|
+
});
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard tsup configuration template for CLI packages
|
|
3
|
+
*
|
|
4
|
+
* This template is for CLI packages that provide:
|
|
5
|
+
* - Multiple command handlers as separate entries
|
|
6
|
+
* - Importable from other packages (not bundled)
|
|
7
|
+
*
|
|
8
|
+
* Examples: cli-commands, mind-cli, workflow-cli
|
|
9
|
+
*
|
|
10
|
+
* DO NOT modify this file locally - it is synced from @kb-labs/devkit
|
|
11
|
+
*
|
|
12
|
+
* Key differences:
|
|
13
|
+
* - Multiple entry points for commands
|
|
14
|
+
* - NOT bundled (uses nodePreset)
|
|
15
|
+
* - Generates types (for other packages to import)
|
|
16
|
+
*
|
|
17
|
+
* @see https://github.com/kb-labs/devkit#cli-packages
|
|
18
|
+
*/
|
|
19
|
+
import { defineConfig } from 'tsup';
|
|
20
|
+
import nodePreset from '@kb-labs/devkit/tsup/node.js';
|
|
21
|
+
|
|
22
|
+
export default defineConfig({
|
|
23
|
+
...nodePreset,
|
|
24
|
+
|
|
25
|
+
// REQUIRED: Use build-specific tsconfig (convention)
|
|
26
|
+
tsconfig: 'tsconfig.build.json',
|
|
27
|
+
|
|
28
|
+
// REQUIRED: Multiple entries for CLI commands
|
|
29
|
+
entry: [
|
|
30
|
+
'src/index.ts', // Main export
|
|
31
|
+
'src/commands/**/*.ts', // All command files
|
|
32
|
+
// Add more entries as needed
|
|
33
|
+
],
|
|
34
|
+
|
|
35
|
+
// REQUIRED: Explicit type generation
|
|
36
|
+
dts: true,
|
|
37
|
+
|
|
38
|
+
// OPTIONAL: CLI packages often have manifest files
|
|
39
|
+
// If you have manifest.json or similar, you might need to copy it:
|
|
40
|
+
// onSuccess: 'cp src/manifest.json dist/'
|
|
41
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard tsup configuration template for packages with BOTH library AND binary
|
|
3
|
+
*
|
|
4
|
+
* This template is for packages that provide:
|
|
5
|
+
* 1. A library (importable by other packages)
|
|
6
|
+
* 2. A CLI binary (executable)
|
|
7
|
+
*
|
|
8
|
+
* Examples: cli packages with both API and bin
|
|
9
|
+
*
|
|
10
|
+
* DO NOT modify this file locally - it is synced from @kb-labs/devkit
|
|
11
|
+
*
|
|
12
|
+
* Important: This builds BOTH lib and bin in one config.
|
|
13
|
+
* For complex cases, use separate configs (tsup.lib.config.ts + tsup.bin.config.ts)
|
|
14
|
+
*
|
|
15
|
+
* @see https://github.com/kb-labs/devkit#dual-packages
|
|
16
|
+
*/
|
|
17
|
+
import { defineConfig } from 'tsup';
|
|
18
|
+
import nodePreset from '@kb-labs/devkit/tsup/node.js';
|
|
19
|
+
|
|
20
|
+
export default defineConfig([
|
|
21
|
+
// Library build (for imports)
|
|
22
|
+
{
|
|
23
|
+
...nodePreset,
|
|
24
|
+
tsconfig: 'tsconfig.build.json',
|
|
25
|
+
entry: ['src/index.ts'], // Main library entry
|
|
26
|
+
dts: true,
|
|
27
|
+
},
|
|
28
|
+
// Binary build (for execution)
|
|
29
|
+
{
|
|
30
|
+
format: ['cjs'],
|
|
31
|
+
target: 'es2022',
|
|
32
|
+
platform: 'node',
|
|
33
|
+
sourcemap: true,
|
|
34
|
+
clean: false, // Already cleaned by first build
|
|
35
|
+
dts: false,
|
|
36
|
+
treeshake: true,
|
|
37
|
+
minify: false,
|
|
38
|
+
outDir: 'dist',
|
|
39
|
+
splitting: false,
|
|
40
|
+
noExternal: [/.*/], // Bundle everything
|
|
41
|
+
external: ['fsevents'], // Except native modules
|
|
42
|
+
banner: { js: '#!/usr/bin/env node' },
|
|
43
|
+
tsconfig: 'tsconfig.build.json',
|
|
44
|
+
entry: { bin: 'src/bin.ts' }, // Binary entry
|
|
45
|
+
},
|
|
46
|
+
]);
|
package/tsup.config.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard tsup configuration template
|
|
3
|
+
*
|
|
4
|
+
* This is the canonical template for all @kb-labs packages.
|
|
5
|
+
* DO NOT modify this file locally - it is synced from @kb-labs/devkit
|
|
6
|
+
*
|
|
7
|
+
* Customization guidelines:
|
|
8
|
+
* - For single entry point: use as-is
|
|
9
|
+
* - For multiple entry points: override `entry` array
|
|
10
|
+
* - For extra external deps: extend `external` array (only if needed!)
|
|
11
|
+
* - For special build needs: add minimal overrides, document why
|
|
12
|
+
*
|
|
13
|
+
* @see https://github.com/kb-labs/devkit#tsup-configuration
|
|
14
|
+
*/
|
|
15
|
+
import { defineConfig } from 'tsup';
|
|
16
|
+
import nodePreset from '@kb-labs/devkit/tsup/node.js';
|
|
17
|
+
|
|
18
|
+
export default defineConfig({
|
|
19
|
+
...nodePreset,
|
|
20
|
+
|
|
21
|
+
// REQUIRED: Use build-specific tsconfig (convention)
|
|
22
|
+
tsconfig: 'tsconfig.build.json',
|
|
23
|
+
|
|
24
|
+
// REQUIRED: Entry point(s)
|
|
25
|
+
// Single entry (most common):
|
|
26
|
+
entry: ['src/index.ts'],
|
|
27
|
+
// Multiple entries (if needed):
|
|
28
|
+
// entry: ['src/index.ts', 'src/cli/index.ts', 'src/api/index.ts'],
|
|
29
|
+
|
|
30
|
+
// REQUIRED: Explicit type generation
|
|
31
|
+
dts: true,
|
|
32
|
+
|
|
33
|
+
// OPTIONAL: Only add if you need EXTRA externals beyond nodePreset
|
|
34
|
+
// nodePreset already includes all @kb-labs/* packages + dependencies from package.json
|
|
35
|
+
// external: ['special-package-not-in-preset'],
|
|
36
|
+
});
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
+
"externals": [
|
|
4
|
+
"@kb-labs/ai-docs",
|
|
5
|
+
"@kb-labs/ai-docs-contracts",
|
|
6
|
+
"@kb-labs/ai-docs-plugin",
|
|
7
|
+
"@kb-labs/ai-review",
|
|
8
|
+
"@kb-labs/ai-review-contracts",
|
|
9
|
+
"@kb-labs/ai-review-core",
|
|
10
|
+
"@kb-labs/ai-review-plugin",
|
|
11
|
+
"@kb-labs/ai-review-providers",
|
|
12
|
+
"@kb-labs/ai-tests",
|
|
13
|
+
"@kb-labs/ai-tests-contracts",
|
|
14
|
+
"@kb-labs/ai-tests-plugin",
|
|
15
|
+
"@kb-labs/analytics-adapters",
|
|
16
|
+
"@kb-labs/analytics-cli",
|
|
17
|
+
"@kb-labs/analytics-core",
|
|
18
|
+
"@kb-labs/analytics-sdk-node",
|
|
19
|
+
"@kb-labs/rest-api-contracts",
|
|
20
|
+
"@kb-labs/audit",
|
|
21
|
+
"@kb-labs/audit-checks",
|
|
22
|
+
"@kb-labs/audit-cli",
|
|
23
|
+
"@kb-labs/audit-contracts",
|
|
24
|
+
"@kb-labs/audit-core",
|
|
25
|
+
"@kb-labs/release-manager-changelog",
|
|
26
|
+
"@kb-labs/cli",
|
|
27
|
+
"@kb-labs/cli-api",
|
|
28
|
+
"@kb-labs/cli-bin",
|
|
29
|
+
"@kb-labs/cli-commands",
|
|
30
|
+
"@kb-labs/cli-core",
|
|
31
|
+
"@kb-labs/cli-runtime",
|
|
32
|
+
"@kb-labs/core",
|
|
33
|
+
"@kb-labs/core-bundle",
|
|
34
|
+
"@kb-labs/core-cli",
|
|
35
|
+
"@kb-labs/core-cli-adapters",
|
|
36
|
+
"@kb-labs/core-config",
|
|
37
|
+
"@kb-labs/core-policy",
|
|
38
|
+
"@kb-labs/core-profiles",
|
|
39
|
+
"@kb-labs/core-sys",
|
|
40
|
+
"@kb-labs/core-types",
|
|
41
|
+
"@kb-labs/core-workspace",
|
|
42
|
+
"@kb-labs/data-client",
|
|
43
|
+
"@kb-labs/devkit",
|
|
44
|
+
"@kb-labs/devlink",
|
|
45
|
+
"@kb-labs/devlink-contracts",
|
|
46
|
+
"@kb-labs/devlink-core",
|
|
47
|
+
"@kb-labs/knowledge-contracts",
|
|
48
|
+
"@kb-labs/knowledge-core",
|
|
49
|
+
"@kb-labs/knowledge-fs",
|
|
50
|
+
"@kb-labs/mind",
|
|
51
|
+
"@kb-labs/mind-adapters",
|
|
52
|
+
"@kb-labs/mind-cli",
|
|
53
|
+
"@kb-labs/mind-contracts",
|
|
54
|
+
"@kb-labs/mind-core",
|
|
55
|
+
"@kb-labs/mind-embeddings",
|
|
56
|
+
"@kb-labs/mind-engine",
|
|
57
|
+
"@kb-labs/mind-gateway",
|
|
58
|
+
"@kb-labs/mind-indexer",
|
|
59
|
+
"@kb-labs/mind-llm",
|
|
60
|
+
"@kb-labs/mind-pack",
|
|
61
|
+
"@kb-labs/mind-query",
|
|
62
|
+
"@kb-labs/mind-tests",
|
|
63
|
+
"@kb-labs/mind-types",
|
|
64
|
+
"@kb-labs/mind-vector-store",
|
|
65
|
+
"@kb-labs/plugin",
|
|
66
|
+
"@kb-labs/plugin-adapter-cli",
|
|
67
|
+
"@kb-labs/plugin-adapter-rest",
|
|
68
|
+
"@kb-labs/plugin-adapter-studio",
|
|
69
|
+
"@kb-labs/plugin-contracts",
|
|
70
|
+
"@kb-labs/plugin-devtools",
|
|
71
|
+
"@kb-labs/plugin-manifest",
|
|
72
|
+
"@kb-labs/plugin-runtime",
|
|
73
|
+
"@kb-labs/plugin-template",
|
|
74
|
+
"@kb-labs/plugin-template-cli",
|
|
75
|
+
"@kb-labs/plugin-template-contracts",
|
|
76
|
+
"@kb-labs/product-template",
|
|
77
|
+
"@kb-labs/profile-toolkit",
|
|
78
|
+
"@kb-labs/release-manager-checks",
|
|
79
|
+
"@kb-labs/release-manager-cli",
|
|
80
|
+
"@kb-labs/release-manager-core",
|
|
81
|
+
"@kb-labs/release-manager",
|
|
82
|
+
"@kb-labs/rest-api-app",
|
|
83
|
+
"@kb-labs/rest-api-core",
|
|
84
|
+
"@kb-labs/sandbox",
|
|
85
|
+
"@kb-labs/setup-engine-core",
|
|
86
|
+
"@kb-labs/setup-engine-operations",
|
|
87
|
+
"@kb-labs/shared",
|
|
88
|
+
"@kb-labs/shared-boundaries",
|
|
89
|
+
"@kb-labs/shared-cli-ui",
|
|
90
|
+
"@kb-labs/shared-diff",
|
|
91
|
+
"@kb-labs/shared-repo",
|
|
92
|
+
"@kb-labs/shared-review-types",
|
|
93
|
+
"@kb-labs/shared-textops",
|
|
94
|
+
"@kb-labs/ui-core",
|
|
95
|
+
"@kb-labs/ui-react",
|
|
96
|
+
"@kb-labs/workflow",
|
|
97
|
+
"@kb-labs/workflow-artifacts",
|
|
98
|
+
"@kb-labs/workflow-constants",
|
|
99
|
+
"@kb-labs/workflow-contracts",
|
|
100
|
+
"@kb-labs/workflow-engine",
|
|
101
|
+
"@kb-labs/workflow-runtime",
|
|
102
|
+
"zod"
|
|
103
|
+
]
|
|
104
|
+
}
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config'
|
|
2
|
+
import nodePreset from '@kb-labs/devkit/vitest/node.js'
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
...nodePreset,
|
|
6
|
+
test: {
|
|
7
|
+
...nodePreset.test,
|
|
8
|
+
include: [
|
|
9
|
+
'packages/**/src/**/*.spec.ts',
|
|
10
|
+
'packages/**/src/**/*.test.ts',
|
|
11
|
+
'packages/**/src/**/__tests__/**/*.spec.ts',
|
|
12
|
+
'packages/**/src/**/__tests__/**/*.test.ts',
|
|
13
|
+
'packages/**/tests/**/*.test.ts',
|
|
14
|
+
'apps/**/src/**/*.spec.ts',
|
|
15
|
+
'apps/**/src/**/*.test.ts',
|
|
16
|
+
'apps/**/src/**/__tests__/**/*.spec.ts',
|
|
17
|
+
'apps/**/src/**/__tests__/**/*.test.ts',
|
|
18
|
+
],
|
|
19
|
+
coverage: {
|
|
20
|
+
...nodePreset.test?.coverage,
|
|
21
|
+
enabled: true,
|
|
22
|
+
exclude: [
|
|
23
|
+
'**/dist/**',
|
|
24
|
+
'**/fixtures/**',
|
|
25
|
+
'**/__tests__/**',
|
|
26
|
+
'**/*.spec.*',
|
|
27
|
+
'**/*.test.*',
|
|
28
|
+
// non-source and config files
|
|
29
|
+
'eslint.config.js',
|
|
30
|
+
'**/vitest.config.ts',
|
|
31
|
+
'**/tsup.config.ts',
|
|
32
|
+
'**/tsconfig*.json',
|
|
33
|
+
'apps/**',
|
|
34
|
+
// coverage reports
|
|
35
|
+
'**/coverage/**',
|
|
36
|
+
// barrel files / types
|
|
37
|
+
'**/index.ts',
|
|
38
|
+
'**/types.ts',
|
|
39
|
+
'**/types/**',
|
|
40
|
+
// devkit scripts
|
|
41
|
+
'scripts/devkit-sync.mjs',
|
|
42
|
+
// test files and directories
|
|
43
|
+
'**/tests/**',
|
|
44
|
+
'**/test/**',
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
})
|