Refactor magic number 30078 to KIND_APP_DATA constant

- Added KIND_APP_DATA to src/constants.mjs
- Updated src/lib.mjs, src/lock-ops.mjs, and dashboard/index.html to use the constant
- Added missing src files to package.json files list
- Updated build.mjs to copy src/constants.mjs to dist/src/

Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
google-labs-jules[bot]andPR0M3TH3AN committed 2026-02-14 14:16:44 +00:00
1 parent 695adb6dc9
commit 02e96d49be
6 files changed
+17 -3

No files matched your search

+4
View File
@@ -9,6 +9,7 @@ const DIST_DIR = path.join(__dirname, 'dist');
const LANDING_SRC = path.join(__dirname, 'landing');
const DASHBOARD_SRC = path.join(__dirname, 'dashboard');
const DOCS_SRC = path.join(__dirname, 'src', 'docs');
const CONSTANTS_SRC = path.join(__dirname, 'src', 'constants.mjs');
const PROMPTS_SRC = path.join(__dirname, 'src', 'prompts', 'META_PROMPTS.md');
const CONFIG_SRC = path.join(__dirname, 'torch-config.json');
const ASSETS_SRC = path.join(__dirname, 'assets');
@@ -42,6 +43,9 @@ const distDocs = path.join(DIST_DIR, 'src', 'docs');
fs.mkdirSync(distDocs, { recursive: true });
fs.cpSync(DOCS_SRC, distDocs, { recursive: true });
// 3.5. Copy src/constants.mjs -> dist/src/constants.mjs
fs.copyFileSync(CONSTANTS_SRC, path.join(DIST_DIR, 'src', 'constants.mjs'));
// 4. Copy src/prompts/META_PROMPTS.md -> dist/src/prompts/META_PROMPTS.md
const distPromptsDir = path.join(DIST_DIR, 'src', 'prompts');
fs.mkdirSync(distPromptsDir, { recursive: true });
+3 -1
View File
@@ -152,6 +152,8 @@
</div>
<script type="module">
import { KIND_APP_DATA } from '../src/constants.mjs';
// -----------------------------------------------------------------------
// Configuration — matches src/nostr-lock.mjs defaults
// Optional URL params:
@@ -235,7 +237,7 @@
let RELAYS = DASHBOARD_CONFIG.relays;
let D_TAG_PREFIX = `${DASHBOARD_CONFIG.namespace}-lock/`;
const LOCK_EVENT_KIND = 30078;
const LOCK_EVENT_KIND = KIND_APP_DATA;
let HASHTAG = DASHBOARD_CONFIG.hashtag;
function applyConfigToHelpText() {
+5
View File
@@ -10,6 +10,11 @@
"files": [
"bin/",
"src/lib.mjs",
"src/constants.mjs",
"src/lock-ops.mjs",
"src/ops.mjs",
"src/dashboard.mjs",
"src/roster.mjs",
"src/torch-config.mjs",
"src/prompts/",
"src/docs/",
+1
View File
@@ -9,3 +9,4 @@ export const DEFAULT_TTL = 7200;
export const DEFAULT_NAMESPACE = 'torch';
export const DEFAULT_QUERY_TIMEOUT_MS = 15_000;
export const VALID_CADENCES = new Set(['daily', 'weekly']);
export const KIND_APP_DATA = 30078;
+2 -1
View File
@@ -16,6 +16,7 @@ import {
DEFAULT_DASHBOARD_PORT,
RACE_CHECK_DELAY_MS,
VALID_CADENCES,
KIND_APP_DATA,
} from './constants.mjs';
import { cmdInit, cmdUpdate } from './ops.mjs';
import { getRoster } from './roster.mjs';
@@ -130,7 +131,7 @@ export async function cmdLock(agent, cadence, dryRun = false) {
console.error('Step 3: Building lock event...');
const event = finalizeEvent(
{
kind: 30078,
kind: KIND_APP_DATA,
created_at: now,
tags: [
['d', `${namespace}-lock/${cadence}/${agent}/${dateStr}`],
+2 -1
View File
@@ -1,5 +1,6 @@
import { SimplePool } from 'nostr-tools/pool';
import { getQueryTimeoutMs } from './torch-config.mjs';
import { KIND_APP_DATA } from './constants.mjs';
function nowUnix() {
return Math.floor(Date.now() / 1000);
@@ -49,7 +50,7 @@ export async function queryLocks(relays, cadence, dateStr, namespace) {
try {
const events = await Promise.race([
pool.querySync(relays, {
kinds: [30078],
kinds: [KIND_APP_DATA],
'#t': [tagFilter],
}),
new Promise((_, reject) =>