@ductape/sdk 0.2.20 → 0.2.22

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.
@@ -28,8 +28,27 @@ function draftToGraphEnv(draft, cloudTag, slug, originalEnv) {
28
28
  provisionError: draftEnv.provisionError ? String(draftEnv.provisionError) : undefined,
29
29
  };
30
30
  }
31
+ /** DT-039 trace: shows presence/shape of a possibly-sensitive value, never the plaintext. */
32
+ function redactTraceValue(value) {
33
+ if (value === undefined)
34
+ return 'undefined';
35
+ if (value === null)
36
+ return 'null';
37
+ const str = String(value);
38
+ if (!str)
39
+ return 'empty-string';
40
+ const isSecretRef = str.startsWith('$Secret{') && str.endsWith('}');
41
+ return `len=${str.length}${isSecretRef ? ' isSecretRef=true' : ''} preview="${str.slice(0, 4)}..."`;
42
+ }
31
43
  async function materializeCloudLinkedGraphEnv(env, ctx) {
32
- var _a, _b;
44
+ var _a, _b, _c, _d, _e, _f, _g, _h;
45
+ console.log('[DT-039-TRACE] materializeCloudLinkedGraphEnv() entry:', {
46
+ slug: env.slug,
47
+ cloud: env.cloud,
48
+ instance: env.instance,
49
+ connection_url: redactTraceValue(env.connection_url),
50
+ password: redactTraceValue(env.password),
51
+ });
33
52
  const cloudTag = env.cloud;
34
53
  if (!cloudTag) {
35
54
  return env;
@@ -42,6 +61,10 @@ async function materializeCloudLinkedGraphEnv(env, ctx) {
42
61
  // instance), silently breaking `graph.connect()` with "Connection URL is required" long after
43
62
  // the graph was first provisioned. Mirrors the same guard in materializeCloudLinkedDatabaseEnv.
44
63
  if (env.connection_url) {
64
+ console.log('[DT-039-TRACE] materializeCloudLinkedGraphEnv() short-circuit (connection_url already set):', {
65
+ slug: env.slug,
66
+ connection_url: redactTraceValue(env.connection_url),
67
+ });
45
68
  return env;
46
69
  }
47
70
  const connection = await ctx.cloudApi.fetchConnection(cloudTag, ctx.auth);
@@ -67,11 +90,25 @@ async function materializeCloudLinkedGraphEnv(env, ctx) {
67
90
  // to source it automatically. The caller must supply it on env.password; the backend rejects
68
91
  // the import with a clear error if it's missing, rather than silently importing with no
69
92
  // database credentials and failing later at connect time with an opaque Neo4j auth error.
70
- const result = await ctx.cloudApi.importResource(Object.assign(Object.assign(Object.assign({}, baseInput), { resource: instance }), (env.password ? { masterPassword: env.password } : {})), ctx.auth);
93
+ // env.username is likewise passed through when supplied live-tested and confirmed some real
94
+ // Aura instances authenticate with a different database username than the "neo4j" default the
95
+ // backend otherwise falls back to; Ductape has no way to know the right value without being told.
96
+ console.log('[DT-039-TRACE] materializeCloudLinkedGraphEnv() calling importResource (Aura):', {
97
+ slug: env.slug,
98
+ instance,
99
+ username: env.username,
100
+ masterPassword: redactTraceValue(env.password),
101
+ });
102
+ const result = await ctx.cloudApi.importResource(Object.assign(Object.assign(Object.assign(Object.assign({}, baseInput), { resource: instance }), (env.username ? { username: env.username } : {})), (env.password ? { masterPassword: env.password } : {})), ctx.auth);
71
103
  const draft = (_a = result.componentDraft) === null || _a === void 0 ? void 0 : _a.draft;
72
104
  if (!draft) {
73
105
  throw new Error('Cloud graph link did not return a component draft');
74
106
  }
107
+ console.log('[DT-039-TRACE] materializeCloudLinkedGraphEnv() Aura import returned draft:', {
108
+ slug: env.slug,
109
+ draftUsername: redactTraceValue((_d = (_c = (_b = draft.envs) === null || _b === void 0 ? void 0 : _b.find((e) => e.slug === env.slug)) === null || _c === void 0 ? void 0 : _c.username) !== null && _d !== void 0 ? _d : draft.username),
110
+ draftPassword: redactTraceValue((_g = (_f = (_e = draft.envs) === null || _e === void 0 ? void 0 : _e.find((e) => e.slug === env.slug)) === null || _f === void 0 ? void 0 : _f.password) !== null && _g !== void 0 ? _g : draft.password),
111
+ });
75
112
  return draftToGraphEnv(draft, cloudTag, env.slug, env);
76
113
  }
77
114
  const result = instance
@@ -90,7 +127,7 @@ async function materializeCloudLinkedGraphEnv(env, ctx) {
90
127
  }),
91
128
  })
