@bluefly/openstandardagents 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +43 -12
  3. package/README.md +31 -26
  4. package/bin/postinstall +0 -0
  5. package/dist/.version.json +3 -3
  6. package/dist/adapters/a2a/a2a-protocol.js +4 -2
  7. package/dist/adapters/a2a/a2a-tool.js +4 -2
  8. package/dist/adapters/a2a/mcp-integration.d.ts +2 -1
  9. package/dist/adapters/a2a/mcp-integration.js +6 -3
  10. package/dist/adapters/browser/browser-exporter.d.ts +26 -0
  11. package/dist/adapters/browser/browser-exporter.js +73 -0
  12. package/dist/adapters/browser/browser-runner.d.ts +23 -0
  13. package/dist/adapters/browser/browser-runner.js +46 -0
  14. package/dist/adapters/browser/index.d.ts +9 -0
  15. package/dist/adapters/browser/index.js +9 -0
  16. package/dist/adapters/docker/index.d.ts +2 -0
  17. package/dist/adapters/docker/index.js +2 -0
  18. package/dist/adapters/docker/openclaw-bridge.d.ts +57 -0
  19. package/dist/adapters/docker/openclaw-bridge.js +173 -0
  20. package/dist/adapters/drupal/index.d.ts +1 -0
  21. package/dist/adapters/drupal/index.js +2 -0
  22. package/dist/adapters/drupal/twig-renderer.d.ts +23 -0
  23. package/dist/adapters/drupal/twig-renderer.js +99 -0
  24. package/dist/adapters/gitlab/agent-generator.js +2 -1
  25. package/dist/api/index.js +2 -1
  26. package/dist/api/routes/mcp.router.js +3 -1
  27. package/dist/api/routes/wizard.router.js +3 -1
  28. package/dist/cli/commands/agent/discover-type.command.js +1 -1
  29. package/dist/cli/commands/agent-card.command.js +37 -10
  30. package/dist/cli/commands/agents-sync.command.d.ts +2 -2
  31. package/dist/cli/commands/agents-sync.command.js +27 -17
  32. package/dist/cli/commands/catalog/config.js +1 -1
  33. package/dist/cli/commands/catalog/validate.command.js +2 -2
  34. package/dist/cli/commands/config.command.js +2 -2
  35. package/dist/cli/commands/daemon.command.js +32 -8
  36. package/dist/cli/commands/discover.d.ts +1 -1
  37. package/dist/cli/commands/discover.js +16 -8
  38. package/dist/cli/commands/economics.command.d.ts +9 -0
  39. package/dist/cli/commands/economics.command.js +113 -0
  40. package/dist/cli/commands/export.command.js +6 -3
  41. package/dist/cli/commands/mcp.command.js +3 -1
  42. package/dist/cli/commands/memory.command.d.ts +18 -0
  43. package/dist/cli/commands/memory.command.js +168 -0
  44. package/dist/cli/commands/publish.command.js +7 -4
  45. package/dist/cli/commands/serve-builder-routes.js +1 -1
  46. package/dist/cli/commands/usie-skills.command.d.ts +24 -0
  47. package/dist/cli/commands/usie-skills.command.js +297 -0
  48. package/dist/cli/commands/validate.command.js +8 -1
  49. package/dist/cli/commands/verify.d.ts +3 -3
  50. package/dist/cli/commands/verify.js +12 -6
  51. package/dist/cli/commands/workspace.command.d.ts +1 -0
  52. package/dist/cli/commands/workspace.command.js +28 -4
  53. package/dist/cli/index.js +12 -0
  54. package/dist/cli/workspace-validate.d.ts +23 -0
  55. package/dist/cli/workspace-validate.js +117 -0
  56. package/dist/data/platform-matrix.js +1 -4
  57. package/dist/generated/types.d.ts +97 -97
  58. package/dist/index.d.ts +2 -0
  59. package/dist/index.js +2 -0
  60. package/dist/mcp-server/index.js +658 -982
  61. package/dist/mesh/discovery-gkg.d.ts +26 -0
  62. package/dist/mesh/discovery-gkg.js +92 -0
  63. package/dist/messenger/Handler/AgentBatchHandler.js +3 -2
  64. package/dist/messenger/Handler/AgentExecutionHandler.js +6 -1
  65. package/dist/package.json +20 -4
  66. package/dist/sdks/shared/types.d.ts +1 -1
  67. package/dist/services/agent-card-generator.js +6 -2
  68. package/dist/services/daemon/audit-log.service.js +3 -1
  69. package/dist/services/daemon/execution.service.js +8 -4
  70. package/dist/services/daemon/fs-watcher.service.js +6 -7
  71. package/dist/services/daemon/pairing.service.js +2 -1
  72. package/dist/services/daemon/skill-aggregator.service.js +105 -21
  73. package/dist/services/daemon/sse-endpoints.js +1 -1
  74. package/dist/services/daemon/ws-server.js +10 -3
  75. package/dist/services/governance/cedar-provider.js +12 -8
  76. package/dist/services/governance/cedar-validator.service.js +1 -1
  77. package/dist/services/mcp/bridge.service.js +40 -9
  78. package/dist/services/openapi-extensions-validation.d.ts +20 -0
  79. package/dist/services/openapi-extensions-validation.js +193 -0
  80. package/dist/services/release-automation/merge-request.service.d.ts +4 -4
  81. package/dist/services/release-automation/release-buttons.js +3 -3
  82. package/dist/services/release-automation/schemas/release.schema.d.ts +3 -3
  83. package/dist/services/runtime/openai.adapter.d.ts +46 -13
  84. package/dist/services/runtime/openai.adapter.js +169 -131
  85. package/dist/services/skill-registry.service.d.ts +1 -1
  86. package/dist/services/skills-pipeline/skills-research.service.js +47 -7
  87. package/dist/services/trust/trust.service.js +6 -4
  88. package/dist/services/validation-zod.service.js +3 -22
  89. package/dist/services/validators/index.d.ts +1 -0
  90. package/dist/services/validators/index.js +1 -0
  91. package/dist/services/validators/registry.d.ts +21 -0
  92. package/dist/services/validators/registry.js +42 -0
  93. package/dist/skills/test-skill/package.json +1 -1
  94. package/dist/spec/extensions/cognition.schema.json +87 -0
  95. package/dist/spec/layer4-economics/duadp-examples.json +44 -0
  96. package/dist/spec/v0.4/agent.schema.json +14 -0
  97. package/dist/spec/v0.5/agent-builder-openapi.yaml +230 -0
  98. package/dist/spec/v0.5/agent.schema.json +32 -1
  99. package/dist/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
  100. package/dist/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
  101. package/dist/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
  102. package/dist/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
  103. package/dist/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
  104. package/dist/spec/v0.5/extensions/mcp/README.md +1 -1
  105. package/dist/spec/v0.5/memory-hierarchy.yaml +120 -0
  106. package/dist/spec/v1/agent-card.schema.json +254 -0
  107. package/dist/types/cognition.zod.d.ts +312 -0
  108. package/dist/types/cognition.zod.js +223 -0
  109. package/dist/types/identity.zod.d.ts +5 -5
  110. package/dist/types/index.d.ts +53 -7
  111. package/dist/types/index.js +4 -2
  112. package/dist/types/personality.zod.d.ts +3 -3
  113. package/dist/utils/http-client.d.ts +22 -0
  114. package/dist/utils/http-client.js +51 -0
  115. package/dist/utils/index.d.ts +3 -0
  116. package/dist/utils/index.js +3 -0
  117. package/dist/utils/proxy-resolver.d.ts +36 -0
  118. package/dist/utils/proxy-resolver.js +59 -0
  119. package/dist/utils/user-agent.d.ts +11 -0
  120. package/dist/utils/user-agent.js +17 -0
  121. package/dist/validation/version-compliance.js +1 -1
  122. package/examples/agentscope/react-assistant/README.md +1 -1
  123. package/examples/agentscope/react-assistant/agent.ossa.yaml +1 -1
  124. package/examples/drupal/drupal-contributor-agent/.eslintrc.json +58 -0
  125. package/examples/drupal/drupal-contributor-agent/.prettierrc.json +10 -0
  126. package/examples/drupal/drupal-contributor-agent/package.json +55 -0
  127. package/examples/drupal/drupal-contributor-agent/src/core/index.ts +10 -0
  128. package/examples/drupal/drupal-contributor-agent/src/index.ts +17 -0
  129. package/examples/drupal/drupal-contributor-agent/src/types/index.ts +180 -0
  130. package/examples/drupal/drupal-contributor-agent/tsconfig.json +36 -0
  131. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  132. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  133. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  134. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  135. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  136. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  137. package/examples/reference-implementations/python-client/examples/basic_usage.py +0 -0
  138. package/examples/reference-implementations/python-client/examples/publish_agent.py +0 -0
  139. package/openapi/agent-cognition-sessions.yaml +580 -0
  140. package/openapi/agent-crud.yaml +20 -20
  141. package/openapi/core/ossa-registry-api.openapi.yaml +1 -1
  142. package/openapi/ossa-cli-enhancements.openapi.yaml +1 -1
  143. package/openapi/release-automation.openapi.yaml +1 -1
  144. package/openapi/schemas/common/economics.yaml +98 -0
  145. package/openapi/uadp-asyncapi.yaml +1 -1
  146. package/openapi/uadp-openapi.yaml +2 -2
  147. package/package.json +114 -96
  148. package/spec/extensions/cognition.schema.json +87 -0
  149. package/spec/layer4-economics/duadp-examples.json +44 -0
  150. package/spec/v0.4/agent.schema.json +14 -0
  151. package/spec/v0.5/agent-builder-openapi.yaml +230 -0
  152. package/spec/v0.5/agent.schema.json +32 -1
  153. package/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
  154. package/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
  155. package/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
  156. package/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
  157. package/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
  158. package/spec/v0.5/extensions/mcp/README.md +1 -1
  159. package/spec/v0.5/memory-hierarchy.yaml +120 -0
  160. package/spec/v1/agent-card.schema.json +254 -0
  161. package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts +0 -5
  162. package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +0 -268
  163. package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts +0 -5
  164. package/dist/adapters/a2a/__tests__/mcp-transport.spec.js +0 -203
  165. package/dist/mcp-server/__tests__/mcp-server.spec.d.ts +0 -8
  166. package/dist/mcp-server/__tests__/mcp-server.spec.js +0 -566
  167. package/dist/validation/__tests__/error-codes.test.d.ts +0 -5
  168. package/dist/validation/__tests__/error-codes.test.js +0 -252
  169. package/dist/version-management/core/version-manager.test.d.ts +0 -2
  170. package/dist/version-management/core/version-manager.test.js +0 -210
