@loxtep/sdk 0.11.1 → 0.13.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cli/commands/attach-cmd.d.ts +1 -1
  3. package/dist/cli/commands/attach-cmd.js +1 -1
  4. package/dist/cli/commands/delivery-cmd.d.ts +1 -0
  5. package/dist/cli/commands/delivery-cmd.d.ts.map +1 -1
  6. package/dist/cli/commands/delivery-cmd.js +60 -44
  7. package/dist/cli/commands/delivery-cmd.js.map +1 -1
  8. package/dist/cli/commands/ingest-cmd.d.ts +1 -0
  9. package/dist/cli/commands/ingest-cmd.d.ts.map +1 -1
  10. package/dist/cli/commands/ingest-cmd.js +37 -24
  11. package/dist/cli/commands/ingest-cmd.js.map +1 -1
  12. package/dist/cli/commands/start-cmd.d.ts +25 -0
  13. package/dist/cli/commands/start-cmd.d.ts.map +1 -0
  14. package/dist/cli/commands/start-cmd.js +145 -0
  15. package/dist/cli/commands/start-cmd.js.map +1 -0
  16. package/dist/cli/commands/transform-cmd.d.ts +1 -0
  17. package/dist/cli/commands/transform-cmd.d.ts.map +1 -1
  18. package/dist/cli/commands/transform-cmd.js +36 -23
  19. package/dist/cli/commands/transform-cmd.js.map +1 -1
  20. package/dist/cli/help.d.ts.map +1 -1
  21. package/dist/cli/help.js +9 -3
  22. package/dist/cli/help.js.map +1 -1
  23. package/dist/cli/index.d.ts.map +1 -1
  24. package/dist/cli/index.js +576 -515
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/setup-prompt.d.ts +2 -0
  27. package/dist/cli/setup-prompt.d.ts.map +1 -0
  28. package/dist/cli/setup-prompt.js +3 -0
  29. package/dist/cli/setup-prompt.js.map +1 -0
  30. package/dist/client/data-products.d.ts +10 -8
  31. package/dist/client/data-products.d.ts.map +1 -1
  32. package/dist/client/data-products.js +142 -93
  33. package/dist/client/data-products.js.map +1 -1
  34. package/dist/client/flow-types.d.ts +16 -6
  35. package/dist/client/flow-types.d.ts.map +1 -1
  36. package/dist/client/flow-types.js +6 -1
  37. package/dist/client/flow-types.js.map +1 -1
  38. package/dist/client/index.d.ts +89 -88
  39. package/dist/client/index.d.ts.map +1 -1
  40. package/dist/client/index.js +13 -12
  41. package/dist/client/index.js.map +1 -1
  42. package/dist/client/projects-types.d.ts +1 -1
  43. package/dist/client/queues.d.ts +5 -3
  44. package/dist/client/queues.d.ts.map +1 -1
  45. package/dist/client/queues.js +26 -21
  46. package/dist/client/queues.js.map +1 -1
  47. package/dist/client/workflows.d.ts +7 -7
  48. package/dist/client/workflows.d.ts.map +1 -1
  49. package/dist/client/workflows.js +71 -63
  50. package/dist/client/workflows.js.map +1 -1
  51. package/dist/lib/sdk-ingest-bundle.d.ts +5 -1
  52. package/dist/lib/sdk-ingest-bundle.d.ts.map +1 -1
  53. package/dist/lib/sdk-ingest-bundle.js +38 -29
  54. package/dist/lib/sdk-ingest-bundle.js.map +1 -1
  55. package/dist/rstreams/event-bridge.d.ts +4 -4
  56. package/dist/rstreams/event-bridge.d.ts.map +1 -1
  57. package/dist/rstreams/event-bridge.js +23 -16
  58. package/dist/rstreams/event-bridge.js.map +1 -1
  59. package/docs/event-writer-transport-modes.md +47 -0
  60. package/docs/getting-started.md +19 -0
  61. package/docs/sdk-first-ingest.md +14 -12
  62. package/docs/sdk-mcp-mapping.md +8 -3
  63. package/package.json +1 -1
  64. package/schemas/entity-json-schemas/SCHEMA_SYNC.md +1 -1
  65. package/schemas/entity-json-schemas/SOURCE.json +5 -4
  66. package/schemas/entity-json-schemas/connection.json +35 -0
  67. package/schemas/entity-json-schemas/data-product.json +16 -0
  68. package/schemas/entity-json-schemas/grant.json +146 -0
  69. package/schemas/entity-json-schemas/transformation.json +19 -0
