@elevasis/sdk 1.26.1 → 1.27.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/cli.cjs +10 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.js +7 -44
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.js +1 -64
- package/dist/test-utils/index.d.ts +4 -4
- package/dist/test-utils/index.js +12 -5
- package/dist/types/worker/index.d.ts +2 -2
- package/dist/worker/index.js +1 -0
- package/package.json +2 -2
- package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +31 -0
- package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +33 -0
- package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +37 -0
- package/reference/cli-management.mdx +3 -3
- package/reference/deployment/{ui-execution.mdx → execution-reference.mdx} +297 -24
- package/reference/deployment/index.mdx +101 -6
- package/reference/framework/project-structure.mdx +2 -2
- package/reference/index.mdx +2 -4
- package/reference/resources/index.mdx +2 -2
- package/reference/resources/patterns.mdx +1 -1
- package/reference/rules/ui.md +8 -1
- package/reference/scaffold/operations/workflow-recipes.md +10 -10
- package/reference/scaffold/recipes/add-a-feature.md +7 -7
- package/reference/scaffold/recipes/add-a-resource.md +8 -8
- package/reference/scaffold/reference/contracts.md +25 -30
- package/reference/deployment/api.mdx +0 -296
- package/reference/deployment/provided-features.mdx +0 -110
package/dist/cli.cjs
CHANGED
|
@@ -40268,6 +40268,9 @@ function getRuntimeResources(resources) {
|
|
|
40268
40268
|
}))
|
|
40269
40269
|
];
|
|
40270
40270
|
}
|
|
40271
|
+
function isStaticPlatformAgentResource(resource) {
|
|
40272
|
+
return resource.kind === "agent" && resource.agentKind === "platform";
|
|
40273
|
+
}
|
|
40271
40274
|
function hasOntologySources(organizationModel) {
|
|
40272
40275
|
return organizationModel.ontology !== void 0 || organizationModel.entities !== void 0 || organizationModel.actions !== void 0 || Object.values(organizationModel.systems ?? {}).some(systemHasOntologySource);
|
|
40273
40276
|
}
|
|
@@ -40421,6 +40424,9 @@ function validateResourceGovernance(orgName, deployment, organizationModel = dep
|
|
|
40421
40424
|
}
|
|
40422
40425
|
const runtimeResource = runtimeResourcesById.get(resource.id);
|
|
40423
40426
|
if (!runtimeResource) {
|
|
40427
|
+
if (isStaticPlatformAgentResource(resource)) {
|
|
40428
|
+
continue;
|
|
40429
|
+
}
|
|
40424
40430
|
addGovernanceIssue(
|
|
40425
40431
|
issues,
|
|
40426
40432
|
"missing-code-resource",
|
|
@@ -44124,7 +44130,7 @@ function wrapAction(commandName, fn) {
|
|
|
44124
44130
|
// package.json
|
|
44125
44131
|
var package_default = {
|
|
44126
44132
|
name: "@elevasis/sdk",
|
|
44127
|
-
version: "1.
|
|
44133
|
+
version: "1.27.0",
|
|
44128
44134
|
description: "SDK for building Elevasis organization resources",
|
|
44129
44135
|
type: "module",
|
|
44130
44136
|
bin: {
|
|
@@ -44373,6 +44379,9 @@ function listOrganizationModelContractRefs(org) {
|
|
|
44373
44379
|
});
|
|
44374
44380
|
}
|
|
44375
44381
|
function validateResourceGovernancePreflight(orgName, org, contractRegistry) {
|
|
44382
|
+
if (org.organizationModel !== void 0) {
|
|
44383
|
+
OrganizationModelSchema.parse(org.organizationModel);
|
|
44384
|
+
}
|
|
44376
44385
|
if (process.env.ELEVASIS_RESOURCE_VALIDATOR === "warn-only") return;
|
|
44377
44386
|
validateResourceGovernance(orgName, org, org.organizationModel, { mode: "strict" });
|
|
44378
44387
|
const contractRefs = listOrganizationModelContractRefs(org);
|
package/dist/index.d.ts
CHANGED
|
@@ -7694,7 +7694,7 @@ declare function compileBusinessOntologyValidationIndex(model: OrganizationModel
|
|
|
7694
7694
|
* organization model's `sales.lead-gen` stage records). Hosts that own a
|
|
7695
7695
|
* populated tenant model (e.g. `apps/api` with the Elevasis canonical model)
|
|
7696
7696
|
* MUST build their own index via `compileBusinessOntologyValidationIndex(model)`
|
|
7697
|
-
* and call `createLeadGenStageValidators(index)`.
|
|
7697
|
+
* and call `createLeadGenStageValidators(index)`. The core package stays generic;
|
|
7698
7698
|
* it must never import a tenant model.
|
|
7699
7699
|
*/
|
|
7700
7700
|
type LeadGenStageValidators = {
|
|
@@ -11494,8 +11494,8 @@ interface SystemConfig {
|
|
|
11494
11494
|
interface DeploymentSpec {
|
|
11495
11495
|
/** Deployment version (semver) */
|
|
11496
11496
|
version: string;
|
|
11497
|
-
/** Optional Organization Model
|
|
11498
|
-
organizationModel?:
|
|
11497
|
+
/** Optional full Organization Model snapshot used for OM-code validation and deployment persistence */
|
|
11498
|
+
organizationModel?: OrganizationModel$1;
|
|
11499
11499
|
/** Workflow definitions */
|
|
11500
11500
|
workflows?: WorkflowDefinition[];
|
|
11501
11501
|
/** Agent definitions */
|
|
@@ -11833,6 +11833,11 @@ interface ResourceGovernanceValidationOptions {
|
|
|
11833
11833
|
/**
|
|
11834
11834
|
* Validates runtime resource definitions against OM Resources and Systems.
|
|
11835
11835
|
*
|
|
11836
|
+
* This is an overlay validator for code/resource bindings, ontology bindings,
|
|
11837
|
+
* and topology refs that need runtime manifest context. It does not validate
|
|
11838
|
+
* Organization Model shape; deploy/runtime structural gates use
|
|
11839
|
+
* OrganizationModelSchema.
|
|
11840
|
+
*
|
|
11836
11841
|
* This is the shared core entry point for SDK, CI, deploy, and ResourceRegistry.
|
|
11837
11842
|
* Default mode is strict. ELEVASIS_RESOURCE_VALIDATOR=warn-only remains a
|
|
11838
11843
|
* permanent emergency escape hatch unless an explicit mode is passed.
|
package/dist/index.js
CHANGED
|
@@ -1583,6 +1583,9 @@ function getRuntimeResources(resources) {
|
|
|
1583
1583
|
}))
|
|
1584
1584
|
];
|
|
1585
1585
|
}
|
|
1586
|
+
function isStaticPlatformAgentResource(resource) {
|
|
1587
|
+
return resource.kind === "agent" && resource.agentKind === "platform";
|
|
1588
|
+
}
|
|
1586
1589
|
function hasOntologySources(organizationModel) {
|
|
1587
1590
|
return organizationModel.ontology !== void 0 || organizationModel.entities !== void 0 || organizationModel.actions !== void 0 || Object.values(organizationModel.systems ?? {}).some(systemHasOntologySource);
|
|
1588
1591
|
}
|
|
@@ -1735,6 +1738,9 @@ function validateResourceGovernance(orgName, deployment, organizationModel = dep
|
|
|
1735
1738
|
}
|
|
1736
1739
|
const runtimeResource = runtimeResourcesById.get(resource.id);
|
|
1737
1740
|
if (!runtimeResource) {
|
|
1741
|
+
if (isStaticPlatformAgentResource(resource)) {
|
|
1742
|
+
continue;
|
|
1743
|
+
}
|
|
1738
1744
|
addGovernanceIssue(
|
|
1739
1745
|
issues,
|
|
1740
1746
|
"missing-code-resource",
|
|
@@ -6325,20 +6331,9 @@ function projectDeploymentSpec(options) {
|
|
|
6325
6331
|
options.getIntegrationResourceDescriptor,
|
|
6326
6332
|
options.getResourceOntologyBinding
|
|
6327
6333
|
);
|
|
6328
|
-
const workflowResourceIds = new Set(workflows.map((workflow) => workflow.config.resourceId));
|
|
6329
|
-
const integrationResourceIds = new Set(integrations.map((integration) => integration.resourceId));
|
|
6330
|
-
const resources = projectDeploymentResources(
|
|
6331
|
-
options.organizationModel.resources,
|
|
6332
|
-
workflowResourceIds,
|
|
6333
|
-
integrationResourceIds,
|
|
6334
|
-
options.getResourceOntologyBinding
|
|
6335
|
-
);
|
|
6336
6334
|
return {
|
|
6337
6335
|
version: options.version,
|
|
6338
|
-
organizationModel:
|
|
6339
|
-
systems: projectDeploymentSystems(options.organizationModel),
|
|
6340
|
-
resources
|
|
6341
|
-
},
|
|
6336
|
+
organizationModel: options.organizationModel,
|
|
6342
6337
|
workflows,
|
|
6343
6338
|
agents: options.agents ?? [],
|
|
6344
6339
|
triggers: options.triggers,
|
|
@@ -6348,38 +6343,6 @@ function projectDeploymentSpec(options) {
|
|
|
6348
6343
|
...options.externalResources ? { externalResources: options.externalResources } : {}
|
|
6349
6344
|
};
|
|
6350
6345
|
}
|
|
6351
|
-
function projectDeploymentResources(resources, workflowResourceIds, integrationResourceIds, getResourceOntologyBinding) {
|
|
6352
|
-
return Object.fromEntries(
|
|
6353
|
-
Object.values(resources).filter((resource) => workflowResourceIds.has(resource.id) || integrationResourceIds.has(resource.id)).map((resource) => {
|
|
6354
|
-
const sdkResource = toSdkResourceDescriptor(resource, getResourceOntologyBinding);
|
|
6355
|
-
return [sdkResource.id, sdkResource];
|
|
6356
|
-
})
|
|
6357
|
-
);
|
|
6358
|
-
}
|
|
6359
|
-
function projectDeploymentSystems(model) {
|
|
6360
|
-
return Object.fromEntries(
|
|
6361
|
-
listAllSystems(model).map(({ path, system }, index) => {
|
|
6362
|
-
const lifecycle = system.lifecycle === "archived" ? "archived" : system.lifecycle === "deprecated" ? "deprecated" : "active";
|
|
6363
|
-
return [
|
|
6364
|
-
system.id,
|
|
6365
|
-
{
|
|
6366
|
-
id: system.id,
|
|
6367
|
-
order: system.order ?? (index + 1) * 10,
|
|
6368
|
-
title: system.label ?? system.title ?? system.id,
|
|
6369
|
-
description: system.description ?? "",
|
|
6370
|
-
kind: system.kind ?? "product",
|
|
6371
|
-
...system.parentSystemId ? { parentSystemId: system.parentSystemId } : {},
|
|
6372
|
-
...path !== system.id ? { systemPath: path } : {},
|
|
6373
|
-
governedByKnowledge: system.governedByKnowledge ?? [],
|
|
6374
|
-
drivesGoals: system.drivesGoals ?? [],
|
|
6375
|
-
lifecycle,
|
|
6376
|
-
status: lifecycle,
|
|
6377
|
-
...system.responsibleRoleId ? { responsibleRoleId: system.responsibleRoleId } : {}
|
|
6378
|
-
}
|
|
6379
|
-
];
|
|
6380
|
-
})
|
|
6381
|
-
);
|
|
6382
|
-
}
|
|
6383
6346
|
var ListBuilderStageKeySchema = z.string().min(1);
|
|
6384
6347
|
|
|
6385
6348
|
export { ActivityEventSchema, BuildPlanSnapshotStepSchema, ProspectingBuildTemplateSchema as BuildTemplateSchema, ContractRefResolutionError, CrmStageKeySchema, CrmStateKeySchema, EmailSchema, ExecutionError, ListBuilderStageKeySchema, ProcessingStageStatusSchema, RegistryValidationError, ResourceRegistry, StepType, ToolingError, bindResourceDescriptor, compileBusinessOntologyValidationIndex, concurrentPool, createLeadGenStageValidators, defineContract, defineResource, defineResourceOntology, defineResources, defineStep, defineTopology, defineTopologyRelationship, defineWorkflow, deriveActions, diagnosticOutput, integrationInput, isZodType, parseTopologyNodeRef, projectDeploymentSpec, projectTopologyRelationships, resolveContractRef, runDiagnostic, splitName, toSdkResourceDescriptor, topologyRef, topologyRelationship, validateResourceGovernance, withPlatformIntegrationResourceDescriptor, withPlatformIntegrationResourceDescriptors, withPlatformResourceDescriptor, withPlatformResourceDescriptors };
|
package/dist/node/index.d.ts
CHANGED
|
@@ -3001,8 +3001,8 @@ type ResourceLink = Link;
|
|
|
3001
3001
|
interface DeploymentSpec {
|
|
3002
3002
|
/** Deployment version (semver) */
|
|
3003
3003
|
version: string;
|
|
3004
|
-
/** Optional Organization Model
|
|
3005
|
-
organizationModel?:
|
|
3004
|
+
/** Optional full Organization Model snapshot used for OM-code validation and deployment persistence */
|
|
3005
|
+
organizationModel?: OrganizationModel$1;
|
|
3006
3006
|
/** Workflow definitions */
|
|
3007
3007
|
workflows?: WorkflowDefinition[];
|
|
3008
3008
|
/** Agent definitions */
|
package/dist/node/index.js
CHANGED
|
@@ -511,26 +511,6 @@ async function runKnowledgeCodegen(layout) {
|
|
|
511
511
|
);
|
|
512
512
|
}
|
|
513
513
|
|
|
514
|
-
// ../core/src/organization-model/helpers.ts
|
|
515
|
-
function childSystemsOf(system) {
|
|
516
|
-
return system.systems ?? system.subsystems ?? {};
|
|
517
|
-
}
|
|
518
|
-
function listAllSystems(model) {
|
|
519
|
-
const results = [];
|
|
520
|
-
function walk(map, prefix) {
|
|
521
|
-
for (const [localId, system] of Object.entries(map)) {
|
|
522
|
-
const fullPath = prefix ? `${prefix}.${localId}` : localId;
|
|
523
|
-
results.push({ path: fullPath, system });
|
|
524
|
-
const childSystems = childSystemsOf(system);
|
|
525
|
-
if (Object.keys(childSystems).length > 0) {
|
|
526
|
-
walk(childSystems, fullPath);
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
walk(model.systems, "");
|
|
531
|
-
return results;
|
|
532
|
-
}
|
|
533
|
-
|
|
534
514
|
// src/project-deployment-spec.ts
|
|
535
515
|
function toSdkResourceDescriptor(resource, getResourceOntologyBinding) {
|
|
536
516
|
const ontologyBinding = getResourceOntologyBinding?.(resource.id);
|
|
@@ -617,20 +597,9 @@ function projectDeploymentSpec(options) {
|
|
|
617
597
|
options.getIntegrationResourceDescriptor,
|
|
618
598
|
options.getResourceOntologyBinding
|
|
619
599
|
);
|
|
620
|
-
const workflowResourceIds = new Set(workflows.map((workflow) => workflow.config.resourceId));
|
|
621
|
-
const integrationResourceIds = new Set(integrations.map((integration) => integration.resourceId));
|
|
622
|
-
const resources = projectDeploymentResources(
|
|
623
|
-
options.organizationModel.resources,
|
|
624
|
-
workflowResourceIds,
|
|
625
|
-
integrationResourceIds,
|
|
626
|
-
options.getResourceOntologyBinding
|
|
627
|
-
);
|
|
628
600
|
return {
|
|
629
601
|
version: options.version,
|
|
630
|
-
organizationModel:
|
|
631
|
-
systems: projectDeploymentSystems(options.organizationModel),
|
|
632
|
-
resources
|
|
633
|
-
},
|
|
602
|
+
organizationModel: options.organizationModel,
|
|
634
603
|
workflows,
|
|
635
604
|
agents: options.agents ?? [],
|
|
636
605
|
triggers: options.triggers,
|
|
@@ -640,37 +609,5 @@ function projectDeploymentSpec(options) {
|
|
|
640
609
|
...options.externalResources ? { externalResources: options.externalResources } : {}
|
|
641
610
|
};
|
|
642
611
|
}
|
|
643
|
-
function projectDeploymentResources(resources, workflowResourceIds, integrationResourceIds, getResourceOntologyBinding) {
|
|
644
|
-
return Object.fromEntries(
|
|
645
|
-
Object.values(resources).filter((resource) => workflowResourceIds.has(resource.id) || integrationResourceIds.has(resource.id)).map((resource) => {
|
|
646
|
-
const sdkResource = toSdkResourceDescriptor(resource, getResourceOntologyBinding);
|
|
647
|
-
return [sdkResource.id, sdkResource];
|
|
648
|
-
})
|
|
649
|
-
);
|
|
650
|
-
}
|
|
651
|
-
function projectDeploymentSystems(model) {
|
|
652
|
-
return Object.fromEntries(
|
|
653
|
-
listAllSystems(model).map(({ path, system }, index) => {
|
|
654
|
-
const lifecycle = system.lifecycle === "archived" ? "archived" : system.lifecycle === "deprecated" ? "deprecated" : "active";
|
|
655
|
-
return [
|
|
656
|
-
system.id,
|
|
657
|
-
{
|
|
658
|
-
id: system.id,
|
|
659
|
-
order: system.order ?? (index + 1) * 10,
|
|
660
|
-
title: system.label ?? system.title ?? system.id,
|
|
661
|
-
description: system.description ?? "",
|
|
662
|
-
kind: system.kind ?? "product",
|
|
663
|
-
...system.parentSystemId ? { parentSystemId: system.parentSystemId } : {},
|
|
664
|
-
...path !== system.id ? { systemPath: path } : {},
|
|
665
|
-
governedByKnowledge: system.governedByKnowledge ?? [],
|
|
666
|
-
drivesGoals: system.drivesGoals ?? [],
|
|
667
|
-
lifecycle,
|
|
668
|
-
status: lifecycle,
|
|
669
|
-
...system.responsibleRoleId ? { responsibleRoleId: system.responsibleRoleId } : {}
|
|
670
|
-
}
|
|
671
|
-
];
|
|
672
|
-
})
|
|
673
|
-
);
|
|
674
|
-
}
|
|
675
612
|
|
|
676
613
|
export { generateKnowledgeBodies, generateKnowledgeNodes, generateKnowledgeNodesTs, projectDeploymentSpec, projectTopologyRelationships, readKnowledgeNodeMdx, runKnowledgeCodegen, toSdkResourceDescriptor, withPlatformIntegrationResourceDescriptor, withPlatformIntegrationResourceDescriptors, withPlatformResourceDescriptor, withPlatformResourceDescriptors };
|
|
@@ -10471,8 +10471,8 @@ type ResourceLink = Link;
|
|
|
10471
10471
|
interface DeploymentSpec {
|
|
10472
10472
|
/** Deployment version (semver) */
|
|
10473
10473
|
version: string;
|
|
10474
|
-
/** Optional Organization Model
|
|
10475
|
-
organizationModel?:
|
|
10474
|
+
/** Optional full Organization Model snapshot used for OM-code validation and deployment persistence */
|
|
10475
|
+
organizationModel?: OrganizationModel;
|
|
10476
10476
|
/** Workflow definitions */
|
|
10477
10477
|
workflows?: WorkflowDefinition[];
|
|
10478
10478
|
/** Agent definitions */
|
|
@@ -10547,8 +10547,8 @@ type TypedAdapter<TMap extends ToolMethodMap$1> = {
|
|
|
10547
10547
|
* Message protocol:
|
|
10548
10548
|
* Parent -> Worker: { type: 'manifest' }
|
|
10549
10549
|
* Worker -> Parent: { type: 'manifest', workflows: [...], agents: [...],
|
|
10550
|
-
*
|
|
10551
|
-
* relationships?: {...} }
|
|
10550
|
+
* organizationModel?: {...}, triggers?: [...], integrations?: [...],
|
|
10551
|
+
* humanCheckpoints?: [...], relationships?: {...} }
|
|
10552
10552
|
*
|
|
10553
10553
|
* Parent -> Worker: { type: 'execute', resourceId, executionId, input, organizationId?, organizationName?,
|
|
10554
10554
|
* sessionId?, sessionTurnNumber?, parentExecutionId?, executionDepth }
|
package/dist/test-utils/index.js
CHANGED
|
@@ -8601,6 +8601,9 @@ function getRuntimeResources(resources) {
|
|
|
8601
8601
|
}))
|
|
8602
8602
|
];
|
|
8603
8603
|
}
|
|
8604
|
+
function isStaticPlatformAgentResource(resource) {
|
|
8605
|
+
return resource.kind === "agent" && resource.agentKind === "platform";
|
|
8606
|
+
}
|
|
8604
8607
|
function hasOntologySources(organizationModel) {
|
|
8605
8608
|
return organizationModel.ontology !== void 0 || organizationModel.entities !== void 0 || organizationModel.actions !== void 0 || Object.values(organizationModel.systems ?? {}).some(systemHasOntologySource);
|
|
8606
8609
|
}
|
|
@@ -8753,6 +8756,9 @@ function validateResourceGovernance(orgName, deployment, organizationModel = dep
|
|
|
8753
8756
|
}
|
|
8754
8757
|
const runtimeResource = runtimeResourcesById.get(resource.id);
|
|
8755
8758
|
if (!runtimeResource) {
|
|
8759
|
+
if (isStaticPlatformAgentResource(resource)) {
|
|
8760
|
+
continue;
|
|
8761
|
+
}
|
|
8756
8762
|
addGovernanceIssue(
|
|
8757
8763
|
issues,
|
|
8758
8764
|
"missing-code-resource",
|
|
@@ -9284,6 +9290,7 @@ function startWorker(org) {
|
|
|
9284
9290
|
if (msg.type === "manifest") {
|
|
9285
9291
|
parentPort.postMessage({
|
|
9286
9292
|
type: "manifest",
|
|
9293
|
+
organizationModel: org.organizationModel,
|
|
9287
9294
|
workflows: (org.workflows ?? []).map((w2) => ({
|
|
9288
9295
|
resourceId: w2.config.resourceId,
|
|
9289
9296
|
name: w2.config.name,
|
|
@@ -21298,7 +21305,7 @@ function recordAsyncAnnotation(test5, promise) {
|
|
|
21298
21305
|
return promise;
|
|
21299
21306
|
}
|
|
21300
21307
|
|
|
21301
|
-
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+
|
|
21308
|
+
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+_d1cccf33043c821cd797d4ac11d33b3e/node_modules/vitest/dist/chunks/utils.XdZDrNZV.js
|
|
21302
21309
|
var NAME_WORKER_STATE = "__vitest_worker__";
|
|
21303
21310
|
function getWorkerState() {
|
|
21304
21311
|
const workerState = globalThis[NAME_WORKER_STATE];
|
|
@@ -21346,7 +21353,7 @@ async function waitForImportsToResolve() {
|
|
|
21346
21353
|
await waitForImportsToResolve();
|
|
21347
21354
|
}
|
|
21348
21355
|
|
|
21349
|
-
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+
|
|
21356
|
+
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+_d1cccf33043c821cd797d4ac11d33b3e/node_modules/vitest/dist/chunks/_commonjsHelpers.BFTU3MAI.js
|
|
21350
21357
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
21351
21358
|
function getDefaultExportFromCjs3(x2) {
|
|
21352
21359
|
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
|
|
@@ -23379,7 +23386,7 @@ var SnapshotClient = class {
|
|
|
23379
23386
|
}
|
|
23380
23387
|
};
|
|
23381
23388
|
|
|
23382
|
-
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+
|
|
23389
|
+
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+_d1cccf33043c821cd797d4ac11d33b3e/node_modules/vitest/dist/chunks/date.Bq6ZW5rf.js
|
|
23383
23390
|
var RealDate = Date;
|
|
23384
23391
|
var now2 = null;
|
|
23385
23392
|
var MockDate = class _MockDate extends RealDate {
|
|
@@ -23427,7 +23434,7 @@ function resetDate() {
|
|
|
23427
23434
|
globalThis.Date = RealDate;
|
|
23428
23435
|
}
|
|
23429
23436
|
|
|
23430
|
-
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+
|
|
23437
|
+
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+_d1cccf33043c821cd797d4ac11d33b3e/node_modules/vitest/dist/chunks/vi.bdSIJ99Y.js
|
|
23431
23438
|
var unsupported = [
|
|
23432
23439
|
"matchSnapshot",
|
|
23433
23440
|
"toMatchSnapshot",
|
|
@@ -26108,7 +26115,7 @@ function getImporter(name) {
|
|
|
26108
26115
|
return stack?.file || "";
|
|
26109
26116
|
}
|
|
26110
26117
|
|
|
26111
|
-
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+
|
|
26118
|
+
// ../../node_modules/.pnpm/vitest@3.2.4_@edge-runtime+_d1cccf33043c821cd797d4ac11d33b3e/node_modules/vitest/dist/index.js
|
|
26112
26119
|
__toESM(require_dist());
|
|
26113
26120
|
|
|
26114
26121
|
// src/test-utils/mock-adapters.ts
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* Message protocol:
|
|
8
8
|
* Parent -> Worker: { type: 'manifest' }
|
|
9
9
|
* Worker -> Parent: { type: 'manifest', workflows: [...], agents: [...],
|
|
10
|
-
*
|
|
11
|
-
* relationships?: {...} }
|
|
10
|
+
* organizationModel?: {...}, triggers?: [...], integrations?: [...],
|
|
11
|
+
* humanCheckpoints?: [...], relationships?: {...} }
|
|
12
12
|
*
|
|
13
13
|
* Parent -> Worker: { type: 'execute', resourceId, executionId, input, organizationId?, organizationName?,
|
|
14
14
|
* sessionId?, sessionTurnNumber?, parentExecutionId?, executionDepth }
|
package/dist/worker/index.js
CHANGED
|
@@ -6801,6 +6801,7 @@ function startWorker(org) {
|
|
|
6801
6801
|
if (msg.type === "manifest") {
|
|
6802
6802
|
parentPort.postMessage({
|
|
6803
6803
|
type: "manifest",
|
|
6804
|
+
organizationModel: org.organizationModel,
|
|
6804
6805
|
workflows: (org.workflows ?? []).map((w) => ({
|
|
6805
6806
|
resourceId: w.config.resourceId,
|
|
6806
6807
|
name: w.config.name,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elevasis/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "SDK for building Elevasis organization resources",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"tsup": "^8.0.0",
|
|
59
59
|
"typescript": "5.9.2",
|
|
60
60
|
"zod": "^4.1.0",
|
|
61
|
-
"@repo/core": "0.
|
|
61
|
+
"@repo/core": "0.34.2",
|
|
62
62
|
"@repo/eslint-config": "0.0.0",
|
|
63
63
|
"@repo/typescript-config": "0.0.0"
|
|
64
64
|
},
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Lead Gen Manage Access Package Baseline
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This train adds `sales.lead-gen.manage` as the OM-aligned runtime permission for operating Lead Gen list-builder mutations. The implementation ships through `@elevasis/core` and `@elevasis/ui`; template projects need the package baseline update so derived apps receive the new access key and shared Lead Gen UI guards.
|
|
6
|
+
|
|
7
|
+
## Applies to
|
|
8
|
+
|
|
9
|
+
- Template UI package baseline: `external/_template/ui/package.json`
|
|
10
|
+
- Template core package baseline: `external/_template/core/package.json`
|
|
11
|
+
- Template operations package baseline: `external/_template/operations/package.json`
|
|
12
|
+
- Derived projects that expose the shared Lead Gen list-builder UI
|
|
13
|
+
|
|
14
|
+
## Required actions
|
|
15
|
+
|
|
16
|
+
1. Publish the prepared `@elevasis/core` release containing `sales.lead-gen.manage` and `AccessKeys.leadGenManage`.
|
|
17
|
+
2. Publish the prepared `@elevasis/ui` release containing the shared Lead Gen mutation affordance guards.
|
|
18
|
+
3. Run the prepared external sync manifest so derived projects receive the updated package baselines.
|
|
19
|
+
4. For client launches, verify Operator users receive `sales.lead-gen.manage` through platform role grants before list-builder smoke.
|
|
20
|
+
|
|
21
|
+
## Verification
|
|
22
|
+
|
|
23
|
+
- `pnpm -C packages/core build:publish`
|
|
24
|
+
- `pnpm -C packages/ui build:publish`
|
|
25
|
+
- `pnpm -C external/_template/ui check-types`
|
|
26
|
+
- `pnpm -C external/_template/ui build`
|
|
27
|
+
- `pnpm sync:verify` after the manifest-scoped external sync stage
|
|
28
|
+
|
|
29
|
+
## Not handled by /git-sync
|
|
30
|
+
|
|
31
|
+
Database permission rows and system role grants are environment state, not template files. Apply the SQL migration or equivalent environment change separately before inviting Operator users.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Full Organization Model deploy contract
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
The deployment contract now requires SDK projects to deploy the full canonical `organizationModel`, not the internal `resourceGovernanceModel` projection. The SDK and API now parse deployment snapshots with `OrganizationModelSchema` before overlay validation or persistence, so partial governance projections will fail before they can become active deployment snapshots.
|
|
6
|
+
|
|
7
|
+
This fixes the class of production failures where an active deployment persisted only `systems`, `resources`, `topology`, `entities`, and `actions`, then the runtime resolver failed because referenced `roles`, `goals`, and `navigation` were absent.
|
|
8
|
+
|
|
9
|
+
## Applies to
|
|
10
|
+
|
|
11
|
+
All template-derived projects with an `operations/src/index.ts` deployment spec and a `core/config/organization-model.ts` canonical model.
|
|
12
|
+
|
|
13
|
+
## Required actions
|
|
14
|
+
|
|
15
|
+
1. Pull the new package baselines after the release train publishes:
|
|
16
|
+
- `@elevasis/core`
|
|
17
|
+
- `@elevasis/sdk`
|
|
18
|
+
2. Ensure `operations/src/index.ts` imports and passes the canonical full `organizationModel` from `@core/config/organization-model`.
|
|
19
|
+
3. Keep `resourceGovernanceModel` only for local compatibility assertions or profile assembly. Do not pass it as `DeploymentSpec.organizationModel`.
|
|
20
|
+
4. Redeploy the operations bundle so the active platform deployment persists a full model snapshot:
|
|
21
|
+
- dev: `pnpm -C operations deploy`
|
|
22
|
+
- prod: `pnpm -C operations deploy:prod`
|
|
23
|
+
|
|
24
|
+
## Verification
|
|
25
|
+
|
|
26
|
+
- `pnpm -C operations check`
|
|
27
|
+
- `pnpm -C core test -- organization-model`
|
|
28
|
+
- Confirm the active deployment Organization Model snapshot parses and includes full domains such as `roles`, `goals`, and `navigation`.
|
|
29
|
+
- Confirm acquisition/list or other OM-backed routes no longer fail with `MODEL_PARSE_FAILED`.
|
|
30
|
+
|
|
31
|
+
## Not handled by /git-sync
|
|
32
|
+
|
|
33
|
+
`/git-sync` can propagate template guidance and package baselines, but it does not install dependencies, publish packages, deploy the operations bundle, or verify the active platform deployment snapshot. Each derived project must run install/deploy and production smoke checks after syncing.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# UI + SDK package fixes (lastVisitedOrg, worker-manifest organizationModel)
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
`@elevasis/ui` and `@elevasis/sdk` were republished with two backward-compatible fixes:
|
|
6
|
+
|
|
7
|
+
- `@elevasis/ui`: `OrganizationProvider` now persists org preference as `lastVisitedOrg` (matching the `/api/users/me` schema), removing the noisy 400 on organization switching.
|
|
8
|
+
- `@elevasis/sdk`: the worker manifest now includes `organizationModel`, so platform deployment persistence receives your tenant Organization Model snapshot.
|
|
9
|
+
|
|
10
|
+
The SDK change requires a deploy, not just an install, to take effect on your active platform deployment.
|
|
11
|
+
|
|
12
|
+
## Applies to
|
|
13
|
+
|
|
14
|
+
All template-derived projects that consume `@elevasis/ui` and `@elevasis/sdk` and run an `operations/` resources bundle on the Elevasis platform.
|
|
15
|
+
|
|
16
|
+
## Required actions
|
|
17
|
+
|
|
18
|
+
1. Pull and install so the new baselines land:
|
|
19
|
+
- `@elevasis/ui` baseline bump in `ui/package.json`
|
|
20
|
+
- `@elevasis/sdk` baseline bump in `operations/package.json`
|
|
21
|
+
2. `pnpm -C ui install && pnpm -C operations install` (or a project-root install) to update lockfiles.
|
|
22
|
+
3. Redeploy your operations bundle so the worker manifest publishes your Organization Model to the active deployment:
|
|
23
|
+
- dev: `pnpm -C operations deploy`
|
|
24
|
+
- prod: `pnpm -C operations deploy:prod`
|
|
25
|
+
4. Redeploy the UI (your host, e.g. Vercel) so the `lastVisitedOrg` fix ships to the browser.
|
|
26
|
+
|
|
27
|
+
No source merges are required; both changes are internal to the published packages.
|
|
28
|
+
|
|
29
|
+
## Verification
|
|
30
|
+
|
|
31
|
+
- `pnpm -C ui check-types && pnpm -C ui build`
|
|
32
|
+
- `pnpm -C operations check && pnpm -C operations check-types`
|
|
33
|
+
- After deploy, confirm the active deployment persists an Organization Model snapshot (Lead Gen / list surfaces resolve the tenant model rather than erroring), and that organization switching no longer emits a 400 against `/api/users/me`.
|
|
34
|
+
|
|
35
|
+
## Not handled by /git-sync
|
|
36
|
+
|
|
37
|
+
`/git-sync` pulls the new baselines and surfaces this note, but it does NOT install dependencies, deploy your operations bundle, or redeploy your UI. Run the install + deploy steps above yourself; the worker-manifest fix only takes effect on your active deployment after an operations redeploy.
|
|
@@ -428,7 +428,7 @@ elevasis-sdk session:end <id>
|
|
|
428
428
|
|
|
429
429
|
## elevasis-sdk queue:\*
|
|
430
430
|
|
|
431
|
-
Manage HITL command queue tasks. See the [Command Queue CLI Guide](/technical/development/agent-driven-development/
|
|
431
|
+
Manage HITL command queue tasks. See the [Command Queue CLI Guide](/technical/development/agent-driven-development/cli-operations) for the full command reference.
|
|
432
432
|
|
|
433
433
|
**Quick reference:**
|
|
434
434
|
|
|
@@ -446,7 +446,7 @@ elevasis-sdk queue:status --pretty
|
|
|
446
446
|
|
|
447
447
|
## elevasis-sdk schedule:\*
|
|
448
448
|
|
|
449
|
-
Manage recurring, relative, and absolute task schedules. See the [Schedule CLI Guide](/technical/development/agent-driven-development/
|
|
449
|
+
Manage recurring, relative, and absolute task schedules. See the [Schedule CLI Guide](/technical/development/agent-driven-development/cli-operations) for the full command reference including schedule config JSON shapes.
|
|
450
450
|
|
|
451
451
|
**Quick reference:**
|
|
452
452
|
|
|
@@ -468,7 +468,7 @@ elevasis-sdk schedule:cancel <id> --pretty
|
|
|
468
468
|
|
|
469
469
|
Knowledge map inspection. The `om:*` (Organization Model) commands expose knowledge graph traversal via the CLI.
|
|
470
470
|
|
|
471
|
-
For the full command reference, flag details, and graph architecture, see the [knowledge:\* CLI documentation](/technical/features/knowledge/
|
|
471
|
+
For the full command reference, flag details, and graph architecture, see the [knowledge:\* CLI documentation](/technical/features/knowledge/cli-and-skill).
|
|
472
472
|
|
|
473
473
|
**Quick reference:**
|
|
474
474
|
|