92
129
  : await ctx.cloudApi.provisionResource(Object.assign(Object.assign(Object.assign({}, baseInput), { template: 'default', waitForReady: false }), vpcFields({ region, location: region })), ctx.auth);
93
- const draft = (_b = result.componentDraft) === null || _b === void 0 ? void 0 : _b.draft;
130
+ const draft = (_h = result.componentDraft) === null || _h === void 0 ? void 0 : _h.draft;
94
131
  if (!draft) {
95
132
  throw new Error('Cloud graph link did not return a component draft');
96
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-graph-link.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-graph-link.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-graph-link.util.js","sourceRoot":"","sources":["../../src/cloud/cloud-graph-link.util.ts"],"names":[],"mappings":"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"}
@@ -180,6 +180,8 @@ export interface IImportCloudResourceInput {
180
180
  region?: string;
181
181
  /** Required when importing existing RDS / Cloud SQL / PostgreSQL — AWS does not return passwords */
182
182
  masterPassword?: string;
183
+ /** Neo4j Aura only: database username, when it isn't the "neo4j" default the backend falls back to */
184
+ username?: string;
183
185
  /** MongoDB Atlas only: database name to inject into the connection string */
184
186
  dbName?: string;
185
187
  }
@@ -79,6 +79,18 @@ function getSharedGraphKey(workspaceId, product, graph, env) {
79
79
  /** Log debounce: avoid duplicate connect logs across instances */
80
80
  const lastGraphConnectLogAt = new Map();
81
81
  const GRAPH_CONNECT_LOG_DEBOUNCE_MS = 15000;
82
+ /** DT-039 trace: shows presence/shape of a possibly-sensitive value, never the plaintext. */
83
+ function redactTraceValue(value) {
84
+ if (value === undefined)
85
+ return 'undefined';
86
+ if (value === null)
87
+ return 'null';
88
+ const str = String(value);
89
+ if (!str)
90
+ return 'empty-string';
91
+ const isSecretRef = str.startsWith('$Secret{') && str.endsWith('}');
92
+ return `len=${str.length}${isSecretRef ? ' isSecretRef=true' : ''} preview="${str.slice(0, 4)}..."`;
93
+ }
82
94
  /**
83
95
  * Main graph database service
84
96
  */
@@ -294,11 +306,18 @@ class GraphService {
294
306
  * ```
295
307
  */
296
308
  async create(graphConfig, productTag) {
297
- var _a;
309
+ var _a, _b;
298
310
  // Validate required fields
299
311
  if (!graphConfig.name || !graphConfig.tag || !graphConfig.type || !((_a = graphConfig.envs) === null || _a === void 0 ? void 0 : _a.length)) {
300
312
  throw graph_error_1.GraphError.validationError('Graph configuration requires name, tag, type, and at least one environment');
301
313
  }
314
+ console.log('[DT-039-TRACE] GraphService.create() entry envs:', graphConfig.envs.map((e) => ({
315
+ slug: e.slug,
316
+ cloud: e.cloud,
317
+ instance: e.instance,
318
+ password: redactTraceValue(e.password),
319
+ username: redactTraceValue(e.username),
320
+ })));
302
321
  const exists = await this.fetchGraphByTag(productTag, graphConfig.tag);
303
322
  if (exists) {
304
323
  return;
@@ -324,6 +343,10 @@ class GraphService {
324
343
  // cloud-linked envs; only manual (non-cloud) envs need it, since there the caller supplies
325
344
  // a raw value directly and nothing downstream will resolve/store it otherwise.
326
345
  if (env.cloud) {
346
+ console.log('[DT-039-TRACE] GraphService.create() skipping storeAsSecretIfNeeded (cloud-linked env):', {
347
+ slug: env.slug,
348
+ password: redactTraceValue(env.password),
349
+ });
327
350
  processedEnvs.push(Object.assign({}, env));
328
351
  continue;
329
352
  }
@@ -369,6 +392,14 @@ class GraphService {
369
392
  });
370
393
  }),
371
394
  };
395
+ console.log('[DT-039-TRACE] GraphService.create() calling builder.createGraph() with:', {
396
+ envs: (_b = productGraph.envs) === null || _b === void 0 ? void 0 : _b.map((e) => ({
397
+ slug: e.slug,
398
+ cloud: e.cloud,
399
+ password: redactTraceValue(e.password),
400
+ username: redactTraceValue(e.username),
401
+ })),
402
+ });
372
403
  await builder.createGraph(productGraph);
373
404
  }
374
405
  // Create local adapters and connection contexts