@milaboratories/pl-model-common 1.46.2 → 1.46.4
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/author_marker.d.ts.map +1 -1
- package/dist/base32_encode.cjs.map +1 -1
- package/dist/base32_encode.js.map +1 -1
- package/dist/base64.cjs.map +1 -1
- package/dist/base64.d.ts.map +1 -1
- package/dist/base64.js.map +1 -1
- package/dist/bmodel/block_config.cjs.map +1 -1
- package/dist/bmodel/block_config.d.ts.map +1 -1
- package/dist/bmodel/block_config.js.map +1 -1
- package/dist/bmodel/code.cjs +0 -1
- package/dist/bmodel/code.cjs.map +1 -1
- package/dist/bmodel/code.d.ts.map +1 -1
- package/dist/bmodel/code.js.map +1 -1
- package/dist/bmodel/index.cjs +6 -3
- package/dist/bmodel/index.d.ts +2 -1
- package/dist/bmodel/index.js +4 -3
- package/dist/bmodel/normalization.cjs +2 -1
- package/dist/bmodel/normalization.cjs.map +1 -1
- package/dist/bmodel/normalization.d.ts.map +1 -1
- package/dist/bmodel/normalization.js +2 -1
- package/dist/bmodel/normalization.js.map +1 -1
- package/dist/branding.d.ts.map +1 -1
- package/dist/common_types.d.ts.map +1 -1
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/drivers/ChunkedStreamReader.cjs.map +1 -1
- package/dist/drivers/ChunkedStreamReader.d.ts.map +1 -1
- package/dist/drivers/ChunkedStreamReader.js.map +1 -1
- package/dist/drivers/blob.cjs +2 -1
- package/dist/drivers/blob.cjs.map +1 -1
- package/dist/drivers/blob.d.ts.map +1 -1
- package/dist/drivers/blob.js +2 -0
- package/dist/drivers/blob.js.map +1 -1
- package/dist/drivers/index.cjs +106 -18
- package/dist/drivers/index.d.ts +2 -1
- package/dist/drivers/index.js +19 -18
- package/dist/drivers/interfaces.d.ts.map +1 -1
- package/dist/drivers/log.cjs.map +1 -1
- package/dist/drivers/log.d.ts.map +1 -1
- package/dist/drivers/log.js.map +1 -1
- package/dist/drivers/ls.cjs.map +1 -1
- package/dist/drivers/ls.d.ts.map +1 -1
- package/dist/drivers/ls.js.map +1 -1
- package/dist/drivers/pframe/data_info.cjs.map +1 -1
- package/dist/drivers/pframe/data_info.d.ts.map +1 -1
- package/dist/drivers/pframe/data_info.js.map +1 -1
- package/dist/drivers/pframe/data_types.cjs.map +1 -1
- package/dist/drivers/pframe/data_types.d.ts.map +1 -1
- package/dist/drivers/pframe/data_types.js.map +1 -1
- package/dist/drivers/pframe/driver.d.ts.map +1 -1
- package/dist/drivers/pframe/filter_spec.d.ts.map +1 -1
- package/dist/drivers/pframe/find_columns.d.ts.map +1 -1
- package/dist/drivers/pframe/index.cjs +89 -14
- package/dist/drivers/pframe/index.d.ts +2 -1
- package/dist/drivers/pframe/index.js +14 -14
- package/dist/drivers/pframe/linker_columns.cjs +2 -2
- package/dist/drivers/pframe/linker_columns.cjs.map +1 -1
- package/dist/drivers/pframe/linker_columns.d.ts.map +1 -1
- package/dist/drivers/pframe/linker_columns.js +2 -2
- package/dist/drivers/pframe/linker_columns.js.map +1 -1
- package/dist/drivers/pframe/pframe.d.ts.map +1 -1
- package/dist/drivers/pframe/query/index.cjs +6 -1
- package/dist/drivers/pframe/query/index.d.ts +2 -1
- package/dist/drivers/pframe/query/index.js +2 -1
- package/dist/drivers/pframe/query/query_common.d.ts +1 -1
- package/dist/drivers/pframe/query/query_common.d.ts.map +1 -1
- package/dist/drivers/pframe/query/query_data.d.ts.map +1 -1
- package/dist/drivers/pframe/query/query_spec.d.ts.map +1 -1
- package/dist/drivers/pframe/query/utils.cjs +1 -1
- package/dist/drivers/pframe/query/utils.cjs.map +1 -1
- package/dist/drivers/pframe/query/utils.d.ts.map +1 -1
- package/dist/drivers/pframe/query/utils.js +1 -1
- package/dist/drivers/pframe/query/utils.js.map +1 -1
- package/dist/drivers/pframe/spec/anchored.cjs +2 -1
- package/dist/drivers/pframe/spec/anchored.cjs.map +1 -1
- package/dist/drivers/pframe/spec/anchored.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/anchored.js +1 -0
- package/dist/drivers/pframe/spec/anchored.js.map +1 -1
- package/dist/drivers/pframe/spec/discovered_column.cjs +0 -1
- package/dist/drivers/pframe/spec/discovered_column.cjs.map +1 -1
- package/dist/drivers/pframe/spec/discovered_column.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/discovered_column.js.map +1 -1
- package/dist/drivers/pframe/spec/filtered_column.cjs.map +1 -1
- package/dist/drivers/pframe/spec/filtered_column.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/filtered_column.js.map +1 -1
- package/dist/drivers/pframe/spec/ids.cjs +1 -1
- package/dist/drivers/pframe/spec/ids.cjs.map +1 -1
- package/dist/drivers/pframe/spec/ids.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/ids.js.map +1 -1
- package/dist/drivers/pframe/spec/index.cjs +57 -7
- package/dist/drivers/pframe/spec/index.d.ts +2 -1
- package/dist/drivers/pframe/spec/index.js +8 -7
- package/dist/drivers/pframe/spec/native_id.cjs +1 -1
- package/dist/drivers/pframe/spec/native_id.cjs.map +1 -1
- package/dist/drivers/pframe/spec/native_id.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/native_id.js.map +1 -1
- package/dist/drivers/pframe/spec/selectors.cjs.map +1 -1
- package/dist/drivers/pframe/spec/selectors.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/selectors.js.map +1 -1
- package/dist/drivers/pframe/spec/spec.cjs +1 -2
- package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
- package/dist/drivers/pframe/spec/spec.d.ts.map +1 -1
- package/dist/drivers/pframe/spec/spec.js +1 -1
- package/dist/drivers/pframe/spec/spec.js.map +1 -1
- package/dist/drivers/pframe/spec_driver.d.ts.map +1 -1
- package/dist/drivers/pframe/table_calculate.cjs.map +1 -1
- package/dist/drivers/pframe/table_calculate.d.ts.map +1 -1
- package/dist/drivers/pframe/table_calculate.js.map +1 -1
- package/dist/drivers/pframe/table_common.cjs.map +1 -1
- package/dist/drivers/pframe/table_common.d.ts.map +1 -1
- package/dist/drivers/pframe/table_common.js.map +1 -1
- package/dist/drivers/pframe/unique_values.d.ts.map +1 -1
- package/dist/drivers/upload.d.ts.map +1 -1
- package/dist/drivers/urls.cjs.map +1 -1
- package/dist/drivers/urls.d.ts.map +1 -1
- package/dist/drivers/urls.js.map +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/flags/block_flags.cjs.map +1 -1
- package/dist/flags/block_flags.d.ts.map +1 -1
- package/dist/flags/block_flags.js.map +1 -1
- package/dist/flags/flag_utils.cjs +1 -0
- package/dist/flags/flag_utils.cjs.map +1 -1
- package/dist/flags/flag_utils.d.ts.map +1 -1
- package/dist/flags/flag_utils.js +1 -0
- package/dist/flags/flag_utils.js.map +1 -1
- package/dist/flags/index.d.ts +2 -1
- package/dist/flags/type_utils.d.ts.map +1 -1
- package/dist/httpAuth.cjs.map +1 -1
- package/dist/httpAuth.d.ts.map +1 -1
- package/dist/httpAuth.js.map +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.cjs.map +1 -1
- package/dist/json.d.ts.map +1 -1
- package/dist/json.js.map +1 -1
- package/dist/navigation.cjs.map +1 -1
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js.map +1 -1
- package/dist/plid.cjs +1 -2
- package/dist/plid.cjs.map +1 -1
- package/dist/plid.d.ts.map +1 -1
- package/dist/plid.js +1 -1
- package/dist/plid.js.map +1 -1
- package/dist/pool/entry.d.ts.map +1 -1
- package/dist/pool/index.d.ts +2 -1
- package/dist/pool/query.cjs.map +1 -1
- package/dist/pool/query.d.ts.map +1 -1
- package/dist/pool/query.js.map +1 -1
- package/dist/pool/spec.cjs.map +1 -1
- package/dist/pool/spec.d.ts.map +1 -1
- package/dist/pool/spec.js.map +1 -1
- package/dist/pool_entry.cjs +1 -0
- package/dist/pool_entry.cjs.map +1 -1
- package/dist/pool_entry.d.ts.map +1 -1
- package/dist/pool_entry.js +1 -0
- package/dist/pool_entry.js.map +1 -1
- package/dist/project_id.d.ts.map +1 -1
- package/dist/ref.cjs +0 -1
- package/dist/ref.cjs.map +1 -1
- package/dist/ref.d.ts.map +1 -1
- package/dist/ref.js.map +1 -1
- package/dist/resource_types.cjs +4 -1
- package/dist/resource_types.cjs.map +1 -1
- package/dist/resource_types.d.ts +3 -0
- package/dist/resource_types.d.ts.map +1 -1
- package/dist/resource_types.js +4 -1
- package/dist/resource_types.js.map +1 -1
- package/dist/services/index.cjs +28 -6
- package/dist/services/index.d.ts +2 -1
- package/dist/services/index.js +7 -6
- package/dist/services/node_service_handlers.cjs.map +1 -1
- package/dist/services/node_service_handlers.d.ts.map +1 -1
- package/dist/services/node_service_handlers.js.map +1 -1
- package/dist/services/service_capabilities.cjs +4 -1
- package/dist/services/service_capabilities.cjs.map +1 -1
- package/dist/services/service_capabilities.d.ts.map +1 -1
- package/dist/services/service_capabilities.js +4 -1
- package/dist/services/service_capabilities.js.map +1 -1
- package/dist/services/service_declarations.cjs.map +1 -1
- package/dist/services/service_declarations.js.map +1 -1
- package/dist/services/service_injectors.cjs +1 -0
- package/dist/services/service_injectors.cjs.map +1 -1
- package/dist/services/service_injectors.d.ts +1 -1
- package/dist/services/service_injectors.d.ts.map +1 -1
- package/dist/services/service_injectors.js +1 -1
- package/dist/services/service_injectors.js.map +1 -1
- package/dist/services/service_registry.cjs.map +1 -1
- package/dist/services/service_registry.d.ts.map +1 -1
- package/dist/services/service_registry.js.map +1 -1
- package/dist/services/service_types.cjs.map +1 -1
- package/dist/services/service_types.d.ts.map +1 -1
- package/dist/services/service_types.js.map +1 -1
- package/dist/utag.d.ts.map +1 -1
- package/dist/util.cjs.map +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js.map +1 -1
- package/dist/value_or_error.cjs.map +1 -1
- package/dist/value_or_error.d.ts.map +1 -1
- package/dist/value_or_error.js.map +1 -1
- package/package.json +5 -5
- package/src/resource_types.ts +3 -0
- package/dist/drivers/pframe/driver.cjs +0 -6
- package/dist/drivers/pframe/driver.cjs.map +0 -1
- package/dist/drivers/pframe/driver.js +0 -6
- package/dist/drivers/pframe/driver.js.map +0 -1
package/dist/pool/spec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.d.ts","names":[],"sources":["../../src/pool/spec.ts"],"mappings":";;;;;;;KAMY,WAAA;4CAED,IAAA,UAFC;EAAA,SAKD,IAAA;WAGA,MAAA,GAAS,MAAA;EAIO;;EAAA,SAAhB,aAAA,GAAgB,MAAA,kBAGI;EAAA,SAApB,WAAA,GAAc,MAAA;AAAA;;KAIb,SAAA,GAAY,
|
|
1
|
+
{"version":3,"file":"spec.d.ts","names":[],"sources":["../../src/pool/spec.ts"],"mappings":";;;;;;;KAMY,WAAA;4CAED,IAAA,UAFC;EAAA,SAKD,IAAA;WAGA,MAAA,GAAS,MAAA;EAIO;;EAAA,SAAhB,aAAA,GAAgB,MAAA,kBAGI;EAAA,SAApB,WAAA,GAAc,MAAA;AAAA;;KAIb,SAAA,GAAY,OAAO;;;;;;UAOd,OAAA;EAPL;EAAA,SASD,EAAA,EAAI,SAAA;;WAGJ,IAAA,EAAM,WAAA;EAZc;EAAA,SAepB,IAAA,EAAM,IAAA;AAAA;AAAA,iBAGD,aAAA,CAAc,IAAA,EAAM,WAAA,GAAc,IAAA,IAAQ,WAAW;AAAA,iBAIrD,SAAA,IAAa,GAAA,EAAK,OAAA,CAAQ,CAAA,IAAK,GAAA,IAAO,OAAA,CAAQ,CAAA;AAAA,iBAI9C,mBAAA,CACd,CAAA,EAAG,eAAA,CAAgB,WAAA,IAClB,CAAA,IAAK,eAAA,CAAgB,WAAA;AAAA,iBAIR,eAAA,IACd,CAAA,EAAG,eAAA,CAAgB,OAAA,CAAQ,CAAA,KAC1B,CAAA,IAAK,eAAA,CAAgB,OAAA,CAAQ,CAAA;AAAA,iBAIhB,aAAA,IAAiB,GAAA,EAAK,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;AAAA,iBAK3C,cAAA,SACd,IAAA,EAAM,OAAA,CAAQ,EAAA,IAAM,WAAA,CAAY,EAAA,GAChC,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GACd,OAAA,CAAQ,EAAA;AAAA,iBACK,cAAA,SAAuB,IAAA,EAAM,OAAA,CAAQ,EAAA,GAAK,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GAAK,OAAA,CAAQ,EAAA;AAAA,iBACtE,cAAA,SACd,IAAA,EAAM,OAAA,CAAQ,EAAA,eACd,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GACd,OAAA,CAAQ,EAAA;AAAA,iBACK,cAAA,SAAuB,IAAA,EAAM,OAAA,CAAQ,EAAA,GAAK,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GAAK,OAAA,CAAQ,EAAA;AAAA,iBACtE,cAAA,SACd,IAAA,EAAM,OAAA,CAAQ,EAAA,eACd,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GACd,OAAA,CAAQ,EAAA;AAAA,iBAaK,iBAAA,IAAqB,KAAA,EAAO,SAAA,CAAU,OAAA,CAAQ,CAAA,KAAM,OAAA,CAAQ,CAAA"}
|
package/dist/pool/spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec.js","names":[],"sources":["../../src/pool/spec.ts"],"sourcesContent":["import type { Branded } from \"../branding\";\nimport type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from \"../drivers\";\nimport { assertNever } from \"../util\";\nimport type { ResultPoolEntry } from \"./entry\";\n\n/** Any object exported into the result pool by the block always have spec attached to it */\nexport type PObjectSpec = {\n /** PObject kind discriminator */\n readonly kind: string;\n\n /** Name is common part of PObject identity */\n readonly name: string;\n\n /** Domain is a set of key-value pairs that can be used to identify the object */\n readonly domain?: Record<string, string>;\n\n /** Context domain provides additional axis/column identity that is matched\n * by kinship rules (subset/superset/overlap) rather than exact equality */\n readonly contextDomain?: Record<string, string>;\n\n /** Additional information attached to the object */\n readonly annotations?: Record<string, string>;\n};\n\n/** Stable PObject id */\nexport type PObjectId = Branded<string, \"PColumnId\">;\n\n/**\n * Full PObject representation.\n *\n * @template Data type of the object referencing or describing the \"data\" part of the PObject\n * */\nexport interface PObject<Data> {\n /** Fully rendered PObjects are assigned a stable identifier. */\n readonly id: PObjectId;\n\n /** PObject spec, allowing it to be found among other PObjects */\n readonly spec: PObjectSpec;\n\n /** A handle to data object */\n readonly data: Data;\n}\n\nexport function isPColumnSpec(spec: PObjectSpec): spec is PColumnSpec {\n return spec.kind === \"PColumn\";\n}\n\nexport function isPColumn<T>(obj: PObject<T>): obj is PColumn<T> {\n return isPColumnSpec(obj.spec);\n}\n\nexport function isPColumnSpecResult(\n r: ResultPoolEntry<PObjectSpec>,\n): r is ResultPoolEntry<PColumnSpec> {\n return isPColumnSpec(r.obj);\n}\n\nexport function isPColumnResult<T>(\n r: ResultPoolEntry<PObject<T>>,\n): r is ResultPoolEntry<PColumn<T>> {\n return isPColumnSpec(r.obj.spec);\n}\n\nexport function ensurePColumn<T>(obj: PObject<T>): PColumn<T> {\n if (!isPColumn(obj)) throw new Error(`not a PColumn (kind = ${obj.spec.kind})`);\n return obj;\n}\n\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | PColumnLazy<D1>,\n cb: (d: D1) => D2,\n): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(pObj: PColumn<D1>, cb: (d: D1) => D2): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | undefined,\n cb: (d: D1) => D2,\n): PColumn<D2> | undefined;\nexport function mapPObjectData<D1, D2>(pObj: PObject<D1>, cb: (d: D1) => D2): PObject<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined {\n return pObj === undefined\n ? undefined\n : {\n ...pObj,\n data: cb(typeof pObj.data === \"function\" ? pObj.data() : pObj.data),\n };\n}\n\nexport function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[] {\n const columns = new Map<PObjectId, PColumn<D>>();\n const addAllColumns = (entry: JoinEntry<PColumn<D>>) => {\n switch (entry.type) {\n case \"column\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"slicedColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"artificialColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"inlineColumn\":\n return;\n case \"full\":\n case \"inner\":\n for (const e of entry.entries) addAllColumns(e);\n return;\n case \"outer\":\n addAllColumns(entry.primary);\n for (const e of entry.secondary) addAllColumns(e);\n return;\n default:\n assertNever(entry);\n }\n };\n addAllColumns(entry);\n return [...columns.values()];\n}\n"],"mappings":";;AA2CA,SAAgB,cAAc,MAAwC;
|
|
1
|
+
{"version":3,"file":"spec.js","names":[],"sources":["../../src/pool/spec.ts"],"sourcesContent":["import type { Branded } from \"../branding\";\nimport type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from \"../drivers\";\nimport { assertNever } from \"../util\";\nimport type { ResultPoolEntry } from \"./entry\";\n\n/** Any object exported into the result pool by the block always have spec attached to it */\nexport type PObjectSpec = {\n /** PObject kind discriminator */\n readonly kind: string;\n\n /** Name is common part of PObject identity */\n readonly name: string;\n\n /** Domain is a set of key-value pairs that can be used to identify the object */\n readonly domain?: Record<string, string>;\n\n /** Context domain provides additional axis/column identity that is matched\n * by kinship rules (subset/superset/overlap) rather than exact equality */\n readonly contextDomain?: Record<string, string>;\n\n /** Additional information attached to the object */\n readonly annotations?: Record<string, string>;\n};\n\n/** Stable PObject id */\nexport type PObjectId = Branded<string, \"PColumnId\">;\n\n/**\n * Full PObject representation.\n *\n * @template Data type of the object referencing or describing the \"data\" part of the PObject\n * */\nexport interface PObject<Data> {\n /** Fully rendered PObjects are assigned a stable identifier. */\n readonly id: PObjectId;\n\n /** PObject spec, allowing it to be found among other PObjects */\n readonly spec: PObjectSpec;\n\n /** A handle to data object */\n readonly data: Data;\n}\n\nexport function isPColumnSpec(spec: PObjectSpec): spec is PColumnSpec {\n return spec.kind === \"PColumn\";\n}\n\nexport function isPColumn<T>(obj: PObject<T>): obj is PColumn<T> {\n return isPColumnSpec(obj.spec);\n}\n\nexport function isPColumnSpecResult(\n r: ResultPoolEntry<PObjectSpec>,\n): r is ResultPoolEntry<PColumnSpec> {\n return isPColumnSpec(r.obj);\n}\n\nexport function isPColumnResult<T>(\n r: ResultPoolEntry<PObject<T>>,\n): r is ResultPoolEntry<PColumn<T>> {\n return isPColumnSpec(r.obj.spec);\n}\n\nexport function ensurePColumn<T>(obj: PObject<T>): PColumn<T> {\n if (!isPColumn(obj)) throw new Error(`not a PColumn (kind = ${obj.spec.kind})`);\n return obj;\n}\n\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | PColumnLazy<D1>,\n cb: (d: D1) => D2,\n): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(pObj: PColumn<D1>, cb: (d: D1) => D2): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | undefined,\n cb: (d: D1) => D2,\n): PColumn<D2> | undefined;\nexport function mapPObjectData<D1, D2>(pObj: PObject<D1>, cb: (d: D1) => D2): PObject<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined {\n return pObj === undefined\n ? undefined\n : {\n ...pObj,\n data: cb(typeof pObj.data === \"function\" ? pObj.data() : pObj.data),\n };\n}\n\nexport function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[] {\n const columns = new Map<PObjectId, PColumn<D>>();\n const addAllColumns = (entry: JoinEntry<PColumn<D>>) => {\n switch (entry.type) {\n case \"column\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"slicedColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"artificialColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"inlineColumn\":\n return;\n case \"full\":\n case \"inner\":\n for (const e of entry.entries) addAllColumns(e);\n return;\n case \"outer\":\n addAllColumns(entry.primary);\n for (const e of entry.secondary) addAllColumns(e);\n return;\n default:\n assertNever(entry);\n }\n };\n addAllColumns(entry);\n return [...columns.values()];\n}\n"],"mappings":";;AA2CA,SAAgB,cAAc,MAAwC;CACpE,OAAO,KAAK,SAAS;AACvB;AAEA,SAAgB,UAAa,KAAoC;CAC/D,OAAO,cAAc,IAAI,IAAI;AAC/B;AAEA,SAAgB,oBACd,GACmC;CACnC,OAAO,cAAc,EAAE,GAAG;AAC5B;AAEA,SAAgB,gBACd,GACkC;CAClC,OAAO,cAAc,EAAE,IAAI,IAAI;AACjC;AAEA,SAAgB,cAAiB,KAA6B;CAC5D,IAAI,CAAC,UAAU,GAAG,GAAG,MAAM,IAAI,MAAM,yBAAyB,IAAI,KAAK,KAAK,EAAE;CAC9E,OAAO;AACT;AAgBA,SAAgB,eACd,MACA,IACyB;CACzB,OAAO,SAAS,KAAA,IACZ,KAAA,IACA;EACE,GAAG;EACH,MAAM,GAAG,OAAO,KAAK,SAAS,aAAa,KAAK,KAAK,IAAI,KAAK,IAAI;CACpE;AACN;AAEA,SAAgB,kBAAqB,OAA4C;CAC/E,MAAM,0BAAU,IAAI,IAA2B;CAC/C,MAAM,iBAAiB,UAAiC;EACtD,QAAQ,MAAM,MAAd;GACE,KAAK;IACH,QAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,MAAM;IACzC;GACF,KAAK;IACH,QAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,MAAM;IACzC;GACF,KAAK;IACH,QAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,MAAM;IACzC;GACF,KAAK,gBACH;GACF,KAAK;GACL,KAAK;IACH,KAAK,MAAM,KAAK,MAAM,SAAS,cAAc,CAAC;IAC9C;GACF,KAAK;IACH,cAAc,MAAM,OAAO;IAC3B,KAAK,MAAM,KAAK,MAAM,WAAW,cAAc,CAAC;IAChD;GACF,SACE,YAAY,KAAK;EACrB;CACF;CACA,cAAc,KAAK;CACnB,OAAO,CAAC,GAAG,QAAQ,OAAO,CAAC;AAC7B"}
|
package/dist/pool_entry.cjs
CHANGED
package/dist/pool_entry.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool_entry.cjs","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;
|
|
1
|
+
{"version":3,"file":"pool_entry.cjs","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;CAGzE;CAFrB,OAAe;CAEf,YAAY,OAAiC;EAAxB,KAAA,QAAA;CAAyB;CAE9C,IAAI,MAAS;EACX,OAAO,KAAK,MAAM;CACpB;CAEA,IAAI,WAAc;EAChB,OAAO,KAAK,MAAM;CACpB;;CAGA,OAAwB;EACtB,KAAK,OAAO;EACZ,OAAO,KAAK;CACd;CAEA,CAAC,OAAO,WAAiB;EACvB,IAAI,CAAC,KAAK,MAAM,KAAK,MAAM,MAAM;CACnC;AACF"}
|
package/dist/pool_entry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool_entry.d.ts","names":[],"sources":["../src/pool_entry.ts"],"mappings":";UAAiB,SAAA,uDAAgE,UAAA;EAAhE;EAAA,SAEN,GAAA,EAAK,CAAA;EAFU;EAAA,SAKf,QAAA,EAAU,CAAA;EAAA;;;;;EAAA,SAOV,KAAA;AAAA;;;;;cAOE,cAAA,0DAAwE,UAAA;EAAA,SAG9D,KAAA,EAAO,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,QAFjC,IAAA;cAEa,KAAA,EAAO,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,IAErC,GAAA,
|
|
1
|
+
{"version":3,"file":"pool_entry.d.ts","names":[],"sources":["../src/pool_entry.ts"],"mappings":";UAAiB,SAAA,uDAAgE,UAAA;EAAhE;EAAA,SAEN,GAAA,EAAK,CAAA;EAFU;EAAA,SAKf,QAAA,EAAU,CAAA;EAAA;;;;;EAAA,SAOV,KAAA;AAAA;;;;;cAOE,cAAA,0DAAwE,UAAA;EAAA,SAG9D,KAAA,EAAO,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,QAFjC,IAAA;cAEa,KAAA,EAAO,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,IAErC,GAAA,IAAO,CAAA;EAAA,IAIP,QAAA,IAAY,CAAA;EANsB;EAWtC,IAAA,IAAQ,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,CAKpB,MAAA,CAAO,OAAA;AAAA"}
|
package/dist/pool_entry.js
CHANGED
package/dist/pool_entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool_entry.js","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;
|
|
1
|
+
{"version":3,"file":"pool_entry.js","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;CAGzE;CAFrB,OAAe;CAEf,YAAY,OAAiC;EAAxB,KAAA,QAAA;CAAyB;CAE9C,IAAI,MAAS;EACX,OAAO,KAAK,MAAM;CACpB;CAEA,IAAI,WAAc;EAChB,OAAO,KAAK,MAAM;CACpB;;CAGA,OAAwB;EACtB,KAAK,OAAO;EACZ,OAAO,KAAK;CACd;CAEA,CAAC,OAAO,WAAiB;EACvB,IAAI,CAAC,KAAK,MAAM,KAAK,MAAM,MAAM;CACnC;AACF"}
|
package/dist/project_id.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project_id.d.ts","names":[],"sources":["../src/project_id.ts"],"mappings":";;;;;AAUA
|
|
1
|
+
{"version":3,"file":"project_id.d.ts","names":[],"sources":["../src/project_id.ts"],"mappings":";;;;;AAUA;;;;AAA+B;;KAAnB,SAAA,GAAY,OAAO"}
|
package/dist/ref.cjs
CHANGED
package/dist/ref.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.cjs","names":["z"],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { AxisQualification } from \"./drivers/pframe/spec/selectors\";\nimport type { PObjectId } from \"./pool/spec\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(\n blockId: string,\n name: string,\n requireEnrichments: boolean = false,\n): PlRef {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Primary dataset reference with an optional filter. */\nexport type PrimaryRef = {\n readonly __isPrimaryRef: \"v1\";\n readonly column: PlRef;\n readonly filter?: PlRef;\n};\n\nexport function isPrimaryRef(value: unknown): value is PrimaryRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isPrimaryRef?: unknown }).__isPrimaryRef === \"v1\" &&\n \"column\" in value\n );\n}\n\nexport function createPrimaryRef(column: PlRef, filter?: PlRef): PrimaryRef {\n if (filter !== undefined) return { __isPrimaryRef: \"v1\", column, filter };\n else return { __isPrimaryRef: \"v1\", column };\n}\n\n/** Block args accept either form — backward compatible. */\nexport type DatasetInput = PlRef | PrimaryRef;\n\n/** Many-to-one linker hop. */\nexport type EnrichmentLinkerStep = {\n readonly type: \"linker\";\n readonly linker: PObjectId;\n};\n\n/** Step from primary to hit. `path[0]` applied first. */\nexport type EnrichmentStep = EnrichmentLinkerStep;\n\n/**\n * Enrichment column reached via {@link path} linker hops; omitted means zero-hop.\n * `hit` and `path[].linker` are global-form {@link PObjectId}s\n * (`canonicalize({ __isRef: true, blockId, name })`) which the workflow decodes\n * to a PlRef before resolving. For a prerun-sourced hop, supply a resolved\n * `{spec, data}` map in place of the id — `tableBuilder` accepts both.\n */\nexport type EnrichmentRef = {\n readonly __isEnrichment: \"v1\";\n readonly hit: PObjectId;\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function isEnrichmentRef(value: unknown): value is EnrichmentRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isEnrichment?: unknown }).__isEnrichment === \"v1\" &&\n \"hit\" in value\n );\n}\n\nexport type CreateEnrichmentRefOptions = {\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function createEnrichmentRef(\n hit: PObjectId,\n options: CreateEnrichmentRefOptions = {},\n): EnrichmentRef {\n const { path, qualifications } = options;\n return {\n __isEnrichment: \"v1\",\n hit,\n ...(path !== undefined && path.length > 0 ? { path } : {}),\n ...(qualifications !== undefined && qualifications.length > 0 ? { qualifications } : {}),\n };\n}\n\n/** {@link EnrichmentRef} plus the export header label. */\nexport type LabeledEnrichmentRef = {\n readonly ref: EnrichmentRef;\n readonly label: string;\n};\n\n/** Auto-attached enrichment payload; not user-picked. */\nexport type LabeledEnrichmentRefs = readonly LabeledEnrichmentRef[];\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ref.cjs","names":["z"],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { AxisQualification } from \"./drivers/pframe/spec/selectors\";\nimport type { PObjectId } from \"./pool/spec\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(\n blockId: string,\n name: string,\n requireEnrichments: boolean = false,\n): PlRef {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Primary dataset reference with an optional filter. */\nexport type PrimaryRef = {\n readonly __isPrimaryRef: \"v1\";\n readonly column: PlRef;\n readonly filter?: PlRef;\n};\n\nexport function isPrimaryRef(value: unknown): value is PrimaryRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isPrimaryRef?: unknown }).__isPrimaryRef === \"v1\" &&\n \"column\" in value\n );\n}\n\nexport function createPrimaryRef(column: PlRef, filter?: PlRef): PrimaryRef {\n if (filter !== undefined) return { __isPrimaryRef: \"v1\", column, filter };\n else return { __isPrimaryRef: \"v1\", column };\n}\n\n/** Block args accept either form — backward compatible. */\nexport type DatasetInput = PlRef | PrimaryRef;\n\n/** Many-to-one linker hop. */\nexport type EnrichmentLinkerStep = {\n readonly type: \"linker\";\n readonly linker: PObjectId;\n};\n\n/** Step from primary to hit. `path[0]` applied first. */\nexport type EnrichmentStep = EnrichmentLinkerStep;\n\n/**\n * Enrichment column reached via {@link path} linker hops; omitted means zero-hop.\n * `hit` and `path[].linker` are global-form {@link PObjectId}s\n * (`canonicalize({ __isRef: true, blockId, name })`) which the workflow decodes\n * to a PlRef before resolving. For a prerun-sourced hop, supply a resolved\n * `{spec, data}` map in place of the id — `tableBuilder` accepts both.\n */\nexport type EnrichmentRef = {\n readonly __isEnrichment: \"v1\";\n readonly hit: PObjectId;\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function isEnrichmentRef(value: unknown): value is EnrichmentRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isEnrichment?: unknown }).__isEnrichment === \"v1\" &&\n \"hit\" in value\n );\n}\n\nexport type CreateEnrichmentRefOptions = {\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function createEnrichmentRef(\n hit: PObjectId,\n options: CreateEnrichmentRefOptions = {},\n): EnrichmentRef {\n const { path, qualifications } = options;\n return {\n __isEnrichment: \"v1\",\n hit,\n ...(path !== undefined && path.length > 0 ? { path } : {}),\n ...(qualifications !== undefined && qualifications.length > 0 ? { qualifications } : {}),\n };\n}\n\n/** {@link EnrichmentRef} plus the export header label. */\nexport type LabeledEnrichmentRef = {\n readonly ref: EnrichmentRef;\n readonly label: string;\n};\n\n/** Auto-attached enrichment payload; not user-picked. */\nexport type LabeledEnrichmentRefs = readonly LabeledEnrichmentRef[];\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":";;AAIA,MAAa,QAAQA,IAAAA,EAClB,OAAO;CACN,SAASA,IAAAA,EACN,QAAQ,IAAI,CAAC,CACb,SAAS,6DAA6D;CACzE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB;CAChD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE;CAC9F,oBAAoBA,IAAAA,EACjB,QAAQ,IAAI,CAAC,CACb,SAAS,CAAC,CACV,SACC,iLAEF;AACJ,CAAC,CAAC,CACD,SACC,qMAGF,CAAC,CACA,SAAS;;;;;;;AAWZ,SAAgB,QAAQ,OAAgC;CACtD,OACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACZ,MAA+B,YAAY,QAC5C,aAAa,SACb,UAAU;AAEd;;;;;;;;AAoBA,SAAgB,YACd,SACA,MACA,qBAA8B,OACvB;CACP,IAAI,oBACF,OAAO;EACL,SAAS;EACT;EACA;EACA,oBAAoB;CACtB;MAEA,OAAO;EACL,SAAS;EACT;EACA;CACF;AACJ;;;;;;;;;;AAWA,SAAgB,gBAAgB,KAAY,qBAA8B,MAAa;CACrF,IAAI,oBACF,OAAO;EACL,GAAG;EACH,oBAAoB;CACtB;MACG;EACH,MAAM,EAAE,oBAAoB,GAAG,GAAG,SAAS;EAC3C,OAAO;CACT;AACF;AASA,SAAgB,aAAa,OAAqC;CAChE,OACE,OAAO,UAAU,YACjB,UAAU,QACT,MAAuC,mBAAmB,QAC3D,YAAY;AAEhB;AAEA,SAAgB,iBAAiB,QAAe,QAA4B;CAC1E,IAAI,WAAW,KAAA,GAAW,OAAO;EAAE,gBAAgB;EAAM;EAAQ;CAAO;MACnE,OAAO;EAAE,gBAAgB;EAAM;CAAO;AAC7C;AA4BA,SAAgB,gBAAgB,OAAwC;CACtE,OACE,OAAO,UAAU,YACjB,UAAU,QACT,MAAuC,mBAAmB,QAC3D,SAAS;AAEb;AAOA,SAAgB,oBACd,KACA,UAAsC,CAAC,GACxB;CACf,MAAM,EAAE,MAAM,mBAAmB;CACjC,OAAO;EACL,gBAAgB;EAChB;EACA,GAAI,SAAS,KAAA,KAAa,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC;EACxD,GAAI,mBAAmB,KAAA,KAAa,eAAe,SAAS,IAAI,EAAE,eAAe,IAAI,CAAC;CACxF;AACF;;AAYA,SAAgB,YAAY,MAAa,MAAa,oBAA6B,OAAO;CACxF,OACE,KAAK,YAAY,KAAK,WACtB,KAAK,SAAS,KAAK,SAClB,qBAAqB,KAAK,uBAAuB,KAAK;AAE3D"}
|
package/dist/ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.d.ts","names":[],"sources":["../src/ref.ts"],"mappings":";;;;;cAIa,KAAA,EAAK,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAqBN,KAAA,GAAQ,CAAA,CAAE,
|
|
1
|
+
{"version":3,"file":"ref.d.ts","names":[],"sources":["../src/ref.ts"],"mappings":";;;;;cAIa,KAAA,EAAK,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAqBN,KAAA,GAAQ,CAAA,CAAE,KAAK,QAAQ,KAAA;;KAEvB,GAAA,GAAM,KAAK;;;;;;;iBAQP,OAAA,CAAQ,KAAA,YAAiB,KAAA,IAAS,KAAK;;;KAa3C,MAAA;;;WAGD,GAAA,EAAK,KAAK;WAGV,KAAA;AAAA;;;;;;;;iBAUK,WAAA,CACd,OAAA,UACA,IAAA,UACA,kBAAA,aACC,KAAK;;;AA3CR;;;;;;;iBAoEgB,eAAA,CAAgB,GAAA,EAAK,KAAA,EAAO,kBAAA,aAAqC,KAAK;AApE9C;AAAA,KAiF5B,UAAA;EAAA,SACD,cAAA;EAAA,SACA,MAAA,EAAQ,KAAA;EAAA,SACR,MAAA,GAAS,KAAK;AAAA;AAAA,iBAGT,YAAA,CAAa,KAAA,YAAiB,KAAA,IAAS,UAAU;AAAA,iBASjD,gBAAA,CAAiB,MAAA,EAAQ,KAAA,EAAO,MAAA,GAAS,KAAA,GAAQ,UAAA;;KAMrD,YAAA,GAAe,KAAA,GAAQ,UAAU;;KAGjC,oBAAA;EAAA,SACD,IAAA;EAAA,SACA,MAAA,EAAQ,SAAS;AAAA;AApF5B;AAAA,KAwFY,cAAA,GAAiB,oBAAoB;;;;;;;AAlFjC;KA2FJ,aAAA;EAAA,SACD,cAAA;EAAA,SACA,GAAA,EAAK,SAAA;EAAA,SACL,IAAA,YAAgB,cAAA;EAAA,SAChB,cAAA,YAA0B,iBAAA;AAAA;AAAA,iBAGrB,eAAA,CAAgB,KAAA,YAAiB,KAAA,IAAS,aAAa;AAAA,KAS3D,0BAAA;EAAA,SACD,IAAA,YAAgB,cAAA;EAAA,SAChB,cAAA,YAA0B,iBAAiB;AAAA;AAAA,iBAGtC,mBAAA,CACd,GAAA,EAAK,SAAA,EACL,OAAA,GAAS,0BAAA,GACR,aAAA;;KAWS,oBAAA;EAAA,SACD,GAAA,EAAK,aAAa;EAAA,SAClB,KAAA;AAAA;;KAIC,qBAAA,YAAiC,oBAAoB;AA7FqB;AAAA,iBAgGtE,WAAA,CAAY,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,KAAK,EAAE,iBAAA"}
|
package/dist/ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.js","names":[],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { AxisQualification } from \"./drivers/pframe/spec/selectors\";\nimport type { PObjectId } from \"./pool/spec\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(\n blockId: string,\n name: string,\n requireEnrichments: boolean = false,\n): PlRef {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Primary dataset reference with an optional filter. */\nexport type PrimaryRef = {\n readonly __isPrimaryRef: \"v1\";\n readonly column: PlRef;\n readonly filter?: PlRef;\n};\n\nexport function isPrimaryRef(value: unknown): value is PrimaryRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isPrimaryRef?: unknown }).__isPrimaryRef === \"v1\" &&\n \"column\" in value\n );\n}\n\nexport function createPrimaryRef(column: PlRef, filter?: PlRef): PrimaryRef {\n if (filter !== undefined) return { __isPrimaryRef: \"v1\", column, filter };\n else return { __isPrimaryRef: \"v1\", column };\n}\n\n/** Block args accept either form — backward compatible. */\nexport type DatasetInput = PlRef | PrimaryRef;\n\n/** Many-to-one linker hop. */\nexport type EnrichmentLinkerStep = {\n readonly type: \"linker\";\n readonly linker: PObjectId;\n};\n\n/** Step from primary to hit. `path[0]` applied first. */\nexport type EnrichmentStep = EnrichmentLinkerStep;\n\n/**\n * Enrichment column reached via {@link path} linker hops; omitted means zero-hop.\n * `hit` and `path[].linker` are global-form {@link PObjectId}s\n * (`canonicalize({ __isRef: true, blockId, name })`) which the workflow decodes\n * to a PlRef before resolving. For a prerun-sourced hop, supply a resolved\n * `{spec, data}` map in place of the id — `tableBuilder` accepts both.\n */\nexport type EnrichmentRef = {\n readonly __isEnrichment: \"v1\";\n readonly hit: PObjectId;\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function isEnrichmentRef(value: unknown): value is EnrichmentRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isEnrichment?: unknown }).__isEnrichment === \"v1\" &&\n \"hit\" in value\n );\n}\n\nexport type CreateEnrichmentRefOptions = {\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function createEnrichmentRef(\n hit: PObjectId,\n options: CreateEnrichmentRefOptions = {},\n): EnrichmentRef {\n const { path, qualifications } = options;\n return {\n __isEnrichment: \"v1\",\n hit,\n ...(path !== undefined && path.length > 0 ? { path } : {}),\n ...(qualifications !== undefined && qualifications.length > 0 ? { qualifications } : {}),\n };\n}\n\n/** {@link EnrichmentRef} plus the export header label. */\nexport type LabeledEnrichmentRef = {\n readonly ref: EnrichmentRef;\n readonly label: string;\n};\n\n/** Auto-attached enrichment payload; not user-picked. */\nexport type LabeledEnrichmentRefs = readonly LabeledEnrichmentRef[];\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":";;AAIA,MAAa,QAAQ,EAClB,OAAO;CACN,SAAS,EACN,QAAQ,
|
|
1
|
+
{"version":3,"file":"ref.js","names":[],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\nimport type { AxisQualification } from \"./drivers/pframe/spec/selectors\";\nimport type { PObjectId } from \"./pool/spec\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(\n blockId: string,\n name: string,\n requireEnrichments: boolean = false,\n): PlRef {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Primary dataset reference with an optional filter. */\nexport type PrimaryRef = {\n readonly __isPrimaryRef: \"v1\";\n readonly column: PlRef;\n readonly filter?: PlRef;\n};\n\nexport function isPrimaryRef(value: unknown): value is PrimaryRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isPrimaryRef?: unknown }).__isPrimaryRef === \"v1\" &&\n \"column\" in value\n );\n}\n\nexport function createPrimaryRef(column: PlRef, filter?: PlRef): PrimaryRef {\n if (filter !== undefined) return { __isPrimaryRef: \"v1\", column, filter };\n else return { __isPrimaryRef: \"v1\", column };\n}\n\n/** Block args accept either form — backward compatible. */\nexport type DatasetInput = PlRef | PrimaryRef;\n\n/** Many-to-one linker hop. */\nexport type EnrichmentLinkerStep = {\n readonly type: \"linker\";\n readonly linker: PObjectId;\n};\n\n/** Step from primary to hit. `path[0]` applied first. */\nexport type EnrichmentStep = EnrichmentLinkerStep;\n\n/**\n * Enrichment column reached via {@link path} linker hops; omitted means zero-hop.\n * `hit` and `path[].linker` are global-form {@link PObjectId}s\n * (`canonicalize({ __isRef: true, blockId, name })`) which the workflow decodes\n * to a PlRef before resolving. For a prerun-sourced hop, supply a resolved\n * `{spec, data}` map in place of the id — `tableBuilder` accepts both.\n */\nexport type EnrichmentRef = {\n readonly __isEnrichment: \"v1\";\n readonly hit: PObjectId;\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function isEnrichmentRef(value: unknown): value is EnrichmentRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { __isEnrichment?: unknown }).__isEnrichment === \"v1\" &&\n \"hit\" in value\n );\n}\n\nexport type CreateEnrichmentRefOptions = {\n readonly path?: readonly EnrichmentStep[];\n readonly qualifications?: readonly AxisQualification[];\n};\n\nexport function createEnrichmentRef(\n hit: PObjectId,\n options: CreateEnrichmentRefOptions = {},\n): EnrichmentRef {\n const { path, qualifications } = options;\n return {\n __isEnrichment: \"v1\",\n hit,\n ...(path !== undefined && path.length > 0 ? { path } : {}),\n ...(qualifications !== undefined && qualifications.length > 0 ? { qualifications } : {}),\n };\n}\n\n/** {@link EnrichmentRef} plus the export header label. */\nexport type LabeledEnrichmentRef = {\n readonly ref: EnrichmentRef;\n readonly label: string;\n};\n\n/** Auto-attached enrichment payload; not user-picked. */\nexport type LabeledEnrichmentRefs = readonly LabeledEnrichmentRef[];\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":";;AAIA,MAAa,QAAQ,EAClB,OAAO;CACN,SAAS,EACN,QAAQ,IAAI,CAAC,CACb,SAAS,6DAA6D;CACzE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB;CAChD,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE;CAC9F,oBAAoB,EACjB,QAAQ,IAAI,CAAC,CACb,SAAS,CAAC,CACV,SACC,iLAEF;AACJ,CAAC,CAAC,CACD,SACC,qMAGF,CAAC,CACA,SAAS;;;;;;;AAWZ,SAAgB,QAAQ,OAAgC;CACtD,OACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACZ,MAA+B,YAAY,QAC5C,aAAa,SACb,UAAU;AAEd;;;;;;;;AAoBA,SAAgB,YACd,SACA,MACA,qBAA8B,OACvB;CACP,IAAI,oBACF,OAAO;EACL,SAAS;EACT;EACA;EACA,oBAAoB;CACtB;MAEA,OAAO;EACL,SAAS;EACT;EACA;CACF;AACJ;;;;;;;;;;AAWA,SAAgB,gBAAgB,KAAY,qBAA8B,MAAa;CACrF,IAAI,oBACF,OAAO;EACL,GAAG;EACH,oBAAoB;CACtB;MACG;EACH,MAAM,EAAE,oBAAoB,GAAG,GAAG,SAAS;EAC3C,OAAO;CACT;AACF;AASA,SAAgB,aAAa,OAAqC;CAChE,OACE,OAAO,UAAU,YACjB,UAAU,QACT,MAAuC,mBAAmB,QAC3D,YAAY;AAEhB;AAEA,SAAgB,iBAAiB,QAAe,QAA4B;CAC1E,IAAI,WAAW,KAAA,GAAW,OAAO;EAAE,gBAAgB;EAAM;EAAQ;CAAO;MACnE,OAAO;EAAE,gBAAgB;EAAM;CAAO;AAC7C;AA4BA,SAAgB,gBAAgB,OAAwC;CACtE,OACE,OAAO,UAAU,YACjB,UAAU,QACT,MAAuC,mBAAmB,QAC3D,SAAS;AAEb;AAOA,SAAgB,oBACd,KACA,UAAsC,CAAC,GACxB;CACf,MAAM,EAAE,MAAM,mBAAmB;CACjC,OAAO;EACL,gBAAgB;EAChB;EACA,GAAI,SAAS,KAAA,KAAa,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC;EACxD,GAAI,mBAAmB,KAAA,KAAa,eAAe,SAAS,IAAI,EAAE,eAAe,IAAI,CAAC;CACxF;AACF;;AAYA,SAAgB,YAAY,MAAa,MAAa,oBAA6B,OAAO;CACxF,OACE,KAAK,YAAY,KAAK,WACtB,KAAK,SAAS,KAAK,SAClB,qBAAqB,KAAK,uBAAuB,KAAK;AAE3D"}
|
package/dist/resource_types.cjs
CHANGED
|
@@ -36,7 +36,10 @@ const ResourceTypeName = {
|
|
|
36
36
|
WorkingDirectory: "WorkingDirectory",
|
|
37
37
|
UserProject: "UserProject",
|
|
38
38
|
Projects: "Projects",
|
|
39
|
-
ClientRoot: "ClientRoot"
|
|
39
|
+
ClientRoot: "ClientRoot",
|
|
40
|
+
SharingOutbox: "SharingOutbox",
|
|
41
|
+
SharingState: "SharingState",
|
|
42
|
+
SharedEnvelope: "SharedEnvelope"
|
|
40
43
|
};
|
|
41
44
|
/** Resource type name prefix constants. */
|
|
42
45
|
const ResourceTypePrefix = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_types.cjs","names":[],"sources":["../src/resource_types.ts"],"sourcesContent":["/** Well-known resource type names used across the platform. */\nexport const ResourceTypeName = {\n StreamManager: \"StreamManager\",\n StdMap: \"StdMap\",\n StdMapSlash: \"std/map\",\n EphStdMap: \"EphStdMap\",\n PFrame: \"PFrame\",\n ParquetChunk: \"ParquetChunk\",\n BContext: \"BContext\",\n BlockPackCustom: \"BlockPackCustom\",\n BinaryMap: \"BinaryMap\",\n BinaryValue: \"BinaryValue\",\n BlobMap: \"BlobMap\",\n BResolveSingle: \"BResolveSingle\",\n BResolveSingleNoResult: \"BResolveSingleNoResult\",\n BQueryResult: \"BQueryResult\",\n TengoTemplate: \"TengoTemplate\",\n TengoLib: \"TengoLib\",\n SoftwareInfo: \"SoftwareInfo\",\n Dummy: \"Dummy\",\n JsonResourceError: \"json/resourceError\",\n JsonObject: \"json/object\",\n JsonGzObject: \"json-gz/object\",\n JsonString: \"json/string\",\n JsonArray: \"json/array\",\n JsonNumber: \"json/number\",\n BContextEnd: \"BContextEnd\",\n FrontendFromUrl: \"Frontend/FromUrl\",\n FrontendFromFolder: \"Frontend/FromFolder\",\n BObjectSpec: \"BObjectSpec\",\n Blob: \"Blob\",\n Null: \"Null\",\n Binary: \"binary\",\n LSProvider: \"LSProvider\",\n WorkingDirectory: \"WorkingDirectory\",\n UserProject: \"UserProject\",\n Projects: \"Projects\",\n ClientRoot: \"ClientRoot\",\n} as const;\n\n/** Resource type name prefix constants. */\nexport const ResourceTypePrefix = {\n Blob: \"Blob/\",\n LS: \"LS/\",\n WorkingDirectory: \"WorkingDirectory/\",\n StorageSpaceAllocation: \"StorageSpaceAllocation/\",\n BlobUpload: \"BlobUpload/\",\n BlobIndex: \"BlobIndex/\",\n PColumnData: \"PColumnData/\",\n StreamWorkdir: \"StreamWorkdir/\",\n} as const;\n"],"mappings":";;AACA,MAAa,mBAAmB;CAC9B,eAAe;CACf,QAAQ;CACR,aAAa;CACb,WAAW;CACX,QAAQ;CACR,cAAc;CACd,UAAU;CACV,iBAAiB;CACjB,WAAW;CACX,aAAa;CACb,SAAS;CACT,gBAAgB;CAChB,wBAAwB;CACxB,cAAc;CACd,eAAe;CACf,UAAU;CACV,cAAc;CACd,OAAO;CACP,mBAAmB;CACnB,YAAY;CACZ,cAAc;CACd,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,oBAAoB;CACpB,aAAa;CACb,MAAM;CACN,MAAM;CACN,QAAQ;CACR,YAAY;CACZ,kBAAkB;CAClB,aAAa;CACb,UAAU;CACV,YAAY;
|
|
1
|
+
{"version":3,"file":"resource_types.cjs","names":[],"sources":["../src/resource_types.ts"],"sourcesContent":["/** Well-known resource type names used across the platform. */\nexport const ResourceTypeName = {\n StreamManager: \"StreamManager\",\n StdMap: \"StdMap\",\n StdMapSlash: \"std/map\",\n EphStdMap: \"EphStdMap\",\n PFrame: \"PFrame\",\n ParquetChunk: \"ParquetChunk\",\n BContext: \"BContext\",\n BlockPackCustom: \"BlockPackCustom\",\n BinaryMap: \"BinaryMap\",\n BinaryValue: \"BinaryValue\",\n BlobMap: \"BlobMap\",\n BResolveSingle: \"BResolveSingle\",\n BResolveSingleNoResult: \"BResolveSingleNoResult\",\n BQueryResult: \"BQueryResult\",\n TengoTemplate: \"TengoTemplate\",\n TengoLib: \"TengoLib\",\n SoftwareInfo: \"SoftwareInfo\",\n Dummy: \"Dummy\",\n JsonResourceError: \"json/resourceError\",\n JsonObject: \"json/object\",\n JsonGzObject: \"json-gz/object\",\n JsonString: \"json/string\",\n JsonArray: \"json/array\",\n JsonNumber: \"json/number\",\n BContextEnd: \"BContextEnd\",\n FrontendFromUrl: \"Frontend/FromUrl\",\n FrontendFromFolder: \"Frontend/FromFolder\",\n BObjectSpec: \"BObjectSpec\",\n Blob: \"Blob\",\n Null: \"Null\",\n Binary: \"binary\",\n LSProvider: \"LSProvider\",\n WorkingDirectory: \"WorkingDirectory\",\n UserProject: \"UserProject\",\n Projects: \"Projects\",\n ClientRoot: \"ClientRoot\",\n SharingOutbox: \"SharingOutbox\",\n SharingState: \"SharingState\",\n SharedEnvelope: \"SharedEnvelope\",\n} as const;\n\n/** Resource type name prefix constants. */\nexport const ResourceTypePrefix = {\n Blob: \"Blob/\",\n LS: \"LS/\",\n WorkingDirectory: \"WorkingDirectory/\",\n StorageSpaceAllocation: \"StorageSpaceAllocation/\",\n BlobUpload: \"BlobUpload/\",\n BlobIndex: \"BlobIndex/\",\n PColumnData: \"PColumnData/\",\n StreamWorkdir: \"StreamWorkdir/\",\n} as const;\n"],"mappings":";;AACA,MAAa,mBAAmB;CAC9B,eAAe;CACf,QAAQ;CACR,aAAa;CACb,WAAW;CACX,QAAQ;CACR,cAAc;CACd,UAAU;CACV,iBAAiB;CACjB,WAAW;CACX,aAAa;CACb,SAAS;CACT,gBAAgB;CAChB,wBAAwB;CACxB,cAAc;CACd,eAAe;CACf,UAAU;CACV,cAAc;CACd,OAAO;CACP,mBAAmB;CACnB,YAAY;CACZ,cAAc;CACd,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,oBAAoB;CACpB,aAAa;CACb,MAAM;CACN,MAAM;CACN,QAAQ;CACR,YAAY;CACZ,kBAAkB;CAClB,aAAa;CACb,UAAU;CACV,YAAY;CACZ,eAAe;CACf,cAAc;CACd,gBAAgB;AAClB;;AAGA,MAAa,qBAAqB;CAChC,MAAM;CACN,IAAI;CACJ,kBAAkB;CAClB,wBAAwB;CACxB,YAAY;CACZ,WAAW;CACX,aAAa;CACb,eAAe;AACjB"}
|
package/dist/resource_types.d.ts
CHANGED
|
@@ -37,6 +37,9 @@ declare const ResourceTypeName: {
|
|
|
37
37
|
readonly UserProject: "UserProject";
|
|
38
38
|
readonly Projects: "Projects";
|
|
39
39
|
readonly ClientRoot: "ClientRoot";
|
|
40
|
+
readonly SharingOutbox: "SharingOutbox";
|
|
41
|
+
readonly SharingState: "SharingState";
|
|
42
|
+
readonly SharedEnvelope: "SharedEnvelope";
|
|
40
43
|
};
|
|
41
44
|
/** Resource type name prefix constants. */
|
|
42
45
|
declare const ResourceTypePrefix: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_types.d.ts","names":[],"sources":["../src/resource_types.ts"],"mappings":";;cACa,gBAAA;EAAA
|
|
1
|
+
{"version":3,"file":"resource_types.d.ts","names":[],"sources":["../src/resource_types.ts"],"mappings":";;cACa,gBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA2CA,kBAAA;EAAA"}
|
package/dist/resource_types.js
CHANGED
|
@@ -36,7 +36,10 @@ const ResourceTypeName = {
|
|
|
36
36
|
WorkingDirectory: "WorkingDirectory",
|
|
37
37
|
UserProject: "UserProject",
|
|
38
38
|
Projects: "Projects",
|
|
39
|
-
ClientRoot: "ClientRoot"
|
|
39
|
+
ClientRoot: "ClientRoot",
|
|
40
|
+
SharingOutbox: "SharingOutbox",
|
|
41
|
+
SharingState: "SharingState",
|
|
42
|
+
SharedEnvelope: "SharedEnvelope"
|
|
40
43
|
};
|
|
41
44
|
/** Resource type name prefix constants. */
|
|
42
45
|
const ResourceTypePrefix = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_types.js","names":[],"sources":["../src/resource_types.ts"],"sourcesContent":["/** Well-known resource type names used across the platform. */\nexport const ResourceTypeName = {\n StreamManager: \"StreamManager\",\n StdMap: \"StdMap\",\n StdMapSlash: \"std/map\",\n EphStdMap: \"EphStdMap\",\n PFrame: \"PFrame\",\n ParquetChunk: \"ParquetChunk\",\n BContext: \"BContext\",\n BlockPackCustom: \"BlockPackCustom\",\n BinaryMap: \"BinaryMap\",\n BinaryValue: \"BinaryValue\",\n BlobMap: \"BlobMap\",\n BResolveSingle: \"BResolveSingle\",\n BResolveSingleNoResult: \"BResolveSingleNoResult\",\n BQueryResult: \"BQueryResult\",\n TengoTemplate: \"TengoTemplate\",\n TengoLib: \"TengoLib\",\n SoftwareInfo: \"SoftwareInfo\",\n Dummy: \"Dummy\",\n JsonResourceError: \"json/resourceError\",\n JsonObject: \"json/object\",\n JsonGzObject: \"json-gz/object\",\n JsonString: \"json/string\",\n JsonArray: \"json/array\",\n JsonNumber: \"json/number\",\n BContextEnd: \"BContextEnd\",\n FrontendFromUrl: \"Frontend/FromUrl\",\n FrontendFromFolder: \"Frontend/FromFolder\",\n BObjectSpec: \"BObjectSpec\",\n Blob: \"Blob\",\n Null: \"Null\",\n Binary: \"binary\",\n LSProvider: \"LSProvider\",\n WorkingDirectory: \"WorkingDirectory\",\n UserProject: \"UserProject\",\n Projects: \"Projects\",\n ClientRoot: \"ClientRoot\",\n} as const;\n\n/** Resource type name prefix constants. */\nexport const ResourceTypePrefix = {\n Blob: \"Blob/\",\n LS: \"LS/\",\n WorkingDirectory: \"WorkingDirectory/\",\n StorageSpaceAllocation: \"StorageSpaceAllocation/\",\n BlobUpload: \"BlobUpload/\",\n BlobIndex: \"BlobIndex/\",\n PColumnData: \"PColumnData/\",\n StreamWorkdir: \"StreamWorkdir/\",\n} as const;\n"],"mappings":";;AACA,MAAa,mBAAmB;CAC9B,eAAe;CACf,QAAQ;CACR,aAAa;CACb,WAAW;CACX,QAAQ;CACR,cAAc;CACd,UAAU;CACV,iBAAiB;CACjB,WAAW;CACX,aAAa;CACb,SAAS;CACT,gBAAgB;CAChB,wBAAwB;CACxB,cAAc;CACd,eAAe;CACf,UAAU;CACV,cAAc;CACd,OAAO;CACP,mBAAmB;CACnB,YAAY;CACZ,cAAc;CACd,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,oBAAoB;CACpB,aAAa;CACb,MAAM;CACN,MAAM;CACN,QAAQ;CACR,YAAY;CACZ,kBAAkB;CAClB,aAAa;CACb,UAAU;CACV,YAAY;
|
|
1
|
+
{"version":3,"file":"resource_types.js","names":[],"sources":["../src/resource_types.ts"],"sourcesContent":["/** Well-known resource type names used across the platform. */\nexport const ResourceTypeName = {\n StreamManager: \"StreamManager\",\n StdMap: \"StdMap\",\n StdMapSlash: \"std/map\",\n EphStdMap: \"EphStdMap\",\n PFrame: \"PFrame\",\n ParquetChunk: \"ParquetChunk\",\n BContext: \"BContext\",\n BlockPackCustom: \"BlockPackCustom\",\n BinaryMap: \"BinaryMap\",\n BinaryValue: \"BinaryValue\",\n BlobMap: \"BlobMap\",\n BResolveSingle: \"BResolveSingle\",\n BResolveSingleNoResult: \"BResolveSingleNoResult\",\n BQueryResult: \"BQueryResult\",\n TengoTemplate: \"TengoTemplate\",\n TengoLib: \"TengoLib\",\n SoftwareInfo: \"SoftwareInfo\",\n Dummy: \"Dummy\",\n JsonResourceError: \"json/resourceError\",\n JsonObject: \"json/object\",\n JsonGzObject: \"json-gz/object\",\n JsonString: \"json/string\",\n JsonArray: \"json/array\",\n JsonNumber: \"json/number\",\n BContextEnd: \"BContextEnd\",\n FrontendFromUrl: \"Frontend/FromUrl\",\n FrontendFromFolder: \"Frontend/FromFolder\",\n BObjectSpec: \"BObjectSpec\",\n Blob: \"Blob\",\n Null: \"Null\",\n Binary: \"binary\",\n LSProvider: \"LSProvider\",\n WorkingDirectory: \"WorkingDirectory\",\n UserProject: \"UserProject\",\n Projects: \"Projects\",\n ClientRoot: \"ClientRoot\",\n SharingOutbox: \"SharingOutbox\",\n SharingState: \"SharingState\",\n SharedEnvelope: \"SharedEnvelope\",\n} as const;\n\n/** Resource type name prefix constants. */\nexport const ResourceTypePrefix = {\n Blob: \"Blob/\",\n LS: \"LS/\",\n WorkingDirectory: \"WorkingDirectory/\",\n StorageSpaceAllocation: \"StorageSpaceAllocation/\",\n BlobUpload: \"BlobUpload/\",\n BlobIndex: \"BlobIndex/\",\n PColumnData: \"PColumnData/\",\n StreamWorkdir: \"StreamWorkdir/\",\n} as const;\n"],"mappings":";;AACA,MAAa,mBAAmB;CAC9B,eAAe;CACf,QAAQ;CACR,aAAa;CACb,WAAW;CACX,QAAQ;CACR,cAAc;CACd,UAAU;CACV,iBAAiB;CACjB,WAAW;CACX,aAAa;CACb,SAAS;CACT,gBAAgB;CAChB,wBAAwB;CACxB,cAAc;CACd,eAAe;CACf,UAAU;CACV,cAAc;CACd,OAAO;CACP,mBAAmB;CACnB,YAAY;CACZ,cAAc;CACd,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,oBAAoB;CACpB,aAAa;CACb,MAAM;CACN,MAAM;CACN,QAAQ;CACR,YAAY;CACZ,kBAAkB;CAClB,aAAa;CACb,UAAU;CACV,YAAY;CACZ,eAAe;CACf,cAAc;CACd,gBAAgB;AAClB;;AAGA,MAAa,qBAAqB;CAChC,MAAM;CACN,IAAI;CACJ,kBAAkB;CAClB,wBAAwB;CACxB,YAAY;CACZ,WAAW;CACX,aAAa;CACb,eAAe;AACjB"}
|
package/dist/services/index.cjs
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
|
-
require("./service_types.cjs");
|
|
2
|
-
require("./service_registry.cjs");
|
|
3
|
-
require("./service_declarations.cjs");
|
|
4
|
-
require("./service_capabilities.cjs");
|
|
5
|
-
require("./node_service_handlers.cjs");
|
|
6
|
-
require("./service_injectors.cjs");
|
|
1
|
+
const require_service_types = require("./service_types.cjs");
|
|
2
|
+
const require_service_registry = require("./service_registry.cjs");
|
|
3
|
+
const require_service_declarations = require("./service_declarations.cjs");
|
|
4
|
+
const require_service_capabilities = require("./service_capabilities.cjs");
|
|
5
|
+
const require_node_service_handlers = require("./node_service_handlers.cjs");
|
|
6
|
+
const require_service_injectors = require("./service_injectors.cjs");
|
|
7
|
+
exports.MODEL_SERVICE_METHOD_MAP = require_service_injectors.MODEL_SERVICE_METHOD_MAP;
|
|
8
|
+
exports.ModelServiceRegistry = require_service_registry.ModelServiceRegistry;
|
|
9
|
+
exports.SERVICE_CAPABILITY_FLAGS = require_service_capabilities.SERVICE_CAPABILITY_FLAGS;
|
|
10
|
+
exports.SERVICE_FEATURE_FLAGS = require_service_capabilities.SERVICE_FEATURE_FLAGS;
|
|
11
|
+
exports.SERVICE_METHOD_MAP = require_service_injectors.SERVICE_METHOD_MAP;
|
|
12
|
+
exports.Services = require_service_declarations.Services;
|
|
13
|
+
exports.UiServiceRegistry = require_service_registry.UiServiceRegistry;
|
|
14
|
+
exports.buildServiceInfo = require_service_injectors.buildServiceInfo;
|
|
15
|
+
exports.createNodeServiceHandlers = require_node_service_handlers.createNodeServiceHandlers;
|
|
16
|
+
exports.getMethodNames = require_service_capabilities.getMethodNames;
|
|
17
|
+
exports.getServiceKind = require_service_types.getServiceKind;
|
|
18
|
+
exports.getServiceModelMethods = require_service_types.getServiceModelMethods;
|
|
19
|
+
exports.getServiceUiMethods = require_service_types.getServiceUiMethods;
|
|
20
|
+
exports.isKnownServiceName = require_service_capabilities.isKnownServiceName;
|
|
21
|
+
exports.isMainService = require_service_types.isMainService;
|
|
22
|
+
exports.isNodeService = require_service_types.isNodeService;
|
|
23
|
+
exports.isWasmService = require_service_types.isWasmService;
|
|
24
|
+
exports.registerServiceCapabilities = require_service_capabilities.registerServiceCapabilities;
|
|
25
|
+
exports.resolveNodeServiceHandler = require_service_injectors.resolveNodeServiceHandler;
|
|
26
|
+
exports.resolveRequiredServices = require_service_capabilities.resolveRequiredServices;
|
|
27
|
+
exports.service = require_service_types.service;
|
|
28
|
+
exports.serviceFnKey = require_service_types.serviceFnKey;
|
package/dist/services/index.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ import { InferServiceKind, InferServiceModel, InferServiceUi, ModelServiceFactor
|
|
|
3
3
|
import { ModelServiceRegistry, UiServiceRegistry } from "./service_registry.js";
|
|
4
4
|
import { KnownServiceName, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./service_capabilities.js";
|
|
5
5
|
import { createNodeServiceHandlers } from "./node_service_handlers.js";
|
|
6
|
-
import { MODEL_SERVICE_METHOD_MAP, NodeServiceHandlerMap, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler } from "./service_injectors.js";
|
|
6
|
+
import { MODEL_SERVICE_METHOD_MAP, NodeServiceHandlerMap, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler } from "./service_injectors.js";
|
|
7
|
+
export { InferServiceKind, InferServiceModel, InferServiceUi, KnownServiceName, MODEL_SERVICE_METHOD_MAP, ModelServiceFactoryMap, ModelServiceRegistry, ModelServices, NodeServiceHandlerMap, RequireServices, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, ServiceBrand, ServiceDispatch, ServiceName, ServiceNameLiterals, ServiceRequireFlags, ServiceType, ServiceTypesLike, Services, UiServiceFactoryMap, UiServiceRegistry, UiServices, buildServiceInfo, createNodeServiceHandlers, getMethodNames, getServiceKind, getServiceModelMethods, getServiceUiMethods, isKnownServiceName, isMainService, isNodeService, isWasmService, registerServiceCapabilities, resolveNodeServiceHandler, resolveRequiredServices, service, serviceFnKey };
|
package/dist/services/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import "./service_types.js";
|
|
2
|
-
import "./service_registry.js";
|
|
3
|
-
import "./service_declarations.js";
|
|
4
|
-
import "./service_capabilities.js";
|
|
5
|
-
import "./node_service_handlers.js";
|
|
6
|
-
import "./service_injectors.js";
|
|
1
|
+
import { getServiceKind, getServiceModelMethods, getServiceUiMethods, isMainService, isNodeService, isWasmService, service, serviceFnKey } from "./service_types.js";
|
|
2
|
+
import { ModelServiceRegistry, UiServiceRegistry } from "./service_registry.js";
|
|
3
|
+
import { Services } from "./service_declarations.js";
|
|
4
|
+
import { SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, getMethodNames, isKnownServiceName, registerServiceCapabilities, resolveRequiredServices } from "./service_capabilities.js";
|
|
5
|
+
import { createNodeServiceHandlers } from "./node_service_handlers.js";
|
|
6
|
+
import { MODEL_SERVICE_METHOD_MAP, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler } from "./service_injectors.js";
|
|
7
|
+
export { MODEL_SERVICE_METHOD_MAP, ModelServiceRegistry, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, Services, UiServiceRegistry, buildServiceInfo, createNodeServiceHandlers, getMethodNames, getServiceKind, getServiceModelMethods, getServiceUiMethods, isKnownServiceName, isMainService, isNodeService, isWasmService, registerServiceCapabilities, resolveNodeServiceHandler, resolveRequiredServices, service, serviceFnKey };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_service_handlers.cjs","names":[],"sources":["../../src/services/node_service_handlers.ts"],"sourcesContent":["/**\n * Worker-side dispatch table for `node`-kind services.\n *\n * Each entry maps a method name to a closure that calls the real driver\n * inside the worker process. Used by `callServiceMethod` in the worker\n * (see `platforma-desktop-app/packages/worker/src/workerApi.ts`) to route\n * incoming IPC calls to concrete driver methods.\n *\n * NOT used for:\n * - `wasm` services — instantiated locally on each consumer (no IPC).\n * - `main` services — dispatched in the Electron main process via its\n * own router, never reaches the worker.\n */\n\nimport type { DriverKit } from \"../driver_kit\";\nimport type { NodeServiceHandlerMap } from \"./service_injectors\";\n\nexport function createNodeServiceHandlers(driverKit: DriverKit): NodeServiceHandlerMap {\n const { pFrameDriver } = driverKit;\n return {\n PFrame: {\n findColumns: (handle, request) => pFrameDriver.findColumns(handle, request),\n getColumnSpec: (handle, columnId) => pFrameDriver.getColumnSpec(handle, columnId),\n listColumns: (handle) => pFrameDriver.listColumns(handle),\n calculateTableData: (handle, request, range) =>\n pFrameDriver.calculateTableData(handle, request, range),\n getUniqueValues: (handle, request) => pFrameDriver.getUniqueValues(handle, request),\n getShape: (handle) => pFrameDriver.getShape(handle),\n getSpec: (handle) => pFrameDriver.getSpec(handle),\n getData: (handle, columnIndices, range) => pFrameDriver.getData(handle, columnIndices, range),\n writePTableToFs: (handle, options) => pFrameDriver.writePTableToFs(handle, options),\n exportPTable: (handle, options) => pFrameDriver.exportPTable(handle, options),\n },\n };\n}\n"],"mappings":";AAiBA,SAAgB,0BAA0B,WAA6C;CACrF,MAAM,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"node_service_handlers.cjs","names":[],"sources":["../../src/services/node_service_handlers.ts"],"sourcesContent":["/**\n * Worker-side dispatch table for `node`-kind services.\n *\n * Each entry maps a method name to a closure that calls the real driver\n * inside the worker process. Used by `callServiceMethod` in the worker\n * (see `platforma-desktop-app/packages/worker/src/workerApi.ts`) to route\n * incoming IPC calls to concrete driver methods.\n *\n * NOT used for:\n * - `wasm` services — instantiated locally on each consumer (no IPC).\n * - `main` services — dispatched in the Electron main process via its\n * own router, never reaches the worker.\n */\n\nimport type { DriverKit } from \"../driver_kit\";\nimport type { NodeServiceHandlerMap } from \"./service_injectors\";\n\nexport function createNodeServiceHandlers(driverKit: DriverKit): NodeServiceHandlerMap {\n const { pFrameDriver } = driverKit;\n return {\n PFrame: {\n findColumns: (handle, request) => pFrameDriver.findColumns(handle, request),\n getColumnSpec: (handle, columnId) => pFrameDriver.getColumnSpec(handle, columnId),\n listColumns: (handle) => pFrameDriver.listColumns(handle),\n calculateTableData: (handle, request, range) =>\n pFrameDriver.calculateTableData(handle, request, range),\n getUniqueValues: (handle, request) => pFrameDriver.getUniqueValues(handle, request),\n getShape: (handle) => pFrameDriver.getShape(handle),\n getSpec: (handle) => pFrameDriver.getSpec(handle),\n getData: (handle, columnIndices, range) => pFrameDriver.getData(handle, columnIndices, range),\n writePTableToFs: (handle, options) => pFrameDriver.writePTableToFs(handle, options),\n exportPTable: (handle, options) => pFrameDriver.exportPTable(handle, options),\n },\n };\n}\n"],"mappings":";AAiBA,SAAgB,0BAA0B,WAA6C;CACrF,MAAM,EAAE,iBAAiB;CACzB,OAAO,EACL,QAAQ;EACN,cAAc,QAAQ,YAAY,aAAa,YAAY,QAAQ,OAAO;EAC1E,gBAAgB,QAAQ,aAAa,aAAa,cAAc,QAAQ,QAAQ;EAChF,cAAc,WAAW,aAAa,YAAY,MAAM;EACxD,qBAAqB,QAAQ,SAAS,UACpC,aAAa,mBAAmB,QAAQ,SAAS,KAAK;EACxD,kBAAkB,QAAQ,YAAY,aAAa,gBAAgB,QAAQ,OAAO;EAClF,WAAW,WAAW,aAAa,SAAS,MAAM;EAClD,UAAU,WAAW,aAAa,QAAQ,MAAM;EAChD,UAAU,QAAQ,eAAe,UAAU,aAAa,QAAQ,QAAQ,eAAe,KAAK;EAC5F,kBAAkB,QAAQ,YAAY,aAAa,gBAAgB,QAAQ,OAAO;EAClF,eAAe,QAAQ,YAAY,aAAa,aAAa,QAAQ,OAAO;CAC9E,EACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_service_handlers.d.ts","names":[],"sources":["../../src/services/node_service_handlers.ts"],"mappings":";;;;iBAiBgB,yBAAA,CAA0B,SAAA,EAAW,SAAA,GAAY,
|
|
1
|
+
{"version":3,"file":"node_service_handlers.d.ts","names":[],"sources":["../../src/services/node_service_handlers.ts"],"mappings":";;;;iBAiBgB,yBAAA,CAA0B,SAAA,EAAW,SAAA,GAAY,qBAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node_service_handlers.js","names":[],"sources":["../../src/services/node_service_handlers.ts"],"sourcesContent":["/**\n * Worker-side dispatch table for `node`-kind services.\n *\n * Each entry maps a method name to a closure that calls the real driver\n * inside the worker process. Used by `callServiceMethod` in the worker\n * (see `platforma-desktop-app/packages/worker/src/workerApi.ts`) to route\n * incoming IPC calls to concrete driver methods.\n *\n * NOT used for:\n * - `wasm` services — instantiated locally on each consumer (no IPC).\n * - `main` services — dispatched in the Electron main process via its\n * own router, never reaches the worker.\n */\n\nimport type { DriverKit } from \"../driver_kit\";\nimport type { NodeServiceHandlerMap } from \"./service_injectors\";\n\nexport function createNodeServiceHandlers(driverKit: DriverKit): NodeServiceHandlerMap {\n const { pFrameDriver } = driverKit;\n return {\n PFrame: {\n findColumns: (handle, request) => pFrameDriver.findColumns(handle, request),\n getColumnSpec: (handle, columnId) => pFrameDriver.getColumnSpec(handle, columnId),\n listColumns: (handle) => pFrameDriver.listColumns(handle),\n calculateTableData: (handle, request, range) =>\n pFrameDriver.calculateTableData(handle, request, range),\n getUniqueValues: (handle, request) => pFrameDriver.getUniqueValues(handle, request),\n getShape: (handle) => pFrameDriver.getShape(handle),\n getSpec: (handle) => pFrameDriver.getSpec(handle),\n getData: (handle, columnIndices, range) => pFrameDriver.getData(handle, columnIndices, range),\n writePTableToFs: (handle, options) => pFrameDriver.writePTableToFs(handle, options),\n exportPTable: (handle, options) => pFrameDriver.exportPTable(handle, options),\n },\n };\n}\n"],"mappings":";AAiBA,SAAgB,0BAA0B,WAA6C;CACrF,MAAM,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"node_service_handlers.js","names":[],"sources":["../../src/services/node_service_handlers.ts"],"sourcesContent":["/**\n * Worker-side dispatch table for `node`-kind services.\n *\n * Each entry maps a method name to a closure that calls the real driver\n * inside the worker process. Used by `callServiceMethod` in the worker\n * (see `platforma-desktop-app/packages/worker/src/workerApi.ts`) to route\n * incoming IPC calls to concrete driver methods.\n *\n * NOT used for:\n * - `wasm` services — instantiated locally on each consumer (no IPC).\n * - `main` services — dispatched in the Electron main process via its\n * own router, never reaches the worker.\n */\n\nimport type { DriverKit } from \"../driver_kit\";\nimport type { NodeServiceHandlerMap } from \"./service_injectors\";\n\nexport function createNodeServiceHandlers(driverKit: DriverKit): NodeServiceHandlerMap {\n const { pFrameDriver } = driverKit;\n return {\n PFrame: {\n findColumns: (handle, request) => pFrameDriver.findColumns(handle, request),\n getColumnSpec: (handle, columnId) => pFrameDriver.getColumnSpec(handle, columnId),\n listColumns: (handle) => pFrameDriver.listColumns(handle),\n calculateTableData: (handle, request, range) =>\n pFrameDriver.calculateTableData(handle, request, range),\n getUniqueValues: (handle, request) => pFrameDriver.getUniqueValues(handle, request),\n getShape: (handle) => pFrameDriver.getShape(handle),\n getSpec: (handle) => pFrameDriver.getSpec(handle),\n getData: (handle, columnIndices, range) => pFrameDriver.getData(handle, columnIndices, range),\n writePTableToFs: (handle, options) => pFrameDriver.writePTableToFs(handle, options),\n exportPTable: (handle, options) => pFrameDriver.exportPTable(handle, options),\n },\n };\n}\n"],"mappings":";AAiBA,SAAgB,0BAA0B,WAA6C;CACrF,MAAM,EAAE,iBAAiB;CACzB,OAAO,EACL,QAAQ;EACN,cAAc,QAAQ,YAAY,aAAa,YAAY,QAAQ,OAAO;EAC1E,gBAAgB,QAAQ,aAAa,aAAa,cAAc,QAAQ,QAAQ;EAChF,cAAc,WAAW,aAAa,YAAY,MAAM;EACxD,qBAAqB,QAAQ,SAAS,UACpC,aAAa,mBAAmB,QAAQ,SAAS,KAAK;EACxD,kBAAkB,QAAQ,YAAY,aAAa,gBAAgB,QAAQ,OAAO;EAClF,WAAW,WAAW,aAAa,SAAS,MAAM;EAClD,UAAU,WAAW,aAAa,QAAQ,MAAM;EAChD,UAAU,QAAQ,eAAe,UAAU,aAAa,QAAQ,QAAQ,eAAe,KAAK;EAC5F,kBAAkB,QAAQ,YAAY,aAAa,gBAAgB,QAAQ,OAAO;EAClF,eAAe,QAAQ,YAAY,aAAa,aAAa,QAAQ,OAAO;CAC9E,EACF;AACF"}
|
|
@@ -34,7 +34,10 @@ function getMethodNames(instance) {
|
|
|
34
34
|
const methods = /* @__PURE__ */ new Set();
|
|
35
35
|
let proto = instance;
|
|
36
36
|
while (proto && proto !== Object.prototype) {
|
|
37
|
-
for (const key of Object.getOwnPropertyNames(proto))
|
|
37
|
+
for (const key of Object.getOwnPropertyNames(proto)) {
|
|
38
|
+
const descriptor = Object.getOwnPropertyDescriptor(proto, key);
|
|
39
|
+
if (key !== "constructor" && typeof descriptor?.value === "function") methods.add(key);
|
|
40
|
+
}
|
|
38
41
|
proto = Object.getPrototypeOf(proto);
|
|
39
42
|
}
|
|
40
43
|
return [...methods];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_capabilities.cjs","names":["Services"],"sources":["../../src/services/service_capabilities.ts"],"sourcesContent":["import type { ServiceName, ServiceRequireFlags } from \"./service_types\";\nimport { Services } from \"./service_declarations\";\nimport type { SupportedRequirement } from \"../flags/flag_utils\";\n\n/**\n * All service-related `requires*` capability flag names, auto-derived from Services.\n * Single source of truth — use this everywhere runtime capabilities are registered.\n */\nexport const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[] = Object.keys(Services).map(\n (key) => `requires${key}` as SupportedRequirement,\n);\n\n/**\n * Register all service capability flags with the given callback.\n * Works with both `RuntimeCapabilities.addSupportedRequirement`\n * and `MiddleLayer.addRuntimeCapability`.\n */\nexport function registerServiceCapabilities(\n register: (flag: SupportedRequirement, value: true) => void,\n): void {\n for (const flag of SERVICE_CAPABILITY_FLAGS) {\n register(flag, true);\n }\n}\n\n/**\n * Resolve which services are required by the given feature flags.\n * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags\n * (from middle layer) and Zod-parsed records (from preload).\n */\nexport function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[] {\n if (!flags) return [];\n return (Object.keys(Services) as (keyof typeof Services)[])\n .filter((key) => flags[`requires${key}`] === true)\n .map((key) => Services[key]);\n}\n\nexport type KnownServiceName = (typeof Services)[keyof typeof Services] & string;\n\nexport function isKnownServiceName(name: string): name is KnownServiceName {\n return Object.values(Services).some((v) => v === name);\n}\n\n/** All service require flags set to true, auto-generated from Services.\n * Used to distinguish service-related feature flags from non-service flags. */\nexport const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true } =\n Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true])) as any;\n\n/** Introspect method names on an instance (including prototype chain).\n * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */\nexport function getMethodNames<T extends object>(instance: T): string[] {\n const methods = new Set<string>();\n let proto: object | null = instance;\n while (proto && proto !== Object.prototype) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (key !== \"constructor\" && typeof descriptor?.value === \"function\") {\n methods.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return [...methods];\n}\n"],"mappings":";;;;;;AAQA,MAAa,2BAA4D,OAAO,KAAKA,6BAAAA,
|
|
1
|
+
{"version":3,"file":"service_capabilities.cjs","names":["Services"],"sources":["../../src/services/service_capabilities.ts"],"sourcesContent":["import type { ServiceName, ServiceRequireFlags } from \"./service_types\";\nimport { Services } from \"./service_declarations\";\nimport type { SupportedRequirement } from \"../flags/flag_utils\";\n\n/**\n * All service-related `requires*` capability flag names, auto-derived from Services.\n * Single source of truth — use this everywhere runtime capabilities are registered.\n */\nexport const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[] = Object.keys(Services).map(\n (key) => `requires${key}` as SupportedRequirement,\n);\n\n/**\n * Register all service capability flags with the given callback.\n * Works with both `RuntimeCapabilities.addSupportedRequirement`\n * and `MiddleLayer.addRuntimeCapability`.\n */\nexport function registerServiceCapabilities(\n register: (flag: SupportedRequirement, value: true) => void,\n): void {\n for (const flag of SERVICE_CAPABILITY_FLAGS) {\n register(flag, true);\n }\n}\n\n/**\n * Resolve which services are required by the given feature flags.\n * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags\n * (from middle layer) and Zod-parsed records (from preload).\n */\nexport function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[] {\n if (!flags) return [];\n return (Object.keys(Services) as (keyof typeof Services)[])\n .filter((key) => flags[`requires${key}`] === true)\n .map((key) => Services[key]);\n}\n\nexport type KnownServiceName = (typeof Services)[keyof typeof Services] & string;\n\nexport function isKnownServiceName(name: string): name is KnownServiceName {\n return Object.values(Services).some((v) => v === name);\n}\n\n/** All service require flags set to true, auto-generated from Services.\n * Used to distinguish service-related feature flags from non-service flags. */\nexport const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true } =\n Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true])) as any;\n\n/** Introspect method names on an instance (including prototype chain).\n * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */\nexport function getMethodNames<T extends object>(instance: T): string[] {\n const methods = new Set<string>();\n let proto: object | null = instance;\n while (proto && proto !== Object.prototype) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (key !== \"constructor\" && typeof descriptor?.value === \"function\") {\n methods.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return [...methods];\n}\n"],"mappings":";;;;;;AAQA,MAAa,2BAA4D,OAAO,KAAKA,6BAAAA,QAAQ,CAAC,CAAC,KAC5F,QAAQ,WAAW,KACtB;;;;;;AAOA,SAAgB,4BACd,UACM;CACN,KAAK,MAAM,QAAQ,0BACjB,SAAS,MAAM,IAAI;AAEvB;;;;;;AAOA,SAAgB,wBAAwB,OAA2D;CACjG,IAAI,CAAC,OAAO,OAAO,CAAC;CACpB,OAAQ,OAAO,KAAKA,6BAAAA,QAAQ,CAAC,CAC1B,QAAQ,QAAQ,MAAM,WAAW,WAAW,IAAI,CAAC,CACjD,KAAK,QAAQA,6BAAAA,SAAS,IAAI;AAC/B;AAIA,SAAgB,mBAAmB,MAAwC;CACzE,OAAO,OAAO,OAAOA,6BAAAA,QAAQ,CAAC,CAAC,MAAM,MAAM,MAAM,IAAI;AACvD;;;AAIA,MAAa,wBACX,OAAO,YAAY,OAAO,KAAKA,6BAAAA,QAAQ,CAAC,CAAC,KAAK,QAAQ,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC;;;AAIjF,SAAgB,eAAiC,UAAuB;CACtE,MAAM,0BAAU,IAAI,IAAY;CAChC,IAAI,QAAuB;CAC3B,OAAO,SAAS,UAAU,OAAO,WAAW;EAC1C,KAAK,MAAM,OAAO,OAAO,oBAAoB,KAAK,GAAG;GACnD,MAAM,aAAa,OAAO,yBAAyB,OAAO,GAAG;GAC7D,IAAI,QAAQ,iBAAiB,OAAO,YAAY,UAAU,YACxD,QAAQ,IAAI,GAAG;EAEnB;EACA,QAAQ,OAAO,eAAe,KAAK;CACrC;CACA,OAAO,CAAC,GAAG,OAAO;AACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_capabilities.d.ts","names":[],"sources":["../../src/services/service_capabilities.ts"],"mappings":";;;;;;;AAQA;;cAAa,wBAAA,WAAmC,
|
|
1
|
+
{"version":3,"file":"service_capabilities.d.ts","names":[],"sources":["../../src/services/service_capabilities.ts"],"mappings":";;;;;;;AAQA;;cAAa,wBAAA,WAAmC,oBAAoB;;AAAA;AASpE;;;iBAAgB,2BAAA,CACd,QAAA,GAAW,IAAA,EAAM,oBAAoB,EAAE,KAAA;;;;;;iBAYzB,uBAAA,CAAwB,KAAA,EAAO,MAAA,gCAAsC,WAAW;AAAA,KAOpF,gBAAA,WAA2B,QAAA,eAAuB,QAAQ;AAAA,iBAEtD,kBAAA,CAAmB,IAAA,WAAe,IAAA,IAAQ,gBAAgB;;;cAM7D,qBAAA,yBAA8C,mBAAmB;;AAfkB;iBAoBhF,cAAA,mBAAiC,QAAA,EAAU,CAAC"}
|
|
@@ -34,7 +34,10 @@ function getMethodNames(instance) {
|
|
|
34
34
|
const methods = /* @__PURE__ */ new Set();
|
|
35
35
|
let proto = instance;
|
|
36
36
|
while (proto && proto !== Object.prototype) {
|
|
37
|
-
for (const key of Object.getOwnPropertyNames(proto))
|
|
37
|
+
for (const key of Object.getOwnPropertyNames(proto)) {
|
|
38
|
+
const descriptor = Object.getOwnPropertyDescriptor(proto, key);
|
|
39
|
+
if (key !== "constructor" && typeof descriptor?.value === "function") methods.add(key);
|
|
40
|
+
}
|
|
38
41
|
proto = Object.getPrototypeOf(proto);
|
|
39
42
|
}
|
|
40
43
|
return [...methods];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_capabilities.js","names":[],"sources":["../../src/services/service_capabilities.ts"],"sourcesContent":["import type { ServiceName, ServiceRequireFlags } from \"./service_types\";\nimport { Services } from \"./service_declarations\";\nimport type { SupportedRequirement } from \"../flags/flag_utils\";\n\n/**\n * All service-related `requires*` capability flag names, auto-derived from Services.\n * Single source of truth — use this everywhere runtime capabilities are registered.\n */\nexport const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[] = Object.keys(Services).map(\n (key) => `requires${key}` as SupportedRequirement,\n);\n\n/**\n * Register all service capability flags with the given callback.\n * Works with both `RuntimeCapabilities.addSupportedRequirement`\n * and `MiddleLayer.addRuntimeCapability`.\n */\nexport function registerServiceCapabilities(\n register: (flag: SupportedRequirement, value: true) => void,\n): void {\n for (const flag of SERVICE_CAPABILITY_FLAGS) {\n register(flag, true);\n }\n}\n\n/**\n * Resolve which services are required by the given feature flags.\n * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags\n * (from middle layer) and Zod-parsed records (from preload).\n */\nexport function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[] {\n if (!flags) return [];\n return (Object.keys(Services) as (keyof typeof Services)[])\n .filter((key) => flags[`requires${key}`] === true)\n .map((key) => Services[key]);\n}\n\nexport type KnownServiceName = (typeof Services)[keyof typeof Services] & string;\n\nexport function isKnownServiceName(name: string): name is KnownServiceName {\n return Object.values(Services).some((v) => v === name);\n}\n\n/** All service require flags set to true, auto-generated from Services.\n * Used to distinguish service-related feature flags from non-service flags. */\nexport const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true } =\n Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true])) as any;\n\n/** Introspect method names on an instance (including prototype chain).\n * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */\nexport function getMethodNames<T extends object>(instance: T): string[] {\n const methods = new Set<string>();\n let proto: object | null = instance;\n while (proto && proto !== Object.prototype) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (key !== \"constructor\" && typeof descriptor?.value === \"function\") {\n methods.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return [...methods];\n}\n"],"mappings":";;;;;;AAQA,MAAa,2BAA4D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"service_capabilities.js","names":[],"sources":["../../src/services/service_capabilities.ts"],"sourcesContent":["import type { ServiceName, ServiceRequireFlags } from \"./service_types\";\nimport { Services } from \"./service_declarations\";\nimport type { SupportedRequirement } from \"../flags/flag_utils\";\n\n/**\n * All service-related `requires*` capability flag names, auto-derived from Services.\n * Single source of truth — use this everywhere runtime capabilities are registered.\n */\nexport const SERVICE_CAPABILITY_FLAGS: readonly SupportedRequirement[] = Object.keys(Services).map(\n (key) => `requires${key}` as SupportedRequirement,\n);\n\n/**\n * Register all service capability flags with the given callback.\n * Works with both `RuntimeCapabilities.addSupportedRequirement`\n * and `MiddleLayer.addRuntimeCapability`.\n */\nexport function registerServiceCapabilities(\n register: (flag: SupportedRequirement, value: true) => void,\n): void {\n for (const flag of SERVICE_CAPABILITY_FLAGS) {\n register(flag, true);\n }\n}\n\n/**\n * Resolve which services are required by the given feature flags.\n * Accepts Record<string, unknown> so it works with both BlockCodeKnownFeatureFlags\n * (from middle layer) and Zod-parsed records (from preload).\n */\nexport function resolveRequiredServices(flags: Record<string, unknown> | undefined): ServiceName[] {\n if (!flags) return [];\n return (Object.keys(Services) as (keyof typeof Services)[])\n .filter((key) => flags[`requires${key}`] === true)\n .map((key) => Services[key]);\n}\n\nexport type KnownServiceName = (typeof Services)[keyof typeof Services] & string;\n\nexport function isKnownServiceName(name: string): name is KnownServiceName {\n return Object.values(Services).some((v) => v === name);\n}\n\n/** All service require flags set to true, auto-generated from Services.\n * Used to distinguish service-related feature flags from non-service flags. */\nexport const SERVICE_FEATURE_FLAGS: { readonly [K in keyof ServiceRequireFlags]-?: true } =\n Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true])) as any;\n\n/** Introspect method names on an instance (including prototype chain).\n * Uses Object.getOwnPropertyDescriptor to avoid triggering getters. */\nexport function getMethodNames<T extends object>(instance: T): string[] {\n const methods = new Set<string>();\n let proto: object | null = instance;\n while (proto && proto !== Object.prototype) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n if (key !== \"constructor\" && typeof descriptor?.value === \"function\") {\n methods.add(key);\n }\n }\n proto = Object.getPrototypeOf(proto);\n }\n return [...methods];\n}\n"],"mappings":";;;;;;AAQA,MAAa,2BAA4D,OAAO,KAAK,QAAQ,CAAC,CAAC,KAC5F,QAAQ,WAAW,KACtB;;;;;;AAOA,SAAgB,4BACd,UACM;CACN,KAAK,MAAM,QAAQ,0BACjB,SAAS,MAAM,IAAI;AAEvB;;;;;;AAOA,SAAgB,wBAAwB,OAA2D;CACjG,IAAI,CAAC,OAAO,OAAO,CAAC;CACpB,OAAQ,OAAO,KAAK,QAAQ,CAAC,CAC1B,QAAQ,QAAQ,MAAM,WAAW,WAAW,IAAI,CAAC,CACjD,KAAK,QAAQ,SAAS,IAAI;AAC/B;AAIA,SAAgB,mBAAmB,MAAwC;CACzE,OAAO,OAAO,OAAO,QAAQ,CAAC,CAAC,MAAM,MAAM,MAAM,IAAI;AACvD;;;AAIA,MAAa,wBACX,OAAO,YAAY,OAAO,KAAK,QAAQ,CAAC,CAAC,KAAK,QAAQ,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC;;;AAIjF,SAAgB,eAAiC,UAAuB;CACtE,MAAM,0BAAU,IAAI,IAAY;CAChC,IAAI,QAAuB;CAC3B,OAAO,SAAS,UAAU,OAAO,WAAW;EAC1C,KAAK,MAAM,OAAO,OAAO,oBAAoB,KAAK,GAAG;GACnD,MAAM,aAAa,OAAO,yBAAyB,OAAO,GAAG;GAC7D,IAAI,QAAQ,iBAAiB,OAAO,YAAY,UAAU,YACxD,QAAQ,IAAI,GAAG;EAEnB;EACA,QAAQ,OAAO,eAAe,KAAK;CACrC;CACA,OAAO,CAAC,GAAG,OAAO;AACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_declarations.cjs","names":["service"],"sources":["../../src/services/service_declarations.ts"],"sourcesContent":["/**\n * Service declarations — add new services here.\n *\n * `modelMethods` / `uiMethods` lists are the single source of truth for\n * method names exposed on each side. They drive SERVICE_METHOD_MAP (UI\n * ServiceProxy forwarders) and MODEL_SERVICE_METHOD_MAP (workflow VM\n * bridge), so node/main/wasm split no longer needs introspection stubs.\n *\n * After adding a service, fix type errors in these files:\n *\n * Model side:\n * - lib/node/pl-middle-layer/src/js_render/service_injectors.ts — VM bridge for workflow scripts\n * - lib/node/pl-middle-layer/src/middle_layer/middle_layer.ts — ModelServiceRegistry factory\n *\n * UI side:\n * - lib/model/common/src/services/node_service_handlers.ts — driver method wrappers (node services only)\n * - sdk/ui-vue/src/internal/createAppV3.ts — UiServiceRegistry factory\n *\n * Electron main side (only for `main` services):\n * - platforma-desktop-app/packages/main/src/services/mainServices.ts — main-process dispatcher\n *\n * Optional:\n * - sdk/model/src/services/block_service_flags.ts — only if default-required by all blocks\n */\n\nimport type { DialogService } from \"../dialog\";\nimport type { PFrameDriver, PFrameModelDriver } from \"../drivers/pframe/driver\";\nimport type { PFrameSpecDriver } from \"../drivers/pframe/spec_driver\";\nimport { service } from \"./service_types\";\n\nexport const Services = {\n PFrameSpec: service<PFrameSpecDriver, PFrameSpecDriver>()({\n type: \"wasm\",\n name: \"pframeSpec\",\n modelMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n uiMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n }),\n PFrame: service<PFrameModelDriver, PFrameDriver>()({\n type: \"node\",\n name: \"pframe\",\n modelMethods: [\"createPFrame\", \"createPTable\", \"createPTableV2\"] as const,\n uiMethods: [\n \"findColumns\",\n \"getColumnSpec\",\n \"listColumns\",\n \"calculateTableData\",\n \"getUniqueValues\",\n \"getShape\",\n \"getSpec\",\n \"getData\",\n \"writePTableToFs\",\n \"exportPTable\",\n ] as const,\n }),\n Dialog: service<Record<string, never>, DialogService>()({\n type: \"main\",\n name: \"dialog\",\n modelMethods: [] as const,\n uiMethods: [\"showSaveDialog\"] as const,\n }),\n};\n"],"mappings":";;AA8BA,MAAa,WAAW;CACtB,YAAYA,sBAAAA,
|
|
1
|
+
{"version":3,"file":"service_declarations.cjs","names":["service"],"sources":["../../src/services/service_declarations.ts"],"sourcesContent":["/**\n * Service declarations — add new services here.\n *\n * `modelMethods` / `uiMethods` lists are the single source of truth for\n * method names exposed on each side. They drive SERVICE_METHOD_MAP (UI\n * ServiceProxy forwarders) and MODEL_SERVICE_METHOD_MAP (workflow VM\n * bridge), so node/main/wasm split no longer needs introspection stubs.\n *\n * After adding a service, fix type errors in these files:\n *\n * Model side:\n * - lib/node/pl-middle-layer/src/js_render/service_injectors.ts — VM bridge for workflow scripts\n * - lib/node/pl-middle-layer/src/middle_layer/middle_layer.ts — ModelServiceRegistry factory\n *\n * UI side:\n * - lib/model/common/src/services/node_service_handlers.ts — driver method wrappers (node services only)\n * - sdk/ui-vue/src/internal/createAppV3.ts — UiServiceRegistry factory\n *\n * Electron main side (only for `main` services):\n * - platforma-desktop-app/packages/main/src/services/mainServices.ts — main-process dispatcher\n *\n * Optional:\n * - sdk/model/src/services/block_service_flags.ts — only if default-required by all blocks\n */\n\nimport type { DialogService } from \"../dialog\";\nimport type { PFrameDriver, PFrameModelDriver } from \"../drivers/pframe/driver\";\nimport type { PFrameSpecDriver } from \"../drivers/pframe/spec_driver\";\nimport { service } from \"./service_types\";\n\nexport const Services = {\n PFrameSpec: service<PFrameSpecDriver, PFrameSpecDriver>()({\n type: \"wasm\",\n name: \"pframeSpec\",\n modelMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n uiMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n }),\n PFrame: service<PFrameModelDriver, PFrameDriver>()({\n type: \"node\",\n name: \"pframe\",\n modelMethods: [\"createPFrame\", \"createPTable\", \"createPTableV2\"] as const,\n uiMethods: [\n \"findColumns\",\n \"getColumnSpec\",\n \"listColumns\",\n \"calculateTableData\",\n \"getUniqueValues\",\n \"getShape\",\n \"getSpec\",\n \"getData\",\n \"writePTableToFs\",\n \"exportPTable\",\n ] as const,\n }),\n Dialog: service<Record<string, never>, DialogService>()({\n type: \"main\",\n name: \"dialog\",\n modelMethods: [] as const,\n uiMethods: [\"showSaveDialog\"] as const,\n }),\n};\n"],"mappings":";;AA8BA,MAAa,WAAW;CACtB,YAAYA,sBAAAA,QAA4C,CAAC,CAAC;EACxD,MAAM;EACN,MAAM;EACN,cAAc;GACZ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,WAAW;GACT;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CAAC;CACD,QAAQA,sBAAAA,QAAyC,CAAC,CAAC;EACjD,MAAM;EACN,MAAM;EACN,cAAc;GAAC;GAAgB;GAAgB;EAAgB;EAC/D,WAAW;GACT;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CAAC;CACD,QAAQA,sBAAAA,QAA8C,CAAC,CAAC;EACtD,MAAM;EACN,MAAM;EACN,cAAc,CAAC;EACf,WAAW,CAAC,gBAAgB;CAC9B,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_declarations.js","names":[],"sources":["../../src/services/service_declarations.ts"],"sourcesContent":["/**\n * Service declarations — add new services here.\n *\n * `modelMethods` / `uiMethods` lists are the single source of truth for\n * method names exposed on each side. They drive SERVICE_METHOD_MAP (UI\n * ServiceProxy forwarders) and MODEL_SERVICE_METHOD_MAP (workflow VM\n * bridge), so node/main/wasm split no longer needs introspection stubs.\n *\n * After adding a service, fix type errors in these files:\n *\n * Model side:\n * - lib/node/pl-middle-layer/src/js_render/service_injectors.ts — VM bridge for workflow scripts\n * - lib/node/pl-middle-layer/src/middle_layer/middle_layer.ts — ModelServiceRegistry factory\n *\n * UI side:\n * - lib/model/common/src/services/node_service_handlers.ts — driver method wrappers (node services only)\n * - sdk/ui-vue/src/internal/createAppV3.ts — UiServiceRegistry factory\n *\n * Electron main side (only for `main` services):\n * - platforma-desktop-app/packages/main/src/services/mainServices.ts — main-process dispatcher\n *\n * Optional:\n * - sdk/model/src/services/block_service_flags.ts — only if default-required by all blocks\n */\n\nimport type { DialogService } from \"../dialog\";\nimport type { PFrameDriver, PFrameModelDriver } from \"../drivers/pframe/driver\";\nimport type { PFrameSpecDriver } from \"../drivers/pframe/spec_driver\";\nimport { service } from \"./service_types\";\n\nexport const Services = {\n PFrameSpec: service<PFrameSpecDriver, PFrameSpecDriver>()({\n type: \"wasm\",\n name: \"pframeSpec\",\n modelMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n uiMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n }),\n PFrame: service<PFrameModelDriver, PFrameDriver>()({\n type: \"node\",\n name: \"pframe\",\n modelMethods: [\"createPFrame\", \"createPTable\", \"createPTableV2\"] as const,\n uiMethods: [\n \"findColumns\",\n \"getColumnSpec\",\n \"listColumns\",\n \"calculateTableData\",\n \"getUniqueValues\",\n \"getShape\",\n \"getSpec\",\n \"getData\",\n \"writePTableToFs\",\n \"exportPTable\",\n ] as const,\n }),\n Dialog: service<Record<string, never>, DialogService>()({\n type: \"main\",\n name: \"dialog\",\n modelMethods: [] as const,\n uiMethods: [\"showSaveDialog\"] as const,\n }),\n};\n"],"mappings":";;AA8BA,MAAa,WAAW;CACtB,YAAY,
|
|
1
|
+
{"version":3,"file":"service_declarations.js","names":[],"sources":["../../src/services/service_declarations.ts"],"sourcesContent":["/**\n * Service declarations — add new services here.\n *\n * `modelMethods` / `uiMethods` lists are the single source of truth for\n * method names exposed on each side. They drive SERVICE_METHOD_MAP (UI\n * ServiceProxy forwarders) and MODEL_SERVICE_METHOD_MAP (workflow VM\n * bridge), so node/main/wasm split no longer needs introspection stubs.\n *\n * After adding a service, fix type errors in these files:\n *\n * Model side:\n * - lib/node/pl-middle-layer/src/js_render/service_injectors.ts — VM bridge for workflow scripts\n * - lib/node/pl-middle-layer/src/middle_layer/middle_layer.ts — ModelServiceRegistry factory\n *\n * UI side:\n * - lib/model/common/src/services/node_service_handlers.ts — driver method wrappers (node services only)\n * - sdk/ui-vue/src/internal/createAppV3.ts — UiServiceRegistry factory\n *\n * Electron main side (only for `main` services):\n * - platforma-desktop-app/packages/main/src/services/mainServices.ts — main-process dispatcher\n *\n * Optional:\n * - sdk/model/src/services/block_service_flags.ts — only if default-required by all blocks\n */\n\nimport type { DialogService } from \"../dialog\";\nimport type { PFrameDriver, PFrameModelDriver } from \"../drivers/pframe/driver\";\nimport type { PFrameSpecDriver } from \"../drivers/pframe/spec_driver\";\nimport { service } from \"./service_types\";\n\nexport const Services = {\n PFrameSpec: service<PFrameSpecDriver, PFrameSpecDriver>()({\n type: \"wasm\",\n name: \"pframeSpec\",\n modelMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n uiMethods: [\n \"createSpecFrame\",\n \"listColumns\",\n \"discoverColumns\",\n \"deleteColumn\",\n \"evaluateQuery\",\n \"buildQuery\",\n \"expandAxes\",\n \"collapseAxes\",\n \"findAxis\",\n \"findTableColumn\",\n \"rewriteLegacyFilters\",\n ] as const,\n }),\n PFrame: service<PFrameModelDriver, PFrameDriver>()({\n type: \"node\",\n name: \"pframe\",\n modelMethods: [\"createPFrame\", \"createPTable\", \"createPTableV2\"] as const,\n uiMethods: [\n \"findColumns\",\n \"getColumnSpec\",\n \"listColumns\",\n \"calculateTableData\",\n \"getUniqueValues\",\n \"getShape\",\n \"getSpec\",\n \"getData\",\n \"writePTableToFs\",\n \"exportPTable\",\n ] as const,\n }),\n Dialog: service<Record<string, never>, DialogService>()({\n type: \"main\",\n name: \"dialog\",\n modelMethods: [] as const,\n uiMethods: [\"showSaveDialog\"] as const,\n }),\n};\n"],"mappings":";;AA8BA,MAAa,WAAW;CACtB,YAAY,QAA4C,CAAC,CAAC;EACxD,MAAM;EACN,MAAM;EACN,cAAc;GACZ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,WAAW;GACT;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CAAC;CACD,QAAQ,QAAyC,CAAC,CAAC;EACjD,MAAM;EACN,MAAM;EACN,cAAc;GAAC;GAAgB;GAAgB;EAAgB;EAC/D,WAAW;GACT;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,CAAC;CACD,QAAQ,QAA8C,CAAC,CAAC;EACtD,MAAM;EACN,MAAM;EACN,cAAc,CAAC;EACf,WAAW,CAAC,gBAAgB;CAC9B,CAAC;AACH"}
|
|
@@ -46,6 +46,7 @@ function buildServiceInfo(featureFlags) {
|
|
|
46
46
|
exports.MODEL_SERVICE_METHOD_MAP = MODEL_SERVICE_METHOD_MAP;
|
|
47
47
|
exports.SERVICE_METHOD_MAP = SERVICE_METHOD_MAP;
|
|
48
48
|
exports.buildServiceInfo = buildServiceInfo;
|
|
49
|
+
exports.createNodeServiceHandlers = require_node_service_handlers.createNodeServiceHandlers;
|
|
49
50
|
exports.resolveNodeServiceHandler = resolveNodeServiceHandler;
|
|
50
51
|
|
|
51
52
|
//# sourceMappingURL=service_injectors.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_injectors.cjs","names":["createNodeServiceHandlers","Services","getServiceUiMethods","getServiceModelMethods","resolveRequiredServices"],"sources":["../../src/services/service_injectors.ts"],"sourcesContent":["/**\n * Service dispatch glue — auto-derived types, method maps, and service info builder.\n *\n * The worker-side handler factory (createNodeServiceHandlers) lives in\n * node_service_handlers.ts — that's the only file to edit when adding a\n * new node service. Method-name registries for UI and model sides are\n * derived directly from the `uiMethods` / `modelMethods` declarations in\n * service_declarations.ts — no factory introspection, no stubs.\n */\n\nimport type { InferServiceKind, InferServiceUi, ServiceBrand, ServiceName } from \"./service_types\";\nimport type { DriverKit } from \"../driver_kit\";\nimport { Services } from \"./service_declarations\";\nimport { getServiceModelMethods, getServiceUiMethods } from \"./service_types\";\nimport { resolveRequiredServices } from \"./service_capabilities\";\nimport { createNodeServiceHandlers } from \"./node_service_handlers\";\n\nexport { createNodeServiceHandlers } from \"./node_service_handlers\";\n\ntype NodeServiceKeys = {\n [K in keyof typeof Services]: InferServiceKind<ServiceBrand<(typeof Services)[K]>> extends \"node\"\n ? K\n : never;\n}[keyof typeof Services];\n\n/**\n * Auto-derived map of node service keys to their UI-facing interfaces.\n * Fulfilled by real driver wrappers in the worker. Main services are\n * dispatched by the Electron main-process router and never reach this\n * map; wasm services are instantiated locally on each consumer.\n */\nexport type NodeServiceHandlerMap = {\n [K in NodeServiceKeys]: InferServiceUi<ServiceBrand<(typeof Services)[K]>>;\n};\n\nlet cachedKit: DriverKit | undefined;\nlet cachedHandlers: NodeServiceHandlerMap | undefined;\n\nfunction getOrCreateHandlers(driverKit: DriverKit): NodeServiceHandlerMap {\n if (!cachedHandlers || cachedKit !== driverKit) {\n cachedKit = driverKit;\n cachedHandlers = createNodeServiceHandlers(driverKit);\n }\n return cachedHandlers;\n}\n\n/**\n * Resolve the worker-side handler object for a given service ID. Caches\n * per DriverKit reference. Called from the worker's IPC dispatch path.\n */\nexport function resolveNodeServiceHandler(\n driverKit: DriverKit,\n serviceId: ServiceName,\n): NodeServiceHandlerMap[keyof NodeServiceHandlerMap] | null {\n const handlers = getOrCreateHandlers(driverKit);\n const key = Object.keys(Services).find(\n (k) => Services[k as keyof typeof Services] === serviceId,\n ) as NodeServiceKeys | undefined;\n if (!key) return null;\n return handlers[key];\n}\n\nfunction buildMethodMap(\n pick: (id: ServiceName) => readonly string[],\n): Readonly<Record<string, string[]>> {\n const result: Record<string, string[]> = {};\n for (const id of Object.values(Services)) {\n result[id as string] = [...pick(id)];\n }\n return result;\n}\n\n/**\n * UI-side method names per service. Drives ServiceProxy forwarder\n * construction in the renderer.\n */\nexport const SERVICE_METHOD_MAP: Readonly<Record<string, string[]>> =\n buildMethodMap(getServiceUiMethods);\n\n/**\n * Model-side method names per service. Drives the workflow VM bridge\n * (see pl-middle-layer js_render).\n */\nexport const MODEL_SERVICE_METHOD_MAP: Readonly<Record<string, string[]>> =\n buildMethodMap(getServiceModelMethods);\n\n/** Build service info for a block from its feature flags. */\nexport function buildServiceInfo(\n featureFlags: Record<string, unknown>,\n): Record<ServiceName, string[]> {\n const serviceIds = resolveRequiredServices(featureFlags);\n return Object.fromEntries(\n serviceIds.map((id) => [id, SERVICE_METHOD_MAP[id as string] ?? []]),\n ) as Record<ServiceName, string[]>;\n}\n"],"mappings":";;;;;AAmCA,IAAI;AACJ,IAAI;AAEJ,SAAS,oBAAoB,WAA6C;
|
|
1
|
+
{"version":3,"file":"service_injectors.cjs","names":["createNodeServiceHandlers","Services","getServiceUiMethods","getServiceModelMethods","resolveRequiredServices"],"sources":["../../src/services/service_injectors.ts"],"sourcesContent":["/**\n * Service dispatch glue — auto-derived types, method maps, and service info builder.\n *\n * The worker-side handler factory (createNodeServiceHandlers) lives in\n * node_service_handlers.ts — that's the only file to edit when adding a\n * new node service. Method-name registries for UI and model sides are\n * derived directly from the `uiMethods` / `modelMethods` declarations in\n * service_declarations.ts — no factory introspection, no stubs.\n */\n\nimport type { InferServiceKind, InferServiceUi, ServiceBrand, ServiceName } from \"./service_types\";\nimport type { DriverKit } from \"../driver_kit\";\nimport { Services } from \"./service_declarations\";\nimport { getServiceModelMethods, getServiceUiMethods } from \"./service_types\";\nimport { resolveRequiredServices } from \"./service_capabilities\";\nimport { createNodeServiceHandlers } from \"./node_service_handlers\";\n\nexport { createNodeServiceHandlers } from \"./node_service_handlers\";\n\ntype NodeServiceKeys = {\n [K in keyof typeof Services]: InferServiceKind<ServiceBrand<(typeof Services)[K]>> extends \"node\"\n ? K\n : never;\n}[keyof typeof Services];\n\n/**\n * Auto-derived map of node service keys to their UI-facing interfaces.\n * Fulfilled by real driver wrappers in the worker. Main services are\n * dispatched by the Electron main-process router and never reach this\n * map; wasm services are instantiated locally on each consumer.\n */\nexport type NodeServiceHandlerMap = {\n [K in NodeServiceKeys]: InferServiceUi<ServiceBrand<(typeof Services)[K]>>;\n};\n\nlet cachedKit: DriverKit | undefined;\nlet cachedHandlers: NodeServiceHandlerMap | undefined;\n\nfunction getOrCreateHandlers(driverKit: DriverKit): NodeServiceHandlerMap {\n if (!cachedHandlers || cachedKit !== driverKit) {\n cachedKit = driverKit;\n cachedHandlers = createNodeServiceHandlers(driverKit);\n }\n return cachedHandlers;\n}\n\n/**\n * Resolve the worker-side handler object for a given service ID. Caches\n * per DriverKit reference. Called from the worker's IPC dispatch path.\n */\nexport function resolveNodeServiceHandler(\n driverKit: DriverKit,\n serviceId: ServiceName,\n): NodeServiceHandlerMap[keyof NodeServiceHandlerMap] | null {\n const handlers = getOrCreateHandlers(driverKit);\n const key = Object.keys(Services).find(\n (k) => Services[k as keyof typeof Services] === serviceId,\n ) as NodeServiceKeys | undefined;\n if (!key) return null;\n return handlers[key];\n}\n\nfunction buildMethodMap(\n pick: (id: ServiceName) => readonly string[],\n): Readonly<Record<string, string[]>> {\n const result: Record<string, string[]> = {};\n for (const id of Object.values(Services)) {\n result[id as string] = [...pick(id)];\n }\n return result;\n}\n\n/**\n * UI-side method names per service. Drives ServiceProxy forwarder\n * construction in the renderer.\n */\nexport const SERVICE_METHOD_MAP: Readonly<Record<string, string[]>> =\n buildMethodMap(getServiceUiMethods);\n\n/**\n * Model-side method names per service. Drives the workflow VM bridge\n * (see pl-middle-layer js_render).\n */\nexport const MODEL_SERVICE_METHOD_MAP: Readonly<Record<string, string[]>> =\n buildMethodMap(getServiceModelMethods);\n\n/** Build service info for a block from its feature flags. */\nexport function buildServiceInfo(\n featureFlags: Record<string, unknown>,\n): Record<ServiceName, string[]> {\n const serviceIds = resolveRequiredServices(featureFlags);\n return Object.fromEntries(\n serviceIds.map((id) => [id, SERVICE_METHOD_MAP[id as string] ?? []]),\n ) as Record<ServiceName, string[]>;\n}\n"],"mappings":";;;;;AAmCA,IAAI;AACJ,IAAI;AAEJ,SAAS,oBAAoB,WAA6C;CACxE,IAAI,CAAC,kBAAkB,cAAc,WAAW;EAC9C,YAAY;EACZ,iBAAiBA,8BAAAA,0BAA0B,SAAS;CACtD;CACA,OAAO;AACT;;;;;AAMA,SAAgB,0BACd,WACA,WAC2D;CAC3D,MAAM,WAAW,oBAAoB,SAAS;CAC9C,MAAM,MAAM,OAAO,KAAKC,6BAAAA,QAAQ,CAAC,CAAC,MAC/B,MAAMA,6BAAAA,SAAS,OAAgC,SAClD;CACA,IAAI,CAAC,KAAK,OAAO;CACjB,OAAO,SAAS;AAClB;AAEA,SAAS,eACP,MACoC;CACpC,MAAM,SAAmC,CAAC;CAC1C,KAAK,MAAM,MAAM,OAAO,OAAOA,6BAAAA,QAAQ,GACrC,OAAO,MAAgB,CAAC,GAAG,KAAK,EAAE,CAAC;CAErC,OAAO;AACT;;;;;AAMA,MAAa,qBACX,eAAeC,sBAAAA,mBAAmB;;;;;AAMpC,MAAa,2BACX,eAAeC,sBAAAA,sBAAsB;;AAGvC,SAAgB,iBACd,cAC+B;CAC/B,MAAM,aAAaC,6BAAAA,wBAAwB,YAAY;CACvD,OAAO,OAAO,YACZ,WAAW,KAAK,OAAO,CAAC,IAAI,mBAAmB,OAAiB,CAAC,CAAC,CAAC,CACrE;AACF"}
|
|
@@ -30,5 +30,5 @@ declare const MODEL_SERVICE_METHOD_MAP: Readonly<Record<string, string[]>>;
|
|
|
30
30
|
/** Build service info for a block from its feature flags. */
|
|
31
31
|
declare function buildServiceInfo(featureFlags: Record<string, unknown>): Record<ServiceName, string[]>;
|
|
32
32
|
//#endregion
|
|
33
|
-
export { MODEL_SERVICE_METHOD_MAP, NodeServiceHandlerMap, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler };
|
|
33
|
+
export { MODEL_SERVICE_METHOD_MAP, NodeServiceHandlerMap, SERVICE_METHOD_MAP, buildServiceInfo, createNodeServiceHandlers, resolveNodeServiceHandler };
|
|
34
34
|
//# sourceMappingURL=service_injectors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_injectors.d.ts","names":[],"sources":["../../src/services/service_injectors.ts"],"mappings":";;;;;;KAmBK,eAAA,wBACgB,QAAA,GAAW,gBAAA,CAAiB,YAAA,SAAqB,QAAA,EAAU,CAAA,qBAC1E,CAAA,wBAES,QAAA;;;;;;;KAQH,qBAAA,WACJ,eAAA,GAAkB,cAAA,CAAe,YAAA,SAAqB,QAAA,EAAU,CAAA
|
|
1
|
+
{"version":3,"file":"service_injectors.d.ts","names":[],"sources":["../../src/services/service_injectors.ts"],"mappings":";;;;;;KAmBK,eAAA,wBACgB,QAAA,GAAW,gBAAA,CAAiB,YAAA,SAAqB,QAAA,EAAU,CAAA,qBAC1E,CAAA,wBAES,QAAA;;;;;;;KAQH,qBAAA,WACJ,eAAA,GAAkB,cAAA,CAAe,YAAA,SAAqB,QAAA,EAAU,CAAA;;;AATjD;AAQvB;iBAmBgB,yBAAA,CACd,SAAA,EAAW,SAAA,EACX,SAAA,EAAW,WAAA,GACV,qBAAA,OAA4B,qBAAA;;;;;cAuBlB,kBAAA,EAAoB,QAAQ,CAAC,MAAA;;;;;cAO7B,wBAAA,EAA0B,QAAQ,CAAC,MAAA;;iBAIhC,gBAAA,CACd,YAAA,EAAc,MAAA,oBACb,MAAA,CAAO,WAAA"}
|
|
@@ -43,6 +43,6 @@ function buildServiceInfo(featureFlags) {
|
|
|
43
43
|
return Object.fromEntries(serviceIds.map((id) => [id, SERVICE_METHOD_MAP[id] ?? []]));
|
|
44
44
|
}
|
|
45
45
|
//#endregion
|
|
46
|
-
export { MODEL_SERVICE_METHOD_MAP, SERVICE_METHOD_MAP, buildServiceInfo, resolveNodeServiceHandler };
|
|
46
|
+
export { MODEL_SERVICE_METHOD_MAP, SERVICE_METHOD_MAP, buildServiceInfo, createNodeServiceHandlers, resolveNodeServiceHandler };
|
|
47
47
|
|
|
48
48
|
//# sourceMappingURL=service_injectors.js.map
|