@@ -0,0 +1,145 @@
1
+ /** Agent-led hosted MCP onboarding. Does not log in to the SDK or create credentials. */
2
+ import { spawnSync } from 'node:child_process';
3
+ import { existsSync, readFileSync, mkdirSync, writeFileSync, renameSync } from 'node:fs';
4
+ import { homedir } from 'node:os';
5
+ import { dirname, join, delimiter } from 'node:path';
6
+ import { SETUP_PROMPT } from '../setup-prompt.js';
7
+ const MCP_URL = 'https://mcp.loxtep.io/ai/mcp/stream';
8
+ const CLIENTS = { claude: 'claude', codex: 'codex', opencode: 'opencode', cursor: 'cursor-agent' };
9
+ const SKILLS = ['loxtep-mcp-session', 'loxtep-auth', 'connect-external-system', 'data-workflows'];
10
+ export function supportedNode(version) {
11
+ const [major, minor] = version.replace(/^v/, '').split('.').map(Number);
12
+ return major > 22 || (major === 22 && minor >= 20);
13
+ }
14
+ export function detectClient(cwd, env, available, explicit) {
15
+ if (explicit) {
16
+ if (!(explicit in CLIENTS))
17
+ throw new Error('Supported clients: claude, codex, opencode, cursor.');
18
+ if (!available(CLIENTS[explicit]))
19
+ throw new Error(`Install ${CLIENTS[explicit]} first.`);
20
+ return explicit;
21
+ }
22
+ const active = env.CLAUDECODE ? 'claude' : env.CODEX_THREAD_ID ? 'codex' : env.CURSOR_TRACE_ID ? 'cursor' : undefined;
23
+ if (active && available(CLIENTS[active]))
24
+ return active;
25
+ const installed = Object.keys(CLIENTS).filter(c => available(CLIENTS[c]));
26
+ const hinted = installed.filter(c => existsSync(join(cwd, c === 'opencode' ? 'opencode.json' : `.${c}`)));
27
+ if (hinted.length === 1)
28
+ return hinted[0];
29
+ if (installed.length === 1)
30
+ return installed[0];
31
+ throw new Error(installed.length ? 'Multiple agents detected. Run loxtep start --client claude|codex|opencode|cursor.' : 'Install a supported coding agent, then run loxtep start again.');
32
+ }
33
+ /** Refuse conflicting entries rather than silently replacing credentials or local servers. */
34
+ export function mergeMcpConfig(text, client) {
35
+ const config = JSON.parse(text);
36
+ if (!config || typeof config !== 'object' || Array.isArray(config))
37
+ throw new Error('MCP configuration must be a JSON object.');
38
+ const key = client === 'opencode' ? 'mcp' : 'mcpServers';
39
+ if (config[key] && (typeof config[key] !== 'object' || Array.isArray(config[key])))
40
+ throw new Error(`Invalid ${key} configuration.`);
41
+ const servers = config[key] ?? {};
42
+ const current = servers.loxtep;
43
+ if (current) {
44
+ if (current.url !== MCP_URL || current.command || current.enabled === false || (client === 'opencode' && current.type !== 'remote') || (client === 'claude' && current.type !== 'http')) {
45
+ throw new Error('An incompatible Loxtep MCP entry already exists. Review it before running start again.');
46
+ }
47
+ return text;
48
+ }
49
+ config[key] = { ...servers, loxtep: client === 'opencode' ? { type: 'remote', url: MCP_URL, enabled: true } : client === 'claude' ? { type: 'http', url: MCP_URL } : { url: MCP_URL } };
50
+ return `${JSON.stringify(config, null, 2)}\n`;
51
+ }
52
+ export function runStart(options = {}) {
53
+ if (!supportedNode(options.nodeVersion ?? process.versions.node))
54
+ throw new Error('Loxtep start requires Node.js 22.20 or newer. Select a supported Node version and retry.');
55
+ const cwd = options.cwd ?? process.cwd();
56
+ const home = options.home ?? homedir();
57
+ const env = options.env ?? process.env;
58
+ const log = options.log ?? console.log;
59
+ const available = options.available ?? ((command) => (env.PATH ?? '').split(delimiter).some(p => existsSync(join(p, process.platform === 'win32' ? `${command}.cmd` : command))));
60
+ const run = options.run ?? ((command, args) => {
61
+ const result = spawnSync(command, args, { cwd, env, stdio: 'inherit', shell: false });
62
+ if (result.error)
63
+ throw result.error;
64
+ if (result.status !== 0)
65
+ throw new Error(`${command} did not finish successfully. Retry loxtep start after resolving the error.`);
66
+ });
67
+ const client = detectClient(cwd, env, available, options.client);
68
+ log(`Configuring ${client} for Loxtep hosted MCP. Browser sign-in is required; no token copy/paste.`);
69
+ const skillsPresent = SKILLS.every(skill => [
70
+ join(cwd, '.agents/skills', skill, 'SKILL.md'),
71
+ join(home, '.agents/skills', skill, 'SKILL.md'),
72
+ join(cwd, `.${client}/skills`, skill, 'SKILL.md'),
73
+ ].some(existsSync));
74
+ const claudeHome = env.CLAUDE_CONFIG_DIR ?? join(home, '.claude');
75
+ const settingsPath = join(claudeHome, 'settings.json');
76
+ const settings = client === 'claude' && existsSync(settingsPath) ? JSON.parse(readFileSync(settingsPath, 'utf8')) : {};
77
+ const nativeClaudeEnabled = settings.enabledPlugins?.['loxtep-claude@loxtep'] === true;
78
+ const useClaudePlugin = client === 'claude' && (nativeClaudeEnabled || !skillsPresent);
79
+ // Validate configuration before installing anything.
80
+ let path;
81
+ let previous;
82
+ let updated;
83
+ let codexConfigured = false;
84
+ if (client === 'cursor' || client === 'opencode' || (client === 'claude' && !useClaudePlugin)) {
85
+ path = join(cwd, client === 'cursor' ? '.cursor/mcp.json' : client === 'claude' ? '.mcp.json' : 'opencode.json');
86
+ if (client === 'opencode' && existsSync(join(cwd, 'opencode.jsonc')))
87
+ throw new Error('This project uses opencode.jsonc. Follow setup.md to merge the hosted entry without losing comments.');
88
+ previous = existsSync(path) ? readFileSync(path, 'utf8') : undefined;
89
+ updated = mergeMcpConfig(previous ?? '{}', client);
90
+ }
91
+ else if (client === 'codex') {
92
+ const configPath = join(env.CODEX_HOME ?? join(home, '.codex'), 'config.toml');
93
+ const config = existsSync(configPath) ? readFileSync(configPath, 'utf8') : '';
94
+ const section = config.match(/^\[mcp_servers\.loxtep\]\s*\n([\s\S]*?)(?=^\[|$(?![\s\S]))/m);
95
+ if (section) {
96
+ codexConfigured = /^url\s*=\s*["']https:\/\/mcp\.loxtep\.io\/ai\/mcp\/stream["']\s*$/m.test(section[1]) && !/^command\s*=/m.test(section[1]) && !/^enabled\s*=\s*false/m.test(section[1]);
97
+ if (!codexConfigured)
98
+ throw new Error('An incompatible Loxtep MCP entry exists in Codex config. Review it before running start again.');
99
+ }
100
+ else if (/mcp_servers[^\n]*loxtep/.test(config)) {
101
+ throw new Error('Loxtep uses a nonstandard TOML entry. Follow setup.md to review it before running start again.');
102
+ }
103
+ }
104
+ if (useClaudePlugin) {
105
+ log('Installing the native Loxtep Claude plugin (skills and MCP together) in Claude settings.');
106
+ // Marketplace add is not idempotent, so check the persisted marketplace first.
107
+ const marketplaces = join(claudeHome, 'plugins/known_marketplaces.json');
108
+ const known = existsSync(marketplaces) ? JSON.parse(readFileSync(marketplaces, 'utf8')) : {};
109
+ if (!known.loxtep)
110
+ run('claude', ['plugin', 'marketplace', 'add', 'LoxtepInc/loxtep-plugins-skills']);
111
+ if (settings.enabledPlugins?.['loxtep-claude@loxtep'] !== true)
112
+ run('claude', ['plugin', 'install', 'loxtep-claude@loxtep']);
113
+ else
114
+ log('Reusing the enabled Loxtep Claude plugin.');
115
+ }
116
+ else {
117
+ if (skillsPresent)
118
+ log('Reusing installed Loxtep skills.');
119
+ else {
120
+ log('Installing Loxtep skills into this project; the hosted MCP configuration is installed separately.');
121
+ run('npx', ['--yes', 'skills', 'add', 'LoxtepInc/loxtep-plugins-skills', ...SKILLS.flatMap(s => ['--skill', s]), '-a', client === 'claude' ? 'claude-code' : client, '-y']);
122
+ }
123
+ if (client === 'codex' && !codexConfigured) {
124
+ log('Adding Loxtep hosted MCP to Codex user configuration.');
125
+ run('codex', ['mcp', 'add', 'loxtep', '--url', MCP_URL]);
126
+ }
127
+ if (path && updated !== previous) {
128
+ log(`Updating ${path} to add hosted Loxtep MCP while preserving other servers.`);
129
+ mkdirSync(dirname(path), { recursive: true });
130
+ if (previous !== undefined)
131
+ writeFileSync(`${path}.loxtep-backup-${Date.now()}`, previous, { mode: 0o600, flag: 'wx' });
132
+ const temporary = `${path}.loxtep-${process.pid}.tmp`;
133
+ writeFileSync(temporary, updated, { mode: 0o600, flag: 'wx' });
134
+ renameSync(temporary, path);
135
+ }
136
+ }
137
+ if (options.noLaunch) {
138
+ log('Configuration complete. Restart your agent if already open, then paste this exact setup prompt:');
139
+ log(SETUP_PROMPT);
140
+ return;
141
+ }
142
+ log(`Launching ${client}. Complete its hosted MCP sign-in when prompted. If interrupted, rerun loxtep start --client ${client}.`);
143
+ run(CLIENTS[client], client === 'opencode' ? ['--prompt', SETUP_PROMPT] : [SETUP_PROMPT]);
144
+ }
145
+ //# sourceMappingURL=start-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/start-cmd.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,6 @@ export declare function runTransformCreate(params: {
18
18
  project_id?: string;
19
19
  domain_id?: string;
20
20
  dry_run?: boolean;
21
+ transport_mode?: string;
21
22
  }, options?: TransformCmdOptions): Promise<void>;
