lua-cli 3.5.0 → 3.6.0
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 +0 -2
- package/dist/api/agent.api.service.d.ts +2 -6
- package/dist/api/agent.api.service.d.ts.map +1 -1
- package/dist/api/agent.api.service.js.map +1 -1
- package/dist/api-exports.d.ts +2 -2
- package/dist/api-exports.d.ts.map +1 -1
- package/dist/api-exports.js.map +1 -1
- package/dist/cli/command-definitions.d.ts.map +1 -1
- package/dist/cli/command-definitions.js +18 -3
- package/dist/cli/command-definitions.js.map +1 -1
- package/dist/commands/admin.d.ts.map +1 -1
- package/dist/commands/admin.js +2 -0
- package/dist/commands/admin.js.map +1 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +7 -0
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/apiKey.d.ts.map +1 -1
- package/dist/commands/apiKey.js +4 -0
- package/dist/commands/apiKey.js.map +1 -1
- package/dist/commands/channels.d.ts.map +1 -1
- package/dist/commands/channels.js +4 -0
- package/dist/commands/channels.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +8 -0
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/chatClear.d.ts.map +1 -1
- package/dist/commands/chatClear.js +2 -0
- package/dist/commands/chatClear.js.map +1 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +21 -1
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +2 -0
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/configure.d.ts.map +1 -1
- package/dist/commands/configure.js +25 -15
- package/dist/commands/configure.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +11 -0
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/destroy.d.ts.map +1 -1
- package/dist/commands/destroy.js +6 -1
- package/dist/commands/destroy.js.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +9 -0
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +2 -0
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +6 -0
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/evals.d.ts.map +1 -1
- package/dist/commands/evals.js +2 -0
- package/dist/commands/evals.js.map +1 -1
- package/dist/commands/features.d.ts.map +1 -1
- package/dist/commands/features.js +6 -0
- package/dist/commands/features.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +11 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/integrations.d.ts.map +1 -1
- package/dist/commands/integrations.js +16 -0
- package/dist/commands/integrations.js.map +1 -1
- package/dist/commands/jobs.d.ts.map +1 -1
- package/dist/commands/jobs.js +6 -0
- package/dist/commands/jobs.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +7 -0
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/marketplace.d.ts.map +1 -1
- package/dist/commands/marketplace.js +6 -0
- package/dist/commands/marketplace.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +6 -0
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/persona.d.ts.map +1 -1
- package/dist/commands/persona.js +7 -0
- package/dist/commands/persona.js.map +1 -1
- package/dist/commands/postprocessors.d.ts.map +1 -1
- package/dist/commands/postprocessors.js +6 -0
- package/dist/commands/postprocessors.js.map +1 -1
- package/dist/commands/preprocessors.d.ts.map +1 -1
- package/dist/commands/preprocessors.js +6 -0
- package/dist/commands/preprocessors.js.map +1 -1
- package/dist/commands/production.d.ts.map +1 -1
- package/dist/commands/production.js +5 -0
- package/dist/commands/production.js.map +1 -1
- package/dist/commands/push.d.ts +5 -13
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +84 -80
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/pushBackup.d.ts.map +1 -1
- package/dist/commands/pushBackup.js +10 -0
- package/dist/commands/pushBackup.js.map +1 -1
- package/dist/commands/resources.d.ts.map +1 -1
- package/dist/commands/resources.js +6 -0
- package/dist/commands/resources.js.map +1 -1
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +4 -0
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +128 -85
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/telemetry.d.ts +6 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/telemetry.js +38 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +7 -0
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +4 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/webhooks.d.ts.map +1 -1
- package/dist/commands/webhooks.js +6 -0
- package/dist/commands/webhooks.js.map +1 -1
- package/dist/compiler/agent-traverser.d.ts +28 -28
- package/dist/compiler/agent-traverser.d.ts.map +1 -1
- package/dist/compiler/agent-traverser.js +52 -51
- package/dist/compiler/agent-traverser.js.map +1 -1
- package/dist/compiler/compiler.d.ts +0 -2
- package/dist/compiler/compiler.d.ts.map +1 -1
- package/dist/compiler/compiler.js +8 -22
- package/dist/compiler/compiler.js.map +1 -1
- package/dist/compiler/index.d.ts +3 -2
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/index.js +2 -1
- package/dist/compiler/index.js.map +1 -1
- package/dist/compiler/plugins/agent.plugin.d.ts +48 -0
- package/dist/compiler/plugins/agent.plugin.d.ts.map +1 -0
- package/dist/compiler/plugins/agent.plugin.js +123 -0
- package/dist/compiler/plugins/agent.plugin.js.map +1 -0
- package/dist/compiler/plugins/base.d.ts +4 -4
- package/dist/compiler/plugins/base.d.ts.map +1 -1
- package/dist/compiler/plugins/base.js.map +1 -1
- package/dist/compiler/plugins/job.plugin.d.ts +2 -2
- package/dist/compiler/plugins/job.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/job.plugin.js +1 -1
- package/dist/compiler/plugins/job.plugin.js.map +1 -1
- package/dist/compiler/plugins/mcp-server.plugin.d.ts +3 -8
- package/dist/compiler/plugins/mcp-server.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/mcp-server.plugin.js +4 -56
- package/dist/compiler/plugins/mcp-server.plugin.js.map +1 -1
- package/dist/compiler/plugins/postprocessor.plugin.d.ts +2 -2
- package/dist/compiler/plugins/postprocessor.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/postprocessor.plugin.js +1 -1
- package/dist/compiler/plugins/postprocessor.plugin.js.map +1 -1
- package/dist/compiler/plugins/preprocessor.plugin.d.ts +2 -2
- package/dist/compiler/plugins/preprocessor.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/preprocessor.plugin.js +1 -1
- package/dist/compiler/plugins/preprocessor.plugin.js.map +1 -1
- package/dist/compiler/plugins/registry.d.ts.map +1 -1
- package/dist/compiler/plugins/registry.js +2 -0
- package/dist/compiler/plugins/registry.js.map +1 -1
- package/dist/compiler/plugins/skill.plugin.d.ts +3 -3
- package/dist/compiler/plugins/skill.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/skill.plugin.js +8 -10
- package/dist/compiler/plugins/skill.plugin.js.map +1 -1
- package/dist/compiler/plugins/tool.plugin.d.ts +2 -2
- package/dist/compiler/plugins/tool.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/tool.plugin.js +1 -1
- package/dist/compiler/plugins/tool.plugin.js.map +1 -1
- package/dist/compiler/plugins/webhook.plugin.d.ts +2 -2
- package/dist/compiler/plugins/webhook.plugin.d.ts.map +1 -1
- package/dist/compiler/plugins/webhook.plugin.js +1 -1
- package/dist/compiler/plugins/webhook.plugin.js.map +1 -1
- package/dist/compiler/source-writer.d.ts +9 -0
- package/dist/compiler/source-writer.d.ts.map +1 -1
- package/dist/compiler/source-writer.js +11 -0
- package/dist/compiler/source-writer.js.map +1 -1
- package/dist/compiler/types.d.ts +26 -14
- package/dist/compiler/types.d.ts.map +1 -1
- package/dist/compiler/types.js +1 -0
- package/dist/compiler/types.js.map +1 -1
- package/dist/config/constants.d.ts +20 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +31 -0
- package/dist/config/constants.js.map +1 -1
- package/dist/interfaces/agent.d.ts +16 -0
- package/dist/interfaces/agent.d.ts.map +1 -1
- package/dist/primitives/agent.handler.d.ts +61 -0
- package/dist/primitives/agent.handler.d.ts.map +1 -0
- package/dist/primitives/agent.handler.js +142 -0
- package/dist/primitives/agent.handler.js.map +1 -0
- package/dist/primitives/mcp-server.handler.d.ts +3 -0
- package/dist/primitives/mcp-server.handler.d.ts.map +1 -1
- package/dist/primitives/mcp-server.handler.js +19 -8
- package/dist/primitives/mcp-server.handler.js.map +1 -1
- package/dist/services/analytics.d.ts +51 -0
- package/dist/services/analytics.d.ts.map +1 -0
- package/dist/services/analytics.js +293 -0
- package/dist/services/analytics.js.map +1 -0
- package/dist/types/skill.d.ts +27 -0
- package/dist/types/skill.d.ts.map +1 -1
- package/dist/types/skill.js +5 -0
- package/dist/types/skill.js.map +1 -1
- package/dist/utils/artifact-loader.d.ts +4 -10
- package/dist/utils/artifact-loader.d.ts.map +1 -1
- package/dist/utils/artifact-loader.js +17 -16
- package/dist/utils/artifact-loader.js.map +1 -1
- package/dist/utils/cli.d.ts.map +1 -1
- package/dist/utils/cli.js +29 -1
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/sync-display.d.ts +1 -0
- package/dist/utils/sync-display.d.ts.map +1 -1
- package/dist/utils/sync-display.js +8 -0
- package/dist/utils/sync-display.js.map +1 -1
- package/dist/utils/sync-fetch.d.ts +7 -0
- package/dist/utils/sync-fetch.d.ts.map +1 -1
- package/dist/utils/sync-fetch.js +23 -3
- package/dist/utils/sync-fetch.js.map +1 -1
- package/dist/utils/sync-helpers.d.ts +2 -2
- package/dist/utils/sync-helpers.d.ts.map +1 -1
- package/dist/utils/sync-helpers.js +2 -2
- package/dist/utils/sync-helpers.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +6 -9
- package/dist/utils/version-check.js.map +1 -1
- package/docs/API_REFERENCE.md +0 -3
- package/docs/CLI_REFERENCE.md +1 -4
- package/docs/GETTING_STARTED.md +1 -4
- package/docs/README.md +1 -1
- package/docs/api/LuaAgent.md +29 -6
- package/package.json +6 -3
- package/template/package.json +1 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Service
|
|
3
|
+
* Non-blocking PostHog telemetry for CLI usage tracking.
|
|
4
|
+
*
|
|
5
|
+
* Opt-out: Set LUA_TELEMETRY=false env var, or run `lua telemetry off`.
|
|
6
|
+
* All tracking is anonymous (hashed API key or machine UUID).
|
|
7
|
+
* Analytics never blocks commands or throws errors to the user.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Show first-run telemetry notice (once per install).
|
|
11
|
+
*/
|
|
12
|
+
export declare function showTelemetryNoticeIfNeeded(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Opportunistically load API key and yaml config to enrich analytics context.
|
|
15
|
+
* Called from withErrorHandling before every command. Never throws.
|
|
16
|
+
*/
|
|
17
|
+
export declare function enrichAnalyticsContext(): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Track a command execution event. Fire-and-forget, never throws.
|
|
20
|
+
*/
|
|
21
|
+
export declare function trackCommand(params: {
|
|
22
|
+
commandName: string;
|
|
23
|
+
success: boolean;
|
|
24
|
+
durationMs: number;
|
|
25
|
+
cliVersion: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
properties?: Record<string, any>;
|
|
28
|
+
}): void;
|
|
29
|
+
/**
|
|
30
|
+
* Track a specific named event with properties. Fire-and-forget, never throws.
|
|
31
|
+
* Use for per-command events (e.g., 'cli_push_completed', 'cli_compile_completed').
|
|
32
|
+
* Auto-enriched with distinct ID, OS, CLI version, and session context.
|
|
33
|
+
*/
|
|
34
|
+
export declare function trackEvent(eventName: string, properties?: Record<string, any>): void;
|
|
35
|
+
/**
|
|
36
|
+
* Set telemetry enabled/disabled and persist.
|
|
37
|
+
*/
|
|
38
|
+
export declare function setTelemetryEnabled(enabled: boolean): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get current telemetry status.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getTelemetryStatus(): {
|
|
43
|
+
enabled: boolean;
|
|
44
|
+
envOverride: boolean;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Gracefully shutdown PostHog client.
|
|
48
|
+
* Has a 1-second hard timeout to prevent blocking exit.
|
|
49
|
+
*/
|
|
50
|
+
export declare function shutdownAnalytics(): Promise<void>;
|
|
51
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgHH;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAclD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0E5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC,GAAG,IAAI,CA6BP;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAwBpF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAO/E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAavD"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Service
|
|
3
|
+
* Non-blocking PostHog telemetry for CLI usage tracking.
|
|
4
|
+
*
|
|
5
|
+
* Opt-out: Set LUA_TELEMETRY=false env var, or run `lua telemetry off`.
|
|
6
|
+
* All tracking is anonymous (hashed API key or machine UUID).
|
|
7
|
+
* Analytics never blocks commands or throws errors to the user.
|
|
8
|
+
*/
|
|
9
|
+
import { PostHog } from 'posthog-node';
|
|
10
|
+
import crypto from 'crypto';
|
|
11
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
12
|
+
import { platform, release, arch } from 'os';
|
|
13
|
+
import { POSTHOG_API_KEY, POSTHOG_HOST, TELEMETRY_FILE, CLI_CONFIG_DIR } from '../config/constants.js';
|
|
14
|
+
import { loadApiKey, checkApiKey } from '../services/auth.js';
|
|
15
|
+
import { readYamlConfig } from '../utils/files.js';
|
|
16
|
+
let client = null;
|
|
17
|
+
let sessionConfig = null;
|
|
18
|
+
let sessionDistinctId = null;
|
|
19
|
+
let sessionContext = {};
|
|
20
|
+
// =============================================================================
|
|
21
|
+
// Opt-out Logic
|
|
22
|
+
// =============================================================================
|
|
23
|
+
function isTelemetryDisabled() {
|
|
24
|
+
const envVal = process.env.LUA_TELEMETRY;
|
|
25
|
+
if (envVal !== undefined) {
|
|
26
|
+
return ['false', '0', 'off', 'no'].includes(envVal.toLowerCase());
|
|
27
|
+
}
|
|
28
|
+
const config = loadTelemetryConfig();
|
|
29
|
+
return !config.enabled;
|
|
30
|
+
}
|
|
31
|
+
function loadTelemetryConfig() {
|
|
32
|
+
if (sessionConfig)
|
|
33
|
+
return sessionConfig;
|
|
34
|
+
try {
|
|
35
|
+
if (existsSync(TELEMETRY_FILE)) {
|
|
36
|
+
sessionConfig = JSON.parse(readFileSync(TELEMETRY_FILE, 'utf8'));
|
|
37
|
+
return sessionConfig;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// Corrupt file — regenerate
|
|
42
|
+
}
|
|
43
|
+
sessionConfig = {
|
|
44
|
+
enabled: true,
|
|
45
|
+
anonymousId: crypto.randomUUID(),
|
|
46
|
+
noticeShown: false,
|
|
47
|
+
};
|
|
48
|
+
saveTelemetryConfig(sessionConfig);
|
|
49
|
+
return sessionConfig;
|
|
50
|
+
}
|
|
51
|
+
function saveTelemetryConfig(config) {
|
|
52
|
+
try {
|
|
53
|
+
if (!existsSync(CLI_CONFIG_DIR)) {
|
|
54
|
+
mkdirSync(CLI_CONFIG_DIR, { recursive: true });
|
|
55
|
+
}
|
|
56
|
+
writeFileSync(TELEMETRY_FILE, JSON.stringify(config, null, 2), 'utf8');
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Silently ignore write failures
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// =============================================================================
|
|
63
|
+
// Distinct ID
|
|
64
|
+
// =============================================================================
|
|
65
|
+
function getDistinctId(apiKey) {
|
|
66
|
+
if (sessionDistinctId && !apiKey)
|
|
67
|
+
return sessionDistinctId;
|
|
68
|
+
if (apiKey) {
|
|
69
|
+
sessionDistinctId = crypto.createHash('sha256').update(apiKey).digest('hex').substring(0, 16);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const config = loadTelemetryConfig();
|
|
73
|
+
sessionDistinctId = `anon_${config.anonymousId}`;
|
|
74
|
+
}
|
|
75
|
+
return sessionDistinctId;
|
|
76
|
+
}
|
|
77
|
+
// =============================================================================
|
|
78
|
+
// PostHog Client Lifecycle
|
|
79
|
+
// =============================================================================
|
|
80
|
+
function getClient() {
|
|
81
|
+
if (isTelemetryDisabled())
|
|
82
|
+
return null;
|
|
83
|
+
if (!client) {
|
|
84
|
+
const apiKey = process.env.LUA_POSTHOG_KEY || POSTHOG_API_KEY;
|
|
85
|
+
if (!apiKey)
|
|
86
|
+
return null;
|
|
87
|
+
client = new PostHog(apiKey, {
|
|
88
|
+
host: POSTHOG_HOST,
|
|
89
|
+
flushAt: 1,
|
|
90
|
+
flushInterval: 0,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return client;
|
|
94
|
+
}
|
|
95
|
+
// =============================================================================
|
|
96
|
+
// Public API
|
|
97
|
+
// =============================================================================
|
|
98
|
+
/**
|
|
99
|
+
* Show first-run telemetry notice (once per install).
|
|
100
|
+
*/
|
|
101
|
+
export function showTelemetryNoticeIfNeeded() {
|
|
102
|
+
if (isTelemetryDisabled())
|
|
103
|
+
return;
|
|
104
|
+
const config = loadTelemetryConfig();
|
|
105
|
+
if (config.noticeShown)
|
|
106
|
+
return;
|
|
107
|
+
console.error('');
|
|
108
|
+
console.error(' Lua CLI collects usage data to improve the developer experience.');
|
|
109
|
+
console.error(' To opt out, run: lua telemetry off');
|
|
110
|
+
console.error(' Or set: LUA_TELEMETRY=false');
|
|
111
|
+
console.error('');
|
|
112
|
+
config.noticeShown = true;
|
|
113
|
+
saveTelemetryConfig(config);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Opportunistically load API key and yaml config to enrich analytics context.
|
|
117
|
+
* Called from withErrorHandling before every command. Never throws.
|
|
118
|
+
*/
|
|
119
|
+
export async function enrichAnalyticsContext() {
|
|
120
|
+
try {
|
|
121
|
+
const apiKey = await loadApiKey();
|
|
122
|
+
if (apiKey) {
|
|
123
|
+
// Check if transitioning from anonymous to authenticated
|
|
124
|
+
const previousDistinctId = sessionDistinctId;
|
|
125
|
+
const wasAnonymous = previousDistinctId?.startsWith('anon_');
|
|
126
|
+
sessionContext.apiKey = apiKey;
|
|
127
|
+
// Link anonymous → authenticated identity in PostHog (once per session)
|
|
128
|
+
if (wasAnonymous) {
|
|
129
|
+
const newDistinctId = getDistinctId(apiKey);
|
|
130
|
+
const ph = getClient();
|
|
131
|
+
if (ph && previousDistinctId) {
|
|
132
|
+
ph.alias({ distinctId: newDistinctId, alias: previousDistinctId });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Identify user in PostHog with person properties (cached to avoid network call)
|
|
136
|
+
const currentHash = getDistinctId(apiKey);
|
|
137
|
+
const telemetryConfig = loadTelemetryConfig();
|
|
138
|
+
if (telemetryConfig.identifiedApiKeyHash === currentHash) {
|
|
139
|
+
// Cached — identify with stored data (no network call)
|
|
140
|
+
const ph = getClient();
|
|
141
|
+
if (ph) {
|
|
142
|
+
ph.identify({
|
|
143
|
+
distinctId: currentHash,
|
|
144
|
+
properties: {
|
|
145
|
+
email: telemetryConfig.identifiedEmail || null,
|
|
146
|
+
name: telemetryConfig.identifiedName || null,
|
|
147
|
+
os: platform(),
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
// New API key or first time — fetch user data and cache
|
|
154
|
+
try {
|
|
155
|
+
const userData = await checkApiKey(apiKey);
|
|
156
|
+
if (userData) {
|
|
157
|
+
telemetryConfig.identifiedApiKeyHash = currentHash;
|
|
158
|
+
telemetryConfig.identifiedEmail = userData.email;
|
|
159
|
+
telemetryConfig.identifiedName = userData.fullName;
|
|
160
|
+
saveTelemetryConfig(telemetryConfig);
|
|
161
|
+
const ph = getClient();
|
|
162
|
+
if (ph) {
|
|
163
|
+
ph.identify({
|
|
164
|
+
distinctId: currentHash,
|
|
165
|
+
properties: {
|
|
166
|
+
email: userData.email || null,
|
|
167
|
+
name: userData.fullName || null,
|
|
168
|
+
os: platform(),
|
|
169
|
+
},
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// Best-effort — don't block commands
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const config = readYamlConfig();
|
|
180
|
+
if (config?.agent?.agentId) {
|
|
181
|
+
sessionContext.agentId = config.agent.agentId;
|
|
182
|
+
}
|
|
183
|
+
if (config?.agent?.orgId) {
|
|
184
|
+
sessionContext.orgId = config.agent.orgId;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
// Best-effort — never block the command
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Track a command execution event. Fire-and-forget, never throws.
|
|
193
|
+
*/
|
|
194
|
+
export function trackCommand(params) {
|
|
195
|
+
try {
|
|
196
|
+
const ph = getClient();
|
|
197
|
+
if (!ph)
|
|
198
|
+
return;
|
|
199
|
+
const distinctId = getDistinctId(sessionContext.apiKey);
|
|
200
|
+
ph.capture({
|
|
201
|
+
distinctId,
|
|
202
|
+
event: 'cli_command_executed',
|
|
203
|
+
properties: {
|
|
204
|
+
command: params.commandName,
|
|
205
|
+
success: params.success,
|
|
206
|
+
duration_ms: params.durationMs,
|
|
207
|
+
cli_version: params.cliVersion,
|
|
208
|
+
error_message: params.error?.substring(0, 200) || null,
|
|
209
|
+
os: platform(),
|
|
210
|
+
os_version: release(),
|
|
211
|
+
arch: arch(),
|
|
212
|
+
node_version: process.version,
|
|
213
|
+
ci_mode: !!process.env.CI || !process.stdin.isTTY,
|
|
214
|
+
org_id: sessionContext.orgId || null,
|
|
215
|
+
agent_id: sessionContext.agentId || null,
|
|
216
|
+
...params.properties,
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
// Never throw from analytics
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Track a specific named event with properties. Fire-and-forget, never throws.
|
|
226
|
+
* Use for per-command events (e.g., 'cli_push_completed', 'cli_compile_completed').
|
|
227
|
+
* Auto-enriched with distinct ID, OS, CLI version, and session context.
|
|
228
|
+
*/
|
|
229
|
+
export function trackEvent(eventName, properties) {
|
|
230
|
+
try {
|
|
231
|
+
const ph = getClient();
|
|
232
|
+
if (!ph)
|
|
233
|
+
return;
|
|
234
|
+
const distinctId = getDistinctId(sessionContext.apiKey);
|
|
235
|
+
ph.capture({
|
|
236
|
+
distinctId,
|
|
237
|
+
event: eventName,
|
|
238
|
+
properties: {
|
|
239
|
+
os: platform(),
|
|
240
|
+
os_version: release(),
|
|
241
|
+
arch: arch(),
|
|
242
|
+
node_version: process.version,
|
|
243
|
+
ci_mode: !!process.env.CI || !process.stdin.isTTY,
|
|
244
|
+
org_id: sessionContext.orgId || null,
|
|
245
|
+
agent_id: sessionContext.agentId || null,
|
|
246
|
+
...properties,
|
|
247
|
+
},
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
// Never throw from analytics
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Set telemetry enabled/disabled and persist.
|
|
256
|
+
*/
|
|
257
|
+
export function setTelemetryEnabled(enabled) {
|
|
258
|
+
const config = loadTelemetryConfig();
|
|
259
|
+
config.enabled = enabled;
|
|
260
|
+
saveTelemetryConfig(config);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Get current telemetry status.
|
|
264
|
+
*/
|
|
265
|
+
export function getTelemetryStatus() {
|
|
266
|
+
const envVal = process.env.LUA_TELEMETRY;
|
|
267
|
+
const envOverride = envVal !== undefined;
|
|
268
|
+
return {
|
|
269
|
+
enabled: !isTelemetryDisabled(),
|
|
270
|
+
envOverride,
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Gracefully shutdown PostHog client.
|
|
275
|
+
* Has a 1-second hard timeout to prevent blocking exit.
|
|
276
|
+
*/
|
|
277
|
+
export async function shutdownAnalytics() {
|
|
278
|
+
if (!client)
|
|
279
|
+
return;
|
|
280
|
+
try {
|
|
281
|
+
await Promise.race([
|
|
282
|
+
client.shutdown(),
|
|
283
|
+
new Promise(resolve => setTimeout(resolve, 1000)),
|
|
284
|
+
]);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// Silently ignore shutdown errors
|
|
288
|
+
}
|
|
289
|
+
finally {
|
|
290
|
+
client = null;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":"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"}
|
package/dist/types/skill.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { ZodType } from "zod";
|
|
6
6
|
import UserDataInstance from "../instances/user.instance.js";
|
|
7
7
|
import { JobInstance } from "../instances/job.instance.js";
|
|
8
|
+
import type { LuaRequest } from "../interfaces/lua.js";
|
|
8
9
|
/**
|
|
9
10
|
* Safe environment variable access function.
|
|
10
11
|
* Gets injected at runtime with skill-specific environment variables.
|
|
@@ -776,11 +777,34 @@ export declare class LuaMCPServer {
|
|
|
776
777
|
* individual skills, jobs, webhooks, etc., you export a single LuaAgent object
|
|
777
778
|
* that contains everything.
|
|
778
779
|
*/
|
|
780
|
+
/**
|
|
781
|
+
* Type for the agent's model property.
|
|
782
|
+
*
|
|
783
|
+
* Can be either:
|
|
784
|
+
* - A static `'provider/model'` string (e.g., `'openai/gpt-4o'`)
|
|
785
|
+
* - A resolver function that receives `LuaRequest` and returns a model string.
|
|
786
|
+
* The function runs in the full sandbox with access to all APIs (User, Baskets, etc.)
|
|
787
|
+
*
|
|
788
|
+
* @example
|
|
789
|
+
* ```typescript
|
|
790
|
+
* // Static model
|
|
791
|
+
* model: 'openai/gpt-4o'
|
|
792
|
+
*
|
|
793
|
+
* // Dynamic model based on channel
|
|
794
|
+
* model: async (request) => {
|
|
795
|
+
* if (request.channel === 'whatsapp') return 'openai/gpt-4o-mini';
|
|
796
|
+
* return 'openai/gpt-4o';
|
|
797
|
+
* }
|
|
798
|
+
* ```
|
|
799
|
+
*/
|
|
800
|
+
export type LuaAgentModel = string | ((request: LuaRequest) => string | Promise<string>);
|
|
779
801
|
export interface LuaAgentConfig {
|
|
780
802
|
/** Agent name (used for identification) */
|
|
781
803
|
name: string;
|
|
782
804
|
/** Agent persona - defines the agent's behavior and personality */
|
|
783
805
|
persona: string;
|
|
806
|
+
/** LLM model to use — 'provider/model' string or resolver function */
|
|
807
|
+
model?: LuaAgentModel;
|
|
784
808
|
/** Array of skills (each with tools) */
|
|
785
809
|
skills?: LuaSkill[];
|
|
786
810
|
/** Array of webhooks */
|
|
@@ -825,6 +849,7 @@ export interface LuaAgentConfig {
|
|
|
825
849
|
export declare class LuaAgent {
|
|
826
850
|
private readonly name;
|
|
827
851
|
private readonly persona;
|
|
852
|
+
private readonly model?;
|
|
828
853
|
private readonly skills;
|
|
829
854
|
private readonly webhooks;
|
|
830
855
|
private readonly jobs;
|
|
@@ -837,6 +862,7 @@ export declare class LuaAgent {
|
|
|
837
862
|
* @param config - Agent configuration
|
|
838
863
|
* @param config.name - Agent name
|
|
839
864
|
* @param config.persona - Agent persona (behavior and personality)
|
|
865
|
+
* @param config.model - Optional LLM model ('provider/model' string or resolver function)
|
|
840
866
|
* @param config.skills - Optional array of skills
|
|
841
867
|
* @param config.webhooks - Optional array of webhooks
|
|
842
868
|
* @param config.jobs - Optional array of jobs
|
|
@@ -847,6 +873,7 @@ export declare class LuaAgent {
|
|
|
847
873
|
constructor(config: LuaAgentConfig);
|
|
848
874
|
getName(): string;
|
|
849
875
|
getPersona(): string;
|
|
876
|
+
getModel(): LuaAgentModel | undefined;
|
|
850
877
|
getSkills(): LuaSkill[];
|
|
851
878
|
getWebhooks(): LuaWebhook[];
|
|
852
879
|
getJobs(): LuaJob[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAE9B,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"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"}
|
package/dist/types/skill.js
CHANGED
|
@@ -577,6 +577,7 @@ export class LuaAgent {
|
|
|
577
577
|
* @param config - Agent configuration
|
|
578
578
|
* @param config.name - Agent name
|
|
579
579
|
* @param config.persona - Agent persona (behavior and personality)
|
|
580
|
+
* @param config.model - Optional LLM model ('provider/model' string or resolver function)
|
|
580
581
|
* @param config.skills - Optional array of skills
|
|
581
582
|
* @param config.webhooks - Optional array of webhooks
|
|
582
583
|
* @param config.jobs - Optional array of jobs
|
|
@@ -587,6 +588,7 @@ export class LuaAgent {
|
|
|
587
588
|
constructor(config) {
|
|
588
589
|
this.name = config.name;
|
|
589
590
|
this.persona = config.persona;
|
|
591
|
+
this.model = config.model;
|
|
590
592
|
this.skills = config.skills || [];
|
|
591
593
|
this.webhooks = config.webhooks || [];
|
|
592
594
|
this.jobs = config.jobs || [];
|
|
@@ -600,6 +602,9 @@ export class LuaAgent {
|
|
|
600
602
|
getPersona() {
|
|
601
603
|
return this.persona;
|
|
602
604
|
}
|
|
605
|
+
getModel() {
|
|
606
|
+
return this.model;
|
|
607
|
+
}
|
|
603
608
|
getSkills() {
|
|
604
609
|
return this.skills;
|
|
605
610
|
}
|
package/dist/types/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/types/skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,19 +81,13 @@ export declare function getPrimitivesByKind<T extends ManifestPrimitive>(manifes
|
|
|
81
81
|
*/
|
|
82
82
|
export declare function findPrimitive<T extends ManifestPrimitive>(manifest: CompilationManifest, name: string, kind?: T['kind']): T | undefined;
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* @param projectPath - Path to the project root (defaults to cwd)
|
|
87
|
-
* @returns The agent name, or null if not found or no manifest
|
|
84
|
+
* Find the first primitive of a given kind from the manifest.
|
|
85
|
+
* Generic version — works for any primitive kind.
|
|
88
86
|
*/
|
|
87
|
+
export declare function getFirstPrimitiveByKind<T extends ManifestPrimitive>(kind: PrimitiveKind, projectPath?: string): T | null;
|
|
89
88
|
export declare function getAgentName(projectPath?: string): string | null;
|
|
90
|
-
/**
|
|
91
|
-
* Get the agent persona from the compilation manifest.
|
|
92
|
-
*
|
|
93
|
-
* @param projectPath - Path to the project root (defaults to cwd)
|
|
94
|
-
* @returns The agent persona, or null if not found or no manifest
|
|
95
|
-
*/
|
|
96
89
|
export declare function getAgentPersona(projectPath?: string): string | null;
|
|
90
|
+
export declare function getAgentModel(projectPath?: string): string | null;
|
|
97
91
|
/**
|
|
98
92
|
* Load all artifacts of a specific kind.
|
|
99
93
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-loader.d.ts","sourceRoot":"","sources":["../../src/utils/artifact-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"artifact-loader.d.ts","sourceRoot":"","sources":["../../src/utils/artifact-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,WAAW,GAAE,MAAsB,GAAG,mBAAmB,CAgBrF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAGjF;AAMD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,GAAE,MAAsB,GAAG,MAAM,CAQtG;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,iBAAiB,EAC5B,WAAW,GAAE,MAAsB,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAgBjD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,iBAAiB,EAC5B,WAAW,GAAE,MAAsB,GAClC,MAAM,GAAG,IAAI,CAYf;AAMD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAI/D;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAC7D,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,aAAa,GAClB,CAAC,EAAE,CAEL;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,iBAAiB,EACvD,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GACf,CAAC,GAAG,SAAS,CAKf;AAMD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,iBAAiB,EACjE,IAAI,EAAE,aAAa,EACnB,WAAW,GAAE,MAAsB,GAClC,CAAC,GAAG,IAAI,CAIV;AAMD,wBAAgB,YAAY,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAE/E;AAED,wBAAgB,eAAe,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAElF;AAED,wBAAgB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAEhF;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,aAAa,EACnB,WAAW,GAAE,MAAsB,GAClC,KAAK,CAAC;IAAE,SAAS,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAKvD"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import fs from 'fs';
|
|
8
8
|
import path from 'path';
|
|
9
9
|
import zlib from 'zlib';
|
|
10
|
+
import { PrimitiveKind } from '../compiler/types.js';
|
|
10
11
|
import { COMPILE_DIRS, COMPILE_FILES } from '../config/compile.constants.js';
|
|
11
12
|
// =============================================================================
|
|
12
13
|
// MANIFEST LOADING
|
|
@@ -144,29 +145,29 @@ export function findPrimitive(manifest, name, kind) {
|
|
|
144
145
|
});
|
|
145
146
|
}
|
|
146
147
|
// =============================================================================
|
|
147
|
-
//
|
|
148
|
+
// SINGLE PRIMITIVE LOOKUP
|
|
148
149
|
// =============================================================================
|
|
149
150
|
/**
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* @param projectPath - Path to the project root (defaults to cwd)
|
|
153
|
-
* @returns The agent name, or null if not found or no manifest
|
|
151
|
+
* Find the first primitive of a given kind from the manifest.
|
|
152
|
+
* Generic version — works for any primitive kind.
|
|
154
153
|
*/
|
|
155
|
-
export function
|
|
154
|
+
export function getFirstPrimitiveByKind(kind, projectPath = process.cwd()) {
|
|
156
155
|
if (!hasCompilationOutput(projectPath))
|
|
157
156
|
return null;
|
|
158
|
-
|
|
157
|
+
const manifest = loadManifest(projectPath);
|
|
158
|
+
return manifest.primitives.find(p => p.kind === kind) ?? null;
|
|
159
|
+
}
|
|
160
|
+
// =============================================================================
|
|
161
|
+
// AGENT CONVENIENCE (delegates to generic lookup)
|
|
162
|
+
// =============================================================================
|
|
163
|
+
export function getAgentName(projectPath = process.cwd()) {
|
|
164
|
+
return getFirstPrimitiveByKind(PrimitiveKind.AGENT, projectPath)?.name ?? null;
|
|
159
165
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Get the agent persona from the compilation manifest.
|
|
162
|
-
*
|
|
163
|
-
* @param projectPath - Path to the project root (defaults to cwd)
|
|
164
|
-
* @returns The agent persona, or null if not found or no manifest
|
|
165
|
-
*/
|
|
166
166
|
export function getAgentPersona(projectPath = process.cwd()) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
return getFirstPrimitiveByKind(PrimitiveKind.AGENT, projectPath)?.persona ?? null;
|
|
168
|
+
}
|
|
169
|
+
export function getAgentModel(projectPath = process.cwd()) {
|
|
170
|
+
return getFirstPrimitiveByKind(PrimitiveKind.AGENT, projectPath)?.model ?? null;
|
|
170
171
|
}
|
|
171
172
|
// =============================================================================
|
|
172
173
|
// BATCH LOADING
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-loader.js","sourceRoot":"","sources":["../../src/utils/artifact-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"artifact-loader.js","sourceRoot":"","sources":["../../src/utils/artifact-loader.ts"],"names":[],"mappings":"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"}
|