@h-ai/cli 1.0.0-beta.6 → 1.0.0-beta.8

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 (53) hide show
  1. package/README.en.md +9 -9
  2. package/README.ja.md +9 -9
  3. package/README.md +9 -9
  4. package/dist/{chunk-4XVCGFBA.js → chunk-MEEFB4BI.js} +552 -11
  5. package/dist/chunk-MEEFB4BI.js.map +1 -0
  6. package/dist/{chunk-STWZQ3IP.js → chunk-SGWSVWZ5.js} +588 -11
  7. package/dist/chunk-SGWSVWZ5.js.map +1 -0
  8. package/dist/cli-config-templates-SVV3633D.js +5 -0
  9. package/dist/{cli-config-templates-YGPVNRX5.js.map → cli-config-templates-SVV3633D.js.map} +1 -1
  10. package/dist/index.js +97 -78
  11. package/dist/index.js.map +1 -1
  12. package/dist/metafile-esm.json +1 -1
  13. package/dist/{src-NXCCU6GO.js → src-IW4CY2IN.js} +3 -3
  14. package/dist/src-IW4CY2IN.js.map +1 -0
  15. package/package.json +16 -12
  16. package/templates/apps/api/apps/{{projectName}}-serv/config/_serv.yml.hbs +1 -1
  17. package/templates/apps/api/apps/{{projectName}}-serv/src/app.ts.hbs +6 -2
  18. package/templates/apps/api/apps/{{projectName}}-serv/tests/service.test.ts.hbs +29 -3
  19. package/templates/apps/fullstack/.gitignore.hbs +7 -2
  20. package/templates/apps/fullstack/apps/{{projectName}}-app/README.md.hbs +2 -0
  21. package/templates/apps/fullstack/apps/{{projectName}}-app/package.json.hbs +1 -1
  22. package/templates/apps/fullstack/packages/{{projectName}}-serv/README.md.hbs +2 -2
  23. package/templates/apps/mobile-app/messages/en-US.json +1 -1
  24. package/templates/apps/mobile-app/messages/ja-JP.json +1 -1
  25. package/templates/apps/mobile-app/messages/zh-CN.json +1 -1
  26. package/templates/apps/mobile-app/src/lib/api.ts.hbs +8 -5
  27. package/templates/base/.gitignore.hbs +7 -2
  28. package/templates/base/e2e/app.spec.ts.hbs +9 -4
  29. package/templates/base/package.json.hbs +7 -2
  30. package/templates/skills/hai-ai/SKILL.md +6 -2
  31. package/templates/skills/hai-ai/acp.md +145 -0
  32. package/templates/skills/hai-ai/guide.md +1 -1
  33. package/templates/skills/hai-ai/reference.md +1 -1
  34. package/templates/skills/hai-ai/resources.md +69 -0
  35. package/templates/skills/hai-api-client/reference.md +2 -0
  36. package/templates/skills/hai-app-create/development.md +1 -1
  37. package/templates/skills/hai-app-create/reference.md +1 -1
  38. package/templates/skills/hai-build/SKILL.md +1 -1
  39. package/templates/skills/hai-build/reference.md +1 -1
  40. package/templates/skills/hai-cache/reference.md +6 -2
  41. package/templates/skills/hai-ci/SKILL.md +2 -0
  42. package/templates/skills/hai-core/SKILL.md +1 -1
  43. package/templates/skills/hai-crypto/reference.md +2 -0
  44. package/templates/skills/hai-payment/reference.md +39 -17
  45. package/templates/skills/hai-reach/reference.md +15 -7
  46. package/templates/skills/hai-reldb/reference.md +5 -2
  47. package/templates/skills/hai-scheduler/reference.md +1 -1
  48. package/templates/skills/hai-storage/reference.md +8 -2
  49. package/templates/skills/hai-vecdb/reference.md +7 -2
  50. package/dist/chunk-4XVCGFBA.js.map +0 -1
  51. package/dist/chunk-STWZQ3IP.js.map +0 -1
  52. package/dist/cli-config-templates-YGPVNRX5.js +0 -5
  53. package/dist/src-NXCCU6GO.js.map +0 -1
