@wirecat/cli-core 0.596.0 → 0.597.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/CHANGELOG.md +50 -0
- package/dist/background/deliver.d.ts +7 -1
- package/dist/background/deliver.js +66 -10
- package/dist/background/telegram-html.d.ts +2 -0
- package/dist/background/telegram-html.js +66 -0
- package/dist/calendar/mcp/index.d.ts +12 -12
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/permission-keys.d.ts +10 -2
- package/dist/cli/preview.d.ts +3 -0
- package/dist/cli/preview.js +9 -5
- package/dist/crm/cli/index.js +71 -14
- package/dist/crm/index.d.ts +1 -1
- package/dist/crm/index.js +1 -1
- package/dist/crm/source.d.ts +6 -1
- package/dist/crm/sync.d.ts +5 -4
- package/dist/crm/sync.js +22 -4
- package/dist/crm/testing/index.d.ts +1 -1
- package/dist/crm/testing/index.js +1 -1
- package/dist/crm/testing/source-contract.js +28 -0
- package/dist/crm/testing/source.d.ts +8 -1
- package/dist/crm/testing/source.js +53 -9
- package/dist/crm/testing/sync-contract.js +14 -3
- package/dist/crm/writer.d.ts +11 -2
- package/dist/crm/writer.js +31 -0
- package/dist/crm/writes.d.ts +12 -2
- package/dist/crm/writes.js +93 -8
- package/dist/domain/crm.d.ts +29 -1
- package/dist/entities/deal.d.ts +16 -0
- package/dist/entities/deal.js +8 -0
- package/dist/entities/index.d.ts +12 -0
- package/dist/errors/reasons.js +4 -0
- package/dist/index.d.ts +1 -1
- package/dist/meetings/mcp/index.d.ts +15 -15
- package/dist/store/driver.d.ts +2 -0
- package/dist/store/driver.js +2 -0
- package/dist/store/search-index.js +6 -1
- package/dist/store/sqlite/accounts.js +1 -0
- package/dist/store/sqlite/crm.d.ts +5 -1
- package/dist/store/sqlite/crm.js +52 -0
- package/dist/store/sqlite/deals.d.ts +5 -0
- package/dist/store/sqlite/deals.js +13 -0
- package/dist/store/sqlite/manifest.js +1 -0
- package/dist/store/sqlite/migrations.generated.js +6 -0
- package/dist/store/sqlite/note-index.d.ts +1 -1
- package/dist/store/sqlite/note-index.js +3 -0
- package/dist/store/sqlite/schema.d.ts +217 -0
- package/dist/store/sqlite/schema.js +18 -0
- package/package.json +2 -2
|
@@ -16542,6 +16542,223 @@ export declare const pipelineStageChanges: import("drizzle-orm/sqlite-core").SQL
|
|
|
16542
16542
|
dialect: 'sqlite';
|
|
16543
16543
|
isAlias: false;
|
|
16544
16544
|
}>;
|
|
16545
|
+
/** A CRM account's own fields on one kind; their values stay in each row's `metadata`, keyed by code. */
|
|
16546
|
+
export declare const crmFields: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
16547
|
+
name: "crm_fields";
|
|
16548
|
+
schema: undefined;
|
|
16549
|
+
columns: {
|
|
16550
|
+
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16551
|
+
name: string;
|
|
16552
|
+
tableName: "crm_fields";
|
|
16553
|
+
dataType: "number int53";
|
|
16554
|
+
data: number;
|
|
16555
|
+
driverParam: number;
|
|
16556
|
+
notNull: true;
|
|
16557
|
+
hasDefault: true;
|
|
16558
|
+
isPrimaryKey: true;
|
|
16559
|
+
isAutoincrement: false;
|
|
16560
|
+
hasRuntimeDefault: false;
|
|
16561
|
+
enumValues: undefined;
|
|
16562
|
+
baseColumn: never;
|
|
16563
|
+
identity: undefined;
|
|
16564
|
+
generated: undefined;
|
|
16565
|
+
}, {}>;
|
|
16566
|
+
accountId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16567
|
+
name: string;
|
|
16568
|
+
tableName: "crm_fields";
|
|
16569
|
+
dataType: "number int53";
|
|
16570
|
+
data: number;
|
|
16571
|
+
driverParam: number;
|
|
16572
|
+
notNull: true;
|
|
16573
|
+
hasDefault: false;
|
|
16574
|
+
isPrimaryKey: false;
|
|
16575
|
+
isAutoincrement: false;
|
|
16576
|
+
hasRuntimeDefault: false;
|
|
16577
|
+
enumValues: undefined;
|
|
16578
|
+
baseColumn: never;
|
|
16579
|
+
identity: undefined;
|
|
16580
|
+
generated: undefined;
|
|
16581
|
+
}, {}>;
|
|
16582
|
+
kind: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16583
|
+
name: string;
|
|
16584
|
+
tableName: "crm_fields";
|
|
16585
|
+
dataType: "string";
|
|
16586
|
+
data: string;
|
|
16587
|
+
driverParam: string;
|
|
16588
|
+
notNull: true;
|
|
16589
|
+
hasDefault: false;
|
|
16590
|
+
isPrimaryKey: false;
|
|
16591
|
+
isAutoincrement: false;
|
|
16592
|
+
hasRuntimeDefault: false;
|
|
16593
|
+
enumValues: [string, ...string[]];
|
|
16594
|
+
baseColumn: never;
|
|
16595
|
+
identity: undefined;
|
|
16596
|
+
generated: undefined;
|
|
16597
|
+
}, {}>;
|
|
16598
|
+
code: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16599
|
+
name: string;
|
|
16600
|
+
tableName: "crm_fields";
|
|
16601
|
+
dataType: "string";
|
|
16602
|
+
data: string;
|
|
16603
|
+
driverParam: string;
|
|
16604
|
+
notNull: true;
|
|
16605
|
+
hasDefault: false;
|
|
16606
|
+
isPrimaryKey: false;
|
|
16607
|
+
isAutoincrement: false;
|
|
16608
|
+
hasRuntimeDefault: false;
|
|
16609
|
+
enumValues: [string, ...string[]];
|
|
16610
|
+
baseColumn: never;
|
|
16611
|
+
identity: undefined;
|
|
16612
|
+
generated: undefined;
|
|
16613
|
+
}, {}>;
|
|
16614
|
+
label: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16615
|
+
name: string;
|
|
16616
|
+
tableName: "crm_fields";
|
|
16617
|
+
dataType: "string";
|
|
16618
|
+
data: string;
|
|
16619
|
+
driverParam: string;
|
|
16620
|
+
notNull: false;
|
|
16621
|
+
hasDefault: false;
|
|
16622
|
+
isPrimaryKey: false;
|
|
16623
|
+
isAutoincrement: false;
|
|
16624
|
+
hasRuntimeDefault: false;
|
|
16625
|
+
enumValues: [string, ...string[]];
|
|
16626
|
+
baseColumn: never;
|
|
16627
|
+
identity: undefined;
|
|
16628
|
+
generated: undefined;
|
|
16629
|
+
}, {}>;
|
|
16630
|
+
type: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16631
|
+
name: string;
|
|
16632
|
+
tableName: "crm_fields";
|
|
16633
|
+
dataType: "string";
|
|
16634
|
+
data: string;
|
|
16635
|
+
driverParam: string;
|
|
16636
|
+
notNull: true;
|
|
16637
|
+
hasDefault: false;
|
|
16638
|
+
isPrimaryKey: false;
|
|
16639
|
+
isAutoincrement: false;
|
|
16640
|
+
hasRuntimeDefault: false;
|
|
16641
|
+
enumValues: [string, ...string[]];
|
|
16642
|
+
baseColumn: never;
|
|
16643
|
+
identity: undefined;
|
|
16644
|
+
generated: undefined;
|
|
16645
|
+
}, {}>;
|
|
16646
|
+
multiple: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16647
|
+
name: string;
|
|
16648
|
+
tableName: "crm_fields";
|
|
16649
|
+
dataType: "number int53";
|
|
16650
|
+
data: number;
|
|
16651
|
+
driverParam: number;
|
|
16652
|
+
notNull: true;
|
|
16653
|
+
hasDefault: false;
|
|
16654
|
+
isPrimaryKey: false;
|
|
16655
|
+
isAutoincrement: false;
|
|
16656
|
+
hasRuntimeDefault: false;
|
|
16657
|
+
enumValues: undefined;
|
|
16658
|
+
baseColumn: never;
|
|
16659
|
+
identity: undefined;
|
|
16660
|
+
generated: undefined;
|
|
16661
|
+
}, {}>;
|
|
16662
|
+
filterable: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16663
|
+
name: string;
|
|
16664
|
+
tableName: "crm_fields";
|
|
16665
|
+
dataType: "number int53";
|
|
16666
|
+
data: number;
|
|
16667
|
+
driverParam: number;
|
|
16668
|
+
notNull: true;
|
|
16669
|
+
hasDefault: false;
|
|
16670
|
+
isPrimaryKey: false;
|
|
16671
|
+
isAutoincrement: false;
|
|
16672
|
+
hasRuntimeDefault: false;
|
|
16673
|
+
enumValues: undefined;
|
|
16674
|
+
baseColumn: never;
|
|
16675
|
+
identity: undefined;
|
|
16676
|
+
generated: undefined;
|
|
16677
|
+
}, {}>;
|
|
16678
|
+
options: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16679
|
+
name: string;
|
|
16680
|
+
tableName: "crm_fields";
|
|
16681
|
+
dataType: "string";
|
|
16682
|
+
data: string;
|
|
16683
|
+
driverParam: string;
|
|
16684
|
+
notNull: false;
|
|
16685
|
+
hasDefault: false;
|
|
16686
|
+
isPrimaryKey: false;
|
|
16687
|
+
isAutoincrement: false;
|
|
16688
|
+
hasRuntimeDefault: false;
|
|
16689
|
+
enumValues: [string, ...string[]];
|
|
16690
|
+
baseColumn: never;
|
|
16691
|
+
identity: undefined;
|
|
16692
|
+
generated: undefined;
|
|
16693
|
+
}, {}>;
|
|
16694
|
+
position: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16695
|
+
name: string;
|
|
16696
|
+
tableName: "crm_fields";
|
|
16697
|
+
dataType: "number int53";
|
|
16698
|
+
data: number;
|
|
16699
|
+
driverParam: number;
|
|
16700
|
+
notNull: true;
|
|
16701
|
+
hasDefault: false;
|
|
16702
|
+
isPrimaryKey: false;
|
|
16703
|
+
isAutoincrement: false;
|
|
16704
|
+
hasRuntimeDefault: false;
|
|
16705
|
+
enumValues: undefined;
|
|
16706
|
+
baseColumn: never;
|
|
16707
|
+
identity: undefined;
|
|
16708
|
+
generated: undefined;
|
|
16709
|
+
}, {}>;
|
|
16710
|
+
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16711
|
+
name: string;
|
|
16712
|
+
tableName: "crm_fields";
|
|
16713
|
+
dataType: "number int53";
|
|
16714
|
+
data: number;
|
|
16715
|
+
driverParam: number;
|
|
16716
|
+
notNull: true;
|
|
16717
|
+
hasDefault: false;
|
|
16718
|
+
isPrimaryKey: false;
|
|
16719
|
+
isAutoincrement: false;
|
|
16720
|
+
hasRuntimeDefault: false;
|
|
16721
|
+
enumValues: undefined;
|
|
16722
|
+
baseColumn: never;
|
|
16723
|
+
identity: undefined;
|
|
16724
|
+
generated: undefined;
|
|
16725
|
+
}, {}>;
|
|
16726
|
+
updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16727
|
+
name: string;
|
|
16728
|
+
tableName: "crm_fields";
|
|
16729
|
+
dataType: "number int53";
|
|
16730
|
+
data: number;
|
|
16731
|
+
driverParam: number;
|
|
16732
|
+
notNull: true;
|
|
16733
|
+
hasDefault: false;
|
|
16734
|
+
isPrimaryKey: false;
|
|
16735
|
+
isAutoincrement: false;
|
|
16736
|
+
hasRuntimeDefault: false;
|
|
16737
|
+
enumValues: undefined;
|
|
16738
|
+
baseColumn: never;
|
|
16739
|
+
identity: undefined;
|
|
16740
|
+
generated: undefined;
|
|
16741
|
+
}, {}>;
|
|
16742
|
+
deletedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
16743
|
+
name: string;
|
|
16744
|
+
tableName: "crm_fields";
|
|
16745
|
+
dataType: "number int53";
|
|
16746
|
+
data: number;
|
|
16747
|
+
driverParam: number;
|
|
16748
|
+
notNull: false;
|
|
16749
|
+
hasDefault: false;
|
|
16750
|
+
isPrimaryKey: false;
|
|
16751
|
+
isAutoincrement: false;
|
|
16752
|
+
hasRuntimeDefault: false;
|
|
16753
|
+
enumValues: undefined;
|
|
16754
|
+
baseColumn: never;
|
|
16755
|
+
identity: undefined;
|
|
16756
|
+
generated: undefined;
|
|
16757
|
+
}, {}>;
|
|
16758
|
+
};
|
|
16759
|
+
dialect: 'sqlite';
|
|
16760
|
+
isAlias: false;
|
|
16761
|
+
}>;
|
|
16545
16762
|
/** What a source said about one of its records, as it said it: the layer under the entity an import makes. */
|
|
16546
16763
|
export declare const records: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
16547
16764
|
name: "records";
|
|
@@ -1661,6 +1661,24 @@ export const pipelineStageChanges = sqliteTable("pipeline_stage_changes", {
|
|
|
1661
1661
|
index("pipeline_stage_changes_by_from_stage_id").on(table.fromStageId),
|
|
1662
1662
|
index("pipeline_stage_changes_by_to_stage_id").on(table.toStageId),
|
|
1663
1663
|
]);
|
|
1664
|
+
/** A CRM account's own fields on one kind; their values stay in each row's `metadata`, keyed by code. */
|
|
1665
|
+
export const crmFields = sqliteTable("crm_fields", {
|
|
1666
|
+
id: integer("id").primaryKey(),
|
|
1667
|
+
accountId: integer("account_id")
|
|
1668
|
+
.notNull()
|
|
1669
|
+
.references(() => accounts.id),
|
|
1670
|
+
kind: text("kind").notNull(),
|
|
1671
|
+
code: text("code").notNull(),
|
|
1672
|
+
label: text("label"),
|
|
1673
|
+
type: text("type").notNull(),
|
|
1674
|
+
multiple: integer("multiple").notNull(),
|
|
1675
|
+
filterable: integer("filterable").notNull(),
|
|
1676
|
+
options: text("options"),
|
|
1677
|
+
position: integer("position").notNull(),
|
|
1678
|
+
createdAt: integer("created_at").notNull(),
|
|
1679
|
+
updatedAt: integer("updated_at").notNull(),
|
|
1680
|
+
deletedAt: integer("deleted_at"),
|
|
1681
|
+
}, (table) => [unique().on(table.accountId, table.kind, table.code)]);
|
|
1664
1682
|
/** What a source said about one of its records, as it said it: the layer under the entity an import makes. */
|
|
1665
1683
|
export const records = sqliteTable("records", {
|
|
1666
1684
|
id: integer("id").primaryKey(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/cli-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.597.0",
|
|
4
4
|
"description": "The messenger-neutral half of a messaging CLI: domain model, message locators, rendering, name resolution, the SQLite seam, the command skeleton and shared read commands, the send guard, run records and the message store",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"type": "module",
|
|
16
16
|
"wirecat": {
|
|
17
17
|
"store": {
|
|
18
|
-
"speaks":
|
|
18
|
+
"speaks": 54,
|
|
19
19
|
"minCompatible": 34
|
|
20
20
|
}
|
|
21
21
|
},
|