@norbix.ai/react-redux 1.9.0 → 1.11.0

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/README.md CHANGED
@@ -187,40 +187,40 @@ A _curated_ set of hooks for the most common endpoints. Every hook is end-to-end
187
187
 
188
188
  Every `hub.database` method (73) and every `api.database` method (22) of `@norbix.ai/ts` has a hook; Hub hooks keep the SDK method name. The rows below are the ones added for `@norbix.ai/ts` >= 4.9.0.
189
189
 
190
- | Hook | SDK method | Cache |
191
- | --------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------ |
192
- | `useFindRecordsQuery` | `hub.database.findRecords` | provides `DatabaseRecords/<collectionName>` |
193
- | `useFindOneRecordQuery` | `hub.database.findOneRecord` | provides `DatabaseRecords/<collectionName>` |
194
- | `useCountRecordsQuery` | `hub.database.countRecords` | provides `DatabaseRecords/<collectionName>` |
195
- | `useDistinctRecordValuesQuery` | `hub.database.distinctRecordValues` | provides `DatabaseRecords/<collectionName>` |
196
- | `useAggregateRecordsMutation` | `hub.database.aggregateRecords` | — (never cached) |
197
- | `useExecuteRecordsAggregateMutation` | `hub.database.executeRecordsAggregate` | — (never cached) |
198
- | `useGetCollectionIndexesQuery` | `hub.database.getCollectionIndexes` | provides `DatabaseCollections/<collectionName>` |
199
- | `useInsertRecordMutation` | `hub.database.insertRecord` | invalidates `DatabaseRecords/<collectionName>` |
200
- | `useInsertManyRecordsMutation` | `hub.database.insertManyRecords` | invalidates `DatabaseRecords/<collectionName>` |
201
- | `useUpdateOneRecordMutation` | `hub.database.updateOneRecord` | invalidates `DatabaseRecords/<collectionName>` |
202
- | `useUpdateManyRecordsMutation` | `hub.database.updateManyRecords` | invalidates `DatabaseRecords/<collectionName>` |
203
- | `useReplaceRecordMutation` | `hub.database.replaceRecord` | invalidates `DatabaseRecords/<collectionName>` |
204
- | `useDeleteRecordMutation` | `hub.database.deleteRecord` | invalidates `DatabaseRecords/<collectionName>` |
205
- | `useDeleteManyRecordsMutation` | `hub.database.deleteManyRecords` | invalidates `DatabaseRecords/<collectionName>` |
206
- | `useChangeRecordResponsibilityMutation` | `hub.database.changeRecordResponsibility` | invalidates `DatabaseRecords/<collectionName>` |
207
- | `useSeedCollectionRecordsMutation` | `hub.database.seedCollectionRecords` | invalidates `DatabaseRecords` |
208
- | `useGetDatabaseTaxonomyTreeQuery` | `hub.database.getDatabaseTaxonomyTree` | provides `DatabaseTaxonomies` + `DatabaseTaxonomyTerms` |
209
- | `useGetDatabaseTaxonomyTermTreeQuery` | `hub.database.getDatabaseTaxonomyTermTree` | provides `DatabaseTaxonomyTerms/<taxonomyName>` |
210
- | `useGetDatabaseMergedTermTreeQuery` | `hub.database.getDatabaseMergedTermTree` | provides `DatabaseTaxonomyTerms/<taxonomyName>` |
211
- | `useApplyDatabaseSchemaBundleMutation` | `hub.database.applyDatabaseSchemaBundle` | invalidates `DatabaseSchemas` + taxonomies + terms |
212
- | `useUpdateDatabaseSchemaEmbedMutation` | `hub.database.updateDatabaseSchemaEmbed` | invalidates `DatabaseSchemas` |
213
- | `useGetDatabaseSchemaListSettingsQuery` | `hub.database.getDatabaseSchemaListSettings` | provides `DatabaseSchemas` |
190
+ | Hook | SDK method | Cache |
191
+ | --------------------------------------------- | ----------------------------------------------- | -------------------------------------------------------------------------------------------------- |
192
+ | `useFindRecordsQuery` | `hub.database.findRecords` | provides `DatabaseRecords/<collectionName>` |
193
+ | `useFindOneRecordQuery` | `hub.database.findOneRecord` | provides `DatabaseRecords/<collectionName>` |
194
+ | `useCountRecordsQuery` | `hub.database.countRecords` | provides `DatabaseRecords/<collectionName>` |
195
+ | `useDistinctRecordValuesQuery` | `hub.database.distinctRecordValues` | provides `DatabaseRecords/<collectionName>` |
196
+ | `useAggregateRecordsMutation` | `hub.database.aggregateRecords` | — (never cached) |
197
+ | `useExecuteRecordsAggregateMutation` | `hub.database.executeRecordsAggregate` | — (never cached) |
198
+ | `useGetCollectionIndexesQuery` | `hub.database.getCollectionIndexes` | provides `DatabaseCollections/<collectionName>` |
199
+ | `useInsertRecordMutation` | `hub.database.insertRecord` | invalidates `DatabaseRecords/<collectionName>` |
200
+ | `useInsertManyRecordsMutation` | `hub.database.insertManyRecords` | invalidates `DatabaseRecords/<collectionName>` |
201
+ | `useUpdateOneRecordMutation` | `hub.database.updateOneRecord` | invalidates `DatabaseRecords/<collectionName>` |
202
+ | `useUpdateManyRecordsMutation` | `hub.database.updateManyRecords` | invalidates `DatabaseRecords/<collectionName>` |
203
+ | `useReplaceRecordMutation` | `hub.database.replaceRecord` | invalidates `DatabaseRecords/<collectionName>` |
204
+ | `useDeleteRecordMutation` | `hub.database.deleteRecord` | invalidates `DatabaseRecords/<collectionName>` |
205
+ | `useDeleteManyRecordsMutation` | `hub.database.deleteManyRecords` | invalidates `DatabaseRecords/<collectionName>` |
206
+ | `useChangeRecordResponsibilityMutation` | `hub.database.changeRecordResponsibility` | invalidates `DatabaseRecords/<collectionName>` |
207
+ | `useSeedCollectionRecordsMutation` | `hub.database.seedCollectionRecords` | invalidates `DatabaseRecords` |
208
+ | `useGetDatabaseTaxonomyTreeQuery` | `hub.database.getDatabaseTaxonomyTree` | provides `DatabaseTaxonomies` + `DatabaseTaxonomyTerms` |
209
+ | `useGetDatabaseTaxonomyTermTreeQuery` | `hub.database.getDatabaseTaxonomyTermTree` | provides `DatabaseTaxonomyTerms/<taxonomyName>` |
210
+ | `useGetDatabaseMergedTermTreeQuery` | `hub.database.getDatabaseMergedTermTree` | provides `DatabaseTaxonomyTerms/<taxonomyName>` |
211
+ | `useApplyDatabaseSchemaBundleMutation` | `hub.database.applyDatabaseSchemaBundle` | invalidates `DatabaseSchemas` + taxonomies + terms |
212
+ | `useUpdateDatabaseSchemaEmbedMutation` | `hub.database.updateDatabaseSchemaEmbed` | invalidates `DatabaseSchemas` |
213
+ | `useGetDatabaseSchemaListSettingsQuery` | `hub.database.getDatabaseSchemaListSettings` | provides `DatabaseSchemas` |
214
214
  | `useGetDatabaseSchemaIndexStatusQuery` | `hub.database.getDatabaseSchemaIndexStatus` | provides `DatabaseSchemas/<id>` — the last schema-index run (building / ready / refused / partial) |
