@liquidmetal-ai/raindrop 0.2.8 → 0.2.10
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/README.md +1 -776
- package/dist/base-command.d.ts +2 -1
- package/dist/base-command.d.ts.map +1 -1
- package/dist/base-command.js +11 -1
- package/dist/build.js +1 -1
- package/dist/codegen.d.ts +9 -2
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +93 -16
- package/dist/codegen.test.js +21 -0
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/build/branch.d.ts.map +1 -1
- package/dist/commands/build/branch.js +16 -1
- package/dist/commands/build/checkout.d.ts.map +1 -1
- package/dist/commands/build/checkout.js +4 -1
- package/dist/commands/build/delete.js +2 -2
- package/dist/commands/build/deploy.d.ts.map +1 -1
- package/dist/commands/build/deploy.js +9 -3
- package/dist/commands/build/find.d.ts.map +1 -1
- package/dist/commands/build/find.js +3 -1
- package/dist/commands/build/generate.d.ts.map +1 -1
- package/dist/commands/build/generate.js +1 -0
- package/dist/commands/build/init.js +1 -1
- package/dist/commands/build/list.d.ts.map +1 -1
- package/dist/commands/build/list.js +6 -4
- package/dist/commands/build/sandbox.d.ts.map +1 -1
- package/dist/commands/build/sandbox.js +8 -2
- package/dist/commands/build/start.d.ts.map +1 -1
- package/dist/commands/build/start.js +5 -2
- package/dist/commands/build/status.d.ts.map +1 -1
- package/dist/commands/build/status.js +5 -4
- package/dist/commands/build/stop.d.ts.map +1 -1
- package/dist/commands/build/stop.js +5 -2
- package/dist/commands/build/unsandbox.d.ts.map +1 -1
- package/dist/commands/build/unsandbox.js +8 -2
- package/dist/commands/build/validate.js +3 -3
- package/dist/commands/object/delete.d.ts.map +1 -1
- package/dist/commands/object/delete.js +8 -4
- package/dist/commands/object/get.d.ts.map +1 -1
- package/dist/commands/object/get.js +8 -6
- package/dist/commands/object/list.d.ts.map +1 -1
- package/dist/commands/object/list.js +14 -10
- package/dist/commands/object/put.d.ts.map +1 -1
- package/dist/commands/object/put.js +11 -7
- package/dist/commands/query/chunk-search.d.ts.map +1 -1
- package/dist/commands/query/chunk-search.js +11 -9
- package/dist/commands/query/register-retriever.d.ts.map +1 -1
- package/dist/commands/query/register-retriever.js +2 -7
- package/dist/commands/query/search.d.ts.map +1 -1
- package/dist/commands/query/search.js +15 -15
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.test.js +3 -0
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +0 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -2
- package/dist/trace.d.ts +20 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +117 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +2 -4827
- package/package.json +1 -1
- package/templates/db/common/kysely-d1.ts +173 -0
- package/templates/db/db/README.md +32 -0
- package/templates/db/package.json +19 -0
- package/templates/db/prisma/schema.prisma.hbs +46 -0
- package/templates/db/scripts/create_migration.mts +78 -0
- package/templates/db/scripts/seed-sql.mts +32 -0
- package/templates/db/scripts/seed.ts.hbs +219 -0
- package/templates/init/package.json.hbs +1 -1
package/dist/trace.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
// Helper functions for traceparent
|
|
3
|
+
function randomHex(length) {
|
|
4
|
+
return [...Array(length)].map(() => Math.floor(Math.random() * 16).toString(16)).join('');
|
|
5
|
+
}
|
|
6
|
+
function generateTraceId() {
|
|
7
|
+
return randomHex(32);
|
|
8
|
+
}
|
|
9
|
+
function generateParentId() {
|
|
10
|
+
return randomHex(16);
|
|
11
|
+
}
|
|
12
|
+
// Create a traceparent header following W3C spec:
|
|
13
|
+
// version-format = trace-id "-" parent-id "-" trace-flags
|
|
14
|
+
// https://www.w3.org/TR/trace-context/#version-format
|
|
15
|
+
function createTraceparent(traceId = null, parentId = null, sampled = false) {
|
|
16
|
+
const version = '00';
|
|
17
|
+
const finalTraceId = traceId || generateTraceId();
|
|
18
|
+
const finalParentId = parentId || generateParentId();
|
|
19
|
+
const traceFlags = sampled ? '01' : '00';
|
|
20
|
+
return `${version}-${finalTraceId}-${finalParentId}-${traceFlags}`;
|
|
21
|
+
}
|
|
22
|
+
// Parse traceparent
|
|
23
|
+
function parseTraceparent(traceparent) {
|
|
24
|
+
if (!traceparent)
|
|
25
|
+
return null;
|
|
26
|
+
const parts = traceparent.split('-');
|
|
27
|
+
if (parts.length !== 4)
|
|
28
|
+
return null;
|
|
29
|
+
// Ensure all parts exist before creating the object
|
|
30
|
+
if (!parts[0] || !parts[1] || !parts[2] || !parts[3])
|
|
31
|
+
return null;
|
|
32
|
+
return {
|
|
33
|
+
version: parts[0],
|
|
34
|
+
traceId: parts[1],
|
|
35
|
+
parentId: parts[2],
|
|
36
|
+
traceFlags: parts[3],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// Simple Trace store using AsyncLocalStorage for context propagation
|
|
40
|
+
export class TraceStore {
|
|
41
|
+
asyncLocalStorage;
|
|
42
|
+
constructor() {
|
|
43
|
+
this.asyncLocalStorage = new AsyncLocalStorage();
|
|
44
|
+
}
|
|
45
|
+
// Get current traceparent from AsyncLocalStorage
|
|
46
|
+
getCurrentTraceparent() {
|
|
47
|
+
return this.asyncLocalStorage.getStore();
|
|
48
|
+
}
|
|
49
|
+
// Get or create a traceparent
|
|
50
|
+
getOrCreateTraceparent(incomingTraceparent) {
|
|
51
|
+
const current = this.getCurrentTraceparent();
|
|
52
|
+
// If we have a current one, return it
|
|
53
|
+
if (current) {
|
|
54
|
+
return current;
|
|
55
|
+
}
|
|
56
|
+
// If we're given a parent, create a child with a new parentId
|
|
57
|
+
if (incomingTraceparent) {
|
|
58
|
+
const parsed = parseTraceparent(incomingTraceparent);
|
|
59
|
+
if (parsed) {
|
|
60
|
+
// Use the trace ID from the incoming traceparent, but generate a new parent ID
|
|
61
|
+
return createTraceparent(parsed.traceId, generateParentId());
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Otherwise create a brand new one
|
|
65
|
+
return createTraceparent();
|
|
66
|
+
}
|
|
67
|
+
// Run a function within the context of a trace
|
|
68
|
+
run(traceparent, fn) {
|
|
69
|
+
const activeTraceparent = traceparent || this.getOrCreateTraceparent();
|
|
70
|
+
return this.asyncLocalStorage.run(activeTraceparent, fn);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Create and export a default trace store instance
|
|
74
|
+
export const traceStore = new TraceStore();
|
|
75
|
+
// Convenience function to access current traceparent
|
|
76
|
+
export function getCurrentTraceparent() {
|
|
77
|
+
return traceStore.getCurrentTraceparent();
|
|
78
|
+
}
|
|
79
|
+
// Convenience function to run with current or new traceparent
|
|
80
|
+
export function runWithTrace(fn, traceparent) {
|
|
81
|
+
return traceStore.run(traceparent, fn);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Generates a URL for viewing a trace based on a configured template
|
|
85
|
+
*
|
|
86
|
+
* @param traceparent - W3C traceparent header value (format: 00-{traceId}-{spanId}-{flags})
|
|
87
|
+
* @param startTime - Optional trace start time (defaults to now minus 15 minutes)
|
|
88
|
+
* @param endTime - Optional trace end time (defaults to now plus 15 minutes)
|
|
89
|
+
* @returns Trace URL based on the configured template, or null if no template is configured
|
|
90
|
+
*/
|
|
91
|
+
export function generateTraceUrl(traceparent, startTime, endTime) {
|
|
92
|
+
// Check if trace URL template is configured
|
|
93
|
+
const encodedTemplate = process.env.RAINDROP_TRACE_URL_TEMPLATE;
|
|
94
|
+
if (!encodedTemplate) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
// Decode the URL-encoded template
|
|
98
|
+
const urlTemplate = decodeURIComponent(encodedTemplate);
|
|
99
|
+
const parsed = parseTraceparent(traceparent);
|
|
100
|
+
if (!parsed) {
|
|
101
|
+
throw new Error(`Invalid traceparent format: ${traceparent}`);
|
|
102
|
+
}
|
|
103
|
+
const traceId = parsed.traceId;
|
|
104
|
+
const spanId = parsed.parentId;
|
|
105
|
+
// Default time range if not provided is ±15 minutes from now
|
|
106
|
+
const start = startTime || new Date(Date.now() - 15 * 60 * 1000);
|
|
107
|
+
const end = endTime || new Date(Date.now() + 15 * 60 * 1000);
|
|
108
|
+
// Format timestamps for URL template (Unix timestamp in seconds)
|
|
109
|
+
const startTs = Math.floor(start.getTime() / 1000);
|
|
110
|
+
const endTs = Math.floor(end.getTime() / 1000);
|
|
111
|
+
// Replace placeholders in the template
|
|
112
|
+
return urlTemplate
|
|
113
|
+
.replace(/\{traceId\}/g, traceId)
|
|
114
|
+
.replace(/\{spanId\}/g, spanId)
|
|
115
|
+
.replace(/\{startTs\}/g, startTs.toString())
|
|
116
|
+
.replace(/\{endTs\}/g, endTs.toString());
|
|
117
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/deploy.ts","../src/index.test.ts","../src/index.ts","../src/commands/tail.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/build/branch.ts","../src/commands/build/checkout.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/sandbox.ts","../src/commands/build/start.ts","../src/commands/build/status.ts","../src/commands/build/stop.ts","../src/commands/build/unsandbox.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts","../src/commands/build/tools/check.ts","../src/commands/build/tools/fmt.ts","../src/commands/object/delete.ts","../src/commands/object/get.ts","../src/commands/object/list.ts","../src/commands/object/put.ts","../src/commands/query/chunk-search.ts","../src/commands/query/register-retriever.ts","../src/commands/query/search.ts"],"version":"5.8.2"}
|
|
1
|
+
{"root":["../src/base-command.ts","../src/build.test.ts","../src/build.ts","../src/codegen.test.ts","../src/codegen.ts","../src/config.test.ts","../src/config.ts","../src/deploy.ts","../src/index.test.ts","../src/index.ts","../src/trace.ts","../src/commands/tail.ts","../src/commands/auth/list.ts","../src/commands/auth/login.ts","../src/commands/auth/logout.ts","../src/commands/auth/select.ts","../src/commands/build/branch.ts","../src/commands/build/checkout.ts","../src/commands/build/delete.ts","../src/commands/build/deploy.ts","../src/commands/build/find.ts","../src/commands/build/generate.ts","../src/commands/build/init.ts","../src/commands/build/list.ts","../src/commands/build/sandbox.ts","../src/commands/build/start.ts","../src/commands/build/status.ts","../src/commands/build/stop.ts","../src/commands/build/unsandbox.ts","../src/commands/build/upload.ts","../src/commands/build/validate.ts","../src/commands/build/env/get.ts","../src/commands/build/env/set.ts","../src/commands/build/tools/check.ts","../src/commands/build/tools/fmt.ts","../src/commands/object/delete.ts","../src/commands/object/get.ts","../src/commands/object/list.ts","../src/commands/object/put.ts","../src/commands/query/chunk-search.ts","../src/commands/query/register-retriever.ts","../src/commands/query/search.ts"],"version":"5.8.2"}
|