Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,19 @@ export default tseslint.config(
},
eslint.configs.recommended,
...tseslint.configs.recommended,
{
files: ["scripts/**/*.{js,mjs,cjs}"],
languageOptions: {
globals: {
process: "readonly",
console: "readonly",
__dirname: "readonly",
__filename: "readonly",
module: "readonly",
require: "readonly",
},
},
},
{
rules: {
"@typescript-eslint/no-explicit-any": "off",
Expand All @@ -28,4 +41,4 @@ export default tseslint.config(
"no-control-regex": "off",
},
},
);
);
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "obyflow",
"version": "1.0.0",
"version": "1.1.0",
"description": "Obyflow — AI-native, CLI-first observability platform for tracing, debugging, and understanding modern applications.",
"main": "index.js",
"scripts": {
Expand All @@ -9,6 +9,7 @@
"lint": "turbo run lint",
"dev": "turbo run dev",
"clean": "pnpm -r exec rm -rf dist",
"version:sync": "node scripts/sync-version.mjs",
"prepare": "husky"
},
"keywords": [],
Expand Down
2 changes: 1 addition & 1 deletion packages/adapters/adapter-framework/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/adapter-framework",
"version": "0.0.2",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/adapters/adapter-vectordb/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/adapter-vectordb",
"version": "0.0.2",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "obyflow",
"version": "1.0.9",
"version": "1.1.0",
"type": "module",
"bin": {
"obyflow": "dist/index.js"
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/core",
"version": "0.0.6",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/llm/llm-anthropic/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/llm-anthropic",
"version": "0.0.8",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/llm/llm-core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/llm-core",
"version": "0.0.5",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/llm/llm-gemini/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/llm-gemini",
"version": "0.0.8",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/llm/llm-ollama/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/llm-ollama",
"version": "0.0.8",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/llm/llm-openai/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/llm-openai",
"version": "0.0.8",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/node-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@obyflow/node",
"version": "0.0.2",
"version": "1.1.0",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion python/obyflow-python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "obyflow-python"
version = "0.0.7"
version = "1.1.0"
description = "Obyflow Python SDK — canonical event emission and local storage for the Obyflow observability platform"
readme = "README.md"
requires-python = ">=3.9"
Expand Down
69 changes: 69 additions & 0 deletions scripts/sync-version.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#!/usr/bin/env node
/**
* Sync a single version across every publishable package in the monorepo
* (root package.json, all pnpm workspace packages, and the Python SDK's
* pyproject.toml).
*
* This is the ONLY place a version bump should happen — never hand-edit
* a version field in an individual package.json or pyproject.toml.
*
* Usage:
* node scripts/sync-version.mjs 1.1.0
* pnpm run version:sync 1.1.0
*/
import { readFileSync, writeFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import path from "node:path";
import { execSync } from "node:child_process";

const rootDir = path.resolve(fileURLToPath(import.meta.url), "../..");
const version = process.argv[2];

if (!version || !/^\d+\.\d+\.\d+(-[\w.]+)?$/.test(version)) {
console.error("Usage: node scripts/sync-version.mjs <semver> e.g. 1.1.0");
process.exit(1);
}

// Discover every workspace package.json from pnpm-workspace.yaml globs,
// so new packages are picked up automatically — nothing hardcoded here.
function findPackageJsonFiles() {
const out = execSync(
`pnpm -r exec node -e "console.log(process.cwd())"`,
{ cwd: rootDir, encoding: "utf8" }
)
.trim()
.split("\n")
.filter(Boolean)
.map((dir) => path.join(dir, "package.json"));
return [path.join(rootDir, "package.json"), ...out];
}

function bumpJson(file) {
const raw = readFileSync(file, "utf8");
const json = JSON.parse(raw);
const before = json.version;
json.version = version;
// preserve trailing newline / formatting style
const newline = raw.endsWith("\n") ? "\n" : "";
writeFileSync(file, JSON.stringify(json, null, 2) + newline);
console.log(`✓ ${path.relative(rootDir, file)} ${before} -> ${version}`);
}

function bumpPyproject(file) {
const raw = readFileSync(file, "utf8");
const before = raw.match(/^version\s*=\s*"([^"]+)"/m)?.[1];
const updated = raw.replace(
/^version\s*=\s*"[^"]+"/m,
`version = "${version}"`
);
writeFileSync(file, updated);
console.log(`✓ ${path.relative(rootDir, file)} ${before} -> ${version}`);
}

for (const f of findPackageJsonFiles()) {
bumpJson(f);
}

bumpPyproject(path.join(rootDir, "python/obyflow-python/pyproject.toml"));

console.log(`\nAll packages synced to ${version}.`);
Loading