aimeat 1.7.0 → 1.9.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/.env.example +4 -1
- package/dist/locales/en.json +573 -10
- package/dist/locales/fi.json +572 -9
- package/dist/public/css/views/admin-agent-integration.css +304 -0
- package/dist/public/css/views/agents-detail.css +1697 -120
- package/dist/public/css/views/profile.css +22 -2
- package/dist/public/css/views/public-knowledge-viewer.css +479 -0
- package/dist/public/js/i18n.js +9 -3
- package/dist/public/js/services/admin-agent-integration.js +52 -0
- package/dist/public/js/services/agent-integration.js +80 -0
- package/dist/public/js/services/agent-messages.js +3 -1
- package/dist/public/js/services/generator-spec-validate.js +23 -0
- package/dist/public/js/services/memory.js +39 -0
- package/dist/public/lib/live-updates.js +9 -4
- package/dist/public/llms-template.txt +106 -0
- package/dist/public/spa.html +7 -2
- package/dist/public/views/admin/agent-integration-tab.js +390 -0
- package/dist/public/views/admin/federation-tab.js +5 -5
- package/dist/public/views/admin/prompts-tab.js +9 -10
- package/dist/public/views/admin.js +2 -0
- package/dist/public/views/profile/access-tab.js +18 -0
- package/dist/public/views/profile/agents/agent-card.js +396 -0
- package/dist/public/views/profile/agents/shared-board.js +97 -0
- package/dist/public/views/profile/agents/state-detector.js +62 -0
- package/dist/public/views/profile/agents/tab-activity.js +232 -0
- package/dist/public/views/profile/agents/tab-agent-config.js +199 -0
- package/dist/public/views/profile/agents/tab-data-access.js +304 -0
- package/dist/public/views/profile/agents/tab-directives.js +178 -0
- package/dist/public/views/profile/agents/tab-integration.js +505 -0
- package/dist/public/views/profile/agents/tab-messages.js +278 -0
- package/dist/public/views/profile/agents/tab-services.js +17 -0
- package/dist/public/views/profile/agents/tab-tasks.js +17 -0
- package/dist/public/views/profile/agents-messages-subtab.js +12 -10
- package/dist/public/views/profile/agents-services-subtab.js +17 -11
- package/dist/public/views/profile/agents-tab.js +159 -255
- package/dist/public/views/profile/agents-task-builder.js +403 -0
- package/dist/public/views/profile/agents-tasks-subtab.js +186 -140
- package/dist/public/views/profile/generator-detail.js +8 -1
- package/dist/public/views/profile/memory-tab.js +371 -7
- package/dist/public/views/profile/wallet-tab.js +14 -0
- package/dist/public/views/public-knowledge-viewer.js +650 -0
- package/dist/src/auth/middleware.d.ts.map +1 -1
- package/dist/src/auth/middleware.js +17 -0
- package/dist/src/auth/middleware.js.map +1 -1
- package/dist/src/config.d.ts +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +1 -0
- package/dist/src/config.js.map +1 -1
- package/dist/src/middleware/readiness-gate.d.ts +18 -0
- package/dist/src/middleware/readiness-gate.d.ts.map +1 -0
- package/dist/src/middleware/readiness-gate.js +50 -0
- package/dist/src/middleware/readiness-gate.js.map +1 -0
- package/dist/src/models/agent-capabilities-schemas.d.ts +3 -0
- package/dist/src/models/agent-capabilities-schemas.d.ts.map +1 -1
- package/dist/src/models/agent-capabilities-schemas.js +3 -0
- package/dist/src/models/agent-capabilities-schemas.js.map +1 -1
- package/dist/src/models/agent-directives-schemas.d.ts +12 -0
- package/dist/src/models/agent-directives-schemas.d.ts.map +1 -1
- package/dist/src/models/agent-directives-schemas.js +7 -0
- package/dist/src/models/agent-directives-schemas.js.map +1 -1
- package/dist/src/models/agent-onboarding-schemas.d.ts +45 -0
- package/dist/src/models/agent-onboarding-schemas.d.ts.map +1 -0
- package/dist/src/models/agent-onboarding-schemas.js +91 -0
- package/dist/src/models/agent-onboarding-schemas.js.map +1 -0
- package/dist/src/models/webhook-schemas.d.ts +266 -0
- package/dist/src/models/webhook-schemas.d.ts.map +1 -0
- package/dist/src/models/webhook-schemas.js +137 -0
- package/dist/src/models/webhook-schemas.js.map +1 -0
- package/dist/src/routes/admin-agent-integration.d.ts +24 -0
- package/dist/src/routes/admin-agent-integration.d.ts.map +1 -0
- package/dist/src/routes/admin-agent-integration.js +186 -0
- package/dist/src/routes/admin-agent-integration.js.map +1 -0
- package/dist/src/routes/admin-monitoring.js +12 -7
- package/dist/src/routes/admin-monitoring.js.map +1 -1
- package/dist/src/routes/agent-activity.d.ts.map +1 -1
- package/dist/src/routes/agent-activity.js +17 -0
- package/dist/src/routes/agent-activity.js.map +1 -1
- package/dist/src/routes/agent-capabilities.d.ts +1 -0
- package/dist/src/routes/agent-capabilities.d.ts.map +1 -1
- package/dist/src/routes/agent-capabilities.js +9 -0
- package/dist/src/routes/agent-capabilities.js.map +1 -1
- package/dist/src/routes/agent-directives.d.ts +5 -1
- package/dist/src/routes/agent-directives.d.ts.map +1 -1
- package/dist/src/routes/agent-directives.js +74 -20
- package/dist/src/routes/agent-directives.js.map +1 -1
- package/dist/src/routes/agent-integration.d.ts +1 -0
- package/dist/src/routes/agent-integration.d.ts.map +1 -1
- package/dist/src/routes/agent-integration.js +128 -11
- package/dist/src/routes/agent-integration.js.map +1 -1
- package/dist/src/routes/agent-messages.d.ts +5 -1
- package/dist/src/routes/agent-messages.d.ts.map +1 -1
- package/dist/src/routes/agent-messages.js +20 -1
- package/dist/src/routes/agent-messages.js.map +1 -1
- package/dist/src/routes/agent-onboarding.d.ts +23 -0
- package/dist/src/routes/agent-onboarding.d.ts.map +1 -0
- package/dist/src/routes/agent-onboarding.js +374 -0
- package/dist/src/routes/agent-onboarding.js.map +1 -0
- package/dist/src/routes/agent-skill-bundle.d.ts +16 -0
- package/dist/src/routes/agent-skill-bundle.d.ts.map +1 -0
- package/dist/src/routes/agent-skill-bundle.js +133 -0
- package/dist/src/routes/agent-skill-bundle.js.map +1 -0
- package/dist/src/routes/agent-tasks.d.ts +8 -1
- package/dist/src/routes/agent-tasks.d.ts.map +1 -1
- package/dist/src/routes/agent-tasks.js +192 -14
- package/dist/src/routes/agent-tasks.js.map +1 -1
- package/dist/src/routes/agent-telemetry.d.ts +15 -0
- package/dist/src/routes/agent-telemetry.d.ts.map +1 -0
- package/dist/src/routes/agent-telemetry.js +99 -0
- package/dist/src/routes/agent-telemetry.js.map +1 -0
- package/dist/src/routes/agent-webhook.d.ts +18 -0
- package/dist/src/routes/agent-webhook.d.ts.map +1 -0
- package/dist/src/routes/agent-webhook.js +243 -0
- package/dist/src/routes/agent-webhook.js.map +1 -0
- package/dist/src/routes/agents.d.ts.map +1 -1
- package/dist/src/routes/agents.js +203 -4
- package/dist/src/routes/agents.js.map +1 -1
- package/dist/src/routes/auth.d.ts.map +1 -1
- package/dist/src/routes/auth.js +45 -2
- package/dist/src/routes/auth.js.map +1 -1
- package/dist/src/routes/federation-auth.d.ts.map +1 -1
- package/dist/src/routes/federation-auth.js +3 -1
- package/dist/src/routes/federation-auth.js.map +1 -1
- package/dist/src/routes/federation-peer.d.ts.map +1 -1
- package/dist/src/routes/federation-peer.js +11 -2
- package/dist/src/routes/federation-peer.js.map +1 -1
- package/dist/src/routes/federation-sync.d.ts +1 -0
- package/dist/src/routes/federation-sync.d.ts.map +1 -1
- package/dist/src/routes/federation-sync.js +29 -0
- package/dist/src/routes/federation-sync.js.map +1 -1
- package/dist/src/routes/ghii.d.ts.map +1 -1
- package/dist/src/routes/ghii.js +42 -5
- package/dist/src/routes/ghii.js.map +1 -1
- package/dist/src/routes/knowledge.d.ts.map +1 -1
- package/dist/src/routes/knowledge.js +19 -7
- package/dist/src/routes/knowledge.js.map +1 -1
- package/dist/src/routes/memory.d.ts +9 -0
- package/dist/src/routes/memory.d.ts.map +1 -1
- package/dist/src/routes/memory.js +307 -12
- package/dist/src/routes/memory.js.map +1 -1
- package/dist/src/routes/portal.d.ts.map +1 -1
- package/dist/src/routes/portal.js +1 -0
- package/dist/src/routes/portal.js.map +1 -1
- package/dist/src/routes/prompts.d.ts +1 -0
- package/dist/src/routes/prompts.d.ts.map +1 -1
- package/dist/src/routes/prompts.js +40 -1
- package/dist/src/routes/prompts.js.map +1 -1
- package/dist/src/routes/sharing-groups.d.ts.map +1 -1
- package/dist/src/routes/sharing-groups.js +8 -2
- package/dist/src/routes/sharing-groups.js.map +1 -1
- package/dist/src/routes/wallet.d.ts.map +1 -1
- package/dist/src/routes/wallet.js +2 -0
- package/dist/src/routes/wallet.js.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.js +47 -3
- package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
- package/dist/src/services/config-schema.d.ts.map +1 -1
- package/dist/src/services/config-schema.js +2 -1
- package/dist/src/services/config-schema.js.map +1 -1
- package/dist/src/services/core-jobs.d.ts.map +1 -1
- package/dist/src/services/core-jobs.js +3 -2
- package/dist/src/services/core-jobs.js.map +1 -1
- package/dist/src/services/federation-helpers.d.ts +1 -0
- package/dist/src/services/federation-helpers.d.ts.map +1 -1
- package/dist/src/services/federation-helpers.js +1 -1
- package/dist/src/services/federation-helpers.js.map +1 -1
- package/dist/src/services/generator-autopilot.d.ts.map +1 -1
- package/dist/src/services/generator-autopilot.js +125 -26
- package/dist/src/services/generator-autopilot.js.map +1 -1
- package/dist/src/services/generator-prompts/index.d.ts +1 -1
- package/dist/src/services/generator-prompts/index.d.ts.map +1 -1
- package/dist/src/services/generator-prompts/index.js +1 -1
- package/dist/src/services/generator-prompts/index.js.map +1 -1
- package/dist/src/services/generator-prompts/spec-validate.d.ts +1 -0
- package/dist/src/services/generator-prompts/spec-validate.d.ts.map +1 -1
- package/dist/src/services/generator-prompts/spec-validate.js +20 -0
- package/dist/src/services/generator-prompts/spec-validate.js.map +1 -1
- package/dist/src/services/generator-prompts/validate.d.ts +7 -1
- package/dist/src/services/generator-prompts/validate.d.ts.map +1 -1
- package/dist/src/services/generator-prompts/validate.js +70 -0
- package/dist/src/services/generator-prompts/validate.js.map +1 -1
- package/dist/src/services/onboarding-validator.d.ts +22 -0
- package/dist/src/services/onboarding-validator.d.ts.map +1 -0
- package/dist/src/services/onboarding-validator.js +202 -0
- package/dist/src/services/onboarding-validator.js.map +1 -0
- package/dist/src/services/platform-detector.d.ts +27 -0
- package/dist/src/services/platform-detector.d.ts.map +1 -0
- package/dist/src/services/platform-detector.js +73 -0
- package/dist/src/services/platform-detector.js.map +1 -0
- package/dist/src/services/prompt-defaults.d.ts +1 -0
- package/dist/src/services/prompt-defaults.d.ts.map +1 -1
- package/dist/src/services/prompt-defaults.js +875 -47
- package/dist/src/services/prompt-defaults.js.map +1 -1
- package/dist/src/services/prompt-seeder.js +1 -1
- package/dist/src/services/prompt-seeder.js.map +1 -1
- package/dist/src/services/readiness-scorer.d.ts +34 -0
- package/dist/src/services/readiness-scorer.d.ts.map +1 -0
- package/dist/src/services/readiness-scorer.js +87 -0
- package/dist/src/services/readiness-scorer.js.map +1 -0
- package/dist/src/services/skill-bundle/generator.d.ts +17 -0
- package/dist/src/services/skill-bundle/generator.d.ts.map +1 -0
- package/dist/src/services/skill-bundle/generator.js +387 -0
- package/dist/src/services/skill-bundle/generator.js.map +1 -0
- package/dist/src/services/skill-bundle/generic-adapter.d.ts +16 -0
- package/dist/src/services/skill-bundle/generic-adapter.d.ts.map +1 -0
- package/dist/src/services/skill-bundle/generic-adapter.js +96 -0
- package/dist/src/services/skill-bundle/generic-adapter.js.map +1 -0
- package/dist/src/services/skill-bundle/hermes-adapter.d.ts +25 -0
- package/dist/src/services/skill-bundle/hermes-adapter.d.ts.map +1 -0
- package/dist/src/services/skill-bundle/hermes-adapter.js +302 -0
- package/dist/src/services/skill-bundle/hermes-adapter.js.map +1 -0
- package/dist/src/services/skill-bundle/types.d.ts +54 -0
- package/dist/src/services/skill-bundle/types.d.ts.map +1 -0
- package/dist/src/services/skill-bundle/types.js +8 -0
- package/dist/src/services/skill-bundle/types.js.map +1 -0
- package/dist/src/services/task-stall-detector.d.ts +10 -2
- package/dist/src/services/task-stall-detector.d.ts.map +1 -1
- package/dist/src/services/task-stall-detector.js +34 -5
- package/dist/src/services/task-stall-detector.js.map +1 -1
- package/dist/src/services/webhook-dispatcher.d.ts +71 -0
- package/dist/src/services/webhook-dispatcher.d.ts.map +1 -0
- package/dist/src/services/webhook-dispatcher.js +259 -0
- package/dist/src/services/webhook-dispatcher.js.map +1 -0
- package/dist/src/storage/interface.d.ts +82 -2
- package/dist/src/storage/interface.d.ts.map +1 -1
- package/dist/src/storage/providers/mongodb/index.d.ts +20 -1
- package/dist/src/storage/providers/mongodb/index.d.ts.map +1 -1
- package/dist/src/storage/providers/mongodb/index.js +254 -3
- package/dist/src/storage/providers/mongodb/index.js.map +1 -1
- package/dist/src/storage/providers/sqlite/index.d.ts +18 -1
- package/dist/src/storage/providers/sqlite/index.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/index.js +173 -4
- package/dist/src/storage/providers/sqlite/index.js.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/agent-directives.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/agent-directives.js +8 -4
- package/dist/src/storage/providers/sqlite/repos/agent-directives.js.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/agent.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/repos/agent.js +25 -4
- package/dist/src/storage/providers/sqlite/repos/agent.js.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.d.ts.map +1 -1
- package/dist/src/storage/providers/sqlite/schema.js +73 -1
- package/dist/src/storage/providers/sqlite/schema.js.map +1 -1
- package/dist/src/storage/repositories/agent-onboarding.repository.d.ts +16 -0
- package/dist/src/storage/repositories/agent-onboarding.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/agent-onboarding.repository.js +8 -0
- package/dist/src/storage/repositories/agent-onboarding.repository.js.map +1 -0
- package/dist/src/storage/repositories/agent-webhook.repository.d.ts +21 -0
- package/dist/src/storage/repositories/agent-webhook.repository.d.ts.map +1 -0
- package/dist/src/storage/repositories/agent-webhook.repository.js +2 -0
- package/dist/src/storage/repositories/agent-webhook.repository.js.map +1 -0
- package/dist/src/storage/repositories/agent.repository.d.ts +1 -0
- package/dist/src/storage/repositories/agent.repository.d.ts.map +1 -1
- package/dist/src/storage/repositories/index.d.ts +2 -0
- package/dist/src/storage/repositories/index.d.ts.map +1 -1
- package/dist/src/utils/env-config.d.ts.map +1 -1
- package/dist/src/utils/env-config.js +7 -1
- package/dist/src/utils/env-config.js.map +1 -1
- package/dist/src/utils/url-validator.d.ts.map +1 -1
- package/dist/src/utils/url-validator.js +3 -0
- package/dist/src/utils/url-validator.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +67 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-defaults.js","sourceRoot":"","sources":["../../../src/services/prompt-defaults.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"prompt-defaults.js","sourceRoot":"","sources":["../../../src/services/prompt-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ export async function seedSystemPrompts(storage) {
|
|
|
49
49
|
// Always update generator and builder prompt content from seeds.
|
|
50
50
|
// These prompts are code — they must match the source code version.
|
|
51
51
|
// Admin edits are preserved in version history and can be restored.
|
|
52
|
-
const syncGroups = ['generator', 'builders'];
|
|
52
|
+
const syncGroups = ['generator', 'builders', 'tiers'];
|
|
53
53
|
if (syncGroups.includes(seed.group) && existing.content !== seed.content) {
|
|
54
54
|
metaUpdate.content = seed.content;
|
|
55
55
|
metaUpdate.updatedAt = new Date().toISOString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-seeder.js","sourceRoot":"","sources":["../../../src/services/prompt-seeder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IACtD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,kBAAkB;YAClB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,kBAAkB,CAAC;gBAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,yBAAyB,CAAC;gBACtC,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,oCAAoC;aACjD,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,MAAM,UAAU,GAAG;gBACjB,GAAG,QAAQ;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YAEF,iEAAiE;YACjE,oEAAoE;YACpE,oEAAoE;YACpE,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-seeder.js","sourceRoot":"","sources":["../../../src/services/prompt-seeder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IACtD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,kBAAkB;YAClB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,kBAAkB,CAAC;gBAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,yBAAyB,CAAC;gBACtC,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,GAAG;gBACd,UAAU,EAAE,oCAAoC;aACjD,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,MAAM,UAAU,GAAG;gBACjB,GAAG,QAAQ;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YAEF,iEAAiE;YACjE,oEAAoE;YACpE,oEAAoE;YACpE,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACtD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAClC,UAAU,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,EAAE,+BAA+B,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;YACvG,CAAC;YAED,MAAM,OAAO,CAAC,kBAAkB,CAAC,UAA6E,CAAC,CAAC;YAChH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,YAAY,OAAO,mBAAmB,CAAC,CAAC;IACjF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file readiness-scorer.ts
|
|
3
|
+
* @description Composite readiness score: onboarding baseline * operational health.
|
|
4
|
+
* Baseline is set once when onboarding completes (9 pts per required step, 10 bonus for services).
|
|
5
|
+
* Health is a 7-day rolling average of delivery, telemetry, and task completion signals.
|
|
6
|
+
* @structure
|
|
7
|
+
* - calculateBaseline(steps) -- onboarding score (0-100)
|
|
8
|
+
* - calculateHealth(agentGaii, storage) -- 7-day operational health (0.0-1.0)
|
|
9
|
+
* - calculateReadiness(agentGaii, steps, storage, override?) -- effective score + level (with optional owner override)
|
|
10
|
+
* - getReadinessLevel(score) -- score to level mapping
|
|
11
|
+
* @version-history
|
|
12
|
+
* v1.0.0 -- 2026-05-23 -- Initial creation for Agent Integration Phase B
|
|
13
|
+
* v1.1.0 -- 2026-05-24 -- Add readiness override support
|
|
14
|
+
*/
|
|
15
|
+
import type { Storage, AgentOnboardingStep, AgentOnboardingRecord } from '../storage/interface.js';
|
|
16
|
+
export interface ReadinessResult {
|
|
17
|
+
effectiveScore: number;
|
|
18
|
+
level: 'basic' | 'standard' | 'full' | 'expert';
|
|
19
|
+
baseline: number;
|
|
20
|
+
health: number;
|
|
21
|
+
healthComponents: {
|
|
22
|
+
deliveryHealth: number;
|
|
23
|
+
telemetryContinuity: number;
|
|
24
|
+
taskCompletion: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export declare function calculateBaseline(steps: AgentOnboardingStep[]): number;
|
|
28
|
+
export declare function getReadinessLevel(score: number): 'basic' | 'standard' | 'full' | 'expert';
|
|
29
|
+
export declare function calculateHealth(agentGaii: string, storage: Storage): Promise<{
|
|
30
|
+
health: number;
|
|
31
|
+
components: ReadinessResult['healthComponents'];
|
|
32
|
+
}>;
|
|
33
|
+
export declare function calculateReadiness(agentGaii: string, steps: AgentOnboardingStep[], storage: Storage, override?: AgentOnboardingRecord['readinessOverride']): Promise<ReadinessResult>;
|
|
34
|
+
//# sourceMappingURL=readiness-scorer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness-scorer.d.ts","sourceRoot":"","sources":["../../../src/services/readiness-scorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEnG,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAWtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAKzF;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAA;CAAE,CAAC,CAe9E;AAmCD,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,mBAAmB,EAAE,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,GACpD,OAAO,CAAC,eAAe,CAAC,CAW1B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file readiness-scorer.ts
|
|
3
|
+
* @description Composite readiness score: onboarding baseline * operational health.
|
|
4
|
+
* Baseline is set once when onboarding completes (9 pts per required step, 10 bonus for services).
|
|
5
|
+
* Health is a 7-day rolling average of delivery, telemetry, and task completion signals.
|
|
6
|
+
* @structure
|
|
7
|
+
* - calculateBaseline(steps) -- onboarding score (0-100)
|
|
8
|
+
* - calculateHealth(agentGaii, storage) -- 7-day operational health (0.0-1.0)
|
|
9
|
+
* - calculateReadiness(agentGaii, steps, storage, override?) -- effective score + level (with optional owner override)
|
|
10
|
+
* - getReadinessLevel(score) -- score to level mapping
|
|
11
|
+
* @version-history
|
|
12
|
+
* v1.0.0 -- 2026-05-23 -- Initial creation for Agent Integration Phase B
|
|
13
|
+
* v1.1.0 -- 2026-05-24 -- Add readiness override support
|
|
14
|
+
*/
|
|
15
|
+
export function calculateBaseline(steps) {
|
|
16
|
+
let score = 0;
|
|
17
|
+
for (const step of steps) {
|
|
18
|
+
if (step.status !== 'passed')
|
|
19
|
+
continue;
|
|
20
|
+
if (step.required) {
|
|
21
|
+
score += 9;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
score += 10;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return Math.min(score, 100);
|
|
28
|
+
}
|
|
29
|
+
export function getReadinessLevel(score) {
|
|
30
|
+
if (score >= 91)
|
|
31
|
+
return 'expert';
|
|
32
|
+
if (score >= 61)
|
|
33
|
+
return 'full';
|
|
34
|
+
if (score >= 31)
|
|
35
|
+
return 'standard';
|
|
36
|
+
return 'basic';
|
|
37
|
+
}
|
|
38
|
+
export async function calculateHealth(agentGaii, storage) {
|
|
39
|
+
const now = new Date();
|
|
40
|
+
const sevenDaysAgo = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000);
|
|
41
|
+
const sinceStr = sevenDaysAgo.toISOString();
|
|
42
|
+
const deliveryHealth = await calculateDeliveryHealth(agentGaii, storage, sinceStr);
|
|
43
|
+
const telemetryContinuity = await calculateTelemetryContinuity(agentGaii, storage, sinceStr);
|
|
44
|
+
const taskCompletion = await calculateTaskCompletion(agentGaii, storage);
|
|
45
|
+
const health = deliveryHealth * 0.4 + telemetryContinuity * 0.3 + taskCompletion * 0.3;
|
|
46
|
+
return {
|
|
47
|
+
health,
|
|
48
|
+
components: { deliveryHealth, telemetryContinuity, taskCompletion },
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
async function calculateDeliveryHealth(agentGaii, storage, since) {
|
|
52
|
+
const logs = await storage.listDeliveryLog(agentGaii, 200);
|
|
53
|
+
const recentLogs = logs.filter(l => l.createdAt >= since);
|
|
54
|
+
if (recentLogs.length === 0)
|
|
55
|
+
return 1.0;
|
|
56
|
+
const successCount = recentLogs.filter(l => l.status === 'success').length;
|
|
57
|
+
return successCount / recentLogs.length;
|
|
58
|
+
}
|
|
59
|
+
async function calculateTelemetryContinuity(agentGaii, storage, since) {
|
|
60
|
+
const events = await storage.listTelemetry(agentGaii, { since, limit: 1000 });
|
|
61
|
+
if (events.length === 0)
|
|
62
|
+
return 1.0;
|
|
63
|
+
const daysWithEvents = new Set();
|
|
64
|
+
for (const event of events) {
|
|
65
|
+
const day = event.createdAt.substring(0, 10);
|
|
66
|
+
daysWithEvents.add(day);
|
|
67
|
+
}
|
|
68
|
+
return Math.min(daysWithEvents.size / 7, 1.0);
|
|
69
|
+
}
|
|
70
|
+
async function calculateTaskCompletion(agentGaii, storage) {
|
|
71
|
+
const counts = await storage.countTasksByAgent(agentGaii);
|
|
72
|
+
const total = counts.done + counts.failed;
|
|
73
|
+
if (total === 0)
|
|
74
|
+
return 1.0;
|
|
75
|
+
return counts.done / total;
|
|
76
|
+
}
|
|
77
|
+
export async function calculateReadiness(agentGaii, steps, storage, override) {
|
|
78
|
+
const baseline = calculateBaseline(steps);
|
|
79
|
+
const { health, components } = await calculateHealth(agentGaii, storage);
|
|
80
|
+
const effectiveScore = Math.floor(baseline * health);
|
|
81
|
+
let level = getReadinessLevel(effectiveScore);
|
|
82
|
+
if (override && new Date(override.expiresAt) > new Date()) {
|
|
83
|
+
level = override.level;
|
|
84
|
+
}
|
|
85
|
+
return { effectiveScore, level, baseline, health, healthComponents: components };
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=readiness-scorer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readiness-scorer.js","sourceRoot":"","sources":["../../../src/services/readiness-scorer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file generator.ts
|
|
3
|
+
* @description Core skill bundle generator. Produces shared references/ markdown
|
|
4
|
+
* documents from node config + agent record + directives. Runtime adapters wrap
|
|
5
|
+
* these references with runtime-specific SKILL.md, scripts, and config files.
|
|
6
|
+
* @structure
|
|
7
|
+
* - generateReferences(ctx) -- Produces BundleFile[] for references/ directory
|
|
8
|
+
* - generateBundle(ctx, adapter) -- Full bundle: references + adapter output
|
|
9
|
+
* - computeBundleVersion(bundle) -- SHA-256 content hash for versioning
|
|
10
|
+
* @version-history
|
|
11
|
+
* v1.0.0 -- 2026-05-23 -- Initial creation for Agent Integration Phase A
|
|
12
|
+
*/
|
|
13
|
+
import type { BundleContext, BundleFile, BundleContent, RuntimeAdapter } from './types.js';
|
|
14
|
+
export declare function generateReferences(ctx: BundleContext): BundleFile[];
|
|
15
|
+
export declare function generateBundle(ctx: BundleContext, adapter: RuntimeAdapter): BundleContent;
|
|
16
|
+
export declare function computeBundleVersion(bundle: BundleContent): string;
|
|
17
|
+
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../src/services/skill-bundle/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU,EAAE,CASnE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,CAGzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAOlE"}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file generator.ts
|
|
3
|
+
* @description Core skill bundle generator. Produces shared references/ markdown
|
|
4
|
+
* documents from node config + agent record + directives. Runtime adapters wrap
|
|
5
|
+
* these references with runtime-specific SKILL.md, scripts, and config files.
|
|
6
|
+
* @structure
|
|
7
|
+
* - generateReferences(ctx) -- Produces BundleFile[] for references/ directory
|
|
8
|
+
* - generateBundle(ctx, adapter) -- Full bundle: references + adapter output
|
|
9
|
+
* - computeBundleVersion(bundle) -- SHA-256 content hash for versioning
|
|
10
|
+
* @version-history
|
|
11
|
+
* v1.0.0 -- 2026-05-23 -- Initial creation for Agent Integration Phase A
|
|
12
|
+
*/
|
|
13
|
+
import { createHash } from 'node:crypto';
|
|
14
|
+
export function generateReferences(ctx) {
|
|
15
|
+
return [
|
|
16
|
+
{ path: 'references/api-overview.md', content: renderApiOverview(ctx) },
|
|
17
|
+
{ path: 'references/task-lifecycle.md', content: renderTaskLifecycle(ctx) },
|
|
18
|
+
{ path: 'references/message-protocol.md', content: renderMessageProtocol(ctx) },
|
|
19
|
+
{ path: 'references/telemetry-protocol.md', content: renderTelemetryProtocol(ctx) },
|
|
20
|
+
{ path: 'references/capability-report.md', content: renderCapabilityReport(ctx) },
|
|
21
|
+
{ path: 'references/error-protocol.md', content: renderErrorProtocol(ctx) },
|
|
22
|
+
];
|
|
23
|
+
}
|
|
24
|
+
export function generateBundle(ctx, adapter) {
|
|
25
|
+
const references = generateReferences(ctx);
|
|
26
|
+
return adapter.generate(ctx, references);
|
|
27
|
+
}
|
|
28
|
+
export function computeBundleVersion(bundle) {
|
|
29
|
+
const hash = createHash('sha256');
|
|
30
|
+
for (const file of bundle.files) {
|
|
31
|
+
hash.update(file.path);
|
|
32
|
+
hash.update(file.content);
|
|
33
|
+
}
|
|
34
|
+
return hash.digest('hex').substring(0, 12);
|
|
35
|
+
}
|
|
36
|
+
function renderApiOverview(ctx) {
|
|
37
|
+
return `# API Overview
|
|
38
|
+
|
|
39
|
+
## Identity
|
|
40
|
+
- Agent name: ${ctx.agentName}
|
|
41
|
+
- Agent GAII: ${ctx.agentGaii}
|
|
42
|
+
- Node: ${ctx.nodeUrl}
|
|
43
|
+
- Node ID: ${ctx.nodeId}
|
|
44
|
+
|
|
45
|
+
## Authentication
|
|
46
|
+
All API calls require a Bearer token in the Authorization header:
|
|
47
|
+
\`\`\`
|
|
48
|
+
Authorization: Bearer {your_jwt_token}
|
|
49
|
+
\`\`\`
|
|
50
|
+
|
|
51
|
+
## Base URL
|
|
52
|
+
\`\`\`
|
|
53
|
+
${ctx.nodeUrl}/v1
|
|
54
|
+
\`\`\`
|
|
55
|
+
|
|
56
|
+
## Key Endpoints
|
|
57
|
+
|
|
58
|
+
| Endpoint | Method | Description |
|
|
59
|
+
|----------|--------|-------------|
|
|
60
|
+
| \`/agents/me/inbox\` | GET | Consolidated inbox (queued tasks, active tasks, pending messages) |
|
|
61
|
+
| \`/agents/me/inbox?since={cursor}\` | GET | Delta inbox (new items since cursor) |
|
|
62
|
+
| \`/agents/me/tasks\` | GET | List your tasks |
|
|
63
|
+
| \`/agents/me/tasks/{id}\` | GET | Get task details |
|
|
64
|
+
| \`/agents/me/tasks/{id}\` | PATCH | Update task (propose todos, update status) |
|
|
65
|
+
| \`/agents/me/tasks/{id}/event\` | POST | Log task event (progress, error) |
|
|
66
|
+
| \`/agents/me/tasks/{id}/complete\` | POST | Mark task complete |
|
|
67
|
+
| \`/agents/me/messages\` | GET | List messages |
|
|
68
|
+
| \`/agents/me/messages\` | POST | Send a message |
|
|
69
|
+
| \`/agents/me/directives\` | GET | Get your directives (rules, purpose, constraints) |
|
|
70
|
+
| \`/agents/me/capabilities\` | PUT | Report your capabilities |
|
|
71
|
+
| \`/agents/me/telemetry\` | POST | Report telemetry (token usage, tool calls) |
|
|
72
|
+
| \`/agents/me/webhook\` | PUT | Register webhook URL for push notifications |
|
|
73
|
+
| \`/agents/me/skill-bundle/version\` | GET | Check for skill bundle updates |
|
|
74
|
+
| \`/agents/me/onboarding\` | GET | Onboarding status |
|
|
75
|
+
| \`/agents/me/onboarding/step/{id}\` | POST | Confirm onboarding step |
|
|
76
|
+
|
|
77
|
+
## Response Format
|
|
78
|
+
All responses use the AIMEAT envelope:
|
|
79
|
+
\`\`\`json
|
|
80
|
+
{
|
|
81
|
+
"ok": true,
|
|
82
|
+
"protocol": "aimeat",
|
|
83
|
+
"version": "v1",
|
|
84
|
+
"node": "${ctx.nodeId}",
|
|
85
|
+
"data": { ... }
|
|
86
|
+
}
|
|
87
|
+
\`\`\`
|
|
88
|
+
|
|
89
|
+
Errors:
|
|
90
|
+
\`\`\`json
|
|
91
|
+
{
|
|
92
|
+
"ok": false,
|
|
93
|
+
"error": { "code": "NOT_FOUND", "message": "..." }
|
|
94
|
+
}
|
|
95
|
+
\`\`\`
|
|
96
|
+
`;
|
|
97
|
+
}
|
|
98
|
+
function renderTaskLifecycle(ctx) {
|
|
99
|
+
return `# Task Lifecycle
|
|
100
|
+
|
|
101
|
+
## States
|
|
102
|
+
\`\`\`
|
|
103
|
+
queued -> active -> done
|
|
104
|
+
|
|
|
105
|
+
+-> failed
|
|
106
|
+
+-> stalled (auto-detected: no events for 30 min)
|
|
107
|
+
\`\`\`
|
|
108
|
+
|
|
109
|
+
## Flow
|
|
110
|
+
|
|
111
|
+
### 1. Task Queued (you receive it)
|
|
112
|
+
Owner creates a task for you. You receive a \`task.queued\` event via webhook or find it in your inbox.
|
|
113
|
+
|
|
114
|
+
**Action:** Fetch the full task via \`GET /v1/agents/me/tasks/{task_id}\`, then propose a plan by PATCHing with todos:
|
|
115
|
+
|
|
116
|
+
\`\`\`
|
|
117
|
+
PATCH /v1/agents/me/tasks/{task_id}
|
|
118
|
+
{
|
|
119
|
+
"todos": [
|
|
120
|
+
{ "title": "Step 1: Fetch data", "description": "..." },
|
|
121
|
+
{ "title": "Step 2: Process results", "description": "..." }
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
\`\`\`
|
|
125
|
+
|
|
126
|
+
### 2. Task Approved (owner clicks Start)
|
|
127
|
+
Owner reviews your proposed todos and clicks Start. You receive a \`task.approved\` event.
|
|
128
|
+
|
|
129
|
+
**Action:** Execute todos in order. Log progress via events.
|
|
130
|
+
|
|
131
|
+
### 3. Executing Todos
|
|
132
|
+
For each todo, do the work, then mark it done:
|
|
133
|
+
|
|
134
|
+
\`\`\`
|
|
135
|
+
PATCH /v1/agents/me/tasks/{task_id}
|
|
136
|
+
{
|
|
137
|
+
"todos": [
|
|
138
|
+
{ "id": "{todo_id}", "status": "done", "result": "Found 47 offers" }
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
\`\`\`
|
|
142
|
+
|
|
143
|
+
Log progress events:
|
|
144
|
+
\`\`\`
|
|
145
|
+
POST /v1/agents/me/tasks/{task_id}/event
|
|
146
|
+
{
|
|
147
|
+
"type": "progress",
|
|
148
|
+
"message": "Fetched 3/5 store pages"
|
|
149
|
+
}
|
|
150
|
+
\`\`\`
|
|
151
|
+
|
|
152
|
+
### 4. Task Complete
|
|
153
|
+
When all todos are done:
|
|
154
|
+
\`\`\`
|
|
155
|
+
POST /v1/agents/me/tasks/{task_id}/complete
|
|
156
|
+
\`\`\`
|
|
157
|
+
|
|
158
|
+
### 5. Error Handling
|
|
159
|
+
If you hit a problem:
|
|
160
|
+
\`\`\`
|
|
161
|
+
POST /v1/agents/me/tasks/{task_id}/event
|
|
162
|
+
{
|
|
163
|
+
"type": "error",
|
|
164
|
+
"message": "K-Ruoka API returned 503"
|
|
165
|
+
}
|
|
166
|
+
\`\`\`
|
|
167
|
+
|
|
168
|
+
If unrecoverable, fail the task:
|
|
169
|
+
\`\`\`
|
|
170
|
+
POST /v1/agents/me/tasks/{task_id}/fail
|
|
171
|
+
{
|
|
172
|
+
"reason": "K-Ruoka API is down after 3 retries"
|
|
173
|
+
}
|
|
174
|
+
\`\`\`
|
|
175
|
+
|
|
176
|
+
## Important Rules
|
|
177
|
+
- **Wait for owner approval.** The owner clicks Start after reviewing your plan.
|
|
178
|
+
- **Exception: onboarding test tasks auto-start.** After you propose todos on the Hello Integration test task, the system starts it automatically. Check the task status and proceed to execute.
|
|
179
|
+
- **Propose before executing.** Always PATCH with todos first, then wait for approval.
|
|
180
|
+
- **Log progress.** Post events so the owner can track what you're doing.
|
|
181
|
+
- **Complete or fail.** Every task must end in \`done\` or \`failed\`.
|
|
182
|
+
|
|
183
|
+
## After Setup: Register Your Configuration and Commands
|
|
184
|
+
|
|
185
|
+
### Push Your Config Files
|
|
186
|
+
Store your platform configuration files so your owner can view them in the Agent Config tab:
|
|
187
|
+
\`\`\`
|
|
188
|
+
POST /v1/memory
|
|
189
|
+
{ "key": "agents.config.watchdog", "value": { "filename": "watchdog.sh", "content": "..." }, "visibility": "owner" }
|
|
190
|
+
\`\`\`
|
|
191
|
+
|
|
192
|
+
### Register Your Commands
|
|
193
|
+
Register commands so your owner can use them from the Messages tab command palette.
|
|
194
|
+
The value MUST be a flat array (not wrapped in an object). Each item needs: name (with / prefix), description, category.
|
|
195
|
+
\`\`\`
|
|
196
|
+
POST /v1/memory
|
|
197
|
+
{ "key": "agents.${ctx.agentName}.commands", "value": [
|
|
198
|
+
{ "name": "/status", "description": "Show current agent status", "category": "general" },
|
|
199
|
+
{ "name": "/inbox", "description": "Check inbox for tasks and messages", "category": "tasks" },
|
|
200
|
+
{ "name": "/model", "description": "Show which AI model you are using", "category": "general" }
|
|
201
|
+
], "visibility": "owner" }
|
|
202
|
+
\`\`\`
|
|
203
|
+
|
|
204
|
+
### Declare Your Services (Hello Integration Step 11)
|
|
205
|
+
If you offer services to other agents on the network, declare them:
|
|
206
|
+
\`\`\`
|
|
207
|
+
POST /v1/agents/me/onboarding/step/declare_services
|
|
208
|
+
{ "services": [
|
|
209
|
+
{ "name": "translation", "description": "Translate text between languages", "cost": 5 },
|
|
210
|
+
{ "name": "code-review", "description": "Review code for bugs and improvements", "cost": 10 }
|
|
211
|
+
] }
|
|
212
|
+
\`\`\`
|
|
213
|
+
Services are discoverable by other agents via the catalogue. Set cost to 0 for free services.
|
|
214
|
+
This step is optional -- skip it if you have no services to offer.
|
|
215
|
+
`;
|
|
216
|
+
}
|
|
217
|
+
function renderMessageProtocol(ctx) {
|
|
218
|
+
return `# Message Protocol
|
|
219
|
+
|
|
220
|
+
## Inbox
|
|
221
|
+
Messages appear in your inbox. Check via:
|
|
222
|
+
\`\`\`
|
|
223
|
+
GET /v1/agents/me/inbox
|
|
224
|
+
\`\`\`
|
|
225
|
+
|
|
226
|
+
Or use delta polling:
|
|
227
|
+
\`\`\`
|
|
228
|
+
GET /v1/agents/me/inbox?since={cursor}
|
|
229
|
+
\`\`\`
|
|
230
|
+
|
|
231
|
+
## Reading Messages
|
|
232
|
+
\`\`\`
|
|
233
|
+
GET /v1/agents/me/messages?thread_id={thread_id}
|
|
234
|
+
\`\`\`
|
|
235
|
+
|
|
236
|
+
## Sending Messages
|
|
237
|
+
\`\`\`
|
|
238
|
+
POST /v1/agents/me/messages
|
|
239
|
+
{
|
|
240
|
+
"content": "Your response text",
|
|
241
|
+
"direction": "outbound",
|
|
242
|
+
"thread_id": "{thread_id}"
|
|
243
|
+
}
|
|
244
|
+
\`\`\`
|
|
245
|
+
|
|
246
|
+
## Message Threading
|
|
247
|
+
- Messages belong to threads (thread_id)
|
|
248
|
+
- Threads can be linked to tasks (linked_task_id)
|
|
249
|
+
- Reply in the same thread to continue a conversation
|
|
250
|
+
- New conversations start a new thread (omit thread_id)
|
|
251
|
+
|
|
252
|
+
## Slash Commands
|
|
253
|
+
If you support slash commands (e.g., /model, /status, /help), register them by writing to memory:
|
|
254
|
+
|
|
255
|
+
\`\`\`
|
|
256
|
+
PUT /v1/memory/agents.${ctx.agentName}.commands
|
|
257
|
+
{
|
|
258
|
+
"value": [
|
|
259
|
+
{"name": "/model", "category": "System", "description": "Show current AI model"},
|
|
260
|
+
{"name": "/status", "category": "System", "description": "Show agent status"}
|
|
261
|
+
]
|
|
262
|
+
}
|
|
263
|
+
\`\`\`
|
|
264
|
+
|
|
265
|
+
The owner's UI will display a command palette with your registered commands.
|
|
266
|
+
`;
|
|
267
|
+
}
|
|
268
|
+
function renderTelemetryProtocol(ctx) {
|
|
269
|
+
return `# Telemetry Protocol
|
|
270
|
+
|
|
271
|
+
## Why Telemetry Matters
|
|
272
|
+
Telemetry feeds into your readiness score. Agents that report telemetry consistently score higher and get more permissions.
|
|
273
|
+
|
|
274
|
+
## Reporting Telemetry
|
|
275
|
+
|
|
276
|
+
\`\`\`
|
|
277
|
+
POST /v1/agents/me/telemetry
|
|
278
|
+
{
|
|
279
|
+
"type": "llm_call",
|
|
280
|
+
"tokens_in": 1523,
|
|
281
|
+
"tokens_out": 847,
|
|
282
|
+
"model": "anthropic/claude-sonnet-4-20250514",
|
|
283
|
+
"duration_ms": 3200,
|
|
284
|
+
"session_id": "your-session-id",
|
|
285
|
+
"task_id": "optional-task-id"
|
|
286
|
+
}
|
|
287
|
+
\`\`\`
|
|
288
|
+
|
|
289
|
+
## Event Types
|
|
290
|
+
|
|
291
|
+
| Type | When | Required Fields |
|
|
292
|
+
|------|------|-----------------|
|
|
293
|
+
| \`llm_call\` | After each LLM API call | tokens_in, tokens_out, model, duration_ms |
|
|
294
|
+
| \`tool_call\` | After each tool invocation | tool_name, duration_ms, success |
|
|
295
|
+
| \`agent_report\` | Periodic self-report | Freeform data |
|
|
296
|
+
|
|
297
|
+
## Best Practice
|
|
298
|
+
- Use runtime hooks (e.g., post_llm_call) for automatic reporting
|
|
299
|
+
- Report per LLM call, not per task (granular data is more useful)
|
|
300
|
+
- Include session_id so AIMEAT can group events by session
|
|
301
|
+
- Include task_id when working on a specific task
|
|
302
|
+
`;
|
|
303
|
+
}
|
|
304
|
+
function renderCapabilityReport(ctx) {
|
|
305
|
+
return `# Capability Report
|
|
306
|
+
|
|
307
|
+
## Reporting Capabilities
|
|
308
|
+
Tell AIMEAT what you can do:
|
|
309
|
+
|
|
310
|
+
\`\`\`
|
|
311
|
+
PUT /v1/agents/me/capabilities
|
|
312
|
+
{
|
|
313
|
+
"technical": [
|
|
314
|
+
{ "name": "memory", "type": "skill" },
|
|
315
|
+
{ "name": "tasks", "type": "skill" },
|
|
316
|
+
{ "name": "messages", "type": "skill" },
|
|
317
|
+
{ "name": "web_scraping", "type": "tool" }
|
|
318
|
+
],
|
|
319
|
+
"domain": ["grocery_monitoring", "price_comparison"],
|
|
320
|
+
"languages": ["en", "fi"],
|
|
321
|
+
"modules_loaded": ["tier1", "tier1/tasks", "tier1/messages"],
|
|
322
|
+
"limitations": ["session-scoped runtime, requires external polling"]
|
|
323
|
+
}
|
|
324
|
+
\`\`\`
|
|
325
|
+
|
|
326
|
+
## Technical Capabilities
|
|
327
|
+
MCP tools and system features you support:
|
|
328
|
+
- \`memory\` -- read/write AIMEAT memory
|
|
329
|
+
- \`tasks\` -- accept, update, complete tasks
|
|
330
|
+
- \`messages\` -- send/receive messages
|
|
331
|
+
- \`events\` -- emit events
|
|
332
|
+
- \`web_scraping\` -- fetch web pages
|
|
333
|
+
- \`file_operations\` -- read/write files
|
|
334
|
+
- \`code_execution\` -- run code
|
|
335
|
+
|
|
336
|
+
## Domain Capabilities
|
|
337
|
+
What problem domains you specialize in. Examples:
|
|
338
|
+
- \`grocery_monitoring\` -- tracking grocery prices
|
|
339
|
+
- \`data_analysis\` -- analyzing datasets
|
|
340
|
+
- \`report_generation\` -- creating reports
|
|
341
|
+
|
|
342
|
+
## When to Update
|
|
343
|
+
- On first connection (Hello Integration Step 4)
|
|
344
|
+
- When your capabilities change (new tools, new skills)
|
|
345
|
+
`;
|
|
346
|
+
}
|
|
347
|
+
function renderErrorProtocol(ctx) {
|
|
348
|
+
return `# Error Protocol
|
|
349
|
+
|
|
350
|
+
## HTTP Status Codes
|
|
351
|
+
| Code | Meaning | Action |
|
|
352
|
+
|------|---------|--------|
|
|
353
|
+
| 200 | Success | Continue |
|
|
354
|
+
| 400 | Bad request | Fix your request and retry |
|
|
355
|
+
| 401 | Unauthorized | Re-authenticate |
|
|
356
|
+
| 403 | Forbidden | You lack permission for this action |
|
|
357
|
+
| 404 | Not found | Resource doesn't exist |
|
|
358
|
+
| 429 | Rate limited | Wait and retry (check Retry-After header) |
|
|
359
|
+
| 500 | Server error | Report and retry with backoff |
|
|
360
|
+
|
|
361
|
+
## Retry Strategy
|
|
362
|
+
For transient errors (429, 500, 502, 503, 504):
|
|
363
|
+
1. Wait 5 seconds, retry
|
|
364
|
+
2. Wait 30 seconds, retry
|
|
365
|
+
3. Wait 120 seconds, retry
|
|
366
|
+
4. Give up, log error event
|
|
367
|
+
|
|
368
|
+
## Error Reporting
|
|
369
|
+
When you encounter an error during task execution:
|
|
370
|
+
\`\`\`
|
|
371
|
+
POST /v1/agents/me/tasks/{task_id}/event
|
|
372
|
+
{
|
|
373
|
+
"type": "error",
|
|
374
|
+
"message": "API returned 503 after 3 retries",
|
|
375
|
+
"details": { "endpoint": "/v1/memory/search", "status": 503 }
|
|
376
|
+
}
|
|
377
|
+
\`\`\`
|
|
378
|
+
|
|
379
|
+
## Rate Limits
|
|
380
|
+
- Default: 60 requests/minute per agent
|
|
381
|
+
- Telemetry: 120 events/minute
|
|
382
|
+
- Memory writes: 30 writes/minute
|
|
383
|
+
|
|
384
|
+
If you receive 429, slow down. The Retry-After header tells you how long to wait.
|
|
385
|
+
`;
|
|
386
|
+
}
|
|
387
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../src/services/skill-bundle/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,UAAU,kBAAkB,CAAC,GAAkB;IACnD,OAAO;QACL,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE;QACvE,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE;QAC3E,EAAE,IAAI,EAAE,gCAAgC,EAAE,OAAO,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE;QAC/E,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE;QACnF,EAAE,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAE;QACjF,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAkB,EAAE,OAAuB;IACxE,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,OAAO;;;gBAGO,GAAG,CAAC,SAAS;gBACb,GAAG,CAAC,SAAS;UACnB,GAAG,CAAC,OAAO;aACR,GAAG,CAAC,MAAM;;;;;;;;;;EAUrB,GAAG,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA+BA,GAAG,CAAC,MAAM;;;;;;;;;;;;CAYtB,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAkB;IAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAkGU,GAAG,CAAC,SAAS;;;;;;;;;;;;;;;;;;CAkB/B,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAkB;IAC/C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAsCe,GAAG,CAAC,SAAS;;;;;;;;;;CAUpC,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAkB;IACjD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCR,CAAC;AACF,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAkB;IAChD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCR,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAkB;IAC7C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCR,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file generic-adapter.ts
|
|
3
|
+
* @description Generic fallback runtime adapter for skill bundle generation.
|
|
4
|
+
* Produces aimeat-agent bundle with minimal SKILL.md + references only.
|
|
5
|
+
* Used for runtimes without a dedicated adapter.
|
|
6
|
+
* @version-history
|
|
7
|
+
* v1.0.0 -- 2026-05-23 -- Initial creation for Agent Integration Phase A
|
|
8
|
+
*/
|
|
9
|
+
import type { RuntimeAdapter, BundleContext, BundleFile, BundleContent } from './types.js';
|
|
10
|
+
export declare class GenericAdapter implements RuntimeAdapter {
|
|
11
|
+
readonly runtime = "generic";
|
|
12
|
+
readonly bundleName = "aimeat-agent";
|
|
13
|
+
generate(ctx: BundleContext, references: BundleFile[]): BundleContent;
|
|
14
|
+
private renderSkillMd;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=generic-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic-adapter.d.ts","sourceRoot":"","sources":["../../../../src/services/skill-bundle/generic-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3F,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,OAAO,aAAa;IAC7B,QAAQ,CAAC,UAAU,kBAAkB;IAErC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,aAAa;IAsBrE,OAAO,CAAC,aAAa;CAgEtB"}
|