@hasna/prompts 0.3.6 → 0.3.7

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/cli/index.js CHANGED
@@ -2084,11 +2084,11 @@ var require_commander = __commonJS((exports) => {
2084
2084
  // src/db/database.ts
2085
2085
  import { Database } from "bun:sqlite";
2086
2086
  import { join } from "path";
2087
- import { existsSync, mkdirSync } from "fs";
2087
+ import { existsSync, mkdirSync, cpSync } from "fs";
2088
2088
  function getDbPath() {
2089
- if (process.env["PROMPTS_DB_PATH"]) {
2090
- return process.env["PROMPTS_DB_PATH"];
2091
- }
2089
+ const envPath = process.env["HASNA_PROMPTS_DB_PATH"] ?? process.env["PROMPTS_DB_PATH"];
2090
+ if (envPath)
2091
+ return envPath;
2092
2092
  if (process.env["PROMPTS_DB_SCOPE"] === "project") {
2093
2093
  let dir = process.cwd();
2094
2094
  while (true) {
@@ -2103,7 +2103,15 @@ function getDbPath() {
2103
2103
  }
2104
2104
  }
2105
2105
  const home = process.env["HOME"] || process.env["USERPROFILE"] || "~";
2106
- return join(home, ".prompts", "prompts.db");
2106
+ const newDir = join(home, ".hasna", "prompts");
2107
+ const oldDir = join(home, ".prompts");
2108
+ if (!existsSync(newDir) && existsSync(oldDir)) {
2109
+ try {
2110
+ mkdirSync(join(home, ".hasna"), { recursive: true });
2111
+ cpSync(oldDir, newDir, { recursive: true });
2112
+ } catch {}
2113
+ }
2114
+ return join(newDir, "prompts.db");
2107
2115
  }
2108
2116
  function getDatabase() {
2109
2117
  if (_db)
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAMrC,wBAAgB,SAAS,IAAI,MAAM,CAsBlC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAmBtC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAGD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AA4KD,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0B5E;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAM5C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC3E"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAMrC,wBAAgB,SAAS,IAAI,MAAM,CAmClC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAmBtC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAGD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AA4KD,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0B5E;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAM5C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC3E"}
package/dist/index.js CHANGED
@@ -2,12 +2,12 @@
2
2
  // src/db/database.ts
3
3
  import { Database } from "bun:sqlite";
4
4
  import { join } from "path";
5
- import { existsSync, mkdirSync } from "fs";
5
+ import { existsSync, mkdirSync, cpSync } from "fs";
6
6
  var _db = null;
7
7
  function getDbPath() {
8
- if (process.env["PROMPTS_DB_PATH"]) {
9
- return process.env["PROMPTS_DB_PATH"];
10
- }
8
+ const envPath = process.env["HASNA_PROMPTS_DB_PATH"] ?? process.env["PROMPTS_DB_PATH"];
9
+ if (envPath)
10
+ return envPath;
11
11
  if (process.env["PROMPTS_DB_SCOPE"] === "project") {
12
12
  let dir = process.cwd();
13
13
  while (true) {
@@ -22,7 +22,15 @@ function getDbPath() {
22
22
  }
23
23
  }
24
24
  const home = process.env["HOME"] || process.env["USERPROFILE"] || "~";
25
- return join(home, ".prompts", "prompts.db");
25
+ const newDir = join(home, ".hasna", "prompts");
26
+ const oldDir = join(home, ".prompts");
27
+ if (!existsSync(newDir) && existsSync(oldDir)) {
28
+ try {
29
+ mkdirSync(join(home, ".hasna"), { recursive: true });
30
+ cpSync(oldDir, newDir, { recursive: true });
31
+ } catch {}
32
+ }
33
+ return join(newDir, "prompts.db");
26
34
  }
27
35
  function getDatabase() {
28
36
  if (_db)
package/dist/mcp/index.js CHANGED
@@ -3996,12 +3996,12 @@ var NEVER = INVALID;
3996
3996
  // src/db/database.ts
3997
3997
  import { Database } from "bun:sqlite";
3998
3998
  import { join } from "path";
3999
- import { existsSync, mkdirSync } from "fs";
3999
+ import { existsSync, mkdirSync, cpSync } from "fs";
4000
4000
  var _db = null;
4001
4001
  function getDbPath() {
4002
- if (process.env["PROMPTS_DB_PATH"]) {
4003
- return process.env["PROMPTS_DB_PATH"];
4004
- }
4002
+ const envPath = process.env["HASNA_PROMPTS_DB_PATH"] ?? process.env["PROMPTS_DB_PATH"];
4003
+ if (envPath)
4004
+ return envPath;
4005
4005
  if (process.env["PROMPTS_DB_SCOPE"] === "project") {
4006
4006
  let dir = process.cwd();
4007
4007
  while (true) {
@@ -4016,7 +4016,15 @@ function getDbPath() {
4016
4016
  }
4017
4017
  }
4018
4018
  const home = process.env["HOME"] || process.env["USERPROFILE"] || "~";
4019
- return join(home, ".prompts", "prompts.db");
4019
+ const newDir = join(home, ".hasna", "prompts");
4020
+ const oldDir = join(home, ".prompts");
4021
+ if (!existsSync(newDir) && existsSync(oldDir)) {
4022
+ try {
4023
+ mkdirSync(join(home, ".hasna"), { recursive: true });
4024
+ cpSync(oldDir, newDir, { recursive: true });
4025
+ } catch {}
4026
+ }
4027
+ return join(newDir, "prompts.db");
4020
4028
  }
4021
4029
  function getDatabase() {
4022
4030
  if (_db)
@@ -4,12 +4,12 @@
4
4
  // src/db/database.ts
5
5
  import { Database } from "bun:sqlite";
6
6
  import { join } from "path";
7
- import { existsSync, mkdirSync } from "fs";
7
+ import { existsSync, mkdirSync, cpSync } from "fs";
8
8
  var _db = null;
9
9
  function getDbPath() {
10
- if (process.env["PROMPTS_DB_PATH"]) {
11
- return process.env["PROMPTS_DB_PATH"];
12
- }
10
+ const envPath = process.env["HASNA_PROMPTS_DB_PATH"] ?? process.env["PROMPTS_DB_PATH"];
11
+ if (envPath)
12
+ return envPath;
13
13
  if (process.env["PROMPTS_DB_SCOPE"] === "project") {
14
14
  let dir = process.cwd();
15
15
  while (true) {
@@ -24,7 +24,15 @@ function getDbPath() {
24
24
  }
25
25
  }
26
26
  const home = process.env["HOME"] || process.env["USERPROFILE"] || "~";
27
- return join(home, ".prompts", "prompts.db");
27
+ const newDir = join(home, ".hasna", "prompts");
28
+ const oldDir = join(home, ".prompts");
29
+ if (!existsSync(newDir) && existsSync(oldDir)) {
30
+ try {
31
+ mkdirSync(join(home, ".hasna"), { recursive: true });
32
+ cpSync(oldDir, newDir, { recursive: true });
33
+ } catch {}
34
+ }
35
+ return join(newDir, "prompts.db");
28
36
  }
29
37
  function getDatabase() {
30
38
  if (_db)
@@ -150,6 +158,25 @@ function runMigrations(db) {
150
158
  CREATE INDEX IF NOT EXISTS idx_usage_log_used_at ON usage_log(used_at);
151
159
  `
152
160
  },
161
+ {
162
+ name: "008_schedules",
163
+ sql: `
164
+ CREATE TABLE IF NOT EXISTS prompt_schedules (
165
+ id TEXT PRIMARY KEY,
166
+ prompt_id TEXT NOT NULL REFERENCES prompts(id) ON DELETE CASCADE,
167
+ prompt_slug TEXT NOT NULL,
168
+ cron TEXT NOT NULL,
169
+ vars TEXT NOT NULL DEFAULT '{}',
170
+ agent_id TEXT,
171
+ last_run_at TEXT,
172
+ next_run_at TEXT NOT NULL,
173
+ run_count INTEGER NOT NULL DEFAULT 0,
174
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
175
+ );
176
+ CREATE INDEX IF NOT EXISTS idx_prompt_schedules_next_run ON prompt_schedules(next_run_at);
177
+ CREATE INDEX IF NOT EXISTS idx_prompt_schedules_prompt_id ON prompt_schedules(prompt_id);
178
+ `
179
+ },
153
180
  {
154
181
  name: "002_fts5",
155
182
  sql: `
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/prompts",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "Reusable prompt library for AI agents — CLI + MCP server + REST API + web dashboard",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",