@@ -55,7 +55,12 @@ let McpBridgeService = class McpBridgeService {
55
55
  if (!fs.existsSync(registryDir)) {
56
56
  fs.mkdirSync(registryDir, { recursive: true });
57
57
  }
58
- fs.writeFileSync(registryPath, yaml.dump({ generatedBy: 'ossa-mcp-bridge', apiVersion: getApiVersion(), updatedAt: new Date().toISOString(), servers }, { lineWidth: 120 }), 'utf8');
58
+ fs.writeFileSync(registryPath, yaml.dump({
59
+ generatedBy: 'ossa-mcp-bridge',
60
+ apiVersion: getApiVersion(),
61
+ updatedAt: new Date().toISOString(),
62
+ servers,
63
+ }, { lineWidth: 120 }), 'utf8');
59
64
  return registryPath;
60
65
  }
61
66
  saveToolManifest(workspaceDir, server) {
@@ -93,7 +98,11 @@ let McpBridgeService = class McpBridgeService {
93
98
  async discoverToolsViaSDK(command, args) {
94
99
  let client;
95
100
  try {
96
- const transport = new StdioClientTransport({ command, args, env: process.env });
101
+ const transport = new StdioClientTransport({
102
+ command,
103
+ args,
104
+ env: process.env,
105
+ });
97
106
  client = new Client({ name: 'ossa-mcp-bridge', version: '1.0.0' }, { capabilities: {} });
98
107
  await client.connect(transport);
99
108
  const { tools } = await client.listTools();
@@ -108,7 +117,9 @@ let McpBridgeService = class McpBridgeService {
108
117
  try {
109
118
  await client.close();
110
119
  }
111
- catch { /* swallow */ }
120
+ catch {
121
+ /* swallow */
122
+ }
112
123
  }
113
124
  }
114
125
  }
@@ -123,7 +134,8 @@ let McpBridgeService = class McpBridgeService {
123
134
  command: cfg.command,
124
135
  args: cfg.args,
125
136
  url: cfg.url,
126
- transport: cfg.transport ?? (cfg.command ? 'stdio' : 'sse'),
137
+ transport: cfg.transport ??
138
+ (cfg.command ? 'stdio' : 'sse'),
127
139
  }));
