@rippling/rippling-sdk 0.2.0-alpha.108 → 0.2.0-alpha.110
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/client.d.mts +14 -0
- package/client.d.mts.map +1 -1
- package/client.d.ts +14 -0
- package/client.d.ts.map +1 -1
- package/client.js +18 -0
- package/client.js.map +1 -1
- package/client.mjs +18 -0
- package/client.mjs.map +1 -1
- package/index.d.mts +5 -0
- package/index.d.mts.map +1 -1
- package/index.d.ts +5 -0
- package/index.d.ts.map +1 -1
- package/index.js +11 -1
- package/index.js.map +1 -1
- package/index.mjs +5 -0
- package/index.mjs.map +1 -1
- package/lib/charts/builders.d.mts +18 -19
- package/lib/charts/builders.d.mts.map +1 -1
- package/lib/charts/builders.d.ts +18 -19
- package/lib/charts/builders.d.ts.map +1 -1
- package/lib/charts/builders.js +35 -28
- package/lib/charts/builders.js.map +1 -1
- package/lib/charts/builders.mjs +35 -28
- package/lib/charts/builders.mjs.map +1 -1
- package/lib/charts/describe.d.mts +6 -7
- package/lib/charts/describe.d.mts.map +1 -1
- package/lib/charts/describe.d.ts +6 -7
- package/lib/charts/describe.d.ts.map +1 -1
- package/lib/charts/describe.js +26 -27
- package/lib/charts/describe.js.map +1 -1
- package/lib/charts/describe.mjs +27 -28
- package/lib/charts/describe.mjs.map +1 -1
- package/lib/charts/errors.d.mts +2 -6
- package/lib/charts/errors.d.mts.map +1 -1
- package/lib/charts/errors.d.ts +2 -6
- package/lib/charts/errors.d.ts.map +1 -1
- package/lib/charts/errors.js +2 -6
- package/lib/charts/errors.js.map +1 -1
- package/lib/charts/errors.mjs +2 -6
- package/lib/charts/errors.mjs.map +1 -1
- package/lib/charts/evaluate.d.mts +5 -7
- package/lib/charts/evaluate.d.mts.map +1 -1
- package/lib/charts/evaluate.d.ts +5 -7
- package/lib/charts/evaluate.d.ts.map +1 -1
- package/lib/charts/evaluate.js +21 -35
- package/lib/charts/evaluate.js.map +1 -1
- package/lib/charts/evaluate.mjs +22 -36
- package/lib/charts/evaluate.mjs.map +1 -1
- package/lib/charts/schema.d.mts +8 -97
- package/lib/charts/schema.d.mts.map +1 -1
- package/lib/charts/schema.d.ts +8 -97
- package/lib/charts/schema.d.ts.map +1 -1
- package/lib/charts/schema.js +186 -65
- package/lib/charts/schema.js.map +1 -1
- package/lib/charts/schema.mjs +185 -65
- package/lib/charts/schema.mjs.map +1 -1
- package/lib/charts/types.d.mts +40 -25
- package/lib/charts/types.d.mts.map +1 -1
- package/lib/charts/types.d.ts +40 -25
- package/lib/charts/types.d.ts.map +1 -1
- package/lib/charts/types.js +8 -10
- package/lib/charts/types.js.map +1 -1
- package/lib/charts/types.mjs +8 -10
- package/lib/charts/types.mjs.map +1 -1
- package/lib/charts/visualization-grammar.d.mts +66 -0
- package/lib/charts/visualization-grammar.d.mts.map +1 -0
- package/lib/charts/visualization-grammar.d.ts +66 -0
- package/lib/charts/visualization-grammar.d.ts.map +1 -0
- package/lib/charts/visualization-grammar.js +70 -0
- package/lib/charts/visualization-grammar.js.map +1 -0
- package/lib/charts/visualization-grammar.mjs +67 -0
- package/lib/charts/visualization-grammar.mjs.map +1 -0
- package/lib/charts/vocabulary.d.mts +7 -0
- package/lib/charts/vocabulary.d.mts.map +1 -0
- package/lib/charts/vocabulary.d.ts +7 -0
- package/lib/charts/vocabulary.d.ts.map +1 -0
- package/lib/charts/vocabulary.js +10 -0
- package/lib/charts/vocabulary.js.map +1 -0
- package/lib/charts/vocabulary.mjs +7 -0
- package/lib/charts/vocabulary.mjs.map +1 -0
- package/lib/charts.d.mts +3 -3
- package/lib/charts.d.mts.map +1 -1
- package/lib/charts.d.ts +3 -3
- package/lib/charts.d.ts.map +1 -1
- package/lib/charts.js +2 -1
- package/lib/charts.js.map +1 -1
- package/lib/charts.mjs +1 -1
- package/lib/charts.mjs.map +1 -1
- package/lib/manifest/composition.d.mts +21 -0
- package/lib/manifest/composition.d.mts.map +1 -0
- package/lib/manifest/composition.d.ts +21 -0
- package/lib/manifest/composition.d.ts.map +1 -0
- package/lib/manifest/composition.js +103 -0
- package/lib/manifest/composition.js.map +1 -0
- package/lib/manifest/composition.mjs +99 -0
- package/lib/manifest/composition.mjs.map +1 -0
- package/lib/manifest/definitions/_object-records.d.mts +23 -0
- package/lib/manifest/definitions/_object-records.d.mts.map +1 -0
- package/lib/manifest/definitions/_object-records.d.ts +23 -0
- package/lib/manifest/definitions/_object-records.d.ts.map +1 -0
- package/lib/manifest/definitions/_object-records.js +151 -0
- package/lib/manifest/definitions/_object-records.js.map +1 -0
- package/lib/manifest/definitions/_object-records.mjs +147 -0
- package/lib/manifest/definitions/_object-records.mjs.map +1 -0
- package/lib/manifest/definitions/action.d.mts +7 -0
- package/lib/manifest/definitions/action.d.mts.map +1 -0
- package/lib/manifest/definitions/action.d.ts +7 -0
- package/lib/manifest/definitions/action.d.ts.map +1 -0
- package/lib/manifest/definitions/action.js +25 -0
- package/lib/manifest/definitions/action.js.map +1 -0
- package/lib/manifest/definitions/action.mjs +22 -0
- package/lib/manifest/definitions/action.mjs.map +1 -0
- package/lib/manifest/definitions/agent.d.mts +51 -0
- package/lib/manifest/definitions/agent.d.mts.map +1 -0
- package/lib/manifest/definitions/agent.d.ts +51 -0
- package/lib/manifest/definitions/agent.d.ts.map +1 -0
- package/lib/manifest/definitions/agent.js +65 -0
- package/lib/manifest/definitions/agent.js.map +1 -0
- package/lib/manifest/definitions/agent.mjs +59 -0
- package/lib/manifest/definitions/agent.mjs.map +1 -0
- package/lib/manifest/definitions/app.d.mts +3 -0
- package/lib/manifest/definitions/app.d.mts.map +1 -0
- package/lib/manifest/definitions/app.d.ts +3 -0
- package/lib/manifest/definitions/app.d.ts.map +1 -0
- package/lib/manifest/definitions/app.js +14 -0
- package/lib/manifest/definitions/app.js.map +1 -0
- package/lib/manifest/definitions/app.mjs +11 -0
- package/lib/manifest/definitions/app.mjs.map +1 -0
- package/lib/manifest/definitions/category.d.mts +9 -0
- package/lib/manifest/definitions/category.d.mts.map +1 -0
- package/lib/manifest/definitions/category.d.ts +9 -0
- package/lib/manifest/definitions/category.d.ts.map +1 -0
- package/lib/manifest/definitions/category.js +27 -0
- package/lib/manifest/definitions/category.js.map +1 -0
- package/lib/manifest/definitions/category.mjs +23 -0
- package/lib/manifest/definitions/category.mjs.map +1 -0
- package/lib/manifest/definitions/component.d.mts +101 -0
- package/lib/manifest/definitions/component.d.mts.map +1 -0
- package/lib/manifest/definitions/component.d.ts +101 -0
- package/lib/manifest/definitions/component.d.ts.map +1 -0
- package/lib/manifest/definitions/component.js +106 -0
- package/lib/manifest/definitions/component.js.map +1 -0
- package/lib/manifest/definitions/component.mjs +97 -0
- package/lib/manifest/definitions/component.mjs.map +1 -0
- package/lib/manifest/definitions/custom-field-section.d.mts +13 -0
- package/lib/manifest/definitions/custom-field-section.d.mts.map +1 -0
- package/lib/manifest/definitions/custom-field-section.d.ts +13 -0
- package/lib/manifest/definitions/custom-field-section.d.ts.map +1 -0
- package/lib/manifest/definitions/custom-field-section.js +15 -0
- package/lib/manifest/definitions/custom-field-section.js.map +1 -0
- package/lib/manifest/definitions/custom-field-section.mjs +12 -0
- package/lib/manifest/definitions/custom-field-section.mjs.map +1 -0
- package/lib/manifest/definitions/custom-field.d.mts +10 -0
- package/lib/manifest/definitions/custom-field.d.mts.map +1 -0
- package/lib/manifest/definitions/custom-field.d.ts +10 -0
- package/lib/manifest/definitions/custom-field.d.ts.map +1 -0
- package/lib/manifest/definitions/custom-field.js +18 -0
- package/lib/manifest/definitions/custom-field.js.map +1 -0
- package/lib/manifest/definitions/custom-field.mjs +15 -0
- package/lib/manifest/definitions/custom-field.mjs.map +1 -0
- package/lib/manifest/definitions/custom-object.d.mts +162 -0
- package/lib/manifest/definitions/custom-object.d.mts.map +1 -0
- package/lib/manifest/definitions/custom-object.d.ts +162 -0
- package/lib/manifest/definitions/custom-object.d.ts.map +1 -0
- package/lib/manifest/definitions/custom-object.js +412 -0
- package/lib/manifest/definitions/custom-object.js.map +1 -0
- package/lib/manifest/definitions/custom-object.mjs +386 -0
- package/lib/manifest/definitions/custom-object.mjs.map +1 -0
- package/lib/manifest/definitions/custom-skill.d.mts +8 -0
- package/lib/manifest/definitions/custom-skill.d.mts.map +1 -0
- package/lib/manifest/definitions/custom-skill.d.ts +8 -0
- package/lib/manifest/definitions/custom-skill.d.ts.map +1 -0
- package/lib/manifest/definitions/custom-skill.js +15 -0
- package/lib/manifest/definitions/custom-skill.js.map +1 -0
- package/lib/manifest/definitions/custom-skill.mjs +12 -0
- package/lib/manifest/definitions/custom-skill.mjs.map +1 -0
- package/lib/manifest/definitions/field-section.d.mts +7 -0
- package/lib/manifest/definitions/field-section.d.mts.map +1 -0
- package/lib/manifest/definitions/field-section.d.ts +7 -0
- package/lib/manifest/definitions/field-section.d.ts.map +1 -0
- package/lib/manifest/definitions/field-section.js +16 -0
- package/lib/manifest/definitions/field-section.js.map +1 -0
- package/lib/manifest/definitions/field-section.mjs +13 -0
- package/lib/manifest/definitions/field-section.mjs.map +1 -0
- package/lib/manifest/definitions/field.d.mts +38 -0
- package/lib/manifest/definitions/field.d.mts.map +1 -0
- package/lib/manifest/definitions/field.d.ts +38 -0
- package/lib/manifest/definitions/field.d.ts.map +1 -0
- package/lib/manifest/definitions/field.js +50 -0
- package/lib/manifest/definitions/field.js.map +1 -0
- package/lib/manifest/definitions/field.mjs +45 -0
- package/lib/manifest/definitions/field.mjs.map +1 -0
- package/lib/manifest/definitions/function.d.mts +61 -0
- package/lib/manifest/definitions/function.d.mts.map +1 -0
- package/lib/manifest/definitions/function.d.ts +61 -0
- package/lib/manifest/definitions/function.d.ts.map +1 -0
- package/lib/manifest/definitions/function.js +79 -0
- package/lib/manifest/definitions/function.js.map +1 -0
- package/lib/manifest/definitions/function.mjs +73 -0
- package/lib/manifest/definitions/function.mjs.map +1 -0
- package/lib/manifest/definitions/index.d.mts +22 -0
- package/lib/manifest/definitions/index.d.mts.map +1 -0
- package/lib/manifest/definitions/index.d.ts +22 -0
- package/lib/manifest/definitions/index.d.ts.map +1 -0
- package/lib/manifest/definitions/index.js +64 -0
- package/lib/manifest/definitions/index.js.map +1 -0
- package/lib/manifest/definitions/index.mjs +22 -0
- package/lib/manifest/definitions/index.mjs.map +1 -0
- package/lib/manifest/definitions/list-view.d.mts +9 -0
- package/lib/manifest/definitions/list-view.d.mts.map +1 -0
- package/lib/manifest/definitions/list-view.d.ts +9 -0
- package/lib/manifest/definitions/list-view.d.ts.map +1 -0
- package/lib/manifest/definitions/list-view.js +25 -0
- package/lib/manifest/definitions/list-view.js.map +1 -0
- package/lib/manifest/definitions/list-view.mjs +22 -0
- package/lib/manifest/definitions/list-view.mjs.map +1 -0
- package/lib/manifest/definitions/object-search-config.d.mts +13 -0
- package/lib/manifest/definitions/object-search-config.d.mts.map +1 -0
- package/lib/manifest/definitions/object-search-config.d.ts +13 -0
- package/lib/manifest/definitions/object-search-config.d.ts.map +1 -0
- package/lib/manifest/definitions/object-search-config.js +25 -0
- package/lib/manifest/definitions/object-search-config.js.map +1 -0
- package/lib/manifest/definitions/object-search-config.mjs +22 -0
- package/lib/manifest/definitions/object-search-config.mjs.map +1 -0
- package/lib/manifest/definitions/object-settings.d.mts +24 -0
- package/lib/manifest/definitions/object-settings.d.mts.map +1 -0
- package/lib/manifest/definitions/object-settings.d.ts +24 -0
- package/lib/manifest/definitions/object-settings.d.ts.map +1 -0
- package/lib/manifest/definitions/object-settings.js +32 -0
- package/lib/manifest/definitions/object-settings.js.map +1 -0
- package/lib/manifest/definitions/object-settings.mjs +29 -0
- package/lib/manifest/definitions/object-settings.mjs.map +1 -0
- package/lib/manifest/definitions/page-layout.d.mts +21 -0
- package/lib/manifest/definitions/page-layout.d.mts.map +1 -0
- package/lib/manifest/definitions/page-layout.d.ts +21 -0
- package/lib/manifest/definitions/page-layout.d.ts.map +1 -0
- package/lib/manifest/definitions/page-layout.js +155 -0
- package/lib/manifest/definitions/page-layout.js.map +1 -0
- package/lib/manifest/definitions/page-layout.mjs +152 -0
- package/lib/manifest/definitions/page-layout.mjs.map +1 -0
- package/lib/manifest/definitions/page.d.mts +8 -0
- package/lib/manifest/definitions/page.d.mts.map +1 -0
- package/lib/manifest/definitions/page.d.ts +8 -0
- package/lib/manifest/definitions/page.d.ts.map +1 -0
- package/lib/manifest/definitions/page.js +15 -0
- package/lib/manifest/definitions/page.js.map +1 -0
- package/lib/manifest/definitions/page.mjs +12 -0
- package/lib/manifest/definitions/page.mjs.map +1 -0
- package/lib/manifest/definitions/record-triggered-flow.d.mts +24 -0
- package/lib/manifest/definitions/record-triggered-flow.d.mts.map +1 -0
- package/lib/manifest/definitions/record-triggered-flow.d.ts +24 -0
- package/lib/manifest/definitions/record-triggered-flow.d.ts.map +1 -0
- package/lib/manifest/definitions/record-triggered-flow.js +28 -0
- package/lib/manifest/definitions/record-triggered-flow.js.map +1 -0
- package/lib/manifest/definitions/record-triggered-flow.mjs +25 -0
- package/lib/manifest/definitions/record-triggered-flow.mjs.map +1 -0
- package/lib/manifest/definitions/validation.d.mts +8 -0
- package/lib/manifest/definitions/validation.d.mts.map +1 -0
- package/lib/manifest/definitions/validation.d.ts +8 -0
- package/lib/manifest/definitions/validation.d.ts.map +1 -0
- package/lib/manifest/definitions/validation.js +24 -0
- package/lib/manifest/definitions/validation.js.map +1 -0
- package/lib/manifest/definitions/validation.mjs +21 -0
- package/lib/manifest/definitions/validation.mjs.map +1 -0
- package/lib/manifest/definitions/workflow.d.mts +10 -0
- package/lib/manifest/definitions/workflow.d.mts.map +1 -0
- package/lib/manifest/definitions/workflow.d.ts +10 -0
- package/lib/manifest/definitions/workflow.d.ts.map +1 -0
- package/lib/manifest/definitions/workflow.js +33 -0
- package/lib/manifest/definitions/workflow.js.map +1 -0
- package/lib/manifest/definitions/workflow.mjs +29 -0
- package/lib/manifest/definitions/workflow.mjs.map +1 -0
- package/lib/manifest/index.d.mts +3 -0
- package/lib/manifest/index.d.mts.map +1 -1
- package/lib/manifest/index.d.ts +3 -0
- package/lib/manifest/index.d.ts.map +1 -1
- package/lib/manifest/index.js +4 -0
- package/lib/manifest/index.js.map +1 -1
- package/lib/manifest/index.mjs +3 -0
- package/lib/manifest/index.mjs.map +1 -1
- package/lib/manifest/package-manifest.d.mts +17 -0
- package/lib/manifest/package-manifest.d.mts.map +1 -0
- package/lib/manifest/package-manifest.d.ts +17 -0
- package/lib/manifest/package-manifest.d.ts.map +1 -0
- package/lib/manifest/package-manifest.js +26 -0
- package/lib/manifest/package-manifest.js.map +1 -0
- package/lib/manifest/package-manifest.mjs +23 -0
- package/lib/manifest/package-manifest.mjs.map +1 -0
- package/package.json +4 -2
- package/resources/index.d.mts +1 -0
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +1 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +4 -2
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/reimbursements.d.mts +1 -1
- package/resources/reimbursements.d.ts +1 -1
- package/resources/reimbursements.js +1 -1
- package/resources/reimbursements.mjs +1 -1
- package/resources/spend-categories.d.mts +140 -0
- package/resources/spend-categories.d.mts.map +1 -0
- package/resources/spend-categories.d.ts +140 -0
- package/resources/spend-categories.d.ts.map +1 -0
- package/resources/spend-categories.js +83 -0
- package/resources/spend-categories.js.map +1 -0
- package/resources/spend-categories.mjs +79 -0
- package/resources/spend-categories.mjs.map +1 -0
- package/src/client.ts +41 -0
- package/src/index.ts +17 -0
- package/src/lib/charts/README.md +35 -28
- package/src/lib/charts/agent-reference.md +73 -0
- package/src/lib/charts/builders.ts +51 -35
- package/src/lib/charts/capabilities.json +96 -0
- package/src/lib/charts/describe.ts +31 -29
- package/src/lib/charts/errors.ts +2 -6
- package/src/lib/charts/evaluate.ts +25 -38
- package/src/lib/charts/schema.ts +232 -66
- package/src/lib/charts/types.ts +42 -31
- package/src/lib/charts/visualization-grammar.ts +67 -0
- package/src/lib/charts/vocabulary.ts +7 -0
- package/src/lib/charts.ts +8 -1
- package/src/lib/manifest/composition.ts +133 -0
- package/src/lib/manifest/definitions/README.md +89 -0
- package/src/lib/manifest/definitions/_object-records.ts +218 -0
- package/src/lib/manifest/definitions/action.ts +31 -0
- package/src/lib/manifest/definitions/agent.ts +149 -0
- package/src/lib/manifest/definitions/app.ts +12 -0
- package/src/lib/manifest/definitions/category.ts +35 -0
- package/src/lib/manifest/definitions/component.ts +241 -0
- package/src/lib/manifest/definitions/custom-field-section.ts +39 -0
- package/src/lib/manifest/definitions/custom-field.ts +32 -0
- package/src/lib/manifest/definitions/custom-object.ts +786 -0
- package/src/lib/manifest/definitions/custom-skill.ts +28 -0
- package/src/lib/manifest/definitions/field-section.ts +31 -0
- package/src/lib/manifest/definitions/field.ts +119 -0
- package/src/lib/manifest/definitions/function.ts +198 -0
- package/src/lib/manifest/definitions/index.ts +91 -0
- package/src/lib/manifest/definitions/list-view.ts +48 -0
- package/src/lib/manifest/definitions/object-search-config.ts +44 -0
- package/src/lib/manifest/definitions/object-settings.ts +61 -0
- package/src/lib/manifest/definitions/page-layout.ts +218 -0
- package/src/lib/manifest/definitions/page.ts +28 -0
- package/src/lib/manifest/definitions/record-triggered-flow.ts +71 -0
- package/src/lib/manifest/definitions/validation.ts +46 -0
- package/src/lib/manifest/definitions/workflow.ts +62 -0
- package/src/lib/manifest/index.ts +4 -0
- package/src/lib/manifest/package-manifest.ts +40 -0
- package/src/resources/index.ts +7 -0
- package/src/resources/reimbursements.ts +1 -1
- package/src/resources/spend-categories.ts +175 -0
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/lib/charts/guards.d.mts +0 -15
- package/lib/charts/guards.d.mts.map +0 -1
- package/lib/charts/guards.d.ts +0 -15
- package/lib/charts/guards.d.ts.map +0 -1
- package/lib/charts/guards.js +0 -38
- package/lib/charts/guards.js.map +0 -1
- package/lib/charts/guards.mjs +0 -34
- package/lib/charts/guards.mjs.map +0 -1
- package/src/lib/charts/guards.ts +0 -42
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Runtime constants shared by the schema, capability manifest, and types. */
|
|
2
|
+
export declare const EQUALITY_COMPARISON_KINDS: readonly ["equals", "isNot"];
|
|
3
|
+
export declare const NUMERIC_COMPARISON_KINDS: readonly ["lessThan", "greaterThan", "lessOrEqual", "greaterOrEqual"];
|
|
4
|
+
export declare const COMPARISON_KINDS: readonly ["equals", "isNot", "lessThan", "greaterThan", "lessOrEqual", "greaterOrEqual"];
|
|
5
|
+
export declare const RULE_NODE_KINDS: readonly ["literal", "value", "equals", "isNot", "lessThan", "greaterThan", "lessOrEqual", "greaterOrEqual", "ifElse"];
|
|
6
|
+
export declare const RULE_CHANNELS: readonly ["color"];
|
|
7
|
+
//# sourceMappingURL=vocabulary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../../src/lib/charts/vocabulary.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB,8BAA+B,CAAC;AACtE,eAAO,MAAM,wBAAwB,uEAAwE,CAAC;AAC9G,eAAO,MAAM,gBAAgB,0FAAuE,CAAC;AAErG,eAAO,MAAM,eAAe,wHAA+D,CAAC;AAC5F,eAAO,MAAM,aAAa,oBAAqB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RULE_CHANNELS = exports.RULE_NODE_KINDS = exports.COMPARISON_KINDS = exports.NUMERIC_COMPARISON_KINDS = exports.EQUALITY_COMPARISON_KINDS = void 0;
|
|
4
|
+
/** Runtime constants shared by the schema, capability manifest, and types. */
|
|
5
|
+
exports.EQUALITY_COMPARISON_KINDS = ['equals', 'isNot'];
|
|
6
|
+
exports.NUMERIC_COMPARISON_KINDS = ['lessThan', 'greaterThan', 'lessOrEqual', 'greaterOrEqual'];
|
|
7
|
+
exports.COMPARISON_KINDS = [...exports.EQUALITY_COMPARISON_KINDS, ...exports.NUMERIC_COMPARISON_KINDS];
|
|
8
|
+
exports.RULE_NODE_KINDS = ['literal', 'value', ...exports.COMPARISON_KINDS, 'ifElse'];
|
|
9
|
+
exports.RULE_CHANNELS = ['color'];
|
|
10
|
+
//# sourceMappingURL=vocabulary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../src/lib/charts/vocabulary.ts"],"names":[],"mappings":";;;AAAA,8EAA8E;AACjE,QAAA,yBAAyB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AACzD,QAAA,wBAAwB,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAU,CAAC;AACjG,QAAA,gBAAgB,GAAG,CAAC,GAAG,iCAAyB,EAAE,GAAG,gCAAwB,CAAU,CAAC;AAExF,QAAA,eAAe,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,wBAAgB,EAAE,QAAQ,CAAU,CAAC;AAC/E,QAAA,aAAa,GAAG,CAAC,OAAO,CAAU,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Runtime constants shared by the schema, capability manifest, and types. */
|
|
2
|
+
export const EQUALITY_COMPARISON_KINDS = ['equals', 'isNot'];
|
|
3
|
+
export const NUMERIC_COMPARISON_KINDS = ['lessThan', 'greaterThan', 'lessOrEqual', 'greaterOrEqual'];
|
|
4
|
+
export const COMPARISON_KINDS = [...EQUALITY_COMPARISON_KINDS, ...NUMERIC_COMPARISON_KINDS];
|
|
5
|
+
export const RULE_NODE_KINDS = ['literal', 'value', ...COMPARISON_KINDS, 'ifElse'];
|
|
6
|
+
export const RULE_CHANNELS = ['color'];
|
|
7
|
+
//# sourceMappingURL=vocabulary.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.mjs","sourceRoot":"","sources":["../../src/lib/charts/vocabulary.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAU,CAAC;AAC9G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,yBAAyB,EAAE,GAAG,wBAAwB,CAAU,CAAC;AAErG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,QAAQ,CAAU,CAAC;AAC5F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,CAAU,CAAC"}
|
package/lib/charts.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { color, equals, greaterOrEqual, greaterThan, isNot, isRulePlaceholder, lessOrEqual, lessThan, literal, value, when, type Operand, } from "./charts/builders.mjs";
|
|
1
|
+
export { color, equals, greaterOrEqual, greaterThan, isNot, isRulePlaceholder, lessOrEqual, lessThan, literal, value, when, type NumericOperand, type Operand, } from "./charts/builders.mjs";
|
|
2
2
|
export { evaluate } from "./charts/evaluate.mjs";
|
|
3
3
|
export { describe } from "./charts/describe.mjs";
|
|
4
|
-
export { chartRuleSchema, CHART_RULE_SCHEMA_ID } from "./charts/schema.mjs";
|
|
4
|
+
export { chartRuleSchema, CHART_RULE_SCHEMA_ID, parseChartRule } from "./charts/schema.mjs";
|
|
5
5
|
export { ChartRuleError, MalformedRuleError, RuleDepthError, RuleTypeError, UnknownNodeError, } from "./charts/errors.mjs";
|
|
6
|
-
export { CHART_RULE_CONTRACT_VERSION, MAX_RULE_DEPTH, type ChartRuleContractVersion, type ComparisonKind, type ComparisonNode, type Control, type ControlRole, type IfElseNode, type LiteralNode, type RefNode, type Rule, type RuleChannel, type RuleContext, type RuleNode, type RulePlaceholder, type RuleValue, type Scalar, } from "./charts/types.mjs";
|
|
6
|
+
export { CHART_RULE_CONTRACT_VERSION, MAX_RULE_DEPTH, type ChartRuleContractVersion, type ComparisonKind, type ComparisonNode, type ComparisonOperandNode, type ConditionNode, type Control, type ControlRole, type EqualityComparisonNode, type IfElseNode, type LiteralNode, type NumericComparisonNode, type NumericOperandNode, type ParsedRule, type RefNode, type Rule, type RuleChannel, type RuleContext, type RuleNode, type RulePlaceholder, type RuleValue, type Scalar, } from "./charts/types.mjs";
|
|
7
7
|
//# sourceMappingURL=charts.d.mts.map
|
package/lib/charts.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.d.mts","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,OAAO,GACb,8BAA0B;AAC3B,OAAO,EAAE,QAAQ,EAAE,8BAA0B;AAC7C,OAAO,EAAE,QAAQ,EAAE,8BAA0B;AAC7C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,4BAAwB;
|
|
1
|
+
{"version":3,"file":"charts.d.mts","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,cAAc,EACnB,KAAK,OAAO,GACb,8BAA0B;AAC3B,OAAO,EAAE,QAAQ,EAAE,8BAA0B;AAC7C,OAAO,EAAE,QAAQ,EAAE,8BAA0B;AAC7C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,4BAAwB;AACxF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,4BAAwB;AACzB,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,GACZ,2BAAuB"}
|
package/lib/charts.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { color, equals, greaterOrEqual, greaterThan, isNot, isRulePlaceholder, lessOrEqual, lessThan, literal, value, when, type Operand, } from "./charts/builders.js";
|
|
1
|
+
export { color, equals, greaterOrEqual, greaterThan, isNot, isRulePlaceholder, lessOrEqual, lessThan, literal, value, when, type NumericOperand, type Operand, } from "./charts/builders.js";
|
|
2
2
|
export { evaluate } from "./charts/evaluate.js";
|
|
3
3
|
export { describe } from "./charts/describe.js";
|
|
4
|
-
export { chartRuleSchema, CHART_RULE_SCHEMA_ID } from "./charts/schema.js";
|
|
4
|
+
export { chartRuleSchema, CHART_RULE_SCHEMA_ID, parseChartRule } from "./charts/schema.js";
|
|
5
5
|
export { ChartRuleError, MalformedRuleError, RuleDepthError, RuleTypeError, UnknownNodeError, } from "./charts/errors.js";
|
|
6
|
-
export { CHART_RULE_CONTRACT_VERSION, MAX_RULE_DEPTH, type ChartRuleContractVersion, type ComparisonKind, type ComparisonNode, type Control, type ControlRole, type IfElseNode, type LiteralNode, type RefNode, type Rule, type RuleChannel, type RuleContext, type RuleNode, type RulePlaceholder, type RuleValue, type Scalar, } from "./charts/types.js";
|
|
6
|
+
export { CHART_RULE_CONTRACT_VERSION, MAX_RULE_DEPTH, type ChartRuleContractVersion, type ComparisonKind, type ComparisonNode, type ComparisonOperandNode, type ConditionNode, type Control, type ControlRole, type EqualityComparisonNode, type IfElseNode, type LiteralNode, type NumericComparisonNode, type NumericOperandNode, type ParsedRule, type RefNode, type Rule, type RuleChannel, type RuleContext, type RuleNode, type RulePlaceholder, type RuleValue, type Scalar, } from "./charts/types.js";
|
|
7
7
|
//# sourceMappingURL=charts.d.ts.map
|
package/lib/charts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,OAAO,GACb,6BAA0B;AAC3B,OAAO,EAAE,QAAQ,EAAE,6BAA0B;AAC7C,OAAO,EAAE,QAAQ,EAAE,6BAA0B;AAC7C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,2BAAwB;
|
|
1
|
+
{"version":3,"file":"charts.d.ts","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,cAAc,EACnB,KAAK,OAAO,GACb,6BAA0B;AAC3B,OAAO,EAAE,QAAQ,EAAE,6BAA0B;AAC7C,OAAO,EAAE,QAAQ,EAAE,6BAA0B;AAC7C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,2BAAwB;AACxF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,2BAAwB;AACzB,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,GACZ,0BAAuB"}
|
package/lib/charts.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MAX_RULE_DEPTH = exports.CHART_RULE_CONTRACT_VERSION = exports.UnknownNodeError = exports.RuleTypeError = exports.RuleDepthError = exports.MalformedRuleError = exports.ChartRuleError = exports.CHART_RULE_SCHEMA_ID = exports.chartRuleSchema = exports.describe = exports.evaluate = exports.when = exports.value = exports.literal = exports.lessThan = exports.lessOrEqual = exports.isRulePlaceholder = exports.isNot = exports.greaterThan = exports.greaterOrEqual = exports.equals = exports.color = void 0;
|
|
3
|
+
exports.MAX_RULE_DEPTH = exports.CHART_RULE_CONTRACT_VERSION = exports.UnknownNodeError = exports.RuleTypeError = exports.RuleDepthError = exports.MalformedRuleError = exports.ChartRuleError = exports.parseChartRule = exports.CHART_RULE_SCHEMA_ID = exports.chartRuleSchema = exports.describe = exports.evaluate = exports.when = exports.value = exports.literal = exports.lessThan = exports.lessOrEqual = exports.isRulePlaceholder = exports.isNot = exports.greaterThan = exports.greaterOrEqual = exports.equals = exports.color = void 0;
|
|
4
4
|
var builders_1 = require("./charts/builders.js");
|
|
5
5
|
Object.defineProperty(exports, "color", { enumerable: true, get: function () { return builders_1.color; } });
|
|
6
6
|
Object.defineProperty(exports, "equals", { enumerable: true, get: function () { return builders_1.equals; } });
|
|
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "describe", { enumerable: true, get: function ()
|
|
|
20
20
|
var schema_1 = require("./charts/schema.js");
|
|
21
21
|
Object.defineProperty(exports, "chartRuleSchema", { enumerable: true, get: function () { return schema_1.chartRuleSchema; } });
|
|
22
22
|
Object.defineProperty(exports, "CHART_RULE_SCHEMA_ID", { enumerable: true, get: function () { return schema_1.CHART_RULE_SCHEMA_ID; } });
|
|
23
|
+
Object.defineProperty(exports, "parseChartRule", { enumerable: true, get: function () { return schema_1.parseChartRule; } });
|
|
23
24
|
var errors_1 = require("./charts/errors.js");
|
|
24
25
|
Object.defineProperty(exports, "ChartRuleError", { enumerable: true, get: function () { return errors_1.ChartRuleError; } });
|
|
25
26
|
Object.defineProperty(exports, "MalformedRuleError", { enumerable: true, get: function () { return errors_1.MalformedRuleError; } });
|
package/lib/charts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.js","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"charts.js","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":";;;AAAA,iDAc2B;AAbzB,iGAAA,KAAK,OAAA;AACL,kGAAA,MAAM,OAAA;AACN,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,iGAAA,KAAK,OAAA;AACL,6GAAA,iBAAiB,OAAA;AACjB,uGAAA,WAAW,OAAA;AACX,oGAAA,QAAQ,OAAA;AACR,mGAAA,OAAO,OAAA;AACP,iGAAA,KAAK,OAAA;AACL,gGAAA,IAAI,OAAA;AAIN,iDAA6C;AAApC,oGAAA,QAAQ,OAAA;AACjB,iDAA6C;AAApC,oGAAA,QAAQ,OAAA;AACjB,6CAAwF;AAA/E,yGAAA,eAAe,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAAE,wGAAA,cAAc,OAAA;AAC9D,6CAMyB;AALvB,wGAAA,cAAc,OAAA;AACd,4GAAA,kBAAkB,OAAA;AAClB,wGAAA,cAAc,OAAA;AACd,uGAAA,aAAa,OAAA;AACb,0GAAA,gBAAgB,OAAA;AAElB,2CAwBwB;AAvBtB,oHAAA,2BAA2B,OAAA;AAC3B,uGAAA,cAAc,OAAA"}
|
package/lib/charts.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { color, equals, greaterOrEqual, greaterThan, isNot, isRulePlaceholder, lessOrEqual, lessThan, literal, value, when, } from "./charts/builders.mjs";
|
|
2
2
|
export { evaluate } from "./charts/evaluate.mjs";
|
|
3
3
|
export { describe } from "./charts/describe.mjs";
|
|
4
|
-
export { chartRuleSchema, CHART_RULE_SCHEMA_ID } from "./charts/schema.mjs";
|
|
4
|
+
export { chartRuleSchema, CHART_RULE_SCHEMA_ID, parseChartRule } from "./charts/schema.mjs";
|
|
5
5
|
export { ChartRuleError, MalformedRuleError, RuleDepthError, RuleTypeError, UnknownNodeError, } from "./charts/errors.mjs";
|
|
6
6
|
export { CHART_RULE_CONTRACT_VERSION, MAX_RULE_DEPTH, } from "./charts/types.mjs";
|
|
7
7
|
//# sourceMappingURL=charts.mjs.map
|
package/lib/charts.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.mjs","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,
|
|
1
|
+
{"version":3,"file":"charts.mjs","sourceRoot":"","sources":["../src/lib/charts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,GAGL,8BAA0B;AAC3B,OAAO,EAAE,QAAQ,EAAE,8BAA0B;AAC7C,OAAO,EAAE,QAAQ,EAAE,8BAA0B;AAC7C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,cAAc,EAAE,4BAAwB;AACxF,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,GACjB,4BAAwB;AACzB,OAAO,EACL,2BAA2B,EAC3B,cAAc,GAsBf,2BAAuB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BuiltManifest } from "./manifest-builder.mjs";
|
|
2
|
+
import { type MetadataEntry } from "./definitions/component.mjs";
|
|
3
|
+
declare const manifestBuilds: unique symbol;
|
|
4
|
+
type DeferredBuild = {
|
|
5
|
+
readonly index: number;
|
|
6
|
+
readonly entry: MetadataEntry;
|
|
7
|
+
};
|
|
8
|
+
/** Compose new definitions; legacy ManifestBuilder remains an independent authoring flow. */
|
|
9
|
+
export type ManifestInput = object;
|
|
10
|
+
export interface DefineManifestOptions {
|
|
11
|
+
components: readonly ManifestInput[];
|
|
12
|
+
}
|
|
13
|
+
export interface ManifestDefinition extends BuiltManifest {
|
|
14
|
+
readonly [manifestBuilds]?: readonly DeferredBuild[];
|
|
15
|
+
}
|
|
16
|
+
/** Run the build hooks supplied by component implementations, preserving the metadata JSON contract. */
|
|
17
|
+
export declare function compileManifest(definition: Readonly<ManifestDefinition>, bundle: (entrypoint: URL) => Promise<string>): Promise<Readonly<ManifestDefinition>>;
|
|
18
|
+
/** Collect references, then compile batches. Component-specific behavior lives in definitions/. */
|
|
19
|
+
export declare function defineManifest(options: DefineManifestOptions): Readonly<ManifestDefinition>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=composition.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/composition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,+BAA2B;AACxD,OAAO,EAIL,KAAK,aAAa,EACnB,oCAAgC;AAGjC,QAAA,MAAM,cAAc,eAA8C,CAAC;AACnE,KAAK,aAAa,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAE/E,6FAA6F;AAC7F,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACtD;AAED,wGAAwG;AACxG,wBAAsB,eAAe,CACnC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACxC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CASvC;AAUD,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CA6E3F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BuiltManifest } from "./manifest-builder.js";
|
|
2
|
+
import { type MetadataEntry } from "./definitions/component.js";
|
|
3
|
+
declare const manifestBuilds: unique symbol;
|
|
4
|
+
type DeferredBuild = {
|
|
5
|
+
readonly index: number;
|
|
6
|
+
readonly entry: MetadataEntry;
|
|
7
|
+
};
|
|
8
|
+
/** Compose new definitions; legacy ManifestBuilder remains an independent authoring flow. */
|
|
9
|
+
export type ManifestInput = object;
|
|
10
|
+
export interface DefineManifestOptions {
|
|
11
|
+
components: readonly ManifestInput[];
|
|
12
|
+
}
|
|
13
|
+
export interface ManifestDefinition extends BuiltManifest {
|
|
14
|
+
readonly [manifestBuilds]?: readonly DeferredBuild[];
|
|
15
|
+
}
|
|
16
|
+
/** Run the build hooks supplied by component implementations, preserving the metadata JSON contract. */
|
|
17
|
+
export declare function compileManifest(definition: Readonly<ManifestDefinition>, bundle: (entrypoint: URL) => Promise<string>): Promise<Readonly<ManifestDefinition>>;
|
|
18
|
+
/** Collect references, then compile batches. Component-specific behavior lives in definitions/. */
|
|
19
|
+
export declare function defineManifest(options: DefineManifestOptions): Readonly<ManifestDefinition>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=composition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/composition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA2B;AACxD,OAAO,EAIL,KAAK,aAAa,EACnB,mCAAgC;AAGjC,QAAA,MAAM,cAAc,eAA8C,CAAC;AACnE,KAAK,aAAa,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAE/E,6FAA6F;AAC7F,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACtD;AAED,wGAAwG;AACxG,wBAAsB,eAAe,CACnC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACxC,MAAM,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,GAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CASvC;AAUD,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CA6E3F"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compileManifest = compileManifest;
|
|
4
|
+
exports.defineManifest = defineManifest;
|
|
5
|
+
const component_1 = require("./definitions/component.js");
|
|
6
|
+
// Existing CLI loaders use this stable marker to request deferred source compilation.
|
|
7
|
+
const manifestBuilds = Symbol.for('@rippling/sdk/package-sources');
|
|
8
|
+
/** Run the build hooks supplied by component implementations, preserving the metadata JSON contract. */
|
|
9
|
+
async function compileManifest(definition, bundle) {
|
|
10
|
+
const builds = definition[manifestBuilds] ?? [];
|
|
11
|
+
if (builds.length === 0)
|
|
12
|
+
return definition;
|
|
13
|
+
const compiled = JSON.parse(JSON.stringify({ ...definition }));
|
|
14
|
+
for (const { index, entry } of builds) {
|
|
15
|
+
const config = await entry.build({ bundle });
|
|
16
|
+
compiled.components[index] = JSON.parse(JSON.stringify(config));
|
|
17
|
+
}
|
|
18
|
+
return freezeManifest(compiled);
|
|
19
|
+
}
|
|
20
|
+
function canonicalJson(value) {
|
|
21
|
+
return JSON.stringify(value, (_key, item) => item != null && typeof item === 'object' && !Array.isArray(item) ?
|
|
22
|
+
Object.fromEntries(Object.entries(item).sort(([left], [right]) => left.localeCompare(right)))
|
|
23
|
+
: item);
|
|
24
|
+
}
|
|
25
|
+
/** Collect references, then compile batches. Component-specific behavior lives in definitions/. */
|
|
26
|
+
function defineManifest(options) {
|
|
27
|
+
const definitions = [];
|
|
28
|
+
const visited = new Set();
|
|
29
|
+
const batches = new Map();
|
|
30
|
+
const entries = [];
|
|
31
|
+
const visit = (definition) => {
|
|
32
|
+
if (visited.has(definition))
|
|
33
|
+
return;
|
|
34
|
+
visited.add(definition);
|
|
35
|
+
const registered = (0, component_1.registeredComponent)(definition);
|
|
36
|
+
if (registered != null) {
|
|
37
|
+
definitions.push(definition);
|
|
38
|
+
for (const dependency of registered.references())
|
|
39
|
+
visit(dependency);
|
|
40
|
+
const implementation = registered.implementation;
|
|
41
|
+
const batch = batches.get(implementation.batchKey) ?? { implementation, definitions: [] };
|
|
42
|
+
batch.definitions.push(definition);
|
|
43
|
+
batches.set(implementation.batchKey, batch);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
throw new Error('Use defineX helpers in defineManifest; existing constructors belong in ManifestBuilder.');
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
options.components.forEach(visit);
|
|
50
|
+
const context = { definitions };
|
|
51
|
+
for (const batch of batches.values()) {
|
|
52
|
+
for (const output of batch.implementation.compileBatch(batch.definitions, context))
|
|
53
|
+
entries.push('type' in output ? { config: output } : output);
|
|
54
|
+
}
|
|
55
|
+
const snapshots = JSON.parse(JSON.stringify(entries.map((entry) => entry.config)));
|
|
56
|
+
const unique = new Map();
|
|
57
|
+
for (const [index, config] of snapshots.entries()) {
|
|
58
|
+
const entry = entries[index];
|
|
59
|
+
const key = (0, component_1.entryKey)(entry);
|
|
60
|
+
const existing = unique.get(key);
|
|
61
|
+
if (existing != null) {
|
|
62
|
+
for (const parent of ['model_name', 'model_rql_name', 'object_rql_name']) {
|
|
63
|
+
if (existing.config[parent] !== config[parent])
|
|
64
|
+
throw new Error(`Conflicting manifest component ${key}: apiName must be unique across objects.`);
|
|
65
|
+
}
|
|
66
|
+
if (entry.fallback && !existing.entry.fallback)
|
|
67
|
+
continue;
|
|
68
|
+
if (!entry.fallback && existing.entry.fallback) {
|
|
69
|
+
unique.set(key, { config, entry });
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
if (canonicalJson(existing.config) !== canonicalJson(config))
|
|
73
|
+
throw new Error(`Conflicting manifest component ${key}`);
|
|
74
|
+
if (existing.entry.build != null && entry.build != null && existing.entry.buildKey !== entry.buildKey)
|
|
75
|
+
throw new Error(`Conflicting manifest source ${key}`);
|
|
76
|
+
if (entry.build == null && existing.entry.build != null)
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
unique.set(key, { config, entry });
|
|
80
|
+
}
|
|
81
|
+
const builds = [...unique.values()].flatMap(({ entry }, index) => entry.build == null ? [] : [{ index, entry }]);
|
|
82
|
+
const manifest = {
|
|
83
|
+
metadata: {},
|
|
84
|
+
components: [...unique.values()].map(({ config }) => config),
|
|
85
|
+
};
|
|
86
|
+
if (builds.length > 0) {
|
|
87
|
+
Object.defineProperty(manifest, manifestBuilds, { value: Object.freeze(builds) });
|
|
88
|
+
Object.defineProperty(manifest, 'toJSON', {
|
|
89
|
+
value() {
|
|
90
|
+
throw new Error('Manifest source entrypoints must be compiled before JSON export. Use rippling project export or compileManifest.');
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return freezeManifest(manifest);
|
|
95
|
+
}
|
|
96
|
+
function freezeManifest(value) {
|
|
97
|
+
if (value != null && typeof value === 'object') {
|
|
98
|
+
Object.values(value).forEach(freezeManifest);
|
|
99
|
+
Object.freeze(value);
|
|
100
|
+
}
|
|
101
|
+
return value;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=composition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/lib/manifest/composition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { registeredComponent, entryKey, } from "./definitions/component.mjs";
|
|
2
|
+
// Existing CLI loaders use this stable marker to request deferred source compilation.
|
|
3
|
+
const manifestBuilds = Symbol.for('@rippling/sdk/package-sources');
|
|
4
|
+
/** Run the build hooks supplied by component implementations, preserving the metadata JSON contract. */
|
|
5
|
+
export async function compileManifest(definition, bundle) {
|
|
6
|
+
const builds = definition[manifestBuilds] ?? [];
|
|
7
|
+
if (builds.length === 0)
|
|
8
|
+
return definition;
|
|
9
|
+
const compiled = JSON.parse(JSON.stringify({ ...definition }));
|
|
10
|
+
for (const { index, entry } of builds) {
|
|
11
|
+
const config = await entry.build({ bundle });
|
|
12
|
+
compiled.components[index] = JSON.parse(JSON.stringify(config));
|
|
13
|
+
}
|
|
14
|
+
return freezeManifest(compiled);
|
|
15
|
+
}
|
|
16
|
+
function canonicalJson(value) {
|
|
17
|
+
return JSON.stringify(value, (_key, item) => item != null && typeof item === 'object' && !Array.isArray(item) ?
|
|
18
|
+
Object.fromEntries(Object.entries(item).sort(([left], [right]) => left.localeCompare(right)))
|
|
19
|
+
: item);
|
|
20
|
+
}
|
|
21
|
+
/** Collect references, then compile batches. Component-specific behavior lives in definitions/. */
|
|
22
|
+
export function defineManifest(options) {
|
|
23
|
+
const definitions = [];
|
|
24
|
+
const visited = new Set();
|
|
25
|
+
const batches = new Map();
|
|
26
|
+
const entries = [];
|
|
27
|
+
const visit = (definition) => {
|
|
28
|
+
if (visited.has(definition))
|
|
29
|
+
return;
|
|
30
|
+
visited.add(definition);
|
|
31
|
+
const registered = registeredComponent(definition);
|
|
32
|
+
if (registered != null) {
|
|
33
|
+
definitions.push(definition);
|
|
34
|
+
for (const dependency of registered.references())
|
|
35
|
+
visit(dependency);
|
|
36
|
+
const implementation = registered.implementation;
|
|
37
|
+
const batch = batches.get(implementation.batchKey) ?? { implementation, definitions: [] };
|
|
38
|
+
batch.definitions.push(definition);
|
|
39
|
+
batches.set(implementation.batchKey, batch);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
throw new Error('Use defineX helpers in defineManifest; existing constructors belong in ManifestBuilder.');
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
options.components.forEach(visit);
|
|
46
|
+
const context = { definitions };
|
|
47
|
+
for (const batch of batches.values()) {
|
|
48
|
+
for (const output of batch.implementation.compileBatch(batch.definitions, context))
|
|
49
|
+
entries.push('type' in output ? { config: output } : output);
|
|
50
|
+
}
|
|
51
|
+
const snapshots = JSON.parse(JSON.stringify(entries.map((entry) => entry.config)));
|
|
52
|
+
const unique = new Map();
|
|
53
|
+
for (const [index, config] of snapshots.entries()) {
|
|
54
|
+
const entry = entries[index];
|
|
55
|
+
const key = entryKey(entry);
|
|
56
|
+
const existing = unique.get(key);
|
|
57
|
+
if (existing != null) {
|
|
58
|
+
for (const parent of ['model_name', 'model_rql_name', 'object_rql_name']) {
|
|
59
|
+
if (existing.config[parent] !== config[parent])
|
|
60
|
+
throw new Error(`Conflicting manifest component ${key}: apiName must be unique across objects.`);
|
|
61
|
+
}
|
|
62
|
+
if (entry.fallback && !existing.entry.fallback)
|
|
63
|
+
continue;
|
|
64
|
+
if (!entry.fallback && existing.entry.fallback) {
|
|
65
|
+
unique.set(key, { config, entry });
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (canonicalJson(existing.config) !== canonicalJson(config))
|
|
69
|
+
throw new Error(`Conflicting manifest component ${key}`);
|
|
70
|
+
if (existing.entry.build != null && entry.build != null && existing.entry.buildKey !== entry.buildKey)
|
|
71
|
+
throw new Error(`Conflicting manifest source ${key}`);
|
|
72
|
+
if (entry.build == null && existing.entry.build != null)
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
unique.set(key, { config, entry });
|
|
76
|
+
}
|
|
77
|
+
const builds = [...unique.values()].flatMap(({ entry }, index) => entry.build == null ? [] : [{ index, entry }]);
|
|
78
|
+
const manifest = {
|
|
79
|
+
metadata: {},
|
|
80
|
+
components: [...unique.values()].map(({ config }) => config),
|
|
81
|
+
};
|
|
82
|
+
if (builds.length > 0) {
|
|
83
|
+
Object.defineProperty(manifest, manifestBuilds, { value: Object.freeze(builds) });
|
|
84
|
+
Object.defineProperty(manifest, 'toJSON', {
|
|
85
|
+
value() {
|
|
86
|
+
throw new Error('Manifest source entrypoints must be compiled before JSON export. Use rippling project export or compileManifest.');
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return freezeManifest(manifest);
|
|
91
|
+
}
|
|
92
|
+
function freezeManifest(value) {
|
|
93
|
+
if (value != null && typeof value === 'object') {
|
|
94
|
+
Object.values(value).forEach(freezeManifest);
|
|
95
|
+
Object.freeze(value);
|
|
96
|
+
}
|
|
97
|
+
return value;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=composition.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.mjs","sourceRoot":"","sources":["../../src/lib/manifest/composition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AnyCustomObjectDefinition, CreateInput, UpdateInput, FieldValue } from "../../../core/platform/custom-objects/types.mjs";
|
|
2
|
+
import type { ObjectRecords } from "./custom-object.mjs";
|
|
3
|
+
type NullableFields<D extends AnyCustomObjectDefinition> = {
|
|
4
|
+
[K in keyof D['fields']]: D['fields'][K] extends {
|
|
5
|
+
writable: true;
|
|
6
|
+
required: false;
|
|
7
|
+
} ? K : never;
|
|
8
|
+
}[keyof D['fields']];
|
|
9
|
+
/** Definition-based writes accept null for writable, non-required custom fields. */
|
|
10
|
+
export type ObjectCreateInput<D extends AnyCustomObjectDefinition> = Omit<CreateInput<D>, NullableFields<D>> & {
|
|
11
|
+
[K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
|
|
12
|
+
};
|
|
13
|
+
export type ObjectUpdateInput<D extends AnyCustomObjectDefinition> = Omit<UpdateInput<D>, NullableFields<D>> & {
|
|
14
|
+
[K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
|
|
15
|
+
};
|
|
16
|
+
export type ObjectBulkUpdateInput<D extends AnyCustomObjectDefinition> = {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
} & ObjectUpdateInput<D>;
|
|
19
|
+
export declare function assertObjectInput(definition: AnyCustomObjectDefinition, input: Record<string, unknown>, operation: 'create' | 'update'): void;
|
|
20
|
+
/** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */
|
|
21
|
+
export declare function createObjectRecords<D extends AnyCustomObjectDefinition>(definition: D): Readonly<ObjectRecords<D>>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=_object-records.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_object-records.d.mts","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/_object-records.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,yBAAyB,EAEzB,WAAW,EACX,WAAW,EACX,UAAU,EAEX,wDAAoD;AAErD,OAAO,KAAK,EAAE,aAAa,EAAwB,4BAAwB;AAE3E,KAAK,cAAc,CAAC,CAAC,SAAS,yBAAyB,IAAI;KACxD,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACjG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErB,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,IAAI;IACvE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAiBzB,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,yBAAyB,EACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAC7B,IAAI,CAGN;AAmFD,8GAA8G;AAC9G,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,yBAAyB,EACrE,UAAU,EAAE,CAAC,GACZ,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAkE5B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AnyCustomObjectDefinition, CreateInput, UpdateInput, FieldValue } from "../../../core/platform/custom-objects/types.js";
|
|
2
|
+
import type { ObjectRecords } from "./custom-object.js";
|
|
3
|
+
type NullableFields<D extends AnyCustomObjectDefinition> = {
|
|
4
|
+
[K in keyof D['fields']]: D['fields'][K] extends {
|
|
5
|
+
writable: true;
|
|
6
|
+
required: false;
|
|
7
|
+
} ? K : never;
|
|
8
|
+
}[keyof D['fields']];
|
|
9
|
+
/** Definition-based writes accept null for writable, non-required custom fields. */
|
|
10
|
+
export type ObjectCreateInput<D extends AnyCustomObjectDefinition> = Omit<CreateInput<D>, NullableFields<D>> & {
|
|
11
|
+
[K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
|
|
12
|
+
};
|
|
13
|
+
export type ObjectUpdateInput<D extends AnyCustomObjectDefinition> = Omit<UpdateInput<D>, NullableFields<D>> & {
|
|
14
|
+
[K in NullableFields<D>]?: FieldValue<D['fields'][K]> | null;
|
|
15
|
+
};
|
|
16
|
+
export type ObjectBulkUpdateInput<D extends AnyCustomObjectDefinition> = {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
} & ObjectUpdateInput<D>;
|
|
19
|
+
export declare function assertObjectInput(definition: AnyCustomObjectDefinition, input: Record<string, unknown>, operation: 'create' | 'update'): void;
|
|
20
|
+
/** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */
|
|
21
|
+
export declare function createObjectRecords<D extends AnyCustomObjectDefinition>(definition: D): Readonly<ObjectRecords<D>>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=_object-records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_object-records.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest/definitions/_object-records.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,yBAAyB,EAEzB,WAAW,EACX,WAAW,EACX,UAAU,EAEX,uDAAoD;AAErD,OAAO,KAAK,EAAE,aAAa,EAAwB,2BAAwB;AAE3E,KAAK,cAAc,CAAC,CAAC,SAAS,yBAAyB,IAAI;KACxD,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACjG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAErB,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,yBAAyB,IAAI,IAAI,CACvE,WAAW,CAAC,CAAC,CAAC,EACd,cAAc,CAAC,CAAC,CAAC,CAClB,GAAG;KACD,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CAC7D,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,yBAAyB,IAAI;IACvE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAiBzB,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,yBAAyB,EACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAC7B,IAAI,CAGN;AAmFD,8GAA8G;AAC9G,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,yBAAyB,EACrE,UAAU,EAAE,CAAC,GACZ,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAkE5B"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertObjectInput = assertObjectInput;
|
|
4
|
+
exports.createObjectRecords = createObjectRecords;
|
|
5
|
+
const manager_1 = require("../../../core/platform/custom-objects/manager.js");
|
|
6
|
+
const validation_1 = require("../../../core/platform/custom-objects/validation.js");
|
|
7
|
+
/** Reuse the existing value checks, excluding only explicitly allowed null custom-field values. */
|
|
8
|
+
function inputIssues(definition, input, operation) {
|
|
9
|
+
if (input == null || typeof input !== 'object' || Array.isArray(input))
|
|
10
|
+
return [{ path: '', message: 'Expected a record object.' }];
|
|
11
|
+
const checked = { ...input };
|
|
12
|
+
for (const [key, field] of Object.entries(definition.fields)) {
|
|
13
|
+
if (field.writable && !field.required && checked[key] === null)
|
|
14
|
+
delete checked[key];
|
|
15
|
+
}
|
|
16
|
+
return (operation === 'create' ? validation_1.validateCreateInput : validation_1.validateUpdateInput)(definition, checked).issues;
|
|
17
|
+
}
|
|
18
|
+
function assertObjectInput(definition, input, operation) {
|
|
19
|
+
const issues = inputIssues(definition, input, operation);
|
|
20
|
+
if (issues.length > 0)
|
|
21
|
+
throw new manager_1.CustomObjectRecordValidationError(definition, operation, issues);
|
|
22
|
+
}
|
|
23
|
+
function referenceID(value) {
|
|
24
|
+
return value != null && typeof value === 'object' && 'id' in value ? value.id : value;
|
|
25
|
+
}
|
|
26
|
+
function serializeInput(definition, input) {
|
|
27
|
+
const wire = {};
|
|
28
|
+
for (const key of ['name', 'external_id', 'owner_role']) {
|
|
29
|
+
if (Object.prototype.hasOwnProperty.call(input, key) && input[key] !== undefined)
|
|
30
|
+
wire[key] = key === 'owner_role' ? referenceID(input[key]) : input[key];
|
|
31
|
+
}
|
|
32
|
+
for (const [key, field] of Object.entries(definition.fields)) {
|
|
33
|
+
if (!Object.prototype.hasOwnProperty.call(input, key) || input[key] === undefined)
|
|
34
|
+
continue;
|
|
35
|
+
wire[field.apiName] =
|
|
36
|
+
field.kind === 'lookup' || field.kind === 'parent-child' || field.kind === 'file' ?
|
|
37
|
+
referenceID(input[key])
|
|
38
|
+
: input[key];
|
|
39
|
+
}
|
|
40
|
+
return wire;
|
|
41
|
+
}
|
|
42
|
+
function lookup(value, apiName) {
|
|
43
|
+
if (typeof value === 'string')
|
|
44
|
+
return { id: value, apiName };
|
|
45
|
+
if (value != null && typeof value === 'object' && 'id' in value && typeof value.id === 'string') {
|
|
46
|
+
return {
|
|
47
|
+
id: value.id,
|
|
48
|
+
apiName: 'apiName' in value && typeof value.apiName === 'string' ? value.apiName : apiName,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
function fieldValue(field, value) {
|
|
54
|
+
if (value == null)
|
|
55
|
+
return null;
|
|
56
|
+
switch (field.kind) {
|
|
57
|
+
case 'lookup':
|
|
58
|
+
case 'parent-child':
|
|
59
|
+
return lookup(value, field.targetApiName ?? 'unknown');
|
|
60
|
+
case 'file':
|
|
61
|
+
return (typeof value === 'string' ? value
|
|
62
|
+
: value != null && typeof value === 'object' && 'id' in value && typeof value.id === 'string' ?
|
|
63
|
+
{ id: value.id }
|
|
64
|
+
: null);
|
|
65
|
+
case 'number':
|
|
66
|
+
case 'currency':
|
|
67
|
+
case 'percentage':
|
|
68
|
+
case 'formula-number':
|
|
69
|
+
case 'formula-currency':
|
|
70
|
+
case 'formula-percentage': {
|
|
71
|
+
const numeric = typeof value === 'number' ? value
|
|
72
|
+
: typeof value === 'string' && /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i.test(value) ?
|
|
73
|
+
Number(value)
|
|
74
|
+
: NaN;
|
|
75
|
+
if (!Number.isFinite(numeric))
|
|
76
|
+
throw new TypeError(`Invalid numeric value for ${field.apiName}: expected a finite number.`);
|
|
77
|
+
return numeric;
|
|
78
|
+
}
|
|
79
|
+
default:
|
|
80
|
+
return value;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function decodeRecord(definition, row) {
|
|
84
|
+
const record = { id: row.id, name: row.name };
|
|
85
|
+
for (const key of ['created_at', 'updated_at', 'system_updated_at', 'external_id'])
|
|
86
|
+
record[key] = typeof row[key] === 'string' ? row[key] : null;
|
|
87
|
+
for (const key of ['owner_role', 'created_by', 'last_modified_by'])
|
|
88
|
+
record[key] = lookup(row[key], 'Employee');
|
|
89
|
+
for (const [key, field] of Object.entries(definition.fields))
|
|
90
|
+
record[key] = fieldValue(field, row[field.apiName]);
|
|
91
|
+
return record;
|
|
92
|
+
}
|
|
93
|
+
/** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */
|
|
94
|
+
function createObjectRecords(definition) {
|
|
95
|
+
const adapter = (ctx) => (0, manager_1.createCustomObjectRecordAdapter)(ctx.customObjects.records);
|
|
96
|
+
const decode = (row) => decodeRecord(definition, row);
|
|
97
|
+
const serializeBatch = (rows, operation) => {
|
|
98
|
+
const issues = rows.flatMap((row, index) => {
|
|
99
|
+
if (row == null || typeof row !== 'object' || Array.isArray(row))
|
|
100
|
+
return [{ path: `[${index}]`, message: 'Expected a record object.' }];
|
|
101
|
+
const { id, ...patch } = row;
|
|
102
|
+
return [
|
|
103
|
+
...(operation === 'update' && (typeof id !== 'string' || id.length === 0) ?
|
|
104
|
+
[{ path: `[${index}].id`, message: 'Expected a record id string.' }]
|
|
105
|
+
: []),
|
|
106
|
+
...inputIssues(definition, operation === 'update' ? patch : row, operation).map((issue) => ({
|
|
107
|
+
...issue,
|
|
108
|
+
path: `[${index}].${issue.path}`,
|
|
109
|
+
})),
|
|
110
|
+
];
|
|
111
|
+
});
|
|
112
|
+
if (issues.length > 0)
|
|
113
|
+
throw new manager_1.CustomObjectRecordValidationError(definition, operation === 'create' ? 'bulk-create' : 'bulk-update', issues);
|
|
114
|
+
return rows.map((row) => operation === 'create' ?
|
|
115
|
+
serializeInput(definition, row)
|
|
116
|
+
: { id: row['id'], ...serializeInput(definition, row) });
|
|
117
|
+
};
|
|
118
|
+
const query = async (ctx, options) => {
|
|
119
|
+
const page = await adapter(ctx).query(definition.apiName, options ?? {});
|
|
120
|
+
return { cursor: page.cursor, results: page.results.map(decode) };
|
|
121
|
+
};
|
|
122
|
+
return Object.freeze({
|
|
123
|
+
async create(ctx, input) {
|
|
124
|
+
assertObjectInput(definition, input, 'create');
|
|
125
|
+
return decode(await adapter(ctx).create(definition.apiName, serializeInput(definition, input)));
|
|
126
|
+
},
|
|
127
|
+
async createMany(ctx, rows, options) {
|
|
128
|
+
const rowsToWrite = serializeBatch(rows, 'create');
|
|
129
|
+
return (await adapter(ctx).bulkCreate(definition.apiName, { ...options, rowsToWrite })).map(decode);
|
|
130
|
+
},
|
|
131
|
+
async get(ctx, recordID) {
|
|
132
|
+
return decode(await adapter(ctx).retrieve(definition.apiName, recordID));
|
|
133
|
+
},
|
|
134
|
+
async getByExternalID(ctx, externalID) {
|
|
135
|
+
return decode(await adapter(ctx).retrieveByExternalID(definition.apiName, externalID));
|
|
136
|
+
},
|
|
137
|
+
async update(ctx, recordID, patch) {
|
|
138
|
+
assertObjectInput(definition, patch, 'update');
|
|
139
|
+
return decode(await adapter(ctx).update(definition.apiName, recordID, serializeInput(definition, patch)));
|
|
140
|
+
},
|
|
141
|
+
async updateMany(ctx, rows, options) {
|
|
142
|
+
const rowsToUpdate = serializeBatch(rows, 'update');
|
|
143
|
+
return (await adapter(ctx).bulkUpdate(definition.apiName, { ...options, rowsToUpdate })).map(decode);
|
|
144
|
+
},
|
|
145
|
+
delete: (ctx, recordID) => adapter(ctx).delete(definition.apiName, recordID),
|
|
146
|
+
deleteMany: (ctx, recordIDs, options) => adapter(ctx).bulkDelete(definition.apiName, { ...options, rowsToDelete: recordIDs }),
|
|
147
|
+
list: (ctx, { where, ...options } = {}) => query(ctx, { ...options, ...(where === undefined ? {} : { query: where.text }) }),
|
|
148
|
+
query,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=_object-records.js.map
|