@sdlcagent/agent-sdk 1.0.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.
Files changed (85) hide show
  1. package/dist/AgentError.d.ts +22 -0
  2. package/dist/AgentError.d.ts.map +1 -0
  3. package/dist/AgentError.js +53 -0
  4. package/dist/AgentError.js.map +1 -0
  5. package/dist/AgentServer.d.ts +14 -0
  6. package/dist/AgentServer.d.ts.map +1 -0
  7. package/dist/AgentServer.js +149 -0
  8. package/dist/AgentServer.js.map +1 -0
  9. package/dist/envelopes/ContextEnvelope.d.ts +26 -0
  10. package/dist/envelopes/ContextEnvelope.d.ts.map +1 -0
  11. package/dist/envelopes/ContextEnvelope.js +13 -0
  12. package/dist/envelopes/ContextEnvelope.js.map +1 -0
  13. package/dist/envelopes/ResultEnvelope.d.ts +23 -0
  14. package/dist/envelopes/ResultEnvelope.d.ts.map +1 -0
  15. package/dist/envelopes/ResultEnvelope.js +13 -0
  16. package/dist/envelopes/ResultEnvelope.js.map +1 -0
  17. package/dist/envelopes/sub-types/ActionRequest.d.ts +7 -0
  18. package/dist/envelopes/sub-types/ActionRequest.d.ts.map +1 -0
  19. package/dist/envelopes/sub-types/ActionRequest.js +3 -0
  20. package/dist/envelopes/sub-types/ActionRequest.js.map +1 -0
  21. package/dist/envelopes/sub-types/AgentMetrics.d.ts +9 -0
  22. package/dist/envelopes/sub-types/AgentMetrics.d.ts.map +1 -0
  23. package/dist/envelopes/sub-types/AgentMetrics.js +3 -0
  24. package/dist/envelopes/sub-types/AgentMetrics.js.map +1 -0
  25. package/dist/envelopes/sub-types/ArtifactRef.d.ts +9 -0
  26. package/dist/envelopes/sub-types/ArtifactRef.d.ts.map +1 -0
  27. package/dist/envelopes/sub-types/ArtifactRef.js +3 -0
  28. package/dist/envelopes/sub-types/ArtifactRef.js.map +1 -0
  29. package/dist/envelopes/sub-types/CriticSignal.d.ts +15 -0
  30. package/dist/envelopes/sub-types/CriticSignal.d.ts.map +1 -0
  31. package/dist/envelopes/sub-types/CriticSignal.js +3 -0
  32. package/dist/envelopes/sub-types/CriticSignal.js.map +1 -0
  33. package/dist/envelopes/sub-types/EffectivePolicy.d.ts +7 -0
  34. package/dist/envelopes/sub-types/EffectivePolicy.d.ts.map +1 -0
  35. package/dist/envelopes/sub-types/EffectivePolicy.js +3 -0
  36. package/dist/envelopes/sub-types/EffectivePolicy.js.map +1 -0
  37. package/dist/envelopes/sub-types/HitlTypes.d.ts +6 -0
  38. package/dist/envelopes/sub-types/HitlTypes.d.ts.map +1 -0
  39. package/dist/envelopes/sub-types/HitlTypes.js +3 -0
  40. package/dist/envelopes/sub-types/HitlTypes.js.map +1 -0
  41. package/dist/envelopes/sub-types/MemoryRefs.d.ts +13 -0
  42. package/dist/envelopes/sub-types/MemoryRefs.d.ts.map +1 -0
  43. package/dist/envelopes/sub-types/MemoryRefs.js +3 -0
  44. package/dist/envelopes/sub-types/MemoryRefs.js.map +1 -0
  45. package/dist/envelopes/sub-types/MemorySignal.d.ts +10 -0
  46. package/dist/envelopes/sub-types/MemorySignal.d.ts.map +1 -0
  47. package/dist/envelopes/sub-types/MemorySignal.js +3 -0
  48. package/dist/envelopes/sub-types/MemorySignal.js.map +1 -0
  49. package/dist/envelopes/sub-types/PromptRef.d.ts +8 -0
  50. package/dist/envelopes/sub-types/PromptRef.d.ts.map +1 -0
  51. package/dist/envelopes/sub-types/PromptRef.js +3 -0
  52. package/dist/envelopes/sub-types/PromptRef.js.map +1 -0
  53. package/dist/envelopes/sub-types/RedactionProfile.d.ts +6 -0
  54. package/dist/envelopes/sub-types/RedactionProfile.d.ts.map +1 -0
  55. package/dist/envelopes/sub-types/RedactionProfile.js +3 -0
  56. package/dist/envelopes/sub-types/RedactionProfile.js.map +1 -0
  57. package/dist/envelopes/sub-types/TriggerPayload.d.ts +5 -0
  58. package/dist/envelopes/sub-types/TriggerPayload.d.ts.map +1 -0
  59. package/dist/envelopes/sub-types/TriggerPayload.js +3 -0
  60. package/dist/envelopes/sub-types/TriggerPayload.js.map +1 -0
  61. package/dist/index.d.ts +26 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +21 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/logger.d.ts +32 -0
  66. package/dist/logger.d.ts.map +1 -0
  67. package/dist/logger.js +50 -0
  68. package/dist/logger.js.map +1 -0
  69. package/dist/logging/emitLog.d.ts +11 -0
  70. package/dist/logging/emitLog.d.ts.map +1 -0
  71. package/dist/logging/emitLog.js +31 -0
  72. package/dist/logging/emitLog.js.map +1 -0
  73. package/dist/logging/phases.d.ts +3 -0
  74. package/dist/logging/phases.d.ts.map +1 -0
  75. package/dist/logging/phases.js +14 -0
  76. package/dist/logging/phases.js.map +1 -0
  77. package/dist/server-utils.d.ts +6 -0
  78. package/dist/server-utils.d.ts.map +1 -0
  79. package/dist/server-utils.js +22 -0
  80. package/dist/server-utils.js.map +1 -0
  81. package/dist/validation.d.ts +311 -0
  82. package/dist/validation.d.ts.map +1 -0
  83. package/dist/validation.js +88 -0
  84. package/dist/validation.js.map +1 -0
  85. package/package.json +43 -0
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resultEnvelopeSchema = exports.contextEnvelopeSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const triggerPayloadSchema = zod_1.z.object({
6
+ source: zod_1.z.string(),
7
+ payload: zod_1.z.record(zod_1.z.unknown()),
8
+ });
9
+ const promptRefSchema = zod_1.z.object({
10
+ role: zod_1.z.string(),
11
+ rendered: zod_1.z.string(),
12
+ prompt_id: zod_1.z.string().optional(),
13
+ version: zod_1.z.string().optional(),
14
+ binding_key: zod_1.z.string().optional(),
15
+ });
16
+ exports.contextEnvelopeSchema = zod_1.z.object({
17
+ org_id: zod_1.z.string().min(1),
18
+ project_id: zod_1.z.string().min(1),
19
+ team_id: zod_1.z.string().min(1),
20
+ run_id: zod_1.z.string().min(1),
21
+ step_id: zod_1.z.string().min(1),
22
+ workflow_type: zod_1.z.string().min(1),
23
+ run_mode: zod_1.z.enum(['CREATE', 'MODIFY_ENHANCE']),
24
+ trigger: triggerPayloadSchema,
25
+ work_item_context: zod_1.z.string(),
26
+ policy_snapshot: zod_1.z.record(zod_1.z.unknown()),
27
+ prompt_refs: zod_1.z.array(promptRefSchema),
28
+ redaction_profile: zod_1.z.record(zod_1.z.unknown()),
29
+ memory_refs: zod_1.z.record(zod_1.z.unknown()).optional(),
30
+ agent_config: zod_1.z.record(zod_1.z.unknown()),
31
+ log_callback_url: zod_1.z.string().min(1),
32
+ step_token: zod_1.z.string().min(1),
33
+ });
34
+ const actionRequestSchema = zod_1.z.object({
35
+ action_id: zod_1.z.string(),
36
+ action_key: zod_1.z.string(),
37
+ parameters: zod_1.z.record(zod_1.z.unknown()),
38
+ required: zod_1.z.boolean().optional(),
39
+ });
40
+ const artifactRefSchema = zod_1.z
41
+ .object({
42
+ artifact_id: zod_1.z.string(),
43
+ type: zod_1.z.string(),
44
+ title: zod_1.z.string(),
45
+ content: zod_1.z.string().optional(),
46
+ url: zod_1.z.string().optional(),
47
+ })
48
+ .passthrough();
49
+ const hitlOptionSchema = zod_1.z.object({
50
+ label: zod_1.z.string(),
51
+ description: zod_1.z.string(),
52
+ value: zod_1.z.string().optional(),
53
+ });
54
+ const memorySignalSchema = zod_1.z.object({
55
+ type: zod_1.z.enum(['episodic', 'semantic', 'procedural']),
56
+ scope: zod_1.z.enum(['workflow', 'project', 'tenant', 'global']),
57
+ content: zod_1.z.string(),
58
+ tags: zod_1.z.array(zod_1.z.string()).optional(),
59
+ ttl_days: zod_1.z.number().optional(),
60
+ });
61
+ const criticCheckSchema = zod_1.z.object({
62
+ check_id: zod_1.z.string(),
63
+ label: zod_1.z.string(),
64
+ severity: zod_1.z.enum(['INFO', 'WARN', 'ERROR']),
65
+ passed: zod_1.z.boolean(),
66
+ detail: zod_1.z.string().optional(),
67
+ });
68
+ const criticSignalSchema = zod_1.z.object({
69
+ scorecard_id: zod_1.z.string(),
70
+ overall: zod_1.z.enum(['PASS', 'WARN', 'FAIL']),
71
+ checks: zod_1.z.array(criticCheckSchema),
72
+ score: zod_1.z.number().optional(),
73
+ });
74
+ exports.resultEnvelopeSchema = zod_1.z.object({
75
+ status: zod_1.z.enum(['SUCCEEDED', 'FAILED', 'HITL_REQUIRED']),
76
+ summary: zod_1.z.string(),
77
+ output_data: zod_1.z.record(zod_1.z.unknown()).optional(),
78
+ action_requests: zod_1.z.array(actionRequestSchema).optional(),
79
+ artifacts_created: zod_1.z.array(artifactRefSchema).optional(),
80
+ critic_signal: criticSignalSchema.optional(),
81
+ hitl_reason: zod_1.z.string().optional(),
82
+ hitl_options: zod_1.z.array(hitlOptionSchema).optional(),
83
+ remember: zod_1.z.array(memorySignalSchema).optional(),
84
+ agent_summary: zod_1.z.string().optional(),
85
+ next_step_hint: zod_1.z.string().optional(),
86
+ metrics: zod_1.z.record(zod_1.z.unknown()).optional(),
87
+ });
88
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@sdlcagent/agent-sdk",
3
+ "version": "1.0.0",
4
+ "description": "Contract library for Sage platform agents",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "scripts": {
17
+ "prepare": "npm run build",
18
+ "build": "tsc -p tsconfig.build.json",
19
+ "build:watch": "tsc -p tsconfig.build.json --watch",
20
+ "typecheck": "tsc --noEmit",
21
+ "test": "jest",
22
+ "test:coverage": "jest --coverage",
23
+ "test:watch": "jest --watch"
24
+ },
25
+ "dependencies": {
26
+ "dotenv": "^17.4.2",
27
+ "express": "^4.18.2",
28
+ "zod": "^3.22.4"
29
+ },
30
+ "devDependencies": {
31
+ "@types/express": "^4.17.21",
32
+ "@types/jest": "^30.0.0",
33
+ "@types/node": "^20.0.0",
34
+ "@types/supertest": "^7.2.0",
35
+ "jest": "^30.4.2",
36
+ "supertest": "^7.2.2",
37
+ "ts-jest": "^29.4.11",
38
+ "typescript": "^5.4.0"
39
+ },
40
+ "engines": {
41
+ "node": ">=20"
42
+ }
43
+ }