215
- | `useUpdateDatabaseSchemaListSettingsMutation` | `hub.database.updateDatabaseSchemaListSettings` | invalidates `DatabaseSchemas` |
216
- | `useGetCollectionImportsQuery` | `hub.database.getCollectionImports` | provides `DatabaseImports` |
217
- | `useGetCollectionImportQuery` | `hub.database.getCollectionImport` | provides `DatabaseImports` |
218
- | `useCreateCollectionImportMutation` | `hub.database.createCollectionImport` | invalidates `DatabaseImports` + `DatabaseRecords/<collectionName>` |
219
- | `useDeleteCollectionImportMutation` | `hub.database.deleteCollectionImport` | invalidates `DatabaseImports` |
220
- | `useAnalyzeImportFileMutation` | `hub.database.analyzeImportFile` | — |
221
- | `useRequestImportUploadUrlMutation` | `hub.database.requestImportUploadUrl` | — |
222
- | `useFindOwnQuery` | `api.database.findOwn` | provides `DatabaseCollections/<collectionName>` |
223
- | `useFindMergedTermTreeQuery` | `api.database.findMergedTermTree` | provides `DatabaseTaxonomyTerms/<taxonomyName>` |
215
+ | `useUpdateDatabaseSchemaListSettingsMutation` | `hub.database.updateDatabaseSchemaListSettings` | invalidates `DatabaseSchemas` |
216
+ | `useGetCollectionImportsQuery` | `hub.database.getCollectionImports` | provides `DatabaseImports` |
217
+ | `useGetCollectionImportQuery` | `hub.database.getCollectionImport` | provides `DatabaseImports` |
218
+ | `useCreateCollectionImportMutation` | `hub.database.createCollectionImport` | invalidates `DatabaseImports` + `DatabaseRecords/<collectionName>` |
219
+ | `useDeleteCollectionImportMutation` | `hub.database.deleteCollectionImport` | invalidates `DatabaseImports` |
220
+ | `useAnalyzeImportFileMutation` | `hub.database.analyzeImportFile` | — |
221
+ | `useRequestImportUploadUrlMutation` | `hub.database.requestImportUploadUrl` | — |
222
+ | `useFindOwnQuery` | `api.database.findOwn` | provides `DatabaseCollections/<collectionName>` |
223
+ | `useFindMergedTermTreeQuery` | `api.database.findMergedTermTree` | provides `DatabaseTaxonomyTerms/<taxonomyName>` |
224
224
 
