@contractspec/bundle.lifecycle-managed 1.44.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/LICENSE +21 -0
- package/README.md +65 -0
- package/dist/agents/lifecycle-advisor-agent.d.ts +8 -0
- package/dist/agents/lifecycle-advisor-agent.d.ts.map +1 -0
- package/dist/agents/lifecycle-advisor-agent.js +71 -0
- package/dist/agents/lifecycle-advisor-agent.js.map +1 -0
- package/dist/api/rest-handlers.d.ts +21 -0
- package/dist/api/rest-handlers.d.ts.map +1 -0
- package/dist/api/rest-handlers.js +23 -0
- package/dist/api/rest-handlers.js.map +1 -0
- package/dist/events/lifecycle-events.d.ts +16 -0
- package/dist/events/lifecycle-events.d.ts.map +1 -0
- package/dist/events/lifecycle-events.js +45 -0
- package/dist/events/lifecycle-events.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/libs/ai-agent/src/agent/agent-factory.d.ts +7 -0
- package/dist/libs/ai-agent/src/agent/contract-spec-agent.d.ts +5 -0
- package/dist/libs/ai-agent/src/agent/index.d.ts +2 -0
- package/dist/libs/ai-agent/src/approval/index.d.ts +1 -0
- package/dist/libs/ai-agent/src/approval/workflow.d.ts +1 -0
- package/dist/libs/ai-agent/src/index.d.ts +11 -0
- package/dist/libs/ai-agent/src/knowledge/index.d.ts +1 -0
- package/dist/libs/ai-agent/src/knowledge/injector.d.ts +1 -0
- package/dist/libs/ai-agent/src/schema/index.d.ts +2 -0
- package/dist/libs/ai-agent/src/schema/json-schema-to-zod.d.ts +1 -0
- package/dist/libs/ai-agent/src/schema/schema-output.d.ts +2 -0
- package/dist/libs/ai-agent/src/session/index.d.ts +1 -0
- package/dist/libs/ai-agent/src/session/store.d.ts +2 -0
- package/dist/libs/ai-agent/src/spec/index.d.ts +2 -0
- package/dist/libs/ai-agent/src/spec/registry.d.ts +1 -0
- package/dist/libs/ai-agent/src/spec/spec.d.ts +115 -0
- package/dist/libs/ai-agent/src/spec/spec.d.ts.map +1 -0
- package/dist/libs/ai-agent/src/telemetry/adapter.d.ts +1 -0
- package/dist/libs/ai-agent/src/telemetry/index.d.ts +1 -0
- package/dist/libs/ai-agent/src/tools/index.d.ts +4 -0
- package/dist/libs/ai-agent/src/tools/knowledge-tool.d.ts +2 -0
- package/dist/libs/ai-agent/src/tools/mcp-client.d.ts +1 -0
- package/dist/libs/ai-agent/src/tools/mcp-server.d.ts +3 -0
- package/dist/libs/ai-agent/src/tools/tool-adapter.d.ts +3 -0
- package/dist/libs/ai-agent/src/types.d.ts +1 -0
- package/dist/libs/contracts/src/docs/accessibility_wcag_compliance_specs.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/index.d.ts +25 -0
- package/dist/libs/contracts/src/docs/presentations.d.ts +2 -0
- package/dist/libs/contracts/src/docs/registry.d.ts +10 -0
- package/dist/libs/contracts/src/docs/registry.d.ts.map +1 -0
- package/dist/libs/contracts/src/docs/tech/auth/better-auth-nextjs.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/contracts/openapi-export.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/contracts/openapi-import.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/lifecycle-stage-system.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/llm/llm-integration.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/mcp-endpoints.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/presentation-runtime.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/schema/README.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/learning-events.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/learning-journeys.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/platform-admin-panel.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/project-access-teams.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/project-routing.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/sandbox-unlogged.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/team-invitations.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/workspace-ops.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/studio/workspaces.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/telemetry-ingest.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/templates/runtime.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/docs/tech/vscode-extension.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/knowledge/spec.d.ts +8 -0
- package/dist/libs/contracts/src/knowledge/spec.d.ts.map +1 -0
- package/dist/libs/contracts/src/ownership.d.ts +61 -0
- package/dist/libs/contracts/src/ownership.d.ts.map +1 -0
- package/dist/libs/contracts/src/policy/spec.d.ts +11 -0
- package/dist/libs/contracts/src/policy/spec.d.ts.map +1 -0
- package/dist/libs/contracts/src/presentations/presentations.d.ts +2 -0
- package/dist/libs/contracts/src/workflow/overview.docblock.d.ts +1 -0
- package/dist/libs/contracts/src/workspace-config/workspace-config.docblock.d.ts +1 -0
- package/dist/libs/schema/src/EnumType.d.ts +2 -0
- package/dist/libs/schema/src/FieldType.d.ts +2 -0
- package/dist/libs/schema/src/GraphQLSchemaType.d.ts +2 -0
- package/dist/libs/schema/src/JsonSchemaType.d.ts +2 -0
- package/dist/libs/schema/src/ScalarTypeEnum.d.ts +1 -0
- package/dist/libs/schema/src/SchemaModel.d.ts +4 -0
- package/dist/libs/schema/src/SchemaModelType.d.ts +1 -0
- package/dist/libs/schema/src/ZodSchemaType.d.ts +2 -0
- package/dist/libs/schema/src/entity/defineEntity.d.ts +1 -0
- package/dist/libs/schema/src/entity/generator.d.ts +1 -0
- package/dist/libs/schema/src/entity/index.d.ts +3 -0
- package/dist/libs/schema/src/entity/types.d.ts +1 -0
- package/dist/libs/schema/src/index.d.ts +9 -0
- package/dist/services/assessment-service.d.ts +49 -0
- package/dist/services/assessment-service.d.ts.map +1 -0
- package/dist/services/assessment-service.js +64 -0
- package/dist/services/assessment-service.js.map +1 -0
- package/package.json +58 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Chaman Ventures, SASU
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @contractspec/bundle.lifecycle-managed
|
|
2
|
+
|
|
3
|
+
Website: https://contractspec.io/
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Lifecycle assessment + guidance managed service for ContractSpec Studio. This bundle wires the lifecycle modules, analytics bridges, and AI advisor agent into a deployable service surface (REST, events, Studio integrations).
|
|
7
|
+
|
|
8
|
+
## Modules
|
|
9
|
+
|
|
10
|
+
- `LifecycleAssessmentService` – orchestrates detection, scoring, guidance, metrics, and managed events.
|
|
11
|
+
- `LifecycleAdvisorAgent` – AI spec definition for conversational lifecycle coaching.
|
|
12
|
+
- `LifecycleEventBridge` – helper to broadcast stage changes + assessment telemetry.
|
|
13
|
+
- REST handlers – HTTP-friendly adapters for serving assessments + playbooks.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { LifecycleAssessmentService, createLifecycleHandlers } from '@contractspec/bundle.lifecycle-managed';
|
|
19
|
+
|
|
20
|
+
const service = new LifecycleAssessmentService({
|
|
21
|
+
tenantId: 'tenant_123',
|
|
22
|
+
collectorOptions: {
|
|
23
|
+
analyticsAdapter,
|
|
24
|
+
questionnaireAdapter,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const handlers = createLifecycleHandlers(service);
|
|
29
|
+
|
|
30
|
+
app.post('/lifecycle/assessments', handlers.runAssessment);
|
|
31
|
+
app.get('/lifecycle/playbooks/:stage', handlers.getPlaybook);
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The bundle stays framework-agnostic: you can mount the handlers on Elysia, Express, Next.js routes, or background jobs.*** End Patch
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AgentSpec } from "../libs/ai-agent/src/spec/spec.js";
|
|
2
|
+
import "../libs/ai-agent/src/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/agents/lifecycle-advisor-agent.d.ts
|
|
5
|
+
declare const LifecycleAdvisorAgent: AgentSpec;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { LifecycleAdvisorAgent };
|
|
8
|
+
//# sourceMappingURL=lifecycle-advisor-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-advisor-agent.d.ts","names":[],"sources":["../../src/agents/lifecycle-advisor-agent.ts"],"sourcesContent":[],"mappings":";;;;cAEa,uBAgEX"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { defineAgent } from "@contractspec/lib.ai-agent";
|
|
2
|
+
|
|
3
|
+
//#region src/agents/lifecycle-advisor-agent.ts
|
|
4
|
+
const LifecycleAdvisorAgent = defineAgent({
|
|
5
|
+
meta: {
|
|
6
|
+
key: "lifecycle.advisor",
|
|
7
|
+
version: 1,
|
|
8
|
+
title: "Lifecycle Advisor Agent",
|
|
9
|
+
description: "Guides artisans through lifecycle detection, focus areas, and ceremonies.",
|
|
10
|
+
owners: ["team-lifecycle"],
|
|
11
|
+
domain: "operations",
|
|
12
|
+
tags: [
|
|
13
|
+
"guide",
|
|
14
|
+
"lifecycle",
|
|
15
|
+
"ops"
|
|
16
|
+
],
|
|
17
|
+
stability: "experimental"
|
|
18
|
+
},
|
|
19
|
+
description: "Guides users through lifecycle assessments, highlights gaps, and recommends actions tied to ContractSpec libraries.",
|
|
20
|
+
instructions: `You are the Lifecycle Advisor. Always clarify the user's current stage, confidence, and blockers before suggesting actions.
|
|
21
|
+
- Prioritize simple, mobile-friendly instructions.
|
|
22
|
+
- When in early stages, focus on learning loops, not heavy infra.
|
|
23
|
+
- When in later stages, emphasize repeatability, telemetry, and managed ceremonies.
|
|
24
|
+
- Suggest at most 3 actions at a time. Reference ContractSpec libraries or modules when relevant.`,
|
|
25
|
+
tools: [{
|
|
26
|
+
name: "run_assessment",
|
|
27
|
+
description: "Trigger a lifecycle assessment for a tenant.",
|
|
28
|
+
schema: {
|
|
29
|
+
type: "object",
|
|
30
|
+
properties: {
|
|
31
|
+
tenantId: { type: "string" },
|
|
32
|
+
questionnaire: {
|
|
33
|
+
type: "object",
|
|
34
|
+
additionalProperties: true
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
required: ["tenantId"]
|
|
38
|
+
},
|
|
39
|
+
automationSafe: true
|
|
40
|
+
}, {
|
|
41
|
+
name: "fetch_playbook",
|
|
42
|
+
description: "Retrieve stage-specific playbook (actions, ceremonies, libraries).",
|
|
43
|
+
schema: {
|
|
44
|
+
type: "object",
|
|
45
|
+
properties: { stage: {
|
|
46
|
+
type: "integer",
|
|
47
|
+
minimum: 0,
|
|
48
|
+
maximum: 6,
|
|
49
|
+
description: "Lifecycle stage number (0-6)"
|
|
50
|
+
} },
|
|
51
|
+
required: ["stage"]
|
|
52
|
+
},
|
|
53
|
+
automationSafe: true
|
|
54
|
+
}],
|
|
55
|
+
memory: {
|
|
56
|
+
maxEntries: 25,
|
|
57
|
+
ttlMinutes: 120
|
|
58
|
+
},
|
|
59
|
+
policy: {
|
|
60
|
+
confidence: { min: .7 },
|
|
61
|
+
escalation: {
|
|
62
|
+
confidenceThreshold: .5,
|
|
63
|
+
approvalWorkflow: "ops.lifecycle.escalation"
|
|
64
|
+
},
|
|
65
|
+
flags: ["lifecycle_advisor"]
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
export { LifecycleAdvisorAgent };
|
|
71
|
+
//# sourceMappingURL=lifecycle-advisor-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-advisor-agent.js","names":[],"sources":["../../src/agents/lifecycle-advisor-agent.ts"],"sourcesContent":["import { defineAgent } from '@contractspec/lib.ai-agent';\n\nexport const LifecycleAdvisorAgent = defineAgent({\n meta: {\n key: 'lifecycle.advisor',\n version: 1,\n title: 'Lifecycle Advisor Agent',\n description:\n 'Guides artisans through lifecycle detection, focus areas, and ceremonies.',\n owners: ['team-lifecycle'],\n domain: 'operations',\n tags: ['guide', 'lifecycle', 'ops'],\n stability: 'experimental',\n },\n description:\n 'Guides users through lifecycle assessments, highlights gaps, and recommends actions tied to ContractSpec libraries.',\n instructions: `You are the Lifecycle Advisor. Always clarify the user's current stage, confidence, and blockers before suggesting actions.\n- Prioritize simple, mobile-friendly instructions.\n- When in early stages, focus on learning loops, not heavy infra.\n- When in later stages, emphasize repeatability, telemetry, and managed ceremonies.\n- Suggest at most 3 actions at a time. Reference ContractSpec libraries or modules when relevant.`,\n tools: [\n {\n name: 'run_assessment',\n description: 'Trigger a lifecycle assessment for a tenant.',\n schema: {\n type: 'object',\n properties: {\n tenantId: { type: 'string' },\n questionnaire: { type: 'object', additionalProperties: true },\n },\n required: ['tenantId'],\n },\n automationSafe: true,\n },\n {\n name: 'fetch_playbook',\n description:\n 'Retrieve stage-specific playbook (actions, ceremonies, libraries).',\n schema: {\n type: 'object',\n properties: {\n stage: {\n type: 'integer',\n minimum: 0,\n maximum: 6,\n description: 'Lifecycle stage number (0-6)',\n },\n },\n required: ['stage'],\n },\n automationSafe: true,\n },\n ],\n memory: {\n maxEntries: 25,\n ttlMinutes: 120,\n },\n policy: {\n confidence: { min: 0.7 },\n escalation: {\n confidenceThreshold: 0.5,\n approvalWorkflow: 'ops.lifecycle.escalation',\n },\n flags: ['lifecycle_advisor'],\n },\n});\n"],"mappings":";;;AAEA,MAAa,wBAAwB,YAAY;CAC/C,MAAM;EACJ,KAAK;EACL,SAAS;EACT,OAAO;EACP,aACE;EACF,QAAQ,CAAC,iBAAiB;EAC1B,QAAQ;EACR,MAAM;GAAC;GAAS;GAAa;GAAM;EACnC,WAAW;EACZ;CACD,aACE;CACF,cAAc;;;;;CAKd,OAAO,CACL;EACE,MAAM;EACN,aAAa;EACb,QAAQ;GACN,MAAM;GACN,YAAY;IACV,UAAU,EAAE,MAAM,UAAU;IAC5B,eAAe;KAAE,MAAM;KAAU,sBAAsB;KAAM;IAC9D;GACD,UAAU,CAAC,WAAW;GACvB;EACD,gBAAgB;EACjB,EACD;EACE,MAAM;EACN,aACE;EACF,QAAQ;GACN,MAAM;GACN,YAAY,EACV,OAAO;IACL,MAAM;IACN,SAAS;IACT,SAAS;IACT,aAAa;IACd,EACF;GACD,UAAU,CAAC,QAAQ;GACpB;EACD,gBAAgB;EACjB,CACF;CACD,QAAQ;EACN,YAAY;EACZ,YAAY;EACb;CACD,QAAQ;EACN,YAAY,EAAE,KAAK,IAAK;EACxB,YAAY;GACV,qBAAqB;GACrB,kBAAkB;GACnB;EACD,OAAO,CAAC,oBAAoB;EAC7B;CACF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { LifecycleAssessmentRequest, LifecycleAssessmentResponse, LifecycleAssessmentService } from "../services/assessment-service.js";
|
|
2
|
+
|
|
3
|
+
//#region src/api/rest-handlers.d.ts
|
|
4
|
+
interface HttpRequest<TBody = unknown, TParams = Record<string, string>> {
|
|
5
|
+
body?: TBody;
|
|
6
|
+
params?: TParams;
|
|
7
|
+
query?: Record<string, string | undefined>;
|
|
8
|
+
}
|
|
9
|
+
interface HttpResponse<T = Record<string, unknown>> {
|
|
10
|
+
status: number;
|
|
11
|
+
body: T;
|
|
12
|
+
}
|
|
13
|
+
declare const createLifecycleHandlers: (service: LifecycleAssessmentService) => {
|
|
14
|
+
runAssessment: (req: HttpRequest<LifecycleAssessmentRequest>) => Promise<HttpResponse<LifecycleAssessmentResponse>>;
|
|
15
|
+
getPlaybook: (req: HttpRequest<unknown, {
|
|
16
|
+
stage: string;
|
|
17
|
+
}>) => Promise<HttpResponse>;
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { HttpRequest, HttpResponse, createLifecycleHandlers };
|
|
21
|
+
//# sourceMappingURL=rest-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-handlers.d.ts","names":[],"sources":["../../src/api/rest-handlers.ts"],"sourcesContent":[],"mappings":";;;UAOiB,uCAEL;EAFK,IAAA,CAAA,EAIR,KAJQ;EAEL,MAAA,CAAA,EAGD,OAHC;EAEH,KAAA,CAAA,EAEC,MAFD,CAAA,MAAA,EAAA,MAAA,GAAA,SAAA,CAAA;;AAEC,UAGO,YAHP,CAAA,IAGwB,MAHxB,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA;EAAM,MAAA,EAAA,MAAA;EAGC,IAAA,EAET,CAFS;AAKjB;AACW,cADE,uBACF,EAAA,CAAA,OAAA,EAAA,0BAAA,EAAA,GAAA;EAGU,aAAA,EAAA,CAAA,GAAA,EAAZ,WAAY,CAAA,0BAAA,CAAA,EAAA,GAChB,OADgB,CACR,YADQ,CACK,2BADL,CAAA,CAAA;EAAZ,WAAA,EAAA,CAAA,GAAA,EAOA,WAPA,CAAA,OAAA,EAAA;IACiB,KAAA,EAAA,MAAA;EAAb,CAAA,CAAA,EAAA,GAOR,OAPQ,CAOA,YAPA,CAAA;CAAR"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "../services/assessment-service.js";
|
|
2
|
+
|
|
3
|
+
//#region src/api/rest-handlers.ts
|
|
4
|
+
const createLifecycleHandlers = (service) => ({
|
|
5
|
+
runAssessment: async (req) => {
|
|
6
|
+
const payload = req.body ?? {};
|
|
7
|
+
return {
|
|
8
|
+
status: 200,
|
|
9
|
+
body: await service.runAssessment(payload)
|
|
10
|
+
};
|
|
11
|
+
},
|
|
12
|
+
getPlaybook: async (req) => {
|
|
13
|
+
const stage = Number(req.params?.stage ?? 0);
|
|
14
|
+
return {
|
|
15
|
+
status: 200,
|
|
16
|
+
body: service.getStagePlaybook(stage)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { createLifecycleHandlers };
|
|
23
|
+
//# sourceMappingURL=rest-handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-handlers.js","names":[],"sources":["../../src/api/rest-handlers.ts"],"sourcesContent":["import type { LifecycleStage } from '@contractspec/lib.lifecycle';\nimport type {\n LifecycleAssessmentRequest,\n LifecycleAssessmentResponse,\n} from '../services/assessment-service';\nimport { LifecycleAssessmentService } from '../services/assessment-service';\n\nexport interface HttpRequest<\n TBody = unknown,\n TParams = Record<string, string>,\n> {\n body?: TBody;\n params?: TParams;\n query?: Record<string, string | undefined>;\n}\n\nexport interface HttpResponse<T = Record<string, unknown>> {\n status: number;\n body: T;\n}\n\nexport const createLifecycleHandlers = (\n service: LifecycleAssessmentService\n) => ({\n runAssessment: async (\n req: HttpRequest<LifecycleAssessmentRequest>\n ): Promise<HttpResponse<LifecycleAssessmentResponse>> => {\n const payload = req.body ?? {};\n const result = await service.runAssessment(payload);\n return { status: 200, body: result };\n },\n getPlaybook: async (\n req: HttpRequest<unknown, { stage: string }>\n ): Promise<HttpResponse> => {\n const stage = Number(req.params?.stage ?? 0) as LifecycleStage;\n const result = service.getStagePlaybook(stage);\n return { status: 200, body: result };\n },\n});\n"],"mappings":";;;AAqBA,MAAa,2BACX,aACI;CACJ,eAAe,OACb,QACuD;EACvD,MAAM,UAAU,IAAI,QAAQ,EAAE;AAE9B,SAAO;GAAE,QAAQ;GAAK,MADP,MAAM,QAAQ,cAAc,QAAQ;GACf;;CAEtC,aAAa,OACX,QAC0B;EAC1B,MAAM,QAAQ,OAAO,IAAI,QAAQ,SAAS,EAAE;AAE5C,SAAO;GAAE,QAAQ;GAAK,MADP,QAAQ,iBAAiB,MAAM;GACV;;CAEvC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LifecyclePipelineEvent } from "@contractspec/lib.observability";
|
|
2
|
+
|
|
3
|
+
//#region src/events/lifecycle-events.d.ts
|
|
4
|
+
interface ManagedLifecycleEvent {
|
|
5
|
+
name: string;
|
|
6
|
+
properties: Record<string, unknown>;
|
|
7
|
+
}
|
|
8
|
+
type LifecycleEventPublisher = (event: ManagedLifecycleEvent) => Promise<void> | void;
|
|
9
|
+
declare class LifecycleEventBridge {
|
|
10
|
+
private readonly publisher?;
|
|
11
|
+
constructor(publisher?: LifecycleEventPublisher | undefined);
|
|
12
|
+
forward(event: LifecyclePipelineEvent): void;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { LifecycleEventBridge, LifecycleEventPublisher, ManagedLifecycleEvent };
|
|
16
|
+
//# sourceMappingURL=lifecycle-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-events.d.ts","names":[],"sources":["../../src/events/lifecycle-events.ts"],"sourcesContent":[],"mappings":";;;UAGiB,qBAAA;;EAAA,UAAA,EAEH,MAFG,CAAA,MAAqB,EAAA,OAAA,CAExB;AAGd;AAIa,KAJD,uBAAA,GAK+B,CAAA,KAAA,EAJlC,qBAMQ,EAAA,GALZ,OAKY,CAAA,IAAA,CAAA,GAAsB,IAAA;cAH1B,oBAAA;;0BAC8B;iBAE1B"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { lifecycleEventNames } from "@contractspec/lib.analytics";
|
|
2
|
+
|
|
3
|
+
//#region src/events/lifecycle-events.ts
|
|
4
|
+
var LifecycleEventBridge = class {
|
|
5
|
+
constructor(publisher) {
|
|
6
|
+
this.publisher = publisher;
|
|
7
|
+
}
|
|
8
|
+
forward(event) {
|
|
9
|
+
if (!this.publisher) return;
|
|
10
|
+
switch (event.type) {
|
|
11
|
+
case "assessment.recorded":
|
|
12
|
+
this.publisher({
|
|
13
|
+
name: lifecycleEventNames.assessmentRun,
|
|
14
|
+
properties: {
|
|
15
|
+
tenantId: event.payload.tenantId,
|
|
16
|
+
stage: event.payload.stage
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
break;
|
|
20
|
+
case "stage.changed":
|
|
21
|
+
this.publisher({
|
|
22
|
+
name: lifecycleEventNames.stageChanged,
|
|
23
|
+
properties: {
|
|
24
|
+
tenantId: event.payload.tenantId,
|
|
25
|
+
previousStage: event.payload.previousStage,
|
|
26
|
+
nextStage: event.payload.nextStage
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
break;
|
|
30
|
+
case "confidence.low":
|
|
31
|
+
this.publisher({
|
|
32
|
+
name: `${lifecycleEventNames.assessmentRun}.low_confidence`,
|
|
33
|
+
properties: {
|
|
34
|
+
tenantId: event.payload.tenantId,
|
|
35
|
+
confidence: event.payload.confidence
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { LifecycleEventBridge };
|
|
45
|
+
//# sourceMappingURL=lifecycle-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-events.js","names":["publisher?: LifecycleEventPublisher"],"sources":["../../src/events/lifecycle-events.ts"],"sourcesContent":["import type { LifecyclePipelineEvent } from '@contractspec/lib.observability';\nimport { lifecycleEventNames } from '@contractspec/lib.analytics';\n\nexport interface ManagedLifecycleEvent {\n name: string;\n properties: Record<string, unknown>;\n}\n\nexport type LifecycleEventPublisher = (\n event: ManagedLifecycleEvent\n) => Promise<void> | void;\n\nexport class LifecycleEventBridge {\n constructor(private readonly publisher?: LifecycleEventPublisher) {}\n\n forward(event: LifecyclePipelineEvent) {\n if (!this.publisher) return;\n switch (event.type) {\n case 'assessment.recorded':\n this.publisher({\n name: lifecycleEventNames.assessmentRun,\n properties: {\n tenantId: event.payload.tenantId,\n stage: event.payload.stage,\n },\n });\n break;\n case 'stage.changed':\n this.publisher({\n name: lifecycleEventNames.stageChanged,\n properties: {\n tenantId: event.payload.tenantId,\n previousStage: event.payload.previousStage,\n nextStage: event.payload.nextStage,\n },\n });\n break;\n case 'confidence.low':\n this.publisher({\n name: `${lifecycleEventNames.assessmentRun}.low_confidence`,\n properties: {\n tenantId: event.payload.tenantId,\n confidence: event.payload.confidence,\n },\n });\n break;\n }\n }\n}\n"],"mappings":";;;AAYA,IAAa,uBAAb,MAAkC;CAChC,YAAY,AAAiBA,WAAqC;EAArC;;CAE7B,QAAQ,OAA+B;AACrC,MAAI,CAAC,KAAK,UAAW;AACrB,UAAQ,MAAM,MAAd;GACE,KAAK;AACH,SAAK,UAAU;KACb,MAAM,oBAAoB;KAC1B,YAAY;MACV,UAAU,MAAM,QAAQ;MACxB,OAAO,MAAM,QAAQ;MACtB;KACF,CAAC;AACF;GACF,KAAK;AACH,SAAK,UAAU;KACb,MAAM,oBAAoB;KAC1B,YAAY;MACV,UAAU,MAAM,QAAQ;MACxB,eAAe,MAAM,QAAQ;MAC7B,WAAW,MAAM,QAAQ;MAC1B;KACF,CAAC;AACF;GACF,KAAK;AACH,SAAK,UAAU;KACb,MAAM,GAAG,oBAAoB,cAAc;KAC3C,YAAY;MACV,UAAU,MAAM,QAAQ;MACxB,YAAY,MAAM,QAAQ;MAC3B;KACF,CAAC;AACF"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LifecycleEventBridge, LifecycleEventPublisher, ManagedLifecycleEvent } from "./events/lifecycle-events.js";
|
|
2
|
+
import { LifecycleAssessmentRequest, LifecycleAssessmentResponse, LifecycleAssessmentService, LifecycleAssessmentServiceOptions } from "./services/assessment-service.js";
|
|
3
|
+
import { LifecycleAdvisorAgent } from "./agents/lifecycle-advisor-agent.js";
|
|
4
|
+
import { HttpRequest, HttpResponse, createLifecycleHandlers } from "./api/rest-handlers.js";
|
|
5
|
+
export { HttpRequest, HttpResponse, LifecycleAdvisorAgent, LifecycleAssessmentRequest, LifecycleAssessmentResponse, LifecycleAssessmentService, LifecycleAssessmentServiceOptions, LifecycleEventBridge, LifecycleEventPublisher, ManagedLifecycleEvent, createLifecycleHandlers };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { LifecycleEventBridge } from "./events/lifecycle-events.js";
|
|
2
|
+
import { LifecycleAssessmentService } from "./services/assessment-service.js";
|
|
3
|
+
import { LifecycleAdvisorAgent } from "./agents/lifecycle-advisor-agent.js";
|
|
4
|
+
import { createLifecycleHandlers } from "./api/rest-handlers.js";
|
|
5
|
+
|
|
6
|
+
export { LifecycleAdvisorAgent, LifecycleAssessmentService, LifecycleEventBridge, createLifecycleHandlers };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./workflow.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../types.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AgentConfidencePolicy, AgentEscalationPolicy, AgentKnowledgeRef, AgentMemoryConfig, AgentMeta, AgentPolicy, AgentSpec, AgentToolConfig } from "./spec/spec.js";
|
|
2
|
+
import "./types.js";
|
|
3
|
+
import "./agent/index.js";
|
|
4
|
+
import "./spec/index.js";
|
|
5
|
+
import "./tools/index.js";
|
|
6
|
+
import "./schema/index.js";
|
|
7
|
+
import "./knowledge/index.js";
|
|
8
|
+
import "./session/index.js";
|
|
9
|
+
import "./telemetry/index.js";
|
|
10
|
+
import "./approval/index.js";
|
|
11
|
+
import "ai";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./injector.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../spec/spec.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "zod";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./store.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./spec.js";
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { OwnerShipMeta } from "../../../contracts/src/ownership.js";
|
|
2
|
+
import { PolicyRef } from "../../../contracts/src/policy/spec.js";
|
|
3
|
+
import { KnowledgeCategory } from "../../../contracts/src/knowledge/spec.js";
|
|
4
|
+
|
|
5
|
+
//#region ../../libs/ai-agent/src/spec/spec.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Metadata for an agent specification.
|
|
9
|
+
*/
|
|
10
|
+
type AgentMeta = OwnerShipMeta;
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for a tool that an agent can use.
|
|
13
|
+
*/
|
|
14
|
+
interface AgentToolConfig {
|
|
15
|
+
/** Tool name (unique within the agent) */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Human-readable description for the LLM */
|
|
18
|
+
description?: string;
|
|
19
|
+
/** JSON Schema fragment for tool parameters */
|
|
20
|
+
schema?: Record<string, unknown>;
|
|
21
|
+
/** Optional cooldown in milliseconds between invocations */
|
|
22
|
+
cooldownMs?: number;
|
|
23
|
+
/** Maximum execution time before timeout */
|
|
24
|
+
timeoutMs?: number;
|
|
25
|
+
/** Whether the tool can be executed without human approval (AI SDK needsApproval = !automationSafe) */
|
|
26
|
+
automationSafe?: boolean;
|
|
27
|
+
/** Explicit approval requirement (overrides automationSafe) */
|
|
28
|
+
requiresApproval?: boolean;
|
|
29
|
+
/** Optional policy guard that must evaluate to allow the tool call */
|
|
30
|
+
policy?: PolicyRef;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Reference to a knowledge space that the agent can access.
|
|
34
|
+
*/
|
|
35
|
+
interface AgentKnowledgeRef {
|
|
36
|
+
/** Knowledge space key */
|
|
37
|
+
key: string;
|
|
38
|
+
/** Optional specific version */
|
|
39
|
+
version?: number;
|
|
40
|
+
/** Filter by knowledge category */
|
|
41
|
+
category?: KnowledgeCategory;
|
|
42
|
+
/** Whether the knowledge is required (static injection) or optional (dynamic RAG) */
|
|
43
|
+
required?: boolean;
|
|
44
|
+
/** Additional instructions appended when the space is available */
|
|
45
|
+
instructions?: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Memory configuration for agent session persistence.
|
|
49
|
+
*/
|
|
50
|
+
interface AgentMemoryConfig {
|
|
51
|
+
/** Maximum entries to keep in memory */
|
|
52
|
+
maxEntries?: number;
|
|
53
|
+
/** Time-to-live in minutes */
|
|
54
|
+
ttlMinutes?: number;
|
|
55
|
+
/** Number of messages before triggering summarization */
|
|
56
|
+
summaryTrigger?: number;
|
|
57
|
+
/** Whether to persist to long-term storage */
|
|
58
|
+
persistLongTerm?: boolean;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Confidence policy for agent responses.
|
|
62
|
+
*/
|
|
63
|
+
interface AgentConfidencePolicy {
|
|
64
|
+
/** Minimum acceptable confidence before escalation. Defaults to 0.7 */
|
|
65
|
+
min?: number;
|
|
66
|
+
/** Default value used when provider does not report confidence */
|
|
67
|
+
default?: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Escalation policy for handling uncertain or failed agent responses.
|
|
71
|
+
*/
|
|
72
|
+
interface AgentEscalationPolicy {
|
|
73
|
+
/** Auto escalate when confidence < threshold */
|
|
74
|
+
confidenceThreshold?: number;
|
|
75
|
+
/** Escalate when a tool throws irrecoverable errors */
|
|
76
|
+
onToolFailure?: boolean;
|
|
77
|
+
/** Escalate when iteration budget exceeded */
|
|
78
|
+
onTimeout?: boolean;
|
|
79
|
+
/** Optional human approval workflow ID */
|
|
80
|
+
approvalWorkflow?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Combined policy configuration for an agent.
|
|
84
|
+
*/
|
|
85
|
+
interface AgentPolicy {
|
|
86
|
+
confidence?: AgentConfidencePolicy;
|
|
87
|
+
escalation?: AgentEscalationPolicy;
|
|
88
|
+
/** Feature flags to apply to this agent */
|
|
89
|
+
flags?: string[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Complete specification for a ContractSpec agent.
|
|
93
|
+
*/
|
|
94
|
+
interface AgentSpec {
|
|
95
|
+
meta: AgentMeta;
|
|
96
|
+
/** System instructions for the agent */
|
|
97
|
+
instructions: string;
|
|
98
|
+
/** Human-readable description */
|
|
99
|
+
description?: string;
|
|
100
|
+
/** Tags for categorization */
|
|
101
|
+
tags?: string[];
|
|
102
|
+
/** Tools the agent can use */
|
|
103
|
+
tools: AgentToolConfig[];
|
|
104
|
+
/** Memory/session configuration */
|
|
105
|
+
memory?: AgentMemoryConfig;
|
|
106
|
+
/** Knowledge spaces the agent can access */
|
|
107
|
+
knowledge?: AgentKnowledgeRef[];
|
|
108
|
+
/** Policy configuration */
|
|
109
|
+
policy?: AgentPolicy;
|
|
110
|
+
/** Maximum steps per generation (defaults to 10) */
|
|
111
|
+
maxSteps?: number;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { AgentConfidencePolicy, AgentEscalationPolicy, AgentKnowledgeRef, AgentMemoryConfig, AgentMeta, AgentPolicy, AgentSpec, AgentToolConfig };
|
|
115
|
+
//# sourceMappingURL=spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.d.ts","names":[],"sources":["../../../../../../../libs/ai-agent/src/spec/spec.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAOA;AAKiB,KALL,SAAA,GAAY,aAWb;AAgBX;AAgBA;AAcA;AAUiB,UA9DA,eAAA,CA8DqB;EAcrB;EAUA,IAAA,EAAA,MAAS;EAClB;EAQC,WAAA,CAAA,EAAA,MAAA;EAEE;EAEG,MAAA,CAAA,EA7FH,MA6FG,CAAA,MAAA,EAAA,OAAA,CAAA;EAEH;EAAW,UAAA,CAAA,EAAA,MAAA;;;;;;;;WArFX;;;;;UAMM,iBAAA;;;;;;aAMJ;;;;;;;;;UAUI,iBAAA;;;;;;;;;;;;;UAcA,qBAAA;;;;;;;;;UAUA,qBAAA;;;;;;;;;;;;;UAcA,WAAA;eACF;eACA;;;;;;;UAQE,SAAA;QACT;;;;;;;;SAQC;;WAEE;;cAEG;;WAEH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "ai";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./adapter.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "ai";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "ai";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./index.js";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import "./presentations.js";
|
|
2
|
+
import { DocId } from "./registry.js";
|
|
3
|
+
import "./accessibility_wcag_compliance_specs.docblock.js";
|
|
4
|
+
import "./tech/lifecycle-stage-system.docblock.js";
|
|
5
|
+
import "./tech/presentation-runtime.docblock.js";
|
|
6
|
+
import "./tech/auth/better-auth-nextjs.docblock.js";
|
|
7
|
+
import "./tech/schema/README.docblock.js";
|
|
8
|
+
import "./tech/templates/runtime.docblock.js";
|
|
9
|
+
import "../workflow/overview.docblock.js";
|
|
10
|
+
import "./tech/mcp-endpoints.docblock.js";
|
|
11
|
+
import "./tech/vscode-extension.docblock.js";
|
|
12
|
+
import "./tech/telemetry-ingest.docblock.js";
|
|
13
|
+
import "./tech/contracts/openapi-export.docblock.js";
|
|
14
|
+
import "./tech/contracts/openapi-import.docblock.js";
|
|
15
|
+
import "../workspace-config/workspace-config.docblock.js";
|
|
16
|
+
import "./tech/studio/workspaces.docblock.js";
|
|
17
|
+
import "./tech/studio/sandbox-unlogged.docblock.js";
|
|
18
|
+
import "./tech/studio/workspace-ops.docblock.js";
|
|
19
|
+
import "./tech/studio/project-routing.docblock.js";
|
|
20
|
+
import "./tech/studio/platform-admin-panel.docblock.js";
|
|
21
|
+
import "./tech/studio/learning-events.docblock.js";
|
|
22
|
+
import "./tech/studio/learning-journeys.docblock.js";
|
|
23
|
+
import "./tech/studio/project-access-teams.docblock.js";
|
|
24
|
+
import "./tech/studio/team-invitations.docblock.js";
|
|
25
|
+
import "./tech/llm/llm-integration.docblock.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","names":[],"sources":["../../../../../../../libs/contracts/src/docs/registry.ts"],"sourcesContent":[],"mappings":";;;;KASY,KAAA;EAAA,OAAA,EAAK,IAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../../index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../index.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../ownership.js";
|
|
2
|
+
import "../policy/spec.js";
|
|
3
|
+
|
|
4
|
+
//#region ../../libs/contracts/src/knowledge/spec.d.ts
|
|
5
|
+
type KnowledgeCategory = 'canonical' | 'operational' | 'external' | 'ephemeral';
|
|
6
|
+
//#endregion
|
|
7
|
+
export { KnowledgeCategory };
|
|
8
|
+
//# sourceMappingURL=spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.d.ts","names":[],"sources":["../../../../../../../libs/contracts/src/knowledge/spec.ts"],"sourcesContent":[],"mappings":";;;;KAGY,iBAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { DocId } from "./docs/registry.js";
|
|
2
|
+
import "./docs/index.js";
|
|
3
|
+
|
|
4
|
+
//#region ../../libs/contracts/src/ownership.d.ts
|
|
5
|
+
declare const StabilityEnum: {
|
|
6
|
+
readonly Idea: "idea";
|
|
7
|
+
readonly InCreation: "in_creation";
|
|
8
|
+
readonly Experimental: "experimental";
|
|
9
|
+
readonly Beta: "beta";
|
|
10
|
+
readonly Stable: "stable";
|
|
11
|
+
readonly Deprecated: "deprecated";
|
|
12
|
+
};
|
|
13
|
+
type Stability = (typeof StabilityEnum)[keyof typeof StabilityEnum];
|
|
14
|
+
declare const OwnersEnum: {
|
|
15
|
+
readonly PlatformCore: "platform.core";
|
|
16
|
+
readonly PlatformSigil: "platform.sigil";
|
|
17
|
+
readonly PlatformMarketplace: "platform.marketplace";
|
|
18
|
+
readonly PlatformMessaging: "platform.messaging";
|
|
19
|
+
readonly PlatformContent: "platform.content";
|
|
20
|
+
readonly PlatformFeatureFlags: "platform.featureflags";
|
|
21
|
+
readonly PlatformFinance: "platform.finance";
|
|
22
|
+
};
|
|
23
|
+
type Owner = (typeof OwnersEnum)[keyof typeof OwnersEnum] | (string & {});
|
|
24
|
+
declare const TagsEnum: {
|
|
25
|
+
readonly Spots: "spots";
|
|
26
|
+
readonly Collectivity: "collectivity";
|
|
27
|
+
readonly Marketplace: "marketplace";
|
|
28
|
+
readonly Sellers: "sellers";
|
|
29
|
+
readonly Auth: "auth";
|
|
30
|
+
readonly Login: "login";
|
|
31
|
+
readonly Signup: "signup";
|
|
32
|
+
readonly Guide: "guide";
|
|
33
|
+
readonly Docs: "docs";
|
|
34
|
+
readonly I18n: "i18n";
|
|
35
|
+
readonly Incident: "incident";
|
|
36
|
+
readonly Automation: "automation";
|
|
37
|
+
readonly Hygiene: "hygiene";
|
|
38
|
+
};
|
|
39
|
+
type Tag = (typeof TagsEnum)[keyof typeof TagsEnum] | (string & {});
|
|
40
|
+
interface OwnerShipMeta {
|
|
41
|
+
/** Breaking changes => bump version */
|
|
42
|
+
version: number;
|
|
43
|
+
/** Fully-qualified spec key (e.g., "sigil.beginSignup") */
|
|
44
|
+
key: string;
|
|
45
|
+
/** Human-friendly spec title (e.g., "Signup begin") */
|
|
46
|
+
title?: string;
|
|
47
|
+
/** Short human-friendly summary */
|
|
48
|
+
description: string;
|
|
49
|
+
domain?: string;
|
|
50
|
+
/** Lifecycle marker for comms & tooling */
|
|
51
|
+
stability: Stability;
|
|
52
|
+
/** Owners for CODEOWNERS / on-call / approvals */
|
|
53
|
+
owners: Owner[];
|
|
54
|
+
/** Search tags, grouping, docs navigation */
|
|
55
|
+
tags: Tag[];
|
|
56
|
+
/** Doc block(s) for this operation. */
|
|
57
|
+
docId?: DocId[];
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { OwnerShipMeta };
|
|
61
|
+
//# sourceMappingURL=ownership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ownership.d.ts","names":[],"sources":["../../../../../../libs/contracts/src/ownership.ts"],"sourcesContent":[],"mappings":";;;;cAIa;;;EAAA,SAAA,YAOH,EAAA,cAAA;EACE,SAAA,IAAS,EAAA,MAAA;EAGR,SAAA,MAQH,EAAA,QAAA;EACE,SAAK,UAAA,EACL,YAAyB;AAMrC,CAAA;AAeY,KAlCA,SAAA,GAkCc,CAAA,OAlCM,aAkCyB,CAAA,CAAA,MAAA,OAlCG,aAkCH,CAAA;AAIxC,cAnCJ,UAmCiB,EAAA;EAWjB,SAAA,YAAA,EAAA,eAAA;EAEH,SAAA,aAAA,EAAA,gBAAA;EAEF,SAAA,mBAAA,EAAA,sBAAA;EAGE,SAAA,iBAAA,EAAA,oBAAA;EAAK,SAAA,eAAA,EAAA,kBAAA;;;;KA5CH,KAAA,WACA,yBAAyB;cAMxB;;;;;;;;;;;;;;;KAeD,GAAA,WAAc,uBAAuB;UAIhC,aAAA;;;;;;;;;;;aAWJ;;UAEH;;QAEF;;UAGE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec.d.ts","names":[],"sources":["../../../../../../../libs/contracts/src/policy/spec.ts"],"sourcesContent":[],"mappings":";;;;UAmHiB,SAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../docs/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "../docs/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./FieldType.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "zod";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./types.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./types.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "zod";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "./FieldType.js";
|
|
2
|
+
import "./ScalarTypeEnum.js";
|
|
3
|
+
import "./EnumType.js";
|
|
4
|
+
import "./SchemaModelType.js";
|
|
5
|
+
import "./SchemaModel.js";
|
|
6
|
+
import "./entity/index.js";
|
|
7
|
+
import "./ZodSchemaType.js";
|
|
8
|
+
import "./JsonSchemaType.js";
|
|
9
|
+
import "./GraphQLSchemaType.js";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { LifecycleEventBridge } from "../events/lifecycle-events.js";
|
|
2
|
+
import { LifecycleAssessment, LifecycleAssessmentInput, LifecycleRecommendation, LifecycleStage } from "@contractspec/lib.lifecycle";
|
|
3
|
+
import { StageSignalCollectorOptions } from "@contractspec/module.lifecycle-core";
|
|
4
|
+
import * as _contractspec_module_lifecycle_advisor0 from "@contractspec/module.lifecycle-advisor";
|
|
5
|
+
import { ContractSpecLibraryRecommender, LifecycleCeremonyDesigner, LifecycleRecommendationEngine } from "@contractspec/module.lifecycle-advisor";
|
|
6
|
+
import { LifecycleKpiPipeline, LifecyclePipelineEvent } from "@contractspec/lib.observability";
|
|
7
|
+
|
|
8
|
+
//#region src/services/assessment-service.d.ts
|
|
9
|
+
interface LifecycleAssessmentRequest extends LifecycleAssessmentInput {
|
|
10
|
+
tenantId?: string;
|
|
11
|
+
completedMilestones?: string[];
|
|
12
|
+
}
|
|
13
|
+
interface LifecycleAssessmentResponse {
|
|
14
|
+
assessment: LifecycleAssessment;
|
|
15
|
+
recommendation: LifecycleRecommendation;
|
|
16
|
+
libraries: ReturnType<ContractSpecLibraryRecommender['recommend']>;
|
|
17
|
+
ceremony?: ReturnType<LifecycleCeremonyDesigner['design']>;
|
|
18
|
+
}
|
|
19
|
+
interface LifecycleAssessmentServiceOptions {
|
|
20
|
+
collector: StageSignalCollectorOptions;
|
|
21
|
+
pipeline?: LifecycleKpiPipeline;
|
|
22
|
+
recommendationEngine?: LifecycleRecommendationEngine;
|
|
23
|
+
libraryRecommender?: ContractSpecLibraryRecommender;
|
|
24
|
+
ceremonyDesigner?: LifecycleCeremonyDesigner;
|
|
25
|
+
eventBridge?: LifecycleEventBridge;
|
|
26
|
+
onPipelineEvent?: (event: LifecyclePipelineEvent) => void;
|
|
27
|
+
}
|
|
28
|
+
declare class LifecycleAssessmentService {
|
|
29
|
+
private readonly orchestrator;
|
|
30
|
+
private readonly recommendationEngine;
|
|
31
|
+
private readonly libraryRecommender;
|
|
32
|
+
private readonly ceremonyDesigner;
|
|
33
|
+
private readonly pipeline;
|
|
34
|
+
private readonly eventBridge?;
|
|
35
|
+
constructor(options: LifecycleAssessmentServiceOptions);
|
|
36
|
+
runAssessment(request: LifecycleAssessmentRequest): Promise<LifecycleAssessmentResponse>;
|
|
37
|
+
getStagePlaybook(stage: LifecycleStage): {
|
|
38
|
+
recommendation: LifecycleRecommendation;
|
|
39
|
+
libraries: _contractspec_module_lifecycle_advisor0.LibraryRecommendation[];
|
|
40
|
+
ceremony: {
|
|
41
|
+
title: string;
|
|
42
|
+
copy: string;
|
|
43
|
+
cues: string[];
|
|
44
|
+
} | undefined;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//#endregion
|
|
48
|
+
export { LifecycleAssessmentRequest, LifecycleAssessmentResponse, LifecycleAssessmentService, LifecycleAssessmentServiceOptions };
|
|
49
|
+
//# sourceMappingURL=assessment-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assessment-service.d.ts","names":[],"sources":["../../src/services/assessment-service.ts"],"sourcesContent":[],"mappings":";;;;;;;;UA6BiB,0BAAA,SAAmC;;;AAApD;AAKiB,UAAA,2BAAA,CAA2B;EAC9B,UAAA,EAAA,mBAAA;EACI,cAAA,EAAA,uBAAA;EACM,SAAA,EAAX,UAAW,CAAA,8BAAA,CAAA,WAAA,CAAA,CAAA;EAAX,QAAA,CAAA,EACA,UADA,CACW,yBADX,CAAA,QAAA,CAAA,CAAA;;AACA,UAGI,iCAAA,CAHJ;EAAU,SAAA,EAIV,2BAJU;EAGN,QAAA,CAAA,EAEJ,oBAFI;EACJ,oBAAA,CAAA,EAEY,6BAFZ;EACA,kBAAA,CAAA,EAEU,8BAFV;EACY,gBAAA,CAAA,EAEJ,yBAFI;EACF,WAAA,CAAA,EAEP,oBAFO;EACF,eAAA,CAAA,EAAA,CAAA,KAAA,EAEO,sBAFP,EAAA,GAAA,IAAA;;AAEO,cAGf,0BAAA,CAHe;EAAsB,iBAAA,YAAA;EAGrC,iBAAA,oBAA0B;EAQhB,iBAAA,kBAAA;EA0BV,iBAAA,gBAAA;EACA,iBAAA,QAAA;EAAR,iBAAA,WAAA;EAuBqB,WAAA,CAAA,OAAA,EAlDH,iCAkDG;yBAxBb,6BACR,QAAQ;0BAuBa"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import "../events/lifecycle-events.js";
|
|
2
|
+
import { CapitalPhase, CompanyPhase, ProductPhase } from "@contractspec/lib.lifecycle";
|
|
3
|
+
import { LifecycleMilestonePlanner, LifecycleOrchestrator, StageScorer, StageSignalCollector } from "@contractspec/module.lifecycle-core";
|
|
4
|
+
import { ContractSpecLibraryRecommender, LifecycleCeremonyDesigner, LifecycleRecommendationEngine } from "@contractspec/module.lifecycle-advisor";
|
|
5
|
+
import { LifecycleKpiPipeline } from "@contractspec/lib.observability";
|
|
6
|
+
|
|
7
|
+
//#region src/services/assessment-service.ts
|
|
8
|
+
var LifecycleAssessmentService = class {
|
|
9
|
+
orchestrator;
|
|
10
|
+
recommendationEngine;
|
|
11
|
+
libraryRecommender;
|
|
12
|
+
ceremonyDesigner;
|
|
13
|
+
pipeline;
|
|
14
|
+
eventBridge;
|
|
15
|
+
constructor(options) {
|
|
16
|
+
this.orchestrator = new LifecycleOrchestrator({
|
|
17
|
+
collector: new StageSignalCollector(options.collector),
|
|
18
|
+
scorer: new StageScorer(),
|
|
19
|
+
milestonePlanner: new LifecycleMilestonePlanner()
|
|
20
|
+
});
|
|
21
|
+
this.recommendationEngine = options.recommendationEngine ?? new LifecycleRecommendationEngine();
|
|
22
|
+
this.libraryRecommender = options.libraryRecommender ?? new ContractSpecLibraryRecommender();
|
|
23
|
+
this.ceremonyDesigner = options.ceremonyDesigner ?? new LifecycleCeremonyDesigner();
|
|
24
|
+
this.pipeline = options.pipeline ?? new LifecycleKpiPipeline();
|
|
25
|
+
this.eventBridge = options.eventBridge;
|
|
26
|
+
if (options.onPipelineEvent) this.pipeline.on(options.onPipelineEvent);
|
|
27
|
+
if (this.eventBridge) this.pipeline.on((event) => this.eventBridge?.forward(event));
|
|
28
|
+
}
|
|
29
|
+
async runAssessment(request) {
|
|
30
|
+
const assessment = await this.orchestrator.run(request);
|
|
31
|
+
const upcoming = this.orchestrator.getUpcomingMilestones(assessment.stage, request.completedMilestones);
|
|
32
|
+
this.pipeline.recordAssessment(assessment, request.tenantId);
|
|
33
|
+
return {
|
|
34
|
+
assessment,
|
|
35
|
+
recommendation: this.recommendationEngine.generate(assessment, { upcomingMilestones: upcoming }),
|
|
36
|
+
libraries: this.libraryRecommender.recommend(assessment.stage),
|
|
37
|
+
ceremony: this.ceremonyDesigner.design(assessment.stage)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
getStagePlaybook(stage) {
|
|
41
|
+
return {
|
|
42
|
+
recommendation: this.recommendationEngine.generate({
|
|
43
|
+
stage,
|
|
44
|
+
confidence: 1,
|
|
45
|
+
axes: {
|
|
46
|
+
product: ProductPhase.Mvp,
|
|
47
|
+
company: CompanyPhase.TinyTeam,
|
|
48
|
+
capital: CapitalPhase.Seed
|
|
49
|
+
},
|
|
50
|
+
signals: [],
|
|
51
|
+
gaps: [],
|
|
52
|
+
focusAreas: [],
|
|
53
|
+
scorecard: [],
|
|
54
|
+
generatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
55
|
+
}, { upcomingMilestones: this.orchestrator.getUpcomingMilestones(stage) }),
|
|
56
|
+
libraries: this.libraryRecommender.recommend(stage),
|
|
57
|
+
ceremony: this.ceremonyDesigner.design(stage)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
//#endregion
|
|
63
|
+
export { LifecycleAssessmentService };
|
|
64
|
+
//# sourceMappingURL=assessment-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assessment-service.js","names":[],"sources":["../../src/services/assessment-service.ts"],"sourcesContent":["import type {\n LifecycleAssessment,\n LifecycleAssessmentInput,\n LifecycleRecommendation,\n LifecycleStage,\n} from '@contractspec/lib.lifecycle';\nimport {\n ProductPhase,\n CompanyPhase,\n CapitalPhase,\n} from '@contractspec/lib.lifecycle';\nimport {\n LifecycleOrchestrator,\n StageSignalCollector,\n StageScorer,\n LifecycleMilestonePlanner,\n type StageSignalCollectorOptions,\n} from '@contractspec/module.lifecycle-core';\nimport {\n LifecycleRecommendationEngine,\n ContractSpecLibraryRecommender,\n LifecycleCeremonyDesigner,\n} from '@contractspec/module.lifecycle-advisor';\nimport {\n LifecycleKpiPipeline,\n type LifecyclePipelineEvent,\n} from '@contractspec/lib.observability';\nimport { LifecycleEventBridge } from '../events/lifecycle-events';\n\nexport interface LifecycleAssessmentRequest extends LifecycleAssessmentInput {\n tenantId?: string;\n completedMilestones?: string[];\n}\n\nexport interface LifecycleAssessmentResponse {\n assessment: LifecycleAssessment;\n recommendation: LifecycleRecommendation;\n libraries: ReturnType<ContractSpecLibraryRecommender['recommend']>;\n ceremony?: ReturnType<LifecycleCeremonyDesigner['design']>;\n}\n\nexport interface LifecycleAssessmentServiceOptions {\n collector: StageSignalCollectorOptions;\n pipeline?: LifecycleKpiPipeline;\n recommendationEngine?: LifecycleRecommendationEngine;\n libraryRecommender?: ContractSpecLibraryRecommender;\n ceremonyDesigner?: LifecycleCeremonyDesigner;\n eventBridge?: LifecycleEventBridge;\n onPipelineEvent?: (event: LifecyclePipelineEvent) => void;\n}\n\nexport class LifecycleAssessmentService {\n private readonly orchestrator: LifecycleOrchestrator;\n private readonly recommendationEngine: LifecycleRecommendationEngine;\n private readonly libraryRecommender: ContractSpecLibraryRecommender;\n private readonly ceremonyDesigner: LifecycleCeremonyDesigner;\n private readonly pipeline: LifecycleKpiPipeline;\n private readonly eventBridge?: LifecycleEventBridge;\n\n constructor(options: LifecycleAssessmentServiceOptions) {\n const collector = new StageSignalCollector(options.collector);\n const scorer = new StageScorer();\n const milestonePlanner = new LifecycleMilestonePlanner();\n this.orchestrator = new LifecycleOrchestrator({\n collector,\n scorer,\n milestonePlanner,\n });\n this.recommendationEngine =\n options.recommendationEngine ?? new LifecycleRecommendationEngine();\n this.libraryRecommender =\n options.libraryRecommender ?? new ContractSpecLibraryRecommender();\n this.ceremonyDesigner =\n options.ceremonyDesigner ?? new LifecycleCeremonyDesigner();\n this.pipeline = options.pipeline ?? new LifecycleKpiPipeline();\n this.eventBridge = options.eventBridge;\n if (options.onPipelineEvent) {\n this.pipeline.on(options.onPipelineEvent);\n }\n if (this.eventBridge) {\n this.pipeline.on((event) => this.eventBridge?.forward(event));\n }\n }\n\n async runAssessment(\n request: LifecycleAssessmentRequest\n ): Promise<LifecycleAssessmentResponse> {\n const assessment = await this.orchestrator.run(request);\n const upcoming = this.orchestrator.getUpcomingMilestones(\n assessment.stage,\n request.completedMilestones\n );\n this.pipeline.recordAssessment(assessment, request.tenantId);\n\n const recommendation = this.recommendationEngine.generate(assessment, {\n upcomingMilestones: upcoming,\n });\n\n const libraries = this.libraryRecommender.recommend(assessment.stage);\n const ceremony = this.ceremonyDesigner.design(assessment.stage);\n\n return {\n assessment,\n recommendation,\n libraries,\n ceremony,\n };\n }\n\n getStagePlaybook(stage: LifecycleStage) {\n const recommendation = this.recommendationEngine.generate(\n {\n stage,\n confidence: 1,\n axes: {\n product: ProductPhase.Mvp,\n company: CompanyPhase.TinyTeam,\n capital: CapitalPhase.Seed,\n },\n signals: [],\n gaps: [],\n focusAreas: [],\n scorecard: [],\n generatedAt: new Date().toISOString(),\n },\n { upcomingMilestones: this.orchestrator.getUpcomingMilestones(stage) }\n );\n\n return {\n recommendation,\n libraries: this.libraryRecommender.recommend(stage),\n ceremony: this.ceremonyDesigner.design(stage),\n };\n }\n}\n"],"mappings":";;;;;;;AAmDA,IAAa,6BAAb,MAAwC;CACtC,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CACjB,AAAiB;CAEjB,YAAY,SAA4C;AAItD,OAAK,eAAe,IAAI,sBAAsB;GAC5C,WAJgB,IAAI,qBAAqB,QAAQ,UAAU;GAK3D,QAJa,IAAI,aAAa;GAK9B,kBAJuB,IAAI,2BAA2B;GAKvD,CAAC;AACF,OAAK,uBACH,QAAQ,wBAAwB,IAAI,+BAA+B;AACrE,OAAK,qBACH,QAAQ,sBAAsB,IAAI,gCAAgC;AACpE,OAAK,mBACH,QAAQ,oBAAoB,IAAI,2BAA2B;AAC7D,OAAK,WAAW,QAAQ,YAAY,IAAI,sBAAsB;AAC9D,OAAK,cAAc,QAAQ;AAC3B,MAAI,QAAQ,gBACV,MAAK,SAAS,GAAG,QAAQ,gBAAgB;AAE3C,MAAI,KAAK,YACP,MAAK,SAAS,IAAI,UAAU,KAAK,aAAa,QAAQ,MAAM,CAAC;;CAIjE,MAAM,cACJ,SACsC;EACtC,MAAM,aAAa,MAAM,KAAK,aAAa,IAAI,QAAQ;EACvD,MAAM,WAAW,KAAK,aAAa,sBACjC,WAAW,OACX,QAAQ,oBACT;AACD,OAAK,SAAS,iBAAiB,YAAY,QAAQ,SAAS;AAS5D,SAAO;GACL;GACA,gBATqB,KAAK,qBAAqB,SAAS,YAAY,EACpE,oBAAoB,UACrB,CAAC;GAQA,WANgB,KAAK,mBAAmB,UAAU,WAAW,MAAM;GAOnE,UANe,KAAK,iBAAiB,OAAO,WAAW,MAAM;GAO9D;;CAGH,iBAAiB,OAAuB;AAmBtC,SAAO;GACL,gBAnBqB,KAAK,qBAAqB,SAC/C;IACE;IACA,YAAY;IACZ,MAAM;KACJ,SAAS,aAAa;KACtB,SAAS,aAAa;KACtB,SAAS,aAAa;KACvB;IACD,SAAS,EAAE;IACX,MAAM,EAAE;IACR,YAAY,EAAE;IACd,WAAW,EAAE;IACb,8BAAa,IAAI,MAAM,EAAC,aAAa;IACtC,EACD,EAAE,oBAAoB,KAAK,aAAa,sBAAsB,MAAM,EAAE,CACvE;GAIC,WAAW,KAAK,mBAAmB,UAAU,MAAM;GACnD,UAAU,KAAK,iBAAiB,OAAO,MAAM;GAC9C"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@contractspec/bundle.lifecycle-managed",
|
|
3
|
+
"version": "1.44.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"README.md"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
|
|
14
|
+
"publish:pkg:canary": "bun publish:pkg --tag canary",
|
|
15
|
+
"build": "bun build:types && bun build:bundle",
|
|
16
|
+
"build:bundle": "tsdown",
|
|
17
|
+
"build:types": "tsc --noEmit",
|
|
18
|
+
"dev": "bun build:bundle --watch",
|
|
19
|
+
"clean": "rimraf dist .turbo",
|
|
20
|
+
"lint": "bun lint:fix",
|
|
21
|
+
"lint:fix": "eslint src --fix",
|
|
22
|
+
"lint:check": "eslint src",
|
|
23
|
+
"test": "bun run"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@contractspec/lib.ai-agent": "1.44.0",
|
|
27
|
+
"@contractspec/lib.analytics": "1.44.0",
|
|
28
|
+
"@contractspec/lib.lifecycle": "1.44.0",
|
|
29
|
+
"@contractspec/lib.observability": "1.44.0",
|
|
30
|
+
"@contractspec/module.lifecycle-advisor": "1.44.0",
|
|
31
|
+
"@contractspec/module.lifecycle-core": "1.44.0"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@contractspec/tool.tsdown": "1.44.0",
|
|
35
|
+
"@contractspec/tool.typescript": "1.44.0",
|
|
36
|
+
"tsdown": "^0.18.3",
|
|
37
|
+
"typescript": "^5.9.3"
|
|
38
|
+
},
|
|
39
|
+
"exports": {
|
|
40
|
+
".": "./dist/index.js",
|
|
41
|
+
"./*": "./*"
|
|
42
|
+
},
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public",
|
|
45
|
+
"exports": {
|
|
46
|
+
".": "./dist/index.js",
|
|
47
|
+
"./*": "./*"
|
|
48
|
+
},
|
|
49
|
+
"registry": "https://registry.npmjs.org/"
|
|
50
|
+
},
|
|
51
|
+
"license": "MIT",
|
|
52
|
+
"repository": {
|
|
53
|
+
"type": "git",
|
|
54
|
+
"url": "https://github.com/lssm-tech/contractspec.git",
|
|
55
|
+
"directory": "packages/bundles/lifecycle-managed"
|
|
56
|
+
},
|
|
57
|
+
"homepage": "https://contractspec.io"
|
|
58
|
+
}
|