@23blocks/block-search 4.1.0 → 4.2.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/dist/index.esm.js CHANGED
@@ -1,4 +1,5 @@
1
- import { decodeOne, decodePageResult, decodeMany } from '@23blocks/jsonapi-codec';
1
+ import { decodeMany, decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
2
+ import { _ } from '@swc/helpers/_/_extends';
2
3
 
3
4
  /**
4
5
  * Parse a string value, returning null for empty/undefined
@@ -613,6 +614,60 @@ function createIdentitiesService(transport, _config) {
613
614
  };
614
615
  }
615
616
 
617
+ /**
618
+ * Create the Jarvis Search service
619
+ */ function createJarvisSearchService(transport, _config) {
620
+ const jarvisSearchResultMapper = _({}, searchResultMapper, {
621
+ type: 'jarvis_search_result',
622
+ map: (resource)=>{
623
+ const base = searchResultMapper.map(resource);
624
+ var _resource_attributes;
625
+ const attrs = (_resource_attributes = resource == null ? void 0 : resource.attributes) != null ? _resource_attributes : {};
626
+ return _({}, base, {
627
+ confidence: attrs['confidence'],
628
+ relevanceScore: attrs['relevance_score'],
629
+ semanticMatches: attrs['semantic_matches'],
630
+ suggestedActions: attrs['suggested_actions']
631
+ });
632
+ }
633
+ });
634
+ return {
635
+ async search (query) {
636
+ const response = await transport.post('/jarvis/entities/search', {
637
+ search: {
638
+ query: query.query,
639
+ entity_types: query.entityTypes,
640
+ filters: query.filters,
641
+ limit: query.limit,
642
+ offset: query.offset,
643
+ include_metadata: query.includeMetadata,
644
+ include_relations: query.includeRelations,
645
+ sort_by: query.sortBy,
646
+ sort_order: query.sortOrder
647
+ }
648
+ });
649
+ return decodePageResult(response, jarvisSearchResultMapper);
650
+ },
651
+ async suggest (query, limit) {
652
+ const response = await transport.post('/jarvis/entities/suggest', {
653
+ query,
654
+ limit
655
+ });
656
+ var _response_suggestions;
657
+ return (_response_suggestions = response.suggestions) != null ? _response_suggestions : [];
658
+ },
659
+ async getRelated (entityUniqueId, entityType, limit) {
660
+ const response = await transport.post('/jarvis/entities/related', {
661
+ entity_unique_id: entityUniqueId,
662
+ entity_type: entityType,
663
+ limit
664
+ });
665
+ var _response_data;
666
+ return ((_response_data = response.data) != null ? _response_data : []).map((item)=>jarvisSearchResultMapper.map(item));
667
+ }
668
+ };
669
+ }
670
+
616
671
  /**
617
672
  * Create the Search block
618
673
  *
@@ -657,7 +712,8 @@ function createIdentitiesService(transport, _config) {
657
712
  history: createSearchHistoryService(transport),
658
713
  favorites: createFavoritesService(transport),
659
714
  entities: createEntitiesService(transport),
660
- identities: createIdentitiesService(transport)
715
+ identities: createIdentitiesService(transport),
716
+ jarvis: createJarvisSearchService(transport)
661
717
  };
662
718
  }
663
719
  /**
@@ -673,8 +729,9 @@ function createIdentitiesService(transport, _config) {
673
729
  'FavoriteEntity',
674
730
  'EntityType',
675
731
  'SearchEntity',
676
- 'SearchIdentity'
732
+ 'SearchIdentity',
733
+ 'JarvisSearchResult'
677
734
  ]
678
735
  };
679
736
 
680
- export { createSearchBlock, entityTypeMapper, favoriteEntityMapper, lastQueryMapper, searchBlockMetadata, searchQueryMapper, searchResultMapper };
737
+ export { createEntitiesService, createFavoritesService, createIdentitiesService, createJarvisSearchService, createSearchBlock, createSearchHistoryService, createSearchService, entityTypeMapper, favoriteEntityMapper, lastQueryMapper, parseBoolean, parseDate, parseNumber, parseString, parseStringArray, searchBlockMetadata, searchEntityMapper, searchIdentityMapper, searchQueryMapper, searchResultMapper };
@@ -1,5 +1,6 @@
1
- export { createSearchBlock, searchBlockMetadata, type SearchBlock, type SearchBlockConfig, } from './lib/search.block.js';
2
- export type { SearchResult, SearchQuery, LastQuery, FavoriteEntity, EntityType, SearchRequest, SearchResponse, AddFavoriteRequest, } from './lib/types/index.js';
3
- export type { SearchService, SearchHistoryService, FavoritesService, } from './lib/services/index.js';
4
- export { searchResultMapper, searchQueryMapper, lastQueryMapper, favoriteEntityMapper, entityTypeMapper, } from './lib/mappers/index.js';
1
+ export { createSearchBlock, searchBlockMetadata } from './lib/search.block.js';
2
+ export type { SearchBlock, SearchBlockConfig } from './lib/search.block.js';
3
+ export * from './lib/types/index.js';
4
+ export * from './lib/services/index.js';
5
+ export * from './lib/mappers/index.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG5E,cAAc,sBAAsB,CAAC;AAGrC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wBAAwB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Transport, BlockConfig } from '@23blocks/contracts';
2
- import { type SearchService, type SearchHistoryService, type FavoritesService, type EntitiesService, type IdentitiesService } from './services/index.js';
2
+ import { type SearchService, type SearchHistoryService, type FavoritesService, type EntitiesService, type IdentitiesService, type JarvisSearchService } from './services/index.js';
3
3
  /**
4
4
  * Configuration for the Search block
5
5
  */
@@ -33,6 +33,10 @@ export interface SearchBlock {
33
33
  * Identity management for search users
34
34
  */
35
35
  identities: IdentitiesService;
36
+ /**
37
+ * Jarvis AI-enhanced search
38
+ */
39
+ jarvis: JarvisSearchService;
36
40
  }
37
41
  /**
38
42
  * Create the Search block
@@ -1 +1 @@
1
- {"version":3,"file":"search.block.d.ts","sourceRoot":"","sources":["../../../src/lib/search.block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,SAAS,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,iBAAiB,GACxB,WAAW,CAQb;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;CAa/B,CAAC"}
1
+ {"version":3,"file":"search.block.d.ts","sourceRoot":"","sources":["../../../src/lib/search.block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,SAAS,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,QAAQ,EAAE,eAAe,CAAC;IAE1B;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAE9B;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,iBAAiB,GACxB,WAAW,CASb;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;CAc/B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { createSearchService, createSearchHistoryService, createFavoritesService, type SearchService, type SearchHistoryService, type FavoritesService, } from './search.service.js';
2
2
  export { createEntitiesService, type EntitiesService, } from './entities.service.js';
3
3
  export { createIdentitiesService, type IdentitiesService, } from './identities.service.js';
4
+ export { createJarvisSearchService, type JarvisSearchService, type JarvisSearchQuery, type JarvisSearchResult, } from './jarvis-search.service.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { SearchResult } from '../types/search.js';
3
+ /**
4
+ * Jarvis search query
5
+ */
6
+ export interface JarvisSearchQuery {
7
+ query: string;
8
+ entityTypes?: string[];
9
+ filters?: Record<string, unknown>;
10
+ limit?: number;
11
+ offset?: number;
12
+ includeMetadata?: boolean;
13
+ includeRelations?: boolean;
14
+ sortBy?: string;
15
+ sortOrder?: 'asc' | 'desc';
16
+ }
17
+ /**
18
+ * Jarvis search result with AI-enhanced metadata
19
+ */
20
+ export interface JarvisSearchResult extends SearchResult {
21
+ confidence?: number;
22
+ relevanceScore?: number;
23
+ semanticMatches?: string[];
24
+ suggestedActions?: string[];
25
+ }
26
+ /**
27
+ * Jarvis Search Service - AI-enhanced entity search
28
+ */
29
+ export interface JarvisSearchService {
30
+ /**
31
+ * Search entities using Jarvis AI-enhanced search
32
+ */
33
+ search(query: JarvisSearchQuery): Promise<PageResult<JarvisSearchResult>>;
34
+ /**
35
+ * Get semantic suggestions based on query
36
+ */
37
+ suggest(query: string, limit?: number): Promise<string[]>;
38
+ /**
39
+ * Get related entities based on an entity
40
+ */
41
+ getRelated(entityUniqueId: string, entityType: string, limit?: number): Promise<JarvisSearchResult[]>;
42
+ }
43
+ /**
44
+ * Create the Jarvis Search service
45
+ */
46
+ export declare function createJarvisSearchService(transport: Transport, _config: {
47
+ appId: string;
48
+ }): JarvisSearchService;
49
+ //# sourceMappingURL=jarvis-search.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jarvis-search.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/jarvis-search.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAE1E;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1D;;OAEG;IACH,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACvG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACzB,mBAAmB,CAwDrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@23blocks/block-search",
3
- "version": "4.1.0",
3
+ "version": "4.2.0",
4
4
  "description": "Search block for 23blocks SDK - full-text search, history, favorites",
5
5
  "license": "MIT",
6
6
  "author": "23blocks <hello@23blocks.com>",