@@ -24482,6 +24482,414 @@ var deploy_config_shapes_default = {
24482
24482
  $schema: "https://json-schema.org/draft/2020-12/schema",
24483
24483
  type: "object",
24484
24484
  properties: {
24485
+ acp: {
24486
+ type: "object",
24487
+ properties: {
24488
+ agents: {
24489
+ default: [],
24490
+ type: "array",
24491
+ items: {
24492
+ oneOf: [
24493
+ {
24494
+ type: "object",
24495
+ properties: {
24496
+ id: {
24497
+ type: "string",
24498
+ pattern: "^[a-z0-9][\\w-]{0,95}$"
24499
+ },
24500
+ name: {
24501
+ type: "string",
24502
+ minLength: 1
24503
+ },
24504
+ enabled: {
24505
+ default: true,
24506
+ type: "boolean"
24507
+ },
24508
+ adapter: {
24509
+ default: "generic",
24510
+ type: "string",
24511
+ minLength: 1
24512
+ },
24513
+ modelIds: {
24514
+ default: [],
24515
+ type: "array",
24516
+ items: {
24517
+ type: "string",
24518
+ minLength: 1
24519
+ }
24520
+ },
24521
+ defaultModelId: {
24522
+ type: "string",
24523
+ minLength: 1
24524
+ },
24525
+ environmentRefs: {
24526
+ default: {},
24527
+ type: "object",
24528
+ propertyNames: {
24529
+ type: "string",
24530
+ pattern: "^[A-Z_]\\w*$"
24531
+ },
24532
+ additionalProperties: {
24533
+ type: "string",
24534
+ pattern: "^[A-Z_]\\w*$"
24535
+ }
24536
+ },
24537
+ mode: {
24538
+ type: "string",
24539
+ const: "custom-service"
24540
+ },
24541
+ transport: {
24542
+ type: "string",
24543
+ enum: [
24544
+ "http",
24545
+ "ws"
24546
+ ]
24547
+ },
24548
+ url: {
24549
+ type: "string",
24550
+ format: "uri"
24551
+ },
24552
+ headerEnv: {
24553
+ default: {},
24554
+ type: "object",
24555
+ propertyNames: {
24556
+ type: "string"
24557
+ },
24558
+ additionalProperties: {
24559
+ type: "string"
24560
+ }
24561
+ },
24562
+ supportedTransports: {
24563
+ minItems: 1,
24564
+ type: "array",
24565
+ items: {
24566
+ type: "string",
24567
+ enum: [
24568
+ "http",
24569
+ "ws"
24570
+ ]
24571
+ }
24572
+ }
24573
+ },
24574
+ required: [
24575
+ "id",
24576
+ "name",
24577
+ "mode",
24578
+ "transport",
24579
+ "url",
24580
+ "supportedTransports"
24581
+ ],
24582
+ additionalProperties: false
24583
+ },
24584
+ {
24585
+ type: "object",
24586
+ properties: {
24587
+ id: {
24588
+ type: "string",
24589
+ pattern: "^[a-z0-9][\\w-]{0,95}$"
24590
+ },
24591
+ name: {
24592
+ type: "string",
24593
+ minLength: 1
24594
+ },
24595
+ enabled: {
24596
+ default: true,
24597
+ type: "boolean"
24598
+ },
24599
+ adapter: {
24600
+ default: "generic",
24601
+ type: "string",
24602
+ minLength: 1
24603
+ },
24604
+ modelIds: {
24605
+ default: [],
24606
+ type: "array",
24607
+ items: {
24608
+ type: "string",
24609
+ minLength: 1
24610
+ }
24611
+ },
24612
+ defaultModelId: {
24613
+ type: "string",
24614
+ minLength: 1
24615
+ },
24616
+ environmentRefs: {
24617
+ default: {},
24618
+ type: "object",
24619
+ propertyNames: {
24620
+ type: "string",
24621
+ pattern: "^[A-Z_]\\w*$"
24622
+ },
24623
+ additionalProperties: {
24624
+ type: "string",
24625
+ pattern: "^[A-Z_]\\w*$"
24626
+ }
24627
+ },
24628
+ command: {
24629
+ type: "string",
24630
+ minLength: 1
24631
+ },
24632
+ args: {
24633
+ type: "array",
24634
+ items: {
24635
+ type: "string"
24636
+ }
24637
+ },
24638
+ mode: {
24639
+ type: "string",
24640
+ const: "embedded"
24641
+ },
24642
+ transport: {
24643
+ default: "stdio",
24644
+ type: "string",
24645
+ const: "stdio"
24646
+ }
24647
+ },
24648
+ required: [
24649
+ "id",
24650
+ "name",
24651
+ "mode"
24652
+ ],
24653
+ additionalProperties: false
24654
+ },
24655
+ {
24656
+ type: "object",
24657
+ properties: {
24658
+ id: {
24659
+ type: "string",
24660
+ pattern: "^[a-z0-9][\\w-]{0,95}$"
24661
+ },
24662
+ name: {
24663
+ type: "string",
24664
+ minLength: 1
24665
+ },
24666
+ enabled: {
24667
+ default: true,
24668
+ type: "boolean"
24669
+ },
24670
+ adapter: {
24671
+ default: "generic",
24672
+ type: "string",
24673
+ minLength: 1
24674
+ },
24675
+ modelIds: {
24676
+ default: [],
24677
+ type: "array",
24678
+ items: {
24679
+ type: "string",
24680
+ minLength: 1
24681
+ }
24682
+ },
24683
+ defaultModelId: {
24684
+ type: "string",
24685
+ minLength: 1
24686
+ },
24687
+ environmentRefs: {
24688
+ default: {},
24689
+ type: "object",
24690
+ propertyNames: {
24691
+ type: "string",
24692
+ pattern: "^[A-Z_]\\w*$"
24693
+ },
24694
+ additionalProperties: {
24695
+ type: "string",
24696
+ pattern: "^[A-Z_]\\w*$"
24697
+ }
24698
+ },
24699
+ command: {
24700
+ type: "string",
24701
+ minLength: 1
24702
+ },
24703
+ args: {
24704
+ type: "array",
24705
+ items: {
24706
+ type: "string"
24707
+ }
24708
+ },
24709
+ mode: {
24710
+ type: "string",
24711
+ const: "builtin-service"
24712
+ },
24713
+ transport: {
24714
+ default: "stdio",
24715
+ type: "string",
24716
+ const: "stdio"
24717
+ },
24718
+ image: {
24719
+ type: "string",
24720
+ minLength: 1
24721
+ },
24722
+ engine: {
24723
+ default: "auto",
24724
+ type: "string",
24725
+ enum: [
24726
+ "auto",
24727
+ "podman",
24728
+ "docker"
24729
+ ]
24730
+ }
24731
+ },
24732
+ required: [
24733
+ "id",
24734
+ "name",
24735
+ "mode",
24736
+ "image"
24737
+ ],
24738
+ additionalProperties: false
24739
+ }
24740
+ ]
24741
+ }
24742
+ },
24743
+ workspaces: {
24744
+ default: [],
24745
+ type: "array",
24746
+ items: {
24747
+ type: "object",
24748
+ properties: {
24749
+ id: {
24750
+ type: "string",
24751
+ pattern: "^[a-z0-9][\\w-]{0,95}$"
24752
+ },
24753
+ storage: {
24754
+ oneOf: [
24755
+ {
24756
+ type: "object",
24757
+ properties: {
24758
+ type: {
24759
+ type: "string",
24760
+ const: "directory"
24761
+ },
24762
+ path: {
24763
+ type: "string",
24764
+ minLength: 1
24765
+ }
24766
+ },
24767
+ required: [
24768
+ "type",
24769
+ "path"
24770
+ ],
24771
+ additionalProperties: false
24772
+ },
24773
+ {
24774
+ type: "object",
24775
+ properties: {
24776
+ type: {
24777
+ type: "string",
24778
+ const: "volume"
24779
+ },
24780
+ name: {
24781
+ type: "string",
24782
+ pattern: "^[a-z0-9][\\w-]{0,95}$"
24783
+ },
24784
+ engine: {
24785
+ default: "auto",
24786
+ type: "string",
24787
+ enum: [
24788
+ "auto",
24789
+ "podman",
24790
+ "docker"
24791
+ ]
24792
+ },
24793
+ image: {
24794
+ type: "string",
24795
+ minLength: 1
24796
+ }
24797
+ },
24798
+ required: [
24799
+ "type",
24800
+ "name",
24801
+ "image"
24802
+ ],
24803
+ additionalProperties: false
24804
+ }
24805
+ ]
24806
+ },
24807
+ repositories: {
24808
+ default: [],
24809
+ type: "array",
24810
+ items: {
24811
+ type: "object",
24812
+ properties: {
24813
+ id: {
24814
+ type: "string",
24815
+ pattern: "^[a-z0-9][\\w-]{0,95}$"
24816
+ },
24817
+ url: {
24818
+ type: "string",
24819
+ minLength: 1
24820
+ },
24821
+ mainBranch: {
24822
+ type: "string",
24823
+ minLength: 1,
24824
+ maxLength: 240
24825
+ },
24826
+ remote: {
24827
+ default: "origin",
24828
+ type: "string",
24829
+ pattern: "^[a-z0-9][\\w-]{0,95}$"
24830
+ }
24831
+ },
24832
+ required: [
24833
+ "id",
24834
+ "url",
24835
+ "mainBranch"
24836
+ ],
24837
+ additionalProperties: false
24838
+ }
24839
+ },
24840
+ environmentRefs: {
24841
+ default: {},
24842
+ type: "object",
24843
+ propertyNames: {
24844
+ type: "string",
24845
+ pattern: "^[A-Z_]\\w*$"
24846
+ },
24847
+ additionalProperties: {
24848
+ type: "string",
24849
+ pattern: "^[A-Z_]\\w*$"
24850
+ }
24851
+ }
24852
+ },
24853
+ required: [
24854
+ "id",
24855
+ "storage"
24856
+ ],
24857
+ additionalProperties: false
24858
+ }
24859
+ },
24860
+ requestTimeout: {
24861
+ default: 3e4,
24862
+ type: "integer",
24863
+ exclusiveMinimum: 0,
24864
+ maximum: 9007199254740991
24865
+ },
24866
+ promptTimeout: {
24867
+ default: 6e5,
24868
+ type: "integer",
24869
+ exclusiveMinimum: 0,
24870
+ maximum: 9007199254740991
24871
+ },
24872
+ cancelTimeout: {
24873
+ default: 5e3,
24874
+ type: "integer",
24875
+ exclusiveMinimum: 0,
24876
+ maximum: 9007199254740991
24877
+ },
24878
+ maxContentBytes: {
24879
+ default: 8388608,
24880
+ type: "integer",
24881
+ exclusiveMinimum: 0,
24882
+ maximum: 9007199254740991
24883
+ },
24884
+ maxPendingEvents: {
24885
+ default: 1024,
24886
+ type: "integer",
24887
+ exclusiveMinimum: 0,
24888
+ maximum: 9007199254740991
24889
+ }
24890
+ },
24891
+ additionalProperties: false
24892
+ },
24485
24893
  llm: {
24486
24894
  type: "object",
24487
24895
  properties: {
@@ -24537,6 +24945,71 @@ var deploy_config_shapes_default = {
24537
24945
  id: {
24538
24946
  type: "string"
24539
24947
  },
24948
+ capabilities: {
24949
+ type: "object",
24950
+ properties: {
24951
+ contextWindow: {
24952
+ type: "integer",
24953
+ exclusiveMinimum: 0,
24954
+ maximum: 9007199254740991
24955
+ },
24956
+ maxOutputTokens: {
24957
+ type: "integer",
24958
+ exclusiveMinimum: 0,
24959
+ maximum: 9007199254740991
24960
+ },
24961
+ inputModalities: {
24962
+ minItems: 1,
24963
+ type: "array",
24964
+ items: {
24965
+ type: "string",
24966
+ enum: [
24967
+ "text",
24968
+ "image",
24969
+ "audio",
24970
+ "video"
24971
+ ]
24972
+ }
24973
+ },
24974
+ outputModalities: {
24975
+ minItems: 1,
24976
+ type: "array",
24977
+ items: {
24978
+ type: "string",
24979
+ enum: [
24980
+ "text",
24981
+ "image",
24982
+ "audio",
24983
+ "video"
24984
+ ]
24985
+ }
24986
+ },
24987
+ toolCalling: {
24988
+ type: "boolean"
24989
+ },
24990
+ reasoning: {
24991
+ type: "object",
24992
+ properties: {
24993
+ supported: {
24994
+ type: "boolean"
24995
+ },
24996
+ efforts: {
24997
+ minItems: 1,
24998
+ type: "array",
24999
+ items: {
25000
+ type: "string",
25001
+ minLength: 1
25002
+ }
25003
+ }
25004
+ },
25005
+ required: [
25006
+ "supported"
25007
+ ],
25008
+ additionalProperties: false
25009
+ }
25010
+ },
25011
+ additionalProperties: false
25012
+ },
24540
25013
  model: {
24541
25014
  type: "string"
24542
25015
  },
@@ -24623,6 +25096,71 @@ var deploy_config_shapes_default = {
24623
25096
  mcp: {
24624
25097
  type: "object",
24625
25098
  properties: {
25099
+ servers: {
25100
+ type: "array",
25101
+ items: {
25102
+ type: "object",
25103
+ properties: {
25104
+ id: {
25105
+ type: "string",
25106
+ minLength: 1
25107
+ },
25108
+ name: {
25109
+ type: "string",
25110
+ minLength: 1
25111
+ },
25112
+ transport: {
25113
+ type: "string",
25114
+ enum: [
25115
+ "stdio",
25116
+ "http",
25117
+ "sse"
25118
+ ]
25119
+ },
25120
+ command: {
25121
+ type: "string",
25122
+ minLength: 1
25123
+ },
25124
+ args: {
25125
+ default: [],
25126
+ type: "array",
25127
+ items: {
25128
+ type: "string"
25129
+ }
25130
+ },
25131
+ url: {
25132
+ type: "string",
25133
+ format: "uri"
25134
+ },
25135
+ environmentRefs: {
25136
+ default: {},
25137
+ type: "object",
25138
+ propertyNames: {
25139
+ type: "string"
25140
+ },
25141
+ additionalProperties: {
25142
+ type: "string"
25143
+ }
25144
+ },
25145
+ headerEnv: {
25146
+ default: {},
25147
+ type: "object",
25148
+ propertyNames: {
25149
+ type: "string"
25150
+ },
25151
+ additionalProperties: {
25152
+ type: "string"
25153
+ }
25154
+ }
25155
+ },
25156
+ required: [
25157
+ "id",
25158
+ "name",
25159
+ "transport"
25160
+ ],
25161
+ additionalProperties: false
25162
+ }
25163
+ },
24626
25164
  server: {
24627
25165
  type: "object",
24628
25166
  properties: {
@@ -28346,6 +28884,7 @@ async function scanApp(inputDir, options) {
28346
28884
  const env = loaded.data.values;
28347
28885
  const deps = graph.runtime;
28348
28886
  const configs = {};
28887
+ const enabledConfigs = /* @__PURE__ */ new Set();
28349
28888
  for (const [name, owner] of Object.entries({ db: "reldb", cache: "cache", storage: "storage", vecdb: "vecdb", iam: "iam", reach: "reach" })) {
28350
28889
  configs[name] = {};
28351
28890
  if (!deps.has(`@h-ai/${owner}`))
@@ -28355,26 +28894,28 @@ async function scanApp(inputDir, options) {
28355
28894
  if (config2 && !config2.success)
28356
28895
  return config2;
28357
28896
  configs[name] = config2?.data ?? {};
28897
+ if (!configFile || Object.keys(configs[name]).length)
28898
+ enabledConfigs.add(name);
28358
28899
  }
28359
28900
  const middlewares = [];
28360
28901
  const add = (service, backend, configName = service, configPath = [], config2 = configs[configName] ?? {}, source = `_${configName}.yml`) => {
28361
28902
  middlewares.push({ service, backend, source, configName, configPath, envPrefix: ["HAI", configName, ...configPath].map((part) => part.toUpperCase()).join("_"), config: config2 });
28362
28903
  };
28363
- const iam = deps.has("@h-ai/iam");
28364
- if (deps.has("@h-ai/reldb"))
28904
+ const iam = enabledConfigs.has("iam");
28905
+ if (enabledConfigs.has("db"))
28365
28906
  add("db", String(configs.db.type ?? "sqlite"), "db", [], configs.db, "@h-ai/reldb / _db.yml");
28366
- if (deps.has("@h-ai/cache"))
28907
+ if (enabledConfigs.has("cache"))
28367
28908
  add("cache", String(configs.cache.type ?? "memory"), "cache", [], configs.cache, "@h-ai/cache / _cache.yml");
28368
- if (deps.has("@h-ai/storage"))
28909
+ if (enabledConfigs.has("storage"))
28369
28910
  add("storage", String(configs.storage.type ?? "local"));
28370
- if (deps.has("@h-ai/vecdb"))
28911
+ if (enabledConfigs.has("vecdb"))
28371
28912
  add("vecdb", String(configs.vecdb.type ?? "lancedb"));
28372
- if (iam) {
28913
+ if (iam && record2(configs.iam.login).ldap === true) {
28373
28914
  const ldap = record2(configs.iam.ldap);
28374
- add("ldap", record2(configs.iam.login).ldap === true ? "ldap" : "disabled", "iam", ["ldap"], ldap, "@h-ai/iam (LDAP)");
28915
+ add("ldap", "ldap", "iam", ["ldap"], ldap, "@h-ai/iam (LDAP)");
28375
28916
  }
28376
28917
  const providers = configs.reach.providers;
28377
- if (deps.has("@h-ai/reach") && Array.isArray(providers)) {
28918
+ if (enabledConfigs.has("reach") && Array.isArray(providers)) {
28378
28919
  for (const [index, item] of providers.entries()) {
28379
28920
  const provider = record2(item);
28380
28921
  const type = String(provider.type ?? "");
@@ -28383,7 +28924,7 @@ async function scanApp(inputDir, options) {
28383
28924
  add(service, type, "reach", ["providers", String(index)], provider, "@h-ai/reach");
28384
28925
  }
28385
28926
  }
28386
- if (deps.has("@h-ai/reach") && !middlewares.some((item) => item.configName === "reach"))
28927
+ if (enabledConfigs.has("reach") && !middlewares.some((item) => item.configName === "reach"))
28387
28928
  add("email", "console", "reach", ["providers", "0"], { name: "email", type: "console" }, "@h-ai/reach");
28388
28929
  const isSvelteKit = graph.build.has("@sveltejs/kit");
28389
28930
  const scan = {
@@ -35193,5 +35734,5 @@ async function acquireImportLock(path, root) {
35193
35734
  }
35194
35735
 
35195
35736
  export { DEPLOY_MIDDLEWARE, DeployConfigSchema, DeploymentArtifactSchema, HaiDeployError, ProviderConfigSchema, artifactChecksum, canKeepMiddleware, createDeploymentPlan, deploy, describeMiddlewareBackend, getDeployCommandState, getDeployRecovery, importDeploymentSecrets, loadDeploymentConfig, loadDeploymentEnvironment, mergeEnvironmentLayers, normalizeProjectName, parseMiddlewareField, readDeploymentArtifact, resolveDownloadProxy, resolveImageReference, saveDeploymentEnvironment, saveMiddlewareEnvironment, validateMiddlewareField };
35196
- //# sourceMappingURL=chunk-4XVCGFBA.js.map
35197
- //# sourceMappingURL=chunk-4XVCGFBA.js.map
35737
+ //# sourceMappingURL=chunk-MEEFB4BI.js.map
35738
+ //# sourceMappingURL=chunk-MEEFB4BI.js.map