128
140
  }
129
141
  /**
@@ -159,7 +171,14 @@ let McpBridgeService = class McpBridgeService {
159
171
  for (const entry of newEntries) {
160
172
  this.saveToolManifest(dir, entry);
161
173
  }
162
- return { action: 'sync', source, serversFound: parsed.length, serversImported: newEntries.length, registryPath, servers: newEntries };
174
+ return {
175
+ action: 'sync',
176
+ source,
177
+ serversFound: parsed.length,
178
+ serversImported: newEntries.length,
179
+ registryPath,
180
+ servers: newEntries,
181
+ };
163
182
  }
164
183
  async list(workspaceDir) {
165
184
  const dir = path.resolve(workspaceDir);
@@ -175,13 +194,25 @@ let McpBridgeService = class McpBridgeService {
175
194
  const [serverName, method] = toolName.split('/');
176
195
  const server = servers.find((s) => s.name === serverName);
177
196
  if (!server) {
178
- return { allowed: false, reason: `"${serverName}" not in OSSA bridge registry. Run: ossa mcp bridge sync <source>` };
197
+ return {
198
+ allowed: false,
199
+ reason: `"${serverName}" not in OSSA bridge registry. Run: ossa mcp bridge sync <source>`,
200
+ };
179
201
  }
180
202
  // Verify the specific tool name if we have a tool list from SDK discovery
181
- if (server.tools && server.tools.length > 0 && method && !server.tools.includes(method)) {
182
- return { allowed: false, reason: `Tool "${method}" not found on server "${serverName}". Known tools: ${server.tools.join(', ')}` };
203
+ if (server.tools &&
204
+ server.tools.length > 0 &&
205
+ method &&
206
+ !server.tools.includes(method)) {
207
+ return {
208
+ allowed: false,
209
+ reason: `Tool "${method}" not found on server "${serverName}". Known tools: ${server.tools.join(', ')}`,
210
+ };
183
211
  }
184
- return { allowed: true, reason: `Agent "${agentId}" is authorized to call "${toolName}" via OSSA bridge.` };
212
+ return {
213
+ allowed: true,
214
+ reason: `Agent "${agentId}" is authorized to call "${toolName}" via OSSA bridge.`,
215
+ };
185
216
  }
186
217
  };
187
218
  McpBridgeService = __decorate([
@@ -0,0 +1,20 @@
1
+ import { type ErrorObject } from 'ajv';
2
+ export interface OpenApiExtensionsValidationWarning {
3
+ path: string;
4
+ message: string;
5
+ }
6
+ export interface OpenApiExtensionsSummary {
7
+ hasMetadata: boolean;
8
+ hasOssa: boolean;
9
+ hasAgent: boolean;
10
+ operationExtensions: number;
11
+ capabilitySchemaExtensions: number;
12
+ }
13
+ export interface OpenApiExtensionsValidationDetails {
14
+ valid: boolean;
15
+ errors: ErrorObject[];
16
+ warnings: OpenApiExtensionsValidationWarning[];
17
+ ossaExtensions: OpenApiExtensionsSummary;
18
+ }
19
+ export declare function validateOpenApiExtensionsDocument(openapiSpec: unknown): OpenApiExtensionsValidationDetails;
20
+ //# sourceMappingURL=openapi-extensions-validation.d.ts.map
@@ -0,0 +1,193 @@
1
+ import Ajv from 'ajv';
2
+ import addFormats from 'ajv-formats';
3
+ import { existsSync, readFileSync } from 'node:fs';
4
+ import { dirname, resolve } from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ const currentFilePath = fileURLToPath(import.meta.url);
7
+ const currentDir = dirname(currentFilePath);
8
+ const SCHEMA_PATHS = [
9
+ resolve(currentDir, '../../spec/extensions/openapi/ossa-openapi-extensions.schema.json'),
10
+ resolve(currentDir, '../spec/extensions/openapi/ossa-openapi-extensions.schema.json'),
11
+ ];
12
+ let cachedValidator;
13
+ function getSchemaPath() {
14
+ const schemaPath = SCHEMA_PATHS.find((candidate) => existsSync(candidate));
15
+ if (!schemaPath) {
16
+ throw new Error(`OSSA OpenAPI extensions schema not found. Checked: ${SCHEMA_PATHS.join(', ')}`);
17
+ }
18
+ return schemaPath;
19
+ }
20
+ function getValidator() {
21
+ if (cachedValidator) {
22
+ return cachedValidator;
23
+ }
24
+ const schema = JSON.parse(readFileSync(getSchemaPath(), 'utf-8'));
25
+ const ajv = new Ajv({
26
+ allErrors: true,
27
+ strict: false,
28
+ validateFormats: true,
29
+ verbose: true,
30
+ });
31
+ addFormats(ajv);
32
+ cachedValidator = ajv.compile(schema);
33
+ return cachedValidator;
34
+ }
35
+ function countOperationExtensions(doc) {
36
+ let count = 0;
37
+ const paths = doc.paths;
38
+ if (!paths) {
39
+ return count;
40
+ }
41
+ const methods = [
42
+ 'get',
43
+ 'put',
44
+ 'post',
45
+ 'delete',
46
+ 'options',
47
+ 'head',
48
+ 'patch',
49
+ 'trace',
50
+ ];
51
+ for (const pathItem of Object.values(paths)) {
52
+ for (const method of methods) {
53
+ const operation = pathItem[method];
54
+ if (!operation) {
55
+ continue;
56
+ }
57
+ if (operation['x-ossa-capability'])
58
+ count++;
59
+ if (operation['x-ossa-autonomy'])
60
+ count++;
61
+ if (operation['x-ossa-constraints'])
62
+ count++;
63
+ if (operation['x-ossa-tools'])
64
+ count++;
65
+ if (operation['x-ossa-llm'])
66
+ count++;
67
+ }
68
+ }
69
+ return count;
70
+ }
71
+ function countCapabilitySchemaExtensions(doc) {
72
+ const components = doc.components;
73
+ if (!components?.schemas) {
74
+ return 0;
75
+ }
76
+ return Object.values(components.schemas).filter((schema) => schema &&
77
+ typeof schema === 'object' &&
78
+ 'x-ossa-capability-schema' in schema).length;
79
+ }
80
+ function generateWarnings(doc) {
81
+ const warnings = [];
82
+ if (!doc['x-ossa-metadata']) {
83
+ warnings.push({
84
+ path: '/',
85
+ message: 'Missing x-ossa-metadata extension. Consider adding OSSA metadata for compliance tracking.',
86
+ });
87
+ }
88
+ else {
89
+ const metadata = doc['x-ossa-metadata'];
90
+ if (!metadata.compliance) {
91
+ warnings.push({
92
+ path: '/x-ossa-metadata',
93
+ message: 'Missing compliance configuration. Consider adding compliance level and frameworks.',
94
+ });
95
+ }
96
+ if (!metadata.observability) {
97
+ warnings.push({
98
+ path: '/x-ossa-metadata',
99
+ message: 'Missing observability configuration. Consider enabling tracing, metrics, and logging.',
100
+ });
101
+ }
102
+ }
103
+ if (!doc['x-ossa']) {
104
+ warnings.push({
105
+ path: '/',
106
+ message: 'Missing x-ossa extension. Agent identification is recommended for OSSA compliance.',
107
+ });
108
+ }
109
+ const paths = doc.paths;
110
+ if (!paths) {
111
+ return warnings;
112
+ }
113
+ const methods = [
114
+ 'get',
115
+ 'put',
116
+ 'post',
117
+ 'delete',
118
+ 'options',
119
+ 'head',
120
+ 'patch',
121
+ 'trace',
122
+ ];
123
+ for (const [pathKey, pathItem] of Object.entries(paths)) {
124
+ for (const method of methods) {
125
+ const operation = pathItem[method];
126
+ if (!operation || !operation.operationId) {
127
+ continue;
128
+ }
129
+ if (!operation['x-ossa-capability']) {
130
+ warnings.push({
131
+ path: `/paths${pathKey}/${method}`,
132
+ message: `Operation ${operation.operationId} missing x-ossa-capability. Consider linking to an agent capability.`,
133
+ });
134
+ }
135
+ if (['post', 'put', 'patch', 'delete'].includes(method) &&
136
+ !operation['x-ossa-autonomy']) {
137
+ warnings.push({
138
+ path: `/paths${pathKey}/${method}`,
139
+ message: `Write operation ${operation.operationId} missing x-ossa-autonomy. Consider defining autonomy level.`,
140
+ });
141
+ }
142
+ }
143
+ }
144
+ return warnings;
145
+ }
146
+ export function validateOpenApiExtensionsDocument(openapiSpec) {
147
+ if (!openapiSpec || typeof openapiSpec !== 'object') {
148
+ return {
149
+ valid: false,
150
+ errors: [
151
+ {
152
+ instancePath: '',
153
+ schemaPath: '',
154
+ keyword: 'type',
155
+ params: { type: 'object' },
156
+ message: 'OpenAPI spec must be an object',
157
+ },
158
+ ],
159
+ warnings: [],
160
+ ossaExtensions: {
161
+ hasMetadata: false,
162
+ hasOssa: false,
163
+ hasAgent: false,
164
+ operationExtensions: 0,
165
+ capabilitySchemaExtensions: 0,
166
+ },
167
+ };
168
+ }
169
+ const doc = openapiSpec;
170
+ const validate = getValidator();
171
+ const valid = validate(doc);
172
+ return {
173
+ valid,
174
+ errors: valid
175
+ ? []
176
+ : (validate.errors || []).map((error) => ({
177
+ instancePath: error.instancePath || '',
178
+ schemaPath: error.schemaPath || '',
179
+ keyword: error.keyword || 'validation',
180
+ params: error.params || {},
181
+ message: error.message || 'Validation error',
182
+ })),
183
+ warnings: generateWarnings(doc),
184
+ ossaExtensions: {
185
+ hasMetadata: !!doc['x-ossa-metadata'],
186
+ hasOssa: !!doc['x-ossa'],
187
+ hasAgent: !!doc['x-agent'],
188
+ operationExtensions: countOperationExtensions(doc),
189
+ capabilitySchemaExtensions: countCapabilitySchemaExtensions(doc),
190
+ },
191
+ };
192
+ }
193
+ //# sourceMappingURL=openapi-extensions-validation.js.map
@@ -10,10 +10,10 @@ import { z } from 'zod';
10
10
  */
