@lovelybunch/api 1.0.22 → 1.0.24
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/dist/lib/gait-path.d.ts +19 -7
- package/dist/lib/gait-path.js +34 -46
- package/dist/lib/storage/file-storage.js +2 -4
- package/dist/routes/api/v1/agents/[id]/route.js +13 -3
- package/dist/routes/api/v1/agents/route.js +13 -3
- package/dist/routes/api/v1/chats/[id]/route.js +18 -2
- package/dist/routes/api/v1/chats/route.js +18 -2
- package/dist/routes/api/v1/config/route.js +13 -3
- package/dist/routes/api/v1/context/architecture/route.js +13 -3
- package/dist/routes/api/v1/context/knowledge/[filename]/route.js +13 -3
- package/dist/routes/api/v1/context/knowledge/route.js +13 -3
- package/dist/routes/api/v1/context/project/route.js +13 -3
- package/dist/routes/api/v1/resources/[id]/route.js +17 -1
- package/dist/routes/api/v1/resources/[id]/thumbnail/route.js +17 -1
- package/dist/routes/api/v1/resources/route.js +17 -1
- package/package.json +4 -4
- package/static/assets/index-DR-unm2Q.js +631 -0
- package/static/assets/index-yCx_SV2I.js +631 -0
- package/static/index.html +1 -1
package/dist/lib/gait-path.d.ts
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Get the base path for .gait directory based on environment
|
|
3
|
+
*
|
|
4
|
+
* Priority order:
|
|
5
|
+
* 1. Explicit basePath parameter
|
|
6
|
+
* 2. Dev mode: GAIT_DEV_ROOT environment variable
|
|
7
|
+
* 3. Production mode: GAIT_DATA_PATH environment variable
|
|
8
|
+
* 4. Fallback: current working directory
|
|
4
9
|
*/
|
|
5
|
-
export declare function
|
|
10
|
+
export declare function getGaitBasePath(basePath?: string): string;
|
|
6
11
|
/**
|
|
7
|
-
* Get the path to a
|
|
12
|
+
* Get the full path to a specific .gait subdirectory
|
|
8
13
|
*/
|
|
9
|
-
export declare function
|
|
14
|
+
export declare function getGaitPath(subdirectory: string, basePath?: string): string;
|
|
10
15
|
/**
|
|
11
|
-
*
|
|
16
|
+
* Common .gait subdirectories
|
|
12
17
|
*/
|
|
13
|
-
export declare
|
|
18
|
+
export declare const GAIT_PATHS: {
|
|
19
|
+
readonly proposals: () => string;
|
|
20
|
+
readonly context: () => string;
|
|
21
|
+
readonly agents: () => string;
|
|
22
|
+
readonly resources: () => string;
|
|
23
|
+
readonly chats: () => string;
|
|
24
|
+
readonly config: () => string;
|
|
25
|
+
};
|
package/dist/lib/gait-path.js
CHANGED
|
@@ -1,57 +1,45 @@
|
|
|
1
|
-
import { promises as fs } from 'fs';
|
|
2
1
|
import path from 'path';
|
|
3
2
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Get the base path for .gait directory based on environment
|
|
4
|
+
*
|
|
5
|
+
* Priority order:
|
|
6
|
+
* 1. Explicit basePath parameter
|
|
7
|
+
* 2. Dev mode: GAIT_DEV_ROOT environment variable
|
|
8
|
+
* 3. Production mode: GAIT_DATA_PATH environment variable
|
|
9
|
+
* 4. Fallback: current working directory
|
|
6
10
|
*/
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const gaitPath = path.join(process.env.GAIT_DATA_PATH, '.gait');
|
|
11
|
-
try {
|
|
12
|
-
await fs.access(gaitPath);
|
|
13
|
-
return gaitPath;
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
// Fall through to directory traversal
|
|
17
|
-
}
|
|
11
|
+
export function getGaitBasePath(basePath) {
|
|
12
|
+
if (basePath) {
|
|
13
|
+
return basePath;
|
|
18
14
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
16
|
+
// Dev mode: use project root .gait directory
|
|
17
|
+
return process.env.GAIT_DEV_ROOT;
|
|
18
|
+
}
|
|
19
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
20
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
21
|
+
return path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
// Fallback: use current directory .gait
|
|
25
|
+
return path.resolve(process.cwd(), '.gait');
|
|
30
26
|
}
|
|
31
|
-
return null;
|
|
32
27
|
}
|
|
33
28
|
/**
|
|
34
|
-
* Get the path to a
|
|
29
|
+
* Get the full path to a specific .gait subdirectory
|
|
35
30
|
*/
|
|
36
|
-
export
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
return null;
|
|
40
|
-
return path.join(gaitDir, 'context', fileName);
|
|
31
|
+
export function getGaitPath(subdirectory, basePath) {
|
|
32
|
+
const base = getGaitBasePath(basePath);
|
|
33
|
+
return path.join(base, subdirectory);
|
|
41
34
|
}
|
|
42
35
|
/**
|
|
43
|
-
*
|
|
36
|
+
* Common .gait subdirectories
|
|
44
37
|
*/
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
38
|
+
export const GAIT_PATHS = {
|
|
39
|
+
proposals: () => getGaitPath('proposals'),
|
|
40
|
+
context: () => getGaitPath('context'),
|
|
41
|
+
agents: () => getGaitPath('agents'),
|
|
42
|
+
resources: () => getGaitPath('resources'),
|
|
43
|
+
chats: () => getGaitPath('chats'),
|
|
44
|
+
config: () => getGaitPath(''),
|
|
45
|
+
};
|
|
@@ -2,13 +2,11 @@ import { promises as fs } from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import matter from 'gray-matter';
|
|
4
4
|
import Fuse from 'fuse.js';
|
|
5
|
+
import { getGaitPath } from '../gait-path.js';
|
|
5
6
|
export class FileStorageAdapter {
|
|
6
7
|
basePath;
|
|
7
8
|
constructor(basePath) {
|
|
8
|
-
|
|
9
|
-
this.basePath = basePath || (process.env.GAIT_DATA_PATH ?
|
|
10
|
-
path.join(process.env.GAIT_DATA_PATH, '.gait') :
|
|
11
|
-
'.gait');
|
|
9
|
+
this.basePath = basePath || getGaitPath('proposals');
|
|
12
10
|
}
|
|
13
11
|
async ensureDirectories() {
|
|
14
12
|
const dirs = ['proposals', 'specs', 'flags', 'experiments', 'templates'];
|
|
@@ -4,9 +4,19 @@ import path from 'path';
|
|
|
4
4
|
import matter from 'gray-matter';
|
|
5
5
|
const app = new Hono();
|
|
6
6
|
function getAgentsPath() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
let basePath;
|
|
8
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
9
|
+
// Dev mode: use project root .gait directory
|
|
10
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
11
|
+
}
|
|
12
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
13
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
14
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// Fallback: use current directory .gait
|
|
18
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
19
|
+
}
|
|
10
20
|
return path.join(basePath, 'agents');
|
|
11
21
|
}
|
|
12
22
|
function generateFilename(name) {
|
|
@@ -4,9 +4,19 @@ import path from 'path';
|
|
|
4
4
|
import matter from 'gray-matter';
|
|
5
5
|
const app = new Hono();
|
|
6
6
|
function getAgentsPath() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
let basePath;
|
|
8
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
9
|
+
// Dev mode: use project root .gait directory
|
|
10
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
11
|
+
}
|
|
12
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
13
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
14
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// Fallback: use current directory .gait
|
|
18
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
19
|
+
}
|
|
10
20
|
return path.join(basePath, 'agents');
|
|
11
21
|
}
|
|
12
22
|
function generateFilename(name) {
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { readFile, unlink } from "fs/promises";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
|
|
2
|
+
import { join, resolve } from "path";
|
|
3
|
+
function getChatsPath() {
|
|
4
|
+
let basePath;
|
|
5
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
6
|
+
// Dev mode: use project root .gait directory
|
|
7
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
8
|
+
}
|
|
9
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
10
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
11
|
+
basePath = resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
// Fallback: use current directory .gait
|
|
15
|
+
basePath = resolve(process.cwd(), '.gait');
|
|
16
|
+
}
|
|
17
|
+
return join(basePath, 'chats');
|
|
18
|
+
}
|
|
19
|
+
const CHATS_DIR = getChatsPath();
|
|
4
20
|
export async function GET(c) {
|
|
5
21
|
try {
|
|
6
22
|
const id = c.req.param('id');
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { writeFile, readdir, readFile, mkdir } from "fs/promises";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
|
|
2
|
+
import { join, resolve } from "path";
|
|
3
|
+
function getChatsPath() {
|
|
4
|
+
let basePath;
|
|
5
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
6
|
+
// Dev mode: use project root .gait directory
|
|
7
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
8
|
+
}
|
|
9
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
10
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
11
|
+
basePath = resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
// Fallback: use current directory .gait
|
|
15
|
+
basePath = resolve(process.cwd(), '.gait');
|
|
16
|
+
}
|
|
17
|
+
return join(basePath, 'chats');
|
|
18
|
+
}
|
|
19
|
+
const CHATS_DIR = getChatsPath();
|
|
4
20
|
export async function GET(c) {
|
|
5
21
|
try {
|
|
6
22
|
// Ensure chats directory exists
|
|
@@ -2,9 +2,19 @@ import { promises as fs } from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
async function getConfigPath() {
|
|
4
4
|
// Use the same approach as FileStorageAdapter for consistency
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
let basePath;
|
|
6
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
7
|
+
// Dev mode: use project root .gait directory
|
|
8
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
9
|
+
}
|
|
10
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
11
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
12
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
// Fallback: use current directory .gait
|
|
16
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
17
|
+
}
|
|
8
18
|
return path.join(basePath, 'config.json');
|
|
9
19
|
}
|
|
10
20
|
export async function GET(c) {
|
|
@@ -4,9 +4,19 @@ import path from 'path';
|
|
|
4
4
|
import matter from 'gray-matter';
|
|
5
5
|
const app = new Hono();
|
|
6
6
|
function getArchitecturePath() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
let basePath;
|
|
8
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
9
|
+
// Dev mode: use project root .gait directory
|
|
10
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
11
|
+
}
|
|
12
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
13
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
14
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// Fallback: use current directory .gait
|
|
18
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
19
|
+
}
|
|
10
20
|
return path.join(basePath, 'context');
|
|
11
21
|
}
|
|
12
22
|
/**
|
|
@@ -4,9 +4,19 @@ import path from 'path';
|
|
|
4
4
|
import matter from 'gray-matter';
|
|
5
5
|
const app = new Hono();
|
|
6
6
|
function getKnowledgePath() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
let basePath;
|
|
8
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
9
|
+
// Dev mode: use project root .gait directory
|
|
10
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
11
|
+
}
|
|
12
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
13
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
14
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// Fallback: use current directory .gait
|
|
18
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
19
|
+
}
|
|
10
20
|
return path.join(basePath, 'context', 'knowledge');
|
|
11
21
|
}
|
|
12
22
|
function generateFilename(title) {
|
|
@@ -5,9 +5,19 @@ import matter from 'gray-matter';
|
|
|
5
5
|
import filenameRoute from './[filename]/index.js';
|
|
6
6
|
const app = new Hono();
|
|
7
7
|
function getKnowledgePath() {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
let basePath;
|
|
9
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
10
|
+
// Dev mode: use project root .gait directory
|
|
11
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
12
|
+
}
|
|
13
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
14
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
15
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
// Fallback: use current directory .gait
|
|
19
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
20
|
+
}
|
|
11
21
|
return path.join(basePath, 'context', 'knowledge');
|
|
12
22
|
}
|
|
13
23
|
function generateFilename(title) {
|
|
@@ -4,9 +4,19 @@ import path from 'path';
|
|
|
4
4
|
import matter from 'gray-matter';
|
|
5
5
|
const app = new Hono();
|
|
6
6
|
function getProjectPath() {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
let basePath;
|
|
8
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
9
|
+
// Dev mode: use project root .gait directory
|
|
10
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
11
|
+
}
|
|
12
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
13
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
14
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
// Fallback: use current directory .gait
|
|
18
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
19
|
+
}
|
|
10
20
|
return path.join(basePath, 'context');
|
|
11
21
|
}
|
|
12
22
|
/**
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { promises as fs } from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
|
|
3
|
+
function getResourcesPath() {
|
|
4
|
+
let basePath;
|
|
5
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
6
|
+
// Dev mode: use project root .gait directory
|
|
7
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
8
|
+
}
|
|
9
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
10
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
11
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
// Fallback: use current directory .gait
|
|
15
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
16
|
+
}
|
|
17
|
+
return path.join(basePath, 'resources');
|
|
18
|
+
}
|
|
19
|
+
const RESOURCES_DIR = getResourcesPath();
|
|
4
20
|
const FILES_DIR = path.join(RESOURCES_DIR, 'files');
|
|
5
21
|
const METADATA_DIR = path.join(RESOURCES_DIR, 'metadata');
|
|
6
22
|
async function getResourceMetadata(id) {
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { promises as fs } from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
|
|
3
|
+
function getResourcesPath() {
|
|
4
|
+
let basePath;
|
|
5
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
6
|
+
// Dev mode: use project root .gait directory
|
|
7
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
8
|
+
}
|
|
9
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
10
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
11
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
// Fallback: use current directory .gait
|
|
15
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
16
|
+
}
|
|
17
|
+
return path.join(basePath, 'resources');
|
|
18
|
+
}
|
|
19
|
+
const RESOURCES_DIR = getResourcesPath();
|
|
4
20
|
const METADATA_DIR = path.join(RESOURCES_DIR, 'metadata');
|
|
5
21
|
const THUMBNAILS_DIR = path.join(RESOURCES_DIR, 'thumbnails');
|
|
6
22
|
async function getResourceMetadata(id) {
|
|
@@ -4,7 +4,23 @@ import path from 'path';
|
|
|
4
4
|
function generateId() {
|
|
5
5
|
return `res-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
function getResourcesPath() {
|
|
8
|
+
let basePath;
|
|
9
|
+
if (process.env.NODE_ENV === 'development' && process.env.GAIT_DEV_ROOT) {
|
|
10
|
+
// Dev mode: use project root .gait directory
|
|
11
|
+
basePath = process.env.GAIT_DEV_ROOT;
|
|
12
|
+
}
|
|
13
|
+
else if (process.env.GAIT_DATA_PATH) {
|
|
14
|
+
// Production mode: use GAIT_DATA_PATH (set by CLI)
|
|
15
|
+
basePath = path.resolve(process.env.GAIT_DATA_PATH, '.gait');
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
// Fallback: use current directory .gait
|
|
19
|
+
basePath = path.resolve(process.cwd(), '.gait');
|
|
20
|
+
}
|
|
21
|
+
return path.join(basePath, 'resources');
|
|
22
|
+
}
|
|
23
|
+
const RESOURCES_DIR = getResourcesPath();
|
|
8
24
|
const FILES_DIR = path.join(RESOURCES_DIR, 'files');
|
|
9
25
|
const METADATA_DIR = path.join(RESOURCES_DIR, 'metadata');
|
|
10
26
|
const THUMBNAILS_DIR = path.join(RESOURCES_DIR, 'thumbnails');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lovelybunch/api",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/server-with-static.js",
|
|
6
6
|
"exports": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"static/**/*"
|
|
13
13
|
],
|
|
14
14
|
"scripts": {
|
|
15
|
-
"dev": "tsx watch src/server.ts",
|
|
15
|
+
"dev": "NODE_ENV=development GAIT_DEV_ROOT=../../.gait tsx watch src/server.ts",
|
|
16
16
|
"build": "tsc",
|
|
17
17
|
"build:bundle": "tsc && node scripts/bundle-frontend.js",
|
|
18
18
|
"start": "node dist/server-with-static.js",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@hono/node-server": "^1.13.7",
|
|
34
34
|
"@hono/node-ws": "^1.0.6",
|
|
35
|
-
"@lovelybunch/core": "^1.0.
|
|
36
|
-
"@lovelybunch/types": "^1.0.
|
|
35
|
+
"@lovelybunch/core": "^1.0.24",
|
|
36
|
+
"@lovelybunch/types": "^1.0.24",
|
|
37
37
|
"dotenv": "^17.2.1",
|
|
38
38
|
"fuse.js": "^7.0.0",
|
|
39
39
|
"gray-matter": "^4.0.3",
|