@objectstack/platform-objects 4.0.5 → 4.1.1
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/apps/index.d.mts +66 -48
- package/dist/apps/index.d.ts +66 -48
- package/dist/apps/index.js +12158 -217
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/index.mjs +12154 -212
- package/dist/apps/index.mjs.map +1 -1
- package/dist/audit/index.d.mts +39010 -55
- package/dist/audit/index.d.ts +39010 -55
- package/dist/audit/index.js +1428 -0
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/index.mjs +1417 -1
- package/dist/audit/index.mjs.map +1 -1
- package/dist/identity/index.d.mts +14904 -2817
- package/dist/identity/index.d.ts +14904 -2817
- package/dist/identity/index.js +1090 -6
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/index.mjs +1089 -7
- package/dist/identity/index.mjs.map +1 -1
- package/dist/index.d.mts +9 -7
- package/dist/index.d.ts +9 -7
- package/dist/index.js +15839 -1650
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15815 -1633
- package/dist/index.mjs.map +1 -1
- package/dist/integration/index.d.mts +2906 -0
- package/dist/integration/index.d.ts +2906 -0
- package/dist/integration/index.js +140 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/index.mjs +138 -0
- package/dist/integration/index.mjs.map +1 -0
- package/dist/metadata/index.d.mts +581 -21183
- package/dist/metadata/index.d.ts +581 -21183
- package/dist/metadata/index.js +29 -619
- package/dist/metadata/index.js.map +1 -1
- package/dist/metadata/index.mjs +30 -615
- package/dist/metadata/index.mjs.map +1 -1
- package/dist/security/index.d.mts +7288 -50
- package/dist/security/index.d.ts +7288 -50
- package/dist/security/index.js +540 -0
- package/dist/security/index.js.map +1 -1
- package/dist/security/index.mjs +539 -1
- package/dist/security/index.mjs.map +1 -1
- package/dist/system/index.d.mts +8412 -0
- package/dist/system/index.d.ts +8412 -0
- package/dist/system/index.js +395 -0
- package/dist/system/index.js.map +1 -0
- package/dist/system/index.mjs +391 -0
- package/dist/system/index.mjs.map +1 -0
- package/package.json +13 -8
- package/dist/tenant/index.d.mts +0 -18464
- package/dist/tenant/index.d.ts +0 -18464
- package/dist/tenant/index.js +0 -741
- package/dist/tenant/index.js.map +0 -1
- package/dist/tenant/index.mjs +0 -733
- package/dist/tenant/index.mjs.map +0 -1
- /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.mts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.mts} +0 -0
- /package/dist/{state-machine.zod-BFg-VE0M.d-Ek3_yo9P.d.ts → state-machine.zod-BNanU03M.d-Ek3_yo9P.d.ts} +0 -0
package/dist/metadata/index.mjs
CHANGED
|
@@ -7,6 +7,13 @@ var SysMetadataObject = ObjectSchema.create({
|
|
|
7
7
|
pluralLabel: "System Metadata",
|
|
8
8
|
icon: "settings",
|
|
9
9
|
isSystem: true,
|
|
10
|
+
// managedBy: 'system' — the metadata table backs every other config
|
|
11
|
+
// object. Writing rows directly here bypasses the typed Zod APIs and
|
|
12
|
+
// would let an admin inject malformed payloads. The "All Metadata"
|
|
13
|
+
// menu is therefore a read-only debug surface (Export only); typed
|
|
14
|
+
// edits flow through the dedicated per-type pages (Approval Process,
|
|
15
|
+
// Sharing Rule, etc.).
|
|
16
|
+
managedBy: "system",
|
|
10
17
|
description: "Stores platform and user-scope metadata records (objects, views, flows, etc.)",
|
|
11
18
|
fields: {
|
|
12
19
|
/** Primary Key (UUID) */
|
|
@@ -99,11 +106,16 @@ var SysMetadataObject = ObjectSchema.create({
|
|
|
99
106
|
required: false,
|
|
100
107
|
description: "Organization for multi-tenant isolation."
|
|
101
108
|
}),
|
|
102
|
-
/**
|
|
109
|
+
/**
|
|
110
|
+
* @deprecated ADR-0005 (revised 2026-05): per-env DBs replace per-project
|
|
111
|
+
* isolation. `project_id` is no longer written by saveMetaItem and not
|
|
112
|
+
* consulted by overlay reads. Kept for legacy rows; new writes leave it
|
|
113
|
+
* NULL. Will be dropped in a future schema migration.
|
|
114
|
+
*/
|
|
103
115
|
project_id: Field.lookup("sys_project", {
|
|
104
|
-
label: "Project",
|
|
116
|
+
label: "Project (deprecated)",
|
|
105
117
|
required: false,
|
|
106
|
-
description: "
|
|
118
|
+
description: "DEPRECATED. Use organization_id for tenant isolation."
|
|
107
119
|
}),
|
|
108
120
|
/** Version number for optimistic concurrency */
|
|
109
121
|
version: Field.number({
|
|
@@ -149,10 +161,20 @@ var SysMetadataObject = ObjectSchema.create({
|
|
|
149
161
|
})
|
|
150
162
|
},
|
|
151
163
|
indexes: [
|
|
152
|
-
|
|
164
|
+
// ADR-0005 (revised 2026-05): overlay uniqueness is scoped by
|
|
165
|
+
// (type, name, organization_id), restricted to active rows so resets
|
|
166
|
+
// / archived versions don't collide. project_id is deprecated and
|
|
167
|
+
// not part of the discriminator. The runtime layer (protocol.ts
|
|
168
|
+
// ensureOverlayIndex) issues a DROP-then-CREATE migration to
|
|
169
|
+
// replace any pre-existing legacy composite index in-place.
|
|
170
|
+
{
|
|
171
|
+
name: "idx_sys_metadata_overlay_active",
|
|
172
|
+
fields: ["type", "name", "organization_id"],
|
|
173
|
+
unique: true,
|
|
174
|
+
partial: "state = 'active'"
|
|
175
|
+
},
|
|
176
|
+
{ name: "idx_sys_metadata_org_type", fields: ["organization_id", "type"] },
|
|
153
177
|
{ fields: ["type", "scope"] },
|
|
154
|
-
{ fields: ["organization_id"] },
|
|
155
|
-
{ fields: ["project_id"] },
|
|
156
178
|
{ fields: ["package_version_id"] },
|
|
157
179
|
{ fields: ["state"] },
|
|
158
180
|
{ fields: ["namespace"] }
|
|
@@ -171,6 +193,7 @@ var SysMetadataHistoryObject = ObjectSchema.create({
|
|
|
171
193
|
pluralLabel: "Metadata History",
|
|
172
194
|
icon: "history",
|
|
173
195
|
isSystem: true,
|
|
196
|
+
managedBy: "system",
|
|
174
197
|
description: "Version history and audit trail for metadata changes",
|
|
175
198
|
fields: {
|
|
176
199
|
/** Primary Key (UUID) */
|
|
@@ -288,615 +311,7 @@ var SysMetadataHistoryObject = ObjectSchema.create({
|
|
|
288
311
|
trash: false
|
|
289
312
|
}
|
|
290
313
|
});
|
|
291
|
-
var SysObject = ObjectSchema.create({
|
|
292
|
-
name: "sys_object",
|
|
293
|
-
label: "Object Definition",
|
|
294
|
-
pluralLabel: "Object Definitions",
|
|
295
|
-
description: "Metadata for business objects",
|
|
296
|
-
icon: "database",
|
|
297
|
-
isSystem: true,
|
|
298
|
-
fields: {
|
|
299
|
-
// Core Identity
|
|
300
|
-
name: Field.text({
|
|
301
|
-
label: "Object Name",
|
|
302
|
-
required: true,
|
|
303
|
-
maxLength: 255,
|
|
304
|
-
description: "Machine name (snake_case)"
|
|
305
|
-
}),
|
|
306
|
-
project_id: Field.text({
|
|
307
|
-
label: "Environment ID",
|
|
308
|
-
maxLength: 255,
|
|
309
|
-
description: "Project/environment scope \u2014 null = control-plane global"
|
|
310
|
-
}),
|
|
311
|
-
label: Field.text({
|
|
312
|
-
label: "Display Label",
|
|
313
|
-
required: true,
|
|
314
|
-
maxLength: 255
|
|
315
|
-
}),
|
|
316
|
-
plural_label: Field.text({
|
|
317
|
-
label: "Plural Label",
|
|
318
|
-
maxLength: 255
|
|
319
|
-
}),
|
|
320
|
-
description: Field.textarea({
|
|
321
|
-
label: "Description"
|
|
322
|
-
}),
|
|
323
|
-
icon: Field.text({
|
|
324
|
-
label: "Icon",
|
|
325
|
-
maxLength: 100
|
|
326
|
-
}),
|
|
327
|
-
// Classification
|
|
328
|
-
namespace: Field.text({
|
|
329
|
-
label: "Namespace",
|
|
330
|
-
maxLength: 100,
|
|
331
|
-
description: "Logical domain namespace"
|
|
332
|
-
}),
|
|
333
|
-
tags: Field.text({
|
|
334
|
-
label: "Tags",
|
|
335
|
-
description: "Comma-separated categorization tags"
|
|
336
|
-
}),
|
|
337
|
-
active: Field.boolean({
|
|
338
|
-
label: "Active",
|
|
339
|
-
defaultValue: true
|
|
340
|
-
}),
|
|
341
|
-
is_system: Field.boolean({
|
|
342
|
-
label: "System Object",
|
|
343
|
-
defaultValue: false,
|
|
344
|
-
description: "Protected from deletion"
|
|
345
|
-
}),
|
|
346
|
-
abstract: Field.boolean({
|
|
347
|
-
label: "Abstract",
|
|
348
|
-
defaultValue: false,
|
|
349
|
-
description: "Cannot be instantiated"
|
|
350
|
-
}),
|
|
351
|
-
// Storage
|
|
352
|
-
datasource: Field.text({
|
|
353
|
-
label: "Datasource",
|
|
354
|
-
maxLength: 100,
|
|
355
|
-
defaultValue: "default"
|
|
356
|
-
}),
|
|
357
|
-
table_name: Field.text({
|
|
358
|
-
label: "Table Name",
|
|
359
|
-
maxLength: 255,
|
|
360
|
-
description: "Physical table/collection name"
|
|
361
|
-
}),
|
|
362
|
-
// Complex Data (stored as JSON)
|
|
363
|
-
fields_json: Field.textarea({
|
|
364
|
-
label: "Fields (JSON)",
|
|
365
|
-
description: "Field definitions as JSON"
|
|
366
|
-
}),
|
|
367
|
-
indexes_json: Field.textarea({
|
|
368
|
-
label: "Indexes (JSON)",
|
|
369
|
-
description: "Index definitions as JSON"
|
|
370
|
-
}),
|
|
371
|
-
validations_json: Field.textarea({
|
|
372
|
-
label: "Validations (JSON)",
|
|
373
|
-
description: "Validation rules as JSON"
|
|
374
|
-
}),
|
|
375
|
-
state_machines_json: Field.textarea({
|
|
376
|
-
label: "State Machines (JSON)",
|
|
377
|
-
description: "State machine definitions as JSON"
|
|
378
|
-
}),
|
|
379
|
-
capabilities_json: Field.textarea({
|
|
380
|
-
label: "Capabilities (JSON)",
|
|
381
|
-
description: "Enabled system features as JSON"
|
|
382
|
-
}),
|
|
383
|
-
// Denormalized Fields
|
|
384
|
-
field_count: Field.number({
|
|
385
|
-
label: "Field Count",
|
|
386
|
-
description: "Number of fields defined"
|
|
387
|
-
}),
|
|
388
|
-
// Display
|
|
389
|
-
display_name_field: Field.text({
|
|
390
|
-
label: "Display Name Field",
|
|
391
|
-
maxLength: 100,
|
|
392
|
-
description: "Field to use as record display name"
|
|
393
|
-
}),
|
|
394
|
-
title_format: Field.text({
|
|
395
|
-
label: "Title Format",
|
|
396
|
-
maxLength: 255,
|
|
397
|
-
description: "Title expression template"
|
|
398
|
-
}),
|
|
399
|
-
compact_layout: Field.text({
|
|
400
|
-
label: "Compact Layout",
|
|
401
|
-
description: "Comma-separated field names for cards"
|
|
402
|
-
}),
|
|
403
|
-
// Capabilities
|
|
404
|
-
track_history: Field.boolean({
|
|
405
|
-
label: "Track History",
|
|
406
|
-
defaultValue: false
|
|
407
|
-
}),
|
|
408
|
-
searchable: Field.boolean({
|
|
409
|
-
label: "Searchable",
|
|
410
|
-
defaultValue: true
|
|
411
|
-
}),
|
|
412
|
-
api_enabled: Field.boolean({
|
|
413
|
-
label: "API Enabled",
|
|
414
|
-
defaultValue: true
|
|
415
|
-
}),
|
|
416
|
-
files: Field.boolean({
|
|
417
|
-
label: "Files",
|
|
418
|
-
defaultValue: false
|
|
419
|
-
}),
|
|
420
|
-
feeds: Field.boolean({
|
|
421
|
-
label: "Feeds",
|
|
422
|
-
defaultValue: false
|
|
423
|
-
}),
|
|
424
|
-
activities: Field.boolean({
|
|
425
|
-
label: "Activities",
|
|
426
|
-
defaultValue: false
|
|
427
|
-
}),
|
|
428
|
-
trash: Field.boolean({
|
|
429
|
-
label: "Trash",
|
|
430
|
-
defaultValue: true
|
|
431
|
-
}),
|
|
432
|
-
mru: Field.boolean({
|
|
433
|
-
label: "MRU",
|
|
434
|
-
defaultValue: true
|
|
435
|
-
}),
|
|
436
|
-
clone: Field.boolean({
|
|
437
|
-
label: "Clone",
|
|
438
|
-
defaultValue: true
|
|
439
|
-
}),
|
|
440
|
-
// Package Management
|
|
441
|
-
package_id: Field.lookup("sys_package", {
|
|
442
|
-
label: "Package"
|
|
443
|
-
}),
|
|
444
|
-
managed_by: Field.select({
|
|
445
|
-
label: "Managed By",
|
|
446
|
-
options: [
|
|
447
|
-
{ value: "package", label: "Package" },
|
|
448
|
-
{ value: "platform", label: "Platform" },
|
|
449
|
-
{ value: "user", label: "User" }
|
|
450
|
-
]
|
|
451
|
-
}),
|
|
452
|
-
// Audit
|
|
453
|
-
created_by: Field.lookup("sys_user", { label: "Created By" }),
|
|
454
|
-
created_at: Field.datetime({ label: "Created At" }),
|
|
455
|
-
updated_by: Field.lookup("sys_user", { label: "Updated By" }),
|
|
456
|
-
updated_at: Field.datetime({ label: "Updated At" })
|
|
457
|
-
},
|
|
458
|
-
indexes: [
|
|
459
|
-
{ fields: ["name", "project_id"], unique: true },
|
|
460
|
-
{ fields: ["project_id"] },
|
|
461
|
-
{ fields: ["namespace"] },
|
|
462
|
-
{ fields: ["package_id"] },
|
|
463
|
-
{ fields: ["active"] },
|
|
464
|
-
{ fields: ["is_system"] }
|
|
465
|
-
],
|
|
466
|
-
enable: {
|
|
467
|
-
trackHistory: true,
|
|
468
|
-
searchable: true,
|
|
469
|
-
apiEnabled: true,
|
|
470
|
-
trash: true,
|
|
471
|
-
mru: true
|
|
472
|
-
}
|
|
473
|
-
});
|
|
474
|
-
var SysView = ObjectSchema.create({
|
|
475
|
-
name: "sys_view",
|
|
476
|
-
label: "View Definition",
|
|
477
|
-
pluralLabel: "View Definitions",
|
|
478
|
-
description: "Metadata for UI views (grid, kanban, calendar, etc.)",
|
|
479
|
-
icon: "layout-grid",
|
|
480
|
-
isSystem: true,
|
|
481
|
-
fields: {
|
|
482
|
-
// Core Identity
|
|
483
|
-
name: Field.text({
|
|
484
|
-
label: "View Name",
|
|
485
|
-
required: true,
|
|
486
|
-
maxLength: 255
|
|
487
|
-
}),
|
|
488
|
-
project_id: Field.text({
|
|
489
|
-
label: "Environment ID",
|
|
490
|
-
maxLength: 255,
|
|
491
|
-
description: "Project/environment scope \u2014 null = control-plane global"
|
|
492
|
-
}),
|
|
493
|
-
label: Field.text({
|
|
494
|
-
label: "Display Label",
|
|
495
|
-
required: true,
|
|
496
|
-
maxLength: 255
|
|
497
|
-
}),
|
|
498
|
-
description: Field.textarea({
|
|
499
|
-
label: "Description"
|
|
500
|
-
}),
|
|
501
|
-
// Reference to Object
|
|
502
|
-
object_name: Field.text({
|
|
503
|
-
label: "Object Name",
|
|
504
|
-
required: true,
|
|
505
|
-
maxLength: 255,
|
|
506
|
-
description: "The object this view displays"
|
|
507
|
-
}),
|
|
508
|
-
// View Type
|
|
509
|
-
view_type: Field.select({
|
|
510
|
-
label: "View Type",
|
|
511
|
-
required: true,
|
|
512
|
-
options: [
|
|
513
|
-
{ value: "grid", label: "Grid" },
|
|
514
|
-
{ value: "kanban", label: "Kanban" },
|
|
515
|
-
{ value: "calendar", label: "Calendar" },
|
|
516
|
-
{ value: "gantt", label: "Gantt" },
|
|
517
|
-
{ value: "form", label: "Form" },
|
|
518
|
-
{ value: "timeline", label: "Timeline" }
|
|
519
|
-
]
|
|
520
|
-
}),
|
|
521
|
-
// Complex Configuration
|
|
522
|
-
columns_json: Field.textarea({
|
|
523
|
-
label: "Columns (JSON)",
|
|
524
|
-
description: "Column definitions as JSON"
|
|
525
|
-
}),
|
|
526
|
-
filters_json: Field.textarea({
|
|
527
|
-
label: "Filters (JSON)",
|
|
528
|
-
description: "Filter definitions as JSON"
|
|
529
|
-
}),
|
|
530
|
-
sort_json: Field.textarea({
|
|
531
|
-
label: "Sort (JSON)",
|
|
532
|
-
description: "Sort configuration as JSON"
|
|
533
|
-
}),
|
|
534
|
-
config_json: Field.textarea({
|
|
535
|
-
label: "Configuration (JSON)",
|
|
536
|
-
description: "View-specific configuration as JSON"
|
|
537
|
-
}),
|
|
538
|
-
// Display Options
|
|
539
|
-
page_size: Field.number({
|
|
540
|
-
label: "Page Size",
|
|
541
|
-
defaultValue: 25,
|
|
542
|
-
min: 1,
|
|
543
|
-
max: 200
|
|
544
|
-
}),
|
|
545
|
-
show_search: Field.boolean({
|
|
546
|
-
label: "Show Search",
|
|
547
|
-
defaultValue: true
|
|
548
|
-
}),
|
|
549
|
-
show_filters: Field.boolean({
|
|
550
|
-
label: "Show Filters",
|
|
551
|
-
defaultValue: true
|
|
552
|
-
}),
|
|
553
|
-
// Classification
|
|
554
|
-
namespace: Field.text({
|
|
555
|
-
label: "Namespace",
|
|
556
|
-
maxLength: 100
|
|
557
|
-
}),
|
|
558
|
-
// Package Management
|
|
559
|
-
package_id: Field.lookup("sys_package", {
|
|
560
|
-
label: "Package"
|
|
561
|
-
}),
|
|
562
|
-
managed_by: Field.select({
|
|
563
|
-
label: "Managed By",
|
|
564
|
-
options: [
|
|
565
|
-
{ value: "package", label: "Package" },
|
|
566
|
-
{ value: "platform", label: "Platform" },
|
|
567
|
-
{ value: "user", label: "User" }
|
|
568
|
-
]
|
|
569
|
-
}),
|
|
570
|
-
// Audit
|
|
571
|
-
created_by: Field.lookup("sys_user", { label: "Created By" }),
|
|
572
|
-
created_at: Field.datetime({ label: "Created At" }),
|
|
573
|
-
updated_by: Field.lookup("sys_user", { label: "Updated By" }),
|
|
574
|
-
updated_at: Field.datetime({ label: "Updated At" })
|
|
575
|
-
},
|
|
576
|
-
indexes: [
|
|
577
|
-
{ fields: ["name", "project_id"], unique: true },
|
|
578
|
-
{ fields: ["project_id"] },
|
|
579
|
-
{ fields: ["object_name"] },
|
|
580
|
-
{ fields: ["view_type"] },
|
|
581
|
-
{ fields: ["namespace"] },
|
|
582
|
-
{ fields: ["package_id"] }
|
|
583
|
-
],
|
|
584
|
-
enable: {
|
|
585
|
-
trackHistory: true,
|
|
586
|
-
searchable: true,
|
|
587
|
-
apiEnabled: true,
|
|
588
|
-
trash: true,
|
|
589
|
-
mru: true
|
|
590
|
-
}
|
|
591
|
-
});
|
|
592
|
-
var SysAgent = ObjectSchema.create({
|
|
593
|
-
name: "sys_agent",
|
|
594
|
-
label: "AI Agent",
|
|
595
|
-
pluralLabel: "AI Agents",
|
|
596
|
-
description: "AI agent definitions",
|
|
597
|
-
icon: "bot",
|
|
598
|
-
isSystem: true,
|
|
599
|
-
fields: {
|
|
600
|
-
// Core Identity
|
|
601
|
-
name: Field.text({
|
|
602
|
-
label: "Agent Name",
|
|
603
|
-
required: true,
|
|
604
|
-
maxLength: 255
|
|
605
|
-
}),
|
|
606
|
-
project_id: Field.text({
|
|
607
|
-
label: "Environment ID",
|
|
608
|
-
maxLength: 255,
|
|
609
|
-
description: "Project/environment scope \u2014 null = control-plane global"
|
|
610
|
-
}),
|
|
611
|
-
label: Field.text({
|
|
612
|
-
label: "Display Label",
|
|
613
|
-
required: true,
|
|
614
|
-
maxLength: 255
|
|
615
|
-
}),
|
|
616
|
-
description: Field.textarea({
|
|
617
|
-
label: "Description"
|
|
618
|
-
}),
|
|
619
|
-
// Agent Type
|
|
620
|
-
agent_type: Field.select({
|
|
621
|
-
label: "Agent Type",
|
|
622
|
-
options: [
|
|
623
|
-
{ value: "conversational", label: "Conversational" },
|
|
624
|
-
{ value: "task", label: "Task-Based" },
|
|
625
|
-
{ value: "analytical", label: "Analytical" },
|
|
626
|
-
{ value: "workflow", label: "Workflow" }
|
|
627
|
-
]
|
|
628
|
-
}),
|
|
629
|
-
// Model Configuration
|
|
630
|
-
model: Field.text({
|
|
631
|
-
label: "Model ID",
|
|
632
|
-
maxLength: 255,
|
|
633
|
-
description: "AI model identifier"
|
|
634
|
-
}),
|
|
635
|
-
temperature: Field.number({
|
|
636
|
-
label: "Temperature",
|
|
637
|
-
min: 0,
|
|
638
|
-
max: 2,
|
|
639
|
-
defaultValue: 0.7
|
|
640
|
-
}),
|
|
641
|
-
max_tokens: Field.number({
|
|
642
|
-
label: "Max Tokens",
|
|
643
|
-
min: 1,
|
|
644
|
-
max: 1e5
|
|
645
|
-
}),
|
|
646
|
-
top_p: Field.number({
|
|
647
|
-
label: "Top P",
|
|
648
|
-
min: 0,
|
|
649
|
-
max: 1
|
|
650
|
-
}),
|
|
651
|
-
// System Prompt
|
|
652
|
-
system_prompt: Field.textarea({
|
|
653
|
-
label: "System Prompt",
|
|
654
|
-
description: "Instructions for the AI agent"
|
|
655
|
-
}),
|
|
656
|
-
// Tools Configuration
|
|
657
|
-
tools_json: Field.textarea({
|
|
658
|
-
label: "Tools (JSON)",
|
|
659
|
-
description: "Available tools as JSON array"
|
|
660
|
-
}),
|
|
661
|
-
// Skills Configuration
|
|
662
|
-
skills_json: Field.textarea({
|
|
663
|
-
label: "Skills (JSON)",
|
|
664
|
-
description: "Available skills as JSON array"
|
|
665
|
-
}),
|
|
666
|
-
// Memory Configuration
|
|
667
|
-
memory_enabled: Field.boolean({
|
|
668
|
-
label: "Memory Enabled",
|
|
669
|
-
defaultValue: false
|
|
670
|
-
}),
|
|
671
|
-
memory_window: Field.number({
|
|
672
|
-
label: "Memory Window",
|
|
673
|
-
description: "Number of conversation turns to remember",
|
|
674
|
-
defaultValue: 10
|
|
675
|
-
}),
|
|
676
|
-
// Classification
|
|
677
|
-
namespace: Field.text({
|
|
678
|
-
label: "Namespace",
|
|
679
|
-
maxLength: 100
|
|
680
|
-
}),
|
|
681
|
-
// Package Management
|
|
682
|
-
package_id: Field.lookup("sys_package", {
|
|
683
|
-
label: "Package"
|
|
684
|
-
}),
|
|
685
|
-
managed_by: Field.select({
|
|
686
|
-
label: "Managed By",
|
|
687
|
-
options: [
|
|
688
|
-
{ value: "package", label: "Package" },
|
|
689
|
-
{ value: "platform", label: "Platform" },
|
|
690
|
-
{ value: "user", label: "User" }
|
|
691
|
-
]
|
|
692
|
-
}),
|
|
693
|
-
// Audit
|
|
694
|
-
created_by: Field.lookup("sys_user", { label: "Created By" }),
|
|
695
|
-
created_at: Field.datetime({ label: "Created At" }),
|
|
696
|
-
updated_by: Field.lookup("sys_user", { label: "Updated By" }),
|
|
697
|
-
updated_at: Field.datetime({ label: "Updated At" })
|
|
698
|
-
},
|
|
699
|
-
indexes: [
|
|
700
|
-
{ fields: ["name", "project_id"], unique: true },
|
|
701
|
-
{ fields: ["project_id"] },
|
|
702
|
-
{ fields: ["agent_type"] },
|
|
703
|
-
{ fields: ["namespace"] },
|
|
704
|
-
{ fields: ["package_id"] }
|
|
705
|
-
],
|
|
706
|
-
enable: {
|
|
707
|
-
trackHistory: true,
|
|
708
|
-
searchable: true,
|
|
709
|
-
apiEnabled: true,
|
|
710
|
-
trash: true,
|
|
711
|
-
mru: true
|
|
712
|
-
}
|
|
713
|
-
});
|
|
714
|
-
var SysTool = ObjectSchema.create({
|
|
715
|
-
name: "sys_tool",
|
|
716
|
-
label: "AI Tool",
|
|
717
|
-
pluralLabel: "AI Tools",
|
|
718
|
-
description: "AI tool definitions",
|
|
719
|
-
icon: "wrench",
|
|
720
|
-
isSystem: true,
|
|
721
|
-
fields: {
|
|
722
|
-
// Core Identity
|
|
723
|
-
name: Field.text({
|
|
724
|
-
label: "Tool Name",
|
|
725
|
-
required: true,
|
|
726
|
-
maxLength: 255
|
|
727
|
-
}),
|
|
728
|
-
project_id: Field.text({
|
|
729
|
-
label: "Environment ID",
|
|
730
|
-
maxLength: 255,
|
|
731
|
-
description: "Project/environment scope \u2014 null = control-plane global"
|
|
732
|
-
}),
|
|
733
|
-
label: Field.text({
|
|
734
|
-
label: "Display Label",
|
|
735
|
-
required: true,
|
|
736
|
-
maxLength: 255
|
|
737
|
-
}),
|
|
738
|
-
description: Field.textarea({
|
|
739
|
-
label: "Description",
|
|
740
|
-
required: true
|
|
741
|
-
}),
|
|
742
|
-
// Parameters
|
|
743
|
-
parameters_json: Field.textarea({
|
|
744
|
-
label: "Parameters (JSON)",
|
|
745
|
-
description: "Tool parameter schema as JSON"
|
|
746
|
-
}),
|
|
747
|
-
// Implementation
|
|
748
|
-
handler_code: Field.textarea({
|
|
749
|
-
label: "Handler Code",
|
|
750
|
-
description: "Tool implementation code"
|
|
751
|
-
}),
|
|
752
|
-
// Classification
|
|
753
|
-
namespace: Field.text({
|
|
754
|
-
label: "Namespace",
|
|
755
|
-
maxLength: 100
|
|
756
|
-
}),
|
|
757
|
-
// Package Management
|
|
758
|
-
package_id: Field.lookup("sys_package", {
|
|
759
|
-
label: "Package"
|
|
760
|
-
}),
|
|
761
|
-
managed_by: Field.select({
|
|
762
|
-
label: "Managed By",
|
|
763
|
-
options: [
|
|
764
|
-
{ value: "package", label: "Package" },
|
|
765
|
-
{ value: "platform", label: "Platform" },
|
|
766
|
-
{ value: "user", label: "User" }
|
|
767
|
-
]
|
|
768
|
-
}),
|
|
769
|
-
// Audit
|
|
770
|
-
created_by: Field.lookup("sys_user", { label: "Created By" }),
|
|
771
|
-
created_at: Field.datetime({ label: "Created At" }),
|
|
772
|
-
updated_by: Field.lookup("sys_user", { label: "Updated By" }),
|
|
773
|
-
updated_at: Field.datetime({ label: "Updated At" })
|
|
774
|
-
},
|
|
775
|
-
indexes: [
|
|
776
|
-
{ fields: ["name", "project_id"], unique: true },
|
|
777
|
-
{ fields: ["project_id"] },
|
|
778
|
-
{ fields: ["namespace"] },
|
|
779
|
-
{ fields: ["package_id"] }
|
|
780
|
-
],
|
|
781
|
-
enable: {
|
|
782
|
-
trackHistory: true,
|
|
783
|
-
searchable: true,
|
|
784
|
-
apiEnabled: true,
|
|
785
|
-
trash: true,
|
|
786
|
-
mru: true
|
|
787
|
-
}
|
|
788
|
-
});
|
|
789
|
-
var SysFlow = ObjectSchema.create({
|
|
790
|
-
name: "sys_flow",
|
|
791
|
-
label: "Flow",
|
|
792
|
-
pluralLabel: "Flows",
|
|
793
|
-
description: "Visual logic flow definitions",
|
|
794
|
-
icon: "workflow",
|
|
795
|
-
isSystem: true,
|
|
796
|
-
fields: {
|
|
797
|
-
// Core Identity
|
|
798
|
-
name: Field.text({
|
|
799
|
-
label: "Flow Name",
|
|
800
|
-
required: true,
|
|
801
|
-
maxLength: 255
|
|
802
|
-
}),
|
|
803
|
-
project_id: Field.text({
|
|
804
|
-
label: "Environment ID",
|
|
805
|
-
maxLength: 255,
|
|
806
|
-
description: "Project/environment scope \u2014 null = control-plane global"
|
|
807
|
-
}),
|
|
808
|
-
label: Field.text({
|
|
809
|
-
label: "Display Label",
|
|
810
|
-
required: true,
|
|
811
|
-
maxLength: 255
|
|
812
|
-
}),
|
|
813
|
-
description: Field.textarea({
|
|
814
|
-
label: "Description"
|
|
815
|
-
}),
|
|
816
|
-
// Flow Type
|
|
817
|
-
flow_type: Field.select({
|
|
818
|
-
label: "Flow Type",
|
|
819
|
-
required: true,
|
|
820
|
-
options: [
|
|
821
|
-
{ value: "autolaunched", label: "Autolaunched" },
|
|
822
|
-
{ value: "screen", label: "Screen Flow" },
|
|
823
|
-
{ value: "schedule", label: "Scheduled" },
|
|
824
|
-
{ value: "trigger", label: "Trigger-Based" }
|
|
825
|
-
]
|
|
826
|
-
}),
|
|
827
|
-
// Flow Definition
|
|
828
|
-
nodes_json: Field.textarea({
|
|
829
|
-
label: "Nodes (JSON)",
|
|
830
|
-
description: "Flow nodes as JSON"
|
|
831
|
-
}),
|
|
832
|
-
edges_json: Field.textarea({
|
|
833
|
-
label: "Edges (JSON)",
|
|
834
|
-
description: "Flow edges as JSON"
|
|
835
|
-
}),
|
|
836
|
-
variables_json: Field.textarea({
|
|
837
|
-
label: "Variables (JSON)",
|
|
838
|
-
description: "Flow variables as JSON"
|
|
839
|
-
}),
|
|
840
|
-
// Trigger Configuration
|
|
841
|
-
trigger_type: Field.select({
|
|
842
|
-
label: "Trigger Type",
|
|
843
|
-
options: [
|
|
844
|
-
{ value: "record_created", label: "Record Created" },
|
|
845
|
-
{ value: "record_updated", label: "Record Updated" },
|
|
846
|
-
{ value: "record_deleted", label: "Record Deleted" },
|
|
847
|
-
{ value: "schedule", label: "Schedule" },
|
|
848
|
-
{ value: "platform_event", label: "Platform Event" }
|
|
849
|
-
]
|
|
850
|
-
}),
|
|
851
|
-
trigger_object: Field.text({
|
|
852
|
-
label: "Trigger Object",
|
|
853
|
-
maxLength: 255
|
|
854
|
-
}),
|
|
855
|
-
// Status
|
|
856
|
-
active: Field.boolean({
|
|
857
|
-
label: "Active",
|
|
858
|
-
defaultValue: false
|
|
859
|
-
}),
|
|
860
|
-
// Classification
|
|
861
|
-
namespace: Field.text({
|
|
862
|
-
label: "Namespace",
|
|
863
|
-
maxLength: 100
|
|
864
|
-
}),
|
|
865
|
-
// Package Management
|
|
866
|
-
package_id: Field.lookup("sys_package", {
|
|
867
|
-
label: "Package"
|
|
868
|
-
}),
|
|
869
|
-
managed_by: Field.select({
|
|
870
|
-
label: "Managed By",
|
|
871
|
-
options: [
|
|
872
|
-
{ value: "package", label: "Package" },
|
|
873
|
-
{ value: "platform", label: "Platform" },
|
|
874
|
-
{ value: "user", label: "User" }
|
|
875
|
-
]
|
|
876
|
-
}),
|
|
877
|
-
// Audit
|
|
878
|
-
created_by: Field.lookup("sys_user", { label: "Created By" }),
|
|
879
|
-
created_at: Field.datetime({ label: "Created At" }),
|
|
880
|
-
updated_by: Field.lookup("sys_user", { label: "Updated By" }),
|
|
881
|
-
updated_at: Field.datetime({ label: "Updated At" })
|
|
882
|
-
},
|
|
883
|
-
indexes: [
|
|
884
|
-
{ fields: ["name", "project_id"], unique: true },
|
|
885
|
-
{ fields: ["project_id"] },
|
|
886
|
-
{ fields: ["flow_type"] },
|
|
887
|
-
{ fields: ["active"] },
|
|
888
|
-
{ fields: ["namespace"] },
|
|
889
|
-
{ fields: ["package_id"] }
|
|
890
|
-
],
|
|
891
|
-
enable: {
|
|
892
|
-
trackHistory: true,
|
|
893
|
-
searchable: true,
|
|
894
|
-
apiEnabled: true,
|
|
895
|
-
trash: true,
|
|
896
|
-
mru: true
|
|
897
|
-
}
|
|
898
|
-
});
|
|
899
314
|
|
|
900
|
-
export {
|
|
315
|
+
export { SysMetadataObject as SysMetadata, SysMetadataHistoryObject, SysMetadataObject };
|
|
901
316
|
//# sourceMappingURL=index.mjs.map
|
|
902
317
|
//# sourceMappingURL=index.mjs.map
|