225
225
  ### Module switches send `PUT` (core SDK 4.10.0)
226
226
 
@@ -506,6 +506,44 @@ The typed `task` body (plain `'EmailCampaign'` / `'AllUsers'` strings, no
506
506
  cast) comes from `@norbix.ai/ts` 4.6.0. Full method reference: the core SDK's
507
507
  `docs/hub/scheduler.md`.
508
508
 
509
+ ## Code — integrations and cloud functions
510
+
511
+ Every `hub.code` endpoint outside the marketplace (15) has a hook, 1:1 with
512
+ `norbix.hub.code`: the module switch, the Code integrations (AWS Lambda, Azure
513
+ Functions, Google Cloud Functions credentials) and the cloud functions they
514
+ may call — list, aliases / versions, a call by hand, a sample envelope for a
515
+ local run, and the last runs of a trigger or task. The five function hooks
516
+ need `@norbix.ai/ts` 4.19.0.
517
+
518
+ | Area | Hooks | Cache tag |
519
+ | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
520
+ | Module switch | `useEnableCodeModuleMutation`, `useDisableCodeModuleMutation` | invalidates `Account`, `Projects`, `Code` |
521
+ | Integrations | `useGetCodeIntegrationsQuery`, `useGetCodeIntegrationQuery`, `useSaveCodeIntegrationMutation`, `useDeleteCodeIntegrationMutation`, `useEnableCodeIntegrationMutation`, `useDisableCodeIntegrationMutation`, `useTestCodeIntegrationMutation` | provides / invalidates `CodeIntegrations/LIST` and `CodeIntegrations/<id>`; `test` touches nothing |
522
+ | Cloud functions | `useGetCodeFunctionsQuery`, `useGetCodeFunctionQualifiersQuery`, `useGetCodeFunctionEventSampleQuery`, `useGetCodeFunctionRunsQuery`, `useInvokeCodeFunctionMutation` | provides `CodeFunctions/LIST`, `CodeFunctions/SAMPLE`, `CodeFunctions/RUNS`; `invoke` touches nothing |
523
+
524
+ ```tsx
525
+ const integrationId = 'int_6rBACnEaxQ0x1jTiHtAuWV';
526
+ const { data } = useGetCodeFunctionsQuery({ integrationId, prefix: 'orders-' });
527
+ const [invoke, { data: result }] = useInvokeCodeFunctionMutation();
528
+
529
+ await invoke({
530
+ functionRef: { integrationId, functionId: 'orders-on-update', qualifier: 'prod' },
531
+ payload: { orderId: '6ac54a59212c29912eaddd81', dryRun: true },
532
+ invocationType: 'Sync',
533
+ });
534
+ // result: { statusCode, durationMs, output, requestId, logs }
535
+
536
+ // The last runs of a trigger (or `{ taskId }` for a scheduled task), newest first.
537
+ const { data: runs } = useGetCodeFunctionRunsQuery({
538
+ triggerId: 'trg_1p4R3gTobGZpD6fXvHT4rd',
539
+ limit: 20,
540
+ });
541
+ ```
542
+
543
+ The function side — parsing the envelope your function receives — is
544
+ `parseFunctionEvent` in the core SDK (`docs/code-functions.md`), not a hook.
545
+ Full method reference: the core SDK's `docs/hub/code.md`.
546
+
509
547
  ## Working with terms
510
548
 
511
549
  A **taxonomy** is a named tree of **terms** (labels). A term can have one parent (a clean hierarchy) or several parents (the same item under many categories). There is one read hook per scenario — pick the one that matches what you want:
package/dist/index.cjs CHANGED
@@ -937,6 +937,79 @@ var hubApikeys = (b) => ({
937
937
  })
