deepline 0.2.62 → 0.2.64
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/dist/bundling-sources/sdk/src/release.ts +1 -1
- package/dist/bundling-sources/shared_libs/play-runtime/tool-result.ts +32 -6
- package/dist/bundling-sources/shared_libs/tool-execution-error.ts +20 -5
- package/dist/cli/index.js +34 -13
- package/dist/cli/index.mjs +34 -13
- package/dist/{compiler-manifest-DTbs7i9a.d.mts → compiler-manifest-CrAB1ffd.d.mts} +11 -5
- package/dist/{compiler-manifest-DTbs7i9a.d.ts → compiler-manifest-CrAB1ffd.d.ts} +11 -5
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +28 -6
- package/dist/index.mjs +28 -6
- package/dist/install-integrity.json +2 -2
- package/dist/plays/bundle-play-file.d.mts +2 -2
- package/dist/plays/bundle-play-file.d.ts +2 -2
- package/package.json +1 -1
|
@@ -160,7 +160,7 @@ export const SDK_RELEASE = {
|
|
|
160
160
|
// 0.2.0 makes Dataset Handles uniformly async-only after 0.1.320 briefly
|
|
161
161
|
// exposed storage-dependent synchronous access. This deliberate minor
|
|
162
162
|
// release keeps lazy paging semantics independent of row residency.
|
|
163
|
-
version: '0.2.
|
|
163
|
+
version: '0.2.64',
|
|
164
164
|
contracts: {
|
|
165
165
|
api: {
|
|
166
166
|
name: 'sdk-http-api',
|
|
@@ -853,7 +853,20 @@ function buildTargets(
|
|
|
853
853
|
targetGetters?: Record<string, readonly string[]>,
|
|
854
854
|
): Record<string, ToolResultTargetMetadata> {
|
|
855
855
|
const targets: Record<string, ToolResultTargetMetadata> = {};
|
|
856
|
+
const declaredTargetPaths = new Map<string, readonly string[]>();
|
|
857
|
+
const semanticStatusTargets = new Set<string>();
|
|
856
858
|
for (const [target, descriptor] of Object.entries(extractors ?? {})) {
|
|
859
|
+
// Normal scalar getters are total: a declared but absent value reads null.
|
|
860
|
+
// Semantic status getters stay absent when their provider status did not
|
|
861
|
+
// resolve; manufacturing an "unknown" status would blur no signal with an
|
|
862
|
+
// observed provider verdict.
|
|
863
|
+
const isSemanticStatus =
|
|
864
|
+
descriptor.emailStatus !== undefined ||
|
|
865
|
+
descriptor.transforms?.some((transform) =>
|
|
866
|
+
/(emailStatus|phoneStatus|jobChange(?:Status)?)$/.test(transform),
|
|
867
|
+
) === true;
|
|
868
|
+
if (isSemanticStatus) semanticStatusTargets.add(target);
|
|
869
|
+
else declaredTargetPaths.set(target, descriptor.paths);
|
|
857
870
|
const emailStatusTarget = buildEmailStatusTarget(result, descriptor);
|
|
858
871
|
if (emailStatusTarget) {
|
|
859
872
|
targets[target] = emailStatusTarget;
|
|
@@ -873,7 +886,11 @@ function buildTargets(
|
|
|
873
886
|
}
|
|
874
887
|
const metadataTargets = new Set(Object.keys(targetGetters ?? {}));
|
|
875
888
|
for (const target of metadataTargets) {
|
|
876
|
-
if (targets[target]) continue;
|
|
889
|
+
if (targets[target] || semanticStatusTargets.has(target)) continue;
|
|
890
|
+
declaredTargetPaths.set(
|
|
891
|
+
target,
|
|
892
|
+
targetGetters?.[target] ?? declaredTargetPaths.get(target) ?? [],
|
|
893
|
+
);
|
|
877
894
|
const fromMetadata = findFirstTargetByPath(result, targetGetters?.[target]);
|
|
878
895
|
if (fromMetadata) {
|
|
879
896
|
targets[target] = fromMetadata;
|
|
@@ -884,11 +901,20 @@ function buildTargets(
|
|
|
884
901
|
targets[target] = fallback;
|
|
885
902
|
}
|
|
886
903
|
}
|
|
887
|
-
if (metadataTargets.size
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
904
|
+
if (metadataTargets.size === 0) {
|
|
905
|
+
for (const target of ['email', 'phone', 'linkedin', 'domain', 'status']) {
|
|
906
|
+
const found = findFirstTargetByKey(result, target);
|
|
907
|
+
if (found) targets[target] = found;
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
for (const [target, paths] of declaredTargetPaths) {
|
|
911
|
+
if (targets[target]) continue;
|
|
912
|
+
targets[target] = {
|
|
913
|
+
value: null,
|
|
914
|
+
path:
|
|
915
|
+
paths.flatMap(candidateResultPaths).find(Boolean) ??
|
|
916
|
+
`toolResponse.raw.${target}`,
|
|
917
|
+
};
|
|
892
918
|
}
|
|
893
919
|
return targets;
|
|
894
920
|
}
|
|
@@ -370,25 +370,33 @@ export class ProviderTransientError extends ToolExecutionError {
|
|
|
370
370
|
/** Why a provider cannot serve the current read request. */
|
|
371
371
|
export type ProviderUnavailableReason =
|
|
372
372
|
| ProviderTransientErrorCategory
|
|
373
|
-
| 'account_capacity'
|
|
373
|
+
| 'account_capacity'
|
|
374
|
+
| 'credentials_missing';
|
|
374
375
|
|
|
375
376
|
/**
|
|
376
|
-
* A provider
|
|
377
|
-
* provider
|
|
378
|
-
* Deepline billing
|
|
377
|
+
* A provider failure that permits a read waterfall to try its next provider.
|
|
378
|
+
* A missing provider connection is included because another provider may still
|
|
379
|
+
* serve the read. Invalid credentials, caller input, and Deepline billing
|
|
380
|
+
* failures remain loud.
|
|
379
381
|
*/
|
|
380
382
|
export type ProviderUnavailableError =
|
|
381
383
|
| ProviderTransientError
|
|
382
384
|
| (ToolExecutionError & {
|
|
383
385
|
readonly origin: 'provider';
|
|
384
386
|
readonly code: 'PROVIDER_ACCOUNT_CAPACITY';
|
|
387
|
+
})
|
|
388
|
+
| (ToolExecutionError & {
|
|
389
|
+
readonly origin: 'caller';
|
|
390
|
+
readonly code: 'INTEGRATION_CREDENTIALS_MISSING';
|
|
385
391
|
});
|
|
386
392
|
|
|
387
393
|
/**
|
|
388
394
|
* Return the provider-specific reason a read cannot run right now.
|
|
389
395
|
*
|
|
390
396
|
* `null` means this error must stay loud: it is caller input, an invalid
|
|
391
|
-
* customer credential, Deepline billing, or an internal failure.
|
|
397
|
+
* customer credential, Deepline billing, or an internal failure. A missing
|
|
398
|
+
* provider connection is different: an explicit read waterfall may continue
|
|
399
|
+
* to a configured fallback and record the unavailable leg.
|
|
392
400
|
*/
|
|
393
401
|
export function getProviderUnavailableReason(
|
|
394
402
|
error: unknown,
|
|
@@ -401,6 +409,13 @@ export function getProviderUnavailableReason(
|
|
|
401
409
|
) {
|
|
402
410
|
return 'account_capacity';
|
|
403
411
|
}
|
|
412
|
+
if (
|
|
413
|
+
error instanceof ToolExecutionError &&
|
|
414
|
+
error.origin === 'caller' &&
|
|
415
|
+
error.code === 'INTEGRATION_CREDENTIALS_MISSING'
|
|
416
|
+
) {
|
|
417
|
+
return 'credentials_missing';
|
|
418
|
+
}
|
|
404
419
|
return null;
|
|
405
420
|
}
|
|
406
421
|
|
package/dist/cli/index.js
CHANGED
|
@@ -1044,7 +1044,7 @@ var SDK_RELEASE = {
|
|
|
1044
1044
|
// 0.2.0 makes Dataset Handles uniformly async-only after 0.1.320 briefly
|
|
1045
1045
|
// exposed storage-dependent synchronous access. This deliberate minor
|
|
1046
1046
|
// release keeps lazy paging semantics independent of row residency.
|
|
1047
|
-
version: "0.2.
|
|
1047
|
+
version: "0.2.64",
|
|
1048
1048
|
contracts: {
|
|
1049
1049
|
api: {
|
|
1050
1050
|
name: "sdk-http-api",
|
|
@@ -38091,6 +38091,13 @@ function isRegistryAccessFailure(output2, registryUrl) {
|
|
|
38091
38091
|
function withRegistry(args, registryUrl) {
|
|
38092
38092
|
return [...args.slice(0, -1), "--registry", registryUrl, args.at(-1) ?? ""];
|
|
38093
38093
|
}
|
|
38094
|
+
function isBinLinkExistsFailure(output2) {
|
|
38095
|
+
return /\bEEXIST\b/i.test(output2) && /symlink/i.test(output2);
|
|
38096
|
+
}
|
|
38097
|
+
function withForce(args) {
|
|
38098
|
+
if (args.includes("--force")) return args;
|
|
38099
|
+
return [...args.slice(0, -1), "--force", args.at(-1) ?? ""];
|
|
38100
|
+
}
|
|
38094
38101
|
async function runNpmInstallWithRegistryFallback(input2) {
|
|
38095
38102
|
const primaryArgs = input2.primaryRegistryUrl ? withRegistry(input2.installArgs, input2.primaryRegistryUrl) : input2.installArgs;
|
|
38096
38103
|
const first = await runCommand(
|
|
@@ -38098,22 +38105,36 @@ async function runNpmInstallWithRegistryFallback(input2) {
|
|
|
38098
38105
|
primaryArgs,
|
|
38099
38106
|
input2.env ?? process.env
|
|
38100
38107
|
);
|
|
38101
|
-
if (first.exitCode === 0
|
|
38108
|
+
if (first.exitCode === 0) {
|
|
38109
|
+
return first.exitCode;
|
|
38110
|
+
}
|
|
38111
|
+
if (input2.fallbackRegistryUrl && isRegistryAccessFailure(
|
|
38102
38112
|
first.output,
|
|
38103
38113
|
input2.primaryRegistryUrl ?? DEFAULT_NPM_REGISTRY_URL
|
|
38104
38114
|
)) {
|
|
38105
|
-
|
|
38106
|
-
|
|
38107
|
-
process.stderr.write(
|
|
38108
|
-
`Primary npm registry access failed; retrying through Deepline's registry: ${input2.fallbackRegistryUrl}
|
|
38115
|
+
process.stderr.write(
|
|
38116
|
+
`Primary npm registry access failed; retrying through Deepline's registry: ${input2.fallbackRegistryUrl}
|
|
38109
38117
|
`
|
|
38110
|
-
|
|
38111
|
-
|
|
38112
|
-
|
|
38113
|
-
|
|
38114
|
-
|
|
38115
|
-
|
|
38116
|
-
|
|
38118
|
+
);
|
|
38119
|
+
const fallback = await runCommand(
|
|
38120
|
+
input2.npmCommand,
|
|
38121
|
+
withRegistry(input2.installArgs, input2.fallbackRegistryUrl),
|
|
38122
|
+
input2.env ?? process.env
|
|
38123
|
+
);
|
|
38124
|
+
return fallback.exitCode;
|
|
38125
|
+
}
|
|
38126
|
+
if (isBinLinkExistsFailure(first.output)) {
|
|
38127
|
+
process.stderr.write(
|
|
38128
|
+
"npm refused to relink an existing global bin symlink (EEXIST); retrying with --force since this plan only targets this CLI's own install prefix.\n"
|
|
38129
|
+
);
|
|
38130
|
+
const forced = await runCommand(
|
|
38131
|
+
input2.npmCommand,
|
|
38132
|
+
withForce(primaryArgs),
|
|
38133
|
+
input2.env ?? process.env
|
|
38134
|
+
);
|
|
38135
|
+
return forced.exitCode;
|
|
38136
|
+
}
|
|
38137
|
+
return first.exitCode;
|
|
38117
38138
|
}
|
|
38118
38139
|
function writeSidecarLauncher(input2) {
|
|
38119
38140
|
(0, import_node_fs20.mkdirSync)((0, import_node_path23.dirname)(input2.path), { recursive: true });
|
package/dist/cli/index.mjs
CHANGED
|
@@ -1030,7 +1030,7 @@ var SDK_RELEASE = {
|
|
|
1030
1030
|
// 0.2.0 makes Dataset Handles uniformly async-only after 0.1.320 briefly
|
|
1031
1031
|
// exposed storage-dependent synchronous access. This deliberate minor
|
|
1032
1032
|
// release keeps lazy paging semantics independent of row residency.
|
|
1033
|
-
version: "0.2.
|
|
1033
|
+
version: "0.2.64",
|
|
1034
1034
|
contracts: {
|
|
1035
1035
|
api: {
|
|
1036
1036
|
name: "sdk-http-api",
|
|
@@ -38171,6 +38171,13 @@ function isRegistryAccessFailure(output2, registryUrl) {
|
|
|
38171
38171
|
function withRegistry(args, registryUrl) {
|
|
38172
38172
|
return [...args.slice(0, -1), "--registry", registryUrl, args.at(-1) ?? ""];
|
|
38173
38173
|
}
|
|
38174
|
+
function isBinLinkExistsFailure(output2) {
|
|
38175
|
+
return /\bEEXIST\b/i.test(output2) && /symlink/i.test(output2);
|
|
38176
|
+
}
|
|
38177
|
+
function withForce(args) {
|
|
38178
|
+
if (args.includes("--force")) return args;
|
|
38179
|
+
return [...args.slice(0, -1), "--force", args.at(-1) ?? ""];
|
|
38180
|
+
}
|
|
38174
38181
|
async function runNpmInstallWithRegistryFallback(input2) {
|
|
38175
38182
|
const primaryArgs = input2.primaryRegistryUrl ? withRegistry(input2.installArgs, input2.primaryRegistryUrl) : input2.installArgs;
|
|
38176
38183
|
const first = await runCommand(
|
|
@@ -38178,22 +38185,36 @@ async function runNpmInstallWithRegistryFallback(input2) {
|
|
|
38178
38185
|
primaryArgs,
|
|
38179
38186
|
input2.env ?? process.env
|
|
38180
38187
|
);
|
|
38181
|
-
if (first.exitCode === 0
|
|
38188
|
+
if (first.exitCode === 0) {
|
|
38189
|
+
return first.exitCode;
|
|
38190
|
+
}
|
|
38191
|
+
if (input2.fallbackRegistryUrl && isRegistryAccessFailure(
|
|
38182
38192
|
first.output,
|
|
38183
38193
|
input2.primaryRegistryUrl ?? DEFAULT_NPM_REGISTRY_URL
|
|
38184
38194
|
)) {
|
|
38185
|
-
|
|
38186
|
-
|
|
38187
|
-
process.stderr.write(
|
|
38188
|
-
`Primary npm registry access failed; retrying through Deepline's registry: ${input2.fallbackRegistryUrl}
|
|
38195
|
+
process.stderr.write(
|
|
38196
|
+
`Primary npm registry access failed; retrying through Deepline's registry: ${input2.fallbackRegistryUrl}
|
|
38189
38197
|
`
|
|
38190
|
-
|
|
38191
|
-
|
|
38192
|
-
|
|
38193
|
-
|
|
38194
|
-
|
|
38195
|
-
|
|
38196
|
-
|
|
38198
|
+
);
|
|
38199
|
+
const fallback = await runCommand(
|
|
38200
|
+
input2.npmCommand,
|
|
38201
|
+
withRegistry(input2.installArgs, input2.fallbackRegistryUrl),
|
|
38202
|
+
input2.env ?? process.env
|
|
38203
|
+
);
|
|
38204
|
+
return fallback.exitCode;
|
|
38205
|
+
}
|
|
38206
|
+
if (isBinLinkExistsFailure(first.output)) {
|
|
38207
|
+
process.stderr.write(
|
|
38208
|
+
"npm refused to relink an existing global bin symlink (EEXIST); retrying with --force since this plan only targets this CLI's own install prefix.\n"
|
|
38209
|
+
);
|
|
38210
|
+
const forced = await runCommand(
|
|
38211
|
+
input2.npmCommand,
|
|
38212
|
+
withForce(primaryArgs),
|
|
38213
|
+
input2.env ?? process.env
|
|
38214
|
+
);
|
|
38215
|
+
return forced.exitCode;
|
|
38216
|
+
}
|
|
38217
|
+
return first.exitCode;
|
|
38197
38218
|
}
|
|
38198
38219
|
function writeSidecarLauncher(input2) {
|
|
38199
38220
|
mkdirSync10(dirname16(input2.path), { recursive: true });
|
|
@@ -979,21 +979,27 @@ declare class ProviderTransientError extends ToolExecutionError {
|
|
|
979
979
|
static [Symbol.hasInstance](value: unknown): boolean;
|
|
980
980
|
}
|
|
981
981
|
/** Why a provider cannot serve the current read request. */
|
|
982
|
-
type ProviderUnavailableReason = ProviderTransientErrorCategory | 'account_capacity';
|
|
982
|
+
type ProviderUnavailableReason = ProviderTransientErrorCategory | 'account_capacity' | 'credentials_missing';
|
|
983
983
|
/**
|
|
984
|
-
* A provider
|
|
985
|
-
* provider
|
|
986
|
-
* Deepline billing
|
|
984
|
+
* A provider failure that permits a read waterfall to try its next provider.
|
|
985
|
+
* A missing provider connection is included because another provider may still
|
|
986
|
+
* serve the read. Invalid credentials, caller input, and Deepline billing
|
|
987
|
+
* failures remain loud.
|
|
987
988
|
*/
|
|
988
989
|
type ProviderUnavailableError = ProviderTransientError | (ToolExecutionError & {
|
|
989
990
|
readonly origin: 'provider';
|
|
990
991
|
readonly code: 'PROVIDER_ACCOUNT_CAPACITY';
|
|
992
|
+
}) | (ToolExecutionError & {
|
|
993
|
+
readonly origin: 'caller';
|
|
994
|
+
readonly code: 'INTEGRATION_CREDENTIALS_MISSING';
|
|
991
995
|
});
|
|
992
996
|
/**
|
|
993
997
|
* Return the provider-specific reason a read cannot run right now.
|
|
994
998
|
*
|
|
995
999
|
* `null` means this error must stay loud: it is caller input, an invalid
|
|
996
|
-
* customer credential, Deepline billing, or an internal failure.
|
|
1000
|
+
* customer credential, Deepline billing, or an internal failure. A missing
|
|
1001
|
+
* provider connection is different: an explicit read waterfall may continue
|
|
1002
|
+
* to a configured fallback and record the unavailable leg.
|
|
997
1003
|
*/
|
|
998
1004
|
declare function getProviderUnavailableReason(error: unknown): ProviderUnavailableReason | null;
|
|
999
1005
|
/**
|
|
@@ -979,21 +979,27 @@ declare class ProviderTransientError extends ToolExecutionError {
|
|
|
979
979
|
static [Symbol.hasInstance](value: unknown): boolean;
|
|
980
980
|
}
|
|
981
981
|
/** Why a provider cannot serve the current read request. */
|
|
982
|
-
type ProviderUnavailableReason = ProviderTransientErrorCategory | 'account_capacity';
|
|
982
|
+
type ProviderUnavailableReason = ProviderTransientErrorCategory | 'account_capacity' | 'credentials_missing';
|
|
983
983
|
/**
|
|
984
|
-
* A provider
|
|
985
|
-
* provider
|
|
986
|
-
* Deepline billing
|
|
984
|
+
* A provider failure that permits a read waterfall to try its next provider.
|
|
985
|
+
* A missing provider connection is included because another provider may still
|
|
986
|
+
* serve the read. Invalid credentials, caller input, and Deepline billing
|
|
987
|
+
* failures remain loud.
|
|
987
988
|
*/
|
|
988
989
|
type ProviderUnavailableError = ProviderTransientError | (ToolExecutionError & {
|
|
989
990
|
readonly origin: 'provider';
|
|
990
991
|
readonly code: 'PROVIDER_ACCOUNT_CAPACITY';
|
|
992
|
+
}) | (ToolExecutionError & {
|
|
993
|
+
readonly origin: 'caller';
|
|
994
|
+
readonly code: 'INTEGRATION_CREDENTIALS_MISSING';
|
|
991
995
|
});
|
|
992
996
|
/**
|
|
993
997
|
* Return the provider-specific reason a read cannot run right now.
|
|
994
998
|
*
|
|
995
999
|
* `null` means this error must stay loud: it is caller input, an invalid
|
|
996
|
-
* customer credential, Deepline billing, or an internal failure.
|
|
1000
|
+
* customer credential, Deepline billing, or an internal failure. A missing
|
|
1001
|
+
* provider connection is different: an explicit read waterfall may continue
|
|
1002
|
+
* to a configured fallback and record the unavailable leg.
|
|
997
1003
|
*/
|
|
998
1004
|
declare function getProviderUnavailableReason(error: unknown): ProviderUnavailableReason | null;
|
|
999
1005
|
/**
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest, O as PlayAuthoringStepProgramOptions } from './compiler-manifest-
|
|
2
|
-
export { Q as DEEPLINE_EXTRACTOR_TARGETS, R as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, S as DeeplineEmailStatusGetterValue, U as DeeplineExtractorTarget, V as DeeplineGetterValue, W as DeeplineGetterValueMap, X as JOB_CHANGE_STATUS_VALUES, Y as JobChangeStatus, Z as PHONE_STATUS_VALUES, _ as PhoneStatus, $ as PlayDataset, a0 as PlayDatasetInput, a1 as PreviousCell, a2 as ProviderTransientError, a3 as ProviderTransientErrorCategory, a4 as ProviderUnavailableError, a5 as ProviderUnavailableReason, a6 as ToolExecutionErrorCategory, a7 as ToolExecutionErrorOrigin, a8 as ToolExecutionFailureV1, a9 as ToolExecutionNetworkKind, aa as ToolExecutionNetworkScope, ab as getProviderUnavailableReason, ac as isDeeplineExtractorTarget, ad as isProviderUnavailable, ae as isProviderWaterfallUnavailableError } from './compiler-manifest-
|
|
1
|
+
import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest, O as PlayAuthoringStepProgramOptions } from './compiler-manifest-CrAB1ffd.mjs';
|
|
2
|
+
export { Q as DEEPLINE_EXTRACTOR_TARGETS, R as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, S as DeeplineEmailStatusGetterValue, U as DeeplineExtractorTarget, V as DeeplineGetterValue, W as DeeplineGetterValueMap, X as JOB_CHANGE_STATUS_VALUES, Y as JobChangeStatus, Z as PHONE_STATUS_VALUES, _ as PhoneStatus, $ as PlayDataset, a0 as PlayDatasetInput, a1 as PreviousCell, a2 as ProviderTransientError, a3 as ProviderTransientErrorCategory, a4 as ProviderUnavailableError, a5 as ProviderUnavailableReason, a6 as ToolExecutionErrorCategory, a7 as ToolExecutionErrorOrigin, a8 as ToolExecutionFailureV1, a9 as ToolExecutionNetworkKind, aa as ToolExecutionNetworkScope, ab as getProviderUnavailableReason, ac as isDeeplineExtractorTarget, ad as isProviderUnavailable, ae as isProviderWaterfallUnavailableError } from './compiler-manifest-CrAB1ffd.mjs';
|
|
3
3
|
import '@sinclair/typebox';
|
|
4
4
|
|
|
5
5
|
declare const FIXTURE_BEHAVIOR_VERSION: 1;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest, O as PlayAuthoringStepProgramOptions } from './compiler-manifest-
|
|
2
|
-
export { Q as DEEPLINE_EXTRACTOR_TARGETS, R as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, S as DeeplineEmailStatusGetterValue, U as DeeplineExtractorTarget, V as DeeplineGetterValue, W as DeeplineGetterValueMap, X as JOB_CHANGE_STATUS_VALUES, Y as JobChangeStatus, Z as PHONE_STATUS_VALUES, _ as PhoneStatus, $ as PlayDataset, a0 as PlayDatasetInput, a1 as PreviousCell, a2 as ProviderTransientError, a3 as ProviderTransientErrorCategory, a4 as ProviderUnavailableError, a5 as ProviderUnavailableReason, a6 as ToolExecutionErrorCategory, a7 as ToolExecutionErrorOrigin, a8 as ToolExecutionFailureV1, a9 as ToolExecutionNetworkKind, aa as ToolExecutionNetworkScope, ab as getProviderUnavailableReason, ac as isDeeplineExtractorTarget, ad as isProviderUnavailable, ae as isProviderWaterfallUnavailableError } from './compiler-manifest-
|
|
1
|
+
import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest, O as PlayAuthoringStepProgramOptions } from './compiler-manifest-CrAB1ffd.js';
|
|
2
|
+
export { Q as DEEPLINE_EXTRACTOR_TARGETS, R as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, S as DeeplineEmailStatusGetterValue, U as DeeplineExtractorTarget, V as DeeplineGetterValue, W as DeeplineGetterValueMap, X as JOB_CHANGE_STATUS_VALUES, Y as JobChangeStatus, Z as PHONE_STATUS_VALUES, _ as PhoneStatus, $ as PlayDataset, a0 as PlayDatasetInput, a1 as PreviousCell, a2 as ProviderTransientError, a3 as ProviderTransientErrorCategory, a4 as ProviderUnavailableError, a5 as ProviderUnavailableReason, a6 as ToolExecutionErrorCategory, a7 as ToolExecutionErrorOrigin, a8 as ToolExecutionFailureV1, a9 as ToolExecutionNetworkKind, aa as ToolExecutionNetworkScope, ab as getProviderUnavailableReason, ac as isDeeplineExtractorTarget, ad as isProviderUnavailable, ae as isProviderWaterfallUnavailableError } from './compiler-manifest-CrAB1ffd.js';
|
|
3
3
|
import '@sinclair/typebox';
|
|
4
4
|
|
|
5
5
|
declare const FIXTURE_BEHAVIOR_VERSION: 1;
|
package/dist/index.js
CHANGED
|
@@ -239,6 +239,9 @@ function getProviderUnavailableReason(error) {
|
|
|
239
239
|
if (error instanceof ToolExecutionError && error.origin === "provider" && error.code === "PROVIDER_ACCOUNT_CAPACITY") {
|
|
240
240
|
return "account_capacity";
|
|
241
241
|
}
|
|
242
|
+
if (error instanceof ToolExecutionError && error.origin === "caller" && error.code === "INTEGRATION_CREDENTIALS_MISSING") {
|
|
243
|
+
return "credentials_missing";
|
|
244
|
+
}
|
|
242
245
|
return null;
|
|
243
246
|
}
|
|
244
247
|
function isProviderUnavailable(error) {
|
|
@@ -777,7 +780,7 @@ var SDK_RELEASE = {
|
|
|
777
780
|
// 0.2.0 makes Dataset Handles uniformly async-only after 0.1.320 briefly
|
|
778
781
|
// exposed storage-dependent synchronous access. This deliberate minor
|
|
779
782
|
// release keeps lazy paging semantics independent of row residency.
|
|
780
|
-
version: "0.2.
|
|
783
|
+
version: "0.2.64",
|
|
781
784
|
contracts: {
|
|
782
785
|
api: {
|
|
783
786
|
name: "sdk-http-api",
|
|
@@ -7490,7 +7493,14 @@ function deriveListKeys(input) {
|
|
|
7490
7493
|
}
|
|
7491
7494
|
function buildTargets(result, extractors, targetGetters) {
|
|
7492
7495
|
const targets = {};
|
|
7496
|
+
const declaredTargetPaths = /* @__PURE__ */ new Map();
|
|
7497
|
+
const semanticStatusTargets = /* @__PURE__ */ new Set();
|
|
7493
7498
|
for (const [target, descriptor] of Object.entries(extractors ?? {})) {
|
|
7499
|
+
const isSemanticStatus = descriptor.emailStatus !== void 0 || descriptor.transforms?.some(
|
|
7500
|
+
(transform) => /(emailStatus|phoneStatus|jobChange(?:Status)?)$/.test(transform)
|
|
7501
|
+
) === true;
|
|
7502
|
+
if (isSemanticStatus) semanticStatusTargets.add(target);
|
|
7503
|
+
else declaredTargetPaths.set(target, descriptor.paths);
|
|
7494
7504
|
const emailStatusTarget = buildEmailStatusTarget(result, descriptor);
|
|
7495
7505
|
if (emailStatusTarget) {
|
|
7496
7506
|
targets[target] = emailStatusTarget;
|
|
@@ -7510,7 +7520,11 @@ function buildTargets(result, extractors, targetGetters) {
|
|
|
7510
7520
|
}
|
|
7511
7521
|
const metadataTargets = new Set(Object.keys(targetGetters ?? {}));
|
|
7512
7522
|
for (const target of metadataTargets) {
|
|
7513
|
-
if (targets[target]) continue;
|
|
7523
|
+
if (targets[target] || semanticStatusTargets.has(target)) continue;
|
|
7524
|
+
declaredTargetPaths.set(
|
|
7525
|
+
target,
|
|
7526
|
+
targetGetters?.[target] ?? declaredTargetPaths.get(target) ?? []
|
|
7527
|
+
);
|
|
7514
7528
|
const fromMetadata = findFirstTargetByPath(result, targetGetters?.[target]);
|
|
7515
7529
|
if (fromMetadata) {
|
|
7516
7530
|
targets[target] = fromMetadata;
|
|
@@ -7521,10 +7535,18 @@ function buildTargets(result, extractors, targetGetters) {
|
|
|
7521
7535
|
targets[target] = fallback;
|
|
7522
7536
|
}
|
|
7523
7537
|
}
|
|
7524
|
-
if (metadataTargets.size
|
|
7525
|
-
|
|
7526
|
-
|
|
7527
|
-
|
|
7538
|
+
if (metadataTargets.size === 0) {
|
|
7539
|
+
for (const target of ["email", "phone", "linkedin", "domain", "status"]) {
|
|
7540
|
+
const found = findFirstTargetByKey(result, target);
|
|
7541
|
+
if (found) targets[target] = found;
|
|
7542
|
+
}
|
|
7543
|
+
}
|
|
7544
|
+
for (const [target, paths] of declaredTargetPaths) {
|
|
7545
|
+
if (targets[target]) continue;
|
|
7546
|
+
targets[target] = {
|
|
7547
|
+
value: null,
|
|
7548
|
+
path: paths.flatMap(candidateResultPaths).find(Boolean) ?? `toolResponse.raw.${target}`
|
|
7549
|
+
};
|
|
7528
7550
|
}
|
|
7529
7551
|
return targets;
|
|
7530
7552
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -162,6 +162,9 @@ function getProviderUnavailableReason(error) {
|
|
|
162
162
|
if (error instanceof ToolExecutionError && error.origin === "provider" && error.code === "PROVIDER_ACCOUNT_CAPACITY") {
|
|
163
163
|
return "account_capacity";
|
|
164
164
|
}
|
|
165
|
+
if (error instanceof ToolExecutionError && error.origin === "caller" && error.code === "INTEGRATION_CREDENTIALS_MISSING") {
|
|
166
|
+
return "credentials_missing";
|
|
167
|
+
}
|
|
165
168
|
return null;
|
|
166
169
|
}
|
|
167
170
|
function isProviderUnavailable(error) {
|
|
@@ -700,7 +703,7 @@ var SDK_RELEASE = {
|
|
|
700
703
|
// 0.2.0 makes Dataset Handles uniformly async-only after 0.1.320 briefly
|
|
701
704
|
// exposed storage-dependent synchronous access. This deliberate minor
|
|
702
705
|
// release keeps lazy paging semantics independent of row residency.
|
|
703
|
-
version: "0.2.
|
|
706
|
+
version: "0.2.64",
|
|
704
707
|
contracts: {
|
|
705
708
|
api: {
|
|
706
709
|
name: "sdk-http-api",
|
|
@@ -7413,7 +7416,14 @@ function deriveListKeys(input) {
|
|
|
7413
7416
|
}
|
|
7414
7417
|
function buildTargets(result, extractors, targetGetters) {
|
|
7415
7418
|
const targets = {};
|
|
7419
|
+
const declaredTargetPaths = /* @__PURE__ */ new Map();
|
|
7420
|
+
const semanticStatusTargets = /* @__PURE__ */ new Set();
|
|
7416
7421
|
for (const [target, descriptor] of Object.entries(extractors ?? {})) {
|
|
7422
|
+
const isSemanticStatus = descriptor.emailStatus !== void 0 || descriptor.transforms?.some(
|
|
7423
|
+
(transform) => /(emailStatus|phoneStatus|jobChange(?:Status)?)$/.test(transform)
|
|
7424
|
+
) === true;
|
|
7425
|
+
if (isSemanticStatus) semanticStatusTargets.add(target);
|
|
7426
|
+
else declaredTargetPaths.set(target, descriptor.paths);
|
|
7417
7427
|
const emailStatusTarget = buildEmailStatusTarget(result, descriptor);
|
|
7418
7428
|
if (emailStatusTarget) {
|
|
7419
7429
|
targets[target] = emailStatusTarget;
|
|
@@ -7433,7 +7443,11 @@ function buildTargets(result, extractors, targetGetters) {
|
|
|
7433
7443
|
}
|
|
7434
7444
|
const metadataTargets = new Set(Object.keys(targetGetters ?? {}));
|
|
7435
7445
|
for (const target of metadataTargets) {
|
|
7436
|
-
if (targets[target]) continue;
|
|
7446
|
+
if (targets[target] || semanticStatusTargets.has(target)) continue;
|
|
7447
|
+
declaredTargetPaths.set(
|
|
7448
|
+
target,
|
|
7449
|
+
targetGetters?.[target] ?? declaredTargetPaths.get(target) ?? []
|
|
7450
|
+
);
|
|
7437
7451
|
const fromMetadata = findFirstTargetByPath(result, targetGetters?.[target]);
|
|
7438
7452
|
if (fromMetadata) {
|
|
7439
7453
|
targets[target] = fromMetadata;
|
|
@@ -7444,10 +7458,18 @@ function buildTargets(result, extractors, targetGetters) {
|
|
|
7444
7458
|
targets[target] = fallback;
|
|
7445
7459
|
}
|
|
7446
7460
|
}
|
|
7447
|
-
if (metadataTargets.size
|
|
7448
|
-
|
|
7449
|
-
|
|
7450
|
-
|
|
7461
|
+
if (metadataTargets.size === 0) {
|
|
7462
|
+
for (const target of ["email", "phone", "linkedin", "domain", "status"]) {
|
|
7463
|
+
const found = findFirstTargetByKey(result, target);
|
|
7464
|
+
if (found) targets[target] = found;
|
|
7465
|
+
}
|
|
7466
|
+
}
|
|
7467
|
+
for (const [target, paths] of declaredTargetPaths) {
|
|
7468
|
+
if (targets[target]) continue;
|
|
7469
|
+
targets[target] = {
|
|
7470
|
+
value: null,
|
|
7471
|
+
path: paths.flatMap(candidateResultPaths).find(Boolean) ?? `toolResponse.raw.${target}`
|
|
7472
|
+
};
|
|
7451
7473
|
}
|
|
7452
7474
|
return targets;
|
|
7453
7475
|
}
|
|
@@ -225,8 +225,8 @@
|
|
|
225
225
|
"dist/cli/index.d.ts",
|
|
226
226
|
"dist/cli/index.js",
|
|
227
227
|
"dist/cli/index.mjs",
|
|
228
|
-
"dist/compiler-manifest-
|
|
229
|
-
"dist/compiler-manifest-
|
|
228
|
+
"dist/compiler-manifest-CrAB1ffd.d.mts",
|
|
229
|
+
"dist/compiler-manifest-CrAB1ffd.d.ts",
|
|
230
230
|
"dist/helpers.d.mts",
|
|
231
231
|
"dist/helpers.d.ts",
|
|
232
232
|
"dist/helpers.js",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-
|
|
2
|
-
export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-
|
|
1
|
+
import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-CrAB1ffd.mjs';
|
|
2
|
+
export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-CrAB1ffd.mjs';
|
|
3
3
|
import '@sinclair/typebox';
|
|
4
4
|
|
|
5
5
|
type PlayPackageImport = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-
|
|
2
|
-
export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-
|
|
1
|
+
import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-CrAB1ffd.js';
|
|
2
|
+
export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-CrAB1ffd.js';
|
|
3
3
|
import '@sinclair/typebox';
|
|
4
4
|
|
|
5
5
|
type PlayPackageImport = {
|