22
23
  //# sourceMappingURL=transform-cmd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/transform-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAkBD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,EACD,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA8If"}
1
+ {"version":3,"file":"transform-cmd.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/transform-cmd.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAkBD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,EACD,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA+Jf"}
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * CLI: loxtep transform create — enrichment workflow stub (upstream DP → consumer DP).
3
3
  */
4
- import { mkdirSync, writeFileSync } from 'node:fs';
5
- import { dirname, join } from 'node:path';
6
- import { randomUUID } from 'node:crypto';
7
- import { findProjectDir } from '../project-context.js';
8
- import { requireCliClient } from '../create-cli-client.js';
9
- import { formatLintResult, runLintCheck } from './lint-cmd.js';
10
- const ENRICHMENT_TEMPLATE_ID = '00000000-0000-4000-8000-0000000000a2';
4
+ import { mkdirSync, writeFileSync } from "node:fs";
5
+ import { dirname, join } from "node:path";
6
+ import { randomUUID } from "node:crypto";
7
+ import { findProjectDir } from "../project-context.js";
8
+ import { requireCliClient } from "../create-cli-client.js";
9
+ import { formatLintResult, runLintCheck } from "./lint-cmd.js";
10
+ import { parseEventWriterTransportMode, } from "../../client/flow-types.js";
11
+ const ENRICHMENT_TEMPLATE_ID = "00000000-0000-4000-8000-0000000000a2";
11
12
  function writePackageFiles(projectDir, files) {
12
13
  const written = [];
13
14
  for (const [relPath, entity] of Object.entries(files)) {
@@ -26,21 +27,30 @@ export async function runTransformCreate(params, options = {}) {
26
27
  const cwd = options.cwd ?? process.cwd();
27
28
  const projectDir = findProjectDir(cwd) ?? cwd;
28
29
  const { client, config } = await requireCliClient(options);
30
+ let transportMode;
31
+ try {
32
+ transportMode = parseEventWriterTransportMode(params.transport_mode);
33
+ }
34
+ catch (error) {
35
+ console.error(error instanceof Error ? error.message : String(error));
36
+ process.exitCode = 1;
37
+ return;
38
+ }
29
39
  const projectId = params.project_id ?? config.project_id;
30
40
  if (!projectId) {
31
- console.error('Missing project_id. Run `loxtep init` and attach a project first.');
41
+ console.error("Missing project_id. Run `loxtep init` and attach a project first.");
32
42
  process.exitCode = 1;
33
43
  return;
34
44
  }
35
45
  if (!params.from?.trim()) {
36
- console.error('Usage: loxtep transform create --from <upstream-dp-name> [--name cleaned-…]');
46
+ console.error("Usage: loxtep transform create --from <upstream-dp-name> [--name cleaned-…]");
37
47
  process.exitCode = 1;
38
48
  return;
39
49
  }
40
50
  const user = await client.session.get_current_user();
41
51
  const organizationId = user.organization_id ?? client.organization_id;
42
52
  if (!organizationId) {
43
- console.error('Missing organization_id in session.');
53
+ console.error("Missing organization_id in session.");
44
54
  process.exitCode = 1;
45
55
  return;
46
56
  }
@@ -50,7 +60,7 @@ export async function runTransformCreate(params, options = {}) {
50
60
  domainId = domains.items?.[0]?.domain_id;
51
61
  }
52
62
  if (!domainId) {
53
- console.error('Missing domain_id. Pass --domain-id or create a domain first.');
63
+ console.error("Missing domain_id. Pass --domain-id or create a domain first.");
54
64
  process.exitCode = 1;
55
65
  return;
56
66
  }
@@ -66,11 +76,11 @@ export async function runTransformCreate(params, options = {}) {
66
76
  project_id: projectId,
67
77
  name: `Transform ${consumerName}`,
68
78
  template_id: ENRICHMENT_TEMPLATE_ID,
69
- workflow_type: 'enrichment',
79
+ workflow_type: "enrichment",
70
80
  domain_id: domainId,
71
- status: 'active',
81
+ status: "active",
72
82
  configuration: {},
73
- metadata: { stage: 'transform', upstream_data_product: params.from },
83
+ metadata: { stage: "transform", upstream_data_product: params.from },
74
84
  created_at: now,
75
85
  updated_at: now,
76
86
  },
@@ -79,13 +89,14 @@ export async function runTransformCreate(params, options = {}) {
79
89
  organization_id: organizationId,
80
90
  project_id: projectId,
81
91
  workflow_id: workflowId,
82
- key: 'data-product-trigger',
92
+ key: "data-product-trigger",
83
93
  name: `From ${params.from}`,
84
- type: 'data-product-trigger',
85
- status: 'active',
94
+ type: "data-product-trigger",
95
+ status: "active",
86
96
  configuration: {
87
97
  source_data_product_name: params.from,
88
98
  },
99
+ runtime_settings: { event_writer: { transport_mode: transportMode } },
89
100
  created_at: now,
90
101
  updated_at: now,
91
102
  },
@@ -94,18 +105,18 @@ export async function runTransformCreate(params, options = {}) {
94
105
  organization_id: organizationId,
95
106
  workflow_id: workflowId,
96
107
  upstream_entity_id: connectionId,
97
- upstream_entity_type: 'connections',
108
+ upstream_entity_type: "connections",
98
109
  domain_id: domainId,
99
110
  name: consumerName,
100
- status: 'draft',
111
+ status: "draft",
101
112
  governance: {
102
- classification: 'internal',
113
+ classification: "internal",
103
114
  pii_fields: [],
104
115
  compliance_requirements: [],
105
116
  tags: [],
106
117
  },
107
118
  metadata: {
108
- kind: 'consumer',
119
+ kind: "consumer",
109
120
  project_id: projectId,
110
121
  upstream_data_product: params.from,
111
122
  },
@@ -119,7 +130,8 @@ export async function runTransformCreate(params, options = {}) {
119
130
  workflow_id: workflowId,
120
131
  data_product_id: dataProductId,
121
132
  data_product_name: consumerName,
122
- workflow_type: 'enrichment',
133
+ workflow_type: "enrichment",
134
+ transport_mode: transportMode,
123
135
  files: Object.keys(files),
124
136
  }, null, 2));
125
137
  return;
@@ -137,7 +149,8 @@ export async function runTransformCreate(params, options = {}) {
137
149
  workflow_id: workflowId,
138
150
  data_product_id: dataProductId,
139
151
  data_product_name: consumerName,
140
- workflow_type: 'enrichment',
152
+ workflow_type: "enrichment",
153
+ transport_mode: transportMode,
141
154
  files: written,
142
155
  }, null, 2));
