@burdenoff/microfe-bigconsole 2026.1103.8 → 2026.1103.10

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.
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Revision history of Insights generations (BOFF-10185).
3
+ *
4
+ * Refine and Regenerate create a new generation that points back at the one it
5
+ * revises (`parentGenerationId`). The list shows the newest version of each
6
+ * chain and folds the versions it replaced behind a toggle, so a refinement no
7
+ * longer reads as a near-duplicate card.
8
+ */
9
+ interface RevisionNode {
10
+ id: string;
11
+ parentGenerationId?: string | null;
12
+ status?: string;
13
+ }
14
+ export interface GenerationRevisions<T extends RevisionNode> {
15
+ /** Newest version of every chain, in the order received. */
16
+ current: T[];
17
+ /** Versions a newer one in the list replaced, in the order received. */
18
+ superseded: T[];
19
+ }
20
+ /**
21
+ * A generation is superseded only when a revision of it is in the list and has
22
+ * completed: while the revision is still generating, or if it failed or was
23
+ * cancelled, the original is the newest usable version, so it stays visible. The
24
+ * same holds if the revision was deleted or is outside the loaded page.
25
+ */
26
+ export declare function splitSupersededGenerations<T extends RevisionNode>(generations: T[]): GenerationRevisions<T>;
27
+ /** The generation `gen` revises, when it is loaded; `undefined` otherwise. */
28
+ export declare function findParentGeneration<T extends RevisionNode>(generations: T[], gen: T): T | undefined;
29
+ export {};
@@ -0,0 +1,16 @@
1
+ //#region src/bigconsole/utils/generationRevisions.ts
2
+ function e(e) {
3
+ let t = /* @__PURE__ */ new Set();
4
+ for (let n of e) n.status === "COMPLETED" && n.parentGenerationId && n.parentGenerationId !== n.id && t.add(n.parentGenerationId);
5
+ let n = [], r = [];
6
+ for (let i of e) (t.has(i.id) ? r : n).push(i);
7
+ return {
8
+ current: n,
9
+ superseded: r
10
+ };
11
+ }
12
+ function t(e, t) {
13
+ if (t.parentGenerationId) return e.find((e) => e.id === t.parentGenerationId);
14
+ }
15
+ //#endregion
16
+ export { t as findParentGeneration, e as splitSupersededGenerations };
@@ -45,4 +45,18 @@ export declare function getWidgetBindingStatus({ binding, loading, error, previe
45
45
  status: WidgetBindingStatus;
46
46
  missingFields: string[];
47
47
  };
48
+ interface ParserTestResult {
49
+ success: boolean;
50
+ output?: unknown;
51
+ error?: string | null;
52
+ }
53
+ /**
54
+ * What the Data tab shows for a parser test (BOFF-10172): the output when it
55
+ * ran, otherwise the parser's own error, so a failing binding says so every
56
+ * time the tab opens and not only right after the parser was picked.
57
+ */
58
+ export declare function parserTestOutcome(result: ParserTestResult | null, fallbackError: string): {
59
+ preview?: unknown;
60
+ error: string | null;
61
+ };
48
62
  export {};
@@ -115,5 +115,11 @@ function d({ binding: e, loading: t = !1, error: n, preview: r, previewComplete:
115
115
  missingFields: []
116
116
  } : u(e, Array.isArray(r) ? r[0] : r);
117
117
  }
118
+ function f(e, t) {
119
+ return e?.success ? {
120
+ preview: e.output,
121
+ error: null
122
+ } : { error: e?.error || t };
123
+ }
118
124
  //#endregion
119
- export { o as getBindingForWidget, a as getWidgetBinding, d as getWidgetBindingStatus, s as reconcilePanelConfig, l as resolveBindingPath, c as serializeWidgetBinding, u as validateWidgetBinding };
125
+ export { o as getBindingForWidget, a as getWidgetBinding, d as getWidgetBindingStatus, f as parserTestOutcome, s as reconcilePanelConfig, l as resolveBindingPath, c as serializeWidgetBinding, u as validateWidgetBinding };
@@ -10,7 +10,7 @@ export type Incremental<T> = T | {
10
10
  [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
11
11
  };
12
12
  import type * as Types from './global-types';
13
- export type AppStatus = 'ACTIVE' | 'APPROVED' | 'DEPRECATED' | 'DRAFT' | 'INACTIVE' | 'IN_REVIEW' | 'PUBLISHED' | 'REJECTED' | 'REVOKED' | 'SUBMITTED' | 'SUSPENDED';
13
+ export type AppStatus = 'ACTIVE' | 'APPROVED' | 'DEPRECATED' | 'DRAFT' | 'INACTIVE' | 'IN_REVIEW' | 'PUBLISHED' | 'REJECTED' | 'REVOKED' | 'SUBMITTED' | 'SUSPENDED' | 'UNLISTED';
14
14
  export type AppType = 'ANALYST' | 'API_INTEGRATION' | 'ASSISTANT' | 'AUTOMATION' | 'BOT' | 'CLI_TOOL' | 'CONSOLE' | 'DASHBOARD' | 'DATASINK' | 'DESKTOP_APP' | 'INTEGRATION' | 'MOBILE_APP' | 'NODE' | 'PARSER' | 'SERVICE' | 'SPECIALIST' | 'VIBEMODULE' | 'WEB_APP' | 'WIDGET' | 'WORKFLOW';
15
15
  export type AppVisibility = 'INTERNAL' | 'PRIVATE' | 'PUBLIC' | 'UNLISTED';
16
16
  /** Comprehensive browse input combining filters, sorting, and pagination */
@@ -27,6 +27,8 @@ export type CreateApplicationInput = {
27
27
  appId?: string | number | null | undefined;
28
28
  appType: AppType;
29
29
  category?: string | null | undefined;
30
+ /** Which products this item is compatible with (e.g. "fluidgrids", "workspaces"). Stored in manifest.compatibility.products and extracted to the store on publish. */
31
+ compatibleProducts?: Array<string> | null | undefined;
30
32
  description?: string | null | undefined;
31
33
  developerOrganizationId?: string | number | null | undefined;
32
34
  documentationUrl?: string | null | undefined;
@@ -35,6 +37,9 @@ export type CreateApplicationInput = {
35
37
  keywords?: Array<string> | null | undefined;
36
38
  manifest?: Record<string, unknown> | null | undefined;
37
39
  name: string;
40
+ oauthAuthUrl?: string | null | undefined;
41
+ oauthRevokeUrl?: string | null | undefined;
42
+ oauthTokenUrl?: string | null | undefined;
38
43
  privacyPolicyUrl?: string | null | undefined;
39
44
  requiresApproval?: boolean | null | undefined;
40
45
  shortDescription?: string | null | undefined;
@@ -61,10 +66,7 @@ export type PricingModel = 'FREE' | 'PAID_ONETIME' | 'SUBSCRIPTION';
61
66
  export type ProductNature = 'DIGITAL' | 'PHYSICAL';
62
67
  export type ProductStatus = 'ARCHIVED' | 'DEPRECATED' | 'DRAFT' | 'PENDING_REVIEW' | 'PUBLISHED' | 'REJECTED' | 'UNLISTED';
63
68
  export type ProductType = 'ACCESSORY' | 'AGENT' | 'APP' | 'APPAREL' | 'BOOK' | 'BOTAPP' | 'COLLECTIBLE' | 'COMPONENT' | 'CONSOLE' | 'CONSUMABLE' | 'DASHBOARD' | 'DATASINK' | 'EQUIPMENT' | 'EXTENSION' | 'HARDWARE' | 'INTEGRATION' | 'MERCHANDISE' | 'NODE' | 'PARSER' | 'PLUGIN' | 'TEMPLATE' | 'THEME' | 'VIBEMODULE' | 'WIDGET' | 'WORKFLOW';
64
- /**
65
- * Unified filter input for browsing/searching store products.
66
- * All filters combine with AND logic - search is treated as a filter.
67
- */
69
+ /** Unified filter input for browsing/searching store products. All filters combine with AND logic - search is treated as a filter. */
68
70
  export type StoreFilterInput = {
69
71
  /** Filter by author name (partial match) */
70
72
  authorName?: string | null | undefined;
@@ -74,10 +76,7 @@ export type StoreFilterInput = {
74
76
  categories?: Array<string> | null | undefined;
75
77
  /** Filter by exact category match (e.g., "Customer Support", "Notification") */
76
78
  category?: string | null | undefined;
77
- /**
78
- * Filter by compatible product (e.g., "workspaces", "fluidgrids", "bigconsole")
79
- * Products must be compatible with this product.
80
- */
79
+ /** Filter by compatible product (e.g., "workspaces", "fluidgrids", "bigconsole") Products must be compatible with this product. */
81
80
  compatibleWith?: string | null | undefined;
82
81
  /** Filter only featured products */
83
82
  featured?: boolean | null | undefined;
@@ -107,24 +106,11 @@ export type StoreFilterInput = {
107
106
  publisherId?: string | null | undefined;
108
107
  /** Filter products that require shipping */
109
108
  requiresShipping?: boolean | null | undefined;
110
- /**
111
- * Full-text search query. Searches across:
112
- * - name (highest priority)
113
- * - description
114
- * - tags
115
- * - authorName, category (lowest priority)
116
- * Uses PostgreSQL tsvector with weighted ranking.
117
- */
109
+ /** Full-text search query. Searches across: - name (highest priority) - description - tags - authorName, category (lowest priority) Uses PostgreSQL tsvector with weighted ranking. */
118
110
  search?: string | null | undefined;
119
111
  /** Filter by product status (defaults to PUBLISHED for consumer queries) */
120
112
  status?: ProductStatus | null | undefined;
121
- /**
122
- * Filter by type-specific subtype.
123
- * Examples:
124
- * - For AGENT: "task_automation", "conversational", "research"
125
- * - For NODE: "action", "trigger", "integration", "ai"
126
- * - For WIDGET: "chart", "metric", "table", "map"
127
- */
113
+ /** Filter by type-specific subtype. Examples: - For AGENT: "task_automation", "conversational", "research" - For NODE: "action", "trigger", "integration", "ai" - For WIDGET: "chart", "metric", "table", "map" */
128
114
  subType?: string | null | undefined;
129
115
  /** Filter by multiple subtypes (OR within this filter) */
130
116
  subTypes?: Array<string> | null | undefined;