graphddb 0.4.0 → 0.4.1
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/{chunk-GWFZVNAV.js → chunk-BROCT574.js} +1 -1
- package/dist/{chunk-72VZYOSG.js → chunk-CPTV3H2U.js} +29 -11
- package/dist/{chunk-PC54CW5P.js → chunk-G5RWWBAL.js} +41 -19
- package/dist/cli.js +51 -14
- package/dist/index.d.ts +11 -4
- package/dist/index.js +29 -12
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +2 -2
- package/dist/{types-CpCo8yHP.d.ts → types-BWOrWcbd.d.ts} +170 -7
- package/package.json +1 -1
|
@@ -984,30 +984,46 @@ var TableMapping = class {
|
|
|
984
984
|
};
|
|
985
985
|
|
|
986
986
|
// src/define/param.ts
|
|
987
|
-
function
|
|
988
|
-
return
|
|
987
|
+
function isParamOptions(value) {
|
|
988
|
+
return typeof value === "object" && value !== null;
|
|
989
|
+
}
|
|
990
|
+
function makeParam(kind, literals, description) {
|
|
991
|
+
const param2 = { kind };
|
|
992
|
+
if (literals !== void 0) param2.literals = literals;
|
|
993
|
+
if (description !== void 0) param2.description = description;
|
|
994
|
+
return param2;
|
|
989
995
|
}
|
|
990
996
|
var param = {
|
|
991
997
|
/** A placeholder for a `string` value. */
|
|
992
|
-
string() {
|
|
993
|
-
return makeParam("string");
|
|
998
|
+
string(options) {
|
|
999
|
+
return makeParam("string", void 0, options?.description);
|
|
994
1000
|
},
|
|
995
1001
|
/** A placeholder for a `number` value. */
|
|
996
|
-
number() {
|
|
997
|
-
return makeParam("number");
|
|
1002
|
+
number(options) {
|
|
1003
|
+
return makeParam("number", void 0, options?.description);
|
|
998
1004
|
},
|
|
999
1005
|
/**
|
|
1000
1006
|
* A placeholder constrained to one of the given literal values. The value
|
|
1001
1007
|
* type of the resulting {@link Param} is the **union of the literals**, so it
|
|
1002
|
-
* is preserved precisely in the IR and the inferred definition types.
|
|
1008
|
+
* is preserved precisely in the IR and the inferred definition types. A final
|
|
1009
|
+
* plain-object argument is read as {@link ParamOptions} (a `description`),
|
|
1010
|
+
* distinguished from the `string` / `number` literal values.
|
|
1003
1011
|
*
|
|
1004
1012
|
* @example
|
|
1005
1013
|
* ```ts
|
|
1006
1014
|
* param.literal('active', 'disabled'); // Param<'active' | 'disabled'>
|
|
1015
|
+
* param.literal('active', 'disabled', { description: 'Account state.' });
|
|
1007
1016
|
* ```
|
|
1008
1017
|
*/
|
|
1009
|
-
literal(...
|
|
1010
|
-
|
|
1018
|
+
literal(...valuesAndOptions) {
|
|
1019
|
+
const args = [...valuesAndOptions];
|
|
1020
|
+
const last = args[args.length - 1];
|
|
1021
|
+
const options = isParamOptions(last) ? args.pop() : void 0;
|
|
1022
|
+
return makeParam(
|
|
1023
|
+
"literal",
|
|
1024
|
+
args,
|
|
1025
|
+
options?.description
|
|
1026
|
+
);
|
|
1011
1027
|
},
|
|
1012
1028
|
/**
|
|
1013
1029
|
* A placeholder for an **array** parameter whose elements have the given field
|
|
@@ -1020,8 +1036,10 @@ var param = {
|
|
|
1020
1036
|
* // Param<{ userId: string; role: string }[]>
|
|
1021
1037
|
* ```
|
|
1022
1038
|
*/
|
|
1023
|
-
array(element) {
|
|
1024
|
-
|
|
1039
|
+
array(element, options) {
|
|
1040
|
+
const param2 = { kind: "array", element };
|
|
1041
|
+
if (options?.description !== void 0) param2.description = options.description;
|
|
1042
|
+
return param2;
|
|
1025
1043
|
}
|
|
1026
1044
|
};
|
|
1027
1045
|
function isParam(value) {
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
serializeFieldValue,
|
|
43
43
|
serializeRawCondition,
|
|
44
44
|
skTemplate
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-CPTV3H2U.js";
|
|
46
46
|
|
|
47
47
|
// src/spec/types.ts
|
|
48
48
|
var SPEC_VERSION = "1.0";
|
|
@@ -111,7 +111,12 @@ function buildFields(metadata) {
|
|
|
111
111
|
const fields = {};
|
|
112
112
|
for (const field of metadata.fields) {
|
|
113
113
|
const format = field.options?.format;
|
|
114
|
-
|
|
114
|
+
const description = field.options?.description;
|
|
115
|
+
fields[field.propertyName] = {
|
|
116
|
+
type: DYNAMO_TYPE_TO_FIELD_TYPE[field.dynamoType],
|
|
117
|
+
...format ? { format } : {},
|
|
118
|
+
...description !== void 0 ? { description } : {}
|
|
119
|
+
};
|
|
115
120
|
}
|
|
116
121
|
return sortedRecord(fields);
|
|
117
122
|
}
|
|
@@ -123,7 +128,8 @@ function buildEntity(metadata) {
|
|
|
123
128
|
fields: buildFields(metadata),
|
|
124
129
|
key: buildKey(metadata.primaryKey),
|
|
125
130
|
gsis: buildGsis(metadata),
|
|
126
|
-
relations: buildRelations(metadata)
|
|
131
|
+
relations: buildRelations(metadata),
|
|
132
|
+
...metadata.description !== void 0 ? { description: metadata.description } : {}
|
|
127
133
|
};
|
|
128
134
|
}
|
|
129
135
|
function buildManifest(registry = MetadataRegistry) {
|
|
@@ -3572,7 +3578,8 @@ function buildQueryContract(methods) {
|
|
|
3572
3578
|
op,
|
|
3573
3579
|
resolution,
|
|
3574
3580
|
inputArity,
|
|
3575
|
-
__methodName: name
|
|
3581
|
+
__methodName: name,
|
|
3582
|
+
...op.description !== void 0 ? { description: op.description } : {}
|
|
3576
3583
|
};
|
|
3577
3584
|
}
|
|
3578
3585
|
const contract = { __isContract: true, kind: "query", methods: resolved };
|
|
@@ -3586,8 +3593,8 @@ function buildCommandContract(methods) {
|
|
|
3586
3593
|
const resolved = {};
|
|
3587
3594
|
for (const [name, body] of Object.entries(methods)) {
|
|
3588
3595
|
if (isPublicWriteDescriptor(body)) {
|
|
3589
|
-
const { plan: plan2, select, condition, mode } = writeDescriptorToPlan(name, body);
|
|
3590
|
-
resolved[name] = finalizeDescriptorCommand(name, plan2, select, condition, mode);
|
|
3596
|
+
const { plan: plan2, select, condition, mode, description } = writeDescriptorToPlan(name, body);
|
|
3597
|
+
resolved[name] = finalizeDescriptorCommand(name, plan2, select, condition, mode, description);
|
|
3591
3598
|
continue;
|
|
3592
3599
|
}
|
|
3593
3600
|
if (isPublicComposeDescriptor(body)) {
|
|
@@ -3597,7 +3604,8 @@ function buildCommandContract(methods) {
|
|
|
3597
3604
|
body.command,
|
|
3598
3605
|
select,
|
|
3599
3606
|
void 0,
|
|
3600
|
-
body.mode ?? "transaction"
|
|
3607
|
+
body.mode ?? "transaction",
|
|
3608
|
+
body.description
|
|
3601
3609
|
);
|
|
3602
3610
|
continue;
|
|
3603
3611
|
}
|
|
@@ -3662,7 +3670,7 @@ function buildPlannedCommandMethod(name, planned) {
|
|
|
3662
3670
|
...returnSelection !== void 0 ? { returnSelection } : {}
|
|
3663
3671
|
};
|
|
3664
3672
|
}
|
|
3665
|
-
function finalizeDescriptorCommand(name, plan2, select, condition, mode) {
|
|
3673
|
+
function finalizeDescriptorCommand(name, plan2, select, condition, mode, description) {
|
|
3666
3674
|
const planned = {
|
|
3667
3675
|
[PLANNED_COMMAND_BRAND]: true,
|
|
3668
3676
|
plan: plan2,
|
|
@@ -3674,7 +3682,8 @@ function finalizeDescriptorCommand(name, plan2, select, condition, mode) {
|
|
|
3674
3682
|
return {
|
|
3675
3683
|
...built,
|
|
3676
3684
|
op,
|
|
3677
|
-
mode
|
|
3685
|
+
mode,
|
|
3686
|
+
...description !== void 0 ? { description } : {}
|
|
3678
3687
|
};
|
|
3679
3688
|
}
|
|
3680
3689
|
function normalizeReturnSelection(select) {
|
|
@@ -3760,7 +3769,8 @@ function readDescriptorToOp(name, d) {
|
|
|
3760
3769
|
keys,
|
|
3761
3770
|
...isQuery ? { keyFields: keyFieldNames2 } : {},
|
|
3762
3771
|
...select !== void 0 ? { select } : {},
|
|
3763
|
-
...compose.length > 0 ? { compose } : {}
|
|
3772
|
+
...compose.length > 0 ? { compose } : {},
|
|
3773
|
+
...d.description !== void 0 ? { description: d.description } : {}
|
|
3764
3774
|
};
|
|
3765
3775
|
}
|
|
3766
3776
|
function writeDescriptorToPlan(name, d) {
|
|
@@ -3794,7 +3804,7 @@ function writeDescriptorToPlan(name, d) {
|
|
|
3794
3804
|
});
|
|
3795
3805
|
const select = d.result !== void 0 && d.result.select !== void 0 ? d.result.select : void 0;
|
|
3796
3806
|
const condition = d.condition !== void 0 ? descriptorConditionRecord(d.condition, name) : void 0;
|
|
3797
|
-
return { plan: plan2, select, condition, mode: d.mode ?? "transaction" };
|
|
3807
|
+
return { plan: plan2, select, condition, mode: d.mode ?? "transaction", description: d.description };
|
|
3798
3808
|
}
|
|
3799
3809
|
|
|
3800
3810
|
// src/spec/mutation-command.ts
|
|
@@ -5697,10 +5707,12 @@ function paramSpecs(params) {
|
|
|
5697
5707
|
const out = {};
|
|
5698
5708
|
for (const name of Object.keys(params).sort()) {
|
|
5699
5709
|
const d = params[name];
|
|
5700
|
-
out[name] =
|
|
5710
|
+
out[name] = {
|
|
5701
5711
|
type: d.kind,
|
|
5702
5712
|
required: d.required,
|
|
5703
|
-
literals: d.literals
|
|
5713
|
+
...d.literals !== void 0 ? { literals: d.literals } : {},
|
|
5714
|
+
// Pure-documentation description (issue #154); absent → byte-identical spec.
|
|
5715
|
+
...d.description !== void 0 ? { description: d.description } : {}
|
|
5704
5716
|
};
|
|
5705
5717
|
}
|
|
5706
5718
|
return out;
|
|
@@ -5929,6 +5941,7 @@ function buildCommandSpec(def) {
|
|
|
5929
5941
|
const params = paramSpecs(def.params);
|
|
5930
5942
|
const entity = def.entity.name;
|
|
5931
5943
|
const condition = extractCondition(def);
|
|
5944
|
+
const description = def.description !== void 0 ? { description: def.description } : {};
|
|
5932
5945
|
if (def.operation === "put") {
|
|
5933
5946
|
const item = templateRecord3(def.key);
|
|
5934
5947
|
return {
|
|
@@ -5937,7 +5950,8 @@ function buildCommandSpec(def) {
|
|
|
5937
5950
|
entity,
|
|
5938
5951
|
params,
|
|
5939
5952
|
item,
|
|
5940
|
-
...condition ? { condition } : {}
|
|
5953
|
+
...condition ? { condition } : {},
|
|
5954
|
+
...description
|
|
5941
5955
|
};
|
|
5942
5956
|
}
|
|
5943
5957
|
if (def.operation === "delete") {
|
|
@@ -5947,7 +5961,8 @@ function buildCommandSpec(def) {
|
|
|
5947
5961
|
entity,
|
|
5948
5962
|
params,
|
|
5949
5963
|
keyCondition: writeKeyCondition(metadata, def.key, entity),
|
|
5950
|
-
...condition ? { condition } : {}
|
|
5964
|
+
...condition ? { condition } : {},
|
|
5965
|
+
...description
|
|
5951
5966
|
};
|
|
5952
5967
|
}
|
|
5953
5968
|
return {
|
|
@@ -5957,7 +5972,8 @@ function buildCommandSpec(def) {
|
|
|
5957
5972
|
params,
|
|
5958
5973
|
keyCondition: writeKeyCondition(metadata, def.key, entity),
|
|
5959
5974
|
changes: templateRecord3(def.changes),
|
|
5960
|
-
...condition ? { condition } : {}
|
|
5975
|
+
...condition ? { condition } : {},
|
|
5976
|
+
...description
|
|
5961
5977
|
};
|
|
5962
5978
|
}
|
|
5963
5979
|
function writeKeyCondition(metadata, key, entity) {
|
|
@@ -6024,7 +6040,9 @@ function buildQuerySpec(def) {
|
|
|
6024
6040
|
operations,
|
|
6025
6041
|
// `defineQuery` → a single entity object; `defineList` → a connection.
|
|
6026
6042
|
cardinality: def.operation === "query" ? "one" : "many",
|
|
6027
|
-
...executionPlan !== void 0 ? { executionPlan } : {}
|
|
6043
|
+
...executionPlan !== void 0 ? { executionPlan } : {},
|
|
6044
|
+
// Pure-documentation description (issue #154); absent → byte-identical spec.
|
|
6045
|
+
...def.description !== void 0 ? { description: def.description } : {}
|
|
6028
6046
|
};
|
|
6029
6047
|
}
|
|
6030
6048
|
function mergeSpecs(base, synthesized, kind) {
|
|
@@ -6788,7 +6806,9 @@ function serializeQueryContract(contractName, contract, querySpecs, contracts) {
|
|
|
6788
6806
|
cardinality: method.resolution === "point" ? "one" : "many",
|
|
6789
6807
|
operation: opName,
|
|
6790
6808
|
...compose.length > 0 ? { compose } : {},
|
|
6791
|
-
...compositionPlan !== void 0 ? { compositionPlan } : {}
|
|
6809
|
+
...compositionPlan !== void 0 ? { compositionPlan } : {},
|
|
6810
|
+
// Pure-documentation description (issue #154); absent → byte-identical spec.
|
|
6811
|
+
...method.description !== void 0 ? { description: method.description } : {}
|
|
6792
6812
|
};
|
|
6793
6813
|
}
|
|
6794
6814
|
return {
|
|
@@ -6876,7 +6896,9 @@ function serializeCommandContract(contractName, contract, commandSpecs, transact
|
|
|
6876
6896
|
result: method.result,
|
|
6877
6897
|
single,
|
|
6878
6898
|
...batch !== void 0 ? { batch } : {},
|
|
6879
|
-
...returnSelection !== void 0 && Object.keys(returnSelection).length > 0 ? { returnSelection: sortedReturnSelection(returnSelection) } : {}
|
|
6899
|
+
...returnSelection !== void 0 && Object.keys(returnSelection).length > 0 ? { returnSelection: sortedReturnSelection(returnSelection) } : {},
|
|
6900
|
+
// Pure-documentation description (issue #154); absent → byte-identical spec.
|
|
6901
|
+
...method.description !== void 0 ? { description: method.description } : {}
|
|
6880
6902
|
};
|
|
6881
6903
|
}
|
|
6882
6904
|
return {
|
package/dist/cli.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
buildBridgeBundle,
|
|
4
4
|
normalizeSelectSpec
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-G5RWWBAL.js";
|
|
6
6
|
import {
|
|
7
7
|
MetadataRegistry
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CPTV3H2U.js";
|
|
9
9
|
|
|
10
10
|
// src/cli.ts
|
|
11
11
|
import { createRequire } from "module";
|
|
@@ -467,9 +467,16 @@ function pyTransactionParamType(txName, paramName, spec) {
|
|
|
467
467
|
}
|
|
468
468
|
return pyParamType(spec);
|
|
469
469
|
}
|
|
470
|
+
function pyDocLine(text) {
|
|
471
|
+
return text.replace(/\\/g, "\\\\").replace(/"""/g, '\\"\\"\\"').replace(/\r?\n/g, " ").trim();
|
|
472
|
+
}
|
|
473
|
+
function pyCommentLine(text) {
|
|
474
|
+
return text.replace(/\r?\n/g, " ").trim();
|
|
475
|
+
}
|
|
470
476
|
function collectResultTypes(manifest, entity, select, typeName, out, seen) {
|
|
471
477
|
const meta = manifest.entities[entity];
|
|
472
478
|
const fields = [];
|
|
479
|
+
const fieldDescriptions = {};
|
|
473
480
|
for (const field of Object.keys(select).sort()) {
|
|
474
481
|
const value = select[field];
|
|
475
482
|
const relation = meta?.relations[field];
|
|
@@ -504,13 +511,23 @@ function collectResultTypes(manifest, entity, select, typeName, out, seen) {
|
|
|
504
511
|
continue;
|
|
505
512
|
}
|
|
506
513
|
if (value === true) {
|
|
507
|
-
const
|
|
514
|
+
const manifestField = meta?.fields[field];
|
|
515
|
+
const fieldType = manifestField?.type ?? "string";
|
|
508
516
|
fields.push([field, pyScalarType(fieldType)]);
|
|
517
|
+
if (manifestField?.description !== void 0) {
|
|
518
|
+
fieldDescriptions[field] = manifestField.description;
|
|
519
|
+
}
|
|
509
520
|
}
|
|
510
521
|
}
|
|
511
522
|
if (!seen.has(typeName)) {
|
|
512
523
|
seen.add(typeName);
|
|
513
|
-
out.push({
|
|
524
|
+
out.push({
|
|
525
|
+
name: typeName,
|
|
526
|
+
fields,
|
|
527
|
+
...Object.keys(fieldDescriptions).length > 0 ? { fieldDescriptions } : {},
|
|
528
|
+
// The entity's own description (issue #154) becomes the result class docstring.
|
|
529
|
+
...meta?.description !== void 0 ? { docstring: meta.description } : {}
|
|
530
|
+
});
|
|
514
531
|
}
|
|
515
532
|
}
|
|
516
533
|
function selectOf(def) {
|
|
@@ -519,29 +536,44 @@ function selectOf(def) {
|
|
|
519
536
|
function queryResultTypeName(queryName) {
|
|
520
537
|
return `${toPascalCase(queryName)}Result`;
|
|
521
538
|
}
|
|
539
|
+
function classDocstringLines(cls) {
|
|
540
|
+
return cls.docstring !== void 0 ? [` """${pyDocLine(cls.docstring)}"""`] : [];
|
|
541
|
+
}
|
|
542
|
+
function withFieldComment(cls, name, line) {
|
|
543
|
+
const desc = cls.fieldDescriptions?.[name];
|
|
544
|
+
return desc !== void 0 ? `${line} # ${pyCommentLine(desc)}` : line;
|
|
545
|
+
}
|
|
522
546
|
function renderTypedDict(cls) {
|
|
547
|
+
const doc = classDocstringLines(cls);
|
|
523
548
|
if (cls.fields.length === 0) {
|
|
524
|
-
return `class ${cls.name}(TypedDict):
|
|
549
|
+
return doc.length > 0 ? `class ${cls.name}(TypedDict):
|
|
550
|
+
${doc.join("\n")}` : `class ${cls.name}(TypedDict):
|
|
525
551
|
pass`;
|
|
526
552
|
}
|
|
527
|
-
const lines = cls.fields.map(
|
|
553
|
+
const lines = cls.fields.map(
|
|
554
|
+
([name, type]) => withFieldComment(cls, name, ` ${name}: ${type}`)
|
|
555
|
+
);
|
|
528
556
|
return `class ${cls.name}(TypedDict):
|
|
529
|
-
${lines.join("\n")}`;
|
|
557
|
+
${[...doc, ...lines].join("\n")}`;
|
|
530
558
|
}
|
|
531
559
|
function renderDataclass(cls) {
|
|
560
|
+
const doc = classDocstringLines(cls);
|
|
532
561
|
if (cls.fields.length === 0) {
|
|
533
|
-
return `@dataclass
|
|
562
|
+
return doc.length > 0 ? `@dataclass
|
|
563
|
+
class ${cls.name}:
|
|
564
|
+
${doc.join("\n")}` : `@dataclass
|
|
534
565
|
class ${cls.name}:
|
|
535
566
|
pass`;
|
|
536
567
|
}
|
|
537
568
|
const lines = cls.fields.map(
|
|
538
|
-
([name, type]) => type.endsWith("| None") ? ` ${name}: ${type} = None` : ` ${name}: ${type}`
|
|
569
|
+
([name, type]) => type.endsWith("| None") ? withFieldComment(cls, name, ` ${name}: ${type} = None`) : withFieldComment(cls, name, ` ${name}: ${type}`)
|
|
539
570
|
);
|
|
540
|
-
const
|
|
541
|
-
const
|
|
571
|
+
const isOptional = (l) => /:\s.*\| None\s*=\sNone(\s+#.*)?$/.test(l);
|
|
572
|
+
const required = lines.filter((l) => !isOptional(l));
|
|
573
|
+
const optional = lines.filter(isOptional);
|
|
542
574
|
return `@dataclass
|
|
543
575
|
class ${cls.name}:
|
|
544
|
-
${[...required, ...optional].join("\n")}`;
|
|
576
|
+
${[...doc, ...required, ...optional].join("\n")}`;
|
|
545
577
|
}
|
|
546
578
|
function collectTransactionElementTypes(transactions, out, seen) {
|
|
547
579
|
for (const txName of Object.keys(transactions).sort()) {
|
|
@@ -625,7 +657,8 @@ function collectRepositories(queries, commands) {
|
|
|
625
657
|
params: methodParams(def),
|
|
626
658
|
returnType: `${queryResultTypeName(name)} | None`,
|
|
627
659
|
kind: "query",
|
|
628
|
-
operationId: name
|
|
660
|
+
operationId: name,
|
|
661
|
+
...def.description !== void 0 ? { description: def.description } : {}
|
|
629
662
|
});
|
|
630
663
|
}
|
|
631
664
|
for (const name of Object.keys(commands).sort()) {
|
|
@@ -635,7 +668,8 @@ function collectRepositories(queries, commands) {
|
|
|
635
668
|
params: methodParams(def),
|
|
636
669
|
returnType: "None",
|
|
637
670
|
kind: "command",
|
|
638
|
-
operationId: name
|
|
671
|
+
operationId: name,
|
|
672
|
+
...def.description !== void 0 ? { description: def.description } : {}
|
|
639
673
|
});
|
|
640
674
|
}
|
|
641
675
|
return [...byEntity.keys()].sort().map((className) => ({
|
|
@@ -646,11 +680,13 @@ function collectRepositories(queries, commands) {
|
|
|
646
680
|
function renderMethod(m) {
|
|
647
681
|
const sig = m.params.map((p) => `${p.argName}: ${p.pyType}`).join(", ");
|
|
648
682
|
const head = ` def ${m.methodName}(self${sig ? ", " + sig : ""}) -> ${m.returnType}:`;
|
|
683
|
+
const doc = m.description !== void 0 ? [` """${pyDocLine(m.description)}"""`] : [];
|
|
649
684
|
const paramsDict = m.params.map((p) => `"${p.originalName}": ${p.argName}`).join(", ");
|
|
650
685
|
const paramsArg = paramsDict ? `{${paramsDict}}` : "{}";
|
|
651
686
|
if (m.kind === "query") {
|
|
652
687
|
return [
|
|
653
688
|
head,
|
|
689
|
+
...doc,
|
|
654
690
|
` return self._runtime.execute_query(`,
|
|
655
691
|
` query_id="${m.operationId}",`,
|
|
656
692
|
` params=${paramsArg},`,
|
|
@@ -659,6 +695,7 @@ function renderMethod(m) {
|
|
|
659
695
|
}
|
|
660
696
|
return [
|
|
661
697
|
head,
|
|
698
|
+
...doc,
|
|
662
699
|
` self._runtime.execute_command(`,
|
|
663
700
|
` command_id="${m.operationId}",`,
|
|
664
701
|
` params=${paramsArg},`,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as SelectableOf, g as PrimaryKeyOf, h as RequestContext, i as Middleware, j as ReadRequestKind, k as CtxModel, l as ReadParams, m as ReadRequestCtx, D as DynamoDBOperation, I as Item, E as Executor, n as RetryPolicy, o as ExecutionPlanSpec, p as EntityMetadata, K as KeyDefinition, G as GsiDefinition, q as ModelKind, F as FieldOptions, r as DynamoType, s as ProjectionTransform, t as MaintainEvent, u as MembershipPredicate, v as MaintainConsistency, w as MaintainUpdateMode, x as MembershipPredicateOp, y as RelationOptions, A as AggregateOptions, z as AggregateValue, H as SelectBuilderSpec, J as RawCondition, L as TransactionSpec, N as Manifest, O as RetryOverride, Q as ExecutionPlan, V as FieldMetadata, X as ResolvedKey, R as ReadExecOptions, a as ExecutorResult, B as BatchGetExecInput, P as PutInput, W as WriteExecOptions, b as WriteResult, U as UpdateInput, c as DeleteInput, d as BatchWriteExecItem, e as BatchExecOptions, T as TransactWriteExecItem, Y as CdcEmulatorOptions, Z as ChangeHandler, _ as Unsubscribe, $ as FaultSpec, a0 as ConcurrentRecomputeRef, C as ChangeEvent, a1 as EventLog, a2 as ReplayOptions, a3 as ShardId, a4 as ViewDefinition, a5 as RelationMetadata, a6 as TransactionItemSpec, a7 as MaintainEffect, M as ModelStatic, f as DDBModel, a8 as Param, a9 as ParamDescriptor, aa as DefinitionMap, ab as OperationDefinition, ac as WriteDefinitionOptions, ad as PartialQueryKeyOf, ae as StrictSelectSpec, af as
|
|
2
|
-
export {
|
|
1
|
+
import { S as SelectableOf, g as PrimaryKeyOf, h as RequestContext, i as Middleware, j as ReadRequestKind, k as CtxModel, l as ReadParams, m as ReadRequestCtx, D as DynamoDBOperation, I as Item, E as Executor, n as RetryPolicy, o as ExecutionPlanSpec, p as EntityMetadata, K as KeyDefinition, G as GsiDefinition, q as ModelKind, F as FieldOptions, r as DynamoType, s as ProjectionTransform, t as MaintainEvent, u as MembershipPredicate, v as MaintainConsistency, w as MaintainUpdateMode, x as MembershipPredicateOp, y as RelationOptions, A as AggregateOptions, z as AggregateValue, H as SelectBuilderSpec, J as RawCondition, L as TransactionSpec, N as Manifest, O as RetryOverride, Q as ExecutionPlan, V as FieldMetadata, X as ResolvedKey, R as ReadExecOptions, a as ExecutorResult, B as BatchGetExecInput, P as PutInput, W as WriteExecOptions, b as WriteResult, U as UpdateInput, c as DeleteInput, d as BatchWriteExecItem, e as BatchExecOptions, T as TransactWriteExecItem, Y as CdcEmulatorOptions, Z as ChangeHandler, _ as Unsubscribe, $ as FaultSpec, a0 as ConcurrentRecomputeRef, C as ChangeEvent, a1 as EventLog, a2 as ReplayOptions, a3 as ShardId, a4 as ViewDefinition, a5 as RelationMetadata, a6 as TransactionItemSpec, a7 as MaintainEffect, M as ModelStatic, f as DDBModel, a8 as Param, a9 as ParamDescriptor, aa as DefinitionMap, ab as OperationDefinition, ac as WriteDefinitionOptions, ad as PartialQueryKeyOf, ae as StrictSelectSpec, af as ReadDefinitionOptions, ag as EntityInput, ah as UniqueQueryKeyOf, ai as EntityRef, aj as ConditionInput, ak as QueryModelContract, al as QueryMethodSpec, am as CommandModelContract, an as CommandMethodSpec, ao as ContractSpec, ap as QuerySpec, aq as CommandSpec, ar as ContextSpec, as as OperationsDocument, at as AnyOperationDefinition, au as BridgeBundle, av as ConditionSpec } from './types-BWOrWcbd.js';
|
|
2
|
+
export { aw as AggregateMetadata, ax as BatchDeleteRequest, ay as BatchGetOptions, az as BatchGetRequest, aA as BatchGetResult, aB as BatchPutRequest, aC as BatchResult, aD as BatchWriteRequest, aE as CONTRACT_RANGE_FANOUT_CONCURRENCY, aF as CdcMode, aG as Change, aH as ChangeBatch, aI as ChangeEventName, aJ as ClockMode, aK as CollectionEffect, aL as CollectionOptions, aM as Column, aN as ColumnMap, aO as CommandContractMethodSpec, aP as CommandInputShape, aQ as CommandMethod, aR as CommandPlan, aS as CommandResolutionTarget, aT as CommandResultKind, aU as CommandSelectShape, aV as CompiledFragment, aW as ComposeSpec, aX as CondSlot, aY as ConditionCheckInput, aZ as Connection, a_ as ContractCallSignature, a$ as ContractCardinality, b0 as ContractCommandParams, b1 as ContractCommandResult, b2 as ContractComposeNode, b3 as ContractFromRef, b4 as ContractInputArity, b5 as ContractItem, b6 as ContractKeyFieldRef, b7 as ContractKeyInput, b8 as ContractKeyRef, b9 as ContractKeySpec, ba as ContractKind, bb as ContractMethodOp, bc as ContractParamRef, bd as ContractQueryParams, be as ContractResolution, bf as CounterAggregate, bg as CounterEffect, bh as CtxBase, bi as DEFAULT_MAX_ATTEMPTS, bj as DEFAULT_RETRY_POLICY, bk as DeleteOptions, bl as DeriveEffect, bm as DerivedEdgeWrite, bn as DerivedUpdate, bo as DescriptorBinding, bp as ENTITY_WRITES_MARKER, bq as EdgeEffect, br as EffectPath, bs as EmbeddedMetadata, bt as EmitEffect, bu as EntityWritesDefinition, bv as EntityWritesShape, bw as ExecutableCommandContract, bx as ExecutableQueryContract, by as FilterInput, bz as FilterSpec, bA as FragmentInput, bB as GsiDefinitionMarker, bC as GsiOptions, bD as IdempotencyEffect, bE as InProcessWriteDescriptor, bF as InputArity, bG as KeyDefinitionMarker, bH as KeySegment, bI as KeySlot, bJ as KeyStructure, bK as KeyedResult, bL as LIFECYCLE_CONTRACT_MARKER, bM as LifecycleContract, bN as LifecycleEffects, bO as LiteralParam, bP as MaintainItem, bQ as MaintainTrigger, bR as MaintenanceGraph, bS as ManifestEntity, bT as ManifestField, bU as ManifestFieldType, bV as ManifestGsi, bW as ManifestKey, bX as ManifestRelation, bY as ManifestTable, bZ as MembershipEffect, b_ as ModelRef, b$ as MutateMode, c0 as MutateOptions, c1 as MutateParallelResult, c2 as MutateTransactionResult, c3 as MutationBody, c4 as MutationDescriptorMap, c5 as MutationFragment, c6 as MutationInputProxy, c7 as MutationInputRef, c8 as MutationIntent, c9 as NumberParam, ca as OperationKind, cb as OperationSpec, cc as ParallelOpResult, cd as ParamKind, ce as ParamSpec, cf as ParamStructure, cg as PersistCtx, ch as PersistOrigin, ci as PlannedCommandMethod, cj as ProjectionMap, ck as ProjectionTransformOp, cl as PutOptions, cm as QueryContractMethodSpec, cn as QueryEnvelopeResult, co as QueryKeyOf, cp as QueryMethod, cq as QueryResult, cr as RangeConditionSpec, cs as ReadEnvelope, ct as ReadOpCtx, cu as ReadOpKind, cv as ReadOperationType, cw as ReadRouteDescriptor, cx as ReadRouteOptions, cy as ReadRouteResult, cz as RecordedCompose, cA as RelationBuilder, cB as RelationConsistency, cC as RelationLimitOptions, cD as RelationPattern, cE as RelationProjection, cF as RelationReadOptions, cG as RelationSelect, cH as RelationSpec, cI as RelationUpdateMode, cJ as RelationWriteOptions, cK as RequiresEffect, cL as Resolution, cM as RetryInfo, cN as RetryOperationKind, cO as SPEC_VERSION, cP as SegmentSpec, cQ as SegmentedKey, cR as SelectBuilder, cS as SelectOf, cT as SnapshotEffect, cU as StartingPosition, cV as StreamViewType, cW as StringParam, cX as TransactionContext, cY as TransactionItemType, cZ as UniqueEffect, c_ as Updatable, c$ as UpdateOptions, d0 as ViewSourceSlice, d1 as WhenSpec, d2 as WriteCtx, d3 as WriteDescriptor, d4 as WriteEnvelope, d5 as WriteInput, d6 as WriteKind, d7 as WriteLifecyclePhase, d8 as WriteMiddleware, d9 as WriteOperationType, da as WriteRecorder, db as WriteResultProjection, dc as attachModelClass, dd as buildDeleteInput, de as buildMaintenanceGraph, df as buildPutInput, dg as buildUpdateInput, dh as collectViewDefinitions, di as compileFragment, dj as compileMutationPlan, dk as compileSingleFragmentPlan, dl as cond, dm as contractOfMethodSpec, dn as definePlan, dp as entityWrites, dq as executeBatchGet, dr as executeBatchWrite, ds as executeCommandMethod, dt as executeDelete, du as executeKeyedBatchGet, dv as executePut, dw as executeQueryMethod, dx as executeRangeFanout, dy as executeTransaction, dz as executeUpdate, dA as from, dB as getEntityWrites, dC as gsi, dD as identity, dE as isColumn, dF as isCommandModelContract, dG as isCommandPlan, dH as isContractComposeNode, dI as isContractFromRef, dJ as isContractKeyFieldRef, dK as isContractKeyRef, dL as isContractParamRef, dM as isEntityWritesDefinition, dN as isKeySegment, dO as isLifecycleContract, dP as isMaintainTrigger, dQ as isMutationFragment, dR as isMutationInputRef, dS as isParam, dT as isPlannedCommandMethod, dU as isQueryModelContract, dV as isRetryableError, dW as isRetryableTransactionCancellation, dX as k, dY as key, dZ as lifecyclePhaseForIntent, d_ as maintainTrigger, d$ as mintContractKeyFieldRef, e0 as mintContractParamRef, e1 as mutation, e2 as param, e3 as preview, e4 as publicCommandModel, e5 as publicQueryModel, e6 as query, e7 as resolveLifecycle, e8 as wholeKeysSentinel } from './types-BWOrWcbd.js';
|
|
3
3
|
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
4
4
|
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb';
|
|
5
5
|
|
|
@@ -386,6 +386,13 @@ interface ModelOptions {
|
|
|
386
386
|
* adapter validates this).
|
|
387
387
|
*/
|
|
388
388
|
kind?: ModelKind;
|
|
389
|
+
/**
|
|
390
|
+
* Optional human-readable description of the entity (issue #154). Pure
|
|
391
|
+
* documentation metadata — recorded into {@link EntityMetadata.description} and
|
|
392
|
+
* propagated to `manifest.json` + the generated Python class docstring. It does
|
|
393
|
+
* NOT affect storage, keys, or any runtime behaviour. Omit for unchanged output.
|
|
394
|
+
*/
|
|
395
|
+
description?: string;
|
|
389
396
|
}
|
|
390
397
|
declare function model(options: ModelOptions): (target: Function, context: ClassDecoratorContext) => void;
|
|
391
398
|
|
|
@@ -2262,13 +2269,13 @@ type EntityOf<M> = M extends ModelStatic<infer T, infer _C> ? T : never;
|
|
|
2262
2269
|
* the model's unique-key boundary (`UniqueQueryKeyOf`); `select` is the strict
|
|
2263
2270
|
* projection (#37) typed against the entity.
|
|
2264
2271
|
*/
|
|
2265
|
-
declare function defineQuery<M extends ModelStatic<DDBModel, AnyModelClass>, const K extends Parameterize<UniqueQueryKeyOf<ClassOf<M>>>, const S extends SelectableOf<EntityOf<M>>>(model: M, key: K & ExactParam<UniqueQueryKeyOf<ClassOf<M>>, K>, select: S & StrictSelectSpec<EntityOf<M>, S
|
|
2272
|
+
declare function defineQuery<M extends ModelStatic<DDBModel, AnyModelClass>, const K extends Parameterize<UniqueQueryKeyOf<ClassOf<M>>>, const S extends SelectableOf<EntityOf<M>>>(model: M, key: K & ExactParam<UniqueQueryKeyOf<ClassOf<M>>, K>, select: S & StrictSelectSpec<EntityOf<M>, S>, options?: ReadDefinitionOptions): OperationDefinition<EntityOf<M>, 'query', K, S, undefined, CollectParams<K>>;
|
|
2266
2273
|
/**
|
|
2267
2274
|
* Define a parameterized **partition read** (`list`). The `key` accepts a
|
|
2268
2275
|
* partial (partition-key) input with {@link Param} placeholders; `select` is
|
|
2269
2276
|
* the strict projection typed against the entity.
|
|
2270
2277
|
*/
|
|
2271
|
-
declare function defineList<M extends ModelStatic<DDBModel, AnyModelClass>, const K extends Parameterize<PartialQueryKeyOf<ClassOf<M>>>, const S extends SelectableOf<EntityOf<M>>>(model: M, key: K & ExactParam<PartialQueryKeyOf<ClassOf<M>>, K>, select: S & StrictSelectSpec<EntityOf<M>, S
|
|
2278
|
+
declare function defineList<M extends ModelStatic<DDBModel, AnyModelClass>, const K extends Parameterize<PartialQueryKeyOf<ClassOf<M>>>, const S extends SelectableOf<EntityOf<M>>>(model: M, key: K & ExactParam<PartialQueryKeyOf<ClassOf<M>>, K>, select: S & StrictSelectSpec<EntityOf<M>, S>, options?: ReadDefinitionOptions): OperationDefinition<EntityOf<M>, 'list', K, S, undefined, CollectParams<K>>;
|
|
2272
2279
|
/**
|
|
2273
2280
|
* Define a parameterized **put** (`put`). The `item` accepts {@link Param}
|
|
2274
2281
|
* placeholders at scalar leaves and is otherwise checked against `EntityInput`
|
package/dist/index.js
CHANGED
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
validateDepth,
|
|
80
80
|
when,
|
|
81
81
|
wholeKeysSentinel
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-G5RWWBAL.js";
|
|
83
83
|
import {
|
|
84
84
|
CdcEmulator,
|
|
85
85
|
MAINT_OUTBOX_PK_PREFIX,
|
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
orderAndTrimCollection,
|
|
92
92
|
pathField,
|
|
93
93
|
projectFrom
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-BROCT574.js";
|
|
95
95
|
import {
|
|
96
96
|
BATCH_GET_MAX_KEYS,
|
|
97
97
|
BATCH_WRITE_MAX_ITEMS,
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
resolveModelClass,
|
|
155
155
|
segmentFieldNames,
|
|
156
156
|
serializeFieldValue
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-CPTV3H2U.js";
|
|
158
158
|
|
|
159
159
|
// src/metadata/prefix.ts
|
|
160
160
|
function derivePrefix(customPrefix, className) {
|
|
@@ -277,6 +277,7 @@ function model(options) {
|
|
|
277
277
|
aggregates,
|
|
278
278
|
embeddedFields,
|
|
279
279
|
kind,
|
|
280
|
+
...options.description !== void 0 ? { description: options.description } : {},
|
|
280
281
|
maintainedFrom: maintainedFrom2
|
|
281
282
|
});
|
|
282
283
|
};
|
|
@@ -1596,7 +1597,15 @@ function collectParams(structure, out = {}) {
|
|
|
1596
1597
|
return out;
|
|
1597
1598
|
}
|
|
1598
1599
|
function descriptorFromParam(name, value, existing) {
|
|
1599
|
-
const descriptor =
|
|
1600
|
+
const descriptor = {
|
|
1601
|
+
kind: value.kind,
|
|
1602
|
+
...value.literals !== void 0 ? { literals: value.literals } : {},
|
|
1603
|
+
// Pure-documentation description (issue #154); carried through verbatim. Does
|
|
1604
|
+
// not participate in the conflicting-kind check below (it is not part of the
|
|
1605
|
+
// execution-relevant descriptor identity).
|
|
1606
|
+
...value.description !== void 0 ? { description: value.description } : {},
|
|
1607
|
+
required: true
|
|
1608
|
+
};
|
|
1600
1609
|
if (existing !== void 0 && existing.kind !== descriptor.kind) {
|
|
1601
1610
|
throw new Error(
|
|
1602
1611
|
`Parameter '${name}' is declared with conflicting types ('${existing.kind}' and '${descriptor.kind}'). A parameter name must have a single type across a definition.`
|
|
@@ -1693,7 +1702,7 @@ function collectConditionTreeParams(obj, out) {
|
|
|
1693
1702
|
}
|
|
1694
1703
|
}
|
|
1695
1704
|
}
|
|
1696
|
-
function makeDefinition(model2, operation, key2, select, changes, condition) {
|
|
1705
|
+
function makeDefinition(model2, operation, key2, select, changes, condition, description) {
|
|
1697
1706
|
const params = collectParams(key2);
|
|
1698
1707
|
if (changes !== void 0) collectParams(changes, params);
|
|
1699
1708
|
collectConditionParams(condition, params);
|
|
@@ -1705,25 +1714,30 @@ function makeDefinition(model2, operation, key2, select, changes, condition) {
|
|
|
1705
1714
|
select,
|
|
1706
1715
|
changes,
|
|
1707
1716
|
...condition !== void 0 ? { condition } : {},
|
|
1717
|
+
...description !== void 0 ? { description } : {},
|
|
1708
1718
|
params
|
|
1709
1719
|
};
|
|
1710
1720
|
}
|
|
1711
|
-
function defineQuery(model2, key2, select) {
|
|
1721
|
+
function defineQuery(model2, key2, select, options) {
|
|
1712
1722
|
return makeDefinition(
|
|
1713
1723
|
model2,
|
|
1714
1724
|
"query",
|
|
1715
1725
|
key2,
|
|
1716
1726
|
select,
|
|
1717
|
-
void 0
|
|
1727
|
+
void 0,
|
|
1728
|
+
void 0,
|
|
1729
|
+
options?.description
|
|
1718
1730
|
);
|
|
1719
1731
|
}
|
|
1720
|
-
function defineList(model2, key2, select) {
|
|
1732
|
+
function defineList(model2, key2, select, options) {
|
|
1721
1733
|
return makeDefinition(
|
|
1722
1734
|
model2,
|
|
1723
1735
|
"list",
|
|
1724
1736
|
key2,
|
|
1725
1737
|
select,
|
|
1726
|
-
void 0
|
|
1738
|
+
void 0,
|
|
1739
|
+
void 0,
|
|
1740
|
+
options?.description
|
|
1727
1741
|
);
|
|
1728
1742
|
}
|
|
1729
1743
|
function definePut(model2, item, options) {
|
|
@@ -1733,7 +1747,8 @@ function definePut(model2, item, options) {
|
|
|
1733
1747
|
item,
|
|
1734
1748
|
void 0,
|
|
1735
1749
|
void 0,
|
|
1736
|
-
options?.condition
|
|
1750
|
+
options?.condition,
|
|
1751
|
+
options?.description
|
|
1737
1752
|
);
|
|
1738
1753
|
}
|
|
1739
1754
|
function defineUpdate(model2, key2, changes, options) {
|
|
@@ -1743,7 +1758,8 @@ function defineUpdate(model2, key2, changes, options) {
|
|
|
1743
1758
|
key2,
|
|
1744
1759
|
void 0,
|
|
1745
1760
|
changes,
|
|
1746
|
-
options?.condition
|
|
1761
|
+
options?.condition,
|
|
1762
|
+
options?.description
|
|
1747
1763
|
);
|
|
1748
1764
|
}
|
|
1749
1765
|
function defineDelete(model2, key2, options) {
|
|
@@ -1753,7 +1769,8 @@ function defineDelete(model2, key2, options) {
|
|
|
1753
1769
|
key2,
|
|
1754
1770
|
void 0,
|
|
1755
1771
|
void 0,
|
|
1756
|
-
options?.condition
|
|
1772
|
+
options?.condition,
|
|
1773
|
+
options?.description
|
|
1757
1774
|
);
|
|
1758
1775
|
}
|
|
1759
1776
|
function defineQueries(definitions) {
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as Executor, D as DynamoDBOperation, R as ReadExecOptions, a as ExecutorResult, B as BatchGetExecInput, P as PutInput, W as WriteExecOptions, b as WriteResult, U as UpdateInput, c as DeleteInput, d as BatchWriteExecItem, e as BatchExecOptions, T as TransactWriteExecItem, M as ModelStatic, f as DDBModel, C as ChangeEvent } from '../types-
|
|
1
|
+
import { E as Executor, D as DynamoDBOperation, R as ReadExecOptions, a as ExecutorResult, B as BatchGetExecInput, P as PutInput, W as WriteExecOptions, b as WriteResult, U as UpdateInput, c as DeleteInput, d as BatchWriteExecItem, e as BatchExecOptions, T as TransactWriteExecItem, M as ModelStatic, f as DDBModel, C as ChangeEvent } from '../types-BWOrWcbd.js';
|
|
2
2
|
import '@aws-sdk/client-dynamodb';
|
|
3
3
|
|
|
4
4
|
/**
|
package/dist/testing/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCdcEmulator
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-BROCT574.js";
|
|
4
4
|
import {
|
|
5
5
|
ClientManager,
|
|
6
6
|
MetadataRegistry,
|
|
7
7
|
TableMapping,
|
|
8
8
|
resolveModelClass
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-CPTV3H2U.js";
|
|
10
10
|
|
|
11
11
|
// src/memory/memory-store.ts
|
|
12
12
|
function deepClone(value) {
|
|
@@ -227,6 +227,16 @@ interface Param<out T> {
|
|
|
227
227
|
* `{item.<field>}` templates. `undefined` for scalar params.
|
|
228
228
|
*/
|
|
229
229
|
readonly element?: Readonly<Record<string, Param<unknown>>>;
|
|
230
|
+
/**
|
|
231
|
+
* Optional human-readable description of the parameter (issue #154), supplied
|
|
232
|
+
* via `param.string({ description })` etc. Pure documentation metadata — it does
|
|
233
|
+
* NOT affect the runtime descriptor (`kind` / `literals`) the planner reads for
|
|
234
|
+
* execution. When present it is propagated to the param's {@link
|
|
235
|
+
* import('./ir.js').ParamDescriptor} and then to the serialized
|
|
236
|
+
* {@link import('../spec/types.js').ParamSpec} in `operations.json`. Absent →
|
|
237
|
+
* unchanged output (backward compatible).
|
|
238
|
+
*/
|
|
239
|
+
readonly description?: string;
|
|
230
240
|
}
|
|
231
241
|
/** A `Param` whose represented value type is `string`. */
|
|
232
242
|
type StringParam = Param<string>;
|
|
@@ -249,26 +259,41 @@ type ArrayParam<E extends ArrayElementShape> = Param<ElementOf<E>[]> & {
|
|
|
249
259
|
};
|
|
250
260
|
/** Allowed scalar value types a placeholder may stand in for. */
|
|
251
261
|
type ParamValue = string | number;
|
|
262
|
+
/**
|
|
263
|
+
* Options accepted by the placeholder factories (issue #154). Currently carries
|
|
264
|
+
* only the optional human-readable {@link Param.description} — pure documentation
|
|
265
|
+
* metadata that does not affect the runtime descriptor. The object form is
|
|
266
|
+
* additive: `param.string()` (no options) is unchanged.
|
|
267
|
+
*/
|
|
268
|
+
interface ParamOptions {
|
|
269
|
+
/** Optional human-readable description, propagated to `operations.json`. */
|
|
270
|
+
readonly description?: string;
|
|
271
|
+
}
|
|
252
272
|
/**
|
|
253
273
|
* Placeholder factory. Each call returns a branded {@link Param} carrying both
|
|
254
|
-
* the TypeScript value type and a runtime descriptor.
|
|
274
|
+
* the TypeScript value type and a runtime descriptor. Each scalar factory accepts
|
|
275
|
+
* an optional {@link ParamOptions} (issue #154) carrying a `description` — pure
|
|
276
|
+
* documentation propagated to `operations.json`; the no-argument call is unchanged.
|
|
255
277
|
*/
|
|
256
278
|
declare const param: {
|
|
257
279
|
/** A placeholder for a `string` value. */
|
|
258
|
-
readonly string: () => StringParam;
|
|
280
|
+
readonly string: (options?: ParamOptions) => StringParam;
|
|
259
281
|
/** A placeholder for a `number` value. */
|
|
260
|
-
readonly number: () => NumberParam;
|
|
282
|
+
readonly number: (options?: ParamOptions) => NumberParam;
|
|
261
283
|
/**
|
|
262
284
|
* A placeholder constrained to one of the given literal values. The value
|
|
263
285
|
* type of the resulting {@link Param} is the **union of the literals**, so it
|
|
264
|
-
* is preserved precisely in the IR and the inferred definition types.
|
|
286
|
+
* is preserved precisely in the IR and the inferred definition types. A final
|
|
287
|
+
* plain-object argument is read as {@link ParamOptions} (a `description`),
|
|
288
|
+
* distinguished from the `string` / `number` literal values.
|
|
265
289
|
*
|
|
266
290
|
* @example
|
|
267
291
|
* ```ts
|
|
268
292
|
* param.literal('active', 'disabled'); // Param<'active' | 'disabled'>
|
|
293
|
+
* param.literal('active', 'disabled', { description: 'Account state.' });
|
|
269
294
|
* ```
|
|
270
295
|
*/
|
|
271
|
-
readonly literal: <const L extends readonly [ParamValue, ...ParamValue[]]>(...
|
|
296
|
+
readonly literal: <const L extends readonly [ParamValue, ...ParamValue[]]>(...valuesAndOptions: [...L] | [...L, ParamOptions]) => LiteralParam<L[number]>;
|
|
272
297
|
/**
|
|
273
298
|
* A placeholder for an **array** parameter whose elements have the given field
|
|
274
299
|
* shape. Used by `defineTransaction`'s `tx.forEach(p.<arrayParam>, …)` to bind
|
|
@@ -280,7 +305,7 @@ declare const param: {
|
|
|
280
305
|
* // Param<{ userId: string; role: string }[]>
|
|
281
306
|
* ```
|
|
282
307
|
*/
|
|
283
|
-
readonly array: <const E extends ArrayElementShape>(element: E) => ArrayParam<E>;
|
|
308
|
+
readonly array: <const E extends ArrayElementShape>(element: E, options?: ParamOptions) => ArrayParam<E>;
|
|
284
309
|
};
|
|
285
310
|
/** Runtime type guard: is `value` a parameter placeholder? */
|
|
286
311
|
declare function isParam(value: unknown): value is Param<unknown>;
|
|
@@ -1765,6 +1790,21 @@ interface ConditionTree {
|
|
|
1765
1790
|
interface WriteDefinitionOptions {
|
|
1766
1791
|
/** Optional declarative write condition (subset). */
|
|
1767
1792
|
readonly condition?: ConditionInput;
|
|
1793
|
+
/**
|
|
1794
|
+
* Optional human-readable description of the command use case (issue #154). Pure
|
|
1795
|
+
* documentation — propagated to `operations.json` and the generated Python
|
|
1796
|
+
* repository-method docstring. Omit for unchanged output.
|
|
1797
|
+
*/
|
|
1798
|
+
readonly description?: string;
|
|
1799
|
+
}
|
|
1800
|
+
/** Options accepted by the read `define*` entry points (issue #154). */
|
|
1801
|
+
interface ReadDefinitionOptions {
|
|
1802
|
+
/**
|
|
1803
|
+
* Optional human-readable description of the query use case (issue #154). Pure
|
|
1804
|
+
* documentation — propagated to `operations.json` and the generated Python
|
|
1805
|
+
* repository-method docstring. Omit for unchanged output.
|
|
1806
|
+
*/
|
|
1807
|
+
readonly description?: string;
|
|
1768
1808
|
}
|
|
1769
1809
|
/**
|
|
1770
1810
|
* Identifies the entity an operation targets. `name` is the model class name
|
|
@@ -1790,6 +1830,13 @@ interface ParamDescriptor<T = unknown> {
|
|
|
1790
1830
|
* descriptors. `undefined` for scalar params.
|
|
1791
1831
|
*/
|
|
1792
1832
|
readonly element?: Readonly<Record<string, ParamDescriptor>>;
|
|
1833
|
+
/**
|
|
1834
|
+
* Optional human-readable description of the parameter (issue #154), carried
|
|
1835
|
+
* from a `param.*({ description })` placeholder. Pure documentation — it does
|
|
1836
|
+
* not affect `kind` / `literals` (the execution-relevant descriptor). Propagated
|
|
1837
|
+
* to the serialized {@link import('../spec/types.js').ParamSpec}.
|
|
1838
|
+
*/
|
|
1839
|
+
readonly description?: string;
|
|
1793
1840
|
/** Parameters are always required (no optional params in this phase). */
|
|
1794
1841
|
readonly required: true;
|
|
1795
1842
|
}
|
|
@@ -1843,6 +1890,15 @@ interface OperationDefinition<T extends DDBModel, Op extends OperationKind, K, S
|
|
|
1843
1890
|
* when no condition is attached or for reads (issue #46).
|
|
1844
1891
|
*/
|
|
1845
1892
|
readonly condition?: ConditionInput;
|
|
1893
|
+
/**
|
|
1894
|
+
* Optional human-readable description of the definition (issue #154), supplied
|
|
1895
|
+
* via the entry-point options (`defineQuery(..., { description })` etc.). Pure
|
|
1896
|
+
* documentation — propagated to the serialized {@link
|
|
1897
|
+
* import('../spec/types.js').QuerySpec.description} /
|
|
1898
|
+
* {@link import('../spec/types.js').CommandSpec.description} and to the generated
|
|
1899
|
+
* Python repository-method docstring. It does not affect execution.
|
|
1900
|
+
*/
|
|
1901
|
+
readonly description?: string;
|
|
1846
1902
|
/** Collected parameters: name → descriptor (value type preserved in `P`). */
|
|
1847
1903
|
readonly params: P;
|
|
1848
1904
|
/** @internal Phantom carrier so the entity type `T` is retained on the node. */
|
|
@@ -3023,6 +3079,13 @@ interface ManifestField {
|
|
|
3023
3079
|
* mirroring the TS hydrator's `format`-driven `Date` reconstruction.
|
|
3024
3080
|
*/
|
|
3025
3081
|
readonly format?: 'datetime' | 'date';
|
|
3082
|
+
/**
|
|
3083
|
+
* Optional human-readable description of the field (issue #154), from a field
|
|
3084
|
+
* decorator option (`@string({ description })`). Pure documentation — absent
|
|
3085
|
+
* unless declared, so a field with no description serializes byte-identically
|
|
3086
|
+
* to the pre-#154 manifest. Surfaces as a field comment in the generated Python.
|
|
3087
|
+
*/
|
|
3088
|
+
readonly description?: string;
|
|
3026
3089
|
}
|
|
3027
3090
|
/** A key (PK or GSI) template descriptor in the manifest. */
|
|
3028
3091
|
interface ManifestKey {
|
|
@@ -3056,6 +3119,13 @@ interface ManifestEntity {
|
|
|
3056
3119
|
readonly key: ManifestKey | null;
|
|
3057
3120
|
readonly gsis: readonly ManifestGsi[];
|
|
3058
3121
|
readonly relations: Readonly<Record<string, ManifestRelation>>;
|
|
3122
|
+
/**
|
|
3123
|
+
* Optional human-readable description of the entity (issue #154), from
|
|
3124
|
+
* `@model({ description })`. Pure documentation — absent unless declared, so an
|
|
3125
|
+
* entity with no description serializes byte-identically to the pre-#154
|
|
3126
|
+
* manifest. Surfaces as the generated Python class docstring.
|
|
3127
|
+
*/
|
|
3128
|
+
readonly description?: string;
|
|
3059
3129
|
}
|
|
3060
3130
|
interface ManifestTable {
|
|
3061
3131
|
readonly physicalName: string;
|
|
@@ -3075,6 +3145,13 @@ interface ParamSpec {
|
|
|
3075
3145
|
* descriptors (field name → element param spec). Omitted for scalar params.
|
|
3076
3146
|
*/
|
|
3077
3147
|
readonly element?: Readonly<Record<string, ParamSpec>>;
|
|
3148
|
+
/**
|
|
3149
|
+
* Optional human-readable description of the parameter (issue #154), from a
|
|
3150
|
+
* `param.*({ description })` placeholder. Pure documentation — absent unless
|
|
3151
|
+
* declared, so a param with no description serializes byte-identically to the
|
|
3152
|
+
* pre-#154 spec. The Python runtime never reads it for execution.
|
|
3153
|
+
*/
|
|
3154
|
+
readonly description?: string;
|
|
3078
3155
|
}
|
|
3079
3156
|
/** A `begins_with` range condition on a sort key (templated value). */
|
|
3080
3157
|
interface RangeConditionSpec {
|
|
@@ -3183,6 +3260,13 @@ interface QuerySpec {
|
|
|
3183
3260
|
* backward-compatible (plan-absent → sequential) fallback.
|
|
3184
3261
|
*/
|
|
3185
3262
|
readonly executionPlan?: ExecutionPlanSpec;
|
|
3263
|
+
/**
|
|
3264
|
+
* Optional human-readable description of the query (issue #154), from
|
|
3265
|
+
* `defineQuery(..., { description })`. Pure documentation — absent unless
|
|
3266
|
+
* declared, so a query with no description serializes byte-identically to the
|
|
3267
|
+
* pre-#154 spec. Surfaces as the generated Python repository-method docstring.
|
|
3268
|
+
*/
|
|
3269
|
+
readonly description?: string;
|
|
3186
3270
|
}
|
|
3187
3271
|
type WriteOperationType = 'PutItem' | 'UpdateItem' | 'DeleteItem';
|
|
3188
3272
|
/**
|
|
@@ -3260,6 +3344,14 @@ interface CommandSpec {
|
|
|
3260
3344
|
readonly changes?: Readonly<Record<string, string>>;
|
|
3261
3345
|
/** Optional write condition (subset). */
|
|
3262
3346
|
readonly condition?: ConditionSpec;
|
|
3347
|
+
/**
|
|
3348
|
+
* Optional human-readable description of the command (issue #154), from
|
|
3349
|
+
* `definePut`/`defineUpdate`/`defineDelete(..., { description })`. Pure
|
|
3350
|
+
* documentation — absent unless declared, so a command with no description
|
|
3351
|
+
* serializes byte-identically to the pre-#154 spec. Surfaces as the generated
|
|
3352
|
+
* Python repository-method docstring.
|
|
3353
|
+
*/
|
|
3354
|
+
readonly description?: string;
|
|
3263
3355
|
}
|
|
3264
3356
|
/**
|
|
3265
3357
|
* A declarative `when` guard on a transaction item (issue #46). Compares a
|
|
@@ -3610,6 +3702,14 @@ interface QueryContractMethodSpec {
|
|
|
3610
3702
|
* call (chunk ≤100). Absent → resolve compositions sequentially (pre-#70).
|
|
3611
3703
|
*/
|
|
3612
3704
|
readonly compositionPlan?: CompositionPlanSpec;
|
|
3705
|
+
/**
|
|
3706
|
+
* Optional human-readable description of the read use case (issue #154), from the
|
|
3707
|
+
* descriptor's `description`. Pure documentation — absent unless declared, so a
|
|
3708
|
+
* method with no description serializes byte-identically to the pre-#154 spec.
|
|
3709
|
+
* The same string appears in the TS contract IR and (via the SSoT) in any
|
|
3710
|
+
* generated binding, so TS↔Python carry an identical description.
|
|
3711
|
+
*/
|
|
3712
|
+
readonly description?: string;
|
|
3613
3713
|
}
|
|
3614
3714
|
/**
|
|
3615
3715
|
* How a contract command method resolves a single key vs. an array of keys to the
|
|
@@ -3676,6 +3776,12 @@ interface CommandContractMethodSpec {
|
|
|
3676
3776
|
* {@link result} stays `'void'` / `'entity'` and it returns no projected item).
|
|
3677
3777
|
*/
|
|
3678
3778
|
readonly returnSelection?: Readonly<Record<string, boolean>>;
|
|
3779
|
+
/**
|
|
3780
|
+
* Optional human-readable description of the write use case (issue #154), from
|
|
3781
|
+
* the descriptor's `description`. Pure documentation — absent unless declared, so
|
|
3782
|
+
* a method with no description serializes byte-identically to the pre-#154 spec.
|
|
3783
|
+
*/
|
|
3784
|
+
readonly description?: string;
|
|
3679
3785
|
}
|
|
3680
3786
|
/**
|
|
3681
3787
|
* A serialized contract — a keyed public read (`'query'`) or write (`'command'`)
|
|
@@ -4721,6 +4827,13 @@ interface ContractMethodOp<Op extends OperationKind = OperationKind> {
|
|
|
4721
4827
|
* when the body declares no composition.
|
|
4722
4828
|
*/
|
|
4723
4829
|
readonly compose?: readonly RecordedCompose[];
|
|
4830
|
+
/**
|
|
4831
|
+
* Optional human-readable description of the use case (issue #154), captured from
|
|
4832
|
+
* the descriptor's `description`. Pure documentation — carried on the op so the
|
|
4833
|
+
* serializer can emit it onto the contract method spec; it never affects the
|
|
4834
|
+
* recorded operation, key, or runtime behaviour.
|
|
4835
|
+
*/
|
|
4836
|
+
readonly description?: string;
|
|
4724
4837
|
}
|
|
4725
4838
|
/**
|
|
4726
4839
|
* A recorded External Query composition edge on a contract method op (#63). The
|
|
@@ -4803,6 +4916,12 @@ interface QueryMethodSpec<TKey, TParams, TResult, A extends InputArity = InputAr
|
|
|
4803
4916
|
* the referenced contract name by identity ({@link contractOfMethodSpec}).
|
|
4804
4917
|
*/
|
|
4805
4918
|
readonly __methodName?: string;
|
|
4919
|
+
/**
|
|
4920
|
+
* Optional human-readable description of the use case (issue #154), from the
|
|
4921
|
+
* descriptor's `description`. Pure documentation — propagated to the serialized
|
|
4922
|
+
* {@link import('../spec/types.js').QueryContractMethodSpec.description}.
|
|
4923
|
+
*/
|
|
4924
|
+
readonly description?: string;
|
|
4806
4925
|
/** @internal Phantom carrier retaining the formal `QueryMethod` type. */
|
|
4807
4926
|
readonly __signature?: QueryMethod<TKey, TParams, TResult>;
|
|
4808
4927
|
}
|
|
@@ -4955,6 +5074,12 @@ interface CommandMethodSpec<TKey, TParams, TResult> {
|
|
|
4955
5074
|
* at least one stream maintainer; absent otherwise (no regression).
|
|
4956
5075
|
*/
|
|
4957
5076
|
readonly maintainOutbox?: readonly DerivedMaintainOutbox[];
|
|
5077
|
+
/**
|
|
5078
|
+
* Optional human-readable description of the write use case (issue #154), from
|
|
5079
|
+
* the descriptor's `description`. Pure documentation — propagated to the
|
|
5080
|
+
* serialized {@link import('../spec/types.js').CommandContractMethodSpec.description}.
|
|
5081
|
+
*/
|
|
5082
|
+
readonly description?: string;
|
|
4958
5083
|
/** @internal Phantom carrier retaining the formal `CommandMethod` type. */
|
|
4959
5084
|
readonly __signature?: CommandMethod<TKey, TParams, TResult>;
|
|
4960
5085
|
}
|
|
@@ -5157,6 +5282,13 @@ interface PublicReadDescriptor {
|
|
|
5157
5282
|
readonly key: Readonly<Record<string, unknown>>;
|
|
5158
5283
|
readonly select: Readonly<Record<string, unknown>>;
|
|
5159
5284
|
readonly options?: Readonly<Record<string, unknown>>;
|
|
5285
|
+
/**
|
|
5286
|
+
* Optional human-readable description of the read use case (issue #154). Pure
|
|
5287
|
+
* documentation — propagated to the serialized {@link
|
|
5288
|
+
* import('../spec/types.js').QueryContractMethodSpec.description} in
|
|
5289
|
+
* `operations.json`. Omit for unchanged output.
|
|
5290
|
+
*/
|
|
5291
|
+
readonly description?: string;
|
|
5160
5292
|
}
|
|
5161
5293
|
/** A public **write** descriptor (issue #101): `{ create | update | remove: Model, key, input?, condition?, result?, mode? }`. */
|
|
5162
5294
|
interface PublicWriteDescriptor {
|
|
@@ -5171,6 +5303,13 @@ interface PublicWriteDescriptor {
|
|
|
5171
5303
|
readonly options?: unknown;
|
|
5172
5304
|
};
|
|
5173
5305
|
readonly mode?: CommandMode;
|
|
5306
|
+
/**
|
|
5307
|
+
* Optional human-readable description of the write use case (issue #154). Pure
|
|
5308
|
+
* documentation — propagated to the serialized {@link
|
|
5309
|
+
* import('../spec/types.js').CommandContractMethodSpec.description} in
|
|
5310
|
+
* `operations.json`. Omit for unchanged output.
|
|
5311
|
+
*/
|
|
5312
|
+
readonly description?: string;
|
|
5174
5313
|
}
|
|
5175
5314
|
/**
|
|
5176
5315
|
* A public **composite write** descriptor (issue #101) — the closure-free twin of
|
|
@@ -5188,6 +5327,12 @@ interface PublicComposeDescriptor {
|
|
|
5188
5327
|
readonly options?: unknown;
|
|
5189
5328
|
};
|
|
5190
5329
|
readonly mode?: CommandMode;
|
|
5330
|
+
/**
|
|
5331
|
+
* Optional human-readable description of the composite write use case (issue
|
|
5332
|
+
* #154). Pure documentation — propagated to the serialized {@link
|
|
5333
|
+
* import('../spec/types.js').CommandContractMethodSpec.description}.
|
|
5334
|
+
*/
|
|
5335
|
+
readonly description?: string;
|
|
5191
5336
|
}
|
|
5192
5337
|
|
|
5193
5338
|
/**
|
|
@@ -6060,6 +6205,15 @@ interface FieldOptions {
|
|
|
6060
6205
|
readonly?: boolean;
|
|
6061
6206
|
serialize?: (value: unknown) => unknown;
|
|
6062
6207
|
deserialize?: (value: unknown) => unknown;
|
|
6208
|
+
/**
|
|
6209
|
+
* Optional human-readable description of the field (issue #154). Pure
|
|
6210
|
+
* documentation metadata — it does NOT affect storage, hydration, key handling,
|
|
6211
|
+
* or any runtime behaviour. When present it is propagated to the field entry in
|
|
6212
|
+
* `manifest.json` ({@link ManifestField.description}) and surfaces as a field
|
|
6213
|
+
* comment in the generated Python `types.py`. Absent → byte-for-byte unchanged
|
|
6214
|
+
* output (backward compatible).
|
|
6215
|
+
*/
|
|
6216
|
+
description?: string;
|
|
6063
6217
|
}
|
|
6064
6218
|
interface FieldMetadata {
|
|
6065
6219
|
propertyName: string;
|
|
@@ -6359,6 +6513,15 @@ interface EntityMetadata {
|
|
|
6359
6513
|
* {@link maintainedFrom}.
|
|
6360
6514
|
*/
|
|
6361
6515
|
kind?: ModelKind;
|
|
6516
|
+
/**
|
|
6517
|
+
* Optional human-readable description of the entity (issue #154), supplied via
|
|
6518
|
+
* `@model({ description })`. Pure documentation metadata — it does NOT affect
|
|
6519
|
+
* storage, keys, or any runtime behaviour. When present it is propagated to the
|
|
6520
|
+
* entity entry in `manifest.json` ({@link ManifestEntity.description}) and
|
|
6521
|
+
* surfaces as the class docstring in the generated Python `types.py`. Absent →
|
|
6522
|
+
* byte-for-byte unchanged output (backward compatible).
|
|
6523
|
+
*/
|
|
6524
|
+
description?: string;
|
|
6362
6525
|
/**
|
|
6363
6526
|
* Class-level `@maintainedFrom(...)` declarations (issue #152). Non-empty only on
|
|
6364
6527
|
* a `materializedView` / `sparseView` model; each is one source slice the view
|
|
@@ -6482,4 +6645,4 @@ interface CdcEmulatorOptions {
|
|
|
6482
6645
|
}
|
|
6483
6646
|
type ShardId = string;
|
|
6484
6647
|
|
|
6485
|
-
export { type FaultSpec as $, type AggregateOptions as A, type BatchGetExecInput as B, type ChangeEvent as C, type DynamoDBOperation as D, type Executor as E, type FieldOptions as F, type GsiDefinition as G, type SelectBuilderSpec as H, type Item as I, type RawCondition as J, type KeyDefinition as K, type TransactionSpec as L, type ModelStatic as M, type Manifest as N, type RetryOverride as O, type PutInput as P, type ExecutionPlan as Q, type ReadExecOptions as R, type SelectableOf as S, type TransactWriteExecItem as T, type UpdateInput as U, type FieldMetadata as V, type WriteExecOptions as W, type ResolvedKey as X, type CdcEmulatorOptions as Y, type ChangeHandler as Z, type Unsubscribe as _, type ExecutorResult as a, type
|
|
6648
|
+
export { type FaultSpec as $, type AggregateOptions as A, type BatchGetExecInput as B, type ChangeEvent as C, type DynamoDBOperation as D, type Executor as E, type FieldOptions as F, type GsiDefinition as G, type SelectBuilderSpec as H, type Item as I, type RawCondition as J, type KeyDefinition as K, type TransactionSpec as L, type ModelStatic as M, type Manifest as N, type RetryOverride as O, type PutInput as P, type ExecutionPlan as Q, type ReadExecOptions as R, type SelectableOf as S, type TransactWriteExecItem as T, type UpdateInput as U, type FieldMetadata as V, type WriteExecOptions as W, type ResolvedKey as X, type CdcEmulatorOptions as Y, type ChangeHandler as Z, type Unsubscribe as _, type ExecutorResult as a, type ContractCardinality as a$, type ConcurrentRecomputeRef as a0, type EventLog as a1, type ReplayOptions as a2, type ShardId as a3, type ViewDefinition as a4, type RelationMetadata as a5, type TransactionItemSpec as a6, type MaintainEffect as a7, type Param as a8, type ParamDescriptor as a9, BatchGetResult as aA, type BatchPutRequest as aB, type BatchResult as aC, type BatchWriteRequest as aD, CONTRACT_RANGE_FANOUT_CONCURRENCY as aE, type CdcMode as aF, type Change as aG, type ChangeBatch as aH, type ChangeEventName as aI, type ClockMode as aJ, type CollectionEffect as aK, type CollectionOptions as aL, type Column as aM, type ColumnMap as aN, type CommandContractMethodSpec as aO, type CommandInputShape as aP, type CommandMethod as aQ, type CommandPlan as aR, type CommandResolutionTarget as aS, type CommandResultKind as aT, type CommandSelectShape as aU, type CompiledFragment as aV, type ComposeSpec as aW, type CondSlot as aX, type ConditionCheckInput as aY, type Connection as aZ, type ContractCallSignature as a_, type DefinitionMap as aa, type OperationDefinition as ab, type WriteDefinitionOptions as ac, type PartialQueryKeyOf as ad, type StrictSelectSpec as ae, type ReadDefinitionOptions as af, type EntityInput as ag, type UniqueQueryKeyOf as ah, type EntityRef as ai, type ConditionInput as aj, type QueryModelContract as ak, type QueryMethodSpec as al, type CommandModelContract as am, type CommandMethodSpec as an, type ContractSpec as ao, type QuerySpec as ap, type CommandSpec as aq, type ContextSpec as ar, type OperationsDocument as as, type AnyOperationDefinition as at, type BridgeBundle as au, type ConditionSpec as av, type AggregateMetadata as aw, type BatchDeleteRequest as ax, type BatchGetOptions as ay, type BatchGetRequest as az, type WriteResult as b, type MutateMode as b$, type ContractCommandParams as b0, type ContractCommandResult as b1, type ContractComposeNode as b2, type ContractFromRef as b3, type ContractInputArity as b4, type ContractItem as b5, type ContractKeyFieldRef as b6, type ContractKeyInput as b7, type ContractKeyRef as b8, type ContractKeySpec as b9, type FragmentInput as bA, type GsiDefinitionMarker as bB, type GsiOptions as bC, type IdempotencyEffect as bD, type InProcessWriteDescriptor as bE, type InputArity as bF, type KeyDefinitionMarker as bG, type KeySegment as bH, type KeySlot as bI, type KeyStructure as bJ, type KeyedResult as bK, LIFECYCLE_CONTRACT_MARKER as bL, type LifecycleContract as bM, type LifecycleEffects as bN, type LiteralParam as bO, type MaintainItem as bP, type MaintainTrigger as bQ, type MaintenanceGraph as bR, type ManifestEntity as bS, type ManifestField as bT, type ManifestFieldType as bU, type ManifestGsi as bV, type ManifestKey as bW, type ManifestRelation as bX, type ManifestTable as bY, type MembershipEffect as bZ, type ModelRef as b_, type ContractKind as ba, type ContractMethodOp as bb, type ContractParamRef as bc, type ContractQueryParams as bd, type ContractResolution as be, type CounterAggregate as bf, type CounterEffect as bg, type CtxBase as bh, DEFAULT_MAX_ATTEMPTS as bi, DEFAULT_RETRY_POLICY as bj, type DeleteOptions as bk, type DeriveEffect as bl, type DerivedEdgeWrite as bm, type DerivedUpdate as bn, type DescriptorBinding as bo, ENTITY_WRITES_MARKER as bp, type EdgeEffect as bq, type EffectPath as br, type EmbeddedMetadata as bs, type EmitEffect as bt, type EntityWritesDefinition as bu, type EntityWritesShape as bv, type ExecutableCommandContract as bw, type ExecutableQueryContract as bx, type FilterInput as by, type FilterSpec as bz, type DeleteInput as c, type UpdateOptions as c$, type MutateOptions as c0, type MutateParallelResult as c1, type MutateTransactionResult as c2, type MutationBody as c3, type MutationDescriptorMap as c4, type MutationFragment as c5, type MutationInputProxy as c6, type MutationInputRef as c7, type MutationIntent as c8, type NumberParam as c9, type RelationBuilder as cA, type RelationConsistency as cB, type RelationLimitOptions as cC, type RelationPattern as cD, type RelationProjection as cE, type RelationReadOptions as cF, type RelationSelect as cG, type RelationSpec as cH, type RelationUpdateMode as cI, type RelationWriteOptions as cJ, type RequiresEffect as cK, type Resolution as cL, type RetryInfo as cM, type RetryOperationKind as cN, SPEC_VERSION as cO, type SegmentSpec as cP, type SegmentedKey as cQ, type SelectBuilder as cR, type SelectOf as cS, type SnapshotEffect as cT, type StartingPosition as cU, type StreamViewType as cV, type StringParam as cW, TransactionContext as cX, type TransactionItemType as cY, type UniqueEffect as cZ, type Updatable as c_, type OperationKind as ca, type OperationSpec as cb, type ParallelOpResult as cc, type ParamKind as cd, type ParamSpec as ce, type ParamStructure as cf, type PersistCtx as cg, type PersistOrigin as ch, type PlannedCommandMethod as ci, type ProjectionMap as cj, type ProjectionTransformOp as ck, type PutOptions as cl, type QueryContractMethodSpec as cm, type QueryEnvelopeResult as cn, type QueryKeyOf as co, type QueryMethod as cp, type QueryResult as cq, type RangeConditionSpec as cr, type ReadEnvelope as cs, type ReadOpCtx as ct, type ReadOpKind as cu, type ReadOperationType as cv, type ReadRouteDescriptor as cw, type ReadRouteOptions as cx, type ReadRouteResult as cy, type RecordedCompose as cz, type BatchWriteExecItem as d, mintContractKeyFieldRef as d$, type ViewSourceSlice as d0, type WhenSpec as d1, type WriteCtx as d2, type WriteDescriptor as d3, type WriteEnvelope as d4, type WriteInput as d5, type WriteKind as d6, type WriteLifecyclePhase as d7, type WriteMiddleware as d8, type WriteOperationType as d9, from as dA, getEntityWrites as dB, gsi as dC, identity as dD, isColumn as dE, isCommandModelContract as dF, isCommandPlan as dG, isContractComposeNode as dH, isContractFromRef as dI, isContractKeyFieldRef as dJ, isContractKeyRef as dK, isContractParamRef as dL, isEntityWritesDefinition as dM, isKeySegment as dN, isLifecycleContract as dO, isMaintainTrigger as dP, isMutationFragment as dQ, isMutationInputRef as dR, isParam as dS, isPlannedCommandMethod as dT, isQueryModelContract as dU, isRetryableError as dV, isRetryableTransactionCancellation as dW, k as dX, key as dY, lifecyclePhaseForIntent as dZ, maintainTrigger as d_, type WriteRecorder as da, type WriteResultProjection as db, attachModelClass as dc, buildDeleteInput as dd, buildMaintenanceGraph as de, buildPutInput as df, buildUpdateInput as dg, collectViewDefinitions as dh, compileFragment as di, compileMutationPlan as dj, compileSingleFragmentPlan as dk, cond as dl, contractOfMethodSpec as dm, definePlan as dn, entityWrites as dp, executeBatchGet as dq, executeBatchWrite as dr, executeCommandMethod as ds, executeDelete as dt, executeKeyedBatchGet as du, executePut as dv, executeQueryMethod as dw, executeRangeFanout as dx, executeTransaction as dy, executeUpdate as dz, type BatchExecOptions as e, mintContractParamRef as e0, mutation as e1, param as e2, preview as e3, publicCommandModel as e4, publicQueryModel as e5, query as e6, resolveLifecycle as e7, wholeKeysSentinel as e8, DDBModel as f, type PrimaryKeyOf as g, type RequestContext as h, type Middleware as i, type ReadRequestKind as j, type CtxModel as k, type ReadParams as l, type ReadRequestCtx as m, type RetryPolicy as n, type ExecutionPlanSpec as o, type EntityMetadata as p, type ModelKind as q, type DynamoType as r, type ProjectionTransform as s, type MaintainEvent as t, type MembershipPredicate as u, type MaintainConsistency as v, type MaintainUpdateMode as w, type MembershipPredicateOp as x, type RelationOptions as y, type AggregateValue as z };
|