143
156
  console.error(`
@@ -1 +1 @@
1
- {"version":3,"file":"transform-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/transform-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform-cmd.js","sourceRoot":"","sources":["../../../src/cli/commands/transform-cmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,QAAQ,QAwMV,CAAC;AAEZ,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,QAAQ,QA8MV,CAAC;AAEZ,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
package/dist/cli/help.js CHANGED
@@ -8,6 +8,10 @@ Turns organizational knowledge, expertise, and norms into machine-usable context
8
8
  Usage: loxtep <command> [subcommand] [options]
9
9
  loxtep --version | loxtep -V
10
10
 
11
+ Get started
12
+ start [--client claude|codex|opencode|cursor] [--no-launch]
13
+ Install Loxtep integration and launch your agent (Node 22.20+)
14
+
11
15
  Authentication
12
16
  login Log in (browser by default; --console for email/password/TOTP)
13
17
  Saves to ./.loxtep/credentials.json by default (--global for ~/.loxtep)
@@ -47,12 +51,14 @@ Build & deploy
47
51
  connectors capture-samples <connector_id> --entity-type <name> [--limit N]
48
52
  Fetch bounded entity samples. Limit 1–25.
49
53
  ingest create [--name app-events] [--domain-id <id>] [--connector-id <id>]
50
- [--iceberg] [--dry-run] [--deploy]
54
+ [--transport-mode default|fast|volume] [--iceberg] [--dry-run] [--deploy]
51
55
  Trigger + source DP local package (alias: ingest provision)
52
- transform create --from <dp> [--name cleaned-…] [--dry-run]
56
+ transform create --from <dp> [--name cleaned-…] [--transport-mode default|fast|volume] [--dry-run]
53
57
  Enrichment workflow stub (upstream DP → consumer DP)
54
- delivery create --from <dp> --connector-id <id> [--table schema.table] [--name …] [--dry-run]
58
+ delivery create --from <dp> --connector-id <id> [--table schema.table] [--name …]
59
+ [--transport-mode default|fast|volume] [--dry-run]
55
60
  Delivery workflow (DP → target connection); workflow_type: delivery
61
+ Modes: default is durable/recommended; fast may cost more; volume has delivery lag
56
62
  lint [--workflow <id>]
57
63
  Validate local entity JSON (schemas, relationships, unique names)
58
64
  push [--workflow-id <id>] [--dry-run] [--skip-reindex]
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwMvB,CAAC,OAAO,EAAE,CAAC;AAEZ,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8MvB,CAAC,OAAO,EAAE,CAAC;AAEZ,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAiLH;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8sC1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAsLH;;;GAGG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA42C1D"}