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