11
11
  declare const MergeRequestFilterSchema: z.ZodObject<{
12
12
  state: z.ZodOptional<z.ZodEnum<{
13
+ locked: "locked";
13
14
  closed: "closed";
14
15
  opened: "opened";
15
16
  merged: "merged";
16
- locked: "locked";
17
17
  }>>;
18
18
  page: z.ZodDefault<z.ZodNumber>;
19
19
  perPage: z.ZodDefault<z.ZodNumber>;
@@ -35,19 +35,19 @@ export declare class MergeRequestService extends BaseCrudService<MergeRequest, C
35
35
  title: z.ZodOptional<z.ZodString>;
36
36
  description: z.ZodOptional<z.ZodString>;
37
37
  state: z.ZodOptional<z.ZodEnum<{
38
+ locked: "locked";
38
39
  closed: "closed";
39
40
  opened: "opened";
40
41
  merged: "merged";
41
- locked: "locked";
42
42
  }>>;
43
43
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
44
  }, z.core.$strip>;
45
45
  protected filterSchema: z.ZodObject<{
46
46
  state: z.ZodOptional<z.ZodEnum<{
47
+ locked: "locked";
47
48
  closed: "closed";
48
49
  opened: "opened";
49
50
  merged: "merged";
50
- locked: "locked";
51
51
  }>>;
52
52
  page: z.ZodDefault<z.ZodNumber>;
53
53
  perPage: z.ZodDefault<z.ZodNumber>;
@@ -59,10 +59,10 @@ export declare class MergeRequestService extends BaseCrudService<MergeRequest, C
59
59
  sourceBranch: z.ZodString;
60
60
  targetBranch: z.ZodString;
61
61
  state: z.ZodEnum<{
62
+ locked: "locked";
62
63
  closed: "closed";
63
64
  opened: "opened";
64
65
  merged: "merged";
65
- locked: "locked";
66
66
  }>;
67
67
  mergeStatus: z.ZodOptional<z.ZodEnum<{
68
68
  can_be_merged: "can_be_merged";
@@ -89,10 +89,10 @@ async function releaseToGitHub() {
89
89
  execSync(`gh release create ${tag} \
90
90
  --title "Release ${version}" \
91
91
  --notes "${releaseNotes}" \
92
- --repo blueflyio/openstandardagents`, { stdio: 'inherit' });
92
+ --repo $(CI_PROJECT_PATH)`, { stdio: 'inherit' });
93
93
  // 2. Upload artifacts
94
94
  execSync(`gh release upload ${tag} dist/*.tgz \
95
- --repo blueflyio/openstandardagents`, { stdio: 'inherit' });
95
+ --repo $(CI_PROJECT_PATH)`, { stdio: 'inherit' });
96
96
  console.log('✅ GitHub release successful');
97
97
  }
98
98
  async function deployWebsite() {
@@ -131,7 +131,7 @@ npm install openstandardagents@${version}
131
131
 
132
132
  ### 🔗 Links
133
133
  - [npm Package](https://www.npmjs.com/package/openstandardagents/v/${version})
134
- - [GitHub Release](https://github.com/blueflyio/openstandardagents/releases/tag/v${version})
134
+ - [GitHub Release](https://github.com/$(CI_PROJECT_PATH)/releases/tag/v${version})
135
135
  - [Documentation](https://openstandardagents.org/docs)
136
136
  - [Changelog](https://openstandardagents.org/docs/changelog)
137
137
 
@@ -32,10 +32,10 @@ export declare const MilestoneStateSchema: z.ZodEnum<{
32
32
  * Merge Request State
33
33
  */
34
34
  export declare const MergeRequestStateSchema: z.ZodEnum<{
35
+ locked: "locked";
35
36
  closed: "closed";
36
37
  opened: "opened";
37
38
  merged: "merged";
38
- locked: "locked";
39
39
  }>;
40
40
  /**
41
41
  * Merge Status
@@ -173,10 +173,10 @@ export declare const MergeRequestSchema: z.ZodObject<{
173
173
  sourceBranch: z.ZodString;
174
174
  targetBranch: z.ZodString;
175
175
  state: z.ZodEnum<{
176
+ locked: "locked";
176
177
  closed: "closed";
177
178
  opened: "opened";
178
179
  merged: "merged";
179
- locked: "locked";
180
180
  }>;
181
181
  mergeStatus: z.ZodOptional<z.ZodEnum<{
182
182
  can_be_merged: "can_be_merged";
@@ -211,10 +211,10 @@ export declare const UpdateMergeRequestRequestSchema: z.ZodObject<{
211
211
  title: z.ZodOptional<z.ZodString>;
212
212
  description: z.ZodOptional<z.ZodString>;
213
213
  state: z.ZodOptional<z.ZodEnum<{
214
+ locked: "locked";
214
215
  closed: "closed";
215
216
  opened: "opened";
216
217
  merged: "merged";
217
- locked: "locked";
218
218
  }>>;
219
219
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
220
220
  }, z.core.$strip>;
@@ -25,7 +25,35 @@ export interface OssaManifest {
25
25
  config?: Record<string, unknown>;
26
26
  }>;
27
27
  };
28
+ economics?: {
29
+ execution_profile?: string;
30
+ token_class?: string;
31
+ compression_policy?: string;
32
+ token_sovereignty?: {
33
+ tokenization_boundary?: 'local' | 'provider' | 'hybrid';
34
+ context_retention?: string;
35
+ sovereign_embeddings?: boolean;
36
+ };
37
+ };
38
+ security?: {
39
+ tier?: string;
40
+ };
28
41
  extensions?: {
42
+ statemesh?: {
43
+ emits?: Array<{
44
+ schema: string;
45
+ ttl?: string;
46
+ projections_supported?: string[];
47
+ }>;
48
+ consumes?: Array<{
49
+ schema: string;
50
+ required_attestation?: boolean;
51
+ }>;
52
+ authority?: {
53
+ can_challenge?: string[];
54
+ can_merge?: boolean;
55
+ };
56
+ };
29
57
  openai_agents?: {
30
58
  model?: string;
31
59
  instructions?: string;
@@ -46,42 +74,47 @@ export interface ToolDefinition {
46
74
  name: string;
47
75
  description: string;
48
76
  parameters: Record<string, unknown>;
49
- handler?: (args: Record<string, unknown>) => Promise<string>;
77
+ handler?: (args: any) => Promise<string>;
50
78
  }
51
79
  export declare class OpenAIAdapter {
52
- private client;
53
80
  private manifest;
54
81
  private tools;
55
82
  private messages;
83
+ private apiKey?;
56
84
  constructor(manifest: OssaManifest, apiKey?: string);
57
85
  /**
58
86
  * Get the model to use from manifest
59
87
  */
60
- private getModel;
88
+ private getModelName;
61
89
  /**
62
90
  * Get system prompt from manifest
63
91
  */
64
92
  private getSystemPrompt;
65
- /**
66
- * Convert OSSA tools to OpenAI function calling format
67
- */
68
- private getOpenAITools;
69
93
  /**
70
94
  * Register a tool handler
71
95
  */
72
- registerToolHandler(name: string, handler: (args: Record<string, unknown>) => Promise<string>): void;
73
- /**
74
- * Execute a tool call
75
- */
76
- private executeTool;
96
+ registerToolHandler(name: string, handler: (args: any) => Promise<string>): void;
77
97
  /**
78
98
  * Initialize the conversation
79
99
  */
80
100
  initialize(): void;
81
101
  /**
82
- * Send a message and get a response
102
+ * Send a message and get a response using AI SDK ToolLoopAgent.
103
+ * Publishes StateClaims and ReplayPackets to ContractPlane.
83
104
  */
84
105
  chat(userMessage: string, options?: RunOptions): Promise<string>;
106
+ /**
107
+ * Resolves context packs via the State Plane.
108
+ */
109
+ private resolveContextPacks;
110
+ /**
111
+ * Publish a Replay Packet to ContractPlane.
112
+ */
113
+ private publishReplayPacket;
114
+ /**
115
+ * Publish a claim to the ContractPlane State Plane API
116
+ */
117
+ private publishStateClaim;
85
118
  /**
86
119
  * Get agent info
87
120
  */