938
938
  });
939
939
 
940
+ // src/hooks/hub/code.ts
941
+ var hubCode = (b) => {
942
+ const callHC = (norbix) => norbix.hub.code;
943
+ const integrationTags = (arg) => [
944
+ { type: "CodeIntegrations", id: "LIST" },
945
+ {
946
+ type: "CodeIntegrations",
947
+ id: arg?.id ?? arg?.Id ?? "CURRENT"
948
+ }
949
+ ];
950
+ return {
951
+ // ---- Module toggle ----
952
+ enableCodeModule: b.mutation({
953
+ query: (args) => (norbix) => callHC(norbix).enableCode(args),
954
+ invalidatesTags: ["Account", "Projects", "Code"]
955
+ }),
956
+ disableCodeModule: b.mutation({
957
+ query: (args) => (norbix) => callHC(norbix).disableCode(args),
958
+ invalidatesTags: ["Account", "Projects", "Code"]
959
+ }),
960
+ // ---- Integrations ----
961
+ getCodeIntegrations: b.query({
962
+ query: (args) => (norbix) => callHC(norbix).getCodeIntegrations(args),
963
+ providesTags: [{ type: "CodeIntegrations", id: "LIST" }]
964
+ }),
965
+ getCodeIntegration: b.query({
966
+ query: (args) => (norbix) => callHC(norbix).getCodeIntegration(args),
967
+ providesTags: (_res, _err, arg) => [
968
+ { type: "CodeIntegrations", id: arg?.id ?? "CURRENT" }
969
+ ]
970
+ }),
971
+ saveCodeIntegration: b.mutation({
972
+ query: (args) => (norbix) => callHC(norbix).saveCodeIntegration(args),
973
+ invalidatesTags: (_res, _err, arg) => integrationTags(arg)
974
+ }),
975
+ deleteCodeIntegration: b.mutation({
976
+ query: (args) => (norbix) => callHC(norbix).deleteCodeIntegration(args),
977
+ invalidatesTags: (_res, _err, arg) => integrationTags(arg)
978
+ }),
979
+ enableCodeIntegration: b.mutation({
980
+ query: (args) => (norbix) => callHC(norbix).enableCodeIntegration(args),
981
+ invalidatesTags: (_res, _err, arg) => integrationTags(arg)
982
+ }),
983
+ disableCodeIntegration: b.mutation({
984
+ query: (args) => (norbix) => callHC(norbix).disableCodeIntegration(args),
985
+ invalidatesTags: (_res, _err, arg) => integrationTags(arg)
986
+ }),
987
+ testCodeIntegration: b.mutation({
988
+ query: (args) => (norbix) => callHC(norbix).testCodeIntegration(args)
989
+ }),
990
+ // ---- Cloud functions (core SDK 4.19.0) ----
991
+ getCodeFunctions: b.query({
992
+ query: (args) => (norbix) => callHC(norbix).getCodeFunctions(args),
993
+ providesTags: [{ type: "CodeFunctions", id: "LIST" }]
994
+ }),
995
+ getCodeFunctionQualifiers: b.query({
996
+ query: (args) => (norbix) => callHC(norbix).getCodeFunctionQualifiers(args),
997
+ providesTags: [{ type: "CodeFunctions", id: "LIST" }]
998
+ }),
999
+ getCodeFunctionEventSample: b.query({
1000
+ query: (args) => (norbix) => callHC(norbix).getCodeFunctionEventSample(args),
1001
+ providesTags: [{ type: "CodeFunctions", id: "SAMPLE" }]
1002
+ }),
1003
+ getCodeFunctionRuns: b.query({
1004
+ query: (args) => (norbix) => callHC(norbix).getCodeFunctionRuns(args),
1005
+ providesTags: [{ type: "CodeFunctions", id: "RUNS" }]
1006
+ }),
1007
+ invokeCodeFunction: b.mutation({
1008
+ query: (args) => (norbix) => callHC(norbix).invokeCodeFunction(args)
1009
+ })
1010
+ };
1011
+ };
1012
+
940
1013
  // src/hooks/hub/database.ts
941
1014
  var recordsTag = (arg) => [
942
1015
  {
@@ -2263,6 +2336,7 @@ function buildEndpoints(builder) {
2263
2336
  ...hubAccount(builder),
2264
2337
  ...hubAi(builder),
2265
2338
  ...hubApikeys(builder),
2339
+ ...hubCode(builder),
2266
2340
  ...hubMembership(builder),
2267
2341
  ...hubDatabase(builder),
2268
2342
  ...hubFiles(builder),